/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
html {
  box-sizing: border-box;
  font-size: 62.5%;
  background: #ffffff;
  /* stylelint-disable */
  overflow-x: hidden;
  /* stylelint-enable */ }

*,
*:before,
*:after {
  box-sizing: inherit; }

body {
  font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  -webkit-overflow-scrolling: touch;
  margin: 0;
  font-size: 1.6rem;
  line-height: 2.6rem;
  font-display: swap;
  color: #3E3E3E; }

button,
input,
textarea,
select {
  font-family: inherit; }

/* Hide HTML5 Up and Down arrows. */
input[type='number'] {
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield; }
  input[type='number']::-webkit-outer-spin-button, input[type='number']::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@media (min-width: 64em) and (max-width: 79.99em) {
  .cs-hide-laptop {
    display: none !important;
    /* stylelint-disable-line declaration-no-important */ } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-hide-tablet {
    display: none !important;
    /* stylelint-disable-line declaration-no-important */ } }

.cs-no-display {
  display: none !important;
  /* stylelint-disable-line declaration-no-important */ }

.cs-aspect-ratio {
  position: relative;
  overflow: hidden;
  padding-top: 56.25%; }
  .cs-aspect-ratio__content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Mixins for flexible containers declaration.
 */
/**
 * Defines page container. This mixin makes sure that the content has always equal padding
 * for mobile screens on both size of the device.
 */
/**
 * Negates parent container's padding and sets it own.
 * Somethimes this has to be done to make background even to other containers' content.
 */
/**
 * Defines container wrapper that makes sure contnet doesn't extend above certain width and is always centered.
 */
body.cms-no-route .cs-container__inner h1, body.cms-no-route .cs-container__reviews h1 {
  text-transform: none;
  font-family: 28px;
  line-height: 34px;
  margin-bottom: 25px; }

body.cms-no-route .cs-container__inner h2, body.cms-no-route .cs-container__reviews h2, body.cms-no-route .cs-container__inner h3, body.cms-no-route .cs-container__reviews h3 {
  font-size: 18px;
  text-transform: none; }

body.cms-no-route .cs-container__inner ul.buttons-set, body.cms-no-route .cs-container__reviews ul.buttons-set {
  display: flex;
  flex-direction: row;
  list-style: none;
  padding: 0;
  margin: 20px 0 0; }
  body.cms-no-route .cs-container__inner ul.buttons-set button, body.cms-no-route .cs-container__reviews ul.buttons-set button {
    margin-right: 10px; }

body.cms-no-route .columns .column.main {
  padding: 45px 15px !important;
  max-width: 138rem;
  margin: 0 auto; }
  body.cms-no-route .columns .column.main h1 {
    text-transform: none;
    font-family: 28px;
    line-height: 34px;
    margin-bottom: 25px; }
  body.cms-no-route .columns .column.main h2, body.cms-no-route .columns .column.main h3 {
    font-size: 18px;
    text-transform: none; }
  body.cms-no-route .columns .column.main ul.buttons-set {
    display: flex;
    flex-direction: row;
    list-style: none;
    padding: 0;
    margin: 20px 0 0; }
    body.cms-no-route .columns .column.main ul.buttons-set button {
      margin-right: 10px; }

.cs-container {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box; }
  .cs-container__inner, .cs-container__reviews {
    max-width: 124rem;
    width: 100%;
    margin: 0 auto;
    position: relative; }
    .cs-container__inner:before, .cs-container__reviews:before, .cs-container__inner:after, .cs-container__reviews:after {
      content: '';
      display: table;
      clear: both; }
    .cs-container__inner--flex {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      @media (min-width: 48em) {
        .cs-container__inner--flex {
          flex-wrap: nowrap; } }
      .cs-container__inner--flex:after {
        display: none; }
  .cs-container__aside {
    width: 100%; }
    @media (min-width: 48em) {
      .cs-container__aside {
        width: 33%; } }
    @media (min-width: 64em) {
      .cs-container__aside {
        width: 24.8%; } }
    @media (min-width: 90em) {
      .cs-container__aside {
        width: 24.8%; } }
  .cs-container__main-column {
    width: 56%;
    position: relative; }
    @media (min-width: 48em) {
      .cs-container__main-column {
        width: 65%; } }
    @media (min-width: 64em) {
      .cs-container__main-column {
        width: 71.4%; } }
    @media (min-width: 90em) {
      .cs-container__main-column {
        width: 71.4%; } }
    @media (max-width: 47.99em) {
      .cs-container__main-column {
        max-width: 100% !important;
        width: 100% !important; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .page-product-bundle .cs-container__main-column {
    width: 100%;
    margin-right: 0; } }
    @media (min-width: 64em) {
      .cs-container__main-column--space-top {
        padding-top: 3rem; } }
  .cs-container__reviews {
    padding-bottom: 2rem; }
    @media (min-width: 48em) {
      .cs-container__reviews {
        background: #ffffff;
        margin-top: 3rem;
        padding: 0 2rem; } }
    @media (min-width: 90em) {
      .cs-container__reviews {
        padding: 2rem 0 0; } }
    .cs-container__reviews:after {
      content: '';
      display: table;
      clear: both; }
  .cs-container__cart-coupons {
    display: flex;
    flex-wrap: wrap; }
    @media (min-width: 64em) {
      .cs-container__cart-coupons {
        flex-wrap: nowrap;
        justify-content: space-between; } }
  .cs-container--contrast {
    background-color: #f0f0f0; }
    @media (min-width: 64em) {
      .cs-container--contrast {
        background-image: url("../images/background.png");
        background-size: cover;
        background-repeat: no-repeat; } }
  .cs-container--top-bar {
    background-color: transparent;
    max-width: none; }
  .cs-container--spacious {
    padding-top: 2rem;
    padding-bottom: 2rem; }
    @media (min-width: 64em) {
      .cs-container--spacious {
        padding-top: 3rem;
        padding-bottom: 3rem; } }
    @media (min-width: 48em) {
      .catalog-category-view .cs-container--spacious,
      .catalogsearch-result-index .cs-container--spacious {
        padding-top: 0; } }
  .cs-container--image-teaser-window-width, .cs-container--store-locator {
    padding-left: 0;
    padding-right: 0; }
  .cs-container--grid-teaser {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden; }
  .cs-container--hero-teaser {
    overflow: hidden;
    padding-left: 0;
    padding-right: 0; }
  .cs-container--noscroll {
    overflow: hidden; }
  @media (min-width: 64em) {
    .cs-container--pdp {
      padding-top: 0; } }
  .cs-container--usps .cs-container--headline {
    padding: 0; }
  .cs-container--create-account-page, .cs-container--login-page, .cs-container--success-page, .cs-container--logout-page {
    padding-top: 2rem;
    padding-bottom: 2rem; }
    @media (min-width: 64em) {
      .cs-container--create-account-page, .cs-container--login-page, .cs-container--success-page, .cs-container--logout-page {
        padding-top: 4rem;
        padding-bottom: 8rem; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-container--my-account-page {
    padding-left: 1.5rem;
    padding-right: 1.5rem; } }
  .cs-container--ontop {
    z-index: 301; }
  .cs-container--viewport-width {
    max-width: none; }
  @media (max-width: 47.99em) {
    .cs-container--page-pdp-details-aw_pq_ajax_container {
      padding: 0; } }
  .cs-container--cart-page .cs-container--products-carousel {
    padding-left: 0;
    padding-right: 0; }
  .cs-container--cart-page .cs-container--headline {
    padding-left: 0;
    padding-right: 0; }
  .cs-container--cms-teaser {
    margin-top: 2rem; }
  @supports (display: grid) and (grid-auto-flow: row) {
    .cs-container--grid-teaser {
      position: relative;
      top: auto;
      left: auto;
      right: auto;
      bottom: auto;
      overflow: visible; } }

.contact-index-index .cs-breadcrumbs {
  padding-top: 15px;
  padding-bottom: 15px; }

.contact-index-index .cs-cms-contact-form {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  margin: 20px 0 80px; }
  @media (max-width: 47.99em) {
    .contact-index-index .cs-cms-contact-form {
      flex-direction: column;
      flex-wrap: wrap;
      margin: 20px 0 45px; } }

@media (max-width: 47.99em) {
  .contact-index-index .cs-container__inner, .contact-index-index .cs-container__reviews {
    padding: 0 15px; } }

@media (min-width: 48em) {
  .contact-index-index .cs-container__inner .contact-form, .contact-index-index .cs-container__reviews .contact-form {
    flex: 1 1 68%; } }

@media (max-width: 47.99em) {
  .contact-index-index .cs-container__inner .contact-form, .contact-index-index .cs-container__reviews .contact-form {
    order: 2; } }

.contact-index-index .cs-container__inner .contact-form fieldset.fieldset, .contact-index-index .cs-container__reviews .contact-form fieldset.fieldset {
  padding: 0;
  border: 0; }
  .contact-index-index .cs-container__inner .contact-form fieldset.fieldset h3, .contact-index-index .cs-container__reviews .contact-form fieldset.fieldset h3 {
    text-transform: none; }
    @media (max-width: 40em) {
      .contact-index-index .cs-container__inner .contact-form fieldset.fieldset h3, .contact-index-index .cs-container__reviews .contact-form fieldset.fieldset h3 {
        margin-bottom: 5px; } }
  .contact-index-index .cs-container__inner .contact-form fieldset.fieldset > span, .contact-index-index .cs-container__reviews .contact-form fieldset.fieldset > span {
    display: inline-block; }

.contact-index-index .cs-container__inner .contact-form .form .field + .field, .contact-index-index .cs-container__reviews .contact-form .form .field + .field {
  margin-top: 0; }

@media (min-width: 40.01em) {
  .contact-index-index .cs-container__inner .contact-form .flex-row, .contact-index-index .cs-container__reviews .contact-form .flex-row {
    display: flex;
    flex-direction: row; } }

@media (min-width: 40.01em) {
  .contact-index-index .cs-container__inner .contact-form .flex-row .field, .contact-index-index .cs-container__reviews .contact-form .flex-row .field {
    flex: 1 1 48%; } }

@media (min-width: 40.01em) {
  .contact-index-index .cs-container__inner .contact-form .flex-row .field:last-child, .contact-index-index .cs-container__reviews .contact-form .flex-row .field:last-child {
    margin-left: 20px; } }

.contact-index-index .cs-container__inner .contact-form .primary, .contact-index-index .cs-container__reviews .contact-form .primary {
  text-align: right; }

.contact-index-index .cs-container__inner .contact-address, .contact-index-index .cs-container__reviews .contact-address {
  background: #F4F4F4;
  padding: 20px 25px; }
  @media (max-width: 40em) {
    .contact-index-index .cs-container__inner .contact-address, .contact-index-index .cs-container__reviews .contact-address {
      padding: 10px 15px; } }
  @media (max-width: 47.99em) {
    .contact-index-index .cs-container__inner .contact-address, .contact-index-index .cs-container__reviews .contact-address {
      order: 1;
      width: 100%;
      margin-bottom: 35px; } }
  .contact-index-index .cs-container__inner .contact-address__item, .contact-index-index .cs-container__reviews .contact-address__item {
    margin-bottom: 20px;
    cursor: pointer; }
    @media (max-width: 40em) {
      .contact-index-index .cs-container__inner .contact-address__item, .contact-index-index .cs-container__reviews .contact-address__item {
        margin-bottom: 15px; } }
  .contact-index-index .cs-container__inner .contact-address p, .contact-index-index .cs-container__reviews .contact-address p {
    margin: 0; }
  @media (max-width: 40em) {
    .contact-index-index .cs-container__inner .contact-address p, .contact-index-index .cs-container__reviews .contact-address p,
    .contact-index-index .cs-container__inner .contact-address span,
    .contact-index-index .cs-container__reviews .contact-address span {
      font-size: 1.4rem; } }
  .contact-index-index .cs-container__inner .contact-address .icon-text, .contact-index-index .cs-container__reviews .contact-address .icon-text {
    display: block;
    padding-left: 25px;
    padding-right: 5px;
    position: relative; }
    .contact-index-index .cs-container__inner .contact-address .icon-text:before, .contact-index-index .cs-container__reviews .contact-address .icon-text:before {
      background-size: 10px 15px;
      background-repeat: no-repeat;
      background-position: center;
      content: '';
      display: block;
      position: absolute;
      left: 0;
      top: 5px;
      width: 15px;
      height: 15px; }
  .contact-index-index .cs-container__inner .contact-address .icon-location:before, .contact-index-index .cs-container__reviews .contact-address .icon-location:before {
    background-image: url("../images/icons/map-pin.svg"); }
  .contact-index-index .cs-container__inner .contact-address .icon-phone:before, .contact-index-index .cs-container__reviews .contact-address .icon-phone:before {
    background-image: url("../images/icons/phone-dark.svg");
    background-size: contain; }
  .contact-index-index .cs-container__inner .contact-address .icon-email:before, .contact-index-index .cs-container__reviews .contact-address .icon-email:before {
    background-image: url("../images/icons/email@1x.svg");
    background-size: contain;
    width: 17px;
    top: 6px; }
  @media (min-width: 48em) {
    .contact-index-index .cs-container__inner .contact-address, .contact-index-index .cs-container__reviews .contact-address {
      flex: 1 1 33%;
      margin-left: 20px; } }

@media (min-width: 48.01em) {
  .cms-page-view.page-layout-cms-full-width-narrow .columns .cs-container--brand-carousel,
  .cms-page-view.page-layout-cms-full-width .columns .cs-container--brand-carousel,
  .cms-page-view.page-layout-1colum .columns .cs-container--brand-carousel {
    margin-top: 45px; } }

@media (max-width: 48em) {
  .cms-page-view.page-layout-cms-full-width-narrow .columns .cs-container--brand-carousel,
  .cms-page-view.page-layout-cms-full-width .columns .cs-container--brand-carousel,
  .cms-page-view.page-layout-1colum .columns .cs-container--brand-carousel {
    margin-top: 35px; } }

.cms-page-view.page-layout-cms-full-width-narrow .cs-container--breadcrumbs .cs-breadcrumbs,
.cms-page-view.page-layout-cms-full-width .cs-container--breadcrumbs .cs-breadcrumbs,
.cms-page-view.page-layout-1colum .cs-container--breadcrumbs .cs-breadcrumbs {
  padding-top: 1.5rem; }
  @media (max-width: 47.99em) {
    .cms-page-view.page-layout-cms-full-width-narrow .cs-container--breadcrumbs .cs-breadcrumbs,
    .cms-page-view.page-layout-cms-full-width .cs-container--breadcrumbs .cs-breadcrumbs,
    .cms-page-view.page-layout-1colum .cs-container--breadcrumbs .cs-breadcrumbs {
      margin-bottom: 10px; } }

.cms-page-view.page-layout-cms-full-width-narrow .columns .column.main,
.cms-page-view.page-layout-cms-full-width .columns .column.main,
.cms-page-view.page-layout-1colum .columns .column.main {
  padding-top: 0; }
  @media (min-width: 48.01em) {
    .cms-page-view.page-layout-cms-full-width-narrow .columns .column.main,
    .cms-page-view.page-layout-cms-full-width .columns .column.main,
    .cms-page-view.page-layout-1colum .columns .column.main {
      padding-bottom: 30px; } }
  @media (max-width: 48em) {
    .cms-page-view.page-layout-cms-full-width-narrow .columns .column.main,
    .cms-page-view.page-layout-cms-full-width .columns .column.main,
    .cms-page-view.page-layout-1colum .columns .column.main {
      padding-bottom: 15px; } }

.cms-page-view.page-layout-cms-full-width-narrow .cs-container--breadcrumbs .cs-container__inner, .cms-page-view.page-layout-cms-full-width-narrow .cs-container--breadcrumbs .cs-container__reviews,
.cms-page-view.page-layout-cms-full-width-narrow .columns .cs-container:not(.cs-container--brand-carousel) .cs-container__inner,
.cms-page-view.page-layout-cms-full-width-narrow .columns .cs-container:not(.cs-container--brand-carousel) .cs-container__reviews {
  max-width: 103rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
body,
html {
  height: 100%;
  max-width: 100vw; }

.no-scroll {
  position: fixed;
  width: 100vw;
  height: 100vh; }

.no-scroll-child {
  overflow-y: hidden !important; }

#maincontent {
  flex: 1 0 auto; }

.page-wrapper {
  display: block !important;
  min-height: 100%; }
  @media (min-width: 48em) {
    .page-wrapper {
      display: flex !important;
      flex-direction: column !important; } }

.columns .column.main {
  width: auto;
  padding: 2rem 0 0;
  max-width: 100%;
  min-height: 10rem; }

.page-layout-1column .product-info-wrapper {
  width: 100%; }
  @media (min-width: 48em) {
    .page-layout-1column .product-info-wrapper {
      position: absolute;
      right: 0;
      height: 100%;
      width: 40%; } }
  @media (min-width: 64em) {
    .page-layout-1column .product-info-wrapper {
      width: 30%; } }

@media (min-width: 48em) {
  .page-layout-2columns-left .sidebar-main,
  .page-layout-2columns-left .sidebar-additional {
    width: 22.5%;
    padding-right: 40px;
    border-right: 1px solid #f0f0f0; } }

.ie11 .page-wrapper {
  display: block !important; }

a {
  color: #FF4604; }
  a:visited {
    color: #FF4604; }
  a:hover {
    color: #FF7442; }

.gift-options-cart-item {
  display: none; }

@media (min-width: 48em) {
  .paypal-express-review .page-title-wrapper {
    padding: 0 1.5rem; } }

@media (max-width: 63.99em) {
  .paypal-review.view .cs-cart-item__price {
    padding-left: 0 !important; }
  .paypal-review.view .cs-cart-item__subtotal {
    padding-right: 0 !important; } }

@media (min-width: 48em) {
  .paypal-review.view {
    padding: 0 1.5rem; } }

.paypal-express-in-context-mini-cart-container {
  margin-top: 1rem; }

.paypal-review-discount {
  border-bottom: none; }

.amazon-button-container {
  max-width: 25rem;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  z-index: 303; }
  @media (min-width: 48em) {
    .amazon-button-container {
      max-width: 32rem; } }
  .amazon-button-container img {
    margin-left: auto;
    margin-right: auto; }
  .amazon-button-container__cell:nth-child(2) {
    position: absolute;
    min-width: 3rem;
    left: calc(100% + 0.6rem);
    top: 1.9rem; }
    @media (max-width: 29.99em) {
      .amazon-button-container__cell:nth-child(2) {
        left: calc(100% + 0.8rem); } }
  .amazon-button-container__cell .field-tooltip-content {
    width: 25rem;
    box-sizing: border-box;
    box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.17);
    border: none;
    font-size: 1.3rem;
    padding: 0.8rem; }
    @media (min-width: 40em) {
      .amazon-button-container__cell .field-tooltip-content {
        width: 28rem; } }
    .amazon-button-container__cell .field-tooltip-content:before {
      border-right-color: #6E6E6E; }
    .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content,
    .cs-cart-summary .amazon-button-container__cell .field-tooltip-content {
      top: auto;
      bottom: 42px;
      left: -210px;
      right: auto; }
      @media (min-width: 48em) {
        .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content,
        .cs-cart-summary .amazon-button-container__cell .field-tooltip-content {
          left: -250px; } }
      @media (min-width: 64em) {
        .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content,
        .cs-cart-summary .amazon-button-container__cell .field-tooltip-content {
          left: -232px; } }
      .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:before, .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:after,
      .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before,
      .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:after {
        top: calc(100% + 2rem);
        left: 210px;
        transform: rotate(-180deg); }
        @media (min-width: 48em) {
          .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:before, .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:after,
          .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before,
          .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:after {
            bottom: -10px;
            top: 100%;
            left: 250px;
            transform: rotate(-90deg); } }
        @media (min-width: 64em) {
          .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:before, .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:after,
          .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before,
          .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:after {
            left: 232px; } }
      .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:before,
      .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before {
        left: 210px; }
        @media (max-width: 47.99em) {
          .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:before,
          .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before {
            border-right-color: transparent; } }
        @media (min-width: 48em) {
          .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:before,
          .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before {
            left: 251px;
            transform: rotate(-90deg); } }
        @media (min-width: 64em) {
          .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:before,
          .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before {
            left: 233px; } }
      @media (min-width: 64em) {
        .amazon-minicart-container .amazon-button-container__cell .field-tooltip-content:after,
        .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:after {
          transform: rotate(-90deg); } }
    @media (min-width: 48em) {
      .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:before, .cs-cart-summary .amazon-button-container__cell .field-tooltip-content:after {
        top: calc(100% + 2rem);
        transform: rotate(180deg); } }

.ie11 source {
  height: 0 !important; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-authorization-link {
  display: flex;
  align-items: center;
  position: relative;
  margin-left: 0.9rem;
  padding: 0 0 0 0.3rem; }
  @media (min-width: 64em) {
    .cs-authorization-link {
      padding: 0 0 0 1.3rem;
      margin-left: 1.7rem; } }
  .cs-authorization-link:before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    content: '';
    border-left: 0.2rem solid #ffffff;
    transform: skew(-18deg); }
  .cs-authorization-link__link {
    display: flex;
    align-items: center; }
    .cs-authorization-link__link {
      color: #FF4604; }
      .cs-authorization-link__link:visited {
        color: #FF7442; }
      .cs-authorization-link__link:hover {
        color: #FF7442; }
      .cs-authorization-link__link:active, .cs-authorization-link__link:focus {
        color: #FF7442; }
    .cs-authorization-link__link:hover .cs-authorization-link__icon path {
      fill: #3E3E3E; }
  .cs-authorization-link__icon {
    width: 1.8rem;
    height: 1rem;
    padding-right: 0.5rem; }
    .cs-authorization-link__icon path {
      fill: #3E3E3E; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Mixins for flexible containers declaration.
 */
/**
 * Defines page container. This mixin makes sure that the content has always equal padding
 * for mobile screens on both size of the device.
 */
/**
 * Negates parent container's padding and sets it own.
 * Somethimes this has to be done to make background even to other containers' content.
 */
/**
 * Defines container wrapper that makes sure contnet doesn't extend above certain width and is always centered.
 */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-buybox__update {
  padding: 14px;
  max-width: 219px; }

.cs-addtocart {
  text-align: right;
  padding-right: 0;
  /* stylelint-disable */
  /* stylelint-enable */ }
  .cs-addtocart__wrapper {
    margin-top: 15px; }
    @media (max-width: 48em) {
      .cs-addtocart__wrapper {
        text-align: center;
        padding: 10px 0; } }
  .cs-addtocart__button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    padding: 13px 14px;
    max-width: 219px; }
    .cs-addtocart__button.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-addtocart__button.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-addtocart__button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-addtocart__button, .cs-addtocart__button:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #4A90E2;
      border-radius: 25px;
      font-size: 1.6rem;
      position: relative; }
      .cs-addtocart__button span, .cs-addtocart__button:visited span {
        position: relative;
        z-index: 3; }
      .cs-addtocart__button:before, .cs-addtocart__button:visited:before {
        background-color: #4A90E2;
        border: 1px solid #4A90E2;
        height: 100%;
        content: '';
        display: block;
        width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        border-radius: 25px;
        z-index: 2; }
      .cs-addtocart__button:after, .cs-addtocart__button:visited:after {
        background-color: #4980C1;
        height: 100%;
        content: '';
        display: block;
        width: 100%;
        position: absolute;
        top: 4px;
        left: 0;
        border-radius: 25px;
        z-index: 1; }
      .cs-addtocart__button *, .cs-addtocart__button:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-addtocart__button:hover:not([disabled]), .cs-addtocart__button:focus:not([disabled]), .cs-addtocart__button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #4980C1; }
      .cs-addtocart__button:hover:not([disabled]):after, .cs-addtocart__button:focus:not([disabled]):after, .cs-addtocart__button:active:not([disabled]):after {
        top: 2px; }
      .cs-addtocart__button:hover:not([disabled]):before, .cs-addtocart__button:focus:not([disabled]):before, .cs-addtocart__button:active:not([disabled]):before {
        border: 1px solid #4980C1;
        background-color: #4980C1; }
      .cs-addtocart__button:hover:not([disabled]) *, .cs-addtocart__button:focus:not([disabled]) *, .cs-addtocart__button:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-addtocart__button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-addtocart__button svg.cs-addtocart__configure-icon {
      display: none; }
    .cs-addtocart__button.configure .cs-addtocart__button-label {
      padding: 0; }
    .cs-addtocart__button:after {
      top: 3px; }
    .cs-addtocart__button[disabled] {
      opacity: 1; }
    .cs-addtocart__button .cs-addtocart__success-label, .cs-addtocart__button:hover .cs-addtocart__success-label, .cs-addtocart__button:focus .cs-addtocart__success-label, .cs-addtocart__button:active .cs-addtocart__success-label {
      color: #ffffff; }
    .cs-addtocart__button .cs-addtocart__success-icon *, .cs-addtocart__button:hover .cs-addtocart__success-icon *, .cs-addtocart__button:focus .cs-addtocart__success-icon *, .cs-addtocart__button:active .cs-addtocart__success-icon * {
      fill: #ffffff; }
    .cs-addtocart__button .cs-addtocart__fail-label, .cs-addtocart__button:hover .cs-addtocart__fail-label, .cs-addtocart__button:focus .cs-addtocart__fail-label, .cs-addtocart__button:active .cs-addtocart__fail-label {
      display: none; }
    .cs-addtocart__button .cs-addtocart__fail-icon *, .cs-addtocart__button:hover .cs-addtocart__fail-icon *, .cs-addtocart__button:focus .cs-addtocart__fail-icon *, .cs-addtocart__button:active .cs-addtocart__fail-icon * {
      fill: #ffffff; }
  .cs-addtocart__button-label, .cs-addtocart__success-label, .cs-addtocart__fail-label {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-left: 4em;
    padding-left: 30px;
    white-space: nowrap; }
  .cs-addtocart__configure-icon, .cs-addtocart__button-icon, .cs-addtocart__success-icon, .cs-addtocart__fail-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-left: 0;
    left: 1em;
    padding: 0;
    max-width: none;
    max-height: none;
    width: 2.2rem;
    height: 2.2rem;
    /* stylelint-disable */
    left: 33px;
    /* stylelint-enable */ }
  .cs-addtocart__fail-icon {
    transition: none; }
  .cs-addtocart__button-label, .cs-addtocart__success-label {
    transition: opacity 0.15s linear, transform 1s cubic-bezier(0, 0.77, 0.18, 1); }
  .cs-addtocart__button-label {
    display: inline-block;
    z-index: 4;
    font-size: 1.6rem;
    position: relative;
    text-transform: uppercase; }
  .cs-addtocart__loading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: scale(0) translate3d(-50%, -50%, 0);
    width: 40px;
    height: 10px;
    opacity: 0;
    transition: opacity 0.15s linear, transform 1s cubic-bezier(0, 0.77, 0.18, 1);
    transition-delay: 0.2s; }
    .cs-addtocart__loading-ball {
      position: absolute;
      display: block;
      width: 10px;
      height: 10px;
      bottom: 0;
      background: #ffffff;
      border-radius: 50%; }
      .cs-addtocart__loading-ball--1 {
        left: 0; }
      .cs-addtocart__loading-ball--2 {
        left: 15px;
        -webkit-animation-delay: 0.15s !important;
                animation-delay: 0.15s !important; }
      .cs-addtocart__loading-ball--3 {
        left: 30px;
        -webkit-animation-delay: 0.3s !important;
                animation-delay: 0.3s !important; }
  .cs-addtocart__success-label, .cs-addtocart__success-icon, .cs-addtocart__fail-label, .cs-addtocart__fail-icon {
    opacity: 0; }
  .cs-addtocart__success-icon, .cs-addtocart__fail-icon {
    height: 1.725em;
    transition-delay: 0.2s; }
  .cs-addtocart__success-label, .cs-addtocart__fail-label {
    display: none; }
  .cs-addtocart__minicart {
    width: 100%;
    text-align: center; }
    .cs-addtocart__minicart--sticky, .cs-addtocart__minicart--unstick {
      max-width: 124rem;
      width: 100%;
      margin: 0 auto;
      width: 100%;
      position: fixed;
      top: 0;
      left: 50%;
      transform: translate3d(-50%, 0, 0);
      z-index: 400;
      padding: 0;
      text-align: right;
      display: flex;
      justify-content: flex-end; }
      .cs-addtocart__minicart--sticky .ui-dialog, .cs-addtocart__minicart--unstick .ui-dialog {
        right: 0 !important; }
      .cs-addtocart__minicart--sticky .block-minicart:after, .cs-addtocart__minicart--unstick .block-minicart:after {
        right: 3.2rem !important; }
  @media (min-width: 64em) {
    .cs-addtocart__minicart-link {
      min-width: 125px; } }
  .cs-addtocart__minicart--sticky .cs-addtocart__minicart-link,
  .cs-addtocart__minicart--unstick .cs-addtocart__minicart-link {
    text-align: center;
    padding: 2.5rem 1rem;
    background: #ffffff;
    box-shadow: 1px 3px 4.5rem 0 rgba(30, 48, 67, 0.34);
    -webkit-animation: minicart-in 1s cubic-bezier(0, 0.77, 0.18, 1);
            animation: minicart-in 1s cubic-bezier(0, 0.77, 0.18, 1);
    position: relative; }
  .cs-addtocart__minicart--unstick .cs-addtocart__minicart-link {
    -webkit-animation: minicart-out 0.5s cubic-bezier(0.55, 0.2, 0.89, 0.45);
            animation: minicart-out 0.5s cubic-bezier(0.55, 0.2, 0.89, 0.45); }
  .cs-addtocart__minicart-link:before {
    content: none !important; }
  .cs-addtocart__minicart-qty-badge-wrapper {
    position: absolute;
    opacity: 0;
    z-index: 600;
    transition: top 0.9s cubic-bezier(0.42, 0.31, 0.34, 0.93), left 0.9s cubic-bezier(0.42, 0.31, 0.34, 0.93);
    pointer-events: none; }
    .cs-addtocart__minicart-qty-badge-wrapper--animating {
      -webkit-animation: move-qty-badge 1.2s cubic-bezier(0.42, 0.31, 0.34, 0.93);
              animation: move-qty-badge 1.2s cubic-bezier(0.42, 0.31, 0.34, 0.93);
      position: fixed;
      top: 0.5rem; }
      @media (min-width: 48.01em) {
        .cs-addtocart__minicart-qty-badge-wrapper--animating {
          top: 1.3rem; } }
      @media (min-width: 64em) {
        .cs-addtocart__minicart-qty-badge-wrapper--animating {
          position: absolute;
          top: 5.3rem; } }
      .cs-addtocart__minicart-qty-badge-wrapper--animating.cs-addtocart__minicart-qty-badge-wrapper--minicart-sticky {
        position: fixed;
        top: 1.8rem; }
    .cs-addtocart__minicart-qty-badge-wrapper .cs-addtocart__minicart-qty-badge {
      position: static;
      visibility: visible; }
  .cs-addtocart--loading .cs-addtocart__button-label, .cs-addtocart--done .cs-addtocart__button-label {
    opacity: 0;
    transform: translate3d(2em, 0, 0); }
  .cs-addtocart--loading .cs-addtocart__loading {
    opacity: 1;
    transform: scale(1) translate3d(-50%, -50%, 0) translateX(-1.25em); }
    .cs-addtocart--loading .cs-addtocart__loading-ball {
      -webkit-animation: ball-in 1s infinite;
              animation: ball-in 1s infinite; }
  .cs-addtocart--done .cs-addtocart__button-icon {
    opacity: 0; }
  .cs-addtocart--done .cs-addtocart__feedback-bg {
    transform: skew(-18deg) translate3d(0, 0, 0); }
    .cs-addtocart--done .cs-addtocart__feedback-bg:after {
      transform: translate3d(-5.3rem, 0, 0); }
  .cs-addtocart--success .cs-addtocart__success-icon {
    opacity: 1; }
  .cs-addtocart--success .cs-addtocart__success-label {
    opacity: 1;
    transform: translate3d(-50%, -50%, 0); }
  .cs-addtocart--fail .cs-addtocart__fail-icon {
    opacity: 1; }
  .cs-addtocart--animation-done .cs-addtocart__button-label,
  .cs-addtocart--animation-done .cs-addtocart__button-icon {
    transition-delay: 0.5s; }
  .cs-addtocart--animation-done .cs-addtocart__feedback-bg {
    transition-delay: 0.2s; }
    .cs-addtocart--animation-done .cs-addtocart__feedback-bg, .cs-addtocart--animation-done .cs-addtocart__feedback-bg:after {
      transition: transform 0.4s cubic-bezier(0.86, 0.01, 0.83, 0.51); }
    .cs-addtocart--animation-done .cs-addtocart__feedback-bg:after {
      transition-delay: 0; }
  .cs-addtocart--animation-done .cs-addtocart__success-label,
  .cs-addtocart--animation-done .cs-addtocart__fail-icon {
    transition: opacity 0.6s linear, transform 0.6s cubic-bezier(0.86, 0.01, 0.83, 0.51);
    transition-delay: 0; }
  .cs-addtocart--animation-done .cs-addtocart__success-icon,
  .cs-addtocart--animation-done .cs-addtocart__fail-icon {
    transition-delay: 0; }

@-webkit-keyframes ball-in {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes ball-in {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@-webkit-keyframes minicart-in {
  0% {
    transform: translate3d(0, -100%, 0); }
  100% {
    transform: translate3d(0, 0, 0); } }

@keyframes minicart-in {
  0% {
    transform: translate3d(0, -100%, 0); }
  100% {
    transform: translate3d(0, 0, 0); } }

@-webkit-keyframes minicart-out {
  0% {
    transform: translate3d(0, 0, 0); }
  100% {
    transform: translate3d(0, -100%, 0); } }

@keyframes minicart-out {
  0% {
    transform: translate3d(0, 0, 0); }
  100% {
    transform: translate3d(0, -100%, 0); } }

@-webkit-keyframes move-qty-badge {
  0% {
    opacity: 1; }
  15% {
    transform: scale(1); }
  80% {
    opacity: 1;
    transform: scale(1.5); }
  100% {
    opacity: 0;
    transform: scale(1); } }

@keyframes move-qty-badge {
  0% {
    opacity: 1; }
  15% {
    transform: scale(1); }
  80% {
    opacity: 1;
    transform: scale(1.5); }
  100% {
    opacity: 0;
    transform: scale(1); } }
  .cs-addtocart .block-minicart {
    margin-bottom: 0; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/*
 * Because price-box is used in multiple components like tile, buybox etc,
 * we need to move variables to separate file to have possibility to include them
 * in each component without generate price-box component styles multiple times
*/
.cs-autocomplete {
  width: 100%;
  top: 100%;
  left: 0;
  box-sizing: border-box;
  background-color: #ffffff;
  border-radius: 3px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.17);
  z-index: 200;
  margin-top: -1px; }
  .cs-autocomplete .autocomplete-list dd, .cs-autocomplete__item {
    background: #ffffff;
    padding: 0.5rem 1rem;
    margin: 0;
    border-bottom: 1px solid #dcdcdc;
    display: flex;
    align-items: center;
    transition: background-color 0.15s linear;
    font-size: 1.29rem; }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-autocomplete .autocomplete-list dd, .cs-autocomplete__item {
    padding: 1rem; } }
    .cs-autocomplete .autocomplete-list dd:hover, .cs-autocomplete .autocomplete-list dd.selected, .cs-autocomplete__item:hover, .cs-autocomplete__item.selected {
      background-color: #f0f0f0;
      cursor: pointer; }
    .cs-autocomplete .autocomplete-list dd:last-child, .cs-autocomplete__item:last-child {
      border-bottom: none; }
    .cs-autocomplete .autocomplete-list dd-image-container, .cs-autocomplete__item-image-container {
      padding: 0;
      margin-right: 1rem;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center; }
    .cs-autocomplete .autocomplete-list dd-image, .cs-autocomplete__item-image {
      width: 4.5rem;
      height: 4.5rem; }
    .cs-autocomplete .autocomplete-list dd-details, .cs-autocomplete__item-details {
      flex: 1 1 100%;
      margin: 0; }
      .cs-autocomplete .autocomplete-list dd-details .f-fix, .cs-autocomplete__item-details .f-fix {
        height: 5.8rem;
        display: flex;
        flex-direction: column;
        justify-content: center; }
      .cs-autocomplete .autocomplete-list dd-details img, .cs-autocomplete__item-details img {
        display: block; }
    .cs-autocomplete .autocomplete-list dd-brand, .cs-autocomplete__item-brand {
      font-size: 1.2rem;
      color: #3E3E3E; }
    .cs-autocomplete .autocomplete-list dd-name, .cs-autocomplete__item-name {
      font-size: 1.29rem;
      color: #000;
      font-weight: 700; }
    .cs-autocomplete .autocomplete-list dd-price, .cs-autocomplete__item-price {
      margin: 0.3rem 0 0; }
  .cs-autocomplete .price-box {
    display: flex; }
    .cs-autocomplete .price-box > .price {
      color: #000;
      font-size: 1.4rem;
      font-weight: 700;
      margin-right: 0; }
    .cs-autocomplete .price-box .old-price > .price {
      text-decoration: line-through;
      color: #000;
      font-size: 1.4rem;
      font-weight: 400; }
    .cs-autocomplete .price-box .special-price > .price {
      color: #CC1C3A;
      font-size: 1.4rem;
      font-weight: 400; }
    .cs-autocomplete .price-box .minimal-price-link {
      display: none; }
    .cs-autocomplete .price-box .old-price {
      order: -1; }
      .cs-autocomplete .price-box .old-price .price {
        margin-right: 1rem; }
  .cs-autocomplete__badges {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    margin-left: 1rem; }
  .cs-autocomplete__badge {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    transform: none;
    background-color: #FF4604;
    color: #ffffff;
    border: 0;
    border-radius: 0;
    padding: 10px 15px 10px 25px;
    font-size: 1.3rem;
    font-weight: 600;
    min-height: 2em;
    text-transform: uppercase;
    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px;
    max-width: 125px; }
    @media (max-width: 47.99em) {
      .cs-autocomplete__badge {
        font-size: 10px;
        max-width: 88px;
        padding: 8px 13px; } }
    .ie11 .cs-autocomplete__badge:after {
      content: '';
      min-height: auto;
      font-size: 0; }
    .cs-autocomplete__badge + .cs-autocomplete__badge {
      margin-top: 0.5rem; }
    .cs-autocomplete__badge--popular {
      background-color: #A9C546;
      color: #ffffff; }
      .cs-autocomplete__badge--popular .cs-autocomplete__badge-text {
        line-height: normal;
        transform: none;
        text-align: right; }
        .cs-autocomplete__badge--popular .cs-autocomplete__badge-text + .cs-autocomplete__badge--popular .cs-autocomplete__badge-text {
          margin-left: 0.5rem; }
    .cs-autocomplete__badge--free-shipping {
      background-color: #A9C546;
      color: #ffffff; }
      .cs-autocomplete__badge--free-shipping .cs-autocomplete__badge-text {
        line-height: normal;
        transform: none;
        text-align: right; }
        .cs-autocomplete__badge--free-shipping .cs-autocomplete__badge-text + .cs-autocomplete__badge--free-shipping .cs-autocomplete__badge-text {
          margin-left: 0.5rem; }
  .cs-autocomplete__badge-text {
    line-height: normal;
    transform: none;
    text-align: right; }
    .cs-autocomplete__badge-text + .cs-autocomplete__badge-text {
      margin-left: 0.5rem; }
    @media (min-width: 30em) {
      .cs-autocomplete__badge-text {
        white-space: nowrap; } }

.autocomplete-list {
  margin: -1px 0 1rem;
  border-top: 1px solid #dcdcdc; }
  .autocomplete-list:first-child {
    border-top: 0; }
  .autocomplete-list:last-child {
    margin-bottom: 0; }
  .autocomplete-list .amount {
    color: #3E3E3E;
    font-size: 1.29rem;
    font-weight: 700;
    margin-left: 0.5rem; }
    .autocomplete-list .amount:not(:empty):after {
      content: ')'; }
    .autocomplete-list .amount:not(:empty):before {
      content: '('; }

.autocomplete-list-title {
  padding: 1.2rem 3rem 1rem 1rem;
  border-bottom: none;
  color: #3E3E3E;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 1.29rem;
  letter-spacing: 1px;
  margin: 0; }
  .autocomplete-list-title:hover, .autocomplete-list-title.selected {
    background-color: transparent; }
  .autocomplete-list-title:not(:empty):first-child {
    border-top: transparent; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
.cs-breadcrumbs {
  padding-top: 1.3rem;
  padding-bottom: 1.3rem;
  font-weight: 400;
  margin-bottom: 10px; }
  @media (max-width: 47.99em) {
    .cs-breadcrumbs {
      margin-bottom: 0; } }
  .cs-breadcrumbs__list {
    margin: 0;
    padding: 0;
    list-style: none; }
  .cs-breadcrumbs__item {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0 1.95em 0 0;
    cursor: pointer;
    font-size: 1.4rem; }
    .cs-breadcrumbs__item:last-child {
      padding: 0;
      color: #6E6E6E;
      cursor: default; }
    .cs-breadcrumbs__item:not(:last-child):after {
      position: absolute;
      top: 50%;
      right: 0.8em;
      content: '';
      width: 5px;
      height: 100%;
      transform: translateY(-50%);
      line-height: 1;
      color: #FF4604;
      background: url("../images/icons/arrow-right@1x.svg");
      background-size: 5px;
      background-repeat: no-repeat;
      background-position: center; }
  .cs-breadcrumbs__link {
    position: relative;
    display: inline-block;
    color: #FF4604; }
    .cs-breadcrumbs__link:visited {
      color: #FF4604; }
    .cs-breadcrumbs__link:hover {
      text-decoration: none;
      color: #FF4604; }
    .cs-breadcrumbs__link:after {
      bottom: 0;
      left: 0;
      height: 1px;
      background: #FF4604;
      width: 100%;
      position: absolute;
      content: '';
      display: block; }
    .cs-breadcrumbs__link:visited:hover, .cs-breadcrumbs__link:hover {
      color: #FF4604; }
      .cs-breadcrumbs__link:visited:hover:after, .cs-breadcrumbs__link:hover:after {
        background: #FF4604; }
  .cs-breadcrumbs__separator-icon {
    position: absolute;
    top: 50%;
    right: 0.5em;
    transform: translateY(-50%);
    width: 0.8em;
    height: 0.8em;
    fill: #FF4604; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/***
 * Remove browser's margins, paddings and list style rules
 */
.cs-button {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color; }
  .cs-button.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  .cs-button.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  .cs-button::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-button, .cs-button:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF4604; }
    .cs-button *, .cs-button:visited * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-button:hover:not([disabled]), .cs-button:focus:not([disabled]), .cs-button:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF7442; }
    .cs-button:hover:not([disabled]) *, .cs-button:focus:not([disabled]) *, .cs-button:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-button[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .cs-button__span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-right: 4em; }
  .cs-button__icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em; }

.cs-button-component {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color;
  margin: 0 0 3rem;
  position: relative;
  left: 50%;
  transform: translateX(-50%); }
  .cs-button-component.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  .cs-button-component.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  .cs-button-component::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-button-component, .cs-button-component:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF4604; }
    .cs-button-component *, .cs-button-component:visited * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-button-component:hover:not([disabled]), .cs-button-component:focus:not([disabled]), .cs-button-component:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF7442; }
    .cs-button-component:hover:not([disabled]) *, .cs-button-component:focus:not([disabled]) *, .cs-button-component:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-button-component[disabled] {
    opacity: 0.65;
    cursor: auto; }
  @media (min-width: 48em) {
    .cs-button-component {
      margin: 0 0 4rem; } }
  .cs-button-component--skip-spacing {
    margin: 0; }
  .cs-button-component__span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-right: 4em; }
  .cs-button-component__icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em; }
  .cs-button-component__amount:before {
    content: '('; }
  .cs-button-component__amount:after {
    content: ')'; }

.button.secondary {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color; }
  .button.secondary.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  .button.secondary.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  .button.secondary::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .button.secondary, .button.secondary:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #000; }
    .button.secondary *, .button.secondary:visited * {
      color: #ffffff;
      fill: #FF4604; }
  .button.secondary:hover:not([disabled]), .button.secondary:focus:not([disabled]), .button.secondary:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #3E3E3E; }
    .button.secondary:hover:not([disabled]) *, .button.secondary:focus:not([disabled]) *, .button.secondary:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  .button.secondary[disabled] {
    opacity: 0.65;
    cursor: auto; }

.button.primary {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color;
  font-size: 1.2rem;
  line-height: 16px; }
  .button.primary.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  .button.primary.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  .button.primary::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .button.primary, .button.primary:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF4604; }
    .button.primary *, .button.primary:visited * {
      color: #ffffff;
      fill: #ffffff; }
  .button.primary:hover:not([disabled]), .button.primary:focus:not([disabled]), .button.primary:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF7442; }
    .button.primary:hover:not([disabled]) *, .button.primary:focus:not([disabled]) *, .button.primary:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  .button.primary[disabled] {
    opacity: 0.65;
    cursor: auto; }

.icon__arrow-round-right {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center; }
  .icon__arrow-round-right:after {
    content: '';
    display: block;
    background: url("../images/icons/arrow@1x.svg") no-repeat;
    background-size: contain;
    background-position: center;
    width: 27px;
    height: 27px;
    margin-left: 15px; }

.icon__arrow-round-left {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center; }
  .icon__arrow-round-left:before {
    content: '';
    display: block;
    background: url("../images/icons/arrowleft@1x.svg") no-repeat;
    background-size: contain;
    background-position: center;
    width: 27px;
    height: 27px;
    margin-right: 15px; }

.links-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap; }
  @media (max-width: 48em) {
    .links-list {
      flex-wrap: wrap;
      margin-bottom: 20px; } }
  .links-list__item {
    flex: 1 1; }
    @media (max-width: 48em) {
      .links-list__item {
        flex: 1 1 50%;
        margin: 0; } }
  .links-list__link {
    color: #000;
    font-size: 18px;
    line-height: 26px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    letter-spacing: 0.4px;
    padding: 20px 10px; }
    .links-list__link:visited {
      color: #000; }
    @media (max-width: 48em) {
      .links-list__link {
        padding: 10px;
        font-size: 14px;
        white-space: pre; } }
    @media (max-width: 48em) {
      .links-list__link:after {
        width: 21px;
        height: 21px;
        min-width: 21px;
        margin-left: 8px; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Mixins for flexible containers declaration.
 */
/**
 * Defines page container. This mixin makes sure that the content has always equal padding
 * for mobile screens on both size of the device.
 */
/**
 * Negates parent container's padding and sets it own.
 * Somethimes this has to be done to make background even to other containers' content.
 */
/**
 * Defines container wrapper that makes sure contnet doesn't extend above certain width and is always centered.
 */
body.cms-no-route .cs-container__inner h1, body.cms-no-route .cs-container__reviews h1 {
  text-transform: none;
  font-family: 28px;
  line-height: 34px;
  margin-bottom: 25px; }

body.cms-no-route .cs-container__inner h2, body.cms-no-route .cs-container__reviews h2, body.cms-no-route .cs-container__inner h3, body.cms-no-route .cs-container__reviews h3 {
  font-size: 18px;
  text-transform: none; }

body.cms-no-route .cs-container__inner ul.buttons-set, body.cms-no-route .cs-container__reviews ul.buttons-set {
  display: flex;
  flex-direction: row;
  list-style: none;
  padding: 0;
  margin: 20px 0 0; }
  body.cms-no-route .cs-container__inner ul.buttons-set button, body.cms-no-route .cs-container__reviews ul.buttons-set button {
    margin-right: 10px; }

body.cms-no-route .columns .column.main {
  padding: 45px 15px !important;
  max-width: 138rem;
  margin: 0 auto; }
  body.cms-no-route .columns .column.main h1 {
    text-transform: none;
    font-family: 28px;
    line-height: 34px;
    margin-bottom: 25px; }
  body.cms-no-route .columns .column.main h2, body.cms-no-route .columns .column.main h3 {
    font-size: 18px;
    text-transform: none; }
  body.cms-no-route .columns .column.main ul.buttons-set {
    display: flex;
    flex-direction: row;
    list-style: none;
    padding: 0;
    margin: 20px 0 0; }
    body.cms-no-route .columns .column.main ul.buttons-set button {
      margin-right: 10px; }

.cs-container {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box; }
  .cs-container__inner, .cs-container__reviews {
    max-width: 124rem;
    width: 100%;
    margin: 0 auto;
    position: relative; }
    .cs-container__inner:before, .cs-container__reviews:before, .cs-container__inner:after, .cs-container__reviews:after {
      content: '';
      display: table;
      clear: both; }
    .cs-container__inner--flex {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      @media (min-width: 48em) {
        .cs-container__inner--flex {
          flex-wrap: nowrap; } }
      .cs-container__inner--flex:after {
        display: none; }
  .cs-container__aside {
    width: 100%; }
    @media (min-width: 48em) {
      .cs-container__aside {
        width: 33%; } }
    @media (min-width: 64em) {
      .cs-container__aside {
        width: 24.8%; } }
    @media (min-width: 90em) {
      .cs-container__aside {
        width: 24.8%; } }
  .cs-container__main-column {
    width: 56%;
    position: relative; }
    @media (min-width: 48em) {
      .cs-container__main-column {
        width: 65%; } }
    @media (min-width: 64em) {
      .cs-container__main-column {
        width: 71.4%; } }
    @media (min-width: 90em) {
      .cs-container__main-column {
        width: 71.4%; } }
    @media (max-width: 47.99em) {
      .cs-container__main-column {
        max-width: 100% !important;
        width: 100% !important; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .page-product-bundle .cs-container__main-column {
    width: 100%;
    margin-right: 0; } }
    @media (min-width: 64em) {
      .cs-container__main-column--space-top {
        padding-top: 3rem; } }
  .cs-container__reviews {
    padding-bottom: 2rem; }
    @media (min-width: 48em) {
      .cs-container__reviews {
        background: #ffffff;
        margin-top: 3rem;
        padding: 0 2rem; } }
    @media (min-width: 90em) {
      .cs-container__reviews {
        padding: 2rem 0 0; } }
    .cs-container__reviews:after {
      content: '';
      display: table;
      clear: both; }
  .cs-container__cart-coupons {
    display: flex;
    flex-wrap: wrap; }
    @media (min-width: 64em) {
      .cs-container__cart-coupons {
        flex-wrap: nowrap;
        justify-content: space-between; } }
  .cs-container--contrast {
    background-color: #f0f0f0; }
    @media (min-width: 64em) {
      .cs-container--contrast {
        background-image: url("../images/background.png");
        background-size: cover;
        background-repeat: no-repeat; } }
  .cs-container--top-bar {
    background-color: transparent;
    max-width: none; }
  .cs-container--spacious {
    padding-top: 2rem;
    padding-bottom: 2rem; }
    @media (min-width: 64em) {
      .cs-container--spacious {
        padding-top: 3rem;
        padding-bottom: 3rem; } }
    @media (min-width: 48em) {
      .catalog-category-view .cs-container--spacious,
      .catalogsearch-result-index .cs-container--spacious {
        padding-top: 0; } }
  .cs-container--image-teaser-window-width, .cs-container--store-locator {
    padding-left: 0;
    padding-right: 0; }
  .cs-container--grid-teaser {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden; }
  .cs-container--hero-teaser {
    overflow: hidden;
    padding-left: 0;
    padding-right: 0; }
  .cs-container--noscroll {
    overflow: hidden; }
  @media (min-width: 64em) {
    .cs-container--pdp {
      padding-top: 0; } }
  .cs-container--usps .cs-container--headline {
    padding: 0; }
  .cs-container--create-account-page, .cs-container--login-page, .cs-container--success-page, .cs-container--logout-page {
    padding-top: 2rem;
    padding-bottom: 2rem; }
    @media (min-width: 64em) {
      .cs-container--create-account-page, .cs-container--login-page, .cs-container--success-page, .cs-container--logout-page {
        padding-top: 4rem;
        padding-bottom: 8rem; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-container--my-account-page {
    padding-left: 1.5rem;
    padding-right: 1.5rem; } }
  .cs-container--ontop {
    z-index: 301; }
  .cs-container--viewport-width {
    max-width: none; }
  @media (max-width: 47.99em) {
    .cs-container--page-pdp-details-aw_pq_ajax_container {
      padding: 0; } }
  .cs-container--cart-page .cs-container--products-carousel {
    padding-left: 0;
    padding-right: 0; }
  .cs-container--cart-page .cs-container--headline {
    padding-left: 0;
    padding-right: 0; }
  .cs-container--cms-teaser {
    margin-top: 2rem; }
  @supports (display: grid) and (grid-auto-flow: row) {
    .cs-container--grid-teaser {
      position: relative;
      top: auto;
      left: auto;
      right: auto;
      bottom: auto;
      overflow: visible; } }

.contact-index-index .cs-breadcrumbs {
  padding-top: 15px;
  padding-bottom: 15px; }

.contact-index-index .cs-cms-contact-form {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  margin: 20px 0 80px; }
  @media (max-width: 47.99em) {
    .contact-index-index .cs-cms-contact-form {
      flex-direction: column;
      flex-wrap: wrap;
      margin: 20px 0 45px; } }

@media (max-width: 47.99em) {
  .contact-index-index .cs-container__inner, .contact-index-index .cs-container__reviews {
    padding: 0 15px; } }

@media (min-width: 48em) {
  .contact-index-index .cs-container__inner .contact-form, .contact-index-index .cs-container__reviews .contact-form {
    flex: 1 1 68%; } }

@media (max-width: 47.99em) {
  .contact-index-index .cs-container__inner .contact-form, .contact-index-index .cs-container__reviews .contact-form {
    order: 2; } }

.contact-index-index .cs-container__inner .contact-form fieldset.fieldset, .contact-index-index .cs-container__reviews .contact-form fieldset.fieldset {
  padding: 0;
  border: 0; }
  .contact-index-index .cs-container__inner .contact-form fieldset.fieldset h3, .contact-index-index .cs-container__reviews .contact-form fieldset.fieldset h3 {
    text-transform: none; }
    @media (max-width: 40em) {
      .contact-index-index .cs-container__inner .contact-form fieldset.fieldset h3, .contact-index-index .cs-container__reviews .contact-form fieldset.fieldset h3 {
        margin-bottom: 5px; } }
  .contact-index-index .cs-container__inner .contact-form fieldset.fieldset > span, .contact-index-index .cs-container__reviews .contact-form fieldset.fieldset > span {
    display: inline-block; }

.contact-index-index .cs-container__inner .contact-form .form .field + .field, .contact-index-index .cs-container__reviews .contact-form .form .field + .field {
  margin-top: 0; }

@media (min-width: 40.01em) {
  .contact-index-index .cs-container__inner .contact-form .flex-row, .contact-index-index .cs-container__reviews .contact-form .flex-row {
    display: flex;
    flex-direction: row; } }

@media (min-width: 40.01em) {
  .contact-index-index .cs-container__inner .contact-form .flex-row .field, .contact-index-index .cs-container__reviews .contact-form .flex-row .field {
    flex: 1 1 48%; } }

@media (min-width: 40.01em) {
  .contact-index-index .cs-container__inner .contact-form .flex-row .field:last-child, .contact-index-index .cs-container__reviews .contact-form .flex-row .field:last-child {
    margin-left: 20px; } }

.contact-index-index .cs-container__inner .contact-form .primary, .contact-index-index .cs-container__reviews .contact-form .primary {
  text-align: right; }

.contact-index-index .cs-container__inner .contact-address, .contact-index-index .cs-container__reviews .contact-address {
  background: #F4F4F4;
  padding: 20px 25px; }
  @media (max-width: 40em) {
    .contact-index-index .cs-container__inner .contact-address, .contact-index-index .cs-container__reviews .contact-address {
      padding: 10px 15px; } }
  @media (max-width: 47.99em) {
    .contact-index-index .cs-container__inner .contact-address, .contact-index-index .cs-container__reviews .contact-address {
      order: 1;
      width: 100%;
      margin-bottom: 35px; } }
  .contact-index-index .cs-container__inner .contact-address__item, .contact-index-index .cs-container__reviews .contact-address__item {
    margin-bottom: 20px;
    cursor: pointer; }
    @media (max-width: 40em) {
      .contact-index-index .cs-container__inner .contact-address__item, .contact-index-index .cs-container__reviews .contact-address__item {
        margin-bottom: 15px; } }
  .contact-index-index .cs-container__inner .contact-address p, .contact-index-index .cs-container__reviews .contact-address p {
    margin: 0; }
  @media (max-width: 40em) {
    .contact-index-index .cs-container__inner .contact-address p, .contact-index-index .cs-container__reviews .contact-address p,
    .contact-index-index .cs-container__inner .contact-address span,
    .contact-index-index .cs-container__reviews .contact-address span {
      font-size: 1.4rem; } }
  .contact-index-index .cs-container__inner .contact-address .icon-text, .contact-index-index .cs-container__reviews .contact-address .icon-text {
    display: block;
    padding-left: 25px;
    padding-right: 5px;
    position: relative; }
    .contact-index-index .cs-container__inner .contact-address .icon-text:before, .contact-index-index .cs-container__reviews .contact-address .icon-text:before {
      background-size: 10px 15px;
      background-repeat: no-repeat;
      background-position: center;
      content: '';
      display: block;
      position: absolute;
      left: 0;
      top: 5px;
      width: 15px;
      height: 15px; }
  .contact-index-index .cs-container__inner .contact-address .icon-location:before, .contact-index-index .cs-container__reviews .contact-address .icon-location:before {
    background-image: url("../images/icons/map-pin.svg"); }
  .contact-index-index .cs-container__inner .contact-address .icon-phone:before, .contact-index-index .cs-container__reviews .contact-address .icon-phone:before {
    background-image: url("../images/icons/phone-dark.svg");
    background-size: contain; }
  .contact-index-index .cs-container__inner .contact-address .icon-email:before, .contact-index-index .cs-container__reviews .contact-address .icon-email:before {
    background-image: url("../images/icons/email@1x.svg");
    background-size: contain;
    width: 17px;
    top: 6px; }
  @media (min-width: 48em) {
    .contact-index-index .cs-container__inner .contact-address, .contact-index-index .cs-container__reviews .contact-address {
      flex: 1 1 33%;
      margin-left: 20px; } }

@media (min-width: 48.01em) {
  .cms-page-view.page-layout-cms-full-width-narrow .columns .cs-container--brand-carousel,
  .cms-page-view.page-layout-cms-full-width .columns .cs-container--brand-carousel,
  .cms-page-view.page-layout-1colum .columns .cs-container--brand-carousel {
    margin-top: 45px; } }

@media (max-width: 48em) {
  .cms-page-view.page-layout-cms-full-width-narrow .columns .cs-container--brand-carousel,
  .cms-page-view.page-layout-cms-full-width .columns .cs-container--brand-carousel,
  .cms-page-view.page-layout-1colum .columns .cs-container--brand-carousel {
    margin-top: 35px; } }

.cms-page-view.page-layout-cms-full-width-narrow .cs-container--breadcrumbs .cs-breadcrumbs,
.cms-page-view.page-layout-cms-full-width .cs-container--breadcrumbs .cs-breadcrumbs,
.cms-page-view.page-layout-1colum .cs-container--breadcrumbs .cs-breadcrumbs {
  padding-top: 1.5rem; }
  @media (max-width: 47.99em) {
    .cms-page-view.page-layout-cms-full-width-narrow .cs-container--breadcrumbs .cs-breadcrumbs,
    .cms-page-view.page-layout-cms-full-width .cs-container--breadcrumbs .cs-breadcrumbs,
    .cms-page-view.page-layout-1colum .cs-container--breadcrumbs .cs-breadcrumbs {
      margin-bottom: 10px; } }

.cms-page-view.page-layout-cms-full-width-narrow .columns .column.main,
.cms-page-view.page-layout-cms-full-width .columns .column.main,
.cms-page-view.page-layout-1colum .columns .column.main {
  padding-top: 0; }
  @media (min-width: 48.01em) {
    .cms-page-view.page-layout-cms-full-width-narrow .columns .column.main,
    .cms-page-view.page-layout-cms-full-width .columns .column.main,
    .cms-page-view.page-layout-1colum .columns .column.main {
      padding-bottom: 30px; } }
  @media (max-width: 48em) {
    .cms-page-view.page-layout-cms-full-width-narrow .columns .column.main,
    .cms-page-view.page-layout-cms-full-width .columns .column.main,
    .cms-page-view.page-layout-1colum .columns .column.main {
      padding-bottom: 15px; } }

.cms-page-view.page-layout-cms-full-width-narrow .cs-container--breadcrumbs .cs-container__inner, .cms-page-view.page-layout-cms-full-width-narrow .cs-container--breadcrumbs .cs-container__reviews,
.cms-page-view.page-layout-cms-full-width-narrow .columns .cs-container:not(.cs-container--brand-carousel) .cs-container__inner,
.cms-page-view.page-layout-cms-full-width-narrow .columns .cs-container:not(.cs-container--brand-carousel) .cs-container__reviews {
  max-width: 103rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-cookie-message {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 1.2rem;
  background-color: #ffffff;
  color: #000;
  box-shadow: 0 -0.3rem 0.5rem 0 rgba(0, 0, 0, 0.15);
  font-size: 85%;
  z-index: 98;
  transform: translate3d(0, 110%, 0);
  opacity: 0;
  transition: transform 0.25s ease-out, opacity 0.18s linear;
  display: flex;
  justify-content: center;
  align-items: center; }
  .cs-cookie-message--shown {
    z-index: 99;
    transform: translate3d(0, 0, 0);
    opacity: 1; }
  .cs-cookie-message__inner {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    position: relative;
    padding-left: 8rem; }
    @media (min-width: 48em) {
      .cs-cookie-message__inner {
        flex-direction: row; } }
  .cs-cookie-message__button-wrapper {
    align-self: flex-start; }
    @media (min-width: 48em) {
      .cs-cookie-message__button-wrapper {
        align-self: unset; } }
  .cs-cookie-message__text {
    position: relative;
    margin: 0; }
    .cs-cookie-message__text .block-cms-link.widget,
    .cs-cookie-message__text p {
      margin: 0;
      display: inline; }
    .cs-cookie-message__text a {
      color: #FF4604; }
      .cs-cookie-message__text a:visited {
        color: #FF7442; }
      .cs-cookie-message__text a:hover {
        color: #FF7442; }
      .cs-cookie-message__text a:active, .cs-cookie-message__text a:focus {
        color: #FF7442; }
  .cs-cookie-message__icon {
    position: absolute;
    left: 0.5rem;
    width: 5.5rem;
    height: 5.5rem;
    top: 50%;
    transform: translateY(-50%); }
    @media (min-width: 48em) {
      .cs-cookie-message__icon {
        top: -3.5rem;
        transform: translateY(0); } }
  .cs-cookie-message__button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    white-space: nowrap;
    margin-top: 1.2rem; }
    .cs-cookie-message__button.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-cookie-message__button.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-cookie-message__button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-cookie-message__button, .cs-cookie-message__button:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF4604; }
      .cs-cookie-message__button *, .cs-cookie-message__button:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-cookie-message__button:hover:not([disabled]), .cs-cookie-message__button:focus:not([disabled]), .cs-cookie-message__button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .cs-cookie-message__button:hover:not([disabled]) *, .cs-cookie-message__button:focus:not([disabled]) *, .cs-cookie-message__button:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-cookie-message__button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    @media (min-width: 48em) {
      .cs-cookie-message__button {
        margin-top: 0;
        margin-left: 1.2rem; } }
  .cs-cookie-message__button-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-right: 4em; }
  .cs-cookie-message__button-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@media (max-width: 47.99em) {
  .cs-display-controller--hidden-mobile {
    display: none; } }

@media (min-width: 48em) {
  .cs-display-controller--hidden-desktop {
    display: none; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-dropdown-switcher {
  white-space: nowrap;
  cursor: pointer;
  width: 100%; }
  @media (min-width: 64em) {
    .cs-dropdown-switcher .mage-dropdown-dialog {
      position: absolute;
      top: 100%;
      right: -1rem;
      left: 1rem; } }
  .cs-dropdown-switcher--currency .mage-dropdown-dialog {
    right: -1rem; }
  @media (min-width: 64em) {
    .cs-dropdown-switcher {
      position: relative;
      display: inline-flex;
      align-items: center;
      flex-shrink: 0; }
      .cs-dropdown-switcher:before {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 1.3rem;
        content: '';
        border-left: 0.2rem solid #ffffff;
        transform: skew(-18deg);
        display: block; } }
  @media (min-width: 64em) {
    .cs-dropdown-switcher--stores:before {
      display: none; } }
  .cs-dropdown-switcher__option-icon {
    min-width: 1.5rem;
    height: 1.5rem;
    margin-right: 0.6rem;
    margin-bottom: 0.2rem;
    display: inline-block; }
    @media (min-width: 64em) {
      .cs-dropdown-switcher--language .cs-dropdown-switcher__option-icon {
        width: 1.5rem; } }
  @media (min-width: 64em) {
    .cs-dropdown-switcher .switcher-options {
      display: flex; } }
  .cs-dropdown-switcher__trigger {
    padding: 2.4rem 2rem;
    font-size: 1.4rem;
    font-weight: 700;
    border-bottom: 1px #dcdcdc solid;
    position: relative;
    position: relative; }
    .cs-dropdown-switcher__trigger:before, .cs-dropdown-switcher__trigger:after {
      content: '';
      position: absolute;
      top: 50%;
      width: 0.7rem;
      height: 0.1rem;
      left: auto;
      background-color: #FF4604;
      transition: transform 0.15s linear, right 0.15s linear, background-color 0.15s linear;
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden; }
    .cs-dropdown-switcher__trigger:before {
      transform: rotate(45deg) translate3d(0, 0, 0);
      right: 3rem; }
    .cs-dropdown-switcher__trigger:after {
      transform: rotate(-45deg) translate3d(0, 0, 0);
      right: 2.5rem; }
    .cs-dropdown-switcher__trigger.active:before {
      transform: rotate(-45deg); }
    .cs-dropdown-switcher__trigger.active:after {
      transform: rotate(45deg); }
    @media (min-width: 64em) {
      .cs-dropdown-switcher__trigger {
        height: 100%;
        display: inline-flex;
        align-items: center;
        margin-left: 2rem;
        font-size: 1.1rem;
        font-weight: 400;
        padding: 0 1.5rem 0 0;
        border-bottom: none;
        position: relative; }
        .cs-dropdown-switcher__trigger:before, .cs-dropdown-switcher__trigger:after {
          content: '';
          position: absolute;
          top: 50%;
          width: 0.7rem;
          height: 0.1rem;
          left: auto;
          background-color: #000;
          transition: transform 0.15s linear, right 0.15s linear, background-color 0.15s linear;
          -webkit-backface-visibility: hidden;
                  backface-visibility: hidden; }
        .cs-dropdown-switcher__trigger:before {
          transform: rotate(45deg) translate3d(0, 0, 0);
          right: 0.5rem; }
        .cs-dropdown-switcher__trigger:after {
          transform: rotate(-45deg) translate3d(0, 0, 0);
          right: 0; }
        .cs-dropdown-switcher__trigger.active:before {
          transform: rotate(-45deg); }
        .cs-dropdown-switcher__trigger.active:after {
          transform: rotate(45deg); } }
    .cs-dropdown-switcher__trigger.active {
      background: transparent;
      border-top-left-radius: 3px;
      border-top-right-radius: 3px;
      border: none;
      position: relative;
      width: 100%; }
      @media (max-width: 63.99em) {
        .cs-dropdown-switcher__trigger.active {
          padding: 2.4rem 2rem;
          border-style: none; } }
    .cs-dropdown-switcher__trigger-span {
      display: flex;
      align-items: center; }
  .cs-dropdown-switcher__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: none;
    list-style: none;
    font-size: 1.1rem;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    border-color: #f0f0f0;
    border-style: solid;
    border-width: 0 1px 1px;
    width: 100%; }
    @media (min-width: 64em) {
      .cs-dropdown-switcher__list {
        background: #ffffff;
        min-width: 100%; } }
    .cs-dropdown-switcher__list-item {
      margin: 0;
      white-space: nowrap; }
    .cs-dropdown-switcher__list-item-link {
      width: 100%;
      color: #212121 !important;
      display: flex;
      align-items: center; }
      .cs-dropdown-switcher__list-item-link:hover {
        background-color: #f0f0f0;
        text-decoration: none; }
      @media (max-width: 63.99em) {
        .cs-dropdown-switcher__list-item-link {
          padding: 1.4rem 2rem;
          font-size: 1.4rem; } }
      @media (min-width: 64em) {
        .cs-dropdown-switcher__list-item-link {
          padding: 0.6rem 1.8rem;
          font-size: 1.1rem; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/* stylelint-disable no-descending-specificity */
.cs-field,
.cs-input {
  font-size: 1.3rem;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  align-items: center;
  border: 0;
  padding: 0;
  margin: 0 0 10px;
  width: 100%; }
  .cs-field__control,
  .cs-input__control {
    width: 100%; }
  .cs-field__label,
  .cs-input__label {
    font-weight: 700;
    font-size: 0.85em;
    width: 100%;
    text-transform: none;
    color: inherit;
    margin: 0 0 3px 0; }
    .required .cs-field__label:after, .required
    .cs-input__label:after {
      content: ' *';
      color: #CC1C3A; }
  .cs-field__input, .cs-field__textarea,
  .cs-input__input,
  .cs-input__textarea {
    font-size: 1.3rem;
    line-height: 1.275em;
    padding: 11px 10px;
    color: #212121;
    background: #ffffff;
    border-radius: 3px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    transition: border-color 0.5s;
    margin: 0 0 0.2em;
    width: 100%;
    max-height: 40px;
    background-clip: padding-box;
    font-family: inherit; }
    .cs-field__input:hover:not([disabled]), .cs-field__input:focus:not([disabled]), .cs-field__textarea:hover:not([disabled]), .cs-field__textarea:focus:not([disabled]),
    .cs-input__input:hover:not([disabled]),
    .cs-input__input:focus:not([disabled]),
    .cs-input__textarea:hover:not([disabled]),
    .cs-input__textarea:focus:not([disabled]) {
      border: 1px solid #FF4604;
      box-shadow: none; }
    .cs-field__input::-moz-placeholder, .cs-field__textarea::-moz-placeholder, .cs-input__input::-moz-placeholder, .cs-input__textarea::-moz-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-field__input:-ms-input-placeholder, .cs-field__textarea:-ms-input-placeholder, .cs-input__input:-ms-input-placeholder, .cs-input__textarea:-ms-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-field__input::-ms-input-placeholder, .cs-field__textarea::-ms-input-placeholder, .cs-input__input::-ms-input-placeholder, .cs-input__textarea::-ms-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-field__input::placeholder, .cs-field__textarea::placeholder,
    .cs-input__input::placeholder,
    .cs-input__textarea::placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-field__input[disabled], .cs-field__textarea[disabled],
    .cs-input__input[disabled],
    .cs-input__textarea[disabled] {
      opacity: 0.65; }
    .cs-field__input.mage-error, .cs-field__input.mage-error:hover:not(:focus), .cs-field__textarea.mage-error, .cs-field__textarea.mage-error:hover:not(:focus),
    .cs-input__input.mage-error,
    .cs-input__input.mage-error:hover:not(:focus),
    .cs-input__textarea.mage-error,
    .cs-input__textarea.mage-error:hover:not(:focus) {
      border: 1px solid #CC1C3A; }
  .cs-field__select,
  .cs-input__select {
    display: block;
    font-size: 1.3rem;
    line-height: 1.275em;
    padding: 11px 10px;
    padding-right: 2.3em;
    color: #212121;
    border-radius: 3px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 0.2em;
    outline: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: #ffffff;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23dcdcdc'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%);
    background-repeat: no-repeat, repeat;
    background-position: right 0.8em top 52%, 0 0;
    background-size: 0.7em auto, 100%;
    transition: border-color 0.5s; }
    .cs-field__select:-moz-focusring, .cs-field__select::-moz-focus-inner,
    .cs-input__select:-moz-focusring,
    .cs-input__select::-moz-focus-inner {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .cs-field__select::-ms-expand,
    .cs-input__select::-ms-expand {
      display: none; }
    .cs-field__select:hover:not([disabled]), .cs-field__select:focus:not([disabled]),
    .cs-input__select:hover:not([disabled]),
    .cs-input__select:focus:not([disabled]) {
      border: 1px solid #FF4604;
      box-shadow: none;
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23FF4604'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%); }
      .ie11 .cs-field__select:hover:not([disabled]), .ie11 .cs-field__select:focus:not([disabled]), .ie11
      .cs-input__select:hover:not([disabled]), .ie11
      .cs-input__select:focus:not([disabled]) {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23FF4604'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"); }
    .cs-field__select[disabled],
    .cs-input__select[disabled] {
      opacity: 0.65; }
    .cs-field__select option,
    .cs-input__select option {
      font-weight: 500;
      padding: 0;
      color: initial; }
    .ie11 .cs-field__select, .ie11
    .cs-input__select {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23dcdcdc'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e");
      background-size: 0.7em 0.7em, 100%; }
  .cs-field__radio,
  .cs-input__radio {
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0;
    font-size: 1.6rem;
    overflow: hidden;
    vertical-align: middle;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    flex: 0 0 auto;
    cursor: pointer;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 1em 1em;
    outline: 0;
    border-radius: 50%;
    transition: background-color 0.5s, border-color 0.5s; }
    .cs-field__radio::-ms-check,
    .cs-input__radio::-ms-check {
      color: transparent;
      border: 1px solid #dcdcdc;
      box-shadow: none;
      background-repeat: no-repeat;
      background-position: 50% 50%;
      background-size: 1em 1em;
      outline: 0;
      border-radius: 50%;
      -ms-transition: background-color 0.5s, border-color 0.5s;
      transition: background-color 0.5s, border-color 0.5s;
      background-color: transparent; }
    .cs-field__radio::-moz-focus-inner, .cs-field__radio:-moz-focusring,
    .cs-input__radio::-moz-focus-inner,
    .cs-input__radio:-moz-focusring {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .cs-field__radio:hover:not([disabled]), .cs-field__radio:focus:not([disabled]),
    .cs-input__radio:hover:not([disabled]),
    .cs-input__radio:focus:not([disabled]) {
      border: 1px solid #FF7442;
      box-shadow: none;
      background-color: transparent; }
    .cs-field__radio:checked,
    .cs-input__radio:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%23FF4604' r='4' cy='7' cx='7'/%3e%3c/svg%3e"); }
      .cs-field__radio:checked::-ms-check,
      .cs-input__radio:checked::-ms-check {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%23FF4604' r='4' cy='6.5' cx='6.5'/%3e%3c/svg%3e"); }
      .cs-field__radio:checked, .cs-field__radio:checked:hover, .cs-field__radio:checked:focus,
      .cs-input__radio:checked,
      .cs-input__radio:checked:hover,
      .cs-input__radio:checked:focus {
        font-size: 0;
        border: 6px solid #FF4604;
        background-color: transparent;
        box-shadow: none; }
    .cs-field__radio[disabled],
    .cs-field__radio[disabled] + .label,
    .cs-field__radio[disabled] + .cs-input__label,
    .cs-input__radio[disabled],
    .cs-input__radio[disabled] + .label,
    .cs-input__radio[disabled] + .cs-input__label {
      opacity: 0.65; }
  .cs-field__checkbox,
  .cs-input__checkbox {
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0;
    font-size: 1.6rem;
    overflow: hidden;
    vertical-align: middle;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    flex: 0 0 auto;
    cursor: pointer;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 1em 1em;
    outline: 0;
    border-radius: 50%;
    transition: background-color 0.5s, border-color 0.5s;
    border-radius: 0;
    background-size: 1em 1em;
    margin-right: 15px; }
    .cs-field__checkbox::-ms-check,
    .cs-input__checkbox::-ms-check {
      color: transparent;
      border: 1px solid #dcdcdc;
      box-shadow: none;
      background-repeat: no-repeat;
      background-position: 50% 50%;
      background-size: 1em 1em;
      outline: 0;
      border-radius: 50%;
      -ms-transition: background-color 0.5s, border-color 0.5s;
      transition: background-color 0.5s, border-color 0.5s;
      background-color: transparent; }
    .cs-field__checkbox::-moz-focus-inner, .cs-field__checkbox:-moz-focusring,
    .cs-input__checkbox::-moz-focus-inner,
    .cs-input__checkbox:-moz-focusring {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .cs-field__checkbox:hover:not([disabled]), .cs-field__checkbox:focus:not([disabled]),
    .cs-input__checkbox:hover:not([disabled]),
    .cs-input__checkbox:focus:not([disabled]) {
      border: 1px solid #FF7442;
      box-shadow: none;
      background-color: transparent; }
    .cs-field__checkbox:checked,
    .cs-input__checkbox:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%23FF4604' r='4' cy='7' cx='7'/%3e%3c/svg%3e"); }
      .cs-field__checkbox:checked::-ms-check,
      .cs-input__checkbox:checked::-ms-check {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%23FF4604' r='4' cy='6.5' cx='6.5'/%3e%3c/svg%3e"); }
      .cs-field__checkbox:checked, .cs-field__checkbox:checked:hover, .cs-field__checkbox:checked:focus,
      .cs-input__checkbox:checked,
      .cs-input__checkbox:checked:hover,
      .cs-input__checkbox:checked:focus {
        font-size: 0;
        border: 6px solid #FF4604;
        background-color: transparent;
        box-shadow: none; }
    .cs-field__checkbox[disabled],
    .cs-field__checkbox[disabled] + .label,
    .cs-field__checkbox[disabled] + .cs-input__label,
    .cs-input__checkbox[disabled],
    .cs-input__checkbox[disabled] + .label,
    .cs-input__checkbox[disabled] + .cs-input__label {
      opacity: 0.65; }
    .cs-field__checkbox::-ms-check,
    .cs-input__checkbox::-ms-check {
      color: transparent;
      border-radius: 0;
      background-size: 1em 1em; }
    .cs-field__checkbox:hover,
    .cs-input__checkbox:hover {
      border: 1px solid #FF4604; }
    .cs-field__checkbox:checked,
    .cs-input__checkbox:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='%23FF4604' d='M5.313 10.108H5.24a1.064 1.005 0 0 1-.75-.41l-1.947-2.55a1.064 1.005 0 0 1 1.723-1.175L5.463 7.56 9.06 4.19a1.064 1.005 0 0 1 .75-.297h.846a1.064 1.005 0 0 1 0 2.004h-.45L6.064 9.81a1.064 1.005 0 0 1-.75.298z'/%3e%3c/svg%3e");
      border: 1px solid #FF4604;
      font-size: 16px; }
      .cs-field__checkbox:checked::-ms-check,
      .cs-input__checkbox:checked::-ms-check {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='%23FF4604' d='M5.313 10.108H5.24a1.064 1.005 0 0 1-.75-.41l-1.947-2.55a1.064 1.005 0 0 1 1.723-1.175L5.463 7.56 9.06 4.19a1.064 1.005 0 0 1 .75-.297h.846a1.064 1.005 0 0 1 0 2.004h-.45L6.064 9.81a1.064 1.005 0 0 1-.75.298z'/%3e%3c/svg%3e"); }
      .cs-field__checkbox:checked:focus, .cs-field__checkbox:checked:hover,
      .cs-input__checkbox:checked:focus,
      .cs-input__checkbox:checked:hover {
        font-size: 16px;
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='%23FF4604' d='M5.313 10.108H5.24a1.064 1.005 0 0 1-.75-.41l-1.947-2.55a1.064 1.005 0 0 1 1.723-1.175L5.463 7.56 9.06 4.19a1.064 1.005 0 0 1 .75-.297h.846a1.064 1.005 0 0 1 0 2.004h-.45L6.064 9.81a1.064 1.005 0 0 1-.75.298z'/%3e%3c/svg%3e");
        border: 1px solid #FF4604; }
    .cs-field__checkbox.mage-error, .cs-field__checkbox.mage-error:hover:not(:focus),
    .cs-input__checkbox.mage-error,
    .cs-input__checkbox.mage-error:hover:not(:focus) {
      border: 1px solid #CC1C3A; }
  .cs-field__icon,
  .cs-input__icon {
    position: absolute;
    width: 1.3em;
    height: 1.3em;
    right: 0.8em;
    top: 0.8em;
    display: none; }
  .cs-field__note,
  .cs-input__note {
    display: block;
    font-size: 0.85em;
    padding: 0.3em 0 0;
    color: #696969; }
  .cs-field__error,
  .cs-input__error {
    display: block;
    font-size: 0.85em;
    padding: 0.3em 0 0;
    color: #696969;
    color: #CC1C3A; }

.field {
  font-size: 1.3rem;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  align-items: center;
  border: 0;
  padding: 0;
  margin: 0 0 10px;
  width: 100%; }
  .field.note {
    font-size: 1.6rem;
    letter-spacing: 0.5px; }
  .field._success:not(._warn) .control {
    position: relative; }
    .field._success:not(._warn) .control:after {
      position: absolute;
      width: 1.3em;
      height: 1.3em;
      right: 0.8em;
      top: 0.8em;
      display: none;
      background: url("../images/check-green.svg") no-repeat center center/contain;
      content: ''; }
  .field .control {
    width: 100%; }
    .field .control > textarea {
      font-size: 1.3rem;
      line-height: 1.275em;
      padding: 11px 10px;
      color: #212121;
      background: #ffffff;
      border-radius: 3px;
      border: 1px solid #dcdcdc;
      box-shadow: none;
      transition: border-color 0.5s;
      margin: 0 0 0.2em;
      width: 100%;
      max-height: 40px;
      background-clip: padding-box;
      font-family: inherit; }
      .field .control > textarea:hover:not([disabled]), .field .control > textarea:focus:not([disabled]) {
        border: 1px solid #FF4604;
        box-shadow: none; }
      .field .control > textarea::-moz-placeholder {
        opacity: 1;
        color: #6E6E6E; }
      .field .control > textarea:-ms-input-placeholder {
        opacity: 1;
        color: #6E6E6E; }
      .field .control > textarea::-ms-input-placeholder {
        opacity: 1;
        color: #6E6E6E; }
      .field .control > textarea::placeholder {
        opacity: 1;
        color: #6E6E6E; }
      .field .control > textarea[disabled] {
        opacity: 0.65; }
  .field .label {
    font-weight: 700;
    font-size: 0.85em;
    width: 100%;
    text-transform: none;
    color: inherit;
    margin: 0 0 3px 0; }
  .field.required > .label:after, .field._required > .label:after {
    content: ' *';
    color: #CC1C3A; }
  .field.required ._required > .label:after {
    display: none; }
  .field .input-text {
    font-size: 1.3rem;
    line-height: 1.275em;
    padding: 11px 10px;
    color: #212121;
    background: #ffffff;
    border-radius: 3px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    transition: border-color 0.5s;
    margin: 0 0 0.2em;
    width: 100%;
    max-height: 40px;
    background-clip: padding-box;
    font-family: inherit; }
    .field .input-text:hover:not([disabled]), .field .input-text:focus:not([disabled]) {
      border: 1px solid #FF4604;
      box-shadow: none; }
    .field .input-text::-moz-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .field .input-text:-ms-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .field .input-text::-ms-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .field .input-text::placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .field .input-text[disabled] {
      opacity: 0.65; }
    .field .input-text.mage-error, .field .input-text.mage-error:hover:not(:focus) {
      border: 1px solid #CC1C3A; }
    .field .input-text.required-entry {
      margin-bottom: 1rem; }
  .field .select {
    display: block;
    font-size: 1.3rem;
    line-height: 1.275em;
    padding: 11px 10px;
    padding-right: 2.3em;
    color: #212121;
    border-radius: 3px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 0.2em;
    outline: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: #ffffff;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23dcdcdc'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%);
    background-repeat: no-repeat, repeat;
    background-position: right 0.8em top 52%, 0 0;
    background-size: 0.7em auto, 100%;
    transition: border-color 0.5s; }
    .field .select:-moz-focusring, .field .select::-moz-focus-inner {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .field .select::-ms-expand {
      display: none; }
    .field .select:hover:not([disabled]), .field .select:focus:not([disabled]) {
      border: 1px solid #FF4604;
      box-shadow: none;
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23FF4604'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%); }
      .ie11 .field .select:hover:not([disabled]), .ie11 .field .select:focus:not([disabled]) {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23FF4604'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"); }
    .field .select[disabled] {
      opacity: 0.65; }
    .field .select option {
      font-weight: 500;
      padding: 0;
      color: initial; }
    .ie11 .field .select {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23dcdcdc'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e");
      background-size: 0.7em 0.7em, 100%; }
  .field .checkbox {
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0;
    font-size: 1.6rem;
    overflow: hidden;
    vertical-align: middle;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    flex: 0 0 auto;
    cursor: pointer;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 1em 1em;
    outline: 0;
    border-radius: 50%;
    transition: background-color 0.5s, border-color 0.5s;
    border-radius: 0;
    background-size: 1em 1em;
    margin-right: 15px; }
    .field .checkbox::-ms-check {
      color: transparent;
      border: 1px solid #dcdcdc;
      box-shadow: none;
      background-repeat: no-repeat;
      background-position: 50% 50%;
      background-size: 1em 1em;
      outline: 0;
      border-radius: 50%;
      -ms-transition: background-color 0.5s, border-color 0.5s;
      transition: background-color 0.5s, border-color 0.5s;
      background-color: transparent; }
    .field .checkbox::-moz-focus-inner, .field .checkbox:-moz-focusring {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .field .checkbox:hover:not([disabled]), .field .checkbox:focus:not([disabled]) {
      border: 1px solid #FF7442;
      box-shadow: none;
      background-color: transparent; }
    .field .checkbox:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%23FF4604' r='4' cy='7' cx='7'/%3e%3c/svg%3e"); }
      .field .checkbox:checked::-ms-check {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%23FF4604' r='4' cy='6.5' cx='6.5'/%3e%3c/svg%3e"); }
      .field .checkbox:checked, .field .checkbox:checked:hover, .field .checkbox:checked:focus {
        font-size: 0;
        border: 6px solid #FF4604;
        background-color: transparent;
        box-shadow: none; }
    .field .checkbox[disabled],
    .field .checkbox[disabled] + .label,
    .field .checkbox[disabled] + .cs-input__label {
      opacity: 0.65; }
    .field .checkbox::-ms-check {
      color: transparent;
      border-radius: 0;
      background-size: 1em 1em; }
    .field .checkbox:hover {
      border: 1px solid #FF4604; }
    .field .checkbox:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='%23FF4604' d='M5.313 10.108H5.24a1.064 1.005 0 0 1-.75-.41l-1.947-2.55a1.064 1.005 0 0 1 1.723-1.175L5.463 7.56 9.06 4.19a1.064 1.005 0 0 1 .75-.297h.846a1.064 1.005 0 0 1 0 2.004h-.45L6.064 9.81a1.064 1.005 0 0 1-.75.298z'/%3e%3c/svg%3e");
      border: 1px solid #FF4604;
      font-size: 16px; }
      .field .checkbox:checked::-ms-check {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='%23FF4604' d='M5.313 10.108H5.24a1.064 1.005 0 0 1-.75-.41l-1.947-2.55a1.064 1.005 0 0 1 1.723-1.175L5.463 7.56 9.06 4.19a1.064 1.005 0 0 1 .75-.297h.846a1.064 1.005 0 0 1 0 2.004h-.45L6.064 9.81a1.064 1.005 0 0 1-.75.298z'/%3e%3c/svg%3e"); }
      .field .checkbox:checked:focus, .field .checkbox:checked:hover {
        font-size: 16px;
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='%23FF4604' d='M5.313 10.108H5.24a1.064 1.005 0 0 1-.75-.41l-1.947-2.55a1.064 1.005 0 0 1 1.723-1.175L5.463 7.56 9.06 4.19a1.064 1.005 0 0 1 .75-.297h.846a1.064 1.005 0 0 1 0 2.004h-.45L6.064 9.81a1.064 1.005 0 0 1-.75.298z'/%3e%3c/svg%3e");
        border: 1px solid #FF4604; }
    .field .checkbox.mage-error, .field .checkbox.mage-error:hover:not(:focus) {
      border: 1px solid #CC1C3A; }
  .field .radio {
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0;
    font-size: 1.6rem;
    overflow: hidden;
    vertical-align: middle;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    flex: 0 0 auto;
    cursor: pointer;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 1em 1em;
    outline: 0;
    border-radius: 50%;
    transition: background-color 0.5s, border-color 0.5s; }
    .field .radio::-ms-check {
      color: transparent;
      border: 1px solid #dcdcdc;
      box-shadow: none;
      background-repeat: no-repeat;
      background-position: 50% 50%;
      background-size: 1em 1em;
      outline: 0;
      border-radius: 50%;
      -ms-transition: background-color 0.5s, border-color 0.5s;
      transition: background-color 0.5s, border-color 0.5s;
      background-color: transparent; }
    .field .radio::-moz-focus-inner, .field .radio:-moz-focusring {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .field .radio:hover:not([disabled]), .field .radio:focus:not([disabled]) {
      border: 1px solid #FF7442;
      box-shadow: none;
      background-color: transparent; }
    .field .radio:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%23FF4604' r='4' cy='7' cx='7'/%3e%3c/svg%3e"); }
      .field .radio:checked::-ms-check {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='14' height='14' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle fill='%23FF4604' r='4' cy='6.5' cx='6.5'/%3e%3c/svg%3e"); }
      .field .radio:checked, .field .radio:checked:hover, .field .radio:checked:focus {
        font-size: 0;
        border: 6px solid #FF4604;
        background-color: transparent;
        box-shadow: none; }
    .field .radio[disabled],
    .field .radio[disabled] + .label,
    .field .radio[disabled] + .cs-input__label {
      opacity: 0.65; }
  .field.choice {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center; }
    .field.choice label {
      margin: 0;
      flex: 1 1;
      font-weight: normal;
      font-size: 1.6rem; }
    .field.choice div.mage-error {
      width: 100%; }
    .field.choice input[type="radio"] + label {
      margin-left: 10px; }
  .field.customer-name-prefix select {
    display: block;
    font-size: 1.3rem;
    line-height: 1.275em;
    padding: 11px 10px;
    padding-right: 2.3em;
    color: #212121;
    border-radius: 3px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 0.2em;
    outline: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: #ffffff;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23dcdcdc'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%);
    background-repeat: no-repeat, repeat;
    background-position: right 0.8em top 52%, 0 0;
    background-size: 0.7em auto, 100%;
    transition: border-color 0.5s; }
    .field.customer-name-prefix select:-moz-focusring, .field.customer-name-prefix select::-moz-focus-inner {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .field.customer-name-prefix select::-ms-expand {
      display: none; }
    .field.customer-name-prefix select:hover:not([disabled]), .field.customer-name-prefix select:focus:not([disabled]) {
      border: 1px solid #FF4604;
      box-shadow: none;
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23FF4604'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%); }
      .ie11 .field.customer-name-prefix select:hover:not([disabled]), .ie11 .field.customer-name-prefix select:focus:not([disabled]) {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23FF4604'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"); }
    .field.customer-name-prefix select[disabled] {
      opacity: 0.65; }
    .field.customer-name-prefix select option {
      font-weight: 500;
      padding: 0;
      color: initial; }
    .ie11 .field.customer-name-prefix select {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23dcdcdc'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e");
      background-size: 0.7em 0.7em, 100%; }
  .field._error .input-text, .field._error .input-text:hover:not(:focus),
  .field._error .checkbox,
  .field._error .checkbox:hover:not(:focus) {
    border: 1px solid #CC1C3A; }
  .field .control._with-tooltip input {
    width: 100%;
    margin-right: 0; }
  .field .field-tooltip {
    position: static; }
    .field .field-tooltip .label,
    .field .field-tooltip .field-tooltip-action {
      display: none; }
    .field .field-tooltip .field-tooltip-content {
      position: static;
      background: none;
      border: none;
      display: block;
      font-size: 0.85em;
      padding: 0.3em 0 0;
      color: #696969; }
      .field .field-tooltip .field-tooltip-content:before, .field .field-tooltip .field-tooltip-content:after {
        display: none; }
  .field .note {
    display: block;
    font-size: 0.85em;
    padding: 0.3em 0 0;
    color: #696969; }

div.mage-error,
div.field-error {
  display: block;
  font-size: 0.85em;
  padding: 0.3em 0 0;
  color: #696969;
  color: #CC1C3A; }

.opc-wrapper .select-wrap,
.estimate .select-wrap {
  position: relative; }
  .opc-wrapper .select-wrap select,
  .estimate .select-wrap select {
    padding-right: 50px; }
  .opc-wrapper .select-wrap:after,
  .estimate .select-wrap:after {
    content: '';
    background-color: #000;
    display: inline-block;
    position: absolute;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    background-image: url("../images/icons/white-arrow.svg");
    width: 44px;
    height: 40px;
    background-repeat: no-repeat;
    background-size: 15px;
    background-position: center;
    top: 0;
    right: 0;
    cursor: pointer;
    pointer-events: none; }

small.required-fields {
  display: block;
  text-align: right;
  font-size: 1.2rem;
  color: #6E6E6E; }
  small.required-fields span {
    color: #CC1C3A; }

/* stylelint-enable */

/**
 * Footer component customization.
 * @see /Magento_Theme/templates/footer/columns.phtml for templates.
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-footer {
  font-size: 1rem;
  color: #ffffff;
  background: #000 url("../images/footer-bg-image.jpg") no-repeat;
  background-size: cover;
  overflow: hidden;
  padding: 0 0 2rem; }
  @media (min-width: 48em) {
    .cs-footer {
      background-position-x: 41vw;
      padding: 0 1.5rem; } }
  .cs-footer__content {
    padding: 0; }
    @media (min-width: 48em) {
      .cs-footer__content {
        display: flex;
        flex-wrap: wrap;
        padding-top: 3.2rem;
        padding-bottom: 2.5rem; } }
    @media (min-width: 64em) {
      .cs-footer__content {
        flex-wrap: nowrap; } }
  @media (min-width: 64em) {
    .cs-footer__item {
      flex: 1 1; } }
  .cs-footer__item--promo {
    flex-basis: 100%; }
    @media (max-width: 47.99em) {
      .cs-footer__item--promo {
        display: none; } }
    @media (max-width: 63.99em) {
      .cs-footer__item--promo {
        margin-bottom: 1.5rem; } }
    @media (min-width: 64em) {
      .cs-footer__item--promo {
        flex-basis: auto;
        flex-grow: 1; } }
  @media (min-width: 48em) {
    .cs-footer__item--links {
      display: flex;
      flex-basis: auto;
      flex-grow: 1; } }
  @media (max-width: 47.99em) {
    .cs-footer__item--links {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      background: #000;
      padding: 20px 10px 30px; }
      .cs-footer__item--links .cs-footer__section {
        flex: 1 1 50%;
        padding-left: 15px; } }
  @media (min-width: 48em) {
    .cs-footer__item--extras {
      display: flex;
      justify-content: flex-end;
      flex-basis: 25%;
      flex-grow: 1.4; } }
  @media (max-width: 48em) {
    .cs-footer__item--extras {
      padding: 17px 20px 10px; } }
  @media (min-width: 48em) {
    .cs-footer__section {
      flex: 1 1; } }
  .cs-footer__section--newsletter {
    display: flex;
    flex-direction: column; }
    .cs-footer__section--newsletter .top-links__phone-icon {
      order: 1;
      letter-spacing: 1px;
      background: url(../images/icons/telephone66.svg) no-repeat;
      background-size: 19px;
      background-position: left 12px;
      font-size: 24px;
      font-weight: bold;
      text-transform: uppercase;
      color: #ffffff;
      line-height: 28px;
      padding: 8px 0 0 28px; }
      @media (max-width: 40em) {
        .cs-footer__section--newsletter .top-links__phone-icon {
          font-size: 18px;
          background-size: 16px;
          background-position: left 13px; } }
    .cs-footer__section--newsletter .cs-footer__section-title {
      order: 2; }
    .cs-footer__section--newsletter .cs-newsletter {
      order: 3; }
      .cs-footer__section--newsletter .cs-newsletter p {
        font-size: 1.6rem; }
        @media (max-width: 40em) {
          .cs-footer__section--newsletter .cs-newsletter p {
            font-size: 1.2rem; } }
    @media (min-width: 48em) {
      .cs-footer__section--newsletter {
        flex-grow: 2;
        max-width: 615px; } }
  @media (min-width: 64em) {
    .cs-footer__section--socials {
      margin-top: 4rem; } }
  @media (min-width: 64em) {
    .cs-footer__section--stores-switcher {
      margin-top: 4rem;
      max-width: 20rem; } }
  .cs-footer__section-title,
  .cs-footer [data-role='title'] {
    font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1.6rem;
    color: #212121;
    font-weight: 700;
    text-transform: uppercase;
    margin: 1rem 0 2rem;
    position: relative;
    margin: 25px 0 0;
    padding: 2em 1.5rem 0.7em;
    color: #ffffff;
    font-size: 1.4rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    padding-left: 0;
    padding-top: 0;
    padding-right: 0; }
    @media (max-width: 47.99em) {
      .cs-footer__section-title,
      .cs-footer [data-role='title'] {
        border-top: none; }
        .cs-footer__section[data-mage-init] .cs-footer__section-title,
        .cs-footer__section[data-collapsible] .cs-footer__section-title, .cs-footer__section[data-mage-init]
        .cs-footer [data-role='title'],
        .cs-footer__section[data-collapsible]
        .cs-footer [data-role='title'] {
          cursor: pointer;
          position: relative; }
          .cs-footer__section[data-mage-init] .cs-footer__section-title:before, .cs-footer__section[data-mage-init] .cs-footer__section-title:after,
          .cs-footer__section[data-collapsible] .cs-footer__section-title:before,
          .cs-footer__section[data-collapsible] .cs-footer__section-title:after, .cs-footer__section[data-mage-init]
          .cs-footer [data-role='title']:before, .cs-footer__section[data-mage-init]
          .cs-footer [data-role='title']:after,
          .cs-footer__section[data-collapsible]
          .cs-footer [data-role='title']:before,
          .cs-footer__section[data-collapsible]
          .cs-footer [data-role='title']:after {
            content: '';
            position: absolute;
            top: 50%;
            width: 1.2rem;
            height: 0.2rem;
            left: auto;
            background-color: #6E6E6E;
            transition: transform 0.3s ease-out, opacity 0.15s ease-out, background-color 0.15s linear;
            -webkit-backface-visibility: hidden;
                    backface-visibility: hidden; }
          .cs-footer__section[data-mage-init] .cs-footer__section-title:before, .cs-footer__section[data-mage-init] .cs-footer__section-title:after,
          .cs-footer__section[data-collapsible] .cs-footer__section-title:before,
          .cs-footer__section[data-collapsible] .cs-footer__section-title:after, .cs-footer__section[data-mage-init]
          .cs-footer [data-role='title']:before, .cs-footer__section[data-mage-init]
          .cs-footer [data-role='title']:after,
          .cs-footer__section[data-collapsible]
          .cs-footer [data-role='title']:before,
          .cs-footer__section[data-collapsible]
          .cs-footer [data-role='title']:after {
            right: 1.5rem;
            transform: translate3d(0, -50%, 0) !important; }
          .cs-footer__section[data-mage-init] .cs-footer__section-title:after,
          .cs-footer__section[data-collapsible] .cs-footer__section-title:after, .cs-footer__section[data-mage-init]
          .cs-footer [data-role='title']:after,
          .cs-footer__section[data-collapsible]
          .cs-footer [data-role='title']:after {
            transform: translate3d(0, -50%, 0) rotate(90deg) !important; }
          .cs-footer__section[data-mage-init] .cs-footer__section-title[aria-expanded="true"]:before,
          .cs-footer__section[data-collapsible] .cs-footer__section-title[aria-expanded="true"]:before, .cs-footer__section[data-mage-init]
          .cs-footer [data-role='title'][aria-expanded="true"]:before,
          .cs-footer__section[data-collapsible]
          .cs-footer [data-role='title'][aria-expanded="true"]:before {
            transform: translate3d(0, -50%, 0) rotate(-90deg) !important;
            opacity: 0; }
          .cs-footer__section[data-mage-init] .cs-footer__section-title[aria-expanded="true"]:after,
          .cs-footer__section[data-collapsible] .cs-footer__section-title[aria-expanded="true"]:after, .cs-footer__section[data-mage-init]
          .cs-footer [data-role='title'][aria-expanded="true"]:after,
          .cs-footer__section[data-collapsible]
          .cs-footer [data-role='title'][aria-expanded="true"]:after {
            transform: translate3d(0, -50%, 0) rotate(0) !important; }
        .cs-footer__section--socials .cs-footer__section-title, .cs-footer__section--socials
        .cs-footer [data-role='title'] {
          border: 0;
          clip: rect(0 0 0 0);
          height: 1px;
          margin: -1px;
          overflow: hidden;
          padding: 0;
          position: absolute;
          width: 1px;
          white-space: nowrap;
          /* 1 */ } }
    @media (max-width: 40em) {
      .cs-footer__section-title,
      .cs-footer [data-role='title'] {
        font-size: 1.2rem;
        margin: 20px 0 0; } }
  .cs-footer__section-content,
  .cs-footer [data-role='content'] {
    padding: 0 1.5rem 1.5rem;
    font-size: 1.2em;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0; }
    @media (max-width: 47.99em) {
      .cs-footer__section[data-mage-init] .cs-footer__section-content,
      .cs-footer__section[data-collapsible] .cs-footer__section-content, .cs-footer__section[data-mage-init]
      .cs-footer [data-role='content'],
      .cs-footer__section[data-collapsible]
      .cs-footer [data-role='content'] {
        display: none; } }
  .cs-footer__shop-logo {
    display: block;
    width: 13.5em;
    height: 2.3em;
    min-width: 13.5em;
    max-width: 100%;
    max-height: 100%; }

.cs-container--footer {
  max-width: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
.cs-footer-links {
  margin: 0;
  padding: 0;
  list-style: none; }
  .cs-footer-links-header {
    font-size: 14px;
    color: #ffffff;
    letter-spacing: 0.5px; }
    @media (max-width: 40em) {
      .cs-footer-links-header {
        font-size: 12px; } }
  .cs-footer-links__item {
    margin: 0;
    font-size: 14px;
    font-weight: normal;
    color: #ffffff; }
    @media (max-width: 40em) {
      .cs-footer-links__item {
        font-size: 12px;
        font-weight: normal;
        margin-bottom: 1px; } }
  .cs-footer-links a,
  .cs-footer-links a:visited {
    display: block;
    padding: 0 0 4px;
    font-size: 14px;
    color: #ffffff;
    font-weight: normal; }
    @media (max-width: 40em) {
      .cs-footer-links a,
      .cs-footer-links a:visited {
        font-size: 12px; } }
    .cs-footer-links a:hover,
    .cs-footer-links a:visited:hover {
      color: #ffffff;
      text-decoration: underline; }
    @media (min-width: 48em) {
      .cs-footer-links a,
      .cs-footer-links a:visited {
        padding: 0 0 4px;
        display: inline-block; } }

/*
 * Fair warning: Don't mix units while using 'utils/poly-fluid-sizing' feature.
 * If you use rems, stick to rems everywhere in the area of whole map, or else the mixin will throw an error
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Using psuedo elements to maintain an elements aspect ratio, even as it scales
 * It's using only for IE11 and Edge (version which doesn't support native CSS grid) browsers
 * For browsers which support native CSS grid, we are using mixins contain `reset` in mixin name
 * to override default mixins (progressive enhancement)
 * https://css-tricks.com/snippets/sass/maintain-aspect-ratio-mixin/
 * @param {number} $width: width of the element;
 * @param {number} $height: height of the element;
 * @param {string} $contentClass: class of the direct child element to be positioned absolutely;
 * @param {boolean} $autoposition: tells if item shall take 100% of parent size or if it can be wider/higher if needed;
 */
/**
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L179
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-grid-layout {
  position: relative;
  width: 100%; }
  .cs-grid-layout__grid {
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none; }
    .cs-grid-layout__grid:after {
      content: '';
      display: table;
      clear: both; }
  .cs-grid-layout__teaser {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
    .cs-grid-layout__teaser-content-wrapper {
      display: flex;
      width: 100%;
      height: 100%; }
    .cs-grid-layout__teaser-figure {
      position: relative;
      width: 100%;
      height: 100%; }
    .cs-grid-layout__teaser-image {
      min-width: 100%;
      min-height: 100%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate3d(-50%, -50%, 0); }
    .cs-grid-layout__teaser-content {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      display: flex;
      flex-direction: column;
      padding: 1.5rem;
      line-height: 1.15;
      /* Variants will be refactored after CC IT refactor due to new position options */ }
      .cs-grid-layout__teaser-content--variant-1 {
        justify-content: center;
        align-items: flex-start; }
      .cs-grid-layout__teaser-content--variant-2 {
        justify-content: flex-end;
        align-items: flex-start; }
      .cs-grid-layout__teaser-content--variant-3 {
        justify-content: center;
        align-items: center;
        text-align: center; }
      .cs-grid-layout__teaser-content--variant-4 {
        justify-content: flex-end;
        align-items: center;
        text-align: center; }
    .cs-grid-layout__teaser-content-inner {
      max-width: 100%; }
    .cs-grid-layout__teaser-headline {
      margin: 0 0 0.2em;
      color: #212121;
      font-weight: 600;
      text-transform: none;
      font-size: 1.8rem; }
      @media (min-width: 32rem) {
        .cs-grid-layout__teaser-headline {
          font-size: calc(1.08696vw + 1.45217rem); } }
      @media (min-width: 124rem) {
        .cs-grid-layout__teaser-headline {
          font-size: 2.8rem; } }
      .cs-grid-layout__brick--x2 .cs-grid-layout__teaser-headline {
        margin: 0 0 0.2em;
        font-size: 1.8rem; }
        @media (min-width: 32rem) {
          .cs-grid-layout__brick--x2 .cs-grid-layout__teaser-headline {
            font-size: calc(2.3913vw + 1.03478rem); } }
        @media (min-width: 124rem) {
          .cs-grid-layout__brick--x2 .cs-grid-layout__teaser-headline {
            font-size: 4rem; } }
      .cs-grid-layout__teaser--scheme-light .cs-grid-layout__teaser-headline {
        color: #ffffff; }
    .cs-grid-layout__teaser-subheadline {
      display: block;
      margin: 0 0 0.6em;
      color: #212121;
      font-weight: 400;
      text-transform: none;
      font-size: 1.6rem; }
      @media (min-width: 32rem) {
        .cs-grid-layout__teaser-subheadline {
          font-size: calc(0.21739vw + 1.53043rem); } }
      @media (min-width: 124rem) {
        .cs-grid-layout__teaser-subheadline {
          font-size: 1.8rem; } }
      .cs-grid-layout__brick--x2 .cs-grid-layout__teaser-subheadline {
        margin: 0 0 0.6em;
        font-size: 1.6rem; }
        @media (min-width: 32rem) {
          .cs-grid-layout__brick--x2 .cs-grid-layout__teaser-subheadline {
            font-size: calc(0.97826vw + 1.28696rem); } }
        @media (min-width: 124rem) {
          .cs-grid-layout__brick--x2 .cs-grid-layout__teaser-subheadline {
            font-size: 2.5rem; } }
      .cs-grid-layout__teaser--scheme-light .cs-grid-layout__teaser-subheadline {
        color: #ffffff; }
    .cs-grid-layout__teaser-text {
      margin: 0 0 1em;
      color: #212121;
      font-weight: 400;
      text-transform: none;
      font-size: 1.3rem; }
      @media (min-width: 32rem) {
        .cs-grid-layout__teaser-text {
          font-size: calc(0.1087vw + 1.26522rem); } }
      @media (min-width: 124rem) {
        .cs-grid-layout__teaser-text {
          font-size: 1.4rem; } }
      .cs-grid-layout__brick--x2 .cs-grid-layout__teaser-text {
        margin: 0 0 1em;
        font-size: 1.3rem; }
        @media (min-width: 32rem) {
          .cs-grid-layout__brick--x2 .cs-grid-layout__teaser-text {
            font-size: calc(0.32609vw + 1.19565rem); } }
        @media (min-width: 124rem) {
          .cs-grid-layout__brick--x2 .cs-grid-layout__teaser-text {
            font-size: 1.6rem; } }
      .cs-grid-layout__teaser--scheme-light .cs-grid-layout__teaser-text {
        color: #ffffff; }
    .cs-grid-layout__teaser-cta-button {
      display: inline-block;
      font-size: 1.4rem;
      font-weight: 700;
      text-align: center;
      position: relative;
      line-height: 1.275em;
      margin: 0;
      text-transform: uppercase;
      border-radius: 25px;
      font-family: "Red Hat Display";
      padding: 8px 25px;
      font-size: 1.2rem;
      box-sizing: border-box;
      transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
      vertical-align: middle;
      z-index: 5;
      will-change: transform, background-color, border-color, fill, color; }
      .cs-grid-layout__teaser-cta-button.medium {
        padding: 11px 25px;
        font-size: 1.4rem; }
      .cs-grid-layout__teaser-cta-button.large {
        padding: 13px 25px;
        font-size: 1.6rem; }
      .cs-grid-layout__teaser-cta-button::-moz-focus-inner {
        border: 0;
        padding: 0;
        margin: 0; }
      .cs-grid-layout__teaser-cta-button, .cs-grid-layout__teaser-cta-button:visited {
        cursor: pointer;
        border-radius: 25px;
        outline-offset: 1px;
        text-decoration: none;
        box-shadow: none;
        border: 1px solid transparent;
        color: #ffffff;
        background-color: #FF4604; }
        .cs-grid-layout__teaser-cta-button *, .cs-grid-layout__teaser-cta-button:visited * {
          color: #ffffff;
          fill: #ffffff; }
      .cs-grid-layout__teaser-cta-button:hover:not([disabled]), .cs-grid-layout__teaser-cta-button:focus:not([disabled]), .cs-grid-layout__teaser-cta-button:active:not([disabled]) {
        box-shadow: none;
        outline: none;
        text-decoration: none;
        border: 1px solid transparent;
        color: #ffffff;
        background-color: #FF7442; }
        .cs-grid-layout__teaser-cta-button:hover:not([disabled]) *, .cs-grid-layout__teaser-cta-button:focus:not([disabled]) *, .cs-grid-layout__teaser-cta-button:active:not([disabled]) * {
          color: #ffffff;
          fill: #ffffff; }
      .cs-grid-layout__teaser-cta-button[disabled] {
        opacity: 0.65;
        cursor: auto; }
      .cs-grid-layout__teaser-cta-button-span {
        margin-top: 0;
        z-index: 1;
        font-weight: 700;
        vertical-align: baseline;
        display: inline-block;
        line-height: 1.275em;
        letter-spacing: normal;
        padding-right: 4em; }
      .cs-grid-layout__teaser-cta-button-icon {
        max-width: 1em;
        max-height: 1.4rem;
        z-index: 2;
        height: auto;
        width: 100%;
        position: absolute;
        top: 50%;
        transform: translate3d(0, -50%, 0);
        margin-right: 0;
        right: 1em; }
  .cs-grid-layout__brick {
    width: 100%;
    margin: 0;
    padding: 0;
    float: left;
    position: relative; }
    .cs-grid-layout__brick:before {
      display: block;
      content: '';
      width: 100%;
      padding-top: 170%; }
    .cs-grid-layout__brick .cs-product-tile {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
    @media (min-width: 30em) {
      .cs-grid-layout__brick {
        width: calc(100% / 2); }
        .cs-grid-layout__brick--x2 {
          width: calc(100% / 2 * 2); } }
    @media (min-width: 40em) {
      .cs-grid-layout__brick {
        width: calc(100% / 2); }
        .cs-grid-layout__brick--x2 {
          width: calc(100% / 2 * 2); } }
    @media (min-width: 48em) {
      .cs-grid-layout__brick {
        width: calc(100% / 3); }
        .cs-grid-layout__brick--x2 {
          width: calc(100% / 3 * 2); } }
    @media (min-width: 64em) {
      .cs-grid-layout__brick {
        width: calc(100% / 5); }
        .cs-grid-layout__brick--x2 {
          width: calc(100% / 5 * 2); } }
    @media (min-width: 80em) {
      .cs-grid-layout__brick {
        width: calc(100% / 5); }
        .cs-grid-layout__brick--x2 {
          width: calc(100% / 5 * 2); } }
    @media (min-width: 90em) {
      .cs-grid-layout__brick {
        width: calc(100% / 5); }
        .cs-grid-layout__brick--x2 {
          width: calc(100% / 5 * 2); } }
    @media (min-width: 120em) {
      .cs-grid-layout__brick {
        width: calc(100% / 5); }
        .cs-grid-layout__brick--x2 {
          width: calc(100% / 5 * 2); } }
    .cs-grid-layout__brick--x2:not(.cs-grid-layout__brick--y2):before {
      padding-top: 85%; }
    @media (max-width: 39.99em) {
      .cs-grid-layout__brick--x2:not(.cs-grid-layout__brick--y2).cs-grid-layout__brick--teaser:before {
        padding-top: 0; } }
    .cs-grid-layout__brick--y2.cs-grid-layout__brick--left {
      float: left; }
    .cs-grid-layout__brick--y2:not(.cs-grid-layout__brick--x2):before {
      padding-top: 340%; }
    @media (max-width: 39.99em) {
      .cs-grid-layout__brick--y2.cs-grid-layout__brick--teaser:before {
        padding-top: 0; } }
    .cs-grid-layout__brick--right {
      float: right; }
    .cs-grid-layout__brick--hidden {
      display: none !important; }
    .cs-grid-layout__brick--teaser {
      display: none; }
      @media (max-width: 39.99em) {
        .cs-grid-layout__brick--teaser:before {
          padding-top: 0; } }
      .cs-grid-layout__brick--teaser-ready {
        display: block; }
  @media (min-width: 30em) {
    .cs-grid-layout--with-sidebar .cs-grid-layout__brick {
      width: calc(100% / 2); }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        width: calc(100% / 2 * 2); } }
  @media (min-width: 40em) {
    .cs-grid-layout--with-sidebar .cs-grid-layout__brick {
      width: calc(100% / 2); }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        width: calc(100% / 2 * 2); } }
  @media (min-width: 48em) {
    .cs-grid-layout--with-sidebar .cs-grid-layout__brick {
      width: calc(100% / 2); }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        width: calc(100% / 2 * 2); } }
  @media (min-width: 64em) {
    .cs-grid-layout--with-sidebar .cs-grid-layout__brick {
      width: calc(100% / 3); }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        width: calc(100% / 3 * 2); } }
  @media (min-width: 80em) {
    .cs-grid-layout--with-sidebar .cs-grid-layout__brick {
      width: calc(100% / 3); }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        width: calc(100% / 3 * 2); } }
  @media (min-width: 90em) {
    .cs-grid-layout--with-sidebar .cs-grid-layout__brick {
      width: calc(100% / 3); }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        width: calc(100% / 3 * 2); } }
  @media (min-width: 120em) {
    .cs-grid-layout--with-sidebar .cs-grid-layout__brick {
      width: calc(100% / 3); }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        width: calc(100% / 3 * 2); } }
  @supports (display: grid) and (grid-auto-flow: row) {
    .cs-grid-layout__grid {
      display: grid;
      grid-template-columns: 1fr;
      grid-template-rows: auto; }
      @media (max-width: 39.99em) {
        .cs-grid-layout__grid {
          grid-template-columns: repeat(2, 1fr); } }
      @media (min-width: 30em) {
        .cs-grid-layout__grid {
          grid-template-columns: repeat(2, 1fr); } }
      @media (min-width: 40em) {
        .cs-grid-layout__grid {
          grid-template-columns: repeat(2, 1fr); } }
      @media (min-width: 48em) {
        .cs-grid-layout__grid {
          grid-template-columns: repeat(3, 1fr); } }
      @media (min-width: 64em) {
        .cs-grid-layout__grid {
          grid-template-columns: repeat(5, 1fr); } }
      @media (min-width: 80em) {
        .cs-grid-layout__grid {
          grid-template-columns: repeat(5, 1fr); } }
      @media (min-width: 90em) {
        .cs-grid-layout__grid {
          grid-template-columns: repeat(5, 1fr); } }
      @media (min-width: 120em) {
        .cs-grid-layout__grid {
          grid-template-columns: repeat(5, 1fr); } }
      @media (min-width: 30em) {
        .cs-grid-layout--with-sidebar .cs-grid-layout__grid {
          grid-template-columns: repeat(2, 1fr); } }
      @media (min-width: 40em) {
        .cs-grid-layout--with-sidebar .cs-grid-layout__grid {
          grid-template-columns: repeat(2, 1fr); } }
      @media (min-width: 48em) {
        .cs-grid-layout--with-sidebar .cs-grid-layout__grid {
          grid-template-columns: repeat(2, 1fr); } }
      @media (min-width: 64em) {
        .cs-grid-layout--with-sidebar .cs-grid-layout__grid {
          grid-template-columns: repeat(3, 1fr); } }
      @media (min-width: 80em) {
        .cs-grid-layout--with-sidebar .cs-grid-layout__grid {
          grid-template-columns: repeat(3, 1fr); } }
      @media (min-width: 90em) {
        .cs-grid-layout--with-sidebar .cs-grid-layout__grid {
          grid-template-columns: repeat(3, 1fr); } }
      @media (min-width: 120em) {
        .cs-grid-layout--with-sidebar .cs-grid-layout__grid {
          grid-template-columns: repeat(3, 1fr); } }
      .cs-grid-layout__grid:after {
        display: none; }
    .cs-grid-layout__brick {
      position: relative; }
      .cs-grid-layout__brick:before {
        content: none; }
      .cs-grid-layout__brick .cs-product-tile {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto; }
      @media (min-width: 30em) {
        .cs-grid-layout__brick--x2 {
          grid-column-end: span 2; }
        .cs-grid-layout__brick--y2 {
          grid-row-end: span 2; } }
      @media (min-width: 40em) {
        .cs-grid-layout__brick--x2 {
          grid-column-end: span 2; }
        .cs-grid-layout__brick--y2 {
          grid-row-end: span 2; } }
      @media (min-width: 48em) {
        .cs-grid-layout__brick--x2 {
          grid-column-end: span 2; }
        .cs-grid-layout__brick--y2 {
          grid-row-end: span 2; } }
      @media (min-width: 64em) {
        .cs-grid-layout__brick--x2 {
          grid-column-end: span 2; }
        .cs-grid-layout__brick--y2 {
          grid-row-end: span 2; } }
      @media (min-width: 80em) {
        .cs-grid-layout__brick--x2 {
          grid-column-end: span 2; }
        .cs-grid-layout__brick--y2 {
          grid-row-end: span 2; } }
      @media (min-width: 90em) {
        .cs-grid-layout__brick--x2 {
          grid-column-end: span 2; }
        .cs-grid-layout__brick--y2 {
          grid-row-end: span 2; } }
      @media (min-width: 120em) {
        .cs-grid-layout__brick--x2 {
          grid-column-end: span 2; }
        .cs-grid-layout__brick--y2 {
          grid-row-end: span 2; } }
      @media (min-width: 30em) {
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; } }
      @media (min-width: 40em) {
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; } }
      @media (min-width: 48em) {
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; }
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick--x2 .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; } }
      @media (min-width: 64em) {
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; }
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick--x2 .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; } }
      @media (min-width: 80em) {
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; }
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick--x2 .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; } }
      @media (min-width: 90em) {
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; }
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick--x2 .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; } }
      @media (min-width: 120em) {
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; }
        .cs-grid-layout:not(.cs-grid-layout--with-sidebar) .cs-grid-layout__brick--x2 .cs-image-teaser__aspect-ratio {
          padding-top: unset !important; } }
      .cs-grid-layout__brick--x2:not(.cs-grid-layout__brick--y2):before {
        padding-top: 0; }
      .cs-grid-layout__brick--y2:not(.cs-grid-layout__brick--x2):before {
        padding-top: 0; }
      .cs-grid-layout__brick, .cs-grid-layout__brick--teaser-ready {
        width: 100% !important;
        display: block; }
      @media (max-width: 29.99em) {
        .cs-grid-layout__brick--teaser-ready {
          grid-column-start: 1 !important; } }
      .cs-grid-layout__brick--right {
        float: none; }
    @media (min-width: 30em) {
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        grid-column-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--y2 {
        grid-row-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
        padding-top: unset !important; } }
    @media (min-width: 40em) {
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        grid-column-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--y2 {
        grid-row-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
        padding-top: unset !important; } }
    @media (min-width: 48em) {
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        grid-column-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--y2 {
        grid-row-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
        padding-top: unset !important; } }
    @media (min-width: 64em) {
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        grid-column-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--y2 {
        grid-row-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
        padding-top: unset !important; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 .cs-image-teaser__aspect-ratio {
        padding-top: unset !important; } }
    @media (min-width: 80em) {
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        grid-column-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--y2 {
        grid-row-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
        padding-top: unset !important; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 .cs-image-teaser__aspect-ratio {
        padding-top: unset !important; } }
    @media (min-width: 90em) {
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        grid-column-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--y2 {
        grid-row-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
        padding-top: unset !important; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 .cs-image-teaser__aspect-ratio {
        padding-top: unset !important; } }
    @media (min-width: 120em) {
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 {
        grid-column-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--y2 {
        grid-row-end: span 2; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick:not(.cs-grid-layout__brick--x2) .cs-image-teaser__aspect-ratio {
        padding-top: unset !important; }
      .cs-grid-layout--with-sidebar .cs-grid-layout__brick--x2 .cs-image-teaser__aspect-ratio {
        padding-top: unset !important; } } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-headline {
  font-size: 1rem;
  clear: both;
  padding: 2em 0;
  margin: 2em 0;
  margin: 0;
  padding: 0;
  margin: 0 0 3rem; }
  @media (min-width: 48em) {
    .cs-headline {
      margin: 0 0 4rem; } }
  .cs-headline--skip-spacing {
    margin: 0; }
  .cs-headline__title {
    display: block;
    text-align: center;
    align-items: center;
    margin: 0;
    font-size: 2.6em;
    font-weight: 700;
    color: #212121;
    text-transform: none; }
    @media (min-width: 48em) {
      .cs-headline__title {
        display: flex; } }
  .cs-headline__subtitle {
    color: #6E6E6E;
    font-size: 1.3em;
    font-weight: 400;
    text-transform: none;
    margin: 0;
    display: none;
    text-align: center; }
    @media (min-width: 48em) {
      .cs-headline__subtitle {
        display: block; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Mixins for flexible containers declaration.
 */
/**
 * Defines page container. This mixin makes sure that the content has always equal padding
 * for mobile screens on both size of the device.
 */
/**
 * Negates parent container's padding and sets it own.
 * Somethimes this has to be done to make background even to other containers' content.
 */
/**
 * Defines container wrapper that makes sure contnet doesn't extend above certain width and is always centered.
 */
.cs-container--header-container {
  background: url("../images/header-bg-image.jpg") no-repeat;
  background-position: center;
  background-size: cover; }

.cs-container--top-bar, .cs-container--header {
  max-width: 1420px;
  margin: 0 auto;
  padding: 0 15px; }
  @media (max-width: 63.99em) {
    .cs-container--top-bar, .cs-container--header {
      padding: 0; } }

.cs-container__navigation-inner {
  max-width: 1440px;
  margin: 0 auto; }

.cs-header {
  font-size: 1rem; }
  @media (max-width: 63.99em) {
    .cs-header {
      padding-bottom: 6px;
      margin-bottom: 71px; } }
  .cs-header__content {
    z-index: 300;
    display: flex;
    align-items: center;
    justify-content: space-between;
    will-change: z-index, height, position;
    background-color: transparent;
    position: relative;
    max-width: 100vw;
    flex-wrap: nowrap; }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-header__content {
    padding: 0 8px; } }
    @media (max-width: 48em) {
      .cs-header__content .cs-header__offcanvas-toggle {
        order: 1; }
      .cs-header__content .cs-header__logo {
        order: 2; }
      .cs-header__content .cs-header-user-nav {
        order: 3; } }
  .cs-header__offcanvas-toggle {
    height: 100%;
    flex: 0 1 55px; }
    @media (min-width: 48em) {
      .cs-header__offcanvas-toggle {
        flex: 0 1 75px; }
        .cs-header__offcanvas-toggle .cs-offcanvas-toggle {
          width: 55px; } }
    @media (min-width: 64em) {
      .cs-header__offcanvas-toggle {
        display: none; } }
  .cs-header__logo {
    display: flex;
    margin-bottom: 0;
    padding: 0;
    margin-top: 0; }
    @media (max-width: 63.99em) {
      .cs-header__logo {
        align-items: center;
        justify-content: center; } }
    @media (min-width: 64em) {
      .cs-header__logo {
        padding: 0;
        margin-top: -13px;
        max-width: 260px;
        width: 25vw; } }
    @media (max-width: 63.99em) {
      .cs-header__logo .cs-logo {
        max-width: 195px;
        margin-top: 0; } }
    @media (max-width: 47.99em) {
      .cs-header__logo .cs-logo {
        max-width: 150px;
        margin-top: 10px; } }
    .page-print .cs-header__logo {
      max-width: 124rem;
      width: 100%;
      margin: 0 auto;
      position: relative;
      height: auto;
      padding: 2rem 0; }
      .page-print .cs-header__logo:after {
        content: '';
        display: table;
        clear: both; }
    .cs-header__logo .cs-logo__image {
      height: auto;
      width: 100%; }
      @media (min-width: 64.01em) {
        .cs-header__logo .cs-logo__image {
          margin-top: 10px; } }
  .cs-header__search {
    display: block;
    width: 100%;
    background-color: #6E6E6E;
    padding: 1.6rem 1.5rem;
    position: absolute;
    top: 60px;
    left: 0;
    right: 0;
    z-index: 300;
    margin-right: -6.8rem; }
    @media (min-width: 48em) {
      .cs-header__search {
        top: 64px; } }
    @media (min-width: 64em) {
      .cs-header__search {
        flex-grow: 1;
        width: auto;
        padding: 0 55px 0 50px;
        position: initial;
        margin-left: 0 !important;
        justify-content: flex-end;
        background: transparent; }
        .ie11 .cs-header__search {
          position: inherit;
          top: inherit; } }
    .cs-header__search--active {
      display: flex; }
    @media (min-width: 64em) {
      .cs-header__search {
        display: flex; } }
    @media (min-width: 64em) {
      .cs-header__search {
        position: relative;
        top: initial; } }
    @media (min-width: 64em) {
      .cs-header__search {
        margin: 0; } }
  .cs-header__user-nav {
    display: flex;
    justify-content: flex-end;
    flex: 0 1 75px; }
    @media (min-width: 64em) {
      .cs-header__user-nav {
        flex: 0 1 25%; } }
  .cs-header .top-links__phone-icon {
    letter-spacing: 0.4px;
    background: url("../images/icons/telephone66.svg") no-repeat;
    background-size: 18px;
    background-position: left 49%;
    font-size: 23px;
    font-weight: bold;
    text-transform: uppercase;
    color: #ffffff;
    line-height: 28px;
    padding: 20px 22px 20px 25px; }
    @media (max-width: 63.99em) {
      .cs-header .top-links__phone-icon {
        display: none; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-header-search {
  width: 100%;
  position: relative; }
  .cs-header-search .filler {
    display: inline-block;
    width: 2px;
    height: 10px;
    background-color: transparent; }
  @media (min-width: 64em) {
    .cs-header-search {
      max-width: 605px; } }
  @media (min-width: 64em) {
    .cs-header-search {
      width: 100%;
      min-width: 35vw; } }
  .cs-header-search__field {
    position: relative;
    border-radius: 25px; }
    .active-popup .cs-header-search__field:before, .active-popup .cs-header-search__field:after {
      opacity: 1; }
  .cs-header-search__input {
    font-size: 1.3rem;
    line-height: 1.275em;
    padding: 11px 10px;
    color: #212121;
    background: #ffffff;
    border-radius: 3px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    transition: border-color 0.5s;
    margin: 0 0 0.2em;
    width: 100%;
    max-height: 40px;
    background-clip: padding-box;
    font-family: inherit;
    padding: 1.2rem 1rem;
    background-image: url("../images/icons/search19.svg");
    background-repeat: no-repeat;
    background-size: 15px;
    background-position: 20px center;
    font-size: 1.2rem;
    border-radius: 25px;
    position: relative;
    z-index: 210;
    margin: 0;
    padding-left: 43px;
    padding-right: 110px;
    -webkit-appearance: none; }
    .cs-header-search__input:hover:not([disabled]), .cs-header-search__input:focus:not([disabled]) {
      border: 1px solid #FF4604;
      box-shadow: none; }
    .cs-header-search__input::-moz-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-header-search__input:-ms-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-header-search__input::-ms-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-header-search__input::placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-header-search__input[disabled] {
      opacity: 0.65; }
    .ajax-loading .cs-header-search__input:focus + .cs-header-search__action .cs-header-search__button-container--search {
      transform: translateX(100%);
      opacity: 0; }
    .ajax-loading .cs-header-search__input:focus + .cs-header-search__action .cs-header-search__button-container--loader {
      transform: translateX(0);
      opacity: 1; }
  .cs-header-search__action {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 220;
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top-right-radius: 25px;
    border-bottom-right-radius: 25px; }
  .cs-header-search__close-icon {
    width: 1.5rem;
    height: 1.5rem;
    margin-right: 1rem;
    display: none;
    opacity: 0.6;
    transition: opacity 0.3s linear; }
    .cs-header-search__close-icon:hover {
      cursor: pointer;
      opacity: 1; }
    .cs-header-search__close-icon path {
      fill: #3E3E3E; }
  .cs-header-search__close-label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .cs-header-search__button-container {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    transition: transform 0.5s cubic-bezier(0, 0.66, 0.32, 0.99), opacity 0.15s linear; }
    .cs-header-search__button-container--search {
      transform: translateX(0); }
    .cs-header-search__button-container--loader {
      transform: translateX(100%); }
  .cs-header-search__button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    width: 105px;
    height: 100%;
    overflow: hidden;
    position: relative;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    border-radius: 0 !important;
    border-bottom-right-radius: 25px;
    border-top-right-radius: 25px;
    padding-right: 20px; }
    .cs-header-search__button.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-header-search__button.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-header-search__button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-header-search__button, .cs-header-search__button:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF4604; }
      .cs-header-search__button *, .cs-header-search__button:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-header-search__button:hover:not([disabled]), .cs-header-search__button:focus:not([disabled]), .cs-header-search__button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .cs-header-search__button:hover:not([disabled]) *, .cs-header-search__button:focus:not([disabled]) *, .cs-header-search__button:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-header-search__button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-header-search__button[disabled] {
      opacity: 0.7; }
  .cs-header-search__button-icon {
    transform: skew(18deg) translateX(-0.3rem); }
    .cs-header-search__button-icon--search {
      display: none; }
    .cs-header-search__button-icon--loader {
      stroke: #ffffff;
      width: 3.2rem;
      height: 3.2rem; }
  .cs-header-search__button-label {
    text-transform: uppercase;
    font-size: 13px;
    margin-left: -4px; }
  .cs-header-search__autocomplete {
    width: 100vw;
    left: 0;
    right: 0; }
    .cs-header-search__autocomplete .old-price {
      margin-right: 10px; }
    @media (max-width: 47.99em) {
      .cs-header-search__autocomplete {
        max-height: calc( 100vh - 5rem - 1.275em - 7rem);
        overflow-y: auto; } }
    @media (min-width: 64em) {
      .cs-header-search__autocomplete {
        margin-top: 0;
        left: 50%;
        transform: translateX(-50%);
        box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.17);
        border: 0;
        width: 100%; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-header-user-nav {
  list-style: none;
  margin: 0;
  padding: 0;
  height: 100%; }
  @media (min-width: 64em) {
    .cs-header-user-nav {
      padding: 0 18px 0 0;
      min-width: 360px; } }
  .cs-header-user-nav__item {
    margin-bottom: 0;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0; }
    .cs-header-user-nav__item--search {
      display: none; }
  .cs-header-user-nav__link {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 0; }
    @media (min-width: 64em) {
      .cs-header-user-nav__link {
        padding: 17px 0 20px 20px; } }
    .cs-header-user-nav__link:hover {
      text-decoration: none; }
      .cs-header-user-nav__link:hover .cs-header-user-nav__icon path {
        fill: #FF4604; }
      .cs-header-user-nav__link:hover .cs-header-user-nav__label {
        color: #FF4604; }
    .cs-header-user-nav__link--search:hover {
      cursor: pointer; }
    @media (max-width: 63.99em) {
      .cs-header-user-nav__link.showcart {
        padding-right: 18px; }
        .cs-header-user-nav__link.showcart .cs-header-user-nav__label {
          font-size: 0; }
          .cs-header-user-nav__link.showcart .cs-header-user-nav__label > span {
            font-size: 1.2rem; } }
    @media (max-width: 47.99em) {
      .cs-header-user-nav__link.showcart {
        padding-right: 15px; } }
  .cs-header-user-nav__icon-wrapper {
    position: relative; }
  .cs-header-user-nav__icon {
    width: 2.6rem;
    height: 2.6rem;
    display: block;
    margin: 0 auto; }
    .cs-header-user-nav__icon path {
      fill: #FF4604; }
  .cs-header-user-nav__label {
    text-transform: uppercase;
    font-size: 15px;
    font-weight: 600;
    margin: 4px 0 0 12px;
    color: #ffffff;
    text-decoration: none;
    display: block;
    vertical-align: middle; }
    @media (max-width: 63.99em) {
      .cs-header-user-nav__label {
        margin: 4px 0 0 6px; } }
  .cs-header-user-nav__qty-counter--wishlist {
    color: #ffffff; }
  .cs-header-user-nav__qty-counter--minicart {
    color: #ffffff; }
  .cs-header-user-nav__qty-counter--have-items {
    opacity: 1; }
  .cs-header-user-nav__qty-counter-span {
    min-width: 1ch; }

.cs-topbar__wrapper .cs-header-user-nav__link {
  padding: 0;
  margin: 0; }

.cs-topbar__wrapper .cs-header-user-nav__icon-wrapper {
  background-color: #ffffff;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  border-radius: 25px;
  margin-top: 10px;
  padding: 0 15px; }
  @media (min-width: 64em) {
    .cs-topbar__wrapper .cs-header-user-nav__icon-wrapper {
      margin-top: 14px; } }

.cs-topbar__wrapper .cs-header-user-nav__label {
  color: #000;
  font-size: 13px;
  text-transform: uppercase;
  line-height: 24px;
  font-weight: bold;
  margin: 1px 0 1px 7px; }
  @media (min-width: 64em) {
    .cs-topbar__wrapper .cs-header-user-nav__label {
      margin: 3px 0 2px 10px; } }

.cs-topbar__wrapper .cs-header-user-nav__icon {
  width: 15px;
  height: 17px;
  display: block;
  margin: 0 auto; }
  .cs-topbar__wrapper .cs-header-user-nav__icon path {
    fill: #000; }

.lazyload,
.lazyloading,
.swiper-lazy {
  opacity: 0.001; }

.lazyloaded,
.swiper-lazy-loaded {
  opacity: 1;
  transition: opacity 0.2s; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-links-block-addto {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%; }
  .page-product-bundle .cs-links-block-addto {
    margin-top: 1rem; }
  .cs-product-tile__addon .cs-links-block-addto {
    padding-top: 0; }
  .cs-links-block-addto--centered {
    justify-content: center; }
  .cs-links-block-addto__item {
    margin: 0; }
    .cs-links-block-addto__item + .cs-links-block-addto__item {
      margin-top: 0.5rem; }
    .cs-links-block-addto__item:nth-child(2n) {
      text-align: right; }
      .cs-links-block-addto__item:nth-child(2n) .cs-links-block-addto__icon {
        order: 2;
        margin-left: 0.5rem; }
  .cs-links-block-addto__link {
    display: flex;
    align-items: center;
    font-size: 1.2rem;
    color: #FF7442;
    transition: color 0.15s linear; }
    .cs-links-block-addto__link:hover {
      color: #FF7442;
      text-decoration: none; }
  .cs-links-block-addto__icon {
    width: 1.375em;
    height: 1.375em;
    margin-right: 0.4rem; }
    .cs-links-block-addto__icon path {
      fill: #6E6E6E; }
    .cs-links-block-addto__icon--wishlist path {
      fill: #CC1C3A; }
    .cs-links-block-addto__icon--compare path {
      fill: #FF4604; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-logo {
  height: 100%; }
  .cs-logo__image {
    height: 100%; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.messages {
  max-width: 124rem;
  width: 100%;
  margin: 0 auto; }

.cs-messages__message,
.message {
  margin: 1rem 0;
  padding: 1rem 1rem 1.2rem;
  border-radius: 0;
  background-repeat: no-repeat;
  background-position: 1.5rem center;
  background-size: 1.5rem 1.5rem;
  padding-left: 4.3rem; }

.cs-messages__message--success,
.message.success {
  background-color: transparent;
  background-image: url("../images/messages/success.svg");
  border: 1.5px solid #A9C546;
  background-size: 1.9rem 1.9rem; }
  .cs-messages__message--success .cs-messages__text,
  .cs-messages__message--success span,
  .message.success .cs-messages__text,
  .message.success span {
    color: #A9C546; }

.cs-messages__message--notice,
.message.warning {
  background-color: transparent;
  background-image: url("../images/messages/warning.svg");
  border: 1.5px solid #FF7442;
  background-position: 1.6rem center;
  background-size: 1.6rem 1.6rem; }
  .cs-messages__message--notice .cs-messages__text,
  .cs-messages__message--notice span,
  .message.warning .cs-messages__text,
  .message.warning span {
    color: #FF7442; }

.cs-messages__message--info,
.message.info,
.message.notice {
  background-color: transparent;
  background-image: url("../images/messages/info.svg");
  border: 1.5px solid #4A90E2;
  background-position: 1.6rem center;
  background-size: 1.5rem 1.5rem; }
  .cs-messages__message--info .cs-messages__text,
  .cs-messages__message--info span,
  .message.info .cs-messages__text,
  .message.info span,
  .message.notice .cs-messages__text,
  .message.notice span {
    color: #4A90E2; }

.cs-messages__message--error,
.message.error {
  background-color: transparent;
  background-image: url("../images/messages/remove.svg");
  border: 1.5px solid #CC1C3A; }
  .cs-messages__message--error .cs-messages__text,
  .cs-messages__message--error span,
  .message.error .cs-messages__text,
  .message.error span {
    color: #CC1C3A; }

.cs-messages__text,
.message span {
  font-size: 1.6rem; }
  @media (max-width: 48em) {
    .cs-messages__text,
    .message span {
      line-height: 20px; } }

.cs-messages--space-top {
  margin-top: 1.5rem; }

.increment-notification {
  margin-top: 15px;
  display: inline-block;
  line-height: 20px;
  max-width: 100%;
  width: 100%;
  background-position: 1.6rem 1.2rem !important; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/* prettier-ignore */
.cs-minicart__close {
  display: inline-block;
  background: none;
  box-sizing: content-box;
  border: 0;
  box-shadow: none;
  line-height: inherit;
  margin: 0;
  padding: 0;
  text-decoration: none;
  text-shadow: none;
  font-weight: 400;
  position: absolute;
  right: -1.5rem;
  width: 5rem;
  height: 3rem;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer; }
  .cs-minicart__close:focus, .cs-minicart__close:active, .cs-minicart__close:hover {
    background: transparent;
    border: none;
    color: inherit; }
  .cs-minicart__close:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 5rem;
    line-height: 3rem;
    color: inherit;
    content: '\e616';
    /* stylelint-disable-next-line */
    font-family: 'icons-blank-theme';
    margin: 0;
    vertical-align: top;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center; }

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

.cs-minicart__title-wrapper {
  position: relative;
  padding: 2rem 0;
  display: flex;
  color: #212121;
  font-weight: 700;
  font-size: 1.8rem;
  margin: 0; }

.cs-minicart__items-total {
  margin-left: 0.5rem; }
  .cs-minicart__items-total:before {
    content: '('; }
  .cs-minicart__items-total:after {
    content: ')'; }

.cs-minicart__edit-link {
  font-weight: 700; }
  .cs-minicart__edit-link .cs-link__icon {
    padding: 0 0 0 1rem; }

.cs-minicart__content {
  height: auto !important;
  background-color: #ffffff;
  position: relative; }
  .cs-minicart__content .load.indicator:before {
    height: unset; }

.cs-minicart__list {
  padding: 0;
  list-style: none;
  margin-bottom: 0; }
  .cs-minicart__list--scroll {
    height: auto !important;
    max-height: calc(100vh - 36rem);
    overflow-y: auto; }
    @media (min-width: 48em) {
      .cs-minicart__list--scroll {
        max-height: calc(100vh - 38rem); }
        .is-tablet .cs-minicart__list--scroll {
          max-height: calc(100vh - 43rem); } }

.cs-minicart__list-item {
  padding: 1.5rem 0;
  border-bottom: 1px solid #dcdcdc;
  margin-bottom: 0; }
  .cs-minicart__list-item:last-child {
    border-bottom: none; }

.cs-minicart__actions-wrapper {
  padding: 2rem 0;
  position: relative; }

.cs-minicart__actions {
  margin-top: 1rem; }
  .cs-minicart__actions:first-child {
    margin-top: 0; }
  .cs-minicart__actions .viewcart:visited {
    color: #FF7442; }

.cs-minicart__empty {
  padding: 2rem 0;
  display: inline-block;
  font-size: 1.4rem;
  text-align: center; }

.cs-minicart__subtotal {
  font-weight: 700;
  font-size: 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.2rem; }

.cs-minicart__subtotal-price .price {
  font-weight: 700;
  font-size: 1.5rem !important; }

.cs-minicart__button-checkout {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color;
  padding: 13px 14px;
  width: 100%; }
  .cs-minicart__button-checkout.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  .cs-minicart__button-checkout.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  .cs-minicart__button-checkout::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-minicart__button-checkout, .cs-minicart__button-checkout:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #4A90E2;
    border-radius: 25px;
    font-size: 1.6rem;
    position: relative; }
    .cs-minicart__button-checkout span, .cs-minicart__button-checkout:visited span {
      position: relative;
      z-index: 3; }
    .cs-minicart__button-checkout:before, .cs-minicart__button-checkout:visited:before {
      background-color: #4A90E2;
      border: 1px solid #4A90E2;
      height: 100%;
      content: '';
      display: block;
      width: 100%;
      position: absolute;
      top: 0;
      left: 0;
      border-radius: 25px;
      z-index: 2; }
    .cs-minicart__button-checkout:after, .cs-minicart__button-checkout:visited:after {
      background-color: #4980C1;
      height: 100%;
      content: '';
      display: block;
      width: 100%;
      position: absolute;
      top: 4px;
      left: 0;
      border-radius: 25px;
      z-index: 1; }
    .cs-minicart__button-checkout *, .cs-minicart__button-checkout:visited * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-minicart__button-checkout:hover:not([disabled]), .cs-minicart__button-checkout:focus:not([disabled]), .cs-minicart__button-checkout:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #4980C1; }
    .cs-minicart__button-checkout:hover:not([disabled]):after, .cs-minicart__button-checkout:focus:not([disabled]):after, .cs-minicart__button-checkout:active:not([disabled]):after {
      top: 2px; }
    .cs-minicart__button-checkout:hover:not([disabled]):before, .cs-minicart__button-checkout:focus:not([disabled]):before, .cs-minicart__button-checkout:active:not([disabled]):before {
      border: 1px solid #4980C1;
      background-color: #4980C1; }
    .cs-minicart__button-checkout:hover:not([disabled]) *, .cs-minicart__button-checkout:focus:not([disabled]) *, .cs-minicart__button-checkout:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-minicart__button-checkout[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .cs-minicart__button-checkout-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    /* stylelint-disable-next-line */ }
  .cs-minicart__button-checkout-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    display: none;
    /* stylelint-disable-next-line */ }

.cs-minicart__button-viewcart {
  border: none;
  text-align: center;
  width: 100%;
  text-transform: uppercase;
  font-weight: bold;
  display: block;
  font-size: 12px;
  margin-top: 20px;
  color: #000; }
  .cs-minicart__button-viewcart-icon {
    display: none; }
  .cs-minicart__button-viewcart:hover, .cs-minicart__button-viewcart:active {
    color: #000;
    text-decoration: underline; }

.cs-minicart__button-carousel {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color; }
  .cs-minicart__button-carousel-wrapper {
    display: flex;
    justify-content: center;
    padding-top: 3rem;
    margin: 3rem 0;
    border-top: 1px solid #dcdcdc; }
  .cs-minicart__button-carousel.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  .cs-minicart__button-carousel.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  .cs-minicart__button-carousel::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-minicart__button-carousel, .cs-minicart__button-carousel:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #000; }
    .cs-minicart__button-carousel *, .cs-minicart__button-carousel:visited * {
      color: #ffffff;
      fill: #FF4604; }
  .cs-minicart__button-carousel:hover:not([disabled]), .cs-minicart__button-carousel:focus:not([disabled]), .cs-minicart__button-carousel:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #3E3E3E; }
    .cs-minicart__button-carousel:hover:not([disabled]) *, .cs-minicart__button-carousel:focus:not([disabled]) *, .cs-minicart__button-carousel:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-minicart__button-carousel[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .cs-minicart__button-carousel-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    padding-right: 4em;
    /* stylelint-disable-next-line */ }
  .cs-minicart__button-carousel-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-right: 0;
    right: 1em;
    /* stylelint-disable-next-line */ }

.cs-minicart__messages {
  padding: 0 2rem; }

.cs-minicart-offcanvas__wrapper {
  padding: 0; }

.cs-minicart__carousel-spinner {
  display: none; }

.minicart-wrapper .ui-dialog {
  position: absolute;
  top: 100%;
  right: 0.5rem;
  z-index: 99999; }
  @media (min-width: 64em) {
    .minicart-wrapper .ui-dialog {
      right: -1rem; } }
  @media (min-width: 80em) {
    .minicart-wrapper .ui-dialog {
      top: calc( 100% - ( ( 11rem - 8.3rem ) / 2 )); } }

.minicart-wrapper .block-minicart {
  background: #ffffff;
  box-shadow: 0 0 21px 0 rgba(0, 0, 0, 0.27);
  border: none;
  width: 31rem;
  right: 0;
  margin: 0;
  padding: 0 2rem;
  position: relative; }
  @media (min-width: 40em) {
    .minicart-wrapper .block-minicart {
      width: 40rem; } }
  .minicart-wrapper .block-minicart:before {
    display: none; }
  .minicart-wrapper .block-minicart:after {
    content: '';
    position: absolute;
    width: 1.5rem;
    height: 1.5rem;
    background: #ffffff;
    transform: rotate(45deg);
    top: -0.8rem;
    right: 1.5rem;
    left: auto; }
    @media (min-width: 64em) {
      .minicart-wrapper .block-minicart:after {
        right: 4.5rem; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
.cs-minicart-product {
  display: flex; }
  .cs-minicart-product__image-container {
    flex-shrink: 0;
    margin-right: 1rem; }
    .cs-minicart-product__image-container img {
      width: auto !important;
      height: auto !important; }
  .cs-minicart-product__image {
    max-height: 100%;
    width: auto; }
  .cs-minicart-product__overview {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline; }
  .cs-minicart-product__details {
    width: 100%; }
  .cs-minicart-product__brand-wrapper {
    text-align: left; }
  .cs-minicart-product__brand {
    font-size: 1.2rem;
    color: #3E3E3E; }
  .cs-minicart-product__name-wrapper {
    flex-basis: 55%;
    padding-bottom: 1.2rem;
    text-align: left;
    font-size: 1.3rem; }
    @media (min-width: 40em) {
      .cs-minicart-product__name-wrapper {
        flex-basis: 70%; } }
  .cs-minicart-product__name {
    width: 100%;
    padding: 0;
    margin-top: 0;
    font-size: inherit;
    text-decoration: none;
    color: #212121;
    font-weight: 600; }
    .cs-minicart-product__name:visited, .cs-minicart-product__name:hover {
      text-decoration: none;
      color: #212121; }
  .cs-minicart-product__price .price {
    font-size: 1.3rem;
    font-weight: 700;
    color: #212121; }
  .cs-minicart-product__price-label, .cs-minicart-product__options-subtitle {
    display: none; }
  .cs-minicart-product__options-title {
    font-size: 1.2rem;
    color: #484848;
    cursor: pointer; }
    .cs-minicart-product__options-title[aria-expanded='true'] > .cs-minicart-product__options-title-svg {
      transform: rotate(180deg);
      vertical-align: initial; }
  .cs-minicart-product__options-title-svg {
    width: 1rem;
    height: 1rem;
    margin-left: 0.5rem;
    transition: transform 0.3s cubic-bezier(0, 0.66, 0.32, 0.99);
    vertical-align: middle; }
  .cs-minicart-product__options-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    margin-top: -0.4rem;
    flex-basis: 100%; }
  .cs-minicart-product__options-group {
    margin: 0;
    width: 100%;
    display: flex;
    align-items: center; }
    .cs-minicart-product__options-group--qty {
      margin-top: 0.5rem; }
      .cs-minicart-product__options-wrapper + .cs-minicart-product__options-group--qty {
        margin-top: 1.5rem; }
  .cs-minicart-product__options-content {
    width: 100%; }
  .cs-minicart-product__options-label {
    font-size: 1.2rem;
    color: #3E3E3E;
    font-weight: 400;
    margin-bottom: 0;
    text-align: left;
    padding-right: 0.5rem; }
    .cs-minicart-product__options-label:after {
      content: ':'; }
  .cs-minicart-product__options-value {
    font-size: 1.2rem;
    color: #3E3E3E;
    margin-bottom: 0;
    width: 100%; }
    .cs-minicart-product__options-value__value {
      display: flex;
      justify-content: space-between;
      width: 100%; }
      .cs-minicart-product__options-value__value .price {
        color: #212121; }
  .cs-minicart-product__actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding-top: 1.2rem; }
  .cs-minicart-product__action-wrapper {
    margin-left: 1rem; }
  .cs-minicart-product__qty,
  .cs-minicart-product .cs-qty-increment {
    display: flex;
    flex: 1 0 9rem;
    flex-wrap: nowrap; }
  .cs-minicart-product__qty-label {
    display: none; }
  .cs-minicart-product__qty-input {
    font-size: 1.3rem;
    line-height: 1.275em;
    padding: 11px 10px;
    color: #212121;
    background: #ffffff;
    border-radius: 3px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    transition: border-color 0.5s;
    margin: 0 0 0.2em;
    width: 100%;
    max-height: 40px;
    background-clip: padding-box;
    font-family: inherit;
    padding: 0;
    text-align: center;
    box-sizing: border-box;
    margin-bottom: 0;
    height: 3rem;
    width: 4rem;
    max-width: 4rem;
    font-size: 1.2rem; }
    .cs-minicart-product__qty-input:hover:not([disabled]), .cs-minicart-product__qty-input:focus:not([disabled]) {
      border: 1px solid #FF4604;
      box-shadow: none; }
    .cs-minicart-product__qty-input::-moz-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-minicart-product__qty-input:-ms-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-minicart-product__qty-input::-ms-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-minicart-product__qty-input::placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-minicart-product__qty-input[disabled] {
      opacity: 0.65; }
  .cs-minicart-product__qty-button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    padding: 0;
    width: 3rem;
    height: 3rem;
    margin-left: 0.5rem; }
    .cs-minicart-product__qty-button.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-minicart-product__qty-button.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-minicart-product__qty-button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-minicart-product__qty-button, .cs-minicart-product__qty-button:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF4604; }
      .cs-minicart-product__qty-button *, .cs-minicart-product__qty-button:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-minicart-product__qty-button:hover:not([disabled]), .cs-minicart-product__qty-button:focus:not([disabled]), .cs-minicart-product__qty-button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .cs-minicart-product__qty-button:hover:not([disabled]) *, .cs-minicart-product__qty-button:focus:not([disabled]) *, .cs-minicart-product__qty-button:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-minicart-product__qty-button[disabled] {
      opacity: 0.65;
      cursor: auto; }
  .cs-minicart-product__qty-button-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal;
    display: none; }
  .cs-minicart-product__qty-button-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: relative;
    top: 0.1em; }
  .cs-minicart-product__action:hover .cs-minicart-product__options-title-svg *,
  .cs-minicart-product__action:hover .cs-minicart-product__action-icon *, .cs-minicart-product__options-title:hover .cs-minicart-product__options-title-svg *,
  .cs-minicart-product__options-title:hover .cs-minicart-product__action-icon * {
    fill: #000; }
  .cs-minicart-product__action-icon {
    width: 1.6rem;
    height: 1.6rem; }
  .cs-minicart-product__action-icon *, .cs-minicart-product__options-title-svg * {
    fill: #000; }
  .cs-minicart-product__action-label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-free-shipping-indicator__content {
  border-top: 1px solid #dcdcdc;
  padding: 1.5rem 2rem 2rem;
  color: #696969;
  font-size: 1.4rem;
  text-align: left; }

.cs-free-shipping-indicator__cell {
  padding-top: 1.4rem;
  padding-bottom: 1.4rem;
  padding-right: 0 !important; }

.cs-free-shipping-indicator__total-left-text span {
  font-weight: 700; }

.cs-free-shipping-indicator__total-fulfilled {
  padding-left: 2.8rem;
  background: url("../images/icons/messages/icon-success.svg") 0 50% no-repeat;
  background-size: 2rem; }

.cs-free-shipping-indicator__bar-wrapper {
  display: flex;
  align-items: center; }

.cs-free-shipping-indicator__bar-label {
  flex-shrink: 0;
  color: #A9C546;
  font-weight: 700; }
  .cs-free-shipping-indicator__bar-label--start {
    margin-right: 1rem; }
  .cs-free-shipping-indicator__bar-label--end {
    margin-left: 1rem; }

.cs-free-shipping-indicator__bar {
  width: 100%;
  height: 2rem;
  padding: 0.4rem;
  border: 1px solid #b0b0b0;
  border-radius: 4.2px; }

.cs-free-shipping-indicator__bar-progress-wrapper {
  height: 100%;
  background: transparent;
  border-radius: 3px; }

.cs-free-shipping-indicator__bar-progress {
  height: 100%;
  width: 0;
  background: #A9C546;
  border-radius: 3px;
  transition: width 0.55s cubic-bezier(0, 0.66, 0.32, 0.99); }

.cs-free-shipping-indicator__icon {
  flex-shrink: 0;
  width: 3.4rem;
  height: 2rem;
  margin: 0 0 0 2.5rem;
  fill: #6E6E6E;
  transition: fill 0.3s; }
  .cs-free-shipping-indicator__bar-wrapper--free-shipping-active .cs-free-shipping-indicator__icon {
    fill: #A9C546; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable no-descending-specificity */
.modal-slide.confirm .modal-inner-wrap,
.modal-popup.confirm .modal-inner-wrap,
.modal-custom.confirm .modal-inner-wrap {
  max-width: 50rem; }

.modal-slide .modal-inner-wrap,
.modal-popup .modal-inner-wrap,
.modal-custom .modal-inner-wrap {
  background: #ffffff;
  box-shadow: 1px 3px 3rem 0 rgba(33, 33, 33, 0.28);
  border-radius: 0;
  border: none; }

.modal-slide .modal-content,
.modal-popup .modal-content,
.modal-custom .modal-content {
  padding-top: 0;
  padding-bottom: 2rem;
  font-size: 1.6rem; }

.modal-slide .modal-header,
.modal-popup .modal-header,
.modal-custom .modal-header {
  padding: 0;
  margin: 0;
  min-height: 65px; }

.modal-slide .action-close,
.modal-popup .action-close,
.modal-custom .action-close {
  background: none;
  border: none;
  position: absolute;
  right: 0;
  top: 0;
  margin: 1.5rem;
  background-image: url("../images/icons/close.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 15px;
  width: 3rem;
  height: 3rem; }
  .ie11 .modal-slide .action-close, .ie11
  .modal-popup .action-close, .ie11
  .modal-custom .action-close {
    background-size: 10px 10px; }
  .modal-slide .action-close span,
  .modal-popup .action-close span,
  .modal-custom .action-close span {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }

.modal-slide .modal-footer,
.modal-popup .modal-footer,
.modal-custom .modal-footer {
  padding: 2rem;
  border-top: 1px solid #dcdcdc;
  display: flex;
  justify-content: space-between; }
  @media (max-width: 39.99em) {
    .modal-slide .modal-footer,
    .modal-popup .modal-footer,
    .modal-custom .modal-footer {
      flex-wrap: wrap; } }
  .modal-slide .modal-footer .action-primary,
  .modal-slide .modal-footer .primary,
  .modal-popup .modal-footer .action-primary,
  .modal-popup .modal-footer .primary,
  .modal-custom .modal-footer .action-primary,
  .modal-custom .modal-footer .primary {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    min-width: 12rem; }
    .modal-slide .modal-footer .action-primary.medium,
    .modal-slide .modal-footer .primary.medium,
    .modal-popup .modal-footer .action-primary.medium,
    .modal-popup .modal-footer .primary.medium,
    .modal-custom .modal-footer .action-primary.medium,
    .modal-custom .modal-footer .primary.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .modal-slide .modal-footer .action-primary.large,
    .modal-slide .modal-footer .primary.large,
    .modal-popup .modal-footer .action-primary.large,
    .modal-popup .modal-footer .primary.large,
    .modal-custom .modal-footer .action-primary.large,
    .modal-custom .modal-footer .primary.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .modal-slide .modal-footer .action-primary::-moz-focus-inner,
    .modal-slide .modal-footer .primary::-moz-focus-inner,
    .modal-popup .modal-footer .action-primary::-moz-focus-inner,
    .modal-popup .modal-footer .primary::-moz-focus-inner,
    .modal-custom .modal-footer .action-primary::-moz-focus-inner,
    .modal-custom .modal-footer .primary::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .modal-slide .modal-footer .action-primary, .modal-slide .modal-footer .action-primary:visited,
    .modal-slide .modal-footer .primary,
    .modal-slide .modal-footer .primary:visited,
    .modal-popup .modal-footer .action-primary,
    .modal-popup .modal-footer .action-primary:visited,
    .modal-popup .modal-footer .primary,
    .modal-popup .modal-footer .primary:visited,
    .modal-custom .modal-footer .action-primary,
    .modal-custom .modal-footer .action-primary:visited,
    .modal-custom .modal-footer .primary,
    .modal-custom .modal-footer .primary:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF4604; }
      .modal-slide .modal-footer .action-primary *, .modal-slide .modal-footer .action-primary:visited *,
      .modal-slide .modal-footer .primary *,
      .modal-slide .modal-footer .primary:visited *,
      .modal-popup .modal-footer .action-primary *,
      .modal-popup .modal-footer .action-primary:visited *,
      .modal-popup .modal-footer .primary *,
      .modal-popup .modal-footer .primary:visited *,
      .modal-custom .modal-footer .action-primary *,
      .modal-custom .modal-footer .action-primary:visited *,
      .modal-custom .modal-footer .primary *,
      .modal-custom .modal-footer .primary:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .modal-slide .modal-footer .action-primary:hover:not([disabled]), .modal-slide .modal-footer .action-primary:focus:not([disabled]), .modal-slide .modal-footer .action-primary:active:not([disabled]),
    .modal-slide .modal-footer .primary:hover:not([disabled]),
    .modal-slide .modal-footer .primary:focus:not([disabled]),
    .modal-slide .modal-footer .primary:active:not([disabled]),
    .modal-popup .modal-footer .action-primary:hover:not([disabled]),
    .modal-popup .modal-footer .action-primary:focus:not([disabled]),
    .modal-popup .modal-footer .action-primary:active:not([disabled]),
    .modal-popup .modal-footer .primary:hover:not([disabled]),
    .modal-popup .modal-footer .primary:focus:not([disabled]),
    .modal-popup .modal-footer .primary:active:not([disabled]),
    .modal-custom .modal-footer .action-primary:hover:not([disabled]),
    .modal-custom .modal-footer .action-primary:focus:not([disabled]),
    .modal-custom .modal-footer .action-primary:active:not([disabled]),
    .modal-custom .modal-footer .primary:hover:not([disabled]),
    .modal-custom .modal-footer .primary:focus:not([disabled]),
    .modal-custom .modal-footer .primary:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .modal-slide .modal-footer .action-primary:hover:not([disabled]) *, .modal-slide .modal-footer .action-primary:focus:not([disabled]) *, .modal-slide .modal-footer .action-primary:active:not([disabled]) *,
      .modal-slide .modal-footer .primary:hover:not([disabled]) *,
      .modal-slide .modal-footer .primary:focus:not([disabled]) *,
      .modal-slide .modal-footer .primary:active:not([disabled]) *,
      .modal-popup .modal-footer .action-primary:hover:not([disabled]) *,
      .modal-popup .modal-footer .action-primary:focus:not([disabled]) *,
      .modal-popup .modal-footer .action-primary:active:not([disabled]) *,
      .modal-popup .modal-footer .primary:hover:not([disabled]) *,
      .modal-popup .modal-footer .primary:focus:not([disabled]) *,
      .modal-popup .modal-footer .primary:active:not([disabled]) *,
      .modal-custom .modal-footer .action-primary:hover:not([disabled]) *,
      .modal-custom .modal-footer .action-primary:focus:not([disabled]) *,
      .modal-custom .modal-footer .action-primary:active:not([disabled]) *,
      .modal-custom .modal-footer .primary:hover:not([disabled]) *,
      .modal-custom .modal-footer .primary:focus:not([disabled]) *,
      .modal-custom .modal-footer .primary:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .modal-slide .modal-footer .action-primary[disabled],
    .modal-slide .modal-footer .primary[disabled],
    .modal-popup .modal-footer .action-primary[disabled],
    .modal-popup .modal-footer .primary[disabled],
    .modal-custom .modal-footer .action-primary[disabled],
    .modal-custom .modal-footer .primary[disabled] {
      opacity: 0.65;
      cursor: auto; }
    @media (max-width: 39.99em) {
      .modal-slide .modal-footer .action-primary,
      .modal-slide .modal-footer .primary,
      .modal-popup .modal-footer .action-primary,
      .modal-popup .modal-footer .primary,
      .modal-custom .modal-footer .action-primary,
      .modal-custom .modal-footer .primary {
        width: 100%; } }
    .modal-slide .modal-footer .action-primary span,
    .modal-slide .modal-footer .primary span,
    .modal-popup .modal-footer .action-primary span,
    .modal-popup .modal-footer .primary span,
    .modal-custom .modal-footer .action-primary span,
    .modal-custom .modal-footer .primary span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
  .modal-slide .modal-footer .action-secondary,
  .modal-slide .modal-footer .secondary,
  .modal-popup .modal-footer .action-secondary,
  .modal-popup .modal-footer .secondary,
  .modal-custom .modal-footer .action-secondary,
  .modal-custom .modal-footer .secondary {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    min-width: 12rem; }
    .modal-slide .modal-footer .action-secondary.medium,
    .modal-slide .modal-footer .secondary.medium,
    .modal-popup .modal-footer .action-secondary.medium,
    .modal-popup .modal-footer .secondary.medium,
    .modal-custom .modal-footer .action-secondary.medium,
    .modal-custom .modal-footer .secondary.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .modal-slide .modal-footer .action-secondary.large,
    .modal-slide .modal-footer .secondary.large,
    .modal-popup .modal-footer .action-secondary.large,
    .modal-popup .modal-footer .secondary.large,
    .modal-custom .modal-footer .action-secondary.large,
    .modal-custom .modal-footer .secondary.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .modal-slide .modal-footer .action-secondary::-moz-focus-inner,
    .modal-slide .modal-footer .secondary::-moz-focus-inner,
    .modal-popup .modal-footer .action-secondary::-moz-focus-inner,
    .modal-popup .modal-footer .secondary::-moz-focus-inner,
    .modal-custom .modal-footer .action-secondary::-moz-focus-inner,
    .modal-custom .modal-footer .secondary::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .modal-slide .modal-footer .action-secondary, .modal-slide .modal-footer .action-secondary:visited,
    .modal-slide .modal-footer .secondary,
    .modal-slide .modal-footer .secondary:visited,
    .modal-popup .modal-footer .action-secondary,
    .modal-popup .modal-footer .action-secondary:visited,
    .modal-popup .modal-footer .secondary,
    .modal-popup .modal-footer .secondary:visited,
    .modal-custom .modal-footer .action-secondary,
    .modal-custom .modal-footer .action-secondary:visited,
    .modal-custom .modal-footer .secondary,
    .modal-custom .modal-footer .secondary:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #000; }
      .modal-slide .modal-footer .action-secondary *, .modal-slide .modal-footer .action-secondary:visited *,
      .modal-slide .modal-footer .secondary *,
      .modal-slide .modal-footer .secondary:visited *,
      .modal-popup .modal-footer .action-secondary *,
      .modal-popup .modal-footer .action-secondary:visited *,
      .modal-popup .modal-footer .secondary *,
      .modal-popup .modal-footer .secondary:visited *,
      .modal-custom .modal-footer .action-secondary *,
      .modal-custom .modal-footer .action-secondary:visited *,
      .modal-custom .modal-footer .secondary *,
      .modal-custom .modal-footer .secondary:visited * {
        color: #ffffff;
        fill: #FF4604; }
    .modal-slide .modal-footer .action-secondary:hover:not([disabled]), .modal-slide .modal-footer .action-secondary:focus:not([disabled]), .modal-slide .modal-footer .action-secondary:active:not([disabled]),
    .modal-slide .modal-footer .secondary:hover:not([disabled]),
    .modal-slide .modal-footer .secondary:focus:not([disabled]),
    .modal-slide .modal-footer .secondary:active:not([disabled]),
    .modal-popup .modal-footer .action-secondary:hover:not([disabled]),
    .modal-popup .modal-footer .action-secondary:focus:not([disabled]),
    .modal-popup .modal-footer .action-secondary:active:not([disabled]),
    .modal-popup .modal-footer .secondary:hover:not([disabled]),
    .modal-popup .modal-footer .secondary:focus:not([disabled]),
    .modal-popup .modal-footer .secondary:active:not([disabled]),
    .modal-custom .modal-footer .action-secondary:hover:not([disabled]),
    .modal-custom .modal-footer .action-secondary:focus:not([disabled]),
    .modal-custom .modal-footer .action-secondary:active:not([disabled]),
    .modal-custom .modal-footer .secondary:hover:not([disabled]),
    .modal-custom .modal-footer .secondary:focus:not([disabled]),
    .modal-custom .modal-footer .secondary:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #3E3E3E; }
      .modal-slide .modal-footer .action-secondary:hover:not([disabled]) *, .modal-slide .modal-footer .action-secondary:focus:not([disabled]) *, .modal-slide .modal-footer .action-secondary:active:not([disabled]) *,
      .modal-slide .modal-footer .secondary:hover:not([disabled]) *,
      .modal-slide .modal-footer .secondary:focus:not([disabled]) *,
      .modal-slide .modal-footer .secondary:active:not([disabled]) *,
      .modal-popup .modal-footer .action-secondary:hover:not([disabled]) *,
      .modal-popup .modal-footer .action-secondary:focus:not([disabled]) *,
      .modal-popup .modal-footer .action-secondary:active:not([disabled]) *,
      .modal-popup .modal-footer .secondary:hover:not([disabled]) *,
      .modal-popup .modal-footer .secondary:focus:not([disabled]) *,
      .modal-popup .modal-footer .secondary:active:not([disabled]) *,
      .modal-custom .modal-footer .action-secondary:hover:not([disabled]) *,
      .modal-custom .modal-footer .action-secondary:focus:not([disabled]) *,
      .modal-custom .modal-footer .action-secondary:active:not([disabled]) *,
      .modal-custom .modal-footer .secondary:hover:not([disabled]) *,
      .modal-custom .modal-footer .secondary:focus:not([disabled]) *,
      .modal-custom .modal-footer .secondary:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .modal-slide .modal-footer .action-secondary[disabled],
    .modal-slide .modal-footer .secondary[disabled],
    .modal-popup .modal-footer .action-secondary[disabled],
    .modal-popup .modal-footer .secondary[disabled],
    .modal-custom .modal-footer .action-secondary[disabled],
    .modal-custom .modal-footer .secondary[disabled] {
      opacity: 0.65;
      cursor: auto; }
    @media (max-width: 39.99em) {
      .modal-slide .modal-footer .action-secondary,
      .modal-slide .modal-footer .secondary,
      .modal-popup .modal-footer .action-secondary,
      .modal-popup .modal-footer .secondary,
      .modal-custom .modal-footer .action-secondary,
      .modal-custom .modal-footer .secondary {
        width: 100%;
        margin-bottom: 1.5rem !important; } }
    .modal-slide .modal-footer .action-secondary span,
    .modal-slide .modal-footer .secondary span,
    .modal-popup .modal-footer .action-secondary span,
    .modal-popup .modal-footer .secondary span,
    .modal-custom .modal-footer .action-secondary span,
    .modal-custom .modal-footer .secondary span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
    body.checkout-index-index .modal-slide .modal-footer .action-secondary, body.checkout-index-index
    .modal-slide .modal-footer .secondary, body.checkout-index-index
    .modal-popup .modal-footer .action-secondary, body.checkout-index-index
    .modal-popup .modal-footer .secondary, body.checkout-index-index
    .modal-custom .modal-footer .action-secondary, body.checkout-index-index
    .modal-custom .modal-footer .secondary {
      display: inline-block;
      font-size: 1.4rem;
      font-weight: 700;
      text-align: center;
      position: relative;
      line-height: 1.275em;
      margin: 0;
      text-transform: uppercase;
      border-radius: 25px;
      font-family: "Red Hat Display";
      padding: 8px 25px;
      font-size: 1.2rem;
      box-sizing: border-box;
      transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
      vertical-align: middle;
      z-index: 5;
      will-change: transform, background-color, border-color, fill, color;
      min-width: 12rem; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary.medium, body.checkout-index-index
      .modal-slide .modal-footer .secondary.medium, body.checkout-index-index
      .modal-popup .modal-footer .action-secondary.medium, body.checkout-index-index
      .modal-popup .modal-footer .secondary.medium, body.checkout-index-index
      .modal-custom .modal-footer .action-secondary.medium, body.checkout-index-index
      .modal-custom .modal-footer .secondary.medium {
        padding: 11px 25px;
        font-size: 1.4rem; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary.large, body.checkout-index-index
      .modal-slide .modal-footer .secondary.large, body.checkout-index-index
      .modal-popup .modal-footer .action-secondary.large, body.checkout-index-index
      .modal-popup .modal-footer .secondary.large, body.checkout-index-index
      .modal-custom .modal-footer .action-secondary.large, body.checkout-index-index
      .modal-custom .modal-footer .secondary.large {
        padding: 13px 25px;
        font-size: 1.6rem; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary::-moz-focus-inner, body.checkout-index-index
      .modal-slide .modal-footer .secondary::-moz-focus-inner, body.checkout-index-index
      .modal-popup .modal-footer .action-secondary::-moz-focus-inner, body.checkout-index-index
      .modal-popup .modal-footer .secondary::-moz-focus-inner, body.checkout-index-index
      .modal-custom .modal-footer .action-secondary::-moz-focus-inner, body.checkout-index-index
      .modal-custom .modal-footer .secondary::-moz-focus-inner {
        border: 0;
        padding: 0;
        margin: 0; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary, body.checkout-index-index .modal-slide .modal-footer .action-secondary:visited, body.checkout-index-index
      .modal-slide .modal-footer .secondary, body.checkout-index-index
      .modal-slide .modal-footer .secondary:visited, body.checkout-index-index
      .modal-popup .modal-footer .action-secondary, body.checkout-index-index
      .modal-popup .modal-footer .action-secondary:visited, body.checkout-index-index
      .modal-popup .modal-footer .secondary, body.checkout-index-index
      .modal-popup .modal-footer .secondary:visited, body.checkout-index-index
      .modal-custom .modal-footer .action-secondary, body.checkout-index-index
      .modal-custom .modal-footer .action-secondary:visited, body.checkout-index-index
      .modal-custom .modal-footer .secondary, body.checkout-index-index
      .modal-custom .modal-footer .secondary:visited {
        cursor: pointer;
        border-radius: 25px;
        outline-offset: 1px;
        text-decoration: none;
        box-shadow: none;
        border: 1px solid transparent;
        color: #ffffff;
        background-color: #000; }
        body.checkout-index-index .modal-slide .modal-footer .action-secondary *, body.checkout-index-index .modal-slide .modal-footer .action-secondary:visited *, body.checkout-index-index
        .modal-slide .modal-footer .secondary *, body.checkout-index-index
        .modal-slide .modal-footer .secondary:visited *, body.checkout-index-index
        .modal-popup .modal-footer .action-secondary *, body.checkout-index-index
        .modal-popup .modal-footer .action-secondary:visited *, body.checkout-index-index
        .modal-popup .modal-footer .secondary *, body.checkout-index-index
        .modal-popup .modal-footer .secondary:visited *, body.checkout-index-index
        .modal-custom .modal-footer .action-secondary *, body.checkout-index-index
        .modal-custom .modal-footer .action-secondary:visited *, body.checkout-index-index
        .modal-custom .modal-footer .secondary *, body.checkout-index-index
        .modal-custom .modal-footer .secondary:visited * {
          color: #ffffff;
          fill: #FF4604; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary:hover:not([disabled]), body.checkout-index-index .modal-slide .modal-footer .action-secondary:focus:not([disabled]), body.checkout-index-index .modal-slide .modal-footer .action-secondary:active:not([disabled]), body.checkout-index-index
      .modal-slide .modal-footer .secondary:hover:not([disabled]), body.checkout-index-index
      .modal-slide .modal-footer .secondary:focus:not([disabled]), body.checkout-index-index
      .modal-slide .modal-footer .secondary:active:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .action-secondary:hover:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .action-secondary:focus:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .action-secondary:active:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .secondary:hover:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .secondary:focus:not([disabled]), body.checkout-index-index
      .modal-popup .modal-footer .secondary:active:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .action-secondary:hover:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .action-secondary:focus:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .action-secondary:active:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .secondary:hover:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .secondary:focus:not([disabled]), body.checkout-index-index
      .modal-custom .modal-footer .secondary:active:not([disabled]) {
        box-shadow: none;
        outline: none;
        text-decoration: none;
        border: 1px solid transparent;
        color: #ffffff;
        background-color: #3E3E3E; }
        body.checkout-index-index .modal-slide .modal-footer .action-secondary:hover:not([disabled]) *, body.checkout-index-index .modal-slide .modal-footer .action-secondary:focus:not([disabled]) *, body.checkout-index-index .modal-slide .modal-footer .action-secondary:active:not([disabled]) *, body.checkout-index-index
        .modal-slide .modal-footer .secondary:hover:not([disabled]) *, body.checkout-index-index
        .modal-slide .modal-footer .secondary:focus:not([disabled]) *, body.checkout-index-index
        .modal-slide .modal-footer .secondary:active:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .action-secondary:hover:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .action-secondary:focus:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .action-secondary:active:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .secondary:hover:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .secondary:focus:not([disabled]) *, body.checkout-index-index
        .modal-popup .modal-footer .secondary:active:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .action-secondary:hover:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .action-secondary:focus:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .action-secondary:active:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .secondary:hover:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .secondary:focus:not([disabled]) *, body.checkout-index-index
        .modal-custom .modal-footer .secondary:active:not([disabled]) * {
          color: #ffffff;
          fill: #ffffff; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary[disabled], body.checkout-index-index
      .modal-slide .modal-footer .secondary[disabled], body.checkout-index-index
      .modal-popup .modal-footer .action-secondary[disabled], body.checkout-index-index
      .modal-popup .modal-footer .secondary[disabled], body.checkout-index-index
      .modal-custom .modal-footer .action-secondary[disabled], body.checkout-index-index
      .modal-custom .modal-footer .secondary[disabled] {
        opacity: 0.65;
        cursor: auto; }
      body.checkout-index-index .modal-slide .modal-footer .action-secondary span, body.checkout-index-index
      .modal-slide .modal-footer .secondary span, body.checkout-index-index
      .modal-popup .modal-footer .action-secondary span, body.checkout-index-index
      .modal-popup .modal-footer .secondary span, body.checkout-index-index
      .modal-custom .modal-footer .action-secondary span, body.checkout-index-index
      .modal-custom .modal-footer .secondary span {
        margin-top: 0;
        z-index: 1;
        font-weight: 700;
        vertical-align: baseline;
        display: inline-block;
        line-height: 1.275em;
        letter-spacing: normal; }
  .modal-slide .modal-footer button:only-child,
  .modal-popup .modal-footer button:only-child,
  .modal-custom .modal-footer button:only-child {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    min-width: 12rem; }
    .modal-slide .modal-footer button:only-child.medium,
    .modal-popup .modal-footer button:only-child.medium,
    .modal-custom .modal-footer button:only-child.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .modal-slide .modal-footer button:only-child.large,
    .modal-popup .modal-footer button:only-child.large,
    .modal-custom .modal-footer button:only-child.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .modal-slide .modal-footer button:only-child::-moz-focus-inner,
    .modal-popup .modal-footer button:only-child::-moz-focus-inner,
    .modal-custom .modal-footer button:only-child::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .modal-slide .modal-footer button:only-child, .modal-slide .modal-footer button:only-child:visited,
    .modal-popup .modal-footer button:only-child,
    .modal-popup .modal-footer button:only-child:visited,
    .modal-custom .modal-footer button:only-child,
    .modal-custom .modal-footer button:only-child:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF4604; }
      .modal-slide .modal-footer button:only-child *, .modal-slide .modal-footer button:only-child:visited *,
      .modal-popup .modal-footer button:only-child *,
      .modal-popup .modal-footer button:only-child:visited *,
      .modal-custom .modal-footer button:only-child *,
      .modal-custom .modal-footer button:only-child:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .modal-slide .modal-footer button:only-child:hover:not([disabled]), .modal-slide .modal-footer button:only-child:focus:not([disabled]), .modal-slide .modal-footer button:only-child:active:not([disabled]),
    .modal-popup .modal-footer button:only-child:hover:not([disabled]),
    .modal-popup .modal-footer button:only-child:focus:not([disabled]),
    .modal-popup .modal-footer button:only-child:active:not([disabled]),
    .modal-custom .modal-footer button:only-child:hover:not([disabled]),
    .modal-custom .modal-footer button:only-child:focus:not([disabled]),
    .modal-custom .modal-footer button:only-child:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .modal-slide .modal-footer button:only-child:hover:not([disabled]) *, .modal-slide .modal-footer button:only-child:focus:not([disabled]) *, .modal-slide .modal-footer button:only-child:active:not([disabled]) *,
      .modal-popup .modal-footer button:only-child:hover:not([disabled]) *,
      .modal-popup .modal-footer button:only-child:focus:not([disabled]) *,
      .modal-popup .modal-footer button:only-child:active:not([disabled]) *,
      .modal-custom .modal-footer button:only-child:hover:not([disabled]) *,
      .modal-custom .modal-footer button:only-child:focus:not([disabled]) *,
      .modal-custom .modal-footer button:only-child:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .modal-slide .modal-footer button:only-child[disabled],
    .modal-popup .modal-footer button:only-child[disabled],
    .modal-custom .modal-footer button:only-child[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .modal-slide .modal-footer button:only-child span,
    .modal-popup .modal-footer button:only-child span,
    .modal-custom .modal-footer button:only-child span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }

.modal-slide .modal-title,
.modal-popup .modal-title,
.modal-custom .modal-title {
  font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.8rem;
  color: #212121;
  font-weight: 700;
  text-transform: uppercase;
  margin: 1rem 0 2rem;
  padding: 2rem;
  border-bottom: 1px solid #dcdcdc;
  margin: 0; }

@media (max-width: 47.99em) {
  .modal-popup.modal-slide .modal-inner-wrap[class] {
    background-color: #ffffff; } }

@media (max-width: 39.99em) {
  .modal-slide .modal-footer {
    flex-wrap: wrap; } }

@media (max-width: 39.99em) {
  .modal-slide .modal-footer .action-primary,
  .modal-slide .modal-footer .primary {
    width: 100%; } }

@media (max-width: 39.99em) {
  .modal-slide .modal-footer .action-secondary,
  .modal-slide .modal-footer .secondary {
    width: 100%;
    margin-bottom: 1.5rem !important; } }

.ie11 .modal-popup:not(.cs-video-player__modal) .modal-content {
  max-height: calc(100vh - 33rem); }

.page-layout-checkout .modal-popup {
  pointer-events: auto; }

@media (min-width: 48em) {
  .page-layout-checkout .modal-slide {
    width: 80%;
    max-width: 65rem;
    left: 50%;
    transform: translateX(-50%); } }

/* stylelint-enable */
.fancybox-overlay {
  background-image: none;
  background-color: rgba(255, 255, 255, 0.9); }

.fancybox-desktop.fancybox-type-iframe.fancybox-opened {
  max-width: 1170px;
  width: 85vw !important; }
  @media (max-width: 40em) {
    .fancybox-desktop.fancybox-type-iframe.fancybox-opened {
      width: 95vw !important;
      left: 2.5vw !important; } }

.fancybox-desktop.fancybox-type-inline {
  max-width: 480px;
  width: 95vw !important; }
  @media (max-width: 40em) {
    .fancybox-desktop.fancybox-type-inline {
      left: 2.5vw !important; } }
  .fancybox-desktop.fancybox-type-inline .fancybox-skin {
    background: #ffffff; }
  .fancybox-desktop.fancybox-type-inline .header,
  .fancybox-desktop.fancybox-type-inline .cart-info {
    display: none; }

.fancybox-desktop .fancybox-inner {
  width: 100% !important;
  max-height: 735px !important;
  padding: 45px 0;
  background: #ffffff; }
  @media (max-width: 40em) {
    .fancybox-desktop .fancybox-inner {
      padding: 40px 0 0px; } }

.fancybox-skin .fancybox-close {
  background: none;
  left: 31px;
  right: auto;
  top: 20px;
  display: flex;
  flex-direction: row;
  border-bottom: 1px solid #000;
  width: auto;
  height: 23px; }
  @media (max-width: 48em) {
    .fancybox-skin .fancybox-close {
      left: 25px;
      top: 12px; } }
  .fancybox-skin .fancybox-close:before, .fancybox-skin .fancybox-close:after {
    text-transform: uppercase;
    display: inline-block;
    font-weight: bold;
    color: #000;
    font-size: 14px;
    line-height: 18px;
    font-family: "Red Hat Display"; }
  .fancybox-skin .fancybox-close:before {
    content: 'X';
    margin-right: 5px; }
  .fancybox-skin .fancybox-close:after {
    content: 'Close'; }

#bss_ajaxcart_popup .product-image {
  max-width: 310px;
  margin: 0 auto; }

#bss_ajaxcart_popup .message {
  margin: 0;
  padding-left: 1rem; }

#bss_ajaxcart_popup .btn-viewcart button.viewcart {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color;
  background: #000 !important; }
  #bss_ajaxcart_popup .btn-viewcart button.viewcart.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  #bss_ajaxcart_popup .btn-viewcart button.viewcart.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  #bss_ajaxcart_popup .btn-viewcart button.viewcart::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  #bss_ajaxcart_popup .btn-viewcart button.viewcart, #bss_ajaxcart_popup .btn-viewcart button.viewcart:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #000; }
    #bss_ajaxcart_popup .btn-viewcart button.viewcart *, #bss_ajaxcart_popup .btn-viewcart button.viewcart:visited * {
      color: #ffffff;
      fill: #FF4604; }
  #bss_ajaxcart_popup .btn-viewcart button.viewcart:hover:not([disabled]), #bss_ajaxcart_popup .btn-viewcart button.viewcart:focus:not([disabled]), #bss_ajaxcart_popup .btn-viewcart button.viewcart:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #3E3E3E; }
    #bss_ajaxcart_popup .btn-viewcart button.viewcart:hover:not([disabled]) *, #bss_ajaxcart_popup .btn-viewcart button.viewcart:focus:not([disabled]) *, #bss_ajaxcart_popup .btn-viewcart button.viewcart:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  #bss_ajaxcart_popup .btn-viewcart button.viewcart[disabled] {
    opacity: 0.65;
    cursor: auto; }
  #bss_ajaxcart_popup .btn-viewcart button.viewcart:hover, #bss_ajaxcart_popup .btn-viewcart button.viewcart:focus, #bss_ajaxcart_popup .btn-viewcart button.viewcart:active {
    background: #3E3E3E !important; }

#bss_ajaxcart_popup .btn-continue button.continue {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color;
  background: #FF4604 !important; }
  #bss_ajaxcart_popup .btn-continue button.continue.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  #bss_ajaxcart_popup .btn-continue button.continue.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  #bss_ajaxcart_popup .btn-continue button.continue::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  #bss_ajaxcart_popup .btn-continue button.continue, #bss_ajaxcart_popup .btn-continue button.continue:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF4604; }
    #bss_ajaxcart_popup .btn-continue button.continue *, #bss_ajaxcart_popup .btn-continue button.continue:visited * {
      color: #ffffff;
      fill: #ffffff; }
  #bss_ajaxcart_popup .btn-continue button.continue:hover:not([disabled]), #bss_ajaxcart_popup .btn-continue button.continue:focus:not([disabled]), #bss_ajaxcart_popup .btn-continue button.continue:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF7442; }
    #bss_ajaxcart_popup .btn-continue button.continue:hover:not([disabled]) *, #bss_ajaxcart_popup .btn-continue button.continue:focus:not([disabled]) *, #bss_ajaxcart_popup .btn-continue button.continue:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  #bss_ajaxcart_popup .btn-continue button.continue[disabled] {
    opacity: 0.65;
    cursor: auto; }
  #bss_ajaxcart_popup .btn-continue button.continue:hover, #bss_ajaxcart_popup .btn-continue button.continue:focus, #bss_ajaxcart_popup .btn-continue button.continue:active {
    background: #FF7442 !important; }

#bss_ajaxcart_popup .btn-continue .countdown {
  display: none; }

.ajaxcart-index-view #ajax-goto {
  display: none !important; }

.ajaxcart-index-view .bss-notice {
  padding: 0 30px; }

.ajaxcart-index-view .cs-container--page-pdp-top {
  padding: 0 25px; }
  @media (max-width: 48em) {
    .ajaxcart-index-view .cs-container--page-pdp-top {
      padding: 0 15px; } }

@media (min-width: 48em) {
  .ajaxcart-index-view .cs-page-product__gallery {
    width: calc(100% - 49.5%); } }

.ajaxcart-index-view .cs-buybox__section,
.ajaxcart-index-view .cs-container--page-pdp-bundle-config {
  padding: 0; }

.popup-authentication .modal-inner-wrap {
  max-width: 480px; }

.popup-authentication .action-close {
  background-image: none;
  width: auto;
  height: auto;
  margin: 22px 30px 0 0;
  padding: 1px 2px;
  border-bottom: 1px solid #000; }
  .popup-authentication .action-close:before {
    content: 'X CLOSE';
    display: block;
    color: #575757;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 12px; }

.popup-authentication .block-title {
  font-size: 22px;
  margin-bottom: 20px; }

.popup-authentication .actions-toolbar {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-top: 30px; }
  .popup-authentication .actions-toolbar .action-login {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    padding: 10px 25px;
    margin-right: 20px;
    min-width: 145px; }
    .popup-authentication .actions-toolbar .action-login.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .popup-authentication .actions-toolbar .action-login.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .popup-authentication .actions-toolbar .action-login::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .popup-authentication .actions-toolbar .action-login, .popup-authentication .actions-toolbar .action-login:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF4604; }
      .popup-authentication .actions-toolbar .action-login *, .popup-authentication .actions-toolbar .action-login:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .popup-authentication .actions-toolbar .action-login:hover:not([disabled]), .popup-authentication .actions-toolbar .action-login:focus:not([disabled]), .popup-authentication .actions-toolbar .action-login:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .popup-authentication .actions-toolbar .action-login:hover:not([disabled]) *, .popup-authentication .actions-toolbar .action-login:focus:not([disabled]) *, .popup-authentication .actions-toolbar .action-login:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .popup-authentication .actions-toolbar .action-login[disabled] {
      opacity: 0.65;
      cursor: auto; }

.checkout-regions-popup .modal-inner-wrap,
.agreements-modal .modal-inner-wrap,
.google_popup .modal-inner-wrap {
  width: 100%;
  border-radius: 10px; }
  .checkout-regions-popup .modal-inner-wrap .modal-title,
  .agreements-modal .modal-inner-wrap .modal-title,
  .google_popup .modal-inner-wrap .modal-title {
    padding: 25px 30px;
    letter-spacing: 1px;
    border: 0;
    text-transform: capitalize;
    font-size: 40px; }
    @media (max-width: 48em) {
      .checkout-regions-popup .modal-inner-wrap .modal-title,
      .agreements-modal .modal-inner-wrap .modal-title,
      .google_popup .modal-inner-wrap .modal-title {
        font-size: 32px;
        padding: 20px 15px; } }
  .checkout-regions-popup .modal-inner-wrap .action-close,
  .agreements-modal .modal-inner-wrap .action-close,
  .google_popup .modal-inner-wrap .action-close {
    background-image: none;
    width: auto;
    height: auto;
    margin: 37px 41px 0 0;
    padding: 1px 2px;
    border-bottom: 1px solid #000; }
    @media (max-width: 48em) {
      .checkout-regions-popup .modal-inner-wrap .action-close,
      .agreements-modal .modal-inner-wrap .action-close,
      .google_popup .modal-inner-wrap .action-close {
        margin: 30px 15px 0 0; } }
    .checkout-regions-popup .modal-inner-wrap .action-close:before,
    .agreements-modal .modal-inner-wrap .action-close:before,
    .google_popup .modal-inner-wrap .action-close:before {
      content: 'X CLOSE';
      display: block;
      color: #575757;
      text-transform: uppercase;
      font-weight: bold;
      font-size: 12px; }

@media (max-width: 48em) {
  .agreements-modal .modal-inner-wrap,
  .google_popup .modal-inner-wrap {
    border-radius: 0; } }

.agreements-modal .modal-inner-wrap .action-close,
.google_popup .modal-inner-wrap .action-close {
  margin: 22px 41px 0 0; }
  @media (max-width: 48em) {
    .agreements-modal .modal-inner-wrap .action-close,
    .google_popup .modal-inner-wrap .action-close {
      margin: 22px 15px 0 0; } }

.google_popup .modal-inner-wrap {
  width: 96%;
  max-width: 640px; }

.modal_hidden {
  display: none !important; }

.modal-popup .modal_hidden {
  display: block !important; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-navigation-teaser__figure {
  display: block;
  max-height: 100%;
  overflow: hidden; }

.cs-navigation-teaser__image {
  display: block; }

.cs-navigation-teaser__content-wrapper {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 6rem 3rem; }

.cs-navigation-teaser__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  color: #212121;
  text-align: center; }

.cs-navigation-teaser__headline {
  margin: 0 0 1rem;
  font-size: 3rem;
  line-height: 1.15;
  font-weight: 700;
  color: #212121; }
  @media (min-width: 64em) {
    .cs-navigation-teaser__headline {
      font-size: 4.3rem;
      line-height: 1; } }

.cs-navigation-teaser__subheadline {
  margin: 0 0 1rem;
  font-size: 1.65rem;
  line-height: 1.15;
  font-weight: 400;
  color: #212121; }
  @media (min-width: 64em) {
    .cs-navigation-teaser__subheadline {
      font-size: 2.8rem;
      line-height: 1.25; } }

.cs-navigation-teaser__text {
  margin: 0 0 1rem;
  font-size: 1rem;
  line-height: 1.15;
  font-weight: 300;
  color: #212121; }
  @media (min-width: 64em) {
    .cs-navigation-teaser__text {
      font-size: 1.4rem; } }

.cs-navigation-teaser__cta {
  margin-top: 2rem; }

.cs-navigation-teaser__button {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color; }
  .cs-navigation-teaser__button.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  .cs-navigation-teaser__button.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  .cs-navigation-teaser__button::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-navigation-teaser__button, .cs-navigation-teaser__button:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF4604; }
    .cs-navigation-teaser__button *, .cs-navigation-teaser__button:visited * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-navigation-teaser__button:hover:not([disabled]), .cs-navigation-teaser__button:focus:not([disabled]), .cs-navigation-teaser__button:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF7442; }
    .cs-navigation-teaser__button:hover:not([disabled]) *, .cs-navigation-teaser__button:focus:not([disabled]) *, .cs-navigation-teaser__button:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-navigation-teaser__button[disabled] {
    opacity: 0.65;
    cursor: auto; }

.cs-navigation-teaser__button-span {
  margin-top: 0;
  z-index: 1;
  font-weight: 700;
  vertical-align: baseline;
  display: inline-block;
  line-height: 1.275em;
  letter-spacing: normal;
  padding-right: 4em; }

.cs-navigation-teaser__button-icon {
  max-width: 1em;
  max-height: 1.4rem;
  z-index: 2;
  height: auto;
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translate3d(0, -50%, 0);
  margin-right: 0;
  right: 1em; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Using psuedo elements to maintain an elements aspect ratio, even as it scales
 * It's using only for IE11 and Edge (version which doesn't support native CSS grid) browsers
 * For browsers which support native CSS grid, we are using mixins contain `reset` in mixin name
 * to override default mixins (progressive enhancement)
 * https://css-tricks.com/snippets/sass/maintain-aspect-ratio-mixin/
 * @param {number} $width: width of the element;
 * @param {number} $height: height of the element;
 * @param {string} $contentClass: class of the direct child element to be positioned absolutely;
 * @param {boolean} $autoposition: tells if item shall take 100% of parent size or if it can be wider/higher if needed;
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-container--navigation {
  background-color: #6E6E6E; }

.cs-container__navigation-inner {
  margin: 10px auto 0; }

.cs-container--navigation .cs-navigation {
  box-sizing: border-box;
  font-size: 1rem; }
  .cs-container--navigation .cs-navigation__list {
    list-style: none;
    padding: 0;
    margin: 0; }
    .cs-container--navigation .cs-navigation__list--main {
      position: relative;
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between; }
    .cs-container--navigation .cs-navigation__list--all-categories {
      width: 100%;
      -moz-columns: auto 1;
           columns: auto 1;
      -moz-column-gap: 0;
           column-gap: 0;
      flex: 1 0 auto; }
    .cs-container--navigation .cs-navigation__list--level_1 {
      width: 100%;
      -moz-columns: auto 1;
           columns: auto 1;
      -moz-column-gap: 0;
           column-gap: 0;
      flex: 1 0 auto; }
    .cs-container--navigation .cs-navigation__list--level_2 {
      flex-wrap: wrap; }
    .cs-container--navigation .cs-navigation__list--hidden {
      display: none; }
      .cs-container--navigation .cs-navigation__list--hidden + .cs-navigation__extras {
        display: none; }
    .cs-container--navigation .cs-navigation__list .cs-container--navigation .cs-navigation__item--no-children:nth-child(2) {
      padding-top: 1rem; }
    .cs-container--navigation .cs-navigation__list .cs-container--navigation .cs-navigation__item--no-children:last-of-type {
      padding-bottom: 1rem; }
  .cs-container--navigation .cs-navigation__item {
    font-size: 0.9em;
    margin: 0;
    width: 100%; }
    .cs-container--navigation .cs-navigation__item--main {
      font-size: 1.4em;
      border-left: 1px solid #575757;
      text-align: center;
      position: relative; }
      .cs-container--navigation .cs-navigation__item--main:first-of-type {
        border-left: 0; }
      .cs-container--navigation .cs-navigation__item--main:last-of-type {
        border-right: 0; }
        .cs-container--navigation .cs-navigation__item--main:last-of-type .cs-navigation__flyout {
          left: auto;
          right: 0; }
      .cs-container--navigation .cs-navigation__item--main:visited > a {
        color: #ffffff;
        background-color: #FF4604; }
      .cs-container--navigation .cs-navigation__item--main:hover > a {
        color: #ffffff;
        background-color: #FF4604; }
    .cs-container--navigation .cs-navigation__item--all-categories {
      padding: 0;
      page-break-inside: avoid;
      /* Theoretically FF 20+ */
      -moz-column-break-inside: avoid;
           break-inside: avoid-column;
      /* IE 11 */
      display: table; }
    .cs-container--navigation .cs-navigation__item--level_1 {
      padding: 0;
      page-break-inside: avoid;
      /* Theoretically FF 20+ */
      -moz-column-break-inside: avoid;
           break-inside: avoid-column;
      /* IE 11 */
      display: table; }
    .cs-container--navigation .cs-navigation__item--hidden {
      display: none; }
  .cs-container--navigation .cs-navigation__link {
    display: block;
    text-transform: uppercase;
    padding: 9px 5px;
    width: 100%;
    font-family: "PT Sans Narrow";
    letter-spacing: 1.9px; }
    .cs-container--navigation .cs-navigation__link, .cs-container--navigation .cs-navigation__link:visited, .cs-container--navigation .cs-navigation__link:visited:hover, .cs-container--navigation .cs-navigation__link:focus {
      color: #ffffff; }
    .cs-container--navigation .cs-navigation__link:hover {
      text-decoration: none;
      color: #ffffff;
      background-color: #FF4604; }
    .cs-container--navigation .cs-navigation__link--main {
      font-weight: 700;
      display: flex;
      align-items: center;
      justify-content: center;
      height: 100%; }
    .cs-container--navigation .cs-navigation__link--all-categories {
      font-weight: 700;
      margin: 0;
      border-bottom: 1px solid #dcdcdc;
      padding-bottom: 1.55em; }
    .cs-container--navigation .cs-navigation__link--level_1, .cs-container--navigation .cs-navigation__link--level_2 {
      font-weight: 700;
      margin: 0;
      border-bottom: 1px solid #dcdcdc;
      padding: 12px 15px;
      line-height: 21px;
      background: #F4F4F4; }
      .cs-container--navigation .cs-navigation__link--level_1:hover, .cs-container--navigation .cs-navigation__link--level_2:hover {
        text-decoration: none;
        color: #000;
        background-color: #e5e5e5; }
      .cs-container--navigation .cs-navigation__link--level_1, .cs-container--navigation .cs-navigation__link--level_1:visited, .cs-container--navigation .cs-navigation__link--level_1:visited:hover, .cs-container--navigation .cs-navigation__link--level_1:focus, .cs-container--navigation .cs-navigation__link--level_2, .cs-container--navigation .cs-navigation__link--level_2:visited, .cs-container--navigation .cs-navigation__link--level_2:visited:hover, .cs-container--navigation .cs-navigation__link--level_2:focus {
        color: #000; }
    .cs-container--navigation .cs-navigation__link--level_2 {
      text-transform: none;
      font-size: 1.25em; }
    .cs-container--navigation .cs-navigation__link--with-icon {
      position: relative;
      padding-left: 2.8rem; }
    .cs-container--navigation .cs-navigation__link-icon-wrapper {
      position: absolute;
      width: 2rem;
      top: 50%;
      left: 0;
      transform: translateY(-50%); }
    .cs-container--navigation .cs-navigation__link-icon {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate3d(-50%, -50%, 0);
      max-height: 1.8rem; }
      .cs-container--navigation .cs-navigation__link--category .cs-container--navigation .cs-navigation__link-icon {
        margin-top: -0.5rem; }
    .cs-container--navigation .cs-navigation__link-products-qty:before {
      content: '('; }
    .cs-container--navigation .cs-navigation__link-products-qty:after {
      content: ')'; }
  .cs-container--navigation .cs-navigation .cs-container--navigation .cs-navigation__item--no-children {
    padding: 0; }
  .cs-container--navigation .cs-navigation .cs-container--navigation .cs-navigation__item--no-children > .cs-container--navigation .cs-navigation__link--level_1 {
    text-transform: none;
    font-size: 1.12em;
    font-weight: 400;
    padding: 0.9em 1.5em;
    border: none;
    color: #ffffff; }
  .cs-container--navigation .cs-navigation__flyout > ul {
    position: relative; }
    .cs-container--navigation .cs-navigation__flyout > ul li:hover > ul {
      display: block; }
  .cs-container--navigation .cs-navigation__flyout {
    position: absolute;
    display: none;
    left: 20px;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    z-index: 1001;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.15);
    margin-top: 0;
    max-width: 215px; }
    .cs-container--navigation .cs-navigation__flyout--visible {
      display: flex; }
    .cs-container--navigation .cs-navigation__flyout svg {
      pointer-events: none; }
    @supports (-ms-ime-align: auto) {
      .cs-container--navigation .cs-navigation__flyout li {
        list-style: none;
        list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=);
        list-style-type: none; } }
    .cs-container--navigation .cs-navigation__flyout ul a {
      text-transform: uppercase;
      font-size: 14px;
      color: #000;
      letter-spacing: 1.5px;
      font-weight: bold;
      text-align: left; }
    .cs-container--navigation .cs-navigation__flyout ul ul {
      position: absolute;
      display: none;
      right: -100%;
      top: 0;
      width: 100%;
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden;
      z-index: 1001;
      box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.15);
      margin-top: 0;
      max-width: 215px; }
      @supports (-ms-ime-align: auto) {
        .cs-container--navigation .cs-navigation__flyout ul ul li {
          list-style: none;
          list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=);
          list-style-type: none; } }
  .cs-container--navigation .cs-navigation__list--level_2 {
    left: auto; }
  .cs-container--navigation .cs-navigation__teaser {
    position: relative;
    max-height: 100%;
    padding: 1em 0;
    overflow: hidden;
    margin-bottom: 0 !important; }
    .cs-container--navigation .cs-navigation__teaser--hidden {
      display: none; }
    .cs-container--navigation .cs-navigation__teaser .cs-image-teaser__figure {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%); }
  .cs-container--navigation .cs-navigation__products {
    padding: 0.5em 1em;
    min-width: 24rem; }
    .cs-container--navigation .cs-navigation__products-header {
      display: block;
      color: #ffffff;
      text-transform: uppercase;
      width: 100%;
      font-weight: 700;
      margin: 0;
      border-bottom: 1px solid #dcdcdc;
      padding: 1.1em 1.05em 1.55em;
      font-size: 0.9em; }
    .cs-container--navigation .cs-navigation__products-list {
      margin: 0;
      padding: 0;
      list-style: none; }
  .cs-container--navigation .cs-navigation__product {
    position: relative; }
    .cs-container--navigation .cs-navigation__product:before {
      display: block;
      content: '';
      width: 100%;
      padding-top: 170%; }
    .cs-container--navigation .cs-navigation__product .cs-product-tile {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
  .cs-container--navigation .cs-navigation__overlay {
    display: none;
    position: absolute;
    z-index: 1000;
    background-color: #000;
    opacity: 0;
    left: 0;
    width: 100%;
    height: 0;
    transform: translate3d(0, 3rem, 0);
    transition: opacity 0.15s linear, transform 0.2s cubic-bezier(0, 0.97, 0.05, 0.99); }
    .cs-container--navigation .cs-navigation__overlay--visible {
      opacity: 0.8;
      transform: translate3d(0, 0, 0); }
  .page-print .cs-container--navigation .cs-navigation {
    display: none; }
  @supports (display: grid) and (grid-auto-flow: row) {
    .cs-container--navigation .cs-navigation__product {
      position: relative; }
      .cs-container--navigation .cs-navigation__product:before {
        content: none; }
      .cs-container--navigation .cs-navigation__product .cs-product-tile {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto; } }

.cs-container--navigation {
  display: none; }
  @media (min-width: 64em) {
    .cs-container--navigation {
      display: block; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-newsletter {
  margin: 0;
  width: 100%; }
  .cs-newsletter__form {
    position: relative;
    display: flex;
    overflow: hidden;
    padding-right: 30px !important; }
    @media (min-width: 48em) {
      .cs-newsletter__form {
        max-width: 34rem; } }
    @media (min-width: 64em) {
      .cs-newsletter__form {
        max-width: 100%; } }
    @media (max-width: 40em) {
      .cs-newsletter__form {
        padding-right: 0 !important; } }
  .cs-newsletter__field {
    flex-basis: 100%;
    border-radius: 25px; }
    @media (max-width: 40em) {
      .cs-newsletter__field {
        margin-bottom: 15px; } }
  .cs-newsletter__input {
    margin-top: 0 !important;
    border-radius: 25px; }
    .cs-newsletter__input.input-text {
      margin: 0;
      font-size: 1.2rem;
      line-height: 1.6rem;
      border-radius: 25px;
      border-bottom-right-radius: 0;
      border-top-right-radius: 0; }
  .cs-newsletter__actions {
    display: flex;
    align-items: stretch;
    height: 4rem; }
  .cs-newsletter__button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-top-right-radius: 25px !important;
    border-bottom-right-radius: 25px !important;
    width: 105px;
    padding-right: 25px; }
    .cs-newsletter__button.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-newsletter__button.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-newsletter__button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-newsletter__button, .cs-newsletter__button:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF4604; }
      .cs-newsletter__button *, .cs-newsletter__button:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-newsletter__button:hover:not([disabled]), .cs-newsletter__button:focus:not([disabled]), .cs-newsletter__button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .cs-newsletter__button:hover:not([disabled]) *, .cs-newsletter__button:focus:not([disabled]) *, .cs-newsletter__button:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-newsletter__button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-newsletter__button-label {
      text-transform: uppercase; }
  .cs-newsletter__button-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    margin-left: 0;
    left: 1em;
    width: 0.8em;
    height: 0.8em;
    margin-right: 0; }

.newsletter-lock__icon {
  font-size: 12px;
  font-weight: normal;
  background-image: url(../images/icons/lock24@1x.svg);
  background-repeat: no-repeat;
  background-size: 9px;
  background-position: 0px 7px;
  margin-top: 0;
  display: block;
  padding-left: 15px; }
  @media (max-width: 40em) {
    .newsletter-lock__icon {
      margin-top: 0;
      font-weight: normal; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-offcanvas-toggle {
  position: relative;
  display: flex;
  border: 0;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  align-self: stretch;
  height: 100%;
  width: 100%; }
  .cs-offcanvas-toggle, .cs-offcanvas-toggle:active, .cs-offcanvas-toggle:focus, .cs-offcanvas-toggle:hover {
    border: 0;
    background: transparent;
    box-shadow: none;
    border-radius: 0; }
  .cs-offcanvas-toggle:after {
    content: '';
    position: absolute;
    height: 2px;
    width: 100%;
    transform: scale(0);
    background: #FF4604;
    transition: transform 0.3s;
    bottom: 0;
    left: 0;
    transform-origin: left; }
  .cs-offcanvas-toggle--active, .cs-offcanvas-toggle--active:active, .cs-offcanvas-toggle--active:focus, .cs-offcanvas-toggle--active:hover {
    background: #FF4604; }
  .cs-offcanvas-toggle--active:after {
    transform: scale(1); }
  .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon {
    transform: rotate(-45deg); }
    .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon, .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon:before, .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon:after {
      background: #ffffff; }
    .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon:before, .cs-offcanvas-toggle--active .cs-offcanvas-toggle__icon:after {
      transform: rotate(90deg); }
  .cs-offcanvas-toggle__icon {
    padding: 0;
    margin: 0;
    position: relative;
    display: block;
    width: 22px;
    height: 22px; }
    .cs-offcanvas-toggle__icon:before {
      content: '';
      display: block;
      background-image: url("../images/icons/menu.svg");
      background-repeat: no-repeat;
      background-size: 21px;
      background-position: center;
      width: 100%;
      height: 100%; }
  .cs-offcanvas-toggle__text {
    position: absolute;
    bottom: 0.5rem;
    left: 0;
    width: 100%;
    text-align: center;
    font-size: 0.8rem;
    color: #212121;
    text-transform: uppercase;
    transition: color 0.3s; }
    .cs-offcanvas-toggle--active .cs-offcanvas-toggle__text {
      color: #ffffff; }
    @media (min-width: 48em) {
      .cs-offcanvas-toggle__text {
        bottom: 2rem; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-offcanvas-navigation {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #F4F4F4; }
  .cs-offcanvas-navigation .nav-logo {
    background: #3E3E3E;
    padding: 17px; }
    .cs-offcanvas-navigation .nav-logo img {
      max-width: 160px;
      display: block;
      margin: 0 auto; }
  .cs-offcanvas-navigation__list {
    position: relative;
    z-index: 1;
    width: 100%;
    min-width: 100%;
    list-style: none;
    padding: 0;
    margin: 0;
    background-color: #F4F4F4;
    overflow-y: hidden;
    overflow-x: hidden;
    height: 100%;
    -webkit-overflow-scrolling: touch; }
    .cs-offcanvas-navigation__list--current {
      overflow-y: auto; }
    .cs-offcanvas-navigation__list .cs-offcanvas-navigation__list {
      position: absolute;
      left: 105%;
      height: 100%;
      top: 0;
      transition: transform 0.1s; }
      .cs-offcanvas-navigation__list .cs-offcanvas-navigation__list--active {
        transform: translateX(-105%);
        transform: translate3d(-105%, 0, 0); }
    .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) {
      border-top: 1px #dcdcdc solid; }
      .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item):last-of-type {
        border-bottom: 1px #dcdcdc solid; }
  .cs-offcanvas-navigation__item, .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) {
    width: 100%;
    display: flex;
    overflow: hidden;
    margin: 0; }
    .cs-offcanvas-navigation__item + .cs-offcanvas-navigation__item, .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) + .cs-offcanvas-navigation__item, .cs-offcanvas-navigation__list > .cs-offcanvas-navigation__item + li:not(.cs-offcanvas-navigation__item) , .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) + li:not(.cs-offcanvas-navigation__item) {
      border-top: 1px #dcdcdc solid; }
    .cs-offcanvas-navigation__item:last-of-type, .cs-offcanvas-navigation__list > li:last-of-type:not(.cs-offcanvas-navigation__item) {
      border-bottom: 1px #dcdcdc solid; }
    .cs-offcanvas-navigation__item--with-icon .cs-offcanvas-navigation__text {
      position: relative;
      padding-left: 15px; }
  .cs-offcanvas-navigation__link, .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) a {
    min-width: 100%;
    width: 100%;
    display: flex;
    padding: 15px;
    font-size: 1.4rem;
    align-items: center;
    text-transform: none;
    font-weight: 700;
    position: relative; }
    .cs-offcanvas-navigation__link, .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) a, .cs-offcanvas-navigation__link:visited, .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) a:visited {
      color: #212121; }
    .cs-offcanvas-navigation__link:hover, .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) a:hover {
      color: #212121; }
    .cs-offcanvas-navigation__link--sign-in, .cs-offcanvas-navigation__link--sign-out {
      padding-right: 5rem; }
      .cs-offcanvas-navigation__link--sign-in, .cs-offcanvas-navigation__link--sign-in:visited, .cs-offcanvas-navigation__link--sign-out, .cs-offcanvas-navigation__link--sign-out:visited {
        color: #FF4604; }
      .cs-offcanvas-navigation__link--sign-in:hover, .cs-offcanvas-navigation__link--sign-out:hover {
        color: #FF4604; }
        .cs-offcanvas-navigation__link--sign-in:hover .cs-offcanvas-navigation__icon path, .cs-offcanvas-navigation__link--sign-out:hover .cs-offcanvas-navigation__icon path {
          fill: #FF4604; }
      .cs-offcanvas-navigation__link--sign-in .cs-offcanvas-navigation__icon, .cs-offcanvas-navigation__link--sign-out .cs-offcanvas-navigation__icon {
        width: 2.3rem;
        height: 2.7rem;
        right: 15px; }
        .cs-offcanvas-navigation__link--sign-in .cs-offcanvas-navigation__icon path, .cs-offcanvas-navigation__link--sign-out .cs-offcanvas-navigation__icon path {
          fill: #FF4604; }
    .cs-offcanvas-navigation__link--parent .cs-offcanvas-navigation__icon, .cs-offcanvas-navigation__link--return .cs-offcanvas-navigation__icon {
      width: 0.8rem;
      height: 0.8rem; }
    .cs-offcanvas-navigation__link--parent {
      padding-right: 5rem; }
      .cs-offcanvas-navigation__link--parent .cs-offcanvas-navigation__icon {
        right: 15px; }
    .cs-offcanvas-navigation__link--return {
      padding-left: 5rem; }
      .cs-offcanvas-navigation__link--return .cs-offcanvas-navigation__icon {
        left: 15px; }
    .cs-offcanvas-navigation__link--next {
      position: relative; }
      .cs-offcanvas-navigation__link--next:before, .cs-offcanvas-navigation__link--next:after {
        content: '';
        position: absolute;
        top: 50%;
        width: 0.8rem;
        height: 0.2rem;
        left: auto;
        background-color: #FF4604;
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden; }
      .cs-offcanvas-navigation__link--next[aria-expanded="true"]:before, .cs-offcanvas-navigation__link--next[aria-expanded="true"]:after {
        background-color: #6E6E6E; }
      .cs-offcanvas-navigation__link--next:before {
        transform: rotate(135deg) translate3d(50%, 0, 0);
        right: 15px; }
      .cs-offcanvas-navigation__link--next:after {
        right: 15px;
        transform: rotate(-135deg) translate3d(50%, 0, 0); }
      .cs-offcanvas-navigation__link--next[aria-expanded="true"]:before {
        transform: rotate(225deg) translate3d(0, 0, 0);
        right: 0; }
      .cs-offcanvas-navigation__link--next[aria-expanded="true"]:after {
        transform: rotate(-45deg) translate3d(0, 0, 0);
        right: 15px; }
    .cs-offcanvas-navigation__link--prev {
      position: relative; }
      .cs-offcanvas-navigation__link--prev:before, .cs-offcanvas-navigation__link--prev:after {
        content: '';
        position: absolute;
        top: 50%;
        width: 0.8rem;
        height: 0.2rem;
        left: auto;
        background-color: #FF4604;
        -webkit-backface-visibility: hidden;
                backface-visibility: hidden; }
      .cs-offcanvas-navigation__link--prev[aria-expanded="true"]:before, .cs-offcanvas-navigation__link--prev[aria-expanded="true"]:after {
        background-color: #6E6E6E; }
      .cs-offcanvas-navigation__link--prev:before {
        transform: rotate(45deg) translate3d(50%, -50%, 0);
        right: 0; }
      .cs-offcanvas-navigation__link--prev:after {
        right: 0;
        transform: rotate(-45deg) translate3d(50%, 50%, 0); }
      .cs-offcanvas-navigation__link--prev[aria-expanded="true"]:before {
        transform: rotate(-45deg) translate3d(0, 0, 0);
        right: auto; }
      .cs-offcanvas-navigation__link--prev[aria-expanded="true"]:after {
        transform: rotate(-135deg) translate3d(0, 0, 0);
        right: 0; }
      .cs-offcanvas-navigation__link--prev:before, .cs-offcanvas-navigation__link--prev:after {
        left: 15px; }
  .cs-offcanvas-navigation .active > .cs-offcanvas-navigation__link, .cs-offcanvas-navigation .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) .active > a, .cs-offcanvas-navigation__list > li:not(.cs-offcanvas-navigation__item) .cs-offcanvas-navigation .active > a {
    color: #FF4604; }
  .cs-offcanvas-navigation__icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%); }
    .cs-offcanvas-navigation__icon path {
      fill: #FF4604; }
  .cs-offcanvas-navigation__category-icon-wrapper {
    position: absolute;
    width: 2rem;
    top: 50%;
    left: 0;
    transform: translateY(-50%); }
  .cs-offcanvas-navigation__category-icon {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate3d(0, -50%, 0);
    max-height: 2rem; }
  .cs-offcanvas-navigation__product-qty {
    font-weight: 400;
    color: #696969; }
    .cs-offcanvas-navigation__product-qty:before {
      content: '('; }
    .cs-offcanvas-navigation__product-qty:after {
      content: ')'; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-offcanvas {
  position: relative;
  z-index: 300; }
  .cs-offcanvas__drawer, .cs-offcanvas__overlay {
    position: fixed;
    left: 0;
    top: 0; }
    @media (min-width: 48em) {
      .cs-offcanvas__drawer, .cs-offcanvas__overlay {
        top: 0; } }
    @media (min-width: 64em) {
      .cs-offcanvas__drawer, .cs-offcanvas__overlay {
        display: none; } }
    .cs-offcanvas--mini-cart .cs-offcanvas__drawer, .cs-offcanvas--mini-cart .cs-offcanvas__overlay {
      display: block;
      top: 0; }
  .cs-offcanvas__overlay {
    width: 100%;
    height: 100%;
    background-color: transparent;
    transition: background-color 0.3s, transform 1ms 0.3s;
    transform: scale(0);
    cursor: pointer; }
  .cs-offcanvas .overlay--visible {
    transform: scale(1);
    background: rgba(0, 0, 0, 0.7);
    transition: background-color 0.3s; }
  .cs-offcanvas__drawer {
    position: fixed;
    bottom: 0;
    background: #F4F4F4;
    transition: transform 0.3s;
    width: 72%;
    max-width: 280px; }
    .cs-offcanvas--side_left .cs-offcanvas__drawer {
      left: 0;
      right: auto;
      transform: translate3d(-105%, 0, 0); }
    .cs-offcanvas--side_right .cs-offcanvas__drawer {
      left: auto;
      right: 0;
      transform: translate3d(105%, 0, 0); }
  .cs-offcanvas .drawer--visible {
    transform: translate3d(0, 0, 0) !important; }
  .cs-offcanvas__spinner {
    position: absolute;
    width: 6rem;
    height: 6rem;
    left: 50%;
    top: 20%;
    margin-left: -3rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-page-teaser--container {
  position: relative; }
  .cs-page-teaser--container picture {
    top: 0;
    left: 0;
    opacity: 0; }
  .cs-page-teaser--container picture,
  .cs-page-teaser--container img {
    display: block; }
  .cs-page-teaser--container .cms-page__teaser-wrapper {
    height: 351px; }
    @media (max-width: 47.99em) {
      .cs-page-teaser--container .cms-page__teaser-wrapper {
        height: 200px !important; } }
  .cs-page-teaser--container .cms-page__teaser-image {
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 351px; }
    @media (max-width: 47.99em) {
      .cs-page-teaser--container .cms-page__teaser-image {
        min-height: 200px; } }
  .cs-page-teaser--container .cms-page__teaser > picture,
  .cs-page-teaser--container .cms-page__teaser > img {
    display: none;
    visibility: hidden; }
  .cs-page-teaser--container .page-title-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: center; }
  @media (min-width: 48em) {
    .cs-page-teaser--container .cms-page__teaser:after {
      content: '';
      display: block;
      background-image: url("../images/icons/arrow-down@1x.svg");
      background-repeat: no-repeat;
      background-size: contain;
      height: 40px;
      width: 40px;
      position: absolute;
      bottom: 20px;
      left: 50%;
      margin-left: -20px; } }
  @media (max-width: 47.99em) {
    .cs-page-teaser--container .cms-page__teaser-image {
      min-height: 200px !important; } }

.page-title {
  font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 4rem;
  color: #212121;
  font-weight: 700;
  text-transform: uppercase;
  margin: 1rem 0 2rem;
  padding-bottom: 1rem;
  text-transform: uppercase;
  font-weight: 600;
  color: #ffffff; }
  @media (max-width: 47.99em) {
    .page-title {
      font-size: 3rem;
      text-align: center; } }
  .page-title__headline {
    margin: 0;
    padding: 0;
    font-size: inherit;
    font-weight: inherit;
    font-family: inherit;
    display: inline; }
  .page-title__span {
    color: #ffffff;
    font-weight: 600;
    padding: 0; }

.cms-page-view .page-title {
  padding: 0;
  margin: 0; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
@media (max-width: 64em) {
  .columns .column.main {
    padding: 0; } }

.cs-container--page-bottom {
  background: #000; }

.cs-page-bottom {
  padding: 10px 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media (min-width: 48em) {
    .cs-page-bottom {
      flex-wrap: wrap;
      justify-content: flex-start; } }
  @media (min-width: 64em) {
    .cs-page-bottom {
      flex-wrap: nowrap;
      justify-content: center; } }
  .page-print .cs-page-bottom {
    display: none; }
  .cs-page-bottom__image {
    height: 3rem;
    width: auto; }
    .cs-page-bottom__image--circle {
      width: 4.7rem;
      height: 4.7rem;
      min-width: 4.7rem;
      min-height: 4.7rem;
      margin-right: 1rem; }
  .cs-page-bottom__text,
  .cs-page-bottom .copyright {
    font-size: 1.2rem;
    color: #ffffff;
    margin-bottom: 0;
    margin-right: 0.6rem; }
    .cs-page-bottom__text--small,
    .cs-page-bottom .copyright--small {
      font-size: 1rem; }
  .cs-page-bottom__group {
    display: flex;
    align-items: center;
    flex-grow: 1;
    flex-shrink: 1;
    justify-content: space-between; }
    @media (min-width: 48em) {
      .cs-page-bottom__group {
        width: 100%;
        padding: 1rem 0; } }
    @media (min-width: 64em) {
      .cs-page-bottom__group {
        width: auto;
        padding: 0; } }
    .cs-page-bottom__group--info {
      display: none;
      flex-direction: row-reverse; }
      @media (min-width: 48em) {
        .cs-page-bottom__group--info {
          display: flex;
          flex-basis: 40%;
          justify-content: flex-end;
          padding-right: 1.5rem; }
          .cs-page-bottom__group--info .cs-page-bottom__text {
            max-width: 20rem; } }
      @media (min-width: 64em) {
        .cs-page-bottom__group--info {
          flex-basis: 17%;
          padding-right: 0; }
          .cs-page-bottom__group--info .cs-page-bottom__text {
            max-width: 100%; } }
    .cs-page-bottom__group--shipping {
      display: none; }
      @media (min-width: 48em) {
        .cs-page-bottom__group--shipping {
          display: flex;
          flex-basis: 55%;
          padding-left: 1.5rem; } }
      @media (min-width: 64em) {
        .cs-page-bottom__group--shipping {
          flex-basis: 33%;
          padding-left: 4rem; } }
    .cs-page-bottom__group--payment {
      flex-basis: 50%; }
      @media (max-width: 47.99em) {
        .cs-page-bottom__group--payment .cs-page-bottom__text {
          display: none; } }

@media (min-width: 48em) and (max-width: 63.99em) {
  .cs-page-bottom__group--payment {
    flex-basis: 100%; } }
      @media (min-width: 64em) {
        .cs-page-bottom__group--payment {
          padding-left: 4rem; } }
    @media (min-width: 64em) {
      .cs-page-bottom__group--shipping, .cs-page-bottom__group--payment {
        position: relative; }
        .cs-page-bottom__group--shipping:before, .cs-page-bottom__group--payment:before {
          margin: 0 1rem;
          content: '';
          position: absolute;
          left: 1rem;
          top: 50%;
          width: 0.2rem;
          height: 2rem;
          background: #ffffff;
          transform: translateY(-50%); } }
  .cs-page-bottom__logo {
    display: flex;
    flex-shrink: 1;
    height: 2rem; }
    @media (max-width: 63.99em) {
      .cs-page-bottom__logo {
        width: auto; } }
    .cs-page-bottom__logo--hermes {
      width: 12.2rem; }
    .cs-page-bottom__logo--dhl {
      height: auto;
      max-height: 2rem;
      min-width: 8.6rem;
      padding-left: 10px; }
    .cs-page-bottom__logo--paypal {
      width: 6.2rem; }
    .cs-page-bottom__logo--visa {
      height: auto;
      max-height: 2rem;
      min-width: 5.5rem; }
    .cs-page-bottom__logo--mastercard {
      width: 3.3rem; }
    .cs-page-bottom__logo--klarna-sofort {
      height: auto;
      max-height: 2.5rem;
      min-height: 2.5rem; }
    .cs-page-bottom__logo--klarna {
      width: 7rem; }
    .cs-page-bottom__logo--gls {
      width: 5rem; }
    .cs-page-bottom__logo--giropay {
      width: 4.8rem; }
    .cs-page-bottom__logo--ec {
      width: 1.8rem; }
    .cs-page-bottom__logo--paydirekt {
      width: 6rem; }
    .cs-page-bottom__logo--lastschrift {
      width: 6.15rem; }
    .cs-page-bottom__logo--vorkasse {
      width: 8.3rem; }
    .cs-page-bottom__logo--rechnung {
      width: 6.15rem; }
    .cs-page-bottom__logo + .cs-page-bottom__logo {
      margin-left: 0.5rem; }

@media (max-width: 40em) {
  .cs-container--page-pdp-bottom,
  .cs-container--products-carousel {
    padding: 0; } }

.cs-container--page-bottom {
  max-width: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/*
 * Because price-box is used in multiple components like tile, buybox etc,
 * we need to move variables to separate file to have possibility to include them
 * in each component without generate price-box component styles multiple times
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
.price-box {
  display: inline-block; }
  .price-box .price {
    font-weight: 700;
    white-space: nowrap; }
    .price-box .price-label {
      display: none; }
  .price-box .old-price .price {
    font-size: 0.65rem;
    text-decoration: line-through; }
  .price-box .old-price.no-display {
    display: none; }
  .price-box .special-price .price {
    padding-left: 0.4em; }
  .price-box .price {
    color: #000;
    font-size: 1.4rem;
    font-weight: 400;
    margin: 0; }
    .price-box .price-label {
      color: #000;
      display: inline-block;
      font-size: 1.4rem;
      font-weight: 400;
      text-transform: none;
      margin: 0 0 0.3rem 0; }
      .price-box .price-label:after {
        content: ':'; }
      body
p
.price-box .price-label {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
        white-space: nowrap;
        /* 1 */ }
    .price-box .price-msrp_price {
      margin-bottom: 5px; }
  .price-box .price-wrapper {
    display: inline-block;
    text-decoration: none; }
  .price-box .price-from,
  .price-box .price-to {
    display: inline-block;
    margin: 0;
    padding: 0; }
    .price-box .price-from > .price-container,
    .price-box .price-to > .price-container {
      margin-right: 5px;
      font-size: 1.4rem; }
    .price-box .price-from .price-label,
    .price-box .price-to .price-label {
      display: inline-block;
      padding: 0; }
  .price-box .old-price {
    text-decoration: none; }
    .price-box .old-price.map-old-price .price-wrapper {
      text-decoration: none !important; }
    .price-box .old-price .price-wrapper .price {
      text-decoration: line-through !important; }
    .price-box .old-price .price,
    .price-box .old-price .price-wrapper {
      color: #000;
      font-size: 1.4rem;
      font-weight: 400; }
  .price-box .special-price > .price-container {
    margin-right: 5px; }
  .price-box .special-price .price {
    padding-left: 0;
    color: #CC1C3A;
    font-size: 1.4rem;
    font-weight: 400; }
  .price-box .special-price.active .price {
    color: #CC1C3A; }
  .price-box .price-from {
    margin-right: 1rem; }
  .cs-price--pdp_dailydeal-countdown .price-box:not(.price-final_price_without_daily_deal) {
    display: none; }
  .price-box .regular-price-container:not(.with-special) .map-old-price {
    display: block; }

.cs-bundle-box__add .price-as-configured {
  margin: 1rem 0 0; }

.minimal-price-link {
  margin-top: 0 !important;
  margin-right: 1.5rem;
  position: relative; }
  .minimal-price-link:after {
    color: #000;
    display: block;
    content: '-';
    right: -1rem;
    top: 0;
    position: absolute; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/*
 * Because price-box is used in multiple components like tile, buybox etc,
 * we need to move variables to separate file to have possibility to include them
 * in each component without generate price-box component styles multiple times
*/
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/***
 * Using psuedo elements to maintain an elements aspect ratio, even as it scales
 * It's using only for IE11 and Edge (version which doesn't support native CSS grid) browsers
 * For browsers which support native CSS grid, we are using mixins contain `reset` in mixin name
 * to override default mixins (progressive enhancement)
 * https://css-tricks.com/snippets/sass/maintain-aspect-ratio-mixin/
 * @param {number} $width: width of the element;
 * @param {number} $height: height of the element;
 * @param {string} $contentClass: class of the direct child element to be positioned absolutely;
 * @param {boolean} $autoposition: tells if item shall take 100% of parent size or if it can be wider/higher if needed;
 */
/**
 * String to number converter
 * https://www.sassmeister.com/gist/9fa19d254864f33d4a80
 * @author Hugo Giraudel
 * @param {String | Number} $value - Value to be parsed
 * @return {Number}
 */
/***
 * Remove browser's margins, paddings and list style rules
 */
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
.cs-product-tile {
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: 3px;
  background-color: #ffffff; }
  @media (min-width: 64em) {
    .cs-product-tile:hover {
      z-index: 5;
      transition: z-index 0.0001s; } }
  .cs-product-tile--clickable:hover {
    cursor: pointer; }
  .cs-product-tile--hidden .cs-product-tile__main,
  .cs-product-tile--hidden .cs-product-tile__addons {
    visibility: hidden !important; }
  .cs-product-tile--grid.cs-product-tile--static .cs-product-tile__addons {
    display: none; }
  .cs-product-tile__container {
    display: flex;
    height: 100%;
    width: 100%; }
    .cs-product-tile--grid .cs-product-tile__container {
      flex-direction: column;
      padding: 1.2rem; }
  .cs-product-tile--list .cs-product-tile__link {
    display: flex;
    width: 100%; }
  .cs-product-tile--grid .cs-product-tile__link {
    display: block;
    height: 100%; }
  .cs-product-tile__thumbnail {
    padding: 0;
    display: flex; }
  .cs-product-tile__thumbnail-link {
    display: block;
    position: relative;
    overflow: hidden; }
    .cs-product-tile--grid .cs-product-tile__thumbnail-link {
      width: 100%; }
    .cs-product-tile__thumbnail-link:hover, .cs-product-tile__thumbnail-link:visited {
      color: inherit;
      text-decoration: inherit; }
  .cs-product-tile__figure {
    margin: 0;
    padding: 0 0 15px;
    height: 100%;
    overflow: hidden; }
    .cs-product-tile--grid .cs-product-tile__figure {
      width: 100%;
      justify-content: flex-start;
      align-items: center;
      top: 0;
      position: relative; }
      .cs-product-tile--grid .cs-product-tile__figure:before {
        display: block;
        content: '';
        width: 100%;
        padding-top: 100%; }
      .cs-product-tile--grid .cs-product-tile__figure .cs-product-tile__thumbnail-link {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }
  .cs-product-tile__image {
    width: auto;
    height: auto;
    max-width: 100%;
    margin: auto; }
    .cs-product-tile--grid .cs-product-tile__image {
      position: absolute;
      top: 0;
      left: 0; }
    .cs-product-tile--list .cs-product-tile__image {
      max-height: 100%;
      position: relative !important;
      margin-top: 0; }
  .cs-product-tile__badges {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap; }
    .cs-product-tile--list .cs-product-tile__badges--list {
      display: none; }
    .cs-product-tile--grid .cs-product-tile__badges {
      position: absolute;
      z-index: 2;
      top: 0;
      right: 0;
      flex-direction: column; }
    .cs-product-tile--list .cs-product-tile__badges {
      margin: 0; }
  .cs-product-tile__badge {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    transform: none;
    background-color: #FF4604;
    color: #ffffff;
    border: 0;
    border-radius: 0;
    padding: 10px 15px 10px 25px;
    font-size: 1.3rem;
    font-weight: 600;
    min-height: 2em;
    text-transform: uppercase;
    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px;
    max-width: 125px; }
    @media (max-width: 47.99em) {
      .cs-product-tile__badge {
        font-size: 10px;
        max-width: 88px;
        padding: 8px 13px; } }
    @media (min-width: 48.01em) {
      .cs-product-tile__badge {
        font-size: 13px; } }
    .cs-product-tile__badge--discount {
      background-color: #FF4604;
      color: #ffffff; }
      .cs-product-tile__badge--discount .cs-product-tile__badge-text {
        line-height: normal;
        transform: none;
        text-align: right; }
        .cs-product-tile__badge--discount .cs-product-tile__badge-text + .cs-product-tile__badge--discount .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
    .cs-product-tile__badge--sale {
      background-color: #CC1C3A;
      color: #ffffff; }
      .cs-product-tile__badge--sale .cs-product-tile__badge-text {
        line-height: normal;
        transform: none;
        text-align: right; }
        .cs-product-tile__badge--sale .cs-product-tile__badge-text + .cs-product-tile__badge--sale .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
    .cs-product-tile__badge--new {
      background-color: #A9C546;
      color: #ffffff; }
      .cs-product-tile__badge--new .cs-product-tile__badge-text {
        line-height: normal;
        transform: none;
        text-align: right; }
        .cs-product-tile__badge--new .cs-product-tile__badge-text + .cs-product-tile__badge--new .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
    .cs-product-tile__badge--free-shipping {
      background-color: #A9C546;
      color: #ffffff; }
      .cs-product-tile__badge--free-shipping .cs-product-tile__badge-text {
        line-height: normal;
        transform: none;
        text-align: right; }
        .cs-product-tile__badge--free-shipping .cs-product-tile__badge-text + .cs-product-tile__badge--free-shipping .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
    .cs-product-tile__badge--popular {
      background-color: #A9C546;
      color: #ffffff; }
      .cs-product-tile__badge--popular .cs-product-tile__badge-text {
        line-height: normal;
        transform: none;
        text-align: right; }
        .cs-product-tile__badge--popular .cs-product-tile__badge-text + .cs-product-tile__badge--popular .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
    .cs-product-tile__badge--dailydeal {
      background-color: #CC1C3A;
      color: #ffffff; }
      .cs-product-tile__badge--dailydeal .cs-product-tile__badge-text {
        line-height: normal;
        transform: none;
        text-align: right; }
        .cs-product-tile__badge--dailydeal .cs-product-tile__badge-text + .cs-product-tile__badge--dailydeal .cs-product-tile__badge-text {
          margin-left: 0.5rem; }
  .cs-product-tile__badge-item {
    display: flex;
    flex-direction: row;
    justify-content: flex-end; }
    .cs-product-tile--grid .cs-product-tile__badge-item {
      margin: 0 0 0.5rem;
      width: 100%; }
    .cs-product-tile--list .cs-product-tile__badge-item {
      margin: 0 0 0.3rem 0; }
    .cs-product-tile__badge-item:empty {
      display: none; }
  .cs-product-tile__badge-text {
    line-height: normal;
    transform: none;
    text-align: right; }
    .cs-product-tile__badge-text + .cs-product-tile__badge-text {
      margin-left: 0.5rem; }
  .cs-product-tile--list .cs-product-tile__gallery {
    display: none !important; }
  .cs-product-tile__content {
    padding: 0;
    display: flex;
    align-items: stretch;
    border-top: 1px solid #EFEFF0; }
    .cs-product-tile--grid .cs-product-tile__content {
      flex-direction: column;
      flex: 1 1; }
  .cs-product-tile--grid .cs-product-tile__addons {
    display: none; }
  .cs-product-tile__addons-top {
    width: 100%; }
  .cs-product-tile__addons-sides {
    display: flex;
    width: 100%; }
  .ie11 .cs-product-tile__addons-right {
    width: 30%; }
  .cs-product-tile--grid .cs-product-tile__addons-right {
    align-items: flex-end; }
  .cs-product-tile__addons-bottom {
    width: 100%; }
  .cs-product-tile__addons-left {
    padding-right: 1rem;
    flex: 1 1 auto;
    display: flex;
    justify-content: flex-end;
    flex-direction: column; }
    .ie11 .cs-product-tile__addons-left {
      width: 70%; }
    .cs-product-tile--grid .cs-product-tile__addons-left {
      align-items: flex-start; }
  .cs-product-tile__review--grid {
    margin: 1rem 0 0; }
  .cs-product-tile__review:empty {
    margin: 0 !important; }
  .cs-product-tile--grid .cs-product-tile__review,
  .cs-product-tile--list .cs-product-tile__review {
    display: none; }
  .cs-product-tile__stock {
    display: flex;
    align-items: center;
    border-radius: 25px;
    padding: 0 10px;
    margin-right: 2px;
    color: #ffffff;
    font-size: 1.2rem;
    line-height: 2.4rem; }
    .cs-product-tile__stock--in {
      background-color: #A9C546; }
      .cs-product-tile__stock--in:before {
        content: '';
        display: inline-block;
        width: 12px;
        height: 10px;
        background: url("../images/icons/tick-white.svg");
        background-repeat: no-repeat;
        background-size: contain;
        margin-right: 2px; }
    .cs-product-tile__stock--out {
      background-color: #800000; }
      .cs-product-tile__stock--out:before {
        content: '';
        display: inline-block;
        width: 12px;
        height: 10px;
        background: url("../images/icons/out.svg");
        background-repeat: no-repeat;
        background-size: contain;
        margin-right: 2px; }
    .cs-product-tile--grid .cs-product-tile__stock {
      margin: 0; }
  .cs-product-tile--list .cs-product-tile__dailydeal--grid {
    display: none !important; }
  .cs-product-tile--grid .cs-product-tile__dailydeal {
    margin: 0; }
  .cs-product-tile--list .cs-product-tile__dailydeal {
    margin: 1rem 0 0 0; }
  .cs-product-tile__qty {
    margin-bottom: 1rem;
    width: 11rem;
    margin-left: auto; }
  .cs-product-tile__main {
    position: relative;
    display: flex;
    align-items: stretch; }
    .cs-product-tile--grid .cs-product-tile__main {
      flex-direction: column;
      height: 100%;
      justify-content: flex-start; }
      @media (min-width: 40.01em) {
        .cs-product-tile--grid .cs-product-tile__main {
          padding: 0 15px; } }
      @media (max-width: 40em) {
        .cs-product-tile--grid .cs-product-tile__main {
          justify-content: flex-start;
          padding: 0 5px; } }
  .cs-product-tile__details {
    flex-shrink: 0; }
  .cs-product-tile__swatches {
    display: flex; }
    .cs-product-tile--grid .cs-product-tile__swatches {
      margin: 1.5rem 0 1rem;
      min-height: 2.6rem; }
      .cs-product-tile--grid .cs-product-tile__swatches,
      .cs-product-tile--grid .cs-product-tile__swatches .swatch-attribute-options {
        justify-content: flex-start; }
    .cs-product-tile__swatches--list:empty {
      margin: 0 !important; }
    .ie11 .cs-product-tile__swatches {
      width: 100%; }
  .cs-product-tile__brand {
    height: 2rem;
    margin-top: 1.2rem;
    text-align: center; }
    .cs-product-tile__brand--empty {
      height: 0; }
  .cs-product-tile__brand-text {
    font-size: 1.2rem;
    color: #3E3E3E; }
  .cs-product-tile__name {
    line-height: 2.5rem;
    font-weight: 600;
    font-size: 1.4rem;
    margin-bottom: 5px;
    overflow: hidden;
    width: 100%; }
    @media (max-width: 40em) {
      .cs-product-tile__name {
        font-size: 13px;
        line-height: 18px; } }
    .cs-product-tile--grid .cs-product-tile__name {
      margin: 0;
      text-align: left; }
    .cs-product-tile--grid .cs-product-tile__details > .cs-product-tile__name {
      margin-top: 1.2rem; }
      @media (max-width: 40em) {
        .cs-product-tile--grid .cs-product-tile__details > .cs-product-tile__name {
          margin-top: 5px;
          margin-bottom: 10px; } }
    .cs-product-tile--grid .cs-product-tile__details > .cs-product-tile__brand + .cs-product-tile__name {
      margin-top: 0; }
    .cs-product-tile--grid .cs-product-tile__details > .cs-product-tile__brand--empty + .cs-product-tile__name {
      height: 7.2rem; }
  .cs-product-tile__name-link {
    color: #212121;
    transition: color 0.15s linear;
    /* disabled because autoprefixer can't build this */
    /* stylelint-disable value-no-vendor-prefix */
    /* stylelint-disable property-no-vendor-prefix */
    /* autoprefixer: ignore next */
    display: -webkit-box;
    /* autoprefixer: ignore next */
    -webkit-box-orient: vertical;
    /* autoprefixer: ignore next */
    -webkit-line-clamp: 2;
    /* autoprefixer: ignore next */
    line-clamp: 2;
    max-width: 100%;
    /* stylelint-enable value-no-vendor-prefix */
    /* stylelint-enable property-no-vendor-prefix */ }
    .cs-product-tile__name-link:visited {
      color: #212121; }
    .cs-product-tile__name-link:hover {
      color: #FF7442;
      text-decoration: none; }
  .cs-product-tile__description {
    display: none;
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.4;
    color: #696969;
    margin: 0 0 1rem; }
    .cs-product-tile--grid .cs-product-tile__description {
      display: none; }
    .cs-product-tile__description:empty {
      margin: 0 !important; }
  .cs-product-tile__additional--list {
    margin: auto 0 0 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%; }
    @media (min-width: 48em) {
      .cs-product-tile__additional--list {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between; } }
    .cs-products-list--with-sidebar .cs-product-tile__additional--list {
      flex-direction: column;
      align-items: flex-start; }
      @media (min-width: 64em) {
        .cs-products-list--with-sidebar .cs-product-tile__additional--list {
          flex-direction: row;
          align-items: flex-end;
          justify-content: space-between; } }
  .ie11 .cs-product-tile__addto {
    width: 100%; }
  .cs-product-tile--grid .cs-product-tile__addto--grid {
    display: none; }
  .cs-product-tile--list .cs-product-tile__addto--grid {
    display: none; }
  .cs-product-tile--list .cs-product-tile__addto--list {
    display: none; }
  .cs-product-tile--grid .cs-product-tile__addto--list {
    display: none; }
  .cs-product-tile--grid .cs-product-tile__addto {
    margin: 1rem 0 0; }
  .cs-product-tile--list .cs-product-tile__addto {
    margin: 1rem 0 0; }
  .cs-product-tile__addto .cs-links-block-addto__link {
    font-size: 1.3rem; }
  .cs-dashboard__bottom-wishlist .cs-product-tile__addto,
  .cs-dashboard__wishlist-products-grid .cs-product-tile__addto {
    display: none; }
  .cs-product-tile__addto:empty {
    margin: 0 !important; }
  .ie11 .cs-product-tile__addto .cs-links-block-addto__item--wishlist {
    width: 100%; }
  .ie11 .cs-product-tile__addto .cs-links-block-addto--grid {
    width: 100%; }
  .cs-product-tile--grid .cs-product-tile__addtocart {
    margin: 1rem 0 0; }
  .cs-product-tile--list .cs-product-tile__addtocart {
    margin: 0.5rem 0 0; }
  .cs-product-tile__addtocart-button {
    width: 100%; }
  .cs-product-tile__wishlist-remove-icon {
    position: absolute;
    top: 0;
    right: 0;
    background: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1.2rem; }
    @media (pointer: fine) {
      .cs-product-tile__wishlist-remove-icon {
        display: none; } }
  .cs-product-tile__wishlist-remove-icon-image {
    width: 1.2rem;
    height: 1.2rem;
    fill: #6E6E6E; }
  .cs-product-tile__wishlist-comment {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
    .cs-product-tile--list .cs-product-tile__wishlist-comment {
      border: 0;
      clip: rect(0 0 0 0);
      height: 1px;
      margin: -1px;
      overflow: hidden;
      padding: 0;
      position: absolute;
      width: 1px;
      white-space: nowrap;
      /* 1 */ }
  .cs-product-tile__wishlist-actions {
    margin: 1rem 0 0;
    display: flex;
    justify-content: space-between; }
  .cs-product-tile__price {
    line-height: 1.2; }
    @media (max-width: 40em) {
      .cs-product-tile__price {
        font-size: 13px; } }
    .cs-product-tile--grid .cs-product-tile__price--grid {
      display: block; }
    .cs-product-tile--list .cs-product-tile__price--list {
      display: none; }
    .cs-product-tile__price .price-box {
      display: flex;
      flex-direction: column; }
      .cs-product-tile__price .price-box .price-label {
        margin: 0 3px 0 0; }
      .cs-product-tile__price .price-box .price {
        font-size: 1.4rem;
        font-weight: 400;
        color: #000; }
        @media (max-width: 40em) {
          .cs-product-tile__price .price-box .price {
            font-size: 13px;
            letter-spacing: 0.5px; } }
      .cs-product-tile__price .price-box .map-old-price .price {
        font-size: 1.4rem; }
      .cs-product-tile__price .price-box .old-price .price {
        font-size: 1.4rem;
        font-weight: 400;
        color: #000;
        text-decoration: none; }
        @media (max-width: 40em) {
          .cs-product-tile__price .price-box .old-price .price {
            font-size: 13px;
            letter-spacing: 0.5px; } }
      .cs-product-tile__price .price-box .with-special-price {
        margin-right: 4px; }
      .cs-product-tile__price .price-box .special-price,
      .cs-product-tile__price .price-box .with-special-price {
        margin-right: 5px; }
        .cs-product-tile__price .price-box .special-price .price,
        .cs-product-tile__price .price-box .special-price .price-label,
        .cs-product-tile__price .price-box .with-special-price .price,
        .cs-product-tile__price .price-box .with-special-price .price-label {
          font-size: 1.4rem;
          font-weight: 400;
          color: #CC1C3A; }
          @media (max-width: 40em) {
            .cs-product-tile__price .price-box .special-price .price,
            .cs-product-tile__price .price-box .special-price .price-label,
            .cs-product-tile__price .price-box .with-special-price .price,
            .cs-product-tile__price .price-box .with-special-price .price-label {
              font-size: 13px;
              letter-spacing: 0.5px; } }
      .cs-product-tile__price .price-box .minimal-price {
        margin: 0;
        display: flex; }
      .cs-product-tile--grid .cs-product-tile__price .price-box {
        margin: 0;
        align-items: flex-start;
        justify-content: flex-start; }
        .cs-product-tile--grid .cs-product-tile__price .price-box .minimal-price {
          align-items: flex-end; }
        .cs-product-tile--grid .cs-product-tile__price .price-box .old-price .price {
          margin-right: 1rem; }
    .cs-product-tile__price--dailydeal-countdown .price-box:not(.price-final_price_without_daily_deal) {
      display: none; }
    .cs-product-tile__price--dailydeal-countdown .price-box.price-box--visible {
      display: flex; }

@media (max-width: 40em) {
  .cs-container--products-carousel .cs-product-tile__container {
    padding: 1.5rem 3rem; } }

@media (max-width: 40em) {
  .cs-container--products-carousel .cs-products-carousel__nav--prev {
    left: -14px; } }

@media (max-width: 40em) {
  .cs-container--products-carousel .cs-products-carousel__nav--next {
    right: -14px; } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-pwa-notification-panel {
  display: none; }
  @media (min-width: 48em) {
    .cs-pwa-notification-panel {
      flex-wrap: nowrap; } }
  .cs-pwa-notification-panel--request .cs-pwa-notification-panel__icon--request {
    display: block; }
  .cs-pwa-notification-panel--request .cs-pwa-notification-panel__message--request {
    display: flex; }
  .cs-pwa-notification-panel--request .cs-pwa-notification-panel__action--request {
    display: block; }
  .cs-pwa-notification-panel--browser .cs-pwa-notification-panel__icon--browser {
    display: block; }
  .cs-pwa-notification-panel--browser .cs-pwa-notification-panel__message--browser {
    display: flex; }
  .cs-pwa-notification-panel--browser .cs-pwa-notification-panel__action--browser {
    display: block; }
  .cs-pwa-notification-panel--enabled .cs-pwa-notification-panel__icon--enabled {
    display: block; }
  .cs-pwa-notification-panel--enabled .cs-pwa-notification-panel__message--enabled {
    display: flex; }
  .cs-pwa-notification-panel__wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    position: relative;
    background: #ffffff;
    padding: 2rem 1.5rem;
    border: none;
    border-radius: 3px;
    box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.1), -2px -2px 3px rgba(0, 0, 0, 0.1);
    margin: 1.5rem 0; }
  .cs-pwa-notification-panel__icon-wrapper {
    margin: 0 1.5rem; }
    @media (max-width: 39.99em) {
      .cs-pwa-notification-panel__icon-wrapper {
        display: none; } }
  .cs-pwa-notification-panel__icon {
    display: none;
    width: 3.5rem;
    height: 3.5rem; }
    .cs-pwa-notification-panel__icon--animate {
      -webkit-animation: ringing 6s infinite;
              animation: ringing 6s infinite; }
  .cs-pwa-notification-panel__message-wrapper {
    margin: 0 1.5rem;
    flex: 1 1; }
    @media (max-width: 47.99em) {
      .cs-pwa-notification-panel__message-wrapper {
        padding-right: 3rem; } }
  .cs-pwa-notification-panel__message {
    display: none;
    flex-direction: column; }
    .cs-pwa-notification-panel__message--request .cs-pwa-notification-panel__message-title {
      color: #000; }
    .cs-pwa-notification-panel__message--browser .cs-pwa-notification-panel__message-title {
      color: #000; }
    .cs-pwa-notification-panel__message--enabled .cs-pwa-notification-panel__message-title {
      color: #A9C546; }
    .cs-pwa-notification-panel__message-title {
      font-size: 2rem;
      font-weight: 700; }
    .cs-pwa-notification-panel__message-description {
      font-size: 1.4rem;
      font-weight: 400;
      color: #3E3E3E; }
  .cs-pwa-notification-panel__actions {
    margin: 0 1.5rem; }
    @media (max-width: 47.99em) {
      .cs-pwa-notification-panel__actions {
        display: flex;
        justify-content: center;
        flex: 1 1 100%;
        margin-top: 2rem; } }
  .cs-pwa-notification-panel__action {
    display: none; }
    .cs-pwa-notification-panel__action--browser {
      width: 30rem; }
      @media (max-width: 47.99em) {
        .cs-pwa-notification-panel__action--browser {
          width: 100%;
          max-width: 30rem; } }
  @media (max-width: 39.99em) {
    .cs-pwa-notification-panel__button {
      width: 100%; } }
  .cs-pwa-notification-panel__button:first-of-type {
    margin: 0 0 0.5rem; }
    @media (min-width: 40em) {
      .cs-pwa-notification-panel__button:first-of-type {
        margin: 0 1.5rem 0; } }
  .cs-pwa-notification-panel__button--accept {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color; }
    .cs-pwa-notification-panel__button--accept.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-pwa-notification-panel__button--accept.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-pwa-notification-panel__button--accept::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-pwa-notification-panel__button--accept, .cs-pwa-notification-panel__button--accept:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF4604; }
      .cs-pwa-notification-panel__button--accept *, .cs-pwa-notification-panel__button--accept:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-pwa-notification-panel__button--accept:hover:not([disabled]), .cs-pwa-notification-panel__button--accept:focus:not([disabled]), .cs-pwa-notification-panel__button--accept:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .cs-pwa-notification-panel__button--accept:hover:not([disabled]) *, .cs-pwa-notification-panel__button--accept:focus:not([disabled]) *, .cs-pwa-notification-panel__button--accept:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-pwa-notification-panel__button--accept[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-pwa-notification-panel__button--accept .cs-pwa-notification-panel__button-span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
    .cs-pwa-notification-panel__button--accept .cs-pwa-notification-panel__button-icon {
      max-width: 1em;
      max-height: 1.4rem;
      z-index: 2;
      height: auto;
      width: 100%;
      display: none; }
  .cs-pwa-notification-panel__button--decline {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color; }
    .cs-pwa-notification-panel__button--decline.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-pwa-notification-panel__button--decline.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-pwa-notification-panel__button--decline::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-pwa-notification-panel__button--decline, .cs-pwa-notification-panel__button--decline:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #000; }
      .cs-pwa-notification-panel__button--decline *, .cs-pwa-notification-panel__button--decline:visited * {
        color: #ffffff;
        fill: #FF4604; }
    .cs-pwa-notification-panel__button--decline:hover:not([disabled]), .cs-pwa-notification-panel__button--decline:focus:not([disabled]), .cs-pwa-notification-panel__button--decline:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #3E3E3E; }
      .cs-pwa-notification-panel__button--decline:hover:not([disabled]) *, .cs-pwa-notification-panel__button--decline:focus:not([disabled]) *, .cs-pwa-notification-panel__button--decline:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-pwa-notification-panel__button--decline[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .cs-pwa-notification-panel__button--decline .cs-pwa-notification-panel__button-span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
    .cs-pwa-notification-panel__button--decline .cs-pwa-notification-panel__button-icon {
      max-width: 1em;
      max-height: 1.4rem;
      z-index: 2;
      height: auto;
      width: 100%;
      display: none; }
  .cs-pwa-notification-panel__permission {
    display: flex;
    flex-direction: column;
    border: none;
    border-radius: 3px;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1), -2px -2px 5px rgba(0, 0, 0, 0.1);
    font-size: 1.2rem;
    color: #3E3E3E;
    padding: 1rem 2rem; }
    .cs-pwa-notification-panel__permission-icon {
      width: 1.2rem;
      height: 1.2rem;
      margin-right: 0.5rem; }
    .cs-pwa-notification-panel__permission-button-wrapper {
      display: flex;
      justify-content: flex-end;
      margin-top: 1rem; }
    .cs-pwa-notification-panel__permission-button {
      padding: 0.2rem 2rem;
      margin: 0 0.2rem;
      border: 1px solid #000;
      color: #000;
      font-size: 1.1rem; }
      .cs-pwa-notification-panel__permission-button--block {
        opacity: 0.3; }
  .cs-pwa-notification-panel__close {
    margin: 0 1.5rem; }
    @media (max-width: 47.99em) {
      .cs-pwa-notification-panel__close {
        position: absolute;
        top: 2rem;
        right: 1.5rem; } }
    .cs-pwa-notification-panel__close-icon {
      display: block;
      width: 1.5rem;
      height: 1.5rem;
      fill: #3E3E3E; }
    .cs-pwa-notification-panel__close:hover .cs-pwa-notification-panel__close-icon {
      fill: #000; }

@-webkit-keyframes ringing {
  0%,
  12% {
    transform: scale(1) rotate(0deg); }
  3%,
  7% {
    transform: scale(1.3) rotate(27deg); }
  5%,
  9% {
    transform: scale(1.3) rotate(-27deg); } }

@keyframes ringing {
  0%,
  12% {
    transform: scale(1) rotate(0deg); }
  3%,
  7% {
    transform: scale(1.3) rotate(27deg); }
  5%,
  9% {
    transform: scale(1.3) rotate(-27deg); } }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
.cs-qty-increment {
  position: relative;
  display: flex;
  flex-wrap: wrap; }
  .cs-qty-increment--wishlist {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */ }
  .cs-qty-increment__input {
    font-size: 1.3rem;
    line-height: 1.275em;
    padding: 11px 10px;
    color: #212121;
    background: #ffffff;
    border-radius: 3px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    transition: border-color 0.5s;
    margin: 0 0 0.2em;
    width: 100%;
    max-height: 40px;
    background-clip: padding-box;
    font-family: inherit;
    font-size: inherit;
    text-align: center;
    margin: 0;
    padding: 6px 5px;
    font-size: 1.6rem;
    border-radius: 3px;
    width: 0;
    min-width: 2ch;
    flex: 1 1;
    order: 2; }
    .cs-qty-increment__input:hover:not([disabled]), .cs-qty-increment__input:focus:not([disabled]) {
      border: 1px solid #FF4604;
      box-shadow: none; }
    .cs-qty-increment__input::-moz-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-qty-increment__input:-ms-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-qty-increment__input::-ms-input-placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-qty-increment__input::placeholder {
      opacity: 1;
      color: #6E6E6E; }
    .cs-qty-increment__input[disabled] {
      opacity: 0.65; }
    .ie11 .cs-qty-increment__input {
      flex-basis: auto; }
    .cs-qty-increment__input, .cs-qty-increment__input:hover:not([disabled]), .cs-qty-increment__input:focus:not([disabled]) {
      border-color: #dcdcdc; }
    .cs-qty-increment__input.mage-error {
      border-color: #CC1C3A !important; }
      .cs-qty-increment__input.mage-error ~ .cs-qty-increment__button {
        border-color: #CC1C3A !important; }
    .cs-qty-increment__input + .mage-error {
      order: 3;
      width: 100%; }
  .cs-qty-increment__button {
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s;
    will-change: transform, background-color, border-color, fill;
    max-width: 3rem;
    background-color: #ffffff;
    flex: 1 1 2rem;
    position: relative;
    padding-left: 0.5em;
    padding-right: 0.5em;
    border-radius: 3px;
    min-width: 34px; }
    .cs-qty-increment__button, .cs-qty-increment__button:visited, .cs-qty-increment__button:focus {
      background-color: #ffffff;
      border: 1px solid #dcdcdc; }
      .cs-qty-increment__button *, .cs-qty-increment__button:visited *, .cs-qty-increment__button:focus * {
        fill: #000; }
    .cs-qty-increment__button:hover, .cs-qty-increment__button:active {
      background-color: #ffffff;
      border: 1px solid #FF4604;
      cursor: pointer; }
      .cs-qty-increment__button:hover *, .cs-qty-increment__button:active * {
        fill: #000; }
    .cs-qty-increment__button--decrement {
      order: 1;
      margin-right: 13px; }
      @media (max-width: 48em) {
        .cs-qty-increment__button--decrement {
          margin-right: 6px; } }
    .cs-qty-increment__button--increment {
      order: 2;
      margin-left: 13px; }
      @media (max-width: 48em) {
        .cs-qty-increment__button--increment {
          margin-left: 6px; } }
  .cs-qty-increment__icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    .cs-qty-increment__icon--decrement {
      width: auto;
      height: auto; }
    .cs-qty-increment__icon--increment {
      width: auto;
      height: auto; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.ui-slider-horizontal {
  background: #dcdcdc;
  height: 1rem;
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  position: relative;
  border-radius: 1rem; }
  .ui-slider-horizontal .ui-slider-handle {
    width: 1rem;
    height: 1rem;
    background: #FF4604;
    transition: transform 0.3s, background 0.3s;
    cursor: pointer;
    position: absolute;
    border-radius: 50%;
    margin-left: -0.5rem; }
    .ui-slider-horizontal .ui-slider-handle.ui-state-hover, .ui-slider-horizontal .ui-slider-handle.ui-state-active, .ui-slider-horizontal .ui-slider-handle.ui-state-focus {
      transform: scale(1.5);
      background: #FF7442; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
.cs-social-media-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  padding: 1.5rem 0 1.5rem;
  justify-content: center;
  align-items: center; }
  @media (min-width: 48em) {
    .cs-social-media-list {
      justify-content: flex-start; } }
  @media (min-width: 48em) {
    .cs-social-media-list {
      padding-bottom: 0;
      padding-top: 0; } }
  .cs-social-media-list__item {
    margin: 0 0.4em;
    padding: 0; }
  .cs-social-media-list__link {
    display: flex;
    position: relative;
    height: 3.5em;
    min-width: 4em;
    background: #212121;
    color: inherit;
    border-radius: 3px;
    transform: skew(-18deg);
    transition: background-color 0.15s linear; }
    .cs-social-media-list__link:hover {
      background: #FF7442; }
  .cs-social-media-list__icon {
    position: absolute;
    fill: #ffffff;
    transform: translate3d(-55%, -55%, 0) skew(18deg);
    transition: fill 0.15s linear;
    top: 50%;
    left: 55%; }
    .cs-social-media-list__item--fb .cs-social-media-list__icon {
      width: 0.9em;
      height: 1.8em; }
    .cs-social-media-list__item--tw .cs-social-media-list__icon {
      width: 2.5em;
      height: 2em; }
    .cs-social-media-list__item--yt .cs-social-media-list__icon {
      width: 1.8em;
      height: 2.1em; }
    .cs-social-media-list__item--gp .cs-social-media-list__icon {
      width: 2em;
      height: 2em;
      margin-top: 0.1em; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-star-rating {
  display: flex;
  align-items: center; }
  .cs-star-rating__stars {
    display: inline-flex;
    padding: 0;
    width: 7.2rem;
    justify-content: space-between; }
    .cs-star-rating--summary .cs-star-rating__stars {
      width: 10rem;
      padding: 0; }
    .cs-star-rating--review .cs-star-rating__stars {
      width: 7.2rem;
      padding: 0; }
  .cs-star-rating__star {
    display: flex;
    width: 1.5rem;
    height: 100%;
    fill: #6E6E6E; }
    .cs-star-rating__star--active {
      fill: #fcb739; }
    .cs-star-rating__star--half-active .star-left {
      fill: #fcb739; }
    .cs-star-rating__star--half-active .star-rigth {
      fill: #6E6E6E; }
    .cs-star-rating--summary .cs-star-rating__star {
      width: 2rem; }
      .ie11 .cs-star-rating--summary .cs-star-rating__star {
        height: calc( 2rem / 1.05); }
    .cs-star-rating--review .cs-star-rating__star {
      width: 1.5rem; }
      .ie11 .cs-star-rating--review .cs-star-rating__star {
        height: calc( 1.5rem / 1.05); }
    .cs-star-rating__star path {
      fill-opacity: 1;
      fill: inherit; }
    .ie11 .cs-star-rating__star {
      height: calc( 1.5rem / 1.05); }
  .cs-star-rating img {
    width: 1.5rem;
    height: 100%; }
  .cs-star-rating__form-stars {
    display: inline-flex;
    padding: 0; }
  .cs-star-rating__form-star {
    opacity: 1;
    fill: #6E6E6E;
    width: 100%; }
    .cs-star-rating__form-star--active {
      fill: #fcb739; }
    .cs-star-rating__form-star path {
      fill-opacity: 1;
      fill: inherit; }
    .cs-star-rating__form-star:nth-last-of-type() {
      padding-right: 0; }
    .cs-star-rating__form-stars:hover .cs-star-rating__form-star {
      fill: #fcb739; }
    .cs-star-rating__form-stars label:hover ~ label .cs-star-rating__form-star {
      fill: #6E6E6E; }
    .ie11 .cs-star-rating__form-star {
      height: calc( 2rem / 1.05); }
  .cs-star-rating__text {
    display: inline-block;
    color: #696969;
    padding-left: 0.5em;
    line-height: 1;
    padding-top: calc(1.5rem * 0.1); }
    .cs-star-rating__text--count:before {
      content: '('; }
    .cs-star-rating__text--count:after {
      content: ')'; }
  .cs-star-rating__text-annotation {
    display: inline;
    line-height: 1; }
    .cs-product-tile .cs-star-rating__text-annotation {
      display: none; }
  .cs-star-rating__label {
    color: #212121;
    font-size: 0.75em;
    font-weight: 700;
    text-transform: uppercase;
    padding-top: calc(1.5rem * 0.2); }

.review-control-vote .rating-1:before {
  content: none; }

.review-control-vote .rating-2:before {
  content: none; }

.review-control-vote .rating-3:before {
  content: none; }

.review-control-vote .rating-4:before {
  content: none; }

.review-control-vote .rating-5:before {
  content: none; }

.review-control-vote:before {
  content: none; }

.review-control-vote label {
  position: static;
  width: 3rem;
  padding-right: 1rem;
  line-height: 0; }
  @media (min-width: 48em) {
    .review-control-vote label {
      width: 2.6rem;
      padding-right: 0.6rem; } }
  .review-control-vote label:last-child {
    width: 2rem;
    padding-right: 0; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
[class^='swatch-opt-'] {
  font-size: 0.45em;
  min-height: calc( 1 * (2.8em + 8px));
  opacity: 1;
  transition: opacity 0.3s;
  pointer-events: none; }
  @media (min-width: 48.01em) {
    [class^='swatch-opt-'] {
      pointer-events: auto; } }
  [class^='swatch-opt-']:empty {
    opacity: 0; }
  .ie11 [class^='swatch-opt-'] {
    width: 100%; }

.swatch-opt {
  font-size: 0.9em; }
  .swatch-opt .mage-error {
    font-size: 1em;
    width: 100%;
    margin-left: calc(10rem + 1.5rem); }
    @media (min-width: 64em) {
      .swatch-opt .mage-error {
        margin-left: calc( 11rem + 1.5rem); } }

.swatch-attribute {
  display: flex;
  width: 100%;
  overflow: hidden;
  align-items: center !important;
  flex-wrap: wrap; }
  .swatch-attribute.swatch-layered {
    font-size: 0.8em; }
  .swatch-attribute + .swatch-attribute {
    margin-top: 0.8em; }

.swatch-attribute-label {
  text-transform: uppercase;
  line-height: calc( 2.8em - 6px + 0.1em);
  font-weight: 700;
  font-size: 1.1em;
  width: 10rem;
  margin-right: 1.5rem; }
  @media (min-width: 64em) {
    .swatch-attribute-label {
      width: 11rem; } }
  .swatch-attribute-label:after {
    content: ': ';
    line-height: calc( 2.8em - 6px + 0.1em); }

.swatch-attribute-selected-option {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  /* 1 */ }

.swatch-attribute-options {
  display: flex;
  flex-wrap: wrap;
  margin-left: -0.2em;
  margin-bottom: -0.4em;
  min-width: 100%;
  justify-content: center; }
  .swatch-attribute-options:focus {
    box-shadow: none; }
  .swatch-opt .swatch-attribute-options {
    min-width: 0;
    justify-content: flex-start;
    max-width: calc( 100% - 1.5rem - 10rem); }
    @media (min-width: 64em) {
      .swatch-opt .swatch-attribute-options {
        max-width: calc( 100% - 1.5rem - 11rem); } }

.swatch-option-link-layered {
  font-size: 1em; }
  .swatch-option-link-layered:hover {
    text-decoration: none; }

.swatch-option {
  font-weight: normal;
  position: relative;
  min-width: 3.2em;
  height: 2.8em;
  padding: 0 0.35em;
  margin: 1px calc( 1px + 0.2em) calc(1px + 0.4em);
  border-radius: 3px;
  background-color: #f0f0f0;
  border: 3px solid #f0f0f0;
  color: #696969;
  cursor: pointer;
  line-height: calc( 2.8em - 6px + 0.1em);
  text-align: center;
  transition: background-color 0.3s, border-color 0.3s, opacity 0.3s, color 0.3s;
  display: block !important; }
  .swatch-option:before {
    content: '';
    position: absolute;
    top: -4px;
    left: -4px;
    right: -4px;
    bottom: -4px;
    border: 1px solid #dcdcdc;
    border-radius: 3px;
    transition: border-color 0.3s; }
  .swatch-option:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    background: url(../images/icons/swatches/disabled.svg) rgba(220, 220, 220, 0.5) center no-repeat;
    transform: translate(-50%, -50%);
    width: calc(2.8em - 1.4em);
    height: calc(2.8em - 1.4em);
    background-size: 0.6em;
    transition: opacity 0.3s;
    opacity: 0; }
  .swatch-option:not(.disabled):not(.selected):not([disabled]):hover {
    border: 3px solid #ffffff;
    background: #ffffff; }
    .swatch-option:not(.disabled):not(.selected):not([disabled]):hover:before {
      border: 1px solid #FF4604; }
  .swatch-option.selected {
    border: 3px solid #ffffff;
    background: #ffffff; }
    .swatch-option.selected:before {
      border: 1px solid #FF7442; }
  .swatch-option.disabled, .swatch-option[disabled] {
    cursor: not-allowed; }
    .swatch-option.disabled.text, .swatch-option[disabled].text {
      opacity: 0.65;
      color: #3E3E3E;
      background: #ffffff; }
      .swatch-option.disabled.text:before, .swatch-option[disabled].text:before {
        border: 1px solid #dcdcdc; }
    .swatch-option.disabled.image:after, .swatch-option.disabled.color:after, .swatch-option[disabled].image:after, .swatch-option[disabled].color:after {
      opacity: 1; }

.swatch-input {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  /* 1 */
  left: -1000px;
  position: absolute;
  visibility: hidden; }

.swatch-more {
  display: none; }

.swatch-option-tooltip,
.swatch-option-tooltip-layered {
  display: none;
  position: absolute;
  margin: 0;
  z-index: 999;
  background: #ffffff;
  border-radius: 0.5rem;
  color: #3E3E3E;
  font-size: 1.3rem;
  font-weight: 400;
  padding: 0.5rem;
  text-align: center;
  min-width: 2rem;
  border: 0.1rem solid #dcdcdc; }
  .swatch-option-tooltip .image,
  .swatch-option-tooltip-layered .image {
    display: block;
    margin: 0 auto;
    width: 110px;
    height: 110px; }
  .swatch-option-tooltip .corner:after,
  .swatch-option-tooltip-layered .corner:after {
    content: '';
    position: absolute;
    top: 100%;
    display: block;
    width: 1rem;
    height: 1rem;
    background-color: #ffffff;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    border-bottom: 0.1rem solid #dcdcdc;
    border-right: 0.1rem solid #dcdcdc;
    margin-top: calc( -0.5rem + 0.1rem); }

.swatch-option-tooltip {
  pointer-events: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-topbar {
  background: transparent;
  display: flex;
  width: 100%;
  font-size: 1.4rem;
  transform: translateY(0);
  transition: transform 0.3s;
  z-index: 302; }
  .cs-topbar--hidden {
    transform: translateY(-105%); }
  .page-print .cs-topbar {
    display: none; }
  .cs-topbar__wrapper {
    display: flex;
    flex-wrap: nowrap;
    flex-grow: 1;
    align-items: center;
    justify-content: space-between; }
    @media (min-width: 64em) {
      .cs-topbar__wrapper {
        justify-content: flex-end; } }
    @media (min-width: 64em) {
      .cs-topbar__wrapper {
        padding-right: 18px;
        padding-top: 5px; } }
    @media (max-width: 63.99em) {
      .cs-topbar__wrapper {
        padding: 0 25px; } }
    @media (max-width: 47.99em) {
      .cs-topbar__wrapper {
        padding: 0 15px; } }
  .cs-topbar__item {
    color: #ffffff;
    display: flex;
    flex: 0 0 auto;
    white-space: nowrap;
    height: 100%; }
    .cs-topbar__item--hotline {
      align-items: center; }
      .cs-topbar__item--hotline ul {
        list-style: none;
        display: flex;
        flex-direction: row;
        padding: 0;
        margin: 0; }
        .cs-topbar__item--hotline ul li {
          display: inline-block;
          margin: 0; }
          @media (max-width: 48em) {
            .cs-topbar__item--hotline ul li:not(:last-child) {
              display: none; } }
      .cs-topbar__item--hotline a {
        padding: 8px 0 0;
        display: block; }
        .cs-topbar__item--hotline a {
          color: #ffffff; }
          .cs-topbar__item--hotline a:visited {
            color: #ffffff; }
          .cs-topbar__item--hotline a:hover {
            color: #ffffff; }
          .cs-topbar__item--hotline a:active, .cs-topbar__item--hotline a:focus {
            color: #ffffff; }
        .cs-topbar__item--hotline a:hover {
          color: #FF4604; }
        @media (min-width: 48em) {
          .cs-topbar__item--hotline a {
            padding: 8px 15px 0 0; } }
        @media (min-width: 48em) {
          .cs-topbar__item--hotline a {
            padding: 0 15px 0 0; } }
        @media (min-width: 64em) {
          .cs-topbar__item--hotline a {
            padding: 15px 30px 0; } }
      @media (max-width: 64em) {
        .cs-topbar__item--hotline {
          width: initial; } }
      @media (min-width: 64em) {
        .cs-topbar__item--hotline {
          flex: 1 1;
          justify-content: flex-end; } }
    .cs-topbar__item--authorization {
      margin-left: 30px; }
  .cs-topbar__phone-number {
    color: #000;
    font-weight: 700;
    margin-right: 0.9rem; }
    .cs-topbar__phone-number:hover {
      color: #FF4604; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
h1 {
  font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 3.2rem;
  color: #212121;
  font-weight: 700;
  text-transform: uppercase;
  margin: 1rem 0 2rem; }

h2 {
  font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 2.8rem;
  color: #212121;
  font-weight: 700;
  text-transform: uppercase;
  margin: 1rem 0 2rem; }

h3 {
  font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.8rem;
  color: #212121;
  font-weight: 700;
  text-transform: uppercase;
  margin: 1rem 0 2rem; }

h4 {
  font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.6rem;
  color: #212121;
  font-weight: 700;
  text-transform: uppercase;
  margin: 1rem 0 2rem; }

h5 {
  font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.3rem;
  color: #212121;
  font-weight: 700;
  text-transform: uppercase;
  margin: 1rem 0 2rem; }

h6 {
  font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.2rem;
  color: #212121;
  font-weight: 700;
  text-transform: uppercase;
  margin: 1rem 0 2rem; }

a, a:visited {
  color: #FF7442;
  text-decoration: none; }

a:hover, a:focus, a:visited:hover, a:visited:focus {
  color: #FF7442;
  text-decoration: none; }

ul,
ol {
  margin: 0 0 2.5rem;
  padding: 0 0 0 4rem; }
  ul > li,
  ol > li {
    margin: 0 0 1rem; }

.hidden-title {
  visibility: hidden;
  width: 0;
  font-size: 0; }

.text-normal {
  font-weight: normal; }

.text-bold {
  font-weight: bold; }

.text-upper {
  text-transform: uppercase; }

/**
 * USPs component customization.
 * @see /MageSuite_ContentConstructorFrontend for layout, templates and images.
 * USPs component is based on Image Teaser.
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-image-teaser--usps .cs-image-teaser__slides {
  align-items: flex-start; }

.cs-image-teaser--usps .cs-image-teaser__slide {
  margin: 0; }

.cs-image-teaser--usps:not(.cs-image-teaser--slider) .cs-image-teaser__slides {
  flex-wrap: nowrap; }

.cs-image-teaser--usps .cs-image-teaser__image {
  max-width: 80%;
  max-height: 6.5rem;
  margin: 0 auto 1rem; }
  .ie11 .cs-image-teaser--usps .cs-image-teaser__image {
    height: 100%; }

.cs-image-teaser--usps .cs-image-teaser__text {
  display: block; }

.cs-image-teaser--usps .cs-image-teaser__nav {
  display: none !important; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/***
 * Remove browser's margins, paddings and list style rules
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-select {
  min-width: 0.5px;
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  height: 100%;
  padding: 0;
  opacity: 0;
  border: none; }
  .cs-select--mobile {
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    z-index: 4; }

.cs-html-select {
  position: relative;
  display: block;
  min-width: 15rem;
  box-sizing: border-box;
  z-index: 2; }
  @media (max-width: 29.99em) {
    .cs-html-select {
      min-width: 12rem; } }
  .cs-html-select.open {
    z-index: 99; }
  .cs-html-select__trigger {
    display: flex;
    align-items: center;
    position: relative;
    cursor: pointer;
    width: 100%;
    min-width: 13rem;
    text-align: left;
    z-index: 3;
    overflow: hidden;
    box-sizing: border-box;
    background: #ffffff;
    border: 1px solid #dcdcdc;
    padding: 11px 10px;
    padding-right: 2.3em;
    border-radius: 3px;
    box-shadow: none;
    font-size: 1.2rem;
    max-height: 4rem;
    margin-top: 0;
    margin-bottom: 0; }
    .cs-html-select__trigger--disabled {
      opacity: 0.65;
      cursor: not-allowed; }
    .cs-html-select--error .cs-html-select__trigger {
      border-color: #f46667;
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0; }
    .cs-html-select--open .cs-html-select__trigger,
    .cs-html-select.open .cs-html-select__trigger {
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
      border: 1px solid #FF4604;
      border-bottom: 1px solid #dcdcdc; }
  .cs-html-select__trigger-text {
    color: #212121;
    line-height: 1.275em;
    font-weight: 400;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 1.2rem;
    margin-right: 2rem; }
  .cs-html-select__trigger-caret {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%); }
  .cs-html-select__trigger-caret-arrow {
    display: block;
    position: relative; }
    .cs-html-select__trigger-caret-arrow:before, .cs-html-select__trigger-caret-arrow:after {
      content: '';
      position: absolute;
      top: 50%;
      width: 0.7rem;
      height: 1px;
      left: auto;
      background-color: #dcdcdc;
      transition: transform 0.15s linear, right 0.15s linear, background-color 0.15s linear;
      -webkit-backface-visibility: hidden;
              backface-visibility: hidden; }
    .cs-html-select__trigger-caret-arrow:hover:before, .cs-html-select__trigger-caret-arrow:hover:after {
      background-color: #6E6E6E; }
    .cs-html-select--open .cs-html-select__trigger-caret-arrow:before, .cs-html-select--open .cs-html-select__trigger-caret-arrow:after {
      background-color: #FF4604; }
    .cs-html-select__trigger-caret-arrow:before {
      transform: rotate(45deg) translate3d(0, 0, 0);
      right: 1.7rem; }
    .cs-html-select__trigger-caret-arrow:after {
      transform: rotate(-45deg) translate3d(0, 0, 0);
      right: 1.2rem; }
    .cs-html-select--open .cs-html-select__trigger-caret-arrow:before {
      transform: rotate(-45deg); }
    .cs-html-select--open .cs-html-select__trigger-caret-arrow:after {
      transform: rotate(45deg); }
  .cs-html-select__menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 5;
    display: none;
    border: 1px solid #FF4604;
    border-top: 1px solid #dcdcdc;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    background-color: #ffffff;
    box-shadow: 0 1px 5px 0 rgba(100, 100, 100, 0.2);
    margin-top: -1px;
    min-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    transform: translate3d(0, 0, 0); }
    .cs-html-select--open .cs-html-select__menu {
      display: block;
      opacity: 1; }
    .cs-html-select--autosuggest:not(.cs-html-select--open) .cs-html-select__menu {
      padding: 0;
      border: none; }
  .cs-html-select__menu-list {
    margin: 0;
    padding: 0;
    list-style: none; }
  .cs-html-select__menu-item {
    margin: 0;
    padding: 0;
    border-top: none; }
    .cs-html-select__menu-item--hidden {
      display: none; }
  .cs-html-select__menu-link {
    position: relative;
    display: flex;
    align-items: center;
    padding: 0 1em;
    height: 2.8em;
    color: #212121;
    background-color: #ffffff;
    cursor: pointer;
    transition: background-color 0.15s linear, color 0.15s linear; }
    .cs-html-select__menu-item--selected .cs-html-select__menu-link {
      color: #ffffff;
      background-color: #FF4604; }
    .cs-html-select__menu-link:hover, .cs-html-select__menu-link:focus,
    .cs-html-select__menu-item--focused .cs-html-select__menu-link {
      background-color: #FF4604;
      color: #ffffff;
      text-decoration: none;
      outline: none; }
  .cs-html-select__menu-item-text {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
  .cs-html-select__text-image-wrapper {
    display: flex;
    align-items: center; }
  .cs-html-select__thumbnail {
    width: 2.5rem;
    height: 2.5rem;
    display: block;
    margin-right: 1rem; }
  .cs-html-select--autosuggest {
    padding: 0; }
    .cs-html-select--autosuggest .cs-html-select__menu {
      overflow-y: hidden;
      max-height: 220px; }
    .cs-html-select--autosuggest .cs-html-select__menu-list {
      max-height: 220px; }
    .cs-html-select--autosuggest:not(.cs-html-select--animate) .cs-html-select__menu {
      padding: 0;
      border: none; }

select,
.super-attribute-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  height: 40px;
  width: 100%;
  font-size: 1.2rem;
  border: 1px solid #B6BEC5;
  background-color: #ffffff;
  background-image: url("../images/icons/select-icon.svg");
  background-repeat: no-repeat;
  background-position: right top;
  color: #6E6E6E;
  background-size: contain;
  border-radius: 3px;
  padding: 10px 50px 10px 12px; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 *
 * @see https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L130
 */
.cs-visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  /* 1 */ }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
.cs-ie11-modal.modal-slide {
  left: 0;
  width: 100%; }
  .cs-ie11-modal.modal-slide .modal-inner-wrap {
    top: 50%;
    transform: translate3d(0, -50%, 0);
    width: 100%;
    max-width: 78rem;
    background-color: #ffffff;
    margin: auto; }
    .cs-ie11-modal.modal-slide .modal-inner-wrap .modal-content {
      padding: 0; }
  .cs-ie11-modal.modal-slide .action-close {
    background-size: 1.8rem 1.8rem;
    margin: 2.5rem; }
  .cs-ie11-modal.modal-slide .modal-footer {
    padding: 2rem 0;
    margin: 0 3rem;
    border-top: 0;
    display: flex;
    justify-content: center; }

.cs-ie11-modal._show .cs-ie11-modal__inner {
  display: flex; }

.cs-ie11-modal__inner {
  display: none;
  padding: 0 3rem;
  font-size: 1.4rem;
  color: #212121;
  height: 100%; }

.cs-ie11-modal__header, .cs-ie11-modal__body {
  padding: 2rem 0; }

.cs-ie11-modal__header {
  display: flex;
  flex-direction: column;
  align-items: center; }

.cs-ie11-modal__header-icon {
  width: 7rem;
  height: 7rem;
  margin-bottom: 2rem; }

.cs-ie11-modal__header-title {
  font-size: 3.5rem;
  font-weight: 700;
  text-align: center;
  line-height: 100%;
  max-width: 100%; }

.cs-ie11-modal__body {
  border-top: 1px solid #dcdcdc;
  border-bottom: 1px solid #dcdcdc; }

.cs-ie11-modal__paragraph {
  text-align: center;
  margin-bottom: 2rem; }
  .cs-ie11-modal__paragraph--title {
    font-size: 2rem;
    font-weight: 700; }

.cs-ie11-modal__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: space-around; }

.cs-ie11-modal__list-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 130%;
  margin: 0; }

.cs-ie11-modal__item-logo {
  width: 3.8rem;
  height: 3.8rem;
  margin-bottom: 1rem;
  border: 0; }
  .ie11 .cs-ie11-modal__item-logo {
    width: 4rem;
    height: 4rem; }

.cs-ie11-modal__item-name {
  font-weight: 700; }

.ie11 .modal-popup:not(.cs-vide-player__modal) .modal-content {
  max-height: 100%; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-pwa-notification._show {
  position: fixed;
  bottom: 0;
  top: auto;
  height: 15rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow-y: visible; }
  .cs-pwa-notification._show .modal-inner-wrap {
    width: 100%;
    margin: 0;
    background: #ffffff;
    box-shadow: 0 -0.3rem 0.5rem 0 rgba(0, 0, 0, 0.15); }

.cs-pwa-notification__title {
  margin: 0;
  padding: 2rem;
  font-size: 1.8rem; }

.cs-pwa-notification__content {
  padding: 0.5rem 2rem 1rem; }

.cs-pwa-notification__footer {
  padding: 0.5rem 2rem 2rem;
  display: flex;
  justify-content: flex-end; }

.cs-pwa-notification__button {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color; }
  .cs-pwa-notification__button.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  .cs-pwa-notification__button.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  .cs-pwa-notification__button::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-pwa-notification__button, .cs-pwa-notification__button:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF4604; }
    .cs-pwa-notification__button *, .cs-pwa-notification__button:visited * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-pwa-notification__button:hover:not([disabled]), .cs-pwa-notification__button:focus:not([disabled]), .cs-pwa-notification__button:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF7442; }
    .cs-pwa-notification__button:hover:not([disabled]) *, .cs-pwa-notification__button:focus:not([disabled]) *, .cs-pwa-notification__button:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-pwa-notification__button[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .cs-pwa-notification__button span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal; }

.cs-pwa-notification + .modals-overlay {
  display: none; }

.loading-mask[data-role='main-css-loader'] {
  display: none !important; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Swiper 4.4.6
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://www.idangero.us/swiper/
 *
 * Copyright 2014-2018 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: December 19, 2018
 */
.swiper-container, .cs-image-teaser__wrapper {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1; }

.swiper-container-no-flexbox .swiper-slide, .swiper-container-no-flexbox .cs-image-teaser__slide {
  float: left; }

.swiper-container-vertical > .swiper-wrapper, .swiper-container-vertical > .cs-image-teaser__slides {
  flex-direction: column; }

.swiper-wrapper, .cs-image-teaser__slides {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box; }

.swiper-container-android .swiper-slide, .swiper-container-android .cs-image-teaser__slide, .swiper-wrapper, .cs-image-teaser__slides {
  transform: translate3d(0px, 0, 0); }

.swiper-container-multirow > .swiper-wrapper, .swiper-container-multirow > .cs-image-teaser__slides {
  flex-wrap: wrap; }

.swiper-container-free-mode > .swiper-wrapper, .swiper-container-free-mode > .cs-image-teaser__slides {
  transition-timing-function: ease-out;
  margin: 0 auto; }

.swiper-slide, .cs-image-teaser__slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform; }

.swiper-slide-invisible-blank {
  visibility: hidden; }

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide,
.swiper-container-autoheight .cs-image-teaser__slide {
  height: auto; }

.swiper-container-autoheight .swiper-wrapper, .swiper-container-autoheight .cs-image-teaser__slides {
  align-items: flex-start;
  transition-property: transform, height; }

/* 3D Effects */
.swiper-container-3d {
  perspective: 1200px; }

.swiper-container-3d .swiper-wrapper, .swiper-container-3d .cs-image-teaser__slides,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .cs-image-teaser__slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
  transform-style: preserve-3d; }

.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10; }

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

/* IE10 Windows Phone 8 Fixes */
.swiper-container-wp8-horizontal,
.swiper-container-wp8-horizontal > .swiper-wrapper,
.swiper-container-wp8-horizontal > .cs-image-teaser__slides {
  touch-action: pan-y; }

.swiper-container-wp8-vertical,
.swiper-container-wp8-vertical > .swiper-wrapper,
.swiper-container-wp8-vertical > .cs-image-teaser__slides {
  touch-action: pan-x; }

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat; }

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none; }

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  left: 10px;
  right: auto; }

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  right: 10px;
  left: auto; }

.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-prev.swiper-button-black,
.swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-next.swiper-button-black,
.swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-lock {
  display: none; }

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10; }

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0; }

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 10px;
  left: 0;
  width: 100%; }

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33); }

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: 0.2; }

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer; }

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff; }

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0px, -50%, 0); }

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left; }

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right; }

/* Progress */
.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute; }

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top; }

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top; }

.swiper-container-horizontal > .swiper-pagination-progressbar,
.swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0; }

.swiper-container-vertical > .swiper-pagination-progressbar,
.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0; }

.swiper-pagination-white .swiper-pagination-bullet-active {
  background: #ffffff; }

.swiper-pagination-progressbar.swiper-pagination-white {
  background: rgba(255, 255, 255, 0.25); }

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
  background: #ffffff; }

.swiper-pagination-black .swiper-pagination-bullet-active {
  background: #000000; }

.swiper-pagination-progressbar.swiper-pagination-black {
  background: rgba(0, 0, 0, 0.25); }

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
  background: #000000; }

.swiper-pagination-lock {
  display: none; }

/* Scrollbar */
.swiper-scrollbar, .cs-image-teaser__scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1); }

.swiper-container-horizontal > .swiper-scrollbar, .swiper-container-horizontal > .cs-image-teaser__scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%; }

.swiper-container-vertical > .swiper-scrollbar, .swiper-container-vertical > .cs-image-teaser__scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%; }

.swiper-scrollbar-drag, .cs-image-teaser__scrollbar--drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0; }

.swiper-scrollbar-cursor-drag {
  cursor: move; }

.swiper-scrollbar-lock {
  display: none; }

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center; }

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain; }

.swiper-slide-zoomed {
  cursor: move; }

/* Preloader */
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  animation: swiper-preloader-spin 1s steps(12, end) infinite; }

.swiper-lazy-preloader:after {
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  background-size: 100%;
  background-repeat: no-repeat; }

.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }

@-webkit-keyframes swiper-preloader-spin {
  100% {
    transform: rotate(360deg); } }

@keyframes swiper-preloader-spin {
  100% {
    transform: rotate(360deg); } }

/* a11y */
.swiper-container .swiper-notification, .cs-image-teaser__wrapper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000; }

.swiper-container-fade.swiper-container-free-mode .swiper-slide, .swiper-container-fade.swiper-container-free-mode .cs-image-teaser__slide {
  transition-timing-function: ease-out; }

.swiper-container-fade .swiper-slide, .swiper-container-fade .cs-image-teaser__slide {
  pointer-events: none;
  transition-property: opacity; }

.swiper-container-fade .swiper-slide .swiper-slide, .swiper-container-fade .cs-image-teaser__slide .swiper-slide, .swiper-container-fade .swiper-slide .cs-image-teaser__slide, .swiper-container-fade .cs-image-teaser__slide .cs-image-teaser__slide {
  pointer-events: none; }

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube {
  overflow: visible; }

.swiper-container-cube .swiper-slide, .swiper-container-cube .cs-image-teaser__slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%; }

.swiper-container-cube .swiper-slide .swiper-slide, .swiper-container-cube .cs-image-teaser__slide .swiper-slide, .swiper-container-cube .swiper-slide .cs-image-teaser__slide, .swiper-container-cube .cs-image-teaser__slide .cs-image-teaser__slide {
  pointer-events: none; }

.swiper-container-cube.swiper-container-rtl .swiper-slide, .swiper-container-cube.swiper-container-rtl .cs-image-teaser__slide {
  transform-origin: 100% 0; }

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-prev,
.swiper-container-cube .swiper-slide-next + .swiper-slide,
.swiper-container-cube .swiper-slide-next + .cs-image-teaser__slide {
  pointer-events: auto;
  visibility: visible; }

.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0; }

.swiper-container-flip {
  overflow: visible; }

.swiper-container-flip .swiper-slide, .swiper-container-flip .cs-image-teaser__slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1; }

.swiper-container-flip .swiper-slide .swiper-slide, .swiper-container-flip .cs-image-teaser__slide .swiper-slide, .swiper-container-flip .swiper-slide .cs-image-teaser__slide, .swiper-container-flip .cs-image-teaser__slide .cs-image-teaser__slide {
  pointer-events: none; }

.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-flip .swiper-slide-shadow-top,
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.swiper-container-coverflow .swiper-wrapper, .swiper-container-coverflow .cs-image-teaser__slides {
  /* Windows 8 IE 10 fix */
  -ms-perspective: 1200px; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/***
 * Remove browser's margins, paddings and list style rules
 */
/* stylelint-disable block-no-empty */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-image-teaser {
  position: relative;
  margin: 0 0 3rem; }
  .cs-image-teaser__slides {
    align-items: stretch;
    margin: 0;
    padding: 0;
    box-sizing: inherit; }
  .cs-image-teaser__slide {
    margin: 0;
    padding: 0;
    list-style: none;
    height: auto;
    display: flex;
    justify-content: center; }
  .cs-image-teaser__figure {
    width: 100%;
    margin: 0;
    padding: 0; }
  .cs-image-teaser__image {
    display: block;
    width: 100%; }
  .cs-image-teaser__nav {
    display: none;
    position: absolute;
    top: 50%;
    transform: translate3d(0, -50%, 0);
    transition: all 0.15s linear;
    z-index: 201;
    width: 5.5rem;
    height: 5.5rem;
    border: 0;
    border-radius: 6px;
    background: transparent;
    box-shadow: none;
    padding: 0;
    cursor: pointer;
    outline: none; }

@media (max-width: 63.99em) and (pointer: fine) {
  .cs-image-teaser__nav {
    opacity: 1; }
    .cs-image-teaser:hover .cs-image-teaser__nav {
      opacity: 1; } }
    .cs-image-teaser__nav--hidden {
      display: none; }
    .cs-image-teaser__nav--disabled {
      cursor: default;
      display: none;
      opacity: 1; }
    .cs-image-teaser__nav--prev {
      left: 0; }
      @media (min-width: 80em) {
        .cs-image-teaser:not(.cs-image-teaser--full-width-slider) .cs-image-teaser__nav--prev {
          left: -2.75rem;
          opacity: 1; } }
    .cs-image-teaser__nav--next {
      right: 0; }
      @media (min-width: 80em) {
        .cs-image-teaser:not(.cs-image-teaser--full-width-slider) .cs-image-teaser__nav--next {
          right: -2.75rem;
          opacity: 1; } }
    .cs-image-teaser--ready .cs-image-teaser__nav:not(.cs-image-teaser__nav--disabled) {
      display: block; }
    .cs-image-teaser__nav:hover, .cs-image-teaser__nav:active, .cs-image-teaser__nav:focus {
      background: transparent;
      border: 0;
      box-shadow: none; }
    @media (max-width: 47.99em) {
      .cs-image-teaser__nav {
        display: none !important; } }
  .cs-image-teaser__nav-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0);
    width: 2.4rem;
    height: 3.7rem;
    fill: #FF4604; }
  .cs-image-teaser__pagination {
    margin: 0;
    padding: 0;
    list-style: none;
    margin: 0;
    padding: 0.5rem 0 0;
    min-height: 3rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    color: #696969;
    z-index: 200; }
    .cs-image-teaser__pagination--hidden {
      display: none; }
  .cs-image-teaser__pagination-item {
    position: relative;
    margin: 0.4rem;
    border-radius: 2px;
    background: #f0f0f0;
    width: 2.2rem;
    height: 0.9rem;
    transform: skew(-18deg);
    border: none;
    transition: all 0.15s; }
    .cs-image-teaser__pagination-item:hover {
      background: #dcdcdc; }
    .cs-image-teaser__pagination-item--active, .cs-image-teaser__pagination-item--active:hover {
      background: #fed400; }
  .cs-image-teaser__pagination-button {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    margin: 0;
    cursor: pointer; }
  .cs-image-teaser__number {
    font-weight: 700; }
    .cs-image-teaser__number--current {
      color: #FF4604; }
  @media (min-width: 48em) {
    .cs-image-teaser {
      margin: 0 0 4rem; } }
  .cs-image-teaser--skip-spacing {
    margin: 0; }
  .cs-image-teaser--window-width {
    overflow: hidden; }
  .cs-image-teaser:not(.cs-image-teaser--slider) .cs-image-teaser__nav,
  .cs-image-teaser:not(.cs-image-teaser--slider) .cs-image-teaser__pagination {
    display: none; }
  .cs-image-teaser:not(.cs-image-teaser--slider) .cs-image-teaser__slides {
    flex-wrap: wrap; }
    .cs-image-teaser--items-in-row-mobile-1 .cs-image-teaser:not(.cs-image-teaser--slider) .cs-image-teaser__slides {
      display: block; }
  .cs-image-teaser__carousel {
    position: relative; }
    .cs-image-teaser--grid-teaser .cs-image-teaser__carousel {
      height: 100%; }
  .cs-image-teaser__wrapper {
    margin: -0.4rem;
    width: calc(100% + 0.8rem); }
    .cs-image-teaser__wrapper--content-under .cs-image-teaser__slide {
      display: block; }
      .cs-image-teaser__wrapper--content-under .cs-image-teaser__slide--scheme-light .cs-image-teaser__content {
        background: #212121; }
      .cs-image-teaser__wrapper--content-under .cs-image-teaser__slide--scheme-dark .cs-image-teaser__content {
        background: #ffffff; }
    .cs-image-teaser__wrapper--content-under .cs-image-teaser__slide-wrapper {
      display: flex;
      flex-direction: column;
      height: 100%;
      overflow: initial; }
    .cs-image-teaser__wrapper--content-under .cs-image-teaser__content-wrapper {
      position: relative;
      height: 100%;
      justify-content: center;
      align-items: stretch;
      text-align: center;
      padding: 2rem 2rem 0; }
    .cs-image-teaser__wrapper--content-under .cs-image-teaser__content {
      display: flex;
      flex-direction: column;
      width: 100%;
      margin: -3rem 0 0;
      padding: 2rem; }
    @media (min-width: 48em) {
      .cs-image-teaser--items-in-row-2 .cs-image-teaser__wrapper--content-under .cs-image-teaser__slogan {
        font-size: 1.95em; }
      .cs-image-teaser--items-in-row-2 .cs-image-teaser__wrapper--content-under .cs-image-teaser__description {
        font-size: 1.2em; } }
    .cs-image-teaser--grid-teaser .cs-image-teaser__wrapper {
      height: 100%;
      margin: 0; }
  @media (min-width: 48em) {
    .cs-image-teaser__slides--mosaic-scenario-1 .cs-image-teaser__slide:first-child {
      width: calc((100% / 3) * 2); }
      .cs-image-teaser__slides--mosaic-scenario-1 .cs-image-teaser__slide:first-child .cs-image-teaser__slogan {
        font-size: 30px; }
      .cs-image-teaser__slides--mosaic-scenario-1 .cs-image-teaser__slide:first-child .cs-image-teaser__description {
        font-size: 1.2rem; }
    .cs-image-teaser__slides--mosaic-scenario-1 .cs-image-teaser__slide:last-child {
      width: calc(100% / 3); }
      .cs-image-teaser__slides--mosaic-scenario-1 .cs-image-teaser__slide:last-child .cs-image-teaser__slogan {
        font-size: 60px; }
      .cs-image-teaser__slides--mosaic-scenario-1 .cs-image-teaser__slide:last-child .cs-image-teaser__description {
        font-size: 2.4rem; }
    .cs-image-teaser__slides--mosaic-scenario-2 .cs-image-teaser__slide:first-child {
      width: calc(100% / 3); }
      .cs-image-teaser__slides--mosaic-scenario-2 .cs-image-teaser__slide:first-child .cs-image-teaser__slogan {
        font-size: 60px; }
      .cs-image-teaser__slides--mosaic-scenario-2 .cs-image-teaser__slide:first-child .cs-image-teaser__description {
        font-size: 2.4rem; }
    .cs-image-teaser__slides--mosaic-scenario-2 .cs-image-teaser__slide:last-child {
      width: calc((100% / 3) * 2); }
      .cs-image-teaser__slides--mosaic-scenario-2 .cs-image-teaser__slide:last-child .cs-image-teaser__slogan {
        font-size: 30px; }
      .cs-image-teaser__slides--mosaic-scenario-2 .cs-image-teaser__slide:last-child .cs-image-teaser__description {
        font-size: 1.2rem; } }
  .cs-image-teaser__slide {
    padding: 0.4rem;
    transition: opacity 0.3s; }
    .cs-image-teaser--items-in-row-mobile-2 .cs-image-teaser__slide {
      width: 50%; }
    .cs-image-teaser--teaser-and-text .cs-image-teaser__slide {
      order: 2; }
      .cs-image-teaser--teaser-and-text .cs-image-teaser__slide:not(.cs-image-teaser__slide--image-uploaded) > .cs-image-teaser__slide-wrapper {
        width: 100%; }
      @media (max-width: 47.99em) {
        .cs-image-teaser--teaser-and-text .cs-image-teaser__slide:not(.cs-image-teaser__slide--image-uploaded) .cs-image-teaser__content-wrapper {
          position: static;
          height: auto; } }
    @media (max-width: 47.99em) {
      .cs-image-teaser__slides--mobile-text-image .cs-image-teaser__slide--image-uploaded {
        order: 3; } }
    @media (max-width: 47.99em) {
      .cs-image-teaser__slides--mobile-image-text .cs-image-teaser__slide--image-uploaded {
        order: 1; } }
    @media (min-width: 48em) {
      .cs-image-teaser--items-in-row-2 .cs-image-teaser__slide {
        width: 50%; } }
    @media (min-width: 48em) {
      .cs-image-teaser--items-in-row-3 .cs-image-teaser__slide {
        width: 33.33333%; } }
    @media (min-width: 48em) {
      .cs-image-teaser--items-in-row-4 .cs-image-teaser__slide {
        width: 25%; } }
    @media (min-width: 48em) {
      .cs-image-teaser--items-in-row-5 .cs-image-teaser__slide {
        width: 20%; } }
    @media (min-width: 48em) {
      .cs-image-teaser--items-in-row-6 .cs-image-teaser__slide {
        width: 16.66667%; } }
    @media (min-width: 48em) {
      .cs-image-teaser--items-in-row-7 .cs-image-teaser__slide {
        width: 14.28571%; } }
    @media (min-width: 48em) {
      .cs-image-teaser--items-in-row-8 .cs-image-teaser__slide {
        width: 12.5%; } }
    .cs-image-teaser--grid-teaser .cs-image-teaser__slide {
      height: 100%;
      padding: 0; }
    .cs-image-teaser--cms-teaser .cs-image-teaser__slide:not(.cs-image-teaser__slide--image-uploaded) > .cs-image-teaser__slide-wrapper {
      background-color: #f0f0f0; }
    .cs-image-teaser--backlink .cs-image-teaser__slide:not(.cs-image-teaser__slide--image-uploaded) > .cs-image-teaser__slide-wrapper {
      background-color: #f0f0f0; }
    .cs-image-teaser__slide:not(.ready) .cs-image-teaser__content-wrapper {
      opacity: 0; }
  .cs-image-teaser__slide-wrapper {
    display: block;
    overflow: hidden; }
    .cs-image-teaser__slide-wrapper, .cs-image-teaser__slide-wrapper:hover, .cs-image-teaser__slide-wrapper:focus {
      color: inherit; }
    .cs-image-teaser--instagram-feed .cs-image-teaser__slide-wrapper {
      position: relative;
      width: 100%; }
      .cs-image-teaser--instagram-feed .cs-image-teaser__slide-wrapper:before {
        content: '';
        display: block;
        width: 100%;
        padding-top: 100%; }
    .cs-image-teaser__slide--scheme-light:not(.cs-image-teaser__slide--image-uploaded) .cs-image-teaser__slide-wrapper {
      background: #212121; }
    .cs-image-teaser__slide--scheme-dark:not(.cs-image-teaser__slide--image-uploaded) .cs-image-teaser__slide-wrapper {
      background: #ffffff; }
  .cs-image-teaser--instagram-feed .cs-image-teaser__figure {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
  .cs-image-teaser--grid-teaser .cs-image-teaser__figure {
    height: 100%; }
    .cs-image-teaser--grid-teaser .cs-image-teaser__figure img {
      height: 100%; }
  .cs-image-teaser__aspect-ratio {
    width: 100%; }
    .cs-image-teaser__aspect-ratio ~ .cs-image-teaser__slide-wrapper,
    .cs-image-teaser__aspect-ratio ~ .cs-image-teaser__figure {
      position: absolute;
      top: 0.4rem;
      left: 0.4rem;
      width: calc(100% - 0.8rem); }
      .cs-image-teaser__wrapper:not(.cs-image-teaser__wrapper--content-under) .cs-image-teaser__aspect-ratio ~ .cs-image-teaser__slide-wrapper, .cs-image-teaser__wrapper:not(.cs-image-teaser__wrapper--content-under)
      .cs-image-teaser__aspect-ratio ~ .cs-image-teaser__figure {
        height: calc(100% - 0.8rem); }
        .cs-image-teaser--grid-teaser .cs-image-teaser__wrapper:not(.cs-image-teaser__wrapper--content-under) .cs-image-teaser__aspect-ratio ~ .cs-image-teaser__slide-wrapper, .cs-image-teaser--grid-teaser .cs-image-teaser__wrapper:not(.cs-image-teaser__wrapper--content-under)
        .cs-image-teaser__aspect-ratio ~ .cs-image-teaser__figure {
          height: 100%; }
      .cs-image-teaser--grid-teaser .cs-image-teaser__aspect-ratio ~ .cs-image-teaser__slide-wrapper, .cs-image-teaser--grid-teaser
      .cs-image-teaser__aspect-ratio ~ .cs-image-teaser__figure {
        top: 0;
        left: 0; }
  .cs-image-teaser__content {
    max-width: 380px; }
  .cs-image-teaser__content-wrapper {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    opacity: 1; }
    .cs-image-teaser__wrapper--content-over .cs-image-teaser__content-wrapper {
      padding: 3% 6%; }
      @media (max-width: 48em) {
        .cs-image-teaser__wrapper--content-over .cs-image-teaser__content-wrapper {
          padding: 9% 10%; } }
      @media (min-width: 48em) {
        .cs-image-teaser--items-in-row-3 .cs-image-teaser__wrapper--content-over .cs-image-teaser__content-wrapper {
          padding: 5.64%; } }
      @media (min-width: 64em) {
        .cs-image-teaser--items-in-row-4 .cs-image-teaser__wrapper--content-over .cs-image-teaser__content-wrapper {
          padding: 7.52%; } }
    .cs-image-teaser__content-wrapper--content-align-x-2 {
      justify-content: center;
      text-align: center; }
    .cs-image-teaser__content-wrapper--content-align-x-3 {
      justify-content: flex-end;
      text-align: right; }
    .cs-image-teaser__content-wrapper--content-align-y-2 {
      align-items: center; }
    .cs-image-teaser__content-wrapper--content-align-y-3 {
      align-items: flex-end; }
  .cs-image-teaser__content--container {
    position: relative;
    padding: inherit; }
  .cs-image-teaser__text-content {
    font-size: 1.4rem;
    color: #ffffff; }
    .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content {
      color: #212121; }
  .cs-image-teaser__slogan {
    font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 2.8rem;
    color: #212121;
    font-weight: 700;
    text-transform: uppercase;
    margin: 1rem 0 2rem;
    margin: 0;
    font-size: 40px;
    font-weight: 900;
    text-transform: uppercase;
    line-height: 47px;
    color: #ffffff; }
    .cs-image-teaser__slide--scheme-dark .cs-image-teaser__slogan {
      color: inherit; }
    @media (max-width: 48em) {
      .cs-image-teaser__slogan {
        font-size: 3rem;
        font-weight: 900;
        text-transform: uppercase;
        line-height: 34px; } }
  .cs-image-teaser__description {
    margin: 0;
    font-size: 1.6rem;
    font-weight: 300;
    line-height: 1.2;
    text-transform: uppercase;
    color: inherit; }
    * + .cs-image-teaser__description {
      margin-top: 0.5em; }
    .cs-image-teaser__slide--scheme-dark .cs-image-teaser__description {
      color: inherit; }

@media (min-width: 64em) and (max-width: 79.99em) {
  .cs-image-teaser--items-in-row-4 .cs-image-teaser__description {
    font-size: 1.75em; } }
  * + .cs-image-teaser__cta {
    margin-top: 25px; }
    @media (max-width: 64em) {
      * + .cs-image-teaser__cta {
        margin-top: 15px; } }
  .cs-image-teaser__cta-button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    text-transform: uppercase;
    border-radius: 25px !important;
    font-size: 1.2rem;
    min-width: 132px; }
    .cs-image-teaser__cta-button.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-image-teaser__cta-button.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-image-teaser__cta-button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-image-teaser__cta-button, .cs-image-teaser__cta-button:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #000; }
      .cs-image-teaser__cta-button *, .cs-image-teaser__cta-button:visited * {
        color: #ffffff;
        fill: #FF4604; }
    .cs-image-teaser__cta-button:hover:not([disabled]), .cs-image-teaser__cta-button:focus:not([disabled]), .cs-image-teaser__cta-button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #3E3E3E; }
      .cs-image-teaser__cta-button:hover:not([disabled]) *, .cs-image-teaser__cta-button:focus:not([disabled]) *, .cs-image-teaser__cta-button:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-image-teaser__cta-button[disabled] {
      opacity: 0.65;
      cursor: auto; }
    @media (max-width: 64em) {
      .cs-image-teaser__cta-button {
        padding: 11px 15px; } }
    @media (min-width: 64em) {
      .cs-image-teaser__cta-button {
        font-size: 1.2rem;
        min-width: 140px; } }
    @media (min-width: 80em) {
      .cs-image-teaser__cta-button {
        font-size: 1.4rem; } }
    @media (min-width: 120em) {
      .cs-image-teaser__cta-button {
        font-size: 1.6rem; } }
  .cs-image-teaser__cta-button-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal; }
  .cs-image-teaser__cta-button-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    display: none; }
  .cs-image-teaser__badge {
    font-size: 1.1em;
    position: absolute;
    top: 0.7em;
    left: 0.7em;
    color: #ffffff;
    background: #FF4604;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    padding: 0.9em;
    text-align: center;
    z-index: 3; }
    .cs-image-teaser__badge:before {
      content: '';
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding-top: 100%;
      height: 0; }
    .cs-image-teaser__badge--align-x-2 {
      left: 50%;
      transform: translateX(-50%); }
    .cs-image-teaser__badge--align-x-3 {
      left: auto;
      right: 0.7em; }
    .cs-image-teaser__badge--align-y-2 {
      top: 50%;
      transform: translateY(-50%); }
      .cs-image-teaser__badge--align-y-2.cs-image-teaser__badge--align-x-2 {
        transform: translate(-50%, -50%); }
    .cs-image-teaser__badge--align-y-3 {
      top: auto;
      bottom: 0.7em; }
    .cs-image-teaser__badge small {
      font-size: 75%;
      line-height: 75%; }
    .cs-image-teaser__badge small,
    .cs-image-teaser__badge big {
      padding-bottom: 0.2rem;
      display: inline-block; }
      .cs-image-teaser__badge small:last-child,
      .cs-image-teaser__badge big:last-child {
        padding-bottom: 0; }
  .cs-image-teaser__badge-span {
    text-align: center; }
  .cs-image-teaser__overlay, .cs-image-teaser__gradient {
    position: absolute;
    top: -1%;
    left: -1%;
    width: 102%;
    height: 102%; }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__overlay {
    background: #212121; }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__overlay {
    background: #ffffff; }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__gradient--direction-x-1.cs-image-teaser__gradient--direction-y-1 {
    background: linear-gradient(135deg, #212121 0%, rgba(33, 33, 33, 0) 85%); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__gradient--direction-x-1.cs-image-teaser__gradient--direction-y-1 {
    background: linear-gradient(135deg, #ffffff 0%, rgba(255, 255, 255, 0) 85%); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__gradient--direction-x-1.cs-image-teaser__gradient--direction-y-2 {
    background: linear-gradient(90deg, #212121 0%, rgba(33, 33, 33, 0) 85%); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__gradient--direction-x-1.cs-image-teaser__gradient--direction-y-2 {
    background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0) 85%); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__gradient--direction-x-1.cs-image-teaser__gradient--direction-y-3 {
    background: linear-gradient(45deg, #212121 0%, rgba(33, 33, 33, 0) 85%); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__gradient--direction-x-1.cs-image-teaser__gradient--direction-y-3 {
    background: linear-gradient(45deg, #ffffff 0%, rgba(255, 255, 255, 0) 85%); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__gradient--direction-x-2.cs-image-teaser__gradient--direction-y-1 {
    background: linear-gradient(180deg, #212121 0%, rgba(33, 33, 33, 0) 85%); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__gradient--direction-x-2.cs-image-teaser__gradient--direction-y-1 {
    background: linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, 0) 85%); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__gradient--direction-x-2.cs-image-teaser__gradient--direction-y-2 {
    background: linear-gradient(90deg, #212121 0%, rgba(33, 33, 33, 0) 85%); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__gradient--direction-x-2.cs-image-teaser__gradient--direction-y-2 {
    background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0) 85%); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__gradient--direction-x-2.cs-image-teaser__gradient--direction-y-3 {
    background: linear-gradient(0deg, #212121 0%, rgba(33, 33, 33, 0) 85%); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__gradient--direction-x-2.cs-image-teaser__gradient--direction-y-3 {
    background: linear-gradient(0deg, #ffffff 0%, rgba(255, 255, 255, 0) 85%); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__gradient--direction-x-3.cs-image-teaser__gradient--direction-y-1 {
    background: linear-gradient(-135deg, #212121 0%, rgba(33, 33, 33, 0) 85%); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__gradient--direction-x-3.cs-image-teaser__gradient--direction-y-1 {
    background: linear-gradient(-135deg, #ffffff 0%, rgba(255, 255, 255, 0) 85%); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__gradient--direction-x-3.cs-image-teaser__gradient--direction-y-2 {
    background: linear-gradient(-90deg, #212121 0%, rgba(33, 33, 33, 0) 85%); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__gradient--direction-x-3.cs-image-teaser__gradient--direction-y-2 {
    background: linear-gradient(-90deg, #ffffff 0%, rgba(255, 255, 255, 0) 85%); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__gradient--direction-x-3.cs-image-teaser__gradient--direction-y-3 {
    background: linear-gradient(-45deg, #212121 0%, rgba(33, 33, 33, 0) 85%); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__gradient--direction-x-3.cs-image-teaser__gradient--direction-y-3 {
    background: linear-gradient(-45deg, #ffffff 0%, rgba(255, 255, 255, 0) 85%); }
  .cs-image-teaser__image {
    /* stylelint-disable */
    font: 0/0 a;
    /* stylelint-enable */
    text-shadow: none;
    color: transparent; }
    .cs-image-teaser__image--mirror {
      transform: scaleX(-1); }
  .cs-image-teaser__optimizer-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1; }
    .cs-image-teaser__slide--scheme-dark .cs-image-teaser__optimizer-container {
      background-color: #ffffff; }
    .cs-image-teaser__slide--scheme-light .cs-image-teaser__optimizer-container {
      background-color: #212121; }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-0 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-5 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.05); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-10 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.1); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-15 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.15); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-20 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.2); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-25 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.25); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-30 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.3); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-35 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.35); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-40 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.4); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-45 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.45); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-50 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.5); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-55 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.55); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-60 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.6); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-65 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.65); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-70 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.7); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-75 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.75); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-80 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.8); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-85 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.85); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-90 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.9); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-95 {
    text-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.95); }
  .cs-image-teaser__slide--scheme-dark .cs-image-teaser__text-content--text-shadow-100 {
    text-shadow: 0 0 2.5rem white; }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-0 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-5 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.05); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-10 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.1); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-15 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.15); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-20 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.2); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-25 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.25); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-30 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.3); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-35 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.35); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-40 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.4); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-45 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.45); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-50 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.5); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-55 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.55); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-60 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.6); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-65 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.65); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-70 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.7); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-75 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.75); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-80 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.8); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-85 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.85); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-90 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.9); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-95 {
    text-shadow: 0 0 2.5rem rgba(33, 33, 33, 0.95); }
  .cs-image-teaser__slide--scheme-light .cs-image-teaser__text-content--text-shadow-100 {
    text-shadow: 0 0 2.5rem #212121; }
  .cs-image-teaser--grid-teaser {
    height: 100%;
    margin: 0; }
  @media (min-width: 48em) {
    .cs-image-teaser--hero-teaser {
      padding: 0; } }
  @media (min-width: 48em) {
    .cs-image-teaser--hero-teaser .cs-image-teaser__wrapper {
      overflow: visible; } }
  .cs-image-teaser--hero-teaser .cs-image-teaser__carousel {
    position: static; }
  @media (max-width: 47.99em) {
    .cs-image-teaser--hero-teaser.cs-image-teaser--as-list-mobile .cs-image-teaser__slides {
      flex-wrap: wrap; }
    .cs-image-teaser--hero-teaser.cs-image-teaser--as-list-mobile .cs-image-teaser__pagination {
      display: none; } }

.cs-container--image-teaser-window-width {
  max-width: none;
  padding-left: 0;
  padding-right: 0; }
  .cs-container--image-teaser-window-width .cs-image-teaser__slide {
    margin-left: 0;
    margin-right: 0; }

.cs-container--hero-teaser .cs-image-teaser {
  margin-bottom: 0 !important; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
.cs-dashboard {
  width: 100%; }
  @media (max-width: 47.99em) {
    .cs-dashboard {
      padding-top: 10px !important; } }
  .cs-dashboard__columns {
    position: relative;
    margin: 4rem 0;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch; }
    @media (min-width: 48em) {
      .cs-dashboard__columns {
        padding: 0 0 2rem; } }
    @media (max-width: 47.99em) {
      .cs-dashboard__columns {
        margin: 0; } }
  .cs-dashboard__sidebar {
    width: 100%; }
    @media (min-width: 48em) {
      .cs-dashboard__sidebar {
        padding: 0;
        width: 233px; } }
    @media (max-width: 47.99em) {
      .cs-dashboard__sidebar {
        margin-bottom: 20px; } }
  .cs-dashboard__main {
    margin-bottom: 2rem;
    box-sizing: border-box;
    flex: 1 1; }
    @media (min-width: 48em) {
      .cs-dashboard__main {
        padding: 0 0 0 2.5rem; } }
    .cs-dashboard__main a.action {
      color: #FF7442; }
      .cs-dashboard__main a.action:visited, .cs-dashboard__main a.action:hover, .cs-dashboard__main a.action:focus {
        color: #FF7442; }
    .cs-dashboard__main .table:not(.totals):not(.table-totals) tbody td {
      font-size: 1.4rem;
      font-weight: normal; }
    .cs-dashboard__main .table:not(.totals):not(.table-totals) thead th {
      font-size: 1.2rem; }
  .cs-dashboard__top {
    padding: 0 0 3rem; }
  .cs-dashboard__page-title {
    display: flex;
    flex-direction: column;
    padding-bottom: 1rem; }
    @media (min-width: 48em) {
      .ie11 .cs-dashboard__page-title {
        margin-top: 1.5rem; } }
    .cs-dashboard__page-title .messages {
      order: 1; }
    .cs-dashboard__page-title .page-title-wrapper {
      order: 2; }
  .cs-dashboard .page-title {
    margin: 0 0 15px;
    color: #000;
    font-size: 3.2rem;
    text-transform: none;
    letter-spacing: 0.6px;
    padding: 0 0 1rem 0; }
    @media (max-width: 47.99em) {
      .cs-dashboard .page-title {
        margin: 0 0 25px;
        padding: 0;
        text-align: left; } }
  .cs-dashboard .account-welcome {
    font-size: 1.4rem;
    line-height: 22px;
    order: 3; }
    .cs-dashboard .account-welcome span {
      font-weight: bold;
      display: block; }
  .cs-dashboard .columns .column.main {
    padding: 0; }
  .cs-dashboard .message-error,
  .cs-dashboard .message-success,
  .cs-dashboard .message-notice {
    margin-bottom: 1rem; }
  .cs-dashboard .page-title-wrapper {
    background: transparent; }
  .cs-dashboard__bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 2rem;
    border-top: 2px solid #dcdcdc; }
    @media (min-width: 48em) {
      .cs-dashboard__bottom {
        width: 100%;
        padding-top: 3rem; } }
  .cs-dashboard__wishlist-line {
    margin: 0; }
  .cs-dashboard__wishlist-products-grid {
    margin: 0 0 3rem; }
    @media (min-width: 48em) {
      .cs-dashboard__wishlist-products-grid {
        margin: 0 0 4rem; } }
    .cs-dashboard__wishlist-products-grid--skip-spacing {
      margin: 0; }
  .cs-dashboard__bottom-wishlist {
    margin: 0 0 3rem;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    width: 100%; }
    @media (min-width: 48em) {
      .cs-dashboard__bottom-wishlist {
        margin: 0 0 4rem; } }
    .cs-dashboard__bottom-wishlist--skip-spacing {
      margin: 0; }
    .cs-dashboard__bottom-wishlist-item {
      width: 100%; }
      @media (min-width: 40em) {
        .cs-dashboard__bottom-wishlist-item {
          width: 50%; } }
      @media (min-width: 48em) {
        .cs-dashboard__bottom-wishlist-item {
          width: 33.33%; } }
      .cs-dashboard__bottom-wishlist-item:nth-child(n + 4) {
        display: none; }
  .cs-dashboard__login {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media (min-width: 48em) {
      .cs-dashboard__login {
        flex-wrap: nowrap;
        padding: 0; } }
    .cs-dashboard__login .block-title {
      max-width: 50.5rem !important; }
    .cs-dashboard__login-section {
      width: 100%;
      background: transparent;
      box-sizing: border-box;
      margin-bottom: 2rem; }
      .ie11 .cs-dashboard__login-section .actions-toolbar {
        flex-wrap: wrap; }
      .ie11 .cs-dashboard__login-section .secondary {
        width: 100%; }
      .cs-dashboard__login-section .block-content {
        margin-top: 0; }
        .cs-dashboard__login-section .block-content p, .cs-dashboard__login-section .block-content div {
          font-size: 1.6rem; }
      @media (min-width: 48em) {
        .cs-dashboard__login-section {
          width: 50%; }
          .cs-dashboard__login-section:nth-child(2n + 1) {
            padding-right: 1rem; }
          .cs-dashboard__login-section:nth-child(2n + 2) {
            padding-left: 1rem; } }
  .cs-dashboard__contact-form {
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 2rem;
    background: transparent; }
  .cs-dashboard .fieldset,
  .cs-dashboard .form {
    width: 100%;
    min-width: 15rem !important; }
  .cs-dashboard .fieldset {
    width: 100%;
    border: 0;
    padding: 0;
    margin: 0;
    max-width: 50.5rem !important; }
  .cs-dashboard .field {
    margin-bottom: 1rem; }
    .cs-dashboard .field.note {
      margin-bottom: 25px; }
  .cs-dashboard .field.choice {
    display: flex;
    align-items: center; }
  .cs-dashboard .limiter {
    margin-bottom: 0; }
  .cs-dashboard select {
    display: block;
    font-size: 1.3rem;
    line-height: 1.275em;
    padding: 11px 10px;
    padding-right: 2.3em;
    color: #212121;
    border-radius: 3px;
    border: 1px solid #dcdcdc;
    box-shadow: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 0.2em;
    outline: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background-color: #ffffff;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23dcdcdc'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%);
    background-repeat: no-repeat, repeat;
    background-position: right 0.8em top 52%, 0 0;
    background-size: 0.7em auto, 100%;
    transition: border-color 0.5s; }
    .cs-dashboard select:-moz-focusring, .cs-dashboard select::-moz-focus-inner {
      color: transparent !important;
      text-shadow: 0 0 0 #000 !important; }
    .cs-dashboard select::-ms-expand {
      display: none; }
    .cs-dashboard select:hover:not([disabled]), .cs-dashboard select:focus:not([disabled]) {
      border: 1px solid #FF4604;
      box-shadow: none;
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23FF4604'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"), linear-gradient(0deg, transparent 0%, transparent 100%); }
      .ie11 .cs-dashboard select:hover:not([disabled]), .ie11 .cs-dashboard select:focus:not([disabled]) {
        background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23FF4604'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e"); }
    .cs-dashboard select[disabled] {
      opacity: 0.65; }
    .cs-dashboard select option {
      font-weight: 500;
      padding: 0;
      color: initial; }
    .ie11 .cs-dashboard select {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='%23dcdcdc'%3e%3cpath d='M0 1.2C0 .5.6 0 1.2 0c.3 0 .6.1.8.3l6 5.9 6-5.9c.5-.4 1.2-.3 1.7.1.4.4.4 1.1 0 1.5L8.9 8.7c-.5.4-1.2.4-1.7 0L.4 2a.9.9 0 0 1-.4-.8z'/%3e%3c/svg%3e");
      background-size: 0.7em 0.7em, 100%; }
  .cs-dashboard .choice .label {
    width: auto;
    font-weight: 300;
    font-size: 1.4rem; }
  .cs-dashboard .field-name-prefix {
    max-width: 12rem; }
  .cs-dashboard .actions-toolbar {
    margin-top: 30px;
    display: flex; }
    .ie11 .cs-dashboard .actions-toolbar {
      width: 100%;
      display: flex;
      justify-content: flex-start; }
  .cs-dashboard .primary {
    margin-right: 15px; }
    .cs-dashboard .primary > button,
    .cs-dashboard .primary .create {
      display: inline-block;
      font-size: 1.4rem;
      font-weight: 700;
      text-align: center;
      position: relative;
      line-height: 1.275em;
      margin: 0;
      text-transform: uppercase;
      border-radius: 25px;
      font-family: "Red Hat Display";
      padding: 8px 25px;
      font-size: 1.2rem;
      box-sizing: border-box;
      transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
      vertical-align: middle;
      z-index: 5;
      will-change: transform, background-color, border-color, fill, color;
      min-width: 13rem; }
      .cs-dashboard .primary > button.medium,
      .cs-dashboard .primary .create.medium {
        padding: 11px 25px;
        font-size: 1.4rem; }
      .cs-dashboard .primary > button.large,
      .cs-dashboard .primary .create.large {
        padding: 13px 25px;
        font-size: 1.6rem; }
      .cs-dashboard .primary > button::-moz-focus-inner,
      .cs-dashboard .primary .create::-moz-focus-inner {
        border: 0;
        padding: 0;
        margin: 0; }
      .cs-dashboard .primary > button, .cs-dashboard .primary > button:visited,
      .cs-dashboard .primary .create,
      .cs-dashboard .primary .create:visited {
        cursor: pointer;
        border-radius: 25px;
        outline-offset: 1px;
        text-decoration: none;
        box-shadow: none;
        border: 1px solid transparent;
        color: #ffffff;
        background-color: #FF4604; }
        .cs-dashboard .primary > button *, .cs-dashboard .primary > button:visited *,
        .cs-dashboard .primary .create *,
        .cs-dashboard .primary .create:visited * {
          color: #ffffff;
          fill: #ffffff; }
      .cs-dashboard .primary > button:hover:not([disabled]), .cs-dashboard .primary > button:focus:not([disabled]), .cs-dashboard .primary > button:active:not([disabled]),
      .cs-dashboard .primary .create:hover:not([disabled]),
      .cs-dashboard .primary .create:focus:not([disabled]),
      .cs-dashboard .primary .create:active:not([disabled]) {
        box-shadow: none;
        outline: none;
        text-decoration: none;
        border: 1px solid transparent;
        color: #ffffff;
        background-color: #FF7442; }
        .cs-dashboard .primary > button:hover:not([disabled]) *, .cs-dashboard .primary > button:focus:not([disabled]) *, .cs-dashboard .primary > button:active:not([disabled]) *,
        .cs-dashboard .primary .create:hover:not([disabled]) *,
        .cs-dashboard .primary .create:focus:not([disabled]) *,
        .cs-dashboard .primary .create:active:not([disabled]) * {
          color: #ffffff;
          fill: #ffffff; }
      .cs-dashboard .primary > button[disabled],
      .cs-dashboard .primary .create[disabled] {
        opacity: 0.65;
        cursor: auto; }
      .wishlist-index-index .cs-dashboard .primary > button, .wishlist-index-index
      .cs-dashboard .primary .create {
        z-index: 1; }
      .cs-dashboard .primary > button span,
      .cs-dashboard .primary .create span {
        margin-top: 0;
        z-index: 1;
        font-weight: 700;
        vertical-align: baseline;
        display: inline-block;
        line-height: 1.275em;
        letter-spacing: normal; }
    .cs-dashboard .primary > button.action.update {
      display: none; }
  .cs-dashboard .remind,
  .cs-dashboard .back {
    font-size: 1.4rem;
    margin-top: 0.7rem;
    display: inline-block;
    color: #000; }
    .cs-dashboard .remind:visited,
    .cs-dashboard .back:visited {
      color: #000; }
  .cs-dashboard .counter {
    font-weight: 300;
    transform: translateX(-1rem);
    display: inline-block; }
    .cs-dashboard .counter:before {
      content: '('; }
    .cs-dashboard .counter:after {
      content: ')'; }
  .cs-dashboard .block {
    width: 100%;
    margin: 1rem 0 2.5rem;
    background: transparent;
    padding: 0;
    box-sizing: border-box; }
    @media (min-width: 48em) {
      .cs-dashboard .block {
        margin: 1.5rem 0 4rem; } }
  .cs-dashboard .block-title,
  .cs-dashboard .legend,
  .cs-dashboard .order-title {
    border-bottom: 1px solid #F0F0F0;
    margin-bottom: 2rem;
    padding-bottom: 0.8rem;
    font-weight: 600;
    font-size: 1.8rem;
    width: 100%; }
    .cs-dashboard .block-title strong,
    .cs-dashboard .legend strong,
    .cs-dashboard .order-title strong {
      font-weight: 600;
      margin-right: 1rem; }
  .cs-dashboard .table-wrapper {
    width: 100%; }
  .cs-dashboard .block-title a {
    font-weight: 300;
    font-size: 1.4rem;
    vertical-align: baseline;
    white-space: nowrap; }
  .cs-dashboard .box-title {
    font-size: 1.4rem;
    font-weight: 600;
    text-transform: none;
    color: #000;
    display: inline-block;
    margin-bottom: 8px; }
  .cs-dashboard .block-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 1rem 0 0;
    font-size: 1.4rem; }
    @media (max-width: 63.99em) {
      .sales-order-history .cs-dashboard .block-content {
        margin-top: 0; } }
    .cs-dashboard .block-content.no-display {
      display: none; }
  .cs-dashboard .block-new-customer .block-content {
    flex-direction: column; }
    .cs-dashboard .block-new-customer .block-content .fieldset {
      margin-bottom: 1rem; }
  @media (max-width: 63.99em) {
    .cs-dashboard .block-reward-history .cs-toolbar__item--amount {
      width: 100%;
      justify-content: center; } }
  .cs-dashboard .block-reward-history .cs-toolbar__item--amount:nth-child(1) {
    display: none; }
  @media (max-width: 63.99em) {
    .cs-dashboard .block-reward-history .pages {
      width: 100%;
      justify-content: center;
      display: flex;
      margin: 0.7rem 0 2rem; } }
  .cs-dashboard .block-reward-history .pages:nth-child(2) {
    display: none; }
  @media (max-width: 63.99em) {
    .cs-dashboard .block-reward-history .cs-toolbar__item--limiter {
      margin: 0 auto; } }
  .cs-dashboard .block-reward-history .cs-toolbar__item--limiter:nth-child(3) {
    display: none; }
  .cs-dashboard .box-actions,
  .cs-dashboard .actions {
    font-size: 1.4rem; }
    .cs-dashboard .box-actions a + a:before,
    .cs-dashboard .actions a + a:before {
      margin: 0 0.7rem 0 0.5rem;
      content: '|';
      display: inline-block;
      width: 1px;
      height: 1.2rem;
      vertical-align: middle;
      line-height: 6px;
      font-weight: 100; }
    .cs-dashboard .box-actions a,
    .cs-dashboard .actions a {
      font-weight: 300; }
  .cs-dashboard .table-wrapper,
  .cs-dashboard .orders-history,
  .cs-dashboard .form-wishlist-items {
    background: transparent; }
    .cs-dashboard .table-wrapper + .toolbar,
    .cs-dashboard .table-wrapper + .actions-toolbar,
    .cs-dashboard .orders-history + .toolbar,
    .cs-dashboard .orders-history + .actions-toolbar,
    .cs-dashboard .form-wishlist-items + .toolbar,
    .cs-dashboard .form-wishlist-items + .actions-toolbar {
      background: transparent;
      padding: 0; }
    .cs-dashboard .table-wrapper.order-items + .actions-toolbar,
    .cs-dashboard .orders-history.order-items + .actions-toolbar,
    .cs-dashboard .form-wishlist-items.order-items + .actions-toolbar {
      padding: 0; }
    .cs-dashboard .table-wrapper + .toolbar,
    .cs-dashboard .orders-history + .toolbar,
    .cs-dashboard .form-wishlist-items + .toolbar {
      width: 100%; }
    .cs-dashboard .table-wrapper .action,
    .cs-dashboard .orders-history .action,
    .cs-dashboard .form-wishlist-items .action {
      margin-right: 0; }
  .cs-dashboard .form-wishlist-items .actions-toolbar .primary {
    margin-bottom: 2rem; }
    @media (max-width: 64em) {
      .cs-dashboard .form-wishlist-items .actions-toolbar .primary {
        display: flex;
        justify-content: space-between;
        flex-direction: column; }
        .cs-dashboard .form-wishlist-items .actions-toolbar .primary .action:last-child {
          margin-top: 1rem; } }
  .cs-dashboard .cs-toolbar__item--amount {
    display: flex;
    align-items: center; }
  .cs-dashboard .toolbar {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    @media (max-width: 47.99em) {
      .cs-dashboard .toolbar {
        align-items: center; } }
    @media (max-width: 63.99em) {
      .cs-dashboard .toolbar {
        flex-direction: column; } }
    .cs-dashboard .toolbar::after, .cs-dashboard .toolbar::before {
      display: none; }
    @media (max-width: 63.99em) {
      .cs-dashboard .toolbar .cs-toolbar__item {
        display: flex;
        justify-content: center;
        margin: auto; }
        .cs-dashboard .toolbar .cs-toolbar__item p {
          margin-bottom: 1rem; } }
    @media (max-width: 63.99em) {
      .cs-dashboard .toolbar .cs-toolbar__item--amount {
        margin-bottom: 1.5rem; } }
    @media (max-width: 47.99em) {
      .cs-dashboard .toolbar .cs-toolbar__item--amount {
        padding-bottom: 0; } }
    .cs-dashboard .toolbar .cs-toolbar__item--amount + .cs-toolbar__item--limiter {
      margin-top: 0; }
    @media (max-width: 63.99em) {
      .cs-dashboard .toolbar .cs-toolbar__item--limiter {
        margin-top: 2.5rem; } }
    .cs-dashboard .toolbar .toolbar-amount {
      padding-top: 0; }
    @media (max-width: 47.99em) {
      .cs-dashboard .toolbar .pages {
        margin: 0 auto; } }
    @media (min-width: 48em) {
      .cs-dashboard .toolbar .pages {
        position: static;
        display: flex;
        justify-content: center;
        width: auto; } }
    @media (max-width: 47.99em) {
      .cs-dashboard .toolbar .limiter {
        display: flex;
        justify-content: center; } }
    @media (max-width: 47.99em) {
      .cs-dashboard .toolbar .limiter .label {
        width: auto; } }
    .cs-dashboard .toolbar.wishlist-toolbar br {
      display: none; }
  .cs-dashboard .actions-toolbar > .secondary .action.back,
  .cs-dashboard .secondary .action.edit-email-preferences {
    display: none; }
  .cs-dashboard .box,
  .cs-dashboard .addresses {
    width: 100%;
    box-sizing: border-box; }
    @media (min-width: 40em) {
      .cs-dashboard .box,
      .cs-dashboard .addresses {
        width: 49%;
        padding-right: 15px; } }
  .cs-dashboard .box-content,
  .cs-dashboard .addresses .item {
    font-weight: 400;
    color: #696969;
    line-height: 2.5rem;
    margin-bottom: 0; }
  .cs-dashboard .box-content address a {
    color: #3E3E3E; }
    .cs-dashboard .box-content address a:visited, .cs-dashboard .box-content address a:focus {
      color: #3E3E3E; }
  .cs-dashboard .tooltip.wrapper {
    font-size: 1.4rem;
    display: inline-block;
    padding-left: 0.5rem; }
  .cs-dashboard .choice.persistent {
    padding-bottom: 1.5rem; }
  @media (max-width: 63.99em) {
    .cs-dashboard .table-order-items .cs-table__col:last-child {
      padding-bottom: 2rem; }
    .cs-dashboard .table-order-items .price-excluding-tax,
    .cs-dashboard .table-order-items .price-including-tax,
    .cs-dashboard .table-order-items .items-qty,
    .cs-dashboard .table-order-items .product-item-name {
      display: inline-block;
      font-weight: 400;
      margin: 0;
      color: #696969; }
    .cs-dashboard .table-order-items .cs-cart-item__options-label {
      text-transform: none;
      width: auto;
      margin-right: 1rem; }
      .cs-dashboard .table-order-items .cs-cart-item__options-label:after {
        content: ':'; }
    .cs-dashboard .table-order-items .cs-table__col.subtotal {
      text-align: left; }
    .cs-dashboard .table-order-items .price-excluding-tax .price {
      font-weight: 400; } }
  .sales-order-view .cs-dashboard .actions {
    width: 100%;
    margin-top: 2rem;
    display: flex; }
  .sales-order-view .cs-dashboard .actions .order {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    font-size: 1.2rem;
    margin-right: 1rem;
    margin-bottom: 0.8rem; }
    .sales-order-view .cs-dashboard .actions .order.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .sales-order-view .cs-dashboard .actions .order.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .sales-order-view .cs-dashboard .actions .order::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .sales-order-view .cs-dashboard .actions .order, .sales-order-view .cs-dashboard .actions .order:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF4604; }
      .sales-order-view .cs-dashboard .actions .order *, .sales-order-view .cs-dashboard .actions .order:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .sales-order-view .cs-dashboard .actions .order:hover:not([disabled]), .sales-order-view .cs-dashboard .actions .order:focus:not([disabled]), .sales-order-view .cs-dashboard .actions .order:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .sales-order-view .cs-dashboard .actions .order:hover:not([disabled]) *, .sales-order-view .cs-dashboard .actions .order:focus:not([disabled]) *, .sales-order-view .cs-dashboard .actions .order:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .sales-order-view .cs-dashboard .actions .order[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .sales-order-view .cs-dashboard .actions .order::before {
      display: none; }
    .sales-order-view .cs-dashboard .actions .order span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
  .sales-order-view .cs-dashboard .actions .print {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color;
    font-size: 1.2rem;
    margin-right: 1rem;
    margin-bottom: 0.8rem; }
    .sales-order-view .cs-dashboard .actions .print.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .sales-order-view .cs-dashboard .actions .print.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .sales-order-view .cs-dashboard .actions .print::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .sales-order-view .cs-dashboard .actions .print, .sales-order-view .cs-dashboard .actions .print:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #000; }
      .sales-order-view .cs-dashboard .actions .print *, .sales-order-view .cs-dashboard .actions .print:visited * {
        color: #ffffff;
        fill: #FF4604; }
    .sales-order-view .cs-dashboard .actions .print:hover:not([disabled]), .sales-order-view .cs-dashboard .actions .print:focus:not([disabled]), .sales-order-view .cs-dashboard .actions .print:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #3E3E3E; }
      .sales-order-view .cs-dashboard .actions .print:hover:not([disabled]) *, .sales-order-view .cs-dashboard .actions .print:focus:not([disabled]) *, .sales-order-view .cs-dashboard .actions .print:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .sales-order-view .cs-dashboard .actions .print[disabled] {
      opacity: 0.65;
      cursor: auto; }
    .sales-order-view .cs-dashboard .actions .print::before {
      display: none; }
    .sales-order-view .cs-dashboard .actions .print span {
      margin-top: 0;
      z-index: 1;
      font-weight: 700;
      vertical-align: baseline;
      display: inline-block;
      line-height: 1.275em;
      letter-spacing: normal; }
  .cs-dashboard .block-reviews-dashboard .product-name {
    font-weight: 300; }
  .cs-dashboard .rating-result {
    margin-left: 0;
    width: auto; }
    .cs-dashboard .rating-result::before {
      display: none; }
  .cs-dashboard .rating-summary.item {
    display: flex;
    overflow: visible; }
  .cs-dashboard .customer-review .product-name {
    font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1.6rem;
    color: #212121;
    font-weight: 700;
    text-transform: uppercase;
    margin: 1rem 0 2rem; }
  .cs-dashboard .customer-review .review-title {
    font-family: "Red Hat Display", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Oxygen, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1.6rem;
    color: #212121;
    font-weight: 700;
    text-transform: uppercase;
    margin: 1rem 0 2rem;
    text-transform: none; }
  .cs-dashboard .form-address-edit,
  .cs-dashboard .form-edit-account,
  .cs-dashboard .form-newsletter-manage,
  .cs-dashboard .reviews {
    margin-top: 20px; }
  .cs-dashboard .form.create.account,
  .cs-dashboard .form-address-edit,
  .cs-dashboard .form-edit-account,
  .cs-dashboard .form.password.reset,
  .cs-dashboard .form.send.confirmation,
  .cs-dashboard .form.password.forget,
  .cs-dashboard #aw_giftcard__check_code_form {
    background: transparent;
    padding: 0; }
    @media (min-width: 48em) {
      .cs-dashboard .form.create.account,
      .cs-dashboard .form-address-edit,
      .cs-dashboard .form-edit-account,
      .cs-dashboard .form.password.reset,
      .cs-dashboard .form.send.confirmation,
      .cs-dashboard .form.password.forget,
      .cs-dashboard #aw_giftcard__check_code_form {
        width: 100%; } }
    .cs-dashboard .form.create.account br,
    .cs-dashboard .form-address-edit br,
    .cs-dashboard .form-edit-account br,
    .cs-dashboard .form.password.reset br,
    .cs-dashboard .form.send.confirmation br,
    .cs-dashboard .form.password.forget br,
    .cs-dashboard #aw_giftcard__check_code_form br {
      display: none; }
    .cs-dashboard .form.create.account .fullname .label,
    .cs-dashboard .form-address-edit .fullname .label,
    .cs-dashboard .form-edit-account .fullname .label,
    .cs-dashboard .form.password.reset .fullname .label,
    .cs-dashboard .form.send.confirmation .fullname .label,
    .cs-dashboard .form.password.forget .fullname .label,
    .cs-dashboard #aw_giftcard__check_code_form .fullname .label {
      text-align: left;
      width: 100%; }
    .cs-dashboard .form.create.account .fullname .control,
    .cs-dashboard .form-address-edit .fullname .control,
    .cs-dashboard .form-edit-account .fullname .control,
    .cs-dashboard .form.password.reset .fullname .control,
    .cs-dashboard .form.send.confirmation .fullname .control,
    .cs-dashboard .form.password.forget .fullname .control,
    .cs-dashboard #aw_giftcard__check_code_form .fullname .control {
      width: 100%; }
    .cs-dashboard .form.create.account .action.primary,
    .cs-dashboard .form-address-edit .action.primary,
    .cs-dashboard .form-edit-account .action.primary,
    .cs-dashboard .form.password.reset .action.primary,
    .cs-dashboard .form.send.confirmation .action.primary,
    .cs-dashboard .form.password.forget .action.primary,
    .cs-dashboard #aw_giftcard__check_code_form .action.primary {
      font-size: 1.4rem; }
    .cs-dashboard .form.create.account .back,
    .cs-dashboard .form-address-edit .back,
    .cs-dashboard .form-edit-account .back,
    .cs-dashboard .form.password.reset .back,
    .cs-dashboard .form.send.confirmation .back,
    .cs-dashboard .form.password.forget .back,
    .cs-dashboard #aw_giftcard__check_code_form .back {
      display: none; }
    .cs-dashboard .form.create.account .fieldset,
    .cs-dashboard .form-address-edit .fieldset,
    .cs-dashboard .form-edit-account .fieldset,
    .cs-dashboard .form.password.reset .fieldset,
    .cs-dashboard .form.send.confirmation .fieldset,
    .cs-dashboard .form.password.forget .fieldset,
    .cs-dashboard #aw_giftcard__check_code_form .fieldset {
      margin-bottom: 2rem; }
    .cs-dashboard .form.create.account .fieldset-fullname,
    .cs-dashboard .form-address-edit .fieldset-fullname,
    .cs-dashboard .form-edit-account .fieldset-fullname,
    .cs-dashboard .form.password.reset .fieldset-fullname,
    .cs-dashboard .form.send.confirmation .fieldset-fullname,
    .cs-dashboard .form.password.forget .fieldset-fullname,
    .cs-dashboard #aw_giftcard__check_code_form .fieldset-fullname {
      margin-bottom: 0; }
  .cs-dashboard .addresses {
    width: 100%; }
  .cs-dashboard .block-addresses-list + .actions-toolbar {
    background: transparent; }
  @media (max-width: 47.99em) {
    .cs-dashboard .box-billing-address {
      margin-bottom: 2rem; } }
  .cs-dashboard .form-newsletter-manage {
    background: transparent; }
    .cs-dashboard .form-newsletter-manage .fieldset {
      margin-bottom: 1rem; }
  .cs-dashboard__button {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.275em;
    margin: 0;
    text-transform: uppercase;
    border-radius: 25px;
    font-family: "Red Hat Display";
    padding: 8px 25px;
    font-size: 1.2rem;
    box-sizing: border-box;
    transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
    vertical-align: middle;
    z-index: 5;
    will-change: transform, background-color, border-color, fill, color; }
    .cs-dashboard__button.medium {
      padding: 11px 25px;
      font-size: 1.4rem; }
    .cs-dashboard__button.large {
      padding: 13px 25px;
      font-size: 1.6rem; }
    .cs-dashboard__button::-moz-focus-inner {
      border: 0;
      padding: 0;
      margin: 0; }
    .cs-dashboard__button, .cs-dashboard__button:visited {
      cursor: pointer;
      border-radius: 25px;
      outline-offset: 1px;
      text-decoration: none;
      box-shadow: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF4604; }
      .cs-dashboard__button *, .cs-dashboard__button:visited * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-dashboard__button:hover:not([disabled]), .cs-dashboard__button:focus:not([disabled]), .cs-dashboard__button:active:not([disabled]) {
      box-shadow: none;
      outline: none;
      text-decoration: none;
      border: 1px solid transparent;
      color: #ffffff;
      background-color: #FF7442; }
      .cs-dashboard__button:hover:not([disabled]) *, .cs-dashboard__button:focus:not([disabled]) *, .cs-dashboard__button:active:not([disabled]) * {
        color: #ffffff;
        fill: #ffffff; }
    .cs-dashboard__button[disabled] {
      opacity: 0.65;
      cursor: auto; }
  .cs-dashboard__button-span {
    margin-top: 0;
    z-index: 1;
    font-weight: 700;
    vertical-align: baseline;
    display: inline-block;
    line-height: 1.275em;
    letter-spacing: normal; }
  .cs-dashboard__button-icon {
    max-width: 1em;
    max-height: 1.4rem;
    z-index: 2;
    height: auto;
    width: 100%;
    display: none; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
/* Radio and checkbox styling */
.cs-captcha__image-controls {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: 1.5rem; }
  .cs-dashboard .cs-captcha__image-controls {
    flex-direction: column;
    align-items: flex-start; }
    @media (min-width: 40em) {
      .cs-dashboard .cs-captcha__image-controls {
        flex-direction: row;
        align-items: flex-end; } }
  @media (max-width: 48em) {
    .cs-captcha__image-controls {
      flex-wrap: wrap; } }

.cs-captcha__image {
  margin-right: 1rem; }

.cs-captcha__button {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color; }
  .cs-captcha__button.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  .cs-captcha__button.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  .cs-captcha__button::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-captcha__button, .cs-captcha__button:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #000; }
    .cs-captcha__button *, .cs-captcha__button:visited * {
      color: #ffffff;
      fill: #FF4604; }
  .cs-captcha__button:hover:not([disabled]), .cs-captcha__button:focus:not([disabled]), .cs-captcha__button:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #3E3E3E; }
    .cs-captcha__button:hover:not([disabled]) *, .cs-captcha__button:focus:not([disabled]) *, .cs-captcha__button:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-captcha__button[disabled] {
    opacity: 0.65;
    cursor: auto; }
  .cs-dashboard .cs-captcha__button {
    margin-top: 2rem; }
    @media (min-width: 40em) {
      .cs-dashboard .cs-captcha__button {
        margin-top: 0; } }

.cs-captcha__button-span {
  margin-top: 0;
  z-index: 1;
  font-weight: 700;
  vertical-align: baseline;
  display: inline-block;
  line-height: 1.275em;
  letter-spacing: normal; }

.cs-captcha__note {
  display: block;
  font-size: 0.85em;
  padding: 0.3em 0 0;
  color: #696969; }

.cs-dashboard .cs-captcha__wrapper {
  width: 100%;
  margin-bottom: 2rem; }

/**
 * Breakpoint component used by include-media vendor library.
 */
/**
 * Extracts nested keys from given map.
 * Example: deep-get($some-map, some, nested, keys);
 */
@use "sass:map";
/**
* Default project breakpoints - [em]
*/
/* 
 * Function to get value from a list of values, based on side
 * @param {string} $variable: variable with a list of values (like paddings, margins etc.);
 * @param {string} $side: side (up / right / down / left) for which we want to get value
 * Example:
 * $component_padding: 1rem 2rem 3rem;
 * get-value-from-list($component_padding, 'right') // 2rem
 * get-value-from-list($component_padding, 'bottom') // 3rem
 */
/* stylelint-disable block-no-empty */
/* stylelint-enable */
.cs-form, .cs-form__fieldset {
  border: 0;
  padding: 0;
  margin: 0; }

.cs-form__field + .cs-form__field {
  margin-top: 1em; }

.cs-form--disabled {
  opacity: 0.6; }

.cs-form__button {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  line-height: 1.275em;
  margin: 0;
  text-transform: uppercase;
  border-radius: 25px;
  font-family: "Red Hat Display";
  padding: 8px 25px;
  font-size: 1.2rem;
  box-sizing: border-box;
  transition: background-color 0.5s, border-color 0.5s, fill 0.5s, color 0.5s;
  vertical-align: middle;
  z-index: 5;
  will-change: transform, background-color, border-color, fill, color; }
  .cs-form__button.medium {
    padding: 11px 25px;
    font-size: 1.4rem; }
  .cs-form__button.large {
    padding: 13px 25px;
    font-size: 1.6rem; }
  .cs-form__button::-moz-focus-inner {
    border: 0;
    padding: 0;
    margin: 0; }
  .cs-form__button, .cs-form__button:visited {
    cursor: pointer;
    border-radius: 25px;
    outline-offset: 1px;
    text-decoration: none;
    box-shadow: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF4604; }
    .cs-form__button *, .cs-form__button:visited * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-form__button:hover:not([disabled]), .cs-form__button:focus:not([disabled]), .cs-form__button:active:not([disabled]) {
    box-shadow: none;
    outline: none;
    text-decoration: none;
    border: 1px solid transparent;
    color: #ffffff;
    background-color: #FF7442; }
    .cs-form__button:hover:not([disabled]) *, .cs-form__button:focus:not([disabled]) *, .cs-form__button:active:not([disabled]) * {
      color: #ffffff;
      fill: #ffffff; }
  .cs-form__button[disabled] {
    opacity: 0.65;
    cursor: auto; }

.cs-form__button-span {
  margin-top: 0;
  z-index: 1;
  font-weight: 700;
  vertical-align: baseline;
  display: inline-block;
  line-height: 1.275em;
  letter-spacing: normal;
  padding-right: 4em; }

.cs-form__button-icon {
  max-width: 1em;
  max-height: 1.4rem;
  z-index: 2;
  height: auto;
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translate3d(0, -50%, 0);
  margin-right: 0;
  right: 1em; }

.form,
.form .fieldset {
  border: 0;
  padding: 0;
  margin: 0; }

.form .field + .field {
  margin-top: 1em; }

.contact .field .control > textarea {
  max-height: 80px; }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL2NvbnRhY3QuY3NzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29uZmlnL2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy91dGlscy9kZWVwLWdldC9kZWVwLWdldC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb25maWcvYmFzZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL2ZvbnQtZmFtaWx5LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2J1bmRsZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL25vZGVfbW9kdWxlcy9pbmNsdWRlLW1lZGlhL2Rpc3QvX2luY2x1ZGUtbWVkaWEuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy91dGlscy91dGlsaXR5LWNsYXNzZXMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2NvbnRhaW5lci9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2NvbnRhaW5lci9uby1yb290LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvY29udGFpbmVyL2NvbnRhaW5lci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL01hZ2VudG9fVGhlbWUvd2ViL2Nzcy9zb3VyY2UvX2xheW91dC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9hdXRob3JpemF0aW9uLWxpbmsuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2F1dGhvcml6YXRpb24tbGluay9hdXRob3JpemF0aW9uLWxpbmsuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy91dGlscy9saW5rLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2FkZHRvY2FydC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL2dldC12YWx1ZS1mcm9tLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2J1dHRvbi9ob29rLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvYWRkdG9jYXJ0L2FkZHRvY2FydC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2J1dHRvbi9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS9hdXRvY29tcGxldGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9iYWRnZS9ob29rLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvcHJpY2UtYm94L3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2JhZGdlL21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2JyZWFkY3J1bWJzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvcmVzZXQtbGlzdC1zdHlsZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2JyZWFkY3J1bWJzL2JyZWFkY3J1bWJzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2J1dHRvbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy91dGlscy9jb21wb25lbnQtc3BhY2luZy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9jb250YWluZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vY29va2llLW1lc3NhZ2Uuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL2Nvb2tpZS1tZXNzYWdlL2Nvb2tpZS1tZXNzYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2Rpc3BsYXktY29udHJvbGxlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvZGlzcGxheS1jb250cm9sbGVyL2Rpc3BsYXktY29udHJvbGxlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS9kcm9wZG93bi1zd2l0Y2hlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvcHNldWRvaWNvbi9ob29rLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9kcm9wZG93bi1zd2l0Y2hlci9kcm9wZG93bi1zd2l0Y2hlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvcHNldWRvaWNvbi9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS9maWVsZC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2ZpZWxkL2hvb2suc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9maWVsZC9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2ZpZWxkL2ZpZWxkLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS9mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy91dGlscy92aXN1YWxseS1oaWRkZW4uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy90eXBvZ3JhcGh5L2hvb2suc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2Zvb3Rlci1saW5rcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXItbGlua3Muc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9ncmlkLWxheW91dC9ncmlkLWxheW91dC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9ncmlkLWxheW91dC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL2FzcGVjdC1yYXRpby5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3V0aWxzL2NsZWFyZml4LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvdXRpbHMvcG9seS1mbHVpZC1zaXppbmcuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vaGVhZGxpbmUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9oZWFkbGluZS9ob29rLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvaGVhZGxpbmUvaGVhZGxpbmUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9oZWFkbGluZS9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS9oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3NlYXJjaC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2hlYWRlci9zZWFyY2gvc2VhcmNoLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3VzZXItbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvcXR5LWNvdW50ZXIvaG9vay5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2hlYWRlci91c2VyLW5hdi91c2VyLW5hdi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3F0eS1jb3VudGVyL21peGluLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9sYXp5bG9hZC9sYXp5bG9hZC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9saW5rcy1ibG9jay1hZGR0by5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvbGlua3MtYmxvY2stYWRkdG8vbGlua3MtYmxvY2stYWRkdG8uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vbG9nby5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvbG9nby9sb2dvLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL21lc3NhZ2VzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvbWVzc2FnZXMvbWVzc2FnZXMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vbWluaWNhcnQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9taW5pY2FydC9taW5pY2FydC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9taW5pY2FydC1wcm9kdWN0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvbWluaWNhcnQtcHJvZHVjdC9taW5pY2FydC1wcm9kdWN0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2ZyZWUtc2hpcHBpbmctaW5kaWNhdG9yLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9mcmVlLXNoaXBwaW5nLWluZGljYXRvci9mcmVlLXNoaXBwaW5nLWluZGljYXRvci5zY3NzIiwid2VicGFjazovL1tuYW1lXS9tb2RhbC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL21vZGFsL21vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3RlYXNlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvbmF2aWdhdGlvbi90ZWFzZXIvdGVhc2VyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL25hdmlnYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vbmV3c2xldHRlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL25ld3NsZXR0ZXIvbmV3c2xldHRlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS9vZmZjYW52YXMtdG9nZ2xlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvb2ZmY2FudmFzLXRvZ2dsZS9vZmZjYW52YXMtdG9nZ2xlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL29mZmNhbnZhcy1uYXZpZ2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvb2ZmY2FudmFzLW5hdmlnYXRpb24vb2ZmY2FudmFzLW5hdmlnYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vb2ZmY2FudmFzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvb2ZmY2FudmFzL29mZmNhbnZhcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9wYWdlLXRpdGxlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvcGFnZS10aXRsZS9wYWdlLXRpdGxlLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3BhZ2UtYm90dG9tLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvcGFnZS1ib3R0b20vcGFnZS1ib3R0b20uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vcHJpY2UtYm94LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvcHJpY2UtYm94L3ByaWNlLWJveC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3ByaWNlLWJveC9taXhpbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS9wcm9kdWN0LXRpbGUuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy91dGlscy9zdHJpbmctdG8tbnVtYmVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvcHJvZHVjdC10aWxlL3Byb2R1Y3QtdGlsZS5zY3NzIiwid2VicGFjazovL1tuYW1lXS9wd2Etbm90aWZpY2F0aW9uLXBhbmVsLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9wd2Etbm90aWZpY2F0aW9uLXBhbmVsL3B3YS1ub3RpZmljYXRpb24tcGFuZWwuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vcXR5LWluY3JlbWVudC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3F0eS1pbmNyZW1lbnQvcXR5LWluY3JlbWVudC5zY3NzIiwid2VicGFjazovL1tuYW1lXS9zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3NsaWRlci9zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vc29jaWFsLW1lZGlhLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3NvY2lhbC1tZWRpYS1saXN0L3NvY2lhbC1tZWRpYS1saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3N0YXItcmF0aW5nLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9zdGFyLXJhdGluZy9zdGFyLXJhdGluZy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9zd2F0Y2hlcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvc3dhdGNoZXMvc3dhdGNoZXMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vdG9wYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdG9wYmFyL3RvcGJhci5zY3NzIiwid2VicGFjazovL1tuYW1lXS90eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvdHlwb2dyYXBoeS90eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy91c3BzL3VzcHMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vdXNwcy5zY3NzIiwid2VicGFjazovL1tuYW1lXS9zZWxlY3Quc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvdmlzdWFsbHktaGlkZGVuL3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS9pZTExLW1vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9pZTExLW1vZGFsL2llMTEtbW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vcHdhLW5vdGlmaWNhdGlvbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvcHdhLW5vdGlmaWNhdGlvbi9wd2Etbm90aWZpY2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy9ub24tY3JpdGljYWwvbm9uLWNyaXRpY2FsLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2ltYWdlLXRlYXNlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL3ZlbmRvcnMvc3dpcGVyLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4uL3RoZW1lLWNyZWF0aXZlc2hvcC9zcmMvY29tcG9uZW50cy90ZWFzZXIvaG9va3MvcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvdGVhc2VyL2hvb2tzLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vc3JjL2NvbXBvbmVudHMvaW1hZ2UtdGVhc2VyL2ltYWdlLXRlYXNlci5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL3RlYXNlci9taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy90ZWFzZXIvbWl4aW5zL3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi4vdGhlbWUtY3JlYXRpdmVzaG9wL3NyYy9jb21wb25lbnRzL3RlYXNlci9taXhpbnMvY29udHJhc3Qtb3B0aW1pemVycy9ncmFkaWVudC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvdGVhc2VyL21peGlucy9jb250cmFzdC1vcHRpbWl6ZXJzL3RleHQtc2hhZG93LnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2Rhc2hib2FyZC5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uL3NyYy9jb21wb25lbnRzL2Rhc2hib2FyZC9kYXNoYm9hcmQuc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vY2FwdGNoYS5zY3NzIiwid2VicGFjazovL1tuYW1lXS8uLi90aGVtZS1jcmVhdGl2ZXNob3Avc3JjL2NvbXBvbmVudHMvY2FwdGNoYS9jYXB0Y2hhLnNjc3MiLCJ3ZWJwYWNrOi8vW25hbWVdL2Zvcm0uc2NzcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9zcmMvY29tcG9uZW50cy9mb3JtL2Zvcm0uc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuQGltcG9ydCAnZXRjL3ZpZXcuc2Nzcyc7XG5AaW1wb3J0ICd1dGlscy9kZWVwLWdldC9kZWVwLWdldC5zY3NzJztcblxuLy8gQnJlYWtwb2ludHMgaW1wb3J0IGZyb20gdmlldy54bWwgW3B4XVxuJGJyZWFrcG9pbnRzX3B4OiBkZWVwLWdldCgkdmlldy14bWwsIHZhcnMsIE1hZ2VudG9fVGhlbWUsIGJyZWFrcG9pbnRzKTtcbiRicmVha3BvaW50c19lbTogKCk7XG5cbkB1c2UgXCJzYXNzOm1hcFwiO1xuXG5AZnVuY3Rpb24gY2FsY3VsYXRlLWJyZWFrcG9pbnRzKCRicmVha3BvaW50c19lbSwgJGJyZWFrcG9pbnRzX3B4KSB7XG4gICAgJHJlc3VsdDogJGJyZWFrcG9pbnRzX2VtO1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkYnJlYWtwb2ludHNfcHgge1xuICAgICAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAkcmVzdWx0LFxuICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgIHVucXVvdGUoJGtleSk6ICR2YWx1ZSAvIDE2ICogMWVtLFxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5cbiRicmVha3BvaW50czogY2FsY3VsYXRlLWJyZWFrcG9pbnRzKCRicmVha3BvaW50c19lbSwgJGJyZWFrcG9pbnRzX3B4KSAhZGVmYXVsdDtcblxuLy8gcGhvbmU6IDIzLjEyNWVtIC0gMzcwcHhcbi8vIHBob25lTGc6IDMwZW0gLSA0ODBweCxcbi8vIHRhYmxldDogNDhlbSAtIDc2OHB4LFxuLy8gbGFwdG9wOiA2NGVtIC0gMTAyNHB4LFxuLy8gbGFwdG9wTGc6IDgwZW0gLSAxMjgwcHgsXG4vLyBkZXNrdG9wOiA5MGVtIC0gMTQ0MHB4LFxuLy8gdHY6IDEyMGVtIC0gMTkyMHB4LFxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDYyLjUlO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi8gfVxuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjZyZW07XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgY29sb3I6ICMzRTNFM0U7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG50ZXh0YXJlYSxcbnNlbGVjdCB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi8qIEhpZGUgSFRNTDUgVXAgYW5kIERvd24gYXJyb3dzLiAqL1xuaW5wdXRbdHlwZT0nbnVtYmVyJ10ge1xuICBhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IH1cbiAgaW5wdXRbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sIGlucHV0W3R5cGU9J251bWJlciddOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luOiAwOyB9XG4iLCIvKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AZnVuY3Rpb24gZGVlcC1nZXQoJG1hcCwgJGtleXMuLi4pIHtcbiAgICBAZWFjaCAka2V5IGluICRrZXlzIHtcbiAgICAgICAgJG1hcDogbWFwLWdldCgkbWFwLCAka2V5KTtcbiAgICB9XG4gICAgQHJldHVybiAkbWFwO1xufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd1dGlscy9mb250LWZhbWlseSc7XG5cbmh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiA2Mi41JTtcbiAgICBiYWNrZ3JvdW5kOiAkcGFnZV9iYWNrZ3JvdW5kO1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuOyAvLyBoaWRlcyBob3Jpem9udGFsIHNjcm9sbGJhciBvbiBFZGdlIGFuZCBJRVxuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbn1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuYm9keSB7XG4gICAgQGluY2x1ZGUgZm9udC1mYW1pbHkoJGZvbnRfZmFtaWx5LXByaW1hcnkpO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNnJlbTtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgY29sb3I6ICRjb2xvcl9ib2R5LXRleHQ7XG59XG5cbmJ1dHRvbixcbmlucHV0LFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG5AaWYgJGlucHV0X3JlbW92ZS1udW1iZXItYXBwZWFyYW5jZSB7XG4gICAgLyogSGlkZSBIVE1MNSBVcCBhbmQgRG93biBhcnJvd3MuICovXG4gICAgaW5wdXRbdHlwZT0nbnVtYmVyJ10ge1xuICAgICAgICBhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG5cbiAgICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcblxuQG1peGluIGZvbnQtZmFtaWx5KCRmb250cy4uLikge1xuICAgIEBpZiAkZm9udHMge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnRzLCAkZm9udC1mYW1pbHktZmFsbGJhY2s7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktZmFsbGJhY2s7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5AbWVkaWEgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc5Ljk5ZW0pIHtcbiAgLmNzLWhpZGUtbGFwdG9wIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQgKi8gfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAuY3MtaGlkZS10YWJsZXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCAqLyB9IH1cblxuLmNzLW5vLWRpc3BsYXkge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50ICovIH1cblxuLmNzLWFzcGVjdC1yYXRpbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy10b3A6IDU2LjI1JTsgfVxuICAuY3MtYXNwZWN0LXJhdGlvX19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDsgfVxuXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIE1peGlucyBmb3IgZmxleGlibGUgY29udGFpbmVycyBkZWNsYXJhdGlvbi5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIHBhZ2UgY29udGFpbmVyLiBUaGlzIG1peGluIG1ha2VzIHN1cmUgdGhhdCB0aGUgY29udGVudCBoYXMgYWx3YXlzIGVxdWFsIHBhZGRpbmdcbiAqIGZvciBtb2JpbGUgc2NyZWVucyBvbiBib3RoIHNpemUgb2YgdGhlIGRldmljZS5cbiAqL1xuLyoqXG4gKiBOZWdhdGVzIHBhcmVudCBjb250YWluZXIncyBwYWRkaW5nIGFuZCBzZXRzIGl0IG93bi5cbiAqIFNvbWV0aGltZXMgdGhpcyBoYXMgdG8gYmUgZG9uZSB0byBtYWtlIGJhY2tncm91bmQgZXZlbiB0byBvdGhlciBjb250YWluZXJzJyBjb250ZW50LlxuICovXG4vKipcbiAqIERlZmluZXMgY29udGFpbmVyIHdyYXBwZXIgdGhhdCBtYWtlcyBzdXJlIGNvbnRuZXQgZG9lc24ndCBleHRlbmQgYWJvdmUgY2VydGFpbiB3aWR0aCBhbmQgaXMgYWx3YXlzIGNlbnRlcmVkLlxuICovXG5ib2R5LmNtcy1uby1yb3V0ZSAuY3MtY29udGFpbmVyX19pbm5lciBoMSwgYm9keS5jbXMtbm8tcm91dGUgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyBoMSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LWZhbWlseTogMjhweDtcbiAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuYm9keS5jbXMtbm8tcm91dGUgLmNzLWNvbnRhaW5lcl9faW5uZXIgaDIsIGJvZHkuY21zLW5vLXJvdXRlIC5jcy1jb250YWluZXJfX3Jldmlld3MgaDIsIGJvZHkuY21zLW5vLXJvdXRlIC5jcy1jb250YWluZXJfX2lubmVyIGgzLCBib2R5LmNtcy1uby1yb3V0ZSAuY3MtY29udGFpbmVyX19yZXZpZXdzIGgzIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG5ib2R5LmNtcy1uby1yb3V0ZSAuY3MtY29udGFpbmVyX19pbm5lciB1bC5idXR0b25zLXNldCwgYm9keS5jbXMtbm8tcm91dGUgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyB1bC5idXR0b25zLXNldCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgYm9keS5jbXMtbm8tcm91dGUgLmNzLWNvbnRhaW5lcl9faW5uZXIgdWwuYnV0dG9ucy1zZXQgYnV0dG9uLCBib2R5LmNtcy1uby1yb3V0ZSAuY3MtY29udGFpbmVyX19yZXZpZXdzIHVsLmJ1dHRvbnMtc2V0IGJ1dHRvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbmJvZHkuY21zLW5vLXJvdXRlIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiB7XG4gIHBhZGRpbmc6IDQ1cHggMTVweCAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDEzOHJlbTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgYm9keS5jbXMtbm8tcm91dGUgLmNvbHVtbnMgLmNvbHVtbi5tYWluIGgxIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LWZhbWlseTogMjhweDtcbiAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIGJvZHkuY21zLW5vLXJvdXRlIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiBoMiwgYm9keS5jbXMtbm8tcm91dGUgLmNvbHVtbnMgLmNvbHVtbi5tYWluIGgzIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgYm9keS5jbXMtbm8tcm91dGUgLmNvbHVtbnMgLmNvbHVtbi5tYWluIHVsLmJ1dHRvbnMtc2V0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgICBib2R5LmNtcy1uby1yb3V0ZSAuY29sdW1ucyAuY29sdW1uLm1haW4gdWwuYnV0dG9ucy1zZXQgYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4uY3MtY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC5jcy1jb250YWluZXJfX2lubmVyLCAuY3MtY29udGFpbmVyX19yZXZpZXdzIHtcbiAgICBtYXgtd2lkdGg6IDEyNHJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY3MtY29udGFpbmVyX19pbm5lcjpiZWZvcmUsIC5jcy1jb250YWluZXJfX3Jldmlld3M6YmVmb3JlLCAuY3MtY29udGFpbmVyX19pbm5lcjphZnRlciwgLmNzLWNvbnRhaW5lcl9fcmV2aWV3czphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuY3MtY29udGFpbmVyX19pbm5lci0tZmxleCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtY29udGFpbmVyX19pbm5lci0tZmxleCB7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICAgICAgLmNzLWNvbnRhaW5lcl9faW5uZXItLWZsZXg6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1jb250YWluZXJfX2FzaWRlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19hc2lkZSB7XG4gICAgICAgIHdpZHRoOiAzMyU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19hc2lkZSB7XG4gICAgICAgIHdpZHRoOiAyNC44JTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX2FzaWRlIHtcbiAgICAgICAgd2lkdGg6IDI0LjglOyB9IH1cbiAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgIHdpZHRoOiA1NiU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDY1JTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDcxLjQlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgICAgICB3aWR0aDogNzEuNCU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5wYWdlLXByb2R1Y3QtYnVuZGxlIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbi0tc3BhY2UtdG9wIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDNyZW07IH0gfVxuICAuY3MtY29udGFpbmVyX19yZXZpZXdzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19yZXZpZXdzIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgcGFkZGluZzogMCAycmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW0gMCAwOyB9IH1cbiAgICAuY3MtY29udGFpbmVyX19yZXZpZXdzOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuY3MtY29udGFpbmVyX19jYXJ0LWNvdXBvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX2NhcnQtY291cG9ucyB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAuY3MtY29udGFpbmVyLS1jb250cmFzdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyLS1jb250cmFzdCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9iYWNrZ3JvdW5kLnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfSB9XG4gIC5jcy1jb250YWluZXItLXRvcC1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAuY3MtY29udGFpbmVyLS1zcGFjaW91cyB7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lci0tc3BhY2lvdXMge1xuICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5jcy1jb250YWluZXItLXNwYWNpb3VzLFxuICAgICAgLmNhdGFsb2dzZWFyY2gtcmVzdWx0LWluZGV4IC5jcy1jb250YWluZXItLXNwYWNpb3VzIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAuY3MtY29udGFpbmVyLS1pbWFnZS10ZWFzZXItd2luZG93LXdpZHRoLCAuY3MtY29udGFpbmVyLS1zdG9yZS1sb2NhdG9yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuY3MtY29udGFpbmVyLS1ncmlkLXRlYXNlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuY3MtY29udGFpbmVyLS1oZXJvLXRlYXNlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuY3MtY29udGFpbmVyLS1ub3Njcm9sbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1jb250YWluZXItLXBkcCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIC5jcy1jb250YWluZXItLXVzcHMgLmNzLWNvbnRhaW5lci0taGVhZGxpbmUge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNzLWNvbnRhaW5lci0tY3JlYXRlLWFjY291bnQtcGFnZSwgLmNzLWNvbnRhaW5lci0tbG9naW4tcGFnZSwgLmNzLWNvbnRhaW5lci0tc3VjY2Vzcy1wYWdlLCAuY3MtY29udGFpbmVyLS1sb2dvdXQtcGFnZSB7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lci0tY3JlYXRlLWFjY291bnQtcGFnZSwgLmNzLWNvbnRhaW5lci0tbG9naW4tcGFnZSwgLmNzLWNvbnRhaW5lci0tc3VjY2Vzcy1wYWdlLCAuY3MtY29udGFpbmVyLS1sb2dvdXQtcGFnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAuY3MtY29udGFpbmVyLS1teS1hY2NvdW50LXBhZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfSB9XG4gIC5jcy1jb250YWluZXItLW9udG9wIHtcbiAgICB6LWluZGV4OiAzMDE7IH1cbiAgLmNzLWNvbnRhaW5lci0tdmlld3BvcnQtd2lkdGgge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jcy1jb250YWluZXItLXBhZ2UtcGRwLWRldGFpbHMtYXdfcHFfYWpheF9jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5jcy1jb250YWluZXItLWNhcnQtcGFnZSAuY3MtY29udGFpbmVyLS1wcm9kdWN0cy1jYXJvdXNlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmNzLWNvbnRhaW5lci0tY2FydC1wYWdlIC5jcy1jb250YWluZXItLWhlYWRsaW5lIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuY3MtY29udGFpbmVyLS1jbXMtdGVhc2VyIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkgYW5kIChncmlkLWF1dG8tZmxvdzogcm93KSB7XG4gICAgLmNzLWNvbnRhaW5lci0tZ3JpZC10ZWFzZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH0gfVxuXG4uY29udGFjdC1pbmRleC1pbmRleCAuY3MtYnJlYWRjcnVtYnMge1xuICBwYWRkaW5nLXRvcDogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7IH1cblxuLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNtcy1jb250YWN0LWZvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbjogMjBweCAwIDgwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY21zLWNvbnRhY3QtZm9ybSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luOiAyMHB4IDAgNDVweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIHtcbiAgICBwYWRkaW5nOiAwIDE1cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1mb3JtLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWZvcm0ge1xuICAgIGZsZXg6IDEgMSA2OCU7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1mb3JtLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWZvcm0ge1xuICAgIG9yZGVyOiAyOyB9IH1cblxuLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtZm9ybSBmaWVsZHNldC5maWVsZHNldCwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1mb3JtIGZpZWxkc2V0LmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWZvcm0gZmllbGRzZXQuZmllbGRzZXQgaDMsIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtZm9ybSBmaWVsZHNldC5maWVsZHNldCBoMyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtZm9ybSBmaWVsZHNldC5maWVsZHNldCBoMywgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1mb3JtIGZpZWxkc2V0LmZpZWxkc2V0IGgzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9IH1cbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtZm9ybSBmaWVsZHNldC5maWVsZHNldCA+IHNwYW4sIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtZm9ybSBmaWVsZHNldC5maWVsZHNldCA+IHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1mb3JtIC5mb3JtIC5maWVsZCArIC5maWVsZCwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1mb3JtIC5mb3JtIC5maWVsZCArIC5maWVsZCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQwLjAxZW0pIHtcbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtZm9ybSAuZmxleC1yb3csIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtZm9ybSAuZmxleC1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0MC4wMWVtKSB7XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWZvcm0gLmZsZXgtcm93IC5maWVsZCwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1mb3JtIC5mbGV4LXJvdyAuZmllbGQge1xuICAgIGZsZXg6IDEgMSA0OCU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDAuMDFlbSkge1xuICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1mb3JtIC5mbGV4LXJvdyAuZmllbGQ6bGFzdC1jaGlsZCwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1mb3JtIC5mbGV4LXJvdyAuZmllbGQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH0gfVxuXG4uY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1mb3JtIC5wcmltYXJ5LCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWZvcm0gLnByaW1hcnkge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4uY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1hZGRyZXNzLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWFkZHJlc3Mge1xuICBiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuICBwYWRkaW5nOiAyMHB4IDI1cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1hZGRyZXNzLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWFkZHJlc3Mge1xuICAgICAgcGFkZGluZzogMTBweCAxNXB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1hZGRyZXNzLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWFkZHJlc3Mge1xuICAgICAgb3JkZXI6IDE7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7IH0gfVxuICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1hZGRyZXNzX19pdGVtLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWFkZHJlc3NfX2l0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWFkZHJlc3NfX2l0ZW0sIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtYWRkcmVzc19faXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1hZGRyZXNzIHAsIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtYWRkcmVzcyBwIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1hZGRyZXNzIHAsIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtYWRkcmVzcyBwLFxuICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWFkZHJlc3Mgc3BhbixcbiAgICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWFkZHJlc3Mgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfSB9XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWFkZHJlc3MgLmljb24tdGV4dCwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1hZGRyZXNzIC5pY29uLXRleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtYWRkcmVzcyAuaWNvbi10ZXh0OmJlZm9yZSwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1hZGRyZXNzIC5pY29uLXRleHQ6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCAxNXB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiA1cHg7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIGhlaWdodDogMTVweDsgfVxuICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1hZGRyZXNzIC5pY29uLWxvY2F0aW9uOmJlZm9yZSwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1hZGRyZXNzIC5pY29uLWxvY2F0aW9uOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL21hcC1waW4uc3ZnXCIpOyB9XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWFkZHJlc3MgLmljb24tcGhvbmU6YmVmb3JlLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWFkZHJlc3MgLmljb24tcGhvbmU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcGhvbmUtZGFyay5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWFkZHJlc3MgLmljb24tZW1haWw6YmVmb3JlLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWFkZHJlc3MgLmljb24tZW1haWw6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvZW1haWxAMXguc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB3aWR0aDogMTdweDtcbiAgICB0b3A6IDZweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWFkZHJlc3MsIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtYWRkcmVzcyB7XG4gICAgICBmbGV4OiAxIDEgMzMlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDguMDFlbSkge1xuICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3cgLmNvbHVtbnMgLmNzLWNvbnRhaW5lci0tYnJhbmQtY2Fyb3VzZWwsXG4gIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoIC5jb2x1bW5zIC5jcy1jb250YWluZXItLWJyYW5kLWNhcm91c2VsLFxuICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC0xY29sdW0gLmNvbHVtbnMgLmNzLWNvbnRhaW5lci0tYnJhbmQtY2Fyb3VzZWwge1xuICAgIG1hcmdpbi10b3A6IDQ1cHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3cgLmNvbHVtbnMgLmNzLWNvbnRhaW5lci0tYnJhbmQtY2Fyb3VzZWwsXG4gIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoIC5jb2x1bW5zIC5jcy1jb250YWluZXItLWJyYW5kLWNhcm91c2VsLFxuICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC0xY29sdW0gLmNvbHVtbnMgLmNzLWNvbnRhaW5lci0tYnJhbmQtY2Fyb3VzZWwge1xuICAgIG1hcmdpbi10b3A6IDM1cHg7IH0gfVxuXG4uY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3cgLmNzLWNvbnRhaW5lci0tYnJlYWRjcnVtYnMgLmNzLWJyZWFkY3J1bWJzLFxuLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGggLmNzLWNvbnRhaW5lci0tYnJlYWRjcnVtYnMgLmNzLWJyZWFkY3J1bWJzLFxuLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtMWNvbHVtIC5jcy1jb250YWluZXItLWJyZWFkY3J1bWJzIC5jcy1icmVhZGNydW1icyB7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3cgLmNzLWNvbnRhaW5lci0tYnJlYWRjcnVtYnMgLmNzLWJyZWFkY3J1bWJzLFxuICAgIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoIC5jcy1jb250YWluZXItLWJyZWFkY3J1bWJzIC5jcy1icmVhZGNydW1icyxcbiAgICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC0xY29sdW0gLmNzLWNvbnRhaW5lci0tYnJlYWRjcnVtYnMgLmNzLWJyZWFkY3J1bWJzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuXG4uY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3cgLmNvbHVtbnMgLmNvbHVtbi5tYWluLFxuLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGggLmNvbHVtbnMgLmNvbHVtbi5tYWluLFxuLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtMWNvbHVtIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiB7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OC4wMWVtKSB7XG4gICAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93IC5jb2x1bW5zIC5jb2x1bW4ubWFpbixcbiAgICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aCAuY29sdW1ucyAuY29sdW1uLm1haW4sXG4gICAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtMWNvbHVtIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93IC5jb2x1bW5zIC5jb2x1bW4ubWFpbixcbiAgICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aCAuY29sdW1ucyAuY29sdW1uLm1haW4sXG4gICAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtMWNvbHVtIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfSB9XG5cbi5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvdyAuY3MtY29udGFpbmVyLS1icmVhZGNydW1icyAuY3MtY29udGFpbmVyX19pbm5lciwgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93IC5jcy1jb250YWluZXItLWJyZWFkY3J1bWJzIC5jcy1jb250YWluZXJfX3Jldmlld3MsXG4uY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3cgLmNvbHVtbnMgLmNzLWNvbnRhaW5lcjpub3QoLmNzLWNvbnRhaW5lci0tYnJhbmQtY2Fyb3VzZWwpIC5jcy1jb250YWluZXJfX2lubmVyLFxuLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93IC5jb2x1bW5zIC5jcy1jb250YWluZXI6bm90KC5jcy1jb250YWluZXItLWJyYW5kLWNhcm91c2VsKSAuY3MtY29udGFpbmVyX19yZXZpZXdzIHtcbiAgbWF4LXdpZHRoOiAxMDNyZW07IH1cblxuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5ib2R5LFxuaHRtbCB7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDB2dzsgfVxuXG4ubm8tc2Nyb2xsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7IH1cblxuLm5vLXNjcm9sbC1jaGlsZCB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5cbiNtYWluY29udGVudCB7XG4gIGZsZXg6IDEgMCBhdXRvOyB9XG5cbi5wYWdlLXdyYXBwZXIge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhZ2Utd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH0gfVxuXG4uY29sdW1ucyAuY29sdW1uLm1haW4ge1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogMnJlbSAwIDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTByZW07IH1cblxuLnBhZ2UtbGF5b3V0LTFjb2x1bW4gLnByb2R1Y3QtaW5mby13cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFnZS1sYXlvdXQtMWNvbHVtbiAucHJvZHVjdC1pbmZvLXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogNDAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGFnZS1sYXlvdXQtMWNvbHVtbiAucHJvZHVjdC1pbmZvLXdyYXBwZXIge1xuICAgICAgd2lkdGg6IDMwJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wYWdlLWxheW91dC0yY29sdW1ucy1sZWZ0IC5zaWRlYmFyLW1haW4sXG4gIC5wYWdlLWxheW91dC0yY29sdW1ucy1sZWZ0IC5zaWRlYmFyLWFkZGl0aW9uYWwge1xuICAgIHdpZHRoOiAyMi41JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmMGYwZjA7IH0gfVxuXG4uaWUxMSAucGFnZS13cmFwcGVyIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG5hIHtcbiAgY29sb3I6ICNGRjQ2MDQ7IH1cbiAgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogI0ZGNDYwNDsgfVxuICBhOmhvdmVyIHtcbiAgICBjb2xvcjogI0ZGNzQ0MjsgfVxuXG4uZ2lmdC1vcHRpb25zLWNhcnQtaXRlbSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBheXBhbC1leHByZXNzLXJldmlldyAucGFnZS10aXRsZS13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAwIDEuNXJlbTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5wYXlwYWwtcmV2aWV3LnZpZXcgLmNzLWNhcnQtaXRlbV9fcHJpY2Uge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC5wYXlwYWwtcmV2aWV3LnZpZXcgLmNzLWNhcnQtaXRlbV9fc3VidG90YWwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wYXlwYWwtcmV2aWV3LnZpZXcge1xuICAgIHBhZGRpbmc6IDAgMS41cmVtOyB9IH1cblxuLnBheXBhbC1leHByZXNzLWluLWNvbnRleHQtbWluaS1jYXJ0LWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cblxuLnBheXBhbC1yZXZpZXctZGlzY291bnQge1xuICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi5hbWF6b24tYnV0dG9uLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgei1pbmRleDogMzAzOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFtYXpvbi1idXR0b24tY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMzJyZW07IH0gfVxuICAuYW1hem9uLWJ1dHRvbi1jb250YWluZXIgaW1nIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsOm50aC1jaGlsZCgyKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1pbi13aWR0aDogM3JlbTtcbiAgICBsZWZ0OiBjYWxjKDEwMCUgKyAwLjZyZW0pO1xuICAgIHRvcDogMS45cmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDI5Ljk5ZW0pIHtcbiAgICAgIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbDpudGgtY2hpbGQoMikge1xuICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgKyAwLjhyZW0pOyB9IH1cbiAgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQge1xuICAgIHdpZHRoOiAyNXJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNyk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIHBhZGRpbmc6IDAuOHJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAyOHJlbTsgfSB9XG4gICAgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzZFNkU2RTsgfVxuICAgIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50LFxuICAgIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiA0MnB4O1xuICAgICAgbGVmdDogLTIxMHB4O1xuICAgICAgcmlnaHQ6IGF1dG87IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50LFxuICAgICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50IHtcbiAgICAgICAgICBsZWZ0OiAtMjUwcHg7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmFtYXpvbi1taW5pY2FydC1jb250YWluZXIgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQsXG4gICAgICAgIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQge1xuICAgICAgICAgIGxlZnQ6IC0yMzJweDsgfSB9XG4gICAgICAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUsIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmFmdGVyLFxuICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUsXG4gICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAycmVtKTtcbiAgICAgICAgbGVmdDogMjEwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLmFtYXpvbi1taW5pY2FydC1jb250YWluZXIgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDphZnRlcixcbiAgICAgICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSxcbiAgICAgICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAyNTBweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSwgLmFtYXpvbi1taW5pY2FydC1jb250YWluZXIgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YWZ0ZXIsXG4gICAgICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUsXG4gICAgICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiAyMzJweDsgfSB9XG4gICAgICAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDpiZWZvcmUsXG4gICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDIxMHB4OyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAgICAgLmFtYXpvbi1taW5pY2FydC1jb250YWluZXIgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLFxuICAgICAgICAgIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSxcbiAgICAgICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiAyNTFweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyIC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSxcbiAgICAgICAgICAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiAyMzNweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuYW1hem9uLW1pbmljYXJ0LWNvbnRhaW5lciAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDphZnRlcixcbiAgICAgICAgLmNzLWNhcnQtc3VtbWFyeSAuYW1hem9uLWJ1dHRvbi1jb250YWluZXJfX2NlbGwgLmZpZWxkLXRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jYXJ0LXN1bW1hcnkgLmFtYXpvbi1idXR0b24tY29udGFpbmVyX19jZWxsIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAuY3MtY2FydC1zdW1tYXJ5IC5hbWF6b24tYnV0dG9uLWNvbnRhaW5lcl9fY2VsbCAuZmllbGQtdG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAycmVtKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfSB9XG5cbi5pZTExIHNvdXJjZSB7XG4gIGhlaWdodDogMCAhaW1wb3J0YW50OyB9XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40Ljlcbi8vXG4vLyAgICAgICAgICAgICAgICBodHRwOi8vaW5jbHVkZS1tZWRpYS5jb21cbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgSHVnbyBHaXJhdWRlbCAoQGh1Z29naXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG5cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdkZXNrdG9wJzogMTAyNHB4XG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcbi8vLyAgKTtcbi8vL1xuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcbiAgJ3ByaW50JzogJ3ByaW50JyxcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XG4vLy9cbiR1bml0LWludGVydmFsczogKFxuICAncHgnOiAxLFxuICAnZW0nOiAwLjAxLFxuICAncmVtJzogMC4xLFxuICAnJzogMFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgIEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxufVxuXG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHt9XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFNwYWNlQXJvdW5kT3BlcmF0b3JcbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XG5cbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcbiAgICAkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cbiAgICBAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxuICAgIH1cblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGlnaXRzOiAxO1xuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG5cbi8vL1xuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxuLy8vXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcbiAgJHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcblxuICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgU3BhY2VBcm91bmRPcGVyYXRvclxuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuLy8gVE9ETzogUmVtb3ZlIGFmdGVyIGdldHRpbmcgcmlkIG9mIHRoZXNlIGZyb20gdGVtcGxhdGVzXG4uY3MtaGlkZS1sYXB0b3Age1xuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcsICc8bGFwdG9wTGcnKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQgKi9cbiAgICB9XG59XG5cbi5jcy1oaWRlLXRhYmxldCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQgKi9cbiAgICB9XG59XG5cbi5jcy1uby1kaXNwbGF5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50ICovXG59XG5cbi5jcy1hc3BlY3QtcmF0aW8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctdG9wOiA1Ni4yNSU7XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcblxuLyoqXG4gKiBNaXhpbnMgZm9yIGZsZXhpYmxlIGNvbnRhaW5lcnMgZGVjbGFyYXRpb24uXG4gKi9cblxuLyoqXG4gKiBEZWZpbmVzIHBhZ2UgY29udGFpbmVyLiBUaGlzIG1peGluIG1ha2VzIHN1cmUgdGhhdCB0aGUgY29udGVudCBoYXMgYWx3YXlzIGVxdWFsIHBhZGRpbmdcbiAqIGZvciBtb2JpbGUgc2NyZWVucyBvbiBib3RoIHNpemUgb2YgdGhlIGRldmljZS5cbiAqL1xuQG1peGluIGNvbnRhaW5lcigkaG9yaXpvbnRhbC1wYWRkaW5nOiAkcGFnZV9lZGdlLWd1dHRlcikge1xuICAgIHBhZGRpbmctbGVmdDogJGhvcml6b250YWwtcGFkZGluZztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkaG9yaXpvbnRhbC1wYWRkaW5nO1xufVxuXG4vKipcbiAqIE5lZ2F0ZXMgcGFyZW50IGNvbnRhaW5lcidzIHBhZGRpbmcgYW5kIHNldHMgaXQgb3duLlxuICogU29tZXRoaW1lcyB0aGlzIGhhcyB0byBiZSBkb25lIHRvIG1ha2UgYmFja2dyb3VuZCBldmVuIHRvIG90aGVyIGNvbnRhaW5lcnMnIGNvbnRlbnQuXG4gKi9cbkBtaXhpbiBjb250YWluZXItbmVnYXRlZCgkaG9yaXpvbnRhbC1wYWRkaW5nOiAkcGFnZV9lZGdlLWd1dHRlcikge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcigkaG9yaXpvbnRhbC1wYWRkaW5nKTtcbiAgICBtYXJnaW4tbGVmdDogLSRob3Jpem9udGFsLXBhZGRpbmc7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGhvcml6b250YWwtcGFkZGluZztcbn1cblxuLyoqXG4gKiBEZWZpbmVzIGNvbnRhaW5lciB3cmFwcGVyIHRoYXQgbWFrZXMgc3VyZSBjb250bmV0IGRvZXNuJ3QgZXh0ZW5kIGFib3ZlIGNlcnRhaW4gd2lkdGggYW5kIGlzIGFsd2F5cyBjZW50ZXJlZC5cbiAqL1xuQG1peGluIGNvbnRhaW5lci13cmFwcGVyKCRtYXgtd2lkdGg6ICRwYWdlX21heC13aWR0aCkge1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cbiIsImJvZHkuY21zLW5vLXJvdXRlIHtcbiAgICAuY3MtY29udGFpbmVyX19pbm5lciB7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBmb250LWZhbWlseTogMjhweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyLGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwuYnV0dG9ucy1zZXQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDA7XG5cbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5jb2x1bW5zIHtcbiAgICAgICAgLmNvbHVtbi5tYWluIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQ1cHggMTVweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMzhyZW07XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAyOHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgyLGgzIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsLmJ1dHRvbnMtc2V0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDA7XG5cbiAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb250YWluZXIvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb250YWluZXIvbm8tcm9vdCc7XG5cbiRjb250YWluZXJfYmFja2dyb3VuZC10b3AtYmFyOiAkY29sb3JfYmFja2dyb3VuZC01MDAgIWRlZmF1bHQ7XG4uI3skbnN9Y29udGFpbmVyIHtcbiAgICAkcm9vdDogJjtcblxuICAgIEBpbmNsdWRlIGNvbnRhaW5lcigpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAmX19pbm5lciB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci13cmFwcGVyKCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1mbGV4IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FzaWRlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgd2lkdGg6IDMzJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNC44JTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4gICAgICAgICAgICB3aWR0aDogMjQuOCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tYWluLWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiA1NiU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICB3aWR0aDogNjUlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgd2lkdGg6IDcxLjQlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiA3MS40JTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgLy9taW4taGVpZ2h0OiAzMHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEJ1bmRsZSBwcm9kdWN0cyBkbyBub3QgaGF2ZSBzdGlja3kgYnV5Ym94IGFuZCBzaG91bGQgaGF2ZSBhbm90aGVyIGxheW91dC5cbiAgICAgICAgLy8gT24gdGFibGV0IGdhbGxlcnkgY292ZXJlZCBidXlib3ggYW5kIGFzIGEgcmVzdWx0IGl0IHdhcyBpbXBvc3NpYmxlIHRvIGNsaWNrIGF0IGFueXRoaW5nIHRoZXJlLlxuICAgICAgICAvLyBDb2RlIGJlbG93IHNob3VsZCBiZSByZXZpZXdlZCBkdXJpbmcgcmVmYWN0b3JpbmcgY29udGFpbmVycyBhbmQgcGRwIChQRFAgMi4wKVxuICAgICAgICAucGFnZS1wcm9kdWN0LWJ1bmRsZSAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNwYWNlLXRvcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19yZXZpZXdzIHtcbiAgICAgICAgQGV4dGVuZCAuI3skbnN9Y29udGFpbmVyX19pbm5lcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Jfd2hpdGU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMCAycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIH1cbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgfVxuXG4gICAgJl9fY2FydC1jb3Vwb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tY29udHJhc3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZ2FsbGVyeTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9iYWNrZ3JvdW5kLnBuZycpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS10b3AtYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICAmLS1zcGFjaW91cyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAmLFxuICAgICAgICAuY2F0YWxvZ3NlYXJjaC1yZXN1bHQtaW5kZXggJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1pbWFnZS10ZWFzZXItd2luZG93LXdpZHRoLFxuICAgICYtLXN0b3JlLWxvY2F0b3Ige1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJi0tZ3JpZC10ZWFzZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAmLS1oZXJvLXRlYXNlciB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmLS1ub3Njcm9sbCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgJi0tcGRwIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS11c3BzIHtcbiAgICAgICAgI3skcm9vdH0tLWhlYWRsaW5lIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jcmVhdGUtYWNjb3VudC1wYWdlLFxuICAgICYtLWxvZ2luLXBhZ2UsXG4gICAgJi0tc3VjY2Vzcy1wYWdlLFxuICAgICYtLWxvZ291dC1wYWdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDhyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1teS1hY2NvdW50LXBhZ2Uge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tb250b3Age1xuICAgICAgICB6LWluZGV4OiAzMDE7XG4gICAgfVxuXG4gICAgJi0tdmlld3BvcnQtd2lkdGgge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgJi0tcGFnZS1wZHAtZGV0YWlscy1hd19wcV9hamF4X2NvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNhcnQtcGFnZSB7XG4gICAgICAgICN7JHJvb3R9LS1wcm9kdWN0cy1jYXJvdXNlbCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWhlYWRsaW5lIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jbXMtdGVhc2VyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICB9XG5cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIGFuZCAoZ3JpZC1hdXRvLWZsb3c6IHJvdykge1xuICAgICAgICAmLS1ncmlkLXRlYXNlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvbnRhY3QtaW5kZXgtaW5kZXgge1xuICAgIC5jcy1icmVhZGNydW1icyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICAuY3MtY21zLWNvbnRhY3QtZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgODBweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMCA0NXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNzLWNvbnRhaW5lcl9faW5uZXIge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250YWN0LWZvcm0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSA2OCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmaWVsZHNldC5maWVsZHNldCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZvcm0gLmZpZWxkICsgLmZpZWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmxleC1yb3cge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZmllbGQge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4OiAxIDEgNDglO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250YWN0LWFkZHJlc3Mge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2xpZ2h0LWdyYXk7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDI1cHg7XG5cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2l0ZW17XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgcCxcbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmljb24tdGV4dHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmljb24tbG9jYXRpb24ge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL21hcC1waW4uc3ZnXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmljb24tcGhvbmV7XG4gICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9waG9uZS1kYXJrLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmljb24tZW1haWwge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2VtYWlsQDF4LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTdweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZmxleDogMSAxIDMzJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3csXG4uY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aCxcbi5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LTFjb2x1bXtcbiAgICAuY29sdW1ucyAuY3MtY29udGFpbmVyLS1icmFuZC1jYXJvdXNlbHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jcy1jb250YWluZXItLWJyZWFkY3J1bWJzIHtcbiAgICAgICAgLmNzLWJyZWFkY3J1bWJzIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93e1xuICAgIC5jcy1jb250YWluZXItLWJyZWFkY3J1bWJzLFxuICAgIC5jb2x1bW5zIC5jcy1jb250YWluZXI6bm90KC5jcy1jb250YWluZXItLWJyYW5kLWNhcm91c2VsKXtcbiAgICAgICAgLmNzLWNvbnRhaW5lcl9faW5uZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDNyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb21wb25lbnRzL2NvbnRhaW5lci9jb250YWluZXInO1xuQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG4kbnM6ICdjcy0nO1xuJGxheW91dF9wYWRkaW5nOiAkbWFpbi1jb2x1bW5fcGFkZGluZztcblxuYm9keSxcbmh0bWwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xufVxuXG4ubm8tc2Nyb2xsIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG59XG5cbi5uby1zY3JvbGwtY2hpbGQge1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbiAhaW1wb3J0YW50OyAvLyBPdmVyZmxvdyBoYXMgYmVlbiBtb3ZlZCB0byBjaGlsZCBlbGVtZW50IGluIG9yZGVyIHRvIG1haW50YWluIHZpc2liaWxpdHkgb2YgaXRlbXMgaW4gdGhlIGJhY2tncm91bmRcbn1cblxuI21haW5jb250ZW50IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbn1cblxuLnBhZ2Utd3JhcHBlciB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5jb2x1bW5zIC5jb2x1bW4ubWFpbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogJGxheW91dF9wYWRkaW5nO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMHJlbTtcbn1cblxuLnBhZ2UtbGF5b3V0LTFjb2x1bW4ge1xuICAgIC5wcm9kdWN0LWluZm8td3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAucGFnZS1sYXlvdXQtMmNvbHVtbnMtbGVmdCB7XG4gICAgICAgIC5zaWRlYmFyLW1haW4sXG4gICAgICAgIC5zaWRlYmFyLWFkZGl0aW9uYWwge1xuICAgICAgICAgICAgd2lkdGg6IDIyLjUlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvcl9nYWxsZXJ5O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaWUxMSAucGFnZS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG5hIHtcbiAgICBjb2xvcjogJGxpbmstY29sb3JfYmFzZTtcblxuICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAkbGluay1jb2xvcl9iYXNlO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGxpbmstY29sb3JfYmFzZS1ob3ZlcjtcbiAgICB9XG59XG5cbi5naWZ0LW9wdGlvbnMtY2FydC1pdGVtIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vL1BheXBhbCBtb2R1bGVcbi5wYXlwYWwtZXhwcmVzcy1yZXZpZXcgLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgICB9XG59XG5cbi5wYXlwYWwtcmV2aWV3LnZpZXcge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAuI3skbnN9Y2FydC1pdGVtX19wcmljZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRuc31jYXJ0LWl0ZW1fX3N1YnRvdGFsIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgfVxufVxuXG4ucGF5cGFsLWV4cHJlc3MtaW4tY29udGV4dC1taW5pLWNhcnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4ucGF5cGFsLXJldmlldy1kaXNjb3VudCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLy9BbWF6b24gUGF5IGxvZ2luIGJ1dHRvblxuXG4vL1RoZSBoaWdoZXN0IG9mIGFsbCBhbWF6b24gcGF5IGNvbnRhaW5lcnNcbi8vU2hvdWxkIG5vdCBiZSB0b28gbG9uZ1xuLy9pbiBtaW5pY2FydCwgc2FsZSBibG9jaywgY2hlY2tvdXQgc3VtbWFyeSBpdCBzaG91bGQgYmUgY2VudGVyXG4uYW1hem9uLWJ1dHRvbi1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB6LWluZGV4OiAzMDM7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIG1heC13aWR0aDogMzJyZW07XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAmX19jZWxsIHtcbiAgICAgICAgLy9JbmZvIHNpZ24gZWxlbWVudCAtIGlzIHBsYWNlZCBhYnNvbHV0ZWx5IHRvIG5vdCB0YWtlIHBsYWNlIHdoZW4gYnV0dG9uIGlzIGNlbnRlcmVkXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogM3JlbTtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTAwJSArIDAuNnJlbSk7XG4gICAgICAgICAgICB0b3A6IDEuOXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZScpIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgKyAwLjhyZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy9Ub29sdGlwIHN0eWxlIGFuZCBwb3NpdGlvblxuICAgICAgICAvL0Fycm93IHBvc2l0aW9uXG4gICAgICAgIC5maWVsZC10b29sdGlwLWNvbnRlbnQge1xuICAgICAgICAgICAgd2lkdGg6IDI1cmVtO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA1cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNyk7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuOHJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjhyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRjb2xvcl9ncmF5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvL01vdmUgdG9vbHRpcCBmcm9tIHJpZ2h0IHRvIHRvcCBiZWNhdXNlIHRoZXJlIGlzIG5vIHNwYWNlIGluIG91ciBzaG9wcyBvbiB0aGUgcmlnaHRcbiAgICAgICAgICAgIC5hbWF6b24tbWluaWNhcnQtY29udGFpbmVyICYsXG4gICAgICAgICAgICAuI3skbnN9Y2FydC1zdW1tYXJ5ICYge1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICBib3R0b206IDQycHg7XG4gICAgICAgICAgICAgICAgbGVmdDogLTIxMHB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMjUwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMjMycHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogY2FsYygxMDAlICsgMnJlbSk7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDIxMHB4O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IC0xMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMjUwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMjMycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDIxMHB4O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyNTFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyMzNweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBDYXJ0IHN1bW1hcnkgdG9vbHRpcCBuZWVkcyBzbWFsbCBhZGp1c3RtZW50c1xuICAgICAgICAgICAgLiN7JG5zfWNhcnQtc3VtbWFyeSAmIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAycmVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5pZTExIHNvdXJjZSB7XG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWF1dGhvcml6YXRpb24tbGluayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IDAuOXJlbTtcbiAgcGFkZGluZzogMCAwIDAgMC4zcmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWF1dGhvcml6YXRpb24tbGluayB7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxLjNyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMS43cmVtOyB9IH1cbiAgLmNzLWF1dGhvcml6YXRpb24tbGluazpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQ6IDAuMnJlbSBzb2xpZCAjZmZmZmZmO1xuICAgIHRyYW5zZm9ybTogc2tldygtMThkZWcpOyB9XG4gIC5jcy1hdXRob3JpemF0aW9uLWxpbmtfX2xpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5jcy1hdXRob3JpemF0aW9uLWxpbmtfX2xpbmsge1xuICAgICAgY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgIC5jcy1hdXRob3JpemF0aW9uLWxpbmtfX2xpbms6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAjRkY3NDQyOyB9XG4gICAgICAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19saW5rOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNGRjc0NDI7IH1cbiAgICAgIC5jcy1hdXRob3JpemF0aW9uLWxpbmtfX2xpbms6YWN0aXZlLCAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19saW5rOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNGRjc0NDI7IH1cbiAgICAuY3MtYXV0aG9yaXphdGlvbi1saW5rX19saW5rOmhvdmVyIC5jcy1hdXRob3JpemF0aW9uLWxpbmtfX2ljb24gcGF0aCB7XG4gICAgICBmaWxsOiAjM0UzRTNFOyB9XG4gIC5jcy1hdXRob3JpemF0aW9uLWxpbmtfX2ljb24ge1xuICAgIHdpZHRoOiAxLjhyZW07XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTsgfVxuICAgIC5jcy1hdXRob3JpemF0aW9uLWxpbmtfX2ljb24gcGF0aCB7XG4gICAgICBmaWxsOiAjM0UzRTNFOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9saW5rJztcblxuJGF1dGhvcml6YXRpb24tbGlua19pdGVtLWJvcmRlcjogMC4ycmVtIHNvbGlkICRjb2xvcl9ib3JkZXItMTAwICFkZWZhdWx0O1xuJGF1dGhvcml6YXRpb24tbGlua19pdGVtLWJvcmRlci10cmFuc2Zvcm06ICR0cmFuc2Zvcm1fc2tldy00MDAgIWRlZmF1bHQ7XG4kYXV0aG9yaXphdGlvbi1saW5rX2NvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kYXV0aG9yaXphdGlvbi1saW5rX2NvbG9yLWhvdmVyOiAkY29sb3JfcHJpbWFyeS04MDAgIWRlZmF1bHQ7XG4kYXV0aG9yaXphdGlvbi1saW5rX2ljb24tY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRhdXRob3JpemF0aW9uLWxpbmtfaWNvbi1jb2xvci1ob3ZlcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuXG4uI3skbnN9YXV0aG9yaXphdGlvbi1saW5rIHtcbiAgICAkcm9vdDogJjtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6IDAuOXJlbTtcbiAgICBwYWRkaW5nOiAwIDAgMCAwLjNyZW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDEuM3JlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuN3JlbTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBib3JkZXItbGVmdDogJGF1dGhvcml6YXRpb24tbGlua19pdGVtLWJvcmRlcjtcbiAgICAgICAgdHJhbnNmb3JtOiAkYXV0aG9yaXphdGlvbi1saW5rX2l0ZW0tYm9yZGVyLXRyYW5zZm9ybTtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgbGluayhcbiAgICAgICAgICAgICRhdXRob3JpemF0aW9uLWxpbmtfY29sb3IsXG4gICAgICAgICAgICAkYXV0aG9yaXphdGlvbi1saW5rX2NvbG9yLWhvdmVyXG4gICAgICAgICk7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19pY29uIHtcbiAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGF1dGhvcml6YXRpb24tbGlua19pY29uLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICB3aWR0aDogMS44cmVtO1xuICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6ICRhdXRob3JpemF0aW9uLWxpbmtfaWNvbi1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBtaXhpbiBsaW5rKFxuICAgICRsaW5rLFxuICAgICRhY3Rpb24sXG4gICAgJHZpc2l0ZWQ6ICRhY3Rpb24sXG4gICAgJGhvdmVyOiAkYWN0aW9uLFxuICAgICRhY3RpdmU6ICRhY3Rpb24sXG4gICAgJHNpemU6IGZhbHNlXG4pIHtcbiAgICAmIHtcbiAgICAgICAgQGlmICgkc2l6ZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZTtcbiAgICAgICAgfVxuICAgICAgICBjb2xvcjogJGxpbms7XG5cbiAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdmlzaXRlZDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRob3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYWN0aXZlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogTWl4aW5zIGZvciBmbGV4aWJsZSBjb250YWluZXJzIGRlY2xhcmF0aW9uLlxuICovXG4vKipcbiAqIERlZmluZXMgcGFnZSBjb250YWluZXIuIFRoaXMgbWl4aW4gbWFrZXMgc3VyZSB0aGF0IHRoZSBjb250ZW50IGhhcyBhbHdheXMgZXF1YWwgcGFkZGluZ1xuICogZm9yIG1vYmlsZSBzY3JlZW5zIG9uIGJvdGggc2l6ZSBvZiB0aGUgZGV2aWNlLlxuICovXG4vKipcbiAqIE5lZ2F0ZXMgcGFyZW50IGNvbnRhaW5lcidzIHBhZGRpbmcgYW5kIHNldHMgaXQgb3duLlxuICogU29tZXRoaW1lcyB0aGlzIGhhcyB0byBiZSBkb25lIHRvIG1ha2UgYmFja2dyb3VuZCBldmVuIHRvIG90aGVyIGNvbnRhaW5lcnMnIGNvbnRlbnQuXG4gKi9cbi8qKlxuICogRGVmaW5lcyBjb250YWluZXIgd3JhcHBlciB0aGF0IG1ha2VzIHN1cmUgY29udG5ldCBkb2Vzbid0IGV4dGVuZCBhYm92ZSBjZXJ0YWluIHdpZHRoIGFuZCBpcyBhbHdheXMgY2VudGVyZWQuXG4gKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1idXlib3hfX3VwZGF0ZSB7XG4gIHBhZGRpbmc6IDE0cHg7XG4gIG1heC13aWR0aDogMjE5cHg7IH1cblxuLmNzLWFkZHRvY2FydCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovIH1cbiAgLmNzLWFkZHRvY2FydF9fd3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtYWRkdG9jYXJ0X193cmFwcGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7IH0gfVxuICAuY3MtYWRkdG9jYXJ0X19idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgICBwYWRkaW5nOiA4cHggMjVweDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjtcbiAgICBwYWRkaW5nOiAxM3B4IDE0cHg7XG4gICAgbWF4LXdpZHRoOiAyMTlweDsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi5tZWRpdW0ge1xuICAgICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b24ubGFyZ2Uge1xuICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbiwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0QTkwRTI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jcy1hZGR0b2NhcnRfX2J1dHRvbiBzcGFuLCAuY3MtYWRkdG9jYXJ0X19idXR0b246dmlzaXRlZCBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAzOyB9XG4gICAgICAuY3MtYWRkdG9jYXJ0X19idXR0b246YmVmb3JlLCAuY3MtYWRkdG9jYXJ0X19idXR0b246dmlzaXRlZDpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEE5MEUyO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNEE5MEUyO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAuY3MtYWRkdG9jYXJ0X19idXR0b246YWZ0ZXIsIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjp2aXNpdGVkOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ5ODBDMTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAuY3MtYWRkdG9jYXJ0X19idXR0b24gKiwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ5ODBDMTsgfVxuICAgICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKTphZnRlciwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKTphZnRlciwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSk6YWZ0ZXIge1xuICAgICAgICB0b3A6IDJweDsgfVxuICAgICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKTpiZWZvcmUsIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSk6YmVmb3JlLCAuY3MtYWRkdG9jYXJ0X19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKTpiZWZvcmUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDk4MEMxO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDk4MEMxOyB9XG4gICAgICAuY3MtYWRkdG9jYXJ0X19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uIHN2Zy5jcy1hZGR0b2NhcnRfX2NvbmZpZ3VyZS1pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b24uY29uZmlndXJlIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1sYWJlbCB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmFmdGVyIHtcbiAgICAgIHRvcDogM3B4OyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtbGFiZWwsIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpob3ZlciAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19idXR0b246Zm9jdXMgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1sYWJlbCwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmFjdGl2ZSAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtaWNvbiAqLCAuY3MtYWRkdG9jYXJ0X19idXR0b246aG92ZXIgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1pY29uICosIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpmb2N1cyAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWljb24gKiwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmFjdGl2ZSAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWljb24gKiB7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fYnV0dG9uIC5jcy1hZGR0b2NhcnRfX2ZhaWwtbGFiZWwsIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpob3ZlciAuY3MtYWRkdG9jYXJ0X19mYWlsLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19idXR0b246Zm9jdXMgLmNzLWFkZHRvY2FydF9fZmFpbC1sYWJlbCwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmFjdGl2ZSAuY3MtYWRkdG9jYXJ0X19mYWlsLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19idXR0b24gLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uICosIC5jcy1hZGR0b2NhcnRfX2J1dHRvbjpob3ZlciAuY3MtYWRkdG9jYXJ0X19mYWlsLWljb24gKiwgLmNzLWFkZHRvY2FydF9fYnV0dG9uOmZvY3VzIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiAqLCAuY3MtYWRkdG9jYXJ0X19idXR0b246YWN0aXZlIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiAqIHtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmNzLWFkZHRvY2FydF9fYnV0dG9uLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19mYWlsLWxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgcGFkZGluZy1sZWZ0OiA0ZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLmNzLWFkZHRvY2FydF9fY29uZmlndXJlLWljb24sIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1pY29uLCAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWljb24sIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGxlZnQ6IDFlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIHdpZHRoOiAyLjJyZW07XG4gICAgaGVpZ2h0OiAyLjJyZW07XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICBsZWZ0OiAzM3B4O1xuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi8gfVxuICAuY3MtYWRkdG9jYXJ0X19mYWlsLWljb24ge1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgLmNzLWFkZHRvY2FydF9fYnV0dG9uLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWxhYmVsIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhciwgdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLCAwLjc3LCAwLjE4LCAxKTsgfVxuICAuY3MtYWRkdG9jYXJ0X19idXR0b24tbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB6LWluZGV4OiA0O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5jcy1hZGR0b2NhcnRfX2xvYWRpbmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKSB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhciwgdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLCAwLjc3LCAwLjE4LCAxKTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzOyB9XG4gICAgLmNzLWFkZHRvY2FydF9fbG9hZGluZy1iYWxsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBib3R0b206IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgICAuY3MtYWRkdG9jYXJ0X19sb2FkaW5nLWJhbGwtLTEge1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAuY3MtYWRkdG9jYXJ0X19sb2FkaW5nLWJhbGwtLTIge1xuICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuMTVzICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5jcy1hZGR0b2NhcnRfX2xvYWRpbmctYmFsbC0tMyB7XG4gICAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4zcyAhaW1wb3J0YW50OyB9XG4gIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtbGFiZWwsIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtaWNvbiwgLmNzLWFkZHRvY2FydF9fZmFpbC1sYWJlbCwgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtaWNvbiwgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uIHtcbiAgICBoZWlnaHQ6IDEuNzI1ZW07XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4yczsgfVxuICAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWxhYmVsLCAuY3MtYWRkdG9jYXJ0X19mYWlsLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC0tc3RpY2t5LCAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC0tdW5zdGljayB7XG4gICAgICBtYXgtd2lkdGg6IDEyNHJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgICB6LWluZGV4OiA0MDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgICAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtLXN0aWNreSAudWktZGlhbG9nLCAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC0tdW5zdGljayAudWktZGlhbG9nIHtcbiAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAgICAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtLXN0aWNreSAuYmxvY2stbWluaWNhcnQ6YWZ0ZXIsIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LS11bnN0aWNrIC5ibG9jay1taW5pY2FydDphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAzLjJyZW0gIWltcG9ydGFudDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LWxpbmsge1xuICAgICAgbWluLXdpZHRoOiAxMjVweDsgfSB9XG4gIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LS1zdGlja3kgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtbGluayxcbiAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtLXVuc3RpY2sgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtbGluayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIuNXJlbSAxcmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMXB4IDNweCA0LjVyZW0gMCByZ2JhKDMwLCA0OCwgNjcsIDAuMzQpO1xuICAgIGFuaW1hdGlvbjogbWluaWNhcnQtaW4gMXMgY3ViaWMtYmV6aWVyKDAsIDAuNzcsIDAuMTgsIDEpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC0tdW5zdGljayAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1saW5rIHtcbiAgICBhbmltYXRpb246IG1pbmljYXJ0LW91dCAwLjVzIGN1YmljLWJlemllcigwLjU1LCAwLjIsIDAuODksIDAuNDUpOyB9XG4gIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LWxpbms6YmVmb3JlIHtcbiAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtcXR5LWJhZGdlLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHotaW5kZXg6IDYwMDtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC45cyBjdWJpYy1iZXppZXIoMC40MiwgMC4zMSwgMC4zNCwgMC45MyksIGxlZnQgMC45cyBjdWJpYy1iZXppZXIoMC40MiwgMC4zMSwgMC4zNCwgMC45Myk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1xdHktYmFkZ2Utd3JhcHBlci0tYW5pbWF0aW5nIHtcbiAgICAgIGFuaW1hdGlvbjogbW92ZS1xdHktYmFkZ2UgMS4ycyBjdWJpYy1iZXppZXIoMC40MiwgMC4zMSwgMC4zNCwgMC45Myk7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDAuNXJlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4LjAxZW0pIHtcbiAgICAgICAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtcXR5LWJhZGdlLXdyYXBwZXItLWFuaW1hdGluZyB7XG4gICAgICAgICAgdG9wOiAxLjNyZW07IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmNzLWFkZHRvY2FydF9fbWluaWNhcnQtcXR5LWJhZGdlLXdyYXBwZXItLWFuaW1hdGluZyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNS4zcmVtOyB9IH1cbiAgICAgIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LXF0eS1iYWRnZS13cmFwcGVyLS1hbmltYXRpbmcuY3MtYWRkdG9jYXJ0X19taW5pY2FydC1xdHktYmFkZ2Utd3JhcHBlci0tbWluaWNhcnQtc3RpY2t5IHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDEuOHJlbTsgfVxuICAgIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LXF0eS1iYWRnZS13cmFwcGVyIC5jcy1hZGR0b2NhcnRfX21pbmljYXJ0LXF0eS1iYWRnZSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1sb2FkaW5nIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1sYWJlbCwgLmNzLWFkZHRvY2FydC0tZG9uZSAuY3MtYWRkdG9jYXJ0X19idXR0b24tbGFiZWwge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyZW0sIDAsIDApOyB9XG4gIC5jcy1hZGR0b2NhcnQtLWxvYWRpbmcgLmNzLWFkZHRvY2FydF9fbG9hZGluZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApIHRyYW5zbGF0ZVgoLTEuMjVlbSk7IH1cbiAgICAuY3MtYWRkdG9jYXJ0LS1sb2FkaW5nIC5jcy1hZGR0b2NhcnRfX2xvYWRpbmctYmFsbCB7XG4gICAgICBhbmltYXRpb246IGJhbGwtaW4gMXMgaW5maW5pdGU7IH1cbiAgLmNzLWFkZHRvY2FydC0tZG9uZSAuY3MtYWRkdG9jYXJ0X19idXR0b24taWNvbiB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuY3MtYWRkdG9jYXJ0LS1kb25lIC5jcy1hZGR0b2NhcnRfX2ZlZWRiYWNrLWJnIHtcbiAgICB0cmFuc2Zvcm06IHNrZXcoLTE4ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAgIC5jcy1hZGR0b2NhcnQtLWRvbmUgLmNzLWFkZHRvY2FydF9fZmVlZGJhY2stYmc6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNS4zcmVtLCAwLCAwKTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1zdWNjZXNzIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtaWNvbiB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1zdWNjZXNzIC5jcy1hZGR0b2NhcnRfX3N1Y2Nlc3MtbGFiZWwge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1mYWlsIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY3MtYWRkdG9jYXJ0LS1hbmltYXRpb24tZG9uZSAuY3MtYWRkdG9jYXJ0X19idXR0b24tbGFiZWwsXG4gIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX2J1dHRvbi1pY29uIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzOyB9XG4gIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX2ZlZWRiYWNrLWJnIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzOyB9XG4gICAgLmNzLWFkZHRvY2FydC0tYW5pbWF0aW9uLWRvbmUgLmNzLWFkZHRvY2FydF9fZmVlZGJhY2stYmcsIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX2ZlZWRiYWNrLWJnOmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjg2LCAwLjAxLCAwLjgzLCAwLjUxKTsgfVxuICAgIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX2ZlZWRiYWNrLWJnOmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgLmNzLWFkZHRvY2FydC0tYW5pbWF0aW9uLWRvbmUgLmNzLWFkZHRvY2FydF9fc3VjY2Vzcy1sYWJlbCxcbiAgLmNzLWFkZHRvY2FydC0tYW5pbWF0aW9uLWRvbmUgLmNzLWFkZHRvY2FydF9fZmFpbC1pY29uIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgbGluZWFyLCB0cmFuc2Zvcm0gMC42cyBjdWJpYy1iZXppZXIoMC44NiwgMC4wMSwgMC44MywgMC41MSk7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICAuY3MtYWRkdG9jYXJ0LS1hbmltYXRpb24tZG9uZSAuY3MtYWRkdG9jYXJ0X19zdWNjZXNzLWljb24sXG4gIC5jcy1hZGR0b2NhcnQtLWFuaW1hdGlvbi1kb25lIC5jcy1hZGR0b2NhcnRfX2ZhaWwtaWNvbiB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuXG5Aa2V5ZnJhbWVzIGJhbGwtaW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgbWluaWNhcnQtaW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgbWluaWNhcnQtb3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIG1vdmUtcXR5LWJhZGdlIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDgwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cbiAgLmNzLWFkZHRvY2FydCAuYmxvY2stbWluaWNhcnQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiIsIi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cblxuQGZ1bmN0aW9uIGdldC12YWx1ZS1mcm9tLWxpc3QoJHZhcmlhYmxlLCAkc2lkZSkge1xuICAgICRsZW5ndGg6IGxlbmd0aCgkdmFyaWFibGUpO1xuXG4gICAgQGlmICgkbGVuZ3RoID09IDEpIHtcbiAgICAgICAgQHJldHVybiBudGgoJHZhcmlhYmxlLCAxKTtcbiAgICB9IEBlbHNlIGlmICgkbGVuZ3RoID09IDIpIHtcbiAgICAgICAgQGlmICgkc2lkZSA9PSAndXAnKSBPUiAoJHNpZGUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDEpO1xuICAgICAgICB9IEBlbHNlIGlmICgkc2lkZSA9PSAnbGVmdCcpIE9SICgkc2lkZSA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDIpO1xuICAgICAgICB9XG4gICAgfSBAZWxzZSBpZiAoJGxlbmd0aCA9PSAzKSB7XG4gICAgICAgIEBpZiAoJHNpZGUgPT0gJ2xlZnQnKSBPUiAoJHNpZGUgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgQHJldHVybiBudGgoJHZhcmlhYmxlLCAyKTtcbiAgICAgICAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gJ3VwJykge1xuICAgICAgICAgICAgQHJldHVybiBudGgoJHZhcmlhYmxlLCAxKTtcbiAgICAgICAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDMpO1xuICAgICAgICB9XG4gICAgfSBAZWxzZSBpZiAoJGxlbmd0aCA9PSA0KSB7XG4gICAgICAgIEBpZiAoJHNpZGUgPT0gJ3VwJykge1xuICAgICAgICAgICAgQHJldHVybiBudGgoJHZhcmlhYmxlLCAxKTtcbiAgICAgICAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgQHJldHVybiBudGgoJHZhcmlhYmxlLCAyKTtcbiAgICAgICAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFyaWFibGUsIDMpO1xuICAgICAgICB9IEBlbHNlIGlmICgkc2lkZSA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YXJpYWJsZSwgNCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuQG1peGluIGJ1dHRvbi1ob29rKCR0eXBlLCAkaWNvbl9wb3MpIHtcbn1cblxuQG1peGluIGJ1dHRvbl9zcGFuLWhvb2soJHR5cGUsICRpY29uX3Bvcykge1xufVxuXG5AbWl4aW4gYnV0dG9uX2ljb24taG9vaygkdHlwZSwgJGljb25fcG9zKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGFpbmVyL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRhZGR0b2NhcnRfYnV0dG9uLXR5cGU6ICdhZGR0bycgIWRlZmF1bHQ7XG4kYWRkdG9jYXJ0X2J1dHRvbi1pY29uLXBvc2l0aW9uOiBsZWZ0ICFkZWZhdWx0O1xuJGFkZHRvY2FydF9idXR0b24tY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYnV0dG9uLWljb24td2lkdGg6IDIuMnJlbSAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYnV0dG9uLWljb24taGVpZ2h0OiAkYWRkdG9jYXJ0X2J1dHRvbi1pY29uLXdpZHRoICFkZWZhdWx0O1xuJGFkZHRvY2FydF9idXR0b24taWNvbi1lZGdlLWd1dHRlcjogMzNweCAhZGVmYXVsdDtcblxuJGFkZHRvY2FydF9idXR0b24tc2tld2VkLWJhY2tncm91bmQtd2lkdGg6IDUuMXJlbSAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYnV0dG9uLXBhZGRpbmctbGVmdDogMXJlbSAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYnV0dG9uLXBhZGRpbmctcmlnaHQ6IDQuNXJlbSAhZGVmYXVsdDtcblxuJGFkZHRvY2FydF9sb2FkaW5nLWluZGljYXRvci1iYWxsLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYWRkdG9jYXJ0X2xvYWRpbmctaW5kaWNhdG9yLWJhbGwtc2l6ZTogMTBweCAhZGVmYXVsdDtcblxuJGFkZHRvY2FydF9mZWVkYmFjay1iZy1za2V3OiAkdHJhbnNmb3JtX3NrZXctNDAwICFkZWZhdWx0O1xuXG4kYWRkdG9jYXJ0X2FqYXgtc3VjY2Vzcy1iZy1wcmltYXJ5OiAkY29sb3Jfc3VjY2Vzcy01MDAgIWRlZmF1bHQ7XG4kYWRkdG9jYXJ0X2FqYXgtc3VjY2Vzcy1iZy1zZWNvbmRhcnk6ICRjb2xvcl9zdWNjZXNzLTYwMCAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYWpheC1zdWNjZXNzLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kYWRkdG9jYXJ0X2FqYXgtc3VjY2Vzcy1maWxsOiAkYWRkdG9jYXJ0X2FqYXgtc3VjY2Vzcy1jb2xvciAhZGVmYXVsdDtcblxuJGFkZHRvY2FydF9hamF4LWZhaWwtYmctcHJpbWFyeTogJGNvbG9yX2Vycm9yLTUwMCAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYWpheC1mYWlsLWJnLXNlY29uZGFyeTogJGNvbG9yX2Vycm9yLTYwMCAhZGVmYXVsdDtcbiRhZGR0b2NhcnRfYWpheC1mYWlsLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kYWRkdG9jYXJ0X2FqYXgtZmFpbC1maWxsOiAkYWRkdG9jYXJ0X2FqYXgtZmFpbC1jb2xvciAhZGVmYXVsdDtcblxuLmNzLWJ1eWJveF9fdXBkYXRlIHtcbiAgICBwYWRkaW5nOiAxNHB4O1xuICAgIG1heC13aWR0aDogMjE5cHg7XG59XG5cbi4jeyRuc31hZGR0b2NhcnQge1xuICAgICRyb290OiAmO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgLy8gYmVjYXVzZSBidXR0b24gY2FuJ3QgaGF2ZSBvdmVyZmxvdywgd2UgbmVlZCB0byBhZGQgaXQgb24gYnV0dG9uIHdyYXBwZXJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJGFkZHRvY2FydF9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGFkZHRvY2FydF9idXR0b24taWNvbi1wb3NpdGlvblxuICAgICAgICApO1xuXG4gICAgICAgIHN2Zy5jcy1hZGR0b2NhcnRfX2NvbmZpZ3VyZS1pY29uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmNvbmZpZ3VyZSB7XG4gICAgICAgICAgICAuY3MtYWRkdG9jYXJ0X19idXR0b24tbGFiZWwge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwYWRkaW5nOiAxM3B4IDE0cHg7XG4gICAgICAgIG1heC13aWR0aDogMjE5cHg7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAmLFxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAjeyRyb290fV9fc3VjY2Vzcy1sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRhZGR0b2NhcnRfYWpheC1zdWNjZXNzLWNvbG9yO1xuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICN7JHJvb3R9X19zdWNjZXNzLWljb24ge1xuICAgICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYWRkdG9jYXJ0X2FqYXgtc3VjY2Vzcy1maWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX2ZhaWwtbGFiZWwge1xuICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX2ZhaWwtaWNvbiB7XG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRhZGR0b2NhcnRfYWpheC1mYWlsLWZpbGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWxhYmVsLFxuICAgICZfX3N1Y2Nlc3MtbGFiZWwsXG4gICAgJl9fZmFpbC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgJHR5cGU6ICRhZGR0b2NhcnRfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRhZGR0b2NhcnRfYnV0dG9uLWljb24tcG9zaXRpb25cbiAgICAgICAgKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgICZfX2NvbmZpZ3VyZS1pY29uLFxuICAgICZfX2J1dHRvbi1pY29uLFxuICAgICZfX3N1Y2Nlc3MtaWNvbixcbiAgICAmX19mYWlsLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICR0eXBlOiAkYWRkdG9jYXJ0X2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYWRkdG9jYXJ0X2J1dHRvbi1pY29uLXBvc2l0aW9uXG4gICAgICAgICk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgd2lkdGg6ICRhZGR0b2NhcnRfYnV0dG9uLWljb24td2lkdGg7XG4gICAgICAgIGhlaWdodDogJGFkZHRvY2FydF9idXR0b24taWNvbi1oZWlnaHQ7XG4gICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gICAgICAgIEBpZiAoJGFkZHRvY2FydF9idXR0b24taWNvbi1wb3NpdGlvbiA9PSAncmlnaHQnKSBvciAoJGFkZHRvY2FydF9idXR0b24taWNvbi1wb3NpdGlvbiA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICN7JGFkZHRvY2FydF9idXR0b24taWNvbi1wb3NpdGlvbn06ICRhZGR0b2NhcnRfYnV0dG9uLWljb24tZWRnZS1ndXR0ZXI7XG4gICAgICAgIH1cbiAgICAgICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICAgIH1cblxuICAgICZfX2ZhaWwtaWNvbiB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWxhYmVsLFxuICAgICZfX3N1Y2Nlc3MtbGFiZWwge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcixcbiAgICAgICAgICAgIHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoMCwgMC43NywgMC4xOCwgMSk7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB6LWluZGV4OiA0O1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICZfX2xvYWRpbmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCkgdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgICAgIHdpZHRoOiAkYWRkdG9jYXJ0X2xvYWRpbmctaW5kaWNhdG9yLWJhbGwtc2l6ZSAqIDQ7XG4gICAgICAgIGhlaWdodDogJGFkZHRvY2FydF9sb2FkaW5nLWluZGljYXRvci1iYWxsLXNpemU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyLFxuICAgICAgICAgICAgdHJhbnNmb3JtIDFzIGN1YmljLWJlemllcigwLCAwLjc3LCAwLjE4LCAxKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcblxuICAgICAgICAmLWJhbGwge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogJGFkZHRvY2FydF9sb2FkaW5nLWluZGljYXRvci1iYWxsLXNpemU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRhZGR0b2NhcnRfbG9hZGluZy1pbmRpY2F0b3ItYmFsbC1zaXplO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGFkZHRvY2FydF9sb2FkaW5nLWluZGljYXRvci1iYWxsLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICAgICAgICAmLS0xIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS0yIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4xNXMgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tMyB7XG4gICAgICAgICAgICAgICAgbGVmdDogMzBweDtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuM3MgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1Y2Nlc3MtbGFiZWwsXG4gICAgJl9fc3VjY2Vzcy1pY29uLFxuICAgICZfX2ZhaWwtbGFiZWwsXG4gICAgJl9fZmFpbC1pY29uIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAmX19zdWNjZXNzLWljb24sXG4gICAgJl9fZmFpbC1pY29uIHtcbiAgICAgICAgaGVpZ2h0OiAxLjcyNWVtO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xuICAgIH1cblxuICAgICZfX3N1Y2Nlc3MtbGFiZWwsXG4gICAgJl9fZmFpbC1sYWJlbCB7XG4gICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19taW5pY2FydCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJi0tc3RpY2t5LFxuICAgICAgICAmLS11bnN0aWNrIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci13cmFwcGVyKCk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgICAgICAgICB6LWluZGV4OiA0MDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAgICAgLnVpLWRpYWxvZyB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJsb2NrLW1pbmljYXJ0IHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDMuMnJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21pbmljYXJ0LWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEyNXB4O1xuICAgICAgICB9XG4gICAgICAgICN7JHJvb3R9X19taW5pY2FydC0tc3RpY2t5ICYsXG4gICAgICAgICN7JHJvb3R9X19taW5pY2FydC0tdW5zdGljayAmIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIuNXJlbSAxcmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMXB4IDNweCA0LjVyZW0gMCByZ2JhKDMwLCA0OCwgNjcsIDAuMzQpO1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBtaW5pY2FydC1pbiAxcyBjdWJpYy1iZXppZXIoMCwgMC43NywgMC4xOCwgMSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fbWluaWNhcnQtLXVuc3RpY2sgJiB7XG4gICAgICAgICAgICBhbmltYXRpb246IG1pbmljYXJ0LW91dCAwLjVzIGN1YmljLWJlemllcigwLjU1LCAwLjIsIDAuODksIDAuNDUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWluaWNhcnQtcXR5LWJhZGdlLXdyYXBwZXIge1xuICAgICAgICAkYmFkZ2Utd3JhcHBlcjogJjtcblxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHotaW5kZXg6IDYwMDtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuOXMgY3ViaWMtYmV6aWVyKDAuNDIsIDAuMzEsIDAuMzQsIDAuOTMpLFxuICAgICAgICAgICAgbGVmdCAwLjlzIGN1YmljLWJlemllcigwLjQyLCAwLjMxLCAwLjM0LCAwLjkzKTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgJi0tYW5pbWF0aW5nIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogbW92ZS1xdHktYmFkZ2UgMS4ycyBjdWJpYy1iZXppZXIoMC40MiwgMC4zMSwgMC4zNCwgMC45Myk7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB0b3A6IDAuNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz50YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgdG9wOiAxLjNyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1LjNyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYjeyRiYWRnZS13cmFwcGVyfS0tbWluaWNhcnQtc3RpY2t5IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgICAgdG9wOiAxLjhyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fbWluaWNhcnQtcXR5LWJhZGdlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbG9hZGluZyxcbiAgICAmLS1kb25lIHtcbiAgICAgICAgI3skcm9vdH1fX2J1dHRvbi1sYWJlbCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyZW0sIDAsIDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbG9hZGluZyB7XG4gICAgICAgICN7JHJvb3R9X19sb2FkaW5nIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApIHRyYW5zbGF0ZVgoLTEuMjVlbSk7IC8vIGNhbGMoKSBkb2Vzbid0IHdvcmsgaW4gSUUgc28gaSBoYWQgdG8gZHVwbGljYXRlIHRyYW5zbGF0ZVgoKSB0cmFuc2Zvcm0gdG8gYWRqdXN0IFggcG9zaXRpb25cblxuICAgICAgICAgICAgJi1iYWxsIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IGJhbGwtaW4gMXMgaW5maW5pdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1kb25lIHtcbiAgICAgICAgI3skcm9vdH1fX2J1dHRvbi1pY29uIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fZmVlZGJhY2stYmcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiAkYWRkdG9jYXJ0X2ZlZWRiYWNrLWJnLXNrZXcgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoXG4gICAgICAgICAgICAgICAgICAgIC0jeyRhZGR0b2NhcnRfYnV0dG9uLXNrZXdlZC1iYWNrZ3JvdW5kLXdpZHRoICsgMC4yfSxcbiAgICAgICAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zdWNjZXNzIHtcbiAgICAgICAgI3skcm9vdH1fX3N1Y2Nlc3MtaWNvbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3N1Y2Nlc3MtbGFiZWwge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1mYWlsIHtcbiAgICAgICAgI3skcm9vdH1fX2ZhaWwtaWNvbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tYW5pbWF0aW9uLWRvbmUge1xuICAgICAgICAjeyRyb290fV9fYnV0dG9uLWxhYmVsLFxuICAgICAgICAjeyRyb290fV9fYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC41cztcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19mZWVkYmFjay1iZyB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xuXG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuODYsIDAuMDEsIDAuODMsIDAuNTEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3N1Y2Nlc3MtbGFiZWwsXG4gICAgICAgICN7JHJvb3R9X19mYWlsLWljb24ge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzIGxpbmVhcixcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC42cyBjdWJpYy1iZXppZXIoMC44NiwgMC4wMSwgMC44MywgMC41MSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3N1Y2Nlc3MtaWNvbixcbiAgICAgICAgI3skcm9vdH1fX2ZhaWwtaWNvbiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICBAa2V5ZnJhbWVzIGJhbGwtaW4ge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICAgIDUwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgbWluaWNhcnQtaW4ge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIG1pbmljYXJ0LW91dCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgbW92ZS1xdHktYmFkZ2Uge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgIDE1JSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG4gICAgICAgIDgwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuXG4gICAgLmJsb2NrLW1pbmljYXJ0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICd1dGlscy9nZXQtdmFsdWUtZnJvbS1saXN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL2FuaW1hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9ob29rJztcblxuLy8gRGVmaW5lIGRlZmF1bHQgdHlwZSBmb3IgYnV0dG9ucy4gWW91IGNhbiBvdmVycmlkZSBpdCBpbmRpdmlkdWFsbHkgcGVyIGJ1dHRvbiBpbiBlYWNoIGNvbXBvbmVudFxuLy8gVmFyaWFudHM6IHByaW1hcnkgfCBzZWNvbmRhcnkgfCBsaW5rIHwgc3VjY2VzcyB8IGVycm9yXG4kYnV0dG9uX2RlZmF1bHQtdHlwZTogJ3ByaW1hcnknICFkZWZhdWx0O1xuXG4vLyBEZWZpbmUgZGVmYXVsdCBwb3NpdGlvbiBmb3IgaWNvbnMgaW4gYnV0dG9uLiBZb3UgY2FuIG92ZXJyaWRlIGl0IGluZGl2aWR1YWxseSBwZXIgYnV0dG9uIGluIGVhY2ggY29tcG9uZW50XG4vLyBWYXJpYW50czogbGVmdCB8IHJpZ2h0IHwgbm8taWNvbiB8IG9ubHktaWNvblxuJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zOiAncmlnaHQnICFkZWZhdWx0O1xuXG4vLyBHZW5lcmFsIHN0eWxlcyBmb3IgYnV0dG9uc1xuJGJ1dHRvbl9mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcbiRidXR0b25fZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRidXR0b25fYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRidXR0b25fcGFkZGluZzogMC43NWVtIDFlbSAhZGVmYXVsdDtcbiRidXR0b25fcGFkZGluZy13aGVuLWljb246IDNlbSAhZGVmYXVsdDtcbiRidXR0b25fbGluZS1oZWlnaHQ6IDEuMjc1ZW0gIWRlZmF1bHQ7XG4kYnV0dG9uX2JvcmRlci1yYWRpdXM6IDI1cHggIWRlZmF1bHQ7XG4kYnV0dG9uX2FuaW1hdGlvbi10aW1lOiAwLjVzICFkZWZhdWx0O1xuJGJ1dHRvbl90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJGJ1dHRvbl90ZXh0LWxldHRlci1zcGFjaW5nOiBub3JtYWwgIWRlZmF1bHQ7XG4kYnV0dG9uX3RleHQtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcblxuJGJ1dHRvbl9zaXplLWRlZmF1bHQ6ICdyZWd1bGFyJyAhZGVmYXVsdDtcblxuLy8gU3R5bGVzIGZvciBgYWRkIHRvIGNhcnRgIGJ1dHRvbiB0eXBlXG4kYnV0dG9uX2FkZHRvLWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b25fYWRkdG8tLWhvdmVyLWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b25fYWRkdG8tYmFja2dyb3VuZDogJGNvbG9yX2FkZF90b19jYXJ0ICFkZWZhdWx0O1xuJGJ1dHRvbl9hZGR0by0taG92ZXItYmFja2dyb3VuZDogIzQ5ODBDMSAhZGVmYXVsdDtcbiRidXR0b25fYWRkdG8tY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRidXR0b25fYWRkdG8tLWhvdmVyLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kYnV0dG9uX2FkZHRvLWZpbGw6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRidXR0b25fYWRkdG8tLWhvdmVyLWZpbGw6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRidXR0b25fYWRkdG8tZW5hYmxlLWFuaW1hdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG4kYnV0dG9uX2FkZHRvLWJvcmRlci1yYWRpdXM6IDI1cHggIWRlZmF1bHQ7XG4kYnV0dG9uX2FkZHRvLWZvbnQtc2l6ZTogMS42cmVtICFkZWZhdWx0O1xuXG4vLyBTdHlsZXMgZm9yIGBwcmltYXJ5YCBidXR0b24gdHlwZVxuJGJ1dHRvbl9wcmltYXJ5LWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b25fcHJpbWFyeS0taG92ZXItYm9yZGVyOiAkYnV0dG9uX2JvcmRlci1zaXplIHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbl9wcmltYXJ5LWJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRidXR0b25fcHJpbWFyeS0taG92ZXItYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktODAwICFkZWZhdWx0O1xuJGJ1dHRvbl9wcmltYXJ5LWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3ByaW1hcnktLWhvdmVyLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3ByaW1hcnktZmlsbDogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9wcmltYXJ5LS1ob3Zlci1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3ByaW1hcnktZW5hYmxlLWFuaW1hdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFN0eWxlcyBmb3IgYHNlY29uZGFyeWAgYnV0dG9uIHR5cGVcbiRidXR0b25fc2Vjb25kYXJ5LWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1ib3JkZXI6ICRidXR0b25fYm9yZGVyLXNpemUgc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uX3NlY29uZGFyeS1iYWNrZ3JvdW5kOiAkY29sb3JfYmxhY2sgIWRlZmF1bHQ7XG4kYnV0dG9uX3NlY29uZGFyeS0taG92ZXItYmFja2dyb3VuZDogJGNvbG9yX2JvZHktdGV4dCAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kYnV0dG9uX3NlY29uZGFyeS0taG92ZXItY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LWZpbGw6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3NlY29uZGFyeS1lbmFibGUtYW5pbWF0aW9uOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gU3R5bGUgZm9yIGBsaW5rYCBidXR0b24gdHlwZVxuJGJ1dHRvbl9saW5rLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2xpbmstLWhvdmVyLWNvbG9yOiAkY29sb3JfcHJpbWFyeS04MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2xpbmstaWNvbi1wYWRkaW5nOiAycmVtICFkZWZhdWx0O1xuXG4vLyBTdHlsZXMgZm9yIGBzdWNjZXNzYCBidXR0b24gdHlwZVxuJGJ1dHRvbl9zdWNjZXNzLWJvcmRlcjogJGJ1dHRvbl9ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b25fc3VjY2Vzcy0taG92ZXItYm9yZGVyOiAkYnV0dG9uX2JvcmRlci1zaXplIHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ1dHRvbl9zdWNjZXNzLWJhY2tncm91bmQ6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcbiRidXR0b25fc3VjY2Vzcy0taG92ZXItYmFja2dyb3VuZDogJGNvbG9yX3N1Y2Nlc3MtNjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9zdWNjZXNzLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3N1Y2Nlc3MtZmlsbDogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1maWxsOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kYnV0dG9uX3N1Y2Nlc3MtZW5hYmxlLWFuaW1hdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFN0eWxlcyBmb3IgYGVycm9yYCBidXR0b24gdHlwZVxuJGJ1dHRvbl9lcnJvci1ib3JkZXI6ICRidXR0b25fYm9yZGVyLXNpemUgc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLS1ob3Zlci1ib3JkZXI6ICRidXR0b25fYm9yZGVyLXNpemUgc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLWJhY2tncm91bmQ6ICRjb2xvcl9lcnJvci01MDAgIWRlZmF1bHQ7XG4kYnV0dG9uX2Vycm9yLS1ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3JfZXJyb3ItNjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9lcnJvci1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9lcnJvci0taG92ZXItY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRidXR0b25fZXJyb3ItZmlsbDogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9lcnJvci0taG92ZXItZmlsbDogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGJ1dHRvbl9lcnJvci1lbmFibGUtYW5pbWF0aW9uOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGVmaW5lcyBob3cgbXVjaCBidXR0b24gaWNvbiBzaG91bGQgYmUgcHVsbGVkIHZlcnRpY2FsbHkgdG8gY2VudGVyIGl0LlxuLy8gU2hvdWxkIGJlIGRlZmluZWQgaW4gZW0gdG8gbWFrZSBpdCByZWxhdGl2ZSB0byBidXR0b24ncyBmb250IHNpemUuXG4kYnV0dG9uX3NwYW4tZm9udC1vZmZzZXQ6IDAgIWRlZmF1bHQ7XG5cbi8vIERlZmluZXMgaG93IG11Y2ggYnV0dG9uIGljb24gc2hvdWxkIGJlIHB1bGxlZCB2ZXJ0aWNhbGx5IHRvIGNlbnRlciBpdCBvbiBpY29uIGJ1dHRvbi5cbi8vIFNob3VsZCBiZSBkZWZpbmVkIGluIGVtIHRvIG1ha2UgaXQgcmVsYXRpdmUgdG8gYnV0dG9uJ3MgZm9udCBzaXplLlxuJGJ1dHRvbl9pY29uLW9mZnNldDogMC4xZW0gIWRlZmF1bHQ7XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIGZ1bmN0aW9uLWNhbGMtbm8tdW5zcGFjZWQtb3BlcmF0b3JcblxuQG1peGluIGJ1dHRvbihcbiAgICAkdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUsXG4gICAgJGljb25fcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MsXG4gICAgJHRleHRfdHJhbnNmb3JtOiAkYnV0dG9uX3RleHQtdHJhbnNmb3JtLFxuICAgICRib3JkZXItcmFkaXVzOiAkYnV0dG9uX2JvcmRlci1yYWRpdXNcbikge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6ICRidXR0b25fZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkYnV0dG9uX2ZvbnQtd2VpZ2h0O1xuICAgIHRleHQtYWxpZ246ICRidXR0b25fdGV4dC1hbGlnbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b25fbGluZS1oZWlnaHQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkdGV4dF90cmFuc2Zvcm07XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgZm9udC1mYW1pbHk6ICRmb250X2ZhbWlseS1wcmltYXJ5O1xuICAgIHBhZGRpbmc6IDhweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuXG4gICAgQGlmICgkdHlwZSAhPSAnbGluaycpIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkYnV0dG9uX2FuaW1hdGlvbi10aW1lLFxuICAgICAgICBib3JkZXItY29sb3IgJGJ1dHRvbl9hbmltYXRpb24tdGltZSwgZmlsbCAkYnV0dG9uX2FuaW1hdGlvbi10aW1lLFxuICAgICAgICBjb2xvciAkYnV0dG9uX2FuaW1hdGlvbi10aW1lO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ2FkZHRvJykge1xuICAgICAgICBAaWYgKCRidXR0b25fcHJpbWFyeS1lbmFibGUtYW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fYW5pbWF0aW9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAncHJpbWFyeScsXG4gICAgICAgICAgICAgICAgJGNvbG9yX3N0YXJ0OiAkYnV0dG9uX2FkZHRvLWJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgJGNvbG9yX2VuZDogJGJ1dHRvbl9hZGR0by0taG92ZXItYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRpY29uX3Bvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ3ByaW1hcnknKSB7XG4gICAgICAgIEBpZiAoJGJ1dHRvbl9wcmltYXJ5LWVuYWJsZS1hbmltYXRpb24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9hbmltYXRpb24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgICAkY29sb3Jfc3RhcnQ6ICRidXR0b25fcHJpbWFyeS1iYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgICRjb2xvcl9lbmQ6ICRidXR0b25fcHJpbWFyeS0taG92ZXItYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRpY29uX3Bvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ3NlY29uZGFyeScpIHtcbiAgICAgICAgQGlmICgkYnV0dG9uX3NlY29uZGFyeS1lbmFibGUtYW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fYW5pbWF0aW9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAkY29sb3Jfc3RhcnQ6ICRidXR0b25fc2Vjb25kYXJ5LWJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgJGNvbG9yX2VuZDogJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkaWNvbl9wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCR0eXBlID09ICdsaW5rJykge1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkYnV0dG9uX2FuaW1hdGlvbi10aW1lLCBmaWxsICRidXR0b25fYW5pbWF0aW9uLXRpbWU7XG4gICAgICAgIHdpbGwtY2hhbmdlOiBmaWxsLCBjb2xvcjtcblxuICAgICAgICAqIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICRidXR0b25fYW5pbWF0aW9uLXRpbWUsXG4gICAgICAgICAgICBmaWxsICRidXR0b25fYW5pbWF0aW9uLXRpbWU7XG4gICAgICAgICAgICB3aWxsLWNoYW5nZTogZmlsbCwgY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCR0eXBlID09ICdzdWNjZXNzJykge1xuICAgICAgICBAaWYgKCRidXR0b25fc3VjY2Vzcy1lbmFibGUtYW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fYW5pbWF0aW9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAnc3VjY2VzcycsXG4gICAgICAgICAgICAgICAgJGNvbG9yX3N0YXJ0OiAkYnV0dG9uX3N1Y2Nlc3MtYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkY29sb3JfZW5kOiAkYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkaWNvbl9wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCR0eXBlID09ICdlcnJvcicpIHtcbiAgICAgICAgQGlmICgkYnV0dG9uX2Vycm9yLWVuYWJsZS1hbmltYXRpb24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9hbmltYXRpb24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICdlcnJvcicsXG4gICAgICAgICAgICAgICAgJGNvbG9yX3N0YXJ0OiAkYnV0dG9uX2Vycm9yLWJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgJGNvbG9yX2VuZDogJGJ1dHRvbl9lcnJvci0taG92ZXItYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRpY29uX3Bvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubWVkaXVtIHtcbiAgICAgICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICB9XG4gICAgJi5sYXJnZSB7XG4gICAgICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgfVxuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eVxuICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmLFxuICAgICY6dmlzaXRlZCB7XG4gICAgICAgIEBpZiAoJHR5cGUgIT0gJ2xpbmsnKSB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkdHlwZSA9PSAnYWRkdG8nKSB7XG4gICAgICAgICAgICBib3JkZXI6ICRidXR0b25fYWRkdG8tYm9yZGVyO1xuICAgICAgICAgICAgY29sb3I6ICRidXR0b25fYWRkdG8tY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX2FkZHRvLWJhY2tncm91bmQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uX2FkZHRvLWJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBmb250LXNpemU6ICRidXR0b25fYWRkdG8tZm9udC1zaXplO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX2FkZHRvLWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJ1dHRvbl9hZGR0by1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbl9hZGR0by1ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fYWRkdG8tLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b25fYWRkdG8tYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9hZGR0by1jb2xvcjtcbiAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX2FkZHRvLWZpbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCR0eXBlID09ICdwcmltYXJ5Jykge1xuICAgICAgICAgICAgYm9yZGVyOiAkYnV0dG9uX3ByaW1hcnktYm9yZGVyO1xuICAgICAgICAgICAgY29sb3I6ICRidXR0b25fcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fcHJpbWFyeS1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9wcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fcHJpbWFyeS1maWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkdHlwZSA9PSAnc2Vjb25kYXJ5Jykge1xuICAgICAgICAgICAgYm9yZGVyOiAkYnV0dG9uX3NlY29uZGFyeS1ib3JkZXI7XG4gICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9zZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX3NlY29uZGFyeS1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9zZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICAgICAgZmlsbDogJGJ1dHRvbl9zZWNvbmRhcnktZmlsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJHR5cGUgPT0gJ2xpbmsnKSB7XG4gICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9saW5rLWNvbG9yO1xuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9saW5rLWNvbG9yO1xuICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fbGluay1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJHR5cGUgPT0gJ3N1Y2Nlc3MnKSB7XG4gICAgICAgICAgICBib3JkZXI6ICRidXR0b25fc3VjY2Vzcy1ib3JkZXI7XG4gICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9zdWNjZXNzLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9zdWNjZXNzLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3N1Y2Nlc3MtY29sb3I7XG4gICAgICAgICAgICAgICAgZmlsbDogJGJ1dHRvbl9zdWNjZXNzLWZpbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCR0eXBlID09ICdlcnJvcicpIHtcbiAgICAgICAgICAgIGJvcmRlcjogJGJ1dHRvbl9lcnJvci1ib3JkZXI7XG4gICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9lcnJvci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fZXJyb3ItYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fZXJyb3ItY29sb3I7XG4gICAgICAgICAgICAgICAgZmlsbDogJGJ1dHRvbl9lcnJvci1maWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIHN0eWxlbGludC1lbmFibGUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICAgICAgQGlmICgkdHlwZSAhPSAnbGluaycpIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCR0eXBlID09ICdhZGR0bycpIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRidXR0b25fYWRkdG8tLWhvdmVyLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9hZGR0by0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9hZGR0by0taG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRidXR0b25fYWRkdG8tLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b25fYWRkdG8tLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX2FkZHRvLS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJGJ1dHRvbl9hZGR0by0taG92ZXItZmlsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJHR5cGUgPT0gJ3ByaW1hcnknKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkYnV0dG9uX3ByaW1hcnktLWhvdmVyLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9wcmltYXJ5LS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX3ByaW1hcnktLWhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fcHJpbWFyeS0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fcHJpbWFyeS0taG92ZXItZmlsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJHR5cGUgPT0gJ3NlY29uZGFyeScpIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1ib3JkZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fc2Vjb25kYXJ5LS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uX3NlY29uZGFyeS0taG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9zZWNvbmRhcnktLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX3NlY29uZGFyeS0taG92ZXItZmlsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJHR5cGUgPT0gJ2xpbmsnKSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fbGluay0taG92ZXItY29sb3I7XG5cbiAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fbGluay0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fbGluay0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCR0eXBlID09ICdzdWNjZXNzJykge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1ib3JkZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b25fc3VjY2Vzcy0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9zdWNjZXNzLS1ob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYnV0dG9uX3N1Y2Nlc3MtLWhvdmVyLWZpbGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCR0eXBlID09ICdlcnJvcicpIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRidXR0b25fZXJyb3ItLWhvdmVyLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9lcnJvci0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbl9lcnJvci0taG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbl9lcnJvci0taG92ZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRidXR0b25fZXJyb3ItLWhvdmVyLWZpbGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvb2soJHR5cGUsICRpY29uX3Bvcyk7XG59XG5cbkBtaXhpbiBidXR0b25fc3BhbihcbiAgICAkdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUsXG4gICAgJGljb25fcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3Ncbikge1xuICAgIG1hcmdpbi10b3A6ICRidXR0b25fc3Bhbi1mb250LW9mZnNldDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiAkYnV0dG9uX2ZvbnQtd2VpZ2h0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b25fbGluZS1oZWlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRidXR0b25fdGV4dC1sZXR0ZXItc3BhY2luZztcblxuICAgIEBpZiAoJGljb25fcG9zID09ICdyaWdodCcpIHtcbiAgICAgICAgQGlmICgkdHlwZSA9PSAnbGluaycpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRidXR0b25fbGluay1pY29uLXBhZGRpbmc7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgICB1bml0KCRidXR0b25fcGFkZGluZy13aGVuLWljb24pID09XG4gICAgICAgICAgICAgICAgICAgIHVuaXQoXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICR2YXJpYWJsZTogJGJ1dHRvbl9wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlOiAkaWNvbl9wb3NcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGJ1dHRvbl9wYWRkaW5nLXdoZW4taWNvbiArXG4gICAgICAgICAgICAgICAgICAgIGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgICAgICAgICAkdmFyaWFibGU6ICRidXR0b25fcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlOiAkaWNvbl9wb3NcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoXG4gICAgICAgICAgICAgICAgICAgICN7JGJ1dHRvbl9wYWRkaW5nLXdoZW4taWNvbn0gK1xuICAgICAgICAgICAgICAgICAgICAje2dldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgICAgICAgICAkdmFyaWFibGU6ICRidXR0b25fcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlOiAkaWNvbl9wb3NcbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSBAZWxzZSBpZiAoJGljb25fcG9zID09ICdsZWZ0Jykge1xuICAgICAgICBAaWYgKCR0eXBlID09ICdsaW5rJykge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkYnV0dG9uX2xpbmstaWNvbi1wYWRkaW5nO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBpZiAoXG4gICAgICAgICAgICAgICAgdW5pdCgkYnV0dG9uX3BhZGRpbmctd2hlbi1pY29uKSA9PVxuICAgICAgICAgICAgICAgICAgICB1bml0KFxuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdmFyaWFibGU6ICRidXR0b25fcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2lkZTogJGljb25fcG9zXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGJ1dHRvbl9wYWRkaW5nLXdoZW4taWNvbiArXG4gICAgICAgICAgICAgICAgICAgIGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgICAgICAgICAkdmFyaWFibGU6ICRidXR0b25fcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlOiAkaWNvbl9wb3NcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgI3skYnV0dG9uX3BhZGRpbmctd2hlbi1pY29ufSArXG4gICAgICAgICAgICAgICAgICAgICN7Z2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgICAgICR2YXJpYWJsZTogJGJ1dHRvbl9wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgJHNpZGU6ICRpY29uX3Bvc1xuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIGlmICgkaWNvbl9wb3MgPT0gJ29ubHktaWNvbicpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25fc3Bhbi1ob29rKCR0eXBlLCAkaWNvbl9wb3MpO1xufVxuXG5AbWl4aW4gYnV0dG9uX2ljb24oXG4gICAgJHR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlLFxuICAgICRpY29uX3BvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zXG4pIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAkYnV0dG9uX2ZvbnQtc2l6ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpZiAoJGljb25fcG9zID09ICdyaWdodCcpIG9yICgkaWNvbl9wb3MgPT0gJ2xlZnQnKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgfVxuXG4gICAgQGlmICgkaWNvbl9wb3MgPT0gJ29ubHktaWNvbicpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6ICRidXR0b25faWNvbi1vZmZzZXQ7XG5cbiAgICAgICAgQGlmICgkdHlwZSA9PSAnbGluaycpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkYnV0dG9uX2xpbmstaWNvbi1wYWRkaW5nIC8gMjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGJ1dHRvbl9saW5rLWljb24tcGFkZGluZyAvIDI7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIGlmICgkaWNvbl9wb3MgPT0gJ3JpZ2h0Jykge1xuICAgICAgICBAaWYgKCR0eXBlID09ICdsaW5rJykge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgJHZhcmlhYmxlOiAkYnV0dG9uX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgJHNpZGU6ICRpY29uX3Bvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH0gQGVsc2UgaWYgKCRpY29uX3BvcyA9PSAnbGVmdCcpIHtcbiAgICAgICAgQGlmICgkdHlwZSA9PSAnbGluaycpIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBsZWZ0OiBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICR2YXJpYWJsZTogJGJ1dHRvbl9wYWRkaW5nLFxuICAgICAgICAgICAgICAgICRzaWRlOiAkaWNvbl9wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25faWNvbi1ob29rKCR0eXBlLCAkaWNvbl9wb3MpO1xufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLypcbiAqIEJlY2F1c2UgcHJpY2UtYm94IGlzIHVzZWQgaW4gbXVsdGlwbGUgY29tcG9uZW50cyBsaWtlIHRpbGUsIGJ1eWJveCBldGMsXG4gKiB3ZSBuZWVkIHRvIG1vdmUgdmFyaWFibGVzIHRvIHNlcGFyYXRlIGZpbGUgdG8gaGF2ZSBwb3NzaWJpbGl0eSB0byBpbmNsdWRlIHRoZW1cbiAqIGluIGVhY2ggY29tcG9uZW50IHdpdGhvdXQgZ2VuZXJhdGUgcHJpY2UtYm94IGNvbXBvbmVudCBzdHlsZXMgbXVsdGlwbGUgdGltZXNcbiovXG4uY3MtYXV0b2NvbXBsZXRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNyk7XG4gIHotaW5kZXg6IDIwMDtcbiAgbWFyZ2luLXRvcDogLTFweDsgfVxuICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZCwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyO1xuICAgIGZvbnQtc2l6ZTogMS4yOXJlbTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLWF1dG9jb21wbGV0ZSAuYXV0b2NvbXBsZXRlLWxpc3QgZGQsIC5jcy1hdXRvY29tcGxldGVfX2l0ZW0ge1xuICAgIHBhZGRpbmc6IDFyZW07IH0gfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkOmhvdmVyLCAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZC5zZWxlY3RlZCwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbTpob3ZlciwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbS5zZWxlY3RlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAuYXV0b2NvbXBsZXRlLWxpc3QgZGQ6bGFzdC1jaGlsZCwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZC1pbWFnZS1jb250YWluZXIsIC5jcy1hdXRvY29tcGxldGVfX2l0ZW0taW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZC1pbWFnZSwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbS1pbWFnZSB7XG4gICAgICB3aWR0aDogNC41cmVtO1xuICAgICAgaGVpZ2h0OiA0LjVyZW07IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZC1kZXRhaWxzLCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtLWRldGFpbHMge1xuICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLWRldGFpbHMgLmYtZml4LCAuY3MtYXV0b2NvbXBsZXRlX19pdGVtLWRldGFpbHMgLmYtZml4IHtcbiAgICAgICAgaGVpZ2h0OiA1LjhyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZC1kZXRhaWxzIGltZywgLmNzLWF1dG9jb21wbGV0ZV9faXRlbS1kZXRhaWxzIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAuYXV0b2NvbXBsZXRlLWxpc3QgZGQtYnJhbmQsIC5jcy1hdXRvY29tcGxldGVfX2l0ZW0tYnJhbmQge1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBjb2xvcjogIzNFM0UzRTsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLmF1dG9jb21wbGV0ZS1saXN0IGRkLW5hbWUsIC5jcy1hdXRvY29tcGxldGVfX2l0ZW0tbmFtZSB7XG4gICAgICBmb250LXNpemU6IDEuMjlyZW07XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5hdXRvY29tcGxldGUtbGlzdCBkZC1wcmljZSwgLmNzLWF1dG9jb21wbGV0ZV9faXRlbS1wcmljZSB7XG4gICAgICBtYXJnaW46IDAuM3JlbSAwIDA7IH1cbiAgLmNzLWF1dG9jb21wbGV0ZSAucHJpY2UtYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAucHJpY2UtYm94ID4gLnByaWNlIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZSAucHJpY2UtYm94IC5vbGQtcHJpY2UgPiAucHJpY2Uge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSA+IC5wcmljZSB7XG4gICAgICBjb2xvcjogI0NDMUMzQTtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5jcy1hdXRvY29tcGxldGUgLnByaWNlLWJveCAubWluaW1hbC1wcmljZS1saW5rIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlIC5wcmljZS1ib3ggLm9sZC1wcmljZSB7XG4gICAgICBvcmRlcjogLTE7IH1cbiAgICAgIC5jcy1hdXRvY29tcGxldGUgLnByaWNlLWJveCAub2xkLXByaWNlIC5wcmljZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHggMTBweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWluLWhlaWdodDogMmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMjVweDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAyNXB4O1xuICAgIG1heC13aWR0aDogMTI1cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2Uge1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIG1heC13aWR0aDogODhweDtcbiAgICAgICAgcGFkZGluZzogOHB4IDEzcHg7IH0gfVxuICAgIC5pZTExIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgIGZvbnQtc2l6ZTogMDsgfVxuICAgIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlICsgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gICAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtLXBvcHVsYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0E5QzU0NjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS0tcG9wdWxhciAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS0tcG9wdWxhciAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS10ZXh0ICsgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtLXBvcHVsYXIgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAgIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLS1mcmVlLXNoaXBwaW5nIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNBOUM1NDY7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtLWZyZWUtc2hpcHBpbmcgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgICAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtLWZyZWUtc2hpcHBpbmcgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtdGV4dCArIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLS1mcmVlLXNoaXBwaW5nIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLXRleHQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtdGV4dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAuY3MtYXV0b2NvbXBsZXRlX19iYWRnZS10ZXh0ICsgLmNzLWF1dG9jb21wbGV0ZV9fYmFkZ2UtdGV4dCB7XG4gICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5jcy1hdXRvY29tcGxldGVfX2JhZGdlLXRleHQge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9IH1cblxuLmF1dG9jb21wbGV0ZS1saXN0IHtcbiAgbWFyZ2luOiAtMXB4IDAgMXJlbTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7IH1cbiAgLmF1dG9jb21wbGV0ZS1saXN0OmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9XG4gIC5hdXRvY29tcGxldGUtbGlzdDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5hdXRvY29tcGxldGUtbGlzdCAuYW1vdW50IHtcbiAgICBjb2xvcjogIzNFM0UzRTtcbiAgICBmb250LXNpemU6IDEuMjlyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gICAgLmF1dG9jb21wbGV0ZS1saXN0IC5hbW91bnQ6bm90KDplbXB0eSk6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyknOyB9XG4gICAgLmF1dG9jb21wbGV0ZS1saXN0IC5hbW91bnQ6bm90KDplbXB0eSk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcoJzsgfVxuXG4uYXV0b2NvbXBsZXRlLWxpc3QtdGl0bGUge1xuICBwYWRkaW5nOiAxLjJyZW0gM3JlbSAxcmVtIDFyZW07XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGNvbG9yOiAjM0UzRTNFO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDEuMjlyZW07XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIG1hcmdpbjogMDsgfVxuICAuYXV0b2NvbXBsZXRlLWxpc3QtdGl0bGU6aG92ZXIsIC5hdXRvY29tcGxldGUtbGlzdC10aXRsZS5zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmF1dG9jb21wbGV0ZS1saXN0LXRpdGxlOm5vdCg6ZW1wdHkpOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiB0cmFuc3BhcmVudDsgfVxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbkBtaXhpbiBiYWRnZV9ob29rKCR0eXBlKSB7XG59XG5cbkBtaXhpbiBiYWRnZV90eXBlLWhvb2soJHR5cGUpIHtcbn1cblxuQG1peGluIGJhZGdlX3NwYW4taG9vaygkdHlwZSkge1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiLypcbiAqIEJlY2F1c2UgcHJpY2UtYm94IGlzIHVzZWQgaW4gbXVsdGlwbGUgY29tcG9uZW50cyBsaWtlIHRpbGUsIGJ1eWJveCBldGMsXG4gKiB3ZSBuZWVkIHRvIG1vdmUgdmFyaWFibGVzIHRvIHNlcGFyYXRlIGZpbGUgdG8gaGF2ZSBwb3NzaWJpbGl0eSB0byBpbmNsdWRlIHRoZW1cbiAqIGluIGVhY2ggY29tcG9uZW50IHdpdGhvdXQgZ2VuZXJhdGUgcHJpY2UtYm94IGNvbXBvbmVudCBzdHlsZXMgbXVsdGlwbGUgdGltZXNcbiovXG5cbiRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWNvbG9yOiAkY29sb3JfYmxhY2sgIWRlZmF1bHQ7XG4kcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcbiRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XG5cbiRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1jb2xvcjogJGNvbG9yX3ByaW1hcnktcmVkICFkZWZhdWx0O1xuJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWZvbnQtc2l6ZTogJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXdlaWdodCAhZGVmYXVsdDtcblxuJHByaWNlLWJveF9vbGQtcHJpY2UtY29sb3I6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcbiRwcmljZS1ib3hfb2xkLXByaWNlLWZvbnQtc2l6ZTogJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHByaWNlLWJveF9vbGQtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJHByaWNlLWJveF9vbGQtcHJpY2UtdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2ggIWRlZmF1bHQ7XG5cbiRwcmljZS1ib3hfbGFiZWwtY29sb3I6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcbiRwcmljZS1ib3hfbGFiZWwtZm9udC1zaXplOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kcHJpY2UtYm94X2xhYmVsLWZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRwcmljZS1ib3hfbGFiZWwtZGlzcGxheS1jb2xvbjogdHJ1ZSAhZGVmYXVsdDtcbiRwcmljZS1ib3hfbGFiZWwtbWFyZ2luOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbiRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM6IDFyZW0gIWRlZmF1bHQ7XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcmljZS1ib3gvdmFyaWFibGVzJztcblxuJGF1dG9jb21wbGV0ZV9saXN0LWJhY2tncm91bmQ6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfbGlzdC1ib3JkZXItcmFkaXVzOiAzcHggIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2xpc3QtYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2xpc3QtYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKCRjb2xvcl90ZXh0LTkwMCwgMC4xNykgIWRlZmF1bHQ7XG5cbiRhdXRvY29tcGxldGVfdGl0bGUtcGFkZGluZzogMS4ycmVtIDNyZW0gMXJlbSAxcmVtICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV90aXRsZS1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX3RpdGxlLWJvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfdGl0bGUtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfdGl0bGUtZm9udC1zaXplOiAxLjI5cmVtICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV90aXRsZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuXG4kYXV0b2NvbXBsZXRlX2l0ZW0taGVpZ2h0OiA1LjhyZW0gIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tcGFkZGluZzogMC41cmVtIDFyZW0gIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tbWFyZ2luOiAwICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLWJhY2tncm91bmQ6ICRhdXRvY29tcGxldGVfbGlzdC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRjb2xvcl9iYWNrZ3JvdW5kLTUwMCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS10aHVtYm5haWwtd2lkdGg6IDQuNXJlbSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS10aHVtYm5haWwtaGVpZ2h0OiA0LjVyZW0gIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tZm9udC1zaXplOiAxLjI5cmVtICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tbmFtZS1jb2xvcjogJGNvbG9yX3RleHQtOTAwICFkZWZhdWx0O1xuXG4kYXV0b2NvbXBsZXRlX2l0ZW1fYnJhbmQtZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW1fYnJhbmQtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcblxuJGF1dG9jb21wbGV0ZV9pdGVtLXByaWNlLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tcHJpY2UtZm9udC13ZWlnaHQ6ICRhdXRvY29tcGxldGVfaXRlbS1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1xdWFudGl0eS1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuXG4kYXV0b2NvbXBsZXRlX2l0ZW1fZGlzcGxheS1vbGQtcHJpY2UtZmlyc3Q6IHRydWUgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tbm9ybWFsLXByaWNlLWNvbG9yOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1jb2xvciAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1ub3JtYWwtcHJpY2UtZm9udC1zaXplOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tbm9ybWFsLXByaWNlLWZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1vbGQtcHJpY2UtY29sb3I6ICRwcmljZS1ib3hfb2xkLXByaWNlLWNvbG9yICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLW9sZC1wcmljZS1mb250LXNpemU6ICRwcmljZS1ib3hfb2xkLXByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1vbGQtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfb2xkLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGF1dG9jb21wbGV0ZV9pdGVtLW9sZC1wcmljZS10ZXh0LWRlY29yYXRpb246ICRwcmljZS1ib3hfb2xkLXByaWNlLXRleHQtZGVjb3JhdGlvbiAhZGVmYXVsdDtcbiRhdXRvY29tcGxldGVfaXRlbS1zcGVjaWFsLXByaWNlLWNvbG9yOiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtY29sb3IgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tc3BlY2lhbC1wcmljZS1mb250LXNpemU6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXV0b2NvbXBsZXRlX2l0ZW0tc3BlY2lhbC1wcmljZS1mb250LXdlaWdodDogJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuXG4uI3skbnN9YXV0b2NvbXBsZXRlIHtcbiAgICAkcm9vdDogJjtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGF1dG9jb21wbGV0ZV9saXN0LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGF1dG9jb21wbGV0ZV9saXN0LWJvcmRlci1yYWRpdXM7XG4gICAgYm94LXNoYWRvdzogJGF1dG9jb21wbGV0ZV9saXN0LWJveC1zaGFkb3c7XG4gICAgei1pbmRleDogMjAwO1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG5cbiAgICAuYXV0b2NvbXBsZXRlLWxpc3QgZGQsXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhdXRvY29tcGxldGVfaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgICBwYWRkaW5nOiAkYXV0b2NvbXBsZXRlX2l0ZW0tcGFkZGluZztcbiAgICAgICAgbWFyZ2luOiAkYXV0b2NvbXBsZXRlX2l0ZW0tbWFyZ2luO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkYXV0b2NvbXBsZXRlX2l0ZW0tYm9yZGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhcjtcbiAgICAgICAgZm9udC1zaXplOiAkYXV0b2NvbXBsZXRlX2l0ZW0tZm9udC1zaXplO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGF1dG9jb21wbGV0ZV9pdGVtLWJhY2tncm91bmQtaG92ZXI7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLWltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiAkYXV0b2NvbXBsZXRlX2l0ZW0tdGh1bWJuYWlsLXdpZHRoO1xuICAgICAgICAgICAgaGVpZ2h0OiAkYXV0b2NvbXBsZXRlX2l0ZW0tdGh1bWJuYWlsLWhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZGV0YWlscyB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgLmYtZml4IHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRhdXRvY29tcGxldGVfaXRlbS1oZWlnaHQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1icmFuZCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRhdXRvY29tcGxldGVfaXRlbV9icmFuZC1mb250LXNpemU7XG4gICAgICAgICAgICBjb2xvcjogJGF1dG9jb21wbGV0ZV9pdGVtX2JyYW5kLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1uYW1lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGF1dG9jb21wbGV0ZV9pdGVtLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYXV0b2NvbXBsZXRlX2l0ZW0tbmFtZS1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYXV0b2NvbXBsZXRlX2l0ZW0tZm9udC13ZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLXByaWNlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMC4zcmVtIDAgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmljZS1ib3gge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgID4gLnByaWNlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYXV0b2NvbXBsZXRlX2l0ZW0tbm9ybWFsLXByaWNlLWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkYXV0b2NvbXBsZXRlX2l0ZW0tbm9ybWFsLXByaWNlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYXV0b2NvbXBsZXRlX2l0ZW0tcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgID4gLnByaWNlIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhdXRvY29tcGxldGVfaXRlbS1vbGQtcHJpY2UtdGV4dC1kZWNvcmF0aW9uO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYXV0b2NvbXBsZXRlX2l0ZW0tb2xkLXByaWNlLWNvbG9yO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGF1dG9jb21wbGV0ZV9pdGVtLW9sZC1wcmljZS1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRhdXRvY29tcGxldGVfaXRlbS1vbGQtcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3BlY2lhbC1wcmljZSB7XG4gICAgICAgICAgICA+IC5wcmljZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRhdXRvY29tcGxldGVfaXRlbS1zcGVjaWFsLXByaWNlLWNvbG9yO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGF1dG9jb21wbGV0ZV9pdGVtLXNwZWNpYWwtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYXV0b2NvbXBsZXRlX2l0ZW0tc3BlY2lhbC1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5taW5pbWFsLXByaWNlLWxpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGF1dG9jb21wbGV0ZV9pdGVtX2Rpc3BsYXktb2xkLXByaWNlLWZpcnN0KSB7XG4gICAgICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogLTE7XG5cbiAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIC5zcGVjaWFsLXByaWNlIHtcbiAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFkZ2VzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgfVxuXG4gICAgJl9fYmFkZ2Uge1xuICAgICAgICBAaW5jbHVkZSBiYWRnZSgpO1xuXG4gICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wb3B1bGFyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUoJ3BvcHVsYXInKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JhZGdlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oJ3BvcHVsYXInKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWZyZWUtc2hpcHBpbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2VfdHlwZSgnZnJlZS1zaGlwcGluZycpO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbignZnJlZS1zaGlwcGluZycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGJhZGdlX3NwYW4oKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZScpIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hdXRvY29tcGxldGUtbGlzdCB7XG4gICAgbWFyZ2luOiAtMXB4IDAgMXJlbTtcbiAgICBib3JkZXItdG9wOiAkYXV0b2NvbXBsZXRlX2xpc3QtYm9yZGVyO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuYW1vdW50IHtcbiAgICAgICAgY29sb3I6ICRhdXRvY29tcGxldGVfaXRlbS1xdWFudGl0eS1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkYXV0b2NvbXBsZXRlX2l0ZW0tZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGF1dG9jb21wbGV0ZV9pdGVtLWZvbnQtd2VpZ2h0O1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuXG4gICAgICAgICY6bm90KDplbXB0eSkge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyknO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJygnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYXV0b2NvbXBsZXRlLWxpc3QtdGl0bGUge1xuICAgIHBhZGRpbmc6ICRhdXRvY29tcGxldGVfdGl0bGUtcGFkZGluZztcbiAgICBib3JkZXItYm90dG9tOiAkYXV0b2NvbXBsZXRlX3RpdGxlLWJvcmRlcjtcbiAgICBjb2xvcjogJGF1dG9jb21wbGV0ZV90aXRsZS1jb2xvcjtcbiAgICBmb250LXdlaWdodDogJGF1dG9jb21wbGV0ZV90aXRsZS1mb250LXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogJGF1dG9jb21wbGV0ZV90aXRsZS1mb250LXNpemU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBtYXJnaW46ICRhdXRvY29tcGxldGVfdGl0bGUtbWFyZ2luO1xuXG4gICAgJjpob3ZlcixcbiAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjpub3QoOmVtcHR5KSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UvaG9vayc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kYmFkZ2VfZm9udC1zaXplOiAxLjNyZW0gIWRlZmF1bHQ7XG4kYmFkZ2VfZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcbiRiYWRnZV9oZWlnaHQ6IDJlbSAhZGVmYXVsdDtcbiRiYWRnZV9wYWRkaW5nOiAxMHB4IDE1cHggMTBweCAyNXB4ICFkZWZhdWx0O1xuJGJhZGdlX2JvcmRlcjogMCAhZGVmYXVsdDtcbiRiYWRnZV9ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xuJGJhZGdlX3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG5cbiRiYWRnZV90cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG4kYmFkZ2Vfc3Bhbi10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG5cbiRiYWRnZS0tZGVmYXVsdC1iYWNrZ3JvdW5kOiAkY29sb3JfbWFpbl9fYnJhbmQgIWRlZmF1bHQ7XG4kYmFkZ2UtLWRlZmF1bHQtY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcblxuJGJhZGdlLS1uZXctYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktZ3JlZW4gIWRlZmF1bHQ7XG4kYmFkZ2UtLW5ldy1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuXG4kYmFkZ2UtLWRpc2NvdW50LWJhY2tncm91bmQ6ICRjb2xvcl9tYWluX19icmFuZCAhZGVmYXVsdDtcbiRiYWRnZS0tZGlzY291bnQtY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcblxuJGJhZGdlLS1zYWxlLWJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5LXJlZCAhZGVmYXVsdDtcbiRiYWRnZS0tc2FsZS1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuXG4kYmFkZ2UtLWZyZWUtYmFja2dyb3VuZDogJGNvbG9yX3N1Y2Nlc3MtNTAwICFkZWZhdWx0O1xuJGJhZGdlLS1mcmVlLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG5cbiRiYWRnZS0tZnJlZS1zaGlwcGluZy1iYWNrZ3JvdW5kOiAkY29sb3Jfc3VjY2Vzcy01MDAgIWRlZmF1bHQ7XG4kYmFkZ2UtLWZyZWUtc2hpcHBpbmctY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcblxuJGJhZGdlLS1wb3B1bGFyLWJhY2tncm91bmQ6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcbiRiYWRnZS0tcG9wdWxhci1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuXG4kYmFkZ2UtLXJlY2VudGx5LWJvdWdodC1iYWNrZ3JvdW5kOiAkY29sb3Jfc3VjY2Vzcy01MDAgIWRlZmF1bHQ7XG4kYmFkZ2UtLXJlY2VudGx5LWJvdWdodC1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuXG4kYmFkZ2UtLWRhaWx5ZGVhbC1iYWNrZ3JvdW5kOiAkY29sb3JfZXJyb3ItNTAwICFkZWZhdWx0O1xuJGJhZGdlLS1kYWlseWRlYWwtY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcblxuJGJhZGdlLS10b3AtYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGJhZGdlLS10b3AtY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcblxuQG1peGluIGJhZGdlKCR0eXBlOiAnZGVmYXVsdCcpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06ICRiYWRnZV90cmFuc2Zvcm07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS0tZGVmYXVsdC1jb2xvcjtcbiAgICBib3JkZXI6ICRiYWRnZV9ib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJGJhZGdlX2JvcmRlci1yYWRpdXM7XG4gICAgcGFkZGluZzogJGJhZGdlX3BhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkYmFkZ2VfZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkYmFkZ2VfZm9udC13ZWlnaHQ7XG4gICAgbWluLWhlaWdodDogJGJhZGdlX2hlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGJhZGdlX3RleHQtdHJhbnNmb3JtO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDI1cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMjVweDtcbiAgICBtYXgtd2lkdGg6IDEyNXB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA4OHB4O1xuICAgICAgICBwYWRkaW5nOiA4cHggMTNweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBiYWRnZV9ob29rKCR0eXBlKTtcbn1cblxuQG1peGluIGJhZGdlX3R5cGUoJHR5cGU6ICdkZWZhdWx0Jykge1xuICAgIEBpZiAoJHR5cGUgPT0gJ25ldycpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS1uZXctYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRiYWRnZS0tbmV3LWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ2ZyZWUnKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS0tZnJlZS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGJhZGdlLS1mcmVlLWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ2ZyZWUtc2hpcHBpbmcnKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS0tZnJlZS1zaGlwcGluZy1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGJhZGdlLS1mcmVlLXNoaXBwaW5nLWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ3BvcHVsYXInKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS0tcG9wdWxhci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGJhZGdlLS1wb3B1bGFyLWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ2Rpc2NvdW50Jykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFkZ2UtLWRpc2NvdW50LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkYmFkZ2UtLWRpc2NvdW50LWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ3NhbGUnKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS0tc2FsZS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGJhZGdlLS1zYWxlLWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ3JlY2VudGx5LWJvdWdodCcpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS1yZWNlbnRseS1ib3VnaHQtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRiYWRnZS0tcmVjZW50bHktYm91Z2h0LWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ2RhaWx5ZGVhbCcpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhZGdlLS1kYWlseWRlYWwtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRiYWRnZS0tZGFpbHlkZWFsLWNvbG9yO1xuICAgIH1cblxuICAgIEBpZiAoJHR5cGUgPT0gJ2RhaWx5ZGVhbC1wZHAnKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS0tZGFpbHlkZWFsLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkYmFkZ2UtLWRhaWx5ZGVhbC1jb2xvcjtcbiAgICB9XG5cbiAgICBAaWYgKCR0eXBlID09ICd0b3AnKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS0tdG9wLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkYmFkZ2UtLXRvcC1jb2xvcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBiYWRnZV90eXBlLWhvb2soJHR5cGUpO1xufVxuXG5AbWl4aW4gYmFkZ2Vfc3BhbigkdHlwZTogJ2RlZmF1bHQnKSB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICB0cmFuc2Zvcm06ICRiYWRnZV9zcGFuLXRyYW5zZm9ybTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICYgKyAmIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBiYWRnZV9zcGFuLWhvb2soJHR5cGUpO1xufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLmNzLWJyZWFkY3J1bWJzIHtcbiAgcGFkZGluZy10b3A6IDEuM3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuM3JlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jcy1icmVhZGNydW1icyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLmNzLWJyZWFkY3J1bWJzX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5jcy1icmVhZGNydW1ic19faXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAxLjk1ZW0gMCAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5jcy1icmVhZGNydW1ic19faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogIzZFNkU2RTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgIC5jcy1icmVhZGNydW1ic19faXRlbTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDAuOGVtO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogNXB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogI0ZGNDYwNDtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9hcnJvdy1yaWdodEAxeC5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDVweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cbiAgLmNzLWJyZWFkY3J1bWJzX19saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAjRkY0NjA0OyB9XG4gICAgLmNzLWJyZWFkY3J1bWJzX19saW5rOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAuY3MtYnJlYWRjcnVtYnNfX2xpbms6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAuY3MtYnJlYWRjcnVtYnNfX2xpbms6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZDogI0ZGNDYwNDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jcy1icmVhZGNydW1ic19fbGluazp2aXNpdGVkOmhvdmVyLCAuY3MtYnJlYWRjcnVtYnNfX2xpbms6aG92ZXIge1xuICAgICAgY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgIC5jcy1icmVhZGNydW1ic19fbGluazp2aXNpdGVkOmhvdmVyOmFmdGVyLCAuY3MtYnJlYWRjcnVtYnNfX2xpbms6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkY0NjA0OyB9XG4gIC5jcy1icmVhZGNydW1ic19fc2VwYXJhdG9yLWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMC41ZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiAwLjhlbTtcbiAgICBoZWlnaHQ6IDAuOGVtO1xuICAgIGZpbGw6ICNGRjQ2MDQ7IH1cbiIsIi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuXG5AbWl4aW4gcmVzZXQtbGlzdC1zdHlsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL3Jlc2V0LWxpc3Qtc3R5bGUnO1xuQGltcG9ydCAnZXRjL3ZpZXcuc2Nzcyc7XG5AaW1wb3J0ICd1dGlscy9kZWVwLWdldC9kZWVwLWdldC5zY3NzJztcblxuJGJyZWFkY3J1bWJzX3NlcGFyYXRvci1jdXN0b20tZGF0YTogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIHZhcnMsXG4gICAgTWFnZW50b19UaGVtZSxcbiAgICBicmVhZGNydW1icyxcbiAgICBjdXN0b21fc2VwYXJhdG9yXG4pICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzX3NlcGFyYXRvci1jdXN0b20tc2hvdzogI3ttYXAtZ2V0KFxuICAgICAgICAkYnJlYWRjcnVtYnNfc2VwYXJhdG9yLWN1c3RvbS1kYXRhLFxuICAgICAgICBkaXNwbGF5XG4gICAgKX0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1ic19iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRicmVhZGNydW1ic19iYWNrZ3JvdW5kLWltYWdlOiBub25lICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzX2JhY2tncm91bmQ6ICRicmVhZGNydW1ic19iYWNrZ3JvdW5kLWNvbG9yXG4gICAgJGJyZWFkY3J1bWJzX2JhY2tncm91bmQtaW1hZ2Ugbm8tcmVwZWF0IHJpZ2h0IC8gYXV0byA2LjhyZW0gIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1ic19pdGVtLWZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWJzX2l0ZW0tY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRicmVhZGNydW1ic19pdGVtLWhvdmVyLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnNfaXRlbS12aXNpdGVkLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnNfbGFzdC1pdGVtLWNvbG9yOiAkY29sb3JfZ3JheSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWJzX3NlcGFyYXRvci1jb2xvcjogJGJyZWFkY3J1bWJzX2l0ZW0tY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYnNfc2VwYXJhdG9yLWNvbnRlbnQ6ICdcXDIwNDQnICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYnNfdmVydGljYWwtc3BhY2U6IDEuM3JlbSAhZGVmYXVsdDtcblxuLiN7JG5zfWJyZWFkY3J1bWJzIHtcbiAgICAkcm9vdDogJjtcbiAgICBwYWRkaW5nLXRvcDogJGJyZWFkY3J1bWJzX3ZlcnRpY2FsLXNwYWNlO1xuICAgIHBhZGRpbmctYm90dG9tOiAkYnJlYWRjcnVtYnNfdmVydGljYWwtc3BhY2U7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCAxLjk1ZW0gMCAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzX2l0ZW0tZm9udC1zaXplO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgY29sb3I6ICRicmVhZGNydW1ic19sYXN0LWl0ZW0tY29sb3I7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICByaWdodDogMC44ZW07XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnNfc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2Fycm93LXJpZ2h0QDF4LnN2Z1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGJyZWFkY3J1bWJzX3NlcGFyYXRvci1jdXN0b20tc2hvdyAhPSAnJykge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6ICRicmVhZGNydW1ic19pdGVtLWNvbG9yO1xuXG4gICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzX2l0ZW0tdmlzaXRlZC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICRicmVhZGNydW1ic19pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnJlYWRjcnVtYnNfaXRlbS1jb2xvcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgICY6dmlzaXRlZDpob3ZlcixcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzX2l0ZW0taG92ZXItY29sb3I7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRicmVhZGNydW1ic19pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VwYXJhdG9yLWljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogMC41ZW07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgd2lkdGg6IDAuOGVtO1xuICAgICAgICBoZWlnaHQ6IDAuOGVtO1xuICAgICAgICBmaWxsOiAkYnJlYWRjcnVtYnNfc2VwYXJhdG9yLWNvbG9yO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLmNzLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgcGFkZGluZzogOHB4IDI1cHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7IH1cbiAgLmNzLWJ1dHRvbi5tZWRpdW0ge1xuICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAuY3MtYnV0dG9uLmxhcmdlIHtcbiAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgLmNzLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1idXR0b24sIC5jcy1idXR0b246dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gICAgLmNzLWJ1dHRvbiAqLCAuY3MtYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmNzLWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNzQ0MjsgfVxuICAgIC5jcy1idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAuY3MtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC42NTtcbiAgICBjdXJzb3I6IGF1dG87IH1cbiAgLmNzLWJ1dHRvbl9fc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHBhZGRpbmctcmlnaHQ6IDRlbTsgfVxuICAuY3MtYnV0dG9uX19pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHJpZ2h0OiAxZW07IH1cblxuLmNzLWJ1dHRvbi1jb21wb25lbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gIHBhZGRpbmc6IDhweCAyNXB4O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB6LWluZGV4OiA1O1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yO1xuICBtYXJnaW46IDAgMCAzcmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50Lm1lZGl1bSB7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50LmxhcmdlIHtcbiAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudCwgLmNzLWJ1dHRvbi1jb21wb25lbnQ6dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gICAgLmNzLWJ1dHRvbi1jb21wb25lbnQgKiwgLmNzLWJ1dHRvbi1jb21wb25lbnQ6dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1idXR0b24tY29tcG9uZW50OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWJ1dHRvbi1jb21wb25lbnQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3NDQyOyB9XG4gICAgLmNzLWJ1dHRvbi1jb21wb25lbnQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1idXR0b24tY29tcG9uZW50OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtYnV0dG9uLWNvbXBvbmVudDphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50W2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC42NTtcbiAgICBjdXJzb3I6IGF1dG87IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtYnV0dG9uLWNvbXBvbmVudCB7XG4gICAgICBtYXJnaW46IDAgMCA0cmVtOyB9IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnQtLXNraXAtc3BhY2luZyB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50X19zcGFuIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgcGFkZGluZy1yaWdodDogNGVtOyB9XG4gIC5jcy1idXR0b24tY29tcG9uZW50X19pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHJpZ2h0OiAxZW07IH1cbiAgLmNzLWJ1dHRvbi1jb21wb25lbnRfX2Ftb3VudDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcoJzsgfVxuICAuY3MtYnV0dG9uLWNvbXBvbmVudF9fYW1vdW50OmFmdGVyIHtcbiAgICBjb250ZW50OiAnKSc7IH1cblxuLmJ1dHRvbi5zZWNvbmRhcnkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gIHBhZGRpbmc6IDhweCAyNXB4O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB6LWluZGV4OiA1O1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5Lm1lZGl1bSB7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5LmxhcmdlIHtcbiAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSwgLmJ1dHRvbi5zZWNvbmRhcnk6dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnkgKiwgLmJ1dHRvbi5zZWNvbmRhcnk6dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI0ZGNDYwNDsgfVxuICAuYnV0dG9uLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmJ1dHRvbi5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0UzRTNFOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuYnV0dG9uLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC42NTtcbiAgICBjdXJzb3I6IGF1dG87IH1cblxuLmJ1dHRvbi5wcmltYXJ5IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICBwYWRkaW5nOiA4cHggMjVweDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogNTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxNnB4OyB9XG4gIC5idXR0b24ucHJpbWFyeS5tZWRpdW0ge1xuICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAuYnV0dG9uLnByaW1hcnkubGFyZ2Uge1xuICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAuYnV0dG9uLnByaW1hcnk6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuYnV0dG9uLnByaW1hcnksIC5idXR0b24ucHJpbWFyeTp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAuYnV0dG9uLnByaW1hcnkgKiwgLmJ1dHRvbi5wcmltYXJ5OnZpc2l0ZWQgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmJ1dHRvbi5wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNzQ0MjsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuYnV0dG9uLnByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGN1cnNvcjogYXV0bzsgfVxuXG4uaWNvbl9fYXJyb3ctcm91bmQtcmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaWNvbl9fYXJyb3ctcm91bmQtcmlnaHQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9hcnJvd0AxeC5zdmdcIikgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgd2lkdGg6IDI3cHg7XG4gICAgaGVpZ2h0OiAyN3B4O1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG5cbi5pY29uX19hcnJvdy1yb3VuZC1sZWZ0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmljb25fX2Fycm93LXJvdW5kLWxlZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvYXJyb3dsZWZ0QDF4LnN2Z1wiKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB3aWR0aDogMjdweDtcbiAgICBoZWlnaHQ6IDI3cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG5cbi5saW5rcy1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgIC5saW5rcy1saXN0IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuICAubGlua3MtbGlzdF9faXRlbSB7XG4gICAgZmxleDogMSAxOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5saW5rcy1saXN0X19pdGVtIHtcbiAgICAgICAgZmxleDogMSAxIDUwJTtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLmxpbmtzLWxpc3RfX2xpbmsge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG4gICAgcGFkZGluZzogMjBweCAxMHB4OyB9XG4gICAgLmxpbmtzLWxpc3RfX2xpbms6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAubGlua3MtbGlzdF9fbGluayB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5saW5rcy1saXN0X19saW5rOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDIxcHg7XG4gICAgICAgIGhlaWdodDogMjFweDtcbiAgICAgICAgbWluLXdpZHRoOiAyMXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogOHB4OyB9IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndXRpbHMvY29tcG9uZW50LXNwYWNpbmcnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5cbiRidXR0b24tZmFsbGJhY2tfdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kYnV0dG9uLWZhbGxiYWNrX2ljb24tcG9zOiAkYnV0dG9uX2RlZmF1bHQtaWNvbi1wb3MgIWRlZmF1bHQ7XG5cbiRidXR0b24tY29tcG9uZW50X3R5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJGJ1dHRvbi1jb21wb25lbnRfaWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcbiRidXR0b24tY29tcG9uZW50X2hvcml6b250YWwtcG9zaXRpb246IDUwJSAhZGVmYXVsdDtcbiRidXR0b24tY29tcG9uZW50X2hvcml6b250YWwtdHJhbnNsYXRpb246IHRyYW5zbGF0ZVgoLTUwJSkgIWRlZmF1bHQ7XG5cbi4jeyRuc31idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgJHR5cGU6ICRidXR0b24tZmFsbGJhY2tfdHlwZSxcbiAgICAgICAgJGljb25fcG9zOiAkYnV0dG9uLWZhbGxiYWNrX2ljb24tcG9zXG4gICAgKTtcblxuICAgICZfX3NwYW4ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICR0eXBlOiAkYnV0dG9uLWZhbGxiYWNrX3R5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRidXR0b24tZmFsbGJhY2tfaWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAkdHlwZTogJGJ1dHRvbi1mYWxsYmFja190eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYnV0dG9uLWZhbGxiYWNrX2ljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxufVxuXG4uI3skbnN9YnV0dG9uLWNvbXBvbmVudCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAkdHlwZTogJGJ1dHRvbi1jb21wb25lbnRfdHlwZSxcbiAgICAgICAgJGljb25fcG9zOiAkYnV0dG9uLWNvbXBvbmVudF9pY29uLXBvc1xuICAgICk7XG4gICAgQGluY2x1ZGUgY29tcG9uZW50LXNwYWNpbmcoKTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAkYnV0dG9uLWNvbXBvbmVudF9ob3Jpem9udGFsLXBvc2l0aW9uO1xuICAgIHRyYW5zZm9ybTogJGJ1dHRvbi1jb21wb25lbnRfaG9yaXpvbnRhbC10cmFuc2xhdGlvbjtcblxuICAgICZfX3NwYW4ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICR0eXBlOiAkYnV0dG9uLWNvbXBvbmVudF90eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYnV0dG9uLWNvbXBvbmVudF9pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICR0eXBlOiAkYnV0dG9uLWNvbXBvbmVudF90eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkYnV0dG9uLWNvbXBvbmVudF9pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2Ftb3VudCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcoJztcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcpJztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJ1dHRvbiB7XG4gICAgJi5zZWNvbmRhcnkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAkaWNvbl9wb3M6IG51bGwsXG4gICAgICAgICAgICAkdGV4dF90cmFuc2Zvcm06IHVwcGVyY2FzZSxcbiAgICAgICAgICAgICRib3JkZXItcmFkaXVzOiAyNXB4XG4gICAgICAgICk7XG4gICAgfVxuICAgICYucHJpbWFyeSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAncHJpbWFyeScsXG4gICAgICAgICAgICAkaWNvbl9wb3M6IG51bGwsXG4gICAgICAgICAgICAkdGV4dF90cmFuc2Zvcm06IHVwcGVyY2FzZSxcbiAgICAgICAgICAgICRib3JkZXItcmFkaXVzOiAyNXB4XG4gICAgICAgICk7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICB9XG59XG5cbi5pY29uX19hcnJvdy1yb3VuZC1yaWdodCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvYXJyb3dAMXguc3ZnXCIpIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAyN3B4O1xuICAgICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIH1cbn1cblxuLmljb25fX2Fycm93LXJvdW5kLWxlZnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9hcnJvd2xlZnRAMXguc3ZnXCIpIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAyN3B4O1xuICAgICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICB9XG59XG5cblxuLmxpbmtzLWxpc3Qge1xuICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgZmxleDogMSAxO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSA1MCU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9ibGFjaztcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG5cbiAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfYmxhY2s7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjFweDtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDIxcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbmZpZy9icmVha3BvaW50cyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG5AbWl4aW4gY29tcG9uZW50LXNwYWNpbmcoJG1hcmdpbnMtY29uZmlnOiAkY29tcG9uZW50LXNwYWNpbmctY29uZmlndXJhdGlvbikge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkbWFyZ2lucy1jb25maWcsIGRlZmF1bHQpIHtcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRtYXJnaW5zLWNvbmZpZywgZGVmYXVsdCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIERlZmF1bHQgY29tcG9uZW50IG1hcmdpbiB2YWx1ZVxuICAgICAgICBtYXJnaW46IDAgMCAzcmVtO1xuICAgIH1cblxuICAgIEBpZiBtYXAtaGFzLWtleSgkbWFyZ2lucy1jb25maWcsIHJlc3BvbnNpdmUpIHtcbiAgICAgICAgLy8gQWRkaW5nIG1hcmdpbiBydWxlcyBmb3IgZWFjaCBwYXNzZWQgYnJlYWtwb2ludFxuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJG1hcmdpbiBpbiBtYXAtZ2V0KCRtYXJnaW5zLWNvbmZpZywgcmVzcG9uc2l2ZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoI3skYnJlYWtwb2ludH0pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRtYXJnaW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1za2lwLXNwYWNpbmcge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBNaXhpbnMgZm9yIGZsZXhpYmxlIGNvbnRhaW5lcnMgZGVjbGFyYXRpb24uXG4gKi9cbi8qKlxuICogRGVmaW5lcyBwYWdlIGNvbnRhaW5lci4gVGhpcyBtaXhpbiBtYWtlcyBzdXJlIHRoYXQgdGhlIGNvbnRlbnQgaGFzIGFsd2F5cyBlcXVhbCBwYWRkaW5nXG4gKiBmb3IgbW9iaWxlIHNjcmVlbnMgb24gYm90aCBzaXplIG9mIHRoZSBkZXZpY2UuXG4gKi9cbi8qKlxuICogTmVnYXRlcyBwYXJlbnQgY29udGFpbmVyJ3MgcGFkZGluZyBhbmQgc2V0cyBpdCBvd24uXG4gKiBTb21ldGhpbWVzIHRoaXMgaGFzIHRvIGJlIGRvbmUgdG8gbWFrZSBiYWNrZ3JvdW5kIGV2ZW4gdG8gb3RoZXIgY29udGFpbmVycycgY29udGVudC5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGNvbnRhaW5lciB3cmFwcGVyIHRoYXQgbWFrZXMgc3VyZSBjb250bmV0IGRvZXNuJ3QgZXh0ZW5kIGFib3ZlIGNlcnRhaW4gd2lkdGggYW5kIGlzIGFsd2F5cyBjZW50ZXJlZC5cbiAqL1xuYm9keS5jbXMtbm8tcm91dGUgLmNzLWNvbnRhaW5lcl9faW5uZXIgaDEsIGJvZHkuY21zLW5vLXJvdXRlIC5jcy1jb250YWluZXJfX3Jldmlld3MgaDEge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC1mYW1pbHk6IDI4cHg7XG4gIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG5cbmJvZHkuY21zLW5vLXJvdXRlIC5jcy1jb250YWluZXJfX2lubmVyIGgyLCBib2R5LmNtcy1uby1yb3V0ZSAuY3MtY29udGFpbmVyX19yZXZpZXdzIGgyLCBib2R5LmNtcy1uby1yb3V0ZSAuY3MtY29udGFpbmVyX19pbm5lciBoMywgYm9keS5jbXMtbm8tcm91dGUgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyBoMyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuYm9keS5jbXMtbm8tcm91dGUgLmNzLWNvbnRhaW5lcl9faW5uZXIgdWwuYnV0dG9ucy1zZXQsIGJvZHkuY21zLW5vLXJvdXRlIC5jcy1jb250YWluZXJfX3Jldmlld3MgdWwuYnV0dG9ucy1zZXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDIwcHggMCAwOyB9XG4gIGJvZHkuY21zLW5vLXJvdXRlIC5jcy1jb250YWluZXJfX2lubmVyIHVsLmJ1dHRvbnMtc2V0IGJ1dHRvbiwgYm9keS5jbXMtbm8tcm91dGUgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyB1bC5idXR0b25zLXNldCBidXR0b24ge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG5ib2R5LmNtcy1uby1yb3V0ZSAuY29sdW1ucyAuY29sdW1uLm1haW4ge1xuICBwYWRkaW5nOiA0NXB4IDE1cHggIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiAxMzhyZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIGJvZHkuY21zLW5vLXJvdXRlIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiBoMSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6IDI4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICBib2R5LmNtcy1uby1yb3V0ZSAuY29sdW1ucyAuY29sdW1uLm1haW4gaDIsIGJvZHkuY21zLW5vLXJvdXRlIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiBoMyB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIGJvZHkuY21zLW5vLXJvdXRlIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiB1bC5idXR0b25zLXNldCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDIwcHggMCAwOyB9XG4gICAgYm9keS5jbXMtbm8tcm91dGUgLmNvbHVtbnMgLmNvbHVtbi5tYWluIHVsLmJ1dHRvbnMtc2V0IGJ1dHRvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLmNzLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAuY3MtY29udGFpbmVyX19pbm5lciwgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyB7XG4gICAgbWF4LXdpZHRoOiAxMjRyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLWNvbnRhaW5lcl9faW5uZXI6YmVmb3JlLCAuY3MtY29udGFpbmVyX19yZXZpZXdzOmJlZm9yZSwgLmNzLWNvbnRhaW5lcl9faW5uZXI6YWZ0ZXIsIC5jcy1jb250YWluZXJfX3Jldmlld3M6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmNzLWNvbnRhaW5lcl9faW5uZXItLWZsZXgge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLWNvbnRhaW5lcl9faW5uZXItLWZsZXgge1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgICAgIC5jcy1jb250YWluZXJfX2lubmVyLS1mbGV4OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtY29udGFpbmVyX19hc2lkZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fYXNpZGUge1xuICAgICAgICB3aWR0aDogMzMlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fYXNpZGUge1xuICAgICAgICB3aWR0aDogMjQuOCU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19hc2lkZSB7XG4gICAgICAgIHdpZHRoOiAyNC44JTsgfSB9XG4gIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICB3aWR0aDogNTYlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiA2NSU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiA3MS40JTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX21haW4tY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDcxLjQlOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4ge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAucGFnZS1wcm9kdWN0LWJ1bmRsZSAuY3MtY29udGFpbmVyX19tYWluLWNvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fbWFpbi1jb2x1bW4tLXNwYWNlLXRvcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9IH1cbiAgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMnJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXJfX3Jldmlld3Mge1xuICAgICAgICBwYWRkaW5nOiAycmVtIDAgMDsgfSB9XG4gICAgLmNzLWNvbnRhaW5lcl9fcmV2aWV3czphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLmNzLWNvbnRhaW5lcl9fY2FydC1jb3Vwb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtY29udGFpbmVyX19jYXJ0LWNvdXBvbnMge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgLmNzLWNvbnRhaW5lci0tY29udHJhc3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWNvbnRhaW5lci0tY29udHJhc3Qge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYmFja2dyb3VuZC5wbmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH0gfVxuICAuY3MtY29udGFpbmVyLS10b3AtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLmNzLWNvbnRhaW5lci0tc3BhY2lvdXMge1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXItLXNwYWNpb3VzIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuY3MtY29udGFpbmVyLS1zcGFjaW91cyxcbiAgICAgIC5jYXRhbG9nc2VhcmNoLXJlc3VsdC1pbmRleCAuY3MtY29udGFpbmVyLS1zcGFjaW91cyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgLmNzLWNvbnRhaW5lci0taW1hZ2UtdGVhc2VyLXdpbmRvdy13aWR0aCwgLmNzLWNvbnRhaW5lci0tc3RvcmUtbG9jYXRvciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmNzLWNvbnRhaW5lci0tZ3JpZC10ZWFzZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmNzLWNvbnRhaW5lci0taGVyby10ZWFzZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmNzLWNvbnRhaW5lci0tbm9zY3JvbGwge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtY29udGFpbmVyLS1wZHAge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAuY3MtY29udGFpbmVyLS11c3BzIC5jcy1jb250YWluZXItLWhlYWRsaW5lIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jcy1jb250YWluZXItLWNyZWF0ZS1hY2NvdW50LXBhZ2UsIC5jcy1jb250YWluZXItLWxvZ2luLXBhZ2UsIC5jcy1jb250YWluZXItLXN1Y2Nlc3MtcGFnZSwgLmNzLWNvbnRhaW5lci0tbG9nb3V0LXBhZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1jb250YWluZXItLWNyZWF0ZS1hY2NvdW50LXBhZ2UsIC5jcy1jb250YWluZXItLWxvZ2luLXBhZ2UsIC5jcy1jb250YWluZXItLXN1Y2Nlc3MtcGFnZSwgLmNzLWNvbnRhaW5lci0tbG9nb3V0LXBhZ2Uge1xuICAgICAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDhyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLWNvbnRhaW5lci0tbXktYWNjb3VudC1wYWdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH0gfVxuICAuY3MtY29udGFpbmVyLS1vbnRvcCB7XG4gICAgei1pbmRleDogMzAxOyB9XG4gIC5jcy1jb250YWluZXItLXZpZXdwb3J0LXdpZHRoIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAuY3MtY29udGFpbmVyLS1wYWdlLXBkcC1kZXRhaWxzLWF3X3BxX2FqYXhfY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuY3MtY29udGFpbmVyLS1jYXJ0LXBhZ2UgLmNzLWNvbnRhaW5lci0tcHJvZHVjdHMtY2Fyb3VzZWwge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5jcy1jb250YWluZXItLWNhcnQtcGFnZSAuY3MtY29udGFpbmVyLS1oZWFkbGluZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmNzLWNvbnRhaW5lci0tY21zLXRlYXNlciB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIGFuZCAoZ3JpZC1hdXRvLWZsb3c6IHJvdykge1xuICAgIC5jcy1jb250YWluZXItLWdyaWQtdGVhc2VyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9IH1cblxuLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWJyZWFkY3J1bWJzIHtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9XG5cbi5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jbXMtY29udGFjdC1mb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW46IDIwcHggMCA4MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNtcy1jb250YWN0LWZvcm0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbjogMjBweCAwIDQ1cHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyB7XG4gICAgcGFkZGluZzogMCAxNXB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtZm9ybSwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1mb3JtIHtcbiAgICBmbGV4OiAxIDEgNjglOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtZm9ybSwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1mb3JtIHtcbiAgICBvcmRlcjogMjsgfSB9XG5cbi5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWZvcm0gZmllbGRzZXQuZmllbGRzZXQsIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtZm9ybSBmaWVsZHNldC5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1mb3JtIGZpZWxkc2V0LmZpZWxkc2V0IGgzLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWZvcm0gZmllbGRzZXQuZmllbGRzZXQgaDMge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWZvcm0gZmllbGRzZXQuZmllbGRzZXQgaDMsIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtZm9ybSBmaWVsZHNldC5maWVsZHNldCBoMyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfSB9XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWZvcm0gZmllbGRzZXQuZmllbGRzZXQgPiBzcGFuLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWZvcm0gZmllbGRzZXQuZmllbGRzZXQgPiBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtZm9ybSAuZm9ybSAuZmllbGQgKyAuZmllbGQsIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtZm9ybSAuZm9ybSAuZmllbGQgKyAuZmllbGQge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0MC4wMWVtKSB7XG4gIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWZvcm0gLmZsZXgtcm93LCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWZvcm0gLmZsZXgtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDAuMDFlbSkge1xuICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1mb3JtIC5mbGV4LXJvdyAuZmllbGQsIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtZm9ybSAuZmxleC1yb3cgLmZpZWxkIHtcbiAgICBmbGV4OiAxIDEgNDglOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQwLjAxZW0pIHtcbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtZm9ybSAuZmxleC1yb3cgLmZpZWxkOmxhc3QtY2hpbGQsIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtZm9ybSAuZmxleC1yb3cgLmZpZWxkOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9IH1cblxuLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtZm9ybSAucHJpbWFyeSwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1mb3JtIC5wcmltYXJ5IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtYWRkcmVzcywgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1hZGRyZXNzIHtcbiAgYmFja2dyb3VuZDogI0Y0RjRGNDtcbiAgcGFkZGluZzogMjBweCAyNXB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtYWRkcmVzcywgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1hZGRyZXNzIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTVweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtYWRkcmVzcywgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1hZGRyZXNzIHtcbiAgICAgIG9yZGVyOiAxO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9IH1cbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtYWRkcmVzc19faXRlbSwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1hZGRyZXNzX19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1hZGRyZXNzX19pdGVtLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWFkZHJlc3NfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9IH1cbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtYWRkcmVzcyBwLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWFkZHJlc3MgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtYWRkcmVzcyBwLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWFkZHJlc3MgcCxcbiAgICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1hZGRyZXNzIHNwYW4sXG4gICAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1hZGRyZXNzIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07IH0gfVxuICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1hZGRyZXNzIC5pY29uLXRleHQsIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtYWRkcmVzcyAuaWNvbi10ZXh0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX2lubmVyIC5jb250YWN0LWFkZHJlc3MgLmljb24tdGV4dDpiZWZvcmUsIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtYWRkcmVzcyAuaWNvbi10ZXh0OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwcHggMTVweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogNXB4O1xuICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICBoZWlnaHQ6IDE1cHg7IH1cbiAgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9faW5uZXIgLmNvbnRhY3QtYWRkcmVzcyAuaWNvbi1sb2NhdGlvbjpiZWZvcmUsIC5jb250YWN0LWluZGV4LWluZGV4IC5jcy1jb250YWluZXJfX3Jldmlld3MgLmNvbnRhY3QtYWRkcmVzcyAuaWNvbi1sb2NhdGlvbjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9tYXAtcGluLnN2Z1wiKTsgfVxuICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1hZGRyZXNzIC5pY29uLXBob25lOmJlZm9yZSwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1hZGRyZXNzIC5pY29uLXBob25lOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3Bob25lLWRhcmsuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1hZGRyZXNzIC5pY29uLWVtYWlsOmJlZm9yZSwgLmNvbnRhY3QtaW5kZXgtaW5kZXggLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyAuY29udGFjdC1hZGRyZXNzIC5pY29uLWVtYWlsOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL2VtYWlsQDF4LnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgd2lkdGg6IDE3cHg7XG4gICAgdG9wOiA2cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19pbm5lciAuY29udGFjdC1hZGRyZXNzLCAuY29udGFjdC1pbmRleC1pbmRleCAuY3MtY29udGFpbmVyX19yZXZpZXdzIC5jb250YWN0LWFkZHJlc3Mge1xuICAgICAgZmxleDogMSAxIDMzJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4LjAxZW0pIHtcbiAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93IC5jb2x1bW5zIC5jcy1jb250YWluZXItLWJyYW5kLWNhcm91c2VsLFxuICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aCAuY29sdW1ucyAuY3MtY29udGFpbmVyLS1icmFuZC1jYXJvdXNlbCxcbiAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtMWNvbHVtIC5jb2x1bW5zIC5jcy1jb250YWluZXItLWJyYW5kLWNhcm91c2VsIHtcbiAgICBtYXJnaW4tdG9wOiA0NXB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93IC5jb2x1bW5zIC5jcy1jb250YWluZXItLWJyYW5kLWNhcm91c2VsLFxuICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aCAuY29sdW1ucyAuY3MtY29udGFpbmVyLS1icmFuZC1jYXJvdXNlbCxcbiAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtMWNvbHVtIC5jb2x1bW5zIC5jcy1jb250YWluZXItLWJyYW5kLWNhcm91c2VsIHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4OyB9IH1cblxuLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93IC5jcy1jb250YWluZXItLWJyZWFkY3J1bWJzIC5jcy1icmVhZGNydW1icyxcbi5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoIC5jcy1jb250YWluZXItLWJyZWFkY3J1bWJzIC5jcy1icmVhZGNydW1icyxcbi5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LTFjb2x1bSAuY3MtY29udGFpbmVyLS1icmVhZGNydW1icyAuY3MtYnJlYWRjcnVtYnMge1xuICBwYWRkaW5nLXRvcDogMS41cmVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93IC5jcy1jb250YWluZXItLWJyZWFkY3J1bWJzIC5jcy1icmVhZGNydW1icyxcbiAgICAuY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aCAuY3MtY29udGFpbmVyLS1icmVhZGNydW1icyAuY3MtYnJlYWRjcnVtYnMsXG4gICAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtMWNvbHVtIC5jcy1jb250YWluZXItLWJyZWFkY3J1bWJzIC5jcy1icmVhZGNydW1icyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cblxuLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93IC5jb2x1bW5zIC5jb2x1bW4ubWFpbixcbi5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoIC5jb2x1bW5zIC5jb2x1bW4ubWFpbixcbi5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LTFjb2x1bSAuY29sdW1ucyAuY29sdW1uLm1haW4ge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDguMDFlbSkge1xuICAgIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvdyAuY29sdW1ucyAuY29sdW1uLm1haW4sXG4gICAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGggLmNvbHVtbnMgLmNvbHVtbi5tYWluLFxuICAgIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LTFjb2x1bSAuY29sdW1ucyAuY29sdW1uLm1haW4ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvdyAuY29sdW1ucyAuY29sdW1uLm1haW4sXG4gICAgLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGggLmNvbHVtbnMgLmNvbHVtbi5tYWluLFxuICAgIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LTFjb2x1bSAuY29sdW1ucyAuY29sdW1uLm1haW4ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7IH0gfVxuXG4uY21zLXBhZ2Utdmlldy5wYWdlLWxheW91dC1jbXMtZnVsbC13aWR0aC1uYXJyb3cgLmNzLWNvbnRhaW5lci0tYnJlYWRjcnVtYnMgLmNzLWNvbnRhaW5lcl9faW5uZXIsIC5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvdyAuY3MtY29udGFpbmVyLS1icmVhZGNydW1icyAuY3MtY29udGFpbmVyX19yZXZpZXdzLFxuLmNtcy1wYWdlLXZpZXcucGFnZS1sYXlvdXQtY21zLWZ1bGwtd2lkdGgtbmFycm93IC5jb2x1bW5zIC5jcy1jb250YWluZXI6bm90KC5jcy1jb250YWluZXItLWJyYW5kLWNhcm91c2VsKSAuY3MtY29udGFpbmVyX19pbm5lcixcbi5jbXMtcGFnZS12aWV3LnBhZ2UtbGF5b3V0LWNtcy1mdWxsLXdpZHRoLW5hcnJvdyAuY29sdW1ucyAuY3MtY29udGFpbmVyOm5vdCguY3MtY29udGFpbmVyLS1icmFuZC1jYXJvdXNlbCkgLmNzLWNvbnRhaW5lcl9fcmV2aWV3cyB7XG4gIG1heC13aWR0aDogMTAzcmVtOyB9XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1jb29raWUtbWVzc2FnZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDEuMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY29sb3I6ICMwMDA7XG4gIGJveC1zaGFkb3c6IDAgLTAuM3JlbSAwLjVyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBmb250LXNpemU6IDg1JTtcbiAgei1pbmRleDogOTg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTEwJSwgMCk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBlYXNlLW91dCwgb3BhY2l0eSAwLjE4cyBsaW5lYXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jcy1jb29raWUtbWVzc2FnZS0tc2hvd24ge1xuICAgIHotaW5kZXg6IDk5O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY3MtY29va2llLW1lc3NhZ2VfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiA4cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jb29raWUtbWVzc2FnZV9faW5uZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24td3JhcHBlciB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgYWxpZ24tc2VsZjogdW5zZXQ7IH0gfVxuICAuY3MtY29va2llLW1lc3NhZ2VfX3RleHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtY29va2llLW1lc3NhZ2VfX3RleHQgLmJsb2NrLWNtcy1saW5rLndpZGdldCxcbiAgICAuY3MtY29va2llLW1lc3NhZ2VfX3RleHQgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAuY3MtY29va2llLW1lc3NhZ2VfX3RleHQgYSB7XG4gICAgICBjb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgLmNzLWNvb2tpZS1tZXNzYWdlX190ZXh0IGE6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAjRkY3NDQyOyB9XG4gICAgICAuY3MtY29va2llLW1lc3NhZ2VfX3RleHQgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjRkY3NDQyOyB9XG4gICAgICAuY3MtY29va2llLW1lc3NhZ2VfX3RleHQgYTphY3RpdmUsIC5jcy1jb29raWUtbWVzc2FnZV9fdGV4dCBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNGRjc0NDI7IH1cbiAgLmNzLWNvb2tpZS1tZXNzYWdlX19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMC41cmVtO1xuICAgIHdpZHRoOiA1LjVyZW07XG4gICAgaGVpZ2h0OiA1LjVyZW07XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1jb29raWUtbWVzc2FnZV9faWNvbiB7XG4gICAgICAgIHRvcDogLTMuNXJlbTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cbiAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgICBwYWRkaW5nOiA4cHggMjVweDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG1hcmdpbi10b3A6IDEuMnJlbTsgfVxuICAgIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uLm1lZGl1bSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uLmxhcmdlIHtcbiAgICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uLCAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gICAgICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbiAqLCAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAgIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWNvb2tpZS1tZXNzYWdlX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjJyZW07IH0gfVxuICAuY3MtY29va2llLW1lc3NhZ2VfX2J1dHRvbi1zcGFuIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgcGFkZGluZy1yaWdodDogNGVtOyB9XG4gIC5jcy1jb29raWUtbWVzc2FnZV9fYnV0dG9uLWljb24ge1xuICAgIG1heC13aWR0aDogMWVtO1xuICAgIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcmlnaHQ6IDFlbTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5AaW1wb3J0ICd1dGlscy9saW5rJztcblxuJGNvb2tpZS1tZXNzYWdlX2JhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRjb29raWUtbWVzc2FnZV9mb250LXNpemU6IDg1JSAhZGVmYXVsdDtcbiRjb29raWUtbWVzc2FnZV9mb250LWNvbG9yOiAkY29sb3JfdGV4dC05MDAgIWRlZmF1bHQ7XG4kY29va2llLW1lc3NhZ2VfbGluay1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGNvb2tpZS1tZXNzYWdlX2xpbmstY29sb3ItLWhvdmVyOiAkY29sb3JfcHJpbWFyeS04MDAgIWRlZmF1bHQ7XG5cbiRjb29raWUtbWVzc2FnZV9idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kY29va2llLW1lc3NhZ2VfaWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcblxuJGNvb2tpZS1tZXNzYWdlX2J1dHRvbi1wb3MtYnJlYWtwb2ludDogJ3RhYmxldCcgIWRlZmF1bHQ7XG4kY29va2llLW1lc3NhZ2VfYnV0dG9uLXBvcy1hbGlnbjogZmxleC1zdGFydCAhZGVmYXVsdDtcblxuLiN7JG5zfWNvb2tpZS1tZXNzYWdlIHtcbiAgICAkcm9vdDogJjtcblxuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDEuMnJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29va2llLW1lc3NhZ2VfYmFja2dyb3VuZC1jb2xvcjtcbiAgICBjb2xvcjogJGNvb2tpZS1tZXNzYWdlX2ZvbnQtY29sb3I7XG4gICAgYm94LXNoYWRvdzogMCAtMC4zcmVtIDAuNXJlbSAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgZm9udC1zaXplOiAkY29va2llLW1lc3NhZ2VfZm9udC1zaXplO1xuICAgIHotaW5kZXg6IDk4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTEwJSwgMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgZWFzZS1vdXQsIG9wYWNpdHkgMC4xOHMgbGluZWFyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICYtLXNob3duIHtcbiAgICAgICAgei1pbmRleDogOTk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJl9faW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDhyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49I3skY29va2llLW1lc3NhZ2VfYnV0dG9uLXBvcy1icmVha3BvaW50fScpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24td3JhcHBlciB7XG4gICAgICAgIGFsaWduLXNlbGY6ICRjb29raWUtbWVzc2FnZV9idXR0b24tcG9zLWFsaWduO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PSN7JGNvb2tpZS1tZXNzYWdlX2J1dHRvbi1wb3MtYnJlYWtwb2ludH0nKSB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiB1bnNldDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAuYmxvY2stY21zLWxpbmsud2lkZ2V0LFxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGluayhcbiAgICAgICAgICAgICAgICAkY29va2llLW1lc3NhZ2VfbGluay1jb2xvcixcbiAgICAgICAgICAgICAgICAkY29va2llLW1lc3NhZ2VfbGluay1jb2xvci0taG92ZXJcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwLjVyZW07XG4gICAgICAgIHdpZHRoOiA1LjVyZW07XG4gICAgICAgIGhlaWdodDogNS41cmVtO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PSN7JGNvb2tpZS1tZXNzYWdlX2J1dHRvbi1wb3MtYnJlYWtwb2ludH0nKSB7XG4gICAgICAgICAgICB0b3A6IC0zLjVyZW07XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJGNvb2tpZS1tZXNzYWdlX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkY29va2llLW1lc3NhZ2VfaWNvbi1wb3NcbiAgICAgICAgKTtcblxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjJyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49I3skY29va2llLW1lc3NhZ2VfYnV0dG9uLXBvcy1icmVha3BvaW50fScpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMS4ycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLXNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICR0eXBlOiAkY29va2llLW1lc3NhZ2VfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRjb29raWUtbWVzc2FnZV9pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAkdHlwZTogJGNvb2tpZS1tZXNzYWdlX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkY29va2llLW1lc3NhZ2VfaWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgLmNzLWRpc3BsYXktY29udHJvbGxlci0taGlkZGVuLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jcy1kaXNwbGF5LWNvbnRyb2xsZXItLWhpZGRlbi1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuLiN7JG5zfWRpc3BsYXktY29udHJvbGxlciB7XG4gICAgJi0taGlkZGVuLW1vYmlsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWhpZGRlbi1kZXNrdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1kcm9wZG93bi1zd2l0Y2hlciB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXIgLm1hZ2UtZHJvcGRvd24tZGlhbG9nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIHJpZ2h0OiAtMXJlbTtcbiAgICAgIGxlZnQ6IDFyZW07IH0gfVxuICAuY3MtZHJvcGRvd24tc3dpdGNoZXItLWN1cnJlbmN5IC5tYWdlLWRyb3Bkb3duLWRpYWxvZyB7XG4gICAgcmlnaHQ6IC0xcmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtc2hyaW5rOiAwOyB9XG4gICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXI6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMS4zcmVtO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDAuMnJlbSBzb2xpZCAjZmZmZmZmO1xuICAgICAgICB0cmFuc2Zvcm06IHNrZXcoLTE4ZGVnKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlci0tc3RvcmVzOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19vcHRpb24taWNvbiB7XG4gICAgbWluLXdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjZyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC4ycmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXItLWxhbmd1YWdlIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fb3B0aW9uLWljb24ge1xuICAgICAgICB3aWR0aDogMS41cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXIgLnN3aXRjaGVyLW9wdGlvbnMge1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlciB7XG4gICAgcGFkZGluZzogMi40cmVtIDJyZW07XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggI2RjZGNkYyBzb2xpZDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyOmJlZm9yZSwgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB3aWR0aDogMC43cmVtO1xuICAgICAgaGVpZ2h0OiAwLjFyZW07XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIsIHJpZ2h0IDAuMTVzIGxpbmVhciwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXI6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgIHJpZ2h0OiAzcmVtOyB9XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICByaWdodDogMi41cmVtOyB9XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyLmFjdGl2ZTpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlci5hY3RpdmU6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgcGFkZGluZzogMCAxLjVyZW0gMCAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyOmJlZm9yZSwgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgd2lkdGg6IDAuN3JlbTtcbiAgICAgICAgICBoZWlnaHQ6IDAuMXJlbTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciwgcmlnaHQgMC4xNXMgbGluZWFyLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhcjtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyOmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgIHJpZ2h0OiAwLjVyZW07IH1cbiAgICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyOmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlci5hY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fdHJpZ2dlci5hY3RpdmU6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfSB9XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX190cmlnZ2VyLmFjdGl2ZSB7XG4gICAgICAgICAgcGFkZGluZzogMi40cmVtIDJyZW07XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOyB9IH1cbiAgICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX3RyaWdnZXItc3BhbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3MtZHJvcGRvd24tc3dpdGNoZXJfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1jb2xvcjogI2YwZjBmMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fbGlzdCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTsgfSB9XG4gICAgLmNzLWRyb3Bkb3duLXN3aXRjaGVyX19saXN0LWl0ZW0ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fbGlzdC1pdGVtLWxpbmsge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogIzIxMjEyMSAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fbGlzdC1pdGVtLWxpbms6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fbGlzdC1pdGVtLWxpbmsge1xuICAgICAgICAgIHBhZGRpbmc6IDEuNHJlbSAycmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy1kcm9wZG93bi1zd2l0Y2hlcl9fbGlzdC1pdGVtLWxpbmsge1xuICAgICAgICAgIHBhZGRpbmc6IDAuNnJlbSAxLjhyZW07XG4gICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07IH0gfVxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbkBtaXhpbiBwc2V1ZG9pY29uX2JlZm9yZS1ob29rKCR0eXBlKSB7XG59XG5cbkBtaXhpbiBwc2V1ZG9pY29uX2FmdGVyLWhvb2soJHR5cGUpIHtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL3Jlc2V0LWxpc3Qtc3R5bGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wc2V1ZG9pY29uL21peGluJztcblxuJGRyb3Bkb3duLXN3aXRjaGVyX2JhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLWJvdHRvbS1ib3JkZXI6IDFweCAkY29sb3JfYm9yZGVyLTUwMCBzb2xpZCAhZGVmYXVsdDtcblxuLy8gT2ZmY2FudmFzIHRyaWdnZXIgb3B0aW9uc1xuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWVuYWJsZWQ6IHRydWUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1jb2xvci0taG92ZXI6ICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1jb2xvci0tYWN0aXZlOiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItdHlwZTogJ2Fycm93JyAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1hcnJvdy1kZWZhdWx0OiAnZG93bicgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItYXJyb3ctYWN0aXZlOiAndXAnICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLXdpZHRoOiAwLjdyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItaGVpZ2h0OiAwLjFyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItYXJyb3ctb2Zmc2V0OiAzcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLXBvc2l0aW9uLXNpZGUtb2Zmc2V0OiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIERyb3Bkb3duIHRyaWdnZXIgb3B0aW9uc1xuJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItZW5hYmxlZDogdHJ1ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZC04MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1jb2xvci0taG92ZXI6ICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItY29sb3ItLWFjdGl2ZTogJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci10eXBlOiAnYXJyb3cnICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItYXJyb3ctZGVmYXVsdDogJ2Rvd24nICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItYXJyb3ctYWN0aXZlOiAndXAnICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItd2lkdGg6IDAuN3JlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWhlaWdodDogMC4xcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItYXJyb3ctb2Zmc2V0OiAwLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1wb3NpdGlvbi1zaWRlLW9mZnNldDogMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLXN3aXRjaGVyX2xpc3QtYm9yZGVyLWNvbG9yOiAkY29sb3JfYm9yZGVyLTIwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9saXN0LWJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1zd2l0Y2hlcl9saXN0LWl0ZW0tY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLXN3aXRjaGVyX2hvdmVyLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTUwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLXN3aXRjaGVyX3RvcGJhci1zZXBhcmF0b3ItYm9yZGVyOiAwLjJyZW0gc29saWQgJGNvbG9yX2JvcmRlci0xMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfdG9wYmFyLXNlcGFyYXRvci10cmFuc2Zvcm06ICR0cmFuc2Zvcm1fc2tldy00MDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1zd2l0Y2hlcl9ib3JkZXItcmFkaXVzOiAzcHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3dpdGNoZXJfbGFuZ3VhZ2UtZmxhZy13aWR0aDogMS41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX2xhbmd1YWdlLWZsYWctaGVpZ2h0OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1zd2l0Y2hlcl9mb250LXNpemUtcHJpbWFyeTogMS40cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXN3aXRjaGVyX2ZvbnQtc2l6ZS1zZWNvbmRhcnk6IDEuMXJlbSAhZGVmYXVsdDtcblxuLiN7JG5zfWRyb3Bkb3duLXN3aXRjaGVyIHtcbiAgICAkcm9vdDogJjtcblxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAubWFnZS1kcm9wZG93bi1kaWFsb2cge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgcmlnaHQ6IC0xcmVtO1xuICAgICAgICAgICAgbGVmdDogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWN1cnJlbmN5IHtcbiAgICAgICAgLm1hZ2UtZHJvcGRvd24tZGlhbG9nIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMS4zcmVtO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogJGRyb3Bkb3duLXN3aXRjaGVyX3RvcGJhci1zZXBhcmF0b3ItYm9yZGVyO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiAkZHJvcGRvd24tc3dpdGNoZXJfdG9wYmFyLXNlcGFyYXRvci10cmFuc2Zvcm07XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXN0b3JlcyB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fb3B0aW9uIHtcbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogJGRyb3Bkb3duLXN3aXRjaGVyX2xhbmd1YWdlLWZsYWctd2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICRkcm9wZG93bi1zd2l0Y2hlcl9sYW5ndWFnZS1mbGFnLWhlaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC42cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4ycmVtO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICAjeyRyb290fS0tbGFuZ3VhZ2UgJiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJGRyb3Bkb3duLXN3aXRjaGVyX2xhbmd1YWdlLWZsYWctd2lkdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN3aXRjaGVyLW9wdGlvbnMge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdHJpZ2dlciB7XG4gICAgICAgIHBhZGRpbmc6IDIuNHJlbSAycmVtO1xuICAgICAgICBmb250LXNpemU6ICRkcm9wZG93bi1zd2l0Y2hlcl9mb250LXNpemUtcHJpbWFyeTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy1ib3R0b20tYm9yZGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGlmICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1lbmFibGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkb2ljb24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci10eXBlLFxuICAgICAgICAgICAgICAgICRhcnJvdy1kZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItYXJyb3ctZGVmYXVsdCxcbiAgICAgICAgICAgICAgICAkYXJyb3ctYWN0aXZlOiAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItYXJyb3ctYWN0aXZlLFxuICAgICAgICAgICAgICAgICR3aWR0aDogJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLXdpZHRoLFxuICAgICAgICAgICAgICAgICRoZWlnaHQ6ICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1oZWlnaHQsXG4gICAgICAgICAgICAgICAgJGFycm93LW9mZnNldDogJGRyb3Bkb3duLXN3aXRjaGVyX29mZmNhbnZhcy10cmlnZ2VyLWFycm93LW9mZnNldCxcbiAgICAgICAgICAgICAgICAkcG9zaXRpb24tc2lkZS1vZmZzZXQ6XG4gICAgICAgICAgICAgICAgICAgICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1wb3NpdGlvbi1zaWRlLW9mZnNldCxcbiAgICAgICAgICAgICAgICAkY29sb3I6ICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1jb2xvcixcbiAgICAgICAgICAgICAgICAkY29sb3ItaG92ZXI6ICRkcm9wZG93bi1zd2l0Y2hlcl9vZmZjYW52YXMtdHJpZ2dlci1jb2xvci0taG92ZXIsXG4gICAgICAgICAgICAgICAgJGNvbG9yLWV4cGFuZGVkOlxuICAgICAgICAgICAgICAgICAgICAkZHJvcGRvd24tc3dpdGNoZXJfb2ZmY2FudmFzLXRyaWdnZXItY29sb3ItLWFjdGl2ZSxcbiAgICAgICAgICAgICAgICAkYWN0aXZlLXNlbGVjdG9yOiAnJi5hY3RpdmUnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgICAgICAgICBmb250LXNpemU6ICRkcm9wZG93bi1zd2l0Y2hlcl9mb250LXNpemUtc2Vjb25kYXJ5O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMS41cmVtIDAgMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAgICAgICAgIEBpZiAkZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1lbmFibGVkIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG9pY29uKFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGFycm93LWRlZmF1bHQ6ICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWFycm93LWRlZmF1bHQsXG4gICAgICAgICAgICAgICAgICAgICRhcnJvdy1hY3RpdmU6ICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWFycm93LWFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgJHdpZHRoOiAkZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci13aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgJGhlaWdodDogJGRyb3Bkb3duLXN3aXRjaGVyX3RyaWdnZXItaGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAkYXJyb3ctb2Zmc2V0OiAkZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1hcnJvdy1vZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgICRwb3NpdGlvbi1zaWRlLW9mZnNldDpcbiAgICAgICAgICAgICAgICAgICAgICAgICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLXBvc2l0aW9uLXNpZGUtb2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICAkY29sb3I6ICRkcm9wZG93bi1zd2l0Y2hlcl90cmlnZ2VyLWNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAkY29sb3ItaG92ZXI6ICRkcm9wZG93bi1zd2l0Y2hlci10cmlnZ2VyLWNvbG9yLS1ob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWV4cGFuZGVkOiAkZHJvcGRvd24tc3dpdGNoZXJfdHJpZ2dlci1jb2xvci0tYWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAkYWN0aXZlLXNlbGVjdG9yOiAnJi5hY3RpdmUnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1zd2l0Y2hlcl9iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGRyb3Bkb3duLXN3aXRjaGVyX2JvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGRyb3Bkb3duLXN3aXRjaGVyX2JvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMi40cmVtIDJyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1zcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAkZHJvcGRvd24tc3dpdGNoZXJfZm9udC1zaXplLXNlY29uZGFyeTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGRyb3Bkb3duLXN3aXRjaGVyX2JvcmRlci1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkZHJvcGRvd24tc3dpdGNoZXJfYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZHJvcGRvd24tc3dpdGNoZXJfbGlzdC1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tc3dpdGNoZXJfbGlzdC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAmLWl0ZW0tbGluayB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGNvbG9yOiAkZHJvcGRvd24tc3dpdGNoZXJfbGlzdC1pdGVtLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLXN3aXRjaGVyX2hvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjRyZW0gMnJlbTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRkcm9wZG93bi1zd2l0Y2hlcl9mb250LXNpemUtcHJpbWFyeTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNnJlbSAxLjhyZW07XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZHJvcGRvd24tc3dpdGNoZXJfZm9udC1zaXplLXNlY29uZGFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wc2V1ZG9pY29uL2hvb2snO1xuXG4kcHNldWRvaWNvbi10eXBlOiAncGx1cycgIWRlZmF1bHQ7IC8vIHBsdXMgKGRlZmF1bHQpIG9yIGFycm93XG4vLyBBbmltYXRpb24gZm9yIGFycm93cyB3b3JrcyBvbmx5IGlmIGRlZmF1bHQgYW5kIGFjdGl2ZSBkaXJlY3Rpb24gYXJlIG9wcG9zaXRlXG4kcHNldWRvaWNvbi1hbmltYXRlOiB0cnVlICFkZWZhdWx0O1xuJHBzZXVkb2ljb24tYW5pbWF0aW9uLXRpbWU6IDAuMTVzICFkZWZhdWx0O1xuJHBzZXVkb2ljb24tY29sb3I6ICRjb2xvcl9ib3JkZXItNzAwICFkZWZhdWx0O1xuJHBzZXVkb2ljb24taG92ZXItY29sb3I6ICRjb2xvcl9ib3JkZXItNzAwICFkZWZhdWx0O1xuJHBzZXVkb2ljb24tZXhwYW5kZWQtY29sb3I6ICRjb2xvcl9ib3JkZXItNzAwICFkZWZhdWx0O1xuJHBzZXVkb2ljb24td2lkdGg6IDEuMnJlbSAhZGVmYXVsdDtcbiRwc2V1ZG9pY29uLWhlaWdodDogMC4ycmVtICFkZWZhdWx0O1xuJHBzZXVkb2ljb24tcG9zaXRpb24tc2lkZS1vZmZzZXQ6ICRwYWdlX2VkZ2UtZ3V0dGVyICFkZWZhdWx0O1xuXG4vLyBBZGRpdGlvbmFsIHNldHRpbmdzIGZvciBhcnJvd3NcbiRwc2V1ZG9pY29uLWFycm93LWRlZmF1bHQtZGlyZWN0aW9uOiAndXAnICFkZWZhdWx0O1xuJHBzZXVkb2ljb24tYXJyb3ctYWN0aXZlLWRpcmVjdGlvbjogJ2Rvd24nICFkZWZhdWx0O1xuLy8gSW4gc29tZSBjYXNlcyAoaXQgZGVwZW5kcyBvbiAkcHNldWRvaWNvbi13aWR0aC9oZWlnaHQgdmFsdWUpLCB3ZSBuZWVkIHRvIGZpeCBvZmZzZXQgZm9yIGxlZnQgcGFydCBvZiBpY29uXG4kcHNldWRvaWNvbi1hcnJvdy1sZWZ0LW9mZnNldDogY2FsYyhcbiAgICAjeyRwc2V1ZG9pY29uLXBvc2l0aW9uLXNpZGUtb2Zmc2V0fSArICN7JHBzZXVkb2ljb24td2lkdGh9IC0gI3syICpcbiAgICAgICAgJHBzZXVkb2ljb24taGVpZ2h0fVxuKSAhZGVmYXVsdDtcblxuJHBzZXVkb2ljb24tYWN0aXZlLXNlbGVjdG9yOiAnJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXScgIWRlZmF1bHQ7XG5cbkBtaXhpbiBwc2V1ZG9pY29uKFxuICAgICR0eXBlOiAkcHNldWRvaWNvbi10eXBlLFxuICAgICRhbmltYXRlZDogJHBzZXVkb2ljb24tYW5pbWF0ZSxcbiAgICAkYW5pbWF0aW9uLXRpbWU6ICRwc2V1ZG9pY29uLWFuaW1hdGlvbi10aW1lLFxuICAgICRjb2xvcjogJHBzZXVkb2ljb24tY29sb3IsXG4gICAgJGNvbG9yLWhvdmVyOiAkcHNldWRvaWNvbi1ob3Zlci1jb2xvcixcbiAgICAkY29sb3ItZXhwYW5kZWQ6ICRwc2V1ZG9pY29uLWV4cGFuZGVkLWNvbG9yLFxuICAgICR3aWR0aDogJHBzZXVkb2ljb24td2lkdGgsXG4gICAgJGhlaWdodDogJHBzZXVkb2ljb24taGVpZ2h0LFxuICAgICRwb3NpdGlvbi1zaWRlLW9mZnNldDogJHBzZXVkb2ljb24tcG9zaXRpb24tc2lkZS1vZmZzZXQsXG4gICAgJGFycm93LWRlZmF1bHQ6ICRwc2V1ZG9pY29uLWFycm93LWRlZmF1bHQtZGlyZWN0aW9uLFxuICAgICRhcnJvdy1hY3RpdmU6ICRwc2V1ZG9pY29uLWFycm93LWFjdGl2ZS1kaXJlY3Rpb24sXG4gICAgJGFycm93LW9mZnNldDogJHBzZXVkb2ljb24tYXJyb3ctbGVmdC1vZmZzZXQsXG4gICAgJGFjdGl2ZS1zZWxlY3RvcjogJHBzZXVkb2ljb24tYWN0aXZlLXNlbGVjdG9yXG4pIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAgIEBpZiAoJGFuaW1hdGVkKSB7XG4gICAgICAgICAgICBAaWYgKCR0eXBlID09ICdhcnJvdycpIHtcbiAgICAgICAgICAgICAgICBAaWYgKCgkYXJyb3ctZGVmYXVsdCA9PSAndXAnKSBhbmQgKCRhcnJvdy1hY3RpdmUgPT0gJ2Rvd24nKSkgb3JcbiAgICAgICAgICAgICAgICAgICAgKCgkYXJyb3ctZGVmYXVsdCA9PSAnZG93bicpIGFuZCAoJGFycm93LWFjdGl2ZSA9PSAndXAnKSkgb3JcbiAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgKCRhcnJvdy1kZWZhdWx0ID09ICdsZWZ0JykgYW5kXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCRhcnJvdy1hY3RpdmUgPT0gJ3JpZ2h0JylcbiAgICAgICAgICAgICAgICAgICAgKSBvclxuICAgICAgICAgICAgICAgICAgICAoKCRhcnJvdy1kZWZhdWx0ID09ICdyaWdodCcpIGFuZCAoJGFycm93LWFjdGl2ZSA9PSAnbGVmdCcpKVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRhbmltYXRpb24tdGltZSBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodCAkYW5pbWF0aW9uLXRpbWUgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAkYW5pbWF0aW9uLXRpbWUgbGluZWFyO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRhbmltYXRpb24tdGltZSBsaW5lYXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICgyICogJGFuaW1hdGlvbi10aW1lKSBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAkYW5pbWF0aW9uLXRpbWUgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgJGFuaW1hdGlvbi10aW1lIGxpbmVhcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAaWYgKCRjb2xvci1ob3ZlciAhPSAkY29sb3IpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRhbmltYXRpb24tdGltZSBsaW5lYXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgQGlmICgkY29sb3ItaG92ZXIgIT0gJGNvbG9yKSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjeyRhY3RpdmUtc2VsZWN0b3J9IHtcbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGlmICgkY29sb3ItZXhwYW5kZWQgIT0gJGNvbG9yKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWV4cGFuZGVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICgkdHlwZSA9PSAnYXJyb3cnKSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpZiAoJGFycm93LWRlZmF1bHQgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWRlZmF1bHQgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWRlZmF1bHQgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgLTUwJSwgMCk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctZGVmYXVsdCA9PSAndXAnKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGlmICgkYXJyb3ctZGVmYXVsdCA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWRlZmF1bHQgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWRlZmF1bHQgPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDUwJSwgMCk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctZGVmYXVsdCA9PSAndXAnKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRhY3RpdmUtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIEBpZiAoJGFycm93LWRlZmF1bHQgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYXJyb3ctYWN0aXZlID09ICdkb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAndXAnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGFycm93LWFjdGl2ZSA9PSAnZG93bicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ3VwJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTIyNWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkYXJyb3ctZGVmYXVsdCA9PSAnZG93bicpIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGFycm93LWFjdGl2ZSA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAndXAnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGFycm93LWFjdGl2ZSA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ3VwJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCRhcnJvdy1kZWZhdWx0ID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYXJyb3ctYWN0aXZlID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ2Rvd24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRwb3NpdGlvbi1zaWRlLW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAndXAnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6ICRhcnJvdy1vZmZzZXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYXJyb3ctYWN0aXZlID09ICdyaWdodCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICdkb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAndXAnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKCRhcnJvdy1kZWZhdWx0ID09ICd1cCcpIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGFycm93LWFjdGl2ZSA9PSAncmlnaHQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJHBvc2l0aW9uLXNpZGUtb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICdkb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZykgdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJGFycm93LW9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCRhcnJvdy1hY3RpdmUgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkYXJyb3ctYWN0aXZlID09ICdkb3duJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGFycm93LWFjdGl2ZSA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAkYXJyb3ctb2Zmc2V0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiAkcG9zaXRpb24tc2lkZS1vZmZzZXQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCkgcm90YXRlKDkwZGVnKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgI3skYWN0aXZlLXNlbGVjdG9yfSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoLTkwZGVnKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCkgcm90YXRlKDApICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHBzZXVkb2ljb25fYmVmb3JlLWhvb2soJHR5cGUpO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBwc2V1ZG9pY29uX2FmdGVyLWhvb2soJHR5cGUpO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIFJhZGlvIGFuZCBjaGVja2JveCBzdHlsaW5nICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG4uY3MtZmllbGQsXG4uY3MtaW5wdXQge1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1maWVsZF9fY29udHJvbCxcbiAgLmNzLWlucHV0X19jb250cm9sIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtZmllbGRfX2xhYmVsLFxuICAuY3MtaW5wdXRfX2xhYmVsIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIG1hcmdpbjogMCAwIDNweCAwOyB9XG4gICAgLnJlcXVpcmVkIC5jcy1maWVsZF9fbGFiZWw6YWZ0ZXIsIC5yZXF1aXJlZFxuICAgIC5jcy1pbnB1dF9fbGFiZWw6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAqJztcbiAgICAgIGNvbG9yOiAjQ0MxQzNBOyB9XG4gIC5jcy1maWVsZF9faW5wdXQsIC5jcy1maWVsZF9fdGV4dGFyZWEsXG4gIC5jcy1pbnB1dF9faW5wdXQsXG4gIC5jcy1pbnB1dF9fdGV4dGFyZWEge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIHBhZGRpbmc6IDExcHggMTBweDtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogNDBweDtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG4gICAgLmNzLWZpZWxkX19pbnB1dDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1maWVsZF9faW5wdXQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtZmllbGRfX3RleHRhcmVhOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWZpZWxkX190ZXh0YXJlYTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWlucHV0X19pbnB1dDpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWlucHV0X19pbnB1dDpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWlucHV0X190ZXh0YXJlYTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWlucHV0X190ZXh0YXJlYTpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNDYwNDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuY3MtZmllbGRfX2lucHV0OjpwbGFjZWhvbGRlciwgLmNzLWZpZWxkX190ZXh0YXJlYTo6cGxhY2Vob2xkZXIsXG4gICAgLmNzLWlucHV0X19pbnB1dDo6cGxhY2Vob2xkZXIsXG4gICAgLmNzLWlucHV0X190ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbG9yOiAjNkU2RTZFOyB9XG4gICAgLmNzLWZpZWxkX19pbnB1dFtkaXNhYmxlZF0sIC5jcy1maWVsZF9fdGV4dGFyZWFbZGlzYWJsZWRdLFxuICAgIC5jcy1pbnB1dF9faW5wdXRbZGlzYWJsZWRdLFxuICAgIC5jcy1pbnB1dF9fdGV4dGFyZWFbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgICAuY3MtZmllbGRfX2lucHV0Lm1hZ2UtZXJyb3IsIC5jcy1maWVsZF9faW5wdXQubWFnZS1lcnJvcjpob3Zlcjpub3QoOmZvY3VzKSwgLmNzLWZpZWxkX190ZXh0YXJlYS5tYWdlLWVycm9yLCAuY3MtZmllbGRfX3RleHRhcmVhLm1hZ2UtZXJyb3I6aG92ZXI6bm90KDpmb2N1cyksXG4gICAgLmNzLWlucHV0X19pbnB1dC5tYWdlLWVycm9yLFxuICAgIC5jcy1pbnB1dF9faW5wdXQubWFnZS1lcnJvcjpob3Zlcjpub3QoOmZvY3VzKSxcbiAgICAuY3MtaW5wdXRfX3RleHRhcmVhLm1hZ2UtZXJyb3IsXG4gICAgLmNzLWlucHV0X190ZXh0YXJlYS5tYWdlLWVycm9yOmhvdmVyOm5vdCg6Zm9jdXMpIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDQzFDM0E7IH1cbiAgLmNzLWZpZWxkX19zZWxlY3QsXG4gIC5jcy1pbnB1dF9fc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBwYWRkaW5nOiAxMXB4IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMi4zZW07XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgb3V0bGluZTogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyUyM2RjZGNkYyclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsIHJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjhlbSB0b3AgNTIlLCAwIDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiAwLjdlbSBhdXRvLCAxMDAlO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzOyB9XG4gICAgLmNzLWZpZWxkX19zZWxlY3Q6LW1vei1mb2N1c3JpbmcsIC5jcy1maWVsZF9fc2VsZWN0OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5jcy1pbnB1dF9fc2VsZWN0Oi1tb3otZm9jdXNyaW5nLFxuICAgIC5jcy1pbnB1dF9fc2VsZWN0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDAgIWltcG9ydGFudDsgfVxuICAgIC5jcy1maWVsZF9fc2VsZWN0OjotbXMtZXhwYW5kLFxuICAgIC5jcy1pbnB1dF9fc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtZmllbGRfX3NlbGVjdDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1maWVsZF9fc2VsZWN0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuY3MtaW5wdXRfX3NlbGVjdDpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLmNzLWlucHV0X19zZWxlY3Q6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjQ2MDQ7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyUyM0ZGNDYwNCclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDEwMCUpOyB9XG4gICAgICAuaWUxMSAuY3MtZmllbGRfX3NlbGVjdDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5pZTExIC5jcy1maWVsZF9fc2VsZWN0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmllMTFcbiAgICAgIC5jcy1pbnB1dF9fc2VsZWN0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmllMTFcbiAgICAgIC5jcy1pbnB1dF9fc2VsZWN0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjNGRjQ2MDQnJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKTsgfVxuICAgIC5jcy1maWVsZF9fc2VsZWN0W2Rpc2FibGVkXSxcbiAgICAuY3MtaW5wdXRfX3NlbGVjdFtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAgIC5jcy1maWVsZF9fc2VsZWN0IG9wdGlvbixcbiAgICAuY3MtaW5wdXRfX3NlbGVjdCBvcHRpb24ge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogaW5pdGlhbDsgfVxuICAgIC5pZTExIC5jcy1maWVsZF9fc2VsZWN0LCAuaWUxMVxuICAgIC5jcy1pbnB1dF9fc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjNkY2RjZGMnJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMC43ZW0gMC43ZW0sIDEwMCU7IH1cbiAgLmNzLWZpZWxkX19yYWRpbyxcbiAgLmNzLWlucHV0X19yYWRpbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXM7IH1cbiAgICAuY3MtZmllbGRfX3JhZGlvOjotbXMtY2hlY2ssXG4gICAgLmNzLWlucHV0X19yYWRpbzo6LW1zLWNoZWNrIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNzLWZpZWxkX19yYWRpbzo6LW1vei1mb2N1cy1pbm5lciwgLmNzLWZpZWxkX19yYWRpbzotbW96LWZvY3VzcmluZyxcbiAgICAuY3MtaW5wdXRfX3JhZGlvOjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5jcy1pbnB1dF9fcmFkaW86LW1vei1mb2N1c3Jpbmcge1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50OyB9XG4gICAgLmNzLWZpZWxkX19yYWRpbzpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1maWVsZF9fcmFkaW86Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1pbnB1dF9fcmFkaW86aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5jcy1pbnB1dF9fcmFkaW86Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjc0NDI7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuY3MtZmllbGRfX3JhZGlvOmNoZWNrZWQsXG4gICAgLmNzLWlucHV0X19yYWRpbzpjaGVja2VkIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NjaXJjbGUgZmlsbD0nJTIzRkY0NjA0JyByPSc0JyBjeT0nNycgY3g9JzcnLyUzZSUzYy9zdmclM2VcIik7IH1cbiAgICAgIC5jcy1maWVsZF9fcmFkaW86Y2hlY2tlZDo6LW1zLWNoZWNrLFxuICAgICAgLmNzLWlucHV0X19yYWRpbzpjaGVja2VkOjotbXMtY2hlY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjY2lyY2xlIGZpbGw9JyUyM0ZGNDYwNCcgcj0nNCcgY3k9JzYuNScgY3g9JzYuNScvJTNlJTNjL3N2ZyUzZVwiKTsgfVxuICAgICAgLmNzLWZpZWxkX19yYWRpbzpjaGVja2VkLCAuY3MtZmllbGRfX3JhZGlvOmNoZWNrZWQ6aG92ZXIsIC5jcy1maWVsZF9fcmFkaW86Y2hlY2tlZDpmb2N1cyxcbiAgICAgIC5jcy1pbnB1dF9fcmFkaW86Y2hlY2tlZCxcbiAgICAgIC5jcy1pbnB1dF9fcmFkaW86Y2hlY2tlZDpob3ZlcixcbiAgICAgIC5jcy1pbnB1dF9fcmFkaW86Y2hlY2tlZDpmb2N1cyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgYm9yZGVyOiA2cHggc29saWQgI0ZGNDYwNDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuY3MtZmllbGRfX3JhZGlvW2Rpc2FibGVkXSxcbiAgICAuY3MtZmllbGRfX3JhZGlvW2Rpc2FibGVkXSArIC5sYWJlbCxcbiAgICAuY3MtZmllbGRfX3JhZGlvW2Rpc2FibGVkXSArIC5jcy1pbnB1dF9fbGFiZWwsXG4gICAgLmNzLWlucHV0X19yYWRpb1tkaXNhYmxlZF0sXG4gICAgLmNzLWlucHV0X19yYWRpb1tkaXNhYmxlZF0gKyAubGFiZWwsXG4gICAgLmNzLWlucHV0X19yYWRpb1tkaXNhYmxlZF0gKyAuY3MtaW5wdXRfX2xhYmVsIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgLmNzLWZpZWxkX19jaGVja2JveCxcbiAgLmNzLWlucHV0X19jaGVja2JveCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gICAgLmNzLWZpZWxkX19jaGVja2JveDo6LW1zLWNoZWNrLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6Oi1tcy1jaGVjayB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtO1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5jcy1maWVsZF9fY2hlY2tib3g6Oi1tb3otZm9jdXMtaW5uZXIsIC5jcy1maWVsZF9fY2hlY2tib3g6LW1vei1mb2N1c3JpbmcsXG4gICAgLmNzLWlucHV0X19jaGVja2JveDo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94Oi1tb3otZm9jdXNyaW5nIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDAgIWltcG9ydGFudDsgfVxuICAgIC5jcy1maWVsZF9fY2hlY2tib3g6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtZmllbGRfX2NoZWNrYm94OmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY3NDQyO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNzLWZpZWxkX19jaGVja2JveDpjaGVja2VkLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6Y2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjY2lyY2xlIGZpbGw9JyUyM0ZGNDYwNCcgcj0nNCcgY3k9JzcnIGN4PSc3Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gICAgICAuY3MtZmllbGRfX2NoZWNrYm94OmNoZWNrZWQ6Oi1tcy1jaGVjayxcbiAgICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6Y2hlY2tlZDo6LW1zLWNoZWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY2NpcmNsZSBmaWxsPSclMjNGRjQ2MDQnIHI9JzQnIGN5PSc2LjUnIGN4PSc2LjUnLyUzZSUzYy9zdmclM2VcIik7IH1cbiAgICAgIC5jcy1maWVsZF9fY2hlY2tib3g6Y2hlY2tlZCwgLmNzLWZpZWxkX19jaGVja2JveDpjaGVja2VkOmhvdmVyLCAuY3MtZmllbGRfX2NoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4gICAgICAuY3MtaW5wdXRfX2NoZWNrYm94OmNoZWNrZWQsXG4gICAgICAuY3MtaW5wdXRfX2NoZWNrYm94OmNoZWNrZWQ6aG92ZXIsXG4gICAgICAuY3MtaW5wdXRfX2NoZWNrYm94OmNoZWNrZWQ6Zm9jdXMge1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIGJvcmRlcjogNnB4IHNvbGlkICNGRjQ2MDQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmNzLWZpZWxkX19jaGVja2JveFtkaXNhYmxlZF0sXG4gICAgLmNzLWZpZWxkX19jaGVja2JveFtkaXNhYmxlZF0gKyAubGFiZWwsXG4gICAgLmNzLWZpZWxkX19jaGVja2JveFtkaXNhYmxlZF0gKyAuY3MtaW5wdXRfX2xhYmVsLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3hbZGlzYWJsZWRdLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3hbZGlzYWJsZWRdICsgLmxhYmVsLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3hbZGlzYWJsZWRdICsgLmNzLWlucHV0X19sYWJlbCB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gICAgLmNzLWZpZWxkX19jaGVja2JveDo6LW1zLWNoZWNrLFxuICAgIC5jcy1pbnB1dF9fY2hlY2tib3g6Oi1tcy1jaGVjayB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtOyB9XG4gICAgLmNzLWZpZWxkX19jaGVja2JveDpob3ZlcixcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94OmhvdmVyIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjQ2MDQ7IH1cbiAgICAuY3MtZmllbGRfX2NoZWNrYm94OmNoZWNrZWQsXG4gICAgLmNzLWlucHV0X19jaGVja2JveDpjaGVja2VkIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NwYXRoIGZpbGw9JyUyM0ZGNDYwNCcgZD0nTTUuMzEzIDEwLjEwOEg1LjI0YTEuMDY0IDEuMDA1IDAgMCAxLS43NS0uNDFsLTEuOTQ3LTIuNTVhMS4wNjQgMS4wMDUgMCAwIDEgMS43MjMtMS4xNzVMNS40NjMgNy41NiA5LjA2IDQuMTlhMS4wNjQgMS4wMDUgMCAwIDEgLjc1LS4yOTdoLjg0NmExLjA2NCAxLjAwNSAwIDAgMSAwIDIuMDA0aC0uNDVMNi4wNjQgOS44MWExLjA2NCAxLjAwNSAwIDAgMS0uNzUuMjk4eicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjQ2MDQ7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICAgIC5jcy1maWVsZF9fY2hlY2tib3g6Y2hlY2tlZDo6LW1zLWNoZWNrLFxuICAgICAgLmNzLWlucHV0X19jaGVja2JveDpjaGVja2VkOjotbXMtY2hlY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBmaWxsPSclMjNGRjQ2MDQnIGQ9J001LjMxMyAxMC4xMDhINS4yNGExLjA2NCAxLjAwNSAwIDAgMS0uNzUtLjQxbC0xLjk0Ny0yLjU1YTEuMDY0IDEuMDA1IDAgMCAxIDEuNzIzLTEuMTc1TDUuNDYzIDcuNTYgOS4wNiA0LjE5YTEuMDY0IDEuMDA1IDAgMCAxIC43NS0uMjk3aC44NDZhMS4wNjQgMS4wMDUgMCAwIDEgMCAyLjAwNGgtLjQ1TDYuMDY0IDkuODFhMS4wNjQgMS4wMDUgMCAwIDEtLjc1LjI5OHonLyUzZSUzYy9zdmclM2VcIik7IH1cbiAgICAgIC5jcy1maWVsZF9fY2hlY2tib3g6Y2hlY2tlZDpmb2N1cywgLmNzLWZpZWxkX19jaGVja2JveDpjaGVja2VkOmhvdmVyLFxuICAgICAgLmNzLWlucHV0X19jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuICAgICAgLmNzLWlucHV0X19jaGVja2JveDpjaGVja2VkOmhvdmVyIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBmaWxsPSclMjNGRjQ2MDQnIGQ9J001LjMxMyAxMC4xMDhINS4yNGExLjA2NCAxLjAwNSAwIDAgMS0uNzUtLjQxbC0xLjk0Ny0yLjU1YTEuMDY0IDEuMDA1IDAgMCAxIDEuNzIzLTEuMTc1TDUuNDYzIDcuNTYgOS4wNiA0LjE5YTEuMDY0IDEuMDA1IDAgMCAxIC43NS0uMjk3aC44NDZhMS4wNjQgMS4wMDUgMCAwIDEgMCAyLjAwNGgtLjQ1TDYuMDY0IDkuODFhMS4wNjQgMS4wMDUgMCAwIDEtLjc1LjI5OHonLyUzZSUzYy9zdmclM2VcIik7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjQ2MDQ7IH1cbiAgICAuY3MtZmllbGRfX2NoZWNrYm94Lm1hZ2UtZXJyb3IsIC5jcy1maWVsZF9fY2hlY2tib3gubWFnZS1lcnJvcjpob3Zlcjpub3QoOmZvY3VzKSxcbiAgICAuY3MtaW5wdXRfX2NoZWNrYm94Lm1hZ2UtZXJyb3IsXG4gICAgLmNzLWlucHV0X19jaGVja2JveC5tYWdlLWVycm9yOmhvdmVyOm5vdCg6Zm9jdXMpIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDQzFDM0E7IH1cbiAgLmNzLWZpZWxkX19pY29uLFxuICAuY3MtaW5wdXRfX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMS4zZW07XG4gICAgaGVpZ2h0OiAxLjNlbTtcbiAgICByaWdodDogMC44ZW07XG4gICAgdG9wOiAwLjhlbTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1maWVsZF9fbm90ZSxcbiAgLmNzLWlucHV0X19ub3RlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBwYWRkaW5nOiAwLjNlbSAwIDA7XG4gICAgY29sb3I6ICM2OTY5Njk7IH1cbiAgLmNzLWZpZWxkX19lcnJvcixcbiAgLmNzLWlucHV0X19lcnJvciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgcGFkZGluZzogMC4zZW0gMCAwO1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIGNvbG9yOiAjQ0MxQzNBOyB9XG5cbi5maWVsZCB7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmZpZWxkLm5vdGUge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsgfVxuICAuZmllbGQuX3N1Y2Nlc3M6bm90KC5fd2FybikgLmNvbnRyb2wge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5maWVsZC5fc3VjY2Vzczpub3QoLl93YXJuKSAuY29udHJvbDphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMS4zZW07XG4gICAgICBoZWlnaHQ6IDEuM2VtO1xuICAgICAgcmlnaHQ6IDAuOGVtO1xuICAgICAgdG9wOiAwLjhlbTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvY2hlY2stZ3JlZW4uc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyL2NvbnRhaW47XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAuZmllbGQgLmNvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZpZWxkIC5jb250cm9sID4gdGV4dGFyZWEge1xuICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgIHBhZGRpbmc6IDExcHggMTBweDtcbiAgICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LWhlaWdodDogNDBweDtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuICAgICAgLmZpZWxkIC5jb250cm9sID4gdGV4dGFyZWE6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuZmllbGQgLmNvbnRyb2wgPiB0ZXh0YXJlYTpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY0NjA0O1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICAuZmllbGQgLmNvbnRyb2wgPiB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb2xvcjogIzZFNkU2RTsgfVxuICAgICAgLmZpZWxkIC5jb250cm9sID4gdGV4dGFyZWFbZGlzYWJsZWRdIHtcbiAgICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAuZmllbGQgLmxhYmVsIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIG1hcmdpbjogMCAwIDNweCAwOyB9XG4gIC5maWVsZC5yZXF1aXJlZCA+IC5sYWJlbDphZnRlciwgLmZpZWxkLl9yZXF1aXJlZCA+IC5sYWJlbDphZnRlciB7XG4gICAgY29udGVudDogJyAqJztcbiAgICBjb2xvcjogI0NDMUMzQTsgfVxuICAuZmllbGQucmVxdWlyZWQgLl9yZXF1aXJlZCA+IC5sYWJlbDphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZmllbGQgLmlucHV0LXRleHQge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIHBhZGRpbmc6IDExcHggMTBweDtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogNDBweDtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG4gICAgLmZpZWxkIC5pbnB1dC10ZXh0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmZpZWxkIC5pbnB1dC10ZXh0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY0NjA0O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5maWVsZCAuaW5wdXQtdGV4dDo6cGxhY2Vob2xkZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbG9yOiAjNkU2RTZFOyB9XG4gICAgLmZpZWxkIC5pbnB1dC10ZXh0W2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gICAgLmZpZWxkIC5pbnB1dC10ZXh0Lm1hZ2UtZXJyb3IsIC5maWVsZCAuaW5wdXQtdGV4dC5tYWdlLWVycm9yOmhvdmVyOm5vdCg6Zm9jdXMpIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDQzFDM0E7IH1cbiAgICAuZmllbGQgLmlucHV0LXRleHQucmVxdWlyZWQtZW50cnkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuZmllbGQgLnNlbGVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgcGFkZGluZzogMTFweCAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuM2VtO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjNkY2RjZGMnJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCByZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC44ZW0gdG9wIDUyJSwgMCAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMC43ZW0gYXV0bywgMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41czsgfVxuICAgIC5maWVsZCAuc2VsZWN0Oi1tb3otZm9jdXNyaW5nLCAuZmllbGQgLnNlbGVjdDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmllbGQgLnNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZpZWxkIC5zZWxlY3Q6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuZmllbGQgLnNlbGVjdDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNDYwNDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nJTIzRkY0NjA0JyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIiksIGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7IH1cbiAgICAgIC5pZTExIC5maWVsZCAuc2VsZWN0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmllMTEgLmZpZWxkIC5zZWxlY3Q6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyUyM0ZGNDYwNCclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gICAgLmZpZWxkIC5zZWxlY3RbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgICAuZmllbGQgLnNlbGVjdCBvcHRpb24ge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogaW5pdGlhbDsgfVxuICAgIC5pZTExIC5maWVsZCAuc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjNkY2RjZGMnJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMC43ZW0gMC43ZW0sIDEwMCU7IH1cbiAgLmZpZWxkIC5jaGVja2JveCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gICAgLmZpZWxkIC5jaGVja2JveDo6LW1zLWNoZWNrIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmZpZWxkIC5jaGVja2JveDo6LW1vei1mb2N1cy1pbm5lciwgLmZpZWxkIC5jaGVja2JveDotbW96LWZvY3VzcmluZyB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmllbGQgLmNoZWNrYm94OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmZpZWxkIC5jaGVja2JveDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNzQ0MjtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5maWVsZCAuY2hlY2tib3g6Y2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjY2lyY2xlIGZpbGw9JyUyM0ZGNDYwNCcgcj0nNCcgY3k9JzcnIGN4PSc3Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gICAgICAuZmllbGQgLmNoZWNrYm94OmNoZWNrZWQ6Oi1tcy1jaGVjayB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NjaXJjbGUgZmlsbD0nJTIzRkY0NjA0JyByPSc0JyBjeT0nNi41JyBjeD0nNi41Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gICAgICAuZmllbGQgLmNoZWNrYm94OmNoZWNrZWQsIC5maWVsZCAuY2hlY2tib3g6Y2hlY2tlZDpob3ZlciwgLmZpZWxkIC5jaGVja2JveDpjaGVja2VkOmZvY3VzIHtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBib3JkZXI6IDZweCBzb2xpZCAjRkY0NjA0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5maWVsZCAuY2hlY2tib3hbZGlzYWJsZWRdLFxuICAgIC5maWVsZCAuY2hlY2tib3hbZGlzYWJsZWRdICsgLmxhYmVsLFxuICAgIC5maWVsZCAuY2hlY2tib3hbZGlzYWJsZWRdICsgLmNzLWlucHV0X19sYWJlbCB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gICAgLmZpZWxkIC5jaGVja2JveDo6LW1zLWNoZWNrIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07IH1cbiAgICAuZmllbGQgLmNoZWNrYm94OmhvdmVyIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjQ2MDQ7IH1cbiAgICAuZmllbGQgLmNoZWNrYm94OmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGggZmlsbD0nJTIzRkY0NjA0JyBkPSdNNS4zMTMgMTAuMTA4SDUuMjRhMS4wNjQgMS4wMDUgMCAwIDEtLjc1LS40MWwtMS45NDctMi41NWExLjA2NCAxLjAwNSAwIDAgMSAxLjcyMy0xLjE3NUw1LjQ2MyA3LjU2IDkuMDYgNC4xOWExLjA2NCAxLjAwNSAwIDAgMSAuNzUtLjI5N2guODQ2YTEuMDY0IDEuMDA1IDAgMCAxIDAgMi4wMDRoLS40NUw2LjA2NCA5LjgxYTEuMDY0IDEuMDA1IDAgMCAxLS43NS4yOTh6Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNDYwNDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgICAgLmZpZWxkIC5jaGVja2JveDpjaGVja2VkOjotbXMtY2hlY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBmaWxsPSclMjNGRjQ2MDQnIGQ9J001LjMxMyAxMC4xMDhINS4yNGExLjA2NCAxLjAwNSAwIDAgMS0uNzUtLjQxbC0xLjk0Ny0yLjU1YTEuMDY0IDEuMDA1IDAgMCAxIDEuNzIzLTEuMTc1TDUuNDYzIDcuNTYgOS4wNiA0LjE5YTEuMDY0IDEuMDA1IDAgMCAxIC43NS0uMjk3aC44NDZhMS4wNjQgMS4wMDUgMCAwIDEgMCAyLjAwNGgtLjQ1TDYuMDY0IDkuODFhMS4wNjQgMS4wMDUgMCAwIDEtLjc1LjI5OHonLyUzZSUzYy9zdmclM2VcIik7IH1cbiAgICAgIC5maWVsZCAuY2hlY2tib3g6Y2hlY2tlZDpmb2N1cywgLmZpZWxkIC5jaGVja2JveDpjaGVja2VkOmhvdmVyIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBmaWxsPSclMjNGRjQ2MDQnIGQ9J001LjMxMyAxMC4xMDhINS4yNGExLjA2NCAxLjAwNSAwIDAgMS0uNzUtLjQxbC0xLjk0Ny0yLjU1YTEuMDY0IDEuMDA1IDAgMCAxIDEuNzIzLTEuMTc1TDUuNDYzIDcuNTYgOS4wNiA0LjE5YTEuMDY0IDEuMDA1IDAgMCAxIC43NS0uMjk3aC44NDZhMS4wNjQgMS4wMDUgMCAwIDEgMCAyLjAwNGgtLjQ1TDYuMDY0IDkuODFhMS4wNjQgMS4wMDUgMCAwIDEtLjc1LjI5OHonLyUzZSUzYy9zdmclM2VcIik7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjQ2MDQ7IH1cbiAgICAuZmllbGQgLmNoZWNrYm94Lm1hZ2UtZXJyb3IsIC5maWVsZCAuY2hlY2tib3gubWFnZS1lcnJvcjpob3Zlcjpub3QoOmZvY3VzKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0MxQzNBOyB9XG4gIC5maWVsZCAucmFkaW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMWVtIDFlbTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzOyB9XG4gICAgLmZpZWxkIC5yYWRpbzo6LW1zLWNoZWNrIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW07XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmZpZWxkIC5yYWRpbzo6LW1vei1mb2N1cy1pbm5lciwgLmZpZWxkIC5yYWRpbzotbW96LWZvY3VzcmluZyB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmllbGQgLnJhZGlvOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmZpZWxkIC5yYWRpbzpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNzQ0MjtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5maWVsZCAucmFkaW86Y2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjY2lyY2xlIGZpbGw9JyUyM0ZGNDYwNCcgcj0nNCcgY3k9JzcnIGN4PSc3Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gICAgICAuZmllbGQgLnJhZGlvOmNoZWNrZWQ6Oi1tcy1jaGVjayB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB3aWR0aD0nMTQnIGhlaWdodD0nMTQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NjaXJjbGUgZmlsbD0nJTIzRkY0NjA0JyByPSc0JyBjeT0nNi41JyBjeD0nNi41Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gICAgICAuZmllbGQgLnJhZGlvOmNoZWNrZWQsIC5maWVsZCAucmFkaW86Y2hlY2tlZDpob3ZlciwgLmZpZWxkIC5yYWRpbzpjaGVja2VkOmZvY3VzIHtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBib3JkZXI6IDZweCBzb2xpZCAjRkY0NjA0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5maWVsZCAucmFkaW9bZGlzYWJsZWRdLFxuICAgIC5maWVsZCAucmFkaW9bZGlzYWJsZWRdICsgLmxhYmVsLFxuICAgIC5maWVsZCAucmFkaW9bZGlzYWJsZWRdICsgLmNzLWlucHV0X19sYWJlbCB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gIC5maWVsZC5jaG9pY2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5maWVsZC5jaG9pY2UgbGFiZWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZmxleDogMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIC5maWVsZC5jaG9pY2UgZGl2Lm1hZ2UtZXJyb3Ige1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZmllbGQuY2hvaWNlIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gIC5maWVsZC5jdXN0b21lci1uYW1lLXByZWZpeCBzZWxlY3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIHBhZGRpbmc6IDExcHggMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjNlbTtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nJTIzZGNkY2RjJyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIiksIGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuOGVtIHRvcCA1MiUsIDAgMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDAuN2VtIGF1dG8sIDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7IH1cbiAgICAuZmllbGQuY3VzdG9tZXItbmFtZS1wcmVmaXggc2VsZWN0Oi1tb3otZm9jdXNyaW5nLCAuZmllbGQuY3VzdG9tZXItbmFtZS1wcmVmaXggc2VsZWN0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDAgIWltcG9ydGFudDsgfVxuICAgIC5maWVsZC5jdXN0b21lci1uYW1lLXByZWZpeCBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5maWVsZC5jdXN0b21lci1uYW1lLXByZWZpeCBzZWxlY3Q6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuZmllbGQuY3VzdG9tZXItbmFtZS1wcmVmaXggc2VsZWN0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY0NjA0O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjNGRjQ2MDQnJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAxMDAlKTsgfVxuICAgICAgLmllMTEgLmZpZWxkLmN1c3RvbWVyLW5hbWUtcHJlZml4IHNlbGVjdDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5pZTExIC5maWVsZC5jdXN0b21lci1uYW1lLXByZWZpeCBzZWxlY3Q6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyUyM0ZGNDYwNCclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gICAgLmZpZWxkLmN1c3RvbWVyLW5hbWUtcHJlZml4IHNlbGVjdFtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTsgfVxuICAgIC5maWVsZC5jdXN0b21lci1uYW1lLXByZWZpeCBzZWxlY3Qgb3B0aW9uIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY29sb3I6IGluaXRpYWw7IH1cbiAgICAuaWUxMSAuZmllbGQuY3VzdG9tZXItbmFtZS1wcmVmaXggc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjNkY2RjZGMnJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMC43ZW0gMC43ZW0sIDEwMCU7IH1cbiAgLmZpZWxkLl9lcnJvciAuaW5wdXQtdGV4dCwgLmZpZWxkLl9lcnJvciAuaW5wdXQtdGV4dDpob3Zlcjpub3QoOmZvY3VzKSxcbiAgLmZpZWxkLl9lcnJvciAuY2hlY2tib3gsXG4gIC5maWVsZC5fZXJyb3IgLmNoZWNrYm94OmhvdmVyOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0MxQzNBOyB9XG4gIC5maWVsZCAuY29udHJvbC5fd2l0aC10b29sdGlwIGlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmZpZWxkIC5maWVsZC10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gICAgLmZpZWxkIC5maWVsZC10b29sdGlwIC5sYWJlbCxcbiAgICAuZmllbGQgLmZpZWxkLXRvb2x0aXAgLmZpZWxkLXRvb2x0aXAtYWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZmllbGQgLmZpZWxkLXRvb2x0aXAgLmZpZWxkLXRvb2x0aXAtY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgICBwYWRkaW5nOiAwLjNlbSAwIDA7XG4gICAgICBjb2xvcjogIzY5Njk2OTsgfVxuICAgICAgLmZpZWxkIC5maWVsZC10b29sdGlwIC5maWVsZC10b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAuZmllbGQgLmZpZWxkLXRvb2x0aXAgLmZpZWxkLXRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZpZWxkIC5ub3RlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBwYWRkaW5nOiAwLjNlbSAwIDA7XG4gICAgY29sb3I6ICM2OTY5Njk7IH1cblxuZGl2Lm1hZ2UtZXJyb3IsXG5kaXYuZmllbGQtZXJyb3Ige1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg1ZW07XG4gIHBhZGRpbmc6IDAuM2VtIDAgMDtcbiAgY29sb3I6ICM2OTY5Njk7XG4gIGNvbG9yOiAjQ0MxQzNBOyB9XG5cbi5vcGMtd3JhcHBlciAuc2VsZWN0LXdyYXAsXG4uZXN0aW1hdGUgLnNlbGVjdC13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5vcGMtd3JhcHBlciAuc2VsZWN0LXdyYXAgc2VsZWN0LFxuICAuZXN0aW1hdGUgLnNlbGVjdC13cmFwIHNlbGVjdCB7XG4gICAgcGFkZGluZy1yaWdodDogNTBweDsgfVxuICAub3BjLXdyYXBwZXIgLnNlbGVjdC13cmFwOmFmdGVyLFxuICAuZXN0aW1hdGUgLnNlbGVjdC13cmFwOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy93aGl0ZS1hcnJvdy5zdmdcIik7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbnNtYWxsLnJlcXVpcmVkLWZpZWxkcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGNvbG9yOiAjNkU2RTZFOyB9XG4gIHNtYWxsLnJlcXVpcmVkLWZpZWxkcyBzcGFuIHtcbiAgICBjb2xvcjogI0NDMUMzQTsgfVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuQG1peGluIGZpZWxkLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1lcnJvci1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtbGFiZWwtaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWxhYmVsLXJlcXVpcmVkLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1jb250cm9sLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1pbnB1dC1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtaW5wdXQtZXJyb3ItaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWljb24taG9vaygkdHlwZTogJycpIHtcbn1cblxuQG1peGluIGZpZWxkLW5vdGUtaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWVycm9yLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC13YXJuaW5nLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1zZWxlY3QtaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLXJhZGlvLWhvb2soKSB7XG59XG5cbkBtaXhpbiBmaWVsZC1yYWRpby1sYWJlbC1ob29rKCkge1xufVxuXG5AbWl4aW4gZmllbGQtY2hlY2tib3gtaG9vaygpIHtcbn1cblxuQG1peGluIGZpZWxkLWNoZWNrYm94LWxhYmVsLWhvb2soKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3V0aWxzL3VyaS1mcmllbmRseS1oZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9maWVsZC9ob29rJztcblxuJGZpZWxkX2ZvbnQtc2l6ZTogMS4zcmVtICFkZWZhdWx0O1xuJGZpZWxkX3RyYW5zaXRpb24tdGltZTogMC41cyAhZGVmYXVsdDtcblxuJGZpZWxkX2xhYmVsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kZmllbGRfbGFiZWwtZm9udC1zaXplOiAwLjg1ZW0gIWRlZmF1bHQ7XG4kZmllbGRfbGFiZWwtY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG4kZmllbGRfbGFiZWwtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG4kZmllbGRfbGFiZWwtbWFyZ2luOiAwIDAgM3B4IDAgIWRlZmF1bHQ7XG5cbiRmaWVsZF9pbnB1dC1mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1saW5lLWhlaWdodDogJGJ1dHRvbl9saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1wYWRkaW5nOiAxMXB4IDEwcHggIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtYm9yZGVyLWFjdGl2ZTogMXB4IHNvbGlkICRjb2xvci1wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJGZpZWxkX2lucHV0LWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtYm94LXNoYWRvdy1hY3RpdmU6IG5vbmUgIWRlZmF1bHQ7XG4kZmllbGRfaW5wdXQtZGlzYWJsZWQtb3BhY2l0eTogMC42NSAhZGVmYXVsdDtcbiRmaWVsZF9pbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJGNvbG9yX2dyYXkgIWRlZmF1bHQ7XG5cbiRmaWVsZF9lcnJvci1mb250LXNpemU6ICRmaWVsZF9sYWJlbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZmllbGRfZXJyb3ItaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2Vycm9yLTUwMCAhZGVmYXVsdDtcblxuJGZpZWxkX25vdGUtZm9udC1zaXplOiAkZmllbGRfbGFiZWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZpZWxkX25vdGUtY29sb3I6ICRjb2xvcl90ZXh0LTUwMCAhZGVmYXVsdDtcblxuJGZpZWxkX2Vycm9yLWNvbG9yOiAkY29sb3JfZXJyb3ItNTAwICFkZWZhdWx0O1xuXG4kZmllbGRfd2FybmluZy1jb2xvcjogJGNvbG9yX3dhcm5pbmctNTAwICFkZWZhdWx0O1xuLy8gQmFzZWQgb24gaHR0cHM6Ly93d3cuZmlsYW1lbnRncm91cC5jb20vbGFiL3NlbGVjdC1jc3MuaHRtbFxuJGZpZWxkX3NlbGVjdC1mb250LXNpemU6ICRmaWVsZF9pbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWxpbmUtaGVpZ2h0OiAkZmllbGRfaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LXBhZGRpbmc6ICRmaWVsZF9pbnB1dC1wYWRkaW5nICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1wYWRkaW5nLXJpZ2h0OiAyLjNlbSAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcblxuJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjhlbSB0b3AgNTIlLCAwIDAgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWJhY2tncm91bmQtc2l6ZTogMC43ZW0gYXV0bywgMTAwJSAhZGVmYXVsdDtcbi8vIElFIGRvZXNuJ3QgdW5kZXJzdGFuZCBrZXl3b3JkIGF1dG8gaW4gYmFja2dyb3VuZC1zaXplXG4kZmllbGRfc2VsZWN0LWJhY2tncm91bmQtc2l6ZS0taWU6IDAuN2VtIDAuN2VtLCAxMDAlICFkZWZhdWx0O1xuXG4vLyBOb3RlIHRoYXQgc2VsZWN0IGJhY2tncm91bmQgbmVlZHMgdG8gYmUgZGVmaW5lZCBhcyBiYWNrZ3JvdW5kLWltYWdlIHRvIHByZXZlbnRcbi8vIG9wdGlvbiBlbGVtZW50cyBmcm9tIGluaGVyaXRpbmcgaXQgb24gc29tZSBicm93c2Vycy5cbiRmaWVsZF9zZWxlY3QtaWNvbi1maWxsOiAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtaWNvbi1maWxsLWFjdGl2ZTogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nI3t1cmktZnJpZW5kbHktaGV4KCRmaWVsZF9zZWxlY3QtaWNvbi1maWxsKX0nJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKSxcbiAgICBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDEwMCUpICFkZWZhdWx0O1xuLy8gSUUgZG9lc24ndCBzdXBwb3J0IGxpbmVhci1ncmFkaWVudCgpIHVzZWQgaW4gdGhpcyBjb250ZXh0XG4kZmllbGRfc2VsZWN0LWJhY2tncm91bmQtaW1hZ2UtLWllOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nI3t1cmktZnJpZW5kbHktaGV4KCRmaWVsZF9zZWxlY3QtaWNvbi1maWxsKX0nJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKSAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1hY3RpdmU6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPScje3VyaS1mcmllbmRseS1oZXgoJGZpZWxkX3NlbGVjdC1pY29uLWZpbGwtYWN0aXZlKX0nJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKSxcbiAgICBsaW5lYXItZ3JhZGllbnQoMGRlZywgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDEwMCUpICFkZWZhdWx0O1xuLy8gSUUgZG9lc24ndCBzdXBwb3J0IGxpbmVhci1ncmFkaWVudCgpIHVzZWQgaW4gdGhpcyBjb250ZXh0XG4kZmllbGRfc2VsZWN0LWJhY2tncm91bmQtYWN0aXZlLS1pZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyN7dXJpLWZyaWVuZGx5LWhleCgkZmllbGRfc2VsZWN0LWljb24tZmlsbC1hY3RpdmUpfSclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpICFkZWZhdWx0O1xuXG4kZmllbGRfc2VsZWN0LWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1ib3JkZXItYWN0aXZlOiAxcHggc29saWQgJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuJGZpZWxkX3NlbGVjdC1ib3gtc2hhZG93LWFjdGl2ZTogbm9uZSAhZGVmYXVsdDtcbiRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkX2lucHV0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZmllbGRfc2VsZWN0LWRpc2FibGVkLW9wYWNpdHk6ICRmaWVsZF9pbnB1dC1kaXNhYmxlZC1vcGFjaXR5ICFkZWZhdWx0O1xuXG4vKiBSYWRpbyBhbmQgY2hlY2tib3ggc3R5bGluZyAqL1xuJGZpZWxkX3JhZGlvLWZvbnQtc2l6ZTogMS42cmVtICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLXNpemU6IDIwcHggIWRlZmF1bHQ7XG4vLyBMZXRzIHlvdSBhZGp1c3QgYm90aCByYWRpbyBhbmQgY2hlY2tib3ggYWxpZ25tZW50IGJhc2VkIG9uIGZvbnQgeW91J3ZlIGNob3Nlbi5cbiRmaWVsZF9yYWRpby1vZmZzZXQ6IC0wLjA2MjVlbSAhZGVmYXVsdDtcbi8vIEFsaWduaW5nIGFueXRoaW5nIHRoYXQgY29tZXMgYWZ0ZXIgd2l0aCBpbnB1dCBwYWRkaW5ncywgdGhpcyAxcHggc3RhbmRzIGZvciBpbnB1dCdzIGJvcmRlciB3aWR0aC5cbiRmaWVsZF9yYWRpby1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbiRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLXNpemU6IDFlbSAxZW0gIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tYmFja2dyb3VuZC1jb2xvci1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtY29sb3ItY2hlY2tlZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8taWNvbi1maWxsOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tYmFja2dyb3VuZC1pbWFnZS1jaGVja2VkOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2Nzdmcgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjY2lyY2xlIGZpbGw9JyN7dXJpLWZyaWVuZGx5LWhleCgkZmllbGRfcmFkaW8taWNvbi1maWxsKX0nIHI9JzQnIGN5PSc3JyBjeD0nNycvJTNlJTNjL3N2ZyUzZVwiKSAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1iYWNrZ3JvdW5kLWltYWdlLWNoZWNrZWQtaWUxMTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY2NpcmNsZSBmaWxsPScje3VyaS1mcmllbmRseS1oZXgoJGZpZWxkX3JhZGlvLWljb24tZmlsbCl9JyByPSc0JyBjeT0nNi41JyBjeD0nNi41Jy8lM2UlM2Mvc3ZnJTNlXCIpICFkZWZhdWx0O1xuXG4kZmllbGRfcmFkaW8tYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kZmllbGRfcmFkaW8tYm9yZGVyLWFjdGl2ZTogMXB4IHNvbGlkICRjb2xvci1wcmltYXJ5LTgwMCAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1ib3JkZXItY2hlY2tlZDogNnB4IHNvbGlkICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJveC1zaGFkb3ctYWN0aXZlOiBub25lICFkZWZhdWx0O1xuJGZpZWxkX3JhZGlvLWJveC1zaGFkb3ctY2hlY2tlZDogbm9uZSAhZGVmYXVsdDtcbiRmaWVsZF9yYWRpby1kaXNhYmxlZC1vcGFjaXR5OiAkZmllbGRfaW5wdXQtZGlzYWJsZWQtb3BhY2l0eSAhZGVmYXVsdDtcblxuJGZpZWxkX2NoZWNrYm94LWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XG4kZmllbGRfY2hlY2tib3gtYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtICFkZWZhdWx0O1xuJGZpZWxkX2NoZWNrYm94LWljb24tZmlsbDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGZpZWxkX2NoZWNrYm94LWJhY2tncm91bmQtaW1hZ2UtY2hlY2tlZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHdpZHRoPScxNCcgaGVpZ2h0PScxNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGggZmlsbD0nI3t1cmktZnJpZW5kbHktaGV4KCRmaWVsZF9jaGVja2JveC1pY29uLWZpbGwpfScgZD0nTTUuMzEzIDEwLjEwOEg1LjI0YTEuMDY0IDEuMDA1IDAgMCAxLS43NS0uNDFsLTEuOTQ3LTIuNTVhMS4wNjQgMS4wMDUgMCAwIDEgMS43MjMtMS4xNzVMNS40NjMgNy41NiA5LjA2IDQuMTlhMS4wNjQgMS4wMDUgMCAwIDEgLjc1LS4yOTdoLjg0NmExLjA2NCAxLjAwNSAwIDAgMSAwIDIuMDA0aC0uNDVMNi4wNjQgOS44MWExLjA2NCAxLjAwNSAwIDAgMS0uNzUuMjk4eicvJTNlJTNjL3N2ZyUzZVwiKSAhZGVmYXVsdDtcblxuJGZpZWxkX2ljb24td2lkdGg6IDEuM2VtICFkZWZhdWx0O1xuJGZpZWxkX2ljb24taGVpZ2h0OiAxLjNlbSAhZGVmYXVsdDtcbiRmaWVsZF9pY29uLXN1Y2Nlc3MtYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvY2hlY2stZ3JlZW4uc3ZnJykgbm8tcmVwZWF0XG4gICAgY2VudGVyIGNlbnRlciAvIGNvbnRhaW4gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZCgpIHtcbiAgICBmb250LXNpemU6ICRmaWVsZF9mb250LXNpemU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1lcnJvcigpIHtcbiAgICBmb250LXNpemU6ICRmaWVsZF9lcnJvci1mb250LXNpemU7XG4gICAgY29sb3I6ICRjb2xvcl9lcnJvci01MDA7XG4gICAgbWFyZ2luLXRvcDogMC4yZW07XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1lcnJvci1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1sYWJlbCgpIHtcbiAgICBmb250LXdlaWdodDogJGZpZWxkX2xhYmVsLWZvbnQtd2VpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZpZWxkX2xhYmVsLWZvbnQtc2l6ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGZpZWxkX2xhYmVsLXRleHQtdHJhbnNmb3JtO1xuICAgIGNvbG9yOiAkZmllbGRfbGFiZWwtY29sb3I7XG4gICAgbWFyZ2luOiAkZmllbGRfbGFiZWwtbWFyZ2luO1xuXG4gICAgQGluY2x1ZGUgZmllbGQtbGFiZWwtaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtbGFiZWwtcmVxdWlyZWQoKSB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcgKic7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfZXJyb3ItNTAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZpZWxkLWxhYmVsLXJlcXVpcmVkLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWNvbnRyb2woKSB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1jb250cm9sLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLWlucHV0KCkge1xuICAgIGZvbnQtc2l6ZTogJGZpZWxkX2lucHV0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGZpZWxkX2lucHV0LWxpbmUtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRmaWVsZF9pbnB1dC1wYWRkaW5nO1xuICAgIGNvbG9yOiAkZmllbGRfaW5wdXQtY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGZpZWxkX2lucHV0LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGZpZWxkX2lucHV0LWJvcmRlci1yYWRpdXM7XG4gICAgYm9yZGVyOiAkZmllbGRfaW5wdXQtYm9yZGVyO1xuICAgIGJveC1zaGFkb3c6ICRmaWVsZF9pbnB1dC1ib3gtc2hhZG93O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkZmllbGRfdHJhbnNpdGlvbi10aW1lO1xuICAgIG1hcmdpbjogMCAwIDAuMmVtOyAvLyBBZGQgc3BhY2luZyB1bmRlciBsYWJlbC4gVGhpcyBjYW4ndCBiZSBhZGRlZCB0byBsYWJlbCBpdHNlbGYgYmVjYXVzZSB0aGV5IGFyZSBzb21ldGltZXMgcmVuZGVyZWQgZW1wdHkuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogNDBweDtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94OyAvLyBSZW1vdmVzIGRyb3Agc2hhZG93IGZyb20gaW5wdXRzIG9uIGlPUy5cbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgICAgIGJvcmRlcjogJGZpZWxkX2lucHV0LWJvcmRlci1hY3RpdmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkZmllbGRfaW5wdXQtYm94LXNoYWRvdy1hY3RpdmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGNvbG9yOiAkZmllbGRfaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBvcGFjaXR5OiAkZmllbGRfaW5wdXQtZGlzYWJsZWQtb3BhY2l0eTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dC1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1pbnB1dC1lcnJvcigpIHtcbiAgICAmLFxuICAgICY6aG92ZXI6bm90KDpmb2N1cykge1xuICAgICAgICBib3JkZXI6ICRmaWVsZF9lcnJvci1pbnB1dC1ib3JkZXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmllbGQtaW5wdXQtZXJyb3ItaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtaWNvbigkdHlwZTogJycpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6ICRmaWVsZF9pY29uLXdpZHRoO1xuICAgIGhlaWdodDogJGZpZWxkX2ljb24taGVpZ2h0O1xuICAgIHJpZ2h0OiAwLjhlbTtcbiAgICB0b3A6IDAuOGVtO1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaWYgKCR0eXBlID09ICdzdWNjZXNzJykge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZmllbGRfaWNvbi1zdWNjZXNzLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZmllbGQtaWNvbi1ob29rKCR0eXBlKTtcbn1cblxuQG1peGluIGZpZWxkLW5vdGUoKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkZmllbGRfbm90ZS1mb250LXNpemU7XG4gICAgcGFkZGluZzogMC4zZW0gMCAwO1xuICAgIGNvbG9yOiAkZmllbGRfbm90ZS1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGZpZWxkLW5vdGUtaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtZXJyb3IoKSB7XG4gICAgQGluY2x1ZGUgZmllbGQtbm90ZSgpO1xuXG4gICAgY29sb3I6ICRmaWVsZF9lcnJvci1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGZpZWxkLWVycm9yLWhvb2soKTtcbn1cblxuQG1peGluIGZpZWxkLXdhcm5pbmcoKSB7XG4gICAgQGluY2x1ZGUgZmllbGQtbm90ZSgpO1xuXG4gICAgY29sb3I6ICRmaWVsZF93YXJuaW5nLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgZmllbGQtd2FybmluZy1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1zZWxlY3QoKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkZmllbGRfc2VsZWN0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGZpZWxkX3NlbGVjdC1saW5lLWhlaWdodDtcbiAgICBwYWRkaW5nOiAkZmllbGRfc2VsZWN0LXBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJGZpZWxkX3NlbGVjdC1wYWRkaW5nLXJpZ2h0O1xuICAgIGNvbG9yOiAkZmllbGRfc2VsZWN0LWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmaWVsZF9zZWxlY3QtYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXI6ICRmaWVsZF9zZWxlY3QtYm9yZGVyO1xuICAgIGJveC1zaGFkb3c6ICRmaWVsZF9zZWxlY3QtYm94LXNoYWRvdztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07IC8vIEFkZCBzcGFjaW5nIHVuZGVyIGxhYmVsLiBUaGlzIGNhbid0IGJlIGFkZGVkIHRvIGxhYmVsIGl0c2VsZiBiZWNhdXNlIHRoZXkgYXJlIHNvbWV0aW1lcyByZW5kZXJlZCBlbXB0eS5cbiAgICBvdXRsaW5lOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1pbWFnZTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCByZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLXBvc2l0aW9uO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJGZpZWxkX3NlbGVjdC1iYWNrZ3JvdW5kLXNpemU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRmaWVsZF90cmFuc2l0aW9uLXRpbWU7XG5cbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5XG4gICAgJjotbW96LWZvY3VzcmluZyxcbiAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIEhpZGUgbmF0aXZlIGRyb3Bkb3duIGFycm93IG9uIElFIDEwLzExLlxuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgICAgIGJvcmRlcjogJGZpZWxkX3NlbGVjdC1ib3JkZXItYWN0aXZlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJGZpZWxkX3NlbGVjdC1ib3gtc2hhZG93LWFjdGl2ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAgICAgICAgIC8vIFVzZSBkaWZmZXJlbnQgc2V0IG9mIHByb3BlcnRpZXMgdGhhdCB3aWxsIHdvcmsgaW4gSUVcbiAgICAgICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1hY3RpdmUtLWllO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBvcGFjaXR5OiAkZmllbGRfc2VsZWN0LWRpc2FibGVkLW9wYWNpdHk7XG4gICAgfVxuXG4gICAgb3B0aW9uIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY29sb3I6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLy8gVXNlIGRpZmZlcmVudCBzZXQgb2YgcHJvcGVydGllcyB0aGF0IHdpbGwgd29yayBpbiBJRVxuICAgIC5pZTExICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkZmllbGRfc2VsZWN0LWJhY2tncm91bmQtaW1hZ2UtLWllO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRmaWVsZF9zZWxlY3QtYmFja2dyb3VuZC1zaXplLS1pZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1zZWxlY3QtaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtcmFkaW8tbGFiZWwoKSB7XG4gICAgQGluY2x1ZGUgZmllbGQtcmFkaW8tbGFiZWwtaG9vaygpO1xufVxuXG5AbWl4aW4gZmllbGQtcmFkaW8oKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogJGZpZWxkX3JhZGlvLXNpemU7XG4gICAgd2lkdGg6ICRmaWVsZF9yYWRpby1zaXplO1xuICAgIG1hcmdpbjogJGZpZWxkX3JhZGlvLW1hcmdpbjtcbiAgICBmb250LXNpemU6ICRmaWVsZF9yYWRpby1mb250LXNpemU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgZmxleDogMCAwIGF1dG87IC8vIFByZXZlbnQgZmxleCBwYXJlbnQgZnJvbSBicmVha2luZyBkaW1lbnNpb25zLlxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGJvcmRlcjogJGZpZWxkX3JhZGlvLWJvcmRlcjtcbiAgICBib3gtc2hhZG93OiAkZmllbGRfcmFkaW8tYm94LXNoYWRvdztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRfcmFkaW8tYmFja2dyb3VuZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkZmllbGRfcmFkaW8tYmFja2dyb3VuZC1zaXplO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGZpZWxkX3RyYW5zaXRpb24tdGltZSxcbiAgICAgICAgYm9yZGVyLWNvbG9yICRmaWVsZF90cmFuc2l0aW9uLXRpbWU7XG5cbiAgICAvLyBTdHlsaW5nIGZvciBJRTExLCBuZWVkcyB0byBiZSBkdXBsaWNhdGVkLlxuICAgICY6Oi1tcy1jaGVjayB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAkZmllbGRfcmFkaW8tYm9yZGVyO1xuICAgICAgICBib3gtc2hhZG93OiAkZmllbGRfcmFkaW8tYm94LXNoYWRvdztcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkZmllbGRfcmFkaW8tYmFja2dyb3VuZC1zaXplO1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGZpZWxkX3RyYW5zaXRpb24tdGltZSxcbiAgICAgICAgICAgIGJvcmRlci1jb2xvciAkZmllbGRfdHJhbnNpdGlvbi10aW1lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRfcmFkaW8tYmFja2dyb3VuZC1jb2xvci1jaGVja2VkO1xuICAgIH1cblxuICAgICY6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgICAgIGJvcmRlcjogJGZpZWxkX3JhZGlvLWJvcmRlci1hY3RpdmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkZmllbGRfcmFkaW8tYm94LXNoYWRvdy1hY3RpdmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRfcmFkaW8tYmFja2dyb3VuZC1jb2xvci1hY3RpdmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmNoZWNrZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkZmllbGRfcmFkaW8tYmFja2dyb3VuZC1pbWFnZS1jaGVja2VkO1xuXG4gICAgICAgICY6Oi1tcy1jaGVjayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkZmllbGRfcmFkaW8tYmFja2dyb3VuZC1pbWFnZS1jaGVja2VkLWllMTE7XG4gICAgICAgIH1cblxuICAgICAgICAmLFxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICAgIGJvcmRlcjogJGZpZWxkX3JhZGlvLWJvcmRlci1jaGVja2VkO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZpZWxkX3JhZGlvLWJhY2tncm91bmQtY29sb3ItY2hlY2tlZDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRmaWVsZF9yYWRpby1ib3gtc2hhZG93LWNoZWNrZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSxcbiAgICAmW2Rpc2FibGVkXSArIC5sYWJlbCxcbiAgICAmW2Rpc2FibGVkXSArIC5jcy1pbnB1dF9fbGFiZWwge1xuICAgICAgICBvcGFjaXR5OiAkZmllbGRfcmFkaW8tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICB9XG4gICAgLy8gc3R5bGVsaW50LWVuYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5XG5cbiAgICBAaW5jbHVkZSBmaWVsZC1yYWRpby1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1jaGVja2JveC1sYWJlbCgpIHtcbiAgICBAaW5jbHVkZSBmaWVsZC1jaGVja2JveC1sYWJlbC1ob29rKCk7XG59XG5cbkBtaXhpbiBmaWVsZC1jaGVja2JveCgpIHtcbiAgICBAaW5jbHVkZSBmaWVsZC1yYWRpbygpO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmaWVsZF9jaGVja2JveC1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJGZpZWxkX2NoZWNrYm94LWJhY2tncm91bmQtc2l6ZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG5cbiAgICAvLyBTdHlsaW5nIGZvciBJRTExLCBuZWVkcyB0byBiZSBkdXBsaWNhdGVkLlxuICAgICY6Oi1tcy1jaGVjayB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGZpZWxkX2NoZWNrYm94LWJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGZpZWxkX2NoZWNrYm94LWJhY2tncm91bmQtc2l6ZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX3ByaW1hcnktNTAwO1xuICAgIH1cblxuICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRmaWVsZF9jaGVja2JveC1iYWNrZ3JvdW5kLWltYWdlLWNoZWNrZWQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9wcmltYXJ5LTUwMDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgICAgICY6Oi1tcy1jaGVjayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkZmllbGRfY2hlY2tib3gtYmFja2dyb3VuZC1pbWFnZS1jaGVja2VkO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjpob3ZlciAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJGZpZWxkX2NoZWNrYm94LWJhY2tncm91bmQtaW1hZ2UtY2hlY2tlZDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9wcmltYXJ5LTUwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGZpZWxkLWNoZWNrYm94LWhvb2soKTtcbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9maWVsZC9taXhpbic7XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cblxuLy8gT3VyIEJFTSBjb21wb25lbnQuXG4uY3MtZmllbGQsXG4vLyBMZWZ0IGZvciBub3cgZm9yIGNvbXBhdGliaWxpdHkgc2FrZS5cbi5jcy1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZmllbGQoKTtcblxuICAgICZfX2NvbnRyb2wge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1jb250cm9sKCk7XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1sYWJlbCgpO1xuXG4gICAgICAgIC5yZXF1aXJlZCAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWxhYmVsLXJlcXVpcmVkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbnB1dCxcbiAgICAmX190ZXh0YXJlYSB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0KCk7XG5cbiAgICAgICAgJi5tYWdlLWVycm9yIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0LWVycm9yKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zZWxlY3Qge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1zZWxlY3QoKTtcbiAgICB9XG5cbiAgICAmX19yYWRpbyB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLXJhZGlvKCk7XG5cbiAgICAgICAgLy8gVG8gcmV3cml0ZSB0byBwcm9wZXIgc2NzcyBzeW50YXggYWZ0ZXIgZ2V0dGluZyByaWQgb2YgLmNzLWlucHV0IGNsYXNzXG4gICAgICAgICYgKyAuY3MtaW5wdXRfX2xhYmVsLFxuICAgICAgICAmICsgLmNzLWZpZWxkX19sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1yYWRpby1sYWJlbCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2hlY2tib3gge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1jaGVja2JveCgpO1xuXG4gICAgICAgICYubWFnZS1lcnJvciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dC1lcnJvcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVG8gcmV3cml0ZSB0byBwcm9wZXIgc2NzcyBzeW50YXggYWZ0ZXIgZ2V0dGluZyByaWQgb2YgLmNzLWlucHV0IGNsYXNzXG4gICAgICAgICYgKyAuY3MtaW5wdXRfX2xhYmVsLFxuICAgICAgICAmICsgLmNzLWZpZWxkX19sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1jaGVja2JveC1sYWJlbCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWljb24oKTtcbiAgICB9XG5cbiAgICAmX19ub3RlIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtbm90ZSgpO1xuICAgIH1cblxuICAgICZfX2Vycm9yIHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtZXJyb3IoKTtcbiAgICB9XG59XG4vLyBNYWdlbnRvIGNsYXNzZXMgdXNlZCBpbiBjaGVja291dCwgbG9naW4vcmVnaXN0ZXIgZm9ybXMgZXRjLlxuLmZpZWxkIHtcbiAgICBAaW5jbHVkZSBmaWVsZCgpO1xuXG4gICAgJi5ub3RlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICB9XG5cbiAgICAmLl9zdWNjZXNzOm5vdCguX3dhcm4pIHtcbiAgICAgICAgLmNvbnRyb2wge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1pY29uKCdzdWNjZXNzJyk7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udHJvbCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWNvbnRyb2woKTtcblxuICAgICAgICA+IHRleHRhcmVhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1sYWJlbCgpO1xuICAgIH1cblxuICAgICYucmVxdWlyZWQsXG4gICAgJi5fcmVxdWlyZWQge1xuICAgICAgICA+IC5sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1sYWJlbC1yZXF1aXJlZCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5yZXF1aXJlZCB7XG4gICAgICAgIC5fcmVxdWlyZWQge1xuICAgICAgICAgICAgPiAubGFiZWwge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAvLyBIaWRlIGFzdGVyaXNrcyBmb3IgbGFiZWxzIGluc2lkZSBmaWVsZHNldHMgYXMgdGhleSBhcmUgdXN1YWxseSByZW5kZXJlZCBlbXB0eS5cbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5wdXQtdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0KCk7XG5cbiAgICAgICAgJi5tYWdlLWVycm9yIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0LWVycm9yKCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnJlcXVpcmVkLWVudHJ5IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0IHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtc2VsZWN0KCk7XG4gICAgfVxuXG4gICAgLmNoZWNrYm94IHtcbiAgICAgICAgQGluY2x1ZGUgZmllbGQtY2hlY2tib3goKTtcblxuICAgICAgICAmLm1hZ2UtZXJyb3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtaW5wdXQtZXJyb3IoKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYgKyAubGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtY2hlY2tib3gtbGFiZWwoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yYWRpbyB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLXJhZGlvKCk7XG5cbiAgICAgICAgJiArIC5sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1yYWRpby1sYWJlbCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5jaG9pY2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpdi5tYWdlLWVycm9yIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmN1c3RvbWVyLW5hbWUtcHJlZml4IHtcbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLXNlbGVjdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5fZXJyb3Ige1xuICAgICAgICAuaW5wdXQtdGV4dCxcbiAgICAgICAgLmNoZWNrYm94IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZpZWxkLWlucHV0LWVycm9yKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXZlcnRpbmcgc3R5bGVzIGZvciBpbnB1dCB3aXRoIHRvb2x0aXAuXG4gICAgLmNvbnRyb2wuX3dpdGgtdG9vbHRpcCBpbnB1dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgIC8vIFJldmVydGluZyBpbmZvIHRvb2x0aXAgc3R5bGVzIHRvIG1ha2UgaXQgYXBwZWFyIGFzIG5vdGUgYmVsb3cgdGhlIGlucHV0LlxuICAgIC5maWVsZC10b29sdGlwIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcblxuICAgICAgICAubGFiZWwsXG4gICAgICAgIC5maWVsZC10b29sdGlwLWFjdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkLXRvb2x0aXAtY29udGVudCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZmllbGQtbm90ZSgpO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubm90ZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLW5vdGUoKTtcbiAgICB9XG59XG4vLyBIYXMgdG8gYmUgc2NvcGVkIHRvIGRpdiwgb3RoZXJ3aXNlIGl0IGNvbGxpZGVzIHdpdGggaW5wdXQgY2xhc3MuXG5kaXYubWFnZS1lcnJvcixcbmRpdi5maWVsZC1lcnJvciB7XG4gICAgQGluY2x1ZGUgZmllbGQtZXJyb3IoKTtcbn1cbi5vcGMtd3JhcHBlcixcbi5lc3RpbWF0ZSB7XG4gICAgLnNlbGVjdC13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9ibGFjaztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3doaXRlLWFycm93LnN2Z1wiKTtcbiAgICAgICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbnNtYWxsLnJlcXVpcmVkLWZpZWxkcyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6ICRjb2xvcl9ncmF5O1xuICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogJGNvbG9yX3ByaW1hcnktcmVkO1xuICAgIH1cbn1cblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiLyoqXG4gKiBGb290ZXIgY29tcG9uZW50IGN1c3RvbWl6YXRpb24uXG4gKiBAc2VlIC9NYWdlbnRvX1RoZW1lL3RlbXBsYXRlcy9mb290ZXIvY29sdW1ucy5waHRtbCBmb3IgdGVtcGxhdGVzLlxuICovXG5AaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wc2V1ZG9pY29uL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdHlwb2dyYXBoeS9taXhpbic7XG5cbiRmb290ZXJfdGV4dC1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMDAwIHVybChcIi4uL2ltYWdlcy9mb290ZXItYmctaW1hZ2UuanBnXCIpIG5vLXJlcGVhdCAhZGVmYXVsdDtcbiRmb290ZXJfZWRnZS1ndXR0ZXI6ICRwYWdlX2VkZ2UtZ3V0dGVyICFkZWZhdWx0O1xuXG4kZm9vdGVyX3NlY3Rpb24tZWRnZS1ndXR0ZXI6ICRwYWdlX2VkZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGZvb3Rlcl9zZWN0aW9uLXZlcnRpY2FsLW9mZnNldDogMmVtICFkZWZhdWx0O1xuXG4kZm9vdGVyX3NlY3Rpb24tc2VwYXJhdG9yLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ncmF5ICFkZWZhdWx0O1xuXG4kZm9vdGVyX3NlY3Rpb24tdGl0bGUtaGVhZGxpbmUtbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtNCAhZGVmYXVsdDtcbiRmb290ZXJfc2VjdGlvbi10aXRsZS1wYWRkaW5nOiAkZm9vdGVyX3NlY3Rpb24tdmVydGljYWwtb2Zmc2V0XG4gICAgJGZvb3Rlcl9zZWN0aW9uLWVkZ2UtZ3V0dGVyIDAuN2VtICFkZWZhdWx0O1xuJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kZm9vdGVyX3NlY3Rpb24tdGl0bGUtZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG4kZm9vdGVyX3NlY3Rpb24tdGl0bGUtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG5cbiRmb290ZXJfc2VjdGlvbi1wc2V1ZG9pY29uLWluY2x1ZGU6IHRydWUgIWRlZmF1bHQ7XG5cbiRmb290ZXJfcHJvbW8tZGlzcGxheS1vbi1tb2JpbGU6IGZhbHNlICFkZWZhdWx0O1xuJGZvb3Rlcl9sb2dvLWRpc3BsYXk6IGJsb2NrICFkZWZhdWx0O1xuJGZvb3Rlcl9sb2dvLXdpZHRoOiAxMy41ZW0gIWRlZmF1bHQ7XG4kZm9vdGVyX2xvZ28taGVpZ2h0OiAyLjNlbSAhZGVmYXVsdDtcblxuLiN7JG5zfWZvb3RlciB7XG4gICAgJHJvb3Q6ICY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAkZm9vdGVyX3RleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGZvb3Rlcl9iYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwIDAgMnJlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogNDF2dztcbiAgICAgICAgcGFkZGluZzogMCAkZm9vdGVyX2VkZ2UtZ3V0dGVyO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMy4ycmVtO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wcm9tbyB7XG4gICAgICAgICAgICBAaWYgJGZvb3Rlcl9wcm9tby1kaXNwbGF5LW9uLW1vYmlsZSA9PSBmYWxzZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxpbmtzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfYmxhY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAxMHB4IDMwcHg7XG5cbiAgICAgICAgICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uICB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDEgMSA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWV4dHJhcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDEuNDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE3cHggMjBweCAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VjdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1uZXdzbGV0dGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAudG9wLWxpbmtzX19waG9uZS1pY29uIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL3RlbGVwaG9uZTY2LnN2Zykgbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE5cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMTJweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMCAwIDI4cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMTNweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNzLW5ld3NsZXR0ZXIge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAzO1xuXG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZV9wYXJhZ3JhcGg7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDI7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2MTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNvY2lhbHMge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zdG9yZXMtc3dpdGNoZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICB9XG5cbiAgICAmX19zZWN0aW9uLXRpdGxlLFxuICAgIFtkYXRhLXJvbGU9J3RpdGxlJ10ge1xuICAgICAgICBAaWYgJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLWhlYWRsaW5lLWxldmVsICE9ICdub25lJyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBoZWFkbGluZSgkbGV2ZWw6ICRmb290ZXJfc2VjdGlvbi10aXRsZS1oZWFkbGluZS1sZXZlbCk7XG4gICAgICAgIH1cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDI1cHggMCAwO1xuICAgICAgICBwYWRkaW5nOiAkZm9vdGVyX3NlY3Rpb24tdGl0bGUtcGFkZGluZztcbiAgICAgICAgY29sb3I6ICRmb290ZXJfc2VjdGlvbi10aXRsZS1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkZm9vdGVyX3NlY3Rpb24tdGl0bGUtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlcl9zZWN0aW9uLXRpdGxlLXRyYW5zZm9ybTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdICYsXG4gICAgICAgICAgICAjeyRyb290fV9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXSAmIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICBAaWYgJGZvb3Rlcl9zZWN0aW9uLXBzZXVkb2ljb24taW5jbHVkZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBzZXVkb2ljb24oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19zZWN0aW9uLS1zb2NpYWxzICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VjdGlvbi1jb250ZW50LFxuICAgIFtkYXRhLXJvbGU9J2NvbnRlbnQnXSB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGZvb3Rlcl9zZWN0aW9uLWVkZ2UtZ3V0dGVyICRmb290ZXJfc2VjdGlvbi1lZGdlLWd1dHRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAjeyRyb290fV9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF0gJixcbiAgICAgICAgICAgICN7JHJvb3R9X19zZWN0aW9uW2RhdGEtY29sbGFwc2libGVdICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zaG9wLWxvZ28ge1xuICAgICAgICBkaXNwbGF5OiAkZm9vdGVyX2xvZ28tZGlzcGxheTtcbiAgICAgICAgd2lkdGg6ICRmb290ZXJfbG9nby13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkZm9vdGVyX2xvZ28taGVpZ2h0O1xuICAgICAgICBtaW4td2lkdGg6ICRmb290ZXJfbG9nby13aWR0aDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIH1cbn1cblxuLmNzLWNvbnRhaW5lciB7XG4gICAgJi0tZm9vdGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbn1cbiIsIi8qKlxuICogRm9vdGVyIGNvbXBvbmVudCBjdXN0b21pemF0aW9uLlxuICogQHNlZSAvTWFnZW50b19UaGVtZS90ZW1wbGF0ZXMvZm9vdGVyL2NvbHVtbnMucGh0bWwgZm9yIHRlbXBsYXRlcy5cbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWZvb3RlciB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQ6ICMwMDAgdXJsKFwiLi4vaW1hZ2VzL2Zvb3Rlci1iZy1pbWFnZS5qcGdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwIDAgMnJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1mb290ZXIge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiA0MXZ3O1xuICAgICAgcGFkZGluZzogMCAxLjVyZW07IH0gfVxuICAuY3MtZm9vdGVyX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzLjJyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtZm9vdGVyX19jb250ZW50IHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1mb290ZXJfX2l0ZW0ge1xuICAgICAgZmxleDogMTsgfSB9XG4gIC5jcy1mb290ZXJfX2l0ZW0tLXByb21vIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX2l0ZW0tLXByb21vIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5jcy1mb290ZXJfX2l0ZW0tLXByb21vIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9faXRlbS0tcHJvbW8ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1mb290ZXJfX2l0ZW0tLWxpbmtzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19pdGVtLS1saW5rcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgIHBhZGRpbmc6IDIwcHggMTBweCAzMHB4OyB9XG4gICAgICAuY3MtZm9vdGVyX19pdGVtLS1saW5rcyAuY3MtZm9vdGVyX19zZWN0aW9uIHtcbiAgICAgICAgZmxleDogMSAxIDUwJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19pdGVtLS1leHRyYXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBmbGV4LWJhc2lzOiAyNSU7XG4gICAgICBmbGV4LWdyb3c6IDEuNDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWZvb3Rlcl9faXRlbS0tZXh0cmFzIHtcbiAgICAgIHBhZGRpbmc6IDE3cHggMjBweCAxMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19zZWN0aW9uIHtcbiAgICAgIGZsZXg6IDE7IH0gfVxuICAuY3MtZm9vdGVyX19zZWN0aW9uLS1uZXdzbGV0dGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuY3MtZm9vdGVyX19zZWN0aW9uLS1uZXdzbGV0dGVyIC50b3AtbGlua3NfX3Bob25lLWljb24ge1xuICAgICAgb3JkZXI6IDE7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29ucy90ZWxlcGhvbmU2Ni5zdmcpIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTlweDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMTJweDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICBwYWRkaW5nOiA4cHggMCAwIDI4cHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tLW5ld3NsZXR0ZXIgLnRvcC1saW5rc19fcGhvbmUtaWNvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTZweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDEzcHg7IH0gfVxuICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tLW5ld3NsZXR0ZXIgLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZSB7XG4gICAgICBvcmRlcjogMjsgfVxuICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tLW5ld3NsZXR0ZXIgLmNzLW5ld3NsZXR0ZXIge1xuICAgICAgb3JkZXI6IDM7IH1cbiAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb24tLW5ld3NsZXR0ZXIgLmNzLW5ld3NsZXR0ZXIgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tbmV3c2xldHRlciAuY3MtbmV3c2xldHRlciBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tbmV3c2xldHRlciB7XG4gICAgICAgIGZsZXgtZ3JvdzogMjtcbiAgICAgICAgbWF4LXdpZHRoOiA2MTVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi0tc29jaWFscyB7XG4gICAgICBtYXJnaW4tdG9wOiA0cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtZm9vdGVyX19zZWN0aW9uLS1zdG9yZXMtc3dpdGNoZXIge1xuICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICAgIG1heC13aWR0aDogMjByZW07IH0gfVxuICAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlLFxuICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ10ge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luOiAxcmVtIDAgMnJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAyNXB4IDAgMDtcbiAgICBwYWRkaW5nOiAyZW0gMS41cmVtIDAuN2VtO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZSxcbiAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXSB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7IH1cbiAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF0gLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZSxcbiAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlLCAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtbWFnZS1pbml0XVxuICAgICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ10sXG4gICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV1cbiAgICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF0gLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZTpiZWZvcmUsIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGU6YWZ0ZXIsXG4gICAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlOmJlZm9yZSxcbiAgICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtY29sbGFwc2libGVdIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGU6YWZ0ZXIsIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdXG4gICAgICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddOmJlZm9yZSwgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF1cbiAgICAgICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ106YWZ0ZXIsXG4gICAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXVxuICAgICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXTpiZWZvcmUsXG4gICAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXVxuICAgICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXTphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgd2lkdGg6IDEuMnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMC4ycmVtO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2RTZFNkU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dCwgb3BhY2l0eSAwLjE1cyBlYXNlLW91dCwgYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXI7XG4gICAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtbWFnZS1pbml0XSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlOmJlZm9yZSwgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF0gLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZTphZnRlcixcbiAgICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtY29sbGFwc2libGVdIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGU6YmVmb3JlLFxuICAgICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV0gLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZTphZnRlciwgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF1cbiAgICAgICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ106YmVmb3JlLCAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtbWFnZS1pbml0XVxuICAgICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXTphZnRlcixcbiAgICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtY29sbGFwc2libGVdXG4gICAgICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddOmJlZm9yZSxcbiAgICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtY29sbGFwc2libGVdXG4gICAgICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddOmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtbWFnZS1pbml0XSAuY3MtZm9vdGVyX19zZWN0aW9uLXRpdGxlOmFmdGVyLFxuICAgICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV0gLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZTphZnRlciwgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF1cbiAgICAgICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ106YWZ0ZXIsXG4gICAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXVxuICAgICAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXTphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApIHJvdGF0ZSg5MGRlZykgIWltcG9ydGFudDsgfVxuICAgICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlLFxuICAgICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV0gLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUsIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdXG4gICAgICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSxcbiAgICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtY29sbGFwc2libGVdXG4gICAgICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApIHJvdGF0ZSgtOTBkZWcpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF0gLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlcixcbiAgICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uW2RhdGEtY29sbGFwc2libGVdIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIsIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdXG4gICAgICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyLFxuICAgICAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV1cbiAgICAgICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J3RpdGxlJ11bYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoMCkgIWltcG9ydGFudDsgfVxuICAgICAgICAuY3MtZm9vdGVyX19zZWN0aW9uLS1zb2NpYWxzIC5jcy1mb290ZXJfX3NlY3Rpb24tdGl0bGUsIC5jcy1mb290ZXJfX3NlY3Rpb24tLXNvY2lhbHNcbiAgICAgICAgLmNzLWZvb3RlciBbZGF0YS1yb2xlPSd0aXRsZSddIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgLyogMSAqLyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbi10aXRsZSxcbiAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0ndGl0bGUnXSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBtYXJnaW46IDIwcHggMCAwOyB9IH1cbiAgLmNzLWZvb3Rlcl9fc2VjdGlvbi1jb250ZW50LFxuICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J2NvbnRlbnQnXSB7XG4gICAgcGFkZGluZzogMCAxLjVyZW0gMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLW1hZ2UtaW5pdF0gLmNzLWZvb3Rlcl9fc2VjdGlvbi1jb250ZW50LFxuICAgICAgLmNzLWZvb3Rlcl9fc2VjdGlvbltkYXRhLWNvbGxhcHNpYmxlXSAuY3MtZm9vdGVyX19zZWN0aW9uLWNvbnRlbnQsIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1tYWdlLWluaXRdXG4gICAgICAuY3MtZm9vdGVyIFtkYXRhLXJvbGU9J2NvbnRlbnQnXSxcbiAgICAgIC5jcy1mb290ZXJfX3NlY3Rpb25bZGF0YS1jb2xsYXBzaWJsZV1cbiAgICAgIC5jcy1mb290ZXIgW2RhdGEtcm9sZT0nY29udGVudCddIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jcy1mb290ZXJfX3Nob3AtbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEzLjVlbTtcbiAgICBoZWlnaHQ6IDIuM2VtO1xuICAgIG1pbi13aWR0aDogMTMuNWVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG5cbi5jcy1jb250YWluZXItLWZvb3RlciB7XG4gIG1heC13aWR0aDogbm9uZTsgfVxuIiwiLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8qIDEgKi9cbn1cblxuQG1peGluIHZpc3VhbGx5LXZpc2libGUge1xuICAgIGNsaXA6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG5AbWl4aW4gaGVhZGxpbmVfaG9vaygkbGV2ZWwpIHtcbn1cblxuQG1peGluIGxpbmtfaG9vaygpIHtcbn1cblxuQG1peGluIGxpc3RfaG9vaygpIHtcbn1cblxuQG1peGluIGxpc3QtaXRlbV9ob29rKCkge1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3R5cG9ncmFwaHkvaG9vayc7XG5AaW1wb3J0ICd1dGlscy9mb250LWZhbWlseSc7XG5cbiR0eXBvZ3JhcGh5X2hlYWRsaW5lLWZvbnQtZmFtaWx5OiAkZm9udF9mYW1pbHktcHJpbWFyeSAhZGVmYXVsdDtcbiR0eXBvZ3JhcGh5X2hlYWRsaW5lLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kdHlwb2dyYXBoeV9oZWFkbGluZS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJHR5cG9ncmFwaHlfaGVhZGxpbmUtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiR0eXBvZ3JhcGh5X2hlYWRsaW5lLW1hcmdpbnM6IDFyZW0gMCAycmVtICFkZWZhdWx0O1xuXG4kdHlwb2dyYXBoeV9saW5rLWNvbG9yOiAkY29sb3JfcHJpbWFyeS1vcmFuZ2UgIWRlZmF1bHQ7XG4kdHlwb2dyYXBoeV9saW5rLS1ob3Zlci1jb2xvcjogJGNvbG9yX3ByaW1hcnktb3JhbmdlICFkZWZhdWx0O1xuJHR5cG9ncmFwaHlfbGluay10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kdHlwb2dyYXBoeV9saW5rLS1ob3Zlci10ZXh0LWRlY29yYXRpb246ICR0eXBvZ3JhcGh5X2xpbmstdGV4dC1kZWNvcmF0aW9uICFkZWZhdWx0O1xuXG4kdHlwb2dyYXBoeV9saXN0LW1hcmdpbjogMCAwIDIuNXJlbSAhZGVmYXVsdDtcbiR0eXBvZ3JhcGh5X2xpc3QtcGFkZGluZzogMCAwIDAgNHJlbSAhZGVmYXVsdDtcblxuJHR5cG9ncmFwaHlfbGlzdC1pdGVtLW1hcmdpbjogMCAwIDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBoZWFkbGluZSgkbGV2ZWw6ICRmb250LXNpemVfaGVhZGxpbmUtMikge1xuICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCR0eXBvZ3JhcGh5X2hlYWRsaW5lLWZvbnQtZmFtaWx5KTtcblxuICAgIGZvbnQtc2l6ZTogJGxldmVsO1xuICAgIGNvbG9yOiAkdHlwb2dyYXBoeV9oZWFkbGluZS1jb2xvcjtcbiAgICBmb250LXdlaWdodDogJHR5cG9ncmFwaHlfaGVhZGxpbmUtZm9udC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06ICR0eXBvZ3JhcGh5X2hlYWRsaW5lLXRleHQtdHJhbnNmb3JtO1xuICAgIG1hcmdpbjogJHR5cG9ncmFwaHlfaGVhZGxpbmUtbWFyZ2lucztcblxuICAgIEBpbmNsdWRlIGhlYWRsaW5lX2hvb2soJGxldmVsKTtcbn1cblxuQG1peGluIGxpbmsoKSB7XG4gICAgJixcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogJHR5cG9ncmFwaHlfbGluay1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkdHlwb2dyYXBoeV9saW5rLXRleHQtZGVjb3JhdGlvbjtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjp2aXNpdGVkOmhvdmVyLFxuICAgICY6dmlzaXRlZDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkdHlwb2dyYXBoeV9saW5rLS1ob3Zlci1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkdHlwb2dyYXBoeV9saW5rLS1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGlua19ob29rKCk7XG59XG5cbkBtaXhpbiBsaXN0KCkge1xuICAgIG1hcmdpbjogJHR5cG9ncmFwaHlfbGlzdC1tYXJnaW47XG4gICAgcGFkZGluZzogJHR5cG9ncmFwaHlfbGlzdC1wYWRkaW5nO1xuXG4gICAgQGluY2x1ZGUgbGlzdF9ob29rKCk7XG59XG5cbkBtaXhpbiBsaXN0LWl0ZW0oKSB7XG4gICAgbWFyZ2luOiAkdHlwb2dyYXBoeV9saXN0LWl0ZW0tbWFyZ2luO1xuXG4gICAgQGluY2x1ZGUgbGlzdC1pdGVtX2hvb2soKTtcbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi5jcy1mb290ZXItbGlua3Mge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmNzLWZvb3Rlci1saW5rcy1oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgLmNzLWZvb3Rlci1saW5rcy1oZWFkZXIge1xuICAgICAgICBmb250LXNpemU6IDEycHg7IH0gfVxuICAuY3MtZm9vdGVyLWxpbmtzX19pdGVtIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgLmNzLWZvb3Rlci1saW5rc19faXRlbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXB4OyB9IH1cbiAgLmNzLWZvb3Rlci1saW5rcyBhLFxuICAuY3MtZm9vdGVyLWxpbmtzIGE6dmlzaXRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMCAwIDRweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3MtZm9vdGVyLWxpbmtzIGEsXG4gICAgICAuY3MtZm9vdGVyLWxpbmtzIGE6dmlzaXRlZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfSB9XG4gICAgLmNzLWZvb3Rlci1saW5rcyBhOmhvdmVyLFxuICAgIC5jcy1mb290ZXItbGlua3MgYTp2aXNpdGVkOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWZvb3Rlci1saW5rcyBhLFxuICAgICAgLmNzLWZvb3Rlci1saW5rcyBhOnZpc2l0ZWQge1xuICAgICAgICBwYWRkaW5nOiAwIDAgNHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5cbiRmb290ZXItbGlua3NfbGlzdC1pdGVtLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuJGZvb3Rlci1saW5rc19saW5rLWZvbnQtc2l6ZTogMTRweCAhZGVmYXVsdDtcbiRmb290ZXItbGlua3NfbGluay1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJGZvb3Rlci1saW5rc19saW5rLWhvdmVyLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kZm9vdGVyLWxpbmtzX2xpbmstaG92ZXItZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuJGZvb3Rlci1saW5rc19saW5rLXBhZGRpbmctbW9iaWxlOiAwIDAgNHB4ICFkZWZhdWx0O1xuJGZvb3Rlci1saW5rc19saW5rLXBhZGRpbmctZGVza3RvcDogJGZvb3Rlci1saW5rc19saW5rLXBhZGRpbmctbW9iaWxlICFkZWZhdWx0O1xuXG5cbi4jeyRuc31mb290ZXItbGlua3Mge1xuICAgICRyb290OiAmO1xuXG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuXG4gICAgJi1oZWFkZXIge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGNvbG9yOiAkY29sb3Jfd2hpdGU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIG1hcmdpbjogJGZvb3Rlci1saW5rc19saXN0LWl0ZW0tbWFyZ2luO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAkZm9vdGVyLWxpbmtzX2xpbmstY29sb3I7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAkZm9vdGVyLWxpbmtzX2xpbmstcGFkZGluZy1tb2JpbGU7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvb3Rlci1saW5rc19saW5rLWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRmb290ZXItbGlua3NfbGluay1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGZvb3Rlci1saW5rc19saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkZm9vdGVyLWxpbmtzX2xpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRmb290ZXItbGlua3NfbGluay1wYWRkaW5nLWRlc2t0b3A7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKlxuICogRmFpciB3YXJuaW5nOiBEb24ndCBtaXggdW5pdHMgd2hpbGUgdXNpbmcgJ3V0aWxzL3BvbHktZmx1aWQtc2l6aW5nJyBmZWF0dXJlLlxuICogSWYgeW91IHVzZSByZW1zLCBzdGljayB0byByZW1zIGV2ZXJ5d2hlcmUgaW4gdGhlIGFyZWEgb2Ygd2hvbGUgbWFwLCBvciBlbHNlIHRoZSBtaXhpbiB3aWxsIHRocm93IGFuIGVycm9yXG4gKi9cbkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29uZmlnL2JyZWFrcG9pbnRzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9hc3BlY3QtcmF0aW8nO1xuQGltcG9ydCAndXRpbHMvcG9seS1mbHVpZC1zaXppbmcnO1xuQGltcG9ydCAndXRpbHMvY2xlYXJmaXgnO1xuQGltcG9ydCAnZXRjL3ZpZXcuc2Nzcyc7XG5AaW1wb3J0ICd1dGlscy9kZWVwLWdldC9kZWVwLWdldC5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcblxuJGdyaWQtbGF5b3V0X3Jvd3Mtc2VwYXJhdG9yLXNob3c6IGZhbHNlICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3Jvd3Mtc2VwYXJhdG9yLWhlaWdodDogMCAhZGVmYXVsdDtcbiRncmlkLWxheW91dF9yb3dzLXNlcGFyYXRvci1jb2xvcjogJGNvbG9yX2dhbGxlcnkgIWRlZmF1bHQ7XG5cbiRncmlkLWxheW91dF9icmlja3MtZ3V0dGVyOiAwICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X2JyaWNrLW1hcmdpbjogJGdyaWQtbGF5b3V0X2JyaWNrcy1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfYnJpY2stcGFkZGluZzogMCAhZGVmYXVsdDtcblxuJGdyaWQtbGF5b3V0X2JyaWNrLXJhdGlvLXdpZHRoOiAkdGlsZV9hc3BlY3QtcmF0aW8td2lkdGggIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfYnJpY2stcmF0aW8taGVpZ2h0OiAkdGlsZV9hc3BlY3QtcmF0aW8taGVpZ2h0ICFkZWZhdWx0O1xuXG4kZ3JpZC1sYXlvdXRfdGVhc2VyLWNvbnRlbnQtcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci1saWdodC1zY2hlbWUtY29sb3I6ICRzY2hlbWUtLWxpZ2h0X3RleHRzLWNvbG9yICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci1kYXJrLXNjaGVtZS1jb2xvcjogJHNjaGVtZS0tZGFya190ZXh0cy1jb2xvciAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXItY29udGVudC1saW5lLWhlaWdodDogMS4xNSAhZGVmYXVsdDtcblxuJGdyaWQtbGF5b3V0X3RlYXNlci1oZWFkbGluZS1ib3R0b20tbWFyZ2luOiAwLjJlbSAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXItaGVhZGxpbmUtZm9udC13ZWlnaHQ6ICR0ZXh0cy1vbi1pbWFnZV9oZWFkbGluZS1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXItaGVhZGxpbmUtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLWhlYWRsaW5lLWZvbnQtc2l6ZS1taW46IDEuOHJlbSAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXItaGVhZGxpbmUtZm9udC1zaXplLW1heDogMi44cmVtICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci1oZWFkbGluZS1mb250LW1hcDogKFxuICAgICRwYWdlX21pbi13aWR0aDogJGdyaWQtbGF5b3V0X3RlYXNlci1oZWFkbGluZS1mb250LXNpemUtbWluLFxuICAgICRwYWdlX21heC13aWR0aDogJGdyaWQtbGF5b3V0X3RlYXNlci1oZWFkbGluZS1mb250LXNpemUtbWF4LFxuKSAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXIteDItaGVhZGxpbmUtYm90dG9tLW1hcmdpbjogJGdyaWQtbGF5b3V0X3RlYXNlci1oZWFkbGluZS1ib3R0b20tbWFyZ2luICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci14Mi1oZWFkbGluZS1mb250LXNpemUtbWluOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWhlYWRsaW5lLWZvbnQtc2l6ZS1taW4gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLWhlYWRsaW5lLWZvbnQtc2l6ZS1tYXg6IDRyZW0gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLWhlYWRsaW5lLWZvbnQtbWFwOiAoXG4gICAgJHBhZ2VfbWluLXdpZHRoOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLWhlYWRsaW5lLWZvbnQtc2l6ZS1taW4sXG4gICAgJHBhZ2VfbWF4LXdpZHRoOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLWhlYWRsaW5lLWZvbnQtc2l6ZS1tYXgsXG4pICFkZWZhdWx0O1xuXG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXN1YmhlYWRsaW5lLWJvdHRvbS1tYXJnaW46IDAuNmVtICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci1zdWJoZWFkbGluZS1mb250LXdlaWdodDogJHRleHRzLW9uLWltYWdlX3N1YmhlYWRsaW5lLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci1zdWJoZWFkbGluZS10ZXh0LXRyYW5zZm9ybTogJHRleHRzLW9uLWltYWdlX3N1YmhlYWRsaW5lLXRleHQtdHJhbnNmb3JtICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci1zdWJoZWFkbGluZS1mb250LXNpemUtbWluOiAxLjZyZW0gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXN1YmhlYWRsaW5lLWZvbnQtc2l6ZS1tYXg6IDEuOHJlbSAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXItc3ViaGVhZGxpbmUtZm9udC1tYXA6IChcbiAgICAkcGFnZV9taW4td2lkdGg6ICRncmlkLWxheW91dF90ZWFzZXItc3ViaGVhZGxpbmUtZm9udC1zaXplLW1pbixcbiAgICAkcGFnZV9tYXgtd2lkdGg6ICRncmlkLWxheW91dF90ZWFzZXItc3ViaGVhZGxpbmUtZm9udC1zaXplLW1heCxcbikgIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLXN1YmhlYWRsaW5lLWJvdHRvbS1tYXJnaW46ICRncmlkLWxheW91dF90ZWFzZXItc3ViaGVhZGxpbmUtYm90dG9tLW1hcmdpbiAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXIteDItc3ViaGVhZGxpbmUtZm9udC1zaXplLW1pbjogJGdyaWQtbGF5b3V0X3RlYXNlci1zdWJoZWFkbGluZS1mb250LXNpemUtbWluICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci14Mi1zdWJoZWFkbGluZS1mb250LXNpemUtbWF4OiAyLjVyZW0gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLXN1YmhlYWRsaW5lLWZvbnQtbWFwOiAoXG4gICAgJHBhZ2VfbWluLXdpZHRoOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLXN1YmhlYWRsaW5lLWZvbnQtc2l6ZS1taW4sXG4gICAgJHBhZ2VfbWF4LXdpZHRoOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLXN1YmhlYWRsaW5lLWZvbnQtc2l6ZS1tYXgsXG4pICFkZWZhdWx0O1xuXG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXBhcmFncmFwaC1ib3R0b20tbWFyZ2luOiAxZW0gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXBhcmFncmFwaC1mb250LXdlaWdodDogJHRleHRzLW9uLWltYWdlX3RleHQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXBhcmFncmFwaC10ZXh0LXRyYW5zZm9ybTogJHRleHRzLW9uLWltYWdlX3RleHQtdGV4dC10cmFuc2Zvcm0gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXBhcmFncmFwaC1mb250LXNpemUtbWluOiAxLjNyZW0gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXBhcmFncmFwaC1mb250LXNpemUtbWF4OiAxLjRyZW0gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXBhcmFncmFwaC1mb250LW1hcDogKFxuICAgICRwYWdlX21pbi13aWR0aDogJGdyaWQtbGF5b3V0X3RlYXNlci1wYXJhZ3JhcGgtZm9udC1zaXplLW1pbixcbiAgICAkcGFnZV9tYXgtd2lkdGg6ICRncmlkLWxheW91dF90ZWFzZXItcGFyYWdyYXBoLWZvbnQtc2l6ZS1tYXgsXG4pICFkZWZhdWx0O1xuJGdyaWQtbGF5b3V0X3RlYXNlci14Mi1wYXJhZ3JhcGgtYm90dG9tLW1hcmdpbjogJGdyaWQtbGF5b3V0X3RlYXNlci1wYXJhZ3JhcGgtYm90dG9tLW1hcmdpbiAhZGVmYXVsdDtcbiRncmlkLWxheW91dF90ZWFzZXIteDItcGFyYWdyYXBoLWZvbnQtc2l6ZS1taW46ICRncmlkLWxheW91dF90ZWFzZXItcGFyYWdyYXBoLWZvbnQtc2l6ZS1taW4gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLXBhcmFncmFwaC1mb250LXNpemUtbWF4OiAxLjZyZW0gIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLXBhcmFncmFwaC1mb250LW1hcDogKFxuICAgICRwYWdlX21pbi13aWR0aDogJGdyaWQtbGF5b3V0X3RlYXNlci14Mi1wYXJhZ3JhcGgtZm9udC1zaXplLW1pbixcbiAgICAkcGFnZV9tYXgtd2lkdGg6ICRncmlkLWxheW91dF90ZWFzZXIteDItcGFyYWdyYXBoLWZvbnQtc2l6ZS1tYXgsXG4pICFkZWZhdWx0O1xuXG4kZ3JpZC1sYXlvdXRfdGVhc2VyLWN0YS1idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfdGVhc2VyLWN0YS1idXR0b24taWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcblxuLy8gdmFsdWVzOiBmYWxzZSAvIGJyZWFrcG9pbnQgbmFtZSAtIHRoZSBzYW1lIGFzIGZvciBAbWVkaWEgbWl4aW47XG4vLyBVc2UgZmFsc2UgaWYgeW91IGRvbid0IHdhbnQgdG8gaGlkZSBidXR0b24gYXQgYWxsXG4kZ3JpZC1sYXlvdXRfdGVhc2VyLWJ1dHRvbi12aXNpYmxlLWZyb206ICc+PXRhYmxldCc7XG5cbiRncmlkLWxheW91dF9icmlja3MtcGVyLXJvdzogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIHZhcnMsXG4gICAgTWFnZVN1aXRlX0NvbnRlbnRDb25zdHJ1Y3RvcixcbiAgICBjb2x1bW5zLFxuICAgIG9uZS1jb2x1bW5cbikgIWRlZmF1bHQ7XG4kZ3JpZC1sYXlvdXRfYnJpY2tzLXBlci1yb3ctLXdpdGgtc2lkZWJhcjogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIHZhcnMsXG4gICAgTWFnZVN1aXRlX0NvbnRlbnRDb25zdHJ1Y3RvcixcbiAgICBjb2x1bW5zLFxuICAgIG11bHRpcGxlLWNvbHVtbnNcbikgIWRlZmF1bHQ7XG5cbi8vIEFwcGx5IG5vcm1hbCBmbG93IGZvciB0ZWFzZXJzIG9uIHNtYWxsZXN0IG1vYmlsZSwgaW5zdGVhZCBvZiB0ZWFzZXJzIHdpdGggaGFyZGNvZGVkIDEwMCUgd2lkdGhcbiRncmlkLWxheW91dF9zbWFsbC1tb2JpbGUtc3RhbmRhcmQtdGVhc2Vycy1mbG93OiBmYWxzZSAhZGVmYXVsdDtcblxuLiN7JG5zfWdyaWQtbGF5b3V0IHtcbiAgICAkcm9vdDogJjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaWYgJGdyaWQtbGF5b3V0X2JyaWNrcy1ndXR0ZXIgPT0gMCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMiAqICN7JGdyaWQtbGF5b3V0X2JyaWNrcy1ndXR0ZXJ9KTtcbiAgICAgICAgbWFyZ2luOiAtI3skZ3JpZC1sYXlvdXRfYnJpY2tzLWd1dHRlcn0gLSN7JGdyaWQtbGF5b3V0X2JyaWNrcy1ndXR0ZXJ9IDA7XG4gICAgfVxuXG4gICAgJl9fZ3JpZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgfVxuXG4gICAgJl9fdGVhc2VyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvLWNoaWxkLXBvc2l0aW9uKCk7XG5cbiAgICAgICAgJi1jb250ZW50LXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1maWd1cmUge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmLWltYWdlIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWNvbnRlbnQtcGFkZGluZztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWNvbnRlbnQtbGluZS1oZWlnaHQ7XG5cbiAgICAgICAgICAgIC8qIFZhcmlhbnRzIHdpbGwgYmUgcmVmYWN0b3JlZCBhZnRlciBDQyBJVCByZWZhY3RvciBkdWUgdG8gbmV3IHBvc2l0aW9uIG9wdGlvbnMgKi9cbiAgICAgICAgICAgICYtLXZhcmlhbnQtMSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXZhcmlhbnQtMiB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tdmFyaWFudC0zIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tdmFyaWFudC00IHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1jb250ZW50LWlubmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaGVhZGxpbmUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgJGdyaWQtbGF5b3V0X3RlYXNlci1oZWFkbGluZS1ib3R0b20tbWFyZ2luO1xuICAgICAgICAgICAgY29sb3I6ICRncmlkLWxheW91dF90ZWFzZXItZGFyay1zY2hlbWUtY29sb3I7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGdyaWQtbGF5b3V0X3RlYXNlci1oZWFkbGluZS1mb250LXdlaWdodDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWhlYWRsaW5lLXRleHQtdHJhbnNmb3JtO1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9seS1mbHVpZC1zaXppbmcoXG4gICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZScsXG4gICAgICAgICAgICAgICAgJGdyaWQtbGF5b3V0X3RlYXNlci1oZWFkbGluZS1mb250LW1hcFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2JyaWNrLS14MiAmIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAkZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLWhlYWRsaW5lLWJvdHRvbS1tYXJnaW47XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9seS1mbHVpZC1zaXppbmcoXG4gICAgICAgICAgICAgICAgICAgICdmb250LXNpemUnLFxuICAgICAgICAgICAgICAgICAgICAkZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLWhlYWRsaW5lLWZvbnQtbWFwXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX3RlYXNlci0tc2NoZW1lLWxpZ2h0ICYge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWxpZ2h0LXNjaGVtZS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtc3ViaGVhZGxpbmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAkZ3JpZC1sYXlvdXRfdGVhc2VyLXN1YmhlYWRsaW5lLWJvdHRvbS1tYXJnaW47XG4gICAgICAgICAgICBjb2xvcjogJGdyaWQtbGF5b3V0X3RlYXNlci1kYXJrLXNjaGVtZS1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ3JpZC1sYXlvdXRfdGVhc2VyLXN1YmhlYWRsaW5lLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRncmlkLWxheW91dF90ZWFzZXItc3ViaGVhZGxpbmUtdGV4dC10cmFuc2Zvcm07XG4gICAgICAgICAgICBAaW5jbHVkZSBwb2x5LWZsdWlkLXNpemluZyhcbiAgICAgICAgICAgICAgICAnZm9udC1zaXplJyxcbiAgICAgICAgICAgICAgICAkZ3JpZC1sYXlvdXRfdGVhc2VyLXN1YmhlYWRsaW5lLWZvbnQtbWFwXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYnJpY2stLXgyICYge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwICRncmlkLWxheW91dF90ZWFzZXIteDItc3ViaGVhZGxpbmUtYm90dG9tLW1hcmdpbjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb2x5LWZsdWlkLXNpemluZyhcbiAgICAgICAgICAgICAgICAgICAgJ2ZvbnQtc2l6ZScsXG4gICAgICAgICAgICAgICAgICAgICRncmlkLWxheW91dF90ZWFzZXIteDItc3ViaGVhZGxpbmUtZm9udC1tYXBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9fdGVhc2VyLS1zY2hlbWUtbGlnaHQgJiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmlkLWxheW91dF90ZWFzZXItbGlnaHQtc2NoZW1lLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi10ZXh0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRncmlkLWxheW91dF90ZWFzZXItcGFyYWdyYXBoLWJvdHRvbS1tYXJnaW47XG4gICAgICAgICAgICBjb2xvcjogJGdyaWQtbGF5b3V0X3RlYXNlci1kYXJrLXNjaGVtZS1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ3JpZC1sYXlvdXRfdGVhc2VyLXBhcmFncmFwaC1mb250LXdlaWdodDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLXBhcmFncmFwaC10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvbHktZmx1aWQtc2l6aW5nKFxuICAgICAgICAgICAgICAgICdmb250LXNpemUnLFxuICAgICAgICAgICAgICAgICRncmlkLWxheW91dF90ZWFzZXItcGFyYWdyYXBoLWZvbnQtbWFwXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYnJpY2stLXgyICYge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwICRncmlkLWxheW91dF90ZWFzZXIteDItcGFyYWdyYXBoLWJvdHRvbS1tYXJnaW47XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9seS1mbHVpZC1zaXppbmcoXG4gICAgICAgICAgICAgICAgICAgICdmb250LXNpemUnLFxuICAgICAgICAgICAgICAgICAgICAkZ3JpZC1sYXlvdXRfdGVhc2VyLXgyLXBhcmFncmFwaC1mb250LW1hcFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X190ZWFzZXItLXNjaGVtZS1saWdodCAmIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyaWQtbGF5b3V0X3RlYXNlci1saWdodC1zY2hlbWUtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWN0YSB7XG4gICAgICAgICAgICAmLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJGdyaWQtbGF5b3V0X3RlYXNlci1jdGEtYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJGdyaWQtbGF5b3V0X3RlYXNlci1jdGEtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICYtc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRncmlkLWxheW91dF90ZWFzZXItY3RhLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWN0YS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlOiAkZ3JpZC1sYXlvdXRfdGVhc2VyLWN0YS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJGdyaWQtbGF5b3V0X3RlYXNlci1jdGEtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnJpY2sge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAkZ3JpZC1sYXlvdXRfYnJpY2stbWFyZ2luO1xuICAgICAgICBwYWRkaW5nOiAkZ3JpZC1sYXlvdXRfYnJpY2stcGFkZGluZztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbyhcbiAgICAgICAgICAgICR3aWR0aDogJGdyaWQtbGF5b3V0X2JyaWNrLXJhdGlvLXdpZHRoLFxuICAgICAgICAgICAgJGhlaWdodDogJGdyaWQtbGF5b3V0X2JyaWNrLXJhdGlvLWhlaWdodCxcbiAgICAgICAgICAgICRjaGlsZENsYXNzOiAjeyRuc31wcm9kdWN0LXRpbGUsXG4gICAgICAgICAgICAkYXV0b3Bvc2l0aW9uOiB0cnVlXG4gICAgICAgICk7XG5cbiAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICRpdGVtc1BlclJvdyBpbiAkZ3JpZC1sYXlvdXRfYnJpY2tzLXBlci1yb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49I3skYnJlYWtwb2ludH0nKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvICN7JGl0ZW1zUGVyUm93fSk7XG5cbiAgICAgICAgICAgICAgICBAaWYgJGl0ZW1zUGVyUm93ID4gMSB7XG4gICAgICAgICAgICAgICAgICAgICYtLXgyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAjeyRpdGVtc1BlclJvd30gKiAyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXgyOm5vdCgjeyRyb290fV9fYnJpY2stLXkyKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8tb3ZlcnJpZGUoXG4gICAgICAgICAgICAgICAgJHdpZHRoOiAkZ3JpZC1sYXlvdXRfYnJpY2stcmF0aW8td2lkdGggKiAyLFxuICAgICAgICAgICAgICAgICRoZWlnaHQ6ICRncmlkLWxheW91dF9icmljay1yYXRpby1oZWlnaHRcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICYjeyRyb290fV9fYnJpY2stLXRlYXNlciB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXkyIHtcbiAgICAgICAgICAgICYjeyRyb290fV9fYnJpY2stLWxlZnQge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm5vdCgjeyRyb290fV9fYnJpY2stLXgyKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvLW92ZXJyaWRlKFxuICAgICAgICAgICAgICAgICAgICAkd2lkdGg6ICRncmlkLWxheW91dF9icmljay1yYXRpby13aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgJGhlaWdodDogJGdyaWQtbGF5b3V0X2JyaWNrLXJhdGlvLWhlaWdodCAqIDJcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmI3skcm9vdH1fX2JyaWNrLS10ZWFzZXIge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1oaWRkZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tdGVhc2VyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1yZWFkeSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS13aXRoLXNpZGViYXIge1xuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCxcbiAgICAgICAgICAgICRpdGVtc1BlclJvdyBpbiAkZ3JpZC1sYXlvdXRfYnJpY2tzLXBlci1yb3ctLXdpdGgtc2lkZWJhclxuICAgICAgICB7XG4gICAgICAgICAgICAjeyRyb290fV9fYnJpY2sge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PSN7JGJyZWFrcG9pbnR9Jykge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gI3skaXRlbXNQZXJSb3d9KTtcblxuICAgICAgICAgICAgICAgICAgICBAaWYgJGl0ZW1zUGVyUm93ID4gMSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLS14MiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvICN7JGl0ZW1zUGVyUm93fSAqIDIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRncmlkLWxheW91dF9yb3dzLXNlcGFyYXRvci1zaG93IHtcbiAgICAgICAgJixcbiAgICAgICAgJl9fYnJpY2sge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGdyaWQtbGF5b3V0X3Jvd3Mtc2VwYXJhdG9yLWhlaWdodDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JpZC1sYXlvdXRfcm93cy1zZXBhcmF0b3ItY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0jeyRncmlkLWxheW91dF9yb3dzLXNlcGFyYXRvci1oZWlnaHR9O1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcGFnZV9iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSBhbmQgKGdyaWQtYXV0by1mbG93OiByb3cpIHtcbiAgICAgICAgJl9fZ3JpZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJGl0ZW1zUGVyUm93IGluICRncmlkLWxheW91dF9icmlja3MtcGVyLXJvdyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49I3skYnJlYWtwb2ludH0nKSB7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCN7JGl0ZW1zUGVyUm93fSwgMWZyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS13aXRoLXNpZGViYXIgJiB7XG4gICAgICAgICAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsXG4gICAgICAgICAgICAgICAgICAgICRpdGVtc1BlclJvdyBpbiAkZ3JpZC1sYXlvdXRfYnJpY2tzLXBlci1yb3ctLXdpdGgtc2lkZWJhclxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49I3skYnJlYWtwb2ludH0nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgjeyRpdGVtc1BlclJvd30sIDFmcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19icmljayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8tcmVzZXQoXG4gICAgICAgICAgICAgICAgJGNoaWxkQ2xhc3M6ICN7JG5zfXByb2R1Y3QtdGlsZSxcbiAgICAgICAgICAgICAgICAkYXV0b3Bvc2l0aW9uOiB0cnVlXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBAaWYgKCRncmlkLWxheW91dF9zbWFsbC1tb2JpbGUtc3RhbmRhcmQtdGVhc2Vycy1mbG93KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZScpIHtcbiAgICAgICAgICAgICAgICAgICAgJi0teDIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLS15MiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdy1lbmQ6IHNwYW4gMjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICRpdGVtc1BlclJvdyBpbiAkZ3JpZC1sYXlvdXRfYnJpY2tzLXBlci1yb3cge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PSN7JGJyZWFrcG9pbnR9Jykge1xuICAgICAgICAgICAgICAgICAgICBAaWYgJGl0ZW1zUGVyUm93ID4gMSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLS14MiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYtLXkyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdy1lbmQ6IHNwYW4gMjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH06bm90KCN7JHJvb3R9LS13aXRoLXNpZGViYXIpICYge1xuICAgICAgICAgICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkaXRlbXNQZXJSb3cgaW4gJGdyaWQtbGF5b3V0X2JyaWNrcy1wZXItcm93IHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49I3skYnJlYWtwb2ludH0nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOm5vdCgjeyRyb290fV9fYnJpY2stLXgyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICRpdGVtc1BlclJvdyA+PSAyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmLS14MiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICRpdGVtc1BlclJvdyA+PSAzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS14Mjpub3QoI3skcm9vdH1fX2JyaWNrLS15Mikge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpby1vdmVycmlkZS1yZXNldCgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS15MiB7XG4gICAgICAgICAgICAgICAgJjpub3QoI3skcm9vdH1fX2JyaWNrLS14Mikge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8tb3ZlcnJpZGUtcmVzZXQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICAmLS10ZWFzZXItcmVhZHkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXRlYXNlci1yZWFkeSB7XG4gICAgICAgICAgICAgICAgQGlmIG5vdCAkZ3JpZC1sYXlvdXRfc21hbGwtbW9iaWxlLXN0YW5kYXJkLXRlYXNlcnMtZmxvdyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS13aXRoLXNpZGViYXIge1xuICAgICAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsXG4gICAgICAgICAgICAgICAgJGl0ZW1zUGVyUm93IGluICRncmlkLWxheW91dF9icmlja3MtcGVyLXJvdy0td2l0aC1zaWRlYmFyXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX2JyaWNrIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49I3skYnJlYWtwb2ludH0nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgJGl0ZW1zUGVyUm93ID4gMSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi0teDIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLS15MiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpub3QoI3skcm9vdH1fX2JyaWNrLS14Mikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkaXRlbXNQZXJSb3cgPj0gMiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJi0teDIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkaXRlbXNQZXJSb3cgPj0gMyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qXG4gKiBGYWlyIHdhcm5pbmc6IERvbid0IG1peCB1bml0cyB3aGlsZSB1c2luZyAndXRpbHMvcG9seS1mbHVpZC1zaXppbmcnIGZlYXR1cmUuXG4gKiBJZiB5b3UgdXNlIHJlbXMsIHN0aWNrIHRvIHJlbXMgZXZlcnl3aGVyZSBpbiB0aGUgYXJlYSBvZiB3aG9sZSBtYXAsIG9yIGVsc2UgdGhlIG1peGluIHdpbGwgdGhyb3cgYW4gZXJyb3JcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqKlxuICogVXNpbmcgcHN1ZWRvIGVsZW1lbnRzIHRvIG1haW50YWluIGFuIGVsZW1lbnRzIGFzcGVjdCByYXRpbywgZXZlbiBhcyBpdCBzY2FsZXNcbiAqIEl0J3MgdXNpbmcgb25seSBmb3IgSUUxMSBhbmQgRWRnZSAodmVyc2lvbiB3aGljaCBkb2Vzbid0IHN1cHBvcnQgbmF0aXZlIENTUyBncmlkKSBicm93c2Vyc1xuICogRm9yIGJyb3dzZXJzIHdoaWNoIHN1cHBvcnQgbmF0aXZlIENTUyBncmlkLCB3ZSBhcmUgdXNpbmcgbWl4aW5zIGNvbnRhaW4gYHJlc2V0YCBpbiBtaXhpbiBuYW1lXG4gKiB0byBvdmVycmlkZSBkZWZhdWx0IG1peGlucyAocHJvZ3Jlc3NpdmUgZW5oYW5jZW1lbnQpXG4gKiBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvbWFpbnRhaW4tYXNwZWN0LXJhdGlvLW1peGluL1xuICogQHBhcmFtIHtudW1iZXJ9ICR3aWR0aDogd2lkdGggb2YgdGhlIGVsZW1lbnQ7XG4gKiBAcGFyYW0ge251bWJlcn0gJGhlaWdodDogaGVpZ2h0IG9mIHRoZSBlbGVtZW50O1xuICogQHBhcmFtIHtzdHJpbmd9ICRjb250ZW50Q2xhc3M6IGNsYXNzIG9mIHRoZSBkaXJlY3QgY2hpbGQgZWxlbWVudCB0byBiZSBwb3NpdGlvbmVkIGFic29sdXRlbHk7XG4gKiBAcGFyYW0ge2Jvb2xlYW59ICRhdXRvcG9zaXRpb246IHRlbGxzIGlmIGl0ZW0gc2hhbGwgdGFrZSAxMDAlIG9mIHBhcmVudCBzaXplIG9yIGlmIGl0IGNhbiBiZSB3aWRlci9oaWdoZXIgaWYgbmVlZGVkO1xuICovXG4vKipcbiAqIENsZWFyZml4OiBjb250YWluIGZsb2F0c1xuICpcbiAqIEZvciBtb2Rlcm4gYnJvd3NlcnNcbiAqIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXG4gKiAgICBgY29udGVudGVkaXRhYmxlYCBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4gKiAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbiAqICAgIHRoYXQgcmVjZWl2ZSB0aGUgYGNsZWFyZml4YCBjbGFzcy5cbiAqIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4gKiAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxNzlcbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1ncmlkLWxheW91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLWdyaWQtbGF5b3V0X19ncmlkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLmNzLWdyaWQtbGF5b3V0X19ncmlkOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwOyB9XG4gICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY29udGVudC13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWZpZ3VyZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWltYWdlIHtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7IH1cbiAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICAvKiBWYXJpYW50cyB3aWxsIGJlIHJlZmFjdG9yZWQgYWZ0ZXIgQ0MgSVQgcmVmYWN0b3IgZHVlIHRvIG5ldyBwb3NpdGlvbiBvcHRpb25zICovIH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWNvbnRlbnQtLXZhcmlhbnQtMSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY29udGVudC0tdmFyaWFudC0yIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWNvbnRlbnQtLXZhcmlhbnQtMyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWNvbnRlbnQtLXZhcmlhbnQtNCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWNvbnRlbnQtaW5uZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItaGVhZGxpbmUge1xuICAgICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgICBjb2xvcjogIzIxMjEyMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMzJyZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItaGVhZGxpbmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYygxLjA4Njk2dncgKyAxLjQ1MjE3cmVtKTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI0cmVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWhlYWRsaW5lIHtcbiAgICAgICAgICBmb250LXNpemU6IDIuOHJlbTsgfSB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1oZWFkbGluZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMzJyZW0pIHtcbiAgICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1oZWFkbGluZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IGNhbGMoMi4zOTEzdncgKyAxLjAzNDc4cmVtKTsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjRyZW0pIHtcbiAgICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1oZWFkbGluZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDRyZW07IH0gfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItLXNjaGVtZS1saWdodCAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1oZWFkbGluZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItc3ViaGVhZGxpbmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgMCAwLjZlbTtcbiAgICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMnJlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1zdWJoZWFkbGluZSB7XG4gICAgICAgICAgZm9udC1zaXplOiBjYWxjKDAuMjE3Mzl2dyArIDEuNTMwNDNyZW0pOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjRyZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItc3ViaGVhZGxpbmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtOyB9IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLXN1YmhlYWRsaW5lIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC42ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMnJlbSkge1xuICAgICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLXN1YmhlYWRsaW5lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYygwLjk3ODI2dncgKyAxLjI4Njk2cmVtKTsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjRyZW0pIHtcbiAgICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1zdWJoZWFkbGluZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTsgfSB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci0tc2NoZW1lLWxpZ2h0IC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLXN1YmhlYWRsaW5lIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci10ZXh0IHtcbiAgICAgIG1hcmdpbjogMCAwIDFlbTtcbiAgICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxLjNyZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMnJlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci10ZXh0IHtcbiAgICAgICAgICBmb250LXNpemU6IGNhbGMoMC4xMDg3dncgKyAxLjI2NTIycmVtKTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI0cmVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLXRleHQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLXRleHQge1xuICAgICAgICBtYXJnaW46IDAgMCAxZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMnJlbSkge1xuICAgICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLXRleHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjKDAuMzI2MDl2dyArIDEuMTk1NjVyZW0pOyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyNHJlbSkge1xuICAgICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLXRleHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07IH0gfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItLXNjaGVtZS1saWdodCAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci10ZXh0IHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1jdGEtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgICAgIHBhZGRpbmc6IDhweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1jdGEtYnV0dG9uLm1lZGl1bSB7XG4gICAgICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWN0YS1idXR0b24ubGFyZ2Uge1xuICAgICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1jdGEtYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWN0YS1idXR0b24sIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWN0YS1idXR0b246dmlzaXRlZCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY3RhLWJ1dHRvbiAqLCAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1jdGEtYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY3RhLWJ1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWN0YS1idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1jdGEtYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNzQ0MjsgfVxuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1jdGEtYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1jdGEtYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1jdGEtYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X190ZWFzZXItY3RhLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fdGVhc2VyLWN0YS1idXR0b24tc3BhbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNGVtOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX3RlYXNlci1jdGEtYnV0dG9uLWljb24ge1xuICAgICAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICAgICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIHJpZ2h0OiAxZW07IH1cbiAgLmNzLWdyaWQtbGF5b3V0X19icmljayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLWdyaWQtbGF5b3V0X19icmljazpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy10b3A6IDE3MCU7IH1cbiAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrIC5jcy1wcm9kdWN0LXRpbGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2sge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMik7IH1cbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyICogMik7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIpOyB9XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMiAqIDIpOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljayB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTsgfVxuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgKiAyKTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2sge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gNSk7IH1cbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA1ICogMik7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDUpOyB9XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gNSAqIDIpOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljayB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA1KTsgfVxuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDUgKiAyKTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDUpOyB9XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gNSAqIDIpOyB9IH1cbiAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14Mjpub3QoLmNzLWdyaWQtbGF5b3V0X19icmljay0teTIpOmJlZm9yZSB7XG4gICAgICBwYWRkaW5nLXRvcDogODUlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDM5Ljk5ZW0pIHtcbiAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyOm5vdCguY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS15MikuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS10ZWFzZXI6YmVmb3JlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXkyLmNzLWdyaWQtbGF5b3V0X19icmljay0tbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXkyOm5vdCguY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14Mik6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzNDAlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDM5Ljk5ZW0pIHtcbiAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXkyLmNzLWdyaWQtbGF5b3V0X19icmljay0tdGVhc2VyOmJlZm9yZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0tdGVhc2VyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzOS45OWVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXRlYXNlcjpiZWZvcmUge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXRlYXNlci1yZWFkeSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljayB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMik7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgKiAyKTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljayB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMik7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgKiAyKTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljayB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMik7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgKiAyKTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljayB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgKiAyKTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljayB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgKiAyKTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljayB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgKiAyKTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2sge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzICogMik7IH0gfVxuICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIGFuZCAoZ3JpZC1hdXRvLWZsb3c6IHJvdykge1xuICAgIC5jcy1ncmlkLWxheW91dF9fZ3JpZCB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzOS45OWVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fZ3JpZCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2dyaWQge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19ncmlkIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fZ3JpZCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2dyaWQge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19ncmlkIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fZ3JpZCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19ncmlkIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fZ3JpZCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2dyaWQge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19ncmlkIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fZ3JpZCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2dyaWQge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19ncmlkIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2dyaWQge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IH0gfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X19ncmlkOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2sge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2sgLmNzLXByb2R1Y3QtdGlsZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgYm90dG9tOiBhdXRvOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7IH1cbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teTIge1xuICAgICAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAyOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMjsgfVxuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS15MiB7XG4gICAgICAgICAgZ3JpZC1yb3ctZW5kOiBzcGFuIDI7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAyOyB9XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXkyIHtcbiAgICAgICAgICBncmlkLXJvdy1lbmQ6IHNwYW4gMjsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7IH1cbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teTIge1xuICAgICAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAyOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMjsgfVxuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS15MiB7XG4gICAgICAgICAgZ3JpZC1yb3ctZW5kOiBzcGFuIDI7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAyOyB9XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXkyIHtcbiAgICAgICAgICBncmlkLXJvdy1lbmQ6IHNwYW4gMjsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAyOyB9XG4gICAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXkyIHtcbiAgICAgICAgICBncmlkLXJvdy1lbmQ6IHNwYW4gMjsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXQ6bm90KC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyKSAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrOm5vdCguY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MikgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXQ6bm90KC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyKSAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrOm5vdCguY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MikgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXQ6bm90KC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyKSAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrOm5vdCguY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MikgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDsgfVxuICAgICAgICAuY3MtZ3JpZC1sYXlvdXQ6bm90KC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyKSAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy1ncmlkLWxheW91dDpub3QoLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIpIC5jcy1ncmlkLWxheW91dF9fYnJpY2s6bm90KC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyKSAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5jcy1ncmlkLWxheW91dDpub3QoLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIpIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0Om5vdCguY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhcikgLmNzLWdyaWQtbGF5b3V0X19icmljazpub3QoLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIpIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLmNzLWdyaWQtbGF5b3V0Om5vdCguY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhcikgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXQ6bm90KC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyKSAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrOm5vdCguY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MikgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDsgfVxuICAgICAgICAuY3MtZ3JpZC1sYXlvdXQ6bm90KC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyKSAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXQ6bm90KC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyKSAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrOm5vdCguY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MikgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDsgfVxuICAgICAgICAuY3MtZ3JpZC1sYXlvdXQ6bm90KC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyKSAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyOm5vdCguY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS15Mik6YmVmb3JlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXkyOm5vdCguY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14Mik6YmVmb3JlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dF9fYnJpY2ssIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXRlYXNlci1yZWFkeSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMjkuOTllbSkge1xuICAgICAgICAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS10ZWFzZXItcmVhZHkge1xuICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAxICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0X19icmljay0tcmlnaHQge1xuICAgICAgICBmbG9hdDogbm9uZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAyOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS15MiB7XG4gICAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAyOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrOm5vdCguY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MikgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAyOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS15MiB7XG4gICAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAyOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrOm5vdCguY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MikgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAyOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS15MiB7XG4gICAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAyOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrOm5vdCguY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MikgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiB7XG4gICAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAyOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS15MiB7XG4gICAgICAgIGdyaWQtcm93LWVuZDogc3BhbiAyOyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrOm5vdCguY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MikgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMjsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teTIge1xuICAgICAgICBncmlkLXJvdy1lbmQ6IHNwYW4gMjsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljazpub3QoLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIpIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXkyIHtcbiAgICAgICAgZ3JpZC1yb3ctZW5kOiBzcGFuIDI7IH1cbiAgICAgIC5jcy1ncmlkLWxheW91dC0td2l0aC1zaWRlYmFyIC5jcy1ncmlkLWxheW91dF9fYnJpY2s6bm90KC5jcy1ncmlkLWxheW91dF9fYnJpY2stLXgyKSAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIge1xuICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMjsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljay0teTIge1xuICAgICAgICBncmlkLXJvdy1lbmQ6IHNwYW4gMjsgfVxuICAgICAgLmNzLWdyaWQtbGF5b3V0LS13aXRoLXNpZGViYXIgLmNzLWdyaWQtbGF5b3V0X19icmljazpub3QoLmNzLWdyaWQtbGF5b3V0X19icmljay0teDIpIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9XG4gICAgICAuY3MtZ3JpZC1sYXlvdXQtLXdpdGgtc2lkZWJhciAuY3MtZ3JpZC1sYXlvdXRfX2JyaWNrLS14MiAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICBwYWRkaW5nLXRvcDogdW5zZXQgIWltcG9ydGFudDsgfSB9IH1cbiIsIi8qKipcbiAqIFVzaW5nIHBzdWVkbyBlbGVtZW50cyB0byBtYWludGFpbiBhbiBlbGVtZW50cyBhc3BlY3QgcmF0aW8sIGV2ZW4gYXMgaXQgc2NhbGVzXG4gKiBJdCdzIHVzaW5nIG9ubHkgZm9yIElFMTEgYW5kIEVkZ2UgKHZlcnNpb24gd2hpY2ggZG9lc24ndCBzdXBwb3J0IG5hdGl2ZSBDU1MgZ3JpZCkgYnJvd3NlcnNcbiAqIEZvciBicm93c2VycyB3aGljaCBzdXBwb3J0IG5hdGl2ZSBDU1MgZ3JpZCwgd2UgYXJlIHVzaW5nIG1peGlucyBjb250YWluIGByZXNldGAgaW4gbWl4aW4gbmFtZVxuICogdG8gb3ZlcnJpZGUgZGVmYXVsdCBtaXhpbnMgKHByb2dyZXNzaXZlIGVuaGFuY2VtZW50KVxuICogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9zYXNzL21haW50YWluLWFzcGVjdC1yYXRpby1taXhpbi9cbiAqIEBwYXJhbSB7bnVtYmVyfSAkd2lkdGg6IHdpZHRoIG9mIHRoZSBlbGVtZW50O1xuICogQHBhcmFtIHtudW1iZXJ9ICRoZWlnaHQ6IGhlaWdodCBvZiB0aGUgZWxlbWVudDtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkY29udGVudENsYXNzOiBjbGFzcyBvZiB0aGUgZGlyZWN0IGNoaWxkIGVsZW1lbnQgdG8gYmUgcG9zaXRpb25lZCBhYnNvbHV0ZWx5O1xuICogQHBhcmFtIHtib29sZWFufSAkYXV0b3Bvc2l0aW9uOiB0ZWxscyBpZiBpdGVtIHNoYWxsIHRha2UgMTAwJSBvZiBwYXJlbnQgc2l6ZSBvciBpZiBpdCBjYW4gYmUgd2lkZXIvaGlnaGVyIGlmIG5lZWRlZDtcbiAqL1xuXG5AZnVuY3Rpb24gZ2V0LWFzcGVjdC1yYXRpby1wYWRkaW5nLXZhbHVlKCR3aWR0aCwgJGhlaWdodCkge1xuICAgIEByZXR1cm4gKCRoZWlnaHQgLyAkd2lkdGgpICogMTAwJTtcbn1cblxuQG1peGluIGFzcGVjdC1yYXRpbygkd2lkdGgsICRoZWlnaHQsICRjaGlsZENsYXNzLCAkYXV0b3Bvc2l0aW9uOiB0cnVlKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogZ2V0LWFzcGVjdC1yYXRpby1wYWRkaW5nLXZhbHVlKCR3aWR0aCwgJGhlaWdodCk7XG4gICAgfVxuXG4gICAgLiN7JGNoaWxkQ2xhc3N9IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgQGlmICRhdXRvcG9zaXRpb24ge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8tcmVzZXQoJGNoaWxkQ2xhc3MsICRhdXRvcG9zaXRpb246IHRydWUpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLiN7JGNoaWxkQ2xhc3N9IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG5cbiAgICAgICAgQGlmICRhdXRvcG9zaXRpb24ge1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8tY2hpbGQtcG9zaXRpb24oJGF1dG9wb3NpdGlvbjogdHJ1ZSkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIEBpZiAkYXV0b3Bvc2l0aW9uIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG59XG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8tb3ZlcnJpZGUoJHdpZHRoLCAkaGVpZ2h0KSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBwYWRkaW5nLXRvcDogZ2V0LWFzcGVjdC1yYXRpby1wYWRkaW5nLXZhbHVlKCR3aWR0aCwgJGhlaWdodCk7XG4gICAgfVxufVxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvLW92ZXJyaWRlLXJlc2V0KCkge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBDbGVhcmZpeDogY29udGFpbiBmbG9hdHNcbiAqXG4gKiBGb3IgbW9kZXJuIGJyb3dzZXJzXG4gKiAxLiBUaGUgc3BhY2UgY29udGVudCBpcyBvbmUgd2F5IHRvIGF2b2lkIGFuIE9wZXJhIGJ1ZyB3aGVuIHRoZVxuICogICAgYGNvbnRlbnRlZGl0YWJsZWAgYXR0cmlidXRlIGlzIGluY2x1ZGVkIGFueXdoZXJlIGVsc2UgaW4gdGhlIGRvY3VtZW50LlxuICogICAgT3RoZXJ3aXNlIGl0IGNhdXNlcyBzcGFjZSB0byBhcHBlYXIgYXQgdGhlIHRvcCBhbmQgYm90dG9tIG9mIGVsZW1lbnRzXG4gKiAgICB0aGF0IHJlY2VpdmUgdGhlIGBjbGVhcmZpeGAgY2xhc3MuXG4gKiAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xuICogICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTc5XG4gKi9cblxuQG1peGluIGNsZWFyZml4KCkge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn1cbiIsIi8vLyBwb2x5LWZsdWlkLXNpemluZ1xuLy8vIEdlbmVyYXRlIGxpbmVhciBpbnRlcnBvbGF0ZWQgc2l6ZSB2YWx1ZXMgdGhyb3VnaCBtdWx0aXBsZSBicmVhayBwb2ludHNcbi8vLyBAcGFyYW0gJHByb3BlcnR5IC0gQSBzdHJpbmcgQ1NTIHByb3BlcnR5IG5hbWVcbi8vLyBAcGFyYW0gJG1hcCAtIEEgU0FTUyBtYXAgb2Ygdmlld3BvcnQgdW5pdCBhbmQgc2l6ZSB2YWx1ZSBwYWlyc1xuLy8vIEByZXF1aXJlcyBmdW5jdGlvbiBsaW5lYXItaW50ZXJwb2xhdGlvblxuLy8vIEByZXF1aXJlcyBmdW5jdGlvbiBtYXAtc29ydFxuLy8vIEBleGFtcGxlXG4vLy8gICBAaW5jbHVkZSBwb2x5LWZsdWlkLXNpemluZygnZm9udC1zaXplJywgKDU3NnB4OiAyMnB4LCA3NjhweDogMjRweCwgOTkycHg6IDM0cHgpKTtcbi8vLyBAYXV0aG9yIEpha2UgV2lsc29uIDxqYWtlLmUud2lsc29uQGdtYWlsLmNvbT5cbkBtaXhpbiBwb2x5LWZsdWlkLXNpemluZygkcHJvcGVydHksICRtYXApIHtcbiAgICAvLyBHZXQgdGhlIG51bWJlciBvZiBwcm92aWRlZCBicmVha3BvaW50c1xuICAgICRsZW5ndGg6IGxlbmd0aChtYXAta2V5cygkbWFwKSk7XG5cbiAgICAvLyBFcnJvciBpZiB0aGUgbnVtYmVyIG9mIGJyZWFrcG9pbnRzIGlzIDwgMlxuICAgIEBpZiAoJGxlbmd0aCA8IDIpIHtcbiAgICAgICAgQGVycm9yIFwicG9seS1mbHVpZC1zaXppbmcoKSAkbWFwIHJlcXVpcmVzIGF0IGxlYXN0IHZhbHVlc1wiO1xuICAgIH1cblxuICAgIC8vIFNvcnQgdGhlIG1hcCBieSB2aWV3cG9ydCB3aWR0aCAoa2V5KVxuICAgICRtYXA6IG1hcC1zb3J0KCRtYXApO1xuICAgICRrZXlzOiBtYXAta2V5cygkbWFwKTtcblxuICAgIC8vIE1pbmltdW0gc2l6ZVxuICAgICN7JHByb3BlcnR5fTogbWFwLWdldCgkbWFwLCBudGgoJGtleXMsIDEpKTtcblxuICAgIC8vIEludGVycG9sYXRlZCBzaXplIHRocm91Z2ggYnJlYWtwb2ludHNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkbGVuZ3RoIC0gMSkge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbnRoKCRrZXlzLCRpKSkge1xuICAgICAgICAgICAgI3skcHJvcGVydHl9OiBsaW5lYXItaW50ZXJwb2xhdGlvbihcbiAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgIG50aCgka2V5cywgJGkpOiBtYXAtZ2V0KCRtYXAsIG50aCgka2V5cywgJGkpKSxcbiAgICAgICAgICAgICAgICAgICAgbnRoKCRrZXlzLCAoJGkgKyAxKSk6IG1hcC1nZXQoJG1hcCwgbnRoKCRrZXlzLCAoJGkgKyAxKSkpLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNYXhtaW11bSBzaXplXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG50aCgka2V5cywkbGVuZ3RoKSkge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IG1hcC1nZXQoJG1hcCwgbnRoKCRrZXlzLCAkbGVuZ3RoKSk7XG4gICAgfVxufVxuXG4vLy8gbGluZWFyLWludGVycG9sYXRpb25cbi8vLyBDYWxjdWxhdGUgdGhlIGRlZmluaXRpb24gb2YgYSBsaW5lIGJldHdlZW4gdHdvIHBvaW50c1xuLy8vIEBwYXJhbSAkbWFwIC0gQSBTQVNTIG1hcCBvZiB2aWV3cG9ydCB3aWR0aHMgYW5kIHNpemUgdmFsdWUgcGFpcnNcbi8vLyBAcmV0dXJucyBBIGxpbmVhciBlcXVhdGlvbiBhcyBhIGNhbGMoKSBmdW5jdGlvblxuLy8vIEBleGFtcGxlXG4vLy8gICBmb250LXNpemU6IGxpbmVhci1pbnRlcnBvbGF0aW9uKCgzMjBweDogMThweCwgNzY4cHg6IDI2cHgpKTtcbi8vLyBAYXV0aG9yIEpha2UgV2lsc29uIDxqYWtlLmUud2lsc29uQGdtYWlsLmNvbT5cbkBmdW5jdGlvbiBsaW5lYXItaW50ZXJwb2xhdGlvbigkbWFwKSB7XG4gICAgJGtleXM6IG1hcC1rZXlzKCRtYXApO1xuICAgIEBpZiAobGVuZ3RoKCRrZXlzKSAhPSAyKSB7XG4gICAgICAgIEBlcnJvciBcImxpbmVhci1pbnRlcnBvbGF0aW9uKCkgJG1hcCBtdXN0IGJlIGV4YWN0bHkgMiB2YWx1ZXNcIjtcbiAgICB9XG4gICAgLy8gVGhlIHNsb3BlXG4gICAgJG06IChtYXAtZ2V0KCRtYXAsIG50aCgka2V5cywgMikpIC0gbWFwLWdldCgkbWFwLCBudGgoJGtleXMsIDEpKSkgL1xuICAgICAgICAobnRoKCRrZXlzLCAyKSAtIG50aCgka2V5cywgMSkpO1xuXG4gICAgLy8gVGhlIHktaW50ZXJjZXB0XG4gICAgJGI6IG1hcC1nZXQoJG1hcCwgbnRoKCRrZXlzLCAxKSkgLSAkbSAqIG50aCgka2V5cywgMSk7XG5cbiAgICAvLyBEZXRlcm1pbmUgaWYgdGhlIHNpZ24gc2hvdWxkIGJlIHBvc2l0aXZlIG9yIG5lZ2F0aXZlXG4gICAgJHNpZ246ICcrJztcbiAgICBAaWYgKCRiIDwgMCkge1xuICAgICAgICAkc2lnbjogJy0nO1xuICAgICAgICAkYjogYWJzKCRiKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuIGNhbGMoI3skbSAqIDEwMH12dyAjeyRzaWdufSAjeyRifSk7XG59XG5cbi8vLyBsaXN0LXNvcnRcbi8vLyBTb3J0IGEgU0FTUyBsaXN0XG4vLy8gQHBhcmFtICRsaXN0IC0gQSBTQVNTIGxpc3Rcbi8vLyBAcmV0dXJucyBBIHNvcnRlZCBTQVNTIGxpc3Rcbi8vLyBAcmVxdWlyZXMgZnVuY3Rpb24gbGlzdC1yZW1vdmVcbi8vLyBAYXV0aG9yIEpha2UgV2lsc29uIDxqYWtlLmUud2lsc29uQGdtYWlsLmNvbT5cbkBmdW5jdGlvbiBsaXN0LXNvcnQoJGxpc3QpIHtcbiAgICAkc29ydGVkbGlzdDogKCk7XG4gICAgQHdoaWxlIGxlbmd0aCgkbGlzdCkgPiAwIHtcbiAgICAgICAgJHZhbHVlOiBudGgoJGxpc3QsIDEpO1xuICAgICAgICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgICAgICAgICBAaWYgJGl0ZW0gPCAkdmFsdWUge1xuICAgICAgICAgICAgICAgICR2YWx1ZTogJGl0ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJHNvcnRlZGxpc3Q6IGFwcGVuZCgkc29ydGVkbGlzdCwgJHZhbHVlLCAnc3BhY2UnKTtcbiAgICAgICAgJGxpc3Q6IGxpc3QtcmVtb3ZlKCRsaXN0LCBpbmRleCgkbGlzdCwgJHZhbHVlKSk7XG4gICAgfVxuICAgIEByZXR1cm4gJHNvcnRlZGxpc3Q7XG59XG5cbi8vLyBtYXAtc29ydFxuLy8vIFNvcnQgbWFwIGJ5IGtleXNcbi8vLyBAcGFyYW0gJG1hcCAtIEEgU0FTUyBtYXBcbi8vLyBAcmV0dXJucyBBIFNBU1MgbWFwIHNvcnRlZCBieSBrZXlzXG4vLy8gQHJlcXVpcmVzIGZ1bmN0aW9uIGxpc3Qtc29ydFxuLy8vIEBhdXRob3IgSmFrZSBXaWxzb24gPGpha2UuZS53aWxzb25AZ21haWwuY29tPlxuQGZ1bmN0aW9uIG1hcC1zb3J0KCRtYXApIHtcbiAgICAka2V5czogbGlzdC1zb3J0KG1hcC1rZXlzKCRtYXApKTtcbiAgICAkc29ydGVkTWFwOiAoKTtcbiAgICBAZWFjaCAka2V5IGluICRrZXlzIHtcbiAgICAgICAgJHNvcnRlZE1hcDogbWFwLW1lcmdlKFxuICAgICAgICAgICAgJHNvcnRlZE1hcCxcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAka2V5OiBtYXAtZ2V0KCRtYXAsICRrZXkpLFxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cbiAgICBAcmV0dXJuICRzb3J0ZWRNYXA7XG59XG5cbi8vLyBsaXN0LXJlbW92ZVxuLy8vIFJlbW92ZSBhbiBpdGVtIGZyb20gYSBsaXN0XG4vLy8gQHBhcmFtICRsaXN0IC0gQSBTQVNTIGxpc3Rcbi8vLyBAcGFyYW0gJGluZGV4IC0gVGhlIGxpc3QgaW5kZXggdG8gcmVtb3ZlXG4vLy8gQHJldHVybnMgQSBTQVNTIGxpc3Rcbi8vLyBAYXV0aG9yIEpha2UgV2lsc29uIDxqYWtlLmUud2lsc29uQGdtYWlsLmNvbT5cbkBmdW5jdGlvbiBsaXN0LXJlbW92ZSgkbGlzdCwgJGluZGV4KSB7XG4gICAgJG5ld0xpc3Q6ICgpO1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRsaXN0KSB7XG4gICAgICAgIEBpZiAkaSAhPSAkaW5kZXgge1xuICAgICAgICAgICAgJG5ld0xpc3Q6IGFwcGVuZCgkbmV3TGlzdCwgbnRoKCRsaXN0LCAkaSksICdzcGFjZScpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gJG5ld0xpc3Q7XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtaGVhZGxpbmUge1xuICBmb250LXNpemU6IDFyZW07XG4gIGNsZWFyOiBib3RoO1xuICBwYWRkaW5nOiAyZW0gMDtcbiAgbWFyZ2luOiAyZW0gMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgMCAzcmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWhlYWRsaW5lIHtcbiAgICAgIG1hcmdpbjogMCAwIDRyZW07IH0gfVxuICAuY3MtaGVhZGxpbmUtLXNraXAtc3BhY2luZyB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1oZWFkbGluZV9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDIuNmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWhlYWRsaW5lX190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAuY3MtaGVhZGxpbmVfX3N1YnRpdGxlIHtcbiAgICBjb2xvcjogIzZFNkU2RTtcbiAgICBmb250LXNpemU6IDEuM2VtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1oZWFkbGluZV9fc3VidGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuQG1peGluIGhlYWRsaW5lLWhvb2soKSB7XG59XG5cbkBtaXhpbiBoZWFkbGluZS10aXRsZS1ob29rKCkge1xufVxuXG5AbWl4aW4gaGVhZGxpbmUtc3VidGl0bGUtaG9vaygpIHtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL2NvbXBvbmVudC1zcGFjaW5nJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaGVhZGxpbmUvbWl4aW4nO1xuXG4uI3skbnN9aGVhZGxpbmUge1xuICAgIEBpbmNsdWRlIGhlYWRsaW5lKCk7XG5cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBpbmNsdWRlIGNvbXBvbmVudC1zcGFjaW5nKCk7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGhlYWRsaW5lLXRpdGxlKCk7XG4gICAgfVxuXG4gICAgJl9fc3VidGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBoZWFkbGluZS1zdWJ0aXRsZSgpO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaGVhZGxpbmUvaG9vayc7XG5cbiRoZWFkbGluZV90aXRsZS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJGhlYWRsaW5lX3RpdGxlLWZvbnQtc2l6ZTogMi42ZW0gIWRlZmF1bHQ7XG4kaGVhZGxpbmVfdGl0bGUtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRoZWFkbGluZV90aXRsZS10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcbi8vIFNob3cgZmxleGlibGUgZGVjb3JhdGlvbiBsaW5lcyBhdCB0aGUgc2lkZXMgb2YgdGhlIHRpdGxlLlxuJGhlYWRsaW5lX3RpdGxlLWxpbmVzLWVuYWJsZWQ6IGZhbHNlICFkZWZhdWx0O1xuJGhlYWRsaW5lX3RpdGxlLWxpbmVzLWNvbG9yOiAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcblxuJGhlYWRsaW5lX3N1YnRpdGxlLWNvbG9yOiAkY29sb3JfYm9yZGVyLTcwMCAhZGVmYXVsdDtcbiRoZWFkbGluZV9zdWJ0aXRsZS1mb250LXNpemU6IDEuM2VtICFkZWZhdWx0O1xuJGhlYWRsaW5lX3N1YnRpdGxlLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XG4kaGVhZGxpbmVfc3VidGl0bGUtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG4kaGVhZGxpbmVfc3VidGl0bGUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG5AbWl4aW4gaGVhZGxpbmUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjbGVhcjogYm90aDtcbiAgICBwYWRkaW5nOiAyZW0gMDtcbiAgICBtYXJnaW46IDJlbSAwO1xuXG4gICAgQGluY2x1ZGUgaGVhZGxpbmUtaG9vaygpO1xufVxuXG5AbWl4aW4gaGVhZGxpbmUtdGl0bGUoXG4gICAgJGNvbG9yOiAkaGVhZGxpbmVfdGl0bGUtY29sb3IsXG4gICAgJGZvbnQtc2l6ZTogJGhlYWRsaW5lX3RpdGxlLWZvbnQtc2l6ZSxcbiAgICAkZm9udC13ZWlnaHQ6ICRoZWFkbGluZV90aXRsZS1mb250LXdlaWdodCxcbiAgICAkdGV4dC10cmFuc2Zvcm06ICRoZWFkbGluZV90aXRsZS10ZXh0LXRyYW5zZm9ybSxcbiAgICAkbGluZXMtZW5hYmxlZDogJGhlYWRsaW5lX3RpdGxlLWxpbmVzLWVuYWJsZWQsXG4gICAgJGxpbmVzLWNvbG9yOiAkaGVhZGxpbmVfdGl0bGUtbGluZXMtY29sb3Jcbikge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkdGV4dC10cmFuc2Zvcm07XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgQGlmICRsaW5lcy1lbmFibGVkIHtcbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGluZXMtY29sb3I7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjZlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgaGVhZGxpbmUtdGl0bGUtaG9vaygpO1xufVxuXG5AbWl4aW4gaGVhZGxpbmUtc3VidGl0bGUoXG4gICAgJGNvbG9yOiAkaGVhZGxpbmVfc3VidGl0bGUtY29sb3IsXG4gICAgJGZvbnQtc2l6ZTogJGhlYWRsaW5lX3N1YnRpdGxlLWZvbnQtc2l6ZSxcbiAgICAkZm9udC13ZWlnaHQ6ICRoZWFkbGluZV9zdWJ0aXRsZS1mb250LXdlaWdodCxcbiAgICAkdGV4dC10cmFuc2Zvcm06ICRoZWFkbGluZV9zdWJ0aXRsZS10ZXh0LXRyYW5zZm9ybVxuKSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJHRleHQtdHJhbnNmb3JtO1xuICAgIG1hcmdpbjogJGhlYWRsaW5lX3N1YnRpdGxlLW1hcmdpbjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgaGVhZGxpbmUtc3VidGl0bGUtaG9vaygpO1xufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBNaXhpbnMgZm9yIGZsZXhpYmxlIGNvbnRhaW5lcnMgZGVjbGFyYXRpb24uXG4gKi9cbi8qKlxuICogRGVmaW5lcyBwYWdlIGNvbnRhaW5lci4gVGhpcyBtaXhpbiBtYWtlcyBzdXJlIHRoYXQgdGhlIGNvbnRlbnQgaGFzIGFsd2F5cyBlcXVhbCBwYWRkaW5nXG4gKiBmb3IgbW9iaWxlIHNjcmVlbnMgb24gYm90aCBzaXplIG9mIHRoZSBkZXZpY2UuXG4gKi9cbi8qKlxuICogTmVnYXRlcyBwYXJlbnQgY29udGFpbmVyJ3MgcGFkZGluZyBhbmQgc2V0cyBpdCBvd24uXG4gKiBTb21ldGhpbWVzIHRoaXMgaGFzIHRvIGJlIGRvbmUgdG8gbWFrZSBiYWNrZ3JvdW5kIGV2ZW4gdG8gb3RoZXIgY29udGFpbmVycycgY29udGVudC5cbiAqL1xuLyoqXG4gKiBEZWZpbmVzIGNvbnRhaW5lciB3cmFwcGVyIHRoYXQgbWFrZXMgc3VyZSBjb250bmV0IGRvZXNuJ3QgZXh0ZW5kIGFib3ZlIGNlcnRhaW4gd2lkdGggYW5kIGlzIGFsd2F5cyBjZW50ZXJlZC5cbiAqL1xuLmNzLWNvbnRhaW5lci0taGVhZGVyLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9oZWFkZXItYmctaW1hZ2UuanBnXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5jcy1jb250YWluZXItLXRvcC1iYXIsIC5jcy1jb250YWluZXItLWhlYWRlciB7XG4gIG1heC13aWR0aDogMTQyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMCAxNXB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgLmNzLWNvbnRhaW5lci0tdG9wLWJhciwgLmNzLWNvbnRhaW5lci0taGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4uY3MtY29udGFpbmVyX19uYXZpZ2F0aW9uLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5jcy1oZWFkZXIge1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAuY3MtaGVhZGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3MXB4OyB9IH1cbiAgLmNzLWhlYWRlcl9fY29udGVudCB7XG4gICAgei1pbmRleDogMzAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgd2lsbC1jaGFuZ2U6IHotaW5kZXgsIGhlaWdodCwgcG9zaXRpb247XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gIC5jcy1oZWFkZXJfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgOHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fY29udGVudCAuY3MtaGVhZGVyX19vZmZjYW52YXMtdG9nZ2xlIHtcbiAgICAgICAgb3JkZXI6IDE7IH1cbiAgICAgIC5jcy1oZWFkZXJfX2NvbnRlbnQgLmNzLWhlYWRlcl9fbG9nbyB7XG4gICAgICAgIG9yZGVyOiAyOyB9XG4gICAgICAuY3MtaGVhZGVyX19jb250ZW50IC5jcy1oZWFkZXItdXNlci1uYXYge1xuICAgICAgICBvcmRlcjogMzsgfSB9XG4gIC5jcy1oZWFkZXJfX29mZmNhbnZhcy10b2dnbGUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmbGV4OiAwIDEgNTVweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19vZmZjYW52YXMtdG9nZ2xlIHtcbiAgICAgICAgZmxleDogMCAxIDc1cHg7IH1cbiAgICAgICAgLmNzLWhlYWRlcl9fb2ZmY2FudmFzLXRvZ2dsZSAuY3Mtb2ZmY2FudmFzLXRvZ2dsZSB7XG4gICAgICAgICAgd2lkdGg6IDU1cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19vZmZjYW52YXMtdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jcy1oZWFkZXJfX2xvZ28ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgLmNzLWhlYWRlcl9fbG9nbyB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fbG9nbyB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xM3B4O1xuICAgICAgICBtYXgtd2lkdGg6IDI2MHB4O1xuICAgICAgICB3aWR0aDogMjV2dzsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX2xvZ28gLmNzLWxvZ28ge1xuICAgICAgICBtYXgtd2lkdGg6IDE5NXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWhlYWRlcl9fbG9nbyAuY3MtbG9nbyB7XG4gICAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH0gfVxuICAgIC5wYWdlLXByaW50IC5jcy1oZWFkZXJfX2xvZ28ge1xuICAgICAgbWF4LXdpZHRoOiAxMjRyZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMnJlbSAwOyB9XG4gICAgICAucGFnZS1wcmludCAuY3MtaGVhZGVyX19sb2dvOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5jcy1oZWFkZXJfX2xvZ28gLmNzLWxvZ29fX2ltYWdlIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQuMDFlbSkge1xuICAgICAgICAuY3MtaGVhZGVyX19sb2dvIC5jcy1sb2dvX19pbWFnZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgfSB9XG4gIC5jcy1oZWFkZXJfX3NlYXJjaCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZFNkU2RTtcbiAgICBwYWRkaW5nOiAxLjZyZW0gMS41cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDYwcHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAzMDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNi44cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX3NlYXJjaCB7XG4gICAgICAgIHRvcDogNjRweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX3NlYXJjaCB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDAgNTVweCAwIDUwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuaWUxMSAuY3MtaGVhZGVyX19zZWFyY2gge1xuICAgICAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgICAgICAgIHRvcDogaW5oZXJpdDsgfSB9XG4gICAgLmNzLWhlYWRlcl9fc2VhcmNoLS1hY3RpdmUge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19zZWFyY2gge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWhlYWRlcl9fc2VhcmNoIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IGluaXRpYWw7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaGVhZGVyX19zZWFyY2gge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAuY3MtaGVhZGVyX191c2VyLW5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGZsZXg6IDAgMSA3NXB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXJfX3VzZXItbmF2IHtcbiAgICAgICAgZmxleDogMCAxIDI1JTsgfSB9XG4gIC5jcy1oZWFkZXIgLnRvcC1saW5rc19fcGhvbmUtaWNvbiB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy90ZWxlcGhvbmU2Ni5zdmdcIikgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMThweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDQ5JTtcbiAgICBmb250LXNpemU6IDIzcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBwYWRkaW5nOiAyMHB4IDIycHggMjBweCAyNXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXIgLnRvcC1saW5rc19fcGhvbmUtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb250YWluZXIvbWl4aW4nO1xuXG4kaGVhZGVyX2ZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRoZWFkZXJfYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItMjAwICFkZWZhdWx0O1xuXG4kaGVhZGVyX2lzLXN0aWNreS1vbi1tb2JpbGU6IHRydWUgIWRlZmF1bHQ7XG4kaGVhZGVyX2JhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcblxuLy8gSG9yaXpvbnRhbCBhbGlnbiBvZiB0aGUgc2VhcmNoYm94IGlmIGl0J3MgZGlzcGxheWVkIGFzIGEgbGF5ZXIgLSBgJGdsb2JhbF9oZWFkZXItc2VhcmNoYm94LWFzLWxheWVyLWJyZWFrcG9pbnRgXG4kaGVhZGVyX3NlYXJjaGJveC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFkZWZhdWx0O1xuXG4vLyBJZiB5b3Ugd2FudCB0byBjb3ZlciAnc2VhcmNoJyBpdGVtIGluIGhlYWRlciBieSBzZWFyY2hib3gsIHByb3ZpZGUgcHJvcGVyIG5lZ2F0aXZlIG1hcmdpbiBiYXNlZCBvbiB5b3VyIGRlc2lnblxuLy8gSXQgd29ya3Mgb25seSBpZiAnJGdsb2JhbF9oZWFkZXItc2VhcmNoYm94LWFzLWxheWVyLWJyZWFrcG9pbnQnIGhhcyB2YWxpZCBicmVha3BvaW50IGFuZCBgJGhlYWRlcl9zZWFyY2hib3gtanVzdGlmeS1jb250ZW50YCA9IGZsZXgtZW5kXG4kaGVhZGVyX3NlYXJjaGJveC1tYXJnaW4tdG8tY292ZXItc2VhcmNoLWl0ZW06IC02LjhyZW0gIWRlZmF1bHQ7XG5cbi4jeyRuc31jb250YWluZXIge1xuICAgICYtLWhlYWRlci1jb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaGVhZGVyLWJnLWltYWdlLmpwZ1wiKSBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB9XG5cbiAgICAmLS10b3AtYmFyLFxuICAgICYtLWhlYWRlciB7XG4gICAgICAgIG1heC13aWR0aDogMTQyMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX25hdmlnYXRpb24taW5uZXJcbiAgICB7XG4gICAgICAgIG1heC13aWR0aDogMTQ0MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG59XG4uI3skbnN9aGVhZGVyIHtcbiAgICAkcm9vdDogJjtcbiAgICBmb250LXNpemU6ICRoZWFkZXJfZm9udC1zaXplO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDcxcHg7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHotaW5kZXg6IDMwMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB3aWxsLWNoYW5nZTogei1pbmRleCwgaGVpZ2h0LCBwb3NpdGlvbjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIC5jcy1oZWFkZXJfX29mZmNhbnZhcy10b2dnbGUge1xuICAgICAgICAgICAgICAgIG9yZGVyOjE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY3MtaGVhZGVyX19sb2dvIHtcbiAgICAgICAgICAgICAgICBvcmRlcjoyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNzLWhlYWRlci11c2VyLW5hdiB7XG4gICAgICAgICAgICAgICAgb3JkZXI6MztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX29mZmNhbnZhcy10b2dnbGUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGZsZXg6IDAgMSA1NXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSA3NXB4O1xuICAgICAgICAgICAgLmNzLW9mZmNhbnZhcy10b2dnbGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1NXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xvZ28ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xM3B4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAyNXZ3O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWxvZ28ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxOTVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZS1wcmludCAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lci13cmFwcGVyKCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDA7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWxvZ29fX2ltYWdlIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPmxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2VhcmNoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZ3JheTtcbiAgICAgICAgcGFkZGluZzogMS42cmVtIDEuNXJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDYwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB6LWluZGV4OiAzMDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgdG9wOiA2NHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDU1cHggMCA1MHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkaGVhZGVyX3NlYXJjaGJveC1qdXN0aWZ5LWNvbnRlbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgdG9wOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLWhpZGUtc2VhcmNoLWl0ZW0tdHJpZ2dlci1icmVha3BvaW50KSB7XG4gICAgICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLWhpZGUtc2VhcmNoLWl0ZW0tdHJpZ2dlci1icmVha3BvaW50ID09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXG4gICAgICAgICAgICAgICAgICAgICRnbG9iYWxfaGVhZGVyLWhpZGUtc2VhcmNoLWl0ZW0tdHJpZ2dlci1icmVha3BvaW50XG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmICgkZ2xvYmFsX2hlYWRlci1zZWFyY2hib3gtYXMtbGF5ZXItYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWxfaGVhZGVyLXNlYXJjaGJveC1hcy1sYXllci1icmVha3BvaW50XG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgICRnbG9iYWxfaGVhZGVyLWhpZGUtc2VhcmNoLWl0ZW0tdHJpZ2dlci1icmVha3BvaW50IGFuZFxuICAgICAgICAgICAgICAgICRoZWFkZXJfc2VhcmNoYm94LWp1c3RpZnktY29udGVudCA9PVxuICAgICAgICAgICAgICAgICdmbGV4LWVuZCdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLWhpZGUtc2VhcmNoLWl0ZW0tdHJpZ2dlci1icmVha3BvaW50ID09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRoZWFkZXJfc2VhcmNoYm94LW1hcmdpbi10by1jb3Zlci1zZWFyY2gtaXRlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsX2hlYWRlci1oaWRlLXNlYXJjaC1pdGVtLXRyaWdnZXItYnJlYWtwb2ludFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlcl9zZWFyY2hib3gtanVzdGlmeS1jb250ZW50ID09ICdmbGV4LWVuZCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRoZWFkZXJfc2VhcmNoYm94LW1hcmdpbi10by1jb3Zlci1zZWFyY2gtaXRlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3VzZXItbmF2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZmxleDogMCAxIDc1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZmxleDogMCAxIDI1JTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtbGlua3NfX3Bob25lLWljb24ge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy90ZWxlcGhvbmU2Ni5zdmdcIikgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE4cHg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgNDklO1xuICAgICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogJGNvbG9yX3doaXRlO1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgcGFkZGluZzogMjBweCAyMnB4IDIwcHggMjVweDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgbm90KCRoZWFkZXJfaXMtc3RpY2t5LW9uLW1vYmlsZSkge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAuY3MtY29udGFpbmVyLS1oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtaGVhZGVyLXNlYXJjaCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNzLWhlYWRlci1zZWFyY2ggLmZpbGxlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAycHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWhlYWRlci1zZWFyY2gge1xuICAgICAgbWF4LXdpZHRoOiA2MDVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLWhlYWRlci1zZWFyY2gge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtaW4td2lkdGg6IDM1dnc7IH0gfVxuICAuY3MtaGVhZGVyLXNlYXJjaF9fZmllbGQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4OyB9XG4gICAgLmFjdGl2ZS1wb3B1cCAuY3MtaGVhZGVyLXNlYXJjaF9fZmllbGQ6YmVmb3JlLCAuYWN0aXZlLXBvcHVwIC5jcy1oZWFkZXItc2VhcmNoX19maWVsZDphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5jcy1oZWFkZXItc2VhcmNoX19pbnB1dCB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgcGFkZGluZzogMTFweCAxMHB4O1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogMS4ycmVtIDFyZW07XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3NlYXJjaDE5LnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMHB4IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyMTA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctbGVmdDogNDNweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMTBweDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9faW5wdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtaGVhZGVyLXNlYXJjaF9faW5wdXQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjQ2MDQ7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2lucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29sb3I6ICM2RTZFNkU7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9faW5wdXRbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgICAuYWpheC1sb2FkaW5nIC5jcy1oZWFkZXItc2VhcmNoX19pbnB1dDpmb2N1cyArIC5jcy1oZWFkZXItc2VhcmNoX19hY3Rpb24gLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1jb250YWluZXItLXNlYXJjaCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmFqYXgtbG9hZGluZyAuY3MtaGVhZGVyLXNlYXJjaF9faW5wdXQ6Zm9jdXMgKyAuY3MtaGVhZGVyLXNlYXJjaF9fYWN0aW9uIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tY29udGFpbmVyLS1sb2FkZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuY3MtaGVhZGVyLXNlYXJjaF9fYWN0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAyMjA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAyNXB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAyNXB4OyB9XG4gIC5jcy1oZWFkZXItc2VhcmNoX19jbG9zZS1pY29uIHtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgbGluZWFyOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2Nsb3NlLWljb246aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19jbG9zZS1pY29uIHBhdGgge1xuICAgICAgZmlsbDogIzNFM0UzRTsgfVxuICAuY3MtaGVhZGVyLXNlYXJjaF9fY2xvc2UtbGFiZWwge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGN1YmljLWJlemllcigwLCAwLjY2LCAwLjMyLCAwLjk5KSwgb3BhY2l0eSAwLjE1cyBsaW5lYXI7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWNvbnRhaW5lci0tc2VhcmNoIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tY29udGFpbmVyLS1sb2FkZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgICBwYWRkaW5nOiA4cHggMjVweDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjtcbiAgICB3aWR0aDogMTA1cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDI1cHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24ubWVkaXVtIHtcbiAgICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi5sYXJnZSB7XG4gICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24sIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b246dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbiAqLCAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNzQ0MjsgfVxuICAgICAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjc7IH1cbiAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1pY29uIHtcbiAgICB0cmFuc2Zvcm06IHNrZXcoMThkZWcpIHRyYW5zbGF0ZVgoLTAuM3JlbSk7IH1cbiAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYnV0dG9uLWljb24tLXNlYXJjaCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2J1dHRvbi1pY29uLS1sb2FkZXIge1xuICAgICAgc3Ryb2tlOiAjZmZmZmZmO1xuICAgICAgd2lkdGg6IDMuMnJlbTtcbiAgICAgIGhlaWdodDogMy4ycmVtOyB9XG4gIC5jcy1oZWFkZXItc2VhcmNoX19idXR0b24tbGFiZWwge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIG1hcmdpbi1sZWZ0OiAtNHB4OyB9XG4gIC5jcy1oZWFkZXItc2VhcmNoX19hdXRvY29tcGxldGUge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwOyB9XG4gICAgLmNzLWhlYWRlci1zZWFyY2hfX2F1dG9jb21wbGV0ZSAub2xkLXByaWNlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtaGVhZGVyLXNlYXJjaF9fYXV0b2NvbXBsZXRlIHtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYyggMTAwdmggLSA1cmVtIC0gMS4yNzVlbSAtIDdyZW0pO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWhlYWRlci1zZWFyY2hfX2F1dG9jb21wbGV0ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE3KTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuXG5AaW1wb3J0ICdjb21wb25lbnRzL2ZpZWxkL21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcblxuJGhlYWRlci1zZWFyY2hfaGVpZ2h0OiAyLjg3NWVtICFkZWZhdWx0O1xuJGhlYWRlci1zZWFyY2hfZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vIFdpZHRoIG9mIHRoZSBzZWFyY2ggZmllbGQuIFdvcmtzIG9ubHkgZm9yIGAkZ2xvYmFsX2hlYWRlci1zZWFyY2hib3gtYXMtbGF5ZXItYnJlYWtwb2ludGAgYnJlYWtwb2ludCwgaW4gb3RoZXIgY2FzZSBpdCdzIGFsd2F5cyAxMDAlXG4kaGVhZGVyLXNlYXJjaC13aWR0aC1hcy1sYXllcjogNDIuN3Z3ICFkZWZhdWx0O1xuXG4kaGVhZGVyLXNlYXJjaF9jbG9zZS1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuXG4kaGVhZGVyLXNlYXJjaF9idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kaGVhZGVyLXNlYXJjaF9idXR0b24td2lkdGg6IDEwNXB4ICFkZWZhdWx0O1xuJGhlYWRlci1zZWFyY2hfYnV0dG9uLWJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudCAhZGVmYXVsdDtcbiRoZWFkZXItc2VhcmNoX2J1dHRvbi10cmFuc2Zvcm06ICR0cmFuc2Zvcm1fc2tldy00MDAgdHJhbnNsYXRlWCgwLjdyZW0pICFkZWZhdWx0O1xuXG4kaGVhZGVyLXNlYXJjaF9pY29uLXNlYXJjaC1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGhlYWRlci1zZWFyY2hfaWNvbi1zZWFyY2gtY29sb3ItaG92ZXI6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcbiRoZWFkZXItc2VhcmNoX2ljb24tbG9hZGVyLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kaGVhZGVyLXNlYXJjaF9pY29uLXRyYW5zZm9ybTogJHRyYW5zZm9ybV9za2V3LTQwMC1yZXZlcnQgdHJhbnNsYXRlWCgtMC4zcmVtKSAhZGVmYXVsdDtcblxuJGhlYWRlci1zZWFyY2hfYnV0dG9uLWNvbnRhaW5lci10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41c1xuICAgICAgICAkdHJhbnNpdGlvbi1lYXNpbmdfc2xvd2Rvd24tOTAwLFxuICAgIG9wYWNpdHkgMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4kaGVhZGVyLXNlYXJjaF9hdXRvY29tcGxldGUtYm94LXNoYWRvdzogMCA0cHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNykgIWRlZmF1bHQ7XG4kaGVhZGVyLXNlYXJjaF9hdXRvY29tcGxldGUtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuXG4kaGVhZGVyLXNlYXJjaC1ib3JkZXItcmFkaXVzX2Jhc2U6IDI1cHg7XG5cbi4jeyRuc31oZWFkZXItc2VhcmNoIHtcbiAgICAkcm9vdDogJjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuZmlsbGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MDVweDtcbiAgICB9XG5cbiAgICBAaWYgKCRnbG9iYWxfaGVhZGVyLXNlYXJjaGJveC1hcy1sYXllci1icmVha3BvaW50KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRnbG9iYWxfaGVhZGVyLXNlYXJjaGJveC1hcy1sYXllci1icmVha3BvaW50KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMzV2dztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpZWxkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkaGVhZGVyLXNlYXJjaC1ib3JkZXItcmFkaXVzX2Jhc2U7XG4gICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItc2VhcmNoYm94LWFzLWxheWVyLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIC5hY3RpdmUtcG9wdXAgJiB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5wdXQge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dCgpO1xuICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3NlYXJjaDE5LnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMHB4IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGVyLXNlYXJjaF9mb250LXNpemU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRoZWFkZXItc2VhcmNoLWJvcmRlci1yYWRpdXNfYmFzZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyMTA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0M3B4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMTBweDtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICArICN7JHJvb3R9X19hY3Rpb24ge1xuICAgICAgICAgICAgICAgIC5hamF4LWxvYWRpbmcgJiB7XG4gICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19idXR0b24tY29udGFpbmVyLS1zZWFyY2gge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19idXR0b24tY29udGFpbmVyLS1sb2FkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiAyMjA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRoZWFkZXItc2VhcmNoLWJvcmRlci1yYWRpdXNfYmFzZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRoZWFkZXItc2VhcmNoLWJvcmRlci1yYWRpdXNfYmFzZTtcbiAgICB9XG5cbiAgICAmX19jbG9zZS1pY29uIHtcbiAgICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgbGluZWFyO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJGhlYWRlci1zZWFyY2hfY2xvc2UtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jbG9zZS1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRyYW5zaXRpb246ICRoZWFkZXItc2VhcmNoX2J1dHRvbi1jb250YWluZXItdHJhbnNpdGlvbjtcblxuICAgICAgICAmLS1zZWFyY2gge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbG9hZGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkaGVhZGVyLXNlYXJjaF9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJ2xlZnQnXG4gICAgICAgICk7XG5cbiAgICAgICAgd2lkdGg6ICRoZWFkZXItc2VhcmNoX2J1dHRvbi13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGhlYWRlci1zZWFyY2gtYm9yZGVyLXJhZGl1c19iYXNlO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGhlYWRlci1zZWFyY2gtYm9yZGVyLXJhZGl1c19iYXNlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG4gICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbi1pY29uIHtcbiAgICAgICAgdHJhbnNmb3JtOiAkaGVhZGVyLXNlYXJjaF9pY29uLXRyYW5zZm9ybTtcblxuICAgICAgICAmLS1zZWFyY2gge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxvYWRlciB7XG4gICAgICAgICAgICBzdHJva2U6ICRoZWFkZXItc2VhcmNoX2ljb24tbG9hZGVyLWNvbG9yO1xuICAgICAgICAgICAgd2lkdGg6IDMuMnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMy4ycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWxhYmVsIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTRweDtcbiAgICB9XG5cbiAgICAmX19hdXRvY29tcGxldGUge1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKFxuICAgICAgICAgICAgICAgIDEwMHZoIC0gI3skZ2xvYmFsX2hlYWRlci1oZWlnaHQtbW9iaWxlfSAtICN7JGZpZWxkX3NlbGVjdC1saW5lLWhlaWdodH0gLVxuICAgICAgICAgICAgICAgICAgICA3cmVtXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItc2VhcmNoYm94LWFzLWxheWVyLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRnbG9iYWxfaGVhZGVyLXNlYXJjaGJveC1hcy1sYXllci1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRoZWFkZXItc2VhcmNoX2F1dG9jb21wbGV0ZS1ib3gtc2hhZG93O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtaGVhZGVyLXVzZXItbmF2IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2IHtcbiAgICAgIHBhZGRpbmc6IDAgMThweCAwIDA7XG4gICAgICBtaW4td2lkdGg6IDM2MHB4OyB9IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19pdGVtLS1zZWFyY2gge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rIHtcbiAgICAgICAgcGFkZGluZzogMTdweCAwIDIwcHggMjBweDsgfSB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGluazpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2xpbms6aG92ZXIgLmNzLWhlYWRlci11c2VyLW5hdl9faWNvbiBwYXRoIHtcbiAgICAgICAgZmlsbDogI0ZGNDYwNDsgfVxuICAgICAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGluazpob3ZlciAuY3MtaGVhZGVyLXVzZXItbmF2X19sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjRkY0NjA0OyB9XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdl9fbGluay0tc2VhcmNoOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rLnNob3djYXJ0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMThweDsgfVxuICAgICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rLnNob3djYXJ0IC5jcy1oZWFkZXItdXNlci1uYXZfX2xhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6IDA7IH1cbiAgICAgICAgICAuY3MtaGVhZGVyLXVzZXItbmF2X19saW5rLnNob3djYXJ0IC5jcy1oZWFkZXItdXNlci1uYXZfX2xhYmVsID4gc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2xpbmsuc2hvd2NhcnQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9faWNvbi13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9faWNvbiB7XG4gICAgd2lkdGg6IDIuNnJlbTtcbiAgICBoZWlnaHQ6IDIuNnJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2ljb24gcGF0aCB7XG4gICAgICBmaWxsOiAjRkY0NjA0OyB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX2xhYmVsIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbjogNHB4IDAgMCAxMnB4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2xhYmVsIHtcbiAgICAgICAgbWFyZ2luOiA0cHggMCAwIDZweDsgfSB9XG4gIC5jcy1oZWFkZXItdXNlci1uYXZfX3F0eS1jb3VudGVyLS13aXNobGlzdCB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmNzLWhlYWRlci11c2VyLW5hdl9fcXR5LWNvdW50ZXItLW1pbmljYXJ0IHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2X19xdHktY291bnRlci0taGF2ZS1pdGVtcyB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY3MtaGVhZGVyLXVzZXItbmF2X19xdHktY291bnRlci1zcGFuIHtcbiAgICBtaW4td2lkdGg6IDFjaDsgfVxuXG4uY3MtdG9wYmFyX193cmFwcGVyIC5jcy1oZWFkZXItdXNlci1uYXZfX2xpbmsge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxuLmNzLXRvcGJhcl9fd3JhcHBlciAuY3MtaGVhZGVyLXVzZXItbmF2X19pY29uLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgcGFkZGluZzogMCAxNXB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLXRvcGJhcl9fd3JhcHBlciAuY3MtaGVhZGVyLXVzZXItbmF2X19pY29uLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogMTRweDsgfSB9XG5cbi5jcy10b3BiYXJfX3dyYXBwZXIgLmNzLWhlYWRlci11c2VyLW5hdl9fbGFiZWwge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbjogMXB4IDAgMXB4IDdweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy10b3BiYXJfX3dyYXBwZXIgLmNzLWhlYWRlci11c2VyLW5hdl9fbGFiZWwge1xuICAgICAgbWFyZ2luOiAzcHggMCAycHggMTBweDsgfSB9XG5cbi5jcy10b3BiYXJfX3dyYXBwZXIgLmNzLWhlYWRlci11c2VyLW5hdl9faWNvbiB7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE3cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICAuY3MtdG9wYmFyX193cmFwcGVyIC5jcy1oZWFkZXItdXNlci1uYXZfX2ljb24gcGF0aCB7XG4gICAgZmlsbDogIzAwMDsgfVxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbkBtaXhpbiBxdHktY291bnRlcl9ob29rKCR0eXBlKSB7XG59XG5cbkBtaXhpbiBxdHktY291bnRlcl90eXBlLWhvb2soJHR5cGUpIHtcbn1cblxuQG1peGluIHF0eS1jb3VudGVyX3NwYW4taG9vaygkdHlwZSkge1xufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG5AaW1wb3J0ICdjb21wb25lbnRzL3F0eS1jb3VudGVyL21peGluJztcblxuJGhlYWRlci11c2VyLW5hdl9pdGVtczogMyAhZGVmYXVsdDsgLy8gbnVtYmVyIG9mIGl0ZW1zIGluIGhlYWRlciB1c2VyIG5hdiAod2l0aG91dCBzZWFyY2ggaXRlbSlcblxuJGhlYWRlci11c2VyLW5hdl9pY29uLWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X2ljb24tY29sb3ItaG92ZXI6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfaWNvbi13aWR0aDogMi42cmVtICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9pY29uLWhlaWdodDogJGhlYWRlci11c2VyLW5hdl9pY29uLXdpZHRoICFkZWZhdWx0O1xuXG4vLyBTZXQgdXAgd2hlbiBsYWJlbCBpbiBoZWFkZXIgdXNlciBuYXYgc2hvdWxkIGJlIHZpc2libGVcbi8vIFN1cHBvcnRlZCB2YWx1ZXM6IHRydWUgKGFsd2F5cykgfCBmYWxzZSAobmV2ZXIpIHwgYnJlYWtwb2ludFxuJGhlYWRlci11c2VyLW5hdl9sYWJlbC12aXNpYmxlOiAnPj10YWJsZXQnICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9sYWJlbC1mb250LXNpemU6IDE1cHggIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X2xhYmVsLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X2xhYmVsLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X2xhYmVsLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X2xhYmVsLWNvbG9yLWhvdmVyOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X2xhYmVsLW1hcmdpbi10b3A6IDAuM3JlbSAhZGVmYXVsdDtcblxuJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci13aXNobGlzdC1zaG93LWVtcHR5OiBmYWxzZSAhZGVmYXVsdDtcbiRoZWFkZXItdXNlci1uYXZfcXR5LWNvdW50ZXItbWluaWNhcnQtc2hvdy1lbXB0eTogZmFsc2UgIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLWFuaW1hdGlvbi1zaG93OiB0cnVlICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1hbmltYXRpb24tdGltZTogJHRyYW5zaXRpb24tZGVmYXVsdC10aW1lICFkZWZhdWx0O1xuXG4kaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLXRvcC1vZmZzZXQ6IC0wLjVyZW0gIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLXJpZ2h0LW9mZnNldC1tb2JpbGU6IC0wLjVyZW0gIWRlZmF1bHQ7XG4kaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLXJpZ2h0LW9mZnNldC10YWJsZXQ6IC0xcmVtICFkZWZhdWx0O1xuJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci1yaWdodC1vZmZzZXQtZGVza3RvcDogLTFyZW0gIWRlZmF1bHQ7XG5cbi4jeyRuc31oZWFkZXItdXNlci1uYXYge1xuICAgICRyb290OiAmO1xuXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMThweCAwIDA7XG4gICAgICAgIG1pbi13aWR0aDogMzYwcHg7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgJi0tc2VhcmNoIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZzogMTdweCAwIDIwcHggMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgI3skcm9vdH1fX2ljb24ge1xuICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkaGVhZGVyLXVzZXItbmF2X2ljb24tY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9fbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXVzZXItbmF2X2xhYmVsLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tc2VhcmNoIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc2hvd2NhcnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMThweDtcbiAgICAgICAgICAgICAgIC5jcy1oZWFkZXItdXNlci1uYXZfX2xhYmVsIHtcbiAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbi13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICB3aWR0aDogJGhlYWRlci11c2VyLW5hdl9pY29uLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRoZWFkZXItdXNlci1uYXZfaWNvbi1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6ICRoZWFkZXItdXNlci1uYXZfaWNvbi1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRoZWFkZXItdXNlci1uYXZfbGFiZWwtdGV4dC10cmFuc2Zvcm07XG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRlci11c2VyLW5hdl9sYWJlbC1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLXVzZXItbmF2X2xhYmVsLWZvbnQtd2VpZ2h0O1xuICAgICAgICBtYXJnaW46IDRweCAwIDAgMTJweDtcbiAgICAgICAgY29sb3I6ICRoZWFkZXItdXNlci1uYXZfbGFiZWwtY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBtYXJnaW46IDRweCAwIDAgNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcXR5LWNvdW50ZXIge1xuXG4gICAgICAgICYtLXdpc2hsaXN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHF0eS1jb3VudGVyX3R5cGUoJ3dpc2hsaXN0Jyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1taW5pY2FydCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBxdHktY291bnRlcl90eXBlKCdtaW5pY2FydCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0taGF2ZS1pdGVtcyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZW1wdHkge1xuICAgICAgICAgICAgJiN7JHJvb3R9X19xdHktY291bnRlci0td2lzaGxpc3Qge1xuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci11c2VyLW5hdl9xdHktY291bnRlci13aXNobGlzdC1zaG93LWVtcHR5KSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmI3skcm9vdH1fX3F0eS1jb3VudGVyLS1taW5pY2FydCB7XG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLXVzZXItbmF2X3F0eS1jb3VudGVyLW1pbmljYXJ0LXNob3ctZW1wdHkpIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19xdHktY291bnRlci1zcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgcXR5LWNvdW50ZXJfc3BhbigpO1xuICAgIH1cbn1cblxuLmNzLXRvcGJhcl9fd3JhcHBlciB7XG4gICAgLmNzLWhlYWRlci11c2VyLW5hdiB7XG4gICAgICAgICZfX2xpbmsge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgICAmX19pY29uLXdyYXBwZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3doaXRlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9ibGFjaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgbWFyZ2luOiAxcHggMCAxcHggN3B4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzcHggMCAycHggMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxN3B4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogJGNvbG9yX2JsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3F0eS1jb3VudGVyL2hvb2snO1xuXG4kcXR5LWNvdW50ZXJfZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJHF0eS1jb3VudGVyX2ZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kcXR5LWNvdW50ZXJfaGVpZ2h0OiAxLjhlbSAhZGVmYXVsdDtcbiRxdHktY291bnRlcl9wYWRkaW5nOiAwIDAuNnJlbSAhZGVmYXVsdDtcbiRxdHktY291bnRlcl9ib3JkZXI6IDAgIWRlZmF1bHQ7XG4kcXR5LWNvdW50ZXJfYm9yZGVyLXJhZGl1czogMC4ycmVtICFkZWZhdWx0O1xuXG4kcXR5LWNvdW50ZXJfdHJhbnNmb3JtOiAkdHJhbnNmb3JtX3NrZXctMzAwICFkZWZhdWx0O1xuJHF0eS1jb3VudGVyX3NwYW4tdHJhbnNmb3JtOiAkdHJhbnNmb3JtX3NrZXctMzAwLXJldmVydCAhZGVmYXVsdDtcblxuJHF0eS1jb3VudGVyLS1kZWZhdWx0LWJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRxdHktY291bnRlci0tZGVmYXVsdC1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuXG4kcXR5LWNvdW50ZXItLW1pbmljYXJ0LWJhY2tncm91bmQ6ICRjb2xvcl9lcnJvci01MDAgIWRlZmF1bHQ7XG4kcXR5LWNvdW50ZXItLW1pbmljYXJ0LWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG5cbiRxdHktY291bnRlci0td2lzaGxpc3QtYmFja2dyb3VuZDogJGNvbG9yX3NlY29uZGFyeS01MDAgIWRlZmF1bHQ7XG4kcXR5LWNvdW50ZXItLXdpc2hsaXN0LWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBxdHktY291bnRlcigkdHlwZTogJ2RlZmF1bHQnKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHF0eS1jb3VudGVyLS1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRxdHktY291bnRlci0tZGVmYXVsdC1jb2xvcjtcbiAgICB0cmFuc2Zvcm06ICRxdHktY291bnRlcl90cmFuc2Zvcm07XG4gICAgYm9yZGVyOiAkcXR5LWNvdW50ZXJfYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRxdHktY291bnRlcl9ib3JkZXItcmFkaXVzO1xuICAgIHBhZGRpbmc6ICRxdHktY291bnRlcl9wYWRkaW5nO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogJHF0eS1jb3VudGVyX2ZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICBmb250LXdlaWdodDogJHF0eS1jb3VudGVyX2ZvbnQtd2VpZ2h0O1xuICAgIGhlaWdodDogJHF0eS1jb3VudGVyX2hlaWdodDtcbiAgICAvLyBQcmV2ZW50IElFMTEgYW5kIEVkZ2UgYnVnIHdpdGggYmFja2dyb3VuZCBhbmQgcm91bmQgYm9yZGVyc1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgICBAaW5jbHVkZSBxdHktY291bnRlcl9ob29rKCR0eXBlKTtcbn1cblxuQG1peGluIHF0eS1jb3VudGVyX3R5cGUoJHR5cGU6ICdkZWZhdWx0Jykge1xuICAgIEBpZiAoJHR5cGUgPT0gJ3dpc2hsaXN0Jykge1xuICAgICAgICBjb2xvcjogJHF0eS1jb3VudGVyLS13aXNobGlzdC1jb2xvcjtcbiAgICB9XG5cbiAgICBAaWYgKCR0eXBlID09ICdtaW5pY2FydCcpIHtcbiAgICAgICAgY29sb3I6ICRxdHktY291bnRlci0tbWluaWNhcnQtY29sb3I7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcXR5LWNvdW50ZXJfdHlwZS1ob29rKCR0eXBlKTtcbn1cblxuQG1peGluIHF0eS1jb3VudGVyX3NwYW4oJHR5cGU6ICdkZWZhdWx0Jykge1xuICAgIG1pbi13aWR0aDogMWNoO1xuXG4gICAgQGluY2x1ZGUgcXR5LWNvdW50ZXJfc3Bhbi1ob29rKCR0eXBlKTtcbn1cbiIsIi5sYXp5bG9hZCxcbi5sYXp5bG9hZGluZyxcbi5zd2lwZXItbGF6eSB7XG4gICAgLy8gQWRkZWQgdG8gcHJldmVudCBsYXp5U2l6ZXMgZnJvbSBkZWxheWluZyBpbWFnZXMgbG9hZC5cbiAgICBvcGFjaXR5OiAwLjAwMTtcbn1cblxuLmxhenlsb2FkZWQsXG4uc3dpcGVyLWxhenktbG9hZGVkIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWxpbmtzLWJsb2NrLWFkZHRvIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnBhZ2UtcHJvZHVjdC1idW5kbGUgLmNzLWxpbmtzLWJsb2NrLWFkZHRvIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9uIC5jcy1saW5rcy1ibG9jay1hZGR0byB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvLS1jZW50ZXJlZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19pdGVtIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2l0ZW0gKyAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2l0ZW0ge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gICAgLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19pdGVtOm50aC1jaGlsZCgybikge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5jcy1saW5rcy1ibG9jay1hZGR0b19faXRlbTpudGgtY2hpbGQoMm4pIC5jcy1saW5rcy1ibG9jay1hZGR0b19faWNvbiB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gIC5jcy1saW5rcy1ibG9jay1hZGR0b19fbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjRkY3NDQyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGxpbmVhcjsgfVxuICAgIC5jcy1saW5rcy1ibG9jay1hZGR0b19fbGluazpob3ZlciB7XG4gICAgICBjb2xvcjogI0ZGNzQ0MjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2ljb24ge1xuICAgIHdpZHRoOiAxLjM3NWVtO1xuICAgIGhlaWdodDogMS4zNzVlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNHJlbTsgfVxuICAgIC5jcy1saW5rcy1ibG9jay1hZGR0b19faWNvbiBwYXRoIHtcbiAgICAgIGZpbGw6ICM2RTZFNkU7IH1cbiAgICAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2ljb24tLXdpc2hsaXN0IHBhdGgge1xuICAgICAgZmlsbDogI0NDMUMzQTsgfVxuICAgIC5jcy1saW5rcy1ibG9jay1hZGR0b19faWNvbi0tY29tcGFyZSBwYXRoIHtcbiAgICAgIGZpbGw6ICNGRjQ2MDQ7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuXG4kbGlua3MtYmxvY2stYWRkdG9fd2lzaGxpc3QtaWNvbi1jb2xvcjogJGNvbG9yX2Vycm9yLTUwMCAhZGVmYXVsdDtcbiRsaW5rcy1ibG9jay1hZGR0b19jb21wYXJlLWljb24tY29sb3I6ICRsaW5rLWNvbG9yX2Jhc2UgIWRlZmF1bHQ7XG4kbGlua3MtYmxvY2stYWRkdG9fY29sb3I6ICRjb2xvcl90ZXh0LTUwMCAhZGVmYXVsdDtcbiRsaW5rcy1ibG9jay1hZGR0b19ob3Zlci1jb2xvcjogJGxpbmstY29sb3JfYmFzZS1ob3ZlciAhZGVmYXVsdDtcbiRsaW5rcy1ibG9jay1hZGR0b19mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRsaW5rcy1ibG9jay1hZGR0b19pY29uLXdpZHRoOiAxLjM3NWVtICFkZWZhdWx0O1xuJGxpbmtzLWJsb2NrLWFkZHRvX2ljb24taGVpZ2h0OiAxLjM3NWVtICFkZWZhdWx0O1xuXG4uI3skbnN9bGlua3MtYmxvY2stYWRkdG8ge1xuICAgICRyb290OiAmO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLnBhZ2UtcHJvZHVjdC1idW5kbGUgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxuXG4gICAgLiN7JG5zfXByb2R1Y3QtdGlsZV9fYWRkb24gJiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgICYtLWNlbnRlcmVkIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICArICN7JHJvb3R9X19pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2ljb24ge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAkbGlua3MtYmxvY2stYWRkdG9fZm9udC1zaXplO1xuICAgICAgICBjb2xvcjogJGxpbmtzLWJsb2NrLWFkZHRvX2hvdmVyLWNvbG9yO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBsaW5lYXI7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGxpbmtzLWJsb2NrLWFkZHRvX2hvdmVyLWNvbG9yO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiAkbGlua3MtYmxvY2stYWRkdG9faWNvbi13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkbGlua3MtYmxvY2stYWRkdG9faWNvbi1oZWlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC40cmVtO1xuXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJGNvbG9yX2dyYXk7XG4gICAgICAgIH1cblxuICAgICAgICAmLS13aXNobGlzdCB7XG4gICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkbGlua3MtYmxvY2stYWRkdG9fd2lzaGxpc3QtaWNvbi1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWNvbXBhcmUge1xuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogJGxpbmtzLWJsb2NrLWFkZHRvX2NvbXBhcmUtaWNvbi1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtbG9nbyB7XG4gIGhlaWdodDogMTAwJTsgfVxuICAuY3MtbG9nb19faW1hZ2Uge1xuICAgIGhlaWdodDogMTAwJTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4uI3skbnN9bG9nbyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIEZpeGVzIGhlaWdodDogYXV0byBidWcgb24gY2hyb21lLlxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4ubWVzc2FnZXMge1xuICBtYXgtd2lkdGg6IDEyNHJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5jcy1tZXNzYWdlc19fbWVzc2FnZSxcbi5tZXNzYWdlIHtcbiAgbWFyZ2luOiAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW0gMXJlbSAxLjJyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEuNXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMS41cmVtIDEuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiA0LjNyZW07IH1cblxuLmNzLW1lc3NhZ2VzX19tZXNzYWdlLS1zdWNjZXNzLFxuLm1lc3NhZ2Uuc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbWVzc2FnZXMvc3VjY2Vzcy5zdmdcIik7XG4gIGJvcmRlcjogMS41cHggc29saWQgI0E5QzU0NjtcbiAgYmFja2dyb3VuZC1zaXplOiAxLjlyZW0gMS45cmVtOyB9XG4gIC5jcy1tZXNzYWdlc19fbWVzc2FnZS0tc3VjY2VzcyAuY3MtbWVzc2FnZXNfX3RleHQsXG4gIC5jcy1tZXNzYWdlc19fbWVzc2FnZS0tc3VjY2VzcyBzcGFuLFxuICAubWVzc2FnZS5zdWNjZXNzIC5jcy1tZXNzYWdlc19fdGV4dCxcbiAgLm1lc3NhZ2Uuc3VjY2VzcyBzcGFuIHtcbiAgICBjb2xvcjogI0E5QzU0NjsgfVxuXG4uY3MtbWVzc2FnZXNfX21lc3NhZ2UtLW5vdGljZSxcbi5tZXNzYWdlLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL21lc3NhZ2VzL3dhcm5pbmcuc3ZnXCIpO1xuICBib3JkZXI6IDEuNXB4IHNvbGlkICNGRjc0NDI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEuNnJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMS42cmVtIDEuNnJlbTsgfVxuICAuY3MtbWVzc2FnZXNfX21lc3NhZ2UtLW5vdGljZSAuY3MtbWVzc2FnZXNfX3RleHQsXG4gIC5jcy1tZXNzYWdlc19fbWVzc2FnZS0tbm90aWNlIHNwYW4sXG4gIC5tZXNzYWdlLndhcm5pbmcgLmNzLW1lc3NhZ2VzX190ZXh0LFxuICAubWVzc2FnZS53YXJuaW5nIHNwYW4ge1xuICAgIGNvbG9yOiAjRkY3NDQyOyB9XG5cbi5jcy1tZXNzYWdlc19fbWVzc2FnZS0taW5mbyxcbi5tZXNzYWdlLmluZm8sXG4ubWVzc2FnZS5ub3RpY2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL21lc3NhZ2VzL2luZm8uc3ZnXCIpO1xuICBib3JkZXI6IDEuNXB4IHNvbGlkICM0QTkwRTI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEuNnJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMS41cmVtIDEuNXJlbTsgfVxuICAuY3MtbWVzc2FnZXNfX21lc3NhZ2UtLWluZm8gLmNzLW1lc3NhZ2VzX190ZXh0LFxuICAuY3MtbWVzc2FnZXNfX21lc3NhZ2UtLWluZm8gc3BhbixcbiAgLm1lc3NhZ2UuaW5mbyAuY3MtbWVzc2FnZXNfX3RleHQsXG4gIC5tZXNzYWdlLmluZm8gc3BhbixcbiAgLm1lc3NhZ2Uubm90aWNlIC5jcy1tZXNzYWdlc19fdGV4dCxcbiAgLm1lc3NhZ2Uubm90aWNlIHNwYW4ge1xuICAgIGNvbG9yOiAjNEE5MEUyOyB9XG5cbi5jcy1tZXNzYWdlc19fbWVzc2FnZS0tZXJyb3IsXG4ubWVzc2FnZS5lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbWVzc2FnZXMvcmVtb3ZlLnN2Z1wiKTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCAjQ0MxQzNBOyB9XG4gIC5jcy1tZXNzYWdlc19fbWVzc2FnZS0tZXJyb3IgLmNzLW1lc3NhZ2VzX190ZXh0LFxuICAuY3MtbWVzc2FnZXNfX21lc3NhZ2UtLWVycm9yIHNwYW4sXG4gIC5tZXNzYWdlLmVycm9yIC5jcy1tZXNzYWdlc19fdGV4dCxcbiAgLm1lc3NhZ2UuZXJyb3Igc3BhbiB7XG4gICAgY29sb3I6ICNDQzFDM0E7IH1cblxuLmNzLW1lc3NhZ2VzX190ZXh0LFxuLm1lc3NhZ2Ugc3BhbiB7XG4gIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLW1lc3NhZ2VzX190ZXh0LFxuICAgIC5tZXNzYWdlIHNwYW4ge1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7IH0gfVxuXG4uY3MtbWVzc2FnZXMtLXNwYWNlLXRvcCB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuXG4uaW5jcmVtZW50LW5vdGlmaWNhdGlvbiB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEuNnJlbSAxLjJyZW0gIWltcG9ydGFudDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kbWVzc2FnZXNfc3VjY2Vzcy1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRtZXNzYWdlc19pbmZvLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG1lc3NhZ2VzX25vdGljZS1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRtZXNzYWdlc19lcnJvci1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJG1lc3NhZ2VzX3N1Y2Nlc3MtYm9yZGVyOiAxLjVweCBzb2xpZCAkY29sb3Jfc3VjY2VzcyAhZGVmYXVsdDtcbiRtZXNzYWdlc19pbmZvLWJvcmRlcjogMS41cHggc29saWQgJGNvbG9yX2luZm8gIWRlZmF1bHQ7XG4kbWVzc2FnZXNfbm90aWNlLWJvcmRlcjogMS41cHggc29saWQgJGNvbG9yX3dhcm4gIWRlZmF1bHQ7XG4kbWVzc2FnZXNfZXJyb3ItYm9yZGVyOiAxLjVweCBzb2xpZCAkY29sb3JfZXJyb3IgIWRlZmF1bHQ7XG5cbiRtZXNzYWdlc19zdWNjZXNzLWNvbG9yOiAkY29sb3Jfc3VjY2VzcyAhZGVmYXVsdDtcbiRtZXNzYWdlc19pbmZvLWNvbG9yOiAkY29sb3JfaW5mbyAhZGVmYXVsdDtcbiRtZXNzYWdlc19ub3RpY2UtY29sb3I6ICRjb2xvcl93YXJuICFkZWZhdWx0O1xuJG1lc3NhZ2VzX2Vycm9yLWNvbG9yOiAkY29sb3JfZXJyb3IgIWRlZmF1bHQ7XG5cblxuJG1lc3NhZ2VzX2JvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XG4kbWVzc2FnZXNfcGFkZGluZzogMXJlbSAxcmVtIDEuMnJlbSAhZGVmYXVsdDtcbiRtZXNzYWdlc190ZXh0LWNvbG9yOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7XG4kbWVzc2FnZV9pY29uLXdpZHRoOiAxLjVyZW0gIWRlZmF1bHQ7XG4kbWVzc2FnZV9pY29uLWhlaWdodDogJG1lc3NhZ2VfaWNvbi13aWR0aCAhZGVmYXVsdDtcblxuLm1lc3NhZ2VzIHtcbiAgICBtYXgtd2lkdGg6ICRwYWdlX21heC13aWR0aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLiN7JG5zfW1lc3NhZ2VzX19tZXNzYWdlLFxuLm1lc3NhZ2Uge1xuICAgIG1hcmdpbjogMXJlbSAwO1xuICAgIHBhZGRpbmc6ICRtZXNzYWdlc19wYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRtZXNzYWdlc19ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMS41cmVtIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRtZXNzYWdlX2ljb24td2lkdGggJG1lc3NhZ2VfaWNvbi1oZWlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiA0LjNyZW07XG59XG5cbi4jeyRuc31tZXNzYWdlc19fbWVzc2FnZS0tc3VjY2Vzcyxcbi5tZXNzYWdlLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZXNzYWdlc19zdWNjZXNzLWJhY2tncm91bmQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbWVzc2FnZXMvc3VjY2Vzcy5zdmcnKTtcbiAgICBib3JkZXI6ICRtZXNzYWdlc19zdWNjZXNzLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEuOXJlbSAxLjlyZW07XG4gICAgLiN7JG5zfW1lc3NhZ2VzX190ZXh0LFxuICAgIHNwYW4gIHtcbiAgICAgICAgY29sb3I6ICRtZXNzYWdlc19zdWNjZXNzLWNvbG9yO1xuICAgIH1cbn1cblxuLiN7JG5zfW1lc3NhZ2VzX19tZXNzYWdlLS1ub3RpY2UsXG4ubWVzc2FnZS53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVzc2FnZXNfbm90aWNlLWJhY2tncm91bmQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbWVzc2FnZXMvd2FybmluZy5zdmcnKTtcbiAgICBib3JkZXI6ICRtZXNzYWdlc19ub3RpY2UtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEuNnJlbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxLjZyZW0gMS42cmVtO1xuICAgIC4jeyRuc31tZXNzYWdlc19fdGV4dCxcbiAgICBzcGFuICB7XG4gICAgICAgIGNvbG9yOiAkbWVzc2FnZXNfbm90aWNlLWNvbG9yO1xuICAgIH1cbn1cblxuLiN7JG5zfW1lc3NhZ2VzX19tZXNzYWdlLS1pbmZvLFxuLm1lc3NhZ2UuaW5mbyxcbi5tZXNzYWdlLm5vdGljZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1lc3NhZ2VzX2luZm8tYmFja2dyb3VuZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tZXNzYWdlcy9pbmZvLnN2ZycpO1xuICAgIGJvcmRlcjogJG1lc3NhZ2VzX2luZm8tYm9yZGVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEuNnJlbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxLjVyZW0gMS41cmVtO1xuICAgIC4jeyRuc31tZXNzYWdlc19fdGV4dCxcbiAgICBzcGFuICB7XG4gICAgICAgIGNvbG9yOiAkbWVzc2FnZXNfaW5mby1jb2xvcjtcbiAgICB9XG59XG5cbi4jeyRuc31tZXNzYWdlc19fbWVzc2FnZS0tZXJyb3IsXG4ubWVzc2FnZS5lcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1lc3NhZ2VzX2Vycm9yLWJhY2tncm91bmQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbWVzc2FnZXMvcmVtb3ZlLnN2ZycpO1xuICAgIGJvcmRlcjogJG1lc3NhZ2VzX2Vycm9yLWJvcmRlcjtcbiAgICAuI3skbnN9bWVzc2FnZXNfX3RleHQsXG4gICAgc3BhbiAge1xuICAgICAgICBjb2xvcjogJG1lc3NhZ2VzX2Vycm9yLWNvbG9yO1xuICAgIH1cbn1cblxuLiN7JG5zfW1lc3NhZ2VzX190ZXh0LFxuLm1lc3NhZ2Ugc3BhbiB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIH1cbn1cblxuLiN7JG5zfW1lc3NhZ2VzIHtcbiAgICAkcm9vdDogJjtcblxuICAgICYtLXNwYWNlLXRvcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICB9XG59XG5cbi5pbmNyZW1lbnQtbm90aWZpY2F0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMS42cmVtIDEuMnJlbSAhaW1wb3J0YW50O1xufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKiBwcmV0dGllci1pZ25vcmUgKi9cbi5jcy1taW5pY2FydF9fY2xvc2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC0xLjVyZW07XG4gIHdpZHRoOiA1cmVtO1xuICBoZWlnaHQ6IDNyZW07XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuY3MtbWluaWNhcnRfX2Nsb3NlOmZvY3VzLCAuY3MtbWluaWNhcnRfX2Nsb3NlOmFjdGl2ZSwgLmNzLW1pbmljYXJ0X19jbG9zZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5jcy1taW5pY2FydF9fY2xvc2U6YmVmb3JlIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICBsaW5lLWhlaWdodDogM3JlbTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBjb250ZW50OiAnXFxlNjE2JztcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICBmb250LWZhbWlseTogJ2ljb25zLWJsYW5rLXRoZW1lJztcbiAgICBtYXJnaW46IDA7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHNwZWFrOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY3MtbWluaWNhcnRfX2Nsb3NlLXRleHQge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDsgfVxuXG4uY3MtbWluaWNhcnRfX3RpdGxlLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDJyZW0gMDtcbiAgZGlzcGxheTogZmxleDtcbiAgY29sb3I6ICMyMTIxMjE7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBtYXJnaW46IDA7IH1cblxuLmNzLW1pbmljYXJ0X19pdGVtcy10b3RhbCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgLmNzLW1pbmljYXJ0X19pdGVtcy10b3RhbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcoJzsgfVxuICAuY3MtbWluaWNhcnRfX2l0ZW1zLXRvdGFsOmFmdGVyIHtcbiAgICBjb250ZW50OiAnKSc7IH1cblxuLmNzLW1pbmljYXJ0X19lZGl0LWxpbmsge1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5jcy1taW5pY2FydF9fZWRpdC1saW5rIC5jcy1saW5rX19pY29uIHtcbiAgICBwYWRkaW5nOiAwIDAgMCAxcmVtOyB9XG5cbi5jcy1taW5pY2FydF9fY29udGVudCB7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNzLW1pbmljYXJ0X19jb250ZW50IC5sb2FkLmluZGljYXRvcjpiZWZvcmUge1xuICAgIGhlaWdodDogdW5zZXQ7IH1cblxuLmNzLW1pbmljYXJ0X19saXN0IHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY3MtbWluaWNhcnRfX2xpc3QtLXNjcm9sbCB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDM2cmVtKTtcbiAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1taW5pY2FydF9fbGlzdC0tc2Nyb2xsIHtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDM4cmVtKTsgfVxuICAgICAgICAuaXMtdGFibGV0IC5jcy1taW5pY2FydF9fbGlzdC0tc2Nyb2xsIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDNyZW0pOyB9IH1cblxuLmNzLW1pbmljYXJ0X19saXN0LWl0ZW0ge1xuICBwYWRkaW5nOiAxLjVyZW0gMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNzLW1pbmljYXJ0X19saXN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4uY3MtbWluaWNhcnRfX2FjdGlvbnMtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDJyZW0gMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jcy1taW5pY2FydF9fYWN0aW9ucyB7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgLmNzLW1pbmljYXJ0X19hY3Rpb25zOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jcy1taW5pY2FydF9fYWN0aW9ucyAudmlld2NhcnQ6dmlzaXRlZCB7XG4gICAgY29sb3I6ICNGRjc0NDI7IH1cblxuLmNzLW1pbmljYXJ0X19lbXB0eSB7XG4gIHBhZGRpbmc6IDJyZW0gMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jcy1taW5pY2FydF9fc3VidG90YWwge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxLjJyZW07IH1cblxuLmNzLW1pbmljYXJ0X19zdWJ0b3RhbC1wcmljZSAucHJpY2Uge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICBwYWRkaW5nOiA4cHggMjVweDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogNTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjtcbiAgcGFkZGluZzogMTNweCAxNHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dC5tZWRpdW0ge1xuICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dC5sYXJnZSB7XG4gICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQsIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OnZpc2l0ZWQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRBOTBFMjtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0IHNwYW4sIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OnZpc2l0ZWQgc3BhbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAzOyB9XG4gICAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6YmVmb3JlLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDp2aXNpdGVkOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEE5MEUyO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzRBOTBFMjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgei1pbmRleDogMjsgfVxuICAgIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmFmdGVyLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDp2aXNpdGVkOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0OTgwQzE7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDRweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0ICosIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OnZpc2l0ZWQgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ5ODBDMTsgfVxuICAgIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmhvdmVyOm5vdChbZGlzYWJsZWRdKTphZnRlciwgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pOmFmdGVyLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDphY3RpdmU6bm90KFtkaXNhYmxlZF0pOmFmdGVyIHtcbiAgICAgIHRvcDogMnB4OyB9XG4gICAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pOmJlZm9yZSwgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pOmJlZm9yZSwgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKTpiZWZvcmUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzQ5ODBDMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0OTgwQzE7IH1cbiAgICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dDpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1taW5pY2FydF9fYnV0dG9uLWNoZWNrb3V0OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXRbZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGN1cnNvcjogYXV0bzsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jaGVja291dC1zcGFuIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovIH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2hlY2tvdXQtaWNvbiB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovIH1cblxuLmNzLW1pbmljYXJ0X19idXR0b24tdmlld2NhcnQge1xuICBib3JkZXI6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBjb2xvcjogIzAwMDsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi12aWV3Y2FydC1pY29uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLXZpZXdjYXJ0OmhvdmVyLCAuY3MtbWluaWNhcnRfX2J1dHRvbi12aWV3Y2FydDphY3RpdmUge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICBwYWRkaW5nOiA4cHggMjVweDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogNTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIG1hcmdpbjogM3JlbSAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGNkY2RjOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsLm1lZGl1bSB7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsLmxhcmdlIHtcbiAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWw6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbCwgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWw6dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWwgKiwgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWw6dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI0ZGNDYwNDsgfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWw6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0UzRTNFOyB9XG4gICAgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWw6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbDphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gIC5jcy1taW5pY2FydF9fYnV0dG9uLWNhcm91c2VsW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC42NTtcbiAgICBjdXJzb3I6IGF1dG87IH1cbiAgLmNzLW1pbmljYXJ0X19idXR0b24tY2Fyb3VzZWwtc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHBhZGRpbmctcmlnaHQ6IDRlbTtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi8gfVxuICAuY3MtbWluaWNhcnRfX2J1dHRvbi1jYXJvdXNlbC1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHJpZ2h0OiAxZW07XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovIH1cblxuLmNzLW1pbmljYXJ0X19tZXNzYWdlcyB7XG4gIHBhZGRpbmc6IDAgMnJlbTsgfVxuXG4uY3MtbWluaWNhcnQtb2ZmY2FudmFzX193cmFwcGVyIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uY3MtbWluaWNhcnRfX2Nhcm91c2VsLXNwaW5uZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5taW5pY2FydC13cmFwcGVyIC51aS1kaWFsb2cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDAuNXJlbTtcbiAgei1pbmRleDogOTk5OTk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWluaWNhcnQtd3JhcHBlciAudWktZGlhbG9nIHtcbiAgICAgIHJpZ2h0OiAtMXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIgLnVpLWRpYWxvZyB7XG4gICAgICB0b3A6IGNhbGMoIDEwMCUgLSAoICggMTFyZW0gLSA4LjNyZW0gKSAvIDIgKSk7IH0gfVxuXG4ubWluaWNhcnQtd3JhcHBlciAuYmxvY2stbWluaWNhcnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAwIDAgMjFweCAwIHJnYmEoMCwgMCwgMCwgMC4yNyk7XG4gIGJvcmRlcjogbm9uZTtcbiAgd2lkdGg6IDMxcmVtO1xuICByaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5taW5pY2FydC13cmFwcGVyIC5ibG9jay1taW5pY2FydCB7XG4gICAgICB3aWR0aDogNDByZW07IH0gfVxuICAubWluaWNhcnQtd3JhcHBlciAuYmxvY2stbWluaWNhcnQ6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5taW5pY2FydC13cmFwcGVyIC5ibG9jay1taW5pY2FydDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdG9wOiAtMC44cmVtO1xuICAgIHJpZ2h0OiAxLjVyZW07XG4gICAgbGVmdDogYXV0bzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubWluaWNhcnQtd3JhcHBlciAuYmxvY2stbWluaWNhcnQ6YWZ0ZXIge1xuICAgICAgICByaWdodDogNC41cmVtOyB9IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ2V0Yy92aWV3LnNjc3MnO1xuQGltcG9ydCAndXRpbHMvZGVlcC1nZXQvZGVlcC1nZXQuc2Nzcyc7XG5cbiRtaW5pY2FydC1vZmZjYW52YXM6IGRlZXAtZ2V0KFxuICAgICR2aWV3LXhtbCxcbiAgICB2YXJzLFxuICAgIE1hZ2VudG9fQ2hlY2tvdXQsXG4gICAgbWluaWNhcnRfb2ZmY2FudmFzLFxuICAgIGVuYWJsZWRcbikgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydC1vZmZjYW52YXMtY2Fyb3VzZWw6IGRlZXAtZ2V0KFxuICAgICR2aWV3LXhtbCxcbiAgICB2YXJzLFxuICAgIE1hZ2VudG9fQ2hlY2tvdXQsXG4gICAgbWluaWNhcnRfb2ZmY2FudmFzLFxuICAgIHByb2R1Y3RzX2Nhcm91c2VsLFxuICAgIGVuYWJsZWRcbikgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydF9vZmZjYW52YXMtd3JhcHBlcjogMCAhZGVmYXVsdDtcbiRtaW5pY2FydF9vZmZjYW52YXMtcGFkZGluZzogMS41cmVtIDJyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnRfb2ZmY2FudmFzLXRpdGxlLXBhZGRpbmc6IDFyZW0gMnJlbSAhZGVmYXVsdDtcbiRtaW5pY2FydF9vZmZjYW52YXMtaXRlbS1wYWRkaW5nOiAxLjVyZW0gMnJlbSAhZGVmYXVsdDtcbiRtaW5pY2FydF9vZmZjYW52YXMtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3I6IGZhbHNlICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1vZmZzZXQtaXBob25lLWZpeDogNDByZW0gIWRlZmF1bHQ7XG5cbiRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYmFja2dyb3VuZDogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGFjaW5nOiAycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1wb3NpdGlvbjogJ2NlbnRlcicgIWRlZmF1bHQ7IC8vIERlZmF1bHQgdmFsdWU6IGNlbnRlci4gUG9zc2libGUgdmFsdWVzOiBjZW50ZXIgLyB0b3AgLyBib3R0b21cbiRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtcG9zaXRpb24tb2Zmc2V0OiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwYWNpbmcgIWRlZmF1bHQ7XG4kbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLWJ1dHRvbi1wb3NpdGlvbjogJ2NlbnRlcicgIWRlZmF1bHQ7IC8vIERlZmF1bHQgdmFsdWU6IGNlbnRlci4gUG9zc2libGUgdmFsdWVzOiBjZW50ZXIgLyBsZWZ0IC8gcmlnaHRcbiRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1idXR0b24tc3BhY2luZzogM3JlbSAhZGVmYXVsdDtcbi8qIHByZXR0aWVyLWlnbm9yZSAqL1xuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC10cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uLWRlZmF1bHQtdGltZSBlYXNlLWluICFkZWZhdWx0O1xuJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGlubmVyLXNpemU6IDExcmVtICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfcGFkZGluZzogMnJlbSAwICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfY2xvc2UtYnV0dG9uLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydF9pdGVtLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJG1pbmljYXJ0X2l0ZW0taGVhZGxpbmUtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRtaW5pY2FydF9pdGVtLXBhZGRpbmc6IDEuNXJlbSAwICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfYmFja2dyb3VuZDogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJG1pbmljYXJ0X2JveC1zaGFkb3c6IDAgMCAyMXB4IDAgcmdiYSgkY29sb3JfYmFja2dyb3VuZC04MDAsIDAuMjcpICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfd2lkdGg6IDQwcmVtICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfY29udGVudC1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kbWluaWNhcnRfYWN0aW9uLXdyYXBwZXJfYm94LXNoYWRvdzogMCAtNXB4IDVweCAtNXB4XG4gICAgcmdiYSgkY29sb3JfYmFja2dyb3VuZC04MDAsIDAuMjcpICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfYnV0dG9uLWNoZWNrb3V0LXR5cGU6ICdhZGR0bycgIWRlZmF1bHQ7XG4kbWluaWNhcnRfYnV0dG9uLWNoZWNrb3V0LWljb24tcG9zOiBub25lICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfYnV0dG9uLXZpZXdjYXJ0LXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJG1pbmljYXJ0X2J1dHRvbi12aWV3Y2FydC1pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuXG4kbWluaWNhcnRfYnV0dG9uLWNhcm91c2VsLXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJG1pbmljYXJ0X2J1dHRvbi1jYXJvdXNlbC1pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuXG4uI3skbnN9bWluaWNhcnQge1xuICAgICRyb290OiAmO1xuXG4gICAgJl9fY2xvc2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IC0xLjVyZW07XG4gICAgICAgIHdpZHRoOiA1cmVtO1xuICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgZm9udC1zaXplOiA1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGU2MTYnO1xuICAgICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ2ljb25zLWJsYW5rLXRoZW1lJztcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHNwZWFrOiBub25lO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgcmlnaHQ6IDAuNXJlbTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX3RleHQtNTAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2xvc2UtdGV4dCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgIH1cblxuICAgICZfX3RpdGxlLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6ICRtaW5pY2FydF9wYWRkaW5nO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBjb2xvcjogJG1pbmljYXJ0X2l0ZW0taGVhZGxpbmUtY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgcGFkZGluZzogJG1pbmljYXJ0X29mZmNhbnZhcy10aXRsZS1wYWRkaW5nO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjFyZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJG1pbmljYXJ0X2l0ZW0tYm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbXMtdG90YWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcoJztcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyknO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl90ZXh0LTUwMDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19lZGl0LWxpbmsge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgIC4jeyRuc31saW5rX19pY29uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtaW5pY2FydF9jb250ZW50LWJhY2tncm91bmQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAubG9hZC5pbmRpY2F0b3I6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAmLS1zY3JvbGwge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzZyZW0pO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzOHJlbSk7XG5cbiAgICAgICAgICAgICAgICAuaXMtdGFibGV0ICYge1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDNyZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICRtaW5pY2FydF9vZmZjYW52YXMtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgIC8qIGlQaG9uZSBYIGFuZCBYcyBNYXggKi9cbiAgICAgICAgICAgICAgICAvKiBwcmV0dGllci1pZ25vcmUgKi9cbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW5cbiAgICAgICAgICAgICAgICBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6IDM3NXB4KVxuICAgICAgICAgICAgICAgIGFuZCAobWluLWRldmljZS1oZWlnaHQ6IDgxMnB4KVxuICAgICAgICAgICAgICAgIGFuZCAoLXdlYmtpdC1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpXG4gICAgICAgICAgICAgICAgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtICN7JG1pbmljYXJ0X29mZmNhbnZhcy1vZmZzZXQtaXBob25lLWZpeH0pICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLyogaVBob25lIFhSICovXG4gICAgICAgICAgICAgICAgLyogcHJldHRpZXItaWdub3JlICovXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuXG4gICAgICAgICAgICAgICAgYW5kIChtaW4tZGV2aWNlLXdpZHRoOiA0MTRweClcbiAgICAgICAgICAgICAgICBhbmQgKG1pbi1kZXZpY2UtaGVpZ2h0OiA4OTZweClcbiAgICAgICAgICAgICAgICBhbmQgKC13ZWJraXQtZGV2aWNlLXBpeGVsLXJhdGlvOiAyKVxuICAgICAgICAgICAgICAgIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAjeyRtaW5pY2FydF9vZmZjYW52YXMtb2Zmc2V0LWlwaG9uZS1maXh9KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpc3QtaXRlbSB7XG4gICAgICAgIHBhZGRpbmc6ICRtaW5pY2FydF9pdGVtLXBhZGRpbmc7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRtaW5pY2FydF9pdGVtLWJvcmRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRtaW5pY2FydF9vZmZjYW52YXMtaXRlbS1wYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9ucy13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogJG1pbmljYXJ0X3BhZGRpbmc7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkbWluaWNhcnRfb2ZmY2FudmFzLXBhZGRpbmc7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkbWluaWNhcnRfYWN0aW9uLXdyYXBwZXJfYm94LXNoYWRvdztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgICAudmlld2NhcnQge1xuICAgICAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX3ByaW1hcnktb3JhbmdlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZW1wdHkge1xuICAgICAgICBwYWRkaW5nOiAkbWluaWNhcnRfcGFkZGluZztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICZfX3N1YnRvdGFsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICAgIH1cblxuICAgICZfX3N1YnRvdGFsLXByaWNlIHtcbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbi1jaGVja291dCB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkbWluaWNhcnRfYnV0dG9uLWNoZWNrb3V0LXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydF9idXR0b24tY2hlY2tvdXQtaWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICAgICAgcGFkZGluZzogMTNweCAxNHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmLXNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydF9idXR0b24tY2hlY2tvdXQtdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtaW5pY2FydF9idXR0b24tY2hlY2tvdXQtaWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICAgICAgfVxuXG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJG1pbmljYXJ0X2J1dHRvbi1jaGVja291dC10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1pbmljYXJ0X2J1dHRvbi1jaGVja291dC1pY29uLXBvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLXZpZXdjYXJ0IHtcbiAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICBjb2xvcjogJGNvbG9yX2JsYWNrO1xuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6YWN0aXZlLCB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2JsYWNrO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24tY2Fyb3VzZWwge1xuICAgICAgICAmLXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYnV0dG9uLXNwYWNpbmc7XG4gICAgICAgICAgICBtYXJnaW46ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYnV0dG9uLXNwYWNpbmcgMDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYnV0dG9uLWJvcmRlcjtcblxuICAgICAgICAgICAgQGlmICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYnV0dG9uLXBvc2l0aW9uID09ICdsZWZ0JyB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLWJ1dHRvbi1wb3NpdGlvbiA9PSAncmlnaHQnIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRtaW5pY2FydF9idXR0b24tY2Fyb3VzZWwtdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJG1pbmljYXJ0X2J1dHRvbi1jYXJvdXNlbC1pY29uLXBvc1xuICAgICAgICApO1xuXG4gICAgICAgICYtc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJG1pbmljYXJ0X2J1dHRvbi1jYXJvdXNlbC10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1pbmljYXJ0X2J1dHRvbi1jYXJvdXNlbC1pY29uLXBvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkbWluaWNhcnRfYnV0dG9uLWNhcm91c2VsLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbWluaWNhcnRfYnV0dG9uLWNhcm91c2VsLWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZXNzYWdlcyB7XG4gICAgICAgIHBhZGRpbmc6IDAgMnJlbTtcbiAgICB9XG5cbiAgICAmLW9mZmNhbnZhc19fd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6ICRtaW5pY2FydF9vZmZjYW52YXMtd3JhcHBlcjtcbiAgICB9XG59XG5cbkBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIGFuZCAkbWluaWNhcnQtb2ZmY2FudmFzLWNhcm91c2VsIHtcbiAgICAvKiBwcmV0dGllci1pZ25vcmUgKi9cbiAgICAuI3skbnN9bWluaWNhcnRfX2Nhcm91c2VsIHtcbiAgICAgICAgJHJvb3Q6ICY7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgJi1jb250YWluZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtdHJhbnNpdGlvbjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgI3skcm9vdH0td3JhcHBlci0tcmVhZHkgJiB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtd3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICByaWdodDogY2FsYygjeyRtaW5pY2FydF93aWR0aH0gKyAjeyRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtc3BhY2luZ30pO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAoI3skbWluaWNhcnRfd2lkdGh9ICsgKDIgKiAjeyRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtc3BhY2luZ30pKSk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyMHJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgQGF0LXJvb3QgLmRyYXdlci0tdmlzaWJsZSAmIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBhdC1yb290IC5pZTExIC5kcmF3ZXItLXZpc2libGUgJiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcExnJykge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcExnJykge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBjYWxjKCN7JG1pbmljYXJ0X3dpZHRofSArICgyICogI3skbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwYWNpbmd9KSk7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAoI3skbWluaWNhcnRfd2lkdGh9ICsgKDQgKiAjeyRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtc3BhY2luZ30pKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXBvc2l0aW9uID09ICd0b3AnIHtcbiAgICAgICAgICAgICAgICB0b3A6ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtcG9zaXRpb24tb2Zmc2V0O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtcG9zaXRpb24gPT0gJ2JvdHRvbScge1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICBib3R0b206ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtcG9zaXRpb24tb2Zmc2V0O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRuc31oZWFkbGluZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgJG1pbmljYXJ0X29mZmNhbnZhcy1jYXJvdXNlbC1zcGFjaW5nO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtc3BhY2luZyAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXNwaW5uZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgd2lkdGg6ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtc3Bpbm5lci1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXNwaW5uZXItc2l6ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtc3BhY2luZyAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtaW5pY2FydF9vZmZjYW52YXMtY2Fyb3VzZWwtYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93X2Jhc2U7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLXRyYW5zaXRpb247XG5cbiAgICAgICAgICAgICN7JHJvb3R9LXdyYXBwZXItLWxvYWRpbmcgJiB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRuc31wcm9kdWN0cy1jYXJvdXNlbCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWluaWNhcnRfb2ZmY2FudmFzLWNhcm91c2VsLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICB9XG59IEBlbHNlIHtcbiAgICAuI3skbnN9bWluaWNhcnRfX2Nhcm91c2VsIHtcbiAgICAgICAgJi1zcGlubmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiAkbWluaWNhcnQtb2ZmY2FudmFzICE9IHRydWUge1xuICAgIC5taW5pY2FydC13cmFwcGVyIHtcbiAgICAgICAgLnVpLWRpYWxvZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICByaWdodDogMC41cmVtO1xuICAgICAgICAgICAgei1pbmRleDogOTk5OTk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICByaWdodDogLTFyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoJGdsb2JhbF9oZWFkZXItaGVpZ2h0LWRlc2t0b3AgPiAkZ2xvYmFsX2hlYWRlci1oZWlnaHQtdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wTGcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgICAgIDEwMCUgLVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JGdsb2JhbF9oZWFkZXItaGVpZ2h0LWRlc2t0b3B9IC0gI3skZ2xvYmFsX2hlYWRlci1oZWlnaHQtdGFibGV0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSAvIDJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJsb2NrLW1pbmljYXJ0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtaW5pY2FydF9iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJG1pbmljYXJ0X2JveC1zaGFkb3c7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMzFyZW07XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMnJlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJG1pbmljYXJ0X3dpZHRoO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG1pbmljYXJ0X2JhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgIHRvcDogLTAuOHJlbTtcbiAgICAgICAgICAgICAgICByaWdodDogMS41cmVtO1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA0LjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSBAZWxzZSB7XG4gICAgLm1pbmljYXJ0LXdyYXBwZXIge1xuICAgICAgICAudWktZGlhbG9nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBSYWRpbyBhbmQgY2hlY2tib3ggc3R5bGluZyAqL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuLmNzLW1pbmljYXJ0LXByb2R1Y3Qge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19pbWFnZS1jb250YWluZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19pbWFnZS1jb250YWluZXIgaW1nIHtcbiAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9faW1hZ2Uge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX292ZXJ2aWV3IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19kZXRhaWxzIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fYnJhbmQtd3JhcHBlciB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fYnJhbmQge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjM0UzRTNFOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19uYW1lLXdyYXBwZXIge1xuICAgIGZsZXgtYmFzaXM6IDU1JTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4ycmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxLjNyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX25hbWUtd3JhcHBlciB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDcwJTsgfSB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19uYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX25hbWU6dmlzaXRlZCwgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX25hbWU6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICMyMTIxMjE7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3ByaWNlIC5wcmljZSB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzIxMjEyMTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcHJpY2UtbGFiZWwsIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXN1YnRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy10aXRsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy10aXRsZS1zdmcge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBpbml0aWFsOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXRpdGxlLXN2ZyB7XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAsIDAuNjYsIDAuMzIsIDAuOTkpO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLXRvcDogLTAuNHJlbTtcbiAgICBmbGV4LWJhc2lzOiAxMDAlOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLWdyb3VwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtZ3JvdXAtLXF0eSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXdyYXBwZXIgKyAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy1ncm91cC0tcXR5IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBjb2xvcjogIzNFM0UzRTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy1sYWJlbDphZnRlciB7XG4gICAgICBjb250ZW50OiAnOic7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdmFsdWUge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjM0UzRTNFO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy12YWx1ZV9fdmFsdWUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy12YWx1ZV9fdmFsdWUgLnByaWNlIHtcbiAgICAgICAgY29sb3I6ICMyMTIxMjE7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2FjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDEuMnJlbTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fYWN0aW9uLXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHksXG4gIC5jcy1taW5pY2FydC1wcm9kdWN0IC5jcy1xdHktaW5jcmVtZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDEgMCA5cmVtO1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1pbnB1dCB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgcGFkZGluZzogMTFweCAxMHB4O1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICBtYXJnaW46IDAgMCAwLjJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGhlaWdodDogM3JlbTtcbiAgICB3aWR0aDogNHJlbTtcbiAgICBtYXgtd2lkdGg6IDRyZW07XG4gICAgZm9udC1zaXplOiAxLjJyZW07IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWlucHV0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1pbnB1dDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNDYwNDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29sb3I6ICM2RTZFNkU7IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWlucHV0W2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgcGFkZGluZzogOHB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uLm1lZGl1bSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uLmxhcmdlIHtcbiAgICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uLCAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbjp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gICAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbiAqLCAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAgIC5jcy1taW5pY2FydC1wcm9kdWN0X19xdHktYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX3F0eS1idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbi1zcGFuIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fcXR5LWJ1dHRvbi1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC4xZW07IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2FjdGlvbjpob3ZlciAuY3MtbWluaWNhcnQtcHJvZHVjdF9fb3B0aW9ucy10aXRsZS1zdmcgKixcbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2FjdGlvbjpob3ZlciAuY3MtbWluaWNhcnQtcHJvZHVjdF9fYWN0aW9uLWljb24gKiwgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGU6aG92ZXIgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGUtc3ZnICosXG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19vcHRpb25zLXRpdGxlOmhvdmVyIC5jcy1taW5pY2FydC1wcm9kdWN0X19hY3Rpb24taWNvbiAqIHtcbiAgICBmaWxsOiAjMDAwOyB9XG4gIC5jcy1taW5pY2FydC1wcm9kdWN0X19hY3Rpb24taWNvbiB7XG4gICAgd2lkdGg6IDEuNnJlbTtcbiAgICBoZWlnaHQ6IDEuNnJlbTsgfVxuICAuY3MtbWluaWNhcnQtcHJvZHVjdF9fYWN0aW9uLWljb24gKiwgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX29wdGlvbnMtdGl0bGUtc3ZnICoge1xuICAgIGZpbGw6ICMwMDA7IH1cbiAgLmNzLW1pbmljYXJ0LXByb2R1Y3RfX2FjdGlvbi1sYWJlbCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8qIDEgKi8gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9maWVsZC9taXhpbic7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuQGltcG9ydCAnZXRjL3ZpZXcuc2Nzcyc7XG5AaW1wb3J0ICd1dGlscy9kZWVwLWdldC9kZWVwLWdldC5zY3NzJztcblxuJG1pbmljYXJ0LW9mZmNhbnZhczogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIHZhcnMsXG4gICAgTWFnZW50b19DaGVja291dCxcbiAgICBtaW5pY2FydF9vZmZjYW52YXMsXG4gICAgZW5hYmxlZFxuKSAhZGVmYXVsdDtcblxuJG1pbmljYXJ0LXByb2R1Y3RfYWN0aW9uLWljb24tY29sb3I6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X2FjdGlvbi1pY29uLWNvbG9yLWhvdmVyOiAkY29sb3JfYmxhY2sgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9hY3Rpb24taWNvbi1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0X2FjdGlvbi1pY29uLWNvbG9yLS1ob3ZlcjogJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0X2FjdGlvbi1pY29uLWNvbG9yICFkZWZhdWx0O1xuXG4kbWluaWNhcnQtcHJvZHVjdF9icmFuZC1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X2JyYW5kLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9icmFuZC1hbGlnbm1lbnQ6IGxlZnQgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydC1wcm9kdWN0X292ZXJ2aWV3LWZvbnQtc2l6ZTogMS4zcmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3RfbmFtZS1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3RfbmFtZS1jb2xvci1ob3ZlcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3RfbmFtZS1wYWRkaW5nOiAxLjJyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9uYW1lLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydC1wcm9kdWN0LW9wdGlvbnMtdGl0bGUtY29sb3I6ICRjb2xvcl90ZXh0LTYwMCAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X29wdGlvbnMtZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9vcHRpb25zLWxhYmVsLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9vcHRpb25zLXZhbHVlLWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9vcHRpb25zX3RvZ2dsZS1wYWRkaW5nOiAxLjJyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdC1vcHRpb25zX3RvZ2dsZS1kaXNhYmxlOiBmYWxzZSAhZGVmYXVsdDtcblxuJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0LW9wdGlvbnMtdGl0bGUtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRtaW5pY2FydC1vZmZjYW52YXMtcHJvZHVjdF9vcHRpb25zLXRpdGxlLWZvbnQtc2l6ZTogMS4zcmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0X29wdGlvbnMtbGFiZWwtZm9udC1zaXplOiAxLjFyZW0gIWRlZmF1bHQ7XG4kbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3Qtb3B0aW9ucy1sYWJlbC1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0LW9wdGlvbnMtbGFiZWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcblxuJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0X2FjdGlvbi1pY29uLXNpemU6IDJyZW0gIWRlZmF1bHQ7XG5cbiRtaW5pY2FydC1wcm9kdWN0X3ByaWNlLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG5cbiRtaW5pY2FydC1wcm9kdWN0X3F0eS1lbmFibGU6IHRydWUgIWRlZmF1bHQ7XG4kbWluaWNhcnQtcHJvZHVjdF9xdHktaGVpZ2h0OiAzcmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWJ1dHRvbi10eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSAhZGVmYXVsdDtcbiRtaW5pY2FydC1wcm9kdWN0X3F0eS1idXR0b24taWNvbi1wb3M6ICdvbmx5LWljb24nICFkZWZhdWx0O1xuXG4uI3skbnN9bWluaWNhcnQtcHJvZHVjdCB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgJl9faW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAmX19vdmVydmlldyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgJl9fZGV0YWlscyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX2JyYW5kLXdyYXBwZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiAkbWluaWNhcnQtcHJvZHVjdF9icmFuZC1hbGlnbm1lbnQ7XG4gICAgfVxuXG4gICAgJl9fYnJhbmQge1xuICAgICAgICBmb250LXNpemU6ICRtaW5pY2FydC1wcm9kdWN0X2JyYW5kLWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRtaW5pY2FydC1wcm9kdWN0X2JyYW5kLWNvbG9yO1xuICAgIH1cblxuICAgICZfX25hbWUtd3JhcHBlciB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDU1JTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRtaW5pY2FydC1wcm9kdWN0X25hbWUtcGFkZGluZztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtcHJvZHVjdF9vdmVydmlldy1mb250LXNpemU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDcwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX25hbWUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkbWluaWNhcnQtcHJvZHVjdF9uYW1lLWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogJG1pbmljYXJ0LXByb2R1Y3RfbmFtZS1mb250LXdlaWdodDtcblxuICAgICAgICAmOnZpc2l0ZWQsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICRtaW5pY2FydC1wcm9kdWN0X25hbWUtY29sb3ItaG92ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtLXByaWNpbmcge1xuICAgICAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ByaWNlIHtcbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1pbmljYXJ0LXByb2R1Y3Rfb3ZlcnZpZXctZm9udC1zaXplO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkbWluaWNhcnQtcHJvZHVjdF9wcmljZS1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgIC5wcmljZS1pbmNsdWRpbmctdGF4LFxuICAgICAgICAgICAgLnByaWNlLWV4Y2x1ZGluZy10YXgge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1pbmljYXJ0LXByb2R1Y3Rfb3ZlcnZpZXctZm9udC1zaXplO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcmljZS1sYWJlbCxcbiAgICAmX19vcHRpb25zLXN1YnRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19vcHRpb25zLXRpdGxlIHtcbiAgICAgICAgQGlmICgkbWluaWNhcnQtcHJvZHVjdC1vcHRpb25zX3RvZ2dsZS1kaXNhYmxlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9ucy1mb250LXNpemU7XG4gICAgICAgICAgICBjb2xvcjogJG1pbmljYXJ0LXByb2R1Y3Qtb3B0aW9ucy10aXRsZS1jb2xvcjtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgJlthcmlhLWV4cGFuZGVkPSd0cnVlJ10ge1xuICAgICAgICAgICAgICAgID4gI3skcm9vdH1fX29wdGlvbnMtdGl0bGUtc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3Rfb3B0aW9ucy10aXRsZS1mb250LXNpemU7XG4gICAgICAgICAgICBjb2xvcjogJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0LW9wdGlvbnMtdGl0bGUtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vcHRpb25zLXRpdGxlLXN2ZyB7XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbi1kZWZhdWx0LXRpbWVcbiAgICAgICAgICAgICR0cmFuc2l0aW9uLWVhc2luZ19zbG93ZG93bi05MDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgJl9fb3B0aW9ucy13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IC0wLjRyZW07XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRtaW5pY2FydC1wcm9kdWN0X29wdGlvbnNfdG9nZ2xlLXBhZGRpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vcHRpb25zLWdyb3VwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAmLS1xdHkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fb3B0aW9ucy13cmFwcGVyICsgJiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fb3B0aW9ucy1jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGlmICgkbWluaWNhcnQtcHJvZHVjdC1vcHRpb25zX3RvZ2dsZS1kaXNhYmxlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX29wdGlvbnMtbGFiZWwge1xuICAgICAgICBmb250LXNpemU6ICRtaW5pY2FydC1wcm9kdWN0X29wdGlvbnMtZm9udC1zaXplO1xuICAgICAgICBjb2xvcjogJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9ucy1sYWJlbC1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJzonO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRtaW5pY2FydC1vZmZjYW52YXMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3Rfb3B0aW9ucy1sYWJlbC1mb250LXNpemU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0LW9wdGlvbnMtbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICBjb2xvcjogJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0LW9wdGlvbnMtbGFiZWwtY29sb3I7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fb3B0aW9ucy12YWx1ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJG1pbmljYXJ0LXByb2R1Y3Rfb3B0aW9ucy1mb250LXNpemU7XG4gICAgICAgIGNvbG9yOiAkbWluaWNhcnQtcHJvZHVjdF9vcHRpb25zLXZhbHVlLWNvbG9yO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmX192YWx1ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRtaW5pY2FydC1wcm9kdWN0X3ByaWNlLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkbWluaWNhcnQtcHJvZHVjdF9vcHRpb25zX3RvZ2dsZS1wYWRkaW5nO1xuICAgIH1cblxuICAgICZfX2FjdGlvbi13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgfVxuXG4gICAgQGlmICgkbWluaWNhcnQtcHJvZHVjdF9xdHktZW5hYmxlKSB7XG4gICAgICAgICZfX3F0eSxcbiAgICAgICAgLmNzLXF0eS1pbmNyZW1lbnQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXg6IDEgMCA5cmVtO1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAmX19xdHktbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3F0eS1pbnB1dCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dCgpO1xuXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBoZWlnaHQ6ICRtaW5pY2FydC1wcm9kdWN0X3F0eS1oZWlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogNHJlbTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNHJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1pbmljYXJ0LXByb2R1Y3RfcXR5LWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3F0eS1idXR0b24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkbWluaWNhcnQtcHJvZHVjdF9xdHktYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbWluaWNhcnQtcHJvZHVjdF9xdHktYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDNyZW07XG4gICAgICAgICAgICBoZWlnaHQ6ICRtaW5pY2FydC1wcm9kdWN0X3F0eS1oZWlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fcXR5LWJ1dHRvbi1zcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkbWluaWNhcnQtcHJvZHVjdF9xdHktYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbWluaWNhcnQtcHJvZHVjdF9xdHktYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fcXR5LWJ1dHRvbi1pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkbWluaWNhcnQtcHJvZHVjdF9xdHktYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbWluaWNhcnQtcHJvZHVjdF9xdHktYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgICZfX3F0eSxcbiAgICAgICAgLmNzLXF0eS1pbmNyZW1lbnQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbixcbiAgICAmX19vcHRpb25zLXRpdGxlIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAjeyRyb290fV9fb3B0aW9ucy10aXRsZS1zdmcsXG4gICAgICAgICAgICAjeyRyb290fV9fYWN0aW9uLWljb24ge1xuICAgICAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkbWluaWNhcnQtcHJvZHVjdF9hY3Rpb24taWNvbi1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY3Rpb24taWNvbiB7XG4gICAgICAgIHdpZHRoOiAxLjZyZW07XG4gICAgICAgIGhlaWdodDogMS42cmVtO1xuXG4gICAgICAgIEBpZiAkbWluaWNhcnQtb2ZmY2FudmFzIHtcbiAgICAgICAgICAgIHdpZHRoOiAkbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3RfYWN0aW9uLWljb24tc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0X2FjdGlvbi1pY29uLXNpemU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY3Rpb24taWNvbixcbiAgICAmX19vcHRpb25zLXRpdGxlLXN2ZyB7XG4gICAgICAgICoge1xuICAgICAgICAgICAgZmlsbDogJG1pbmljYXJ0LXByb2R1Y3RfYWN0aW9uLWljb24tY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY3Rpb24tbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICB9XG5cbiAgICBAaWYgJG1pbmljYXJ0LW9mZmNhbnZhcyB7XG4gICAgICAgICZfX29wdGlvbnMtdGl0bGUge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX29wdGlvbnMtdGl0bGUtc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkbWluaWNhcnQtb2ZmY2FudmFzLXByb2R1Y3RfYWN0aW9uLWljb24tY29sb3ItLWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fb3B0aW9ucy10aXRsZS1zdmcge1xuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgZmlsbDogJG1pbmljYXJ0LW9mZmNhbnZhcy1wcm9kdWN0X2FjdGlvbi1pY29uLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX2NvbnRlbnQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RjZGNkYztcbiAgcGFkZGluZzogMS41cmVtIDJyZW0gMnJlbTtcbiAgY29sb3I6ICM2OTY5Njk7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5jcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvcl9fY2VsbCB7XG4gIHBhZGRpbmctdG9wOiAxLjRyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjRyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4uY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX3RvdGFsLWxlZnQtdGV4dCBzcGFuIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX3RvdGFsLWZ1bGZpbGxlZCB7XG4gIHBhZGRpbmctbGVmdDogMi44cmVtO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvbWVzc2FnZXMvaWNvbi1zdWNjZXNzLnN2Z1wiKSAwIDUwJSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMnJlbTsgfVxuXG4uY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX2Jhci13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX2Jhci1sYWJlbCB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBjb2xvcjogI0E5QzU0NjtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX2Jhci1sYWJlbC0tc3RhcnQge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAuY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX2Jhci1sYWJlbC0tZW5kIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4uY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX2JhciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDJyZW07XG4gIHBhZGRpbmc6IDAuNHJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2IwYjBiMDtcbiAgYm9yZGVyLXJhZGl1czogNC4ycHg7IH1cblxuLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX19iYXItcHJvZ3Jlc3Mtd3JhcHBlciB7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4uY3MtZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfX2Jhci1wcm9ncmVzcyB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDA7XG4gIGJhY2tncm91bmQ6ICNBOUM1NDY7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC41NXMgY3ViaWMtYmV6aWVyKDAsIDAuNjYsIDAuMzIsIDAuOTkpOyB9XG5cbi5jcy1mcmVlLXNoaXBwaW5nLWluZGljYXRvcl9faWNvbiB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMy40cmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIG1hcmdpbjogMCAwIDAgMi41cmVtO1xuICBmaWxsOiAjNkU2RTZFO1xuICB0cmFuc2l0aW9uOiBmaWxsIDAuM3M7IH1cbiAgLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX19iYXItd3JhcHBlci0tZnJlZS1zaGlwcGluZy1hY3RpdmUgLmNzLWZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX19pY29uIHtcbiAgICBmaWxsOiAjQTlDNTQ2OyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcblxuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX3BhZGRpbmc6IDEuNXJlbSAycmVtIDJyZW0gIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3Jfc2VwYXJhdG9yOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG5cbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9wcmljZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuXG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfZnVsZmlsbGVkLWljb24tdXJsOiAnLi4vaW1hZ2VzL2ljb25zL21lc3NhZ2VzL2ljb24tc3VjY2Vzcy5zdmcnICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Z1bGZpbGxlZC1pY29uLXNpemU6IDJyZW0gIWRlZmF1bHQ7IC8vIGJhY2tncm91bmQtc2l6ZSBmb3JtYXQgKDJyZW0gMXJlbSBvciAycmVtID09PSAycmVtIDJyZW0pXG5cbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItbGFiZWwtY29sb3I6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItbGFiZWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItbGFiZWwtc3BhY2luZzogMXJlbSAhZGVmYXVsdDtcblxuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLXBhZGRpbmc6IDAuNHJlbSAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX3NpbHZlci1jaGFsaWNlICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICogMS40ICFkZWZhdWx0O1xuXG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLXByb2dyZXNzLXdyYXBwZXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLXByb2dyZXNzLWJhY2tncm91bmQ6ICRjb2xvcl9zdWNjZXNzLTUwMCAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItcHJvZ3Jlc3MtdHJhbnNpdGlvbjogd2lkdGggMC41NXNcbiAgICAkdHJhbnNpdGlvbi1lYXNpbmdfc2xvd2Rvd24tOTAwICFkZWZhdWx0O1xuXG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfaWNvbi13aWR0aDogMy40cmVtICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2ljb24taGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2ljb24tbWFyZ2luOiAwIDAgMCAyLjVyZW0gIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfaWNvbi1jb2xvcjogJGNvbG9yX2dyYXkgIWRlZmF1bHQ7XG4kZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfaWNvbi1jb2xvci0tZnJlZS1zaGlwcGluZy1hcHBsaWVkOiAkY29sb3Jfc3VjY2Vzcy01MDAgIWRlZmF1bHQ7XG5cbi4jeyRuc31mcmVlLXNoaXBwaW5nLWluZGljYXRvciB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX3NlcGFyYXRvcjtcbiAgICAgICAgcGFkZGluZzogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX3BhZGRpbmc7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfdGV4dC01MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2ZvbnQtc2l6ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAmX19jZWxsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuNHJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNHJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICZfX3RvdGFsLWxlZnQtdGV4dCB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RvdGFsLWZ1bGZpbGxlZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMi44cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Z1bGZpbGxlZC1pY29uLXVybCkgMCA1MCVcbiAgICAgICAgICAgIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfZnVsZmlsbGVkLWljb24tc2l6ZTtcbiAgICB9XG5cbiAgICAmX19iYXItd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fYmFyLWxhYmVsIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGNvbG9yOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWxhYmVsLWNvbG9yO1xuICAgICAgICBmb250LXdlaWdodDogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1sYWJlbC1mb250LXdlaWdodDtcblxuICAgICAgICAmLS1zdGFydCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItbGFiZWwtc3BhY2luZztcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWVuZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1sYWJlbC1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1oZWlnaHQ7XG4gICAgICAgIHBhZGRpbmc6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItcGFkZGluZztcbiAgICAgICAgYm9yZGVyOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1ib3JkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICZfX2Jhci1wcm9ncmVzcy13cmFwcGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLXByb2dyZXNzLXdyYXBwZXItYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1wcm9ncmVzcy1ib3JkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICZfX2Jhci1wcm9ncmVzcyB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9iYXItcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2Jhci1wcm9ncmVzcy1ib3JkZXItcmFkaXVzO1xuICAgICAgICB0cmFuc2l0aW9uOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfYmFyLXByb2dyZXNzLXRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB3aWR0aDogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2ljb24td2lkdGg7XG4gICAgICAgIGhlaWdodDogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2ljb24taGVpZ2h0O1xuICAgICAgICBtYXJnaW46ICRmcmVlLXNoaXBwaW5nLWluZGljYXRvcl9pY29uLW1hcmdpbjtcbiAgICAgICAgZmlsbDogJGZyZWUtc2hpcHBpbmctaW5kaWNhdG9yX2ljb24tY29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246IGZpbGwgJHRyYW5zaXRpb24tZGVmYXVsdC10aW1lO1xuXG4gICAgICAgICN7JHJvb3R9X19iYXItd3JhcHBlci0tZnJlZS1zaGlwcGluZy1hY3RpdmUgJiB7XG4gICAgICAgICAgICBmaWxsOiAkZnJlZS1zaGlwcGluZy1pbmRpY2F0b3JfaWNvbi1jb2xvci0tZnJlZS1zaGlwcGluZy1hcHBsaWVkO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cbi5tb2RhbC1zbGlkZS5jb25maXJtIC5tb2RhbC1pbm5lci13cmFwLFxuLm1vZGFsLXBvcHVwLmNvbmZpcm0gLm1vZGFsLWlubmVyLXdyYXAsXG4ubW9kYWwtY3VzdG9tLmNvbmZpcm0gLm1vZGFsLWlubmVyLXdyYXAge1xuICBtYXgtd2lkdGg6IDUwcmVtOyB9XG5cbi5tb2RhbC1zbGlkZSAubW9kYWwtaW5uZXItd3JhcCxcbi5tb2RhbC1wb3B1cCAubW9kYWwtaW5uZXItd3JhcCxcbi5tb2RhbC1jdXN0b20gLm1vZGFsLWlubmVyLXdyYXAge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAxcHggM3B4IDNyZW0gMCByZ2JhKDMzLCAzMywgMzMsIDAuMjgpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IG5vbmU7IH1cblxuLm1vZGFsLXNsaWRlIC5tb2RhbC1jb250ZW50LFxuLm1vZGFsLXBvcHVwIC5tb2RhbC1jb250ZW50LFxuLm1vZGFsLWN1c3RvbSAubW9kYWwtY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgZm9udC1zaXplOiAxLjZyZW07IH1cblxuLm1vZGFsLXNsaWRlIC5tb2RhbC1oZWFkZXIsXG4ubW9kYWwtcG9wdXAgLm1vZGFsLWhlYWRlcixcbi5tb2RhbC1jdXN0b20gLm1vZGFsLWhlYWRlciB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbWluLWhlaWdodDogNjVweDsgfVxuXG4ubW9kYWwtc2xpZGUgLmFjdGlvbi1jbG9zZSxcbi5tb2RhbC1wb3B1cCAuYWN0aW9uLWNsb3NlLFxuLm1vZGFsLWN1c3RvbSAuYWN0aW9uLWNsb3NlIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIG1hcmdpbjogMS41cmVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvY2xvc2Uuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTVweDtcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogM3JlbTsgfVxuICAuaWUxMSAubW9kYWwtc2xpZGUgLmFjdGlvbi1jbG9zZSwgLmllMTFcbiAgLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2UsIC5pZTExXG4gIC5tb2RhbC1jdXN0b20gLmFjdGlvbi1jbG9zZSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IDEwcHg7IH1cbiAgLm1vZGFsLXNsaWRlIC5hY3Rpb24tY2xvc2Ugc3BhbixcbiAgLm1vZGFsLXBvcHVwIC5hY3Rpb24tY2xvc2Ugc3BhbixcbiAgLm1vZGFsLWN1c3RvbSAuYWN0aW9uLWNsb3NlIHNwYW4ge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cblxuLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIsXG4ubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3Rlcixcbi5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciB7XG4gIHBhZGRpbmc6IDJyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGNkY2RjO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDM5Ljk5ZW0pIHtcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlcixcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlcixcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LFxuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeSxcbiAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LFxuICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeSxcbiAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSxcbiAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgcGFkZGluZzogOHB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7XG4gICAgbWluLXdpZHRoOiAxMnJlbTsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeS5tZWRpdW0sXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnkubWVkaXVtLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeS5tZWRpdW0sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnkubWVkaXVtLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnkubWVkaXVtLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeS5tZWRpdW0ge1xuICAgICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnkubGFyZ2UsXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnkubGFyZ2UsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LmxhcmdlLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LmxhcmdlLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnkubGFyZ2UsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LmxhcmdlIHtcbiAgICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeTo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5LCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6dmlzaXRlZCxcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeSxcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6dmlzaXRlZCxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5ICosIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTp2aXNpdGVkICosXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeSAqLFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5ICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5ICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAucHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1wcmltYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnByaW1hcnlbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeVtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnByaW1hcnlbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnlbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeVtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzOS45OWVtKSB7XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnksXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeSxcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSxcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5LFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSxcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnkgc3BhbixcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAucHJpbWFyeSBzcGFuLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSBzcGFuLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5wcmltYXJ5IHNwYW4sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tcHJpbWFyeSBzcGFuLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAucHJpbWFyeSBzcGFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSxcbiAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSxcbiAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksXG4gIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnksXG4gIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSxcbiAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgICBwYWRkaW5nOiA4cHggMjVweDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjtcbiAgICBtaW4td2lkdGg6IDEycmVtOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkubWVkaXVtLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkubWVkaXVtLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5Lm1lZGl1bSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5Lm1lZGl1bSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkubWVkaXVtLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5Lm1lZGl1bSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LmxhcmdlLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkubGFyZ2UsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkubGFyZ2UsXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeS5sYXJnZSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkubGFyZ2UsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkubGFyZ2Uge1xuICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6dmlzaXRlZCxcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6dmlzaXRlZCxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6dmlzaXRlZCxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSAqLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkICosXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5ICosXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5ICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5ICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OnZpc2l0ZWQgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5ICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI0ZGNDYwNDsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNFM0UzRTsgfVxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnlbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnlbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5W2Rpc2FibGVkXSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5W2Rpc2FibGVkXSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnlbZGlzYWJsZWRdLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5W2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDM5Ljk5ZW0pIHtcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSxcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSxcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSxcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSBzcGFuLFxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgc3BhbixcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSBzcGFuLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgc3BhbixcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkgc3BhbixcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSBzcGFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICAgICAgcGFkZGluZzogOHB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7XG4gICAgICBtaW4td2lkdGg6IDEycmVtOyB9XG4gICAgICBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5Lm1lZGl1bSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeS5tZWRpdW0sIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5Lm1lZGl1bSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeS5tZWRpdW0sIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeS5tZWRpdW0sIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5Lm1lZGl1bSB7XG4gICAgICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkubGFyZ2UsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkubGFyZ2UsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LmxhcmdlLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LmxhcmdlLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkubGFyZ2UsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LmxhcmdlIHtcbiAgICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgICAgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTo6LW1vei1mb2N1cy1pbm5lciwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTo6LW1vei1mb2N1cy1pbm5lciwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTo6LW1vei1mb2N1cy1pbm5lciwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTp2aXNpdGVkLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OnZpc2l0ZWQsIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5LCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuICAgICAgICBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5ICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6dmlzaXRlZCAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OnZpc2l0ZWQgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5ICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTp2aXNpdGVkICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5ICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OnZpc2l0ZWQgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OnZpc2l0ZWQgKiB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgZmlsbDogI0ZGNDYwNDsgfVxuICAgICAgYm9keS5jaGVja291dC1pbmRleC1pbmRleCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSksIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0UzRTNFOyB9XG4gICAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnk6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciAuYWN0aW9uLXNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnk6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAgIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXggLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnlbZGlzYWJsZWRdLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnlbZGlzYWJsZWRdLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5W2Rpc2FibGVkXSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5W2Rpc2FibGVkXSwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnlbZGlzYWJsZWRdIHtcbiAgICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgICBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4IC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5IHNwYW4sIGJvZHkuY2hlY2tvdXQtaW5kZXgtaW5kZXhcbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgc3BhbiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkgc3BhbiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgLnNlY29uZGFyeSBzcGFuLCBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4XG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgLmFjdGlvbi1zZWNvbmRhcnkgc3BhbiwgYm9keS5jaGVja291dC1pbmRleC1pbmRleFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIC5zZWNvbmRhcnkgc3BhbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZCxcbiAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQsXG4gIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICAgIHBhZGRpbmc6IDhweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yO1xuICAgIG1pbi13aWR0aDogMTJyZW07IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZC5tZWRpdW0sXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQubWVkaXVtLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZC5tZWRpdW0ge1xuICAgICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZC5sYXJnZSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZC5sYXJnZSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQubGFyZ2Uge1xuICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDp2aXNpdGVkLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOnZpc2l0ZWQsXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gICAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZCAqLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDp2aXNpdGVkICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZCAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6dmlzaXRlZCAqLFxuICAgICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkICosXG4gICAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAubW9kYWwtY3VzdG9tIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgLm1vZGFsLXBvcHVwIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1wb3B1cCAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZDphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkW2Rpc2FibGVkXSxcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZFtkaXNhYmxlZF0sXG4gICAgLm1vZGFsLWN1c3RvbSAubW9kYWwtZm9vdGVyIGJ1dHRvbjpvbmx5LWNoaWxkW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIgYnV0dG9uOm9ubHktY2hpbGQgc3BhbixcbiAgICAubW9kYWwtcG9wdXAgLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZCBzcGFuLFxuICAgIC5tb2RhbC1jdXN0b20gLm1vZGFsLWZvb3RlciBidXR0b246b25seS1jaGlsZCBzcGFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuXG4ubW9kYWwtc2xpZGUgLm1vZGFsLXRpdGxlLFxuLm1vZGFsLXBvcHVwIC5tb2RhbC10aXRsZSxcbi5tb2RhbC1jdXN0b20gLm1vZGFsLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgY29sb3I6ICMyMTIxMjE7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjogMXJlbSAwIDJyZW07XG4gIHBhZGRpbmc6IDJyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjO1xuICBtYXJnaW46IDA7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgLm1vZGFsLXBvcHVwLm1vZGFsLXNsaWRlIC5tb2RhbC1pbm5lci13cmFwW2NsYXNzXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAzOS45OWVtKSB7XG4gIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMzkuOTllbSkge1xuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuYWN0aW9uLXByaW1hcnksXG4gIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5wcmltYXJ5IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAzOS45OWVtKSB7XG4gIC5tb2RhbC1zbGlkZSAubW9kYWwtZm9vdGVyIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAubW9kYWwtc2xpZGUgLm1vZGFsLWZvb3RlciAuc2Vjb25kYXJ5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfSB9XG5cbi5pZTExIC5tb2RhbC1wb3B1cDpub3QoLmNzLXZpZGVvLXBsYXllcl9fbW9kYWwpIC5tb2RhbC1jb250ZW50IHtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDMzcmVtKTsgfVxuXG4ucGFnZS1sYXlvdXQtY2hlY2tvdXQgLm1vZGFsLXBvcHVwIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBhZ2UtbGF5b3V0LWNoZWNrb3V0IC5tb2RhbC1zbGlkZSB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBtYXgtd2lkdGg6IDY1cmVtO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH0gfVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uZmFuY3lib3gtb3ZlcmxheSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsgfVxuXG4uZmFuY3lib3gtZGVza3RvcC5mYW5jeWJveC10eXBlLWlmcmFtZS5mYW5jeWJveC1vcGVuZWQge1xuICBtYXgtd2lkdGg6IDExNzBweDtcbiAgd2lkdGg6IDg1dncgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgIC5mYW5jeWJveC1kZXNrdG9wLmZhbmN5Ym94LXR5cGUtaWZyYW1lLmZhbmN5Ym94LW9wZW5lZCB7XG4gICAgICB3aWR0aDogOTV2dyAhaW1wb3J0YW50O1xuICAgICAgbGVmdDogMi41dncgIWltcG9ydGFudDsgfSB9XG5cbi5mYW5jeWJveC1kZXNrdG9wLmZhbmN5Ym94LXR5cGUtaW5saW5lIHtcbiAgbWF4LXdpZHRoOiA0ODBweDtcbiAgd2lkdGg6IDk1dncgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgIC5mYW5jeWJveC1kZXNrdG9wLmZhbmN5Ym94LXR5cGUtaW5saW5lIHtcbiAgICAgIGxlZnQ6IDIuNXZ3ICFpbXBvcnRhbnQ7IH0gfVxuICAuZmFuY3lib3gtZGVza3RvcC5mYW5jeWJveC10eXBlLWlubGluZSAuZmFuY3lib3gtc2tpbiB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAuZmFuY3lib3gtZGVza3RvcC5mYW5jeWJveC10eXBlLWlubGluZSAuaGVhZGVyLFxuICAuZmFuY3lib3gtZGVza3RvcC5mYW5jeWJveC10eXBlLWlubGluZSAuY2FydC1pbmZvIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5mYW5jeWJveC1kZXNrdG9wIC5mYW5jeWJveC1pbm5lciB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1heC1oZWlnaHQ6IDczNXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDQ1cHggMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgIC5mYW5jeWJveC1kZXNrdG9wIC5mYW5jeWJveC1pbm5lciB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDAgMHB4OyB9IH1cblxuLmZhbmN5Ym94LXNraW4gLmZhbmN5Ym94LWNsb3NlIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbGVmdDogMzFweDtcbiAgcmlnaHQ6IGF1dG87XG4gIHRvcDogMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDIzcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmFuY3lib3gtc2tpbiAuZmFuY3lib3gtY2xvc2Uge1xuICAgICAgbGVmdDogMjVweDtcbiAgICAgIHRvcDogMTJweDsgfSB9XG4gIC5mYW5jeWJveC1za2luIC5mYW5jeWJveC1jbG9zZTpiZWZvcmUsIC5mYW5jeWJveC1za2luIC5mYW5jeWJveC1jbG9zZTphZnRlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiOyB9XG4gIC5mYW5jeWJveC1za2luIC5mYW5jeWJveC1jbG9zZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdYJztcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAuZmFuY3lib3gtc2tpbiAuZmFuY3lib3gtY2xvc2U6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdDbG9zZSc7IH1cblxuI2Jzc19hamF4Y2FydF9wb3B1cCAucHJvZHVjdC1pbWFnZSB7XG4gIG1heC13aWR0aDogMzEwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbiNic3NfYWpheGNhcnRfcG9wdXAgLm1lc3NhZ2Uge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuXG4jYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tdmlld2NhcnQgYnV0dG9uLnZpZXdjYXJ0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICBwYWRkaW5nOiA4cHggMjVweDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogNTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjtcbiAgYmFja2dyb3VuZDogIzAwMCAhaW1wb3J0YW50OyB9XG4gICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi12aWV3Y2FydCBidXR0b24udmlld2NhcnQubWVkaXVtIHtcbiAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLXZpZXdjYXJ0IGJ1dHRvbi52aWV3Y2FydC5sYXJnZSB7XG4gICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi12aWV3Y2FydCBidXR0b24udmlld2NhcnQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tdmlld2NhcnQgYnV0dG9uLnZpZXdjYXJ0LCAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tdmlld2NhcnQgYnV0dG9uLnZpZXdjYXJ0OnZpc2l0ZWQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuICAgICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi12aWV3Y2FydCBidXR0b24udmlld2NhcnQgKiwgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLXZpZXdjYXJ0IGJ1dHRvbi52aWV3Y2FydDp2aXNpdGVkICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjRkY0NjA0OyB9XG4gICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi12aWV3Y2FydCBidXR0b24udmlld2NhcnQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tdmlld2NhcnQgYnV0dG9uLnZpZXdjYXJ0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLXZpZXdjYXJ0IGJ1dHRvbi52aWV3Y2FydDphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzRTNFM0U7IH1cbiAgICAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tdmlld2NhcnQgYnV0dG9uLnZpZXdjYXJ0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tdmlld2NhcnQgYnV0dG9uLnZpZXdjYXJ0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tdmlld2NhcnQgYnV0dG9uLnZpZXdjYXJ0OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLXZpZXdjYXJ0IGJ1dHRvbi52aWV3Y2FydFtkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgY3Vyc29yOiBhdXRvOyB9XG4gICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi12aWV3Y2FydCBidXR0b24udmlld2NhcnQ6aG92ZXIsICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi12aWV3Y2FydCBidXR0b24udmlld2NhcnQ6Zm9jdXMsICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi12aWV3Y2FydCBidXR0b24udmlld2NhcnQ6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjM0UzRTNFICFpbXBvcnRhbnQ7IH1cblxuI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLWNvbnRpbnVlIGJ1dHRvbi5jb250aW51ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgcGFkZGluZzogOHB4IDI1cHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7XG4gIGJhY2tncm91bmQ6ICNGRjQ2MDQgIWltcG9ydGFudDsgfVxuICAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tY29udGludWUgYnV0dG9uLmNvbnRpbnVlLm1lZGl1bSB7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi1jb250aW51ZSBidXR0b24uY29udGludWUubGFyZ2Uge1xuICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tY29udGludWUgYnV0dG9uLmNvbnRpbnVlOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLWNvbnRpbnVlIGJ1dHRvbi5jb250aW51ZSwgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLWNvbnRpbnVlIGJ1dHRvbi5jb250aW51ZTp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tY29udGludWUgYnV0dG9uLmNvbnRpbnVlICosICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi1jb250aW51ZSBidXR0b24uY29udGludWU6dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tY29udGludWUgYnV0dG9uLmNvbnRpbnVlOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLWNvbnRpbnVlIGJ1dHRvbi5jb250aW51ZTpmb2N1czpub3QoW2Rpc2FibGVkXSksICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi1jb250aW51ZSBidXR0b24uY29udGludWU6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3NDQyOyB9XG4gICAgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLWNvbnRpbnVlIGJ1dHRvbi5jb250aW51ZTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLWNvbnRpbnVlIGJ1dHRvbi5jb250aW51ZTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgI2Jzc19hamF4Y2FydF9wb3B1cCAuYnRuLWNvbnRpbnVlIGJ1dHRvbi5jb250aW51ZTphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi1jb250aW51ZSBidXR0b24uY29udGludWVbZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGN1cnNvcjogYXV0bzsgfVxuICAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tY29udGludWUgYnV0dG9uLmNvbnRpbnVlOmhvdmVyLCAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tY29udGludWUgYnV0dG9uLmNvbnRpbnVlOmZvY3VzLCAjYnNzX2FqYXhjYXJ0X3BvcHVwIC5idG4tY29udGludWUgYnV0dG9uLmNvbnRpbnVlOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogI0ZGNzQ0MiAhaW1wb3J0YW50OyB9XG5cbiNic3NfYWpheGNhcnRfcG9wdXAgLmJ0bi1jb250aW51ZSAuY291bnRkb3duIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYWpheGNhcnQtaW5kZXgtdmlldyAjYWpheC1nb3RvIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5hamF4Y2FydC1pbmRleC12aWV3IC5ic3Mtbm90aWNlIHtcbiAgcGFkZGluZzogMCAzMHB4OyB9XG5cbi5hamF4Y2FydC1pbmRleC12aWV3IC5jcy1jb250YWluZXItLXBhZ2UtcGRwLXRvcCB7XG4gIHBhZGRpbmc6IDAgMjVweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgIC5hamF4Y2FydC1pbmRleC12aWV3IC5jcy1jb250YWluZXItLXBhZ2UtcGRwLXRvcCB7XG4gICAgICBwYWRkaW5nOiAwIDE1cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYWpheGNhcnQtaW5kZXgtdmlldyAuY3MtcGFnZS1wcm9kdWN0X19nYWxsZXJ5IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDkuNSUpOyB9IH1cblxuLmFqYXhjYXJ0LWluZGV4LXZpZXcgLmNzLWJ1eWJveF9fc2VjdGlvbixcbi5hamF4Y2FydC1pbmRleC12aWV3IC5jcy1jb250YWluZXItLXBhZ2UtcGRwLWJ1bmRsZS1jb25maWcge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5wb3B1cC1hdXRoZW50aWNhdGlvbiAubW9kYWwtaW5uZXItd3JhcCB7XG4gIG1heC13aWR0aDogNDgwcHg7IH1cblxuLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb24tY2xvc2Uge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDIycHggMzBweCAwIDA7XG4gIHBhZGRpbmc6IDFweCAycHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwOyB9XG4gIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9uLWNsb3NlOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1ggQ0xPU0UnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjNTc1NzU3O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxMnB4OyB9XG5cbi5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYmxvY2stdGl0bGUge1xuICBmb250LXNpemU6IDIycHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb25zLXRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24tbG9naW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgICBwYWRkaW5nOiA4cHggMjVweDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjtcbiAgICBwYWRkaW5nOiAxMHB4IDI1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIG1pbi13aWR0aDogMTQ1cHg7IH1cbiAgICAucG9wdXAtYXV0aGVudGljYXRpb24gLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLWxvZ2luLm1lZGl1bSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24tbG9naW4ubGFyZ2Uge1xuICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAucG9wdXAtYXV0aGVudGljYXRpb24gLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLWxvZ2luOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAucG9wdXAtYXV0aGVudGljYXRpb24gLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLWxvZ2luLCAucG9wdXAtYXV0aGVudGljYXRpb24gLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLWxvZ2luOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24tbG9naW4gKiwgLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi1sb2dpbjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24tbG9naW46aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAucG9wdXAtYXV0aGVudGljYXRpb24gLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLWxvZ2luOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLnBvcHVwLWF1dGhlbnRpY2F0aW9uIC5hY3Rpb25zLXRvb2xiYXIgLmFjdGlvbi1sb2dpbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAgIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24tbG9naW46aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24tbG9naW46Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5wb3B1cC1hdXRoZW50aWNhdGlvbiAuYWN0aW9ucy10b29sYmFyIC5hY3Rpb24tbG9naW46YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAucG9wdXAtYXV0aGVudGljYXRpb24gLmFjdGlvbnMtdG9vbGJhciAuYWN0aW9uLWxvZ2luW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG5cbi5jaGVja291dC1yZWdpb25zLXBvcHVwIC5tb2RhbC1pbm5lci13cmFwLFxuLmFncmVlbWVudHMtbW9kYWwgLm1vZGFsLWlubmVyLXdyYXAsXG4uZ29vZ2xlX3BvcHVwIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgLmNoZWNrb3V0LXJlZ2lvbnMtcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAgLm1vZGFsLXRpdGxlLFxuICAuYWdyZWVtZW50cy1tb2RhbCAubW9kYWwtaW5uZXItd3JhcCAubW9kYWwtdGl0bGUsXG4gIC5nb29nbGVfcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAgLm1vZGFsLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAyNXB4IDMwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBib3JkZXI6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgZm9udC1zaXplOiA0MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jaGVja291dC1yZWdpb25zLXBvcHVwIC5tb2RhbC1pbm5lci13cmFwIC5tb2RhbC10aXRsZSxcbiAgICAgIC5hZ3JlZW1lbnRzLW1vZGFsIC5tb2RhbC1pbm5lci13cmFwIC5tb2RhbC10aXRsZSxcbiAgICAgIC5nb29nbGVfcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAgLm1vZGFsLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDE1cHg7IH0gfVxuICAuY2hlY2tvdXQtcmVnaW9ucy1wb3B1cCAubW9kYWwtaW5uZXItd3JhcCAuYWN0aW9uLWNsb3NlLFxuICAuYWdyZWVtZW50cy1tb2RhbCAubW9kYWwtaW5uZXItd3JhcCAuYWN0aW9uLWNsb3NlLFxuICAuZ29vZ2xlX3BvcHVwIC5tb2RhbC1pbm5lci13cmFwIC5hY3Rpb24tY2xvc2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMzdweCA0MXB4IDAgMDtcbiAgICBwYWRkaW5nOiAxcHggMnB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jaGVja291dC1yZWdpb25zLXBvcHVwIC5tb2RhbC1pbm5lci13cmFwIC5hY3Rpb24tY2xvc2UsXG4gICAgICAuYWdyZWVtZW50cy1tb2RhbCAubW9kYWwtaW5uZXItd3JhcCAuYWN0aW9uLWNsb3NlLFxuICAgICAgLmdvb2dsZV9wb3B1cCAubW9kYWwtaW5uZXItd3JhcCAuYWN0aW9uLWNsb3NlIHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDE1cHggMCAwOyB9IH1cbiAgICAuY2hlY2tvdXQtcmVnaW9ucy1wb3B1cCAubW9kYWwtaW5uZXItd3JhcCAuYWN0aW9uLWNsb3NlOmJlZm9yZSxcbiAgICAuYWdyZWVtZW50cy1tb2RhbCAubW9kYWwtaW5uZXItd3JhcCAuYWN0aW9uLWNsb3NlOmJlZm9yZSxcbiAgICAuZ29vZ2xlX3BvcHVwIC5tb2RhbC1pbm5lci13cmFwIC5hY3Rpb24tY2xvc2U6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdYIENMT1NFJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICM1NzU3NTc7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDEycHg7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgLmFncmVlbWVudHMtbW9kYWwgLm1vZGFsLWlubmVyLXdyYXAsXG4gIC5nb29nbGVfcG9wdXAgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuXG4uYWdyZWVtZW50cy1tb2RhbCAubW9kYWwtaW5uZXItd3JhcCAuYWN0aW9uLWNsb3NlLFxuLmdvb2dsZV9wb3B1cCAubW9kYWwtaW5uZXItd3JhcCAuYWN0aW9uLWNsb3NlIHtcbiAgbWFyZ2luOiAyMnB4IDQxcHggMCAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgLmFncmVlbWVudHMtbW9kYWwgLm1vZGFsLWlubmVyLXdyYXAgLmFjdGlvbi1jbG9zZSxcbiAgICAuZ29vZ2xlX3BvcHVwIC5tb2RhbC1pbm5lci13cmFwIC5hY3Rpb24tY2xvc2Uge1xuICAgICAgbWFyZ2luOiAyMnB4IDE1cHggMCAwOyB9IH1cblxuLmdvb2dsZV9wb3B1cCAubW9kYWwtaW5uZXItd3JhcCB7XG4gIHdpZHRoOiA5NiU7XG4gIG1heC13aWR0aDogNjQwcHg7IH1cblxuLm1vZGFsX2hpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ubW9kYWwtcG9wdXAgLm1vZGFsX2hpZGRlbiB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kbW9kYWxfdGl0bGUtZm9udC1zaXplOiAkZm9udC1zaXplX2hlYWRsaW5lLTMgIWRlZmF1bHQ7XG4kbW9kYWxfc2Vjb25kYXJ5LWJ1dHRvbi10eXBlOiAnc2Vjb25kYXJ5JyAhZGVmYXVsdDtcbiRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLWljb24tcG9zOiAnbm8taWNvbicgIWRlZmF1bHQ7XG4kbW9kYWxfaW5zaWRlLWJvcmRlcnM6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRtb2RhbF9iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kbW9kYWxfc2xpZGUtbW9iaWxlLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRtb2RhbF9ib3gtc2hhZG93OiAkYm94LXNoYWRvd19iYXNlICFkZWZhdWx0O1xuJG1vZGFsX2JvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XG4kbW9kYWwtYm9yZGVyOiBub25lICFkZWZhdWx0O1xuJG1vZGFsX3RleHQtZm9udC1zaXplOiAkZm9udC1zaXplX3BhcmFncmFwaCAhZGVmYXVsdDtcbiRtb2RhbF9wcmltYXJ5LWJ1dHRvbi10eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSAhZGVmYXVsdDtcbiRtb2RhbF9wcmltYXJ5LWJ1dHRvbi1pY29uLXBvczogJ25vLWljb24nICFkZWZhdWx0O1xuJG1vZGFsX3NlY29uZGFyeS1idXR0b24tdHlwZTogJ3NlY29uZGFyeScgIWRlZmF1bHQ7XG4kbW9kYWxfc2Vjb25kYXJ5LWJ1dHRvbi1pY29uLXBvczogJ25vLWljb24nICFkZWZhdWx0O1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG5cbi5tb2RhbC1zbGlkZSxcbi5tb2RhbC1wb3B1cCxcbi5tb2RhbC1jdXN0b20ge1xuICAgICYuY29uZmlybSB7XG4gICAgICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTByZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRtb2RhbF9iYWNrZ3JvdW5kO1xuICAgICAgICBib3gtc2hhZG93OiAkbW9kYWxfYm94LXNoYWRvdztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1vZGFsX2JvcmRlci1yYWRpdXM7XG4gICAgICAgIGJvcmRlcjogJG1vZGFsLWJvcmRlcjtcbiAgICB9XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAkbW9kYWxfdGV4dC1mb250LXNpemU7XG4gICAgfVxuXG4gICAgLm1vZGFsLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWluLWhlaWdodDogNjVweDtcbiAgICB9XG5cbiAgICAuYWN0aW9uLWNsb3NlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIG1hcmdpbjogMS41cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy9jbG9zZS5zdmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1cHg7XG4gICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICBoZWlnaHQ6IDNyZW07XG5cbiAgICAgICAgLy8gSUUxMSBjdXRzIGJhY2tncm91bmQgd2hlbiBpbiByZW0gdW5pdHNcbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwcHggMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgYm9yZGVyLXRvcDogJG1vZGFsX2luc2lkZS1ib3JkZXJzO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbi1wcmltYXJ5LFxuICAgICAgICAucHJpbWFyeSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtb2RhbF9wcmltYXJ5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1vZGFsX3ByaW1hcnktYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMnJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxwaG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3BhbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRtb2RhbF9wcmltYXJ5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtb2RhbF9wcmltYXJ5LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uLXNlY29uZGFyeSxcbiAgICAgICAgLnNlY29uZGFyeSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbW9kYWxfc2Vjb25kYXJ5LWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTJyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXNwYW4oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkbW9kYWxfc2Vjb25kYXJ5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU3R5bGUgZm9yIGNoZWNrb3V0IG1vZGFscyBoYXZlIHZlcnkgaGlnaCBzcGVjaWZpY2l0eSBpbiBtYWdlbnRvXG4gICAgICAgICAgICBib2R5LmNoZWNrb3V0LWluZGV4LWluZGV4ICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRtb2RhbF9zZWNvbmRhcnktYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1vZGFsX3NlY29uZGFyeS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTJyZW07XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXNwYW4oXG4gICAgICAgICAgICAgICAgICAgICAgICAkdHlwZTogJG1vZGFsX3NlY29uZGFyeS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1vZGFsX3NlY29uZGFyeS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b246b25seS1jaGlsZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRtb2RhbF9wcmltYXJ5LWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJG1vZGFsX3ByaW1hcnktYnV0dG9uLWljb24tcG9zXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMnJlbTtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXNwYW4oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkbW9kYWxfcHJpbWFyeS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkbW9kYWxfcHJpbWFyeS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZGFsLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUoJGxldmVsOiAkbW9kYWxfdGl0bGUtZm9udC1zaXplKTtcbiAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJG1vZGFsX2luc2lkZS1ib3JkZXJzO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4ubW9kYWwtcG9wdXAubW9kYWwtc2xpZGUge1xuICAgIC5tb2RhbC1pbm5lci13cmFwW2NsYXNzXSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsX3NsaWRlLW1vYmlsZS1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9kYWwtc2xpZGUge1xuICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lTGcnKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uLXByaW1hcnksXG4gICAgICAgIC5wcmltYXJ5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24tc2Vjb25kYXJ5LFxuICAgICAgICAuc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmllMTEgLm1vZGFsLXBvcHVwOm5vdCguY3MtdmlkZW8tcGxheWVyX19tb2RhbCkgLm1vZGFsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzM3JlbSk7XG59XG5cbi5wYWdlLWxheW91dC1jaGVja291dCB7XG4gICAgLm1vZGFsLXBvcHVwIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgfVxuXG4gICAgLm1vZGFsLXNsaWRlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjVyZW07XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8vIHBvcHVwIGFqYXggYWRkIHRvIGNhcnRcbi5mYW5jeWJveC1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC45KTtcbn1cbi5mYW5jeWJveC1kZXNrdG9wIHtcbiAgICAmLmZhbmN5Ym94LXR5cGUtaWZyYW1lLmZhbmN5Ym94LW9wZW5lZCB7XG4gICAgICAgIG1heC13aWR0aDogMTE3MHB4O1xuICAgICAgICB3aWR0aDogODV2dyAhaW1wb3J0YW50O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgd2lkdGg6IDk1dncgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGxlZnQ6IDIuNXZ3ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmZhbmN5Ym94LXR5cGUtaW5saW5lIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0ODBweDtcbiAgICAgICAgd2lkdGg6IDk1dncgIWltcG9ydGFudDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgbGVmdDogMi41dncgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuZmFuY3lib3gtc2tpbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Jfd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGVyLFxuICAgICAgICAuY2FydC1pbmZvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmFuY3lib3gtaW5uZXIge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtaGVpZ2h0OiA3MzVweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiA0NXB4IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl93aGl0ZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgcGFkZGluZzogNDBweCAwIDBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZhbmN5Ym94LXNraW4ge1xuICAgIC5mYW5jeWJveC1jbG9zZXtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgbGVmdDogMzFweDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvcl9ibGFjaztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogMjNweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICBsZWZ0OiAyNXB4O1xuICAgICAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9ibGFjaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250X2ZhbWlseS1wcmltYXJ5O1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdYJztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJ0Nsb3NlJztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2Jzc19hamF4Y2FydF9wb3B1cCB7XG4gICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDMxMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAubWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgIH1cblxuICAgIC5idG4tdmlld2NhcnQge1xuICAgICAgICBidXR0b24udmlld2NhcnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6IG51bGwsXG4gICAgICAgICAgICAgICAgJHRleHRfdHJhbnNmb3JtOiB1cHBlcmNhc2UsXG4gICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXM6IDI1cHhcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfYmxhY2sgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2JvZHktdGV4dCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5idG4tY29udGludWUge1xuICAgICAgICBidXR0b24uY29udGludWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAncHJpbWFyeScsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiBudWxsLFxuICAgICAgICAgICAgICAgICR0ZXh0X3RyYW5zZm9ybTogdXBwZXJjYXNlLFxuICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzOiAyNXB4XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yX21haW5fX2JyYW5kICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9idXR0b25fX2hvdmVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb3VudGRvd24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFqYXhjYXJ0LWluZGV4LXZpZXcge1xuICAgICNhamF4LWdvdG8ge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJzcy1ub3RpY2Uge1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgfVxuXG4gICAgLmNzLWNvbnRhaW5lci0tcGFnZS1wZHAtdG9wIHtcbiAgICAgICAgcGFkZGluZzogMCAyNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jcy1wYWdlLXByb2R1Y3RfX2dhbGxlcnkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDkuNSUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNzLWJ1eWJveF9fc2VjdGlvbixcbiAgICAuY3MtY29udGFpbmVyLS1wYWdlLXBkcC1idW5kbGUtY29uZmlnIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cblxuLnBvcHVwLWF1dGhlbnRpY2F0aW9uIHtcbiAgICAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgfVxuXG4gICAgLmFjdGlvbi1jbG9zZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMjJweCAzMHB4IDAgMDtcbiAgICAgICAgcGFkZGluZzogMXB4IDJweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ1ggQ0xPU0UnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2RhcmstZ3JheTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYmxvY2stdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgICAgIC5hY3Rpb24tbG9naW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkbW9kYWxfcHJpbWFyeS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICAgICAkaWNvbl9wb3M6IGZhbHNlXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAyNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxNDVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNoZWNrb3V0LXJlZ2lvbnMtcG9wdXAsXG4uYWdyZWVtZW50cy1tb2RhbCxcbi5nb29nbGVfcG9wdXAge1xuICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cbiAgICAgICAgLm1vZGFsLXRpdGxlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMzBweDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uLWNsb3NlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbjogMzdweCA0MXB4IDAgMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFweCAycHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCAxNXB4IDAgMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdYIENMT1NFJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yX2RhcmstZ3JheTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFncmVlbWVudHMtbW9kYWwsXG4uZ29vZ2xlX3BvcHVwIHtcbiAgICAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uLWNsb3NlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjJweCA0MXB4IDAgMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMjJweCAxNXB4IDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmdvb2dsZV9wb3B1cCB7XG4gICAgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgICAgICB3aWR0aDogOTYlO1xuICAgICAgICBtYXgtd2lkdGg6IDY0MHB4O1xuICAgIH1cbn1cblxuLm1vZGFsX2hpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubW9kYWwtcG9wdXAge1xuICAgIC5tb2RhbF9oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2ZpZ3VyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9faW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2NvbnRlbnQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiA2cmVtIDNyZW07IH1cblxuLmNzLW5hdmlnYXRpb24tdGVhc2VyX19jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogIzIxMjEyMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9faGVhZGxpbmUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBmb250LXNpemU6IDNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzIxMjEyMTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9faGVhZGxpbmUge1xuICAgICAgZm9udC1zaXplOiA0LjNyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTsgfSB9XG5cbi5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fc3ViaGVhZGxpbmUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBmb250LXNpemU6IDEuNjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzIxMjEyMTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fc3ViaGVhZGxpbmUge1xuICAgICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTsgfSB9XG5cbi5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fdGV4dCB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiAjMjEyMTIxOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNzLW5hdmlnYXRpb24tdGVhc2VyX190ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9IH1cblxuLmNzLW5hdmlnYXRpb24tdGVhc2VyX19jdGEge1xuICBtYXJnaW4tdG9wOiAycmVtOyB9XG5cbi5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICBwYWRkaW5nOiA4cHggMjVweDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogNTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjsgfVxuICAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbi5tZWRpdW0ge1xuICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbi5sYXJnZSB7XG4gICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b24sIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uOnZpc2l0ZWQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uICosIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNzQ0MjsgfVxuICAgIC5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLW5hdmlnYXRpb24tdGVhc2VyX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAuY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgY3Vyc29yOiBhdXRvOyB9XG5cbi5jcy1uYXZpZ2F0aW9uLXRlYXNlcl9fYnV0dG9uLXNwYW4ge1xuICBtYXJnaW4tdG9wOiAwO1xuICB6LWluZGV4OiAxO1xuICBmb250LXdlaWdodDogNzAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHBhZGRpbmctcmlnaHQ6IDRlbTsgfVxuXG4uY3MtbmF2aWdhdGlvbi10ZWFzZXJfX2J1dHRvbi1pY29uIHtcbiAgbWF4LXdpZHRoOiAxZW07XG4gIG1heC1oZWlnaHQ6IDEuNHJlbTtcbiAgei1pbmRleDogMjtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICByaWdodDogMWVtOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcblxuJHRlYXNlcl9idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kdGVhc2VyX2J1dHRvbi1pY29uLXBvczogJGJ1dHRvbl9kZWZhdWx0LWljb24tcG9zICFkZWZhdWx0O1xuXG4uI3skbnN9bmF2aWdhdGlvbi10ZWFzZXIge1xuICAgICZfX2ZpZ3VyZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJl9fY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDZyZW0gM3JlbTtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjb2xvcjogJGNvbG9yX21pbmVzaGFmdDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2hlYWRsaW5lIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9taW5lc2hhZnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiA0LjNyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1YmhlYWRsaW5lIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjY1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9taW5lc2hhZnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBjb2xvcjogJGNvbG9yX21pbmVzaGFmdDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2N0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICR0ZWFzZXJfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICR0ZWFzZXJfYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLXNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICR0eXBlOiAkdGVhc2VyX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkdGVhc2VyX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAkdHlwZTogJHRlYXNlcl9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJHRlYXNlcl9idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFVzaW5nIHBzdWVkbyBlbGVtZW50cyB0byBtYWludGFpbiBhbiBlbGVtZW50cyBhc3BlY3QgcmF0aW8sIGV2ZW4gYXMgaXQgc2NhbGVzXG4gKiBJdCdzIHVzaW5nIG9ubHkgZm9yIElFMTEgYW5kIEVkZ2UgKHZlcnNpb24gd2hpY2ggZG9lc24ndCBzdXBwb3J0IG5hdGl2ZSBDU1MgZ3JpZCkgYnJvd3NlcnNcbiAqIEZvciBicm93c2VycyB3aGljaCBzdXBwb3J0IG5hdGl2ZSBDU1MgZ3JpZCwgd2UgYXJlIHVzaW5nIG1peGlucyBjb250YWluIGByZXNldGAgaW4gbWl4aW4gbmFtZVxuICogdG8gb3ZlcnJpZGUgZGVmYXVsdCBtaXhpbnMgKHByb2dyZXNzaXZlIGVuaGFuY2VtZW50KVxuICogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9zYXNzL21haW50YWluLWFzcGVjdC1yYXRpby1taXhpbi9cbiAqIEBwYXJhbSB7bnVtYmVyfSAkd2lkdGg6IHdpZHRoIG9mIHRoZSBlbGVtZW50O1xuICogQHBhcmFtIHtudW1iZXJ9ICRoZWlnaHQ6IGhlaWdodCBvZiB0aGUgZWxlbWVudDtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkY29udGVudENsYXNzOiBjbGFzcyBvZiB0aGUgZGlyZWN0IGNoaWxkIGVsZW1lbnQgdG8gYmUgcG9zaXRpb25lZCBhYnNvbHV0ZWx5O1xuICogQHBhcmFtIHtib29sZWFufSAkYXV0b3Bvc2l0aW9uOiB0ZWxscyBpZiBpdGVtIHNoYWxsIHRha2UgMTAwJSBvZiBwYXJlbnQgc2l6ZSBvciBpZiBpdCBjYW4gYmUgd2lkZXIvaGlnaGVyIGlmIG5lZWRlZDtcbiAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZFNkU2RTsgfVxuXG4uY3MtY29udGFpbmVyX19uYXZpZ2F0aW9uLWlubmVyIHtcbiAgbWFyZ2luOiAxMHB4IGF1dG8gMDsgfVxuXG4uY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saXN0LS1tYWluIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpc3QtLWFsbC1jYXRlZ29yaWVzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgY29sdW1uczogYXV0byAxO1xuICAgICAgY29sdW1uLWdhcDogMDtcbiAgICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGlzdC0tbGV2ZWxfMSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNvbHVtbnM6IGF1dG8gMTtcbiAgICAgIGNvbHVtbi1nYXA6IDA7XG4gICAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpc3QtLWxldmVsXzIge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGlzdC0taGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpc3QtLWhpZGRlbiArIC5jcy1uYXZpZ2F0aW9uX19leHRyYXMge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGlzdCAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19pdGVtLS1uby1jaGlsZHJlbjpudGgtY2hpbGQoMikge1xuICAgICAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saXN0IC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2l0ZW0tLW5vLWNoaWxkcmVuOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19pdGVtIHtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2l0ZW0tLW1haW4ge1xuICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzU3NTc1NztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9faXRlbS0tbWFpbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2l0ZW0tLW1haW46bGFzdC1vZi10eXBlIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gICAgICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2l0ZW0tLW1haW46bGFzdC1vZi10eXBlIC5jcy1uYXZpZ2F0aW9uX19mbHlvdXQge1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2l0ZW0tLW1haW46dmlzaXRlZCA+IGEge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9faXRlbS0tbWFpbjpob3ZlciA+IGEge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2l0ZW0tLWFsbC1jYXRlZ29yaWVzIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICAvKiBUaGVvcmV0aWNhbGx5IEZGIDIwKyAqL1xuICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gICAgICAvKiBJRSAxMSAqL1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19pdGVtLS1sZXZlbF8xIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICAvKiBUaGVvcmV0aWNhbGx5IEZGIDIwKyAqL1xuICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gICAgICAvKiBJRSAxMSAqL1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19pdGVtLS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IDlweCA1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1mYW1pbHk6IFwiUFQgU2FucyBOYXJyb3dcIjtcbiAgICBsZXR0ZXItc3BhY2luZzogMS45cHg7IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLCAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rOnZpc2l0ZWQsIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbms6dmlzaXRlZDpob3ZlciwgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluazpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbms6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluay0tbWFpbiB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmstLWFsbC1jYXRlZ29yaWVzIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYztcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjU1ZW07IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLS1sZXZlbF8xLCAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLS1sZXZlbF8yIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYztcbiAgICAgIHBhZGRpbmc6IDEycHggMTVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgYmFja2dyb3VuZDogI0Y0RjRGNDsgfVxuICAgICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluay0tbGV2ZWxfMTpob3ZlciwgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluay0tbGV2ZWxfMjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7IH1cbiAgICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmstLWxldmVsXzEsIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmstLWxldmVsXzE6dmlzaXRlZCwgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluay0tbGV2ZWxfMTp2aXNpdGVkOmhvdmVyLCAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLS1sZXZlbF8xOmZvY3VzLCAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLS1sZXZlbF8yLCAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLS1sZXZlbF8yOnZpc2l0ZWQsIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmstLWxldmVsXzI6dmlzaXRlZDpob3ZlciwgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluay0tbGV2ZWxfMjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluay0tbGV2ZWxfMiB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNWVtOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluay0td2l0aC1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMi44cmVtOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluay1pY29uLXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDJyZW07XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLWljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgICAgbWF4LWhlaWdodDogMS44cmVtOyB9XG4gICAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLS1jYXRlZ29yeSAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLWljb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMC41cmVtOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fbGluay1wcm9kdWN0cy1xdHk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcoJzsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpbmstcHJvZHVjdHMtcXR5OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcpJzsgfVxuICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2l0ZW0tLW5vLWNoaWxkcmVuIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb24gLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9faXRlbS0tbm8tY2hpbGRyZW4gPiAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19saW5rLS1sZXZlbF8xIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6IDEuMTJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHBhZGRpbmc6IDAuOWVtIDEuNWVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19mbHlvdXQgPiB1bCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fZmx5b3V0ID4gdWwgbGk6aG92ZXIgPiB1bCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19mbHlvdXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGxlZnQ6IDIwcHg7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IDEwMDE7XG4gICAgYm94LXNoYWRvdzogMnB4IDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1heC13aWR0aDogMjE1cHg7IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19mbHlvdXQtLXZpc2libGUge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2ZseW91dCBzdmcge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICBAc3VwcG9ydHMgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2ZseW91dCBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFFQUFBQUJDQVFBQUFDMUhBd0NBQUFBQzBsRVFWUjQybU5rWUFBQUFBWUFBakNCMEM4QUFBQUFTVVZPUks1Q1lJST0pO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH0gfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2ZseW91dCB1bCBhIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2ZseW91dCB1bCB1bCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcmlnaHQ6IC0xMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB6LWluZGV4OiAxMDAxO1xuICAgICAgYm94LXNoYWRvdzogMnB4IDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXgtd2lkdGg6IDIxNXB4OyB9XG4gICAgICBAc3VwcG9ydHMgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICAgICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fZmx5b3V0IHVsIHVsIGxpIHtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFFQUFBQUJDQVFBQUFDMUhBd0NBQUFBQzBsRVFWUjQybU5rWUFBQUFBWUFBakNCMEM4QUFBQUFTVVZPUks1Q1lJST0pO1xuICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfSB9XG4gIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX2xpc3QtLWxldmVsXzIge1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fdGVhc2VyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAxZW0gMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX3RlYXNlci0taGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX190ZWFzZXIgLmNzLWltYWdlLXRlYXNlcl9fZmlndXJlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fcHJvZHVjdHMge1xuICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgICBtaW4td2lkdGg6IDI0cmVtOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fcHJvZHVjdHMtaGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgICBwYWRkaW5nOiAxLjFlbSAxLjA1ZW0gMS41NWVtO1xuICAgICAgZm9udC1zaXplOiAwLjllbTsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX3Byb2R1Y3RzLWxpc3Qge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fcHJvZHVjdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fcHJvZHVjdDpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy10b3A6IDE3MCU7IH1cbiAgICAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uX19wcm9kdWN0IC5jcy1wcm9kdWN0LXRpbGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwOyB9XG4gIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX292ZXJsYXkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgM3JlbSwgMCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXIsIHRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLCAwLjk3LCAwLjA1LCAwLjk5KTsgfVxuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX292ZXJsYXktLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAucGFnZS1wcmludCAuY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIC5jcy1uYXZpZ2F0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkgYW5kIChncmlkLWF1dG8tZmxvdzogcm93KSB7XG4gICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fcHJvZHVjdCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24gLmNzLW5hdmlnYXRpb25fX3Byb2R1Y3Q6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTsgfVxuICAgICAgLmNzLWNvbnRhaW5lci0tbmF2aWdhdGlvbiAuY3MtbmF2aWdhdGlvbl9fcHJvZHVjdCAuY3MtcHJvZHVjdC10aWxlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBib3R0b206IGF1dG87IH0gfVxuXG4uY3MtY29udGFpbmVyLS1uYXZpZ2F0aW9uIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1jb250YWluZXItLW5hdmlnYXRpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd1dGlscy9hc3BlY3QtcmF0aW8nO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuJG5hdmlnYXRpb25fZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4kbmF2aWdhdGlvbl9vdmVybGF5LXNob3c6IGZhbHNlICFkZWZhdWx0O1xuLy8gQm94IHNoYWRvdyBlZmZlY3QgYXBwbGllZCBmb3IgdGhlIGZseW91dC5cbiRuYXZpZ2F0aW9uX2ZseW91dC1ib3gtc2hhZG93OiAycHggMnB4IDVweCByZ2JhKCRjb2xvcl9iYWNrZ3JvdW5kLTgwMCwgMC4xNSkgIWRlZmF1bHQ7XG4vLyBGbHlvdXQgYmFja2dyb3VuZCBjb2xvci5cbiRuYXZpZ2F0aW9uX2ZseW91dC1iYWNrZ3JvdW5kOiAkY29sb3JfbGlnaHQtZ3JheSAhZGVmYXVsdDtcbi8vIENvbG9yIG9mIHRoZSBsaW5rLlxuJG5hdmlnYXRpb25fbGluay1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuLy8gQ29sb3Igb2YgdGhlIGxpbmsgaW4gdGhlIGZseW91dCBvbiBob3Zlci5cbiRuYXZpZ2F0aW9uX2xpbmstY29sb3ItaG92ZXI6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRuYXZpZ2F0aW9uX2xpbmstYmFja2dyb3VuZC1ob3ZlcjogJGNvbG9yX21haW5fX2JyYW5kICFkZWZhdWx0O1xuLy8gQm90dG9tIGJvcmRlciBjb25maWd1cmF0aW9uIGZvciBmbHlvdXQgY2F0ZWdvcnkgbGlua3MuXG4kbmF2aWdhdGlvbl9saW5rLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJG5hdmlnYXRpb25fbGlzdHMtbWFyay1wYXJlbnQtb24taG92ZXI6IHRydWUgIWRlZmF1bHQ7XG5cbiRzdWJuYXZpZ2F0aW9uX2xpbmstY29sb3I6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcbiRzdWJuYXZpZ2F0aW9uX2xpbmstYmFja2dyb3VuZC1ob3ZlcjogJHNpZGViYXJfX2dyZXkgIWRlZmF1bHQ7XG5cbi5jcy1jb250YWluZXIge1xuICAgICYtLW5hdmlnYXRpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZ3JheTtcbiAgICB9XG5cbiAgICAmX19uYXZpZ2F0aW9uLWlubmVyIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gMDtcbiAgICB9XG59XG5cbi5jcy1jb250YWluZXItLW5hdmlnYXRpb24ge1xuICAgIC4jeyRuc31uYXZpZ2F0aW9uIHtcbiAgICAgICAgJHJvb3Q6ICY7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZvbnQtc2l6ZTogJG5hdmlnYXRpb25fZm9udC1zaXplO1xuXG4gICAgICAgICZfX2xpc3Qge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICYtLW1haW4ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tYWxsLWNhdGVnb3JpZXMge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGNvbHVtbnM6IGF1dG8gMTtcbiAgICAgICAgICAgICAgICBjb2x1bW4tZ2FwOiAwO1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1sZXZlbCB7XG4gICAgICAgICAgICAgICAgJl8xIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbnM6IGF1dG8gMTtcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLWdhcDogMDtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJl8yIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0taGlkZGVuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgICAgJiArIC4jeyRuc31uYXZpZ2F0aW9uX19leHRyYXMge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX2l0ZW0tLW5vLWNoaWxkcmVuIHtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAmLS1tYWluIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yX2RhcmstZ3JheTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgLmNzLW5hdmlnYXRpb25fX2ZseW91dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRuYXZpZ2F0aW9uX2xpbmstY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2aWdhdGlvbl9saW5rLWJhY2tncm91bmQtaG92ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbmF2aWdhdGlvbl9saW5rLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmlnYXRpb25fbGluay1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1hbGwtY2F0ZWdvcmllcyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAvLyBQcmV2ZW50cyBlbGVtZW50IGJyZWFraW5nIGJlY2F1c2Ugb2YgY29sdW1uIGxheW91dC5cbiAgICAgICAgICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IC8qIFRoZW9yZXRpY2FsbHkgRkYgMjArICovXG4gICAgICAgICAgICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47IC8qIElFIDExICovXG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWxldmVsIHtcbiAgICAgICAgICAgICAgICAmXzEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICAvLyBQcmV2ZW50cyBlbGVtZW50IGJyZWFraW5nIGJlY2F1c2Ugb2YgY29sdW1uIGxheW91dC5cbiAgICAgICAgICAgICAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyAvKiBUaGVvcmV0aWNhbGx5IEZGIDIwKyAqL1xuICAgICAgICAgICAgICAgICAgICBicmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjsgLyogSUUgMTEgKi9cbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1oaWRkZW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDlweCA1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udF9mYW1pbHktc2Vjb25kYXJ5O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuOXB4O1xuXG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgJjp2aXNpdGVkLFxuICAgICAgICAgICAgJjp2aXNpdGVkOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRuYXZpZ2F0aW9uX2xpbmstY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG5hdmlnYXRpb25fbGluay1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfbWFpbl9fYnJhbmQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLW1haW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tYWxsLWNhdGVnb3JpZXMge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRuYXZpZ2F0aW9uX2xpbmstYm9yZGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjU1ZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWxldmVsIHtcbiAgICAgICAgICAgICAgICAmXzEsXG4gICAgICAgICAgICAgICAgJl8yIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkbmF2aWdhdGlvbl9saW5rLWJvcmRlcjtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG5hdmlnYXRpb25fZmx5b3V0LWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzdWJuYXZpZ2F0aW9uX2xpbmstY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VibmF2aWdhdGlvbl9saW5rLWJhY2tncm91bmQtaG92ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAgICAgICAmOnZpc2l0ZWQsXG4gICAgICAgICAgICAgICAgICAgICY6dmlzaXRlZDpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHN1Ym5hdmlnYXRpb25fbGluay1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfMiB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXdpdGgtaWNvbiB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMi44cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWljb24td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxLjhyZW07XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fV9fbGluay0tY2F0ZWdvcnkgJiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLXByb2R1Y3RzLXF0eSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnKCc7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcpJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvL1N0eWxpbmcgZm9yIGNhdGVnb3JpZXMgbGV2ZWxfMSB3aXRoIG5vIHN1YmNhdGVnb3JpZXNcbiAgICAgICAgI3skcm9vdH1fX2l0ZW0tLW5vLWNoaWxkcmVuIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgICAgI3skcm9vdH1fX2l0ZW0tLW5vLWNoaWxkcmVuID4gI3skcm9vdH1fX2xpbmstLWxldmVsXzEge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjllbSAxLjVlbTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2aWdhdGlvbl9saW5rLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fZmx5b3V0IHtcbiAgICAgICAgICAgID4gdWwge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBsaTpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgID4gdWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19mbHlvdXQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICB6LWluZGV4OiAxMDAxOyAvLyBNYWtlIHN1cmUgZmx5b3V0cyBjb3ZlciBnYWxsZXJ5IG5hdi5cbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRuYXZpZ2F0aW9uX2ZseW91dC1ib3gtc2hhZG93O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjE1cHg7XG5cbiAgICAgICAgICAgICYtLXZpc2libGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBAc3VwcG9ydHMgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQkNBUUFBQUMxSEF3Q0FBQUFDMGxFUVZSNDJtTmtZQUFBQUFZQUFqQ0IwQzhBQUFBQVNVVk9SSzVDWUlJPSk7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHN1Ym5hdmlnYXRpb25fbGluay1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0xMDAlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDE7IC8vIE1ha2Ugc3VyZSBmbHlvdXRzIGNvdmVyIGdhbGxlcnkgbmF2LlxuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkbmF2aWdhdGlvbl9mbHlvdXQtYm94LXNoYWRvdztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMTVweDtcblxuICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAc3VwcG9ydHMgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFFQUFBQUJDQVFBQUFDMUhBd0NBQUFBQzBsRVFWUjQybU5rWUFBQUFBWUFBakNCMEM4QUFBQUFTVVZPUks1Q1lJST0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xpc3QtLWxldmVsXzIge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RlYXNlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMWVtIDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmLS1oaWRkZW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRuc31pbWFnZS10ZWFzZXJfX2ZpZ3VyZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3Byb2R1Y3RzIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjRyZW07XG5cbiAgICAgICAgICAgICYtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBjb2xvcjogJG5hdmlnYXRpb25fbGluay1jb2xvcjtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRuYXZpZ2F0aW9uX2xpbmstYm9yZGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuMWVtIDEuMDVlbSAxLjU1ZW07XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1saXN0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fcHJvZHVjdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oXG4gICAgICAgICAgICAgICAgJHdpZHRoOiAkdGlsZV9hc3BlY3QtcmF0aW8td2lkdGgsXG4gICAgICAgICAgICAgICAgJGhlaWdodDogJHRpbGVfYXNwZWN0LXJhdGlvLWhlaWdodCxcbiAgICAgICAgICAgICAgICAkY2hpbGRDbGFzczogI3skbnN9cHJvZHVjdC10aWxlLFxuICAgICAgICAgICAgICAgICRhdXRvcG9zaXRpb246IHRydWVcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19vdmVybGF5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDNyZW0sIDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXIsXG4gICAgICAgICAgICB0cmFuc2Zvcm0gMC4ycyBjdWJpYy1iZXppZXIoMCwgMC45NywgMC4wNSwgMC45OSk7XG5cbiAgICAgICAgICAgIEBpZiAkbmF2aWdhdGlvbl9vdmVybGF5LXNob3cge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS12aXNpYmxlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlLXByaW50ICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkgYW5kIChncmlkLWF1dG8tZmxvdzogcm93KSB7XG4gICAgICAgICAgICAmX19wcm9kdWN0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8tcmVzZXQoXG4gICAgICAgICAgICAgICAgICAgICRjaGlsZENsYXNzOiAjeyRuc31wcm9kdWN0LXRpbGUsXG4gICAgICAgICAgICAgICAgICAgICRhdXRvcG9zaXRpb246IHRydWVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skbnN9Y29udGFpbmVyIHtcbiAgICAmLS1uYXZpZ2F0aW9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtbmV3c2xldHRlciB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLW5ld3NsZXR0ZXJfX2Zvcm0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1yaWdodDogMzBweCAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1uZXdzbGV0dGVyX19mb3JtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzNHJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1uZXdzbGV0dGVyX19mb3JtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgLmNzLW5ld3NsZXR0ZXJfX2Zvcm0ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH0gfVxuICAuY3MtbmV3c2xldHRlcl9fZmllbGQge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3MtbmV3c2xldHRlcl9fZmllbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9IH1cbiAgLmNzLW5ld3NsZXR0ZXJfX2lucHV0IHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDsgfVxuICAgIC5jcy1uZXdzbGV0dGVyX19pbnB1dC5pbnB1dC10ZXh0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNnJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG4gIC5jcy1uZXdzbGV0dGVyX19hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogNHJlbTsgfVxuICAuY3MtbmV3c2xldHRlcl9fYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgcGFkZGluZzogOHB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMjVweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7IH1cbiAgICAuY3MtbmV3c2xldHRlcl9fYnV0dG9uLm1lZGl1bSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5jcy1uZXdzbGV0dGVyX19idXR0b24ubGFyZ2Uge1xuICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAuY3MtbmV3c2xldHRlcl9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtbmV3c2xldHRlcl9fYnV0dG9uLCAuY3MtbmV3c2xldHRlcl9fYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgIC5jcy1uZXdzbGV0dGVyX19idXR0b24gKiwgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5jcy1uZXdzbGV0dGVyX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtbmV3c2xldHRlcl9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAgIC5jcy1uZXdzbGV0dGVyX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1uZXdzbGV0dGVyX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1uZXdzbGV0dGVyX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuY3MtbmV3c2xldHRlcl9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgLmNzLW5ld3NsZXR0ZXJfX2J1dHRvbi1sYWJlbCB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5jcy1uZXdzbGV0dGVyX19idXR0b24taWNvbiB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGxlZnQ6IDFlbTtcbiAgICB3aWR0aDogMC44ZW07XG4gICAgaGVpZ2h0OiAwLjhlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLm5ld3NsZXR0ZXItbG9ja19faWNvbiB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29ucy9sb2NrMjRAMXguc3ZnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCA3cHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAubmV3c2xldHRlci1sb2NrX19pY29uIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuQGltcG9ydCAnY29tcG9uZW50cy9maWVsZC9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5cbiRpbnB1dF9wYWRkaW5nOiAwLjcxNWVtIDFlbSAhZGVmYXVsdDtcbiRpbnB1dF9ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYWx0byAhZGVmYXVsdDtcbiRpbnB1dF9ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuXG4kbmV3c2xldHRlcl9tYXJnaW46IDAgIWRlZmF1bHQ7XG4kbmV3c2xldHRlcl9wYWRkaW5nOiAwIDEuNXJlbSAhZGVmYXVsdDtcblxuJG5ld3NsZXR0ZXJfZm9ybS1tYXgtd2lkdGg6IDM0cmVtICFkZWZhdWx0O1xuJG5ld3NsZXR0ZXJfZm9ybS1oZWlnaHQ6IDRyZW0gIWRlZmF1bHQ7XG5cbiRuZXdzbGV0dGVyX2J1dHRvbi10eXBlOiAkYnV0dG9uX2RlZmF1bHQtdHlwZSAhZGVmYXVsdDtcbiRuZXdzbGV0dGVyX2J1dHRvbi1pY29uLXBvczogJ2xlZnQnICFkZWZhdWx0O1xuXG4kbmV3c2xldHRlcl9idXR0b24taWNvbi13aWR0aDogMC44ZW0gIWRlZmF1bHQ7XG4kbmV3c2xldHRlcl9idXR0b24taWNvbi1oZWlnaHQ6IDAuOGVtICFkZWZhdWx0O1xuXG4uI3skbnN9bmV3c2xldHRlciB7XG4gICAgbWFyZ2luOiAkbmV3c2xldHRlcl9tYXJnaW47XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmX19mb3JtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkbmV3c2xldHRlcl9mb3JtLW1heC13aWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19maWVsZCB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2lucHV0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuXG4gICAgICAgICYuaW5wdXQtdGV4dCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgaGVpZ2h0OiAkbmV3c2xldHRlcl9mb3JtLWhlaWdodDtcbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJG5ld3NsZXR0ZXJfYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRuZXdzbGV0dGVyX2J1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuXG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMjVweCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMjVweCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTA1cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG5cbiAgICAgICAgJi1sYWJlbCB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taWNvbihcbiAgICAgICAgICAgICR0eXBlOiAkbmV3c2xldHRlcl9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJG5ld3NsZXR0ZXJfYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG5cbiAgICAgICAgd2lkdGg6ICRuZXdzbGV0dGVyX2J1dHRvbi1pY29uLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRuZXdzbGV0dGVyX2J1dHRvbi1pY29uLWhlaWdodDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbn1cblxuLm5ld3NsZXR0ZXItbG9ja19faWNvbiB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9pY29ucy9sb2NrMjRAMXguc3ZnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCA3cHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3Mtb2ZmY2FudmFzLXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMS41cmVtO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1vZmZjYW52YXMtdG9nZ2xlLCAuY3Mtb2ZmY2FudmFzLXRvZ2dsZTphY3RpdmUsIC5jcy1vZmZjYW52YXMtdG9nZ2xlOmZvY3VzLCAuY3Mtb2ZmY2FudmFzLXRvZ2dsZTpob3ZlciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgYmFja2dyb3VuZDogI0ZGNDYwNDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0OyB9XG4gIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmUsIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmU6YWN0aXZlLCAuY3Mtb2ZmY2FudmFzLXRvZ2dsZS0tYWN0aXZlOmZvY3VzLCAuY3Mtb2ZmY2FudmFzLXRvZ2dsZS0tYWN0aXZlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkY0NjA0OyB9XG4gIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmU6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZSAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmUgLmNzLW9mZmNhbnZhcy10b2dnbGVfX2ljb24sIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmUgLmNzLW9mZmNhbnZhcy10b2dnbGVfX2ljb246YmVmb3JlLCAuY3Mtb2ZmY2FudmFzLXRvZ2dsZS0tYWN0aXZlIC5jcy1vZmZjYW52YXMtdG9nZ2xlX19pY29uOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZS0tYWN0aXZlIC5jcy1vZmZjYW52YXMtdG9nZ2xlX19pY29uOmJlZm9yZSwgLmNzLW9mZmNhbnZhcy10b2dnbGUtLWFjdGl2ZSAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cbiAgLmNzLW9mZmNhbnZhcy10b2dnbGVfX2ljb24ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9faWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9tZW51LnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDIxcHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAuY3Mtb2ZmY2FudmFzLXRvZ2dsZV9fdGV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMC41cmVtO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zczsgfVxuICAgIC5jcy1vZmZjYW52YXMtdG9nZ2xlLS1hY3RpdmUgLmNzLW9mZmNhbnZhcy10b2dnbGVfX3RleHQge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLW9mZmNhbnZhcy10b2dnbGVfX3RleHQge1xuICAgICAgICBib3R0b206IDJyZW07IH0gfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuXG4kb2ZmY2FudmFzLXRvZ2dsZV9pY29uLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10b2dnbGVfaWNvbi1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10b2dnbGVfaWNvbi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10b2dnbGVfaWNvbi1jb2xvci1hY3RpdmU6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtdG9nZ2xlX2ljb24tdHJhbnNpdGlvbi10aW1lOiAkdHJhbnNpdGlvbi1kZWZhdWx0LXRpbWUgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXRvZ2dsZV9hbmltYXRpb24tZGlyZWN0aW9uOiAnbGVmdCcgIWRlZmF1bHQ7IC8vICdsZWZ0JyBvciAncmlnaHQnXG4kb2ZmY2FudmFzLXRvZ2dsZV90ZXh0LWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXRvZ2dsZV90ZXh0LWNvbG9yLWFjdGl2ZTogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10b2dnbGVfdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuLmNzLW9mZmNhbnZhcy10b2dnbGUge1xuICAgICRyb290OiAmO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtdG9nZ2xlX2ljb24tYmFja2dyb3VuZDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLXRvZ2dsZV9pY29uLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10b2dnbGVfaWNvbi10cmFuc2l0aW9uLXRpbWU7XG4gICAgICAgIGJvdHRvbTogMDtcblxuICAgICAgICBAaWYgKCRvZmZjYW52YXMtdG9nZ2xlX2FuaW1hdGlvbi1kaXJlY3Rpb24gPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICYsXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtdG9nZ2xlX2ljb24tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9faWNvbiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuXG4gICAgICAgICAgICAmLFxuICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLXRvZ2dsZV9pY29uLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvbWVudS5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDAuNXJlbTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgIGNvbG9yOiAkb2ZmY2FudmFzLXRvZ2dsZV90ZXh0LWNvbG9yO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJG9mZmNhbnZhcy10b2dnbGVfdGV4dC10cmFuc2Zvcm07XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cbiAgICAgICAgI3skcm9vdH0tLWFjdGl2ZSAmIHtcbiAgICAgICAgICAgIGNvbG9yOiAkb2ZmY2FudmFzLXRvZ2dsZV90ZXh0LWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGJvdHRvbTogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNGNEY0RjQ7IH1cbiAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uIC5uYXYtbG9nbyB7XG4gICAgYmFja2dyb3VuZDogIzNFM0UzRTtcbiAgICBwYWRkaW5nOiAxN3B4OyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uIC5uYXYtbG9nbyBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxNjBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0O1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdC0tY3VycmVudCB7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0IC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAxMDUlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXM7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QtLWFjdGl2ZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTA1JSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwNSUsIDAsIDApOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0ID4gbGk6bm90KC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSkge1xuICAgICAgYm9yZGVyLXRvcDogMXB4ICNkY2RjZGMgc29saWQ7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCA+IGxpOm5vdCguY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0pOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCAjZGNkY2RjIHNvbGlkOyB9XG4gIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0ID4gbGk6bm90KC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0gKyAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0sIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCA+IGxpOm5vdCguY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0pICsgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QgPiAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0gKyBsaTpub3QoLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtKSAsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCA+IGxpOm5vdCguY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0pICsgbGk6bm90KC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSkge1xuICAgICAgYm9yZGVyLXRvcDogMXB4ICNkY2RjZGMgc29saWQ7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW06bGFzdC1vZi10eXBlLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QgPiBsaTpsYXN0LW9mLXR5cGU6bm90KC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4ICNkY2RjZGMgc29saWQ7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0tLXdpdGgtaWNvbiAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX3RleHQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluaywgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0ID4gbGk6bm90KC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSkgYSB7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QgPiBsaTpub3QoLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtKSBhLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbms6dmlzaXRlZCwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0ID4gbGk6bm90KC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSkgYTp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjMjEyMTIxOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rOmhvdmVyLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpc3QgPiBsaTpub3QoLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pdGVtKSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMjEyMTIxOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLWluLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24tb3V0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDVyZW07IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1pbiwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLWluOnZpc2l0ZWQsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1vdXQsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1vdXQ6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAjRkY0NjA0OyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24taW46aG92ZXIsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1vdXQ6aG92ZXIge1xuICAgICAgICBjb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXNpZ24taW46aG92ZXIgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uIHBhdGgsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1vdXQ6aG92ZXIgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uIHBhdGgge1xuICAgICAgICAgIGZpbGw6ICNGRjQ2MDQ7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1pbiAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24sIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1vdXQgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uIHtcbiAgICAgICAgd2lkdGg6IDIuM3JlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjdyZW07XG4gICAgICAgIHJpZ2h0OiAxNXB4OyB9XG4gICAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tc2lnbi1pbiAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24gcGF0aCwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1zaWduLW91dCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24gcGF0aCB7XG4gICAgICAgICAgZmlsbDogI0ZGNDYwNDsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcGFyZW50IC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1yZXR1cm4gLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uIHtcbiAgICAgIHdpZHRoOiAwLjhyZW07XG4gICAgICBoZWlnaHQ6IDAuOHJlbTsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcGFyZW50IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDVyZW07IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcGFyZW50IC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faWNvbiB7XG4gICAgICAgIHJpZ2h0OiAxNXB4OyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1yZXR1cm4ge1xuICAgICAgcGFkZGluZy1sZWZ0OiA1cmVtOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXJldHVybiAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2ljb24ge1xuICAgICAgICBsZWZ0OiAxNXB4OyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1uZXh0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1uZXh0OmJlZm9yZSwgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1uZXh0OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiAwLjhyZW07XG4gICAgICAgIGhlaWdodDogMC4ycmVtO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0O1xuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tbmV4dFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tbmV4dFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2RTZFNkU7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tbmV4dDpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgICAgIHJpZ2h0OiAxNXB4OyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLW5leHQ6YWZ0ZXIge1xuICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZykgdHJhbnNsYXRlM2QoNTAlLCAwLCAwKTsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1uZXh0W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLW5leHRbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICByaWdodDogMTVweDsgfVxuICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcHJldiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcHJldjpiZWZvcmUsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcHJldjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogMC44cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuMnJlbTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDtcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXByZXZbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YmVmb3JlLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXByZXZbYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkU2RTZFOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXByZXY6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKDUwJSwgLTUwJSwgMCk7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXByZXY6YWZ0ZXIge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCg1MCUsIDUwJSwgMCk7IH1cbiAgICAgIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGluay0tcHJldlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICByaWdodDogYXV0bzsgfVxuICAgICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLS1wcmV2W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXByZXY6YmVmb3JlLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbmstLXByZXY6YWZ0ZXIge1xuICAgICAgICBsZWZ0OiAxNXB4OyB9XG4gIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbiAuYWN0aXZlID4gLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saW5rLCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb24gLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19saXN0ID4gbGk6bm90KC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSkgLmFjdGl2ZSA+IGEsIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fbGlzdCA+IGxpOm5vdCguY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2l0ZW0pIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbiAuYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICNGRjQ2MDQ7IH1cbiAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgLmNzLW9mZmNhbnZhcy1uYXZpZ2F0aW9uX19pY29uIHBhdGgge1xuICAgICAgZmlsbDogI0ZGNDYwNDsgfVxuICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2NhdGVnb3J5LWljb24td3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fY2F0ZWdvcnktaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICBtYXgtaGVpZ2h0OiAycmVtOyB9XG4gIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9fcHJvZHVjdC1xdHkge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICM2OTY5Njk7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX3Byb2R1Y3QtcXR5OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnKCc7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX3Byb2R1Y3QtcXR5OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcpJzsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvZ2V0LXZhbHVlLWZyb20tbGlzdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BzZXVkb2ljb24vbWl4aW4nO1xuXG4kb2ZmY2FudmFzLW5hdmlnYXRpb25fYmFja2dyb3VuZDogJGNvbG9yX2xpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pdGVtLWJhY2tncm91bmQ6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2l0ZW0tYm9yZGVyOiAxcHggJGNvbG9yX2FsdG8gc29saWQgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1jb2xvci0taG92ZXI6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWNvbG9yICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstc2lnbi1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstc2lnbi1jb2xvci0taG92ZXI6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLXNpZ24tY29sb3IgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1hY3RpdmUtY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLXBhZGRpbmc6IDE1cHggIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXVzZS1wc2V1ZG9pY29uLWluc3RlYWQtc3ZnOiB0cnVlICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24td2lkdGg6IDAuOHJlbSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWhlaWdodDogMC4ycmVtICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWNvbG9yLS1ob3ZlcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3IgIWRlZmF1bHQ7XG4vLyBCZWxvdyBuYXZpZ2F0aW9uX2ljb24gc2V0dGluZ3MgYXJlIHVzYWJsZSBvbmx5IGlmIHlvdSB1c2UgcHNldWRvaWNvblxuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tdHlwZTogJ2Fycm93JyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWRlZmF1bHQtLW5leHQ6ICdyaWdodCcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1kZWZhdWx0LS1wcmV2OiAnbGVmdCcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1hbmltYXRpb246IGZhbHNlICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tYXJyb3ctbGVmdC1vZmZzZXQ6IDAgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXNpZ24tY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMDtcbiRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXNpZ24tY29sb3ItLWhvdmVyOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1zaWduLWNvbG9yO1xuXG4kb2ZmY2FudmFzLW5hdmlnYXRpb25fcHJvZHVjdC1xdHktY29sb3I6ICRjb2xvcl90ZXh0LTUwMCAhZGVmYXVsdDtcblxuLiN7JG5zfW9mZmNhbnZhcy1uYXZpZ2F0aW9uIHtcbiAgICAkcm9vdDogJjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fYmFja2dyb3VuZDtcblxuICAgIC5uYXYtbG9nbyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcl9ib2R5LXRleHQ7XG4gICAgICAgIHBhZGRpbmc6IDE3cHg7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE2MHB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2l0ZW0tYmFja2dyb3VuZDtcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgICAgICYtLWN1cnJlbnQge1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICYgJiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAxMDUlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXM7XG5cbiAgICAgICAgICAgICYtLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDUlKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDUlLCAwLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gbGk6bm90KC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbSl7XG4gICAgICAgICAgICBAZXh0ZW5kIC5jcy1vZmZjYW52YXMtbmF2aWdhdGlvbl9faXRlbTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pdGVtLWJvcmRlcjtcblxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pdGVtLWJvcmRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuY3Mtb2ZmY2FudmFzLW5hdmlnYXRpb25fX2xpbms7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faXRlbS1ib3JkZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faXRlbS1ib3JkZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLS13aXRoLWljb24ge1xuICAgICAgICAgICAgI3skcm9vdH1fX3RleHQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgICAgICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLXBhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICdsZWZ0J1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstcGFkZGluZztcbiAgICAgICAgZm9udC1zaXplOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1mb250LXNpemU7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBmb250LXdlaWdodDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstZm9udC13ZWlnaHQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmLFxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstY29sb3ItLWhvdmVyO1xuXG4gICAgICAgICAgICBAaWYgbm90KCRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXVzZS1wc2V1ZG9pY29uLWluc3RlYWQtc3ZnKSB7XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX2ljb24ge1xuICAgICAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWNvbG9yLS1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNpZ24taW4sXG4gICAgICAgICYtLXNpZ24tb3V0IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVyZW07XG5cbiAgICAgICAgICAgICYsXG4gICAgICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1zaWduLWNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstc2lnbi1jb2xvci0taG92ZXI7XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fV9faWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tc2lnbi1jb2xvci0taG92ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19pY29uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMi4zcmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMi43cmVtO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAncmlnaHQnXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1zaWduLWNvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXBhcmVudCxcbiAgICAgICAgJi0tcmV0dXJuIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19pY29uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24td2lkdGg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi13aWR0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXBhcmVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cmVtO1xuXG4gICAgICAgICAgICAjeyRyb290fV9faWNvbiB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgICAgICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLXBhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICdyaWdodCdcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tcmV0dXJuIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXJlbTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2ljb24ge1xuICAgICAgICAgICAgICAgIGxlZnQ6IGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgICAgICRvZmZjYW52YXMtbmF2aWdhdGlvbl9saW5rLXBhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICdsZWZ0J1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgKCRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLXVzZS1wc2V1ZG9pY29uLWluc3RlYWQtc3ZnKSB7XG4gICAgICAgICAgICAmLS1uZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG9pY29uKFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGFuaW1hdGVkOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1hbmltYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICRhcnJvdy1kZWZhdWx0OiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1kZWZhdWx0LS1uZXh0LFxuICAgICAgICAgICAgICAgICAgICAkYXJyb3ctb2Zmc2V0OiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1hcnJvdy1sZWZ0LW9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgJHdpZHRoOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi13aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgJGhlaWdodDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24taGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAkY29sb3I6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAkY29sb3ItaG92ZXI6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWNvbG9yLS1ob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgJHBvc2l0aW9uLXNpZGUtb2Zmc2V0OlxuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0LXZhbHVlLWZyb20tbGlzdChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1wYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyaWdodCdcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1wcmV2IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwc2V1ZG9pY29uKFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGFuaW1hdGVkOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1hbmltYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICRhcnJvdy1kZWZhdWx0OiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1kZWZhdWx0LS1wcmV2LFxuICAgICAgICAgICAgICAgICAgICAkYXJyb3ctb2Zmc2V0OiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi1hcnJvdy1sZWZ0LW9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgJHdpZHRoOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25faWNvbi13aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgJGhlaWdodDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24taGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAkY29sb3I6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAkY29sb3ItaG92ZXI6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9pY29uLWNvbG9yLS1ob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgJHBvc2l0aW9uLXNpZGUtb2Zmc2V0OiBhdXRvXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICAgICAgICAgJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2xpbmstcGFkZGluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0J1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3RpdmUge1xuICAgICAgICA+ICN7JHJvb3R9X19saW5rIHtcbiAgICAgICAgICAgIGNvbG9yOiAkb2ZmY2FudmFzLW5hdmlnYXRpb25fbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogJG9mZmNhbnZhcy1uYXZpZ2F0aW9uX2ljb24tY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jYXRlZ29yeS1pY29uLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cblxuICAgICZfX2NhdGVnb3J5LWljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuICAgICAgICBtYXgtaGVpZ2h0OiAycmVtO1xuICAgIH1cblxuICAgICZfX3Byb2R1Y3QtcXR5IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICRvZmZjYW52YXMtbmF2aWdhdGlvbl9wcm9kdWN0LXF0eS1jb2xvcjtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnKCc7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcpJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4uY3Mtb2ZmY2FudmFzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzMDA7IH1cbiAgLmNzLW9mZmNhbnZhc19fZHJhd2VyLCAuY3Mtb2ZmY2FudmFzX19vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLW9mZmNhbnZhc19fZHJhd2VyLCAuY3Mtb2ZmY2FudmFzX19vdmVybGF5IHtcbiAgICAgICAgdG9wOiAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLW9mZmNhbnZhc19fZHJhd2VyLCAuY3Mtb2ZmY2FudmFzX19vdmVybGF5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmNzLW9mZmNhbnZhcy0tbWluaS1jYXJ0IC5jcy1vZmZjYW52YXNfX2RyYXdlciwgLmNzLW9mZmNhbnZhcy0tbWluaS1jYXJ0IC5jcy1vZmZjYW52YXNfX292ZXJsYXkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0b3A6IDA7IH1cbiAgLmNzLW9mZmNhbnZhc19fb3ZlcmxheSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgdHJhbnNmb3JtIDFtcyAwLjNzO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5jcy1vZmZjYW52YXMgLm92ZXJsYXktLXZpc2libGUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zczsgfVxuICAuY3Mtb2ZmY2FudmFzX19kcmF3ZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogI0Y0RjRGNDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgICB3aWR0aDogNzIlO1xuICAgIG1heC13aWR0aDogMjgwcHg7IH1cbiAgICAuY3Mtb2ZmY2FudmFzLS1zaWRlX2xlZnQgLmNzLW9mZmNhbnZhc19fZHJhd2VyIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwNSUsIDAsIDApOyB9XG4gICAgLmNzLW9mZmNhbnZhcy0tc2lkZV9yaWdodCAuY3Mtb2ZmY2FudmFzX19kcmF3ZXIge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDUlLCAwLCAwKTsgfVxuICAuY3Mtb2ZmY2FudmFzIC5kcmF3ZXItLXZpc2libGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgIWltcG9ydGFudDsgfVxuICAuY3Mtb2ZmY2FudmFzX19zcGlubmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDZyZW07XG4gICAgaGVpZ2h0OiA2cmVtO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDIwJTtcbiAgICBtYXJnaW4tbGVmdDogLTNyZW07IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcblxuJG9mZmNhbnZhc190b3Atb2Zmc2V0LW1vYmlsZTogMCAhZGVmYXVsdDsgLy8gTW92ZSBiZWxvdyB0aGUgbmF2aWdhdGlvbiBvbiBtb2JpbGUuXG4kb2ZmY2FudmFzX3RvcC1vZmZzZXQtdGFibGV0OiAwICFkZWZhdWx0OyAvLyBNb3ZlIGJlbG93IHRoZSBuYXZpZ2F0aW9uIG9uIHRhYmxldC5cbiRvZmZjYW52YXNfdHJhbnNpdGlvbi10aW1lOiAkdHJhbnNpdGlvbi1kZWZhdWx0LXRpbWUgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXNfb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRjb2xvcl9iYWNrZ3JvdW5kLTgwMCwgMC43KSAhZGVmYXVsdDtcblxuJG9mZmNhbnZhc19kcmF3ZXItYmFja2dyb3VuZDogJGNvbG9yX2xpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXNfc3Bpbm5lci1jb2xvcjogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuXG4uI3skbnN9b2ZmY2FudmFzIHtcbiAgICAkcm9vdDogJjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAzMDA7XG5cbiAgICAmX19kcmF3ZXIsXG4gICAgJl9fb3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAkb2ZmY2FudmFzX3RvcC1vZmZzZXQtbW9iaWxlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHRvcDogJG9mZmNhbnZhc190b3Atb2Zmc2V0LXRhYmxldDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbWluaS1jYXJ0ICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vdmVybGF5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIC8vIFNldHRpbmcgMW1zIGJlY2F1c2UgMCBkb2Vzbid0IHNlZW0gdG8gd29yayBhbmQgd2UgbmVlZCBzZWFtbGVzcyB0cmFuc2l0aW9uIGZvciBzY2FsZSBoZXJlLlxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRvZmZjYW52YXNfdHJhbnNpdGlvbi10aW1lLFxuICAgICAgICAgICAgdHJhbnNmb3JtIDFtcyAkb2ZmY2FudmFzX3RyYW5zaXRpb24tdGltZTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC5vdmVybGF5IHtcbiAgICAgICAgJi0tdmlzaWJsZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG9mZmNhbnZhc19vdmVybGF5LWJhY2tncm91bmQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRvZmZjYW52YXNfdHJhbnNpdGlvbi10aW1lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZHJhd2VyIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXNfZHJhd2VyLWJhY2tncm91bmQ7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzX3RyYW5zaXRpb24tdGltZTtcbiAgICAgICAgd2lkdGg6IDcyJTtcbiAgICAgICAgbWF4LXdpZHRoOiAyODBweDtcblxuICAgICAgICAjeyRyb290fS0tc2lkZV9sZWZ0ICYge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTA1JSwgMCwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tc2lkZV9yaWdodCAmIHtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTA1JSwgMCwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZHJhd2VyIHtcbiAgICAgICAgJi0tdmlzaWJsZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zcGlubmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogNnJlbTtcbiAgICAgICAgaGVpZ2h0OiA2cmVtO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogMjAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTNyZW07XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLXBhZ2UtdGVhc2VyLS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNzLXBhZ2UtdGVhc2VyLS1jb250YWluZXIgcGljdHVyZSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuY3MtcGFnZS10ZWFzZXItLWNvbnRhaW5lciBwaWN0dXJlLFxuICAuY3MtcGFnZS10ZWFzZXItLWNvbnRhaW5lciBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jcy1wYWdlLXRlYXNlci0tY29udGFpbmVyIC5jbXMtcGFnZV9fdGVhc2VyLXdyYXBwZXIge1xuICAgIGhlaWdodDogMzUxcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLXBhZ2UtdGVhc2VyLS1jb250YWluZXIgLmNtcy1wYWdlX190ZWFzZXItd3JhcHBlciB7XG4gICAgICAgIGhlaWdodDogMjAwcHggIWltcG9ydGFudDsgfSB9XG4gIC5jcy1wYWdlLXRlYXNlci0tY29udGFpbmVyIC5jbXMtcGFnZV9fdGVhc2VyLWltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBtaW4taGVpZ2h0OiAzNTFweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtcGFnZS10ZWFzZXItLWNvbnRhaW5lciAuY21zLXBhZ2VfX3RlYXNlci1pbWFnZSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4OyB9IH1cbiAgLmNzLXBhZ2UtdGVhc2VyLS1jb250YWluZXIgLmNtcy1wYWdlX190ZWFzZXIgPiBwaWN0dXJlLFxuICAuY3MtcGFnZS10ZWFzZXItLWNvbnRhaW5lciAuY21zLXBhZ2VfX3RlYXNlciA+IGltZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLmNzLXBhZ2UtdGVhc2VyLS1jb250YWluZXIgLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1wYWdlLXRlYXNlci0tY29udGFpbmVyIC5jbXMtcGFnZV9fdGVhc2VyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvYXJyb3ctZG93bkAxeC5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDIwcHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTIwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgIC5jcy1wYWdlLXRlYXNlci0tY29udGFpbmVyIC5jbXMtcGFnZV9fdGVhc2VyLWltYWdlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG4ucGFnZS10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiA0cmVtO1xuICBjb2xvcjogIzIxMjEyMTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOiAxcmVtIDAgMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgLnBhZ2UtdGl0bGVfX2hlYWRsaW5lIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5wYWdlLXRpdGxlX19zcGFuIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLmNtcy1wYWdlLXZpZXcgLnBhZ2UtdGl0bGUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRwYWdlLXRpdGxlX2ZvbnQtc2l6ZTogNHJlbSAhZGVmYXVsdDtcbiRwYWdlLXRpdGxlX3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kcGFnZS10aXRsZV9mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xuXG4kcGFnZS10aXRsZV9zcGFuLWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kcGFnZS10aXRsZV9zcGFuLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XG4kcGFnZS10aXRsZV9zcGFuLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG5cbi5jcy1wYWdlLXRlYXNlci0tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBwaWN0dXJlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIHBpY3R1cmUsXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmNtcy1wYWdlX190ZWFzZXItd3JhcHBlciB7XG4gICAgICAgIGhlaWdodDogMzUxcHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgaGVpZ2h0OiAyMDBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNtcy1wYWdlX190ZWFzZXItaW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgbWluLWhlaWdodDogMzUxcHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNtcy1wYWdlX190ZWFzZXIgPiBwaWN0dXJlLFxuICAgIC5jbXMtcGFnZV9fdGVhc2VyID4gaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuXG4gICAgLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY21zLXBhZ2VfX3RlYXNlciB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvYXJyb3ctZG93bkAxeC5zdmdcIik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAuY21zLXBhZ2VfX3RlYXNlci1pbWFnZSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyMDBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGFnZS10aXRsZSB7XG4gICAgQGluY2x1ZGUgaGVhZGxpbmUoJGxldmVsOiAkcGFnZS10aXRsZV9mb250LXNpemUpO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkcGFnZS10aXRsZV90ZXh0LXRyYW5zZm9ybTtcbiAgICBmb250LXdlaWdodDogJHBhZ2UtdGl0bGVfZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRwYWdlLXRpdGxlX3NwYW4tY29sb3I7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19oZWFkbGluZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG5cbiAgICAmX19zcGFuIHtcbiAgICAgICAgY29sb3I6ICRwYWdlLXRpdGxlX3NwYW4tY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcGFnZS10aXRsZV9zcGFuLWZvbnQtd2VpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAkcGFnZS10aXRsZV9zcGFuLXBhZGRpbmc7XG4gICAgfVxufVxuXG4uY21zLXBhZ2UtdmlldyB7XG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG5cblxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiB7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbi5jcy1jb250YWluZXItLXBhZ2UtYm90dG9tIHtcbiAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4uY3MtcGFnZS1ib3R0b20ge1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1wYWdlLWJvdHRvbSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1wYWdlLWJvdHRvbSB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgLnBhZ2UtcHJpbnQgLmNzLXBhZ2UtYm90dG9tIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wYWdlLWJvdHRvbV9faW1hZ2Uge1xuICAgIGhlaWdodDogM3JlbTtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9faW1hZ2UtLWNpcmNsZSB7XG4gICAgICB3aWR0aDogNC43cmVtO1xuICAgICAgaGVpZ2h0OiA0LjdyZW07XG4gICAgICBtaW4td2lkdGg6IDQuN3JlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDQuN3JlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAuY3MtcGFnZS1ib3R0b21fX3RleHQsXG4gIC5jcy1wYWdlLWJvdHRvbSAuY29weXJpZ2h0IHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMC42cmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX190ZXh0LS1zbWFsbCxcbiAgICAuY3MtcGFnZS1ib3R0b20gLmNvcHlyaWdodC0tc21hbGwge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMXJlbSAwOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1pbmZvIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLWluZm8ge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1iYXNpczogNDAlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gICAgICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0taW5mbyAuY3MtcGFnZS1ib3R0b21fX3RleHQge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMHJlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1pbmZvIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAxNyU7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgICAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLWluZm8gLmNzLXBhZ2UtYm90dG9tX190ZXh0IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0tc2hpcHBpbmcge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0tc2hpcHBpbmcge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1iYXNpczogNTUlO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLXNoaXBwaW5nIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAzMyU7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cmVtOyB9IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1wYXltZW50IHtcbiAgICAgIGZsZXgtYmFzaXM6IDUwJTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgICAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0tcGF5bWVudCAuY3MtcGFnZS1ib3R0b21fX3RleHQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0tcGF5bWVudCB7XG4gICAgZmxleC1iYXNpczogMTAwJTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1wYXltZW50IHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1zaGlwcGluZywgLmNzLXBhZ2UtYm90dG9tX19ncm91cC0tcGF5bWVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAuY3MtcGFnZS1ib3R0b21fX2dyb3VwLS1zaGlwcGluZzpiZWZvcmUsIC5jcy1wYWdlLWJvdHRvbV9fZ3JvdXAtLXBheW1lbnQ6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW46IDAgMXJlbTtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMXJlbTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB3aWR0aDogMC4ycmVtO1xuICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfSB9XG4gIC5jcy1wYWdlLWJvdHRvbV9fbG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXNocmluazogMTtcbiAgICBoZWlnaHQ6IDJyZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0taGVybWVzIHtcbiAgICAgIHdpZHRoOiAxMi4ycmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1kaGwge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogMnJlbTtcbiAgICAgIG1pbi13aWR0aDogOC42cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1wYXlwYWwge1xuICAgICAgd2lkdGg6IDYuMnJlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0tdmlzYSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtaGVpZ2h0OiAycmVtO1xuICAgICAgbWluLXdpZHRoOiA1LjVyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLW1hc3RlcmNhcmQge1xuICAgICAgd2lkdGg6IDMuM3JlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0ta2xhcm5hLXNvZm9ydCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtaGVpZ2h0OiAyLjVyZW07XG4gICAgICBtaW4taGVpZ2h0OiAyLjVyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLWtsYXJuYSB7XG4gICAgICB3aWR0aDogN3JlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0tZ2xzIHtcbiAgICAgIHdpZHRoOiA1cmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvLS1naXJvcGF5IHtcbiAgICAgIHdpZHRoOiA0LjhyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLWVjIHtcbiAgICAgIHdpZHRoOiAxLjhyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLXBheWRpcmVrdCB7XG4gICAgICB3aWR0aDogNnJlbTsgfVxuICAgIC5jcy1wYWdlLWJvdHRvbV9fbG9nby0tbGFzdHNjaHJpZnQge1xuICAgICAgd2lkdGg6IDYuMTVyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLXZvcmthc3NlIHtcbiAgICAgIHdpZHRoOiA4LjNyZW07IH1cbiAgICAuY3MtcGFnZS1ib3R0b21fX2xvZ28tLXJlY2hudW5nIHtcbiAgICAgIHdpZHRoOiA2LjE1cmVtOyB9XG4gICAgLmNzLXBhZ2UtYm90dG9tX19sb2dvICsgLmNzLXBhZ2UtYm90dG9tX19sb2dvIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgLmNzLWNvbnRhaW5lci0tcGFnZS1wZHAtYm90dG9tLFxuICAuY3MtY29udGFpbmVyLS1wcm9kdWN0cy1jYXJvdXNlbCB7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbi5jcy1jb250YWluZXItLXBhZ2UtYm90dG9tIHtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRwYWdlLWJvdHRvbV90ZXh0LWNvbG9yOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kcGFnZS1ib3R0b21fZGl2aWRlci1jb2xvcjogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuXG4uY29sdW1ucyAuY29sdW1uLm1haW4ge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8PWxhcHRvcCcpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbi5jcy1jb250YWluZXItLXBhZ2UtYm90dG9tIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JfYmxhY2s7XG59XG5cbi4jeyRuc31wYWdlLWJvdHRvbSB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC5wYWdlLXByaW50ICYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAmLS1jaXJjbGUge1xuICAgICAgICAgICAgd2lkdGg6IDQuN3JlbTtcbiAgICAgICAgICAgIGhlaWdodDogNC43cmVtO1xuICAgICAgICAgICAgbWluLXdpZHRoOiA0LjdyZW07XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0LjdyZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0LFxuICAgIC5jb3B5cmlnaHQge1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgY29sb3I6ICRwYWdlLWJvdHRvbV90ZXh0LWNvbG9yO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNnJlbTtcblxuICAgICAgICAmLS1zbWFsbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ncm91cCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWluZm8ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNDAlO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuXG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3RleHQge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIwcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDE3JTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3RleHQge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tc2hpcHBpbmcge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTUlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMzMlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXBheW1lbnQge1xuICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAjeyRyb290fV9fdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tc2hpcHBpbmcsXG4gICAgICAgICYtLXBheW1lbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDFyZW07XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMC4ycmVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwYWdlLWJvdHRvbV9kaXZpZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICBoZWlnaHQ6IDJyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWhlcm1lcyB7XG4gICAgICAgICAgICB3aWR0aDogMTIuMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRobCB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgbWluLXdpZHRoOiA4LjZyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wYXlwYWwge1xuICAgICAgICAgICAgd2lkdGg6IDYuMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXZpc2Ege1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMnJlbTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbWFzdGVyY2FyZCB7XG4gICAgICAgICAgICB3aWR0aDogMy4zcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0ta2xhcm5hLXNvZm9ydCB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1rbGFybmEge1xuICAgICAgICAgICAgd2lkdGg6IDdyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1nbHMge1xuICAgICAgICAgICAgd2lkdGg6IDVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1naXJvcGF5IHtcbiAgICAgICAgICAgIHdpZHRoOiA0LjhyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1lYyB7XG4gICAgICAgICAgICB3aWR0aDogMS44cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcGF5ZGlyZWt0IHtcbiAgICAgICAgICAgIHdpZHRoOiA2cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGFzdHNjaHJpZnQge1xuICAgICAgICAgICAgd2lkdGg6IDYuMTVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS12b3JrYXNzZSB7XG4gICAgICAgICAgICB3aWR0aDogOC4zcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcmVjaG51bmcge1xuICAgICAgICAgICAgd2lkdGg6IDYuMTVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmICsgJiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY3MtY29udGFpbmVyLS1wYWdlLXBkcC1ib3R0b20sXG4uY3MtY29udGFpbmVyLS1wcm9kdWN0cy1jYXJvdXNlbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbi5jcy1jb250YWluZXIge1xuICAgICYtLXBhZ2UtYm90dG9tIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLypcbiAqIEJlY2F1c2UgcHJpY2UtYm94IGlzIHVzZWQgaW4gbXVsdGlwbGUgY29tcG9uZW50cyBsaWtlIHRpbGUsIGJ1eWJveCBldGMsXG4gKiB3ZSBuZWVkIHRvIG1vdmUgdmFyaWFibGVzIHRvIHNlcGFyYXRlIGZpbGUgdG8gaGF2ZSBwb3NzaWJpbGl0eSB0byBpbmNsdWRlIHRoZW1cbiAqIGluIGVhY2ggY29tcG9uZW50IHdpdGhvdXQgZ2VuZXJhdGUgcHJpY2UtYm94IGNvbXBvbmVudCBzdHlsZXMgbXVsdGlwbGUgdGltZXNcbiovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4ucHJpY2UtYm94IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5wcmljZS1ib3ggLnByaWNlIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAucHJpY2UtYm94IC5wcmljZS1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuICAucHJpY2UtYm94IC5vbGQtcHJpY2Uubm8tZGlzcGxheSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlIC5wcmljZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjRlbTsgfVxuICAucHJpY2UtYm94IC5wcmljZSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAucHJpY2UtYm94IC5wcmljZS1sYWJlbCB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgbWFyZ2luOiAwIDAgMC4zcmVtIDA7IH1cbiAgICAgIC5wcmljZS1ib3ggLnByaWNlLWxhYmVsOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJzonOyB9XG4gICAgICBib2R5XG5wXG4ucHJpY2UtYm94IC5wcmljZS1sYWJlbCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAvKiAxICovIH1cbiAgICAucHJpY2UtYm94IC5wcmljZS1tc3JwX3ByaWNlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAucHJpY2UtYm94IC5wcmljZS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5wcmljZS1ib3ggLnByaWNlLWZyb20sXG4gIC5wcmljZS1ib3ggLnByaWNlLXRvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAucHJpY2UtYm94IC5wcmljZS1mcm9tID4gLnByaWNlLWNvbnRhaW5lcixcbiAgICAucHJpY2UtYm94IC5wcmljZS10byA+IC5wcmljZS1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5wcmljZS1ib3ggLnByaWNlLWZyb20gLnByaWNlLWxhYmVsLFxuICAgIC5wcmljZS1ib3ggLnByaWNlLXRvIC5wcmljZS1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5wcmljZS1ib3ggLm9sZC1wcmljZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnByaWNlLWJveCAub2xkLXByaWNlLm1hcC1vbGQtcHJpY2UgLnByaWNlLXdyYXBwZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAucHJpY2UtYm94IC5vbGQtcHJpY2UgLnByaWNlLXdyYXBwZXIgLnByaWNlIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoICFpbXBvcnRhbnQ7IH1cbiAgICAucHJpY2UtYm94IC5vbGQtcHJpY2UgLnByaWNlLFxuICAgIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2Utd3JhcHBlciB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlID4gLnByaWNlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2Uge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBjb2xvcjogI0NDMUMzQTtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UuYWN0aXZlIC5wcmljZSB7XG4gICAgY29sb3I6ICNDQzFDM0E7IH1cbiAgLnByaWNlLWJveCAucHJpY2UtZnJvbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC5jcy1wcmljZS0tcGRwX2RhaWx5ZGVhbC1jb3VudGRvd24gLnByaWNlLWJveDpub3QoLnByaWNlLWZpbmFsX3ByaWNlX3dpdGhvdXRfZGFpbHlfZGVhbCkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnByaWNlLWJveCAucmVndWxhci1wcmljZS1jb250YWluZXI6bm90KC53aXRoLXNwZWNpYWwpIC5tYXAtb2xkLXByaWNlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY3MtYnVuZGxlLWJveF9fYWRkIC5wcmljZS1hcy1jb25maWd1cmVkIHtcbiAgbWFyZ2luOiAxcmVtIDAgMDsgfVxuXG4ubWluaW1hbC1wcmljZS1saW5rIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5taW5pbWFsLXByaWNlLWxpbms6YWZ0ZXIge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6ICctJztcbiAgICByaWdodDogLTFyZW07XG4gICAgdG9wOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3ByaWNlLWJveC9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3ByaWNlLWJveC92YXJpYWJsZXMuc2Nzcyc7XG5AaW1wb3J0ICd1dGlscy92aXN1YWxseS1oaWRkZW4nO1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5XG4kcHJpY2UtYm94X29sZC1wcmljZS1mb250LXNpemU6IDEuNHJlbSAhZGVmYXVsdDtcblxuLnByaWNlLWJveCB7XG4gICAgJHJvb3Q6ICY7XG4gICAgQGluY2x1ZGUgcHJpY2VCb3goKTtcblxuICAgIC5wcmljZSB7XG4gICAgICAgIGNvbG9yOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXdlaWdodDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICYtbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRwcmljZS1ib3hfbGFiZWwtY29sb3I7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6ICRwcmljZS1ib3hfbGFiZWwtZm9udC1zaXplO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRwcmljZS1ib3hfbGFiZWwtbWFyZ2luIDA7XG5cbiAgICAgICAgICAgIEBpZiAoJHByaWNlLWJveF9sYWJlbC1kaXNwbGF5LWNvbG9uKSB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJvZHk6bm90KC5wYWdlLXByb2R1Y3QtYnVuZGxlLCAucGFnZS1wcm9kdWN0LWdyb3VwZWQpXG4gICAgICAgICAgICAgICAgcDpub3QoLnByaWNlLWZyb20sIC5wcmljZS10bylcbiAgICAgICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtbXNycF9wcmljZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpY2Utd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5wcmljZS1mcm9tLFxuICAgIC5wcmljZS10byB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgID4gLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHByaWNlLWJveF9sYWJlbC1mb250LXNpemU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UtbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJi5tYXAtb2xkLXByaWNlIHtcblxuICAgICAgICAgICAgLnByaWNlLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLXdyYXBwZXIgLnByaWNlIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UsXG4gICAgICAgIC5wcmljZS13cmFwcGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpY2UtYm94X29sZC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHByaWNlLWJveF9vbGQtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfb2xkLXByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNwZWNpYWwtcHJpY2Uge1xuICAgICAgICA+IC5wcmljZS1jb250YWluZXIge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgY29sb3I6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHByaWNlLWJveF9zcGVjaWFsLXByaWNlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpY2UtYm94X3NwZWNpYWwtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpY2UtZnJvbSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJHByaWNlLWJveF9zcGFjZS1iZXR3ZWVuLXByaWNlcztcbiAgICB9XG5cbiAgICAuI3skbnN9cHJpY2UtLXBkcF9kYWlseWRlYWwtY291bnRkb3duICYge1xuICAgICAgICAmOm5vdCgucHJpY2UtZmluYWxfcHJpY2Vfd2l0aG91dF9kYWlseV9kZWFsKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5yZWd1bGFyLXByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgICY6bm90KC53aXRoLXNwZWNpYWwpe1xuICAgICAgICAgICAgLm1hcC1vbGQtcHJpY2V7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLiN7JG5zfWJ1bmRsZS1ib3hfX2FkZCB7XG4gICAgLnByaWNlLWFzLWNvbmZpZ3VyZWQge1xuICAgICAgICBtYXJnaW46IDFyZW0gMCAwO1xuICAgIH1cbn1cblxuLm1pbmltYWwtcHJpY2UtbGluayB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtY29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiAnLSc7XG4gICAgICAgIHJpZ2h0OiAtMXJlbTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxufVxuIiwiLy8gcHJpY2UtYm94XG4vLyBUaGlzIGNvbXBvbmVudCBpcyByZXNwb25zaWJsZSBmb3Igc3R5bGluZyBwcmljZXMgYnkgbWFya3VwIHByb3ZpZGVkIGJ5IE1hZ2VudG8yXG4vL1xuLy8gU2VlIGh0dHA6Ly93YXJwc3BpcmUuY29tL2tzcy8gZm9yIGRvY3VtZW50YXRpb24gZ3VpZGVsaW5lcy5cbi8vIFZlcnNpb24gMC4wLjFcbkBtaXhpbiBwcmljZUJveCgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAucHJpY2Uge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICYtbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjY1cmVtO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbGQgcHJpY2Ugc2hvdWxkIG5vdCBiZSBkaXNwbGF5ZWQgZm9yIHByaWNlcyB3aGVyZSBub3JtYWwgcHJpY2UgaXMgXCJBcyBsb3cgYXMge3ByaWNlfVwiXG4gICAgICAgICYubm8tZGlzcGxheSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNwZWNpYWwtcHJpY2UgLnByaWNlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjRlbTtcbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKlxuICogQmVjYXVzZSBwcmljZS1ib3ggaXMgdXNlZCBpbiBtdWx0aXBsZSBjb21wb25lbnRzIGxpa2UgdGlsZSwgYnV5Ym94IGV0YyxcbiAqIHdlIG5lZWQgdG8gbW92ZSB2YXJpYWJsZXMgdG8gc2VwYXJhdGUgZmlsZSB0byBoYXZlIHBvc3NpYmlsaXR5IHRvIGluY2x1ZGUgdGhlbVxuICogaW4gZWFjaCBjb21wb25lbnQgd2l0aG91dCBnZW5lcmF0ZSBwcmljZS1ib3ggY29tcG9uZW50IHN0eWxlcyBtdWx0aXBsZSB0aW1lc1xuKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qKipcbiAqIFVzaW5nIHBzdWVkbyBlbGVtZW50cyB0byBtYWludGFpbiBhbiBlbGVtZW50cyBhc3BlY3QgcmF0aW8sIGV2ZW4gYXMgaXQgc2NhbGVzXG4gKiBJdCdzIHVzaW5nIG9ubHkgZm9yIElFMTEgYW5kIEVkZ2UgKHZlcnNpb24gd2hpY2ggZG9lc24ndCBzdXBwb3J0IG5hdGl2ZSBDU1MgZ3JpZCkgYnJvd3NlcnNcbiAqIEZvciBicm93c2VycyB3aGljaCBzdXBwb3J0IG5hdGl2ZSBDU1MgZ3JpZCwgd2UgYXJlIHVzaW5nIG1peGlucyBjb250YWluIGByZXNldGAgaW4gbWl4aW4gbmFtZVxuICogdG8gb3ZlcnJpZGUgZGVmYXVsdCBtaXhpbnMgKHByb2dyZXNzaXZlIGVuaGFuY2VtZW50KVxuICogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9zYXNzL21haW50YWluLWFzcGVjdC1yYXRpby1taXhpbi9cbiAqIEBwYXJhbSB7bnVtYmVyfSAkd2lkdGg6IHdpZHRoIG9mIHRoZSBlbGVtZW50O1xuICogQHBhcmFtIHtudW1iZXJ9ICRoZWlnaHQ6IGhlaWdodCBvZiB0aGUgZWxlbWVudDtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkY29udGVudENsYXNzOiBjbGFzcyBvZiB0aGUgZGlyZWN0IGNoaWxkIGVsZW1lbnQgdG8gYmUgcG9zaXRpb25lZCBhYnNvbHV0ZWx5O1xuICogQHBhcmFtIHtib29sZWFufSAkYXV0b3Bvc2l0aW9uOiB0ZWxscyBpZiBpdGVtIHNoYWxsIHRha2UgMTAwJSBvZiBwYXJlbnQgc2l6ZSBvciBpZiBpdCBjYW4gYmUgd2lkZXIvaGlnaGVyIGlmIG5lZWRlZDtcbiAqL1xuLyoqXG4gKiBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuICogaHR0cHM6Ly93d3cuc2Fzc21laXN0ZXIuY29tL2dpc3QvOWZhMTlkMjU0ODY0ZjMzZDRhODBcbiAqIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuICogQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuICogQHJldHVybiB7TnVtYmVyfVxuICovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi5jcy1wcm9kdWN0LXRpbGUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jcy1wcm9kdWN0LXRpbGU6aG92ZXIge1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIHRyYW5zaXRpb246IHotaW5kZXggMC4wMDAxczsgfSB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWNsaWNrYWJsZTpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWhpZGRlbiAuY3MtcHJvZHVjdC10aWxlX19tYWluLFxuICAuY3MtcHJvZHVjdC10aWxlLS1oaWRkZW4gLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkLmNzLXByb2R1Y3QtdGlsZS0tc3RhdGljIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBhZGRpbmc6IDEuMnJlbTsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2xpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsLWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwtbGluayB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX3RodW1ibmFpbC1saW5rOmhvdmVyLCAuY3MtcHJvZHVjdC10aWxlX190aHVtYm5haWwtbGluazp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2ZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19maWd1cmUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgdG9wOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2ZpZ3VyZTpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19maWd1cmUgLmNzLXByb2R1Y3QtdGlsZV9fdGh1bWJuYWlsLWxpbmsge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19pbWFnZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2ltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2ltYWdlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2VzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19iYWRnZXMtLWxpc3Qge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2VzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlcyB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IDEwcHggMTVweCAxMHB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtaW4taGVpZ2h0OiAyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAyNXB4O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDI1cHg7XG4gICAgbWF4LXdpZHRoOiAxMjVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA4OHB4O1xuICAgICAgICBwYWRkaW5nOiA4cHggMTNweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4LjAxZW0pIHtcbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4OyB9IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZGlzY291bnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZGlzY291bnQgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLWRpc2NvdW50IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQgKyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZGlzY291bnQgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1zYWxlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNDQzFDM0E7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLXNhbGUgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLXNhbGUgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCArIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1zYWxlIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tbmV3IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNBOUM1NDY7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLW5ldyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tbmV3IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQgKyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tbmV3IC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZnJlZS1zaGlwcGluZyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTlDNTQ2O1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1mcmVlLXNoaXBwaW5nIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1mcmVlLXNoaXBwaW5nIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQgKyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZnJlZS1zaGlwcGluZyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLXBvcHVsYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0E5QzU0NjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tcG9wdWxhciAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tcG9wdWxhciAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0ICsgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtLXBvcHVsYXIgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kYWlseWRlYWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0NDMUMzQTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS0tZGFpbHlkZWFsIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQge1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kYWlseWRlYWwgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCArIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLS1kYWlseWRlYWwgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtaXRlbSB7XG4gICAgICBtYXJnaW46IDAgMCAwLjVyZW07XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYmFkZ2UtaXRlbSB7XG4gICAgICBtYXJnaW46IDAgMCAwLjNyZW0gMDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLWl0ZW06ZW1wdHkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2JhZGdlLXRleHQgKyAuY3MtcHJvZHVjdC10aWxlX19iYWRnZS10ZXh0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19nYWxsZXJ5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fY29udGVudCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRUZFRkYwOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19jb250ZW50IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBmbGV4OiAxOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkb25zIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy10b3Age1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1zaWRlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaWUxMSAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtcmlnaHQge1xuICAgIHdpZHRoOiAzMCU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtcmlnaHQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtYm90dG9tIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19hZGRvbnMtbGVmdCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5pZTExIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1sZWZ0IHtcbiAgICAgIHdpZHRoOiA3MCU7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2FkZG9ucy1sZWZ0IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3Jldmlldy0tZ3JpZCB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19yZXZpZXc6ZW1wdHkge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fcmV2aWV3LFxuICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX3JldmlldyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19zdG9jayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19zdG9jay0taW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0E5QzU0NjsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fc3RvY2stLWluOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy90aWNrLXdoaXRlLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX3N0b2NrLS1vdXQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzgwMDAwMDsgfVxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fc3RvY2stLW91dDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvb3V0LnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fc3RvY2sge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fZGFpbHlkZWFsLS1ncmlkIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19kYWlseWRlYWwge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2RhaWx5ZGVhbCB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMCAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3F0eSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB3aWR0aDogMTFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fbWFpbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX21haW4ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQwLjAxZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19tYWluIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19tYWluIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgcGFkZGluZzogMCA1cHg7IH0gfVxuICAuY3MtcHJvZHVjdC10aWxlX19kZXRhaWxzIHtcbiAgICBmbGV4LXNocmluazogMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19zd2F0Y2hlcyB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fc3dhdGNoZXMge1xuICAgICAgbWFyZ2luOiAxLjVyZW0gMCAxcmVtO1xuICAgICAgbWluLWhlaWdodDogMi42cmVtOyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3N3YXRjaGVzLFxuICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19zd2F0Y2hlcyAuc3dhdGNoLWF0dHJpYnV0ZS1vcHRpb25zIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZV9fc3dhdGNoZXMtLWxpc3Q6ZW1wdHkge1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuaWUxMSAuY3MtcHJvZHVjdC10aWxlX19zd2F0Y2hlcyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19icmFuZCB7XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIG1hcmdpbi10b3A6IDEuMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19icmFuZC0tZW1wdHkge1xuICAgICAgaGVpZ2h0OiAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2JyYW5kLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjM0UzRTNFOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUge1xuICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMThweDsgfSB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2RldGFpbHMgPiAuY3MtcHJvZHVjdC10aWxlX19uYW1lIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuMnJlbTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19kZXRhaWxzID4gLmNzLXByb2R1Y3QtdGlsZV9fbmFtZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fZGV0YWlscyA+IC5jcy1wcm9kdWN0LXRpbGVfX2JyYW5kICsgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19kZXRhaWxzID4gLmNzLXByb2R1Y3QtdGlsZV9fYnJhbmQtLWVtcHR5ICsgLmNzLXByb2R1Y3QtdGlsZV9fbmFtZSB7XG4gICAgICBoZWlnaHQ6IDcuMnJlbTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19uYW1lLWxpbmsge1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGxpbmVhcjtcbiAgICAvKiBkaXNhYmxlZCBiZWNhdXNlIGF1dG9wcmVmaXhlciBjYW4ndCBidWlsZCB0aGlzICovXG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgdmFsdWUtbm8tdmVuZG9yLXByZWZpeCAqL1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXggKi9cbiAgICAvKiBhdXRvcHJlZml4ZXI6IGlnbm9yZSBuZXh0ICovXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAvKiBhdXRvcHJlZml4ZXI6IGlnbm9yZSBuZXh0ICovXG4gICAgbGluZS1jbGFtcDogMjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1uby12ZW5kb3ItcHJlZml4ICovXG4gICAgLyogc3R5bGVsaW50LWVuYWJsZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4ICovIH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19uYW1lLWxpbms6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzIxMjEyMTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX25hbWUtbGluazpob3ZlciB7XG4gICAgICBjb2xvcjogI0ZGNzQ0MjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgY29sb3I6ICM2OTY5Njk7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fZGVzY3JpcHRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2Rlc2NyaXB0aW9uOmVtcHR5IHtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZGl0aW9uYWwtLWxpc3Qge1xuICAgIG1hcmdpbjogYXV0byAwIDAgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fYWRkaXRpb25hbC0tbGlzdCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyIC5jcy1wcm9kdWN0LXRpbGVfX2FkZGl0aW9uYWwtLWxpc3Qge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyIC5jcy1wcm9kdWN0LXRpbGVfX2FkZGl0aW9uYWwtLWxpc3Qge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gIC5pZTExIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvLS1ncmlkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG8tLWdyaWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19hZGR0by0tbGlzdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvLS1saXN0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG8ge1xuICAgIG1hcmdpbjogMXJlbSAwIDA7IH1cbiAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX19hZGR0byB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19hZGR0byAuY3MtbGlua3MtYmxvY2stYWRkdG9fX2xpbmsge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtOyB9XG4gIC5jcy1kYXNoYm9hcmRfX2JvdHRvbS13aXNobGlzdCAuY3MtcHJvZHVjdC10aWxlX19hZGR0byxcbiAgLmNzLWRhc2hib2FyZF9fd2lzaGxpc3QtcHJvZHVjdHMtZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19hZGR0byB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19hZGR0bzplbXB0eSB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmllMTEgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG8gLmNzLWxpbmtzLWJsb2NrLWFkZHRvX19pdGVtLS13aXNobGlzdCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmllMTEgLmNzLXByb2R1Y3QtdGlsZV9fYWRkdG8gLmNzLWxpbmtzLWJsb2NrLWFkZHRvLS1ncmlkIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvY2FydCB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMDsgfVxuICAuY3MtcHJvZHVjdC10aWxlLS1saXN0IC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvY2FydCB7XG4gICAgbWFyZ2luOiAwLjVyZW0gMCAwOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX2FkZHRvY2FydC1idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1wcm9kdWN0LXRpbGVfX3dpc2hsaXN0LXJlbW92ZS1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEuMnJlbTsgfVxuICAgIEBtZWRpYSAocG9pbnRlcjogZmluZSkge1xuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fd2lzaGxpc3QtcmVtb3ZlLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fd2lzaGxpc3QtcmVtb3ZlLWljb24taW1hZ2Uge1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgZmlsbDogIzZFNkU2RTsgfVxuICAuY3MtcHJvZHVjdC10aWxlX193aXNobGlzdC1jb21tZW50IHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLyogMSAqLyB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tbGlzdCAuY3MtcHJvZHVjdC10aWxlX193aXNobGlzdC1jb21tZW50IHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAvKiAxICovIH1cbiAgLmNzLXByb2R1Y3QtdGlsZV9fd2lzaGxpc3QtYWN0aW9ucyB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDsgfSB9XG4gICAgLmNzLXByb2R1Y3QtdGlsZS0tZ3JpZCAuY3MtcHJvZHVjdC10aWxlX19wcmljZS0tZ3JpZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGUtLWxpc3QgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UtLWxpc3Qge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLnByaWNlLWxhYmVsIHtcbiAgICAgICAgbWFyZ2luOiAwIDNweCAwIDA7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLnByaWNlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAucHJpY2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OyB9IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLm1hcC1vbGQtcHJpY2UgLnByaWNlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2Uge1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OyB9IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLndpdGgtc3BlY2lhbC1wcmljZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XG4gICAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC5zcGVjaWFsLXByaWNlLFxuICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAud2l0aC1zcGVjaWFsLXByaWNlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2UsXG4gICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLWxhYmVsLFxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC53aXRoLXNwZWNpYWwtcHJpY2UgLnByaWNlLFxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC53aXRoLXNwZWNpYWwtcHJpY2UgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGNvbG9yOiAjQ0MxQzNBOyB9XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLnNwZWNpYWwtcHJpY2UgLnByaWNlLFxuICAgICAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAuc3BlY2lhbC1wcmljZSAucHJpY2UtbGFiZWwsXG4gICAgICAgICAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZSAucHJpY2UtYm94IC53aXRoLXNwZWNpYWwtcHJpY2UgLnByaWNlLFxuICAgICAgICAgICAgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCAud2l0aC1zcGVjaWFsLXByaWNlIC5wcmljZS1sYWJlbCB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OyB9IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLm1pbmltYWwtcHJpY2Uge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIC5jcy1wcm9kdWN0LXRpbGUtLWdyaWQgLmNzLXByb2R1Y3QtdGlsZV9fcHJpY2UgLnByaWNlLWJveCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLm1pbmltYWwtcHJpY2Uge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAgICAgICAuY3MtcHJvZHVjdC10aWxlLS1ncmlkIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlIC5wcmljZS1ib3ggLm9sZC1wcmljZSAucHJpY2Uge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAgIC5jcy1wcm9kdWN0LXRpbGVfX3ByaWNlLS1kYWlseWRlYWwtY291bnRkb3duIC5wcmljZS1ib3g6bm90KC5wcmljZS1maW5hbF9wcmljZV93aXRob3V0X2RhaWx5X2RlYWwpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlX19wcmljZS0tZGFpbHlkZWFsLWNvdW50ZG93biAucHJpY2UtYm94LnByaWNlLWJveC0tdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0MGVtKSB7XG4gIC5jcy1jb250YWluZXItLXByb2R1Y3RzLWNhcm91c2VsIC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMS41cmVtIDNyZW07IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAuY3MtY29udGFpbmVyLS1wcm9kdWN0cy1jYXJvdXNlbCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX25hdi0tcHJldiB7XG4gICAgbGVmdDogLTE0cHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDBlbSkge1xuICAuY3MtY29udGFpbmVyLS1wcm9kdWN0cy1jYXJvdXNlbCAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX25hdi0tbmV4dCB7XG4gICAgcmlnaHQ6IC0xNHB4OyB9IH1cbiIsIi8qKlxuICogU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbiAqIGh0dHBzOi8vd3d3LnNhc3NtZWlzdGVyLmNvbS9naXN0LzlmYTE5ZDI1NDg2NGYzM2Q0YTgwXG4gKiBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbiAqIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbiAqIEByZXR1cm4ge051bWJlcn1cbiAqL1xuXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgICBAcmV0dXJuICR2YWx1ZTtcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XG4gICAgICAgICRfOiBsb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gICAgfVxuXG4gICAgJHJlc3VsdDogMDtcbiAgICAkZGlnaXRzOiAwO1xuICAgICRtaW51czogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSkgPT0gJy0nO1xuICAgICRudW1iZXJzOiAoXG4gICAgICAgICcwJzogMCxcbiAgICAgICAgJzEnOiAxLFxuICAgICAgICAnMic6IDIsXG4gICAgICAgICczJzogMyxcbiAgICAgICAgJzQnOiA0LFxuICAgICAgICAnNSc6IDUsXG4gICAgICAgICc2JzogNixcbiAgICAgICAgJzcnOiA3LFxuICAgICAgICAnOCc6IDgsXG4gICAgICAgICc5JzogOSxcbiAgICApO1xuXG4gICAgQGZvciAkaSBmcm9tIGlmKCRtaW51cywgMiwgMSkgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgICAgIEBpZiBub3QoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgICAgICAgQHJldHVybiB0by1sZW5ndGgoXG4gICAgICAgICAgICAgICAgaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksXG4gICAgICAgICAgICAgICAgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgICAgICAgJGRpZ2l0czogMTtcbiAgICAgICAgfSBAZWxzZSBpZiAoJGRpZ2l0cyA9PSAwKSB7XG4gICAgICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG4gICAgICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcmljZS1ib3gvdmFyaWFibGVzLnNjc3MnO1xuQGltcG9ydCAnZXRjL3ZpZXcuc2Nzcyc7XG5AaW1wb3J0ICd1dGlscy9kZWVwLWdldC9kZWVwLWdldC5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL2FzcGVjdC1yYXRpbyc7XG5AaW1wb3J0ICd1dGlscy9zdHJpbmctdG8tbnVtYmVyJztcbkBpbXBvcnQgJ3V0aWxzL3Jlc2V0LWxpc3Qtc3R5bGUnO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcblxuLy8gR2VuZXJhbFxuJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyOiAycmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWJhY2tncm91bmQ6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2hvdmVyLWFuaW1hdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfaG92ZXItYW5pbWF0aW9uLWJyZWFrcG9pbnQ6ICc+PWxhcHRvcCcgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfaG92ZXItYm94LXNoYWRvdzogJGJveC1zaGFkb3dfYmFzZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9wYWRkaW5nOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYWxpZ25tZW50OiBsZWZ0ICFkZWZhdWx0OyAvLyBsZWZ0IHwgY2VudGVyIHwgcmlnaHRcbiRwcm9kdWN0LXRpbGUtbGlzdF9ob3Zlci1lZmZlY3RzOiBmYWxzZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9ob3Zlci1lZmZlY3RzLWJyZWFrcG9pbnQ6ICc+PWxhcHRvcCcgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfaG92ZXItYm94LXNoYWRvdzogJGJveC1zaGFkb3dfYmFzZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9wYWRkaW5nOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXIgMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9hbGlnbm1lbnQ6IGxlZnQgIWRlZmF1bHQ7IC8vIGxlZnQgfCBjZW50ZXIgfCByaWdodFxuJHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4tYnJlYWtwb2ludDogJ3RhYmxldCcgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi13aGVuLXNpZGViYXItYnJlYWtwb2ludDogJ2xhcHRvcCcgIWRlZmF1bHQ7XG5cbi8vIFByb2R1Y3QgbmFtZVxuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLW1heC1saW5lcy1kaXNwbGF5OiAyICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluZS1oZWlnaHQ6IDIuNXJlbSAhZGVmYXVsdDsgLy8gTVVTVCBCRSBhIG51bWJlciB2YWx1ZSB3aXRoIHVuaXQsIGNhbm5vdCBiZSAnaW5oZXJpdCdcbiRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3I6ICRjb2xvcl9taW5lc2hhZnQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLWNvbG9yLXZpc2l0ZWQ6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLWNvbG9yLWhvdmVyOiAkbGluay1jb2xvcl9iYXNlLWhvdmVyICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluay10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfcHJvZHVjdC1uYW1lLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9wcm9kdWN0LW5hbWUtYWxpZ25tZW50OiAkcHJvZHVjdC10aWxlLWdyaWRfYWxpZ25tZW50ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X3Byb2R1Y3QtbmFtZS1tYXJnaW46IDAgMCAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgL1xuICAgIDJ9ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X3Byb2R1Y3QtbmFtZS1hbGlnbm1lbnQ6ICRwcm9kdWN0LXRpbGUtbGlzdF9hbGlnbm1lbnQgIWRlZmF1bHQ7XG5cbi8vIEJhZGdlc1xuJHByb2R1Y3QtdGlsZV9iYWRnZXMtei1pbmRleDogMiAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMtZGlyZWN0aW9uOiAndmVydGljYWwnICFkZWZhdWx0OyAvLyB2ZXJ0aWNhbCBvciBob3Jpem9udGFsXG4kcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLXktYXNpcy1wb3NpdGlvbi1wcm9wOiB0b3AgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLXgtYXNpcy1wb3NpdGlvbi1wcm9wOiByaWdodCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMteS1hc2lzLXBvc2l0aW9uLXZhbHVlOiAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2JhZGdlcy14LWFzaXMtcG9zaXRpb24tdmFsdWU6IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLWl0ZW0tbWFyZ2luOiAwIDAgI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC9cbiAgICA0fSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9iYWRnZXMtZGlyZWN0aW9uOiAnaG9yaXpvbnRhbCcgIWRlZmF1bHQ7IC8vIHZlcnRpY2FsIG9yIGhvcml6b250YWxcbiRwcm9kdWN0LXRpbGUtbGlzdF9iYWRnZXMteC1hc2lzLXBvc2l0aW9uLXByb3A6IHJpZ2h0ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2JhZGdlcy1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYmFkZ2VzLWl0ZW0tbWFyZ2luOiAgMCAwIDAuM3JlbSAwICFkZWZhdWx0O1xuXG4vLyBTd2F0Y2hlc1xuJHByb2R1Y3QtdGlsZS1ncmlkX3N3YXRjaGVzLWNvbnRhaW5lci1taW4taGVpZ2h0OiAyLjZyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfc3dhdGNoZXMtbWFyZ2luOiAxLjVyZW0gMCAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgL1xuICAgIDJ9ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX3N3YXRjaGVzLWFsaWdubWVudDogJHByb2R1Y3QtdGlsZS1ncmlkX2FsaWdubWVudCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9zd2F0Y2hlcy1tYXJnaW46IDAgMCAwLjVyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3Rfc3dhdGNoZXMtYWxpZ25tZW50OiAkcHJvZHVjdC10aWxlLWxpc3RfYWxpZ25tZW50ICFkZWZhdWx0O1xuXG4vLyBCcmFuZFxuJHByb2R1Y3QtdGlsZV9icmFuZC1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfYnJhbmQtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfYnJhbmQtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2JyYW5kLWFsaWdubWVudDogY2VudGVyICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2JyYW5kLWFsaWdubWVudDogbGVmdCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9icmFuZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYnJhbmQtb3JkZXI6IC0yICFkZWZhdWx0O1xuXG4vLyBBZGRvbnNcbiRwcm9kdWN0LXRpbGVfYWRkb25zLWJhY2tncm91bmQ6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9hZGRvbnMtYm9yZGVyLXJhZGl1czogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2FkZG9ucy16aW5kZXgtaG92ZXI6IDUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX2FkZG9ucy1ob3Jpem9udGFsLXBhZGRpbmc6ICRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgL1xuICAgIDIgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYWRkb25zLXNob3ctZm9yLXN0YXRpYy10aWxlOiBmYWxzZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtZ3JpZF9hZGRvbnMtaGVpZ2h0LW9uLWhvdmVyOiBjYWxjKDEzMCUgKyAxMHJlbSlcbiAgICAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXIgJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2FkZG9ucy13aWR0aDogMjVyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYWRkb25zLWJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yX2JvcmRlci0yMDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYWRkb25zLW9uZS1jb2x1bW4tbWFyZ2luOiAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgL1xuICAgIDJ9IDAgMCAhZGVmYXVsdDtcblxuLy8gQWRkaXRpb25hbCBzZWN0aW9uXG4kcHJvZHVjdC10aWxlLWxpc3RfYWRkaXRpb25hbC1tYXJnaW46IGF1dG8gMCAwIDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYWRkaXRpb25hbC1hbGlnbm1lbnQ6ICRwcm9kdWN0LXRpbGUtbGlzdF9hbGlnbm1lbnQgIWRlZmF1bHQ7XG5cbi8vIFJldmlld1xuJHByb2R1Y3QtdGlsZS1ncmlkX3Jldmlldy1tYXJnaW46ICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvIDJ9IDBcbiAgICAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X3Jldmlldy1tYXJnaW46IDAgMCAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgL1xuICAgIDJ9ICFkZWZhdWx0O1xuXG4vLyBBZGR0b1xuJHByb2R1ZGN0LXRpbGVfYWRkdG8tZm9udC1zaXplOiAxLjNyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWdyaWRfYWRkdG8tbWFyZ2luOiAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgLyAyfSAwIDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfYWRkdG8tbWFyZ2luOiAjeyRwcm9kdWN0LXRpbGVfZ2VuZXJhbC1lbGVtZW50cy1ndXR0ZXIgLyAyfSAwIDAgIWRlZmF1bHQ7XG5cbi8vIFF0eSBzd2ljdGhlclxuJHByb2R1ZGN0LXRpbGVfcXR5LXN3aXRjaGVyLXdpZHRoOiAxMXJlbSAhZGVmYXVsdDtcbiRwcm9kdWRjdC10aWxlX3F0eS1zd2l0Y2hlci1zcGFjZS1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vIEFkZHRvY2FydFxuJHByb2R1Y3QtdGlsZS1ncmlkX2FkZHRvY2FydC1tYXJnaW46ICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvIDJ9XG4gICAgMCAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2FkZHRvY2FydC1tYXJnaW46ICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvIDR9XG4gICAgMCAwICFkZWZhdWx0O1xuXG4vLyBTdG9ja1xuJHByb2R1Y3QtdGlsZV9zdG9jay1mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfc3RvY2staW4tY29sb3I6ICRjb2xvcl9hcHBsZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfc3RvY2stb3V0LW9mLWNvbG9yOiAkY29sb3JfY3JpbXNvbiAhZGVmYXVsdDtcblxuJHByb2R1Y3QtdGlsZS1ncmlkX3N0b2NrLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF9zdG9jay1tYXJnaW46IDAgI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC8gMn0gMFxuICAgIDAgIWRlZmF1bHQ7XG5cbi8vIERhaWx5IERlYWxcbiRwcm9kdWN0LXRpbGUtZ3JpZF9kYWlseWRlYWwtbWFyZ2luOiAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1saXN0X2RhaWx5ZGVhbC1tYXJnaW46ICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLWVsZW1lbnRzLWd1dHRlciAvIDJ9XG4gICAgMCAwIDAgIWRlZmF1bHQ7XG5cbi8vIFdpc2hsaXN0XG4kcHJvZHVjdC10aWxlX3dpc2hsaXN0LWNvbW1lbnQtdmlzaWJsZTogZmFsc2UgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3dpc2hsaXN0LWNvbW1lbnQtdGV4dGFyZWEtaGVpZ2h0OiA1cmVtICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV93aXNobGlzdC1hY3Rpb25zLW1hcmdpbjogI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC9cbiAgICAyfSAwIDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3dpc2hsaXN0LWFjdGlvbnMtZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtYWN0aW9ucy1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWRlZmF1bHQ7XG5cbiRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtcmVtb3ZlLWljb24tYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3dpc2hsaXN0LXJlbW92ZS1pY29uLWZpbGw6ICRjb2xvcl9ib3JkZXItNzAwICFkZWZhdWx0O1xuXG4vLyBEZXNjcmlwdGlvblxuJHByb2R1Y3QtdGlsZV9kZXNjcmlwdGlvbi1mb250LXNpemU6IDEuM3JlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuJHByb2R1Y3QtdGlsZV9kZXNjcmlwdGlvbi1jb2xvcjogJGNvbG9yX2RvdmUtZ3JheSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tbWFyZ2luOiAwIDAgI3skcHJvZHVjdC10aWxlX2dlbmVyYWwtZWxlbWVudHMtZ3V0dGVyIC9cbiAgICAyfSAhZGVmYXVsdDtcblxuJHByb2R1Y3QtdGlsZS1saXN0X2Rlc2NyaXB0aW9uLXRleHQtYWxpZ246ICRwcm9kdWN0LXRpbGUtbGlzdF9hbGlnbm1lbnQgIWRlZmF1bHQ7XG5cbi8vIFRodW1ibmFpbFxuJHByb2R1Y3QtdGlsZS1ncmlkX2xpbWl0LWNvbnRhaW5lci10by1pbWFnZS1zaXplOiBmYWxzZSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF90aHVtYm5haWwtYm94LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGUtbGlzdF90aHVtYm5haWwtYm94LXdpZHRoLW1vYmlsZTogI3skcHJvZHVjdC10aWxlLWxpc3RfdGh1bWJuYWlsLWJveC13aWR0aCAvXG4gICAgMn0gIWRlZmF1bHQ7XG5cbi8vIFByaWNlc1xuJHByb2R1Y3QtdGlsZV9ub3JtYWwtcHJpY2UtY29sb3I6ICRwcmljZS1ib3hfbm9ybWFsLXByaWNlLWNvbG9yICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9ub3JtYWwtcHJpY2UtZm9udC1zaXplOiAkcHJpY2UtYm94X25vcm1hbC1wcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX25vcm1hbC1wcmljZS1mb250LXdlaWdodDogJHByaWNlLWJveF9ub3JtYWwtcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3NwZWNpYWwtcHJpY2UtY29sb3I6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfc3BlY2lhbC1wcmljZS1mb250LXNpemU6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlX3NwZWNpYWwtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfc3BlY2lhbC1wcmljZS1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfb2xkLXByaWNlLWNvbG9yOiAkcHJpY2UtYm94X29sZC1wcmljZS1jb2xvciAhZGVmYXVsdDtcbiRwcm9kdWN0LXRpbGVfb2xkLXByaWNlLWZvbnQtc2l6ZTogJHByaWNlLWJveF9vbGQtcHJpY2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9vbGQtcHJpY2UtZm9udC13ZWlnaHQ6ICRwcmljZS1ib3hfb2xkLXByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZV9vbGQtcHJpY2UtdGV4dC1kZWNvcmF0aW9uOiAkcHJpY2UtYm94X29sZC1wcmljZS10ZXh0LWRlY29yYXRpb24gIWRlZmF1bHQ7XG5cbiRwcm9kdWN0LXRpbGUtZ3JpZF9wcmljZXMtZGlyZWN0aW9uOiAnaG9yaXpvbnRhbCcgIWRlZmF1bHQ7IC8vIHZlcnRpY2FsIG9yIGhvcml6b250YWxcbiRwcm9kdWN0LXRpbGUtZ3JpZF9wcmljZXMtbWFyZ2luOiAwICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX2Rpc3BsYXktb2xkLXByaWNlLWZpcnN0OiB0cnVlICFkZWZhdWx0O1xuJHByb2R1Y3QtdGlsZS1ncmlkX3ByaWNlcy1hbGlnbm1lbnQ6ICRwcm9kdWN0LXRpbGUtZ3JpZF9hbGlnbm1lbnQgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfcHJpY2VzLWRpcmVjdGlvbjogJ3ZlcnRpY2FsJyAhZGVmYXVsdDsgLy8gdmVydGljYWwgb3IgaG9yaXpvbnRhbFxuJHByb2R1Y3QtdGlsZS1saXN0X3ByaWNlcy1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kcHJvZHVjdC10aWxlLWxpc3RfZGlzcGxheS1vbGQtcHJpY2UtZmlyc3Q6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIEhlbHBlcnMgKGRvbid0IGVkaXQpXG4kcHJvZHVjdC10aWxlLWxpc3RfZnVsbC1jb2x1bW4tYnJlYWtwb2ludC1taW46ICc+PSN7JHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4tYnJlYWtwb2ludH0nO1xuJHByb2R1Y3QtdGlsZS1saXN0X2Z1bGwtY29sdW1uLWJyZWFrcG9pbnQtbWF4OiAnPCN7JHByb2R1Y3QtdGlsZS1saXN0X29uZS1jb2x1bW4tYnJlYWtwb2ludH0nO1xuJHByb2R1Y3QtdGlsZS1saXN0X3NpZGViYXItY29sdW1uLWJyZWFrcG9pbnQtbWluOiAnPj0jeyRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLXdoZW4tc2lkZWJhci1icmVha3BvaW50fSc7XG4kcHJvZHVjdC10aWxlLWxpc3Rfc2lkZWJhci1jb2x1bW4tYnJlYWtwb2ludC1tYXg6ICc8I3skcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi13aGVuLXNpZGViYXItYnJlYWtwb2ludH0nO1xuXG4kcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZTogZGVlcC1nZXQoXG4gICAgJHZpZXcteG1sLFxuICAgIG1lZGlhLFxuICAgIGltYWdlcyxcbiAgICBpbWFnZSxcbiAgICBjYXRlZ29yeV9wYWdlX2dyaWRcbik7XG4kcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZS13aWR0aDogdG8tbnVtYmVyKFxuICAgICN7bWFwLWdldCgkcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZSwgd2lkdGgpfVxuKTtcbiRwcm9kdWN0LXRpbGUtbWFnZW50by1jYXRhbG9nLWltYWdlLWhlaWdodDogdG8tbnVtYmVyKFxuICAgICN7bWFwLWdldCgkcHJvZHVjdC10aWxlLW1hZ2VudG8tY2F0YWxvZy1pbWFnZSwgaGVpZ2h0KX1cbik7XG5cbi4jeyRuc31wcm9kdWN0LXRpbGUge1xuICAgICRyb290OiAmO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtYmFja2dyb3VuZDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRwcm9kdWN0LXRpbGUtZ3JpZF9ob3Zlci1hbmltYXRpb24tYnJlYWtwb2ludCkge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHotaW5kZXg6ICRwcm9kdWN0LXRpbGVfYWRkb25zLXppbmRleC1ob3ZlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHotaW5kZXggMC4wMDAxczsgLy8gRm9yY2Ugei1pbmRleCByZS1yZW5kZXJpbmcgb24gU2FmYXJpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jbGlja2FibGUge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWhpZGRlbiB7XG4gICAgICAgICN7JHJvb3R9X19tYWluLFxuICAgICAgICAjeyRyb290fV9fYWRkb25zIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbGlzdCB7XG4gICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1saXN0X2hvdmVyLWVmZmVjdHMpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRwcm9kdWN0LXRpbGUtbGlzdF9ob3Zlci1lZmZlY3RzLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgI3stJHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyfTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoXG4gICAgICAgICAgICAgICAgICAgICAgICAxMDAlICsgMiAqICN7JHByb2R1Y3QtdGlsZV9nZW5lcmFsLXRpbGUtZ3V0dGVyfVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkcHJvZHVjdC10aWxlLWxpc3RfaG92ZXItYm94LXNoYWRvdztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1ncmlkIHtcbiAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWdyaWRfYWRkb25zLXNob3ctZm9yLXN0YXRpYy10aWxlID09IGZhbHNlKSB7XG4gICAgICAgICAgICAmI3skcm9vdH0tLXN0YXRpYyB7XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX2FkZG9ucyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBwYWRkaW5nOiAkcHJvZHVjdC10aWxlLWdyaWRfcGFkZGluZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aHVtYm5haWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgICZfX3RodW1ibmFpbC1saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZmlndXJlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTVweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyAvLyBJRTExIC0gcHJldmVudHMgZnJvbSBleGNlc3NpdmUgdHJhbnNpdGlvbiBlZmZlY3RcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyAvLyBJRTExIGRvIG5vdCByZXNwZWN0IGNlbnRlciB2YWx1ZSB1bnRpbCBwYXJlbnQgaGFzIGZsZXgtZGlyZWN0aW9uIHNldCB0byBjb2x1bW4uXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9saW1pdC1jb250YWluZXItdG8taW1hZ2Utc2l6ZSkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogKCRwcm9kdWN0LXRpbGUtbWFnZW50by1jYXRhbG9nLWltYWdlLXdpZHRoIC8gMTApICpcbiAgICAgICAgICAgICAgICAgICAgMXJlbTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAoJHByb2R1Y3QtdGlsZS1tYWdlbnRvLWNhdGFsb2ctaW1hZ2UtaGVpZ2h0IC8gMTApICpcbiAgICAgICAgICAgICAgICAgICAgMXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQXNwZWN0IHJhdGlvIGZvciB0aWxlIHRodW1ibmFpbCBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIGltYWdlICdjYXRlZ29yeV9wYWdlX2dyaWQnIHNpemVzIGluIGV0Yy92aWV3LnhtbFxuICAgICAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKFxuICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbWFnZW50by1jYXRhbG9nLWltYWdlLXdpZHRoLFxuICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbWFnZW50by1jYXRhbG9nLWltYWdlLWhlaWdodCxcbiAgICAgICAgICAgICAgICAjeyRuc31wcm9kdWN0LXRpbGVfX3RodW1ibmFpbC1saW5rXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWRnZXMge1xuICAgICAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICYtLWdyaWQge1xuICAgICAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxpc3Qge1xuICAgICAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogJHByb2R1Y3QtdGlsZV9iYWRnZXMtei1pbmRleDtcblxuICAgICAgICAgICAgI3skcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLXktYXNpcy1wb3NpdGlvbi1wcm9wfTogJHByb2R1Y3QtdGlsZS1ncmlkX2JhZGdlcy15LWFzaXMtcG9zaXRpb24tdmFsdWU7XG4gICAgICAgICAgICAjeyRwcm9kdWN0LXRpbGUtZ3JpZF9iYWRnZXMteC1hc2lzLXBvc2l0aW9uLXByb3B9OiAkcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLXgtYXNpcy1wb3NpdGlvbi12YWx1ZTtcblxuICAgICAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLWRpcmVjdGlvbiA9PSAndmVydGljYWwnKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfYmFkZ2VzLW1hcmdpbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlIHtcbiAgICAgICAgQGluY2x1ZGUgYmFkZ2UoKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnRhYmxldCcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRpc2NvdW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJhZGdlX3R5cGUoJ2Rpc2NvdW50Jyk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19iYWRnZS10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCdkaXNjb3VudCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tc2FsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCdzYWxlJyk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19iYWRnZS10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCdzYWxlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1uZXcge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2VfdHlwZSgnbmV3Jyk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19iYWRnZS10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCduZXcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWZyZWUtc2hpcHBpbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2VfdHlwZSgnZnJlZS1zaGlwcGluZycpO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYmFkZ2UtdGV4dCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbignZnJlZS1zaGlwcGluZycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tcG9wdWxhciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV90eXBlKCdwb3B1bGFyJyk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19iYWRnZS10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCdwb3B1bGFyJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1kYWlseWRlYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgYmFkZ2VfdHlwZSgnZGFpbHlkZWFsJyk7XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19iYWRnZS10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYWRnZV9zcGFuKCdkYWlseWRlYWwnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JhZGdlLWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWdyaWRfYmFkZ2VzLWl0ZW0tbWFyZ2luO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IC8vIFNldCB3aWR0aCBleHBsaWNpdGx5IHRvIGF2b2lkIEVkZ2UgYnVnc1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtbGlzdF9iYWRnZXMtaXRlbS1tYXJnaW47XG4gICAgICAgIH1cblxuICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYWRnZS10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgYmFkZ2Vfc3BhbigpO1xuICAgIH1cblxuICAgICZfX2dhbGxlcnkge1xuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXJfY29sb3I7XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZG9ucyB7XG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkb25zLXRvcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX2FkZG9ucy1zaWRlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX2FkZG9ucy1yaWdodCB7XG4gICAgICAgIC8vIExpbWl0IHdpZHRoIHRvIHByZXZlbnQgb3ZlcmxhcHBpbmcgcHJvYmxlbXMgaW4gSUVcbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICB9XG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkb25zLWJvdHRvbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX2FkZG9ucy1sZWZ0IHtcbiAgICAgICAgLy8gTGltaXQgd2lkdGggdG8gcHJldmVudCBvdmVybGFwcGluZyBwcm9ibGVtcyBpbiBJRVxuICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgIH1cblxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcHJvZHVjdC10aWxlX2FkZG9ucy1ob3Jpem9udGFsLXBhZGRpbmc7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19yZXZpZXcge1xuICAgICAgICAmLS1ncmlkIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1ncmlkX3Jldmlldy1tYXJnaW47XG4gICAgICAgIH1cblxuICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJixcbiAgICAgICAgI3skcm9vdH0tLWxpc3QgJntcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdG9jayB7XG4gICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgY29sb3I6ICRjb2xvcl93aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG5cbiAgICAgICAgJi0taW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX3N1Y2Nlc3M7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy90aWNrLXdoaXRlLnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLW91dCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfZGFyay1yZWQ7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvb3V0LnN2Z1wiKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWdyaWRfc3RvY2stbWFyZ2luO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmX19kYWlseWRlYWwge1xuICAgICAgICAmLS1ncmlkIHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1ncmlkX2RhaWx5ZGVhbC1tYXJnaW47XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X2RhaWx5ZGVhbC1tYXJnaW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19xdHkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkcHJvZHVkY3QtdGlsZV9xdHktc3dpdGNoZXItc3BhY2UtYm90dG9tO1xuICAgICAgICB3aWR0aDogJHByb2R1ZGN0LXRpbGVfcXR5LXN3aXRjaGVyLXdpZHRoO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmX19tYWluIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGV0YWlscyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgICZfX3N3YXRjaGVzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1ncmlkX3N3YXRjaGVzLW1hcmdpbjtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRwcm9kdWN0LXRpbGUtZ3JpZF9zd2F0Y2hlcy1jb250YWluZXItbWluLWhlaWdodDtcblxuICAgICAgICAgICAgJixcbiAgICAgICAgICAgIC5zd2F0Y2gtYXR0cmlidXRlLW9wdGlvbnMge1xuICAgICAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX3N3YXRjaGVzLWFsaWdubWVudCA9PSAnbGVmdCcpIHtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9zd2F0Y2hlcy1hbGlnbm1lbnQgPT0gJ3JpZ2h0Jykge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1saXN0IHtcbiAgICAgICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSUUgbmVlZHMgdG8gaGF2ZSB3aWR0aCBzZXQgZXhwbGljaXRseVxuICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnJhbmQge1xuICAgICAgICBoZWlnaHQ6ICRwcm9kdWN0LXRpbGVfYnJhbmQtaGVpZ2h0O1xuICAgICAgICBtYXJnaW4tdG9wOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXI7XG4gICAgICAgIHRleHQtYWxpZ246ICRwcm9kdWN0LXRpbGUtZ3JpZF9icmFuZC1hbGlnbm1lbnQ7XG5cbiAgICAgICAgJi0tZW1wdHkge1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnJhbmQtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHByb2R1Y3QtdGlsZV9icmFuZC1mb250LXNpemU7XG4gICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX2JyYW5kLWNvbG9yO1xuICAgIH1cblxuICAgICZfX25hbWUge1xuICAgICAgICBsaW5lLWhlaWdodDogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluZS1oZWlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1mb250LXdlaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1mb250LXNpemU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1tYXgtbGluZXMtZGlzcGxheSA9PSAxKSB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1ncmlkX3Byb2R1Y3QtbmFtZS1tYXJnaW47XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkcHJvZHVjdC10aWxlLWdyaWRfcHJvZHVjdC1uYW1lLWFsaWdubWVudDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICN7JHJvb3R9X19kZXRhaWxzID4gJiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkcHJvZHVjdC10aWxlX2dlbmVyYWwtdGlsZS1ndXR0ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAjeyRyb290fV9fZGV0YWlscyA+ICN7JHJvb3R9X19icmFuZCArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkICN7JHJvb3R9X19kZXRhaWxzID4gI3skcm9vdH1fX2JyYW5kLS1lbXB0eSArICYge1xuICAgICAgICAgICAgaGVpZ2h0OiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1tYXgtbGluZXMtZGlzcGxheSAqXG4gICAgICAgICAgICAgICAgJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbGluZS1oZWlnaHQgKyAwLjIgK1xuICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGVfYnJhbmQtaGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbmFtZS1saW5rIHtcbiAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3I7XG5cbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgICRwcm9kdWN0LXRpbGVfcHJvZHVjdC1uYW1lLWxpbmstY29sb3IgIT1cbiAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLWNvbG9yLWhvdmVyXG4gICAgICAgICkge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgbGluZWFyO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogZGlzYWJsZWQgYmVjYXVzZSBhdXRvcHJlZml4ZXIgY2FuJ3QgYnVpbGQgdGhpcyAqL1xuICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1uby12ZW5kb3ItcHJlZml4ICovXG4gICAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXggKi9cbiAgICAgICAgQGlmICgkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1tYXgtbGluZXMtZGlzcGxheSA+IDEpIHtcbiAgICAgICAgICAgIC8qIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgLyogYXV0b3ByZWZpeGVyOiBpZ25vcmUgbmV4dCAqL1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgIC8qIGF1dG9wcmVmaXhlcjogaWdub3JlIG5leHQgKi9cbiAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogJHByb2R1Y3QtdGlsZV9wcm9kdWN0LW5hbWUtbWF4LWxpbmVzLWRpc3BsYXk7XG4gICAgICAgICAgICAvKiBhdXRvcHJlZml4ZXI6IGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgICBsaW5lLWNsYW1wOiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1tYXgtbGluZXMtZGlzcGxheTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAvKiBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLW5vLXZlbmRvci1wcmVmaXggKi9cbiAgICAgICAgLyogc3R5bGVsaW50LWVuYWJsZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4ICovXG5cbiAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLWNvbG9yLXZpc2l0ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkcHJvZHVjdC10aWxlX3Byb2R1Y3QtbmFtZS1saW5rLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXRpbGVfZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xuICAgICAgICBjb2xvcjogJHByb2R1Y3QtdGlsZV9kZXNjcmlwdGlvbi1jb2xvcjtcbiAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlX2Rlc2NyaXB0aW9uLW1hcmdpbjtcblxuICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWRkaXRpb25hbCB7XG4gICAgICAgICYtLWxpc3Qge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfYWRkaXRpb25hbC1tYXJnaW47XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRwcm9kdWN0LXRpbGUtbGlzdF9mdWxsLWNvbHVtbi1icmVha3BvaW50LW1pbikge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChcbiAgICAgICAgICAgICAgICAkcHJvZHVjdC10aWxlLWxpc3Rfb25lLWNvbHVtbi1icmVha3BvaW50ICE9XG4gICAgICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9vbmUtY29sdW1uLXdoZW4tc2lkZWJhci1icmVha3BvaW50XG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAuY3MtcHJvZHVjdHMtbGlzdC0td2l0aC1zaWRlYmFyICYge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAgICAgICAgICRwcm9kdWN0LXRpbGUtbGlzdF9zaWRlYmFyLWNvbHVtbi1icmVha3BvaW50LW1pblxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hZGR0byB7XG4gICAgICAgIC8vIElFIG5lZWRzIHRvIGhhdmUgd2lkdGggc2V0IGV4cGxpY2l0bHlcbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWdyaWQge1xuICAgICAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1saXN0IHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRyb290fS0tZ3JpZCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXRpbGUtZ3JpZF9hZGR0by1tYXJnaW47XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgIG1hcmdpbjogJHByb2R1Y3QtdGlsZS1saXN0X2FkZHRvLW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1saW5rcy1ibG9jay1hZGR0b19fbGluayB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRwcm9kdWRjdC10aWxlX2FkZHRvLWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1kYXNoYm9hcmRfX2JvdHRvbS13aXNobGlzdCAmLFxuICAgICAgICAuY3MtZGFzaGJvYXJkX193aXNobGlzdC1wcm9kdWN0cy1ncmlkICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJRSBuZWVkcyB0byBoYXZlIHdpZHRoIHNldCBleHBsaWNpdGx5XG4gICAgICAgIC5jcy1saW5rcy1ibG9jay1hZGR0byB7XG4gICAgICAgICAgICAmX19pdGVtLS13aXNobGlzdCB7XG4gICAgICAgICAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tZ3JpZCB7XG4gICAgICAgICAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZHRvY2FydCB7XG4gICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWdyaWRfYWRkdG9jYXJ0LW1hcmdpbjtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWxpc3RfYWRkdG9jYXJ0LW1hcmdpbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FkZHRvY2FydC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX193aXNobGlzdC1yZW1vdmUtaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1iYWNrZ3JvdW5kO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogJHByb2R1Y3QtdGlsZS1ncmlkX3BhZGRpbmc7XG5cbiAgICAgICAgQG1lZGlhIChwb2ludGVyOiBmaW5lKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fd2lzaGxpc3QtcmVtb3ZlLWljb24taW1hZ2Uge1xuICAgICAgICB3aWR0aDogJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1zaXplO1xuICAgICAgICBoZWlnaHQ6ICRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtcmVtb3ZlLWljb24tc2l6ZTtcbiAgICAgICAgZmlsbDogJHByb2R1Y3QtdGlsZV93aXNobGlzdC1yZW1vdmUtaWNvbi1maWxsO1xuICAgIH1cblxuICAgICZfX3dpc2hsaXN0LWNvbW1lbnQge1xuICAgICAgICBAaWYgbm90KCRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtY29tbWVudC12aXNpYmxlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1saXN0ICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX193aXNobGlzdC1hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlX3dpc2hsaXN0LWFjdGlvbnMtbWFyZ2luO1xuICAgICAgICBkaXNwbGF5OiAkcHJvZHVjdC10aWxlX3dpc2hsaXN0LWFjdGlvbnMtZGlzcGxheTtcblxuICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGVfd2lzaGxpc3QtYWN0aW9ucy1kaXNwbGF5ID09IGZsZXgpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHByb2R1Y3QtdGlsZV93aXNobGlzdC1hY3Rpb25zLWp1c3RpZnktY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgJl9fcHJpY2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1ncmlkIHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1ncmlkICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGlzdCB7XG4gICAgICAgICAgICAjeyRyb290fS0tbGlzdCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLWJveCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgM3B4IDAgMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRwcm9kdWN0LXRpbGVfbm9ybWFsLXByaWNlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtdGlsZV9ub3JtYWwtcHJpY2UtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXRpbGVfbm9ybWFsLXByaWNlLWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWFwLW9sZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRwcm9kdWN0LXRpbGVfb2xkLXByaWNlLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LXRpbGVfb2xkLXByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtdGlsZV9vbGQtcHJpY2UtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAud2l0aC1zcGVjaWFsLXByaWNlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNwZWNpYWwtcHJpY2UsXG4gICAgICAgICAgICAud2l0aC1zcGVjaWFsLXByaWNlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAucHJpY2UsXG4gICAgICAgICAgICAgICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkcHJvZHVjdC10aWxlX3NwZWNpYWwtcHJpY2UtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtdGlsZV9zcGVjaWFsLXByaWNlLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtdGlsZV9zcGVjaWFsLXByaWNlLWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5taW5pbWFsLXByaWNlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWdyaWQgJiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC10aWxlLWdyaWRfcHJpY2VzLW1hcmdpbjtcblxuICAgICAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX3ByaWNlcy1kaXJlY3Rpb24gPT0gJ3ZlcnRpY2FsJykge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAgICAgICAgIC5wcmljZS1mcm9tIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5taW5pbWFsLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9wcmljZXMtYWxpZ25tZW50ID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9wcmljZXMtYWxpZ25tZW50ID09ICdyaWdodCcpXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgICAgICAgICAgIC5taW5pbWFsLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtdGlsZS1ncmlkX2Rpc3BsYXktb2xkLXByaWNlLWZpcnN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRwcmljZS1ib3hfc3BhY2UtYmV0d2Vlbi1wcmljZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5taW5pbWFsLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IC5wcmljZS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkcHJpY2UtYm94X3NwYWNlLWJldHdlZW4tcHJpY2VzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLnNwZWNpYWwtcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHByaWNlLWJveF9zcGFjZS1iZXR3ZWVuLXByaWNlcztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXRpbGUtZ3JpZF9wcmljZXMtYWxpZ25tZW50ID09ICdsZWZ0Jykge1xuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICgkcHJvZHVjdC10aWxlLWdyaWRfcHJpY2VzLWFsaWdubWVudCA9PSAncmlnaHQnKVxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZGFpbHlkZWFsLWNvdW50ZG93biAucHJpY2UtYm94IHtcbiAgICAgICAgICAgICY6bm90KC5wcmljZS1maW5hbF9wcmljZV93aXRob3V0X2RhaWx5X2RlYWwpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnByaWNlLWJveC0tdmlzaWJsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNzLWNvbnRhaW5lci0tcHJvZHVjdHMtY2Fyb3VzZWwge1xuICAgIC5jcy1wcm9kdWN0LXRpbGVfX2NvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXBob25lTGcnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjVyZW0gM3JlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY3MtcHJvZHVjdHMtY2Fyb3VzZWxfX25hdi0tcHJldntcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9cGhvbmVMZycpIHtcbiAgICAgICAgICAgIGxlZnQ6IC0xNHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNzLXByb2R1Y3RzLWNhcm91c2VsX19uYXYtLW5leHQge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1waG9uZUxnJykge1xuICAgICAgICAgICAgcmlnaHQ6IC0xNHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4uY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsLS1yZXF1ZXN0IC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19pY29uLS1yZXF1ZXN0IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbC0tcmVxdWVzdCAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fbWVzc2FnZS0tcmVxdWVzdCB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbC0tcmVxdWVzdCAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYWN0aW9uLS1yZXF1ZXN0IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbC0tYnJvd3NlciAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9faWNvbi0tYnJvd3NlciB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWwtLWJyb3dzZXIgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX21lc3NhZ2UtLWJyb3dzZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWwtLWJyb3dzZXIgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2FjdGlvbi0tYnJvd3NlciB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWwtLWVuYWJsZWQgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2ljb24tLWVuYWJsZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsLS1lbmFibGVkIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19tZXNzYWdlLS1lbmFibGVkIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IDJyZW0gMS41cmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYm94LXNoYWRvdzogMnB4IDJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAtMnB4IC0ycHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBtYXJnaW46IDEuNXJlbSAwOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19pY29uLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMCAxLjVyZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMzkuOTllbSkge1xuICAgICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2ljb24td3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9faWNvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMy41cmVtO1xuICAgIGhlaWdodDogMy41cmVtOyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2ljb24tLWFuaW1hdGUge1xuICAgICAgYW5pbWF0aW9uOiByaW5naW5nIDZzIGluZmluaXRlOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19tZXNzYWdlLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMCAxLjVyZW07XG4gICAgZmxleDogMTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fbWVzc2FnZS13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTsgfSB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fbWVzc2FnZS0tcmVxdWVzdCAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fbWVzc2FnZS10aXRsZSB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19tZXNzYWdlLS1icm93c2VyIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19tZXNzYWdlLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX21lc3NhZ2UtLWVuYWJsZWQgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX21lc3NhZ2UtdGl0bGUge1xuICAgICAgY29sb3I6ICNBOUM1NDY7IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fbWVzc2FnZS10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX21lc3NhZ2UtZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICMzRTNFM0U7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2FjdGlvbnMge1xuICAgIG1hcmdpbjogMCAxLjVyZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2FjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07IH0gfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2FjdGlvbi0tYnJvd3NlciB7XG4gICAgICB3aWR0aDogMzByZW07IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19hY3Rpb24tLWJyb3dzZXIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC13aWR0aDogMzByZW07IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMzkuOTllbSkge1xuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbjogMCAwIDAuNXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW46IDAgMS41cmVtIDA7IH0gfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1hY2NlcHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgICBwYWRkaW5nOiA4cHggMjVweDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWFjY2VwdC5tZWRpdW0ge1xuICAgICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1hY2NlcHQubGFyZ2Uge1xuICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1hY2NlcHQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWFjY2VwdCwgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tYWNjZXB0OnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWFjY2VwdCAqLCAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1hY2NlcHQ6dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1hY2NlcHQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1hY2NlcHQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1hY2NlcHQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3NDQyOyB9XG4gICAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1hY2NlcHQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWFjY2VwdDpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tYWNjZXB0OmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tYWNjZXB0W2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tYWNjZXB0IC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tc3BhbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1hY2NlcHQgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi1pY29uIHtcbiAgICAgIG1heC13aWR0aDogMWVtO1xuICAgICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1kZWNsaW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgcGFkZGluZzogOHB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1kZWNsaW5lLm1lZGl1bSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWRlY2xpbmUubGFyZ2Uge1xuICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1kZWNsaW5lOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1kZWNsaW5lLCAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1kZWNsaW5lOnZpc2l0ZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWRlY2xpbmUgKiwgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tZGVjbGluZTp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI0ZGNDYwNDsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWRlY2xpbmU6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1kZWNsaW5lOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tZGVjbGluZTphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzRTNFM0U7IH1cbiAgICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWRlY2xpbmU6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWRlY2xpbmU6Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19idXR0b24tLWRlY2xpbmU6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLS1kZWNsaW5lW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tZGVjbGluZSAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLXNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2J1dHRvbi0tZGVjbGluZSAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fYnV0dG9uLWljb24ge1xuICAgICAgbWF4LXdpZHRoOiAxZW07XG4gICAgICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19wZXJtaXNzaW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3gtc2hhZG93OiAycHggMnB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMSksIC0ycHggLTJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiAjM0UzRTNFO1xuICAgIHBhZGRpbmc6IDFyZW0gMnJlbTsgfVxuICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19wZXJtaXNzaW9uLWljb24ge1xuICAgICAgd2lkdGg6IDEuMnJlbTtcbiAgICAgIGhlaWdodDogMS4ycmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fcGVybWlzc2lvbi1idXR0b24td3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fcGVybWlzc2lvbi1idXR0b24ge1xuICAgICAgcGFkZGluZzogMC4ycmVtIDJyZW07XG4gICAgICBtYXJnaW46IDAgMC4ycmVtO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAxLjFyZW07IH1cbiAgICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19wZXJtaXNzaW9uLWJ1dHRvbi0tYmxvY2sge1xuICAgICAgICBvcGFjaXR5OiAwLjM7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2Nsb3NlIHtcbiAgICBtYXJnaW46IDAgMS41cmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1wd2Etbm90aWZpY2F0aW9uLXBhbmVsX19jbG9zZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAycmVtO1xuICAgICAgICByaWdodDogMS41cmVtOyB9IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fY2xvc2UtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgIGZpbGw6ICMzRTNFM0U7IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9fY2xvc2U6aG92ZXIgLmNzLXB3YS1ub3RpZmljYXRpb24tcGFuZWxfX2Nsb3NlLWljb24ge1xuICAgICAgZmlsbDogIzAwMDsgfVxuXG5Aa2V5ZnJhbWVzIHJpbmdpbmcge1xuICAwJSxcbiAgMTIlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwZGVnKTsgfVxuICAzJSxcbiAgNyUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKSByb3RhdGUoMjdkZWcpOyB9XG4gIDUlLFxuICA5JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpIHJvdGF0ZSgtMjdkZWcpOyB9IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5AaW1wb3J0ICd1dGlscy9nZXQtdmFsdWUtZnJvbS1saXN0LnNjc3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4uc2Nzcyc7XG5cbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2d1dHRlcjogMCAxLjVyZW0gIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9iYWNrZ3JvdW5kOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9ib3JkZXI6IG5vbmUgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYm94LXNoYWRvdzogMnB4IDJweCAzcHggcmdiYSgkY29sb3JfYmxhY2ssIDAuMSksXG4gICAgLTJweCAtMnB4IDNweCByZ2JhKCRjb2xvcl9ibGFjaywgMC4xKSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3BhZGRpbmc6IDJyZW0gMS41cmVtICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfbWFyZ2luOiAxLjVyZW0gMCAhZGVmYXVsdDtcblxuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfaWNvbi1zdGF0dXMtd2lkdGg6IDMuNXJlbSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2ljb24tc3RhdHVzLWhlaWdodDogMy41cmVtICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfaWNvbi1zdGF0dXMtYW5pbWF0aW9uOiB0cnVlICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfaWNvbi1zdGF0dXMtYW5pbWF0aW9uLXJlcGVhdDogNnMgIWRlZmF1bHQ7XG5cbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX21lc3NhZ2UtdGl0bGUtZm9udC1zaXplOiAycmVtICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfbWVzc2FnZS10aXRsZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfbWVzc2FnZS10aXRsZS1yZXF1ZXN0LWNvbG9yOiAkY29sb3JfYmxhY2sgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9tZXNzYWdlLXRpdGxlLWJyb3dzZXItY29sb3I6ICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX21lc3NhZ2UtdGl0bGUtZW5hYmxlZC1jb2xvcjogJGNvbG9yX3N1Y2Nlc3MtNjAwICFkZWZhdWx0O1xuXG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9tZXNzYWdlLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfbWVzc2FnZS1kZXNjcmlwdGlvbi1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfbWVzc2FnZS1kZXNjcmlwdGlvbi1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuXG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9idXR0b24tYWNjZXB0LXR5cGU6ICRidXR0b25fZGVmYXVsdC10eXBlICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYnV0dG9uLWFjY2VwdC1pY29uLXBvczogJ25vLWljb24nICFkZWZhdWx0O1xuXG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9idXR0b24tZGVjbGluZS10eXBlOiAnc2Vjb25kYXJ5JyAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2J1dHRvbi1kZWNsaW5lLWljb24tcG9zOiAnbm8taWNvbicgIWRlZmF1bHQ7XG5cbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24tYm9yZGVyOiBub25lICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1ib3gtc2hhZG93OiAycHggMnB4IDVweFxuICAgICAgICByZ2JhKCRjb2xvcl9ibGFjaywgMC4xKSxcbiAgICAtMnB4IC0ycHggNXB4IHJnYmEoJGNvbG9yX2JsYWNrLCAwLjEpICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24tcGFkZGluZzogMXJlbSAycmVtICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1jb2xvcjogJGNvbG9yX3RleHQtNDAwICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1idXR0b24tZm9udC1zaXplOiAxLjFyZW0gIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLWJ1dHRvbi1wYWRkaW5nOiAwLjJyZW0gMnJlbSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24tYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ibGFjayAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24tYnV0dG9uLWNvbG9yOiAkY29sb3JfYmxhY2sgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLWljb24td2lkdGg6IDEuMnJlbSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24taWNvbi1oZWlnaHQ6IDEuMnJlbSAhZGVmYXVsdDtcblxuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfaWNvbi1jbG9zZS13aWR0aDogMS41cmVtICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfaWNvbi1jbG9zZS1oZWlnaHQ6IDEuNXJlbSAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2ljb24tY2xvc2UtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2ljb24tY2xvc2UtY29sb3ItLWhvdmVyOiAkY29sb3JfYmxhY2sgIWRlZmF1bHQ7XG5cbi4jeyRuc31wd2Etbm90aWZpY2F0aW9uLXBhbmVsIHtcbiAgICAkcm9vdDogJjtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIH1cblxuICAgICYtLXJlcXVlc3Qge1xuICAgICAgICAjeyRyb290fSB7XG4gICAgICAgICAgICAmX19pY29uLS1yZXF1ZXN0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fbWVzc2FnZS0tcmVxdWVzdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fYWN0aW9uLS1yZXF1ZXN0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWJyb3dzZXIge1xuICAgICAgICAjeyRyb290fSB7XG4gICAgICAgICAgICAmX19pY29uLS1icm93c2VyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fbWVzc2FnZS0tYnJvd3NlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fYWN0aW9uLS1icm93c2VyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWVuYWJsZWQge1xuICAgICAgICAjeyRyb290fSB7XG4gICAgICAgICAgICAmX19pY29uLS1lbmFibGVkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fbWVzc2FnZS0tZW5hYmxlZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZDogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYmFja2dyb3VuZDtcbiAgICAgICAgcGFkZGluZzogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGFkZGluZztcbiAgICAgICAgYm9yZGVyOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2JvcmRlci1yYWRpdXM7XG4gICAgICAgIGJveC1zaGFkb3c6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2JveC1zaGFkb3c7XG4gICAgICAgIG1hcmdpbjogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfbWFyZ2luO1xuICAgIH1cblxuICAgICZfX2ljb24td3JhcHBlciB7XG4gICAgICAgIG1hcmdpbjogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfZ3V0dGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgd2lkdGg6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2ljb24tc3RhdHVzLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2ljb24tc3RhdHVzLWhlaWdodDtcblxuICAgICAgICAmLS1hbmltYXRlIHtcbiAgICAgICAgICAgIEBpZiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9pY29uLXN0YXR1cy1hbmltYXRpb24ge1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogcmluZ2luZ1xuICAgICAgICAgICAgICAgICAgICAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9pY29uLXN0YXR1cy1hbmltYXRpb24tcmVwZWF0XG4gICAgICAgICAgICAgICAgICAgIGluZmluaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVzc2FnZS13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9ndXR0ZXI7XG4gICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyICpcbiAgICAgICAgICAgICAgICAoZ2V0LXZhbHVlLWZyb20tbGlzdCgkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wYWRkaW5nLCAncmlnaHQnKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZXNzYWdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAmLS1yZXF1ZXN0IHtcbiAgICAgICAgICAgICN7JHJvb3R9X19tZXNzYWdlLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfbWVzc2FnZS10aXRsZS1yZXF1ZXN0LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tYnJvd3NlciB7XG4gICAgICAgICAgICAjeyRyb290fV9fbWVzc2FnZS10aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX21lc3NhZ2UtdGl0bGUtYnJvd3Nlci1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLWVuYWJsZWQge1xuICAgICAgICAgICAgI3skcm9vdH1fX21lc3NhZ2UtdGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9tZXNzYWdlLXRpdGxlLWVuYWJsZWQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfbWVzc2FnZS10aXRsZS1mb250LXNpemU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfbWVzc2FnZS10aXRsZS1mb250LXdlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9tZXNzYWdlLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9tZXNzYWdlLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgY29sb3I6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX21lc3NhZ2UtZGVzY3JpcHRpb24tY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9ndXR0ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGdldC12YWx1ZS1mcm9tLWxpc3QoXG4gICAgICAgICAgICAgICAgJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGFkZGluZyxcbiAgICAgICAgICAgICAgICAndXAnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmLS1icm93c2VyIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMHJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8cGhvbmVMZycpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDBcbiAgICAgICAgICAgICAgICAgICAgZ2V0LXZhbHVlLWZyb20tbGlzdCgkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9ndXR0ZXIsICdyaWdodCcpXG4gICAgICAgICAgICAgICAgICAgIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1hY2NlcHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9idXR0b24tYWNjZXB0LXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9idXR0b24tYWNjZXB0LWljb24tcG9zXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAjeyRyb290fV9fYnV0dG9uLXNwYW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYnV0dG9uLWFjY2VwdC10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2J1dHRvbi1hY2NlcHQtaWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9fYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYnV0dG9uLWFjY2VwdC10eXBlLFxuICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2J1dHRvbi1hY2NlcHQtaWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZGVjbGluZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgJHR5cGU6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2J1dHRvbi1kZWNsaW5lLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9idXR0b24tZGVjbGluZS1pY29uLXBvc1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgI3skcm9vdH1fX2J1dHRvbi1zcGFuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2J1dHRvbi1kZWNsaW5lLXR5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYnV0dG9uLWRlY2xpbmUtaWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9fYnV0dG9uLWljb24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9pY29uKFxuICAgICAgICAgICAgICAgICAgICAkdHlwZTogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfYnV0dG9uLWRlY2xpbmUtdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9idXR0b24tZGVjbGluZS1pY29uLXBvc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wZXJtaXNzaW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYm9yZGVyOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1ib3JkZXItcmFkaXVzO1xuICAgICAgICBib3gtc2hhZG93OiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLWJveC1zaGFkb3c7XG4gICAgICAgIGZvbnQtc2l6ZTogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1mb250LXNpemU7XG4gICAgICAgIGNvbG9yOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLWNvbG9yO1xuICAgICAgICBwYWRkaW5nOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLXBhZGRpbmc7XG5cbiAgICAgICAgJi1pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLWljb24td2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24taWNvbi1oZWlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1idXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZzogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1idXR0b24tcGFkZGluZztcbiAgICAgICAgICAgIG1hcmdpbjogMCAwLjJyZW07XG4gICAgICAgICAgICBib3JkZXI6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3Blcm1pc3Npb24tYnV0dG9uLWJvcmRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wZXJtaXNzaW9uLWJ1dHRvbi1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHB3YS1ub3RpZmljYXRpb24tcGFuZWxfcGVybWlzc2lvbi1idXR0b24tZm9udC1zaXplO1xuXG4gICAgICAgICAgICAmLS1ibG9jayB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2xvc2Uge1xuICAgICAgICBtYXJnaW46ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2d1dHRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogZ2V0LXZhbHVlLWZyb20tbGlzdCgkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9wYWRkaW5nLCAndXAnKTtcbiAgICAgICAgICAgIHJpZ2h0OiBnZXQtdmFsdWUtZnJvbS1saXN0KFxuICAgICAgICAgICAgICAgICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX3BhZGRpbmcsXG4gICAgICAgICAgICAgICAgJ3JpZ2h0J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9pY29uLWNsb3NlLXdpZHRoO1xuICAgICAgICAgICAgaGVpZ2h0OiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9pY29uLWNsb3NlLWhlaWdodDtcbiAgICAgICAgICAgIGZpbGw6ICRwd2Etbm90aWZpY2F0aW9uLXBhbmVsX2ljb24tY2xvc2UtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICN7JHJvb3R9X19jbG9zZS1pY29uIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkcHdhLW5vdGlmaWNhdGlvbi1wYW5lbF9pY29uLWNsb3NlLWNvbG9yLS1ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGtleWZyYW1lcyByaW5naW5nIHtcbiAgICAwJSxcbiAgICAxMiUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgMyUsXG4gICAgNyUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMykgcm90YXRlKDI3ZGVnKTtcbiAgICB9XG4gICAgNSUsXG4gICAgOSUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMykgcm90YXRlKC0yN2RlZyk7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBSYWRpbyBhbmQgY2hlY2tib3ggc3R5bGluZyAqL1xuLyoqKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzI0wxMzBcbiAqL1xuLmNzLXF0eS1pbmNyZW1lbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuY3MtcXR5LWluY3JlbWVudC0td2lzaGxpc3Qge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAvKiAxICovIH1cbiAgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0IHtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBwYWRkaW5nOiAxMXB4IDEwcHg7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzO1xuICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA2cHggNXB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB3aWR0aDogMDtcbiAgICBtaW4td2lkdGg6IDJjaDtcbiAgICBmbGV4OiAxO1xuICAgIG9yZGVyOiAyOyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0OmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY0NjA0O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbG9yOiAjNkU2RTZFOyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0W2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjY1OyB9XG4gICAgLmllMTEgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0IHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9faW5wdXQsIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dDpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZGNkY2RjOyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0Lm1hZ2UtZXJyb3Ige1xuICAgICAgYm9yZGVyLWNvbG9yOiAjQ0MxQzNBICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5jcy1xdHktaW5jcmVtZW50X19pbnB1dC5tYWdlLWVycm9yIH4gLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI0NDMUMzQSAhaW1wb3J0YW50OyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2lucHV0ICsgLm1hZ2UtZXJyb3Ige1xuICAgICAgb3JkZXI6IDM7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXM7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsO1xuICAgIG1heC13aWR0aDogM3JlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGZsZXg6IDEgMSAycmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBtaW4td2lkdGg6IDM0cHg7IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uLCAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uOnZpc2l0ZWQsIC5jcy1xdHktaW5jcmVtZW50X19idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7IH1cbiAgICAgIC5jcy1xdHktaW5jcmVtZW50X19idXR0b24gKiwgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbjp2aXNpdGVkICosIC5jcy1xdHktaW5jcmVtZW50X19idXR0b246Zm9jdXMgKiB7XG4gICAgICAgIGZpbGw6ICMwMDA7IH1cbiAgICAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uOmhvdmVyLCAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNDYwNDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbjpob3ZlciAqLCAuY3MtcXR5LWluY3JlbWVudF9fYnV0dG9uOmFjdGl2ZSAqIHtcbiAgICAgICAgZmlsbDogIzAwMDsgfVxuICAgIC5jcy1xdHktaW5jcmVtZW50X19idXR0b24tLWRlY3JlbWVudCB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTNweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbi0tZGVjcmVtZW50IHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDsgfSB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2J1dHRvbi0taW5jcmVtZW50IHtcbiAgICAgIG9yZGVyOiAyO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEzcHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1xdHktaW5jcmVtZW50X19idXR0b24tLWluY3JlbWVudCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDsgfSB9XG4gIC5jcy1xdHktaW5jcmVtZW50X19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgLmNzLXF0eS1pbmNyZW1lbnRfX2ljb24tLWRlY3JlbWVudCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5jcy1xdHktaW5jcmVtZW50X19pY29uLS1pbmNyZW1lbnQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmllbGQvbWl4aW4nO1xuQGltcG9ydCAndXRpbHMvdmlzdWFsbHktaGlkZGVuJztcblxuJHF0eS1pbmNyZW1lbnQtLWluLXdpc2hsaXN0X2hpZGU6IHRydWUgIWRlZmF1bHQ7XG5cbiRxdHktaW5jcmVtZW50X2lucHV0LWZvbnQtc2l6ZTogaW5oZXJpdCAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2lucHV0LXRleHQtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcbiRxdHktaW5jcmVtZW50X2lucHV0LS1lcnJvci1ib3JkZXItY29sb3I6ICRjb2xvcl9lcnJvci01MDAgIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9pbnB1dC0taG92ZXItYm9yZGVyOiAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcblxuJHF0eS1pbmNyZW1lbnRfYnV0dG9uLXBvc2l0aW9uLW9mZnNldDogMXB4ICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfYnV0dG9uLXdpZHRoOiAzcmVtICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfYnV0dG9uLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9idXR0b24tYmFja2dyb3VuZDogJGNvbG9yX3doaXRlICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfYnV0dG9uLS1ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9idXR0b24tLWRpc2FibGVkLWJhY2tncm91bmQ6ICRxdHktaW5jcmVtZW50X2J1dHRvbi1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfYnV0dG9uLS1ob3Zlci1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9idXR0b24tYW5pbWF0aW9uLXRpbWU6IDAuNXMgIWRlZmF1bHQ7XG5cbiRxdHktaW5jcmVtZW50X2ljb24tZmlsbDogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfaWNvbi0taG92ZXItZmlsbDogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfaWNvbi0tZGlzYWJsZWQtZmlsbDogJGNvbG9yX2FsdG8gIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9pY29uLS1kZWNyZW1lbnQtd2lkdGg6IGF1dG8gIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9pY29uLS1kZWNyZW1lbnQtaGVpZ2h0OiBhdXRvICFkZWZhdWx0O1xuJHF0eS1pbmNyZW1lbnRfaWNvbi0taW5jcmVtZW50LXdpZHRoOiAkcXR5LWluY3JlbWVudF9pY29uLS1kZWNyZW1lbnQtd2lkdGggIWRlZmF1bHQ7XG4kcXR5LWluY3JlbWVudF9pY29uLS1pbmNyZW1lbnQtaGVpZ2h0OiAkcXR5LWluY3JlbWVudF9pY29uLS1pbmNyZW1lbnQtd2lkdGggIWRlZmF1bHQ7XG5cbi4jeyRuc31xdHktaW5jcmVtZW50IHtcbiAgICAkcm9vdDogJjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIEBpZiAkcXR5LWluY3JlbWVudC0taW4td2lzaGxpc3RfaGlkZSB7XG4gICAgICAgICYtLXdpc2hsaXN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5wdXQge1xuICAgICAgICBAaW5jbHVkZSBmaWVsZC1pbnB1dCgpO1xuICAgICAgICBmb250LXNpemU6ICRxdHktaW5jcmVtZW50X2lucHV0LWZvbnQtc2l6ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogJHF0eS1pbmNyZW1lbnRfaW5wdXQtdGV4dC1hbGlnbjtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiA2cHggNXB4O1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgbWluLXdpZHRoOiAyY2g7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG9yZGVyOiAyO1xuXG4gICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICYsXG4gICAgICAgICY6aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAgICAgICAmOmZvY3VzOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRxdHktaW5jcmVtZW50X2lucHV0LS1ob3Zlci1ib3JkZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLm1hZ2UtZXJyb3Ige1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcXR5LWluY3JlbWVudF9pbnB1dC0tZXJyb3ItYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIH4gI3skcm9vdH1fX2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcXR5LWluY3JlbWVudF9pbnB1dC0tZXJyb3ItYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICArIC5tYWdlLWVycm9yIHtcbiAgICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRxdHktaW5jcmVtZW50X2J1dHRvbi1hbmltYXRpb24tdGltZSxcbiAgICAgICAgICAgIGJvcmRlci1jb2xvciAkcXR5LWluY3JlbWVudF9idXR0b24tYW5pbWF0aW9uLXRpbWUsXG4gICAgICAgICAgICBmaWxsICRxdHktaW5jcmVtZW50X2J1dHRvbi1hbmltYXRpb24tdGltZTtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsO1xuICAgICAgICBtYXgtd2lkdGg6ICRxdHktaW5jcmVtZW50X2J1dHRvbi13aWR0aDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHF0eS1pbmNyZW1lbnRfYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIGZsZXg6IDEgMSAoI3skcXR5LWluY3JlbWVudF9idXR0b24td2lkdGggLSAxfSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41ZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRxdHktaW5jcmVtZW50X2J1dHRvbi1ib3JkZXItcmFkaXVzO1xuICAgICAgICBtaW4td2lkdGg6IDM0cHg7XG5cbiAgICAgICAgJixcbiAgICAgICAgJjp2aXNpdGVkLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRxdHktaW5jcmVtZW50X2J1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm9yZGVyOiAkcXR5LWluY3JlbWVudF9idXR0b24tYm9yZGVyO1xuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkcXR5LWluY3JlbWVudF9pY29uLWZpbGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcXR5LWluY3JlbWVudF9idXR0b24tLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgICAgICBib3JkZXI6ICRxdHktaW5jcmVtZW50X2J1dHRvbi0taG92ZXItYm9yZGVyO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkcXR5LWluY3JlbWVudF9pY29uLS1ob3Zlci1maWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZGVjcmVtZW50IHtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxM3B4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0taW5jcmVtZW50IHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEzcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXG4gICAgICAgICYtLWRlY3JlbWVudCB7XG4gICAgICAgICAgICB3aWR0aDogJHF0eS1pbmNyZW1lbnRfaWNvbi0tZGVjcmVtZW50LXdpZHRoO1xuICAgICAgICAgICAgaGVpZ2h0OiAkcXR5LWluY3JlbWVudF9pY29uLS1kZWNyZW1lbnQtaGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0taW5jcmVtZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiAkcXR5LWluY3JlbWVudF9pY29uLS1pbmNyZW1lbnQtd2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICRxdHktaW5jcmVtZW50X2ljb24tLWluY3JlbWVudC1oZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi51aS1zbGlkZXItaG9yaXpvbnRhbCB7XG4gIGJhY2tncm91bmQ6ICNkY2RjZGM7XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXJhZGl1czogMXJlbTsgfVxuICAudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1oYW5kbGUge1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjRkY0NjA0O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzLCBiYWNrZ3JvdW5kIDAuM3M7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07IH1cbiAgICAudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1oYW5kbGUudWktc3RhdGUtaG92ZXIsIC51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLWhhbmRsZS51aS1zdGF0ZS1hY3RpdmUsIC51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLWhhbmRsZS51aS1zdGF0ZS1mb2N1cyB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkY3NDQyOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcblxuJHNsaWRlci0taG9yaXpvbnRhbF9oZWlnaHQ6IDFyZW0gIWRlZmF1bHQ7XG4kc2xpZGVyLS1ob3Jpem9udGFsX2JhY2tncm91bmQ6ICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJHNsaWRlci0taG9yaXpvbnRhbF9oYW5kbGUtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRzbGlkZXItLWhvcml6b250YWxfaGFuZGxlLWJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRzbGlkZXItLWhvcml6b250YWxfaGFuZGxlLWJhY2tncm91bmQtYWN0aXZlOiAkY29sb3JfcHJpbWFyeS04MDAgIWRlZmF1bHQ7XG5cbi51aS1zbGlkZXItaG9yaXpvbnRhbCB7XG4gICAgYmFja2dyb3VuZDogJHNsaWRlci0taG9yaXpvbnRhbF9iYWNrZ3JvdW5kO1xuICAgIGhlaWdodDogJHNsaWRlci0taG9yaXpvbnRhbF9oZWlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6ICgkc2xpZGVyLS1ob3Jpem9udGFsX2hhbmRsZS1zaXplIC8gMik7XG4gICAgbWFyZ2luLXJpZ2h0OiAoJHNsaWRlci0taG9yaXpvbnRhbF9oYW5kbGUtc2l6ZSAvIDIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLS1ob3Jpem9udGFsX2hlaWdodDtcblxuICAgIC51aS1zbGlkZXItaGFuZGxlIHtcbiAgICAgICAgd2lkdGg6ICRzbGlkZXItLWhvcml6b250YWxfaGFuZGxlLXNpemU7XG4gICAgICAgIGhlaWdodDogJHNsaWRlci0taG9yaXpvbnRhbF9oYW5kbGUtc2l6ZTtcbiAgICAgICAgYmFja2dyb3VuZDogJHNsaWRlci0taG9yaXpvbnRhbF9oYW5kbGUtYmFja2dyb3VuZDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MsIGJhY2tncm91bmQgMC4zcztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0oJHNsaWRlci0taG9yaXpvbnRhbF9oYW5kbGUtc2l6ZSAvIDIpO1xuXG4gICAgICAgICYudWktc3RhdGUtaG92ZXIsXG4gICAgICAgICYudWktc3RhdGUtYWN0aXZlLFxuICAgICAgICAmLnVpLXN0YXRlLWZvY3VzIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItLWhvcml6b250YWxfaGFuZGxlLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLmNzLXNvY2lhbC1tZWRpYS1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAxLjVyZW0gMCAxLjVyZW07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXNvY2lhbC1tZWRpYS1saXN0IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLXNvY2lhbC1tZWRpYS1saXN0IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAuY3Mtc29jaWFsLW1lZGlhLWxpc3RfX2l0ZW0ge1xuICAgIG1hcmdpbjogMCAwLjRlbTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9fbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAzLjVlbTtcbiAgICBtaW4td2lkdGg6IDRlbTtcbiAgICBiYWNrZ3JvdW5kOiAjMjEyMTIxO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB0cmFuc2Zvcm06IHNrZXcoLTE4ZGVnKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhcjsgfVxuICAgIC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9fbGluazpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkY3NDQyOyB9XG4gIC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9faWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGZpbGw6ICNmZmZmZmY7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTUlLCAtNTUlLCAwKSBza2V3KDE4ZGVnKTtcbiAgICB0cmFuc2l0aW9uOiBmaWxsIDAuMTVzIGxpbmVhcjtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1NSU7IH1cbiAgICAuY3Mtc29jaWFsLW1lZGlhLWxpc3RfX2l0ZW0tLWZiIC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9faWNvbiB7XG4gICAgICB3aWR0aDogMC45ZW07XG4gICAgICBoZWlnaHQ6IDEuOGVtOyB9XG4gICAgLmNzLXNvY2lhbC1tZWRpYS1saXN0X19pdGVtLS10dyAuY3Mtc29jaWFsLW1lZGlhLWxpc3RfX2ljb24ge1xuICAgICAgd2lkdGg6IDIuNWVtO1xuICAgICAgaGVpZ2h0OiAyZW07IH1cbiAgICAuY3Mtc29jaWFsLW1lZGlhLWxpc3RfX2l0ZW0tLXl0IC5jcy1zb2NpYWwtbWVkaWEtbGlzdF9faWNvbiB7XG4gICAgICB3aWR0aDogMS44ZW07XG4gICAgICBoZWlnaHQ6IDIuMWVtOyB9XG4gICAgLmNzLXNvY2lhbC1tZWRpYS1saXN0X19pdGVtLS1ncCAuY3Mtc29jaWFsLW1lZGlhLWxpc3RfX2ljb24ge1xuICAgICAgd2lkdGg6IDJlbTtcbiAgICAgIGhlaWdodDogMmVtO1xuICAgICAgbWFyZ2luLXRvcDogMC4xZW07IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL3Jlc2V0LWxpc3Qtc3R5bGUnO1xuXG4kc29jaWFsLW1lZGlhLWxpc3RfZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiRzb2NpYWwtbWVkaWEtbGlzdF9mbGV4LWp1c3RpZnktY29udGVudDogY2VudGVyICFkZWZhdWx0O1xuJHNvY2lhbC1tZWRpYS1saXN0X2ZsZXgtYWxpZ24taXRlbXM6IGNlbnRlciAhZGVmYXVsdDtcbiRzb2NpYWwtbWVkaWEtbGlzdF9wYWRkaW5nOiAkcGFnZV9lZGdlLWd1dHRlciAwICRwYWdlX2VkZ2UtZ3V0dGVyICFkZWZhdWx0O1xuXG4kc29jaWFsLW1lZGlhLWxpc3RfbGlzdC1pdGVtLW1hcmdpbjogMCAwLjRlbSAhZGVmYXVsdDtcbiRzb2NpYWwtbWVkaWEtbGlzdF9saXN0LWl0ZW0tcGFkZGluZzogMCAhZGVmYXVsdDtcblxuJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstZGlzcGxheTogZmxleCAhZGVmYXVsdDtcbiRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLXBhZGRpbmc6IDFlbSAhZGVmYXVsdDtcbiRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLWhlaWdodDogMy41ZW0gIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfbGluay1taW4td2lkdGg6IDRlbSAhZGVmYXVsdDtcbiRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzX2Jhc2UgIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfbGluay10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLXRyYW5zZm9ybTogJHRyYW5zZm9ybV9za2V3LTQwMCAhZGVmYXVsdDtcbiRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLWJhY2tncm91bmQ6ICRjb2xvcl9taW5lc2hhZnQgIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfbGluay1ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS04MDAgIWRlZmF1bHQ7XG5cbiRzb2NpYWwtbWVkaWEtbGlzdF9pY29uLXBvc2l0aW9uOiBhYnNvbHV0ZSAhZGVmYXVsdDtcbiRzb2NpYWwtbWVkaWEtbGlzdF9pY29uLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTU1JSwgLTU1JSwgMClcbiAgICAkdHJhbnNmb3JtX3NrZXctNDAwLXJldmVydCAhZGVmYXVsdDtcbiRzb2NpYWwtbWVkaWEtbGlzdF9pY29uLWNvbG9yOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfaWNvbi1ob3Zlci1jb2xvcjogJHNvY2lhbC1tZWRpYS1saXN0X2ljb24tY29sb3IgIWRlZmF1bHQ7XG4kc29jaWFsLW1lZGlhLWxpc3RfaWNvbi10cmFuc2l0aW9uOiBmaWxsIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuQGlmICRzb2NpYWwtbWVkaWEtbGlzdF9pY29uLXBvc2l0aW9uID09IGFic29sdXRlIHtcbiAgICAkc29jaWFsLW1lZGlhLWxpc3RfaWNvbi10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApXG4gICAgICAgICR0cmFuc2Zvcm1fc2tldy00MDAtcmV2ZXJ0ICFkZWZhdWx0O1xufVxuXG4uI3skbnN9c29jaWFsLW1lZGlhLWxpc3Qge1xuICAgICRyb290OiAmO1xuXG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdC1zdHlsZSgpO1xuXG4gICAgZGlzcGxheTogJHNvY2lhbC1tZWRpYS1saXN0X2Rpc3BsYXk7XG4gICAgcGFkZGluZzogJHNvY2lhbC1tZWRpYS1saXN0X3BhZGRpbmc7XG5cbiAgICBAaWYgJHNvY2lhbC1tZWRpYS1saXN0X2Rpc3BsYXkgPT1cbiAgICAgICAgZmxleCBvclxuICAgICAgICAkc29jaWFsLW1lZGlhLWxpc3RfZGlzcGxheSA9PVxuICAgICAgICBpbmxpbmUtZmxleFxuICAgIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiAkc29jaWFsLW1lZGlhLWxpc3RfZmxleC1qdXN0aWZ5LWNvbnRlbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiAkc29jaWFsLW1lZGlhLWxpc3RfZmxleC1hbGlnbi1pdGVtcztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAkc29jaWFsLW1lZGlhLWxpc3RfbGlzdC1pdGVtLW1hcmdpbjtcbiAgICAgICAgcGFkZGluZzogJHNvY2lhbC1tZWRpYS1saXN0X2xpc3QtaXRlbS1wYWRkaW5nO1xuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiAkc29jaWFsLW1lZGlhLWxpc3RfbGluay1kaXNwbGF5O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstaGVpZ2h0O1xuICAgICAgICBtaW4td2lkdGg6ICRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLW1pbi13aWR0aDtcbiAgICAgICAgYmFja2dyb3VuZDogJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIHRyYW5zZm9ybTogJHNvY2lhbC1tZWRpYS1saXN0X2xpbmstdHJhbnNmb3JtO1xuICAgICAgICB0cmFuc2l0aW9uOiAkc29jaWFsLW1lZGlhLWxpc3RfbGluay10cmFuc2l0aW9uO1xuXG4gICAgICAgIEBpZiAkc29jaWFsLW1lZGlhLWxpc3RfbGluay1ob3Zlci1iYWNrZ3JvdW5kICE9XG4gICAgICAgICAgICAkc29jaWFsLW1lZGlhLWxpc3RfbGluay1iYWNrZ3JvdW5kXG4gICAgICAgIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzb2NpYWwtbWVkaWEtbGlzdF9saW5rLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgcG9zaXRpb246ICRzb2NpYWwtbWVkaWEtbGlzdF9pY29uLXBvc2l0aW9uO1xuICAgICAgICBmaWxsOiAkc29jaWFsLW1lZGlhLWxpc3RfaWNvbi1jb2xvcjtcbiAgICAgICAgdHJhbnNmb3JtOiAkc29jaWFsLW1lZGlhLWxpc3RfaWNvbi10cmFuc2Zvcm07XG4gICAgICAgIHRyYW5zaXRpb246ICRzb2NpYWwtbWVkaWEtbGlzdF9pY29uLXRyYW5zaXRpb247XG5cbiAgICAgICAgQGlmICRzb2NpYWwtbWVkaWEtbGlzdF9pY29uLXBvc2l0aW9uID09IGFic29sdXRlIHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTUlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRzb2NpYWwtbWVkaWEtbGlzdF9pY29uLWhvdmVyLWNvbG9yICE9ICRzb2NpYWwtbWVkaWEtbGlzdF9pY29uLWNvbG9yXG4gICAgICAgIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRzb2NpYWwtbWVkaWEtbGlzdF9pY29uLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2l0ZW0tLWZiICYge1xuICAgICAgICAgICAgd2lkdGg6IDAuOWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjhlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19pdGVtLS10dyAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAyLjVlbTtcbiAgICAgICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2l0ZW0tLXl0ICYge1xuICAgICAgICAgICAgd2lkdGg6IDEuOGVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjFlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19pdGVtLS1ncCAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuMWVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1zdGFyLXJhdGluZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLXN0YXItcmF0aW5nX19zdGFycyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogNy4ycmVtO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5jcy1zdGFyLXJhdGluZy0tc3VtbWFyeSAuY3Mtc3Rhci1yYXRpbmdfX3N0YXJzIHtcbiAgICAgIHdpZHRoOiAxMHJlbTtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmctLXJldmlldyAuY3Mtc3Rhci1yYXRpbmdfX3N0YXJzIHtcbiAgICAgIHdpZHRoOiA3LjJyZW07XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5jcy1zdGFyLXJhdGluZ19fc3RhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmaWxsOiAjNkU2RTZFOyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX19zdGFyLS1hY3RpdmUge1xuICAgICAgZmlsbDogI2ZjYjczOTsgfVxuICAgIC5jcy1zdGFyLXJhdGluZ19fc3Rhci0taGFsZi1hY3RpdmUgLnN0YXItbGVmdCB7XG4gICAgICBmaWxsOiAjZmNiNzM5OyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX19zdGFyLS1oYWxmLWFjdGl2ZSAuc3Rhci1yaWd0aCB7XG4gICAgICBmaWxsOiAjNkU2RTZFOyB9XG4gICAgLmNzLXN0YXItcmF0aW5nLS1zdW1tYXJ5IC5jcy1zdGFyLXJhdGluZ19fc3RhciB7XG4gICAgICB3aWR0aDogMnJlbTsgfVxuICAgICAgLmllMTEgLmNzLXN0YXItcmF0aW5nLS1zdW1tYXJ5IC5jcy1zdGFyLXJhdGluZ19fc3RhciB7XG4gICAgICAgIGhlaWdodDogY2FsYyggMnJlbSAvIDEuMDUpOyB9XG4gICAgLmNzLXN0YXItcmF0aW5nLS1yZXZpZXcgLmNzLXN0YXItcmF0aW5nX19zdGFyIHtcbiAgICAgIHdpZHRoOiAxLjVyZW07IH1cbiAgICAgIC5pZTExIC5jcy1zdGFyLXJhdGluZy0tcmV2aWV3IC5jcy1zdGFyLXJhdGluZ19fc3RhciB7XG4gICAgICAgIGhlaWdodDogY2FsYyggMS41cmVtIC8gMS4wNSk7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmdfX3N0YXIgcGF0aCB7XG4gICAgICBmaWxsLW9wYWNpdHk6IDE7XG4gICAgICBmaWxsOiBpbmhlcml0OyB9XG4gICAgLmllMTEgLmNzLXN0YXItcmF0aW5nX19zdGFyIHtcbiAgICAgIGhlaWdodDogY2FsYyggMS41cmVtIC8gMS4wNSk7IH1cbiAgLmNzLXN0YXItcmF0aW5nIGltZyB7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmNzLXN0YXItcmF0aW5nX19mb3JtLXN0YXJzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jcy1zdGFyLXJhdGluZ19fZm9ybS1zdGFyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGZpbGw6ICM2RTZFNkU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmdfX2Zvcm0tc3Rhci0tYWN0aXZlIHtcbiAgICAgIGZpbGw6ICNmY2I3Mzk7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmdfX2Zvcm0tc3RhciBwYXRoIHtcbiAgICAgIGZpbGwtb3BhY2l0eTogMTtcbiAgICAgIGZpbGw6IGluaGVyaXQ7IH1cbiAgICAuY3Mtc3Rhci1yYXRpbmdfX2Zvcm0tc3RhcjpudGgtbGFzdC1vZi10eXBlKCkge1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIC5jcy1zdGFyLXJhdGluZ19fZm9ybS1zdGFyczpob3ZlciAuY3Mtc3Rhci1yYXRpbmdfX2Zvcm0tc3RhciB7XG4gICAgICBmaWxsOiAjZmNiNzM5OyB9XG4gICAgLmNzLXN0YXItcmF0aW5nX19mb3JtLXN0YXJzIGxhYmVsOmhvdmVyIH4gbGFiZWwgLmNzLXN0YXItcmF0aW5nX19mb3JtLXN0YXIge1xuICAgICAgZmlsbDogIzZFNkU2RTsgfVxuICAgIC5pZTExIC5jcy1zdGFyLXJhdGluZ19fZm9ybS1zdGFyIHtcbiAgICAgIGhlaWdodDogY2FsYyggMnJlbSAvIDEuMDUpOyB9XG4gIC5jcy1zdGFyLXJhdGluZ19fdGV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAjNjk2OTY5O1xuICAgIHBhZGRpbmctbGVmdDogMC41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoMS41cmVtICogMC4xKTsgfVxuICAgIC5jcy1zdGFyLXJhdGluZ19fdGV4dC0tY291bnQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcoJzsgfVxuICAgIC5jcy1zdGFyLXJhdGluZ19fdGV4dC0tY291bnQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyknOyB9XG4gIC5jcy1zdGFyLXJhdGluZ19fdGV4dC1hbm5vdGF0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuY3MtcHJvZHVjdC10aWxlIC5jcy1zdGFyLXJhdGluZ19fdGV4dC1hbm5vdGF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXN0YXItcmF0aW5nX19sYWJlbCB7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDEuNXJlbSAqIDAuMik7IH1cblxuLnJldmlldy1jb250cm9sLXZvdGUgLnJhdGluZy0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG5vbmU7IH1cblxuLnJldmlldy1jb250cm9sLXZvdGUgLnJhdGluZy0yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG5vbmU7IH1cblxuLnJldmlldy1jb250cm9sLXZvdGUgLnJhdGluZy0zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG5vbmU7IH1cblxuLnJldmlldy1jb250cm9sLXZvdGUgLnJhdGluZy00OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG5vbmU7IH1cblxuLnJldmlldy1jb250cm9sLXZvdGUgLnJhdGluZy01OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG5vbmU7IH1cblxuLnJldmlldy1jb250cm9sLXZvdGU6YmVmb3JlIHtcbiAgY29udGVudDogbm9uZTsgfVxuXG4ucmV2aWV3LWNvbnRyb2wtdm90ZSBsYWJlbCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdpZHRoOiAzcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBsaW5lLWhlaWdodDogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZpZXctY29udHJvbC12b3RlIGxhYmVsIHtcbiAgICAgIHdpZHRoOiAyLjZyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjZyZW07IH0gfVxuICAucmV2aWV3LWNvbnRyb2wtdm90ZSBsYWJlbDpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiRzdGFyLXJhdGluZ19jb2xvci1hY3RpdmU6ICRjb2xvcl9yZXZpZXctYWN0aXZlICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX2NvbG9yLWluYWN0aXZlOiAkY29sb3JfcmV2aWV3LWluYWN0aXZlICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX2Zvcm0tc3Rhci1jb2xvci1hY3RpdmU6ICRjb2xvcl9yZXZpZXctYWN0aXZlICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX2Zvcm0tc3Rhci1jb2xvci1pbmFjdGl2ZTogJGNvbG9yX3Jldmlldy1jb250cm9sLWluYWN0aXZlICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX3RleHQtY29sb3I6ICRjb2xvcl90ZXh0LTUwMCAhZGVmYXVsdDtcbi8vIERldGVybWluZXMgZmxleCBqdXN0aWZpY2F0aW9uIG9mIHN0YXJzXG4kc3Rhci1yYXRpbmdfanVzdGlmeTogc3BhY2UtYmV0d2VlbiAhZGVmYXVsdDtcbi8vIERldGVybWluZXMgd2lkdGggb2YgYSBzaW5nbGUgc3RhclxuJHN0YXItcmF0aW5nX3N0YXItd2lkdGgtZGVmYXVsdDogMS41cmVtICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX3N0YXItd2lkdGgtcmV2aWV3cy1zdW1tYXJ5OiAycmVtICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX3N0YXItd2lkdGgtcmV2aWV3OiAxLjVyZW0gIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1yZXZpZXctZm9ybTogMnJlbSAhZGVmYXVsdDtcbi8vIERldGVybWluZXMgd2lkdGggb2YgcmV2aWV3IHN0YXJzIGNvbnRhaW5lclxuJHN0YXItcmF0aW5nX2NvbnRhaW5lci13aWR0aC1kZWZhdWx0OiA3LjJyZW0gIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfY29udGFpbmVyLXdpZHRoLXJldmlld3Mtc3VtbWFyeTogMTByZW0gIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfY29udGFpbmVyLXdpZHRoLXJldmlldzogNy4ycmVtICFkZWZhdWx0O1xuLy8gUGFkZGluZyBmb3IgcmV2aWV3IGZvcm0gc3RhcnNcbiRzdGFyLXJhdGluZ19zdGFyLXBhZGRpbmctcmV2aWV3LWZvcm06IDAuNnJlbSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19zdGFyLXBhZGRpbmctcmV2aWV3LWZvcm0tbW9iaWxlOiAxcmVtICFkZWZhdWx0O1xuLy8gRGV0ZXJtaW5lcyBwYWRkaW5nIHJ1bGVzZXRcbiRzdGFyLXJhdGluZ19wYWRkaW5nLWRlZmF1bHQ6IDAgIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfcGFkZGluZy1yZXZpZXdzLXN1bW1hcnk6IDAgIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfcGFkZGluZy1yZXZpZXc6IDAgIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfcGFkZGluZy1yZXZpZXctZm9ybTogMCAhZGVmYXVsdDtcbi8vIERldGVybWluZXMgc2NvcmUgYW5kIGNvdW50IHRleHRmaWVsZCBkaXNwbGF5IHJ1bGVzZXRcbiRzdGFyLXJhdGluZ19oaWRlLXRleHQtcGRwOiBmYWxzZSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19oaWRlLXRleHQtdGlsZTogZmFsc2UgIWRlZmF1bHQ7XG4vLyBEZXRlcm1pbmVzIGRpc3BsYXkgcnVsZXNldCBmb3IgXCJyZXZpZXdcIiBhbm5vdGF0aW9uXG4kc3Rhci1yYXRpbmdfaGlkZS1hbm5vdGF0aW9uLXBkcDogZmFsc2UgIWRlZmF1bHQ7XG4kc3Rhci1yYXRpbmdfaGlkZS1hbm5vdGF0aW9uLXRpbGU6IHRydWUgIWRlZmF1bHQ7XG4vLyBEZXRlcm1pbmVzIHJhdGluZyBsYWJlbCBkZXRhaWxzXG4kc3Rhci1yYXRpbmdfbGFiZWwtY29sb3I6ICRjb2xvcl90ZXh0LTgwMCAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19sYWJlbC1mb250LXNpemU6IDAuNzVlbSAhZGVmYXVsdDtcbiRzdGFyLXJhdGluZ19sYWJlbC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJHN0YXItcmF0aW5nX2xhYmVsLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4vLyBEZXRlcm1pbmVzIHN0YXIgc3ZnIGZvciBpZTExIGhlaWdodCBjYWxjdWxhdGlvbnNcbiRzdGFyLXJhdGluZ19zdGFyLWFzcGVjdC1yYXRpbzogMS4wNSAhZGVmYXVsdDtcblxuLiN7JG5zfXN0YXItcmF0aW5nIHtcbiAgICAkcm9vdDogJjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmX19zdGFycyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBwYWRkaW5nOiAkc3Rhci1yYXRpbmdfcGFkZGluZy1kZWZhdWx0O1xuICAgICAgICB3aWR0aDogJHN0YXItcmF0aW5nX2NvbnRhaW5lci13aWR0aC1kZWZhdWx0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRzdGFyLXJhdGluZ19qdXN0aWZ5O1xuXG4gICAgICAgICN7JHJvb3R9LS1zdW1tYXJ5ICYge1xuICAgICAgICAgICAgd2lkdGg6ICRzdGFyLXJhdGluZ19jb250YWluZXItd2lkdGgtcmV2aWV3cy1zdW1tYXJ5O1xuICAgICAgICAgICAgcGFkZGluZzogJHN0YXItcmF0aW5nX3BhZGRpbmctcmV2aWV3cy1zdW1tYXJ5O1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLXJldmlldyAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAkc3Rhci1yYXRpbmdfY29udGFpbmVyLXdpZHRoLXJldmlldztcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzdGFyLXJhdGluZ19wYWRkaW5nLXJldmlldztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N0YXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogJHN0YXItcmF0aW5nX3N0YXItd2lkdGgtZGVmYXVsdDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBmaWxsOiAkc3Rhci1yYXRpbmdfY29sb3ItaW5hY3RpdmU7XG5cbiAgICAgICAgJi0tYWN0aXZlIHtcbiAgICAgICAgICAgIGZpbGw6ICRzdGFyLXJhdGluZ19jb2xvci1hY3RpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1oYWxmLWFjdGl2ZSB7XG4gICAgICAgICAgICAuc3Rhci1sZWZ0IHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkc3Rhci1yYXRpbmdfY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3Rhci1yaWd0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogJHN0YXItcmF0aW5nX2NvbG9yLWluYWN0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH0tLXN1bW1hcnkgJiB7XG4gICAgICAgICAgICB3aWR0aDogJHN0YXItcmF0aW5nX3N0YXItd2lkdGgtcmV2aWV3cy1zdW1tYXJ5O1xuXG4gICAgICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoXG4gICAgICAgICAgICAgICAgICAgICN7JHN0YXItcmF0aW5nX3N0YXItd2lkdGgtcmV2aWV3cy1zdW1tYXJ5fSAvICN7JHN0YXItcmF0aW5nX3N0YXItYXNwZWN0LXJhdGlvfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tcmV2aWV3ICYge1xuICAgICAgICAgICAgd2lkdGg6ICRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLXJldmlldztcblxuICAgICAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKFxuICAgICAgICAgICAgICAgICAgICAjeyRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLXJldmlld30gLyAjeyRzdGFyLXJhdGluZ19zdGFyLWFzcGVjdC1yYXRpb31cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICBmaWxsLW9wYWNpdHk6IDE7XG4gICAgICAgICAgICBmaWxsOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoXG4gICAgICAgICAgICAgICAgI3skc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1kZWZhdWx0fSAvICN7JHN0YXItcmF0aW5nX3N0YXItYXNwZWN0LXJhdGlvfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAkc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1kZWZhdWx0O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fZm9ybS1zdGFycyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBwYWRkaW5nOiAkc3Rhci1yYXRpbmdfcGFkZGluZy1yZXZpZXctZm9ybTtcbiAgICB9XG5cbiAgICAmX19mb3JtLXN0YXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBmaWxsOiAkc3Rhci1yYXRpbmdfZm9ybS1zdGFyLWNvbG9yLWluYWN0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgICAgZmlsbDogJHN0YXItcmF0aW5nX2Zvcm0tc3Rhci1jb2xvci1hY3RpdmU7XG4gICAgICAgIH1cblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGwtb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGZpbGw6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1sYXN0LW9mLXR5cGUoKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX2Zvcm0tc3RhcnM6aG92ZXIgJiB7XG4gICAgICAgICAgICBmaWxsOiAkc3Rhci1yYXRpbmdfZm9ybS1zdGFyLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19mb3JtLXN0YXJzIGxhYmVsOmhvdmVyIH4gbGFiZWwgJiB7XG4gICAgICAgICAgICBmaWxsOiAkc3Rhci1yYXRpbmdfZm9ybS1zdGFyLWNvbG9yLWluYWN0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoXG4gICAgICAgICAgICAgICAgI3skc3Rhci1yYXRpbmdfc3Rhci13aWR0aC1yZXZpZXctZm9ybX0gLyAjeyRzdGFyLXJhdGluZ19zdGFyLWFzcGVjdC1yYXRpb31cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogJHN0YXItcmF0aW5nX3RleHQtY29sb3I7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwYWRkaW5nLXRvcDogY2FsYygjeyRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLWRlZmF1bHR9ICogMC4xKTtcblxuICAgICAgICAmLS1jb3VudCB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJygnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnKSc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJHN0YXItcmF0aW5nX2hpZGUtdGV4dC1wZHAge1xuICAgICAgICAgICAgLiN7JG5zfWJ1eWJveCAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRzdGFyLXJhdGluZ19oaWRlLXRleHQtdGlsZSB7XG4gICAgICAgICAgICAuI3skbnN9cHJvZHVjdC10aWxlICYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0LWFubm90YXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG5cbiAgICAgICAgQGlmICRzdGFyLXJhdGluZ19oaWRlLWFubm90YXRpb24tcGRwIHtcbiAgICAgICAgICAgIC4jeyRuc31idXlib3ggJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkc3Rhci1yYXRpbmdfaGlkZS1hbm5vdGF0aW9uLXRpbGUge1xuICAgICAgICAgICAgLiN7JG5zfXByb2R1Y3QtdGlsZSAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgY29sb3I6ICRzdGFyLXJhdGluZ19sYWJlbC1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkc3Rhci1yYXRpbmdfbGFiZWwtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJHN0YXItcmF0aW5nX2xhYmVsLWZvbnQtd2VpZ2h0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHN0YXItcmF0aW5nX2xhYmVsLXRleHQtdHJhbnNmb3JtO1xuICAgICAgICBwYWRkaW5nLXRvcDogY2FsYygjeyRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLWRlZmF1bHR9ICogMC4yKTtcbiAgICB9XG59XG5cbi5yZXZpZXctY29udHJvbC12b3RlIHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDUge1xuICAgICAgICAucmF0aW5nLSN7JGl9OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgd2lkdGg6ICRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLXJldmlldy1mb3JtICtcbiAgICAgICAgICAgICRzdGFyLXJhdGluZ19zdGFyLXBhZGRpbmctcmV2aWV3LWZvcm0tbW9iaWxlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc3Rhci1yYXRpbmdfc3Rhci1wYWRkaW5nLXJldmlldy1mb3JtLW1vYmlsZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgd2lkdGg6ICRzdGFyLXJhdGluZ19zdGFyLXdpZHRoLXJldmlldy1mb3JtICtcbiAgICAgICAgICAgICAgICAkc3Rhci1yYXRpbmdfc3Rhci1wYWRkaW5nLXJldmlldy1mb3JtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHN0YXItcmF0aW5nX3N0YXItcGFkZGluZy1yZXZpZXctZm9ybTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICB3aWR0aDogJHN0YXItcmF0aW5nX3N0YXItd2lkdGgtcmV2aWV3LWZvcm07XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDEzMFxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG5bY2xhc3NePSdzd2F0Y2gtb3B0LSddIHtcbiAgZm9udC1zaXplOiAwLjQ1ZW07XG4gIG1pbi1oZWlnaHQ6IGNhbGMoIDEgKiAoMi44ZW0gKyA4cHgpKTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDguMDFlbSkge1xuICAgIFtjbGFzc149J3N3YXRjaC1vcHQtJ10ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87IH0gfVxuICBbY2xhc3NePSdzd2F0Y2gtb3B0LSddOmVtcHR5IHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5pZTExIFtjbGFzc149J3N3YXRjaC1vcHQtJ10ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5zd2F0Y2gtb3B0IHtcbiAgZm9udC1zaXplOiAwLjllbTsgfVxuICAuc3dhdGNoLW9wdCAubWFnZS1lcnJvciB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTByZW0gKyAxLjVyZW0pOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zd2F0Y2gtb3B0IC5tYWdlLWVycm9yIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoIDExcmVtICsgMS41cmVtKTsgfSB9XG5cbi5zd2F0Y2gtYXR0cmlidXRlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zd2F0Y2gtYXR0cmlidXRlLnN3YXRjaC1sYXllcmVkIHtcbiAgICBmb250LXNpemU6IDAuOGVtOyB9XG4gIC5zd2F0Y2gtYXR0cmlidXRlICsgLnN3YXRjaC1hdHRyaWJ1dGUge1xuICAgIG1hcmdpbi10b3A6IDAuOGVtOyB9XG5cbi5zd2F0Y2gtYXR0cmlidXRlLWxhYmVsIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoIDIuOGVtIC0gNnB4ICsgMC4xZW0pO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMWVtO1xuICB3aWR0aDogMTByZW07XG4gIG1hcmdpbi1yaWdodDogMS41cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnN3YXRjaC1hdHRyaWJ1dGUtbGFiZWwge1xuICAgICAgd2lkdGg6IDExcmVtOyB9IH1cbiAgLnN3YXRjaC1hdHRyaWJ1dGUtbGFiZWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICc6ICc7XG4gICAgbGluZS1oZWlnaHQ6IGNhbGMoIDIuOGVtIC0gNnB4ICsgMC4xZW0pOyB9XG5cbi5zd2F0Y2gtYXR0cmlidXRlLXNlbGVjdGVkLW9wdGlvbiB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAvKiAxICovIH1cblxuLnN3YXRjaC1hdHRyaWJ1dGUtb3B0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IC0wLjJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNGVtO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5zd2F0Y2gtYXR0cmlidXRlLW9wdGlvbnM6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLnN3YXRjaC1vcHQgLnN3YXRjaC1hdHRyaWJ1dGUtb3B0aW9ucyB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoIDEwMCUgLSAxLjVyZW0gLSAxMHJlbSk7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnN3YXRjaC1vcHQgLnN3YXRjaC1hdHRyaWJ1dGUtb3B0aW9ucyB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYyggMTAwJSAtIDEuNXJlbSAtIDExcmVtKTsgfSB9XG5cbi5zd2F0Y2gtb3B0aW9uLWxpbmstbGF5ZXJlZCB7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG4gIC5zd2F0Y2gtb3B0aW9uLWxpbmstbGF5ZXJlZDpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5zd2F0Y2gtb3B0aW9uIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4td2lkdGg6IDMuMmVtO1xuICBoZWlnaHQ6IDIuOGVtO1xuICBwYWRkaW5nOiAwIDAuMzVlbTtcbiAgbWFyZ2luOiAxcHggY2FsYyggMXB4ICsgMC4yZW0pIGNhbGMoMXB4ICsgMC40ZW0pO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gIGJvcmRlcjogM3B4IHNvbGlkICNmMGYwZjA7XG4gIGNvbG9yOiAjNjk2OTY5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKCAyLjhlbSAtIDZweCArIDAuMWVtKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGJvcmRlci1jb2xvciAwLjNzLCBvcGFjaXR5IDAuM3MsIGNvbG9yIDAuM3M7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLnN3YXRjaC1vcHRpb246YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNHB4O1xuICAgIGxlZnQ6IC00cHg7XG4gICAgcmlnaHQ6IC00cHg7XG4gICAgYm90dG9tOiAtNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjNzOyB9XG4gIC5zd2F0Y2gtb3B0aW9uOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL3N3YXRjaGVzL2Rpc2FibGVkLnN2ZykgcmdiYSgyMjAsIDIyMCwgMjIwLCAwLjUpIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgd2lkdGg6IGNhbGMoMi44ZW0gLSAxLjRlbSk7XG4gICAgaGVpZ2h0OiBjYWxjKDIuOGVtIC0gMS40ZW0pO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMC42ZW07XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLnN3YXRjaC1vcHRpb246bm90KC5kaXNhYmxlZCk6bm90KC5zZWxlY3RlZCk6bm90KFtkaXNhYmxlZF0pOmhvdmVyIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgICAuc3dhdGNoLW9wdGlvbjpub3QoLmRpc2FibGVkKTpub3QoLnNlbGVjdGVkKTpub3QoW2Rpc2FibGVkXSk6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjQ2MDQ7IH1cbiAgLnN3YXRjaC1vcHRpb24uc2VsZWN0ZWQge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAgIC5zd2F0Y2gtb3B0aW9uLnNlbGVjdGVkOmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY3NDQyOyB9XG4gIC5zd2F0Y2gtb3B0aW9uLmRpc2FibGVkLCAuc3dhdGNoLW9wdGlvbltkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuc3dhdGNoLW9wdGlvbi5kaXNhYmxlZC50ZXh0LCAuc3dhdGNoLW9wdGlvbltkaXNhYmxlZF0udGV4dCB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY29sb3I6ICMzRTNFM0U7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gICAgICAuc3dhdGNoLW9wdGlvbi5kaXNhYmxlZC50ZXh0OmJlZm9yZSwgLnN3YXRjaC1vcHRpb25bZGlzYWJsZWRdLnRleHQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYzsgfVxuICAgIC5zd2F0Y2gtb3B0aW9uLmRpc2FibGVkLmltYWdlOmFmdGVyLCAuc3dhdGNoLW9wdGlvbi5kaXNhYmxlZC5jb2xvcjphZnRlciwgLnN3YXRjaC1vcHRpb25bZGlzYWJsZWRdLmltYWdlOmFmdGVyLCAuc3dhdGNoLW9wdGlvbltkaXNhYmxlZF0uY29sb3I6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG4uc3dhdGNoLWlucHV0IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIC8qIDEgKi9cbiAgbGVmdDogLTEwMDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnN3YXRjaC1tb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dhdGNoLW9wdGlvbi10b29sdGlwLFxuLnN3YXRjaC1vcHRpb24tdG9vbHRpcC1sYXllcmVkIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIHotaW5kZXg6IDk5OTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICBjb2xvcjogIzNFM0UzRTtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtaW4td2lkdGg6IDJyZW07XG4gIGJvcmRlcjogMC4xcmVtIHNvbGlkICNkY2RjZGM7IH1cbiAgLnN3YXRjaC1vcHRpb24tdG9vbHRpcCAuaW1hZ2UsXG4gIC5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAtbGF5ZXJlZCAuaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAxMTBweDtcbiAgICBoZWlnaHQ6IDExMHB4OyB9XG4gIC5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAgLmNvcm5lcjphZnRlcixcbiAgLnN3YXRjaC1vcHRpb24tdG9vbHRpcC1sYXllcmVkIC5jb3JuZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCAjZGNkY2RjO1xuICAgIGJvcmRlci1yaWdodDogMC4xcmVtIHNvbGlkICNkY2RjZGM7XG4gICAgbWFyZ2luLXRvcDogY2FsYyggLTAuNXJlbSArIDAuMXJlbSk7IH1cblxuLnN3YXRjaC1vcHRpb24tdG9vbHRpcCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnZXRjL3ZpZXcuc2Nzcyc7XG5AaW1wb3J0ICd1dGlscy9kZWVwLWdldC9kZWVwLWdldC5zY3NzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcblxuJHN3YXRjaGVzLS1jbGlja2FibGU6IGRlZXAtZ2V0KFxuICAgICR2aWV3LXhtbCxcbiAgICB2YXJzLFxuICAgIE1hZ2VudG9fQ2F0YWxvZyxcbiAgICBjb25maWd1cmFibGVfdGlsZV9zd2F0Y2hlcyxcbiAgICBlbmFibGVkXG4pICFkZWZhdWx0O1xuXG4vLyBLZWVwIGluIHN5bmMgd2l0aCBxdWFudGl0eSB3cmFwcGVyIGluIGJ1eWJveC5cbiRzd2F0Y2hlc19sYWJlbC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfbGFiZWwtd2lkdGgtbGFwdG9wLXVwOiAxMXJlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19sYWJlbC1ndXR0ZXI6IDEuNXJlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19sYWJlbC1mb250LXNpemU6IDEuMWVtICFkZWZhdWx0O1xuLy8gS2VlcCBpbiBzeW5jIHdpZHRoIHF1YW50aXR5IHdyYXBwZXIgaW4gYnV5Ym94IGVuZC5cblxuLy8gU2NlbmFyaW8gd2l0aCBzd2F0Y2hlcyBiZWxvdyBsYWJlbCwgd2hpY2ggaXMgMTAwJSB3aWRlXG4vLyB3aXRoIHRoaXMgdmFyaWFibGUgc2V0IHRvIHRydWUgJHN3YXRjaGVzX2xhYmVsLXdpZHRoXG4vLyBhbmQgJHN3YXRjaGVzX2xhYmVsLXdpZHRoLWxhcHRvcC11cCB3aWxsIGJlIG92ZXJyaWRlbiAtIGFsd2F5cyAxMDAlIHdpZHRoXG4kc3dhdGNoZXNfZnVsbC13aWR0aC1sYWJlbDogZmFsc2UgIWRlZmF1bHQ7XG5cbiRzd2F0Y2hlc19kaXNhYmxlLXNob3ctbW9yZTogdHJ1ZSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtZ3V0dGVyOiAwLjRlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtaGVpZ2h0OiAyLjhlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtd2lkdGg6IDMuMmVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC1wYWRkaW5nOiAwIDAuMzVlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtY29sb3I6ICRjb2xvcl90ZXh0LTUwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtdGV4dC1vZmZzZXQ6IDAuMWVtICFkZWZhdWx0O1xuXG4kc3dhdGNoZXNfc3dhdGNoLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTUwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtLWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtLXNlbGVjdGVkLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcblxuJHN3YXRjaGVzX3N3YXRjaC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC1ib3JkZXItd2lkdGg6IDNweCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLWJvcmRlci13aWR0aCBzb2xpZFxuICAgICRzd2F0Y2hlc19zd2F0Y2gtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtLWhvdmVyLWJvcmRlcjogJHN3YXRjaGVzX3N3YXRjaC1ib3JkZXItd2lkdGggc29saWRcbiAgICAkc3dhdGNoZXNfc3dhdGNoLS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC0tc2VsZWN0ZWQtYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLWJvcmRlci13aWR0aCBzb2xpZFxuICAgICRzd2F0Y2hlc19zd2F0Y2gtLXNlbGVjdGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRzd2F0Y2hlc19zd2F0Y2gtLXRleHQtZGlzYWJsZWQtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3N3YXRjaC0tdGV4dC1kaXNhYmxlZC1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtLXRleHQtZGlzYWJsZWQtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtLXRleHQtb3BhY2l0eTogMC42NSAhZGVmYXVsdDtcblxuJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtb2Zmc2V0OiAoXG4gICAgJHN3YXRjaGVzX3N3YXRjaC1ib3JkZXItd2lkdGggKyAkc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtd2lkdGhcbikgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfc3dhdGNoLW91dGxpbmU6ICRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS13aWR0aCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtLWhvdmVyLW91dGxpbmU6ICRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS13aWR0aCBzb2xpZFxuICAgICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc19zd2F0Y2gtLXNlbGVjdGVkLW91dGxpbmU6ICRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS13aWR0aCBzb2xpZFxuICAgICRjb2xvcl9wcmltYXJ5LTgwMCAhZGVmYXVsdDtcblxuJHN3YXRjaGVzX3Jvd3MtZ3V0dGVyOiAkc3dhdGNoZXNfc3dhdGNoLWd1dHRlciAqIDIgIWRlZmF1bHQ7XG5cbiRzd2F0Y2hlcy0tdGlsZV9mb250LXNpemU6IDAuNDVlbSAhZGVmYXVsdDtcbi8vIFRlbGxzIGhvdyBtYW55IHJvd3Mgb2Ygc3dhdGNoZXMgd2lsbCBiZSBkaXNwbGF5ZWQgaW5zaWRlIHRpbGUgY29tcG9uZW50LlxuJHN3YXRjaGVzLS10aWxlX251bS1vZi1yb3dzOiAxICFkZWZhdWx0O1xuLy8gQ2FsY3VsYXRlcyBob3cgbXVjaCBzcGFjZSBzaG91bGQgYmUgcmVzZXJ2ZWQgaW4gdGlsZSBmb3Igc3dhdGNoZXMgdG8gcHJldmVudCBjb250ZW50IGZyb20ganVtcGluZy5cbiRzd2F0Y2hlcy0tdGlsZV9taW4taGVpZ2h0OiBjYWxjKFxuICAgICN7JHN3YXRjaGVzLS10aWxlX251bS1vZi1yb3dzfSAqICgjeyRzd2F0Y2hlc19zd2F0Y2gtaGVpZ2h0fSArICN7JHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLW9mZnNldCAqXG4gICAgICAgICAgICAgICAgMn0pXG4pO1xuJHN3YXRjaGVzLS1wZHBfZm9udC1zaXplOiAwLjllbSAhZGVmYXVsdDtcbiRzd2F0Y2hlcy0tZmlsdGVyc19mb250LXNpemU6IDAuOGVtICFkZWZhdWx0O1xuXG4vLyBUb29sdGlwcyBmb3Igc3dhdGNoZXNcbiRzd2F0Y2hlc190b29sdGlwLWJhY2tncm91bmQ6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1yYWRpdXM6IDAuNXJlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1zaXplOiAwLjFyZW0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItY29sb3I6ICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLWZvbnQtc2l6ZTogMS4zcmVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLW1pbi13aWR0aDogMnJlbSAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLWFycm93LXNob3c6IHRydWUgIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1zaXplOiAxcmVtICFkZWZhdWx0O1xuJHN3YXRjaGVzX3Rvb2x0aXAtYXJyb3ctb2Zmc2V0LXg6IDUwJSAhZGVmYXVsdDtcbiRzd2F0Y2hlc190b29sdGlwLXRleHQtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcblxuJHN3YXRjaGVzX3Rvb2x0aXAtdGh1bWJuYWlsLWRhdGE6IGRlZXAtZ2V0KFxuICAgICR2aWV3LXhtbCxcbiAgICBtZWRpYSxcbiAgICBpbWFnZXMsXG4gICAgaW1hZ2UsXG4gICAgc3dhdGNoX3RodW1iXG4pICFkZWZhdWx0O1xuXG4kc3dhdGNoZXNfdG9vbHRpcC10aHVtYm5haWwtd2lkdGg6ICN7bWFwLWdldChcbiAgICAgICAgJHN3YXRjaGVzX3Rvb2x0aXAtdGh1bWJuYWlsLWRhdGEsXG4gICAgICAgIHdpZHRoXG4gICAgKX0gIWRlZmF1bHQ7XG4kc3dhdGNoZXNfdG9vbHRpcC10aHVtYm5haWwtaGVpZ2h0OiAje21hcC1nZXQoXG4gICAgICAgICRzd2F0Y2hlc190b29sdGlwLXRodW1ibmFpbC1kYXRhLFxuICAgICAgICBoZWlnaHRcbiAgICApfSAhZGVmYXVsdDtcblxuLy8gQ29udGFpbmVyIHNlbGVjdG9yIGZvciBzd2F0Y2hlcyBpbiB0aWxlIGFuZCBkYWlseSBkZWFsIHRlYXNlci5cbltjbGFzc149J3N3YXRjaC1vcHQtJ10ge1xuICAgIGZvbnQtc2l6ZTogJHN3YXRjaGVzLS10aWxlX2ZvbnQtc2l6ZTtcbiAgICBtaW4taGVpZ2h0OiAkc3dhdGNoZXMtLXRpbGVfbWluLWhlaWdodDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIEBpZiAkc3dhdGNoZXMtLWNsaWNrYWJsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+dGFibGV0Jykge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmVtcHR5IHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAvLyBJRSBuZWVkcyB0byBoYXZlIHdpZHRoIHNldCBleHBsaWNpdGx5XG4gICAgLmllMTEgJiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLy8gQ29udGFpbmVyIHNlbGVjdG9yIGZvciBzd2F0Y2hlcyBvbiBQRFBcbi5zd2F0Y2gtb3B0IHtcbiAgICBmb250LXNpemU6ICRzd2F0Y2hlcy0tcGRwX2ZvbnQtc2l6ZTtcblxuICAgIC8vIFNlbGVjdG9yIGZvciBlcnJvciBjb250YWluZXIgd2hlbiBzd2F0Y2hlcyBhcmUgcmVxdWlyZWQgYnV0IG5vdCBzZWxlY3RlZC5cbiAgICAubWFnZS1lcnJvciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoI3skc3dhdGNoZXNfbGFiZWwtd2lkdGh9ICsgI3skc3dhdGNoZXNfbGFiZWwtZ3V0dGVyfSk7XG5cbiAgICAgICAgQGlmICgkc3dhdGNoZXNfZnVsbC13aWR0aC1sYWJlbCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKFxuICAgICAgICAgICAgICAgICN7JHN3YXRjaGVzX2xhYmVsLXdpZHRoLWxhcHRvcC11cH0gKyAjeyRzd2F0Y2hlc19sYWJlbC1ndXR0ZXJ9XG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBAaWYgKCRzd2F0Y2hlc19mdWxsLXdpZHRoLWxhYmVsID09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnN3YXRjaC1hdHRyaWJ1dGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gVGhlIG9ubHkgc2VsZWN0b3Igd2UgaGF2ZSB0byB0ZWxsIHRoYXQgc3dhdGNoZXMgYXJlIGluc2lkZSBhZnRlcnNlYXJjaCBuYXZpZ2F0aW9uLlxuICAgICYuc3dhdGNoLWxheWVyZWQge1xuICAgICAgICBmb250LXNpemU6ICRzd2F0Y2hlcy0tZmlsdGVyc19mb250LXNpemU7XG4gICAgfVxuXG4gICAgJiArICYge1xuICAgICAgICBtYXJnaW4tdG9wOiAkc3dhdGNoZXNfcm93cy1ndXR0ZXI7XG4gICAgfVxufVxuXG4uc3dhdGNoLWF0dHJpYnV0ZS1sYWJlbCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogY2FsYyhcbiAgICAgICAgI3skc3dhdGNoZXNfc3dhdGNoLWhlaWdodH0gLSAjeyRzd2F0Y2hlc19zd2F0Y2gtYm9yZGVyLXdpZHRoICogMn0gKyAjeyRzd2F0Y2hlc19zd2F0Y2gtdGV4dC1vZmZzZXR9XG4gICAgKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogJHN3YXRjaGVzX2xhYmVsLWZvbnQtc2l6ZTtcbiAgICB3aWR0aDogJHN3YXRjaGVzX2xhYmVsLXdpZHRoO1xuICAgIG1hcmdpbi1yaWdodDogJHN3YXRjaGVzX2xhYmVsLWd1dHRlcjtcblxuICAgIEBpZiAoJHN3YXRjaGVzX2Z1bGwtd2lkdGgtbGFiZWwgPT0gdHJ1ZSkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgIHdpZHRoOiAkc3dhdGNoZXNfbGFiZWwtd2lkdGgtbGFwdG9wLXVwO1xuXG4gICAgICAgIEBpZiAoJHN3YXRjaGVzX2Z1bGwtd2lkdGgtbGFiZWwgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJzogJztcbiAgICAgICAgbGluZS1oZWlnaHQ6IGNhbGMoXG4gICAgICAgICAgICAjeyRzd2F0Y2hlc19zd2F0Y2gtaGVpZ2h0fSAtICN7JHN3YXRjaGVzX3N3YXRjaC1ib3JkZXItd2lkdGggKiAyfSArXG4gICAgICAgICAgICAgICAgI3skc3dhdGNoZXNfc3dhdGNoLXRleHQtb2Zmc2V0fVxuICAgICAgICApO1xuICAgIH1cbn1cblxuLnN3YXRjaC1hdHRyaWJ1dGUtc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbn1cblxuLnN3YXRjaC1hdHRyaWJ1dGUtb3B0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWxlZnQ6IC0jeyRzd2F0Y2hlc19zd2F0Y2gtZ3V0dGVyIC8gMn07XG4gICAgbWFyZ2luLWJvdHRvbTogLSN7JHN3YXRjaGVzX3N3YXRjaC1ndXR0ZXJ9O1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC5zd2F0Y2gtb3B0ICYge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKFxuICAgICAgICAgICAgMTAwJSAtICN7JHN3YXRjaGVzX2xhYmVsLWd1dHRlcn0gLSAjeyRzd2F0Y2hlc19sYWJlbC13aWR0aH1cbiAgICAgICAgKTtcblxuICAgICAgICBAaWYgKCRzd2F0Y2hlc19mdWxsLXdpZHRoLWxhYmVsID09IHRydWUpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYyhcbiAgICAgICAgICAgICAgICAxMDAlIC0gI3skc3dhdGNoZXNfbGFiZWwtZ3V0dGVyfSAtICN7JHN3YXRjaGVzX2xhYmVsLXdpZHRoLWxhcHRvcC11cH1cbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIEBpZiAoJHN3YXRjaGVzX2Z1bGwtd2lkdGgtbGFiZWwgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gRWxlbWVudCBhZGRlZCBhcyBhIHBhcmVudCBvZiAuc3dhdGNoLW9wdGlvbiBpbiBmaWx0ZXJzLlxuLnN3YXRjaC1vcHRpb24tbGluay1sYXllcmVkIHtcbiAgICBmb250LXNpemU6IDFlbTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4uc3dhdGNoLW9wdGlvbiB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLXdpZHRoOiAkc3dhdGNoZXNfc3dhdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3YXRjaGVzX3N3YXRjaC1oZWlnaHQ7XG4gICAgcGFkZGluZzogJHN3YXRjaGVzX3N3YXRjaC1wYWRkaW5nO1xuICAgIG1hcmdpbjogI3skc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtd2lkdGh9IGNhbGMoXG4gICAgICAgICAgICAjeyRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS13aWR0aH0gKyAjeyRzd2F0Y2hlc19zd2F0Y2gtZ3V0dGVyIC8gMn1cbiAgICAgICAgKSBjYWxjKCN7JHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lLXdpZHRofSArICN7JHN3YXRjaGVzX3N3YXRjaC1ndXR0ZXJ9KTtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dhdGNoZXNfc3dhdGNoLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN3YXRjaGVzX3N3YXRjaC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogJHN3YXRjaGVzX3N3YXRjaC1ib3JkZXI7XG4gICAgY29sb3I6ICRzd2F0Y2hlc19zd2F0Y2gtY29sb3I7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGxpbmUtaGVpZ2h0OiBjYWxjKFxuICAgICAgICAjeyRzd2F0Y2hlc19zd2F0Y2gtaGVpZ2h0fSAtICN7JHN3YXRjaGVzX3N3YXRjaC1ib3JkZXItd2lkdGggKiAyfSArICN7JHN3YXRjaGVzX3N3YXRjaC10ZXh0LW9mZnNldH1cbiAgICApO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGJvcmRlci1jb2xvciAwLjNzLCBvcGFjaXR5IDAuM3MsXG4gICAgICAgIGNvbG9yIDAuM3M7XG5cbiAgICBAaWYgJHN3YXRjaGVzX2Rpc2FibGUtc2hvdy1tb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLSRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS1vZmZzZXQ7XG4gICAgICAgIGxlZnQ6IC0kc3dhdGNoZXNfc3dhdGNoLW91dGxpbmUtb2Zmc2V0O1xuICAgICAgICByaWdodDogLSRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS1vZmZzZXQ7XG4gICAgICAgIGJvdHRvbTogLSRzd2F0Y2hlc19zd2F0Y2gtb3V0bGluZS1vZmZzZXQ7XG4gICAgICAgIGJvcmRlcjogJHN3YXRjaGVzX3N3YXRjaC1vdXRsaW5lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc3dhdGNoZXNfc3dhdGNoLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjNzO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvc3dhdGNoZXMvZGlzYWJsZWQuc3ZnKVxuICAgICAgICAgICAgcmdiYSgkY29sb3JfYmFja2dyb3VuZC02MDAsIDAuNSkgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHN3YXRjaGVzX3N3YXRjaC1oZWlnaHR9IC0gMS40ZW0pO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skc3dhdGNoZXNfc3dhdGNoLWhlaWdodH0gLSAxLjRlbSk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMC42ZW07XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAmOm5vdCguZGlzYWJsZWQpOm5vdCguc2VsZWN0ZWQpOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLS1ob3Zlci1ib3JkZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc3dhdGNoZXNfc3dhdGNoLS1ob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkc3dhdGNoZXNfc3dhdGNoLS1ob3Zlci1vdXRsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zZWxlY3RlZCB7XG4gICAgICAgIGJvcmRlcjogJHN3YXRjaGVzX3N3YXRjaC0tc2VsZWN0ZWQtYm9yZGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc3dhdGNoZXNfc3dhdGNoLS1zZWxlY3RlZC1iYWNrZ3JvdW5kO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogJHN3YXRjaGVzX3N3YXRjaC0tc2VsZWN0ZWQtb3V0bGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgICAgICYudGV4dCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAkc3dhdGNoZXNfc3dhdGNoLS10ZXh0LW9wYWNpdHk7XG4gICAgICAgICAgICBjb2xvcjogJHN3YXRjaGVzX3N3YXRjaC0tdGV4dC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzd2F0Y2hlc19zd2F0Y2gtLXRleHQtZGlzYWJsZWQtYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogJHN3YXRjaGVzX3N3YXRjaC0tdGV4dC1kaXNhYmxlZC1ib3JkZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmltYWdlLFxuICAgICAgICAmLmNvbG9yIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zd2F0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuXG4gICAgLy8gUmVzdG9yZSBvcmlnaW5hbCBzdHlsZXMgZnJvbSBNYWdlbnRvLlxuICAgIC8vIEl0IHByZXZlbnRzIGtleWJvYXJkIG9uIG1vYmlsZSB0byBiZSBzaG93biBhZnRlciBzd2F0Y2ggaXMgY2xpY2tlZFxuICAgIGxlZnQ6IC0xMDAwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnN3YXRjaC1tb3JlIHtcbiAgICBAaWYgJHN3YXRjaGVzX2Rpc2FibGUtc2hvdy1tb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAsXG4uc3dhdGNoLW9wdGlvbi10b29sdGlwLWxheWVyZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbjogJHN3YXRjaGVzX3Rvb2x0aXAtbWFyZ2luO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBiYWNrZ3JvdW5kOiAkc3dhdGNoZXNfdG9vbHRpcC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1yYWRpdXM7XG4gICAgY29sb3I6ICRzd2F0Y2hlc190b29sdGlwLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJHN3YXRjaGVzX3Rvb2x0aXAtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkc3dhdGNoZXNfdG9vbHRpcC1mb250LXdlaWdodDtcbiAgICBwYWRkaW5nOiAkc3dhdGNoZXNfdG9vbHRpcC1wYWRkaW5nO1xuICAgIHRleHQtYWxpZ246ICRzd2F0Y2hlc190b29sdGlwLXRleHQtYWxpZ247XG4gICAgbWluLXdpZHRoOiAkc3dhdGNoZXNfdG9vbHRpcC1taW4td2lkdGg7XG5cbiAgICBAaWYgKFxuICAgICAgICAkc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItc2l6ZSAhPVxuICAgICAgICAgICAgMCBhbmRcbiAgICAgICAgICAgICRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1zaXplICE9XG4gICAgICAgICAgICAnbm9uZSdcbiAgICApIHtcbiAgICAgICAgYm9yZGVyOiAkc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItc2l6ZVxuICAgICAgICAgICAgc29saWRcbiAgICAgICAgICAgICRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAuaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHdpZHRoOiAkc3dhdGNoZXNfdG9vbHRpcC10aHVtYm5haWwtd2lkdGggKyAncHgnO1xuICAgICAgICBoZWlnaHQ6ICRzd2F0Y2hlc190b29sdGlwLXRodW1ibmFpbC1oZWlnaHQgKyAncHgnO1xuICAgIH1cblxuICAgIC5jb3JuZXIge1xuICAgICAgICBAaWYgKCRzd2F0Y2hlc190b29sdGlwLWFycm93LXNob3cpIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICRzd2F0Y2hlc190b29sdGlwLWFycm93LXNpemU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1zaXplO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzd2F0Y2hlc190b29sdGlwLWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgbGVmdDogJHN3YXRjaGVzX3Rvb2x0aXAtYXJyb3ctb2Zmc2V0LXg7XG4gICAgICAgICAgICAgICAgQGlmICh1bml0KCRzd2F0Y2hlc190b29sdGlwLWFycm93LW9mZnNldC14KSA9PSAnJScpIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0jeyRzd2F0Y2hlc190b29sdGlwLWFycm93LW9mZnNldC14fSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaWYgKFxuICAgICAgICAgICAgICAgICAgICAkc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItc2l6ZSAhPVxuICAgICAgICAgICAgICAgICAgICAgICAgMCBhbmRcbiAgICAgICAgICAgICAgICAgICAgICAgICRzd2F0Y2hlc190b29sdGlwLWJvcmRlci1zaXplICE9XG4gICAgICAgICAgICAgICAgICAgICAgICAnbm9uZSdcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXNpemVcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvbGlkXG4gICAgICAgICAgICAgICAgICAgICAgICAkc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogJHN3YXRjaGVzX3Rvb2x0aXAtYm9yZGVyLXNpemVcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvbGlkXG4gICAgICAgICAgICAgICAgICAgICAgICAkc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGNhbGMoXG4gICAgICAgICAgICAgICAgICAgICAgICAtI3skc3dhdGNoZXNfdG9vbHRpcC1hcnJvdy1zaXplIC9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAyfSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skc3dhdGNoZXNfdG9vbHRpcC1ib3JkZXItc2l6ZX1cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLSN7JHN3YXRjaGVzX3Rvb2x0aXAtYXJyb3ctc2l6ZSAvIDJ9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zd2F0Y2gtb3B0aW9uLXRvb2x0aXAge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy10b3BiYXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICB6LWluZGV4OiAzMDI7IH1cbiAgLmNzLXRvcGJhci0taGlkZGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwNSUpOyB9XG4gIC5wYWdlLXByaW50IC5jcy10b3BiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLXRvcGJhcl9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLXRvcGJhcl9fd3JhcHBlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtdG9wYmFyX193cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMThweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5jcy10b3BiYXJfX3dyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDI1cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtdG9wYmFyX193cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4OyB9IH1cbiAgLmNzLXRvcGJhcl9faXRlbSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5jcy10b3BiYXJfX2l0ZW0tLWhvdGxpbmUge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmNzLXRvcGJhcl9faXRlbS0taG90bGluZSB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAuY3MtdG9wYmFyX19pdGVtLS1ob3RsaW5lIHVsIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAgIC5jcy10b3BiYXJfX2l0ZW0tLWhvdGxpbmUgdWwgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgLmNzLXRvcGJhcl9faXRlbS0taG90bGluZSBhIHtcbiAgICAgICAgcGFkZGluZzogOHB4IDAgMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLmNzLXRvcGJhcl9faXRlbS0taG90bGluZSBhIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICAgIC5jcy10b3BiYXJfX2l0ZW0tLWhvdGxpbmUgYTp2aXNpdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgICAgLmNzLXRvcGJhcl9faXRlbS0taG90bGluZSBhOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgICAgLmNzLXRvcGJhcl9faXRlbS0taG90bGluZSBhOmFjdGl2ZSwgLmNzLXRvcGJhcl9faXRlbS0taG90bGluZSBhOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgIC5jcy10b3BiYXJfX2l0ZW0tLWhvdGxpbmUgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAuY3MtdG9wYmFyX19pdGVtLS1ob3RsaW5lIGEge1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDE1cHggMCAwOyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAuY3MtdG9wYmFyX19pdGVtLS1ob3RsaW5lIGEge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4IDAgMDsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmNzLXRvcGJhcl9faXRlbS0taG90bGluZSBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMzBweCAwOyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy10b3BiYXJfX2l0ZW0tLWhvdGxpbmUge1xuICAgICAgICAgIHdpZHRoOiBpbml0aWFsOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy10b3BiYXJfX2l0ZW0tLWhvdGxpbmUge1xuICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG4gICAgLmNzLXRvcGJhcl9faXRlbS0tYXV0aG9yaXphdGlvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMzBweDsgfVxuICAuY3MtdG9wYmFyX19waG9uZS1udW1iZXIge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjlyZW07IH1cbiAgICAuY3MtdG9wYmFyX19waG9uZS1udW1iZXI6aG92ZXIge1xuICAgICAgY29sb3I6ICNGRjQ2MDQ7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3V0aWxzL2xpbmsnO1xuXG4kdG9wYmFyX2JhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRvcGJhcl9oZWlnaHQ6IDIuN3JlbSAhZGVmYXVsdDtcblxuJHRvcGJhcl9pdGVtLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZV9jYXB0aW9uICFkZWZhdWx0O1xuJHRvcGJhcl9pdGVtLXRleHQtY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXJfaXRlbS1ob3Vycy1jb2xvcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuJHRvcGJhcl9pdGVtLWJvcmRlcjogMC4ycmVtIHNvbGlkICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXJfaXRlbS1ib3JkZXItdHJhbnNmb3JtOiAkdHJhbnNmb3JtX3NrZXctNDAwICFkZWZhdWx0O1xuJHRvcGJhcl9pdGVtLXBob25lX251bWJlci1jb2xvcjogJGNvbG9yX2JsYWNrICFkZWZhdWx0O1xuXG4kdG9wYmFyX2xpbmstY29sb3ItYWN0aW9uOiAkY29sb3Jfd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyX2xpbmstY29sb3I6ICRjb2xvcl93aGl0ZSAhZGVmYXVsdDtcblxuLiN7JG5zfXRvcGJhciB7XG4gICAgJHJvb3Q6ICY7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6ICR0b3BiYXJfaXRlbS1mb250LXNpemU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgIHotaW5kZXg6IDMwMjtcblxuICAgICYtLWhpZGRlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTA1JSk7XG4gICAgfVxuXG4gICAgLnBhZ2UtcHJpbnQgJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgcGFkZGluZzogMCAyNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgY29sb3I6ICR0b3BiYXJfaXRlbS10ZXh0LWNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICYtLWhvdGxpbmUge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGluaygkdG9wYmFyX2xpbmstY29sb3IsICR0b3BiYXJfbGluay1jb2xvci1hY3Rpb24pO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAwIDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxNXB4IDAgMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweCAwIDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDMwcHggMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PWxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tYXV0aG9yaXphdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Bob25lLW51bWJlciB7XG4gICAgICAgIGNvbG9yOiAkdG9wYmFyX2l0ZW0taG91cnMtY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45cmVtO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG5oMSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiAzLjJyZW07XG4gIGNvbG9yOiAjMjEyMTIxO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW46IDFyZW0gMCAycmVtOyB9XG5cbmgyIHtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXNpemU6IDIuOHJlbTtcbiAgY29sb3I6ICMyMTIxMjE7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjogMXJlbSAwIDJyZW07IH1cblxuaDMge1xuICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBjb2xvcjogIzIxMjEyMTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOiAxcmVtIDAgMnJlbTsgfVxuXG5oNCB7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGNvbG9yOiAjMjEyMTIxO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW46IDFyZW0gMCAycmVtOyB9XG5cbmg1IHtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgY29sb3I6ICMyMTIxMjE7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjogMXJlbSAwIDJyZW07IH1cblxuaDYge1xuICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBjb2xvcjogIzIxMjEyMTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOiAxcmVtIDAgMnJlbTsgfVxuXG5hLCBhOnZpc2l0ZWQge1xuICBjb2xvcjogI0ZGNzQ0MjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmE6aG92ZXIsIGE6Zm9jdXMsIGE6dmlzaXRlZDpob3ZlciwgYTp2aXNpdGVkOmZvY3VzIHtcbiAgY29sb3I6ICNGRjc0NDI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG51bCxcbm9sIHtcbiAgbWFyZ2luOiAwIDAgMi41cmVtO1xuICBwYWRkaW5nOiAwIDAgMCA0cmVtOyB9XG4gIHVsID4gbGksXG4gIG9sID4gbGkge1xuICAgIG1hcmdpbjogMCAwIDFyZW07IH1cblxuLmhpZGRlbi10aXRsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDA7XG4gIGZvbnQtc2l6ZTogMDsgfVxuXG4udGV4dC1ub3JtYWwge1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi50ZXh0LWJvbGQge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4udGV4dC11cHBlciB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcblxuaDEge1xuICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS0xKTtcbn1cblxuaDIge1xuICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS0yKTtcbn1cblxuaDMge1xuICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS0zKTtcbn1cblxuaDQge1xuICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS00KTtcbn1cblxuaDUge1xuICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS01KTtcbn1cblxuaDYge1xuICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS02KTtcbn1cblxuYSB7XG4gICAgQGluY2x1ZGUgbGluaygpO1xufVxuXG51bCxcbm9sIHtcbiAgICBAaW5jbHVkZSBsaXN0KCk7XG5cbiAgICA+IGxpIHtcbiAgICAgICAgQGluY2x1ZGUgbGlzdC1pdGVtKCk7XG4gICAgfVxufVxuXG4uaGlkZGVuLXRpdGxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lkdGg6IDA7XG4gICAgZm9udC1zaXplOiAwO1xufVxuXG4udGV4dC1ub3JtYWwge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4udGV4dC1ib2xkIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cbi50ZXh0LXVwcGVyIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuIiwiLyoqXG4gKiBVU1BzIGNvbXBvbmVudCBjdXN0b21pemF0aW9uLlxuICogQHNlZSAvTWFnZVN1aXRlX0NvbnRlbnRDb25zdHJ1Y3RvckZyb250ZW5kIGZvciBsYXlvdXQsIHRlbXBsYXRlcyBhbmQgaW1hZ2VzLlxuICogVVNQcyBjb21wb25lbnQgaXMgYmFzZWQgb24gSW1hZ2UgVGVhc2VyLlxuICovXG5AaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5cbiR1c3BzX3NsaWRlcy1wZXItdmlldzogKFxuICAgIHBob25lOiAxLFxuICAgIHBob25lTGc6IDIsXG4gICAgdGFibGV0OiAzLFxuICAgIGxhcHRvcDogNixcbikgIWRlZmF1bHQ7XG4kdXNwc19zbGlkZS1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kdXNwc19tYXgtaW1hZ2Utd2lkdGg6IDgwJSAhZGVmYXVsdDtcbiR1c3BzX21heC1pbWFnZS1oZWlnaHQ6IDYuNXJlbSAhZGVmYXVsdDtcbiR1c3BzX2ltYWdlLW1hcmdpbjogMCBhdXRvIDFyZW0gIWRlZmF1bHQ7XG4kdXNwc19zaG93LWNhcm91c2VsLWFycm93czogZmFsc2UgIWRlZmF1bHQ7XG5cbi4jeyRuc31pbWFnZS10ZWFzZXIge1xuICAgICRyb290OiAmO1xuXG4gICAgJi0tdXNwcyB7XG4gICAgICAgICN7JHJvb3R9X19zbGlkZXMge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fc2xpZGUge1xuICAgICAgICAgICAgbWFyZ2luOiAkdXNwc19zbGlkZS1tYXJnaW47XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCgjeyRyb290fS0tc2xpZGVyKSB7XG4gICAgICAgICAgICAjeyRyb290fV9fc2xpZGVzIHtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19pbWFnZSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICR1c3BzX21heC1pbWFnZS13aWR0aDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6ICR1c3BzX21heC1pbWFnZS1oZWlnaHQ7XG4gICAgICAgICAgICBtYXJnaW46ICR1c3BzX2ltYWdlLW1hcmdpbjtcblxuICAgICAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3RleHQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJHVzcHNfc2hvdy1jYXJvdXNlbC1hcnJvd3MgPT0gZmFsc2Uge1xuICAgICAgICAgICAgI3skcm9vdH1fX25hdiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyoqXG4gKiBVU1BzIGNvbXBvbmVudCBjdXN0b21pemF0aW9uLlxuICogQHNlZSAvTWFnZVN1aXRlX0NvbnRlbnRDb25zdHJ1Y3RvckZyb250ZW5kIGZvciBsYXlvdXQsIHRlbXBsYXRlcyBhbmQgaW1hZ2VzLlxuICogVVNQcyBjb21wb25lbnQgaXMgYmFzZWQgb24gSW1hZ2UgVGVhc2VyLlxuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWltYWdlLXRlYXNlci0tdXNwcyAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uY3MtaW1hZ2UtdGVhc2VyLS11c3BzIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5jcy1pbWFnZS10ZWFzZXItLXVzcHM6bm90KC5jcy1pbWFnZS10ZWFzZXItLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzIHtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuLmNzLWltYWdlLXRlYXNlci0tdXNwcyAuY3MtaW1hZ2UtdGVhc2VyX19pbWFnZSB7XG4gIG1heC13aWR0aDogODAlO1xuICBtYXgtaGVpZ2h0OiA2LjVyZW07XG4gIG1hcmdpbjogMCBhdXRvIDFyZW07IH1cbiAgLmllMTEgLmNzLWltYWdlLXRlYXNlci0tdXNwcyAuY3MtaW1hZ2UtdGVhc2VyX19pbWFnZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5jcy1pbWFnZS10ZWFzZXItLXVzcHMgLmNzLWltYWdlLXRlYXNlcl9fdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jcy1pbWFnZS10ZWFzZXItLXVzcHMgLmNzLWltYWdlLXRlYXNlcl9fbmF2IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKiBcbiAqIEZ1bmN0aW9uIHRvIGdldCB2YWx1ZSBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGJhc2VkIG9uIHNpZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFyaWFibGU6IHZhcmlhYmxlIHdpdGggYSBsaXN0IG9mIHZhbHVlcyAobGlrZSBwYWRkaW5ncywgbWFyZ2lucyBldGMuKTtcbiAqIEBwYXJhbSB7c3RyaW5nfSAkc2lkZTogc2lkZSAodXAgLyByaWdodCAvIGRvd24gLyBsZWZ0KSBmb3Igd2hpY2ggd2Ugd2FudCB0byBnZXQgdmFsdWVcbiAqIEV4YW1wbGU6XG4gKiAkY29tcG9uZW50X3BhZGRpbmc6IDFyZW0gMnJlbSAzcmVtO1xuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdyaWdodCcpIC8vIDJyZW1cbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAnYm90dG9tJykgLy8gM3JlbVxuICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIFJhZGlvIGFuZCBjaGVja2JveCBzdHlsaW5nICovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1zZWxlY3Qge1xuICBtaW4td2lkdGg6IDAuNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNTAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBvcGFjaXR5OiAwO1xuICBib3JkZXI6IG5vbmU7IH1cbiAgLmNzLXNlbGVjdC0tbW9iaWxlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA0OyB9XG5cbi5jcy1odG1sLXNlbGVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi13aWR0aDogMTVyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHotaW5kZXg6IDI7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDI5Ljk5ZW0pIHtcbiAgICAuY3MtaHRtbC1zZWxlY3Qge1xuICAgICAgbWluLXdpZHRoOiAxMnJlbTsgfSB9XG4gIC5jcy1odG1sLXNlbGVjdC5vcGVuIHtcbiAgICB6LWluZGV4OiA5OTsgfVxuICAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMTNyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB6LWluZGV4OiAzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgcGFkZGluZzogMTFweCAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuM2VtO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIG1heC1oZWlnaHQ6IDRyZW07XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLS1kaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5jcy1odG1sLXNlbGVjdC0tZXJyb3IgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2Y0NjY2NztcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxuICAgIC5jcy1odG1sLXNlbGVjdC0tb3BlbiAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXIsXG4gICAgLmNzLWh0bWwtc2VsZWN0Lm9wZW4gLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRjQ2MDQ7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYzsgfVxuICAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItdGV4dCB7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAycmVtOyB9XG4gIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQtYXJyb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldC1hcnJvdzpiZWZvcmUsIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldC1hcnJvdzphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDAuN3JlbTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkY2RjZGM7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyLCByaWdodCAwLjE1cyBsaW5lYXIsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyO1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93OmhvdmVyOmJlZm9yZSwgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93OmhvdmVyOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2RTZFNkU7IH1cbiAgICAuY3MtaHRtbC1zZWxlY3QtLW9wZW4gLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93OmJlZm9yZSwgLmNzLWh0bWwtc2VsZWN0LS1vcGVuIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldC1hcnJvdzphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93OmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICByaWdodDogMS43cmVtOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0X190cmlnZ2VyLWNhcmV0LWFycm93OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICByaWdodDogMS4ycmVtOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0LS1vcGVuIC5jcy1odG1sLXNlbGVjdF9fdHJpZ2dlci1jYXJldC1hcnJvdzpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgIC5jcy1odG1sLXNlbGVjdC0tb3BlbiAuY3MtaHRtbC1zZWxlY3RfX3RyaWdnZXItY2FyZXQtYXJyb3c6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gIC5jcy1odG1sLXNlbGVjdF9fbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRkY0NjA0O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAxcHggNXB4IDAgcmdiYSgxMDAsIDEwMCwgMTAwLCAwLjIpO1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0LS1vcGVuIC5jcy1odG1sLXNlbGVjdF9fbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuY3MtaHRtbC1zZWxlY3QtLWF1dG9zdWdnZXN0Om5vdCguY3MtaHRtbC1zZWxlY3QtLW9wZW4pIC5jcy1odG1sLXNlbGVjdF9fbWVudSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiBub25lOyB9XG4gIC5jcy1odG1sLXNlbGVjdF9fbWVudS1saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5jcy1odG1sLXNlbGVjdF9fbWVudS1pdGVtIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItdG9wOiBub25lOyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0X19tZW51LWl0ZW0tLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1odG1sLXNlbGVjdF9fbWVudS1saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgIGhlaWdodDogMi44ZW07XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBsaW5lYXIsIGNvbG9yIDAuMTVzIGxpbmVhcjsgfVxuICAgIC5jcy1odG1sLXNlbGVjdF9fbWVudS1pdGVtLS1zZWxlY3RlZCAuY3MtaHRtbC1zZWxlY3RfX21lbnUtbGluayB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAuY3MtaHRtbC1zZWxlY3RfX21lbnUtbGluazpob3ZlciwgLmNzLWh0bWwtc2VsZWN0X19tZW51LWxpbms6Zm9jdXMsXG4gICAgLmNzLWh0bWwtc2VsZWN0X19tZW51LWl0ZW0tLWZvY3VzZWQgLmNzLWh0bWwtc2VsZWN0X19tZW51LWxpbmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAuY3MtaHRtbC1zZWxlY3RfX21lbnUtaXRlbS10ZXh0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cbiAgLmNzLWh0bWwtc2VsZWN0X190ZXh0LWltYWdlLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY3MtaHRtbC1zZWxlY3RfX3RodW1ibmFpbCB7XG4gICAgd2lkdGg6IDIuNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLmNzLWh0bWwtc2VsZWN0LS1hdXRvc3VnZ2VzdCB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5jcy1odG1sLXNlbGVjdC0tYXV0b3N1Z2dlc3QgLmNzLWh0bWwtc2VsZWN0X19tZW51IHtcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgIG1heC1oZWlnaHQ6IDIyMHB4OyB9XG4gICAgLmNzLWh0bWwtc2VsZWN0LS1hdXRvc3VnZ2VzdCAuY3MtaHRtbC1zZWxlY3RfX21lbnUtbGlzdCB7XG4gICAgICBtYXgtaGVpZ2h0OiAyMjBweDsgfVxuICAgIC5jcy1odG1sLXNlbGVjdC0tYXV0b3N1Z2dlc3Q6bm90KC5jcy1odG1sLXNlbGVjdC0tYW5pbWF0ZSkgLmNzLWh0bWwtc2VsZWN0X19tZW51IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cblxuc2VsZWN0LFxuLnN1cGVyLWF0dHJpYnV0ZS1zZWxlY3Qge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1zLWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1vLWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGhlaWdodDogNDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQjZCRUM1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvc2VsZWN0LWljb24uc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCB0b3A7XG4gIGNvbG9yOiAjNkU2RTZFO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgcGFkZGluZzogMTBweCA1MHB4IDEwcHggMTJweDsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnY29tcG9uZW50cy9maWVsZC9taXhpbi5zY3NzJztcbkBpbXBvcnQgJ3V0aWxzL3Jlc2V0LWxpc3Qtc3R5bGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wc2V1ZG9pY29uL21peGluJztcblxuJGh0bWwtc2VsZWN0X3RyaWdnZXItZm9udC1zaXplOiAxLjJyZW0gIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfdHJpZ2dlci1saW5lLWhlaWdodDogJGZpZWxkX3NlbGVjdC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF90cmlnZ2VyLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfdHJpZ2dlci1zZWxlY3RfY29sb3I6ICRmaWVsZF9zZWxlY3QtY29sb3IgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfdHJpZ2dlci1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfdHJpZ2dlci1wYWRkaW5nOiAkZmllbGRfc2VsZWN0LXBhZGRpbmcgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfdHJpZ2dlci1wYWRkaW5nLXJpZ2h0OiAkZmllbGRfc2VsZWN0LXBhZGRpbmctcmlnaHQgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfdHJpZ2dlci1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X3RyaWdnZXItYm9yZGVyOiAkZmllbGRfc2VsZWN0LWJvcmRlciAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF90cmlnZ2VyLWJvcmRlci1hY3RpdmU6IDFweCBzb2xpZCAkY29sb3ItcHJpbWFyeV81MDAgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfdHJpZ2dlci1ib3gtc2hhZG93OiAkZmllbGRfc2VsZWN0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRodG1sLXNlbGVjdF9jYXJldC1jb2xvcjogJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfY2FyZXQtYWN0aXZlLWNvbG9yOiAkY29sb3ItcHJpbWFyeV81MDAgIWRlZmF1bHQ7XG5cbiRodG1sLXNlbGVjdF9pdGVtLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF9pdGVtLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG4kaHRtbC1zZWxlY3RfaXRlbS1ob3Zlci1jb2xvcjogJGNvbG9yX3RleHQtMjAwICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X2l0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZDogJGNvbG9yX3ByaW1hcnktNTAwICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X2l0ZW0tc2VsZWN0ZWQtY29sb3I6ICRjb2xvcl90ZXh0LTIwMCAhZGVmYXVsdDtcblxuJGh0bWwtc2VsZWN0X21lbnUtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJGh0bWwtc2VsZWN0X21lbnUtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXNfYmFzZSAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF9tZW51LWJveC1zaGFkb3c6IDAgMXB4IDVweCAwIHJnYmEoMTAwLCAxMDAsIDEwMCwgMC4yKSAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF9tZW51LWJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcblxuJGh0bWwtc2VsZWN0X2l0ZW0tYm9yZGVyLXRvcDogbm9uZSAhZGVmYXVsdDtcbiRodG1sLXNlbGVjdF9pdGVtLWhlaWdodDogMi44ZW0gIWRlZmF1bHQ7XG5cbiRodG1sLXNlbGVjdF9kaXNhYmxlZC1vcGFjaXR5OiAkZmllbGRfc2VsZWN0LWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG5cbiRzZWxlY3RfYm94LWJvcmRlci1jb2xvcjogJGZvcm1fZmllbGQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLyBzZWxlY3Rcbi8vIEN1c3RvbSBIVE1MIHNlbGVjdCB2ZXJzaW9uIG9mIG5hdGl2ZSBzZWxlY3Qgd2l0aCBuYXRpdmUgZmFsbGJhY2sgb24gbW9iaWxlc1xuLy9cbi8vIFNlZSBodHRwOi8vd2FycHNwaXJlLmNvbS9rc3MvIGZvciBkb2N1bWVudGF0aW9uIGd1aWRlbGluZXMuXG4vLyBWZXJzaW9uIDAuMC4xXG5cbi4jeyRuc31zZWxlY3Qge1xuICAgIG1pbi13aWR0aDogMC41cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAmLS1tb2JpbGUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogNDtcbiAgICB9XG59XG5cbi4jeyRuc31odG1sLXNlbGVjdCB7XG4gICAgJHJvb3Q6ICY7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLXdpZHRoOiAxNXJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHBob25lJykge1xuICAgICAgICBtaW4td2lkdGg6IDEycmVtO1xuICAgIH1cblxuICAgICYub3BlbiB7XG4gICAgICAgIHotaW5kZXg6IDk5O1xuICAgIH1cblxuICAgICZfX3RyaWdnZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMTNyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJhY2tncm91bmQ6ICRodG1sLXNlbGVjdF90cmlnZ2VyLWJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlcjogJGh0bWwtc2VsZWN0X3RyaWdnZXItYm9yZGVyO1xuICAgICAgICBwYWRkaW5nOiAkaHRtbC1zZWxlY3RfdHJpZ2dlci1wYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaHRtbC1zZWxlY3RfdHJpZ2dlci1wYWRkaW5nLXJpZ2h0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkaHRtbC1zZWxlY3RfdHJpZ2dlci1ib3JkZXItcmFkaXVzO1xuICAgICAgICBib3gtc2hhZG93OiAkaHRtbC1zZWxlY3RfdHJpZ2dlci1ib3gtc2hhZG93O1xuICAgICAgICBmb250LXNpemU6ICRodG1sLXNlbGVjdF90cmlnZ2VyLWZvbnQtc2l6ZTtcbiAgICAgICAgbWF4LWhlaWdodDogNHJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAmLS1kaXNhYmxlZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAkaHRtbC1zZWxlY3RfZGlzYWJsZWQtb3BhY2l0eTtcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZXJyb3IgJiB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNmNDY2Njc7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tb3BlbiAmLFxuICAgICAgICAjeyRyb290fS5vcGVuICYge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgICAgYm9yZGVyOiAkaHRtbC1zZWxlY3RfdHJpZ2dlci1ib3JkZXItYWN0aXZlO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGh0bWwtc2VsZWN0X3RyaWdnZXItYm9yZGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdHJpZ2dlci10ZXh0IHtcbiAgICAgICAgY29sb3I6ICRodG1sLXNlbGVjdF90cmlnZ2VyLXNlbGVjdF9jb2xvcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRodG1sLXNlbGVjdF90cmlnZ2VyLWxpbmUtaGVpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogJGh0bWwtc2VsZWN0X3RyaWdnZXItZm9udC13ZWlnaHQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBmb250LXNpemU6ICRodG1sLXNlbGVjdF90cmlnZ2VyLWZvbnQtc2l6ZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICAgIH1cblxuICAgICZfX3RyaWdnZXItY2FyZXQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cblxuICAgICZfX3RyaWdnZXItY2FyZXQtYXJyb3cge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBAaW5jbHVkZSBwc2V1ZG9pY29uKFxuICAgICAgICAgICAgJHR5cGU6ICdhcnJvdycsXG4gICAgICAgICAgICAkY29sb3I6ICRodG1sLXNlbGVjdF9jYXJldC1jb2xvcixcbiAgICAgICAgICAgICRjb2xvci1leHBhbmRlZDogJGh0bWwtc2VsZWN0X2NhcmV0LWFjdGl2ZS1jb2xvcixcbiAgICAgICAgICAgICR3aWR0aDogMC43cmVtLFxuICAgICAgICAgICAgJGhlaWdodDogMXB4LFxuICAgICAgICAgICAgJGFycm93LWRlZmF1bHQ6ICdkb3duJyxcbiAgICAgICAgICAgICRhcnJvdy1hY3RpdmU6ICd1cCcsXG4gICAgICAgICAgICAkcG9zaXRpb24tc2lkZS1vZmZzZXQ6IDEuMnJlbSxcbiAgICAgICAgICAgICRhcnJvdy1vZmZzZXQ6IDEuN3JlbSxcbiAgICAgICAgICAgICRhY3RpdmUtc2VsZWN0b3I6ICcjeyRyb290fS0tb3BlbiAmJ1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX21lbnUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAkaHRtbC1zZWxlY3RfbWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci10b3A6ICRodG1sLXNlbGVjdF90cmlnZ2VyLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGh0bWwtc2VsZWN0X21lbnUtYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRodG1sLXNlbGVjdF9tZW51LWJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRodG1sLXNlbGVjdF9tZW51LWJhY2tncm91bmQ7XG4gICAgICAgIGJveC1zaGFkb3c6ICRodG1sLXNlbGVjdF9tZW51LWJveC1zaGFkb3c7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblxuICAgICAgICAjeyRyb290fS0tb3BlbiAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1hdXRvc3VnZ2VzdDpub3QoI3skcm9vdH0tLW9wZW4pICYge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21lbnUtbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcbiAgICB9XG5cbiAgICAmX19tZW51LWl0ZW0ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci10b3A6ICRodG1sLXNlbGVjdF9pdGVtLWJvcmRlci10b3A7XG5cbiAgICAgICAgJi0taGlkZGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZW51LWxpbmsge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgICAgICBoZWlnaHQ6ICRodG1sLXNlbGVjdF9pdGVtLWhlaWdodDtcbiAgICAgICAgY29sb3I6ICRodG1sLXNlbGVjdF9pdGVtLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaHRtbC1zZWxlY3RfaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgbGluZWFyLCBjb2xvciAwLjE1cyBsaW5lYXI7XG5cbiAgICAgICAgI3skcm9vdH1fX21lbnUtaXRlbS0tc2VsZWN0ZWQgJiB7XG4gICAgICAgICAgICBjb2xvcjogJGh0bWwtc2VsZWN0X2l0ZW0tc2VsZWN0ZWQtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaHRtbC1zZWxlY3RfaXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgI3skcm9vdH1fX21lbnUtaXRlbS0tZm9jdXNlZCAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRodG1sLXNlbGVjdF9pdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogJGh0bWwtc2VsZWN0X2l0ZW0taG92ZXItY29sb3I7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWVudS1pdGVtLXRleHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuXG4gICAgJl9fdGV4dC1pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX190aHVtYm5haWwge1xuICAgICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICB9XG5cbiAgICAmLS1hdXRvc3VnZ2VzdCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgI3skcm9vdH1fX21lbnUge1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMjIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fbWVudS1saXN0IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoI3skcm9vdH0tLWFuaW1hdGUpICN7JHJvb3R9X19tZW51IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuc2VsZWN0LFxuLnN1cGVyLWF0dHJpYnV0ZS1zZWxlY3Qge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTpub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTpub25lO1xuICAgIC1tcy1hcHBlYXJhbmNlOm5vbmU7XG4gICAgLW8tYXBwZWFyYW5jZTpub25lO1xuICAgIGFwcGVhcmFuY2U6bm9uZTtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAkaHRtbC1zZWxlY3RfdHJpZ2dlci1mb250LXNpemU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHNlbGVjdF9ib3gtYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl93aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvc2VsZWN0LWljb24uc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgdG9wO1xuICAgIGNvbG9yOiAkY29sb3JfZ3JheTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHBhZGRpbmc6IDEwcHggNTBweCAxMHB4IDEycHg7XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTMwXG4gKi9cbi5jcy12aXN1YWxseS1oaWRkZW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgLyogMSAqLyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3V0aWxzL3Zpc3VhbGx5LWhpZGRlbic7XG5cbi4jeyRuc312aXN1YWxseS1oaWRkZW4ge1xuICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbjtcbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKioqXG4gKiBSZW1vdmUgYnJvd3NlcidzIG1hcmdpbnMsIHBhZGRpbmdzIGFuZCBsaXN0IHN0eWxlIHJ1bGVzXG4gKi9cbi5jcy1pZTExLW1vZGFsLm1vZGFsLXNsaWRlIHtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNzLWllMTEtbW9kYWwubW9kYWwtc2xpZGUgLm1vZGFsLWlubmVyLXdyYXAge1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA3OHJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIC5jcy1pZTExLW1vZGFsLm1vZGFsLXNsaWRlIC5tb2RhbC1pbm5lci13cmFwIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNzLWllMTEtbW9kYWwubW9kYWwtc2xpZGUgLmFjdGlvbi1jbG9zZSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxLjhyZW0gMS44cmVtO1xuICAgIG1hcmdpbjogMi41cmVtOyB9XG4gIC5jcy1pZTExLW1vZGFsLm1vZGFsLXNsaWRlIC5tb2RhbC1mb290ZXIge1xuICAgIHBhZGRpbmc6IDJyZW0gMDtcbiAgICBtYXJnaW46IDAgM3JlbTtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmNzLWllMTEtbW9kYWwuX3Nob3cgLmNzLWllMTEtbW9kYWxfX2lubmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uY3MtaWUxMS1tb2RhbF9faW5uZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAwIDNyZW07XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBjb2xvcjogIzIxMjEyMTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5jcy1pZTExLW1vZGFsX19oZWFkZXIsIC5jcy1pZTExLW1vZGFsX19ib2R5IHtcbiAgcGFkZGluZzogMnJlbSAwOyB9XG5cbi5jcy1pZTExLW1vZGFsX19oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5jcy1pZTExLW1vZGFsX19oZWFkZXItaWNvbiB7XG4gIHdpZHRoOiA3cmVtO1xuICBoZWlnaHQ6IDdyZW07XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cblxuLmNzLWllMTEtbW9kYWxfX2hlYWRlci10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMy41cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmNzLWllMTEtbW9kYWxfX2JvZHkge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RjZGNkYztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7IH1cblxuLmNzLWllMTEtbW9kYWxfX3BhcmFncmFwaCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAuY3MtaWUxMS1tb2RhbF9fcGFyYWdyYXBoLS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmNzLWllMTEtbW9kYWxfX2xpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5jcy1pZTExLW1vZGFsX19saXN0LWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTMwJTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5jcy1pZTExLW1vZGFsX19pdGVtLWxvZ28ge1xuICB3aWR0aDogMy44cmVtO1xuICBoZWlnaHQ6IDMuOHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiAwOyB9XG4gIC5pZTExIC5jcy1pZTExLW1vZGFsX19pdGVtLWxvZ28ge1xuICAgIHdpZHRoOiA0cmVtO1xuICAgIGhlaWdodDogNHJlbTsgfVxuXG4uY3MtaWUxMS1tb2RhbF9faXRlbS1uYW1lIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uaWUxMSAubW9kYWwtcG9wdXA6bm90KC5jcy12aWRlLXBsYXllcl9fbW9kYWwpIC5tb2RhbC1jb250ZW50IHtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd2ZW5kb3JzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAndXRpbHMvcmVzZXQtbGlzdC1zdHlsZSc7XG5cbiRpZTExX21vZGFsLWJhY2tncm91bmQ6ICRjb2xvcl9iYWNrZ3JvdW5kLTIwMCAhZGVmYXVsdDtcbiRpZTExX21vZGFsLXBhZGRpbmctLXZlcnRpY2FsOiAycmVtICFkZWZhdWx0O1xuJGllMTFfbW9kYWwtcGFkZGluZy0taG9yaXpvbnRhbDogM3JlbSAhZGVmYXVsdDtcbiRpZTExX21vZGFsLXNlY3Rpb24tYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG4kaWUxMV9tb2RhbC1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuJGllMTFfbW9kYWwtZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG5cbi5jcy1pZTExLW1vZGFsIHtcbiAgICAkcm9vdDogJjtcblxuICAgICYubW9kYWwtc2xpZGUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAubW9kYWwtaW5uZXItd3JhcCB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNzhyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWUxMV9tb2RhbC1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICAgICAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24tY2xvc2Uge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxLjhyZW0gMS44cmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAyLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAubW9kYWwtZm9vdGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRpZTExX21vZGFsLXBhZGRpbmctLXZlcnRpY2FsIDA7XG4gICAgICAgICAgICBtYXJnaW46IDAgJGllMTFfbW9kYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLl9zaG93IHtcbiAgICAgICAgI3skcm9vdH1fX2lubmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDAgJGllMTFfbW9kYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgICAgICAgZm9udC1zaXplOiAkaWUxMV9tb2RhbC1mb250LXNpemU7XG4gICAgICAgIGNvbG9yOiAkaWUxMV9tb2RhbC1jb2xvcjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgICZfX2hlYWRlcixcbiAgICAmX19ib2R5IHtcbiAgICAgICAgcGFkZGluZzogJGllMTFfbW9kYWwtcGFkZGluZy0tdmVydGljYWwgMDtcbiAgICB9XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2hlYWRlci1pY29uIHtcbiAgICAgICAgd2lkdGg6IDdyZW07XG4gICAgICAgIGhlaWdodDogN3JlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGllMTFfbW9kYWwtcGFkZGluZy0tdmVydGljYWw7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19ib2R5IHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGllMTFfbW9kYWwtc2VjdGlvbi1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRpZTExX21vZGFsLXNlY3Rpb24tYm9yZGVyO1xuICAgIH1cblxuICAgICZfX3BhcmFncmFwaCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGllMTFfbW9kYWwtcGFkZGluZy0tdmVydGljYWw7XG5cbiAgICAgICAgJi0tdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgfVxuXG4gICAgJl9fbGlzdC1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmX19pdGVtLWxvZ28ge1xuICAgICAgICB3aWR0aDogMy44cmVtO1xuICAgICAgICBoZWlnaHQ6IDMuOHJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtLW5hbWUge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbn1cblxuLmllMTEgLm1vZGFsLXBvcHVwOm5vdCguY3MtdmlkZS1wbGF5ZXJfX21vZGFsKSAubW9kYWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLXB3YS1ub3RpZmljYXRpb24uX3Nob3cge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgdG9wOiBhdXRvO1xuICBoZWlnaHQ6IDE1cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBvdmVyZmxvdy15OiB2aXNpYmxlOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uLl9zaG93IC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIC0wLjNyZW0gMC41cmVtIDAgcmdiYSgwLCAwLCAwLCAwLjE1KTsgfVxuXG4uY3MtcHdhLW5vdGlmaWNhdGlvbl9fdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDJyZW07XG4gIGZvbnQtc2l6ZTogMS44cmVtOyB9XG5cbi5jcy1wd2Etbm90aWZpY2F0aW9uX19jb250ZW50IHtcbiAgcGFkZGluZzogMC41cmVtIDJyZW0gMXJlbTsgfVxuXG4uY3MtcHdhLW5vdGlmaWNhdGlvbl9fZm9vdGVyIHtcbiAgcGFkZGluZzogMC41cmVtIDJyZW0gMnJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICBwYWRkaW5nOiA4cHggMjVweDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgei1pbmRleDogNTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uLm1lZGl1bSB7XG4gICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b24ubGFyZ2Uge1xuICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbiwgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbjp2aXNpdGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uICosIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b246dmlzaXRlZCAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3NDQyOyB9XG4gICAgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLXB3YS1ub3RpZmljYXRpb25fX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gIC5jcy1wd2Etbm90aWZpY2F0aW9uX19idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGN1cnNvcjogYXV0bzsgfVxuICAuY3MtcHdhLW5vdGlmaWNhdGlvbl9fYnV0dG9uIHNwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuXG4uY3MtcHdhLW5vdGlmaWNhdGlvbiArIC5tb2RhbHMtb3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcblxuJHB3YS1ub3RpZmljYXRpb25fYm94LXNoYWRvdzogMCAtMC4zcmVtIDAuNXJlbSAwIHJnYmEoMCwgMCwgMCwgMC4xNSkgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbl9iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG4kcHdhLW5vdGlmaWNhdGlvbl9idXR0b24tdHlwZTogJ3ByaW1hcnknICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb25faGlkZS1tb2RhbC1vdmVybGF5OiB0cnVlICFkZWZhdWx0O1xuJHB3YS1ub3RpZmljYXRpb25faGVhZGxpbmUtZm9udC1zaXplOiAkZm9udC1zaXplX2hlYWRsaW5lLTMgIWRlZmF1bHQ7XG4vLyAkcmV2aWV3X3RpdGxlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4vLyAkcmV2aWV3X3RpdGxlLWNvbG9yOiAkY29sb3JfdGV4dC04MDAgIWRlZmF1bHQ7XG4vLyAkcmV2aWV3X2F1dGhvci1jb2xvcjogJGNvbG9yX3RleHQtODAwICFkZWZhdWx0O1xuLy8gJHJldmlld19jb250ZW50LWNvbG9yOiAkY29sb3JfdGV4dC00MDAgIWRlZmF1bHQ7XG4vLyAkcmV2aWV3X2RhdGUtY29sb3I6ICRjb2xvcl90ZXh0LTQwMCAhZGVmYXVsdDtcbi8vICRyZXZpZXdfbWV0YS1pdGVtLWZvbnQtc2l6ZTogMC45ZW0gIWRlZmF1bHQ7XG4vLyAkcmV2aWV3X21ldGEtaXRlbS1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbi8vICRyZXZpZXdfaGlkZS1jb21wb3VuZC1yYXRpbmdzOiBmYWxzZSAhZGVmYXVsdDtcblxuLiN7JG5zfXB3YS1ub3RpZmljYXRpb24ge1xuICAgICYuX3Nob3cge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDE1cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuXG4gICAgICAgIC5tb2RhbC1pbm5lci13cmFwIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHB3YS1ub3RpZmljYXRpb25fYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRwd2Etbm90aWZpY2F0aW9uX2JveC1zaGFkb3c7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAkcHdhLW5vdGlmaWNhdGlvbl9oZWFkbGluZS1mb250LXNpemU7XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAycmVtIDFyZW07XG4gICAgfVxuXG4gICAgJl9fZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDJyZW0gMnJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAkdHlwZTogJHB3YS1ub3RpZmljYXRpb25fYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRwd2Etbm90aWZpY2F0aW9uX2J1dHRvbi10eXBlXG4gICAgICAgICk7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAkdHlwZTogJHB3YS1ub3RpZmljYXRpb25fYnV0dG9uLXR5cGUsXG4gICAgICAgICAgICAgICAgJGljb25fcG9zOiAkcHdhLW5vdGlmaWNhdGlvbl9idXR0b24tdHlwZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoJHB3YS1ub3RpZmljYXRpb25faGlkZS1tb2RhbC1vdmVybGF5ID09IHRydWUpIHtcbiAgICAgICAgJiArIC5tb2RhbHMtb3ZlcmxheSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmxvYWRpbmctbWFzayB7XG4gICAgJltkYXRhLXJvbGU9J21haW4tY3NzLWxvYWRlciddIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIFN3aXBlciA0LjQuNlxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcbiAqIGh0dHA6Ly93d3cuaWRhbmdlcm8udXMvc3dpcGVyL1xuICpcbiAqIENvcHlyaWdodCAyMDE0LTIwMTggVmxhZGltaXIgS2hhcmxhbXBpZGlcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2VcbiAqXG4gKiBSZWxlYXNlZCBvbjogRGVjZW1iZXIgMTksIDIwMThcbiAqL1xuLnN3aXBlci1jb250YWluZXIsIC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICAvKiBGaXggb2YgV2Via2l0IGZsaWNrZXJpbmcgKi9cbiAgei1pbmRleDogMTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1uby1mbGV4Ym94IC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLW5vLWZsZXhib3ggLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciwgLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMge1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uc3dpcGVyLXdyYXBwZXIsIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuLnN3aXBlci1jb250YWluZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLCAuc3dpcGVyLXdyYXBwZXIsIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7IH1cblxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuc3dpcGVyLXdyYXBwZXIsIC5zd2lwZXItY29udGFpbmVyLW11bHRpcm93ID4gLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIsIC5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSA+IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcyB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLnN3aXBlci1zbGlkZSwgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICAtd2Via2l0LWZsZXgtc2hyaW5rOiAwO1xuICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi5zd2lwZXItc2xpZGUtaW52aXNpYmxlLWJsYW5rIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qIEF1dG8gSGVpZ2h0ICovXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LFxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlciwgLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMge1xuICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodCwgLXdlYmtpdC10cmFuc2Zvcm07IH1cblxuLyogM0QgRWZmZWN0cyAqL1xuLnN3aXBlci1jb250YWluZXItM2Qge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMjAwcHg7XG4gIHBlcnNwZWN0aXZlOiAxMjAwcHg7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci13cmFwcGVyLCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci1jb250YWluZXItM2QgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTA7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCByaWdodCB0b3AsIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgYm90dG9tLCBsZWZ0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi8qIElFMTAgV2luZG93cyBQaG9uZSA4IEZpeGVzICovXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtaG9yaXpvbnRhbCxcbi5zd2lwZXItY29udGFpbmVyLXdwOC1ob3Jpem9udGFsID4gLnN3aXBlci13cmFwcGVyLFxuLnN3aXBlci1jb250YWluZXItd3A4LWhvcml6b250YWwgPiAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwsXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIsXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwgPiAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teDtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teDsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAyN3B4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIG1hcmdpbi10b3A6IC0yMnB4O1xuICB6LWluZGV4OiAxMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCxcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMzU7XG4gIGN1cnNvcjogYXV0bztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyMzAwN2FmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gIGxlZnQ6IDEwcHg7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMjclMkMyMkwyNyUyQzIyTDUlMkM0NGwtMi4xLTIuMUwyMi44JTJDMjJMMi45JTJDMi4xTDUlMkMwTDI3JTJDMjJMMjclMkMyMnonJTIwZmlsbCUzRCclMjMwMDdhZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICByaWdodDogMTBweDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMjclMkMyMkwyNyUyQzIyTDUlMkM0NGwtMi4xLTIuMUwyMi44JTJDMjJMMi45JTJDMi4xTDUlMkMwTDI3JTJDMjJMMjclMkMyMnonJTIwZmlsbCUzRCclMjNmZmZmZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFjayxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgLW8tdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB6LWluZGV4OiAxMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4vKiBDb21tb24gU3R5bGVzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24sXG4uc3dpcGVyLXBhZ2luYXRpb24tY3VzdG9tLFxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiBCdWxsZXRzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW1haW4ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2LXByZXYge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0LW5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwLjI7IH1cblxuYnV0dG9uLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1jbGlja2FibGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQ6ICMwMDdhZmY7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gIHJpZ2h0OiAxMHB4O1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDZweCAwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogOHB4OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMjAwbXMgdG9wLCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdG9wLCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3A7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgdG9wO1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDAgNHB4OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICBsZWZ0OiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdDtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwuc3dpcGVyLWNvbnRhaW5lci1ydGwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogMjAwbXMgcmlnaHQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0O1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4vKiBQcm9ncmVzcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6ICMwMDdhZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDRweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLFxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gIHdpZHRoOiA0cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBTY3JvbGxiYXIgKi9cbi5zd2lwZXItc2Nyb2xsYmFyLCAuY3MtaW1hZ2UtdGVhc2VyX19zY3JvbGxiYXIge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1zY3JvbGxiYXIsIC5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuY3MtaW1hZ2UtdGVhc2VyX19zY3JvbGxiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDElO1xuICBib3R0b206IDNweDtcbiAgei1pbmRleDogNTA7XG4gIGhlaWdodDogNXB4O1xuICB3aWR0aDogOTglOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1zY3JvbGxiYXIsIC5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLmNzLWltYWdlLXRlYXNlcl9fc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogM3B4O1xuICB0b3A6IDElO1xuICB6LWluZGV4OiA1MDtcbiAgd2lkdGg6IDVweDtcbiAgaGVpZ2h0OiA5OCU7IH1cblxuLnN3aXBlci1zY3JvbGxiYXItZHJhZywgLmNzLWltYWdlLXRlYXNlcl9fc2Nyb2xsYmFyLS1kcmFnIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1jdXJzb3ItZHJhZyB7XG4gIGN1cnNvcjogbW92ZTsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpcGVyLXpvb20tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGltZyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBzdmcsXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gY2FudmFzIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAtby1vYmplY3QtZml0OiBjb250YWluO1xuICBvYmplY3QtZml0OiBjb250YWluOyB9XG5cbi5zd2lwZXItc2xpZGUtem9vbWVkIHtcbiAgY3Vyc29yOiBtb3ZlOyB9XG5cbi8qIFByZWxvYWRlciAqL1xuLnN3aXBlci1sYXp5LXByZWxvYWRlciB7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0yMXB4O1xuICBtYXJnaW4tdG9wOiAtMjFweDtcbiAgei1pbmRleDogMTA7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlOyB9XG5cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXI6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxMjAlMjAxMjAnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHhtbG5zJTNBeGxpbmslM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmsnJTNFJTNDZGVmcyUzRSUzQ2xpbmUlMjBpZCUzRCdsJyUyMHgxJTNEJzYwJyUyMHgyJTNEJzYwJyUyMHkxJTNEJzcnJTIweTIlM0QnMjcnJTIwc3Ryb2tlJTNEJyUyMzZjNmM2YyclMjBzdHJva2Utd2lkdGglM0QnMTEnJTIwc3Ryb2tlLWxpbmVjYXAlM0Qncm91bmQnJTJGJTNFJTNDJTJGZGVmcyUzRSUzQ2clM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg2MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoOTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDEyMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTUwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMzcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxODAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy40NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDIxMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjU2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjQwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNjYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy43NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjg1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzMwJTIwNjAlMkM2MCknJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLnN3aXBlci1sYXp5LXByZWxvYWRlci13aGl0ZTphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxMjAlMjAxMjAnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHhtbG5zJTNBeGxpbmslM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmsnJTNFJTNDZGVmcyUzRSUzQ2xpbmUlMjBpZCUzRCdsJyUyMHgxJTNEJzYwJyUyMHgyJTNEJzYwJyUyMHkxJTNEJzcnJTIweTIlM0QnMjcnJTIwc3Ryb2tlJTNEJyUyM2ZmZiclMjBzdHJva2Utd2lkdGglM0QnMTEnJTIwc3Ryb2tlLWxpbmVjYXAlM0Qncm91bmQnJTJGJTNFJTNDJTJGZGVmcyUzRSUzQ2clM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg2MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoOTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDEyMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTUwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMzcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxODAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy40NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDIxMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjU2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjQwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNjYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy43NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjg1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzMwJTIwNjAlMkM2MCknJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLyogYTExeSAqL1xuLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1ub3RpZmljYXRpb24sIC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXIgLnN3aXBlci1ub3RpZmljYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IC0xMDAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItZmFkZS5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZhZGUgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSwgLnN3aXBlci1jb250YWluZXItZmFkZSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItY3ViZSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZS5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlLnN3aXBlci1jb250YWluZXItcnRsIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1wcmV2LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQgKyAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQgKyAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgei1pbmRleDogMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwLjY7XG4gIC13ZWJraXQtZmlsdGVyOiBibHVyKDUwcHgpO1xuICBmaWx0ZXI6IGJsdXIoNTBweCk7XG4gIHotaW5kZXg6IDA7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItZmxpcCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSwgLnN3aXBlci1jb250YWluZXItZmxpcCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICB6LWluZGV4OiAwO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWNvdmVyZmxvdyAuc3dpcGVyLXdyYXBwZXIsIC5zd2lwZXItY29udGFpbmVyLWNvdmVyZmxvdyAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMge1xuICAvKiBXaW5kb3dzIDggSUUgMTAgZml4ICovXG4gIC1tcy1wZXJzcGVjdGl2ZTogMTIwMHB4OyB9XG5cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKipcbiAqIFJlbW92ZSBicm93c2VyJ3MgbWFyZ2lucywgcGFkZGluZ3MgYW5kIGxpc3Qgc3R5bGUgcnVsZXNcbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi5jcy1pbWFnZS10ZWFzZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDNyZW07IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX2ZpZ3VyZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9faW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX25hdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgbGluZWFyO1xuICAgIHotaW5kZXg6IDIwMTtcbiAgICB3aWR0aDogNS41cmVtO1xuICAgIGhlaWdodDogNS41cmVtO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLmNzLWltYWdlLXRlYXNlcl9fbmF2IHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcjpob3ZlciAuY3MtaW1hZ2UtdGVhc2VyX19uYXYge1xuICAgICAgb3BhY2l0eTogMTsgfSB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fbmF2LS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX25hdi0tZGlzYWJsZWQge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19uYXYtLXByZXYge1xuICAgICAgbGVmdDogMDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgLmNzLWltYWdlLXRlYXNlcjpub3QoLmNzLWltYWdlLXRlYXNlci0tZnVsbC13aWR0aC1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXJfX25hdi0tcHJldiB7XG4gICAgICAgICAgbGVmdDogLTIuNzVyZW07XG4gICAgICAgICAgb3BhY2l0eTogMTsgfSB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fbmF2LS1uZXh0IHtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyOm5vdCguY3MtaW1hZ2UtdGVhc2VyLS1mdWxsLXdpZHRoLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlcl9fbmF2LS1uZXh0IHtcbiAgICAgICAgICByaWdodDogLTIuNzVyZW07XG4gICAgICAgICAgb3BhY2l0eTogMTsgfSB9XG4gICAgLmNzLWltYWdlLXRlYXNlci0tcmVhZHkgLmNzLWltYWdlLXRlYXNlcl9fbmF2Om5vdCguY3MtaW1hZ2UtdGVhc2VyX19uYXYtLWRpc2FibGVkKSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX25hdjpob3ZlciwgLmNzLWltYWdlLXRlYXNlcl9fbmF2OmFjdGl2ZSwgLmNzLWltYWdlLXRlYXNlcl9fbmF2OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19uYXYge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19uYXYtaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgIHdpZHRoOiAyLjRyZW07XG4gICAgaGVpZ2h0OiAzLjdyZW07XG4gICAgZmlsbDogI0ZGNDYwNDsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19wYWdpbmF0aW9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMCAwO1xuICAgIG1pbi1oZWlnaHQ6IDNyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogIzY5Njk2OTtcbiAgICB6LWluZGV4OiAyMDA7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19wYWdpbmF0aW9uLS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19wYWdpbmF0aW9uLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAuNHJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICB3aWR0aDogMi4ycmVtO1xuICAgIGhlaWdodDogMC45cmVtO1xuICAgIHRyYW5zZm9ybTogc2tldygtMThkZWcpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXM7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19wYWdpbmF0aW9uLWl0ZW06aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2RjZGNkYzsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3BhZ2luYXRpb24taXRlbS0tYWN0aXZlLCAuY3MtaW1hZ2UtdGVhc2VyX19wYWdpbmF0aW9uLWl0ZW0tLWFjdGl2ZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVkNDAwOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3BhZ2luYXRpb24tYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fbnVtYmVyIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fbnVtYmVyLS1jdXJyZW50IHtcbiAgICAgIGNvbG9yOiAjRkY0NjA0OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNzLWltYWdlLXRlYXNlciB7XG4gICAgICBtYXJnaW46IDAgMCA0cmVtOyB9IH1cbiAgLmNzLWltYWdlLXRlYXNlci0tc2tpcC1zcGFjaW5nIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNzLWltYWdlLXRlYXNlci0td2luZG93LXdpZHRoIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXI6bm90KC5jcy1pbWFnZS10ZWFzZXItLXNsaWRlcikgLmNzLWltYWdlLXRlYXNlcl9fbmF2LFxuICAuY3MtaW1hZ2UtdGVhc2VyOm5vdCguY3MtaW1hZ2UtdGVhc2VyLS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXJfX3BhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWltYWdlLXRlYXNlcjpub3QoLmNzLWltYWdlLXRlYXNlci0tc2xpZGVyKSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItLWl0ZW1zLWluLXJvdy1tb2JpbGUtMSAuY3MtaW1hZ2UtdGVhc2VyOm5vdCguY3MtaW1hZ2UtdGVhc2VyLS1zbGlkZXIpIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19jYXJvdXNlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci0tZ3JpZC10ZWFzZXIgLmNzLWltYWdlLXRlYXNlcl9fY2Fyb3VzZWwge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXIge1xuICAgIG1hcmdpbjogLTAuNHJlbTtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMC44cmVtKTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXItLWNvbnRlbnQtdW5kZXIgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXItLWNvbnRlbnQtdW5kZXIgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX19jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogIzIxMjEyMTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlci0tY29udGVudC11bmRlciAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyLS1jb250ZW50LXVuZGVyIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogaW5pdGlhbDsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXItLWNvbnRlbnQtdW5kZXIgLmNzLWltYWdlLXRlYXNlcl9fY29udGVudC13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAycmVtIDJyZW0gMDsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXItLWNvbnRlbnQtdW5kZXIgLmNzLWltYWdlLXRlYXNlcl9fY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAtM3JlbSAwIDA7XG4gICAgICBwYWRkaW5nOiAycmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItLWl0ZW1zLWluLXJvdy0yIC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXItLWNvbnRlbnQtdW5kZXIgLmNzLWltYWdlLXRlYXNlcl9fc2xvZ2FuIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjk1ZW07IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItLWl0ZW1zLWluLXJvdy0yIC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXItLWNvbnRlbnQtdW5kZXIgLmNzLWltYWdlLXRlYXNlcl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDEuMmVtOyB9IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLS1ncmlkLXRlYXNlciAuY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcy0tbW9zYWljLXNjZW5hcmlvLTEgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGU6Zmlyc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAzKSAqIDIpOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMtLW1vc2FpYy1zY2VuYXJpby0xIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlOmZpcnN0LWNoaWxkIC5jcy1pbWFnZS10ZWFzZXJfX3Nsb2dhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzLS1tb3NhaWMtc2NlbmFyaW8tMSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZTpmaXJzdC1jaGlsZCAuY3MtaW1hZ2UtdGVhc2VyX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzLS1tb3NhaWMtc2NlbmFyaW8tMSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZTpsYXN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzLS1tb3NhaWMtc2NlbmFyaW8tMSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZTpsYXN0LWNoaWxkIC5jcy1pbWFnZS10ZWFzZXJfX3Nsb2dhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogNjBweDsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzLS1tb3NhaWMtc2NlbmFyaW8tMSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZTpsYXN0LWNoaWxkIC5jcy1pbWFnZS10ZWFzZXJfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjRyZW07IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMtLW1vc2FpYy1zY2VuYXJpby0yIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGVzLS1tb3NhaWMtc2NlbmFyaW8tMiAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZTpmaXJzdC1jaGlsZCAuY3MtaW1hZ2UtdGVhc2VyX19zbG9nYW4ge1xuICAgICAgICBmb250LXNpemU6IDYwcHg7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcy0tbW9zYWljLXNjZW5hcmlvLTIgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGU6Zmlyc3QtY2hpbGQgLmNzLWltYWdlLXRlYXNlcl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDIuNHJlbTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcy0tbW9zYWljLXNjZW5hcmlvLTIgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGU6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogY2FsYygoMTAwJSAvIDMpICogMik7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcy0tbW9zYWljLXNjZW5hcmlvLTIgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGU6bGFzdC1jaGlsZCAuY3MtaW1hZ2UtdGVhc2VyX19zbG9nYW4ge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcy0tbW9zYWljLXNjZW5hcmlvLTIgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGU6bGFzdC1jaGlsZCAuY3MtaW1hZ2UtdGVhc2VyX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICAgIHBhZGRpbmc6IDAuNHJlbTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLS1pdGVtcy1pbi1yb3ctbW9iaWxlLTIgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItLXRlYXNlci1hbmQtdGV4dCAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gICAgICBvcmRlcjogMjsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlci0tdGVhc2VyLWFuZC10ZXh0IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlOm5vdCguY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0taW1hZ2UtdXBsb2FkZWQpID4gLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtd3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgICAuY3MtaW1hZ2UtdGVhc2VyLS10ZWFzZXItYW5kLXRleHQgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGU6bm90KC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1pbWFnZS11cGxvYWRlZCkgLmNzLWltYWdlLXRlYXNlcl9fY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcy0tbW9iaWxlLXRleHQtaW1hZ2UgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLWltYWdlLXVwbG9hZGVkIHtcbiAgICAgICAgb3JkZXI6IDM7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZXMtLW1vYmlsZS1pbWFnZS10ZXh0IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1pbWFnZS11cGxvYWRlZCB7XG4gICAgICAgIG9yZGVyOiAxOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci0taXRlbXMtaW4tcm93LTIgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci0taXRlbXMtaW4tcm93LTMgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci0taXRlbXMtaW4tcm93LTQgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICAgICAgICB3aWR0aDogMjUlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci0taXRlbXMtaW4tcm93LTUgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICAgICAgICB3aWR0aDogMjAlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci0taXRlbXMtaW4tcm93LTYgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICAgICAgICB3aWR0aDogMTYuNjY2NjclOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci0taXRlbXMtaW4tcm93LTcgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICAgICAgICB3aWR0aDogMTQuMjg1NzElOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlci0taXRlbXMtaW4tcm93LTggLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUge1xuICAgICAgICB3aWR0aDogMTIuNSU7IH0gfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItLWdyaWQtdGVhc2VyIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLS1jbXMtdGVhc2VyIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlOm5vdCguY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0taW1hZ2UtdXBsb2FkZWQpID4gLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtd3JhcHBlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci0tYmFja2xpbmsgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGU6bm90KC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1pbWFnZS11cGxvYWRlZCkgPiAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS13cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZTpub3QoLnJlYWR5KSAuY3MtaW1hZ2UtdGVhc2VyX19jb250ZW50LXdyYXBwZXIge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtd3JhcHBlciwgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtd3JhcHBlcjpob3ZlciwgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtd3JhcHBlcjpmb2N1cyB7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXItLWluc3RhZ3JhbS1mZWVkIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItLWluc3RhZ3JhbS1mZWVkIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLXdyYXBwZXI6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMCU7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0Om5vdCguY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0taW1hZ2UtdXBsb2FkZWQpIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLXdyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogIzIxMjEyMTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyazpub3QoLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLWltYWdlLXVwbG9hZGVkKSAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS13cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgLmNzLWltYWdlLXRlYXNlci0taW5zdGFncmFtLWZlZWQgLmNzLWltYWdlLXRlYXNlcl9fZmlndXJlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXItLWdyaWQtdGVhc2VyIC5jcy1pbWFnZS10ZWFzZXJfX2ZpZ3VyZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlci0tZ3JpZC10ZWFzZXIgLmNzLWltYWdlLXRlYXNlcl9fZmlndXJlIGltZyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB+IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLXdyYXBwZXIsXG4gICAgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIH4gLmNzLWltYWdlLXRlYXNlcl9fZmlndXJlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMC40cmVtO1xuICAgICAgbGVmdDogMC40cmVtO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuOHJlbSk7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXI6bm90KC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXItLWNvbnRlbnQtdW5kZXIpIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB+IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLXdyYXBwZXIsIC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXI6bm90KC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXItLWNvbnRlbnQtdW5kZXIpXG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8gfiAuY3MtaW1hZ2UtdGVhc2VyX19maWd1cmUge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuOHJlbSk7IH1cbiAgICAgICAgLmNzLWltYWdlLXRlYXNlci0tZ3JpZC10ZWFzZXIgLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlcjpub3QoLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlci0tY29udGVudC11bmRlcikgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIH4gLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtd3JhcHBlciwgLmNzLWltYWdlLXRlYXNlci0tZ3JpZC10ZWFzZXIgLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlcjpub3QoLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlci0tY29udGVudC11bmRlcilcbiAgICAgICAgLmNzLWltYWdlLXRlYXNlcl9fYXNwZWN0LXJhdGlvIH4gLmNzLWltYWdlLXRlYXNlcl9fZmlndXJlIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXItLWdyaWQtdGVhc2VyIC5jcy1pbWFnZS10ZWFzZXJfX2FzcGVjdC1yYXRpbyB+IC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLXdyYXBwZXIsIC5jcy1pbWFnZS10ZWFzZXItLWdyaWQtdGVhc2VyXG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19hc3BlY3QtcmF0aW8gfiAuY3MtaW1hZ2UtdGVhc2VyX19maWd1cmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiAzODBweDsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19jb250ZW50LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlci0tY29udGVudC1vdmVyIC5jcy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAzJSA2JTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNzLWltYWdlLXRlYXNlcl9fd3JhcHBlci0tY29udGVudC1vdmVyIC5jcy1pbWFnZS10ZWFzZXJfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgcGFkZGluZzogOSUgMTAlOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItLWl0ZW1zLWluLXJvdy0zIC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXItLWNvbnRlbnQtb3ZlciAuY3MtaW1hZ2UtdGVhc2VyX19jb250ZW50LXdyYXBwZXIge1xuICAgICAgICAgIHBhZGRpbmc6IDUuNjQlOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jcy1pbWFnZS10ZWFzZXItLWl0ZW1zLWluLXJvdy00IC5jcy1pbWFnZS10ZWFzZXJfX3dyYXBwZXItLWNvbnRlbnQtb3ZlciAuY3MtaW1hZ2UtdGVhc2VyX19jb250ZW50LXdyYXBwZXIge1xuICAgICAgICAgIHBhZGRpbmc6IDcuNTIlOyB9IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19jb250ZW50LXdyYXBwZXItLWNvbnRlbnQtYWxpZ24teC0yIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fY29udGVudC13cmFwcGVyLS1jb250ZW50LWFsaWduLXgtMyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19jb250ZW50LXdyYXBwZXItLWNvbnRlbnQtYWxpZ24teS0yIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19jb250ZW50LXdyYXBwZXItLWNvbnRlbnQtYWxpZ24teS0zIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19jb250ZW50LS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiBpbmhlcml0OyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudCB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50IHtcbiAgICAgIGNvbG9yOiAjMjEyMTIxOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3Nsb2dhbiB7XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgVWJ1bnR1LCBDYW50YXJlbGwsIE94eWdlbiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW46IDFyZW0gMCAycmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiA0N3B4O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3Nsb2dhbiB7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19zbG9nYW4ge1xuICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4OyB9IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgICogKyAuY3MtaW1hZ2UtdGVhc2VyX19kZXNjcmlwdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVlbTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX19kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc5Ljk5ZW0pIHtcbiAgLmNzLWltYWdlLXRlYXNlci0taXRlbXMtaW4tcm93LTQgLmNzLWltYWdlLXRlYXNlcl9fZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMS43NWVtOyB9IH1cbiAgKiArIC5jcy1pbWFnZS10ZWFzZXJfX2N0YSB7XG4gICAgbWFyZ2luLXRvcDogMjVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICAqICsgLmNzLWltYWdlLXRlYXNlcl9fY3RhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDsgfSB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX2N0YS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgICBwYWRkaW5nOiA4cHggMjVweDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgYm9yZGVyLWNvbG9yIDAuNXMsIGZpbGwgMC41cywgY29sb3IgMC41cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBmaWxsLCBjb2xvcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHggIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBtaW4td2lkdGg6IDEzMnB4OyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbi5tZWRpdW0ge1xuICAgICAgcGFkZGluZzogMTFweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19jdGEtYnV0dG9uLmxhcmdlIHtcbiAgICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbiwgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbjp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19jdGEtYnV0dG9uICosIC5jcy1pbWFnZS10ZWFzZXJfX2N0YS1idXR0b246dmlzaXRlZCAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNGRjQ2MDQ7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19jdGEtYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1pbWFnZS10ZWFzZXJfX2N0YS1idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0UzRTNFOyB9XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19jdGEtYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtaW1hZ2UtdGVhc2VyX19jdGEtYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtaW1hZ2UtdGVhc2VyX19jdGEtYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY3MtaW1hZ2UtdGVhc2VyX19jdGEtYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogMTFweCAxNXB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBtaW4td2lkdGg6IDE0MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fY3RhLWJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX2N0YS1idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTsgfSB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX2N0YS1idXR0b24tc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX2N0YS1idXR0b24taWNvbiB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fYmFkZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC43ZW07XG4gICAgbGVmdDogMC43ZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZDogI0ZGNDYwNDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nOiAwLjllbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgei1pbmRleDogMzsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX2JhZGdlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDA7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19iYWRnZS0tYWxpZ24teC0yIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX2JhZGdlLS1hbGlnbi14LTMge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAwLjdlbTsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX2JhZGdlLS1hbGlnbi15LTIge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX2JhZGdlLS1hbGlnbi15LTIuY3MtaW1hZ2UtdGVhc2VyX19iYWRnZS0tYWxpZ24teC0yIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19iYWRnZS0tYWxpZ24teS0zIHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogMC43ZW07IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19iYWRnZSBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA3NSU7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19iYWRnZSBzbWFsbCxcbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19iYWRnZSBiaWcge1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuMnJlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLmNzLWltYWdlLXRlYXNlcl9fYmFkZ2Ugc21hbGw6bGFzdC1jaGlsZCxcbiAgICAgIC5jcy1pbWFnZS10ZWFzZXJfX2JhZGdlIGJpZzpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fYmFkZ2Utc3BhbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX292ZXJsYXksIC5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMSU7XG4gICAgbGVmdDogLTElO1xuICAgIHdpZHRoOiAxMDIlO1xuICAgIGhlaWdodDogMTAyJTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX292ZXJsYXkge1xuICAgIGJhY2tncm91bmQ6ICMyMTIxMjE7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX292ZXJsYXkge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXgtMS5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teS0xIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMjEyMTIxIDAlLCByZ2JhKDMzLCAzMywgMzMsIDApIDg1JSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teC0xLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi15LTEge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmZmZmZmYgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgODUlKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teC0xLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi15LTIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzIxMjEyMSAwJSwgcmdiYSgzMywgMzMsIDMzLCAwKSA4NSUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXgtMS5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teS0yIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNmZmZmZmYgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgODUlKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teC0xLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi15LTMge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgIzIxMjEyMSAwJSwgcmdiYSgzMywgMzMsIDMzLCAwKSA4NSUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXgtMS5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teS0zIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICNmZmZmZmYgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgODUlKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teC0yLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi15LTEge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMyMTIxMjEgMCUsIHJnYmEoMzMsIDMzLCAzMywgMCkgODUlKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi14LTIuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXktMSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2ZmZmZmZiAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA4NSUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi14LTIuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXktMiB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMjEyMTIxIDAlLCByZ2JhKDMzLCAzMywgMzMsIDApIDg1JSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teC0yLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi15LTIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI2ZmZmZmZiAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA4NSUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi14LTIuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXktMyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsICMyMTIxMjEgMCUsIHJnYmEoMzMsIDMzLCAzMywgMCkgODUlKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi14LTIuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXktMyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsICNmZmZmZmYgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgODUlKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teC0zLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi15LTEge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtMTM1ZGVnLCAjMjEyMTIxIDAlLCByZ2JhKDMzLCAzMywgMzMsIDApIDg1JSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teC0zLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi15LTEge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtMTM1ZGVnLCAjZmZmZmZmIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDg1JSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXgtMy5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teS0yIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTkwZGVnLCAjMjEyMTIxIDAlLCByZ2JhKDMzLCAzMywgMzMsIDApIDg1JSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teC0zLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi15LTIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtOTBkZWcsICNmZmZmZmYgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgODUlKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX2dyYWRpZW50LS1kaXJlY3Rpb24teC0zLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi15LTMge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsICMyMTIxMjEgMCUsIHJnYmEoMzMsIDMzLCAzMywgMCkgODUlKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fZ3JhZGllbnQtLWRpcmVjdGlvbi14LTMuY3MtaW1hZ2UtdGVhc2VyX19ncmFkaWVudC0tZGlyZWN0aW9uLXktMyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC00NWRlZywgI2ZmZmZmZiAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA4NSUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX2ltYWdlIHtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICAgIGZvbnQ6IDAvMCBhO1xuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyX19pbWFnZS0tbWlycm9yIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19vcHRpbWl6ZXItY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IC0xOyB9XG4gICAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX29wdGltaXplci1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fb3B0aW1pemVyLWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyMTIxOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTAge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctNSB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy0xMCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTE1IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTIwIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctMjUge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctMzAge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy0zNSB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy00MCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTQ1IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNDUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTUwIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctNTUge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctNjAge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy02NSB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY1KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy03MCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTc1IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtZGFyayAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTgwIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctODUge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1kYXJrIC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctOTAge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy05NSB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWRhcmsgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy0xMDAge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHdoaXRlOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy0wIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDMzLCAzMywgMzMsIDApOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy01IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDMzLCAzMywgMzMsIDAuMDUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy0xMCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgzMywgMzMsIDMzLCAwLjEpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy0xNSB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgzMywgMzMsIDMzLCAwLjE1KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctMjAge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMzMsIDMzLCAzMywgMC4yKTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctMjUge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMzMsIDMzLCAzMywgMC4yNSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTMwIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDMzLCAzMywgMzMsIDAuMyk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTM1IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDMzLCAzMywgMzMsIDAuMzUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy00MCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgzMywgMzMsIDMzLCAwLjQpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy00NSB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgzMywgMzMsIDMzLCAwLjQ1KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctNTAge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMzMsIDMzLCAzMywgMC41KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctNTUge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMzMsIDMzLCAzMywgMC41NSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTYwIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDMzLCAzMywgMzMsIDAuNik7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTY1IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDMzLCAzMywgMzMsIDAuNjUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy03MCB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgzMywgMzMsIDMzLCAwLjcpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy03NSB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAyLjVyZW0gcmdiYSgzMywgMzMsIDMzLCAwLjc1KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctODAge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMzMsIDMzLCAzMywgMC44KTsgfVxuICAuY3MtaW1hZ2UtdGVhc2VyX19zbGlkZS0tc2NoZW1lLWxpZ2h0IC5jcy1pbWFnZS10ZWFzZXJfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3ctODUge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtIHJnYmEoMzMsIDMzLCAzMywgMC44NSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTkwIHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDMzLCAzMywgMzMsIDAuOSk7IH1cbiAgLmNzLWltYWdlLXRlYXNlcl9fc2xpZGUtLXNjaGVtZS1saWdodCAuY3MtaW1hZ2UtdGVhc2VyX190ZXh0LWNvbnRlbnQtLXRleHQtc2hhZG93LTk1IHtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDIuNXJlbSByZ2JhKDMzLCAzMywgMzMsIDAuOTUpOyB9XG4gIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlLS1zY2hlbWUtbGlnaHQgLmNzLWltYWdlLXRlYXNlcl9fdGV4dC1jb250ZW50LS10ZXh0LXNoYWRvdy0xMDAge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMi41cmVtICMyMTIxMjE7IH1cbiAgLmNzLWltYWdlLXRlYXNlci0tZ3JpZC10ZWFzZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtaW1hZ2UtdGVhc2VyLS1oZXJvLXRlYXNlciB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY3MtaW1hZ2UtdGVhc2VyLS1oZXJvLXRlYXNlciAuY3MtaW1hZ2UtdGVhc2VyX193cmFwcGVyIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9IH1cbiAgLmNzLWltYWdlLXRlYXNlci0taGVyby10ZWFzZXIgLmNzLWltYWdlLXRlYXNlcl9fY2Fyb3VzZWwge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAuY3MtaW1hZ2UtdGVhc2VyLS1oZXJvLXRlYXNlci5jcy1pbWFnZS10ZWFzZXItLWFzLWxpc3QtbW9iaWxlIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlcyB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuY3MtaW1hZ2UtdGVhc2VyLS1oZXJvLXRlYXNlci5jcy1pbWFnZS10ZWFzZXItLWFzLWxpc3QtbW9iaWxlIC5jcy1pbWFnZS10ZWFzZXJfX3BhZ2luYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5jcy1jb250YWluZXItLWltYWdlLXRlYXNlci13aW5kb3ctd2lkdGgge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuY3MtY29udGFpbmVyLS1pbWFnZS10ZWFzZXItd2luZG93LXdpZHRoIC5jcy1pbWFnZS10ZWFzZXJfX3NsaWRlIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmNzLWNvbnRhaW5lci0taGVyby10ZWFzZXIgLmNzLWltYWdlLXRlYXNlciB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuIiwiLyoqXG4gKiBTd2lwZXIgNC40LjZcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXG4gKiBodHRwOi8vd3d3LmlkYW5nZXJvLnVzL3N3aXBlci9cbiAqXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDE4IFZsYWRpbWlyIEtoYXJsYW1waWRpXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKlxuICogUmVsZWFzZWQgb246IERlY2VtYmVyIDE5LCAyMDE4XG4gKi9cblxuXG5cbiAuc3dpcGVyLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIC8qIEZpeCBvZiBXZWJraXQgZmxpY2tlcmluZyAqL1xuICAgIHotaW5kZXg6IDE7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1uby1mbGV4Ym94IC5zd2lwZXItc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uc3dpcGVyLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuLnN3aXBlci1jb250YWluZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci13cmFwcGVyIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdyA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG4uc3dpcGVyLXNsaWRlIHtcbiAgICAtd2Via2l0LWZsZXgtc2hyaW5rOiAwO1xuICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgLXdlYmtpdC10cmFuc2Zvcm07XG59XG4uc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFuayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogQXV0byBIZWlnaHQgKi9cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUge1xuICAgIGhlaWdodDogYXV0bztcbn1cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVyIHtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodCwgLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQsIC13ZWJraXQtdHJhbnNmb3JtO1xufVxuLyogM0QgRWZmZWN0cyAqL1xuLnN3aXBlci1jb250YWluZXItM2Qge1xuICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgICBwZXJzcGVjdGl2ZTogMTIwMHB4O1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci13cmFwcGVyLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDEwO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChcbiAgICAgICAgbGluZWFyLFxuICAgICAgICByaWdodCB0b3AsXG4gICAgICAgIGxlZnQgdG9wLFxuICAgICAgICBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksXG4gICAgICAgIHRvKHJnYmEoMCwgMCwgMCwgMCkpXG4gICAgKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChcbiAgICAgICAgcmlnaHQsXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKVxuICAgICk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KFxuICAgICAgICByaWdodCxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDApXG4gICAgKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIHRvIGxlZnQsXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKVxuICAgICk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChcbiAgICAgICAgbGluZWFyLFxuICAgICAgICBsZWZ0IHRvcCxcbiAgICAgICAgcmlnaHQgdG9wLFxuICAgICAgICBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksXG4gICAgICAgIHRvKHJnYmEoMCwgMCwgMCwgMCkpXG4gICAgKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChcbiAgICAgICAgbGVmdCxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDApXG4gICAgKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoXG4gICAgICAgIGxlZnQsXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKVxuICAgICk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICB0byByaWdodCxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDApXG4gICAgKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChcbiAgICAgICAgbGluZWFyLFxuICAgICAgICBsZWZ0IGJvdHRvbSxcbiAgICAgICAgbGVmdCB0b3AsXG4gICAgICAgIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSxcbiAgICAgICAgdG8ocmdiYSgwLCAwLCAwLCAwKSlcbiAgICApO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KFxuICAgICAgICBib3R0b20sXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKVxuICAgICk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KFxuICAgICAgICBib3R0b20sXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKVxuICAgICk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICB0byB0b3AsXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwKVxuICAgICk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQoXG4gICAgICAgIGxpbmVhcixcbiAgICAgICAgbGVmdCB0b3AsXG4gICAgICAgIGxlZnQgYm90dG9tLFxuICAgICAgICBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksXG4gICAgICAgIHRvKHJnYmEoMCwgMCwgMCwgMCkpXG4gICAgKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChcbiAgICAgICAgdG9wLFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDAuNSksXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMClcbiAgICApO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChcbiAgICAgICAgdG9wLFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDAuNSksXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMClcbiAgICApO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgdG8gYm90dG9tLFxuICAgICAgICByZ2JhKDAsIDAsIDAsIDAuNSksXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMClcbiAgICApO1xufVxuLyogSUUxMCBXaW5kb3dzIFBob25lIDggRml4ZXMgKi9cbi5zd2lwZXItY29udGFpbmVyLXdwOC1ob3Jpem9udGFsLFxuLnN3aXBlci1jb250YWluZXItd3A4LWhvcml6b250YWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwsXG4uc3dpcGVyLWNvbnRhaW5lci13cDgtdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi14O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXg7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHdpZHRoOiAyN3B4O1xuICAgIGhlaWdodDogNDRweDtcbiAgICBtYXJnaW4tdG9wOiAtMjJweDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyN3B4IDQ0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tZGlzYWJsZWQsXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuMzU7XG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHJpZ2h0OiBhdXRvO1xufVxuLnN3aXBlci1idXR0b24tbmV4dCxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDA3YWZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgICByaWdodDogMTBweDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzZmZmZmZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFjayxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2sge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjMwMDAwMDAnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xufVxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFjayB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwMDAwMCclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG4uc3dpcGVyLWJ1dHRvbi1sb2NrIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgICAtby10cmFuc2l0aW9uOiAzMDBtcyBvcGFjaXR5O1xuICAgIHRyYW5zaXRpb246IDMwMG1zIG9wYWNpdHk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgei1pbmRleDogMTA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIHtcbiAgICBvcGFjaXR5OiAwO1xufVxuLyogQ29tbW9uIFN0eWxlcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uLFxuLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSxcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gICAgYm90dG9tOiAxMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4vKiBCdWxsZXRzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZvbnQtc2l6ZTogMDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW1haW4ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldi1wcmV2IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQtbmV4dCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgb3BhY2l0eTogMC4yO1xufVxuYnV0dG9uLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1jbGlja2FibGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYmFja2dyb3VuZDogIzAwN2FmZjtcbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsXG4gICAgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0c1xuICAgIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIG1hcmdpbjogNnB4IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbFxuICAgID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgICB0b3A6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogOHB4O1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWxcbiAgICA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pY1xuICAgIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogMjAwbXMgdG9wLCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDtcbiAgICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDtcbiAgICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsXG4gICAgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0c1xuICAgIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIG1hcmdpbjogMCA0cHg7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsXG4gICAgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICAgIGxlZnQ6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbFxuICAgID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljXG4gICAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uOiAyMDBtcyBsZWZ0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAtby10cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQ7XG4gICAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyBsZWZ0O1xuICAgIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsLnN3aXBlci1jb250YWluZXItcnRsXG4gICAgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljXG4gICAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAyMDBtcyByaWdodCwgMjAwbXMgLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogMjAwbXMgcmlnaHQsIDIwMG1zIC13ZWJraXQtdHJhbnNmb3JtO1xuICAgIC1vLXRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQ7XG4gICAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyByaWdodDtcbiAgICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0LCAyMDBtcyAtd2Via2l0LXRyYW5zZm9ybTtcbn1cbi8qIFByb2dyZXNzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDA3YWZmO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ydGxcbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXJcbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLFxuLnN3aXBlci1jb250YWluZXItdmVydGljYWxcbiAgICA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcixcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWxcbiAgICA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gICAgd2lkdGg6IDRweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24td2hpdGUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24td2hpdGVcbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ibGFja1xuICAgIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWxvY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBTY3JvbGxiYXIgKi9cbi5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDElO1xuICAgIGJvdHRvbTogM3B4O1xuICAgIHotaW5kZXg6IDUwO1xuICAgIGhlaWdodDogNXB4O1xuICAgIHdpZHRoOiA5OCU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDNweDtcbiAgICB0b3A6IDElO1xuICAgIHotaW5kZXg6IDUwO1xuICAgIHdpZHRoOiA1cHg7XG4gICAgaGVpZ2h0OiA5OCU7XG59XG4uc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xufVxuLnN3aXBlci1zY3JvbGxiYXItY3Vyc29yLWRyYWcge1xuICAgIGN1cnNvcjogbW92ZTtcbn1cbi5zd2lwZXItc2Nyb2xsYmFyLWxvY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4uc3dpcGVyLXpvb20tY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gaW1nLFxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IHN2Zyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBjYW52YXMge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIC1vLW9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cbi5zd2lwZXItc2xpZGUtem9vbWVkIHtcbiAgICBjdXJzb3I6IG1vdmU7XG59XG4vKiBQcmVsb2FkZXIgKi9cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICAgIHdpZHRoOiA0MnB4O1xuICAgIGhlaWdodDogNDJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjFweDtcbiAgICBtYXJnaW4tdG9wOiAtMjFweDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xuICAgIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xufVxuLnN3aXBlci1sYXp5LXByZWxvYWRlcjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxMjAlMjAxMjAnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHhtbG5zJTNBeGxpbmslM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmsnJTNFJTNDZGVmcyUzRSUzQ2xpbmUlMjBpZCUzRCdsJyUyMHgxJTNEJzYwJyUyMHgyJTNEJzYwJyUyMHkxJTNEJzcnJTIweTIlM0QnMjcnJTIwc3Ryb2tlJTNEJyUyMzZjNmM2YyclMjBzdHJva2Utd2lkdGglM0QnMTEnJTIwc3Ryb2tlLWxpbmVjYXAlM0Qncm91bmQnJTJGJTNFJTNDJTJGZGVmcyUzRSUzQ2clM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg2MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoOTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDEyMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTUwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMzcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxODAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy40NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDIxMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjU2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjQwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNjYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy43NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjg1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzMwJTIwNjAlMkM2MCknJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRlOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjNmZmYnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cbkBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cbi8qIGExMXkgKi9cbi5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAtMTAwMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZhZGUuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgei1pbmRleDogMTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZS5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXNsaWRlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1wcmV2LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQgKyAuc3dpcGVyLXNsaWRlIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICAgIHotaW5kZXg6IDA7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNTBweCk7XG4gICAgZmlsdGVyOiBibHVyKDUwcHgpO1xuICAgIHotaW5kZXg6IDA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IDE7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gICAgei1pbmRleDogMDtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jb3ZlcmZsb3cgLnN3aXBlci13cmFwcGVyIHtcbiAgICAvKiBXaW5kb3dzIDggSUUgMTAgZml4ICovXG4gICAgLW1zLXBlcnNwZWN0aXZlOiAxMjAwcHg7XG59XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuXG5AbWl4aW4gYnVsbGV0LXBhZ2luYXRpb24tbGlzdC1ob29rKCkge1xufVxuXG5AbWl4aW4gYnVsbGV0LXBhZ2luYXRpb24taXRlbS1ob29rKCkge1xufVxuXG5AbWl4aW4gYnVsbGV0LXBhZ2luYXRpb24taXRlbS0tYWN0aXZlLWhvb2soKSB7XG59XG5cbkBtaXhpbiBidWxsZXQtcGFnaW5hdGlvbi1idXR0b24taG9vaygpIHtcbn1cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG5AbWl4aW4gdGVhc2VyLWhvb2soKSB7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbmZpZy9icmVha3BvaW50cyc7XG5AaW1wb3J0ICdpbmNsdWRlLW1lZGlhL2Rpc3QvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9jb21wb25lbnQtc3BhY2luZyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RlYXNlci9taXhpbnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcblxuJGltYWdlLXRlYXNlcl9zY2FsZS1mb250cy1wcm9wb3J0aW9uYWxseTogZmFsc2UgIWRlZmF1bHQ7XG4kaW1hZ2UtdGVhc2VyLS1tb3NhaWNfZXF1YWxpemUtZm9udC1zaXplczogdHJ1ZSAhZGVmYXVsdDtcblxuJGltYWdlLXRlYXNlcl9zbGlkZXMtZ3V0dGVyOiAwLjhyZW0gIWRlZmF1bHQ7XG4kaW1hZ2UtdGVhc2VyX2NvbnRlbnQtZ3V0dGVyLWJhc2U6IDEuODglICFkZWZhdWx0O1xuXG4kaW1hZ2UtdGVhc2VyX2N0YS1idXR0b24tdHlwZTogJ3NlY29uZGFyeScgIWRlZmF1bHQ7XG4kaW1hZ2UtdGVhc2VyX2N0YS1idXR0b24taWNvbi1wb3M6ICduby1pY29uJyAhZGVmYXVsdDtcblxuJGltYWdlLXRlYXNlcl90ZXh0LWNvbnRlbnQtZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG4kaW1hZ2UtdGVhc2VyX3Nsb2dhbi1sZXZlbDogJGZvbnQtc2l6ZV9oZWFkbGluZS0yICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl9zbG9nYW4tZm9udC1zaXplOiA0MHB4ICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl9kZXNjcmlwdGlvbi1mb250LXNpemU6IDEuNnJlbSAhZGVmYXVsdDtcblxuJGltYWdlLXRlYXNlcl90ZXh0LWNvbnRlbnQtY29sb3I6ICRjb2xvci13aGl0ZSAhZGVmYXVsdDtcbiRpbWFnZS10ZWFzZXJfc2xvZ2FuLWNvbG9yOiAkY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kaW1hZ2UtdGVhc2VyX2Rlc2NyaXB0aW9uLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4kaW1hZ2UtdGVhc2VyX3RleHQtY29udGVudC1jb2xvci0tZGFyazogJHNjaGVtZS0tZGFya190ZXh0cy1jb2xvciAhZGVmYXVsdDtcbiRpbWFnZS10ZWFzZXJfc2xvZ2FuLWNvbG9yLS1kYXJrOiBpbmhlcml0ICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl9kZXNjcmlwdGlvbi1jb2xvci0tZGFyazogaW5oZXJpdCAhZGVmYXVsdDtcblxuJGltYWdlLXRlYXNlcl9zbG9nYW4tZm9udC13ZWlnaHQ6IDkwMCAhZGVmYXVsdDtcbiRpbWFnZS10ZWFzZXJfZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcblxuJGltYWdlLXRlYXNlcl90ZXh0LXNoYWRvdy1jb2xvci0tZGFyazogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl90ZXh0LXNoYWRvdy1vZmZzZXQtLWRhcms6IDAgMCAyLjVyZW0gIWRlZmF1bHQ7XG4kaW1hZ2UtdGVhc2VyX3RleHQtc2hhZG93LXN0ZXAtLWRhcms6IDUgIWRlZmF1bHQ7XG5cbiRpbWFnZS10ZWFzZXJfdGV4dC1zaGFkb3ctY29sb3ItLWxpZ2h0OiAkY29sb3JfYmFja2dyb3VuZC03MDAgIWRlZmF1bHQ7XG4kaW1hZ2UtdGVhc2VyX3RleHQtc2hhZG93LW9mZnNldC0tbGlnaHQ6IDAgMCAyLjVyZW0gIWRlZmF1bHQ7XG4kaW1hZ2UtdGVhc2VyX3RleHQtc2hhZG93LXN0ZXAtLWxpZ2h0OiA1ICFkZWZhdWx0O1xuXG4kaW1hZ2UtdGVhc2VyX2NvbnRhaW5lci1iYWNrZ3JvdW5kLS1saWdodDogJGNvbG9yX2JhY2tncm91bmQtNzAwICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl9jb250YWluZXItYmFja2dyb3VuZC0tZGFyazogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuXG4kaW1hZ2UtdGVhc2VyX2dyYWRpZW50LWNvbG9yLS1saWdodDogJGNvbG9yX2JhY2tncm91bmQtNzAwICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl9ncmFkaWVudC1jb2xvci0tZGFyazogJGNvbG9yX2JhY2tncm91bmQtMjAwICFkZWZhdWx0O1xuXG4kaW1hZ2UtdGVhc2VyX2JhZGdlLWNvbG9yOiAkY29sb3JfdGV4dC0yMDAgIWRlZmF1bHQ7XG4kaW1hZ2UtdGVhc2VyX2JhZGdlLWJhY2tncm91bmQ6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbiRpbWFnZS10ZWFzZXJfYmFkZ2UtZm9udC1zaXplOiAxLjFlbSAhZGVmYXVsdDtcblxuJGltYWdlLXRlYXNlcl9uby1pbWFnZS1saWdodC1zY2hlbWUtYmFja2dyb3VuZDogJGNvbG9yX2JhY2tncm91bmQtNzAwICFkZWZhdWx0O1xuJGltYWdlLXRlYXNlcl9uby1pbWFnZS1kYXJrLXNjaGVtZS1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC0yMDAgIWRlZmF1bHQ7XG5cbiRpbWFnZS10ZWFzZXJfaGVyby1jYXJvdXNlbF9zbGlkZS13aWR0aDogNzclICFkZWZhdWx0O1xuXG4kaW1hZ2UtdGVhc2VyX2Ntcy1wYWdlcy1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC01MDAgIWRlZmF1bHQ7XG4kaW1hZ2UtdGVhc2VyX2Ntcy1iYWNrbGluay1iYWNrZ3JvdW5kOiAkY29sb3JfYmFja2dyb3VuZC01MDAgIWRlZmF1bHQ7XG5cbi4jeyRuc31pbWFnZS10ZWFzZXIge1xuICAgICRyb290OiAmO1xuXG4gICAgQGluY2x1ZGUgdGVhc2VyKCk7XG4gICAgQGluY2x1ZGUgY29tcG9uZW50LXNwYWNpbmcoKTtcblxuICAgICYtLXdpbmRvdy13aWR0aCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgJjpub3QoI3skcm9vdH0tLXNsaWRlcikge1xuICAgICAgICAjeyRyb290fV9fbmF2LFxuICAgICAgICAjeyRyb290fV9fcGFnaW5hdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3NsaWRlcyB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctbW9iaWxlLTEgJiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jYXJvdXNlbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAjeyRyb290fS0tZ3JpZC10ZWFzZXIgJiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiAtI3skaW1hZ2UtdGVhc2VyX3NsaWRlcy1ndXR0ZXIgLyAyfTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArICN7JGltYWdlLXRlYXNlcl9zbGlkZXMtZ3V0dGVyfSk7XG5cbiAgICAgICAgJi0tY29udGVudC11bmRlciB7XG4gICAgICAgICAgICAjeyRyb290fV9fc2xpZGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgJi0tc2NoZW1lLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGltYWdlLXRlYXNlcl9jb250YWluZXItYmFja2dyb3VuZC0tbGlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLS1zY2hlbWUtZGFyayB7XG4gICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRpbWFnZS10ZWFzZXJfY29udGFpbmVyLWJhY2tncm91bmQtLWRhcms7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fV9fY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycmVtIDJyZW0gMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IC0zcmVtIDAgMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LTIgJiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgICAgICAjeyRyb290fV9fc2xvZ2FuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS45NWVtO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tZ3JpZC10ZWFzZXIgJiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zbGlkZXMge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAmLS1tb3NhaWMtc2NlbmFyaW8ge1xuICAgICAgICAgICAgICAgICYtMSB7XG4gICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAvIDMpICogMik7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkaW1hZ2UtdGVhc2VyLS1tb3NhaWNfZXF1YWxpemUtZm9udC1zaXplcyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX3Nsb2dhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGltYWdlLXRlYXNlcl9zbG9nYW4tZm9udC1zaXplICpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNzU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkaW1hZ2UtdGVhc2VyX2Rlc2NyaXB0aW9uLWZvbnQtc2l6ZSAqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjc1O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICRpbWFnZS10ZWFzZXItLW1vc2FpY19lcXVhbGl6ZS1mb250LXNpemVzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjeyRyb290fV9fc2xvZ2FuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkaW1hZ2UtdGVhc2VyX3Nsb2dhbi1mb250LXNpemUgKiAxLjU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkaW1hZ2UtdGVhc2VyX2Rlc2NyaXB0aW9uLWZvbnQtc2l6ZSAqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi0yIHtcbiAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX3NsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICRpbWFnZS10ZWFzZXItLW1vc2FpY19lcXVhbGl6ZS1mb250LXNpemVzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjeyRyb290fV9fc2xvZ2FuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkaW1hZ2UtdGVhc2VyX3Nsb2dhbi1mb250LXNpemUgKiAxLjU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkaW1hZ2UtdGVhc2VyX2Rlc2NyaXB0aW9uLWZvbnQtc2l6ZSAqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgI3skcm9vdH1fX3NsaWRlOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAzKSAqIDIpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgJGltYWdlLXRlYXNlci0tbW9zYWljX2VxdWFsaXplLWZvbnQtc2l6ZXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19zbG9nYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRpbWFnZS10ZWFzZXJfc2xvZ2FuLWZvbnQtc2l6ZSAqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjc1O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGltYWdlLXRlYXNlcl9kZXNjcmlwdGlvbi1mb250LXNpemUgKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC43NTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zbGlkZSB7XG4gICAgICAgIHBhZGRpbmc6ICRpbWFnZS10ZWFzZXJfc2xpZGVzLWd1dHRlciAvIDI7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcblxuICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LW1vYmlsZS0yICYge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS10ZWFzZXItYW5kLXRleHQgJiB7XG4gICAgICAgICAgICBvcmRlcjogMjtcblxuICAgICAgICAgICAgJjpub3QoI3skcm9vdH1fX3NsaWRlLS1pbWFnZS11cGxvYWRlZCkge1xuICAgICAgICAgICAgICAgID4gI3skcm9vdH1fX3NsaWRlLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fV9fY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0taW1hZ2UtdXBsb2FkZWQge1xuICAgICAgICAgICAgI3skcm9vdH1fX3NsaWRlcy0tbW9iaWxlLXRleHQtaW1hZ2UgJiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH1fX3NsaWRlcy0tbW9iaWxlLWltYWdlLXRleHQgJiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggOCB7XG4gICAgICAgICAgICAjeyRyb290fS0taXRlbXMtaW4tcm93LSN7JGl9ICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICgxMDAlIC8gJGkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkLXRlYXNlciAmIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tY21zLXRlYXNlciAmIHtcbiAgICAgICAgICAgICY6bm90KCN7JHJvb3R9X19zbGlkZS0taW1hZ2UtdXBsb2FkZWQpID4gI3skcm9vdH1fX3NsaWRlLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbWFnZS10ZWFzZXJfY21zLXBhZ2VzLWJhY2tncm91bmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0tYmFja2xpbmsgJiB7XG4gICAgICAgICAgICAmOm5vdCgjeyRyb290fV9fc2xpZGUtLWltYWdlLXVwbG9hZGVkKSA+ICN7JHJvb3R9X19zbGlkZS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW1hZ2UtdGVhc2VyX2Ntcy1iYWNrbGluay1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLnJlYWR5KSB7XG4gICAgICAgICAgICAjeyRyb290fV9fY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2xpZGUtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICYsXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fS0taW5zdGFncmFtLWZlZWQgJiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3NsaWRlLS1zY2hlbWUtbGlnaHQ6bm90KCN7JHJvb3R9X19zbGlkZS0taW1hZ2UtdXBsb2FkZWQpICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGltYWdlLXRlYXNlcl9uby1pbWFnZS1saWdodC1zY2hlbWUtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19zbGlkZS0tc2NoZW1lLWRhcms6bm90KCN7JHJvb3R9X19zbGlkZS0taW1hZ2UtdXBsb2FkZWQpICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGltYWdlLXRlYXNlcl9uby1pbWFnZS1kYXJrLXNjaGVtZS1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZmlndXJlIHtcbiAgICAgICAgI3skcm9vdH0tLWluc3RhZ3JhbS1mZWVkICYge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9LS1ncmlkLXRlYXNlciAmIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hc3BlY3QtcmF0aW8ge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICB+ICN7JHJvb3R9X19zbGlkZS13cmFwcGVyLFxuICAgICAgICB+ICN7JHJvb3R9X19maWd1cmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICBAaWYgJGltYWdlLXRlYXNlcl9zbGlkZXMtZ3V0dGVyID4gMCB7XG4gICAgICAgICAgICAgICAgdG9wOiAkaW1hZ2UtdGVhc2VyX3NsaWRlcy1ndXR0ZXIgLyAyO1xuICAgICAgICAgICAgICAgIGxlZnQ6ICRpbWFnZS10ZWFzZXJfc2xpZGVzLWd1dHRlciAvIDI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGltYWdlLXRlYXNlcl9zbGlkZXMtZ3V0dGVyfSk7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICRpbWFnZS10ZWFzZXJfc2xpZGVzLWd1dHRlciA+IDAge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9X193cmFwcGVyOm5vdCgjeyRyb290fV9fd3JhcHBlci0tY29udGVudC11bmRlcikgJiB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gI3skaW1hZ2UtdGVhc2VyX3NsaWRlcy1ndXR0ZXJ9KTtcblxuICAgICAgICAgICAgICAgICAgICAjeyRyb290fS0tZ3JpZC10ZWFzZXIgJiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1ncmlkLXRlYXNlciAmIHtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDM4MHB4O1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgICN7JHJvb3R9X193cmFwcGVyLS1jb250ZW50LW92ZXIgJiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAzJSA2JTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDklIDEwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy0zICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGltYWdlLXRlYXNlcl9jb250ZW50LWd1dHRlci1iYXNlICogMztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JHJvb3R9LS1pdGVtcy1pbi1yb3ctNCAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRpbWFnZS10ZWFzZXJfY29udGVudC1ndXR0ZXItYmFzZSAqIDQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tY29udGVudC1hbGlnbi14IHtcbiAgICAgICAgICAgICYtMiB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLTMge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1jb250ZW50LWFsaWduLXkge1xuICAgICAgICAgICAgJi0yIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLTMge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICAmLS1jb250YWluZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQtY29udGVudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGltYWdlLXRlYXNlcl90ZXh0LWNvbnRlbnQtZm9udC1zaXplO1xuICAgICAgICBjb2xvcjogJGltYWdlLXRlYXNlcl90ZXh0LWNvbnRlbnQtY29sb3I7XG5cbiAgICAgICAgI3skcm9vdH1fX3NsaWRlLS1zY2hlbWUtZGFyayAmIHtcbiAgICAgICAgICAgIGNvbG9yOiAkaW1hZ2UtdGVhc2VyX3RleHQtY29udGVudC1jb2xvci0tZGFyaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Nsb2dhbiB7XG4gICAgICAgIEBpbmNsdWRlIGhlYWRsaW5lKCRsZXZlbDogJGltYWdlLXRlYXNlcl9zbG9nYW4tbGV2ZWwpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGltYWdlLXRlYXNlcl9zbG9nYW4tZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGltYWdlLXRlYXNlcl9zbG9nYW4tZm9udC13ZWlnaHQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0N3B4O1xuICAgICAgICBjb2xvcjogJGltYWdlLXRlYXNlcl9zbG9nYW4tY29sb3I7XG5cbiAgICAgICAgI3skcm9vdH1fX3NsaWRlLS1zY2hlbWUtZGFyayAmIHtcbiAgICAgICAgICAgIGNvbG9yOiAkaW1hZ2UtdGVhc2VyX3Nsb2dhbi1jb2xvci0tZGFyaztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkaW1hZ2UtdGVhc2VyX3Nsb2dhbi1mb250LXdlaWdodDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6ICRpbWFnZS10ZWFzZXJfZGVzY3JpcHRpb24tZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGltYWdlLXRlYXNlcl9kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICRpbWFnZS10ZWFzZXJfZGVzY3JpcHRpb24tY29sb3I7XG5cbiAgICAgICAgKiArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC41ZW07XG4gICAgICAgIH1cblxuICAgICAgICAjeyRyb290fV9fc2xpZGUtLXNjaGVtZS1kYXJrICYge1xuICAgICAgICAgICAgY29sb3I6ICRpbWFnZS10ZWFzZXJfZGVzY3JpcHRpb24tY29sb3ItLWRhcms7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnLCAnPGxhcHRvcExnJykge1xuICAgICAgICAgICAgI3skcm9vdH0tLWl0ZW1zLWluLXJvdy00ICYge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43NWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY3RhIHtcbiAgICAgICAgKiArICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jdGEtYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRpbWFnZS10ZWFzZXJfY3RhLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkaW1hZ2UtdGVhc2VyX2N0YS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgbWluLXdpZHRoOiAxMzJweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPD1sYXB0b3AnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMXB4IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3BMZycpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dHYnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2N0YS1idXR0b24tc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgJHR5cGU6ICRpbWFnZS10ZWFzZXJfY3RhLWJ1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkaW1hZ2UtdGVhc2VyX2N0YS1idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19jdGEtYnV0dG9uLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICR0eXBlOiAkaW1hZ2UtdGVhc2VyX2N0YS1idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGltYWdlLXRlYXNlcl9jdGEtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQmFkZ2VcbiAgICAmX19iYWRnZSB7XG4gICAgICAgICRiYWRnZTogJjtcblxuICAgICAgICBmb250LXNpemU6ICRpbWFnZS10ZWFzZXJfYmFkZ2UtZm9udC1zaXplO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMC43ZW07XG4gICAgICAgIGxlZnQ6IDAuN2VtO1xuICAgICAgICBjb2xvcjogJGltYWdlLXRlYXNlcl9iYWRnZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZDogJGltYWdlLXRlYXNlcl9iYWRnZS1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHBhZGRpbmc6IDAuOWVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDM7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tYWxpZ24teCB7XG4gICAgICAgICAgICAmLTIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtMyB7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogMC43ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1hbGlnbi15IHtcbiAgICAgICAgICAgICYtMiB7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgICAgICAgICAgICAgJiN7JGJhZGdlfS0tYWxpZ24teC0yIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLTMge1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICBib3R0b206IDAuN2VtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNzUlO1xuICAgICAgICB9XG5cbiAgICAgICAgc21hbGwsXG4gICAgICAgIGJpZyB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4ycmVtO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYmFkZ2Utc3BhbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvLyBDb250cmFzdCBPcHRpbWl6ZXJzXG4gICAgJl9fb3ZlcmxheSxcbiAgICAmX19ncmFkaWVudCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMSU7XG4gICAgICAgIGxlZnQ6IC0xJTtcbiAgICAgICAgd2lkdGg6IDEwMiU7XG4gICAgICAgIGhlaWdodDogMTAyJTtcbiAgICB9XG5cbiAgICAmX19vdmVybGF5IHtcbiAgICAgICAgI3skcm9vdH1fX3NsaWRlLS1zY2hlbWUtbGlnaHQgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaW1hZ2UtdGVhc2VyX2NvbnRhaW5lci1iYWNrZ3JvdW5kLS1saWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19zbGlkZS0tc2NoZW1lLWRhcmsgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaW1hZ2UtdGVhc2VyX2NvbnRhaW5lci1iYWNrZ3JvdW5kLS1kYXJrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZ3JhZGllbnQge1xuICAgICAgICBAZm9yICR4IGZyb20gMSB0aHJvdWdoIDMge1xuICAgICAgICAgICAgJi0tZGlyZWN0aW9uLXgtI3skeH0ge1xuICAgICAgICAgICAgICAgIEBmb3IgJHkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgICAgICAgICAgICAgICAgICYjeyRyb290fV9fZ3JhZGllbnQtLWRpcmVjdGlvbi15LSN7JHl9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICN7JHJvb3R9X19zbGlkZS0tc2NoZW1lLWxpZ2h0ICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRlYXNlci1ncmFkaWVudC1vdmVybGF5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkeCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbWFnZS10ZWFzZXJfZ3JhZGllbnQtY29sb3ItLWxpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4NSVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAjeyRyb290fV9fc2xpZGUtLXNjaGVtZS1kYXJrICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRlYXNlci1ncmFkaWVudC1vdmVybGF5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkeCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbWFnZS10ZWFzZXJfZ3JhZGllbnQtY29sb3ItLWRhcmssXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDg1JVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIC8vIEhpZGVzIGFsdCB0ZXh0IHNvIGl0IGRvZXNuJ3Qgc2hvdyBiZWZvcmUgaW1hZ2UgaXMgbG9hZGVkLlxuICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICAgICAgICBmb250OiAwLzAgYTtcbiAgICAgICAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICYtLW1pcnJvciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19vcHRpbWl6ZXItY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICAgICN7JHJvb3R9X19zbGlkZS0tc2NoZW1lLWRhcmsgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW1hZ2UtdGVhc2VyX2NvbnRhaW5lci1iYWNrZ3JvdW5kLS1kYXJrO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3NsaWRlLS1zY2hlbWUtbGlnaHQgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW1hZ2UtdGVhc2VyX2NvbnRhaW5lci1iYWNrZ3JvdW5kLS1saWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQtY29udGVudC0tdGV4dC1zaGFkb3cge1xuICAgICAgICAjeyRyb290fV9fc2xpZGUtLXNjaGVtZS1kYXJrICYge1xuICAgICAgICAgICAgQGluY2x1ZGUgb3B0aW1pemVyLXRleHQtc2hhZG93KFxuICAgICAgICAgICAgICAgICRjb2xvcjogJGltYWdlLXRlYXNlcl90ZXh0LXNoYWRvdy1jb2xvci0tZGFyayxcbiAgICAgICAgICAgICAgICAkdGV4dC1zaGFkb3ctb2Zmc2V0OiAkaW1hZ2UtdGVhc2VyX3RleHQtc2hhZG93LW9mZnNldC0tZGFyayxcbiAgICAgICAgICAgICAgICAkc3RlcDogJGltYWdlLXRlYXNlcl90ZXh0LXNoYWRvdy1zdGVwLS1kYXJrXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgI3skcm9vdH1fX3NsaWRlLS1zY2hlbWUtbGlnaHQgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBvcHRpbWl6ZXItdGV4dC1zaGFkb3coXG4gICAgICAgICAgICAgICAgJGNvbG9yOiAkaW1hZ2UtdGVhc2VyX3RleHQtc2hhZG93LWNvbG9yLS1saWdodCxcbiAgICAgICAgICAgICAgICAkdGV4dC1zaGFkb3ctb2Zmc2V0OiAkaW1hZ2UtdGVhc2VyX3RleHQtc2hhZG93LW9mZnNldC0tbGlnaHQsXG4gICAgICAgICAgICAgICAgJHN0ZXA6ICRpbWFnZS10ZWFzZXJfdGV4dC1zaGFkb3ctc3RlcC0tbGlnaHRcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1ncmlkLXRlYXNlciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICYtLWhlcm8tdGVhc2VyIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X193cmFwcGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JHJvb3R9X19jYXJvdXNlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljOyAvLyBEbyBub3QgYWZmZWN0IGltYWdlIHRlYXNlciBuYXYgcG9zaXRpb25pbmdcbiAgICAgICAgfVxuXG4gICAgICAgICYjeyRyb290fS0tYXMtbGlzdC1tb2JpbGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgI3skcm9vdH1fX3NsaWRlcyB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fV9fcGFnaW5hdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skbnN9Y29udGFpbmVyLS1pbWFnZS10ZWFzZXItd2luZG93LXdpZHRoIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAuI3skbnN9aW1hZ2UtdGVhc2VyX19zbGlkZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxufVxuXG5cbi4jeyRuc31jb250YWluZXItLWhlcm8tdGVhc2VyIHtcbiAgICAuY3MtaW1hZ2UtdGVhc2VyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiIsIi8vIGNzLXN3aXBlclxuLy8gQmFzZSBjb25maWd1cmF0aW9uIGZvciBhbGwgY2Fyb3VzZWxzIHVzZWQgaW4gb3VyIHByb2plY3RzXG4vL1xuLy8gU2VlIGh0dHA6Ly93YXJwc3BpcmUuY29tL2tzcy8gZm9yIGRvY3VtZW50YXRpb24gZ3VpZGVsaW5lcy5cbi8vIFZlcnNpb24gMC4wLjFcbkBpbXBvcnQgJ3ZlbmRvcnMvc3dpcGVyJztcbkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29uZmlnL2JyZWFrcG9pbnRzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICd1dGlscy9yZXNldC1saXN0LXN0eWxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGVhc2VyL21peGlucy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGVhc2VyL21peGlucy9jb250cmFzdC1vcHRpbWl6ZXJzL2dyYWRpZW50JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGVhc2VyL21peGlucy9jb250cmFzdC1vcHRpbWl6ZXJzL3RleHQtc2hhZG93JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGVhc2VyL2hvb2tzJztcblxuQG1peGluIHRlYXNlciB7XG4gICAgJHJvb3Q6ICY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIEBleHRlbmQgLnN3aXBlci1jb250YWluZXI7XG4gICAgfVxuXG4gICAgJl9fc2xpZGVzIHtcbiAgICAgICAgQGV4dGVuZCAuc3dpcGVyLXdyYXBwZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgJl9fc2Nyb2xsYmFyIHtcbiAgICAgICAgQGV4dGVuZCAuc3dpcGVyLXNjcm9sbGJhcjtcblxuICAgICAgICAmLS1kcmFnIHtcbiAgICAgICAgICAgIEBleHRlbmQgLnN3aXBlci1zY3JvbGxiYXItZHJhZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NsaWRlIHtcbiAgICAgICAgQGV4dGVuZCAuc3dpcGVyLXNsaWRlO1xuICAgICAgICBAaW5jbHVkZSByZXNldC1saXN0LXN0eWxlKCk7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJl9fZmlndXJlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19uYXYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogJHRlYXNlcl9uYXYtYnV0dG9uLXBvc2l0aW9uO1xuICAgICAgICB0b3A6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1wb3NpdGlvbi10b3A7XG4gICAgICAgIHRyYW5zZm9ybTogJHRlYXNlcl9uYXYtYnV0dG9uLXRyYW5zZm9ybTtcbiAgICAgICAgdHJhbnNpdGlvbjogJHRlYXNlcl9uYXYtYnV0dG9uLXRyYW5zaXRpb247XG4gICAgICAgIHotaW5kZXg6ICR0ZWFzZXJfbmF2LWJ1dHRvbi16LWluZGV4O1xuICAgICAgICB3aWR0aDogJHRlYXNlcl9uYXYtYnV0dG9uLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1oZWlnaHQ7XG4gICAgICAgIGJvcmRlcjogJHRlYXNlcl9uYXYtYnV0dG9uLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHRlYXNlcl9uYXYtYnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJhY2tncm91bmQ6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICBib3gtc2hhZG93OiAkdGVhc2VyX25hdi1idXR0b24tYm94LXNoYWRvdztcbiAgICAgICAgcGFkZGluZzogJHRlYXNlcl9uYXYtYnV0dG9uLXBhZGRpbmc7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgIEBtZWRpYSAocG9pbnRlcjogZmluZSkge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICAgICAgICAjeyRyb290fTpob3ZlciAmIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1oaWRkZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWRpc2FibGVkIHtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgIGRpc3BsYXk6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1kaXNhYmxlZC1kaXNwbGF5O1xuICAgICAgICAgICAgb3BhY2l0eTogJHRlYXNlcl9uYXYtYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wcmV2IHtcbiAgICAgICAgICAgIGxlZnQ6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1ob3Jpem9udGFsLXBvc2l0aW9uO1xuXG4gICAgICAgICAgICBAaWYgJHRlYXNlcl9uYXYtYnV0dG9uLWhvcml6b250YWwtb2Zmc2V0LWJyZWFrcG9pbnQgIT0gJycge1xuICAgICAgICAgICAgICAgICN7JHJvb3R9Om5vdCgjeyRyb290fS0tZnVsbC13aWR0aC1zbGlkZXIpICYge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcbiAgICAgICAgICAgICAgICAgICAgICAgICN7JHRlYXNlcl9uYXYtYnV0dG9uLWhvcml6b250YWwtb2Zmc2V0LWJyZWFrcG9pbnR9XG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogJHRlYXNlcl9uYXYtYnV0dG9uLWhvcml6b250YWwtb2Zmc2V0LWRlc2t0b3A7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tbmV4dCB7XG4gICAgICAgICAgICByaWdodDogJHRlYXNlcl9uYXYtYnV0dG9uLWhvcml6b250YWwtcG9zaXRpb247XG5cbiAgICAgICAgICAgIEBpZiAkdGVhc2VyX25hdi1idXR0b24taG9yaXpvbnRhbC1vZmZzZXQtYnJlYWtwb2ludCAhPSAnJyB7XG4gICAgICAgICAgICAgICAgI3skcm9vdH06bm90KCN7JHJvb3R9LS1mdWxsLXdpZHRoLXNsaWRlcikgJiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFxuICAgICAgICAgICAgICAgICAgICAgICAgI3skdGVhc2VyX25hdi1idXR0b24taG9yaXpvbnRhbC1vZmZzZXQtYnJlYWtwb2ludH1cbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogJHRlYXNlcl9uYXYtYnV0dG9uLWhvcml6b250YWwtb2Zmc2V0LWRlc2t0b3A7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoJi0tZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICN7JHJvb3R9LS1yZWFkeSAmIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0ZWFzZXJfbmF2LWJ1dHRvbi0taG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGJvcmRlcjogJHRlYXNlcl9uYXYtYnV0dG9uLS1ob3Zlci1ib3JkZXI7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkdGVhc2VyX25hdi1idXR0b24tLWhvdmVyLWJveC1zaGFkb3c7XG5cbiAgICAgICAgICAgIEBpZiAkdGVhc2VyX25hdi1idXR0b24tLWhvdmVyLWFkZGl0aW9uYWwtdHJhbnNmb3JtICE9ICcnIHtcbiAgICAgICAgICAgICAgICAmOm5vdCgmLS1kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICR0ZWFzZXJfbmF2LWJ1dHRvbi10cmFuc2Zvcm1cbiAgICAgICAgICAgICAgICAgICAgICAgICR0ZWFzZXJfbmF2LWJ1dHRvbi0taG92ZXItYWRkaXRpb25hbC10cmFuc2Zvcm07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICR0ZWFzZXJfaGlkZS1uYXYtYnV0dG9ucy1vbi1tb2JpbGUgPT0gdHJ1ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uYXYtaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgICAgICAgd2lkdGg6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1pY29uLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1pY29uLWhlaWdodDtcbiAgICAgICAgZmlsbDogJHRlYXNlcl9uYXYtYnV0dG9uLWljb24tY29sb3I7XG5cbiAgICAgICAgQGlmICR0ZWFzZXJfbmF2LWJ1dHRvbi1pY29uLWNvbG9yICE9XG4gICAgICAgICAgICAkdGVhc2VyX25hdi1idXR0b24taWNvbi0taG92ZXItY29sb3JcbiAgICAgICAge1xuICAgICAgICAgICAgI3skcm9vdH1fX25hdjpob3ZlciAmIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkdGVhc2VyX25hdi1idXR0b24taWNvbi0taG92ZXItY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wYWdpbmF0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnVsbGV0LXBhZ2luYXRpb24tbGlzdCgpO1xuICAgIH1cblxuICAgICZfX3BhZ2luYXRpb24taXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1bGxldC1wYWdpbmF0aW9uLWl0ZW0oKTtcblxuICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnVsbGV0LXBhZ2luYXRpb24taXRlbS0tYWN0aXZlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wYWdpbmF0aW9uLWJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1bGxldC1wYWdpbmF0aW9uLWJ1dHRvbigpO1xuICAgIH1cblxuICAgICZfX251bWJlciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkdGVhc2VyX3BhZ2luYXRpb24tbnVtYmVycy1mb250LXdlaWdodDtcblxuICAgICAgICAmLS1jdXJyZW50IHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGVhc2VyX3BhZ2luYXRpb24tbnVtYmVyLS1jdXJyZW50LWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdGVhc2VyLWhvb2soKTtcbn1cbiIsIkBpbXBvcnQgJ2NvbXBvbmVudHMvdGVhc2VyL2hvb2tzL3BhZ2luYXRpb24uc2Nzcyc7XG5cbi8vIE5hdiBidXR0b25zXG4kdGVhc2VyX2hpZGUtbmF2LWJ1dHRvbnMtb24tbW9iaWxlOiB0cnVlICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLXBvc2l0aW9uOiBhYnNvbHV0ZSAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1wb3NpdGlvbi10b3A6IDUwJSAhZGVmYXVsdDsgLy8gMnJlbSByZWNvbXBlbnNlcyBoZWlnaHQgb2YgdGhlIGJ1bGxldC1wYWdpbmF0aW9uXG4kdGVhc2VyX25hdi1idXR0b24tei1pbmRleDogMjAxICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCkgIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24tdHJhbnNpdGlvbjogYWxsIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi13aWR0aDogNS41cmVtICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLWhlaWdodDogJHRlYXNlcl9uYXYtYnV0dG9uLXdpZHRoICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLWJvcmRlcjogMCAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLWJvcmRlci1yYWRpdXM6IDIgKiAkYm9yZGVyLXJhZGl1c19iYXNlICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24tZGlzYWJsZWQtZGlzcGxheTogbm9uZSAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5OiAxICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLWhvcml6b250YWwtcG9zaXRpb246IDAgIWRlZmF1bHQ7XG4kdGVhc2VyX25hdi1idXR0b24taG9yaXpvbnRhbC1vZmZzZXQtYnJlYWtwb2ludDogJz49bGFwdG9wTGcnICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLWhvcml6b250YWwtb2Zmc2V0LWRlc2t0b3A6IC0jeyR0ZWFzZXJfbmF2LWJ1dHRvbi13aWR0aCAvIDJ9ICFkZWZhdWx0O1xuLy8gSG92ZXJcbiR0ZWFzZXJfbmF2LWJ1dHRvbi0taG92ZXItYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi0taG92ZXItYm9yZGVyOiAkdGVhc2VyX25hdi1idXR0b24tYm9yZGVyICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLS1ob3Zlci1iYWNrZ3JvdW5kOiAkdGVhc2VyX25hdi1idXR0b24tYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi0taG92ZXItYWRkaXRpb25hbC10cmFuc2Zvcm06ICcnICFkZWZhdWx0O1xuXG4vLyBOYXYgYnV0dG9ucyBpY29uc1xuJHRlYXNlcl9uYXYtYnV0dG9uLWljb24td2lkdGg6IDIuNHJlbSAhZGVmYXVsdDtcbiR0ZWFzZXJfbmF2LWJ1dHRvbi1pY29uLWhlaWdodDogMy43cmVtICFkZWZhdWx0O1xuJHRlYXNlcl9uYXYtYnV0dG9uLWljb24tY29sb3I6ICRjb2xvcl9wcmltYXJ5LTUwMCAhZGVmYXVsdDtcbi8vIEhvdmVyXG4kdGVhc2VyX25hdi1idXR0b24taWNvbi0taG92ZXItY29sb3I6ICR0ZWFzZXJfbmF2LWJ1dHRvbi1pY29uLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBGcmFjdGlvbiBwYWdpbmF0aW9uIChudW1iZXIgcGFnaW5hdGlvbilcbiR0ZWFzZXJfcGFnaW5hdGlvbi1udW1iZXJzLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XG4kdGVhc2VyX3BhZ2luYXRpb24tbnVtYmVyLS1jdXJyZW50LWNvbG9yOiAkY29sb3JfcHJpbWFyeS01MDAgIWRlZmF1bHQ7XG5cbi8vIFBhZ2luYXRpb24gbGlzdFxuJHRlYXNlcl9wYWdpbmF0aW9uLW1hcmdpbjogMCAhZGVmYXVsdDtcbiR0ZWFzZXJfcGFnaW5hdGlvbi1wYWRkaW5nOiAwLjVyZW0gMCAwICFkZWZhdWx0O1xuJHRlYXNlcl9wYWdpbmF0aW9uLW1pbi1oZWlnaHQ6IDNyZW0gIWRlZmF1bHQ7XG4kdGVhc2VyX3BhZ2luYXRpb24tanVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWRlZmF1bHQ7XG4kdGVhc2VyX3BhZ2luYXRpb24tYWxpZ24taXRlbXM6IGNlbnRlciAhZGVmYXVsdDtcbiR0ZWFzZXJfcGFnaW5hdGlvbi10ZXh0LWNvbG9yOiAkY29sb3JfdGV4dC01MDAgIWRlZmF1bHQ7IC8vIHVzZWQgZm9yIFwiZnJhY3Rpb25cIiBwYWdpbmF0aW9uIChudW1iZXJzKVxuJHRlYXNlcl9wYWdpbmF0aW9uLXotaW5kZXg6IDIwMCAhZGVmYXVsdDtcblxuQG1peGluIGJ1bGxldC1wYWdpbmF0aW9uLWxpc3Qge1xuICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGUoKTtcbiAgICBtYXJnaW46ICR0ZWFzZXJfcGFnaW5hdGlvbi1tYXJnaW47XG4gICAgcGFkZGluZzogJHRlYXNlcl9wYWdpbmF0aW9uLXBhZGRpbmc7XG4gICAgbWluLWhlaWdodDogJHRlYXNlcl9wYWdpbmF0aW9uLW1pbi1oZWlnaHQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiAkdGVhc2VyX3BhZ2luYXRpb24tanVzdGlmeS1jb250ZW50O1xuICAgIGFsaWduLWl0ZW1zOiAkdGVhc2VyX3BhZ2luYXRpb24tYWxpZ24taXRlbXM7XG4gICAgY29sb3I6ICR0ZWFzZXJfcGFnaW5hdGlvbi10ZXh0LWNvbG9yO1xuICAgIHotaW5kZXg6ICR0ZWFzZXJfcGFnaW5hdGlvbi16LWluZGV4O1xuXG4gICAgJi0taGlkZGVuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidWxsZXQtcGFnaW5hdGlvbi1saXN0LWhvb2soKTtcbn1cblxuLy8gUGFnaW5hdGlvbiBpdGVtXG4kdGVhc2VyX3BhZ2luYXRpb24taXRlbS1tYXJnaW46IDAuNHJlbSAhZGVmYXVsdDtcbiR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLWJvcmRlci1yYWRpdXM6IDJweCAhZGVmYXVsdDtcbiR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQ6ICRjb2xvcl9nYWxsZXJ5ICFkZWZhdWx0O1xuJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0td2lkdGg6IDIuMnJlbSAhZGVmYXVsdDtcbiR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLWhlaWdodDogMC45cmVtICFkZWZhdWx0O1xuJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0tdHJhbnNmb3JtOiAkdHJhbnNmb3JtX3NrZXctNDAwICFkZWZhdWx0O1xuJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0tYm9yZGVyOiBub25lICFkZWZhdWx0O1xuJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0tdHJhbnNpdGlvbjogYWxsIDAuMTVzICFkZWZhdWx0O1xuJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0tLWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvcl9hbHRvICFkZWZhdWx0O1xuXG5AbWl4aW4gYnVsbGV0LXBhZ2luYXRpb24taXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0tbWFyZ2luO1xuICAgIGJvcmRlci1yYWRpdXM6ICR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZDtcbiAgICB3aWR0aDogJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0td2lkdGg7XG4gICAgaGVpZ2h0OiAkdGVhc2VyX3BhZ2luYXRpb24taXRlbS1oZWlnaHQ7XG4gICAgdHJhbnNmb3JtOiAkdGVhc2VyX3BhZ2luYXRpb24taXRlbS10cmFuc2Zvcm07XG4gICAgYm9yZGVyOiAkdGVhc2VyX3BhZ2luYXRpb24taXRlbS1ib3JkZXI7XG4gICAgdHJhbnNpdGlvbjogJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0tdHJhbnNpdGlvbjtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdGVhc2VyX3BhZ2luYXRpb24taXRlbS0taG92ZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidWxsZXQtcGFnaW5hdGlvbi1pdGVtLWhvb2soKTtcbn1cblxuJHRlYXNlcl9wYWdpbmF0aW9uLWl0ZW0tLWFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3JfZ29sZCAhZGVmYXVsdDtcbkBtaXhpbiBidWxsZXQtcGFnaW5hdGlvbi1pdGVtLS1hY3RpdmUge1xuICAgICYsXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR0ZWFzZXJfcGFnaW5hdGlvbi1pdGVtLS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidWxsZXQtcGFnaW5hdGlvbi1pdGVtLS1hY3RpdmUtaG9vaygpO1xufVxuXG5AbWl4aW4gYnVsbGV0LXBhZ2luYXRpb24tYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBAaW5jbHVkZSBidWxsZXQtcGFnaW5hdGlvbi1idXR0b24taG9vaygpO1xufVxuIiwiQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RlYXNlci9mdW5jdGlvbnMnO1xuXG5AbWl4aW4gdGVhc2VyLWdyYWRpZW50LW92ZXJsYXkoXG4gICAgJHg6IDEsXG4gICAgJHk6IDEsXG4gICAgJGNvbG9yOiAkY29sb3JfYmFja2dyb3VuZC03MDAsXG4gICAgJGdyYWRpZW50LXJhbmdlOiA4NSVcbikge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgZ2V0LWdyYWRpZW50LWFuZ2xlKCR4LCAkeSksXG4gICAgICAgICRjb2xvciAwJSxcbiAgICAgICAgcmdiYSgkY29sb3IsIDApICRncmFkaWVudC1yYW5nZVxuICAgICk7XG59XG4iLCJAbWl4aW4gb3B0aW1pemVyLXRleHQtc2hhZG93KFxuICAgICRjb2xvcjogJGNvbG9yX2JhY2tncm91bmQtMjAwLFxuICAgICR0ZXh0LXNoYWRvdy1vZmZzZXQ6IDAgMCAyNXB4LFxuICAgICRzdGVwOiA1XG4pIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIGNlaWwoMTAwIC8gJHN0ZXApIHtcbiAgICAgICAgJHZhbHVlOiAkaSAqICRzdGVwO1xuXG4gICAgICAgICYtI3skdmFsdWV9IHtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiAjeyR0ZXh0LXNoYWRvdy1vZmZzZXR9IHJnYmEoJGNvbG9yLCAoJHZhbHVlIC8gMTAwKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLmNzLWRhc2hib2FyZCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLmNzLWRhc2hib2FyZCB7XG4gICAgICBwYWRkaW5nLXRvcDogMTBweCAhaW1wb3J0YW50OyB9IH1cbiAgLmNzLWRhc2hib2FyZF9fY29sdW1ucyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogNHJlbSAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmRfX2NvbHVtbnMge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMnJlbTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmRfX2NvbHVtbnMge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAuY3MtZGFzaGJvYXJkX19zaWRlYmFyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkX19zaWRlYmFyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDIzM3B4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDcuOTllbSkge1xuICAgICAgLmNzLWRhc2hib2FyZF9fc2lkZWJhciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuICAuY3MtZGFzaGJvYXJkX19tYWluIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleDogMTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkX19tYWluIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMi41cmVtOyB9IH1cbiAgICAuY3MtZGFzaGJvYXJkX19tYWluIGEuYWN0aW9uIHtcbiAgICAgIGNvbG9yOiAjRkY3NDQyOyB9XG4gICAgICAuY3MtZGFzaGJvYXJkX19tYWluIGEuYWN0aW9uOnZpc2l0ZWQsIC5jcy1kYXNoYm9hcmRfX21haW4gYS5hY3Rpb246aG92ZXIsIC5jcy1kYXNoYm9hcmRfX21haW4gYS5hY3Rpb246Zm9jdXMge1xuICAgICAgICBjb2xvcjogI0ZGNzQ0MjsgfVxuICAgIC5jcy1kYXNoYm9hcmRfX21haW4gLnRhYmxlOm5vdCgudG90YWxzKTpub3QoLnRhYmxlLXRvdGFscykgdGJvZHkgdGQge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgLmNzLWRhc2hib2FyZF9fbWFpbiAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0aGVhZCB0aCB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTsgfVxuICAuY3MtZGFzaGJvYXJkX190b3Age1xuICAgIHBhZGRpbmc6IDAgMCAzcmVtOyB9XG4gIC5jcy1kYXNoYm9hcmRfX3BhZ2UtdGl0bGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuaWUxMSAuY3MtZGFzaGJvYXJkX19wYWdlLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtOyB9IH1cbiAgICAuY3MtZGFzaGJvYXJkX19wYWdlLXRpdGxlIC5tZXNzYWdlcyB7XG4gICAgICBvcmRlcjogMTsgfVxuICAgIC5jcy1kYXNoYm9hcmRfX3BhZ2UtdGl0bGUgLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gICAgICBvcmRlcjogMjsgfVxuICAuY3MtZGFzaGJvYXJkIC5wYWdlLXRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjZweDtcbiAgICBwYWRkaW5nOiAwIDAgMXJlbSAwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmQgLnBhZ2UtdGl0bGUge1xuICAgICAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLmNzLWRhc2hib2FyZCAuYWNjb3VudC13ZWxjb21lIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBvcmRlcjogMzsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLmFjY291bnQtd2VsY29tZSBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNzLWRhc2hib2FyZCAuY29sdW1ucyAuY29sdW1uLm1haW4ge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNzLWRhc2hib2FyZCAubWVzc2FnZS1lcnJvcixcbiAgLmNzLWRhc2hib2FyZCAubWVzc2FnZS1zdWNjZXNzLFxuICAuY3MtZGFzaGJvYXJkIC5tZXNzYWdlLW5vdGljZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuY3MtZGFzaGJvYXJkIC5wYWdlLXRpdGxlLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5jcy1kYXNoYm9hcmRfX2JvdHRvbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZGNkY2RjOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmRfX2JvdHRvbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTsgfSB9XG4gIC5jcy1kYXNoYm9hcmRfX3dpc2hsaXN0LWxpbmUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtZGFzaGJvYXJkX193aXNobGlzdC1wcm9kdWN0cy1ncmlkIHtcbiAgICBtYXJnaW46IDAgMCAzcmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmRfX3dpc2hsaXN0LXByb2R1Y3RzLWdyaWQge1xuICAgICAgICBtYXJnaW46IDAgMCA0cmVtOyB9IH1cbiAgICAuY3MtZGFzaGJvYXJkX193aXNobGlzdC1wcm9kdWN0cy1ncmlkLS1za2lwLXNwYWNpbmcge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1kYXNoYm9hcmRfX2JvdHRvbS13aXNobGlzdCB7XG4gICAgbWFyZ2luOiAwIDAgM3JlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWRhc2hib2FyZF9fYm90dG9tLXdpc2hsaXN0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNHJlbTsgfSB9XG4gICAgLmNzLWRhc2hib2FyZF9fYm90dG9tLXdpc2hsaXN0LS1za2lwLXNwYWNpbmcge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWRhc2hib2FyZF9fYm90dG9tLXdpc2hsaXN0LWl0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jcy1kYXNoYm9hcmRfX2JvdHRvbS13aXNobGlzdC1pdGVtIHtcbiAgICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jcy1kYXNoYm9hcmRfX2JvdHRvbS13aXNobGlzdC1pdGVtIHtcbiAgICAgICAgICB3aWR0aDogMzMuMzMlOyB9IH1cbiAgICAgIC5jcy1kYXNoYm9hcmRfX2JvdHRvbS13aXNobGlzdC1pdGVtOm50aC1jaGlsZChuICsgNCkge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1kYXNoYm9hcmRfX2xvZ2luIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWRhc2hib2FyZF9fbG9naW4ge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLmNzLWRhc2hib2FyZF9fbG9naW4gLmJsb2NrLXRpdGxlIHtcbiAgICAgIG1heC13aWR0aDogNTAuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgLmNzLWRhc2hib2FyZF9fbG9naW4tc2VjdGlvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICAgIC5pZTExIC5jcy1kYXNoYm9hcmRfX2xvZ2luLXNlY3Rpb24gLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLmllMTEgLmNzLWRhc2hib2FyZF9fbG9naW4tc2VjdGlvbiAuc2Vjb25kYXJ5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5jcy1kYXNoYm9hcmRfX2xvZ2luLXNlY3Rpb24gLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAgIC5jcy1kYXNoYm9hcmRfX2xvZ2luLXNlY3Rpb24gLmJsb2NrLWNvbnRlbnQgcCwgLmNzLWRhc2hib2FyZF9fbG9naW4tc2VjdGlvbiAuYmxvY2stY29udGVudCBkaXYge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY3MtZGFzaGJvYXJkX19sb2dpbi1zZWN0aW9uIHtcbiAgICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAgICAgLmNzLWRhc2hib2FyZF9fbG9naW4tc2VjdGlvbjpudGgtY2hpbGQoMm4gKyAxKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gICAgICAgICAgLmNzLWRhc2hib2FyZF9fbG9naW4tc2VjdGlvbjpudGgtY2hpbGQoMm4gKyAyKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH0gfVxuICAuY3MtZGFzaGJvYXJkX19jb250YWN0LWZvcm0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAuY3MtZGFzaGJvYXJkIC5maWVsZHNldCxcbiAgLmNzLWRhc2hib2FyZCAuZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAxNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5jcy1kYXNoYm9hcmQgLmZpZWxkc2V0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiA1MC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmNzLWRhc2hib2FyZCAuZmllbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5maWVsZC5ub3RlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgLmNzLWRhc2hib2FyZCAuZmllbGQuY2hvaWNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLWRhc2hib2FyZCAubGltaXRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY3MtZGFzaGJvYXJkIHNlbGVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgcGFkZGluZzogMTFweCAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuM2VtO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDAuMmVtO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjNkY2RjZGMnJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50IDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCByZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC44ZW0gdG9wIDUyJSwgMCAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMC43ZW0gYXV0bywgMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41czsgfVxuICAgIC5jcy1kYXNoYm9hcmQgc2VsZWN0Oi1tb3otZm9jdXNyaW5nLCAuY3MtZGFzaGJvYXJkIHNlbGVjdDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwICFpbXBvcnRhbnQ7IH1cbiAgICAuY3MtZGFzaGJvYXJkIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLWRhc2hib2FyZCBzZWxlY3Q6aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtZGFzaGJvYXJkIHNlbGVjdDpmb2N1czpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNDYwNDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgOScgZmlsbD0nJTIzRkY0NjA0JyUzZSUzY3BhdGggZD0nTTAgMS4yQzAgLjUuNiAwIDEuMiAwYy4zIDAgLjYuMS44LjNsNiA1LjkgNi01LjljLjUtLjQgMS4yLS4zIDEuNy4xLjQuNC40IDEuMSAwIDEuNUw4LjkgOC43Yy0uNS40LTEuMi40LTEuNyAwTC40IDJhLjkuOSAwIDAgMS0uNC0uOHonLyUzZSUzYy9zdmclM2VcIiksIGxpbmVhci1ncmFkaWVudCgwZGVnLCB0cmFuc3BhcmVudCAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7IH1cbiAgICAgIC5pZTExIC5jcy1kYXNoYm9hcmQgc2VsZWN0OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLmllMTEgLmNzLWRhc2hib2FyZCBzZWxlY3Q6Zm9jdXM6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDknIGZpbGw9JyUyM0ZGNDYwNCclM2UlM2NwYXRoIGQ9J00wIDEuMkMwIC41LjYgMCAxLjIgMGMuMyAwIC42LjEuOC4zbDYgNS45IDYtNS45Yy41LS40IDEuMi0uMyAxLjcuMS40LjQuNCAxLjEgMCAxLjVMOC45IDguN2MtLjUuNC0xLjIuNC0xLjcgMEwuNCAyYS45LjkgMCAwIDEtLjQtLjh6Jy8lM2UlM2Mvc3ZnJTNlXCIpOyB9XG4gICAgLmNzLWRhc2hib2FyZCBzZWxlY3RbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7IH1cbiAgICAuY3MtZGFzaGJvYXJkIHNlbGVjdCBvcHRpb24ge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogaW5pdGlhbDsgfVxuICAgIC5pZTExIC5jcy1kYXNoYm9hcmQgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiA5JyBmaWxsPSclMjNkY2RjZGMnJTNlJTNjcGF0aCBkPSdNMCAxLjJDMCAuNS42IDAgMS4yIDBjLjMgMCAuNi4xLjguM2w2IDUuOSA2LTUuOWMuNS0uNCAxLjItLjMgMS43LjEuNC40LjQgMS4xIDAgMS41TDguOSA4LjdjLS41LjQtMS4yLjQtMS43IDBMLjQgMmEuOS45IDAgMCAxLS40LS44eicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMC43ZW0gMC43ZW0sIDEwMCU7IH1cbiAgLmNzLWRhc2hib2FyZCAuY2hvaWNlIC5sYWJlbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAuY3MtZGFzaGJvYXJkIC5maWVsZC1uYW1lLXByZWZpeCB7XG4gICAgbWF4LXdpZHRoOiAxMnJlbTsgfVxuICAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5pZTExIC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbixcbiAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICAgICAgcGFkZGluZzogOHB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7XG4gICAgICBtaW4td2lkdGg6IDEzcmVtOyB9XG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5ID4gYnV0dG9uLm1lZGl1bSxcbiAgICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgLmNyZWF0ZS5tZWRpdW0ge1xuICAgICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5ID4gYnV0dG9uLmxhcmdlLFxuICAgICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSAuY3JlYXRlLmxhcmdlIHtcbiAgICAgICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgLmNyZWF0ZTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5ID4gYnV0dG9uLCAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5ID4gYnV0dG9uOnZpc2l0ZWQsXG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGUsXG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGU6dmlzaXRlZCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjQ2MDQ7IH1cbiAgICAgICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbiAqLCAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5ID4gYnV0dG9uOnZpc2l0ZWQgKixcbiAgICAgICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSAuY3JlYXRlICosXG4gICAgICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgLmNyZWF0ZTp2aXNpdGVkICoge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgPiBidXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5ID4gYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pLFxuICAgICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSAuY3JlYXRlOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgLmNyZWF0ZTpmb2N1czpub3QoW2Rpc2FibGVkXSksXG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGU6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3NDQyOyB9XG4gICAgICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgPiBidXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgPiBidXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgPiBidXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqLFxuICAgICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGU6aG92ZXI6bm90KFtkaXNhYmxlZF0pICosXG4gICAgICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgLmNyZWF0ZTpmb2N1czpub3QoW2Rpc2FibGVkXSkgKixcbiAgICAgICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSAuY3JlYXRlOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgICAgLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbltkaXNhYmxlZF0sXG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGVbZGlzYWJsZWRdIHtcbiAgICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgICAgY3Vyc29yOiBhdXRvOyB9XG4gICAgICAud2lzaGxpc3QtaW5kZXgtaW5kZXggLmNzLWRhc2hib2FyZCAucHJpbWFyeSA+IGJ1dHRvbiwgLndpc2hsaXN0LWluZGV4LWluZGV4XG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGUge1xuICAgICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5ID4gYnV0dG9uIHNwYW4sXG4gICAgICAuY3MtZGFzaGJvYXJkIC5wcmltYXJ5IC5jcmVhdGUgc3BhbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLnByaW1hcnkgPiBidXR0b24uYWN0aW9uLnVwZGF0ZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jcy1kYXNoYm9hcmQgLnJlbWluZCxcbiAgLmNzLWRhc2hib2FyZCAuYmFjayB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgbWFyZ2luLXRvcDogMC43cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLnJlbWluZDp2aXNpdGVkLFxuICAgIC5jcy1kYXNoYm9hcmQgLmJhY2s6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuY3MtZGFzaGJvYXJkIC5jb3VudGVyIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXJlbSk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmNzLWRhc2hib2FyZCAuY291bnRlcjpiZWZvcmUge1xuICAgICAgY29udGVudDogJygnOyB9XG4gICAgLmNzLWRhc2hib2FyZCAuY291bnRlcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnKSc7IH1cbiAgLmNzLWRhc2hib2FyZCAuYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMXJlbSAwIDIuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWRhc2hib2FyZCAuYmxvY2sge1xuICAgICAgICBtYXJnaW46IDEuNXJlbSAwIDRyZW07IH0gfVxuICAuY3MtZGFzaGJvYXJkIC5ibG9jay10aXRsZSxcbiAgLmNzLWRhc2hib2FyZCAubGVnZW5kLFxuICAuY3MtZGFzaGJvYXJkIC5vcmRlci10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGMEYwRjA7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5ibG9jay10aXRsZSBzdHJvbmcsXG4gICAgLmNzLWRhc2hib2FyZCAubGVnZW5kIHN0cm9uZyxcbiAgICAuY3MtZGFzaGJvYXJkIC5vcmRlci10aXRsZSBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAuY3MtZGFzaGJvYXJkIC50YWJsZS13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtZGFzaGJvYXJkIC5ibG9jay10aXRsZSBhIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmJveC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4gIC5jcy1kYXNoYm9hcmQgLmJsb2NrLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW46IDFyZW0gMCAwO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAgIC5zYWxlcy1vcmRlci1oaXN0b3J5IC5jcy1kYXNoYm9hcmQgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5ibG9jay1jb250ZW50Lm5vLWRpc3BsYXkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtZGFzaGJvYXJkIC5ibG9jay1uZXctY3VzdG9tZXIgLmJsb2NrLWNvbnRlbnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5ibG9jay1uZXctY3VzdG9tZXIgLmJsb2NrLWNvbnRlbnQgLmZpZWxkc2V0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAuY3MtZGFzaGJvYXJkIC5ibG9jay1yZXdhcmQtaGlzdG9yeSAuY3MtdG9vbGJhcl9faXRlbS0tYW1vdW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAuY3MtZGFzaGJvYXJkIC5ibG9jay1yZXdhcmQtaGlzdG9yeSAuY3MtdG9vbGJhcl9faXRlbS0tYW1vdW50Om50aC1jaGlsZCgxKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgIC5jcy1kYXNoYm9hcmQgLmJsb2NrLXJld2FyZC1oaXN0b3J5IC5wYWdlcyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbjogMC43cmVtIDAgMnJlbTsgfSB9XG4gIC5jcy1kYXNoYm9hcmQgLmJsb2NrLXJld2FyZC1oaXN0b3J5IC5wYWdlczpudGgtY2hpbGQoMikge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAuY3MtZGFzaGJvYXJkIC5ibG9jay1yZXdhcmQtaGlzdG9yeSAuY3MtdG9vbGJhcl9faXRlbS0tbGltaXRlciB7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5jcy1kYXNoYm9hcmQgLmJsb2NrLXJld2FyZC1oaXN0b3J5IC5jcy10b29sYmFyX19pdGVtLS1saW1pdGVyOm50aC1jaGlsZCgzKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtZGFzaGJvYXJkIC5ib3gtYWN0aW9ucyxcbiAgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5ib3gtYWN0aW9ucyBhICsgYTpiZWZvcmUsXG4gICAgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyBhICsgYTpiZWZvcmUge1xuICAgICAgbWFyZ2luOiAwIDAuN3JlbSAwIDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICd8JztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBsaW5lLWhlaWdodDogNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLmJveC1hY3Rpb25zIGEsXG4gICAgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLmNzLWRhc2hib2FyZCAudGFibGUtd3JhcHBlcixcbiAgLmNzLWRhc2hib2FyZCAub3JkZXJzLWhpc3RvcnksXG4gIC5jcy1kYXNoYm9hcmQgLmZvcm0td2lzaGxpc3QtaXRlbXMge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtd3JhcHBlciArIC50b29sYmFyLFxuICAgIC5jcy1kYXNoYm9hcmQgLnRhYmxlLXdyYXBwZXIgKyAuYWN0aW9ucy10b29sYmFyLFxuICAgIC5jcy1kYXNoYm9hcmQgLm9yZGVycy1oaXN0b3J5ICsgLnRvb2xiYXIsXG4gICAgLmNzLWRhc2hib2FyZCAub3JkZXJzLWhpc3RvcnkgKyAuYWN0aW9ucy10b29sYmFyLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0td2lzaGxpc3QtaXRlbXMgKyAudG9vbGJhcixcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLXdpc2hsaXN0LWl0ZW1zICsgLmFjdGlvbnMtdG9vbGJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC50YWJsZS13cmFwcGVyLm9yZGVyLWl0ZW1zICsgLmFjdGlvbnMtdG9vbGJhcixcbiAgICAuY3MtZGFzaGJvYXJkIC5vcmRlcnMtaGlzdG9yeS5vcmRlci1pdGVtcyArIC5hY3Rpb25zLXRvb2xiYXIsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS13aXNobGlzdC1pdGVtcy5vcmRlci1pdGVtcyArIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLnRhYmxlLXdyYXBwZXIgKyAudG9vbGJhcixcbiAgICAuY3MtZGFzaGJvYXJkIC5vcmRlcnMtaGlzdG9yeSArIC50b29sYmFyLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0td2lzaGxpc3QtaXRlbXMgKyAudG9vbGJhciB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLnRhYmxlLXdyYXBwZXIgLmFjdGlvbixcbiAgICAuY3MtZGFzaGJvYXJkIC5vcmRlcnMtaGlzdG9yeSAuYWN0aW9uLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0td2lzaGxpc3QtaXRlbXMgLmFjdGlvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmNzLWRhc2hib2FyZCAuZm9ybS13aXNobGlzdC1pdGVtcyAuYWN0aW9ucy10b29sYmFyIC5wcmltYXJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0td2lzaGxpc3QtaXRlbXMgLmFjdGlvbnMtdG9vbGJhciAucHJpbWFyeSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLXdpc2hsaXN0LWl0ZW1zIC5hY3Rpb25zLXRvb2xiYXIgLnByaW1hcnkgLmFjdGlvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9IH1cbiAgLmNzLWRhc2hib2FyZCAuY3MtdG9vbGJhcl9faXRlbS0tYW1vdW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNzLWRhc2hib2FyZCAudG9vbGJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3Ljk5ZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmQgLnRvb2xiYXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMuOTllbSkge1xuICAgICAgLmNzLWRhc2hib2FyZCAudG9vbGJhciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIC5jcy1kYXNoYm9hcmQgLnRvb2xiYXI6OmFmdGVyLCAuY3MtZGFzaGJvYXJkIC50b29sYmFyOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIC5jcy10b29sYmFyX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogYXV0bzsgfVxuICAgICAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIC5jcy10b29sYmFyX19pdGVtIHAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIC5jcy10b29sYmFyX19pdGVtLS1hbW91bnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIC5jcy10b29sYmFyX19pdGVtLS1hbW91bnQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gICAgLmNzLWRhc2hib2FyZCAudG9vbGJhciAuY3MtdG9vbGJhcl9faXRlbS0tYW1vdW50ICsgLmNzLXRvb2xiYXJfX2l0ZW0tLWxpbWl0ZXIge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2My45OWVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIC5jcy10b29sYmFyX19pdGVtLS1saW1pdGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMi41cmVtOyB9IH1cbiAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIC50b29sYmFyLWFtb3VudCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIC5wYWdlcyB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNzLWRhc2hib2FyZCAudG9vbGJhciAucGFnZXMge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIC5saW1pdGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyIC5saW1pdGVyIC5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAuY3MtZGFzaGJvYXJkIC50b29sYmFyLndpc2hsaXN0LXRvb2xiYXIgYnIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zLXRvb2xiYXIgPiAuc2Vjb25kYXJ5IC5hY3Rpb24uYmFjayxcbiAgLmNzLWRhc2hib2FyZCAuc2Vjb25kYXJ5IC5hY3Rpb24uZWRpdC1lbWFpbC1wcmVmZXJlbmNlcyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtZGFzaGJvYXJkIC5ib3gsXG4gIC5jcy1kYXNoYm9hcmQgLmFkZHJlc3NlcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC5ib3gsXG4gICAgICAuY3MtZGFzaGJvYXJkIC5hZGRyZXNzZXMge1xuICAgICAgICB3aWR0aDogNDklO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9IH1cbiAgLmNzLWRhc2hib2FyZCAuYm94LWNvbnRlbnQsXG4gIC5jcy1kYXNoYm9hcmQgLmFkZHJlc3NlcyAuaXRlbSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzY5Njk2OTtcbiAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNzLWRhc2hib2FyZCAuYm94LWNvbnRlbnQgYWRkcmVzcyBhIHtcbiAgICBjb2xvcjogIzNFM0UzRTsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLmJveC1jb250ZW50IGFkZHJlc3MgYTp2aXNpdGVkLCAuY3MtZGFzaGJvYXJkIC5ib3gtY29udGVudCBhZGRyZXNzIGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICMzRTNFM0U7IH1cbiAgLmNzLWRhc2hib2FyZCAudG9vbHRpcC53cmFwcGVyIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgLmNzLWRhc2hib2FyZCAuY2hvaWNlLnBlcnNpc3RlbnQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzLjk5ZW0pIHtcbiAgICAuY3MtZGFzaGJvYXJkIC50YWJsZS1vcmRlci1pdGVtcyAuY3MtdGFibGVfX2NvbDpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtb3JkZXItaXRlbXMgLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtb3JkZXItaXRlbXMgLnByaWNlLWluY2x1ZGluZy10YXgsXG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtb3JkZXItaXRlbXMgLml0ZW1zLXF0eSxcbiAgICAuY3MtZGFzaGJvYXJkIC50YWJsZS1vcmRlci1pdGVtcyAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiAjNjk2OTY5OyB9XG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtb3JkZXItaXRlbXMgLmNzLWNhcnQtaXRlbV9fb3B0aW9ucy1sYWJlbCB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gICAgICAuY3MtZGFzaGJvYXJkIC50YWJsZS1vcmRlci1pdGVtcyAuY3MtY2FydC1pdGVtX19vcHRpb25zLWxhYmVsOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJzonOyB9XG4gICAgLmNzLWRhc2hib2FyZCAudGFibGUtb3JkZXItaXRlbXMgLmNzLXRhYmxlX19jb2wuc3VidG90YWwge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLnRhYmxlLW9yZGVyLWl0ZW1zIC5wcmljZS1leGNsdWRpbmctdGF4IC5wcmljZSB7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9IH1cbiAgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgcGFkZGluZzogOHB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyLm1lZGl1bSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyLmxhcmdlIHtcbiAgICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyLCAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY0NjA0OyB9XG4gICAgICAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlciAqLCAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyOmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcjpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAub3JkZXI6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5vcmRlcltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLm9yZGVyIHNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4gIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3NWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gICAgcGFkZGluZzogOHB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50Lm1lZGl1bSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50LmxhcmdlIHtcbiAgICAgIHBhZGRpbmc6IDEzcHggMjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gICAgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50LCAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDp2aXNpdGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgICAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludCAqLCAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI0ZGNDYwNDsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50OmhvdmVyOm5vdChbZGlzYWJsZWRdKSwgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzRTNFM0U7IH1cbiAgICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50OmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludDpmb2N1czpub3QoW2Rpc2FibGVkXSkgKiwgLnNhbGVzLW9yZGVyLXZpZXcgLmNzLWRhc2hib2FyZCAuYWN0aW9ucyAucHJpbnQ6YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuc2FsZXMtb3JkZXItdmlldyAuY3MtZGFzaGJvYXJkIC5hY3Rpb25zIC5wcmludFtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgIGN1cnNvcjogYXV0bzsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50OjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5zYWxlcy1vcmRlci12aWV3IC5jcy1kYXNoYm9hcmQgLmFjdGlvbnMgLnByaW50IHNwYW4ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmJsb2NrLXJldmlld3MtZGFzaGJvYXJkIC5wcm9kdWN0LW5hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLmNzLWRhc2hib2FyZCAucmF0aW5nLXJlc3VsdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5yYXRpbmctcmVzdWx0OjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuY3MtZGFzaGJvYXJkIC5yYXRpbmctc3VtbWFyeS5pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gIC5jcy1kYXNoYm9hcmQgLmN1c3RvbWVyLXJldmlldyAucHJvZHVjdC1uYW1lIHtcbiAgICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBVYnVudHUsIENhbnRhcmVsbCwgT3h5Z2VuLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbjogMXJlbSAwIDJyZW07IH1cbiAgLmNzLWRhc2hib2FyZCAuY3VzdG9tZXItcmV2aWV3IC5yZXZpZXctdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIFVidW50dSwgQ2FudGFyZWxsLCBPeHlnZW4sIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luOiAxcmVtIDAgMnJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAuY3MtZGFzaGJvYXJkIC5mb3JtLWFkZHJlc3MtZWRpdCxcbiAgLmNzLWRhc2hib2FyZCAuZm9ybS1lZGl0LWFjY291bnQsXG4gIC5jcy1kYXNoYm9hcmQgLmZvcm0tbmV3c2xldHRlci1tYW5hZ2UsXG4gIC5jcy1kYXNoYm9hcmQgLnJldmlld3Mge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLmNzLWRhc2hib2FyZCAuZm9ybS5jcmVhdGUuYWNjb3VudCxcbiAgLmNzLWRhc2hib2FyZCAuZm9ybS1hZGRyZXNzLWVkaXQsXG4gIC5jcy1kYXNoYm9hcmQgLmZvcm0tZWRpdC1hY2NvdW50LFxuICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLnJlc2V0LFxuICAuY3MtZGFzaGJvYXJkIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uLFxuICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLmZvcmdldCxcbiAgLmNzLWRhc2hib2FyZCAjYXdfZ2lmdGNhcmRfX2NoZWNrX2NvZGVfZm9ybSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLmNyZWF0ZS5hY2NvdW50LFxuICAgICAgLmNzLWRhc2hib2FyZCAuZm9ybS1hZGRyZXNzLWVkaXQsXG4gICAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLWVkaXQtYWNjb3VudCxcbiAgICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQucmVzZXQsXG4gICAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uLFxuICAgICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5mb3JnZXQsXG4gICAgICAuY3MtZGFzaGJvYXJkICNhd19naWZ0Y2FyZF9fY2hlY2tfY29kZV9mb3JtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uY3JlYXRlLmFjY291bnQgYnIsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS1hZGRyZXNzLWVkaXQgYnIsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS1lZGl0LWFjY291bnQgYnIsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5yZXNldCBicixcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uIGJyLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQuZm9yZ2V0IGJyLFxuICAgIC5jcy1kYXNoYm9hcmQgI2F3X2dpZnRjYXJkX19jaGVja19jb2RlX2Zvcm0gYnIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uY3JlYXRlLmFjY291bnQgLmZ1bGxuYW1lIC5sYWJlbCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLWFkZHJlc3MtZWRpdCAuZnVsbG5hbWUgLmxhYmVsLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0tZWRpdC1hY2NvdW50IC5mdWxsbmFtZSAubGFiZWwsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5yZXNldCAuZnVsbG5hbWUgLmxhYmVsLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uc2VuZC5jb25maXJtYXRpb24gLmZ1bGxuYW1lIC5sYWJlbCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLmZvcmdldCAuZnVsbG5hbWUgLmxhYmVsLFxuICAgIC5jcy1kYXNoYm9hcmQgI2F3X2dpZnRjYXJkX19jaGVja19jb2RlX2Zvcm0gLmZ1bGxuYW1lIC5sYWJlbCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLmNyZWF0ZS5hY2NvdW50IC5mdWxsbmFtZSAuY29udHJvbCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLWFkZHJlc3MtZWRpdCAuZnVsbG5hbWUgLmNvbnRyb2wsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS1lZGl0LWFjY291bnQgLmZ1bGxuYW1lIC5jb250cm9sLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQucmVzZXQgLmZ1bGxuYW1lIC5jb250cm9sLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uc2VuZC5jb25maXJtYXRpb24gLmZ1bGxuYW1lIC5jb250cm9sLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0ucGFzc3dvcmQuZm9yZ2V0IC5mdWxsbmFtZSAuY29udHJvbCxcbiAgICAuY3MtZGFzaGJvYXJkICNhd19naWZ0Y2FyZF9fY2hlY2tfY29kZV9mb3JtIC5mdWxsbmFtZSAuY29udHJvbCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uY3JlYXRlLmFjY291bnQgLmFjdGlvbi5wcmltYXJ5LFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0tYWRkcmVzcy1lZGl0IC5hY3Rpb24ucHJpbWFyeSxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLWVkaXQtYWNjb3VudCAuYWN0aW9uLnByaW1hcnksXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5yZXNldCAuYWN0aW9uLnByaW1hcnksXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5zZW5kLmNvbmZpcm1hdGlvbiAuYWN0aW9uLnByaW1hcnksXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5mb3JnZXQgLmFjdGlvbi5wcmltYXJ5LFxuICAgIC5jcy1kYXNoYm9hcmQgI2F3X2dpZnRjYXJkX19jaGVja19jb2RlX2Zvcm0gLmFjdGlvbi5wcmltYXJ5IHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtOyB9XG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5jcmVhdGUuYWNjb3VudCAuYmFjayxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLWFkZHJlc3MtZWRpdCAuYmFjayxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLWVkaXQtYWNjb3VudCAuYmFjayxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLnJlc2V0IC5iYWNrLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uc2VuZC5jb25maXJtYXRpb24gLmJhY2ssXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5mb3JnZXQgLmJhY2ssXG4gICAgLmNzLWRhc2hib2FyZCAjYXdfZ2lmdGNhcmRfX2NoZWNrX2NvZGVfZm9ybSAuYmFjayB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5jcmVhdGUuYWNjb3VudCAuZmllbGRzZXQsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS1hZGRyZXNzLWVkaXQgLmZpZWxkc2V0LFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0tZWRpdC1hY2NvdW50IC5maWVsZHNldCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLnJlc2V0IC5maWVsZHNldCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uIC5maWVsZHNldCxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLnBhc3N3b3JkLmZvcmdldCAuZmllbGRzZXQsXG4gICAgLmNzLWRhc2hib2FyZCAjYXdfZ2lmdGNhcmRfX2NoZWNrX2NvZGVfZm9ybSAuZmllbGRzZXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0uY3JlYXRlLmFjY291bnQgLmZpZWxkc2V0LWZ1bGxuYW1lLFxuICAgIC5jcy1kYXNoYm9hcmQgLmZvcm0tYWRkcmVzcy1lZGl0IC5maWVsZHNldC1mdWxsbmFtZSxcbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLWVkaXQtYWNjb3VudCAuZmllbGRzZXQtZnVsbG5hbWUsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5yZXNldCAuZmllbGRzZXQtZnVsbG5hbWUsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5zZW5kLmNvbmZpcm1hdGlvbiAuZmllbGRzZXQtZnVsbG5hbWUsXG4gICAgLmNzLWRhc2hib2FyZCAuZm9ybS5wYXNzd29yZC5mb3JnZXQgLmZpZWxkc2V0LWZ1bGxuYW1lLFxuICAgIC5jcy1kYXNoYm9hcmQgI2F3X2dpZnRjYXJkX19jaGVja19jb2RlX2Zvcm0gLmZpZWxkc2V0LWZ1bGxuYW1lIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNzLWRhc2hib2FyZCAuYWRkcmVzc2VzIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY3MtZGFzaGJvYXJkIC5ibG9jay1hZGRyZXNzZXMtbGlzdCArIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45OWVtKSB7XG4gICAgLmNzLWRhc2hib2FyZCAuYm94LWJpbGxpbmctYWRkcmVzcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9IH1cbiAgLmNzLWRhc2hib2FyZCAuZm9ybS1uZXdzbGV0dGVyLW1hbmFnZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAuY3MtZGFzaGJvYXJkIC5mb3JtLW5ld3NsZXR0ZXItbWFuYWdlIC5maWVsZHNldCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5jcy1kYXNoYm9hcmRfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJlZCBIYXQgRGlzcGxheVwiO1xuICAgIHBhZGRpbmc6IDhweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yOyB9XG4gICAgLmNzLWRhc2hib2FyZF9fYnV0dG9uLm1lZGl1bSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAgIC5jcy1kYXNoYm9hcmRfX2J1dHRvbi5sYXJnZSB7XG4gICAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTsgfVxuICAgIC5jcy1kYXNoYm9hcmRfX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNzLWRhc2hib2FyZF9fYnV0dG9uLCAuY3MtZGFzaGJvYXJkX19idXR0b246dmlzaXRlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgICAgLmNzLWRhc2hib2FyZF9fYnV0dG9uICosIC5jcy1kYXNoYm9hcmRfX2J1dHRvbjp2aXNpdGVkICoge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIC5jcy1kYXNoYm9hcmRfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1kYXNoYm9hcmRfX2J1dHRvbjpmb2N1czpub3QoW2Rpc2FibGVkXSksIC5jcy1kYXNoYm9hcmRfX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAgIC5jcy1kYXNoYm9hcmRfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSkgKiwgLmNzLWRhc2hib2FyZF9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtZGFzaGJvYXJkX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgICAuY3MtZGFzaGJvYXJkX19idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgICBjdXJzb3I6IGF1dG87IH1cbiAgLmNzLWRhc2hib2FyZF9fYnV0dG9uLXNwYW4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAuY3MtZGFzaGJvYXJkX19idXR0b24taWNvbiB7XG4gICAgbWF4LXdpZHRoOiAxZW07XG4gICAgbWF4LWhlaWdodDogMS40cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAndmVuZG9ycy9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uL21peGluJztcbkBpbXBvcnQgJ3BhZ2VzL2xheW91dC8yY29sdW1ucy1sZWZ0L21peGluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmllbGQvbWl4aW4nO1xuQGltcG9ydCAnY29tcG9uZW50cy90eXBvZ3JhcGh5L21peGluJztcbkBpbXBvcnQgJ3V0aWxzL2NvbXBvbmVudC1zcGFjaW5nJztcblxuJGRhc2hib2FyZC1idXR0b25fdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kZGFzaGJvYXJkLWJ1dHRvbl9zZWNvbmRhcnktdHlwZTogJ3NlY29uZGFyeScgIWRlZmF1bHQ7XG4kZGFzaGJvYXJkLWJ1dHRvbl9pY29uLXBvczogJ25vLWljb24nICFkZWZhdWx0O1xuJGRhc2hib2FyZF9idXR0b25fZm9ybXMtZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG4kZGFzaGJvYXJkLWJ1dHRvbl9zbWFsbC1mb250LXNpemU6IDEuMnJlbSAhZGVmYXVsdDtcblxuJGRhc2hib2FyZF9tYWluLXNlcGFyYXRvci1hcHBseTogZmFsc2UgIWRlZmF1bHQ7XG4kZGFzaGJvYXJkX3NpZGViYXItbWFpbi1zcGFjZTogMi41cmVtICFkZWZhdWx0O1xuJGRhc2hib2FyZF9ib3R0b20tYm9yZGVyLXRvcDogMnB4IHNvbGlkICRjb2xvcl9ib3JkZXItNTAwICFkZWZhdWx0O1xuJGRhc2hib2FyZF9oZWFkbGluZS1saW5rcy1zZXBhcmF0b3I6IDJweCBzb2xpZCAkY29sb3JfYm9yZGVyLTUwMCAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfbG9naW4tc2VjdGlvbnMtc2VwYXJhdG9yOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci01MDAgIWRlZmF1bHQ7XG5cbiRkYXNoYm9hcmRfaGVhZGxpbmUtYm9yZGVyOiAxcHggc29saWQgJGNvbG9yX2JvcmRlci1saWdodCAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfaGVhZGxpbmUtbWFyZ2luLWJvdHRvbTogMnJlbSAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfaGVhZGxpbmUtcGFkZGluZy1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfaGVhZGxpbmUtZm9udC1zaXplOiAkZm9udC1zaXplX2hlYWRsaW5lLTMgIWRlZmF1bHQ7XG4kZGFzaGJvYXJkX2hlYWRsaW5lLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XG4kZGFzaGJvYXJkX2hlYWRsaW5lLWxpbmstZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG5cbiRkYXNoYm9hcmRfYm94LXRpdGxlLWZvbnQtc2l6ZTogMS40cmVtICFkZWZhdWx0O1xuJGRhc2hib2FyZF9ib3gtdGl0bGUtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfYm94LXRpdGxlLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuXG4kZGFzaGJvYXJkX3RleHQtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcbiRkYXNoYm9hcmRfdGV4dC1jb2xvcjogJGNvbG9yX3RleHQtNTAwICFkZWZhdWx0O1xuJGRhc2hib2FyZF90ZXh0LWxpbmUtaGVpZ2h0OiAyLjVyZW0gIWRlZmF1bHQ7XG5cbiRkYXNoYm9hcmRfbGlua3MtZm9udC1zaXplOiAxLjRyZW0gIWRlZmF1bHQ7XG4kZGFzaGJvYXJkX2xpbmtzLWZvbnQtd2VpZ2h0OiAzMDAgIWRlZmF1bHQ7XG5cbi8vIEZvciBzaG9wcyB3aXRoIGRhcmtlciBiYWNrZ3JvdW5kIGVsZW1lbnRzIGluIHVzZXIgYXJlYSBhcmUgcGxhY2VkIGluIHNlcGFyYXRlIGJveGVzXG5cbi8vIFZhbHVlcyBzcGVjaWZpYyBmb3Igc2hvcHMgd2l0aCBiYWNrZ3JvdW5kXG4kZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZDogZmFsc2UgIWRlZmF1bHQ7XG4kZGFzaGJvYXJkX2JveGVzLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGRhc2hib2FyZF9oaWRlLXNlY3Rpb25zLXNlcGFyYXRvcnM6IGZhbHNlICFkZWZhdWx0O1xuJGRhc2hib2FyZF9oaWRlLXRpdGxlcy1zZXBhcmF0b3JzOiBmYWxzZSAhZGVmYXVsdDtcbi8vIFNldCB2YWx1ZSBpZiAkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCBpcyBzZXQgdG8gdHJ1ZVxuJGRhc2hib2FyZF9ib3hlcy1pbm5lci1wYWRkaW5nOiAwICFkZWZhdWx0O1xuLy8gRm9yIHNob3BzIHdoaXRlIHdoaXRlIGJhY2tncm91bmQgaXQgaXMgYWxzbyBuZWVkZWQgYXMgaXQgaXMgcGFydCBvZiBzcGFjaW5nIHN5c3RlbS5cbi8vIEZvciBzaG9wcyB3aXRoIGRhcmtlciBiYWNrZ3JvdW5kIHZhbHVlIGhlcmUgY2FuIGJlIHNtYWxsZXIgb2YgaGlnaGVyXG4kZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vIE9yZGVyIHRhYmxlXG4kZGFzaGJvYXJkX3ByaWNlLWZvbnQtY29sb3I6ICRjb2xvcl90ZXh0LTUwMCAhZGVmYXVsdDtcblxuLiN7JG5zfWRhc2hib2FyZCB7XG4gICAgJHJvb3Q6ICY7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmX19jb2x1bW5zIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDRyZW0gMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc2lkZWJhciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogMjMzcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21haW4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwICRkYXNoYm9hcmRfc2lkZWJhci1tYWluLXNwYWNlO1xuXG4gICAgICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhLmFjdGlvbiB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX3ByaW1hcnktb3JhbmdlO1xuXG4gICAgICAgICAgICAmOnZpc2l0ZWQsXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9wcmltYXJ5LW9yYW5nZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50YWJsZTpub3QoLnRvdGFscyk6bm90KC50YWJsZS10b3RhbHMpIHRib2R5IHRkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgICAgICAudGFibGU6bm90KC50b3RhbHMpOm5vdCgudGFibGUtdG90YWxzKSB0aGVhZCB0aCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RvcCB7XG4gICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIEBpZiAoJGRhc2hib2FyZF9oaWRlLXNlY3Rpb25zLXNlcGFyYXRvcnMgPT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgM3JlbTtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hpZGUtc2VjdGlvbnMtc2VwYXJhdG9ycyA9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxcmVtO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3BhZ2UtdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmllMTEgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1lc3NhZ2VzIHtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2UtdGl0bGUtd3JhcHBlciB7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9ibGFjaztcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplX2hlYWRsaW5lLTE7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG5cbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSBmYWxzZSkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDFyZW0gMDtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjY291bnQtd2VsY29tZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb2x1bW5zIC5jb2x1bW4ubWFpbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLm1lc3NhZ2UtZXJyb3IsXG4gICAgLm1lc3NhZ2Utc3VjY2VzcyxcbiAgICAubWVzc2FnZS1ub3RpY2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cblxuICAgIC5wYWdlLXRpdGxlLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGFzaGJvYXJkX2JveGVzLWJhY2tncm91bmQ7XG5cbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ib3R0b20ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hpZGUtc2VjdGlvbnMtc2VwYXJhdG9ycyA9PSBmYWxzZSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDJyZW07XG4gICAgICAgICAgICBib3JkZXItdG9wOiAkZGFzaGJvYXJkX2JvdHRvbS1ib3JkZXItdG9wO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hpZGUtc2VjdGlvbnMtc2VwYXJhdG9ycyA9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX193aXNobGlzdCB7XG4gICAgICAgICYtbGluZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX193aXNobGlzdC1wcm9kdWN0cy1ncmlkIHtcbiAgICAgICAgQGluY2x1ZGUgY29tcG9uZW50LXNwYWNpbmcoKTtcbiAgICB9XG5cbiAgICAmX19ib3R0b20td2lzaGxpc3Qge1xuICAgICAgICBAaW5jbHVkZSBjb21wb25lbnQtc3BhY2luZygpO1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzMuMzMlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChuICsgNCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb2dpbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUwLjVyZW0gIWltcG9ydGFudFxuICAgICAgICB9XG5cbiAgICAgICAgJi1zZWN0aW9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhc2hib2FyZF9ib3hlcy1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICAgICAgICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICAgICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgICAgICAuaWUxMSAmIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYmxvY2stY29udGVudCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICAgICAgICAgIHAsIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuICsgMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRhc2hib2FyZF9zcGFjZS1iZXR3ZWVuLWJveGVzO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAoI3skZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXN9IC8gMikpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuICsgMSkge1xuICAgICAgICAgICAgICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybiArIDIpIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1jb250YWN0LXBhZ2Uge1xuICAgICAgICAucGFnZS10aXRsZS13cmFwcGVyIHtcbiAgICAgICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRkYXNoYm9hcmRfc3BhY2UtYmV0d2Vlbi1ib3hlcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRhY3QtZm9ybSB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGFzaGJvYXJkX2JveGVzLWJhY2tncm91bmQ7XG5cbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBHZW5lcmFsIFVzZXIgQXJlYSBzdHlsZXNcblxuICAgIC5maWVsZHNldCxcbiAgICAuZm9ybSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDE1cmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmZpZWxkc2V0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDUwLjVyZW0gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZmllbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICAgICYubm90ZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpZWxkLmNob2ljZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmxpbWl0ZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIHNlbGVjdCB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLXNlbGVjdCgpO1xuICAgIH1cblxuICAgIC5jaG9pY2Uge1xuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGRhc2hib2FyZF9saW5rcy1mb250LXdlaWdodDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRhc2hib2FyZF9saW5rcy1mb250LXNpemU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmllbGQtbmFtZS1wcmVmaXgge1xuICAgICAgICBtYXgtd2lkdGg6IDEycmVtO1xuICAgIH1cblxuICAgIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIC5pZTExICYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByaW1hcnkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG5cbiAgICAgICAgPiBidXR0b24sXG4gICAgICAgIC5jcmVhdGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgICAgICR0eXBlOiAkZGFzaGJvYXJkLWJ1dHRvbl90eXBlLFxuICAgICAgICAgICAgICAgICRpY29uX3BvczogJGRhc2hib2FyZC1idXR0b25faWNvbi1wb3NcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEzcmVtO1xuXG4gICAgICAgICAgICAud2lzaGxpc3QtaW5kZXgtaW5kZXggJiB7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uX3NwYW4oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkZGFzaGJvYXJkLWJ1dHRvbl90eXBlLFxuICAgICAgICAgICAgICAgICAgICAkaWNvbl9wb3M6ICRkYXNoYm9hcmQtYnV0dG9uX2ljb24tcG9zXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gYnV0dG9uLmFjdGlvbi51cGRhdGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZW1pbmQsXG4gICAgLmJhY2sge1xuICAgICAgICBmb250LXNpemU6ICRkYXNoYm9hcmRfbGlua3MtZm9udC1zaXplO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjdyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6ICRjb2xvcl9ibGFjaztcblxuICAgICAgICAmOnZpc2l0ZWR7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yX2JsYWNrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvdW50ZXIge1xuICAgICAgICBmb250LXdlaWdodDogJGRhc2hib2FyZF9saW5rcy1mb250LXdlaWdodDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcmVtKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcoJztcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyknO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwIDIuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogJGRhc2hib2FyZF9ib3hlcy1iYWNrZ3JvdW5kO1xuICAgICAgICBwYWRkaW5nOiAkZGFzaGJvYXJkX2JveGVzLWlubmVyLXBhZGRpbmc7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAkZGFzaGJvYXJkX3NwYWNlLWJldHdlZW4tYm94ZXM7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICBtYXJnaW46IDEuNXJlbSAwIDRyZW07XG5cbiAgICAgICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwICRkYXNoYm9hcmRfc3BhY2UtYmV0d2Vlbi1ib3hlcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ibG9jay10aXRsZSxcbiAgICAubGVnZW5kLFxuICAgIC5vcmRlci10aXRsZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRkYXNoYm9hcmRfaGVhZGxpbmUtYm9yZGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZGFzaGJvYXJkX2hlYWRsaW5lLW1hcmdpbi1ib3R0b207XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkZGFzaGJvYXJkX2hlYWRsaW5lLXBhZGRpbmctYm90dG9tO1xuICAgICAgICBmb250LXdlaWdodDogJGRhc2hib2FyZF9oZWFkbGluZS1mb250LXdlaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAkZGFzaGJvYXJkX2hlYWRsaW5lLWZvbnQtc2l6ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hpZGUtdGl0bGVzLXNlcGFyYXRvcnMgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGRhc2hib2FyZF9oZWFkbGluZS1mb250LXdlaWdodDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmJsb2NrLXRpdGxlIGEge1xuICAgICAgICBmb250LXdlaWdodDogJGRhc2hib2FyZF9saW5rcy1mb250LXdlaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAkZGFzaGJvYXJkX2hlYWRsaW5lLWxpbmstZm9udC1zaXplO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmJveC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGRhc2hib2FyZF9ib3gtdGl0bGUtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJGRhc2hib2FyZF9ib3gtdGl0bGUtZm9udC13ZWlnaHQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZGFzaGJvYXJkX2JveC10aXRsZS10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9ibGFjaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgfVxuXG4gICAgLmJsb2NrLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDAgMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG5cbiAgICAgICAgLnNhbGVzLW9yZGVyLWhpc3RvcnkgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5uby1kaXNwbGF5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stbmV3LWN1c3RvbWVyIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAuZmllbGRzZXQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ibG9jay1yZXdhcmQtaGlzdG9yeSB7XG4gICAgICAgIC4jeyRuc310b29sYmFyX19pdGVtLS1hbW91bnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFRoZXJlIGlzIG5vIG90aGVyIHdheSB0byByZW1vdmUgdG9wIHRvb2xiYXIgZWxlbWVudHNcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2VzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwLjdyZW0gMCAycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRuc310b29sYmFyX19pdGVtLS1saW1pdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ib3gtYWN0aW9ucyxcbiAgICAuYWN0aW9ucyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuXG4gICAgICAgIGEgKyBhIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMC43cmVtIDAgMC41cmVtO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICd8JztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRkYXNoYm9hcmRfbGlua3MtZm9udC13ZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUYWJsZXMgbm90IHBsYWNlZCBpbnNpZGUgYm94IGluIG1hcmt1cFxuICAgIC50YWJsZS13cmFwcGVyLFxuICAgIC5vcmRlcnMtaGlzdG9yeSxcbiAgICAuZm9ybS13aXNobGlzdC1pdGVtcyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXNoYm9hcmRfYm94ZXMtYmFja2dyb3VuZDtcblxuICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IHRydWUpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmICsgLnRvb2xiYXIsXG4gICAgICAgICYgKyAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXNoYm9hcmRfYm94ZXMtYmFja2dyb3VuZDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRkYXNoYm9hcmRfYm94ZXMtaW5uZXItcGFkZGluZztcbiAgICAgICAgfVxuXG4gICAgICAgICYub3JkZXItaXRlbXMgKyAuYWN0aW9ucy10b29sYmFyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmICsgLnRvb2xiYXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlcnMtaGlzdG9yeSxcbiAgICAuZm9ybS13aXNobGlzdC1pdGVtcyxcbiAgICAucmV2aWV3cyxcbiAgICAudHJhbnNhY3Rpb25zIHtcbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZGFzaGJvYXJkX2JveGVzLWlubmVyLXBhZGRpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS13aXNobGlzdC1pdGVtcyB7XG4gICAgICAgIC5hY3Rpb25zLXRvb2xiYXIgLnByaW1hcnkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9bGFwdG9wJykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgICAgICAuYWN0aW9uOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC4jeyRuc310b29sYmFyX19pdGVtLS1hbW91bnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC50b29sYmFyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIsXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JG5zfXRvb2xiYXJfX2l0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWFtb3VudCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgKyAuI3skbnN9dG9vbGJhcl9faXRlbS0tbGltaXRlciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1saW1pdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxhcHRvcCcpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMi41cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50b29sYmFyLWFtb3VudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5saW1pdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYud2lzaGxpc3QtdG9vbGJhciB7XG4gICAgICAgICAgICBiciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRkYXNoYm9hcmRfYm94ZXMtaW5uZXItcGFkZGluZztcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXNoYm9hcmRfYm94ZXMtYmFja2dyb3VuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb25zLXRvb2xiYXIgPiAuc2Vjb25kYXJ5IC5hY3Rpb24uYmFjayxcbiAgICAuc2Vjb25kYXJ5IC5hY3Rpb24uZWRpdC1lbWFpbC1wcmVmZXJlbmNlcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmJveCxcbiAgICAuYWRkcmVzc2VzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgIHdpZHRoOiA0OSU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJveC1jb250ZW50LFxuICAgIC5hZGRyZXNzZXMgLml0ZW0ge1xuICAgICAgICBmb250LXdlaWdodDogJGRhc2hib2FyZF90ZXh0LWZvbnQtd2VpZ2h0O1xuICAgICAgICBjb2xvcjogJGRhc2hib2FyZF90ZXh0LWNvbG9yO1xuICAgICAgICBsaW5lLWhlaWdodDogJGRhc2hib2FyZF90ZXh0LWxpbmUtaGVpZ2h0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5ib3gtY29udGVudCB7XG4gICAgICAgIGFkZHJlc3Mge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvcl9ib2R5LXRleHQ7XG5cbiAgICAgICAgICAgICAgICAmOnZpc2l0ZWQsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JfYm9keS10ZXh0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b29sdGlwLndyYXBwZXIge1xuICAgICAgICBmb250LXNpemU6ICRkYXNoYm9hcmRfbGlua3MtZm9udC1zaXplO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgIH1cblxuICAgIC5jaG9pY2UucGVyc2lzdGVudCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgfVxuXG4gICAgLy8gT3JkZXIgc2N0aW9uIGFuZCBwYWdlXG4gICAgLnRhYmxlLW9yZGVyLWl0ZW1zIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsYXB0b3AnKSB7XG4gICAgICAgICAgICAuI3skbnN9dGFibGVfX2NvbDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlLWV4Y2x1ZGluZy10YXgsXG4gICAgICAgICAgICAucHJpY2UtaW5jbHVkaW5nLXRheCxcbiAgICAgICAgICAgIC5pdGVtcy1xdHksXG4gICAgICAgICAgICAucHJvZHVjdC1pdGVtLW5hbWUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhc2hib2FyZF9wcmljZS1mb250LWNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skbnN9Y2FydC1pdGVtX19vcHRpb25zLWxhYmVsIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJzonO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLiN7JG5zfXRhYmxlX19jb2wuc3VidG90YWwge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmljZS1leGNsdWRpbmctdGF4IC5wcmljZSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb25zIHtcbiAgICAgICAgLnNhbGVzLW9yZGVyLXZpZXcgJiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyIHtcbiAgICAgICAgICAgIC5zYWxlcy1vcmRlci12aWV3ICYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRkYXNoYm9hcmQtYnV0dG9uX3R5cGUsXG4gICAgICAgICAgICAgICAgICAgICRpY29uX3BvczogJGRhc2hib2FyZC1idXR0b25faWNvbi1wb3NcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGRhc2hib2FyZC1idXR0b25fc21hbGwtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlOiAkZGFzaGJvYXJkLWJ1dHRvbl90eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkZGFzaGJvYXJkLWJ1dHRvbl9pY29uLXBvc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmludCB7XG4gICAgICAgICAgICAuc2FsZXMtb3JkZXItdmlldyAmIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24oXG4gICAgICAgICAgICAgICAgICAgICR0eXBlOiAkZGFzaGJvYXJkLWJ1dHRvbl9zZWNvbmRhcnktdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkZGFzaGJvYXJkLWJ1dHRvbl9pY29uLXBvc1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZGFzaGJvYXJkLWJ1dHRvbl9zbWFsbC1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbl9zcGFuKFxuICAgICAgICAgICAgICAgICAgICAgICAgJHR5cGU6ICRkYXNoYm9hcmQtYnV0dG9uX3NlY29uZGFyeS10eXBlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJGljb25fcG9zOiAkZGFzaGJvYXJkLWJ1dHRvbl9pY29uLXBvc1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJldmlld3Mgc2VjdGlvbiBhbmQgcGFnZVxuICAgIC5ibG9jay1yZXZpZXdzLWRhc2hib2FyZCB7XG4gICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRkYXNoYm9hcmRfbGlua3MtZm9udC13ZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmF0aW5nLXJlc3VsdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yYXRpbmctc3VtbWFyeS5pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLmN1c3RvbWVyLXJldmlldyB7XG4gICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUoJGZvbnQtc2l6ZV9oZWFkbGluZS00KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXZpZXctdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUoJGZvbnQtc2l6ZV9oZWFkbGluZS00KTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tYWRkcmVzcy1lZGl0LFxuICAgIC5mb3JtLWVkaXQtYWNjb3VudCxcbiAgICAuZm9ybS1uZXdzbGV0dGVyLW1hbmFnZSxcbiAgICAucmV2aWV3cyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuICAgIC8vIEFkZHJlc3MgZm9ybXMgc2VjdGlvbnNcbiAgICAuZm9ybS5jcmVhdGUuYWNjb3VudCxcbiAgICAuZm9ybS1hZGRyZXNzLWVkaXQsXG4gICAgLmZvcm0tZWRpdC1hY2NvdW50LFxuICAgIC5mb3JtLnBhc3N3b3JkLnJlc2V0LFxuICAgIC5mb3JtLnNlbmQuY29uZmlybWF0aW9uLFxuICAgIC5mb3JtLnBhc3N3b3JkLmZvcmdldCxcbiAgICAjYXdfZ2lmdGNhcmRfX2NoZWNrX2NvZGVfZm9ybSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXNoYm9hcmRfYm94ZXMtYmFja2dyb3VuZDtcbiAgICAgICAgcGFkZGluZzogJGRhc2hib2FyZF9ib3hlcy1pbm5lci1wYWRkaW5nO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgYnIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mdWxsbmFtZSB7XG4gICAgICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb250cm9sIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24ucHJpbWFyeSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRkYXNoYm9hcmRfYnV0dG9uX2Zvcm1zLWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5iYWNrIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGRzZXQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZHNldC1mdWxsbmFtZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tZWRpdC1hY2NvdW50LFxuICAgIC5mb3JtLWFkZHJlc3MtZWRpdCB7XG4gICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRhc2hib2FyZF9zcGFjZS1iZXR3ZWVuLWJveGVzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFkZHJlc3NlcyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5ibG9jay1hZGRyZXNzZXMtbGlzdCB7XG4gICAgICAgIEBpZiAoJGRhc2hib2FyZF9oYXMtZGFya2VyLWJhY2tncm91bmQgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ibG9jay1hZGRyZXNzZXMtbGlzdCArIC5hY3Rpb25zLXRvb2xiYXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGFzaGJvYXJkX2JveGVzLWJhY2tncm91bmQ7XG5cbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwXG4gICAgICAgICAgICAgICAgJGRhc2hib2FyZF9ib3hlcy1pbm5lci1wYWRkaW5nXG4gICAgICAgICAgICAgICAgJGRhc2hib2FyZF9ib3hlcy1pbm5lci1wYWRkaW5nO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRhc2hib2FyZF9zcGFjZS1iZXR3ZWVuLWJveGVzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJveC1iaWxsaW5nLWFkZHJlc3Mge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXdzbGV0dGVyIHNlY3Rpb25cbiAgICAuZm9ybS1uZXdzbGV0dGVyLW1hbmFnZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXNoYm9hcmRfYm94ZXMtYmFja2dyb3VuZDtcblxuICAgICAgICBAaWYgKCRkYXNoYm9hcmRfaGFzLWRhcmtlci1iYWNrZ3JvdW5kID09IHRydWUpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRkYXNoYm9hcmRfYm94ZXMtaW5uZXItcGFkZGluZztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRkYXNoYm9hcmRfc3BhY2UtYmV0d2Vlbi1ib3hlcztcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZHNldCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRkYXNoYm9hcmQtYnV0dG9uX3R5cGUsXG4gICAgICAgICAgICAkaWNvbl9wb3M6ICRkYXNoYm9hcmQtYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLXNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICR0eXBlOiAkZGFzaGJvYXJkLWJ1dHRvbl90eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkZGFzaGJvYXJkLWJ1dHRvbi1pY29uLXBvc1xuICAgICAgICApO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uX2ljb24oXG4gICAgICAgICAgICAkdHlwZTogJGRhc2hib2FyZC1idXR0b25fdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGRhc2hib2FyZC1idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAub3JkZXItZGV0YWlscy1pdGVtcy5vcmRlcmVkIHtcbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZGFzaGJvYXJkX2JveGVzLWlubmVyLXBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhc2hib2FyZF9ib3hlcy1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hpZGUtc2VjdGlvbnMtc2VwYXJhdG9ycyA9PSB0cnVlKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLWxpbmtzIHtcbiAgICAgICAgQGlmICgkZGFzaGJvYXJkX2hhcy1kYXJrZXItYmFja2dyb3VuZCA9PSB0cnVlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZGFzaGJvYXJkX2JveGVzLWlubmVyLXBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRkYXNoYm9hcmRfc3BhY2UtYmV0d2Vlbi1ib3hlcztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXNoYm9hcmRfYm94ZXMtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoJGRhc2hib2FyZF9oaWRlLXNlY3Rpb25zLXNlcGFyYXRvcnMgPT0gdHJ1ZSkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiLyoqXG4gKiBCcmVha3BvaW50IGNvbXBvbmVudCB1c2VkIGJ5IGluY2x1ZGUtbWVkaWEgdmVuZG9yIGxpYnJhcnkuXG4gKi9cbi8qKlxuICogRXh0cmFjdHMgbmVzdGVkIGtleXMgZnJvbSBnaXZlbiBtYXAuXG4gKiBFeGFtcGxlOiBkZWVwLWdldCgkc29tZS1tYXAsIHNvbWUsIG5lc3RlZCwga2V5cyk7XG4gKi9cbkB1c2UgXCJzYXNzOm1hcFwiO1xuLyoqXG4qIERlZmF1bHQgcHJvamVjdCBicmVha3BvaW50cyAtIFtlbV1cbiovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKipcbiAqIEJyZWFrcG9pbnQgY29tcG9uZW50IHVzZWQgYnkgaW5jbHVkZS1tZWRpYSB2ZW5kb3IgbGlicmFyeS5cbiAqL1xuLyoqXG4gKiBFeHRyYWN0cyBuZXN0ZWQga2V5cyBmcm9tIGdpdmVuIG1hcC5cbiAqIEV4YW1wbGU6IGRlZXAtZ2V0KCRzb21lLW1hcCwgc29tZSwgbmVzdGVkLCBrZXlzKTtcbiAqL1xuQHVzZSBcInNhc3M6bWFwXCI7XG4vKipcbiogRGVmYXVsdCBwcm9qZWN0IGJyZWFrcG9pbnRzIC0gW2VtXVxuKi9cbi8qIFxuICogRnVuY3Rpb24gdG8gZ2V0IHZhbHVlIGZyb20gYSBsaXN0IG9mIHZhbHVlcywgYmFzZWQgb24gc2lkZVxuICogQHBhcmFtIHtzdHJpbmd9ICR2YXJpYWJsZTogdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzIChsaWtlIHBhZGRpbmdzLCBtYXJnaW5zIGV0Yy4pO1xuICogQHBhcmFtIHtzdHJpbmd9ICRzaWRlOiBzaWRlICh1cCAvIHJpZ2h0IC8gZG93biAvIGxlZnQpIGZvciB3aGljaCB3ZSB3YW50IHRvIGdldCB2YWx1ZVxuICogRXhhbXBsZTpcbiAqICRjb21wb25lbnRfcGFkZGluZzogMXJlbSAycmVtIDNyZW07XG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ3JpZ2h0JykgLy8gMnJlbVxuICogZ2V0LXZhbHVlLWZyb20tbGlzdCgkY29tcG9uZW50X3BhZGRpbmcsICdib3R0b20nKSAvLyAzcmVtXG4gKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIGJsb2NrLW5vLWVtcHR5ICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBibG9jay1uby1lbXB0eSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogUmFkaW8gYW5kIGNoZWNrYm94IHN0eWxpbmcgKi9cbi5jcy1jYXB0Y2hhX19pbWFnZS1jb250cm9scyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiAgLmNzLWRhc2hib2FyZCAuY3MtY2FwdGNoYV9faW1hZ2UtY29udHJvbHMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNzLWRhc2hib2FyZCAuY3MtY2FwdGNoYV9faW1hZ2UtY29udHJvbHMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDhlbSkge1xuICAgIC5jcy1jYXB0Y2hhX19pbWFnZS1jb250cm9scyB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuXG4uY3MtY2FwdGNoYV9faW1hZ2Uge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cblxuLmNzLWNhcHRjaGFfX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBmb250LWZhbWlseTogXCJSZWQgSGF0IERpc3BsYXlcIjtcbiAgcGFkZGluZzogOHB4IDI1cHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBmaWxsIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHotaW5kZXg6IDU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgZmlsbCwgY29sb3I7IH1cbiAgLmNzLWNhcHRjaGFfX2J1dHRvbi5tZWRpdW0ge1xuICAgIHBhZGRpbmc6IDExcHggMjVweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTsgfVxuICAuY3MtY2FwdGNoYV9fYnV0dG9uLmxhcmdlIHtcbiAgICBwYWRkaW5nOiAxM3B4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07IH1cbiAgLmNzLWNhcHRjaGFfX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jcy1jYXB0Y2hhX19idXR0b24sIC5jcy1jYXB0Y2hhX19idXR0b246dmlzaXRlZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgLmNzLWNhcHRjaGFfX2J1dHRvbiAqLCAuY3MtY2FwdGNoYV9fYnV0dG9uOnZpc2l0ZWQgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNGRjQ2MDQ7IH1cbiAgLmNzLWNhcHRjaGFfX2J1dHRvbjpob3Zlcjpub3QoW2Rpc2FibGVkXSksIC5jcy1jYXB0Y2hhX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pLCAuY3MtY2FwdGNoYV9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNFM0UzRTsgfVxuICAgIC5jcy1jYXB0Y2hhX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pICosIC5jcy1jYXB0Y2hhX19idXR0b246Zm9jdXM6bm90KFtkaXNhYmxlZF0pICosIC5jcy1jYXB0Y2hhX19idXR0b246YWN0aXZlOm5vdChbZGlzYWJsZWRdKSAqIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAuY3MtY2FwdGNoYV9fYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC42NTtcbiAgICBjdXJzb3I6IGF1dG87IH1cbiAgLmNzLWRhc2hib2FyZCAuY3MtY2FwdGNoYV9fYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jcy1kYXNoYm9hcmQgLmNzLWNhcHRjaGFfX2J1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4uY3MtY2FwdGNoYV9fYnV0dG9uLXNwYW4ge1xuICBtYXJnaW4tdG9wOiAwO1xuICB6LWluZGV4OiAxO1xuICBmb250LXdlaWdodDogNzAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7IH1cblxuLmNzLWNhcHRjaGFfX25vdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg1ZW07XG4gIHBhZGRpbmc6IDAuM2VtIDAgMDtcbiAgY29sb3I6ICM2OTY5Njk7IH1cblxuLmNzLWRhc2hib2FyZCAuY3MtY2FwdGNoYV9fd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4iLCJAaW1wb3J0ICdjb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3ZlbmRvcnMvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi9taXhpbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZpZWxkL21peGluJztcblxuJGNhcHRjaGFfYnV0dG9uLXR5cGU6ICdzZWNvbmRhcnknICFkZWZhdWx0O1xuJGNhcHRjaGFfYnV0dG9uLWljb24tcG9zOiAnbm8taWNvbicgIWRlZmF1bHQ7XG5cbi4jeyRuc31jYXB0Y2hhIHtcbiAgICAkcm9vdDogJjtcblxuICAgICZfX2ltYWdlLWNvbnRyb2xzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcblxuICAgICAgICAuI3skbnN9ZGFzaGJvYXJkICYge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1waG9uZUxnJykge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw9dGFibGV0Jykge1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJHR5cGU6ICRjYXB0Y2hhX2J1dHRvbi10eXBlLFxuICAgICAgICAgICAgJGljb25fcG9zOiAkY2FwdGNoYV9idXR0b24taWNvbi1wb3NcbiAgICAgICAgKTtcblxuICAgICAgICAuI3skbnN9ZGFzaGJvYXJkICYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49cGhvbmVMZycpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLXNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICR0eXBlOiAkY2FwdGNoYV9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGNhcHRjaGFfYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgJl9fbm90ZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpZWxkLW5vdGUoKTtcbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgLiN7JG5zfWRhc2hib2FyZCAmIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogQnJlYWtwb2ludCBjb21wb25lbnQgdXNlZCBieSBpbmNsdWRlLW1lZGlhIHZlbmRvciBsaWJyYXJ5LlxuICovXG4vKipcbiAqIEV4dHJhY3RzIG5lc3RlZCBrZXlzIGZyb20gZ2l2ZW4gbWFwLlxuICogRXhhbXBsZTogZGVlcC1nZXQoJHNvbWUtbWFwLCBzb21lLCBuZXN0ZWQsIGtleXMpO1xuICovXG5AdXNlIFwic2FzczptYXBcIjtcbi8qKlxuKiBEZWZhdWx0IHByb2plY3QgYnJlYWtwb2ludHMgLSBbZW1dXG4qL1xuLyogXG4gKiBGdW5jdGlvbiB0byBnZXQgdmFsdWUgZnJvbSBhIGxpc3Qgb2YgdmFsdWVzLCBiYXNlZCBvbiBzaWRlXG4gKiBAcGFyYW0ge3N0cmluZ30gJHZhcmlhYmxlOiB2YXJpYWJsZSB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMgKGxpa2UgcGFkZGluZ3MsIG1hcmdpbnMgZXRjLik7XG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpZGU6IHNpZGUgKHVwIC8gcmlnaHQgLyBkb3duIC8gbGVmdCkgZm9yIHdoaWNoIHdlIHdhbnQgdG8gZ2V0IHZhbHVlXG4gKiBFeGFtcGxlOlxuICogJGNvbXBvbmVudF9wYWRkaW5nOiAxcmVtIDJyZW0gM3JlbTtcbiAqIGdldC12YWx1ZS1mcm9tLWxpc3QoJGNvbXBvbmVudF9wYWRkaW5nLCAncmlnaHQnKSAvLyAycmVtXG4gKiBnZXQtdmFsdWUtZnJvbS1saXN0KCRjb21wb25lbnRfcGFkZGluZywgJ2JvdHRvbScpIC8vIDNyZW1cbiAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgYmxvY2stbm8tZW1wdHkgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi5jcy1mb3JtLCAuY3MtZm9ybV9fZmllbGRzZXQge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuXG4uY3MtZm9ybV9fZmllbGQgKyAuY3MtZm9ybV9fZmllbGQge1xuICBtYXJnaW4tdG9wOiAxZW07IH1cblxuLmNzLWZvcm0tLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC42OyB9XG5cbi5jcy1mb3JtX19idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjc1ZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgZm9udC1mYW1pbHk6IFwiUmVkIEhhdCBEaXNwbGF5XCI7XG4gIHBhZGRpbmc6IDhweCAyNXB4O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cywgZmlsbCAwLjVzLCBjb2xvciAwLjVzO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB6LWluZGV4OiA1O1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIGZpbGwsIGNvbG9yOyB9XG4gIC5jcy1mb3JtX19idXR0b24ubWVkaXVtIHtcbiAgICBwYWRkaW5nOiAxMXB4IDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07IH1cbiAgLmNzLWZvcm1fX2J1dHRvbi5sYXJnZSB7XG4gICAgcGFkZGluZzogMTNweCAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtOyB9XG4gIC5jcy1mb3JtX19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuY3MtZm9ybV9fYnV0dG9uLCAuY3MtZm9ybV9fYnV0dG9uOnZpc2l0ZWQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNDYwNDsgfVxuICAgIC5jcy1mb3JtX19idXR0b24gKiwgLmNzLWZvcm1fX2J1dHRvbjp2aXNpdGVkICoge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG4gIC5jcy1mb3JtX19idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pLCAuY3MtZm9ybV9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSwgLmNzLWZvcm1fX2J1dHRvbjphY3RpdmU6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjc0NDI7IH1cbiAgICAuY3MtZm9ybV9fYnV0dG9uOmhvdmVyOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtZm9ybV9fYnV0dG9uOmZvY3VzOm5vdChbZGlzYWJsZWRdKSAqLCAuY3MtZm9ybV9fYnV0dG9uOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSkgKiB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZpbGw6ICNmZmZmZmY7IH1cbiAgLmNzLWZvcm1fX2J1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuNjU7XG4gICAgY3Vyc29yOiBhdXRvOyB9XG5cbi5jcy1mb3JtX19idXR0b24tc3BhbiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMS4yNzVlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgcGFkZGluZy1yaWdodDogNGVtOyB9XG5cbi5jcy1mb3JtX19idXR0b24taWNvbiB7XG4gIG1heC13aWR0aDogMWVtO1xuICBtYXgtaGVpZ2h0OiAxLjRyZW07XG4gIHotaW5kZXg6IDI7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCk7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcmlnaHQ6IDFlbTsgfVxuXG4uZm9ybSxcbi5mb3JtIC5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwOyB9XG5cbi5mb3JtIC5maWVsZCArIC5maWVsZCB7XG4gIG1hcmdpbi10b3A6IDFlbTsgfVxuXG4uY29udGFjdCAuZmllbGQgLmNvbnRyb2wgPiB0ZXh0YXJlYSB7XG4gIG1heC1oZWlnaHQ6IDgwcHg7IH1cbiIsIkBpbXBvcnQgJ2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24vbWl4aW4nO1xuXG4kZm9ybV9idXR0b24tdHlwZTogJGJ1dHRvbl9kZWZhdWx0LXR5cGUgIWRlZmF1bHQ7XG4kZm9ybV9idXR0b24taWNvbi1wb3M6ICRidXR0b25fZGVmYXVsdC1pY29uLXBvcyAhZGVmYXVsdDtcblxuLiN7JG5zfWZvcm0ge1xuICAgICYsXG4gICAgJl9fZmllbGRzZXQge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmX19maWVsZCB7XG4gICAgICAgICYgKyAmIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgIH1cblxuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAgICAgICAgICR0eXBlOiAkZm9ybV9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGZvcm1fYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLXNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25fc3BhbihcbiAgICAgICAgICAgICR0eXBlOiAkZm9ybV9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGZvcm1fYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b25faWNvbihcbiAgICAgICAgICAgICR0eXBlOiAkZm9ybV9idXR0b24tdHlwZSxcbiAgICAgICAgICAgICRpY29uX3BvczogJGZvcm1fYnV0dG9uLWljb24tcG9zXG4gICAgICAgICk7XG4gICAgfVxufVxuXG4uZm9ybSB7XG4gICAgJixcbiAgICAuZmllbGRzZXQge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuZmllbGQge1xuICAgICAgICArIC5maWVsZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb250YWN0IHtcbiAgICAuZmllbGQgLmNvbnRyb2wgPiB0ZXh0YXJlYSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDgw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QTtBaENzVUE7QWdDblZBO0FBaUJBO0FBQ0E7O0F0Q2hQQTs7QXdDRUE7QXRDRkE7OztBc0NNQTtBeENJQTtBQWdCQTs7QXdDaEJBO0F4Q1ZBOztBd0NhQTtBdENiQTs7O0FzQ2lCQTtBeENQQTtBQWdCQTs7QXdDTEE7QXhCckJBOzs7Ozs7OztBd0I4QkE7QXZCOUJBO0FBU0E7QXdCVEE7QUFnREE7QUNxQkE7QUNsRUE7QUFHQTs7QURrR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDckdBOztBRHVJQTtBQ25JQTs7QUQrR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDakhBOztBRHdIQTtBQUNBO0FDcEhBOzs7QURpSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQzlJQTs7Ozs7QURtSkE7QUFDQTtBQ3BKQTtBRHlKQTtBQUNBO0FDMUpBO0FEeUpBO0FBQ0E7QUMxSkE7QUR5SkE7QUFDQTtBQzFKQTs7O0FEeUpBO0FBQ0E7QUMxSkE7OztBRDhKQTtBQzlKQTs7Ozs7QUR1S0E7QUM5SkE7O0FENk1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDaE9BOzs7QURxT0E7QUFDQTtBQ3RPQTs7QUQwT0E7QUMxT0E7OztBRGdQQTtBQUNBO0FBQ0E7QUFHQTs7O0FBQ0E7QUN0UEE7O0FENFBBO0FDNVBBOztBRGdRQTtBQUNBO0FBQ0E7QUFJQTs7QUFDQTtBQUNBO0FDcFFBOztBRCtRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUNsU0E7O0FEdVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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b0RNQTtBbEROQTs7O0FrRFVBO0FwREFBO0FBZ0JBOztBb0RaQTtBcERkQTs7QW9EaUJBO0FsRGpCQTs7O0FrRHFCQTtBcERYQTtBQWdCQTs7QW9EREE7QXBEekJBOztBb0Q0QkE7QWxENUJBOzs7QWtEZ0NBO0FwRHRCQTtBQWdCQTs7QW9EVUE7QUNwQ0E7Ozs7Ozs7Ozs7QUQrQ0E7QUUvQ0E7Ozs7Ozs7Ozs7OztBRjREQTtBbEQ1REE7OztBa0RnRUE7QXBDaEVBOzs7Ozs7OztBb0N5RUE7QW5DekVBO0FBU0E7QWtDaUdBO0FBR0E7QUFFQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBR3JHQTtBQUNBO0FBQ0E7QUgyR0E7QUFDQTtBRXBFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FGaUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUkxS0E7QUFJQTtBSmtLQTtBSWpLQTtBQVVBO0FKdUpBO0FJdEpBO0FKZ0tBO0FBQ0E7QUlqTEE7QUFJQTtBSjRLQTtBSTNLQTtBQVVBO0FKaUtBO0FJaEtBO0FKd0tBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUlsTUE7QUFJQTtBSnlMQTtBSXhMQTtBQVVBO0FKOEtBO0FJN0tBO0FKd0xBO0FBQ0E7QUl6TUE7QUFJQTtBSm9NQTtBSW5NQTtBQVVBO0FKeUxBO0FJeExBO0FKZ01BO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FJek5BO0FBSUE7QUppTkE7QUloTkE7QUFVQTtBSnNNQTtBSXJNQTtBSitNQTtBQUNBO0FJaE9BO0FBSUE7QUoyTkE7QUkxTkE7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NkVBO0E2QzNGQTtBQU1BO0FBTkE7QUFjQTtBQVFBO0FFaGFBO0FGb2FBO0FFcGFBO0FGMFdBO0FBa0VBO0FBQ0E7QTdDd0RBO0E2Q3JEQTtBQUdBO0FBS0E7QUFDQTtBN0M0Q0E7QTZDeENBO0FBUUE7QUFSQTtBQVlBO0FBWkE7QUFtQkE7QTdDcUJBO0E2Q3hDQTtBQVFBO0FBUkE7QUFZQTtBQVpBO0FBbUJBO0E3Q3FCQTtBNkN4Q0E7QUFRQTtBQVJBO0FBWUE7QUFaQTtBQW1CQTtBN0NxQkE7QTZDeENBO0FBUUE7QUFSQTtBQVlBO0FBWkE7QUFtQkE7QUFuQkE7QUEyQkE7QTdDYUE7QTZDeENBO0FBUUE7QUFSQTtBQVlBO0FBWkE7QUFtQkE7QUFuQkE7QUEyQkE7QTdDYUE7QTZDeENBO0FBUUE7QUFSQTtBQVlBO0FBWkE7QUFtQkE7QUFuQkE7QUEyQkE7QTdDYUE7QTZDeENBO0FBUUE7QUFSQTtBQVlBO0FBWkE7QUFtQkE7QUFuQkE7QUEyQkE7O0FuRHBpQkE7O0F3REVBO0F0REZBOzs7QXNETUE7QXhESUE7QUFnQkE7O0F3RGhCQTtBeERWQTs7QXdEYUE7QXREYkE7OztBc0RpQkE7QXhEUEE7QUFnQkE7O0F3RExBO0F4RHJCQTs7QXdEd0JBO0F0RHhCQTs7O0FzRDRCQTtBeERsQkE7QUFnQkE7O0F3RE1BO0F4RGhDQTs7QXdEbUNBO0F0RG5DQTs7O0FzRHVDQTtBeEQ3QkE7QUFnQkE7O0F3RGlCQTtBeEQzQ0E7O0F3RDhDQTtBdEQ5Q0E7OztBc0RrREE7QXhEeENBO0FBZ0JBOztBd0Q0QkE7QXhEdERBOztBd0R5REE7QXREekRBOzs7QXNENkRBO0F4RG5EQTtBQWdCQTs7QXdEdUNBO0F4RGpFQTs7QXdEb0VBO0F0RHBFQTs7O0FzRHdFQTtBeEQ5REE7QUFnQkE7O0F3RGtEQTtBQzVFQTtBQVNBO0FDSkE7QUNjQTtBQUNBO0FBQ0E7QUFDQTtBRGRBO0FBQ0E7QTVCSEE7QXhCMmlCQTtBb0Q1aUJBO0E1QldBO0FBS0E7QUFDQTtBNEJUQTtBQ3NCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FyRHVnQkE7QW9EcGlCQTtBQ2dDQTtBRDVCQTtBQytEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckQyZEE7QW9EaGlCQTtBQ3dFQTs7QTNEekZBOztBNERFQTtBMURGQTs7O0EwRE1BO0E1RElBO0FBZ0JBOztBNERoQkE7QTVEVkE7O0E0RGFBO0ExRGJBOzs7QTBEaUJBO0E1RFBBO0FBZ0JBOztBNERMQTtBNURyQkE7O0E0RHdCQTtBMUR4QkE7OztBMEQ0QkE7QTVEbEJBO0FBZ0JBOztBNERNQTtBcEQ5QkE7O0FvRGlDQTtBcEQ3QkE7OztBb0RpQ0E7QXBEeEJBOzs7QW9ENEJBO0FwRGxCQTs7QW9EcUJBO0FDNUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBdkRxaEJBO0F1RHpoQkE7QUFPQTtBQUNBO0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0F2RHNnQkE7QXVEeGdCQTtBQUtBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F2RHFmQTtBdUQvZkE7QUFZQTtBdkRtZkE7QXVEL2ZBO0FBaUJBO0FBakJBO0FBb0JBO0FBcEJBO0FBdUJBO0FBS0E7QUFDQTtBQUNBO0F2RGllQTtBdURuZUE7QUFLQTtBQUxBO0FBT0E7QXZENGRBO0F1RG5lQTtBQVlBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdkQrY0E7QXVEbmRBO0FBT0E7QUFDQTtBdkQyY0E7QXVEbmRBO0FBWUE7QUFDQTtBQUNBO0FBQ0E7QXZEb2NBO0F1RG5kQTtBQW9CQTtBQUNBO0F2RDhiQTtBdURuZEE7QUF5QkE7QUFDQTtBQUlBO0FyRC9GQTtBQUNBO0FBQ0E7QXFEK0ZBO0FBQ0E7QUFDQTtBQUpBO0FBT0E7QUFDQTtBQUNBO0FBdkNBO0FBNENBO0FBQ0E7QXZEc2FBO0F1RG5kQTtBQWdEQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBc0RBO0F2RCtWQTtBdUQ5WkE7QUFZQTtBdkRrWkE7QXVEOVpBO0FBZ0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBdkQrWEE7QXVEOVpBO0FBeUNBO0F2RHFYQTtBdUQ5WkE7QUFnREE7QUFDQTtBdkQ2V0E7QXVEOVpBO0FBb0VBO0FBVUE7QUFDQTtBQUNBO0FBQ0E7QXZENlVBO0F1RGhWQTtBQU1BO0FBOUxBO0FBbU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F2RDRUQTtBdUR4Z0JBO0FBOE1BOztBN0R2UEE7O0E4REVBO0E1REZBOzs7QTRETUE7QTlESUE7QUFnQkE7O0E4RGhCQTtBOURWQTs7QThEYUE7QTVEYkE7OztBNERpQkE7QTlEUEE7QUFnQkE7O0E4RExBO0FoQnJCQTs7Ozs7Ozs7O0FnQitCQTtBOUQvQkE7O0E4RGtDQTtBNURsQ0E7OztBNERzQ0E7QTlENUJBO0FBZ0JBOztBOERnQkE7QTlDMUNBOzs7Ozs7OztBOENtREE7QTdDbkRBO0FBU0E7QXdCVEE7QUFnREE7QUNxQkE7QTFCckVBOzs7Ozs7OztBOENpRUE7QTdDakVBO0FBU0E7QThDeUJBO0FBRUE7QUFDQTtBQUhBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QXpEc2dCQTtBeUQvZ0JBO0FBYUE7QXpEa2dCQTtBeUQvZ0JBO0FBa0JBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBTUE7QXJCa0ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXFCN0ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZEE7QXJCb0dBO0FBQ0E7QXFCckdBO0FyQjBHQTtBQUNBO0FxQjNHQTtBckIwR0E7QUFDQTtBcUIzR0E7QXJCMEdBO0FBQ0E7QXFCM0dBO0FyQjBHQTtBQUNBO0FxQjNHQTtBckIrR0E7QXFCNUZBO0FBRUE7QUFDQTtBQUhBO0FBT0E7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFTQTtBQUNBO0FBVkE7QUFjQTtBQUlBO0FqQjVIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBaUJ3SEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUlBO0E1Q3ZEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0E0Q3lDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWRBO0E1Q21DQTtBQUNBO0E0Q3BDQTtBNUN1Q0E7QUFDQTtBNEN4Q0E7QTVDNkNBO0FBQ0E7QUFDQTtBNEMvQ0E7QTVDcURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFpREE7QUFDQTtBQUNBO0E0QzVHQTtBNUMrR0E7QUFDQTtBNENoSEE7QTVDcUtBO0FBQ0E7QUFDQTtBQXdCQTtBQUNBO0FBQ0E7QTRDak1BO0E1Q29NQTtBQUNBO0E0Q3JNQTtBNUNzUEE7QUFDQTtBNEN2UEE7QUFpQkE7QUFJQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QXpEa1dBO0F5RHhXQTtBQVVBO0FBSUE7QXpEMFZBO0F5RHhXQTtBQW1CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0EvRGpPQTs7QWdFRUE7QTlERkE7OztBOERNQTtBaEVJQTtBQWdCQTs7QWdFaEJBO0FoRVZBOztBZ0VhQTtBOURiQTs7O0E4RGlCQTtBaEVQQTtBQWdCQTs7QWdFTEE7QWhFckJBOztBZ0V3QkE7QTlEeEJBOzs7QThENEJBO0FoRWxCQTtBQWdCQTs7QWdFTUE7QUNoQ0E7QUFTQTtBQ3VCQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0E1RDJnQkE7QTREamhCQTtBQVNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E1RGdmQTtBNER2ZkE7QUFVQTtBQVZBO0FBY0E7QUFkQTtBQWlCQTtBQWpCQTtBQXNCQTtBQUlBO0FBRUE7QTVEMmRBO0E0RHZmQTtBQWtDQTtBQWxDQTtBQW9DQTtBQXBDQTtBQXNDQTtBNURpZEE7QTREdmZBO0FBNENBO0FBS0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU9BO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E1RCthQTtBNER2YkE7QUFXQTtBQU1BO0FDOUZBO0FEa0dBO0FDOUZBO0FEa0dBO0FBQ0E7QUFrQkE7QUM5R0E7QUFDQTtBRGtIQTtBQUdBO0FBQ0E7QUFDQTtBQUxBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBNUR3WEE7QTREdFlBO0FBaUJBO0FBQ0E7QUFsQkE7QUFxQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E1RDRXQTtBNER0WUE7QUE2QkE7QUFDQTtBQTlCQTtBQWlDQTtBQUNBO0FBQ0E7QUFDQTtBQXBDQTtBQXVDQTs7QUVsTkE7OztBQUlBO0FBQ0E7QUFFQTs7QUFFQTtBQUNBOztBcEVWQTs7QXFFRUE7QW5FRkE7OztBbUVNQTtBckVJQTtBQWdCQTs7QXFFaEJBO0FDQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFEQTtBQUlBO0FBSkE7QUFRQTtBQVJBO0FBV0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBUUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFNQTtBQUdBO0FBRUE7QUFJQTtBQUVBOztBdEUvRUE7O0F1RUVBO0FyRUZBOzs7QXFFTUE7QXZFSUE7QUFnQkE7O0F1RWhCQTtBdkVWQTs7QXVFYUE7QXJFYkE7OztBcUVpQkE7QXZFUEE7QUFnQkE7O0F1RUxBO0FDbEJBO0FBQ0E7QUFFQTtBQUNBOztBeEVQQTs7QXlFRUE7QXZFRkE7OztBdUVNQTtBekVJQTtBQWdCQTs7QXlFaEJBO0F6RVZBOztBeUVhQTtBdkViQTs7O0F1RWlCQTtBekVQQTtBQWdCQTs7QXlFTEE7QUNJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7Ozs7QUFRQTtBQUNBO0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BOzs7O0FBU0E7QUFDQTtBQUdBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUEE7Ozs7OztBQVVBO0FBQ0E7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFKQTs7OztBQU9BO0FBQ0E7QUFHQTs7QUFFQTtBcEVtZEE7QW9FcmRBOztBQUtBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QTFFbkhBOztBMkVFQTtBekVGQTs7O0F5RU1BO0EzRUlBO0FBZ0JBOztBMkVoQkE7QTNFVkE7O0EyRWFBO0F6RWJBOzs7QXlFaUJBO0EzRVBBO0FBZ0JBOztBMkVMQTtBM0RyQkE7Ozs7Ozs7O0EyRDhCQTtBMUQ5QkE7QUFTQTtBZlRBOzs7QXlFb0NBO0FDQ0E7QUFpQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFsQkE7QUF1QkE7QUFDQTtBQUNBO0FBekJBO0FBNkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFTQTtBQUNBO0FBREE7QUFJQTtBQUpBO0FBUUE7QUFDQTtBQVFBO0FBQ0E7QUFEQTtBQUlBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QXRFNFdBO0FzRS9XQTtBQU1BO0FBRUE7QUFDQTtBQUNBO0FBMkJBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFNQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBREE7QUFJQTtBQUpBO0FBUUE7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQU9BO0F6RDlMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0F5RCtLQTtBQUNBO0FBTkE7QXpEcEdBO0FBQ0E7QXlEbUdBO0F6RGhHQTtBQUNBO0F5RCtGQTtBekQxRkE7QUFDQTtBQUNBO0F5RHdGQTtBekRsRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBeURxRUE7QXpEbkVBO0FBQ0E7QXlEa0VBO0F6RDlEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F5RG9EQTtBekRoREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXlEdUNBO0F6RG5DQTtBQUNBO0F5RGtDQTtBekQ4QkE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0F5RHRDQTtBekR5Q0E7QXlEekNBO0F6RDZDQTtBQUNBO0F5RDlDQTtBekRrREE7QUFDQTtBeURuREE7QXpEK0dBO0FBQ0E7QXlEeEdBO0F6RGtIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBeURuSEE7QUFHQTtBekRxTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXFDQTtBeUR6TkE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVhBO0FBZUE7QUFDQTtBQUNBO0FBR0E7QXpEM09BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QXlEd05BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0F6RGpKQTtBQUNBO0F5RGdKQTtBekQ3SUE7QUFDQTtBeUQ0SUE7QXpEdklBO0FBQ0E7QUFDQTtBeURxSUE7QXpEL0hBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE0REE7QUFDQTtBQUNBO0F5RDZEQTtBekQxREE7QUFDQTtBeUR5REE7QXpEZkE7QUFDQTtBQUNBO0FBbUNBO0FBQ0E7QUFDQTtBeUR4QkE7QXpEMkJBO0FBQ0E7QXlENUJBO0F6RGtFQTtBQUNBO0F5RC9DQTtBekR5REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFlQTtBeUR6RUE7QUFHQTtBekQ0SEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QXlEaEpBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUE2RkE7QUFDQTtBQUNBO0FBS0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBdEV5RUE7QXNFOUVBO0FBUUE7QXRFc0VBO0FzRTlFQTtBQWFBO0FBQ0E7QUFkQTtBQTBCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F0RTZDQTtBc0U5RUE7QUFvQ0E7QUFwQ0E7QUF3Q0E7QUF4Q0E7QUE0Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F0RTBCQTtBc0U5RUE7QUF1REE7O0E1RTFoQkE7O0E2RUVBO0EzRUZBOzs7QTJFTUE7QTdFSUE7QUFnQkE7O0E2RWhCQTtBN0VWQTs7QTZFYUE7QTNFYkE7OztBMkVpQkE7QTdFUEE7QUFnQkE7O0E2RUxBO0E3RHJCQTs7Ozs7Ozs7QTZEOEJBO0E1RDlCQTtBQVNBO0FqQlRBOztBNkVtQ0E7QTNFbkNBOzs7QTJFdUNBO0E3RTdCQTtBQWdCQTs7QTZFaUJBO0E3RDNDQTs7Ozs7Ozs7QTZEb0RBO0E1RHBEQTtBQVNBO0F3QlRBO0FBZ0RBO0FDcUJBO0FJckVBOzs7Ozs7Ozs7QStCbUVBO0EzRW5FQTs7O0EyRXVFQTtBQ2hCQTtBQUdBO0FBRUE7QUFDQTtBQUNBO0FBRkE7QUFLQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBeEU4Y0E7QXdFbGRBO0FBT0E7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUEE7QUFXQTtBQUNBO0FBZUE7QUFFQTtBQUNBO0FBQ0E7QUFlQTtBQUVBO0FBR0E7QUFJQTtBQUNBO0FBQ0E7QUFOQTtBQVVBO0FBQ0E7QUFXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUtBO0FBQ0E7QUFXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBU0E7QUFXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUlBOztBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBcEM3SUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBb0NtSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVZBO0FwQzNIQTtBQUNBO0FvQzBIQTtBcENySEE7QUFDQTtBb0NvSEE7QXBDckhBO0FBQ0E7QW9Db0hBO0FwQ3JIQTtBQUNBO0FvQ29IQTtBcENySEE7QUFDQTtBb0NvSEE7QXBDaEhBO0FvQzZIQTtBM0R6TUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBMkQyTEE7QUFDQTtBQUNBO0FBQ0E7QUFUQTtBM0QvR0E7QUFDQTtBMkQ4R0E7QTNEM0dBO0FBQ0E7QTJEMEdBO0EzRHJHQTtBQUNBO0FBQ0E7QTJEbUdBO0EzRDdGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBaURBO0FBQ0E7QUFDQTtBMkRzQ0E7QTNEbkNBO0FBQ0E7QTJEa0NBO0EzRG1CQTtBQUNBO0FBQ0E7QUF3QkE7QUFDQTtBQUNBO0EyRC9DQTtBM0RrREE7QUFDQTtBMkRuREE7QTNEb0dBO0FBQ0E7QTJEekZBO0EzRG1HQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTJEQTtBMkQ3SkE7QTNEdUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFTQTtBQUNBO0EyRHhLQTs7O0FBTUE7QUFNQTtBQUNBO0FBQ0E7QUFRQTtBQUdBO0FBSUE7QWhDbldBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBOztBOUNwQkE7O0ErRUVBO0E3RUZBOzs7QTZFTUE7QS9FSUE7QUFnQkE7O0ErRWhCQTtBQ3lCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTs7QWhGaEhBOztBaUZFQTtBL0VGQTs7O0ErRU1BO0FqRklBO0FBZ0JBOztBaUZoQkE7QWpGVkE7O0FpRmFBO0EvRWJBOzs7QStFaUJBO0FqRlBBO0FBZ0JBOztBaUZMQTtBbENyQkE7QUFZQTtBL0NaQTs7QWlGMEJBO0EvRTFCQTs7O0ErRThCQTtBakZwQkE7QUFnQkE7O0FpRlFBO0FqRWxDQTs7Ozs7Ozs7QWlFMkNBO0FoRTNDQTtBQVNBO0E2QlRBOzs7Ozs7Ozs7QW1DdURBO0FqRnZEQTs7QWlGMERBO0EvRTFEQTs7O0ErRThEQTtBakZwREE7QUFnQkE7O0FpRndDQTtBQzdDQTtBQUVBOzs7QUFLQTtBQUNBO0FBTkE7OztBQVVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFkQTs7O0FBaUJBO0FBQ0E7QUFDQTtBQUNBO0FBcEJBOzs7QUF1QkE7QUFDQTtBQUNBO0FBQ0E7QUExQkE7OztBQTZCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTs7O0FBQ0E7QUE1Q0E7OztBcENYQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FvQ0VBOzs7QUFxREE7QUFDQTtBQUNBO0FBQ0E7QTVFa2VBO0E0RTFoQkE7OztBQTJEQTtBQTNEQTs7Ozs7O0EvRGtGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0ErRGxDQTtBQXBFQTs7Ozs7O0EvRDRLQTtBQUNBO0ErRDdLQTs7Ozs7O0EvRGdMQTtBQUNBO0ErRGpMQTs7Ozs7O0EvRHNMQTtBQUNBO0FBQ0E7QStEeExBOzs7Ozs7Ozs7OztBL0Q4TEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWlEQTtBQUNBO0FBQ0E7QStEclBBOzs7Ozs7Ozs7OztBL0R3UEE7QUFDQTtBK0R6UEE7Ozs7Ozs7Ozs7Ozs7Ozs7QS9EOFNBO0FBQ0E7QUFDQTtBQXdCQTtBQUNBO0FBQ0E7QStEMVVBOzs7Ozs7Ozs7Ozs7Ozs7O0EvRDZVQTtBQUNBO0ErRDlVQTs7Ozs7O0EvRCtYQTtBQUNBO0FiMEpBO0E0RTFoQkE7Ozs7OztBQXVFQTtBQXZFQTs7Ozs7O0EvRDBZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBK0RoWkE7Ozs7OztBL0RrRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBK0RkQTtBQXhGQTs7Ozs7O0EvRDRLQTtBQUNBO0ErRDdLQTs7Ozs7O0EvRGdMQTtBQUNBO0ErRGpMQTs7Ozs7O0EvRHNMQTtBQUNBO0FBQ0E7QStEeExBOzs7Ozs7Ozs7OztBL0Q4TEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTREQTtBQUNBO0FBQ0E7QStEaFFBOzs7Ozs7Ozs7OztBL0RtUUE7QUFDQTtBK0RwUUE7Ozs7Ozs7Ozs7Ozs7Ozs7QS9EOFNBO0FBQ0E7QUFDQTtBQW1DQTtBQUNBO0FBQ0E7QStEclZBOzs7Ozs7Ozs7Ozs7Ozs7O0EvRHdWQTtBQUNBO0ErRHpWQTs7Ozs7O0EvRCtYQTtBQUNBO0FiMEpBO0E0RTFoQkE7Ozs7OztBQTJGQTtBQUNBO0FBNUZBOzs7Ozs7QS9EMFlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0ErRHpTQTs7Ozs7O0EvRHJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0ErRE1BO0FBTEE7Ozs7OztBL0RxRUE7QUFDQTtBK0R0RUE7Ozs7OztBL0R5RUE7QUFDQTtBK0QxRUE7Ozs7OztBL0QrRUE7QUFDQTtBQUNBO0ErRGpGQTs7Ozs7Ozs7Ozs7QS9EdUZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE0REE7QUFDQTtBQUNBO0ErRHpKQTs7Ozs7Ozs7Ozs7QS9ENEpBO0FBQ0E7QStEN0pBOzs7Ozs7Ozs7Ozs7Ozs7O0EvRHVNQTtBQUNBO0FBQ0E7QUFtQ0E7QUFDQTtBQUNBO0ErRDlPQTs7Ozs7Ozs7Ozs7Ozs7OztBL0RpUEE7QUFDQTtBK0RsUEE7Ozs7OztBL0R3UkE7QUFDQTtBK0R6UkE7Ozs7OztBL0RtU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QStEaFpBOzs7QS9Ea0ZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QStEc0JBO0FBNUhBOzs7QS9ENEtBO0FBQ0E7QStEN0tBOzs7QS9EZ0xBO0FBQ0E7QStEakxBOzs7QS9Ec0xBO0FBQ0E7QUFDQTtBK0R4TEE7Ozs7O0EvRDhMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBaURBO0FBQ0E7QUFDQTtBK0RyUEE7Ozs7O0EvRHdQQTtBQUNBO0ErRHpQQTs7Ozs7OztBL0Q4U0E7QUFDQTtBQUNBO0FBd0JBO0FBQ0E7QUFDQTtBK0QxVUE7Ozs7Ozs7QS9ENlVBO0FBQ0E7QStEOVVBOzs7QS9EK1hBO0FBQ0E7QStEaFlBOzs7QS9EMFlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QStEalpBOzs7QTlFbkJBO0E0Q21CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FrQ3FJQTtBQUNBO0FBQ0E7QUFDQTtBNUU4WUE7QTRFM1lBO0FBR0E7QUFDQTtBNUV1WUE7QTRFbllBO0FBR0E7QUFDQTtBNUUrWEE7QTRFbllBOztBQVNBO0FBQ0E7QTVFeVhB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QUNBO0FBS0E7QUFrQkE7QUFDQTtBQUtBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBSUE7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFFQTtBQU1BO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUdBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUlBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7Ozs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QTtBRzdvQkE7QUY0Q0E7QURpbkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUtBO0FJMXJCQTtBSjByQkE7QUkxckJBO0FKMHJCQTtBSTFyQkE7QUowckJBO0FJMXJCQTtBSjByQkE7QUkxckJBO0FKMHJCQTtBSTFyQkE7QUowckJBO0FJMXJCQTtBSjByQkE7QUkxckJBO0FKMHJCQTtBSTFyQkE7QUowckJBO0FJMXJCQTtBSjByQkE7QUkxckJBO0FKMHJCQTtBSTFyQkE7QUowckJBO0FJMXJCQTtBSjByQkE7QUkxckJBO0FKMHJCQTtBSTFyQkE7QUowckJBO0FJMXJCQTtBSjByQkE7QUkxckJBO0FKMHJCQTtBSTFyQkE7QUowckJBO0FJMXJCQTtBSjByQkE7QUkxckJBO0FKMHJCQTtBSTFyQkE7QUprc0JBO0FJbHNCQTtBSmtzQkE7QUlsc0JBO0FKa3NCQTtBSWxzQkE7QUprc0JBO0FJbHNCQTtBSmtzQkE7QUlsc0JBO0FKa3NCQTtBSWxzQkE7QUprc0JBO0FJbHNCQTtBSmtzQkE7QUlsc0JBO0FKa3NCQTtBSWxzQkE7QUprc0JBO0FJbHNCQTtBSmtzQkE7QUlsc0JBO0FKa3NCQTtBSWxzQkE7QUprc0JBO0FJbHNCQTtBSmtzQkE7QUlsc0JBO0FKa3NCQTtBSWxzQkE7QUprc0JBO0FJbHNCQTtBSmtzQkE7QUlsc0JBO0FKa3NCQTtBSWxzQkE7QUprc0JBO0FJbHNCQTtBSmtzQkE7QUlsc0JBO0FKa3NCQTtBSWxzQkE7QUoyc0JBO0FBQ0E7QUFDQTtBbElyS0E7QWtJd0tBO0FBRUE7QWxJMUtBO0FrSXdLQTtBQU9BO0FBUEE7QUFZQTtBbElwTEE7QWtJd0tBO0FBa0JBO0FBbEJBO0FBc0JBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFDQTtBQUNBO0FBSUE7QUFFQTs7QXhJcHdCQTs7QTZJRUE7QTNJRkE7OztBMklNQTtBN0lJQTtBQWdCQTs7QTZJaEJBO0E3SVZBOztBNklhQTtBM0liQTs7O0EySWlCQTtBN0lQQTtBQWdCQTs7QTZJTEE7QTdIckJBOzs7Ozs7OztBNkg4QkE7QTVIOUJBO0FBU0E7QWpCVEE7O0E2SW1DQTtBM0luQ0E7OztBMkl1Q0E7QTdJN0JBO0FBZ0JBOztBNklpQkE7QTdJM0NBOztBNkk4Q0E7QTNJOUNBOzs7QTJJa0RBO0E3SXhDQTtBQWdCQTs7QTZJNEJBO0EzSXREQTs7O0EySTBEQTtBN0kxREE7O0E2STZEQTtBM0k3REE7OztBMklpRUE7QTdJdkRBO0FBZ0JBOztBNkkyQ0E7QTdIckVBOzs7Ozs7OztBNkg4RUE7QTVIOUVBO0FBU0E7QXdCVEE7QUFnREE7QUNxQkE7QTFDckVBOztBNklzRkE7QTNJdEZBOzs7QTJJMEZBO0E3SWhGQTtBQWdCQTs7QTZJb0VBO0E5RjlGQTtBQVlBO0EvQ1pBOztBNkltR0E7QTNJbkdBOzs7QTJJdUdBO0E3STdGQTtBQWdCQTs7QTZJaUZBO0E3STNHQTs7QTZJOEdBO0EzSTlHQTs7O0EySWtIQTtBN0l4R0E7QUFnQkE7O0E2STRGQTtBN0l0SEE7O0E2SXlIQTtBM0l6SEE7OztBMkk2SEE7QTdJbkhBO0FBZ0JBOztBNkl1R0E7QTdJaklBOztBNklvSUE7QTNJcElBOzs7QTJJd0lBO0E3STlIQTtBQWdCQTs7QTZJa0hBO0FDdEZBO0FBRUE7QXhJeWZBO0F3STNmQTtBQUtBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F4SThlQTtBd0luZkE7QUFRQTtBeEkyZUE7QXdJbmZBO0FBWUE7QUFJQTtBQUNBO0F4SWtlQTtBd0luZUE7QUFJQTtBQUNBO0F4SThkQTtBd0luZUE7QUFTQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0F4SW1kQTtBd0l0ZEE7QUFNQTtBQU5BO0FBY0E7QUFkQTtBQW1CQTtBQW5CQTtBQXdCQTtBQUNBO0FBekJBO0FBNEJBO0FBSUE7QUFHQTtBQWFBO0FBQ0E7QUFDQTtBQUdBO0F4SWlhQTtBd0k5WkE7QUFFQTtBQVZBO0FBZUE7QUFmQTtBQW1CQTtBQXhHQTtBQTZHQTtBQUNBO0FBQ0E7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bkNBOzs7QTZJdUNBO0EvSTdCQTtBQWdCQTs7QStJaUJBO0EvSDNDQTs7Ozs7Ozs7QStIb0RBO0E5SHBEQTtBQVNBO0F3QlRBO0FBZ0RBO0FDcUJBO0FzRzFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0ExSThoQkE7QTBJaGlCQTtBQUtBO0FBQ0E7QTFJMGhCQTtBMEl0aUJBO0FBaUJBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFFQTtBN0hxRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBNkh6RkE7QTdIK0pBO0FBQ0E7QTZIaEtBO0E3SG1LQTtBQUNBO0E2SHBLQTtBN0h5S0E7QUFDQTtBQUNBO0E2SDNLQTtBN0hpTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTREQTtBQUNBO0FBQ0E7QTZIblBBO0E3SHNQQTtBQUNBO0E2SHZQQTtBN0hpU0E7QUFDQTtBQUNBO0FBbUNBO0FBQ0E7QUFDQTtBNkh4VUE7QTdIMlVBO0FBQ0E7QTZINVVBO0E3SGtYQTtBQUNBO0E2SDdXQTtBQUNBO0ExSXNnQkE7QTBJdmdCQTtBQUlBO0FBQ0E7QUFJQTtBN0g4V0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBNkg5V0E7QXRHMEpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXNHekpBO0FBQ0E7QUFDQTs7QWhKakVBOztBaUpFQTtBL0lGQTs7O0ErSU1BO0FqSklBO0FBZ0JBOztBaUpoQkE7QWpJVkE7Ozs7Ozs7O0FpSW1CQTtBaEluQkE7QUFTQTtBaUlIQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBRUE7QS9IaUZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QStIckdBO0EvSDJLQTtBQUNBO0ErSDVLQTtBL0grS0E7QUFDQTtBK0hoTEE7QS9IcUxBO0FBQ0E7QUFDQTtBK0h2TEE7QS9INkxBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFpREE7QUFDQTtBQUNBO0ErSHBQQTtBL0h1UEE7QUFDQTtBK0h4UEE7QS9INlNBO0FBQ0E7QUFDQTtBQXdCQTtBQUNBO0FBQ0E7QStIelVBO0EvSDRVQTtBQUNBO0ErSDdVQTtBL0g4WEE7QUFDQTtBQUNBO0ErSHpYQTtBL0hrWUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0ErSGpaQTtBL0hzY0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBK0h4ZEE7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVVBO0FBQ0E7QUFJQTtBQUVBOzsiLCJzb3VyY2VSb290IjoiIn0=*/