#sc-event-ticketing-wrap {
  margin-top: 30px;
  border-radius: 6px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: rgba(255, 255, 255, 0.5);
}
#sc-event-ticketing-wrap *, #sc-event-ticketing-wrap ::before, #sc-event-ticketing-wrap ::after {
  box-sizing: border-box;
}
#sc-event-ticketing-wrap .sc-et-card-header {
  background-color: transparent;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  border-left: none;
  border-right: none;
  border-top: none;
  color: rgba(0, 0, 0, 0.85);
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  padding: 20px 30px;
}
@media (max-width: 767px) {
  #sc-event-ticketing-wrap .sc-et-card-header {
    font-size: 16px;
    padding: 20px;
  }
}
#sc-event-ticketing-wrap #sc-event-ticketing-price-wrap {
  padding: 30px;
}
@media (max-width: 767px) {
  #sc-event-ticketing-wrap #sc-event-ticketing-price-wrap {
    padding: 20px;
  }
}
#sc-event-ticketing-wrap #sc-event-ticketing-price-wrap .sc-et-col-sm {
  padding-left: 0;
  padding-right: 0;
}
#sc-event-ticketing-wrap #sc-event-ticketing-price-wrap .sc-event-ticketing-price-wrap__input-group {
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  margin-bottom: 10px !important;
}
#sc-event-ticketing-wrap #sc-event-ticketing-price-wrap .sc-event-ticketing-price-wrap__input-group .sc-et-input-group-prepend {
  border-right: 1px solid rgba(0, 0, 0, 0.2);
  margin: 0;
}
#sc-event-ticketing-wrap #sc-event-ticketing-price-wrap .sc-event-ticketing-price-wrap__input-group .sc-et-input-group-prepend .sc-et-input-group-text {
  background: rgba(0, 0, 0, 0.03);
  border: none;
  color: var(--calendar-text-secondary, rgba(0, 0, 0, 0.7));
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 24px; /* 150% */
  padding: 10px 20px;
}
#sc-event-ticketing-wrap #sc-event-ticketing-price-wrap .sc-event-ticketing-price-wrap__input-group #sc-event-ticketing-quantity {
  background: #FFF;
  border: none;
  color: rgba(0, 0, 0, 0.85);
  height: 44px;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; /* 150% */
  padding: 10px 15px;
}
#sc-event-ticketing-wrap #sc-event-ticketing-price-wrap .sc-event-ticketing-price {
  color: rgba(0, 0, 0, 0.4);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  margin-bottom: 0;
  line-height: 24px; /* 171.429% */
}
@media (max-width: 767px) {
  #sc-event-ticketing-wrap #sc-event-ticketing-price-wrap .sc-event-ticketing-price-wrap__add-to-cart-section {
    margin-top: 20px;
    text-align: left !important;
  }
}
#sc-event-ticketing-wrap #sc-event-ticketing-price-wrap .sc-event-ticketing-price-wrap__add-to-cart-section .sc-event-ticketing-price-wrap__add-to-cart-section__btn-container {
  margin-bottom: 10px;
}
#sc-event-ticketing-wrap #sc-event-ticketing-price-wrap .sc-event-ticketing-price-wrap__add-to-cart-section .sc-event-ticketing-price-wrap__add-to-cart-section__btn-container #sc-event-ticketing-buy-button,
#sc-event-ticketing-wrap #sc-event-ticketing-price-wrap .sc-event-ticketing-price-wrap__add-to-cart-section .sc-event-ticketing-price-wrap__add-to-cart-section__btn-container #sc-event-ticketing-buy-button-woocommerce {
  background: #5685BD;
  border: none;
  border-radius: 4px;
  color: var(--calendar-background-menu, #FFF);
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  padding: 11px 17px;
}
#sc-event-ticketing-wrap #sc-event-ticketing-price-wrap .sc-event-ticketing-price-wrap__add-to-cart-section .sc-event-ticketing-qty-available {
  color: rgba(0, 0, 0, 0.4);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; /* 171.429% */
}

.single-sc_event-dark #sc-event-ticketing-wrap {
  border-color: rgba(255, 255, 255, 0.15);
  background: rgba(0, 0, 0, 0.5);
}
.single-sc_event-dark #sc-event-ticketing-wrap .sc-et-card-header {
  border-bottom-color: rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.85);
}
.single-sc_event-dark #sc-event-ticketing-wrap #sc-event-ticketing-price-wrap .sc-event-ticketing-price-wrap__input-group {
  border: 1px solid rgba(255, 255, 255, 0.25);
}
.single-sc_event-dark #sc-event-ticketing-wrap #sc-event-ticketing-price-wrap .sc-event-ticketing-price-wrap__input-group .sc-et-input-group-prepend {
  border-right-color: rgba(255, 255, 255, 0.25);
}
.single-sc_event-dark #sc-event-ticketing-wrap #sc-event-ticketing-price-wrap .sc-event-ticketing-price-wrap__input-group .sc-et-input-group-prepend .sc-et-input-group-text {
  background: rgba(0, 0, 0, 0.5);
  color: rgba(255, 255, 255, 0.55);
}
.single-sc_event-dark #sc-event-ticketing-wrap #sc-event-ticketing-price-wrap .sc-event-ticketing-price-wrap__input-group #sc-event-ticketing-quantity {
  background: #000;
  color: rgba(255, 255, 255, 0.85);
}
.single-sc_event-dark #sc-event-ticketing-wrap #sc-event-ticketing-price-wrap .sc-event-ticketing-price {
  color: rgba(255, 255, 255, 0.4);
}
.single-sc_event-dark #sc-event-ticketing-wrap #sc-event-ticketing-price-wrap .sc-event-ticketing-price-wrap__add-to-cart-section .sc-event-ticketing-price-wrap__add-to-cart-section__btn-container #sc-event-ticketing-buy-button,
.single-sc_event-dark #sc-event-ticketing-wrap #sc-event-ticketing-price-wrap .sc-event-ticketing-price-wrap__add-to-cart-section .sc-event-ticketing-price-wrap__add-to-cart-section__btn-container #sc-event-ticketing-buy-button-woocommerce {
  color: #000;
}
.single-sc_event-dark #sc-event-ticketing-wrap #sc-event-ticketing-price-wrap .sc-event-ticketing-price-wrap__add-to-cart-section .sc-event-ticketing-qty-available {
  color: rgba(255, 255, 255, 0.4);
}

.modal-backdrop {
  opacity: 0.75 !important;
  background: rgba(255, 255, 255, 0.75) !important;
  backdrop-filter: blur(6px) !important;
}

.single-sc_event-dark .modal-backdrop {
  background: rgba(0, 0, 0, 0.75) !important;
}

#sc-event-ticketing-modal *, #sc-event-ticketing-modal ::before, #sc-event-ticketing-modal ::after {
  box-sizing: border-box;
}
#sc-event-ticketing-modal .sc-et-modal-dialog {
  max-width: 960px;
}
#sc-event-ticketing-modal.sc-et-checkout-locked #sc-event-ticketing-checkout-main {
  opacity: 0.6;
  cursor: progress;
}
#sc-event-ticketing-modal .sc-et-modal-content {
  max-width: 1100px;
  border-radius: var(--radius-xl, 10px);
  box-shadow: 0px 15px 30px 0px rgba(0, 0, 0, 0.1);
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout {
  background: rgba(255, 255, 255, 0.5);
  border-radius: inherit;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout .sc-et-modal-header {
  padding: 20px 30px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout .sc-et-modal-header {
    padding: 20px;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout .sc-et-modal-header #sc-event-ticketing-modalLabel {
  color: var(--calendar-heading, rgba(0, 0, 0, 0.85));
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout .sc-et-modal-header .close {
  background: transparent;
  outline: none;
  cursor: pointer;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout .sc-et-modal-header .close svg {
  color: rgba(0, 0, 0, 0.4);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout .sc-et-container {
  padding-top: 0;
  padding-bottom: 0;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main {
  padding: 30px;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main {
    padding: 20px;
  }
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main {
    flex-basis: 100%;
    max-width: 100%;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset {
  margin-bottom: 30px;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset {
    margin-bottom: 20px;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset .sc-et-form-control {
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  background: #FFF;
  height: 44px;
  padding: 10px 15px;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset .sc-event-ticketing-modal-billing-fieldset__names {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset .sc-event-ticketing-modal-billing-fieldset__names .sc-et-form-group {
  margin-bottom: 20px;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset .sc-event-ticketing-modal-billing-fieldset__names .sc-et-form-group .sc-et-form-control {
  display: initial;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset .sc-event-ticketing-modal-billing-fieldset__email {
  margin-bottom: 0;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset legend,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset legend,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-payment-fieldset legend {
  color: rgba(0, 0, 0, 0.85);
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  margin-bottom: 20px;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset legend,
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset legend,
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-payment-fieldset legend {
    font-size: 16px;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset label,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset label {
  color: rgba(0, 0, 0, 0.85);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; /* 150% */
  margin-bottom: 10px;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset label,
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset label {
    font-size: 14px;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset {
  margin-bottom: 30px;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset {
    margin-bottom: 20px;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset legend {
  margin-bottom: 10px;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset p {
  color: rgba(0, 0, 0, 0.7);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px; /* 157.143% */
  margin-bottom: 20px;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset p a {
  color: #5685BD;
  text-decoration: underline;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee {
  margin-bottom: 0;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee:not(:first-child),
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee:not(:first-child) {
  margin-top: 20px;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group {
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 4px;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group,
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group {
    flex-direction: column;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-et-input-group-prepend,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-et-input-group-prepend {
  border-right: 1px solid rgba(0, 0, 0, 0.1);
  margin: 0;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-et-input-group-prepend,
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-et-input-group-prepend {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    border-right: none;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-et-input-group-prepend span,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-et-input-group-prepend span {
  border: none;
  background: rgba(0, 0, 0, 0.03);
  color: rgba(0, 0, 0, 0.7);
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 24px; /* 171.429% */
  padding: 10px 15px;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-et-input-group-prepend span,
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-et-input-group-prepend span {
    flex-basis: 100%;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group input.sc-et-form-control,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group input.sc-et-form-control {
  background: #FFF;
  border-bottom: none;
  border-left: none;
  border-right: 1px solid rgba(0, 0, 0, 0.1);
  border-top: none;
  color: rgba(0, 0, 0, 0.85);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  height: 44px;
  line-height: 24px; /* 150% */
  margin: 0;
  padding: 10px 15px;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group input.sc-et-form-control,
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group input.sc-et-form-control {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    border-right: none;
    font-size: 14px;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-event-ticketing-attendee-controls-group,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-event-ticketing-attendee-controls-group {
  align-items: center;
  background: rgba(0, 0, 0, 0.03);
  display: flex;
  gap: 10px;
  padding: 10px 15px;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-event-ticketing-attendee-controls-group .sc-event-ticketing-add-attendee,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-event-ticketing-attendee-controls-group .sc-event-ticketing-remove-attendee,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-event-ticketing-attendee-controls-group .sc-event-ticketing-add-attendee,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-event-ticketing-attendee-controls-group .sc-event-ticketing-remove-attendee {
  color: rgba(0, 0, 0, 0.4);
  cursor: pointer;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-event-ticketing-attendee-controls-group .sc-event-ticketing-control-inactive,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-event-ticketing-attendee-controls-group .sc-event-ticketing-control-inactive {
  cursor: default;
  opacity: 0.5;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-payment-fieldset {
  margin-bottom: 0;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-payment-fieldset .sc-et-form-group {
  margin-bottom: 0;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-payment-fieldset #sc-event-ticketing-card-element {
  background: #FFF;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; /* 150% */
  padding: 10px 15px;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals {
  background: transparent;
  padding: 30px 30px 30px 0;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals {
    padding: 0 20px 20px;
  }
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals {
    flex-basis: 100%;
    max-width: 100%;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block {
  background: rgba(0, 0, 0, 0.03);
  border-radius: 6px;
  padding: 30px;
  margin-bottom: 30px;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block {
    margin-bottom: 20px;
    padding: 20px;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block:last-child {
  margin-bottom: 0;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset {
  margin-bottom: 0;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset legend {
  color: rgba(0, 0, 0, 0.85);
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  margin-bottom: 20px;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset legend {
    font-size: 16px;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset p {
  align-content: center;
  align-items: center;
  color: rgba(0, 0, 0, 0.7);
  display: flex;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  justify-content: space-between;
  line-height: normal;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset p {
    font-size: 14px;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset p.sc-event-ticketing-checkout-totals__summary-block__multi-day-datetime {
  align-items: flex-start;
  flex-direction: column;
  gap: 10px;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset p.sc-event-ticketing-checkout-totals__summary-block__multi-day-datetime .sc-event-ticketing-checkout-totals__summary-block__multi-day-datetime__val {
    align-self: flex-end;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset p strong {
  color: rgba(0, 0, 0, 0.85);
  font-weight: 600;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset p:last-child {
  margin-bottom: 0;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout .modal-footer {
  border-radius: 0 0 6px 6px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  padding: 20px 30px;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout .modal-footer #sc-event-ticketing-cancel {
  color: #50575E;
  background: rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  padding: 11px 17px;
  margin-right: 20px;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout .modal-footer #sc-event-ticketing-cancel:hover {
  background: rgba(0, 0, 0, 0.2);
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout .modal-footer #sc-event-ticketing-purchase {
  background: #5685BD;
  border: none;
  border-radius: 4px;
  color: #FFF;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  padding: 11px 17px;
  margin-left: 0;
}

.single-sc_event-dark #sc-event-ticketing-modal .modal-content {
  border: 1px solid rgba(255, 255, 255, 0.25);
  background: #000;
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout {
  background: rgba(0, 0, 0, 0.5);
  border-radius: inherit;
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout .sc-et-modal-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout .sc-et-modal-header #sc-event-ticketing-modalLabel {
  color: rgba(255, 255, 255, 0.85);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout .sc-et-modal-header .close svg {
  color: rgba(255, 255, 255, 0.4);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset .sc-et-form-control {
  border: 1px solid rgba(255, 255, 255, 0.25);
  background: #000;
  color: rgba(255, 255, 255, 0.85);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset legend,
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset legend,
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-payment-fieldset legend {
  color: rgba(255, 255, 255, 0.85);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset label,
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset label {
  color: rgba(255, 255, 255, 0.85);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset p {
  color: rgba(255, 255, 255, 0.55);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group {
  border: 1px solid rgba(255, 255, 255, 0.25);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-et-input-group-prepend {
  border-right: 1px solid rgba(255, 255, 255, 0.15);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-et-input-group-prepend span {
  background: rgba(0, 0, 0, 0.5);
  color: rgba(255, 255, 255, 0.55);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group input.sc-et-form-control {
  background: #000;
  border-right: 1px solid rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.85);
}
@media (max-width: 992px) {
  .single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group input.sc-et-form-control {
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  }
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-event-ticketing-attendee-controls-group {
  background: rgba(0, 0, 0, 0.5);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-event-ticketing-attendee-controls-group .sc-event-ticketing-add-attendee,
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-event-ticketing-attendee-controls-group .sc-event-ticketing-remove-attendee {
  color: rgba(255, 255, 255, 0.4);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-payment-fieldset #sc-event-ticketing-card-element {
  background: #000;
  border: 1px solid rgba(255, 255, 255, 0.25);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block {
  background: rgba(255, 255, 255, 0.03);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset legend {
  color: rgba(255, 255, 255, 0.85);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset p {
  color: rgba(255, 255, 255, 0.55);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset p strong {
  color: rgba(255, 255, 255, 0.85);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset p span time {
  color: rgba(255, 255, 255, 0.85);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout .modal-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout .modal-footer #sc-event-ticketing-cancel {
  color: #50575E;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.25);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout .modal-footer #sc-event-ticketing-cancel:hover {
  background: rgba(255, 255, 255, 0.2);
}

.sc_event_details_inner .sc-frontend-single-event {
  column-gap: 10px;
  display: flex;
  flex-wrap: wrap-reverse;
  justify-content: space-between;
  row-gap: 30px;
}
@media (max-width: 767px) {
  .sc_event_details_inner .sc-frontend-single-event {
    flex-direction: column;
  }
}
.sc_event_details_inner .sc-frontend-single-event .sugar_calendar_event_ticketing_frontend_single_event {
  order: 1;
}
@media (max-width: 767px) {
  .sc_event_details_inner .sc-frontend-single-event .sugar_calendar_event_ticketing_frontend_single_event {
    order: 0;
  }
}
.sc_event_details_inner .sc-frontend-single-event .sugar_calendar_event_ticketing_frontend_single_event .sugar_calendar_event_ticketing_frontend_single_event__buy_now,
.sc_event_details_inner .sc-frontend-single-event .sugar_calendar_event_ticketing_frontend_single_event .sugar_calendar_event_ticketing_frontend_single_event__buy_now--woocommerce {
  align-items: center;
  background: #5685BD;
  border: 0;
  border-radius: 4px;
  color: #FFF;
  display: flex;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  gap: 10px;
  letter-spacing: 0.035px;
  line-height: 20px; /* 142.857% */
  outline: none;
  padding: 12px 20px;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.sc_event_details_inner .sc-frontend-single-event .sugar_calendar_event_ticketing_frontend_single_event .sugar_calendar_event_ticketing_frontend_single_event__buy_now--woocommerce:focus {
  background: #5685BD;
  outline: none;
  text-decoration: none;
}

.single-sc_event-dark .sc_event_details_inner .sc-frontend-single-event .sugar_calendar_event_ticketing_frontend_single_event .sugar_calendar_event_ticketing_frontend_single_event__buy_now,
.single-sc_event-dark .sc_event_details_inner .sc-frontend-single-event .sugar_calendar_event_ticketing_frontend_single_event .sugar_calendar_event_ticketing_frontend_single_event__buy_now--woocommerce {
  color: #000;
}

#sc-et-checkout-error {
  background: #FFF;
  border-radius: 6px;
  border-left: 3px solid #D63638;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.07);
  margin-bottom: 30px;
  padding: 16px;
}
#sc-et-checkout-error p {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 142.857% */
  margin: 0;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3NzL2ZlYXR1cmVzL2V2ZW50LXRpY2tldGluZy9mcm9udGVuZC90aWNrZXRpbmctY2FyZC5zY3NzIiwiYXNzZXRzL3Njc3MvZmVhdHVyZXMvZXZlbnQtdGlja2V0aW5nL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL3ZlbmRvci9faW5jbHVkZS1tZWRpYS5zY3NzIiwiYXNzZXRzL3Njc3MvZmVhdHVyZXMvZXZlbnQtdGlja2V0aW5nL2Zyb250ZW5kL21vZGFsLnNjc3MiLCJhc3NldHMvc2Nzcy9mZWF0dXJlcy9ldmVudC10aWNrZXRpbmcvZnJvbnRlbmQvc2luZ2xlLWV2ZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7RUFDQyxZQ1NZO0VEUlosZUNHVztFREZYO0VBQ0EsWUNQcUI7O0FEU3JCO0VBQ0M7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT0NGc0I7RURHdEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUUwa0JFO0VGcmxCSDtJQWNFO0lBQ0EsU0NoQlU7OztBRG9CWjtFQUNDLFNDcEJXOztBQ3FsQlQ7RUZsa0JIO0lBSUUsU0N4QlU7OztBRDJCWDtFQUNDO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBOztBQUVBO0VBQ0MsWUNyRHVCO0VEc0R2QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJRjtFQUNDLFlDaEV1QjtFRGlFdkI7RUFDQSxPQ25Eb0I7RURvRHBCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJRjtFQUNDLE9DNURzQjtFRDZEdEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUU4Z0JDO0VGM2dCRjtJQUdFLFlDOUVTO0lEK0VUOzs7QUFHRDtFQUNDLGVDcEZTOztBRHNGVDtBQUFBO0VBRUMsWUM3RmtCO0VEOEZsQjtFQUNBLGVDOUZXO0VEK0ZYO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJRjtFQUNDLE9DN0ZxQjtFRDhGckI7RUFDQTtFQUNBO0VBQ0E7OztBQVFIO0VBQ0MsY0NwR3NCO0VEcUd0QixZQ3pHeUI7O0FEMkd6QjtFQUNDLHFCQ3hHcUI7RUR5R3JCLE9DdEcwQjs7QUQyRzFCO0VBQ0M7O0FBRUE7RUFDQyxvQkNuSGtCOztBRHFIbEI7RUFDQyxZQ3pIcUI7RUQwSHJCLE9DbEh5Qjs7QURzSDNCO0VBQ0MsWUM3SDJCO0VEOEgzQixPQ3pId0I7O0FENkgxQjtFQUNDLE9DNUgwQjs7QURtSXpCO0FBQUE7RUFFQzs7QUFJRjtFQUNDLE9DMUl5Qjs7O0FFM0I5QjtFQUNDO0VBQ0E7RUFDQTs7O0FBSUE7RUFDQzs7O0FBTUQ7RUFDQzs7QUFHRDtFQUNDOztBQU9BO0VBQ0M7RUFDQTs7QUFJRjtFQUNDO0VBQ0E7RUFDQTs7QUFHRDtFQUVDLFlGM0NvQjtFRWlEcEI7O0FBRUE7RUFDQztFQUNBOztBRDZpQkM7RUMvaUJGO0lBS0UsU0Y1Q1M7OztBRStDVjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7O0FBRUE7RUFDQyxPRnREb0I7RUV1RHBCO0VBQ0E7RUFDQTtFQUNBOztBQU9IO0VBQ0M7RUFDQTs7QUFHRDtFQUNDLFNGN0VVOztBQ3FsQlQ7RUN6Z0JGO0lBSUUsU0ZqRlM7OztBQ3NsQlQ7RUN6Z0JGO0lBUUU7SUFDQTs7O0FBR0Q7RUFDQyxlRnpGUzs7QUNxbEJUO0VDN2ZEO0lBSUUsZUY3RlE7OztBRWdHVDtFQUNDLGVGdEdXO0VFdUdYO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBLEtGM0dROztBRTZHUjtFQUNDLGVGOUdPOztBRWdIUDtFQUNDOztBQUtIO0VBQ0M7O0FBSUY7QUFBQTtBQUFBO0VBR0MsT0Z6SG9CO0VFMEhwQjtFQUNBO0VBQ0E7RUFDQTtFQUNBLGVGbklTOztBQ3NsQlQ7RUMzZEQ7QUFBQTtBQUFBO0lBV0U7OztBQUlGO0FBQUE7RUFFQyxPRnZJb0I7RUV3SXBCO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZUZsSlM7O0FDdWxCVDtFQzVjRDtBQUFBO0lBVUU7OztBQUlGO0VBQ0MsZUZ4SlM7O0FDcWxCVDtFQzliRDtJQUlFLGVGNUpROzs7QUUrSlQ7RUFDQyxlRmpLUTs7QUVvS1Q7RUFDQyxPRjlKcUI7RUUrSnJCO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZUZ6S1E7O0FFMktSO0VBQ0MsT0ZsTGlCO0VFbUxqQjs7QUFJRjtBQUFBO0VBRUM7O0FBRUE7QUFBQTtFQUNDLFlGdExPOztBRXlMUjtBQUFBO0VBQ0M7RUFDQSxlRmhNVTs7QUMybEJaO0VDN1pDO0FBQUE7SUFLRTs7O0FBR0Q7QUFBQTtFQUNDO0VBQ0E7O0FEbVpIO0VDclpFO0FBQUE7SUFLRTtJQUNBOzs7QUFHRDtBQUFBO0VBQ0M7RUFDQSxZRnZOb0I7RUV3TnBCLE9Gdk1rQjtFRXdNbEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QURvWUo7RUM1WUc7QUFBQTtJQVdFOzs7QUFLSDtBQUFBO0VBQ0MsWUZyT29CO0VFc09wQjtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9GM05pQjtFRTROakI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FEK1dIO0VDNVhFO0FBQUE7SUFnQkU7SUFDQTtJQUNBOzs7QUFJRjtBQUFBO0VBQ0M7RUFDQSxZRjdQcUI7RUU4UHJCO0VBQ0EsS0ZyUE07RUVzUE47O0FBRUE7QUFBQTtBQUFBO0FBQUE7RUFFQyxPRmxQaUI7RUVtUGpCOztBQUdEO0FBQUE7RUFDQztFQUNBOztBQU9MO0VBQ0M7O0FBRUE7RUFDQzs7QUFHRDtFQUNDLFlGeFJzQjtFRXlSdEI7RUFDQSxlRnJSVztFRXNSWDtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtIO0VBQ0M7RUFDQTs7QUQwVEM7RUM1VEY7SUFLRTs7O0FEdVRBO0VDNVRGO0lBU0U7SUFDQTs7O0FBR0Q7RUFDQztFQUNBLGVGN1NRO0VFOFNSLFNGelNTO0VFMFNULGVGMVNTOztBQ3FsQlQ7RUMvU0Q7SUFPRSxlRjlTUTtJRStTUixTRi9TUTs7O0FFa1RUO0VBQ0M7O0FBR0Q7RUFDQzs7QUFFQTtFQUNDLE9GclRrQjtFRXNUbEI7RUFDQTtFQUNBO0VBQ0E7RUFDQSxlRi9UTzs7QUNzbEJUO0VDN1JDO0lBU0U7OztBQUlGO0VBQ0M7RUFDQTtFQUNBLE9GblVvQjtFRW9VcEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRHVRRjtFQ2hSQztJQVlFOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTs7QUQ4UEg7RUMzUEk7SUFDQzs7O0FBS0g7RUFDQyxPRjdWaUI7RUU4VmpCOztBQUdEO0VBQ0M7O0FBUUw7RUFDQztFQUNBO0VBQ0E7O0FBRUE7RUFDQyxPRmpYbUI7RUVrWG5CLFlGall3QjtFRWtZeEI7RUFDQSxlRjdYWTtFRThYWjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY0Y5WFM7O0FFZ1lUO0VBQ0M7O0FBSUY7RUFDQyxZRjVZbUI7RUU2WW5CO0VBQ0EsZUY3WVk7RUU4WVo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQVVGO0VBQ0M7RUFDQSxZRmhaNkI7O0FFbVo5QjtFQUVDLFlGdlp3QjtFRTBaeEI7O0FBRUE7RUFFQzs7QUFFQTtFQUNDLE9GMVp3Qjs7QUUrWnhCO0VBQ0MsT0Y5WndCOztBRXVhekI7RUFDQztFQUNBLFlGaGIwQjtFRWliMUIsT0Y1YXVCOztBRWdiekI7QUFBQTtBQUFBO0VBR0MsT0ZuYndCOztBRXNiekI7QUFBQTtFQUVDLE9GeGJ3Qjs7QUU2YnhCO0VBQ0MsT0Y3YnlCOztBRWtjekI7RUFFQzs7QUFFQTtFQUVDOztBQUVBO0VBQ0MsWUZuZGtCO0VFb2RsQixPRjVjc0I7O0FFZ2R4QjtFQUNDLFlGdmR3QjtFRXdkeEI7RUFDQSxPRnBkcUI7O0FDc2tCekI7RUNySEc7SUFNRTs7O0FBSUY7RUFDQyxZRm5lbUI7O0FFcWVuQjtBQUFBO0VBRUMsT0Y5ZHFCOztBRXVlekI7RUFDQyxZRi9lMEI7RUVnZjFCOztBQU9GO0VBQ0MsWUZ6ZjRCOztBRTZmM0I7RUFDQyxPRnhmc0I7O0FFMmZ2QjtFQUNDLE9GM2Z3Qjs7QUU2ZnhCO0VBQ0MsT0YvZnFCOztBRW1nQnJCO0VBQ0MsT0ZwZ0JvQjs7QUU0Z0IxQjtFQUNDOztBQUVBO0VBQ0MsT0Y1aEJrQjtFRTZoQmxCLFlGdmhCNEI7RUV3aEI1Qjs7QUFFQTtFQUNDOzs7QUMzaUJOO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUZ1bEJHO0VFNWxCSjtJQVFFOzs7QUFHRDtFQUNDOztBRmdsQkU7RUVqbEJIO0lBSUU7OztBQUdEO0FBQUE7RUFFQztFQUNBLFlIckJvQjtFR3NCcEI7RUFDQSxlSHRCYTtFR3VCYjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsS0h4QlU7RUd5QlY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQyxZSHhDb0I7RUd5Q3BCO0VBQ0E7OztBQVdBO0FBQUE7RUFFQzs7O0FBTUo7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBIiwiZmlsZSI6ImFzc2V0cy9jc3MvZmVhdHVyZXMvZXZlbnQtdGlja2V0aW5nL2Zyb250ZW5kL3NpbmdsZS1ldmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICcuLi8uLi8uLi92ZW5kb3IvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICcuLi92YXJpYWJsZXMnO1xuXG4jc2MtZXZlbnQtdGlja2V0aW5nLXdyYXAge1xuXHRtYXJnaW4tdG9wOiAkc3BhY2luZy1sZztcblx0Ym9yZGVyLXJhZGl1czogJHJhZGl1cy1sZztcblx0Ym9yZGVyOiAxcHggc29saWQgJGNhbGVuZGFyLWRpdmlkZXI7XG5cdGJhY2tncm91bmQ6ICRjYWxlbmRhci1iYWNrZ3JvdW5kO1xuXG5cdCosIDo6YmVmb3JlLCA6OmFmdGVyIHtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cblx0LnNjLWV0LWNhcmQtaGVhZGVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNhbGVuZGFyLWRpdmlkZXI7XG5cdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXHRcdGJvcmRlci10b3A6IG5vbmU7XG5cdFx0Y29sb3I6ICRjYWxlbmRhci10ZXh0LXByaW1hcnk7XG5cdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdFx0cGFkZGluZzogJHNwYWNpbmctbWQgJHNwYWNpbmctbGc7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdHBhZGRpbmc6ICRzcGFjaW5nLW1kO1xuXHRcdH1cblx0fVxuXG5cdCNzYy1ldmVudC10aWNrZXRpbmctcHJpY2Utd3JhcCB7XG5cdFx0cGFkZGluZzogJHNwYWNpbmctbGc7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcblx0XHRcdHBhZGRpbmc6ICRzcGFjaW5nLW1kO1xuXHRcdH1cblxuXHRcdC5zYy1ldC1jb2wtc20ge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHR9XG5cblx0XHQuc2MtZXZlbnQtdGlja2V0aW5nLXByaWNlLXdyYXBfX2lucHV0LWdyb3VwIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRjYWxlbmRhci1ib3JkZXI7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1zbSAhaW1wb3J0YW50O1xuXG5cdFx0XHQuc2MtZXQtaW5wdXQtZ3JvdXAtcHJlcGVuZCB7XG5cdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjYWxlbmRhci1ib3JkZXI7XG5cdFx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0XHQuc2MtZXQtaW5wdXQtZ3JvdXAtdGV4dCB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJGNhbGVuZGFyLWJhY2tncm91bmQtbGlnaHQ7XG5cdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRcdGNvbG9yOiB2YXIoLS1jYWxlbmRhci10ZXh0LXNlY29uZGFyeSwgJGNhbGVuZGFyLXRleHQtc2Vjb25kYXJ5KTtcblx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7IC8qIDE1MCUgKi9cblx0XHRcdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1zbSAkc3BhY2luZy1tZDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQjc2MtZXZlbnQtdGlja2V0aW5nLXF1YW50aXR5IHtcblx0XHRcdFx0YmFja2dyb3VuZDogJGNhbGVuZGFyLWJhY2tncm91bmQtbWVudTtcblx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRjb2xvcjogJGNhbGVuZGFyLXRleHQtcHJpbWFyeTtcblx0XHRcdFx0aGVpZ2h0OiA0NHB4O1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7IC8qIDE1MCUgKi9cblx0XHRcdFx0cGFkZGluZzogJHNwYWNpbmctc20gMTVweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuc2MtZXZlbnQtdGlja2V0aW5nLXByaWNlIHtcblx0XHRcdGNvbG9yOiAkY2FsZW5kYXItdGV4dC10ZXJ0aWFyeTtcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7IC8qIDE3MS40MjklICovXG5cdFx0fVxuXG5cdFx0LnNjLWV2ZW50LXRpY2tldGluZy1wcmljZS13cmFwX19hZGQtdG8tY2FydC1zZWN0aW9uIHtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6ICRzcGFjaW5nLW1kO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cblx0XHRcdC5zYy1ldmVudC10aWNrZXRpbmctcHJpY2Utd3JhcF9fYWRkLXRvLWNhcnQtc2VjdGlvbl9fYnRuLWNvbnRhaW5lciB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXNtO1xuXG5cdFx0XHRcdCNzYy1ldmVudC10aWNrZXRpbmctYnV5LWJ1dHRvbixcblx0XHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1idXktYnV0dG9uLXdvb2NvbW1lcmNlIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItYWNjZW50LWJsdWUtNTA7XG5cdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtYnV0dG9uO1xuXHRcdFx0XHRcdGNvbG9yOiB2YXIoLS1jYWxlbmRhci1iYWNrZ3JvdW5kLW1lbnUsICRjYWxlbmRhci1iYWNrZ3JvdW5kLW1lbnUpO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDExcHggMTdweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuc2MtZXZlbnQtdGlja2V0aW5nLXF0eS1hdmFpbGFibGUge1xuXHRcdFx0XHRjb2xvcjogJGNhbGVuZGFyLXRleHQtdGVydGlhcnk7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMjRweDsgLyogMTcxLjQyOSUgKi9cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnNpbmdsZS1zY19ldmVudC1kYXJrIHtcblxuXHQjc2MtZXZlbnQtdGlja2V0aW5nLXdyYXAge1xuXHRcdGJvcmRlci1jb2xvcjogJGNhbGVuZGFyLWRpdmlkZXItZGFyaztcblx0XHRiYWNrZ3JvdW5kOiAkY2FsZW5kYXItYmFja2dyb3VuZC1kYXJrO1xuXG5cdFx0LnNjLWV0LWNhcmQtaGVhZGVyIHtcblx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRjYWxlbmRhci1kaXZpZGVyLWRhcms7XG5cdFx0XHRjb2xvcjogJGNhbGVuZGFyLXRleHQtcHJpbWFyeS1kYXJrO1xuXHRcdH1cblxuXHRcdCNzYy1ldmVudC10aWNrZXRpbmctcHJpY2Utd3JhcCB7XG5cblx0XHRcdC5zYy1ldmVudC10aWNrZXRpbmctcHJpY2Utd3JhcF9faW5wdXQtZ3JvdXAge1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkY2FsZW5kYXItYm9yZGVyLWRhcms7XG5cblx0XHRcdFx0LnNjLWV0LWlucHV0LWdyb3VwLXByZXBlbmQge1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodC1jb2xvcjogJGNhbGVuZGFyLWJvcmRlci1kYXJrO1xuXG5cdFx0XHRcdFx0LnNjLWV0LWlucHV0LWdyb3VwLXRleHQge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJGNhbGVuZGFyLWJhY2tncm91bmQtZGFyaztcblx0XHRcdFx0XHRcdGNvbG9yOiAkY2FsZW5kYXItdGV4dC1zZWNvbmRhcnktZGFyaztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQjc2MtZXZlbnQtdGlja2V0aW5nLXF1YW50aXR5IHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkY2FsZW5kYXItYmFja2dyb3VuZC1tZW51LWRhcms7XG5cdFx0XHRcdFx0Y29sb3I6ICRjYWxlbmRhci10ZXh0LXByaW1hcnktZGFyaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuc2MtZXZlbnQtdGlja2V0aW5nLXByaWNlIHtcblx0XHRcdFx0Y29sb3I6ICRjYWxlbmRhci10ZXh0LXRlcnRpYXJ5LWRhcms7XG5cdFx0XHR9XG5cblx0XHRcdC5zYy1ldmVudC10aWNrZXRpbmctcHJpY2Utd3JhcF9fYWRkLXRvLWNhcnQtc2VjdGlvbiB7XG5cblx0XHRcdFx0LnNjLWV2ZW50LXRpY2tldGluZy1wcmljZS13cmFwX19hZGQtdG8tY2FydC1zZWN0aW9uX19idG4tY29udGFpbmVyIHtcblxuXHRcdFx0XHRcdCNzYy1ldmVudC10aWNrZXRpbmctYnV5LWJ1dHRvbixcblx0XHRcdFx0XHQjc2MtZXZlbnQtdGlja2V0aW5nLWJ1eS1idXR0b24td29vY29tbWVyY2Uge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICMwMDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LnNjLWV2ZW50LXRpY2tldGluZy1xdHktYXZhaWxhYmxlIHtcblx0XHRcdFx0XHRjb2xvcjogJGNhbGVuZGFyLXRleHQtdGVydGlhcnktZGFyaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiJGNhbGVuZGFyLWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41MCk7XG4kY2FsZW5kYXItYmFja2dyb3VuZC1saWdodDogcmdiYSgwLCAwLCAwLCAwLjAzKTtcbiRjYWxlbmRhci1iYWNrZ3JvdW5kLW1lbnU6ICNGRkY7XG4kY2FsZW5kYXItYm9yZGVyOiByZ2JhKDAsIDAsIDAsIDAuMjApO1xuJGNhbGVuZGFyLWRpdmlkZXI6IHJnYmEoMCwgMCwgMCwgMC4xMCk7XG5cbiRjb2xvci1hY2NlbnQtYmx1ZS01MDogIzU2ODVCRDtcbiRyYWRpdXMtYnV0dG9uOiA0cHg7XG4kcmFkaXVzLWxnOiA2cHg7XG4kcmFkaXVzLXhsOiAxMHB4O1xuXG4kc3BhY2luZy1zbTogMTBweDtcbiRzcGFjaW5nLW1kOiAyMHB4O1xuJHNwYWNpbmctbGc6IDMwcHg7XG5cbiRjYWxlbmRhci1oZWFkaW5nOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuJGJ1dHRvbi10ZXJ0aWFyeS10ZXh0OiAjNTA1NzVFO1xuJGNhbGVuZGFyLXRleHQtcHJpbWFyeTogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiRjYWxlbmRhci10ZXh0LXNlY29uZGFyeTogcmdiYSgwLCAwLCAwLCAwLjcwKTtcbiRjYWxlbmRhci10ZXh0LXRlcnRpYXJ5OiByZ2JhKDAsIDAsIDAsIDAuNDApO1xuXG4kY2FsZW5kYXItYmFja2dyb3VuZC1kYXJrOiByZ2JhKDAsIDAsIDAsIDAuNTApO1xuJGNhbGVuZGFyLWJhY2tncm91bmQtbGlnaHQtZGFyazogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAzKTtcbiRjYWxlbmRhci1iYWNrZ3JvdW5kLW1lbnUtZGFyazogIzAwMDtcbiRjYWxlbmRhci1ib3JkZXItZGFyazogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiRjYWxlbmRhci1kaXZpZGVyLWRhcms6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG5cbiRidXR0b24tdGVydGlhcnktdGV4dC1kYXJrOiAjRkZGO1xuJGNhbGVuZGFyLXRleHQtcHJpbWFyeS1kYXJrOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xuJGNhbGVuZGFyLXRleHQtc2Vjb25kYXJ5LWRhcms6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSk7XG4kY2FsZW5kYXItdGV4dC10ZXJ0aWFyeS1kYXJrOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNDApO1xuIiwiLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYyLjAuMFxuLy9cbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgS2l0dHkgR2lyYXVkZWwgKEBraXR0eWdpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcbkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuQHVzZSAnc2FzczptYXRoJztcbkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ3Nhc3M6bGlzdCc7XG5AdXNlICdzYXNzOnN0cmluZyc7XG5AdXNlICdzYXNzOm1ldGEnO1xuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiAzMjBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnc21fbW9uaXRvcic6IDk5MnB4LFxuICAnZGVza3RvcCc6IDEwMjRweCxcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcbi8vLyAgKTtcbi8vL1xuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcbiAgJ3ByaW50JzogJ3ByaW50JyxcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAncmV0aW5hMngnOlxuICAgICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXG4gICdyZXRpbmEzeCc6XG4gICAgJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJyxcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XG4vLy9cbiR1bml0LWludGVydmFsczogKFxuICAncHgnOiAxLFxuICAnZW0nOiAwLjAxLFxuICAncmVtJzogMC4xLFxuICAnJzogMCxcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xuICBAaWYgbWV0YS5mZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XG4gICAgQGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAkbWVzc2FnZTtcbiAgICAkXzogbm9vcCgpO1xuICB9XG5cbiAgQHJldHVybiAkbWVzc2FnZTtcbn1cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7XG4gIH1cbn1cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge1xufVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XG5cbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHtcbiAgICB9XG4gIH1cblxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcbiAgICBAaWYgbm90IG1hcC5oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xuXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcbiAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKVxuICAgICAge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgbm90IGxpc3QuaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XG4gICAgQGlmIHN0cmluZy5pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XG59XG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0cmluZy5pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0cmluZy5zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItdHJpbSgkcGFyc2VkLWRpbWVuc2lvbik7XG4gICRkaW1lbnNpb246ICd3aWR0aCc7XG5cbiAgQGlmIHN0cmluZy5sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XG4gIH1cblxuICBAcmV0dXJuICRkaW1lbnNpb247XG59XG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGxpc3QuaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xufVxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0cmluZy5zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyaW5nLmxlbmd0aCgkb3BlcmF0b3IpKTtcbiAgJHRyaW1tZWRWYWx1ZTogc3RyLXRyaW0oJHZhbHVlKTtcblxuICBAaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdHJpbW1lZFZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJHRyaW1tZWRWYWx1ZSk7XG4gIH0gQGVsc2Uge1xuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR0cmltbWVkVmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAuZ2V0KCR1bml0LWludGVydmFscywgbWF0aC51bml0KCR2YWx1ZSkpO1xuXG4gIEBpZiBub3QgJGludGVydmFsIHtcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gICAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7bWF0aC51bml0KCR2YWx1ZSl9YC4nKTtcbiAgfVxuXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy9cbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2Vcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxuLy8vXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gIEBpZiBtYXAuaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XG4gICAgQHJldHVybiBtYXAuZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xuICB9XG5cbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG5cbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XG59XG5cbi8vL1xuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2Vcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxuLy8vXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGlzdC5sZW5ndGgoJGxpc3QpKSB7XG4gIEBpZiBsaXN0Lmxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogbGlzdC5hcHBlbmQoJHJlc3VsdCwgbGlzdC5udGgoJGxpc3QsICRpKSwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9IEBlbHNlIGlmIG1ldGEudHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6IChcbiAgICAnMCc6IDAsXG4gICAgJzEnOiAxLFxuICAgICcyJzogMixcbiAgICAnMyc6IDMsXG4gICAgJzQnOiA0LFxuICAgICc1JzogNSxcbiAgICAnNic6IDYsXG4gICAgJzcnOiA3LFxuICAgICc4JzogOCxcbiAgICAnOSc6IDksXG4gICk7XG5cbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcbiAgICAkdmFsdWU6IHN0cmluZy5zbGljZSgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHJpbmcubGVuZ3RoKCR2YWx1ZSkge1xuICAgICRjaGFyYWN0ZXI6IHN0cmluZy5zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cbiAgICBAaWYgbm90KGxpc3QuaW5kZXgobWFwLmtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0cmluZy5zbGljZSgkdmFsdWUsICRpKSk7XG4gICAgfVxuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcbiAgICAgICRkaWdpdHM6IDE7XG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLmdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWF0aC5kaXYobWFwLmdldCgkbnVtYmVycywgJGNoYXJhY3RlciksICRkaWdpdHMpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG5cbi8vL1xuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxuLy8vXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcbiAgJHVuaXRzOiAoXG4gICAgJ3B4JzogMXB4LFxuICAgICdjbSc6IDFjbSxcbiAgICAnbW0nOiAxbW0sXG4gICAgJyUnOiAxJSxcbiAgICAnY2gnOiAxY2gsXG4gICAgJ3BjJzogMXBjLFxuICAgICdpbic6IDFpbixcbiAgICAnZW0nOiAxZW0sXG4gICAgJ3JlbSc6IDFyZW0sXG4gICAgJ3B0JzogMXB0LFxuICAgICdleCc6IDFleCxcbiAgICAndncnOiAxdncsXG4gICAgJ3ZoJzogMXZoLFxuICAgICd2bWluJzogMXZtaW4sXG4gICAgJ3ZtYXgnOiAxdm1heCxcbiAgKTtcblxuICBAaWYgbm90IGxpc3QuaW5kZXgobWFwLmtleXMoJHVuaXRzKSwgJHVuaXQpIHtcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLmdldCgkdW5pdHMsICR1bml0KTtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBKYWNrIE1jTmljb2xcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gVHJpbXMgYSBzdHJpbmcgb2YgbGVhZGluZyBhbmQgdHJhaWxpbmcgc3BhY2VzXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIFZhbHVlIHRvIGJlIHRyaW1tZWRcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ31cbi8vL1xuXG5AZnVuY3Rpb24gc3RyLXRyaW0oJHN0cmluZykge1xuICBAaWYgKHN0ci1zbGljZSgkc3RyaW5nLCAxLCAxKSA9PSAnICcpIHtcbiAgICBAcmV0dXJuIHN0ci10cmltKHN0ci1zbGljZSgkc3RyaW5nLCAyKSk7XG4gIH0gQGVsc2UgaWYgKHN0ci1zbGljZSgkc3RyaW5nLCBzdHItbGVuZ3RoKCRzdHJpbmcpLCAtMSkgPT0gJyAnKSB7XG4gICAgQHJldHVybiBzdHItdHJpbShzdHItc2xpY2UoJHN0cmluZywgMSwgLTIpKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkc3RyaW5nO1xuICB9XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiBtYXAubWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLm1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xufVxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsaXN0Lmxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcbiAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSlcbiAge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGlzdC5sZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xuICAgIEBtZWRpYSAje3N0cmluZy51bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obGlzdC5udGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXG4gICAgICAkc2xpY2VkLWNvbmRpdGlvbnM6IHNsaWNlKCRjb25kaXRpb25zLCAyKTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRzbGljZWQtY29uZGl0aW9ucy4uLikge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uLy4uL3ZlbmRvci9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJy4uL3ZhcmlhYmxlcyc7XG5cbi5tb2RhbC1iYWNrZHJvcCB7XG5cdG9wYWNpdHk6IDAuNzUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KSAhaW1wb3J0YW50O1xuXHRiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNnB4KSAhaW1wb3J0YW50O1xufVxuXG4uc2luZ2xlLXNjX2V2ZW50LWRhcmsge1xuXHQubW9kYWwtYmFja2Ryb3Age1xuXHRcdGJhY2tncm91bmQgOiByZ2JhKDAsIDAsIDAsIDAuNzUpICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuI3NjLWV2ZW50LXRpY2tldGluZy1tb2RhbCB7XG5cblx0KiwgOjpiZWZvcmUsIDo6YWZ0ZXIge1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdH1cblxuXHQuc2MtZXQtbW9kYWwtZGlhbG9nIHtcblx0XHRtYXgtd2lkdGg6IDk2MHB4O1xuXHR9XG5cblx0Ly8gZ2VuZXJhbC5qcyBsb2NrcyB0aGUgbWFpbiBjb2x1bW4gd2hpbGUgYSBjaGVja291dCByZXF1ZXN0IGlzIGluIGZsaWdodDsgdGhlXG5cdC8vIGRpbW1pbmcgaXMgdGhlIG9ubHkgdmlzaWJsZSBzaWduLCBzaW5jZSBgaW5lcnRgIGl0c2VsZiBoYXMgbm8gc3R5bGluZy5cblx0Ji5zYy1ldC1jaGVja291dC1sb2NrZWQge1xuXG5cdFx0I3NjLWV2ZW50LXRpY2tldGluZy1jaGVja291dC1tYWluIHtcblx0XHRcdG9wYWNpdHk6IDAuNjtcblx0XHRcdGN1cnNvcjogcHJvZ3Jlc3M7XG5cdFx0fVxuXHR9XG5cblx0LnNjLWV0LW1vZGFsLWNvbnRlbnQge1xuXHRcdG1heC13aWR0aDogMTEwMHB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy14bCwgJHJhZGl1cy14bCk7XG5cdFx0Ym94LXNoYWRvdzogMHB4IDE1cHggMzBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEwKTtcblx0fVxuXG5cdCNzYy1ldmVudC10aWNrZXRpbmctY2hlY2tvdXQge1xuXG5cdFx0YmFja2dyb3VuZDogJGNhbGVuZGFyLWJhY2tncm91bmQ7XG5cblx0XHQvLyBUaGUgZm9ybSBmaWxscyB0aGUgbW9kYWwncyBwYWRkaW5nIGJveCwgc28gYSBzcXVhcmUgYmFja2dyb3VuZCBvZiBpdHMgb3duXG5cdFx0Ly8gcGFpbnRzIG92ZXIgdGhlIGNvbnRlbnQncyByb3VuZGVkIGNvcm5lcnMgYW5kIHJlYWRzIGFzIGEgYm9yZGVyIHRoYXQgc3RvcHNcblx0XHQvLyBzaG9ydCBvZiB0aGVtLiBGb2xsb3cgdGhlIHNhbWUgcmFkaXVzIGluc3RlYWQgb2YgY2xpcHBpbmcgd2l0aCBvdmVyZmxvdyxcblx0XHQvLyB3aGljaCB3b3VsZCBjdXQgb2ZmIGFueXRoaW5nIGEgY2hlY2tvdXQgc3RlcCBvdmVyZmxvd3MgZGVsaWJlcmF0ZWx5LlxuXHRcdGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG5cblx0XHQuc2MtZXQtbW9kYWwtaGVhZGVyIHtcblx0XHRcdHBhZGRpbmc6ICRzcGFjaW5nLW1kICRzcGFjaW5nLWxnO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjYWxlbmRhci1kaXZpZGVyO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPD1zbV9tb25pdG9yJykge1xuXHRcdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1tZDtcblx0XHRcdH1cblxuXHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1tb2RhbExhYmVsIHtcblx0XHRcdFx0Y29sb3I6IHZhcigtLWNhbGVuZGFyLWhlYWRpbmcsICRjYWxlbmRhci1oZWFkaW5nKTtcblx0XHRcdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdFx0XHR9XG5cblx0XHRcdC5jbG9zZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHRcdFx0c3ZnIHtcblx0XHRcdFx0XHRjb2xvcjogJGNhbGVuZGFyLXRleHQtdGVydGlhcnk7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBCb3RoIGNvbHVtbnMgaW5zaWRlIGNhcnJ5IHRoZWlyIG93biBwYWRkaW5nLCBzbyB0aGUgY29udGFpbmVyJ3MgaW5oZXJpdGVkXG5cdFx0Ly8gQm9vdHN0cmFwIGJsb2NrIHBhZGRpbmcgb25seSBhZGRzIGEgZ2FwIGFib3ZlIGFuZCBiZWxvdyB0aGVtLlxuXHRcdC5zYy1ldC1jb250YWluZXIge1xuXHRcdFx0cGFkZGluZy10b3A6IDA7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHR9XG5cblx0XHQjc2MtZXZlbnQtdGlja2V0aW5nLWNoZWNrb3V0LW1haW4ge1xuXHRcdFx0cGFkZGluZzogJHNwYWNpbmctbGc7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8PXNtX21vbml0b3InKSB7XG5cdFx0XHRcdHBhZGRpbmc6ICRzcGFjaW5nLW1kO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPD1zbV9tb25pdG9yJykge1xuXHRcdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cblx0XHRcdCNzYy1ldmVudC10aWNrZXRpbmctbW9kYWwtYmlsbGluZy1maWVsZHNldCB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLWxnO1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8PXNtX21vbml0b3InKSB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbWQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuc2MtZXQtZm9ybS1jb250cm9sIHtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLWJ1dHRvbjtcblx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkY2FsZW5kYXItYm9yZGVyO1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICNGRkY7XG5cdFx0XHRcdFx0aGVpZ2h0OiA0NHB4O1xuXHRcdFx0XHRcdHBhZGRpbmc6ICRzcGFjaW5nLXNtIDE1cHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuc2MtZXZlbnQtdGlja2V0aW5nLW1vZGFsLWJpbGxpbmctZmllbGRzZXRfX25hbWVzIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdFx0XHRnYXA6ICRzcGFjaW5nLW1kO1xuXG5cdFx0XHRcdFx0LnNjLWV0LWZvcm0tZ3JvdXAge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbWQ7XG5cblx0XHRcdFx0XHRcdC5zYy1ldC1mb3JtLWNvbnRyb2wge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbml0aWFsO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5zYy1ldmVudC10aWNrZXRpbmctbW9kYWwtYmlsbGluZy1maWVsZHNldF9fZW1haWwge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1tb2RhbC1iaWxsaW5nLWZpZWxkc2V0IGxlZ2VuZCxcblx0XHRcdCNzYy1ldmVudC10aWNrZXRpbmctbW9kYWwtYXR0ZW5kZWUtZmllbGRzZXQgbGVnZW5kLFxuXHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1tb2RhbC1wYXltZW50LWZpZWxkc2V0IGxlZ2VuZCB7XG5cdFx0XHRcdGNvbG9yOiAkY2FsZW5kYXItdGV4dC1wcmltYXJ5O1xuXHRcdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbWQ7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJzw9c21fbW9uaXRvcicpIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1tb2RhbC1iaWxsaW5nLWZpZWxkc2V0IGxhYmVsLFxuXHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1tb2RhbC1hdHRlbmRlZS1maWVsZHNldCBsYWJlbCB7XG5cdFx0XHRcdGNvbG9yOiAkY2FsZW5kYXItdGV4dC1wcmltYXJ5O1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7IC8qIDE1MCUgKi9cblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmctc207XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJzw9c21fbW9uaXRvcicpIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1tb2RhbC1hdHRlbmRlZS1maWVsZHNldCB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLWxnO1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8PXNtX21vbml0b3InKSB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbWQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRsZWdlbmQge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXNtO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0Y29sb3I6ICRjYWxlbmRhci10ZXh0LXNlY29uZGFyeTtcblx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDIycHg7IC8qIDE1Ny4xNDMlICovXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbWQ7XG5cblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkY29sb3ItYWNjZW50LWJsdWUtNTA7XG5cdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQjc2MtZXZlbnQtdGlja2V0aW5nLW1vZGFsLWF0dGVuZGVlLWxpc3QtbXVsdGlwbGUtdGlja2V0cyAuc2MtZXZlbnQtdGlja2V0aW5nLWF0dGVuZGVlLFxuXHRcdFx0XHQjc2MtZXZlbnQtdGlja2V0aW5nLW1vZGFsLWF0dGVuZGVlLWxpc3QgLnNjLWV2ZW50LXRpY2tldGluZy1hdHRlbmRlZSB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdFx0XHRcdCY6bm90KDpmaXJzdC1jaGlsZCkge1xuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogJHNwYWNpbmctbWQ7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LnNjLWV2ZW50LXRpY2tldGluZy1hdHRlbmRlZV9faW5wdXQtZ3JvdXAge1xuXHRcdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGNhbGVuZGFyLWJvcmRlcjtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtYnV0dG9uO1xuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPD1zbV9tb25pdG9yJykge1xuXHRcdFx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQuc2MtZXQtaW5wdXQtZ3JvdXAtcHJlcGVuZCB7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjYWxlbmRhci1kaXZpZGVyO1xuXHRcdFx0XHRcdFx0XHRtYXJnaW46IDA7XG5cblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJzw9c21fbW9uaXRvcicpIHtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNhbGVuZGFyLWRpdmlkZXI7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRjYWxlbmRhci1iYWNrZ3JvdW5kLWxpZ2h0O1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkY2FsZW5kYXItdGV4dC1zZWNvbmRhcnk7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNHB4OyAvKiAxNzEuNDI5JSAqL1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6ICRzcGFjaW5nLXNtIDE1cHg7XG5cblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPD1zbV9tb25pdG9yJykge1xuXHRcdFx0XHRcdFx0XHRcdFx0ZmxleC1iYXNpczogMTAwJTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0aW5wdXQuc2MtZXQtZm9ybS1jb250cm9sIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJGNhbGVuZGFyLWJhY2tncm91bmQtbWVudTtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjYWxlbmRhci1kaXZpZGVyO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItdG9wOiBub25lO1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGNhbGVuZGFyLXRleHQtcHJpbWFyeTtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogNDRweDtcblx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7IC8qIDE1MCUgKi9cblx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1zbSAxNXB4O1xuXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8PXNtX21vbml0b3InKSB7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjYWxlbmRhci1kaXZpZGVyO1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1yaWdodDogbm9uZTtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0LnNjLWV2ZW50LXRpY2tldGluZy1hdHRlbmRlZS1jb250cm9scy1ncm91cCB7XG5cdFx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRjYWxlbmRhci1iYWNrZ3JvdW5kLWxpZ2h0O1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0XHRnYXA6ICRzcGFjaW5nLXNtO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1zbSAxNXB4O1xuXG5cdFx0XHRcdFx0XHRcdC5zYy1ldmVudC10aWNrZXRpbmctYWRkLWF0dGVuZGVlLFxuXHRcdFx0XHRcdFx0XHQuc2MtZXZlbnQtdGlja2V0aW5nLXJlbW92ZS1hdHRlbmRlZSB7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRjYWxlbmRhci10ZXh0LXRlcnRpYXJ5O1xuXHRcdFx0XHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdC5zYy1ldmVudC10aWNrZXRpbmctY29udHJvbC1pbmFjdGl2ZSB7XG5cdFx0XHRcdFx0XHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRcdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDAuNTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQjc2MtZXZlbnQtdGlja2V0aW5nLW1vZGFsLXBheW1lbnQtZmllbGRzZXQge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdFx0XHRcdC5zYy1ldC1mb3JtLWdyb3VwIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1jYXJkLWVsZW1lbnQge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRjYWxlbmRhci1iYWNrZ3JvdW5kLW1lbnU7XG5cdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGNhbGVuZGFyLWJvcmRlcjtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLWJ1dHRvbjtcblx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7IC8qIDE1MCUgKi9cblx0XHRcdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1zbSAxNXB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0I3NjLWV2ZW50LXRpY2tldGluZy1jaGVja291dC10b3RhbHMge1xuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1sZyAkc3BhY2luZy1sZyAkc3BhY2luZy1sZyAwO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPD1zbV9tb25pdG9yJykge1xuXHRcdFx0XHRwYWRkaW5nOiAwICRzcGFjaW5nLW1kICRzcGFjaW5nLW1kO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPD1zbV9tb25pdG9yJykge1xuXHRcdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cblx0XHRcdC5zYy1ldmVudC10aWNrZXRpbmctY2hlY2tvdXQtdG90YWxzX19zdW1tYXJ5LWJsb2NrIHtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAzKTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogJHJhZGl1cy1sZztcblx0XHRcdFx0cGFkZGluZzogJHNwYWNpbmctbGc7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLWxnO1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8PXNtX21vbml0b3InKSB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbWQ7XG5cdFx0XHRcdFx0cGFkZGluZzogJHNwYWNpbmctbWQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRmaWVsZHNldCB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdFx0XHRcdGxlZ2VuZCB7XG5cdFx0XHRcdFx0XHRjb2xvcjogJGNhbGVuZGFyLXRleHQtcHJpbWFyeTtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbWQ7XG5cblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8PXNtX21vbml0b3InKSB7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRwIHtcblx0XHRcdFx0XHRcdGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRjb2xvcjogJGNhbGVuZGFyLXRleHQtc2Vjb25kYXJ5O1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPD1zbV9tb25pdG9yJykge1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdCYuc2MtZXZlbnQtdGlja2V0aW5nLWNoZWNrb3V0LXRvdGFsc19fc3VtbWFyeS1ibG9ja19fbXVsdGktZGF5LWRhdGV0aW1lIHtcblx0XHRcdFx0XHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0XHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdFx0XHRcdGdhcDogMTBweDtcblxuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPD1zbV9tb25pdG9yJykge1xuXHRcdFx0XHRcdFx0XHRcdC5zYy1ldmVudC10aWNrZXRpbmctY2hlY2tvdXQtdG90YWxzX19zdW1tYXJ5LWJsb2NrX19tdWx0aS1kYXktZGF0ZXRpbWVfX3ZhbCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRhbGlnbi1zZWxmOiBmbGV4LWVuZDtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0c3Ryb25nIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRjYWxlbmRhci10ZXh0LXByaW1hcnk7XG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQubW9kYWwtZm9vdGVyIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDAgMCAkcmFkaXVzLWxnICRyYWRpdXMtbGc7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJGNhbGVuZGFyLWRpdmlkZXI7XG5cdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1tZCAkc3BhY2luZy1sZztcblxuXHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1jYW5jZWwge1xuXHRcdFx0XHRjb2xvcjogJGJ1dHRvbi10ZXJ0aWFyeS10ZXh0O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkY2FsZW5kYXItYmFja2dyb3VuZC1saWdodDtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGNhbGVuZGFyLWJvcmRlcjtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogJHJhZGl1cy1idXR0b247XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xuXHRcdFx0XHRwYWRkaW5nOiAxMXB4IDE3cHg7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogJHNwYWNpbmctbWQ7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCNzYy1ldmVudC10aWNrZXRpbmctcHVyY2hhc2Uge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItYWNjZW50LWJsdWUtNTA7XG5cdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogJHJhZGl1cy1idXR0b247XG5cdFx0XHRcdGNvbG9yOiAjRkZGO1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0XHRcdFx0cGFkZGluZzogMTFweCAxN3B4O1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnNpbmdsZS1zY19ldmVudC1kYXJrIHtcblxuXHQjc2MtZXZlbnQtdGlja2V0aW5nLW1vZGFsIHtcblxuXHRcdC5tb2RhbC1jb250ZW50IHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRjYWxlbmRhci1ib3JkZXItZGFyaztcblx0XHRcdGJhY2tncm91bmQ6ICRjYWxlbmRhci1iYWNrZ3JvdW5kLW1lbnUtZGFyaztcblx0XHR9XG5cblx0XHQjc2MtZXZlbnQtdGlja2V0aW5nLWNoZWNrb3V0IHtcblxuXHRcdFx0YmFja2dyb3VuZDogJGNhbGVuZGFyLWJhY2tncm91bmQtZGFyaztcblx0XHRcdC8vIFdhcyBhIGhhcmRjb2RlZCA2cHgsIHdoaWNoIGlzIHNtYWxsZXIgdGhhbiB0aGUgY29udGVudCdzIG93biByYWRpdXMgYW5kXG5cdFx0XHQvLyBzbyBsZWZ0IHRoZSBzYW1lIGNsaXBwZWQtY29ybmVyIHNsaXZlciBpdCB3YXMgbWVhbnQgdG8gZml4LlxuXHRcdFx0Ym9yZGVyLXJhZGl1czogaW5oZXJpdDtcblxuXHRcdFx0LnNjLWV0LW1vZGFsLWhlYWRlciB7XG5cblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjYWxlbmRhci1kaXZpZGVyLWRhcms7XG5cblx0XHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1tb2RhbExhYmVsIHtcblx0XHRcdFx0XHRjb2xvcjogJGNhbGVuZGFyLXRleHQtcHJpbWFyeS1kYXJrO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmNsb3NlIHtcblxuXHRcdFx0XHRcdHN2ZyB7XG5cdFx0XHRcdFx0XHRjb2xvcjogJGNhbGVuZGFyLXRleHQtdGVydGlhcnktZGFyaztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1jaGVja291dC1tYWluIHtcblxuXHRcdFx0XHQjc2MtZXZlbnQtdGlja2V0aW5nLW1vZGFsLWJpbGxpbmctZmllbGRzZXQge1xuXG5cdFx0XHRcdFx0LnNjLWV0LWZvcm0tY29udHJvbCB7XG5cdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkY2FsZW5kYXItYm9yZGVyLWRhcms7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkY2FsZW5kYXItYmFja2dyb3VuZC1tZW51LWRhcms7XG5cdFx0XHRcdFx0XHRjb2xvcjogJGNhbGVuZGFyLXRleHQtcHJpbWFyeS1kYXJrO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCNzYy1ldmVudC10aWNrZXRpbmctbW9kYWwtYmlsbGluZy1maWVsZHNldCBsZWdlbmQsXG5cdFx0XHRcdCNzYy1ldmVudC10aWNrZXRpbmctbW9kYWwtYXR0ZW5kZWUtZmllbGRzZXQgbGVnZW5kLFxuXHRcdFx0XHQjc2MtZXZlbnQtdGlja2V0aW5nLW1vZGFsLXBheW1lbnQtZmllbGRzZXQgbGVnZW5kIHtcblx0XHRcdFx0XHRjb2xvcjogJGNhbGVuZGFyLXRleHQtcHJpbWFyeS1kYXJrO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1tb2RhbC1iaWxsaW5nLWZpZWxkc2V0IGxhYmVsLFxuXHRcdFx0XHQjc2MtZXZlbnQtdGlja2V0aW5nLW1vZGFsLWF0dGVuZGVlLWZpZWxkc2V0IGxhYmVsIHtcblx0XHRcdFx0XHRjb2xvcjogJGNhbGVuZGFyLXRleHQtcHJpbWFyeS1kYXJrO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1tb2RhbC1hdHRlbmRlZS1maWVsZHNldCB7XG5cblx0XHRcdFx0XHRwIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkY2FsZW5kYXItdGV4dC1zZWNvbmRhcnktZGFyaztcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQjc2MtZXZlbnQtdGlja2V0aW5nLW1vZGFsLWF0dGVuZGVlLWxpc3QgLnNjLWV2ZW50LXRpY2tldGluZy1hdHRlbmRlZSB7XG5cblx0XHRcdFx0XHRcdC5zYy1ldmVudC10aWNrZXRpbmctYXR0ZW5kZWVfX2lucHV0LWdyb3VwIHtcblxuXHRcdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkY2FsZW5kYXItYm9yZGVyLWRhcms7XG5cblx0XHRcdFx0XHRcdFx0LnNjLWV0LWlucHV0LWdyb3VwLXByZXBlbmQge1xuXG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNhbGVuZGFyLWRpdmlkZXItZGFyaztcblxuXHRcdFx0XHRcdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJGNhbGVuZGFyLWJhY2tncm91bmQtZGFyaztcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkY2FsZW5kYXItdGV4dC1zZWNvbmRhcnktZGFyaztcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRpbnB1dC5zYy1ldC1mb3JtLWNvbnRyb2wge1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRjYWxlbmRhci1iYWNrZ3JvdW5kLW1lbnUtZGFyaztcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY2FsZW5kYXItZGl2aWRlci1kYXJrO1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkY2FsZW5kYXItdGV4dC1wcmltYXJ5LWRhcms7XG5cblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPD1zbV9tb25pdG9yJykge1xuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjYWxlbmRhci1kaXZpZGVyLWRhcms7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0LnNjLWV2ZW50LXRpY2tldGluZy1hdHRlbmRlZS1jb250cm9scy1ncm91cCB7XG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJGNhbGVuZGFyLWJhY2tncm91bmQtZGFyaztcblxuXHRcdFx0XHRcdFx0XHRcdC5zYy1ldmVudC10aWNrZXRpbmctYWRkLWF0dGVuZGVlLFxuXHRcdFx0XHRcdFx0XHRcdC5zYy1ldmVudC10aWNrZXRpbmctcmVtb3ZlLWF0dGVuZGVlIHtcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkY2FsZW5kYXItdGV4dC10ZXJ0aWFyeS1kYXJrO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCNzYy1ldmVudC10aWNrZXRpbmctbW9kYWwtcGF5bWVudC1maWVsZHNldCB7XG5cblx0XHRcdFx0XHQjc2MtZXZlbnQtdGlja2V0aW5nLWNhcmQtZWxlbWVudCB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkY2FsZW5kYXItYmFja2dyb3VuZC1tZW51LWRhcms7XG5cdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkY2FsZW5kYXItYm9yZGVyLWRhcms7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCNzYy1ldmVudC10aWNrZXRpbmctY2hlY2tvdXQtdG90YWxzIHtcblxuXHRcdFx0XHQuc2MtZXZlbnQtdGlja2V0aW5nLWNoZWNrb3V0LXRvdGFsc19fc3VtbWFyeS1ibG9jayB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJGNhbGVuZGFyLWJhY2tncm91bmQtbGlnaHQtZGFyaztcblxuXHRcdFx0XHRcdGZpZWxkc2V0IHtcblxuXHRcdFx0XHRcdFx0bGVnZW5kIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRjYWxlbmRhci10ZXh0LXByaW1hcnktZGFyaztcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkY2FsZW5kYXItdGV4dC1zZWNvbmRhcnktZGFyaztcblxuXHRcdFx0XHRcdFx0XHRzdHJvbmcge1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkY2FsZW5kYXItdGV4dC1wcmltYXJ5LWRhcms7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRcdFx0XHR0aW1lIHtcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkY2FsZW5kYXItdGV4dC1wcmltYXJ5LWRhcms7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5tb2RhbC1mb290ZXIge1xuXHRcdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJGNhbGVuZGFyLWRpdmlkZXItZGFyaztcblxuXHRcdFx0XHQjc2MtZXZlbnQtdGlja2V0aW5nLWNhbmNlbCB7XG5cdFx0XHRcdFx0Y29sb3I6ICRidXR0b24tdGVydGlhcnktdGV4dDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkY2FsZW5kYXItYmFja2dyb3VuZC1saWdodC1kYXJrO1xuXHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRjYWxlbmRhci1ib3JkZXItZGFyaztcblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiQGltcG9ydCAnLi4vLi4vLi4vdmVuZG9yL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnLi4vdmFyaWFibGVzJztcblxuQGltcG9ydCAndGlja2V0aW5nLWNhcmQnO1xuQGltcG9ydCAnbW9kYWwnO1xuXG4uc2NfZXZlbnRfZGV0YWlsc19pbm5lciAuc2MtZnJvbnRlbmQtc2luZ2xlLWV2ZW50IHtcblx0Y29sdW1uLWdhcDogMTBweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwLXJldmVyc2U7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cm93LWdhcDogMzBweDtcblxuXHRAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cblx0LnN1Z2FyX2NhbGVuZGFyX2V2ZW50X3RpY2tldGluZ19mcm9udGVuZF9zaW5nbGVfZXZlbnQge1xuXHRcdG9yZGVyOiAxO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG5cdFx0XHRvcmRlcjogMDtcblx0XHR9XG5cblx0XHQuc3VnYXJfY2FsZW5kYXJfZXZlbnRfdGlja2V0aW5nX2Zyb250ZW5kX3NpbmdsZV9ldmVudF9fYnV5X25vdyxcblx0XHQuc3VnYXJfY2FsZW5kYXJfZXZlbnRfdGlja2V0aW5nX2Zyb250ZW5kX3NpbmdsZV9ldmVudF9fYnV5X25vdy0td29vY29tbWVyY2Uge1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci1hY2NlbnQtYmx1ZS01MDtcblx0XHRcdGJvcmRlcjogMDtcblx0XHRcdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtYnV0dG9uO1xuXHRcdFx0Y29sb3I6ICNGRkY7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdGdhcDogJHNwYWNpbmctc207XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMC4wMzVweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4OyAvKiAxNDIuODU3JSAqL1xuXHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHRcdHBhZGRpbmc6IDEycHggJHNwYWNpbmctbWQ7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0fVxuXG5cdFx0LnN1Z2FyX2NhbGVuZGFyX2V2ZW50X3RpY2tldGluZ19mcm9udGVuZF9zaW5nbGVfZXZlbnRfX2J1eV9ub3ctLXdvb2NvbW1lcmNlOmZvY3VzIHtcblx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci1hY2NlbnQtYmx1ZS01MDtcblx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbi5zaW5nbGUtc2NfZXZlbnQtZGFyayB7XG5cblx0LnNjX2V2ZW50X2RldGFpbHNfaW5uZXIgLnNjLWZyb250ZW5kLXNpbmdsZS1ldmVudCB7XG5cblx0XHQuc3VnYXJfY2FsZW5kYXJfZXZlbnRfdGlja2V0aW5nX2Zyb250ZW5kX3NpbmdsZV9ldmVudCB7XG5cblx0XHRcdC5zdWdhcl9jYWxlbmRhcl9ldmVudF90aWNrZXRpbmdfZnJvbnRlbmRfc2luZ2xlX2V2ZW50X19idXlfbm93LFxuXHRcdFx0LnN1Z2FyX2NhbGVuZGFyX2V2ZW50X3RpY2tldGluZ19mcm9udGVuZF9zaW5nbGVfZXZlbnRfX2J1eV9ub3ctLXdvb2NvbW1lcmNlIHtcblx0XHRcdFx0Y29sb3I6ICMwMDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiNzYy1ldC1jaGVja291dC1lcnJvciB7XG5cdGJhY2tncm91bmQ6ICNGRkY7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjRDYzNjM4O1xuXHRib3gtc2hhZG93OiAwcHggMnB4IDRweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA3KTtcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcblx0cGFkZGluZzogMTZweDtcblxuXHRwIHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDIwcHg7IC8qIDE0Mi44NTclICovXG5cdFx0bWFyZ2luOiAwO1xuXHR9XG59Il19 */
