/* Experimental Mixin Support */
.hero-desc, .promoRewards-reward img, .promoFooter-content, .widget-profiler-progress-notice, .widget-surveys-interview, .widget-surveys-container, .header-surveyNotification [image='survey'] {
  position: absolute;
  transform: translateY(-50%);
  top: 50%; }

/* ==================================== */
/* Bootstrap variables
/* ==================================== */
.widgetContainer-widget, .header .header-accountInfo-account-menu, .header-accountInfo-cart-menu {
  border-radius: 7px;
  padding: 16px; }

.widgetContainer-widget, .header .header-accountInfo-account-menu, .header-accountInfo-cart-menu {
  box-shadow: 0 2px 1px 0px rgba(0, 0, 0, 0.1); }

.widgetContainer-widget, .header .header-accountInfo-account-menu, .header-accountInfo-cart-menu {
  background: white;
  border: 1px solid #eaeaea; }

.footer {
  padding: 32px 0;
  background: #471E5E;
  margin-top: -110px; }
  .footer .container, .footer .hero-desc {
    color: #fff; }
  .footer .smallerText {
    font-size: 12px; }

.components_languageSelector {
  float: left;
  margin-right: 8px; }
  .components_languageSelector .btn-default {
    border: 1;
    border-color: #fff;
    font-size: 14px;
    line-height: 38px;
    background-color: transparent !important;
    outline: none;
    box-shadow: none !important;
    padding: 0px 8px 0px 8px; }

.footer-links-row {
  margin-bottom: 16px;
  font-weight: 300;
  font-size: 13px; }
  .footer-links-row:last-child {
    margin-bottom: 0; }

.footer-links-col {
  float: left; }
  .footer-links-col:before, .footer-links-col:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .footer-links-col:after {
    clear: both; }
  .footer-links-col:last-child {
    float: right; }

.footer-links-link {
  color: #fff;
  text-decoration: none;
  padding-right: 32px; }
  .footer-links-link:last-child, .footer-links-link.noBorder {
    margin-right: 0;
    border-right: 0; }

.footer-links-link--social {
  color: #fff;
  text-align: center;
  font-size: 18px;
  position: relative;
  margin-left: 16px;
  display: inline-block; }

@media only screen and (max-width: 830px) {
  .footer-links-col, .footer-links-col:last-child {
    display: block;
    float: none;
    text-align: left;
    margin-bottom: 16px; }
  .footer-links-link {
    display: block;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #aaa; }
  .footer-links-link--social {
    margin-left: 0;
    margin-right: 16px; } }

.header {
  height: 80px;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background: #fff;
  box-shadow: 0 0 13px rgba(0, 0, 0, 0.5);
  z-index: 1000;
  position: fixed;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex; }
  .header .components_languageSelector {
    float: left;
    margin-right: 8px; }
    .header .components_languageSelector .btn-default {
      border: 0;
      font-size: 14px;
      line-height: 45px;
      background-color: transparent !important;
      outline: none;
      box-shadow: none !important;
      padding: 4px; }
  .header .header-mobile-join {
    display: none; }
  .header .login {
    margin-right: 8px; }
  .header .signup {
    margin-right: 16px; }
  .header .container, .header .hero-desc {
    width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    box-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    -o-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: justify;
    -webkit-box-align: center;
    -moz-box-align: center;
    box-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -ms-flex-align: center; }
  .header .link {
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    position: relative;
    line-height: 65px; }
    .header .link [icon], .header .link .fa.fa-star-o {
      height: 14px;
      width: 14px;
      margin-right: 4px;
      fill: #323232; }
    .header .link:after {
      content: " ";
      position: absolute;
      height: 6px;
      bottom: -8px;
      right: 0;
      left: 0;
      background: transparent;
      transition-property: all;
      transition-duration: .5s; }
    .header .link:hover:after {
      background: #03fff5; }
    .header .link.active:after {
      content: " ";
      background: #00827d; }
  .header img {
    max-height: 60px; }

.header-logo {
  float: left;
  margin-right: 0 !important; }

.header-nav-active {
  color: #003633 !important;
  border-bottom: 7px solid transparent;
  font-weight: 600; }

.header-balance {
  text-align: right;
  padding-right: 32px; }

.header-col {
  text-align: center; }
  .header-col:nth-child(1) {
    text-align: left;
    margin-left: 0;
    margin-right: auto; }
  .header-col:nth-child(2) {
    text-align: center;
    margin: auto; }
  .header-col:nth-child(3) {
    text-align: right;
    margin-left: auto;
    margin-right: 0; }

.header-col-block {
  display: inline-block;
  margin-right: 32px;
  color: #323232; }
  .header-col-block .fa ~ span {
    padding-left: 3px; }

.header-bars {
  display: none;
  float: right;
  font-size: 27px;
  color: #00827d; }

@media only screen and (max-width: 830px) {
  .header {
    height: 50px; }
    .header .components_languageSelector {
      display: none; }
    .header .container, .header .hero-desc {
      padding: 0 16px; }
    .header img {
      max-height: 35px; }
    .header .header-col:nth-child(1) {
      width: calc(100% - 50px); }
    .header .header-col:nth-child(2) {
      display: none; }
    .header .header-col:nth-child(3) {
      width: 50px; }
    .header .login, .header .signup, .header .joinNow {
      display: none; }
    .header .header-bars {
      display: inline-block; }
    .header .header-mobile-join {
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      display: block;
      border-radius: 0;
      line-height: 45px;
      font-size: 14px;
      padding: 0 16px;
      z-index: 10; }
    .header .header-logo {
      float: none;
      margin-right: 0;
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translateX(-50%) translateY(-50%); }
    .header .header-bars {
      border-left: 1px solid #eaeaea;
      height: 50px;
      padding-left: 16px;
      padding-right: 0; }
      .header .header-bars .fa-bars {
        line-height: 50px; } }

.hero {
  background-repeat: no-repeat;
  background-position: top center;
  min-height: 300px;
  padding: 30px 0;
  color: #fff;
  position: relative;
  text-align: center;
  z-index: 0; }
  .hero .container, .hero .hero-desc {
    z-index: 1;
    width: 800px; }
  .hero .button {
    min-width: 200px;
    margin-top: 16px;
    font-weight: 700; }

.hero-yellow {
  color: #FDCE5D; }

.hero-desc {
  position: absolute;
  z-index: 1;
  top: 50%; }
  .hero-desc h1 {
    font-size: 45px;
    font-weight: 500;
    line-height: 55px; }
  .hero-desc p {
    line-height: 25px;
    font-weight: 300;
    font-size: 16px; }
  .hero-desc a:not(.button) {
    color: #FDCE5D; }

@media only screen and (max-width: 830px) {
  .hero {
    min-height: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex; }
    .hero .container, .hero .hero-desc {
      width: auto; }
    .hero .hero-desc {
      position: relative;
      top: 0;
      transform: translateY(0); }
      .hero .hero-desc h1 {
        font-size: 40px;
        line-height: 55px; } }

@media only screen and (max-width: 600px) {
  .hero .hero-desc h1 {
    font-size: 25px;
    line-height: 32px; }
  .hero .hero-desc-content {
    display: none; } }

.boxShadow--top {
  box-shadow: -1px -4px 10px -2px rgba(0, 0, 0, 0.37);
  padding-top: 1rem; }

.site-overlay {
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  position: fixed;
  background: #000; }

.mobileHeader {
  position: fixed;
  top: 0;
  width: 100%;
  bottom: 0;
  transform: translateX(-100%);
  transition-property: all;
  transition-duration: .5s;
  overflow-x: hidden;
  z-index: 1001; }
  .mobileHeader .surveys .notification-bubble {
    margin-left: 8px;
    transform: translateY(-1px); }
  .mobileHeader .profileInfo {
    padding: 16px; }
  .mobileHeader.mobileHeader--secondary {
    transform: translateX(100%);
    visibility: hidden; }
    .mobileHeader.mobileHeader--secondary:before {
      background: rgba(0, 0, 0, 0.5);
      bottom: 0;
      content: '';
      display: none;
      left: 0;
      position: fixed;
      right: 0;
      top: 0; }
    .mobileHeader.mobileHeader--secondary .rewards-selection-menu-select {
      border-bottom: none;
      box-shadow: none; }
    .mobileHeader.mobileHeader--secondary .mobileHeader-close {
      right: inherit;
      left: 0; }
    .mobileHeader.mobileHeader--secondary .mobileHeader-content {
      right: 0;
      left: inherit;
      overflow-y: scroll;
      padding-bottom: 200px;
      font-size: 1rem; }
    .mobileHeader.mobileHeader--secondary .mobileHeader--secondary__title {
      border-bottom: 1px solid #eaeaea;
      margin-bottom: 2rem;
      vertical-align: middle;
      height: 50px;
      line-height: 50px;
      text-align: center;
      text-transform: uppercase;
      font-size: 1rem; }
    .mobileHeader.mobileHeader--secondary .rewards-selection-menu-amount {
      margin-left: 1.5rem;
      margin-right: 1.5rem;
      border: none;
      box-shadow: none; }
    .mobileHeader.mobileHeader--secondary .rewards-selection-title {
      border: none; }
    .mobileHeader.mobileHeader--secondary .rewards-selection-title.rewards-selection-symbol {
      margin-top: 1rem; }
    .mobileHeader.mobileHeader--secondary .mobileHeader--secondary__actions {
      list-style: none;
      margin-left: 2rem;
      margin-right: 2rem;
      padding: 1rem 0 0; }
      .mobileHeader.mobileHeader--secondary .mobileHeader--secondary__actions li {
        border-bottom: 1px solid #eaeaea;
        margin-bottom: 1.2rem;
        margin-top: 1.2rem;
        padding-bottom: 1rem;
        font-size: 1rem; }
      .mobileHeader.mobileHeader--secondary .mobileHeader--secondary__actions button {
        background: none;
        border: none;
        text-align: left;
        width: 100%; }
    .mobileHeader.mobileHeader--secondary .rzslider .rz-bubble {
      font-size: 1rem; }
    .mobileHeader.mobileHeader--secondary .contentAndLinks-links-link {
      border-width: 0 0 1px 0;
      font-size: 1rem; }

.mobileHeader__footerActions {
  background: white;
  bottom: 0;
  left: 50px;
  padding-bottom: 3rem;
  position: fixed;
  right: 0; }
  .mobileHeader__footerActions > div > * {
    display: block;
    margin: 0.75rem 1rem; }

.mobileHeader-logo {
  float: left; }

.mobileHeader-profile {
  float: left;
  margin-left: 16px;
  width: calc(100% - 150px); }

.mobileHeader-cart {
  float: right;
  height: 37px;
  position: relative; }
  .mobileHeader-cart [icon] {
    height: 25px;
    width: 25px;
    position: absolute;
    top: 50%;
    right: 12px;
    margin-top: -15px;
    fill: #323232; }
  .mobileHeader-cart .notification-bubble {
    position: absolute;
    right: 8px;
    top: 50%;
    margin-top: 2px;
    z-index: 1; }
  .mobileHeader-cart:before {
    position: absolute;
    top: -16px;
    bottom: -16px;
    right: 65px;
    background: #eaeaea;
    width: 1px;
    content: " "; }

.mobileHeader-profile-name {
  display: block;
  color: #001c1b;
  font-weight: 600;
  font-size: 14px;
  max-width: 120px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; }

.mobileHeader-profile-balance {
  display: block;
  color: #323232;
  font-size: 13px;
  margin-top: 3px; }

.mobileHeader-profileProgress {
  background: #00827d;
  display: inline-block;
  margin-right: 3px;
  padding: 2px 0;
  width: 40px;
  text-align: center;
  border-radius: 3px;
  color: white;
  font-size: 12px; }

.mobileHeader-logo {
  max-height: 40px;
  max-width: 110px; }

.mobileHeader-overlay {
  position: fixed;
  display: none;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #333;
  opacity: .8;
  z-index: -2; }

.mobileHeader-content-row {
  padding: 8px 16px; }
  .mobileHeader-content-row:before, .mobileHeader-content-row:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .mobileHeader-content-row:after {
    clear: both; }

.mobileHeader-content-link {
  padding: 16px 0;
  display: block;
  color: #656565;
  text-transform: uppercase;
  font-size: 15px;
  font-weight: 500;
  margin-left: -16px;
  margin-right: -16px;
  padding: 16px;
  background-color: white; }
  .mobileHeader-content-link .fa {
    padding-right: 8px; }
  .mobileHeader-content-link .fa.fa-star-o {
    padding-right: 0;
    color: #000; }
  .mobileHeader-content-link [icon], .mobileHeader-content-link .fa.fa-star-o {
    height: 15px;
    width: 15px;
    margin-left: 11px;
    margin-right: 17px;
    transform: translateY(-1px);
    fill: #323232; }
  .mobileHeader-content-link.bottomBorder {
    border-bottom: 1px solid #eaeaea; }
  .mobileHeader-content-link.sublink {
    padding-left: 80px; }
  .mobileHeader-content-link.active, .mobileHeader-content-link.active:hover {
    background: #00827d;
    color: white; }
    .mobileHeader-content-link.active [icon], .mobileHeader-content-link.active:hover [icon] {
      fill: white; }
    .mobileHeader-content-link.active .fa.fa-star-o, .mobileHeader-content-link.active:hover .fa.fa-star-o {
      color: white; }
    .mobileHeader-content-link.active .mobileHeader-profileProgress, .mobileHeader-content-link.active:hover .mobileHeader-profileProgress {
      background: white;
      color: #323232; }
  .mobileHeader-content-link:hover {
    background: #eaeaea; }

.mobileHeader-content-row--border {
  border-bottom: 1px solid #eaeaea; }

.mobileHeader-close {
  position: absolute;
  right: 0;
  top: 0;
  width: 50px;
  height: 50px;
  line-height: 50px;
  background: #00827d;
  text-align: center;
  font-size: 20px;
  color: white; }

.mobileHeader-content {
  width: calc(100% - 50px);
  background: white;
  position: absolute;
  overflow: visible;
  bottom: 0;
  top: 0;
  left: 0;
  z-index: 1; }

@media only screen and (max-width: 830px) {
  body.mobile-nav-open {
    overflow: hidden;
    height: 100%; }
    body.mobile-nav-open .mobileHeader-overlay {
      display: block; }
    body.mobile-nav-open .site-overlay {
      display: block;
      opacity: .7;
      z-index: 1000; }
    body.mobile-nav-open .mobileHeader:not(.mobileHeader--secondary) {
      transform: translateX(0);
      display: block; }
  body.mobile-nav-open--secondary {
    overflow: hidden;
    height: 100%; }
    body.mobile-nav-open--secondary .mobileHeader-overlay,
    body.mobile-nav-open--secondary .rewards-mobile-submenu,
    body.mobile-nav-open--secondary .rewards-mobile-submenu > * .site-overlay,
    body.mobile-nav-open--secondary .header {
      z-index: 1; }
    body.mobile-nav-open--secondary .mobileHeader.mobileHeader--secondary {
      visibility: visible;
      transform: translateX(-8px); }
      body.mobile-nav-open--secondary .mobileHeader.mobileHeader--secondary:before {
        display: block; } }

@media only screen and (min-width: 600px) and (max-width: 830px) {
  body.mobile-nav-open--secondary .mobileHeader.mobileHeader--secondary {
    transform: translateX(-16px); } }

.promoRewards {
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  text-align: center; }

.promoRewards-reward {
  display: block;
  background: #fff;
  height: 120px;
  width: 120px;
  padding: 8px;
  border-radius: 50%;
  float: left;
  margin: 8px;
  transition-duration: 2s;
  transition-property: opacity;
  transform: translateY(0px);
  opacity: 1; }
  .promoRewards-reward img {
    max-width: 75%;
    left: 12%; }

.promoRewards-reward.ng-enter {
  opacity: 0; }

.promoRewards-reward.ng-enter-active {
  opacity: 1; }

.promoRewards-reward.ng-leave {
  display: none !important; }

@media only screen and (max-width: 1039px) {
  .promoRewards .promoRewards-reward {
    width: 90px;
    height: 90px; } }

@media only screen and (max-width: 850px) {
  .promoRewards {
    text-align: center; }
    .promoRewards .promoRewards-reward {
      width: 80px;
      height: 80px;
      display: inline-block;
      float: none; } }

@media only screen and (max-width: 830px) {
  .promoRewards {
    position: relative;
    transform: translateY(0);
    top: auto;
    right: auto;
    left: auto;
    bottom: auto; } }

.promoFooter {
  margin: 16px 0; }
  .promoFooter:before, .promoFooter:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .promoFooter:after {
    clear: both; }
  .promoFooter .container, .promoFooter .hero-desc {
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    box-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    -o-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: justify; }
  .promoFooter h3 {
    font-weight: 500; }
  .promoFooter p {
    font-weight: 300; }
  .promoFooter .button {
    border-radius: 5px;
    border: 1px solid #fff;
    color: #fff;
    font-size: 15px;
    padding: 12px 32px; }
    .promoFooter .button:hover {
      background: rgba(255, 255, 255, 0.1); }

.promoFooter-content {
  position: relative;
  color: #fff; }

.promoFooter-overlay {
  z-index: 0;
  background: #444;
  opacity: .85;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 10px;
  bottom: 0;
  width: 100%;
  height: 100%; }

.promoFooter-promo {
  background: #000;
  position: relative;
  border-radius: 10px;
  box-sizing: border-box;
  padding: 16px;
  margin: auto;
  height: 300px;
  width: 30%; }

.promoFooter-overlay-green .promoFooter-overlay {
  background: black; }

@media only screen and (max-width: 830px) {
  .promoFooter .container, .promoFooter .hero-desc {
    display: block; }
  .promoFooter-promo {
    width: 100%;
    margin-bottom: 16px;
    height: auto; }
    .promoFooter-promo .promoFooter-content {
      position: relative;
      transform: translateY(0);
      top: auto;
      right: auto;
      left: auto;
      bottom: auto; } }

.notification-bubble {
  font-size: 11px;
  border-radius: 50%;
  border: 1px solid #C34C4C;
  color: white;
  height: 16px;
  width: 16px;
  line-height: 16px;
  text-align: center;
  display: inline-block;
  background: #C34C4C; }

body.siteNotificationShow {
  padding-top: 40px; }
  body.siteNotificationShow .header {
    top: 40px; }
  body.siteNotificationShow .modal {
    margin-top: 40px; }

.siteNotification {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2000;
  padding: 10px 15px;
  font-size: 15px;
  border-radius: 0;
  opacity: 1;
  padding-right: 60px;
  text-align: center; }
  .siteNotification.default, .siteNotification.success {
    color: #fff;
    background: #333333;
    border-bottom: 1px solid #1a1a1a; }
    .siteNotification.default .label, .siteNotification.default .fa, .siteNotification.success .label, .siteNotification.success .fa {
      color: #fff; }
  .siteNotification.error {
    color: #fff;
    background: #e8756b;
    border-bottom: 1px solid #e14c3f; }
    .siteNotification.error .label, .siteNotification.error .fa {
      color: #fff; }
  .siteNotification.warning {
    color: #666;
    background: #FDCE5D;
    border-bottom: 1px solid #fcbf2b; }
    .siteNotification.warning .label, .siteNotification.warning .fa {
      color: #666; }
  .siteNotification .label {
    position: relative;
    display: inline-block;
    margin-right: 0px;
    font-weight: 300;
    text-align: left; }
    .siteNotification .label .message {
      display: block;
      padding-left: 30px; }
  .siteNotification .fa-warning {
    display: inline; }
  .siteNotification .fa-check {
    display: none; }
  .siteNotification .fa-warning, .siteNotification .fa-check {
    position: absolute;
    top: 50%;
    left: 0px;
    margin-top: -7px; }
  .siteNotification .fa-close {
    position: absolute;
    top: 50%;
    margin-top: -8px;
    right: 15px;
    color: #fff; }
  .siteNotification a {
    color: #FDCE5D; }
  .siteNotification.slideup {
    display: none; }
  .siteNotification.success .fa-check {
    display: inline; }
  .siteNotification.success .fa-warning {
    display: none; }

@media only screen and (max-width: 560px) {
  .siteNotification {
    margin-top: 0;
    font-size: 13px; } }

.notGranted {
  opacity: .3; }

.badge-messages {
  text-align: center;
  padding-bottom: 24px; }

.badge-details {
  background-color: white;
  border: 1px solid #f3f3f3;
  border-top-left-radius: 7px;
  border-top-right-radius: 7px;
  box-shadow: 0 2px 1px 0px rgba(0, 0, 0, 0.1);
  padding: 0px; }
  .badge-details .tier-row::after {
    clear: both;
    content: "";
    display: table; }
  .badge-details .tier-row .tier-button {
    padding-top: 10px;
    box-sizing: border-box;
    width: 20%;
    float: left;
    cursor: pointer;
    border-bottom: 5px solid white; }
    .badge-details .tier-row .tier-button.selected {
      margin-bottom: 0px;
      border-bottom: 5px solid #00827d; }
    .badge-details .tier-row .tier-button:nth-of-type(n+2) {
      border-left: 1px solid #f3f3f3; }
    .badge-details .tier-row .tier-button .tier-button-icon {
      width: 50%; }

.badge-dashboard {
  background-color: white;
  border-bottom-left-radius: 7px;
  border-bottom-right-radius: 7px;
  box-shadow: 0 2px 1px 0px rgba(0, 0, 0, 0.1); }
  .badge-dashboard::after {
    clear: both;
    content: "";
    display: table; }
  .badge-dashboard .badge-container {
    width: 25%;
    float: left; }
    .badge-dashboard .badge-container p {
      margin-top: 0; }
  .badge-dashboard .badge-icon {
    width: 70%;
    padding-bottom: 8px; }
  .badge-dashboard .badge-info {
    padding: 16px; }
    .badge-dashboard .badge-info .badge-title {
      margin: 0px; }
  .badge-dashboard .tier {
    width: 20.2%;
    height: 100%;
    float: left; }
    .badge-dashboard .tier.no-badges {
      width: 100%; }
      .badge-dashboard .tier.no-badges .tier-icon {
        width: 23%; }
    .badge-dashboard .tier .tier-container {
      border-right: 1px solid #f3f3f3; }
    .badge-dashboard .tier .tier-icon {
      width: 80%;
      margin-bottom: 8px; }
    .badge-dashboard .tier .tier-info {
      padding: 16px;
      text-align: center; }
  .badge-dashboard .tier-container, .badge-dashboard .badge-container {
    height: 100%;
    padding-top: 10px;
    text-align: center; }

.mobile-container {
  display: none; }

@media only screen and (max-width: 800px) {
  .desktop-container h2 {
    font-size: 22px; }
  .desktop-container h4 {
    font-size: 18px; } }

@media only screen and (max-width: 600px) {
  .desktop-container {
    display: none; }
  .mobile-container {
    display: block;
    background-color: white;
    border: 1px solid #f3f3f3;
    border-radius: 7px;
    box-shadow: 0 2px 1px 0px rgba(0, 0, 0, 0.1);
    padding: 0px; }
    .mobile-container .mobile-badge-header.ng-hide {
      opacity: 0; }
    .mobile-container .badge-row {
      border-top: 1px solid #f3f3f3; }
    .mobile-container .badge-row-icon {
      width: 15%;
      float: left;
      margin-left: 20%; }
    .mobile-container .badge-row-title {
      width: 60%;
      float: left;
      text-align: left;
      box-sizing: border-box;
      margin: 5% 0 5% 4%; }
      .mobile-container .badge-row-title h4 {
        margin: 0; }
    .mobile-container .tier-cover {
      border-top: 1px solid #f3f3f3; }
    .mobile-container .tier-cover::after, .mobile-container .badge-row::after {
      clear: both;
      content: "";
      display: table; }
    .mobile-container .tier-cover-button {
      width: 20%;
      float: left;
      margin-right: 5%;
      color: #828181;
      margin: 7% 5% 7% 0; }
      .mobile-container .tier-cover-button .fa-2x {
        font-size: 1.5em; }
    .mobile-container .tier-cover-icon {
      width: 20%;
      float: left;
      margin-left: 5%; }
    .mobile-container .tier-cover-title {
      width: 50%;
      float: left;
      margin: 7% 0;
      box-sizing: border-box; }
      .mobile-container .tier-cover-title h2 {
        margin: 0; } }

@media only screen and (max-width: 400px) {
  .mobile-container h2 {
    font-size: 17px; }
  .mobile-container h4 {
    font-size: 14px; }
  .mobile-container .badge-row-icon {
    margin-left: 17%; } }

.badge-messages,
.loyalty-level {
  text-align: center;
  padding-bottom: 24px; }
  .badge-messages h1,
  .loyalty-level h1 {
    font-weight: 500; }

.badge-dashboard {
  max-height: 100%;
  width: 100%;
  padding: 10px 0px;
  border: 1px solid #f3f3f3;
  border-radius: 7px;
  background-color: white;
  box-shadow: 0 2px 1px 0px rgba(0, 0, 0, 0.1); }
  .badge-dashboard::after {
    clear: both;
    content: "";
    display: table; }
  .badge-dashboard .notGranted {
    opacity: 0.3; }
  .badge-dashboard.tier-noBadges .badges {
    width: auto; }
  .badge-dashboard.tier-noBadges .tier {
    margin: 0px auto;
    float: none; }
  .badge-dashboard.tier-noBadges .tier-container {
    border: 0 !important; }
  .badge-dashboard .badge-container {
    width: 25%;
    float: left; }
    .badge-dashboard .badge-container p {
      margin-top: 0; }
  .badge-dashboard .badge-icon {
    width: 80%;
    padding-bottom: 8px; }
  .badge-dashboard .badge-info {
    padding: 16px; }
    .badge-dashboard .badge-info .badge-title {
      margin: 0px; }
  .badge-dashboard.no-tier {
    width: 100%;
    margin-bottom: 20px; }
    .badge-dashboard.no-tier .badge-container {
      width: 15%; }
  .badge-dashboard .tier {
    width: 25%;
    height: 100%;
    float: left; }
    .badge-dashboard .tier .tier-container {
      border-right: 1px solid #f3f3f3; }
    .badge-dashboard .tier .tier-icon {
      width: 80%;
      margin-bottom: 8px; }
    .badge-dashboard .tier .tier-info {
      padding: 16px;
      text-align: center; }
    .badge-dashboard .tier.no-tier {
      display: none; }
  .badge-dashboard .tier-container, .badge-dashboard .badge-container {
    height: 100%;
    padding-top: 10px;
    text-align: center; }

@media only screen and (max-width: 800px) {
  .badge-dashboard.tier-noBadges .tier {
    width: 40%; } }

@media only screen and (max-width: 600px) {
  .badge-dashboard .badge-container,
  .badge-dashboard .tier {
    float: none; }
  .badge-dashboard .badge-container {
    width: 100%;
    border-top: 1px solid #f3f3f3; }
    .badge-dashboard .badge-container::after {
      clear: both;
      content: "";
      display: table; }
    .badge-dashboard .badge-container .icon-container {
      width: 30%;
      float: left; }
      .badge-dashboard .badge-container .icon-container .badge-icon {
        width: 50%; }
    .badge-dashboard .badge-container .badge-info {
      width: 70%;
      float: left;
      padding: 0px; }
      .badge-dashboard .badge-container .badge-info .badge-title {
        font-size: 18px;
        padding: 6% 0px; }
    .badge-dashboard .badge-container .badge-description {
      display: none; }
  .badge-dashboard .tier {
    width: 100%;
    margin: auto; }
    .badge-dashboard .tier .tier-container {
      border-right: none; }
    .badge-dashboard .tier .tier-icon {
      width: 45%; }
  .badge-dashboard.tier-noBadges .tier {
    width: 100%;
    margin: auto; }
    .badge-dashboard.tier-noBadges .tier .tier-container {
      border-right: none; }
    .badge-dashboard.tier-noBadges .tier .tier-icon {
      width: 45%; } }

@media only screen and (max-width: 350px) {
  .badge-dashboard .badge-info {
    padding: 12px; } }

.miniPoll * {
  font: inherit !important;
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 500; }

.miniPoll .pds-votebutton-outer .pds-vote-button {
  background: #00827d !important;
  border: 1px solid #00827d !important;
  color: #fff !important;
  padding: 4px 30px !important; }

.miniPoll .pds-question-top {
  font-weight: 600 !important;
  font-size: 16px !important;
  margin-bottom: 16px !important;
  display: block; }

.miniPoll .pds-votebutton-outer {
  float: none !important;
  padding: 0 !important;
  margin-top: 0 !important; }
  .miniPoll .pds-votebutton-outer .pds-links {
    float: none !important;
    padding: 0 !important;
    margin-top: 16px; }
  .miniPoll .pds-votebutton-outer .pds-vote-button {
    display: inline-block !important;
    float: none !important;
    max-width: 200px; }
  .miniPoll .pds-votebutton-outer a {
    float: none !important;
    color: #00827d !important; }

.widget-offers-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 0.5rem; }

.widget-offers-list-item {
  align-items: stretch;
  border-radius: 7px;
  border: 1px solid #eaeaea;
  box-shadow: 0 2px 1px 0px rgba(0, 0, 0, 0.1);
  display: flex;
  height: 8.5rem;
  margin-bottom: 0.8rem;
  overflow: hidden;
  width: 100%;
  transition-property: box-shadow, transform;
  transition-duration: 0.2s; }

@media only screen and (min-width: 600px) {
  .widget-offers-list-item {
    width: 49%; } }

.widget-offers-list-item:hover {
  -webkit-box-shadow: 0 10px 10px -4px #9e9b9e;
  -moz-box-shadow: 0 10px 10px -4px #9e9b9e;
  box-shadow: 0 10px 10px -4px #9e9b9e;
  transform: translateY(-5px); }

.widget-offers-list-item--survey a,
.widget-offers-list-item--offer a {
  text-decoration: none; }

.widget-offers-list-item--survey a {
  border-left: 4px solid #5ab414;
  text-decoration: none; }

.widget-offers-list-item--offer {
  position: relative; }

.widget-offers-list-item--offer:after {
  content: '\f005';
  align-items: center;
  background-color: #c34c4c;
  color: white;
  display: flex;
  font: normal normal normal 14px/1 FontAwesome;
  height: 38px;
  justify-content: center;
  position: absolute;
  right: 0;
  width: 38px; }

.widget-offers-list-item--offer a {
  border-left: 4px solid #c34c4c; }

.widget-offers-list-item i,
.widget-offers-list-item svg {
  color: rgba(0, 0, 0, 0.4);
  margin-right: 0.25rem; }

.widget-offers-list-item i svg {
  width: 1rem;
  top: 2px;
  position: relative; }

.widget-offers-list-item a {
  color: initial;
  /* Links inherit a different color -- overriding that */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%; }

.widget-offers-list-item-footer {
  border-top: 1px solid #eaeaea;
  display: flex;
  justify-content: space-between;
  padding: 0.5rem 0.8rem; }

.widget-offers-list-item-footer span[icon] {
  width: 20px; }

.widget-offers-list-item-footerPrompt {
  text-transform: uppercase;
  color: #c34c4c;
  font-weight: bold;
  font-size: 0.8rem; }

.widget-offers-list-item-header {
  display: flex;
  padding: 0.8rem; }

.widget-offers-list-item-header h4 {
  margin-bottom: 0.5rem;
  font-size: 1.2rem; }

.widget-offers-list-item-header h5 {
  margin-bottom: 0;
  font-weight: normal;
  color: rgba(0, 0, 0, 0.4); }

.widget-offers-list-item-header i {
  font-size: 1.4rem;
  margin-top: 0.15rem;
  /** Slight bump for optics with larger header **/ }

.widget-progress {
  padding: 32px;
  padding-top: 32px;
  text-align: center; }
  .widget-progress h3 {
    margin-top: 32px; }
  .widget-progress p {
    margin-top: 16px; }
  .widget-progress .button-green {
    margin-top: 16px; }

.widget-progress-container {
  width: 70%;
  max-width: 300px;
  margin: auto;
  border: 1px solid #efefef;
  border-radius: 50%;
  padding: 8px;
  min-height: 120px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }
  .widget-progress-container .radial-progress .radial-progress-cover {
    stroke: #1cfff6;
    border: 1px solid #000; }
  .widget-progress-container .radial-progress .radial-progress-background {
    stroke: #00827d; }
  .widget-progress-container .radial-progress .radial-progress-center {
    fill: #fff; }

/* Experimental Mixin Support */
.hero-desc, .promoRewards-reward img, .promoFooter-content, .widget-profiler-progress-notice, .widget-surveys-interview, .widget-surveys-container, .header-surveyNotification [image='survey'] {
  position: absolute;
  transform: translateY(-50%);
  top: 50%; }

/* ==================================== */
/* Bootstrap variables
/* ==================================== */
.widgetContainer-widget, .header .header-accountInfo-account-menu, .header-accountInfo-cart-menu {
  border-radius: 7px;
  padding: 16px; }

.widgetContainer-widget, .header .header-accountInfo-account-menu, .header-accountInfo-cart-menu {
  box-shadow: 0 2px 1px 0px rgba(0, 0, 0, 0.1); }

.widgetContainer-widget, .header .header-accountInfo-account-menu, .header-accountInfo-cart-menu {
  background: white;
  border: 1px solid #eaeaea; }

.widget-profiler-progress {
  padding: 32px;
  padding-top: 32px;
  text-align: center; }
  .widget-profiler-progress h3 {
    margin-top: 32px; }
  .widget-profiler-progress p {
    margin-top: 16px; }
  .widget-profiler-progress .button-green {
    margin-top: 16px; }

.widget-profiler-selectProfiler {
  display: none; }

.widget-profiler-progress-container {
  width: 70%;
  max-width: 300px;
  margin: auto;
  border: 1px solid #efefef;
  border-radius: 50%;
  padding: 8px;
  min-height: 200px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  max-width: 200px;
  float: left;
  margin-left: 30px; }
  .widget-profiler-progress-container .radial-progress .radial-progress-cover {
    stroke: #1cfff6;
    border: 1px solid #000; }
  .widget-profiler-progress-container .radial-progress .radial-progress-background {
    stroke: #00827d; }
  .widget-profiler-progress-container .radial-progress .radial-progress-center {
    fill: #fff; }

.widget-profiler-progress {
  position: relative;
  border-bottom: 1px solid #eaeaea; }
  .widget-profiler-progress:before, .widget-profiler-progress:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .widget-profiler-progress:after {
    clear: both; }

.widget-profiler-progress-notice {
  margin-left: 330px;
  padding-right: 32px;
  text-align: left; }

.widget-profiler-profilers {
  margin: 0 16px;
  margin-bottom: 16px;
  position: relative; }
  .widget-profiler-profilers:before, .widget-profiler-profilers:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .widget-profiler-profilers:after {
    clear: both; }
  .widget-profiler-profilers.consent {
    margin: 0 25px; }
    .widget-profiler-profilers.consent:before {
      width: 0px;
      left: 0px; }
  .widget-profiler-profilers:before {
    width: 1px;
    background: #eaeaea;
    position: absolute;
    top: 0;
    left: 315px;
    content: '';
    height: calc(100% + 16px); }

.widget-profiler-profilers-list {
  float: left;
  width: 300px;
  padding-top: 16px; }
  .widget-profiler-profilers-list a {
    display: block;
    min-height: 35px;
    padding: 0 0 0 45px;
    position: relative;
    margin-bottom: 0;
    color: #323232; }
    .widget-profiler-profilers-list a.incomplete:hover {
      background: #efefef; }
    .widget-profiler-profilers-list a.active, .widget-profiler-profilers-list a.active:hover {
      background: #00827d;
      color: white; }
      .widget-profiler-profilers-list a.active .icon .badge, .widget-profiler-profilers-list a.active:hover .icon .badge {
        background: white;
        color: #323232; }
  .widget-profiler-profilers-list .icon {
    display: block;
    position: absolute;
    left: 7px;
    width: 15px;
    top: 50%;
    margin-top: -19px;
    float: left;
    font-size: 12px;
    font-weight: 200;
    line-height: 35px; }
    .widget-profiler-profilers-list .icon .badge {
      font-size: 12px;
      font-weight: 400;
      background-color: #00827d;
      color: #fff; }
  .widget-profiler-profilers-list .desc {
    display: block;
    line-height: 20px;
    margin-left: 10px;
    margin-right: 10px;
    padding: 7px 0; }
  .widget-profiler-profilers-list .fa-check {
    line-height: 35px;
    display: none; }
  .widget-profiler-profilers-list a.completed {
    color: #aaa; }
    .widget-profiler-profilers-list a.completed .fa-check {
      display: block; }

.widget-profiler-profilers-profiler {
  box-sizing: initial;
  float: right;
  width: calc(100% - 365px);
  padding: 16px; }
  .widget-profiler-profilers-profiler .progress-label {
    margin-top: 32px; }
  .widget-profiler-profilers-profiler.consent {
    float: initial;
    width: initial; }

.consent .parameter-rendered {
  max-width: initial; }

@media only screen and (max-width: 850px) {
  .widget-profiler-selectProfiler {
    display: block;
    padding: 0 16px;
    order: 2;
    margin-top: 16px; }
  .widget-profiler-profilers {
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -moz-box-orient: vertical;
    box-orient: vertical;
    -webkit-box-direction: normal;
    -moz-box-direction: normal;
    box-direction: normal;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    flex-direction: column;
    -ms-flex-direction: column;
    margin: 0; }
  .widget-profiler-profilers-list {
    width: 100%;
    order: 3;
    text-align: center; }
  .widget-profiler-profilers-profiler {
    width: 100%;
    margin-left: 0; }
  .widget-profiler-progress {
    padding: 16px; }
  .widget-profiler-progress-container {
    float: none;
    margin: auto; }
  .widget-profiler-progress-notice {
    margin-left: 0;
    padding-right: 0;
    position: relative;
    transform: translateY(0);
    top: auto;
    right: auto;
    left: auto;
    bottom: auto;
    text-align: center;
    margin-top: 32px; }
  .widget-profiler-profilers:before {
    display: none; } }

.radial-progress {
  position: relative; }

.radial-progress-progress {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  text-align: center;
  width: 100%;
  z-index: 10; }

.radial-progress-percentage {
  font-size: 25px;
  display: block; }

.radial-progress-extra {
  display: block;
  font-size: 14px;
  text-transform: uppercase; }

.radial-progress-svg {
  position: relative;
  display: inline-block; }
  .radial-progress-svg svg {
    transform: rotate(-90deg); }
  .radial-progress-svg circle {
    fill: transparent;
    transform: rotate(0.1deg); }

.radial-progress-background {
  stroke: #00827d; }

.radial-progress-cover {
  stroke: #703296; }

.radial-progress-center {
  fill: #fff; }

.radial-fill {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }

.widget-surveyHistory .widgetContainer-widget-content {
  margin-top: 0;
  margin-left: -16px;
  margin-right: -16px;
  text-align: center; }

.widget-surveyHistory .button {
  margin: auto;
  margin-bottom: 16px; }

.widget-surveyHistory .table {
  font-size: 14px;
  text-align: left; }

.widget-surveyHistory .table td {
  padding: 16px; }

.widget-surveyHistory td:last-child {
  text-align: right; }

.widget-surveyHistory .stack-label {
  display: none; }

.widget-surveyHistory-noHistoryFound {
  text-align: left;
  padding: 16px; }

.widget-surveys .widgetContainer-widget-content {
  padding-top: 0; }

.widget-surveys-survey {
  border-bottom: 1px solid #eaeaea;
  margin-left: -16px;
  margin-right: -16px;
  padding: 16px;
  padding-top: 8px;
  padding-bottom: 8px;
  position: relative; }
  .widget-surveys-survey:hover {
    background: #eaeaea; }
  .widget-surveys-survey:last-child {
    border-bottom: 0; }

.widget-surveys-interview {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  text-align: center;
  border: 2px solid #00827d;
  line-height: 15px; }

.widget-surveys-container {
  width: 100%; }

.widget-surveys-interview-time {
  font-size: 17px;
  display: block; }

.widget-surveys-interview-minutes {
  font-size: 11px;
  display: block; }

.widget-surveys-amount {
  margin-left: 48px; }

.widget-surveys-row {
  margin-bottom: 16px;
  margin-left: 70px;
  padding-top: 8px; }
  .widget-surveys-row:before, .widget-surveys-row:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .widget-surveys-row:after {
    clear: both; }
  .widget-surveys-row .label, .widget-surveys-row .desc {
    display: block; }
  .widget-surveys-row .label {
    font-weight: 300; }

.widget-surveys-right {
  float: right;
  text-align: right; }

.widget-surveys-left {
  float: left;
  width: 130px; }

.widget-surveys-noSurveys {
  margin-bottom: 16px;
  background: #eaeaea;
  padding: 32px 16px;
  border-radius: 7px;
  text-align: center; }

.widget-surveys-findSurvey {
  background: #eaeaea;
  padding: 16px;
  margin-top: 16px;
  border-radius: 15px; }
  .widget-surveys-findSurvey:before, .widget-surveys-findSurvey:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .widget-surveys-findSurvey:after {
    clear: both; }
  .widget-surveys-findSurvey .desc {
    float: left;
    font-weight: 600;
    line-height: 35px; }
  .widget-surveys-findSurvey [icon] {
    height: 35px;
    width: 35px;
    margin-right: 16px;
    fill: #00827d; }
  .widget-surveys-findSurvey .button {
    float: right; }

@media only screen and (max-width: 600px) {
  .widget-surveys-interview {
    display: none; }
  .widget-surveys-icon {
    display: none; }
  .widget-surveys-row {
    margin-left: 0; }
  .widget-surveys-left {
    margin-left: 0;
    float: none;
    width: auto; }
  .widget-surveys-topic {
    display: block;
    margin-bottom: 8px; }
  .widget-surveys-startNow {
    float: none;
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    right: 16px; } }

.widgetContainer {
  margin: 32px 0;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  -o-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: justify;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .widgetContainer:before, .widgetContainer:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .widgetContainer:after {
    clear: both; }

.widgetContainer-widget {
  min-height: 200px;
  padding: 0;
  box-sizing: border-box; }
  .widgetContainer-widget:before, .widgetContainer-widget:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .widgetContainer-widget:after {
    clear: both; }
  .widgetContainer-widget * {
    box-sizing: border-box; }

.widgetContainer-widget-100 {
  width: 100%; }

.widgetContainer-widget-50 {
  width: calc(50% - 16px); }

.widgetContainer-widget-60 {
  width: calc(60% - 16px); }

.widgetContainer-widget-40 {
  width: calc(40% - 16px); }

.widgetContainer-two .widgetContainer-widget:first-child {
  float: left;
  margin-right: 32px; }

.widgetContainer-two .widgetContainer-widget:last-child {
  float: right; }

.widgetContainer-widget-title {
  border-bottom: 1px solid #eaeaea;
  padding: 16px;
  padding-bottom: 16px;
  font-size: 18px; }

.widgetContainer-widget-content {
  margin-top: 16px;
  padding: 16px; }

@media only screen and (max-width: 980px) {
  .widgetContainer-widget {
    float: none;
    width: 100%;
    display: block;
    margin-bottom: 16px;
    margin-right: 0 !important;
    margin-left: 0 !important; } }

@media only screen and (max-width: 600px) {
  .widgetContainer-widget-title {
    font-size: 15px; } }

.component-modal .modal {
  display: block; }

.component-modal .close {
  font-size: 30px; }

.component-modal .modal-content {
  border-radius: 7px; }

.component-modal .dialog-header-error {
  background-color: #d2322d; }

.component-modal .dialog-header-wait {
  background-color: #428bca; }

.component-modal .dialog-header-notify {
  background-color: #eeeeee; }

.component-modal .dialog-header-confirm {
  background-color: #333333; }

.component-modal .dialog-header-error span, .component-modal .dialog-header-error h4,
.component-modal .dialog-header-wait span, .component-modal .dialog-header-wait h4,
.component-modal .dialog-header-confirm span, .component-modal .dialog-header-confirm h4 {
  color: white; }

.component-modal .modal-title .fa {
  margin-right: 16px; }

.component-modal.noTitleAndFooter .modal-footer, .component-modal.noTitleAndFooter .modal-title {
  display: none; }

.component-modal.noTitleAndFooter .modal-body {
  padding-top: 0; }

.component-modal.noTitleAndFooter .modal-header {
  background-color: transparent !important;
  border-bottom: 0;
  padding-bottom: 0; }

.component-modal.noTitle .modal-title {
  display: none; }

.component-modal.noTitle .modal-body {
  padding-top: 0; }

.component-modal.noTitle .modal-header {
  background-color: transparent !important;
  border-bottom: 0;
  padding-bottom: 0; }

.header .header-accountInfo-account-menu, .header-accountInfo-cart-menu {
  border-left: 0;
  border-right: 0;
  z-index: -1;
  opacity: 0;
  position: absolute;
  transition-property: opacity;
  transition-duration: 0.2s;
  padding: 0;
  top: -5000px;
  border: 2px solid #eaeaea;
  border-radius: 0 0 4px 4px;
  width: 250px;
  position: absolute; }

.header .surveyLink.notification-bubble {
  margin-left: 3px;
  transform: translateY(-10px);
  transition-property: all;
  transition-duration: 0.5s;
  opacity: 0;
  transform: translateY(-1px);
  border: 1px solid red;
  background-color: red; }
  .header .surveyLink.notification-bubble.visible {
    opacity: 1; }

.header [image='arrow-down'] {
  display: inline-block; }

.header [image='arrow-up'] {
  display: none; }

.header .header-accountInfo-account-menu {
  width: 250px;
  right: 0;
  top: -2000px; }
  .header .header-accountInfo-account-menu a {
    border-bottom: 1px solid #eaeaea;
    padding: 16px;
    display: block;
    text-align: left;
    color: #323232;
    text-transform: uppercase;
    font-size: 13px; }
    .header .header-accountInfo-account-menu a:hover {
      background: #00827d;
      color: white; }
      .header .header-accountInfo-account-menu a:hover [image] {
        fill: white; }
    .header .header-accountInfo-account-menu a.active, .header .header-accountInfo-account-menu a.active:hover {
      background: white;
      color: #00827d; }
      .header .header-accountInfo-account-menu a.active [image], .header .header-accountInfo-account-menu a.active:hover [image] {
        fill: #00827d; }
  .header .header-accountInfo-account-menu [image] {
    width: 13px;
    height: 13px;
    margin-right: 8px;
    stroke-color: black; }

.header-surveyNotification {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  border-radius: 0;
  line-height: 48px;
  font-size: 14px;
  padding: 0 16px;
  z-index: 10;
  display: none;
  width: 25px;
  text-align: left; }
  .header-surveyNotification [image='survey'] {
    height: 25px;
    width: 25px;
    fill: white; }
  .header-surveyNotification .notification-bubble {
    position: absolute;
    bottom: 7px;
    right: 7px;
    z-index: 10; }

.header-accountInfo {
  position: relative;
  display: block; }
  .header-accountInfo:before, .header-accountInfo:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .header-accountInfo:after {
    clear: both; }

.header-accountInfo-cart {
  position: relative;
  float: left;
  text-align: left;
  padding: 0 8px;
  min-width: 50px;
  margin-top: 10px;
  min-height: 64px;
  border-bottom: 5px solid transparent; }
  .header-accountInfo-cart:after {
    content: ' ';
    display: block;
    background: #eaeaea;
    width: 1px;
    position: absolute;
    top: -8px;
    left: 0;
    bottom: -5px; }
  .header-accountInfo-cart:before {
    content: ' ';
    display: block;
    background: #eaeaea;
    width: 1px;
    position: absolute;
    top: -8px;
    right: 0;
    bottom: -5px; }
  .header-accountInfo-cart .notification-bubble {
    position: absolute;
    top: 28px;
    left: 50%;
    margin-left: 0px; }
    .header-accountInfo-cart .notification-bubble.visible {
      opacity: 1; }
  .header-accountInfo-cart > a {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    border-bottom: 5px solid transparent;
    height: 64px; }
    .header-accountInfo-cart > a:hover {
      border-bottom: 5px solid #00827d; }
  .header-accountInfo-cart [icon] {
    height: 20px;
    width: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -12px;
    margin-left: -10px; }
  .header-accountInfo-cart.open > a {
    border-bottom: 5px solid #00827d; }
  .header-accountInfo-cart.open .header-accountInfo-cart-menu {
    box-shadow: 0px 12px 14px -4px rgba(0, 0, 0, 0.4);
    opacity: 1;
    right: 0;
    top: 80px;
    left: auto; }

.header-accountInfo-cart-menu {
  width: 300px;
  text-align: left;
  padding: 16px;
  line-height: initial; }
  .header-accountInfo-cart-menu:before {
    position: absolute;
    top: -18px;
    left: auto;
    right: 15px;
    bottom: auto;
    display: inline-block;
    border-right: 18px solid transparent;
    border-bottom: 18px solid #eaeaea;
    border-left: 18px solid transparent;
    border-bottom-color: 18px solid #eaeaea;
    content: ""; }
  .header-accountInfo-cart-menu:after {
    position: absolute;
    top: -17px;
    left: auto1px;
    right: 16px;
    bottom: auto;
    display: inline-block;
    border-right: 17px solid transparent;
    border-bottom: 17px solid white;
    border-left: 17px solid transparent;
    content: ""; }

.header-accountInfo-cart-menu-title {
  font-size: 15px;
  border-bottom: 1px solid #eaeaea;
  padding-bottom: 8px;
  margin-bottom: 16px;
  text-transform: uppercase;
  margin-left: -16px;
  margin-right: -16px;
  padding-left: 16px;
  font-weight: 600; }

.header-accountInfo-cart-menu-quantity {
  text-align: left;
  margin-bottom: 16px; }

.header-accountInfo-cart-menu-total {
  display: block;
  text-align: right;
  padding: 16px 0; }

.header-accountInfo-cart-menu-total .total {
  margin-bottom: 8px; }

.header-accountInfo-cart-menu-checkout,
.header-accountInfo-cart-menu-close {
  margin-top: 8px;
  display: block;
  width: 100%;
  text-align: center; }

.header-accountInfo-cart-menu-items {
  padding-bottom: 8px;
  border-bottom: 1px solid #828181;
  margin-bottom: 8px; }
  .header-accountInfo-cart-menu-items:before, .header-accountInfo-cart-menu-items:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .header-accountInfo-cart-menu-items:after {
    clear: both; }

.header-accountInfo-cart-menu-items-item {
  margin-bottom: 8px;
  position: relative; }
  .header-accountInfo-cart-menu-items-item:before, .header-accountInfo-cart-menu-items-item:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .header-accountInfo-cart-menu-items-item:after {
    clear: both; }

.header-accountInfo-cart-menu-items-item select {
  float: left;
  width: 70px; }

.header-accountInfo-cart-menu-items-item-details {
  margin-left: 86px;
  margin-right: 25px; }

.header-accountInfo-cart-menu-items-item-details [icon] {
  height: 16px;
  width: 16px; }

.header-accountInfo-cart-menu-items-item-details .name {
  display: block;
  font-weight: 600;
  font-size: 14px; }

.header-accountInfo-cart-menu-items-item-details .cost {
  font-size: 13px;
  display: block; }

.header-accountInfo-cart-menu-items-item-details .remove {
  position: absolute;
  right: 16px;
  top: 50%;
  margin-top: -3px; }

.header-accountInfo-balance {
  padding: 0 16px;
  position: relative;
  float: left;
  line-height: 60px;
  font-size: 15px;
  margin-top: 10px;
  min-width: 50px;
  min-height: 64px;
  max-width: 140px;
  text-align: center;
  border-bottom: 5px solid transparent; }
  .header-accountInfo-balance:after {
    content: ' ';
    display: block;
    background: #eaeaea;
    width: 1px;
    position: absolute;
    top: -8px;
    left: 0;
    bottom: -5px; }
  .header-accountInfo-balance .header-accountInfo-balance-text {
    display: inline-block;
    vertical-align: middle;
    line-height: normal; }

.header-accountInfo-account {
  position: relative;
  float: left;
  text-align: left;
  padding: 0 16px;
  min-width: 100px;
  margin-top: 10px;
  min-height: 64px;
  border-bottom: 5px solid transparent; }
  .header-accountInfo-account:after {
    content: ' ';
    display: block;
    background: #eaeaea;
    width: 1px;
    position: absolute;
    top: -8px;
    left: 0;
    bottom: -5px; }
  .header-accountInfo-account:before {
    content: ' ';
    display: block;
    background: #eaeaea;
    width: 1px;
    position: absolute;
    top: -8px;
    right: 0;
    bottom: -5px; }
  .header-accountInfo-account:hover {
    border-bottom: 5px solid #00827d; }

.header-accountInfo-account-name {
  display: block;
  max-width: 90px;
  white-space: nowrap;
  overflow: hidden;
  font-weight: 600;
  text-overflow: ellipsis;
  color: #00827d;
  font-size: 14px;
  padding-top: 8px; }

.header-accountInfo-account-link {
  display: block;
  text-transform: uppercase;
  color: #323232;
  font-size: 14px;
  padding-top: 3px; }
  .header-accountInfo-account-link [image='arrow-down'],
  .header-accountInfo-account-link [image='arrow-up'] {
    width: 15px;
    height: 15px; }

body.account .header-accountInfo-account,
body.account:hover .header-accountInfo-account {
  border-bottom: 5px solid #00827d; }

.header-accountInfo.open .header-accountInfo-account,
.header-accountInfo.open:hover .header-accountInfo-account {
  border-bottom: 5px solid transparent; }

.header-accountInfo.open [image='arrow-down'] {
  display: none; }

.header-accountInfo.open [image='arrow-up'] {
  display: inline-block; }

.header-accountInfo.open .header-accountInfo-account-menu {
  box-shadow: 0px 12px 14px -4px rgba(0, 0, 0, 0.4);
  border-top: 5px solid #00827d;
  border-left: 0;
  border-right: 0;
  opacity: 1;
  top: 80px; }

@media only screen and (max-width: 1020px) {
  .header .header-col:nth-child(2) {
    padding-left: 0; } }

@media only screen and (max-width: 830px) {
  .header .header-accountInfo {
    display: none; }
  .header .header-surveyNotification {
    display: block; }
  .header .header-col:nth-child(3) {
    min-width: auto; } }

.site-content {
  padding-top: 80px;
  padding-bottom: 110px; }
  .site-content > .container, .site-content > .hero-desc {
    padding-bottom: 32px; }

.hero {
  min-height: 250px; }

@media only screen and (max-width: 830px) {
  .site-content {
    padding-top: 50px; }
  .hero {
    min-height: auto; } }

.contentAndLinks {
  position: relative;
  margin-bottom: 30px;
  box-sizing: border-box; }
  .contentAndLinks * {
    box-sizing: border-box; }

.contentAndLinks-title {
  font-size: 32px;
  font-weight: 500;
  margin-bottom: 32px; }

.contentAndLinks-container {
  background: white;
  border: 1px solid #eaeaea;
  border-radius: 7px;
  display: -webkit-box;
  display: -moz-box;
  display: box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex; }
  .contentAndLinks-container:before, .contentAndLinks-container:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .contentAndLinks-container:after {
    clear: both; }

.contentAndLinks-links {
  width: 220px;
  min-height: 100px; }

.contentAndLinks-content {
  width: calc(100% - 220px);
  float: left;
  min-height: 200px;
  padding: 32px;
  border-left: 1px solid #d4d5d3; }
  .contentAndLinks-content.contentAndLinks-noLinks {
    border-left: 0; }

.contentAndLinks-subLinks {
  padding-left: 15px; }

.contentAndLinks-links-link {
  text-decoration: none;
  display: block;
  margin-bottom: 0px;
  font-weight: 500;
  display: block;
  line-height: 20px;
  padding: 7px 15px;
  position: relative;
  color: #323232;
  padding: 16px;
  border-bottom: 1px solid #d4d5d3; }
  .contentAndLinks-links-link:hover {
    background: #eee; }

.contentAndLinks-links-link-active {
  background: #00827d;
  color: white; }
  .contentAndLinks-links-link-active:hover {
    color: white;
    background: #00827d; }

.contentAndLinks-links-subLinks {
  padding-left: 20px; }

@media only screen and (max-width: 1000px) {
  .contentAndLinks {
    box-sizing: border-box; }
    .contentAndLinks * {
      box-sizing: border-box; }
  .contentAndLinks-links {
    width: 30%; }
  .contentAndLinks-content {
    padding-left: 30px;
    width: 70%; } }

@media only screen and (max-width: 750px) {
  .contentAndLinks-container {
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center; }
  .contentAndLinks-content {
    margin-left: 0;
    min-height: initial !important;
    margin-bottom: 15px;
    padding: 16px;
    border: none;
    width: 100%;
    -webkit-box-ordinal-group: 1;
    -webkit-order: 1; }
  .contentAndLinks-links {
    float: none;
    margin-top: 0;
    margin-right: 0;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 2; }
  .contentAndLinks-links-link {
    text-align: center;
    margin-bottom: 7px; }
  .contentAndLinks-subLinks-button {
    width: 100%; } }

@media only screen and (max-width: 600px) {
  .contentAndLinks-content {
    padding: 8px; }
  .contentAndLinks-links-link {
    border: 1px solid #d4d5d3; } }

.site-content {
  padding-top: 120px;
  padding-bottom: 142px; }

@media only screen and (max-width: 600px) {
  .site-content {
    padding-top: 70px; } }

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiYXV0aC1jb250ZW50LmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vLi4vc3JjL2JsdWVwcmludHMvbmVjdGFyQ2FudmFzczIvc2Fzcy9sYXlvdXRzL2F1dGgvYXV0aC1jb250ZW50LnNjc3MiLAoJCSIuLi8uLi9zcmMvYmx1ZXByaW50cy9uZWN0YXJDYW52YXNzMi9zYXNzL2xheW91dHMvYXV0aC9hdXRoLnNjc3MiLAoJCSIuLi8uLi9zcmMvYmx1ZXByaW50cy9uZWN0YXJDYW52YXNzMi9zYXNzL19jb25maWcuc2NzcyIsCgkJIi4uLy4uL3NyYy9zaGFyZWQvc2Fzcy9fY29uZmlnLnNjc3MiLAoJCSIuLi8uLi9zcmMvc2hhcmVkL3Nhc3MvbWl4aW5zL19oZWxwZXJzLnNjc3MiLAoJCSIuLi8uLi9zcmMvc2hhcmVkL3Nhc3MvbWl4aW5zL190cmFuc2l0aW9ucy5zY3NzIiwKCQkiLi4vLi4vc3JjL3NoYXJlZC9zYXNzL21peGlucy9fZW1haWxSZXNldC5zY3NzIiwKCQkiLi4vLi4vc3JjL3NoYXJlZC9zYXNzL21peGlucy9fYm91cmJvbi5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9fYm91cmJvbi5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9zZXR0aW5ncy9fcHJlZml4ZXIuc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvc2V0dGluZ3MvX3B4LXRvLWVtLnNjc3MiLAoJCSIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19hc3NldC1waXBlbGluZS5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2Fzc2lnbi1pbnB1dHMuc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19jb250YWlucy5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2NvbnRhaW5zLWZhbHN5LnNjc3MiLAoJCSIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9faXMtbGVuZ3RoLnNjc3MiLAoJCSIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9faXMtbGlnaHQuc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19pcy1udW1iZXIuc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19pcy1zaXplLnNjc3MiLAoJCSIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcHgtdG8tZW0uc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19weC10by1yZW0uc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19zaGFkZS5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3N0cmlwLXVuaXRzLnNjc3MiLAoJCSIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdGludC5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3RyYW5zaXRpb24tcHJvcGVydHktbmFtZS5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3VucGFjay5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX21vZHVsYXItc2NhbGUuc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fY29udmVydC11bml0cy5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19kaXJlY3Rpb25hbC12YWx1ZXMuc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fZm9udC1zb3VyY2UtZGVjbGFyYXRpb24uc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlci5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19saW5lYXItYW5nbGUtcGFyc2VyLnNjc3MiLAoJCSIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2xpbmVhci1ncmFkaWVudC1wYXJzZXIuc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlci5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19yYWRpYWwtYXJnLXBhcnNlci5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19yYWRpYWwtcG9zaXRpb25zLXBhcnNlci5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19yYWRpYWwtZ3JhZGllbnQtcGFyc2VyLnNjc3MiLAoJCSIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3JlbmRlci1ncmFkaWVudHMuc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fc2hhcGUtc2l6ZS1zdHJpcHBlci5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19zdHItdG8tbnVtLnNjc3MiLAoJCSIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2FuaW1hdGlvbi5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19hcHBlYXJhbmNlLnNjc3MiLAoJCSIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2JhY2tmYWNlLXZpc2liaWxpdHkuc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYmFja2dyb3VuZC5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19iYWNrZ3JvdW5kLWltYWdlLnNjc3MiLAoJCSIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2JvcmRlci1pbWFnZS5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19jYWxjLnNjc3MiLAoJCSIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2NvbHVtbnMuc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fZmlsdGVyLnNjc3MiLAoJCSIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ZsZXgtYm94LnNjc3MiLAoJCSIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ZvbnQtZmFjZS5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19mb250LWZlYXR1cmUtc2V0dGluZ3Muc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9faGlkcGktbWVkaWEtcXVlcnkuc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9faHlwaGVucy5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19pbWFnZS1yZW5kZXJpbmcuc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fa2V5ZnJhbWVzLnNjc3MiLAoJCSIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2xpbmVhci1ncmFkaWVudC5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19wZXJzcGVjdGl2ZS5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19wbGFjZWhvbGRlci5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19yYWRpYWwtZ3JhZGllbnQuc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fc2VsZWN0aW9uLnNjc3MiLAoJCSIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL190cmFuc2Zvcm0uc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fdHJhbnNpdGlvbi5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL191c2VyLXNlbGVjdC5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2JvcmRlci1jb2xvci5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19ib3JkZXItc3R5bGUuc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19ib3JkZXItd2lkdGguc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19idXR0b25zLnNjc3MiLAoJCSIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19lbGxpcHNpcy5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2ZvbnQtc3RhY2tzLnNjc3MiLAoJCSIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9faGlkZS10ZXh0LnNjc3MiLAoJCSIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fbWFyZ2luLnNjc3MiLAoJCSIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fcGFkZGluZy5zY3NzIiwKCQkiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3Bvc2l0aW9uLnNjc3MiLAoJCSIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fcHJlZml4ZXIuc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19yZXRpbmEtaW1hZ2Uuc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19zaXplLnNjc3MiLAoJCSIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fdGV4dC1pbnB1dHMuc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL190aW1pbmctZnVuY3Rpb25zLnNjc3MiLAoJCSIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fdHJpYW5nbGUuc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL193b3JkLXdyYXAuc2NzcyIsCgkJIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvX2JvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZy5zY3NzIiwKCQkiLi4vLi4vc3JjL3NoYXJlZC9zYXNzL21peGlucy9faWNvbi5zY3NzIiwKCQkiLi4vLi4vc3JjL3NoYXJlZC9zYXNzL3BsYWNlaG9sZGVycy9fcG9pbnRlci5zY3NzIiwKCQkiLi4vLi4vc3JjL3NoYXJlZC9zYXNzL3BsYWNlaG9sZGVycy9fdmVydGljYWxseUNlbnRlci5zY3NzIiwKCQkiLi4vLi4vc3JjL2JsdWVwcmludHMvbmVjdGFyQ2FudmFzczIvc2Fzcy9fY29uZmlnLWJvb3RzdHJhcC5zY3NzIiwKCQkiLi4vLi4vc3JjL2JsdWVwcmludHMvbmVjdGFyQ2FudmFzczIvc2Fzcy9wbGFjZWhvbGRlcnMvX2JveC5zY3NzIiwKCQkiLi4vLi4vc3JjL2JsdWVwcmludHMvbmVjdGFyQ2FudmFzczIvc2Fzcy9wbGFjZWhvbGRlcnMvX2NvbnRhaW5lci5zY3NzIiwKCQkiLi4vLi4vc3JjL2JsdWVwcmludHMvbmVjdGFyQ2FudmFzczIvc2Fzcy9wbGFjZWhvbGRlcnMvX2hlcm9BbmRXaWRnZXRzLnNjc3MiLAoJCSIuLi8uLi9zcmMvYmx1ZXByaW50cy9uZWN0YXJDYW52YXNzMi9zYXNzL2VsZW1lbnRzL19mb290ZXIuc2NzcyIsCgkJIi4uLy4uL3NyYy9ibHVlcHJpbnRzL25lY3RhckNhbnZhc3MyL3Nhc3MvZWxlbWVudHMvX2hlYWRlci5zY3NzIiwKCQkiLi4vLi4vc3JjL2JsdWVwcmludHMvbmVjdGFyQ2FudmFzczIvc2Fzcy9lbGVtZW50cy9faGVyby5zY3NzIiwKCQkiLi4vLi4vc3JjL2JsdWVwcmludHMvbmVjdGFyQ2FudmFzczIvc2Fzcy9lbGVtZW50cy9fbW9iaWxlSGVhZGVyLnNjc3MiLAoJCSIuLi8uLi9zcmMvYmx1ZXByaW50cy9uZWN0YXJDYW52YXNzMi9zYXNzL2VsZW1lbnRzL19wcm9tb1Jld2FyZHMuc2NzcyIsCgkJIi4uLy4uL3NyYy9ibHVlcHJpbnRzL25lY3RhckNhbnZhc3MyL3Nhc3MvZWxlbWVudHMvX3Byb21vRm9vdGVyLnNjc3MiLAoJCSIuLi8uLi9zcmMvYmx1ZXByaW50cy9uZWN0YXJDYW52YXNzMi9zYXNzL2VsZW1lbnRzL19ub3RpZmljYXRpb24tYnViYmxlLnNjc3MiLAoJCSIuLi8uLi9zcmMvYmx1ZXByaW50cy9uZWN0YXJDYW52YXNzMi9zYXNzL2VsZW1lbnRzL19zaXRlTm90aWZpY2F0aW9uLnNjc3MiLAoJCSIuLi8uLi9zcmMvYmx1ZXByaW50cy9uZWN0YXJDYW52YXNzMi9zYXNzL2VsZW1lbnRzL19iYWRnZURldGFpbHMuc2NzcyIsCgkJIi4uLy4uL3NyYy9ibHVlcHJpbnRzL25lY3RhckNhbnZhc3MyL3Nhc3MvZWxlbWVudHMvX2JhZGdlcy5zY3NzIiwKCQkiLi4vLi4vc3JjL2JsdWVwcmludHMvbmVjdGFyQ2FudmFzczIvc2Fzcy9lbGVtZW50cy9fbWluaVBvbGwuc2NzcyIsCgkJIi4uLy4uL3NyYy9ibHVlcHJpbnRzL25lY3RhckNhbnZhc3MyL3Nhc3MvZWxlbWVudHMvX29mZmVycy5zY3NzIiwKCQkiLi4vLi4vc3JjL2JsdWVwcmludHMvbmVjdGFyQ2FudmFzczIvc2Fzcy9lbGVtZW50cy9fcHJvZmlsZVByb2dyZXNzLnNjc3MiLAoJCSIuLi8uLi9zcmMvYmx1ZXByaW50cy9uZWN0YXJDYW52YXNzMi9zYXNzL2VsZW1lbnRzL19wcm9maWxlci5zY3NzIiwKCQkiLi4vLi4vc3JjL2JsdWVwcmludHMvbmVjdGFyQ2FudmFzczIvc2Fzcy9lbGVtZW50cy9fcmFkaWFsUHJvZ3Jlc3Muc2NzcyIsCgkJIi4uLy4uL3NyYy9zaGFyZWQvY29tcG9uZW50cy9yYWRpYWxQcm9ncmVzcy9yYWRpYWxQcm9ncmVzcy5zY3NzIiwKCQkiLi4vLi4vc3JjL2JsdWVwcmludHMvbmVjdGFyQ2FudmFzczIvc2Fzcy9lbGVtZW50cy9fc3VydmV5SGlzdG9yeS5zY3NzIiwKCQkiLi4vLi4vc3JjL2JsdWVwcmludHMvbmVjdGFyQ2FudmFzczIvc2Fzcy9lbGVtZW50cy9fc3VydmV5cy5zY3NzIiwKCQkiLi4vLi4vc3JjL2JsdWVwcmludHMvbmVjdGFyQ2FudmFzczIvc2Fzcy9lbGVtZW50cy9fd2lkZ2V0LnNjc3MiLAoJCSIuLi8uLi9zcmMvc2hhcmVkL2NvbXBvbmVudHMvbW9kYWwvc2Nzcy9fX21vZGFsLnNjc3MiLAoJCSIuLi8uLi9zcmMvYmx1ZXByaW50cy9uZWN0YXJDYW52YXNzMi9zYXNzL2xheW91dHMvYXV0aC9faGVhZGVyLnNjc3MiLAoJCSIuLi8uLi9zcmMvYmx1ZXByaW50cy9uZWN0YXJDYW52YXNzMi9zYXNzL2VsZW1lbnRzL19jb250ZW50QW5kTGlua3Muc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIiRwdWJsaWNQYXRoOiBcIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3B1YmxpY1wiO1xuXG5AaW1wb3J0IFwiYXV0aFwiO1xuQGltcG9ydCBcIi4uLy4uL2VsZW1lbnRzL2NvbnRlbnRBbmRMaW5rc1wiO1xuXG4uc2l0ZS1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDEyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTEwcHggKyAkcGFkKjI7XG59XG5cbkBpbmNsdWRlIHJlc3BvbmQtYXQoZmFsc2UsICRjYW52YXNzLXRocmVzaG9sZC1tb2JpbGUpIHtcbiAgLnNpdGUtY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDcwcHg7XG4gIH1cbn0iLAoJCSIkcHVibGljUGF0aDogXCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wdWJsaWNcIjtcblxuQGltcG9ydCBcIi4uLy4uL2NvbmZpZ1wiO1xuQGltcG9ydCBcIi4uLy4uL2VsZW1lbnRzL2Zvb3RlclwiO1xuQGltcG9ydCBcIi4uLy4uL2VsZW1lbnRzL2hlYWRlclwiO1xuQGltcG9ydCBcIi4uLy4uL2VsZW1lbnRzL2hlcm9cIjtcbkBpbXBvcnQgXCIuLi8uLi9lbGVtZW50cy9tb2JpbGVIZWFkZXJcIjtcbkBpbXBvcnQgXCIuLi8uLi9lbGVtZW50cy9wcm9tb1Jld2FyZHNcIjtcbkBpbXBvcnQgXCIuLi8uLi9lbGVtZW50cy9wcm9tb0Zvb3RlclwiO1xuQGltcG9ydCBcIi4uLy4uL2VsZW1lbnRzL25vdGlmaWNhdGlvbi1idWJibGVcIjtcbkBpbXBvcnQgXCIuLi8uLi9lbGVtZW50cy9zaXRlTm90aWZpY2F0aW9uXCI7XG5cbi8vIFdpZGdldHNcbkBpbXBvcnQgXCIuLi8uLi9lbGVtZW50cy9iYWRnZURldGFpbHNcIjtcbkBpbXBvcnQgXCIuLi8uLi9lbGVtZW50cy9iYWRnZXNcIjtcbkBpbXBvcnQgXCIuLi8uLi9lbGVtZW50cy9taW5pUG9sbFwiO1xuQGltcG9ydCBcIi4uLy4uL2VsZW1lbnRzL29mZmVyc1wiO1xuQGltcG9ydCBcIi4uLy4uL2VsZW1lbnRzL3Byb2ZpbGVQcm9ncmVzc1wiO1xuQGltcG9ydCBcIi4uLy4uL2VsZW1lbnRzL3Byb2ZpbGVyXCI7XG5AaW1wb3J0IFwiLi4vLi4vZWxlbWVudHMvcmFkaWFsUHJvZ3Jlc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi9lbGVtZW50cy9zdXJ2ZXlIaXN0b3J5XCI7XG5AaW1wb3J0IFwiLi4vLi4vZWxlbWVudHMvc3VydmV5c1wiO1xuQGltcG9ydCBcIi4uLy4uL2VsZW1lbnRzL3dpZGdldFwiO1xuXG4vL1NoYXJlZCBDb21wb25lbnRzXG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvbW9kYWwvc2Nzcy9fbW9kYWxcIjtcbkBpbXBvcnQgXCJoZWFkZXJcIjtcblxuLnNpdGUtY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiA4MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTEwcHg7XG4gID4gLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1ib3R0b206ICRwYWQgKiAyO1xuICB9XG59XG5cbi5oZXJvIHtcbiAgbWluLWhlaWdodDogMjUwcHg7XG59XG5cbkBpbmNsdWRlIHJlc3BvbmQtYXQoZmFsc2UsICRjYW52YXNzLXRocmVzaG9sZC10YWJsZXQpIHtcbiAgLnNpdGUtY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gIH1cbiAgLmhlcm8ge1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsCgkJIi8vIEltcG9ydCBTaGFyZWQgQ29uZmlnXG5AaW1wb3J0IFwiLi4vLi4vLi4vc2hhcmVkL3Nhc3MvY29uZmlnXCI7XG5cbi8vIFNoYXJlZCBDb2xvcnNcbiRjYW52YXNzLWRlZmF1bHQtdGV4dDogIzY2NiAhZGVmYXVsdDtcbiRjYW52YXNzLWRhcmtibHVlOiAjNzAzMjk2ICFkZWZhdWx0O1xuJGNhbnZhc3MtZGFya2dyYXk6ICM3ZTdlN2YgIWRlZmF1bHQ7XG4kY2FudmFzcy1ncmF5OiAjODI4MTgxICFkZWZhdWx0O1xuJGNhbnZhc3MtcHVycGxlOiAjMDA4MjdkICFkZWZhdWx0O1xuJGNhbnZhc3MtYmx1ZTogJGNhbnZhc3MtcHVycGxlO1xuJGNhbnZhc3MtbGlnaHRCbHVlOiBsaWdodGVuKCRjYW52YXNzLXB1cnBsZSwgMzApICFkZWZhdWx0O1xuJGNhbnZhc3MtbGlnaHRlcmdyYXk6ICNmM2YzZjMgIWRlZmF1bHQ7XG4kY2FudmFzcy1saWdodGdyYXk6ICNlYWVhZWEgIWRlZmF1bHQ7XG4kY2FudmFzcy1saW1lZ3JlZW46ICNjOGRhM2Y7XG4kY2FudmFzcy1tZWRncmF5OiAjZDRkNWQzICFkZWZhdWx0O1xuJGNhbnZhc3Mtc2Vjb25kYXJ5Qmx1ZTogIzg3ODVkZCAhZGVmYXVsdDtcbiRjYW52YXNzLXJlZDogI0MzNEM0QyAhZGVmYXVsdDtcbiRjYW52YXNzLXllbGxvdzogI0ZEQ0U1RCAhZGVmYXVsdDtcbiRjYW52YXNzLW9yYW5nZTogI2U4NzU2YiAhZGVmYXVsdDtcbiRjYW52YXNzLWxpZ2h0T3JhbmdlOiAjRkNCQjgxO1xuXG4kZmFjZWJvb2tTb2NpYWwtYmFja2dyb3VuZDogIzNiNTk5ODtcbiRzdXJ2ZXlSZW5kZXItcHJvZ3Jlc3MtY29sb3I6ICM4Nzg1ZGQ7XG4kc3VydmV5UmVuZGVyLXF1ZXN0aW9uQW5kQW5zd2VyV3JhcDogI2VmZWZlZjtcblxuLy8gRW1haWwgU2V0dGluZ3NcbiRjYW52YXNzLWVtYWlsLWJ1dHRvbi10ZXh0OiAjMzMzMzMzO1xuXG4vLyBCYXNlIFNldHRpbmdzXG4kc3ZnLWljb24tY29sczogNjtcbiRwdWJsaWNQYXRoOiBcIi4uLy4uLy4uLy4uLy4uL3B1YmxpY1wiICFkZWZhdWx0O1xuJGNhbnZhc3MtY29udGFpbmVyOiAxMDI0cHg7XG4kY2FudmFzcy1mb290ZXJIZWlnaHQ6IDcwcHg7XG4kY2FudmFzcy1iYXNlLWZvbnRTaXplOiAxNXB4O1xuJGNhbnZhc3MtZGVmYXVsdC10ZXh0OiAjMzIzMjMyO1xuJGNhbnZhc3MtYmFja2dyb3VuZDogI0Y4RjhGODtcbiRjYW52YXNzLWRlZmF1bHRNYXJrZXRpbmdCYWNrZ3JvdW5kOiAjNjBBMDlDO1xuJGNhbnZhc3MtbGluazogJGNhbnZhc3MtYmx1ZTtcbiRjYW52YXNzLWxpbmstYWN0aXZlOiBkYXJrZW4oJGNhbnZhc3MtbGluaywgMTUlKSAhZGVmYXVsdDtcblxuLy8gQ29tcG9uZW50c1xuJGNnLWJ1c3ktYmFja2dyb3VuZDogJGNhbnZhc3MtZGFya2JsdWU7XG4kY2ctYnVzeS1jb2xvcjogI2ZmZjtcblxuLy8gUmVzcG9uc2l2ZSBWYXJzXG4kY2FudmFzcy10aHJlc2hvbGQtbW9iaWxlOiA2MDBweDtcbiRjYW52YXNzLXRocmVzaG9sZC10YWJsZXQ6IDgzMHB4O1xuXG4vLyBGb250IEF3ZXNvbWVcbiRmYS1mb250LXBhdGg6IFwiLi4vLi4vLi4vLi4vc2hhcmVkL3ZlbmRvci9mb250LWF3ZXNvbWUvZm9udHNcIjtcblxuLy8gR2xvYmFsIFNldHRpbmdzXG4kcGFkOiAxNnB4O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICdTb3VyY2UgU2FucyBQcm8nLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1iYXNlOiAxNXB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbWFsbDogY2VpbCgkZm9udC1zaXplLWJhc2UgKiAwLjg1KSAhZGVmYXVsdDtcbiRmb250LXNpemUtbGFyZ2U6IGNlaWwoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWgxOiAzMHB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oMjogMjVweCAhZGVmYXVsdDtcbiRmb250LXNpemUtaDM6IDIwcHggIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg0OiBjZWlsKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oNTogJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oNjogY2VpbCgkZm9udC1zaXplLWJhc2UgKiAwLjg1KSAhZGVmYXVsdDtcblxuLy8gT3RoZXIgQ29uZmlnc1xuQGltcG9ydCBcImNvbmZpZy1ib290c3RyYXBcIjtcblxuLy8gUGxhY2Vob2xkZXJzXG5AaW1wb3J0IFwicGxhY2Vob2xkZXJzL2JveFwiO1xuQGltcG9ydCBcInBsYWNlaG9sZGVycy9jb250YWluZXJcIjtcbkBpbXBvcnQgXCJwbGFjZWhvbGRlcnMvaGVyb0FuZFdpZGdldHNcIjsiLAoJCSIvLyBSZXNlYXJjaE5vdyBDb2xvcnNcbiRybi1kYXJrYmx1ZTogIzZiNjliNztcbiRybi1kYXJrZ3JheTogIzdlN2U3ZjtcbiRybi1ncmVlbjogIzVhYjQxNDtcbiRybi1saWdodGJsdWU6ICMyY2I5YmE7XG4kcm4tbGlnaHRlcmdyYXk6ICNmM2YzZjM7XG4kcm4tbGlnaHRncmF5OiAjZWFlYWVhO1xuJHJuLWxpbWVncmVlbjogI2M4ZGEzZjtcbiRybi1tZWRncmF5OiAjZDRkNWQzO1xuJHJuLXNlY29uZGFyeUJsdWU6ICM4Nzg1ZGQ7XG4kcm4tcmVkOiAjRDYzODAyO1xuJHJuLXllbGxvdzogI2ZmY2MwMjtcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1peGluc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEltcG9ydCBTaGFyZWQgTWl4aW5zXG5AaW1wb3J0IFwibWl4aW5zL2hlbHBlcnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdHJhbnNpdGlvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZW1haWxSZXNldFwiO1xuQGltcG9ydCBcIm1peGlucy9ib3VyYm9uXCI7XG5AaW1wb3J0IFwibWl4aW5zL2ljb25cIjtcblxuLy8gSW1wb3J0IFNoYXJlZCBQbGFjZWhvbGRlcnNcbkBpbXBvcnQgXCJwbGFjZWhvbGRlcnMvcG9pbnRlclwiO1xuQGltcG9ydCBcInBsYWNlaG9sZGVycy92ZXJ0aWNhbGx5Q2VudGVyXCI7IiwKCQkiJHN2Zy1pY29uLWNvbHM6IDUgIWRlZmF1bHQ7IC8vIEhvdyBtYW55IGNvbHVtbnMgYXJlIGluIHRoZSBzcHJpdGUgc2hlZXRcblxuQG1peGluIGhlbHBlcnMtb3BhY2l0eSgkdmFsdWUpIHtcbiAgJElFVmFsdWU6ICR2YWx1ZSoxMDA7XG4gIG9wYWNpdHk6ICR2YWx1ZTtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT1cIiskSUVWYWx1ZStcIilcIjtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PSRJRVZhbHVlKTtcbn1cblxuQG1peGluIGhlbHBlcnMtc3RhY2tGbGV4IHtcbiAgZGlzcGxheTogLW1vei1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xufVxuXG5AbWl4aW4gaGVscGVycy1zdGFja0ZsZXhPcmRlcigkb3JkZXIpIHtcbiAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogJG9yZGVyO1xuICAtd2Via2l0LW9yZGVyOiAkb3JkZXI7XG4gIG9yZGVyOiAkb3JkZXI7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWl4aW4gaGVscGVycy1jbGVhciB7XG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcMDAyMFwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbkBtaXhpbiBoZWxwZXJzLXZlcnRpY2FsLWFsaWduIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuQG1peGluIGhlbHBlcnMtYm9yZGVyLXJhZGl1cygkcmFkaXVzKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsgIC8qIHN0b3BzIGJnIGNvbG9yIGZyb20gbGVha2luZyBvdXRzaWRlIHRoZSBib3JkZXI6ICovXG59XG5cbkBtaXhpbiBoZWxwZXJzLXRyYW5zcGFyZW50Q2xpY2thYmxlIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiI3skcHVibGljUGF0aH0vc2hhcmVkL2ltYWdlcy90cmFuc3BhcmVudC5wbmdcIik7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDA7XG4gIGN1cnNvcjogaGFuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5AbWl4aW4gaGVscGVycy1hcnJvdygkY29sb3I6IHdoaXRlLCAkYm9yZGVyQ29sb3I6ICNjY2MsICRzaXplOiA3cHgsICR0b3A6IC03cHgsICRsZWZ0OiBhdXRvLCAkcmlnaHQ6IDdweCwgJGJvdHRvbTogYXV0bykge1xuICAmOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHRvcDtcbiAgICBsZWZ0OiAkbGVmdDtcbiAgICByaWdodDogJHJpZ2h0O1xuICAgIGJvdHRvbTogJGJvdHRvbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXJpZ2h0OiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAkc2l6ZSBzb2xpZCAkYm9yZGVyQ29sb3I7XG4gICAgYm9yZGVyLWxlZnQ6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRzaXplIHNvbGlkICRib3JkZXJDb2xvcjtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICR0b3AgKyAxcHg7XG4gICAgbGVmdDogJGxlZnQgKyAxcHg7XG4gICAgcmlnaHQ6ICRyaWdodCArIDFweDtcbiAgICBib3R0b206ICRib3R0b207XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1yaWdodDogJHNpemUgLSAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJHNpemUgLSAxcHggc29saWQgJGNvbG9yO1xuICAgIGJvcmRlci1sZWZ0OiAkc2l6ZSAtIDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG5cbkBtaXhpbiByZXNwb25kLWF0KCRtaW46IGZhbHNlLCAkbWF4OiBmYWxzZSkge1xuICBAaWYgJG1pbiA9PSBmYWxzZSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJG1heCA9PSBmYWxzZSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwKCQkiJHByZWZpeC1jdXJyZW50OiBcIlwiO1xuXG4vKiBFeHBlcmltZW50YWwgTWl4aW4gU3VwcG9ydCAqL1xuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQgOiB0cnVlO1xuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhOiB0cnVlO1xuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYTogdHJ1ZTtcbiRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0OiB0cnVlO1xuJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbDogZmFsc2U7XG5AbWl4aW4gZXhwZXJpbWVudGFsKCRwcm9wZXJ0eSwgJHZhbHVlLCAkbW96OiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1vemlsbGEsICR3ZWJraXQ6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0LCAkbzogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSwgJG1zOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCwgJGtodG1sOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sLCAkb2ZmaWNpYWw6IHRydWUpIHtcbiAgQGlmICR3ZWJraXQgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0IHtcbiAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICB9XG4gIEBpZiAka2h0bWwgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwge1xuICAgIC1raHRtbC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgfVxuICBAaWYgJG1veiBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhIHtcbiAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICB9XG4gIEBpZiAkbXMgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0IHtcbiAgICAtbXMtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gIH1cbiAgQGlmICRvIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhIHtcbiAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgfVxuICBAaWYgJG9mZmljaWFsIHtcbiAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgfVxufVxuXG5AbWl4aW4gYW5pbWF0ZS1wcmVmaXgoJHAxLCAkcDIpIHtcbiAgJHAxOiAjeyRwcmVmaXgtY3VycmVudH0jeyRwMX07XG4gICN7JHAxfTogI3skcDJ9O1xufVxuXG5AbWl4aW4gYW5pbWF0ZSgkbmFtZTogZmFkZUluLCAkZHVyYXRpb246IDFzLCAkZGVsYXk6IDBzLCAkZnVuY3Rpb246IGVhc2UsICRtb2RlOiBib3RoKSB7XG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChhbmltYXRpb24sIHVucXVvdGUoJG5hbWUpICRkdXJhdGlvbiAkZGVsYXkgJGZ1bmN0aW9uICRtb2RlKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbigkbmFtZSkge1xuICBALXdlYmtpdC1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICRwcmVmaXgtY3VycmVudDogXCItd2Via2l0LVwiO1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgQC1tb3ota2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAkcHJlZml4LWN1cnJlbnQ6IFwiLW1vei1cIjtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIEAtby1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICRwcmVmaXgtY3VycmVudDogXCItby1cIjtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICRwcmVmaXgtY3VycmVudDogXCJcIjtcbiAgICBAY29udGVudDtcbiAgfVxufSIsCgkJIkBtaXhpbiBlbWFpbFJlc2V0IHtcblxuICBodG1sIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7XG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7XG4gIH1cblxuICBpbWcge1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMCBub25lO1xuICB9XG5cbiAgLmltYWdlRml4IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRhYmxlLCB0ZCB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgfVxuXG4gIHRhYmxlIHtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIG1zby10YWJsZS1sc3BhY2U6IDBwdDtcbiAgICBtc28tdGFibGUtcnNwYWNlOiAwcHQ7XG4gIH1cblxuICB0YWJsZSB0ZCB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgfVxuXG59IiwKCQkiLy8gPT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCb3VyYm9uIEltcG9ydHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBTZXR0aW5nc1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYm91cmJvblwiOyIsCgkJIi8vIEJvdXJib24gNC4yLjdcbi8vIGh0dHA6Ly9ib3VyYm9uLmlvXG4vLyBDb3B5cmlnaHQgMjAxMS0yMDE1IHRob3VnaHRib3QsIGluYy5cbi8vIE1JVCBMaWNlbnNlXG5cbkBpbXBvcnQgXCJzZXR0aW5ncy9wcmVmaXhlclwiO1xuQGltcG9ydCBcInNldHRpbmdzL3B4LXRvLWVtXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvYXNzZXQtcGlwZWxpbmVcIjtcblxuQGltcG9ydCBcImZ1bmN0aW9ucy9hc3NpZ24taW5wdXRzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2NvbnRhaW5zXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2NvbnRhaW5zLWZhbHN5XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLWxlbmd0aFwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1saWdodFwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1udW1iZXJcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtc2l6ZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9weC10by1lbVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9weC10by1yZW1cIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvc2hhZGVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvc3RyaXAtdW5pdHNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdGludFwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy90cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdW5wYWNrXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL21vZHVsYXItc2NhbGVcIjtcblxuQGltcG9ydCBcImhlbHBlcnMvY29udmVydC11bml0c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvZGlyZWN0aW9uYWwtdmFsdWVzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9mb250LXNvdXJjZS1kZWNsYXJhdGlvblwiO1xuQGltcG9ydCBcImhlbHBlcnMvZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWFuZ2xlLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1hcmctcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmVuZGVyLWdyYWRpZW50c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvc2hhcGUtc2l6ZS1zdHJpcHBlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvc3RyLXRvLW51bVwiO1xuXG5AaW1wb3J0IFwiY3NzMy9hbmltYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL2FwcGVhcmFuY2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tmYWNlLXZpc2liaWxpdHlcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmQtaW1hZ2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JvcmRlci1pbWFnZVwiO1xuQGltcG9ydCBcImNzczMvY2FsY1wiO1xuQGltcG9ydCBcImNzczMvY29sdW1uc1wiO1xuQGltcG9ydCBcImNzczMvZmlsdGVyXCI7XG5AaW1wb3J0IFwiY3NzMy9mbGV4LWJveFwiO1xuQGltcG9ydCBcImNzczMvZm9udC1mYWNlXCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3NcIjtcbkBpbXBvcnQgXCJjc3MzL2hpZHBpLW1lZGlhLXF1ZXJ5XCI7XG5AaW1wb3J0IFwiY3NzMy9oeXBoZW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9pbWFnZS1yZW5kZXJpbmdcIjtcbkBpbXBvcnQgXCJjc3MzL2tleWZyYW1lc1wiO1xuQGltcG9ydCBcImNzczMvbGluZWFyLWdyYWRpZW50XCI7XG5AaW1wb3J0IFwiY3NzMy9wZXJzcGVjdGl2ZVwiO1xuQGltcG9ydCBcImNzczMvcGxhY2Vob2xkZXJcIjtcbkBpbXBvcnQgXCJjc3MzL3JhZGlhbC1ncmFkaWVudFwiO1xuQGltcG9ydCBcImNzczMvc2VsZWN0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy90ZXh0LWRlY29yYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zZm9ybVwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNpdGlvblwiO1xuQGltcG9ydCBcImNzczMvdXNlci1zZWxlY3RcIjtcblxuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItY29sb3JcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItc3R5bGVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYm9yZGVyLXdpZHRoXCI7XG5AaW1wb3J0IFwiYWRkb25zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJhZGRvbnMvZWxsaXBzaXNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvZm9udC1zdGFja3NcIjtcbkBpbXBvcnQgXCJhZGRvbnMvaGlkZS10ZXh0XCI7XG5AaW1wb3J0IFwiYWRkb25zL21hcmdpblwiO1xuQGltcG9ydCBcImFkZG9ucy9wYWRkaW5nXCI7XG5AaW1wb3J0IFwiYWRkb25zL3Bvc2l0aW9uXCI7XG5AaW1wb3J0IFwiYWRkb25zL3ByZWZpeGVyXCI7XG5AaW1wb3J0IFwiYWRkb25zL3JldGluYS1pbWFnZVwiO1xuQGltcG9ydCBcImFkZG9ucy9zaXplXCI7XG5AaW1wb3J0IFwiYWRkb25zL3RleHQtaW5wdXRzXCI7XG5AaW1wb3J0IFwiYWRkb25zL3RpbWluZy1mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdHJpYW5nbGVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvd29yZC13cmFwXCI7XG5cbkBpbXBvcnQgXCJib3VyYm9uLWRlcHJlY2F0ZWQtdXBjb21pbmdcIjtcbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdsb2JhbCB2YXJpYWJsZXMgdG8gZW5hYmxlIG9yIGRpc2FibGUgdmVuZG9yIHByZWZpeGVzXG5cbiRwcmVmaXgtZm9yLXdlYmtpdDogICAgdHJ1ZSAhZGVmYXVsdDtcbiRwcmVmaXgtZm9yLW1vemlsbGE6ICAgdHJ1ZSAhZGVmYXVsdDtcbiRwcmVmaXgtZm9yLW1pY3Jvc29mdDogdHJ1ZSAhZGVmYXVsdDtcbiRwcmVmaXgtZm9yLW9wZXJhOiAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRwcmVmaXgtZm9yLXNwZWM6ICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiIsCgkJIiRlbS1iYXNlOiAxNnB4ICFkZWZhdWx0O1xuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQSBnbG9iYWwgc2V0dGluZyB0byBlbmFibGUgb3IgZGlzYWJsZSB0aGUgYCRhc3NldC1waXBlbGluZWAgdmFyaWFibGUgZm9yIGFsbCBmdW5jdGlvbnMgdGhhdCBhY2NlcHQgaXQuXG4vLy9cbi8vLyBAdHlwZSBCb29sXG5cbiRhc3NldC1waXBlbGluZTogZmFsc2UgIWRlZmF1bHQ7XG4iLAoJCSJAZnVuY3Rpb24gYXNzaWduLWlucHV0cygkaW5wdXRzLCAkcHNldWRvOiBudWxsKSB7XG4gICRsaXN0OiAoKTtcblxuICBAZWFjaCAkaW5wdXQgaW4gJGlucHV0cyB7XG4gICAgJGlucHV0OiB1bnF1b3RlKCRpbnB1dCk7XG4gICAgJGlucHV0OiBpZigkcHNldWRvLCAkaW5wdXQgKyBcIjpcIiArICRwc2V1ZG8sICRpbnB1dCk7XG4gICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJGlucHV0LCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRsaXN0O1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGlmIGEgbGlzdCBjb250YWlucyBhIHZhbHVlKHMpLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0XG4vLy8gICBUaGUgbGlzdCB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsdWVzXG4vLy8gICBBIHNpbmdsZSB2YWx1ZSBvciBsaXN0IG9mIHZhbHVlcyB0byBjaGVjayBmb3IuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIGNvbnRhaW5zKCRsaXN0LCAkdmFsdWUpXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuXG5AZnVuY3Rpb24gY29udGFpbnMoJGxpc3QsICR2YWx1ZXMuLi4pIHtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiB0eXBlLW9mKGluZGV4KCRsaXN0LCAkdmFsdWUpKSAhPSBcIm51bWJlclwiIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGlmIGEgbGlzdCBkb2VzIG5vdCBjb250YWlucyBhIHZhbHVlLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0XG4vLy8gICBUaGUgbGlzdCB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cblxuQGZ1bmN0aW9uIGNvbnRhaW5zLWZhbHN5KCRsaXN0KSB7XG4gIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICBAaWYgbm90ICRpdGVtIHtcbiAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGZhbHNlO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hlY2tzIGZvciBhIHZhbGlkIENTUyBsZW5ndGguXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHZhbHVlXG5cbkBmdW5jdGlvbiBpcy1sZW5ndGgoJHZhbHVlKSB7XG4gIEByZXR1cm4gdHlwZS1vZigkdmFsdWUpICE9IFwibnVsbFwiIGFuZCAoc3RyLXNsaWNlKCR2YWx1ZSArIFwiXCIsIDEsIDQpID09IFwiY2FsY1wiXG4gICAgICAgb3IgaW5kZXgoYXV0byBpbmhlcml0IGluaXRpYWwgMCwgJHZhbHVlKVxuICAgICAgIG9yICh0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiBhbmQgbm90KHVuaXRsZXNzKCR2YWx1ZSkpKSk7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm9ncmFtYXRpY2FsbHkgZGV0ZXJtaW5lcyB3aGV0aGVyIGEgY29sb3IgaXMgbGlnaHQgb3IgZGFyay5cbi8vL1xuLy8vIEBsaW5rIGh0dHA6Ly9yb2JvdHMudGhvdWdodGJvdC5jb20vY2xvc2VyLWxvb2stY29sb3ItbGlnaHRuZXNzXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yIChIZXgpfSAkY29sb3Jcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgaXMtbGlnaHQoJGNvbG9yKVxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cblxuQGZ1bmN0aW9uIGlzLWxpZ2h0KCRoZXgtY29sb3IpIHtcbiAgJC1sb2NhbC1yZWQ6IHJlZChyZ2JhKCRoZXgtY29sb3IsIDEpKTtcbiAgJC1sb2NhbC1ncmVlbjogZ3JlZW4ocmdiYSgkaGV4LWNvbG9yLCAxKSk7XG4gICQtbG9jYWwtYmx1ZTogYmx1ZShyZ2JhKCRoZXgtY29sb3IsIDEpKTtcbiAgJC1sb2NhbC1saWdodG5lc3M6ICgkLWxvY2FsLXJlZCAqIDAuMjEyNiArICQtbG9jYWwtZ3JlZW4gKiAwLjcxNTIgKyAkLWxvY2FsLWJsdWUgKiAwLjA3MjIpIC8gMjU1O1xuXG4gIEByZXR1cm4gJC1sb2NhbC1saWdodG5lc3MgPiAwLjY7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgbnVtYmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZVxuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb250YWluc1xuXG5AZnVuY3Rpb24gaXMtbnVtYmVyKCR2YWx1ZSkge1xuICBAcmV0dXJuIGNvbnRhaW5zKFwiMFwiIFwiMVwiIFwiMlwiIFwiM1wiIFwiNFwiIFwiNVwiIFwiNlwiIFwiN1wiIFwiOFwiIFwiOVwiIDAgMSAyIDMgNCA1IDYgNyA4IDksICR2YWx1ZSk7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgQ1NTIHNpemUuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHZhbHVlXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBpcy1sZW5ndGhcblxuQGZ1bmN0aW9uIGlzLXNpemUoJHZhbHVlKSB7XG4gIEByZXR1cm4gaXMtbGVuZ3RoKCR2YWx1ZSlcbiAgICAgICAgICBvciBjb250YWlucyhcImZpbGxcIiBcImZpdC1jb250ZW50XCIgXCJtaW4tY29udGVudFwiIFwibWF4LWNvbnRlbnRcIiwgJHZhbHVlKTtcbn1cbiIsCgkJIi8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSBlbSgxMikgd2hlbiB0aGUgcGFyZW50IGlzIDE2cHhcbi8vIGlmIHRoZSBwYXJlbnQgaXMgYW5vdGhlciB2YWx1ZSBzYXkgMjRweCB3cml0ZSBlbSgxMiwgMjQpXG5cbkBmdW5jdGlvbiBlbSgkcHh2YWwsICRiYXNlOiAkZW0tYmFzZSkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxZW07XG59XG4iLAoJCSIvLyBDb252ZXJ0IHBpeGVscyB0byByZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIHJlbSgxMilcbi8vIEFzc3VtZXMgJGVtLWJhc2UgaXMgdGhlIGZvbnQtc2l6ZSBvZiA8aHRtbD5cblxuQGZ1bmN0aW9uIHJlbSgkcHh2YWwpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcbiAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gIH1cblxuICAkYmFzZTogJGVtLWJhc2U7XG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xuICB9XG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFyZW07XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBNaXhlcyBhIGNvbG9yIHdpdGggYmxhY2suXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3Jcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIChQZXJjZW50YWdlKX0gJHBlcmNlbnRcbi8vLyAgIFRoZSBhbW91bnQgb2YgYmxhY2sgdG8gYmUgbWl4ZWQgaW4uXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogc2hhZGUoI2ZmYmI1MiwgNjAlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NGEyMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXR1cm4ge0NvbG9yfVxuXG5AZnVuY3Rpb24gc2hhZGUoJGNvbG9yLCAkcGVyY2VudCkge1xuICBAcmV0dXJuIG1peCgjMDAwLCAkY29sb3IsICRwZXJjZW50KTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFN0cmlwcyB0aGUgdW5pdCBmcm9tIGEgbnVtYmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFdpdGggVW5pdCl9ICR2YWx1ZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAkZGltZW5zaW9uOiBzdHJpcC11bml0cygxMGVtKTtcbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgICRkaW1lbnNpb246IDEwO1xuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyIChVbml0bGVzcyl9XG5cbkBmdW5jdGlvbiBzdHJpcC11bml0cygkdmFsdWUpIHtcbiAgQHJldHVybiAoJHZhbHVlIC8gKCR2YWx1ZSAqIDAgKyAxKSk7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBNaXhlcyBhIGNvbG9yIHdpdGggd2hpdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3Jcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIChQZXJjZW50YWdlKX0gJHBlcmNlbnRcbi8vLyAgIFRoZSBhbW91bnQgb2Ygd2hpdGUgdG8gYmUgbWl4ZWQgaW4uXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogdGludCgjNmVjYWE2LCA0MCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThkZmM5O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJldHVybiB7Q29sb3J9XG5cbkBmdW5jdGlvbiB0aW50KCRjb2xvciwgJHBlcmNlbnQpIHtcbiAgQHJldHVybiBtaXgoI2ZmZiwgJGNvbG9yLCAkcGVyY2VudCk7XG59XG4iLAoJCSIvLyBSZXR1cm4gdmVuZG9yLXByZWZpeGVkIHByb3BlcnR5IG5hbWVzIGlmIGFwcHJvcHJpYXRlXG4vLyBFeGFtcGxlOiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCh0cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kKSwgbW96KSAtPiAtbW96LXRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmRcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wcywgJHZlbmRvcjogZmFsc2UpIHtcbiAgJG5ldy1wcm9wczogKCk7XG5cbiAgQGVhY2ggJHByb3AgaW4gJHByb3BzIHtcbiAgICAkbmV3LXByb3BzOiBhcHBlbmQoJG5ldy1wcm9wcywgdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yKSwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkbmV3LXByb3BzO1xufVxuXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yOiBmYWxzZSkge1xuICAvLyBwdXQgb3RoZXIgcHJvcGVydGllcyB0aGF0IG5lZWQgdG8gYmUgcHJlZml4ZWQgaGVyZSBhc3dlbGxcbiAgQGlmICR2ZW5kb3IgYW5kICRwcm9wID09IHRyYW5zZm9ybSB7XG4gICAgQHJldHVybiB1bnF1b3RlKCctJyskdmVuZG9yKyctJyskcHJvcCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJHByb3A7XG4gIH1cbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENvbnZlcnRzIHNob3J0aGFuZCB0byB0aGUgNC12YWx1ZSBzeW50YXguXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG9ydGhhbmRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW46IHVucGFjaygxZW0gMmVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luOiAxZW0gMmVtIDFlbSAyZW07XG4vLy8gICB9XG5cbkBmdW5jdGlvbiB1bnBhY2soJHNob3J0aGFuZCkge1xuICBAaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDEge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAyIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKTtcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMyB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAzKSBudGgoJHNob3J0aGFuZCwgMik7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJHNob3J0aGFuZDtcbiAgfVxufVxuIiwKCQkiLy8gU2NhbGluZyBWYXJpYWJsZXNcbiRnb2xkZW46ICAgICAgICAgICAxLjYxODtcbiRtaW5vci1zZWNvbmQ6ICAgICAxLjA2NztcbiRtYWpvci1zZWNvbmQ6ICAgICAxLjEyNTtcbiRtaW5vci10aGlyZDogICAgICAxLjI7XG4kbWFqb3ItdGhpcmQ6ICAgICAgMS4yNTtcbiRwZXJmZWN0LWZvdXJ0aDogICAxLjMzMztcbiRhdWdtZW50ZWQtZm91cnRoOiAxLjQxNDtcbiRwZXJmZWN0LWZpZnRoOiAgICAxLjU7XG4kbWlub3Itc2l4dGg6ICAgICAgMS42O1xuJG1ham9yLXNpeHRoOiAgICAgIDEuNjY3O1xuJG1pbm9yLXNldmVudGg6ICAgIDEuNzc4O1xuJG1ham9yLXNldmVudGg6ICAgIDEuODc1O1xuJG9jdGF2ZTogICAgICAgICAgIDI7XG4kbWFqb3ItdGVudGg6ICAgICAgMi41O1xuJG1ham9yLWVsZXZlbnRoOiAgIDIuNjY3O1xuJG1ham9yLXR3ZWxmdGg6ICAgIDM7XG4kZG91YmxlLW9jdGF2ZTogICAgNDtcblxuJG1vZHVsYXItc2NhbGUtcmF0aW86ICRwZXJmZWN0LWZvdXJ0aCAhZGVmYXVsdDtcbiRtb2R1bGFyLXNjYWxlLWJhc2U6IGVtKCRlbS1iYXNlKSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlOiAkbW9kdWxhci1zY2FsZS1iYXNlLCAkcmF0aW86ICRtb2R1bGFyLXNjYWxlLXJhdGlvKSB7XG4gICR2MTogbnRoKCR2YWx1ZSwgMSk7XG4gICR2MjogbnRoKCR2YWx1ZSwgbGVuZ3RoKCR2YWx1ZSkpO1xuICAkdmFsdWU6ICR2MTtcblxuICAvLyBzY2FsZSAkdjIgdG8ganVzdCBhYm92ZSAkdjFcbiAgQHdoaWxlICR2MiA+ICR2MSB7XG4gICAgJHYyOiAoJHYyIC8gJHJhdGlvKTsgLy8gd2lsbCBiZSBvZmYtYnktMVxuICB9XG4gIEB3aGlsZSAkdjIgPCAkdjEge1xuICAgICR2MjogKCR2MiAqICRyYXRpbyk7IC8vIHdpbGwgZml4IG9mZi1ieS0xXG4gIH1cblxuICAvLyBjaGVjayBBRlRFUiBzY2FsaW5nICR2MiB0byBwcmV2ZW50IGRvdWJsZS1jb3VudGluZyBjb3JuZXItY2FzZVxuICAkZG91YmxlLXN0cmFuZGVkOiAkdjIgPiAkdjE7XG5cbiAgQGlmICRpbmNyZW1lbnQgPiAwIHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRpbmNyZW1lbnQge1xuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgKiAkcmF0aW8pID4gJHYyIHtcbiAgICAgICAgJHZhbHVlOiAkdjI7XG4gICAgICAgICR2MjogKCR2MiAqICRyYXRpbyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHYxOiAoJHYxICogJHJhdGlvKTtcbiAgICAgICAgJHZhbHVlOiAkdjE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRpbmNyZW1lbnQgPCAwIHtcbiAgICAvLyBhZGp1c3QgJHYyIHRvIGp1c3QgYmVsb3cgJHYxXG4gICAgQGlmICRkb3VibGUtc3RyYW5kZWQge1xuICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gJGluY3JlbWVudCB0aHJvdWdoIC0xIHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxIC8gJHJhdGlvKSA8ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAvICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwKCQkiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBzdHItdG8tbnVtIGZuLlxuLy8gU291cmNlOiBodHRwOi8vc2Fzc21laXN0ZXIuY29tL2dpc3QvOTY0NzQwOFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIF9jb252ZXJ0LXVuaXRzKCRudW1iZXIsICR1bml0KSB7XG4gICRzdHJpbmdzOiBcInB4XCIsIFwiY21cIiwgXCJtbVwiLCBcIiVcIiwgXCJjaFwiLCBcInBpY2FcIiwgXCJpblwiLCBcImVtXCIsIFwicmVtXCIsIFwicHRcIiwgXCJwY1wiLCBcImV4XCIsIFwidndcIiwgXCJ2aFwiLCBcInZtaW5cIiwgXCJ2bWF4XCIsIFwiZGVnXCIsIFwicmFkXCIsIFwiZ3JhZFwiLCBcInR1cm5cIjtcbiAgJHVuaXRzOiAgIDFweCwgMWNtLCAxbW0sIDElLCAxY2gsIDFwaWNhLCAxaW4sIDFlbSwgMXJlbSwgMXB0LCAxcGMsIDFleCwgMXZ3LCAxdmgsIDF2bWluLCAxdm1heCwgMWRlZywgMXJhZCwgMWdyYWQsIDF0dXJuO1xuICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkdW5pdCk7XG5cbiAgQGlmIG5vdCAkaW5kZXgge1xuICAgIEB3YXJuIFwiVW5rbm93biB1bml0IGAjeyR1bml0fWAuXCI7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRudW1iZXIpICE9IFwibnVtYmVyXCIge1xuICAgIEB3YXJuIFwiYCN7JG51bWJlcn0gaXMgbm90IGEgbnVtYmVyYFwiO1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBAcmV0dXJuICRudW1iZXIgKiBudGgoJHVuaXRzLCAkaW5kZXgpO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gRGlyZWN0aW9uYWwtcHJvcGVydHkgbWl4aW5zIGFyZSBzaG9ydGhhbmRzIGZvciB3cml0aW5nIHByb3BlcnRpZXMgbGlrZSB0aGUgZm9sbG93aW5nXG4vLy9cbi8vLyBAaWdub3JlIFlvdSBjYW4gYWxzbyB1c2UgYGZhbHNlYCBpbnN0ZWFkIG9mIGBudWxsYC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgZGlyZWN0aW9uYWwgdmFsdWVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXN0eWxlKGRvdHRlZCBudWxsKTtcbi8vLyAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgMCAxMHB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkO1xuLy8vICAgICBib3JkZXItdG9wLXN0eWxlOiBkb3R0ZWQ7XG4vLy8gICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAwO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zLWZhbHN5XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fVxuXG5AZnVuY3Rpb24gY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKSB7XG4gICRvdXRwdXQ6IG51bGw7XG5cbiAgJGE6IG50aCgkdmFscywgMSk7XG4gICRiOiBpZihsZW5ndGgoJHZhbHMpIDwgMiwgJGEsIG50aCgkdmFscywgMikpO1xuICAkYzogaWYobGVuZ3RoKCR2YWxzKSA8IDMsICRhLCBudGgoJHZhbHMsIDMpKTtcbiAgJGQ6IGlmKGxlbmd0aCgkdmFscykgPCAyLCAkYSwgbnRoKCR2YWxzLCBpZihsZW5ndGgoJHZhbHMpIDwgNCwgMiwgNCkpKTtcblxuICBAaWYgJGEgPT0gMCB7ICRhOiAwOyB9XG4gIEBpZiAkYiA9PSAwIHsgJGI6IDA7IH1cbiAgQGlmICRjID09IDAgeyAkYzogMDsgfVxuICBAaWYgJGQgPT0gMCB7ICRkOiAwOyB9XG5cbiAgQGlmICRhID09ICRiIGFuZCAkYSA9PSAkYyBhbmQgJGEgPT0gJGQgeyAkb3V0cHV0OiAkYTsgICAgICAgICAgfVxuICBAZWxzZSBpZiAkYSA9PSAkYyBhbmQgJGIgPT0gJGQgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiOyAgICAgICB9XG4gIEBlbHNlIGlmICRiID09ICRkICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJGEgJGIgJGM7ICAgIH1cbiAgQGVsc2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYyAkZDsgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cblxuLy8vIE91dHB1dCBkaXJlY3Rpb25hbCBwcm9wZXJ0aWVzLCBmb3IgaW5zdGFuY2UgYG1hcmdpbmAuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJlXG4vLy8gICBQcmVmaXggdG8gdXNlXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdWZcbi8vLyAgIFN1ZmZpeCB0byB1c2Vcbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIHZhbHVlc1xuLy8vXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb2xsYXBzZS1kaXJlY3Rpb25hbHNcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zLWZhbHN5XG5cbkBtaXhpbiBkaXJlY3Rpb25hbC1wcm9wZXJ0eSgkcHJlLCAkc3VmLCAkdmFscykge1xuICAvLyBQcm9wZXJ0eSBOYW1lc1xuICAkdG9wOiAgICAkcHJlICsgXCItdG9wXCIgICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYm90dG9tOiAkcHJlICsgXCItYm90dG9tXCIgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkbGVmdDogICAkcHJlICsgXCItbGVmdFwiICAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkcmlnaHQ6ICAkcHJlICsgXCItcmlnaHRcIiAgKyBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuICAkYWxsOiAgICAkcHJlICsgICAgICAgICAgICAgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcblxuICAkdmFsczogY29sbGFwc2UtZGlyZWN0aW9uYWxzKCR2YWxzKTtcblxuICBAaWYgY29udGFpbnMtZmFsc3koJHZhbHMpIHtcbiAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHRvcH06IG50aCgkdmFscywgMSk7IH1cblxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDEge1xuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRyaWdodH06IG50aCgkdmFscywgMSk7IH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDIpOyB9XG4gICAgfVxuXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMiB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMSk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDIpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCAyKTsgfVxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSAzIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDQge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCA0KSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgNCk7IH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7JGFsbH06ICR2YWxzO1xuICB9XG59XG4iLAoJCSIvLyBVc2VkIGZvciBjcmVhdGluZyB0aGUgc291cmNlIHN0cmluZyBmb3IgZm9udHMgdXNpbmcgQGZvbnQtZmFjZVxuLy8gUmVmZXJlbmNlOiBodHRwOi8vZ29vLmdsL1J1MWJLUFxuXG5AZnVuY3Rpb24gZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKSB7XG4gIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XG4gICAgQHJldHVybiBmb250LXVybDtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiB1cmw7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxuICAkZm9udC1mYW1pbHksXG4gICRmaWxlLXBhdGgsXG4gICRhc3NldC1waXBlbGluZSxcbiAgJGZpbGUtZm9ybWF0cyxcbiAgJGZvbnQtdXJsKSB7XG5cbiAgJHNyYzogKCk7XG5cbiAgJGZvcm1hdHMtbWFwOiAoXG4gICAgZW90OiAgIFwiI3skZmlsZS1wYXRofS5lb3Q/I2llZml4XCIgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgd29mZjI6IFwiI3skZmlsZS1wYXRofS53b2ZmMlwiIGZvcm1hdChcIndvZmYyXCIpLFxuICAgIHdvZmY6ICBcIiN7JGZpbGUtcGF0aH0ud29mZlwiIGZvcm1hdChcIndvZmZcIiksXG4gICAgdHRmOiAgIFwiI3skZmlsZS1wYXRofS50dGZcIiBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgICBzdmc6ICAgXCIjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX1cIiBmb3JtYXQoXCJzdmdcIilcbiAgKTtcblxuICBAZWFjaCAka2V5LCAkdmFsdWVzIGluICRmb3JtYXRzLW1hcCB7XG4gICAgQGlmIGNvbnRhaW5zKCRmaWxlLWZvcm1hdHMsICRrZXkpIHtcbiAgICAgICRmaWxlLXBhdGg6IG50aCgkdmFsdWVzLCAxKTtcbiAgICAgICRmb250LWZvcm1hdDogbnRoKCR2YWx1ZXMsIDIpO1xuXG4gICAgICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgZm9udC11cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIHVybCgkZmlsZS1wYXRoKSAkZm9udC1mb3JtYXQsIGNvbW1hKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzcmM7XG59XG4iLAoJCSJAZnVuY3Rpb24gX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXR5cGUsICRncmFkaWVudC1wb3NpdGlvbnMpIHtcbiAgQGlmICRncmFkaWVudC1wb3NpdGlvbnNcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSBsaW5lYXIpXG4gIGFuZCAodHlwZS1vZigkZ3JhZGllbnQtcG9zaXRpb25zKSAhPSBjb2xvcikge1xuICAgICRncmFkaWVudC1wb3NpdGlvbnM6IF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zaXRpb25zKTtcbiAgfVxuICBAZWxzZSBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gcmFkaWFsKVxuICBhbmQgKHR5cGUtb2YoJGdyYWRpZW50LXBvc2l0aW9ucykgIT0gY29sb3IpIHtcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XG4gIH1cbiAgQHJldHVybiAkZ3JhZGllbnQtcG9zaXRpb25zO1xufVxuIiwKCQkiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuQGZ1bmN0aW9uIF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCkge1xuICAkb2Zmc2V0OiBudWxsO1xuICAkdW5pdC1zaG9ydDogIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMiwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICR1bml0LWxvbmc6ICAgc3RyLXNsaWNlKCRmaXJzdC12YWwsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkgLSAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcblxuICBAaWYgKCR1bml0LWxvbmcgPT0gXCJncmFkXCIpIG9yXG4gICAgICAoJHVuaXQtbG9uZyA9PSBcInR1cm5cIikge1xuICAgICRvZmZzZXQ6IGlmKCR1bml0LWxvbmcgPT0gXCJncmFkXCIsIC0xMDBncmFkICogMywgLTAuNzV0dXJuKTtcbiAgfVxuXG4gIEBlbHNlIGlmICgkdW5pdC1zaG9ydCA9PSBcImRlZ1wiKSBvclxuICAgICAgICAgICAoJHVuaXQtc2hvcnQgPT0gXCJyYWRcIikge1xuICAgICRvZmZzZXQ6IGlmKCR1bml0LXNob3J0ID09IFwiZGVnXCIsIC05MCAqIDMsIDEuNnJhZCk7XG4gIH1cblxuICBAaWYgJG9mZnNldCB7XG4gICAgJG51bTogX3N0ci10by1udW0oJGZpcnN0LXZhbCk7XG5cbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgKCRvZmZzZXQgLSAkbnVtKSArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG59XG4iLAoJCSJAZnVuY3Rpb24gX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xuICAkZ3JhZGllbnRzOiAoKTtcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xuXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDEsICRzdGFydCk7XG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XG5cbiAgJGhhcy1tdWx0aXBsZS12YWxzOiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCIgXCIpO1xuICAkaGFzLXNpbmdsZS1wb3NpdGlvbjogdW5xdW90ZShfcG9zaXRpb24tZmxpcHBlcigkZmlyc3QtdmFsKSArIFwiXCIpO1xuICAkaGFzLWFuZ2xlOiBpcy1udW1iZXIoc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsIDEpKTtcblxuICBAaWYgJGhhcy1tdWx0aXBsZS12YWxzIHtcbiAgICAkZ3JhZGllbnRzOiBfbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgsICRoYXMtbXVsdGlwbGUtdmFscyk7XG4gIH1cblxuICBAZWxzZSBpZiAkaGFzLXNpbmdsZS1wb3NpdGlvbiAhPSBcIlwiIHtcbiAgICAkcG9zOiB1bnF1b3RlKCRoYXMtc2luZ2xlLXBvc2l0aW9uICsgXCJcIik7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJHByZWZpeCArIFwidG8gXCIgKyAkcG9zICsgJHN1ZmZpeFxuICAgICk7XG4gIH1cblxuICBAZWxzZSBpZiAkaGFzLWFuZ2xlIHtcbiAgICAvLyBSb3RhdGUgZGVncmVlIGZvciB3ZWJraXRcbiAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWFuZ2xlLXBhcnNlcigkaW1hZ2UsICRmaXJzdC12YWwsICRwcmVmaXgsICRzdWZmaXgpO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQHJldHVybiAkZ3JhZGllbnRzO1xufVxuIiwKCQkiQGZ1bmN0aW9uIF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkcG9zKSB7XG4gICR0eXBlOiB0eXBlLW9mKG50aCgkcG9zLCAxKSk7XG4gICRzcGVjOiBudWxsO1xuICAkZGVncmVlOiBudWxsO1xuICAkc2lkZTogbnVsbDtcbiAgJGNvcm5lcjogbnVsbDtcbiAgJGxlbmd0aDogbGVuZ3RoKCRwb3MpO1xuICAvLyBQYXJzZSBTaWRlIGFuZCBjb3JuZXIgcG9zaXRpb25zXG4gIEBpZiAoJGxlbmd0aCA+IDEpIHtcbiAgICBAaWYgbnRoKCRwb3MsIDEpID09IFwidG9cIiB7IC8vIE5ld2VyIHN5bnRheFxuICAgICAgJHNpZGU6IG50aCgkcG9zLCAyKTtcblxuICAgICAgQGlmICRsZW5ndGggPT0gMiB7IC8vIGVnLiB0byB0b3BcbiAgICAgICAgLy8gU3dhcCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRsZW5ndGggPT0gMyB7IC8vIGVnLiB0byB0b3AgbGVmdFxuICAgICAgICAkY29ybmVyOiBudGgoJHBvcywgMyk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRsZW5ndGggPT0gMiB7IC8vIE9sZGVyIHN5bnRheCAoXCJ0b3AgbGVmdFwiKVxuICAgICAgJHNpZGU6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAxKSk7XG4gICAgICAkY29ybmVyOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMikpO1xuICAgIH1cblxuICAgIEBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJsZWZ0IHRvcFwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJ0b3AgbGVmdFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInJpZ2h0IHRvcFwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJ0b3AgcmlnaHRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCBib3R0b21cIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwiYm90dG9tIHJpZ2h0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCBib3R0b21cIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwiYm90dG9tIGxlZnRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICAkc3BlYzogdG8gJHNpZGUgJGNvcm5lcjtcbiAgfVxuICBAZWxzZSBpZiAkbGVuZ3RoID09IDEge1xuICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgQGlmICR0eXBlID09IHN0cmluZyB7XG4gICAgICAkZGVncmVlOiAkcG9zO1xuICAgICAgJHNwZWM6IHRvIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkZGVncmVlOiAtMjcwIC0gJHBvczsgLy9yb3RhdGUgdGhlIGdyYWRpZW50IG9wcG9zaXRlIGZyb20gc3BlY1xuICAgICAgJHNwZWM6ICRwb3M7XG4gICAgfVxuICB9XG4gICRkZWdyZWU6IHVucXVvdGUoJGRlZ3JlZSArIFwiLFwiKTtcbiAgJHNwZWM6ICAgdW5xdW90ZSgkc3BlYyArIFwiLFwiKTtcbiAgQHJldHVybiAkZGVncmVlICRzcGVjO1xufVxuXG5AZnVuY3Rpb24gX3Bvc2l0aW9uLWZsaXBwZXIoJHBvcykge1xuICBAcmV0dXJuIGlmKCRwb3MgPT0gbGVmdCwgcmlnaHQsIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IHJpZ2h0LCBsZWZ0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSB0b3AsIGJvdHRvbSwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gYm90dG9tLCB0b3AsIG51bGwpO1xufVxuIiwKCQkiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuQGZ1bmN0aW9uIF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKSB7XG4gICR2YWwtMTogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsICRoYXMtbXVsdGlwbGUtdmFscyAtIDEpO1xuICAkdmFsLTI6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaGFzLW11bHRpcGxlLXZhbHMgKyAxLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcbiAgJHZhbC0zOiBudWxsO1xuICAkaGFzLXZhbC0zOiBzdHItaW5kZXgoJHZhbC0yLCBcIiBcIik7XG5cbiAgQGlmICRoYXMtdmFsLTMge1xuICAgICR2YWwtMzogc3RyLXNsaWNlKCR2YWwtMiwgJGhhcy12YWwtMyArIDEsIHN0ci1sZW5ndGgoJHZhbC0yKSk7XG4gICAgJHZhbC0yOiBzdHItc2xpY2UoJHZhbC0yLCAxLCAkaGFzLXZhbC0zIC0gMSk7XG4gIH1cblxuICAkcG9zOiBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTEpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMikgX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0zKTtcbiAgJHBvczogdW5xdW90ZSgkcG9zICsgXCJcIik7XG5cbiAgLy8gVXNlIG9sZCBzcGVjIGZvciB3ZWJraXRcbiAgQGlmICR2YWwtMSA9PSBcInRvXCIge1xuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICAvLyBCcmluZyB0aGUgY29kZSB1cCB0byBzcGVjXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkcHJlZml4ICsgXCJ0byBcIiArICRwb3MgKyAkc3VmZml4XG4gICAgKTtcbiAgfVxufVxuIiwKCQkiQGZ1bmN0aW9uIF9yYWRpYWwtYXJnLXBhcnNlcigkZzEsICRnMiwgJHBvcywgJHNoYXBlLXNpemUpIHtcbiAgQGVhY2ggJHZhbHVlIGluICRnMSwgJGcyIHtcbiAgICAkZmlyc3QtdmFsOiBudGgoJHZhbHVlLCAxKTtcbiAgICAkcG9zLXR5cGU6ICB0eXBlLW9mKCRmaXJzdC12YWwpO1xuICAgICRzcGVjLWF0LWluZGV4OiBudWxsO1xuXG4gICAgLy8gRGV0ZXJtaW5lIGlmIHNwZWMgd2FzIHBhc3NlZCB0byBtaXhpblxuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbGlzdCB7XG4gICAgICAkc3BlYy1hdC1pbmRleDogaWYoaW5kZXgoJHZhbHVlLCBhdCksIGluZGV4KCR2YWx1ZSwgYXQpLCBmYWxzZSk7XG4gICAgfVxuICAgIEBpZiAkc3BlYy1hdC1pbmRleCB7XG4gICAgICBAaWYgJHNwZWMtYXQtaW5kZXggPiAxIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAoJHNwZWMtYXQtaW5kZXggLSAxKSB7XG4gICAgICAgICAgJHNoYXBlLXNpemU6ICRzaGFwZS1zaXplIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgICBAZm9yICRpIGZyb20gKCRzcGVjLWF0LWluZGV4ICsgMSkgdGhyb3VnaCBsZW5ndGgoJHZhbHVlKSB7XG4gICAgICAgICAgJHBvczogJHBvcyBudGgoJHZhbHVlLCAkaSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRzcGVjLWF0LWluZGV4ID09IDEge1xuICAgICAgICBAZm9yICRpIGZyb20gKCRzcGVjLWF0LWluZGV4ICsgMSkgdGhyb3VnaCBsZW5ndGgoJHZhbHVlKSB7XG4gICAgICAgICAgJHBvczogJHBvcyBudGgoJHZhbHVlLCAkaSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICRnMTogbnVsbDtcbiAgICB9XG5cbiAgICAvLyBJZiBub3Qgc3BlYyBjYWxjdWxhdGUgY29ycmVjdCB2YWx1ZXNcbiAgICBAZWxzZSB7XG4gICAgICBAaWYgKCRwb3MtdHlwZSAhPSBjb2xvcikgb3IgKCRmaXJzdC12YWwgIT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgICAgIEBpZiAoJHBvcy10eXBlID09IG51bWJlcilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjZW50ZXJcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJ0b3BcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJyaWdodFwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImJvdHRvbVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImxlZnRcIikge1xuXG4gICAgICAgICAgJHBvczogJHZhbHVlO1xuXG4gICAgICAgICAgQGlmICRwb3MgPT0gJGcxIHtcbiAgICAgICAgICAgICRnMTogbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSBpZlxuICAgICAgICAgICAoJGZpcnN0LXZhbCA9PSBcImVsbGlwc2VcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjaXJjbGVcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjbG9zZXN0LXNpZGVcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjbG9zZXN0LWNvcm5lclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImZhcnRoZXN0LXNpZGVcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJmYXJ0aGVzdC1jb3JuZXJcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb250YWluXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY292ZXJcIikge1xuXG4gICAgICAgICAgJHNoYXBlLXNpemU6ICR2YWx1ZTtcblxuICAgICAgICAgIEBpZiAkdmFsdWUgPT0gJGcxIHtcbiAgICAgICAgICAgICRnMTogbnVsbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWxzZSBpZiAkdmFsdWUgPT0gJGcyIHtcbiAgICAgICAgICAgICRnMjogbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQHJldHVybiAkZzEsICRnMiwgJHBvcywgJHNoYXBlLXNpemU7XG59XG4iLAoJCSJAZnVuY3Rpb24gX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3MpIHtcbiAgJHNoYXBlLXNpemU6IG50aCgkZ3JhZGllbnQtcG9zLCAxKTtcbiAgJHBvczogICAgICAgIG50aCgkZ3JhZGllbnQtcG9zLCAyKTtcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xuXG4gICRwcmUtc3BlYzogdW5xdW90ZShpZigkcG9zLCBcIiN7JHBvc30sIFwiLCBudWxsKSlcbiAgICAgICAgICAgICB1bnF1b3RlKGlmKCRzaGFwZS1zaXplLCBcIiN7JHNoYXBlLXNpemV9LFwiLCBudWxsKSk7XG4gICRwb3Mtc3BlYzogaWYoJHBvcywgXCJhdCAjeyRwb3N9XCIsIG51bGwpO1xuXG4gICRzcGVjOiBcIiN7JHNoYXBlLXNpemUtc3BlY30gI3skcG9zLXNwZWN9XCI7XG5cbiAgLy8gQWRkIGNvbW1hXG4gIEBpZiAoJHNwZWMgIT0gXCIgIFwiKSB7XG4gICAgJHNwZWM6IFwiI3skc3BlY30sXCI7XG4gIH1cblxuICBAcmV0dXJuICRwcmUtc3BlYyAkc3BlYztcbn1cbiIsCgkJIkBmdW5jdGlvbiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpIHtcbiAgJGltYWdlOiB1bnF1b3RlKCRpbWFnZSk7XG4gICRncmFkaWVudHM6ICgpO1xuICAkc3RhcnQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiKFwiKTtcbiAgJGVuZDogc3RyLWluZGV4KCRpbWFnZSwgXCIsXCIpO1xuICAkZmlyc3QtdmFsOiBzdHItc2xpY2UoJGltYWdlLCAkc3RhcnQgKyAxLCAkZW5kIC0gMSk7XG5cbiAgJHByZWZpeDogc3RyLXNsaWNlKCRpbWFnZSwgMSwgJHN0YXJ0KTtcbiAgJHN1ZmZpeDogc3RyLXNsaWNlKCRpbWFnZSwgJGVuZCwgc3RyLWxlbmd0aCgkaW1hZ2UpKTtcblxuICAkaXMtc3BlYy1zeW50YXg6IHN0ci1pbmRleCgkZmlyc3QtdmFsLCBcImF0XCIpO1xuXG4gIEBpZiAkaXMtc3BlYy1zeW50YXggYW5kICRpcy1zcGVjLXN5bnRheCA+IDEge1xuICAgICRrZXl3b3JkOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgMSwgJGlzLXNwZWMtc3ludGF4IC0gMik7XG4gICAgJHBvczogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRpcy1zcGVjLXN5bnRheCArIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAgICRwb3M6IGFwcGVuZCgkcG9zLCAka2V5d29yZCwgY29tbWEpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAZWxzZSBpZiAkaXMtc3BlYy1zeW50YXggPT0gMSB7XG4gICAgJHBvczogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRpcy1zcGVjLXN5bnRheCArIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAZWxzZSBpZiBzdHItaW5kZXgoJGltYWdlLCBcImNvdmVyXCIpIG9yIHN0ci1pbmRleCgkaW1hZ2UsIFwiY29udGFpblwiKSB7XG4gICAgQHdhcm4gXCJSYWRpYWwtZ3JhZGllbnQgbmVlZHMgdG8gYmUgdXBkYXRlZCB0byBjb25mb3JtIHRvIGxhdGVzdCBzcGVjLlwiO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiBudWxsLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsCgkJIi8vIFVzZXIgZm9yIGxpbmVhciBhbmQgcmFkaWFsIGdyYWRpZW50cyB3aXRoaW4gYmFja2dyb3VuZC1pbWFnZSBvciBib3JkZXItaW1hZ2UgcHJvcGVydGllc1xuXG5AZnVuY3Rpb24gX3JlbmRlci1ncmFkaWVudHMoJGdyYWRpZW50LXBvc2l0aW9ucywgJGdyYWRpZW50cywgJGdyYWRpZW50LXR5cGUsICR2ZW5kb3I6IGZhbHNlKSB7XG4gICRwcmUtc3BlYzogbnVsbDtcbiAgJHNwZWM6IG51bGw7XG4gICR2ZW5kb3ItZ3JhZGllbnRzOiBudWxsO1xuICBAaWYgJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyIHtcbiAgICBAaWYgJGdyYWRpZW50LXBvc2l0aW9ucyB7XG4gICAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcbiAgICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwge1xuICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xuICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xuICB9XG5cbiAgQGlmICR2ZW5kb3Ige1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiAtI3skdmVuZG9yfS0jeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRwcmUtc3BlY30gJGdyYWRpZW50cyk7XG4gIH1cbiAgQGVsc2UgaWYgJHZlbmRvciA9PSBmYWxzZSB7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IFwiI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skc3BlY30gI3skZ3JhZGllbnRzfSlcIjtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogdW5xdW90ZSgkdmVuZG9yLWdyYWRpZW50cyk7XG4gIH1cbiAgQHJldHVybiAkdmVuZG9yLWdyYWRpZW50cztcbn1cbiIsCgkJIkBmdW5jdGlvbiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSkge1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBudWxsO1xuICBAZWFjaCAkdmFsdWUgaW4gJHNoYXBlLXNpemUge1xuICAgIEBpZiAoJHZhbHVlID09IFwiY292ZXJcIikgb3IgKCR2YWx1ZSA9PSBcImNvbnRhaW5cIikge1xuICAgICAgJHZhbHVlOiBudWxsO1xuICAgIH1cbiAgICAkc2hhcGUtc2l6ZS1zcGVjOiBcIiN7JHNoYXBlLXNpemUtc3BlY30gI3skdmFsdWV9XCI7XG4gIH1cbiAgQHJldHVybiAkc2hhcGUtc2l6ZS1zcGVjO1xufVxuIiwKCQkiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBsaW5lYXIvcmFkaWFsLWdyYWRpZW50LXBhcnNlcnMuXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gX3N0ci10by1udW0oJHN0cmluZykge1xuICAvLyBNYXRyaWNlc1xuICAkc3RyaW5nczogXCIwXCIgXCIxXCIgXCIyXCIgXCIzXCIgXCI0XCIgXCI1XCIgXCI2XCIgXCI3XCIgXCI4XCIgXCI5XCI7XG4gICRudW1iZXJzOiAgMCAgIDEgICAyICAgMyAgIDQgICA1ICAgNiAgIDcgICA4ICAgOTtcblxuICAvLyBSZXN1bHRcbiAgJHJlc3VsdDogMDtcbiAgJGRpdmlkZXI6IDA7XG4gICRtaW51czogZmFsc2U7XG5cbiAgLy8gTG9vcGluZyB0aHJvdWdoIGFsbCBjaGFyYWN0ZXJzXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkc3RyaW5nKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCRzdHJpbmcsICRpLCAkaSk7XG4gICAgJGluZGV4OiBpbmRleCgkc3RyaW5ncywgJGNoYXJhY3Rlcik7XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSBcIi1cIiB7XG4gICAgICAkbWludXM6IHRydWU7XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgJGNoYXJhY3RlciA9PSBcIi5cIiB7XG4gICAgICAkZGl2aWRlcjogMTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgbm90ICRpbmRleCB7XG4gICAgICAgICRyZXN1bHQ6IGlmKCRtaW51cywgJHJlc3VsdCAqIC0xLCAkcmVzdWx0KTtcbiAgICAgICAgQHJldHVybiBfY29udmVydC11bml0cygkcmVzdWx0LCBzdHItc2xpY2UoJHN0cmluZywgJGkpKTtcbiAgICAgIH1cblxuICAgICAgJG51bWJlcjogbnRoKCRudW1iZXJzLCAkaW5kZXgpO1xuXG4gICAgICBAaWYgJGRpdmlkZXIgPT0gMCB7XG4gICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMDtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBNb3ZlIHRoZSBkZWNpbWFsIGRvdCB0byB0aGUgbGVmdFxuICAgICAgICAkZGl2aWRlcjogJGRpdmlkZXIgKiAxMDtcbiAgICAgICAgJG51bWJlcjogJG51bWJlciAvICRkaXZpZGVyO1xuICAgICAgfVxuXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgJG51bWJlcjtcbiAgICB9XG4gIH1cbiAgQHJldHVybiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XG59XG4iLAoJCSIvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWFuaW1hdGlvbnMvI3RoZS1hbmltYXRpb24tbmFtZS1wcm9wZXJ0eS1cbi8vIEVhY2ggb2YgdGhlc2UgbWl4aW5zIHN1cHBvcnQgY29tbWEgc2VwYXJhdGVkIGxpc3RzIG9mIHZhbHVlcywgd2hpY2ggYWxsb3dzIGRpZmZlcmVudCB0cmFuc2l0aW9ucyBmb3IgaW5kaXZpZHVhbCBwcm9wZXJ0aWVzIHRvIGJlIGRlc2NyaWJlZCBpbiBhIHNpbmdsZSBzdHlsZSBydWxlLiBFYWNoIHZhbHVlIGluIHRoZSBsaXN0IGNvcnJlc3BvbmRzIHRvIHRoZSB2YWx1ZSBhdCB0aGF0IHNhbWUgcG9zaXRpb24gaW4gdGhlIG90aGVyIHByb3BlcnRpZXMuXG5cbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbnMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLCAkYW5pbWF0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1uYW1lKCRuYW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tbmFtZSwgJG5hbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZHVyYXRpb24sICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oJG1vdGlvbnMuLi4pIHtcbiAgLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgkdmFsdWVzLi4uKSB7XG4gIC8vIGluZmluaXRlIHwgPG51bWJlcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgJHZhbHVlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbnMuLi4pIHtcbiAgLy8gbm9ybWFsIHwgYWx0ZXJuYXRlXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kaXJlY3Rpb24sICRkaXJlY3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLXBsYXktc3RhdGUoJHN0YXRlcy4uLikge1xuICAvLyBydW5uaW5nIHwgcGF1c2VkXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1wbGF5LXN0YXRlLCAkc3RhdGVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWRlbGF5KCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGVsYXksICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUoJG1vZGVzLi4uKSB7XG4gIC8vIG5vbmUgfCBmb3J3YXJkcyB8IGJhY2t3YXJkcyB8IGJvdGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWZpbGwtbW9kZSwgJG1vZGVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwKCQkiQG1peGluIGFwcGVhcmFuY2UoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFwcGVhcmFuY2UsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuIiwKCQkiQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYmFja2ZhY2UtdmlzaWJpbGl0eSwgJHZpc2liaWxpdHksIHdlYmtpdCBzcGVjKTtcbn1cbiIsCgkJIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tncm91bmQgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kcyB1c2luZyBzaG9ydGhhbmRcbi8vIG5vdGF0aW9uLlxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuXG5AbWl4aW4gYmFja2dyb3VuZCgkYmFja2dyb3VuZHMuLi4pIHtcbiAgJHdlYmtpdC1iYWNrZ3JvdW5kczogKCk7XG4gICRzcGVjLWJhY2tncm91bmRzOiAoKTtcblxuICBAZWFjaCAkYmFja2dyb3VuZCBpbiAkYmFja2dyb3VuZHMge1xuICAgICR3ZWJraXQtYmFja2dyb3VuZDogKCk7XG4gICAgJHNwZWMtYmFja2dyb3VuZDogKCk7XG4gICAgJGJhY2tncm91bmQtdHlwZTogdHlwZS1vZigkYmFja2dyb3VuZCk7XG5cbiAgICBAaWYgJGJhY2tncm91bmQtdHlwZSA9PSBzdHJpbmcgb3IgJGJhY2tncm91bmQtdHlwZSA9PSBsaXN0IHtcbiAgICAgICRiYWNrZ3JvdW5kLXN0cjogaWYoJGJhY2tncm91bmQtdHlwZSA9PSBsaXN0LCBudGgoJGJhY2tncm91bmQsIDEpLCAkYmFja2dyb3VuZCk7XG5cbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGJhY2tncm91bmQtc3RyLCAxLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGJhY2tncm91bmQtc3RyLCAxLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoXCIjeyRiYWNrZ3JvdW5kfVwiKTtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKFwiI3skYmFja2dyb3VuZH1cIik7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICAkYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgJHNwZWMtYmFja2dyb3VuZDogICAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAkd2Via2l0LWJhY2tncm91bmRzOiBhcHBlbmQoJHdlYmtpdC1iYWNrZ3JvdW5kcywgJHdlYmtpdC1iYWNrZ3JvdW5kLCBjb21tYSk7XG4gICAgJHNwZWMtYmFja2dyb3VuZHM6ICAgYXBwZW5kKCRzcGVjLWJhY2tncm91bmRzLCAgICRzcGVjLWJhY2tncm91bmQsICAgY29tbWEpO1xuICB9XG5cbiAgYmFja2dyb3VuZDogJHdlYmtpdC1iYWNrZ3JvdW5kcztcbiAgYmFja2dyb3VuZDogJHNwZWMtYmFja2dyb3VuZHM7XG59XG4iLAoJCSIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBCYWNrZ3JvdW5kLWltYWdlIHByb3BlcnR5IGZvciBhZGRpbmcgbXVsdGlwbGUgYmFja2dyb3VuZCBpbWFnZXMgd2l0aFxuLy8gZ3JhZGllbnRzLCBvciBmb3Igc3RyaW5naW5nIG11bHRpcGxlIGdyYWRpZW50cyB0b2dldGhlci5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cblxuQG1peGluIGJhY2tncm91bmQtaW1hZ2UoJGltYWdlcy4uLikge1xuICAkd2Via2l0LWltYWdlczogKCk7XG4gICRzcGVjLWltYWdlczogKCk7XG5cbiAgQGVhY2ggJGltYWdlIGluICRpbWFnZXMge1xuICAgICR3ZWJraXQtaW1hZ2U6ICgpO1xuICAgICRzcGVjLWltYWdlOiAoKTtcblxuICAgIEBpZiAodHlwZS1vZigkaW1hZ2UpID09IHN0cmluZykge1xuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkaW1hZ2UsIDEsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkaW1hZ2UsIDEsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICRpbWFnZTtcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgJGltYWdlO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogIG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpO1xuICAgICAgICAkd2Via2l0LWltYWdlOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWltYWdlOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJHdlYmtpdC1pbWFnZXM6IGFwcGVuZCgkd2Via2l0LWltYWdlcywgJHdlYmtpdC1pbWFnZSwgY29tbWEpO1xuICAgICRzcGVjLWltYWdlczogICBhcHBlbmQoJHNwZWMtaW1hZ2VzLCAgICRzcGVjLWltYWdlLCAgIGNvbW1hKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtaW1hZ2U6ICR3ZWJraXQtaW1hZ2VzO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAkc3BlYy1pbWFnZXM7XG59XG4iLAoJCSJAbWl4aW4gYm9yZGVyLWltYWdlKCRib3JkZXJzLi4uKSB7XG4gICR3ZWJraXQtYm9yZGVyczogKCk7XG4gICRzcGVjLWJvcmRlcnM6ICgpO1xuXG4gIEBlYWNoICRib3JkZXIgaW4gJGJvcmRlcnMge1xuICAgICR3ZWJraXQtYm9yZGVyOiAoKTtcbiAgICAkc3BlYy1ib3JkZXI6ICgpO1xuICAgICRib3JkZXItdHlwZTogdHlwZS1vZigkYm9yZGVyKTtcblxuICAgIEBpZiAkYm9yZGVyLXR5cGUgPT0gc3RyaW5nIG9yIGxpc3Qge1xuICAgICAgJGJvcmRlci1zdHI6IGlmKCRib3JkZXItdHlwZSA9PSBsaXN0LCBudGgoJGJvcmRlciwgMSksICRib3JkZXIpO1xuXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRib3JkZXItc3RyLCAxLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGJvcmRlci1zdHIsIDEsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgJGJvcmRlcjtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYm9yZGVyfVwiKTtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJvcmRlcn1cIik7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgJGJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xuICAgIH1cblxuICAgICR3ZWJraXQtYm9yZGVyczogYXBwZW5kKCR3ZWJraXQtYm9yZGVycywgJHdlYmtpdC1ib3JkZXIsIGNvbW1hKTtcbiAgICAkc3BlYy1ib3JkZXJzOiAgIGFwcGVuZCgkc3BlYy1ib3JkZXJzLCAgICRzcGVjLWJvcmRlciwgICBjb21tYSk7XG4gIH1cblxuICAtd2Via2l0LWJvcmRlci1pbWFnZTogJHdlYmtpdC1ib3JkZXJzO1xuICAgICAgICAgIGJvcmRlci1pbWFnZTogJHNwZWMtYm9yZGVycztcbiAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG4vL0V4YW1wbGVzOlxuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHVybChcImltYWdlLnBuZ1wiKSk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UodXJsKFwiaW1hZ2UucG5nXCIpIDIwIHN0cmV0Y2gpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSBzdHJldGNoKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSAyMCAzMCA0MCA1MCBzdHJldGNoIHJvdW5kKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShyYWRpYWwtZ3JhZGllbnQodG9wLCBjb3Zlciwgb3JhbmdlLCB5ZWxsb3csIG9yYW5nZSkpO1xuIiwKCQkiQG1peGluIGNhbGMoJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgI3skcHJvcGVydHl9OiAtd2Via2l0LWNhbGMoI3skdmFsdWV9KTtcbiAgI3skcHJvcGVydHl9OiBjYWxjKCN7JHZhbHVlfSk7XG59XG4iLAoJCSJAbWl4aW4gY29sdW1ucygkYXJnOiBhdXRvKSB7XG4gIC8vIDxjb2x1bW4tY291bnQ+IHx8IDxjb2x1bW4td2lkdGg+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbnMsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJGludDogYXV0bykge1xuICAvLyBhdXRvIHx8IGludGVnZXJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWNvdW50LCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkbGVuZ3RoOiBub3JtYWwpIHtcbiAgLy8gbm9ybWFsIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tZ2FwLCAkbGVuZ3RoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLWZpbGwoJGFyZzogYXV0bykge1xuICAvLyBhdXRvIHx8IGxlbmd0aFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tZmlsbCwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlKCRhcmcpIHtcbiAgLy8gPGJvcmRlci13aWR0aD4gfHwgPGJvcmRlci1zdHlsZT4gfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZSwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLWNvbG9yKCRjb2xvcikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS1jb2xvciwgJGNvbG9yLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUtc3R5bGUoJHN0eWxlOiBub25lKSB7XG4gIC8vIG5vbmUgfCBoaWRkZW4gfCBkYXNoZWQgfCBkb3R0ZWQgfCBkb3VibGUgfCBncm9vdmUgfCBpbnNldCB8IGluc2V0IHwgb3V0c2V0IHwgcmlkZ2UgfCBzb2xpZFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS1zdHlsZSwgJHN0eWxlLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUtd2lkdGggKCR3aWR0aDogbm9uZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS13aWR0aCwgJHdpZHRoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXNwYW4oJGFyZzogbm9uZSkge1xuICAvLyBub25lIHx8IGFsbFxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tc3BhbiwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi13aWR0aCgkbGVuZ3RoOiBhdXRvKSB7XG4gIC8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi13aWR0aCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsCgkJIkBtaXhpbiBmaWx0ZXIoJGZ1bmN0aW9uOiBub25lKSB7XG4gIC8vIDxmaWx0ZXItZnVuY3Rpb24+IFs8ZmlsdGVyLWZ1bmN0aW9uXSogfCBub25lXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZpbHRlciwgJGZ1bmN0aW9uLCB3ZWJraXQgc3BlYyk7XG59XG4iLAoJCSIvLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcblxuLy8gQ3VzdG9tIHNob3J0aGFuZCBub3RhdGlvbiBmb3IgZmxleGJveFxuQG1peGluIGJveCgkb3JpZW50OiBpbmxpbmUtYXhpcywgJHBhY2s6IHN0YXJ0LCAkYWxpZ246IHN0cmV0Y2gpIHtcbiAgQGluY2x1ZGUgZGlzcGxheS1ib3g7XG4gIEBpbmNsdWRlIGJveC1vcmllbnQoJG9yaWVudCk7XG4gIEBpbmNsdWRlIGJveC1wYWNrKCRwYWNrKTtcbiAgQGluY2x1ZGUgYm94LWFsaWduKCRhbGlnbik7XG59XG5cbkBtaXhpbiBkaXNwbGF5LWJveCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIElFIDEwXG4gIGRpc3BsYXk6IGJveDtcbn1cblxuQG1peGluIGJveC1vcmllbnQoJG9yaWVudDogaW5saW5lLWF4aXMpIHtcbi8vIGhvcml6b250YWx8dmVydGljYWx8aW5saW5lLWF4aXN8YmxvY2stYXhpc3xpbmhlcml0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmllbnQsICRvcmllbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBib3gtcGFjaygkcGFjazogc3RhcnQpIHtcbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8anVzdGlmeVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtcGFjaywgJHBhY2ssIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LXBhY2s6ICRwYWNrOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWFsaWduKCRhbGlnbjogc3RyZXRjaCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxiYXNlbGluZXxzdHJldGNoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsaWduLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1hbGlnbjogJGFsaWduOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWRpcmVjdGlvbigkZGlyZWN0aW9uOiBub3JtYWwpIHtcbi8vIG5vcm1hbHxyZXZlcnNlfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbiwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWxpbmVzKCRsaW5lczogc2luZ2xlKSB7XG4vLyBzaW5nbGV8bXVsdGlwbGVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkbGluZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBib3gtb3JkaW5hbC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmRpbmFsLWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1vcmRlcjogJGludDsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1mbGV4KCR2YWx1ZTogMCkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleCwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleDogJHZhbHVlOyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWZsZXgtZ3JvdXAoJGludDogMSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuLy8gQ1NTMyBGbGV4aWJsZSBCb3ggTW9kZWwgYW5kIHByb3BlcnR5IGRlZmF1bHRzXG4vLyBVbmlmaWVkIGF0dHJpYnV0ZXMgZm9yIDIwMDksIDIwMTEsIGFuZCAyMDEyIGZsYXZvdXJzLlxuXG4vLyAyMDA5IC0gZGlzcGxheSAoYm94IHwgaW5saW5lLWJveClcbi8vIDIwMTEgLSBkaXNwbGF5IChmbGV4Ym94IHwgaW5saW5lLWZsZXhib3gpXG4vLyAyMDEyIC0gZGlzcGxheSAoZmxleCB8IGlubGluZS1mbGV4KVxuQG1peGluIGRpc3BsYXkoJHZhbHVlKSB7XG4vLyBmbGV4IHwgaW5saW5lLWZsZXhcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXhcIiB7XG4gICAgLy8gMjAwOVxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tb3otYm94O1xuICAgIGRpc3BsYXk6IGJveDtcblxuICAgIC8vIDIwMTJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1vei1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94OyAvLyAyMDExIChJRSAxMClcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImlubGluZS1mbGV4XCIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJveDtcblxuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH0gQGVsc2Uge1xuICAgIGRpc3BsYXk6ICR2YWx1ZTtcbiAgfVxufVxuXG4vLyAyMDA5IC0gYm94LWZsZXggKGludGVnZXIpXG4vLyAyMDExIC0gZmxleCAoZGVjaW1hbCB8IHdpZHRoIGRlY2ltYWwpXG4vLyAyMDEyIC0gZmxleCAoaW50ZWdlciBpbnRlZ2VyIHdpZHRoKVxuQG1peGluIGZsZXgoJHZhbHVlKSB7XG5cbiAgLy8gR3JhYiBmbGV4LWdyb3cgZm9yIG9sZGVyIGJyb3dzZXJzLlxuICAkZmxleC1ncm93OiBudGgoJHZhbHVlLCAxKTtcblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkZmxleC1ncm93LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKSwgMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBib3gtb3JpZW50ICggaG9yaXpvbnRhbCB8IHZlcnRpY2FsIHwgaW5saW5lLWF4aXMgfCBibG9jay1heGlzKVxuLy8gICAgICAtIGJveC1kaXJlY3Rpb24gKG5vcm1hbCB8IHJldmVyc2UpXG4vLyAyMDExIC0gZmxleC1kaXJlY3Rpb24gKHJvdyB8IHJvdy1yZXZlcnNlIHwgY29sdW1uIHwgY29sdW1uLXJldmVyc2UpXG4vLyAyMDEyIC0gZmxleC1kaXJlY3Rpb24gKHJvdyB8IHJvdy1yZXZlcnNlIHwgY29sdW1uIHwgY29sdW1uLXJldmVyc2UpXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlOiByb3cpIHtcblxuICAvLyBBbHQgdmFsdWVzLlxuICAkdmFsdWUtMjAwOTogJHZhbHVlO1xuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICAkZGlyZWN0aW9uOiBub3JtYWw7XG5cbiAgQGlmICR2YWx1ZSA9PSByb3cge1xuICAgICR2YWx1ZS0yMDA5OiBob3Jpem9udGFsO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInJvdy1yZXZlcnNlXCIge1xuICAgICR2YWx1ZS0yMDA5OiBob3Jpem9udGFsO1xuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IGNvbHVtbiB7XG4gICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImNvbHVtbi1yZXZlcnNlXCIge1xuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkdmFsdWUtMjAwOSwgd2Via2l0IG1veiBzcGVjKTtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbiwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZGlyZWN0aW9uLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG4vLyAyMDA5IC0gYm94LWxpbmVzIChzaW5nbGUgfCBtdWx0aXBsZSlcbi8vIDIwMTEgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG4vLyAyMDEyIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWU6IG5vd3JhcCkge1xuICAvLyBBbHQgdmFsdWVzXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBub3dyYXAge1xuICAgICRhbHQtdmFsdWU6IHNpbmdsZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gd3JhcCB7XG4gICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwid3JhcC1yZXZlcnNlXCIge1xuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICB9XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXdyYXAsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMiAtIGZsZXgtZmxvdyAoZmxleC1kaXJlY3Rpb24gfHwgZmxleC13cmFwKVxuQG1peGluIGZsZXgtZmxvdygkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1mbG93LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBib3gtb3JkaW5hbC1ncm91cCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4LW9yZGVyIChpbnRlZ2VyKVxuLy8gMjAxMiAtIG9yZGVyIChpbnRlZ2VyKVxuQG1peGluIG9yZGVyKCRpbnQ6IDApIHtcbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKG9yZGVyLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1vcmRlcjogJGludDtcbn1cblxuLy8gMjAxMiAtIGZsZXgtZ3JvdyAobnVtYmVyKVxuQG1peGluIGZsZXgtZ3JvdygkbnVtYmVyOiAwKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZ3JvdywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcG9zaXRpdmU6ICRudW1iZXI7XG59XG5cbi8vIDIwMTIgLSBmbGV4LXNocmluayAobnVtYmVyKVxuQG1peGluIGZsZXgtc2hyaW5rKCRudW1iZXI6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1zaHJpbmssICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1iYXNpcyAobnVtYmVyKVxuQG1peGluIGZsZXgtYmFzaXMoJHdpZHRoOiBhdXRvKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtYmFzaXMsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6ICR3aWR0aDtcbn1cblxuLy8gMjAwOSAtIGJveC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXG4vLyAyMDExIC0gZmxleC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXG4vLyAyMDEyIC0ganVzdGlmeS1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kKVxuQG1peGluIGp1c3RpZnktY29udGVudCgkdmFsdWU6IGZsZXgtc3RhcnQpIHtcblxuICAvLyBBbHQgdmFsdWVzLlxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGVuZDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICRhbHQtdmFsdWU6IGp1c3RpZnk7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGRpc3RyaWJ1dGU7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoanVzdGlmeS1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtcGFjazogJGFsdC12YWx1ZTtcbn1cblxuLy8gMjAwOSAtIGJveC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDExIC0gZmxleC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24taXRlbXMgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1pdGVtcygkdmFsdWU6IHN0cmV0Y2gpIHtcblxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG5cbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZW5kO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtYWxpZ24sICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1pdGVtcywgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWFsaWduOiAkYWx0LXZhbHVlO1xufVxuXG4vLyAyMDExIC0gZmxleC1pdGVtLWFsaWduIChhdXRvIHwgc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24tc2VsZiAoYXV0byB8IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1zZWxmKCR2YWx1ZTogYXV0bykge1xuXG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICR2YWx1ZS0yMDExOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZW5kO1xuICB9XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1zZWxmLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWl0ZW0tYWxpZ246ICR2YWx1ZS0yMDExO1xufVxuXG4vLyAyMDExIC0gZmxleC1saW5lLXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSB8IGRpc3RyaWJ1dGUgfCBzdHJldGNoKVxuLy8gMjAxMiAtIGFsaWduLWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLWNvbnRlbnQoJHZhbHVlOiBzdHJldGNoKSB7XG5cbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcbiAgICAkdmFsdWUtMjAxMToganVzdGlmeTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGRpc3RyaWJ1dGU7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtbGluZS1wYWNrOiAkdmFsdWUtMjAxMTtcbn1cbiIsCgkJIkBtaXhpbiBmb250LWZhY2UoXG4gICRmb250LWZhbWlseSxcbiAgJGZpbGUtcGF0aCxcbiAgJHdlaWdodDogbm9ybWFsLFxuICAkc3R5bGU6IG5vcm1hbCxcbiAgJGFzc2V0LXBpcGVsaW5lOiAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHM6IGVvdCB3b2ZmMiB3b2ZmIHR0ZiBzdmcpIHtcblxuICAkZm9udC11cmwtcHJlZml4OiBmb250LXVybC1wcmVmaXhlcigkYXNzZXQtcGlwZWxpbmUpO1xuXG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgc3JjOiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgICAgICRmb250LWZhbWlseSxcbiAgICAgICRmaWxlLXBhdGgsXG4gICAgICAkYXNzZXQtcGlwZWxpbmUsXG4gICAgICAkZmlsZS1mb3JtYXRzLFxuICAgICAgJGZvbnQtdXJsLXByZWZpeFxuICAgICk7XG4gIH1cbn1cbiIsCgkJIkBtaXhpbiBmb250LWZlYXR1cmUtc2V0dGluZ3MoJHNldHRpbmdzLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHNldHRpbmdzKSA9PSAwIHsgJHNldHRpbmdzOiBub25lOyB9XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZvbnQtZmVhdHVyZS1zZXR0aW5ncywgJHNldHRpbmdzLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuIiwKCQkiLy8gSGlEUEkgbWl4aW4uIERlZmF1bHQgdmFsdWUgc2V0IHRvIDEuMyB0byB0YXJnZXQgR29vZ2xlIE5leHVzIDcgKGh0dHA6Ly9iamFuZ28uY29tL2FydGljbGVzL21pbi1kZXZpY2UtcGl4ZWwtcmF0aW8vKVxuQG1peGluIGhpZHBpKCRyYXRpbzogMS4zKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gIG9ubHkgc2NyZWVuIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogI3skcmF0aW99LzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiByb3VuZCgkcmF0aW8gKiA5NmRwaSkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAkcmF0aW8gKiAxZHBweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLAoJCSJAbWl4aW4gaHlwaGVucygkaHlwaGVuYXRpb246IG5vbmUpIHtcbiAgLy8gbm9uZSB8IG1hbnVhbCB8IGF1dG9cbiAgQGluY2x1ZGUgcHJlZml4ZXIoaHlwaGVucywgJGh5cGhlbmF0aW9uLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuIiwKCQkiQG1peGluIGltYWdlLXJlbmRlcmluZyAoJG1vZGU6YXV0bykge1xuXG4gIEBpZiAoJG1vZGUgPT0gY3Jpc3AtZWRnZXMpIHtcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBuZWFyZXN0LW5laWdoYm9yOyAvLyBJRTgrXG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtbW96LWNyaXNwLWVkZ2VzO1xuICAgIGltYWdlLXJlbmRlcmluZzogLW8tY3Jpc3AtZWRnZXM7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0O1xuICAgIGltYWdlLXJlbmRlcmluZzogY3Jpc3AtZWRnZXM7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAkbW9kZTtcbiAgfVxufVxuIiwKCQkiLy8gQWRkcyBrZXlmcmFtZXMgYmxvY2tzIGZvciBzdXBwb3J0ZWQgcHJlZml4ZXMsIHJlbW92aW5nIHJlZHVuZGFudCBwcmVmaXhlcyBpbiB0aGUgYmxvY2sncyBjb250ZW50XG5AbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdDogICAgJHByZWZpeC1mb3Itd2Via2l0O1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhOiAgICRwcmVmaXgtZm9yLW1vemlsbGE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdDogJHByZWZpeC1mb3ItbWljcm9zb2Z0O1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYTogICAgICRwcmVmaXgtZm9yLW9wZXJhO1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjOiAgICAgICRwcmVmaXgtZm9yLXNwZWM7XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICRwcmVmaXgtZm9yLXdlYmtpdDogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICRwcmVmaXgtZm9yLW1vemlsbGE6IHRydWUgIWdsb2JhbDtcbiAgICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYSAgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjICAgICAgIWdsb2JhbDtcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyB7XG4gICAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJHBvcywgJGcxLCAkZzI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnMzogbnVsbCwgJGc0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzU6IG51bGwsICRnNjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc3OiBudWxsLCAkZzg6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnOTogbnVsbCwgJGcxMDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG4gIC8vIERldGVjdCB3aGF0IHR5cGUgb2YgdmFsdWUgZXhpc3RzIGluICRwb3NcbiAgJHBvcy10eXBlOiB0eXBlLW9mKG50aCgkcG9zLCAxKSk7XG4gICRwb3Mtc3BlYzogbnVsbDtcbiAgJHBvcy1kZWdyZWU6IG51bGw7XG5cbiAgLy8gSWYgJHBvcyBpcyBtaXNzaW5nIGZyb20gbWl4aW4sIHJlYXNzaWduIHZhcnMgYW5kIGFkZCBkZWZhdWx0IHBvc2l0aW9uXG4gIEBpZiAoJHBvcy10eXBlID09IGNvbG9yKSBvciAobnRoKCRwb3MsIDEpID09IFwidHJhbnNwYXJlbnRcIikgIHtcbiAgICAkZzEwOiAkZzk7ICRnOTogJGc4OyAkZzg6ICRnNzsgJGc3OiAkZzY7ICRnNjogJGc1O1xuICAgICRnNTogJGc0OyAkZzQ6ICRnMzsgJGczOiAkZzI7ICRnMjogJGcxOyAkZzE6ICRwb3M7XG4gICAgJHBvczogbnVsbDtcbiAgfVxuXG4gIEBpZiAkcG9zIHtcbiAgICAkcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcyk7XG4gICAgJHBvcy1kZWdyZWU6IG50aCgkcG9zaXRpb25zLCAxKTtcbiAgICAkcG9zLXNwZWM6ICAgbnRoKCRwb3NpdGlvbnMsIDIpO1xuICB9XG5cbiAgJGZ1bGw6ICRnMSwgJGcyLCAkZzMsICRnNCwgJGc1LCAkZzYsICRnNywgJGc4LCAkZzksICRnMTA7XG5cbiAgLy8gU2V0ICRnMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZzEsIDEpO1xuXG4gIC8vIElmICRmYWxsYmFjayBpcyBhIGNvbG9yIHVzZSB0aGF0IGNvbG9yIGFzIHRoZSBmYWxsYmFjayBjb2xvclxuICBAaWYgKHR5cGUtb2YoJGZhbGxiYWNrKSA9PSBjb2xvcikgb3IgKCRmYWxsYmFjayA9PSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAkZmFsbGJhY2stY29sb3I6ICRmYWxsYmFjaztcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRmYWxsYmFjay1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHBvcy1kZWdyZWUgJGZ1bGwpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVucXVvdGUoXCJsaW5lYXItZ3JhZGllbnQoI3skcG9zLXNwZWN9I3skZnVsbH0pXCIpO1xufVxuIiwKCQkiQG1peGluIHBlcnNwZWN0aXZlKCRkZXB0aDogbm9uZSkge1xuICAvLyBub25lIHwgPGxlbmd0aD5cbiAgQGluY2x1ZGUgcHJlZml4ZXIocGVyc3BlY3RpdmUsICRkZXB0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHBlcnNwZWN0aXZlLW9yaWdpbigkdmFsdWU6IDUwJSA1MCUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIocGVyc3BlY3RpdmUtb3JpZ2luLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLAoJCSJAbWl4aW4gcGxhY2Vob2xkZXIge1xuICAkcGxhY2Vob2xkZXJzOiBcIjotd2Via2l0LWlucHV0XCIgXCI6LW1velwiIFwiLW1velwiIFwiLW1zLWlucHV0XCI7XG4gIEBlYWNoICRwbGFjZWhvbGRlciBpbiAkcGxhY2Vob2xkZXJzIHtcbiAgICAmOiN7JHBsYWNlaG9sZGVyfS1wbGFjZWhvbGRlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIFJlcXVpcmVzIFNhc3MgMy4xK1xuQG1peGluIHJhZGlhbC1ncmFkaWVudCgkZzEsICRnMixcbiAgICAgICAgICAgICAgICAgICAgICAgJGczOiBudWxsLCAkZzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNTogbnVsbCwgJGc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzc6IG51bGwsICRnODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc5OiBudWxsLCAkZzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkcG9zOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkc2hhcGUtc2l6ZTogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG5cbiAgJGRhdGE6IF9yYWRpYWwtYXJnLXBhcnNlcigkZzEsICRnMiwgJHBvcywgJHNoYXBlLXNpemUpO1xuICAkZzE6ICBudGgoJGRhdGEsIDEpO1xuICAkZzI6ICBudGgoJGRhdGEsIDIpO1xuICAkcG9zOiBudGgoJGRhdGEsIDMpO1xuICAkc2hhcGUtc2l6ZTogbnRoKCRkYXRhLCA0KTtcblxuICAkZnVsbDogJGcxLCAkZzIsICRnMywgJGc0LCAkZzUsICRnNiwgJGc3LCAkZzgsICRnOSwgJGcxMDtcblxuICAvLyBTdHJpcCBkZXByZWNhdGVkIGNvdmVyL2NvbnRhaW4gZm9yIHNwZWNcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xuXG4gIC8vIFNldCAkZzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZpcnN0LWNvbG9yOiBudGgoJGZ1bGwsIDEpO1xuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZmlyc3QtY29sb3IsIDEpO1xuXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgLy8gQWRkIENvbW1hcyBhbmQgc3BhY2VzXG4gICRzaGFwZS1zaXplOiBpZigkc2hhcGUtc2l6ZSwgXCIjeyRzaGFwZS1zaXplfSwgXCIsIG51bGwpO1xuICAkcG9zOiAgICAgICAgaWYoJHBvcywgXCIjeyRwb3N9LCBcIiwgbnVsbCk7XG4gICRwb3Mtc3BlYzogICBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XG4gICRzaGFwZS1zaXplLXNwZWM6IGlmKCgkc2hhcGUtc2l6ZS1zcGVjICE9IFwiIFwiKSBhbmQgKCRwb3MgPT0gbnVsbCksIFwiI3skc2hhcGUtc2l6ZS1zcGVjfSwgXCIsIFwiI3skc2hhcGUtc2l6ZS1zcGVjfSBcIik7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogICRmYWxsYmFjay1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoI3skcG9zfSN7JHNoYXBlLXNpemV9I3skZnVsbH0pO1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoI3skc2hhcGUtc2l6ZS1zcGVjfSN7JHBvcy1zcGVjfSN7JGZ1bGx9KTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBPdXRwdXRzIHRoZSBzcGVjIGFuZCBwcmVmaXhlZCB2ZXJzaW9ucyBvZiB0aGUgYDo6c2VsZWN0aW9uYCBwc2V1ZG8tZWxlbWVudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0Jvb2x9ICRjdXJyZW50LXNlbGVjdG9yIFtmYWxzZV1cclxuLy8vICAgSWYgc2V0IHRvIGB0cnVlYCwgaXQgdGFrZXMgdGhlIGN1cnJlbnQgZWxlbWVudCBpbnRvIGNvbnNpZGVyYXRpb24uXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBzZWxlY3Rpb24odHJ1ZSkge1xyXG4vLy8gICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgICB9XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50OjotbW96LXNlbGVjdGlvbiB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgLmVsZW1lbnQ6OnNlbGVjdGlvbiB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgfVxyXG5cclxuQG1peGluIHNlbGVjdGlvbigkY3VycmVudC1zZWxlY3RvcjogZmFsc2UpIHtcclxuICBAaWYgJGN1cnJlbnQtc2VsZWN0b3Ige1xyXG4gICAgJjo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAmOjpzZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIDo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICA6OnNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLAoJCSJAbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCR2YWx1ZSkge1xuLy8gPHRleHQtZGVjb3JhdGlvbi1saW5lPiB8fCA8dGV4dC1kZWNvcmF0aW9uLXN0eWxlPiB8fCA8dGV4dC1kZWNvcmF0aW9uLWNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24sICR2YWx1ZSwgbW96KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1saW5lKCRsaW5lOiBub25lKSB7XG4vLyBub25lIHx8IHVuZGVybGluZSB8fCBvdmVybGluZSB8fCBsaW5lLXRocm91Z2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWxpbmUsICRsaW5lLCBtb3opO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLXN0eWxlKCRzdHlsZTogc29saWQpIHtcbi8vIHNvbGlkIHx8IGRvdWJsZSB8fCBkb3R0ZWQgfHwgZGFzaGVkIHx8IHdhdnlcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLXN0eWxlLCAkc3R5bGUsIG1veiB3ZWJraXQpO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLWNvbG9yKCRjb2xvcjogY3VycmVudENvbG9yKSB7XG4vLyBjdXJyZW50Q29sb3IgfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tY29sb3IsICRjb2xvciwgbW96KTtcbn1cbiIsCgkJIkBtaXhpbiB0cmFuc2Zvcm0oJHByb3BlcnR5OiBub25lKSB7XG4gIC8vIG5vbmUgfCA8dHJhbnNmb3JtLWZ1bmN0aW9uPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sICRwcm9wZXJ0eSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkYXhlczogNTAlKSB7XG4gIC8vIHgtYXhpcyAtIGxlZnQgfCBjZW50ZXIgfCByaWdodCAgfCBsZW5ndGggfCAlXG4gIC8vIHktYXhpcyAtIHRvcCAgfCBjZW50ZXIgfCBib3R0b20gfCBsZW5ndGggfCAlXG4gIC8vIHotYXhpcyAtICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLW9yaWdpbiwgJGF4ZXMsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSgkc3R5bGU6IGZsYXQpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cbiIsCgkJIi8vIFNob3J0aGFuZCBtaXhpbi4gU3VwcG9ydHMgbXVsdGlwbGUgcGFyZW50aGVzZXMtZGVsaW1pbmF0ZWQgdmFsdWVzIGZvciBlYWNoIHZhcmlhYmxlLlxuLy8gRXhhbXBsZTogQGluY2x1ZGUgdHJhbnNpdGlvbiAoYWxsIDJzIGVhc2UtaW4tb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24gKG9wYWNpdHkgMXMgZWFzZS1pbiAycywgd2lkdGggMnMgZWFzZS1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eSAodHJhbnNmb3JtLCBvcGFjaXR5KTtcblxuQG1peGluIHRyYW5zaXRpb24oJHByb3BlcnRpZXMuLi4pIHtcbiAgLy8gRml4IGZvciB2ZW5kb3ItcHJlZml4IHRyYW5zZm9ybSBwcm9wZXJ0eVxuICAkbmVlZHMtcHJlZml4ZXM6IGZhbHNlO1xuICAkd2Via2l0OiAoKTtcbiAgJG1vejogKCk7XG4gICRzcGVjOiAoKTtcblxuICAvLyBDcmVhdGUgbGlzdHMgZm9yIHZlbmRvci1wcmVmaXhlZCB0cmFuc2Zvcm1cbiAgQGVhY2ggJGxpc3QgaW4gJHByb3BlcnRpZXMge1xuICAgIEBpZiBudGgoJGxpc3QsIDEpID09IFwidHJhbnNmb3JtXCIge1xuICAgICAgJG5lZWRzLXByZWZpeGVzOiB0cnVlO1xuICAgICAgJGxpc3QxOiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MjogLW1vei10cmFuc2Zvcm07XG4gICAgICAkbGlzdDM6ICgpO1xuXG4gICAgICBAZWFjaCAkdmFyIGluICRsaXN0IHtcbiAgICAgICAgJGxpc3QzOiBqb2luKCRsaXN0MywgJHZhcik7XG5cbiAgICAgICAgQGlmICR2YXIgIT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAgICAgJGxpc3QxOiBqb2luKCRsaXN0MSwgJHZhcik7XG4gICAgICAgICAgJGxpc3QyOiBqb2luKCRsaXN0MiwgJHZhcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0MSk7XG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QyKTtcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdDMpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0LCBjb21tYSk7XG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QsIGNvbW1hKTtcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdCwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmVlZHMtcHJlZml4ZXMge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHdlYmtpdDtcbiAgICAgICAtbW96LXRyYW5zaXRpb246ICRtb3o7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkc3BlYztcbiAgfSBAZWxzZSB7XG4gICAgQGlmIGxlbmd0aCgkcHJvcGVydGllcykgPj0gMSB7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRwcm9wZXJ0aWVzOiBhbGwgMC4xNXMgZWFzZS1vdXQgMHM7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHByb3BlcnRpZXMuLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIndlYmtpdFwiKTtcbiAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIm1velwiKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBmYWxzZSk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXQgfCBjdWJpYy1iZXppZXIoKVxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLAoJCSJAbWl4aW4gdXNlci1zZWxlY3QoJHZhbHVlOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHVzZXItc2VsZWN0LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItY29sb3JgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1jb2xvcigjYTYwYjU1ICM3NmNkOWMgbnVsbCAjZThhZTFhKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNlOGFlMWE7XG4vLy8gICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzc2Y2Q5Yztcbi8vLyAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2E2MGI1NTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1jb2xvcmBcblxuQG1peGluIGJvcmRlci1jb2xvcigkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIGNvbG9yLCAkdmFscy4uLik7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItcmFkaXVzYCBvbiBib3RoIGNvcm5lcnMgb24gdGhlIHNpZGUgb2YgYSBib3guXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJhZGlpXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudC1vbmUge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyg1cHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudC10d28ge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoM3B4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50LW9uZSB7XG4vLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbi8vLyAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQtdHdvIHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuLy8vICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAb3V0cHV0IGBib3JkZXItcmFkaXVzYFxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1zdHlsZWAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXN0eWxlKGRhc2hlZCBudWxsIHNvbGlkKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4vLy8gICAgIGJvcmRlci10b3Atc3R5bGU6IGRhc2hlZDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1zdHlsZWBcblxuQG1peGluIGJvcmRlci1zdHlsZSgkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHN0eWxlLCAkdmFscy4uLik7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItd2lkdGhgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci13aWR0aCgxZW0gbnVsbCAyMHB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjBweDtcbi8vLyAgICAgYm9yZGVyLXRvcC13aWR0aDogMWVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLXdpZHRoYFxuXG5AbWl4aW4gYm9yZGVyLXdpZHRoKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgd2lkdGgsICR2YWxzLi4uKTtcbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCBidXR0b25zLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTogYCN7JGFsbC1idXR0b25zfWAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICN7JGFsbC1idXR0b25zfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC1idXR0b25zLWZvY3VzfSxcbi8vLyAgICN7JGFsbC1idXR0b25zLWhvdmVyfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC1idXR0b25zLWFjdGl2ZX0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgYnV0dG9uLFxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBidXR0b246Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyxcbi8vLyAgIGJ1dHRvbjpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgYnV0dG9uOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06YWN0aXZlIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIGFzc2lnbi1pbnB1dHNcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vL1xuLy8vIEB0b2RvIFJlbW92ZSBkb3VibGUgYXNzaWduZWQgdmFyaWFibGVzIChMaW5lcyA1OeKAkzYyKSBpbiB2NS4wLjBcblxuJGJ1dHRvbnMtbGlzdDogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInJlc2V0XCJdJyxcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic3VibWl0XCJdJztcblxuJGFsbC1idXR0b25zOiAgICAgICAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0KTtcbiRhbGwtYnV0dG9ucy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgYWN0aXZlKTtcbiRhbGwtYnV0dG9ucy1mb2N1czogIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgZm9jdXMpO1xuJGFsbC1idXR0b25zLWhvdmVyOiAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0LCBob3Zlcik7XG5cbiRhbGwtYnV0dG9uLWlucHV0czogICAgICAgICRhbGwtYnV0dG9ucztcbiRhbGwtYnV0dG9uLWlucHV0cy1hY3RpdmU6ICRhbGwtYnV0dG9ucy1hY3RpdmU7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtZm9jdXM6ICAkYWxsLWJ1dHRvbnMtZm9jdXM7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXI6ICAkYWxsLWJ1dHRvbnMtaG92ZXI7XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBpbmNsdWRlIGEgY2xlYXJmaXggZm9yIGNvbnRhaW5pbmcgZmxvYXRzLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL2Nzc21vam8uY29tL2xhdGVzdF9uZXdfY2xlYXJmaXhfc29fZmFyL1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQ6OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICAgIGNvbnRlbnQ6IFwiXCI7XG4vLy8gICAgIGRpc3BsYXk6IHRhYmxlO1xuLy8vICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gVHJ1bmNhdGVzIHRleHQgYW5kIGFkZHMgYW4gZWxsaXBzaXMgdG8gcmVwcmVzZW50IG92ZXJmbG93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMTAwJV1cbi8vLyAgIE1heC13aWR0aCBmb3IgdGhlIHN0cmluZyB0byByZXNwZWN0IGJlZm9yZSBiZWluZyB0cnVuY2F0ZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBlbGxpcHNpcztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbi8vLyAgIH1cblxuQG1peGluIGVsbGlwc2lzKCR3aWR0aDogMTAwJSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW9yZ2lhIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRnZW9yZ2lhOiBcIkdlb3JnaWFcIiwgXCJDYW1icmlhXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFwiVGltZXNcIiwgc2VyaWY7XG5cbi8vLyBIZWx2ZXRpY2EgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJGhlbHZldGljYTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIlJvYm90b1wiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG5cbi8vLyBMdWNpZGEgR3JhbmRlIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRsdWNpZGEtZ3JhbmRlOiBcIkx1Y2lkYSBHcmFuZGVcIiwgXCJUYWhvbWFcIiwgXCJWZXJkYW5hXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcblxuLy8vIE1vbm9zcGFjZSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kbW9ub3NwYWNlOiBcIkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ub1wiLCBcIkNvbnNvbGFzXCIsIFwiQ291cmllclwiLCBtb25vc3BhY2U7XG5cbi8vLyBWZXJkYW5hIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiR2ZXJkYW5hOiBcIlZlcmRhbmFcIiwgXCJHZW5ldmFcIiwgc2Fucy1zZXJpZjtcbiIsCgkJIi8vLyBIaWRlcyB0aGUgdGV4dCBpbiBhbiBlbGVtZW50LCBjb21tb25seSB1c2VkIHRvIHNob3cgYW4gaW1hZ2UuIFNvbWUgZWxlbWVudHMgd2lsbCBuZWVkIGJsb2NrLWxldmVsIHN0eWxlcyBhcHBsaWVkLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL3plbGRtYW4uY29tLzIwMTIvMDMvMDEvcmVwbGFjaW5nLXRoZS05OTk5cHgtaGFjay1uZXctaW1hZ2UtcmVwbGFjZW1lbnRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBoaWRlLXRleHQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtaW5kZW50OiAxMDElO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHRvZG8gUmVtb3ZlIGhlaWdodCBhcmd1bWVudCBpbiB2NS4wLjBcblxuQG1peGluIGhpZGUtdGV4dCgkaGVpZ2h0OiBudWxsKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtaW5kZW50OiAxMDElO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiAkaGVpZ2h0IHtcbiAgICBAd2FybiBcIlRoZSBgaGlkZS10ZXh0YCBtaXhpbiBoYXMgY2hhbmdlZCBhbmQgbm8gbG9uZ2VyIHJlcXVpcmVzIGEgaGVpZ2h0LiBUaGUgaGVpZ2h0IGFyZ3VtZW50IHdpbGwgbm8gbG9uZ2VyIGJlIGFjY2VwdGVkIGluIHY1LjAuMFwiO1xuICB9XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBtYXJnaW5gIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDEwcHggM2VtIDIwdmgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tYm90dG9tOiAzZW07XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAyMHZoO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBtYXJnaW5gXG5cbkBtaXhpbiBtYXJnaW4oJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkobWFyZ2luLCBmYWxzZSwgJHZhbHMuLi4pO1xufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgcGFkZGluZ2Agb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcGFkZGluZygxMnZoIG51bGwgMTBweCA1JSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuLy8vICAgICBwYWRkaW5nLWxlZnQ6IDUlO1xuLy8vICAgICBwYWRkaW5nLXRvcDogMTJ2aDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYHBhZGRpbmdgXG5cbkBtaXhpbiBwYWRkaW5nKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KHBhZGRpbmcsIGZhbHNlLCAkdmFscy4uLik7XG59XG4iLAoJCSJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3Igc2V0dGluZyBhbiBlbGVtZW504oCZcyBwb3NpdGlvbi4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtQb3NpdGlvbn0gJHBvc2l0aW9uIFtyZWxhdGl2ZV1cbi8vLyAgIEEgQ1NTIHBvc2l0aW9uIHZhbHVlXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRjb29yZGluYXRlcyBbbnVsbCBudWxsIG51bGwgbnVsbF1cbi8vLyAgIExpc3Qgb2YgdmFsdWVzIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgNC12YWx1ZSBzeW50YXggZm9yIHRoZSBlZGdlcyBvZiBhIGJveFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbGVmdDogMTBlbTtcbi8vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8vICAgICB0b3A6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWxlbmd0aFxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gdW5wYWNrXG5cbkBtaXhpbiBwb3NpdGlvbigkcG9zaXRpb246IHJlbGF0aXZlLCAkY29vcmRpbmF0ZXM6IG51bGwgbnVsbCBudWxsIG51bGwpIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSBsaXN0IHtcbiAgICAkY29vcmRpbmF0ZXM6ICRwb3NpdGlvbjtcbiAgICAkcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJGNvb3JkaW5hdGVzOiB1bnBhY2soJGNvb3JkaW5hdGVzKTtcblxuICAkb2Zmc2V0czogKFxuICAgIHRvcDogICAgbnRoKCRjb29yZGluYXRlcywgMSksXG4gICAgcmlnaHQ6ICBudGgoJGNvb3JkaW5hdGVzLCAyKSxcbiAgICBib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpLFxuICAgIGxlZnQ6ICAgbnRoKCRjb29yZGluYXRlcywgNClcbiAgKTtcblxuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG4gIEBlYWNoICRvZmZzZXQsICR2YWx1ZSBpbiAkb2Zmc2V0cyB7XG4gICAgQGlmIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICN7JG9mZnNldH06ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgbWl4aW4gZm9yIGdlbmVyYXRpbmcgdmVuZG9yIHByZWZpeGVzIG9uIG5vbi1zdGFuZGFyZGl6ZWQgcHJvcGVydGllcy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHlcbi8vLyAgIFByb3BlcnR5IHRvIHByZWZpeFxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWVcbi8vLyAgIFZhbHVlIHRvIHVzZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcHJlZml4ZXNcbi8vLyAgIFByZWZpeGVzIHRvIGRlZmluZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsIDEwcHgsIHdlYmtpdCBtcyBzcGVjKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXdlYmtpdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbW96aWxsYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbWljcm9zb2Z0XG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1vcGVyYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itc3BlY1xuXG5AbWl4aW4gcHJlZml4ZXIoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlcykge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci13ZWJraXQge1xuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtcyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbWljcm9zb2Z0IHtcbiAgICAgICAgLW1zLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBvIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1vcGVyYSB7XG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSAge1xuICAgICAgQHdhcm4gXCJVbnJlY29nbml6ZWQgcHJlZml4OiAjeyRwcmVmaXh9XCI7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCkge1xuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgZmFsc2UgIWdsb2JhbDtcbn1cbiIsCgkJIkBtaXhpbiByZXRpbmEtaW1hZ2UoJGZpbGVuYW1lLCAkYmFja2dyb3VuZC1zaXplLCAkZXh0ZW5zaW9uOiBwbmcsICRyZXRpbmEtZmlsZW5hbWU6IG51bGwsICRyZXRpbmEtc3VmZml4OiBfMngsICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lKSB7XG4gIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICB1cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGhpZHBpIHtcbiAgICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcbiAgICAgIEBpZiAkcmV0aW5hLWZpbGVuYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skcmV0aW5hLWZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmaWxlbmFtZX0jeyRyZXRpbmEtc3VmZml4fS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGJhY2tncm91bmQtc2l6ZTogJGJhY2tncm91bmQtc2l6ZTtcbiAgfVxufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU2V0cyB0aGUgYHdpZHRoYCBhbmQgYGhlaWdodGAgb2YgdGhlIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaXplXG4vLy8gICBBIGxpc3Qgb2YgYXQgbW9zdCAyIHNpemUgdmFsdWVzLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIHZhbHVlIGluIGAkc2l6ZWAgaXQgaXMgdXNlZCBmb3IgYm90aCB3aWR0aCBhbmQgaGVpZ2h0LiBBbGwgdW5pdHMgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmZpcnN0LWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaXplKDJlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoYXV0byAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcbi8vLyAgICAgd2lkdGg6IDJlbTtcbi8vLyAgICAgaGVpZ2h0OiAyZW07XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiBhdXRvO1xuLy8vICAgICBoZWlnaHQ6IDEwZW07XG4vLy8gICB9XG4vLy9cbi8vLyBAdG9kbyBSZWZhY3RvciBpbiA1LjAuMCB0byB1c2UgYSBjb21tYS1zZXBhcmF0ZWQgYXJndW1lbnRcblxuQG1peGluIHNpemUoJHZhbHVlKSB7XG4gICR3aWR0aDogbnRoKCR2YWx1ZSwgMSk7XG4gICRoZWlnaHQ6ICR3aWR0aDtcblxuICBAaWYgbGVuZ3RoKCR2YWx1ZSkgPiAxIHtcbiAgICAkaGVpZ2h0OiBudGgoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCRoZWlnaHQpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JGhlaWdodH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkaGVpZ2h0YCBwYXJhbWV0ZXIgaW4gdGhlIGBzaXplYCBtaXhpbi5cIjtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCR3aWR0aCkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JHdpZHRofWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCR3aWR0aGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCB0ZXh0LWJhc2VkIGlucHV0cy4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6IGAjeyRhbGwtdGV4dC1pbnB1dHN9YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1mb2N1c30sXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtaG92ZXJ9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWFjdGl2ZX0ge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuLy8vICAgdGV4dGFyZWEge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMsXG4vLy8gICB0ZXh0YXJlYTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTpob3Zlcixcbi8vLyAgIHRleHRhcmVhOmhvdmVyIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTphY3RpdmUsXG4vLy8gICB0ZXh0YXJlYTphY3RpdmUge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUgYXNzaWduLWlucHV0c1xuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kdGV4dC1pbnB1dHMtbGlzdDogJ2lucHV0W3R5cGU9XCJjb2xvclwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRlXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImVtYWlsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm1vbnRoXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm51bWJlclwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJwYXNzd29yZFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzZWFyY2hcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGVsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRleHRcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGltZVwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ1cmxcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwid2Vla1wiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0Om5vdChbdHlwZV0pJyxcbiAgICAgICAgICAgICAgICAgICAndGV4dGFyZWEnO1xuXG4kYWxsLXRleHQtaW5wdXRzOiAgICAgICAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCk7XG4kYWxsLXRleHQtaW5wdXRzLWFjdGl2ZTogYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgYWN0aXZlKTtcbiRhbGwtdGV4dC1pbnB1dHMtZm9jdXM6ICBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0LCBmb2N1cyk7XG4kYWxsLXRleHQtaW5wdXRzLWhvdmVyOiAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgaG92ZXIpO1xuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ1NTIGN1YmljLWJlemllciB0aW1pbmcgZnVuY3Rpb25zLiBUaW1pbmcgZnVuY3Rpb25zIGNvdXJ0ZXN5IG9mIGpxdWVyeS5lYXNpZSAoZ2l0aHViLmNvbS9qYXVraWEvZWFzaWUpXG4vLy9cbi8vLyBUaW1pbmcgZnVuY3Rpb25zIGFyZSB0aGUgc2FtZSBhcyBkZW1vZWQgaGVyZTogaHR0cDovL2pxdWVyeXVpLmNvbS9yZXNvdXJjZXMvZGVtb3MvZWZmZWN0L2Vhc2luZy5odG1sXG4vLy9cbi8vLyBAdHlwZSBjdWJpYy1iZXppZXJcblxuJGVhc2UtaW4tcXVhZDogICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA4NSwgMC42ODAsIDAuNTMwKTtcbiRlYXNlLWluLWN1YmljOiAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4kZWFzZS1pbi1xdWFydDogICAgIGN1YmljLWJlemllcigwLjg5NSwgIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xuJGVhc2UtaW4tcXVpbnQ6ICAgICBjdWJpYy1iZXppZXIoMC43NTUsICAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiRlYXNlLWluLXNpbmU6ICAgICAgY3ViaWMtYmV6aWVyKDAuNDcwLCAgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XG4kZWFzZS1pbi1leHBvOiAgICAgIGN1YmljLWJlemllcigwLjk1MCwgIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xuJGVhc2UtaW4tY2lyYzogICAgICBjdWJpYy1iZXppZXIoMC42MDAsICAwLjA0MCwgMC45ODAsIDAuMzM1KTtcbiRlYXNlLWluLWJhY2s6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAtMC4yODAsIDAuNzM1LCAwLjA0NSk7XG5cbiRlYXNlLW91dC1xdWFkOiAgICAgY3ViaWMtYmV6aWVyKDAuMjUwLCAgMC40NjAsIDAuNDUwLCAwLjk0MCk7XG4kZWFzZS1vdXQtY3ViaWM6ICAgIGN1YmljLWJlemllcigwLjIxNSwgIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuJGVhc2Utb3V0LXF1YXJ0OiAgICBjdWJpYy1iZXppZXIoMC4xNjUsICAwLjg0MCwgMC40NDAsIDEuMDAwKTtcbiRlYXNlLW91dC1xdWludDogICAgY3ViaWMtYmV6aWVyKDAuMjMwLCAgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XG4kZWFzZS1vdXQtc2luZTogICAgIGN1YmljLWJlemllcigwLjM5MCwgIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xuJGVhc2Utb3V0LWV4cG86ICAgICBjdWJpYy1iZXppZXIoMC4xOTAsICAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1jaXJjOiAgICAgY3ViaWMtYmV6aWVyKDAuMDc1LCAgMC44MjAsIDAuMTY1LCAxLjAwMCk7XG4kZWFzZS1vdXQtYmFjazogICAgIGN1YmljLWJlemllcigwLjE3NSwgIDAuODg1LCAwLjMyMCwgMS4yNzUpO1xuXG4kZWFzZS1pbi1vdXQtcXVhZDogIGN1YmljLWJlemllcigwLjQ1NSwgIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xuJGVhc2UtaW4tb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoMC42NDUsICAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKDAuNzcwLCAgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVpbnQ6IGN1YmljLWJlemllcigwLjg2MCwgIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXNpbmU6ICBjdWJpYy1iZXppZXIoMC40NDUsICAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiRlYXNlLWluLW91dC1leHBvOiAgY3ViaWMtYmV6aWVyKDEuMDAwLCAgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtY2lyYzogIGN1YmljLWJlemllcigwLjc4NSwgIDAuMTM1LCAwLjE1MCwgMC44NjApO1xuJGVhc2UtaW4tb3V0LWJhY2s6ICBjdWJpYy1iZXppZXIoMC42ODAsIC0wLjU1MCwgMC4yNjUsIDEuNTUwKTtcbiIsCgkJIkBtaXhpbiB0cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XG4gICR3aWR0aDogbnRoKCRzaXplLCAxKTtcbiAgJGhlaWdodDogbnRoKCRzaXplLCBsZW5ndGgoJHNpemUpKTtcbiAgJGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xuICAkYmFja2dyb3VuZC1jb2xvcjogaWYobGVuZ3RoKCRjb2xvcikgPT0gMiwgbnRoKCRjb2xvciwgMiksIHRyYW5zcGFyZW50KTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcblxuICBAaWYgKCRkaXJlY3Rpb24gPT0gdXApIG9yICgkZGlyZWN0aW9uID09IGRvd24pIG9yICgkZGlyZWN0aW9uID09IHJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgJHdpZHRoOiAkd2lkdGggLyAyO1xuICAgICRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IHVwLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSB1cC1sZWZ0KSB7XG4gICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cC1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQpIHtcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC11cCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWRvd24pIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1yaWdodCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfVxufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gY2hhbmdlIHRoZSBgd29yZC13cmFwYCBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkd3JhcCBbYnJlYWstd29yZF1cbi8vLyAgIFZhbHVlIGZvciB0aGUgYHdvcmQtYnJlYWtgIHByb3BlcnR5LlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAud3JhcHBlciB7XG4vLy8gICAgIEBpbmNsdWRlIHdvcmQtd3JhcChicmVhay13b3JkKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC53cmFwcGVyIHtcbi8vLyAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbi8vLyAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuLy8vICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4vLy8gICB9XG5cbkBtaXhpbiB3b3JkLXdyYXAoJHdyYXA6IGJyZWFrLXdvcmQpIHtcbiAgb3ZlcmZsb3ctd3JhcDogJHdyYXA7XG4gIHdvcmQtd3JhcDogJHdyYXA7XG5cbiAgQGlmICR3cmFwID09IGJyZWFrLXdvcmQge1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgfSBAZWxzZSB7XG4gICAgd29yZC1icmVhazogJHdyYXA7XG4gIH1cbn1cbiIsCgkJIi8vIFRoZSBmb2xsb3dpbmcgZmVhdHVyZXMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBNQUpPUiB2ZXJzaW9uIHJlbGVhc2VcblxuQG1peGluIGlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBAd2FybiBcIlRoZSBpbmxpbmUtYmxvY2sgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AbWl4aW4gYnV0dG9uICgkc3R5bGU6IHNpbXBsZSwgJGJhc2UtY29sb3I6ICM0Mjk0ZjAsICR0ZXh0LXNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBjb2xvciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBzdHJpbmcgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICM0Mjk0ZjA7XG5cbiAgICBAaWYgJHBhZGRpbmcgPT0gaW5oZXJpdCB7XG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgICRiYXNlLWNvbG9yOiAkc3R5bGU7XG4gICAgJHN0eWxlOiBzaW1wbGU7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJHRleHQtc2l6ZTtcbiAgICAkdGV4dC1zaXplOiAkYmFzZS1jb2xvcjtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJGJhc2UtY29sb3I7XG4gICAgJHRleHQtc2l6ZTogJHN0eWxlO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09ICM0Mjk0ZjAge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cbiAgQHdhcm4gXCJUaGUgYnV0dG9uIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuLy8gU2VsZWN0b3IgU3R5bGUgQnV0dG9uXG5AbWl4aW4gYnV0dG9uc3R5bGUoJHR5cGUsICRiLWNvbG9yLCAkdC1zaXplLCAkcGFkKSB7XG4gIC8vIEdyYXlzY2FsZSBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBzaGlueSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IHBpbGwgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IGZsYXQgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgLy8gQ29sb3JlZCBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBzaGlueSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IHBpbGwge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IGZsYXQge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxufVxuXG4vLyBTaW1wbGUgQnV0dG9uXG5AbWl4aW4gc2ltcGxlKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xNCUpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTglLCAgJGxpZ2h0bmVzczogIDE1JSk7XG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTElKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICAxNSUsICRsaWdodG5lc3M6IC0xOCUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMCAkdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTclLCAkbGlnaHRuZXNzOiAgNSUpO1xuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOCUsICRsaWdodG5lc3M6IC0xNCUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG5cbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdy1ob3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDklLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNyUsICRsaWdodG5lc3M6IC0xNyUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlLCBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgfVxufVxuXG4vLyBTaGlueSBCdXR0b25cbkBtaXhpbiBzaGlueSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMTcsICRncmVlbjogLTExMSwgJGJsdWU6IC04MSk7XG4gICRib3JkZXItYm90dG9tOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMjYsICRncmVlbjogLTEyNywgJGJsdWU6IC0xMjIpO1xuICAkZm91cnRoLXN0b3A6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNzksICAkZ3JlZW46IC03MCwgICRibHVlOiAtNDYpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAgMzcsICAkZ3JlZW46ICAyOSwgICRibHVlOiAgMTIpO1xuICAkc2Vjb25kLXN0b3A6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNTYsICAkZ3JlZW46IC01MCwgICRibHVlOiAtMzMpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTQwLCAkZ3JlZW46IC0xNDEsICRibHVlOiAtMTE0KTtcbiAgJHRoaXJkLXN0b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTg2LCAgJGdyZWVuOiAtNzUsICAkYmx1ZTogLTQ4KTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICRmb3VydGgtc3RvcDogICBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzZWNvbmQtc3RvcDogICBncmF5c2NhbGUoJHNlY29uZC1zdG9wKTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gICAgJHRoaXJkLXN0b3A6ICAgIGdyYXlzY2FsZSgkdGhpcmQtc3RvcCk7XG4gIH1cblxuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG9wLCAkYmFzZS1jb2xvciAwJSwgJHNlY29uZC1zdG9wIDUwJSwgJHRoaXJkLXN0b3AgNTAlLCAkZm91cnRoLXN0b3AgMTAwJSk7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMywgJGdyZWVuOiAtMTUsICRibHVlOiAtMTgpO1xuICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNjYsICRncmVlbjogLTYyLCAkYmx1ZTogLTUxKTtcbiAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTkzLCAkZ3JlZW46IC04NSwgJGJsdWU6IC02Nik7XG4gICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgJGdyZWVuOiAtODAsICRibHVlOiAtNjMpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkZmlyc3Qtc3RvcC1ob3Zlcik7XG4gICAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkc2Vjb25kLXN0b3AtaG92ZXIpO1xuICAgICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJHRoaXJkLXN0b3AtaG92ZXIpO1xuICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wLWhvdmVyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG9wLCAkZmlyc3Qtc3RvcC1ob3ZlciAgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNlY29uZC1zdG9wLWhvdmVyIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcmQtc3RvcC1ob3ZlciAgNTAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3VydGgtc3RvcC1ob3ZlciAxMDAlKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExMSwgJGdyZWVuOiAtMTE2LCAkYmx1ZTogLTEyMik7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAyMHB4IDAgJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gUGlsbCBCdXR0b25cbkBtaXhpbiBwaWxsKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAtMTElLCAkbGlnaHRuZXNzOiAtMjYlKTtcbiAgJGJvcmRlci1zaWRlczogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMjElLCAkbGlnaHRuZXNzOiAtMjElKTtcbiAgJGJvcmRlci10b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMzAlLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMSUsICAkbGlnaHRuZXNzOiAgNyUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxNCUsICRsaWdodG5lc3M6IC0xMCUpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC0xOSUsICRsaWdodG5lc3M6IC0xNSUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICRib3JkZXItc2lkZXM6ICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgJGJvcmRlci10b3A6ICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaWdodG5lc3M6IC00LjUlKTtcbiAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxMy41JSwgJGxpZ2h0bmVzczogLTMyJSk7XG4gICAgJGJvcmRlci1zaWRlczogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMiUsICAgICRsaWdodG5lc3M6IC0yNyUpO1xuICAgICRib3JkZXItdG9wOiAgICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTE3JSwgICAkbGlnaHRuZXNzOiAtMjElKTtcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgJHNhdHVyYXRpb246IC0xJSwgICAgJGxpZ2h0bmVzczogIDMlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC00JSwgICAgJGxpZ2h0bmVzczogLTE1LjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC01JSwgICAgJGxpZ2h0bmVzczogLTIyJSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgICAgJGJvcmRlci1ib3R0b206ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xuICAgICAgJGJvcmRlci10b3A6ICAgICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1ob3Zlcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvci1ob3ZlciwgJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYWN0aXZlLWNvbG9yOiAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNCwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTEwJSk7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDYsICAkc2F0dXJhdGlvbjogLTIuNSUsICRsaWdodG5lc3M6IC0zMCUpO1xuICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAxMSwgJHNhdHVyYXRpb246ICA2JSwgICAkbGlnaHRuZXNzOiAtMzElKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogOSwgICRzYXR1cmF0aW9uOiAgMiUsICAgJGxpZ2h0bmVzczogLTIxLjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctYWN0aXZlOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNSwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTIxLjUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBncmF5c2NhbGUoJGFjdGl2ZS1jb2xvcik7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbS1hY3RpdmUpO1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZDogJGFjdGl2ZS1jb2xvcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1ib3R0b20tYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggM3B4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gRmxhdCBCdXR0b25cbkBtaXhpbiBmbGF0KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpe1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA0JSwgJGxpZ2h0bmVzczogNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvci1ob3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItYWN0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4vLyBGbGV4aWJsZSBncmlkXG5AZnVuY3Rpb24gZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucykge1xuICAkd2lkdGg6ICRjb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkd2lkdGggLyAkY29udGFpbmVyLXdpZHRoKTtcblxuICBAd2FybiBcIlRoZSBmbGV4LWdyaWQgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG4vLyBGbGV4aWJsZSBndXR0ZXJcbkBmdW5jdGlvbiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucywgJGd1dHRlcjogJGZnLWd1dHRlcikge1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXIgLyAkY29udGFpbmVyLXdpZHRoKTtcblxuICBAd2FybiBcIlRoZSBmbGV4LWd1dHRlciBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbkBmdW5jdGlvbiBncmlkLXdpZHRoKCRuKSB7XG4gIEByZXR1cm4gJG4gKiAkZ3ctY29sdW1uICsgKCRuIC0gMSkgKiAkZ3ctZ3V0dGVyO1xuXG4gIEB3YXJuIFwiVGhlIGdyaWQtd2lkdGggZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AZnVuY3Rpb24gZ29sZGVuLXJhdGlvKCR2YWx1ZSwgJGluY3JlbWVudCkge1xuICBAcmV0dXJuIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlLCAkcmF0aW86ICRnb2xkZW4pO1xuXG4gIEB3YXJuIFwiVGhlIGdvbGRlbi1yYXRpbyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLiBQbGVhc2UgdXNlIHRoZSBtb2R1bGFyLXNjYWxlIGZ1bmN0aW9uLCBpbnN0ZWFkLlwiO1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkYm94KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1zaXppbmcsICRib3gsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgQHdhcm4gXCJUaGUgYm94LXNpemluZyBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLiBUaGlzIHByb3BlcnR5IGNhbiBub3cgYmUgdXNlZCB1bi1wcmVmaXhlZC5cIjtcbn1cbiIsCgkJIkBtaXhpbiBpY29uKCRzaXplKSB7XG4gIGhlaWdodDogJHNpemU7XG4gIHdpZHRoOiAkc2l6ZTtcbn0iLAoJCSIlcG9pbnRlciB7XG4gIGN1cnNvcjogaGFuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufSIsCgkJIkBtaXhpbiB2ZXJ0aWNhbGx5Q2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRvcDogNTAlO1xufVxuXG5AbWl4aW4gcmVtb3ZlVmVydGljYWxseUNlbnRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG59XG5cbiV2ZXJ0aWNhbGx5Q2VudGVyIHtcbiAgQGluY2x1ZGUgdmVydGljYWxseUNlbnRlcjtcbn1cblxuJXJlbW92ZVZlcnRpY2FsbHlDZW50ZXIge1xuICBAaW5jbHVkZSByZW1vdmVWZXJ0aWNhbGx5Q2VudGVyO1xufSIsCgkJIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQm9vdHN0cmFwIHZhcmlhYmxlc1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIGEgZmxhZyB0byB0b2dnbGUgYXNzZXQgcGlwZWxpbmUgLyBjb21wYXNzIGludGVncmF0aW9uXG4vLyBkZWZhdWx0cyB0byB0cnVlIGlmIHR3YnMtZm9udC1wYXRoIGZ1bmN0aW9uIGlzIHByZXNlbnQgKG5vIGZ1bmN0aW9uID0+IHR3YnMtZm9udC1wYXRoKCcnKSBwYXJzZWQgYXMgc3RyaW5nID09IHJpZ2h0IHNpZGUpXG4vLyBpbiBTYXNzIDMuMyB0aGlzIGNhbiBiZSBpbXByb3ZlZCB3aXRoOiBmdW5jdGlvbi1leGlzdHModHdicy1mb250LXBhdGgpXG4kYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyOiB0d2JzLWZvbnQtcGF0aChcIlwiKSAhPSB1bnF1b3RlKCd0d2JzLWZvbnQtcGF0aChcIlwiKScpICFkZWZhdWx0O1xuXG4vLz09IENvbG9yc1xuJHRleHQtY29sb3I6ICRjYW52YXNzLWRlZmF1bHQtdGV4dCAhZGVmYXVsdDtcblxuJGJyYW5kLWRhbmdlcjogJGNhbnZhc3MtcmVkO1xuJGJyYW5kLXByaW1hcnk6ICRjYW52YXNzLXB1cnBsZSAhZGVmYXVsdDtcbiRicmFuZC1zdWNjZXNzOiAkY2FudmFzcy1wdXJwbGUgIWRlZmF1bHQ7XG4kYnJhbmQtaW5mbzogJGNhbnZhc3MtbGlnaHRCbHVlICFkZWZhdWx0O1xuJGJyYW5kLXdhcm5pbmc6ICRjYW52YXNzLXllbGxvdyAhZGVmYXVsdDtcbiRicmFuZC1kYW5nZXI6ICRjYW52YXNzLXllbGxvdyAhZGVmYXVsdDtcblxuJGdyYXktZGFya2VyOiBsaWdodGVuKGJsYWNrLCAxMy41JSkgIWRlZmF1bHQ7XG4kZ3JheS1kYXJrOiBsaWdodGVuKGJsYWNrLCAyMCUpICFkZWZhdWx0O1xuJGdyYXk6IGxpZ2h0ZW4oYmxhY2ssIDMzLjUlKSAhZGVmYXVsdDtcbiRncmF5LWxpZ2h0OiBsaWdodGVuKGJsYWNrLCA0Ni43JSkgIWRlZmF1bHQ7XG4kZ3JheS1saWdodDI6IGxpZ2h0ZW4oYmxhY2ssIDY2JSkgIWRlZmF1bHQ7XG4kZ3JheS1saWdodGVyOiBsaWdodGVuKGJsYWNrLCA5My41JSkgIWRlZmF1bHQ7XG5cbi8vPT0gU2NhZmZvbGRpbmdcblxuLy89PSBUeXBvZ3JhcGh5XG4vL1xuLy8jIyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8qIERlZmF1bHQgbW9ub3NwYWNlIGZvbnRzIGZvciBgPGNvZGU+YCwgYDxrYmQ+YCwgYW5kIGA8cHJlPmAuXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vKiBVbml0LWxlc3MgYGxpbmUtaGVpZ2h0YCBmb3IgdXNlIGluIGNvbXBvbmVudHMgbGlrZSBidXR0b25zLlxuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuNDI4NTcgIWRlZmF1bHQ7XG5cbi8vIDIwLzE0XG4vLyogQ29tcHV0ZWQgXCJsaW5lLWhlaWdodFwiIChgZm9udC1zaXplYCAqIGBsaW5lLWhlaWdodGApIGZvciB1c2Ugd2l0aCBgbWFyZ2luYCwgYHBhZGRpbmdgLCBldGMuXG4kbGluZS1oZWlnaHQtY29tcHV0ZWQ6IGZsb29yKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlKSAhZGVmYXVsdDtcblxuLy8gfjIwcHhcblxuLy8qIEJ5IGRlZmF1bHQsIHRoaXMgaW5oZXJpdHMgZnJvbSB0aGUgYDxib2R5PmAuXG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6IDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogMS4xICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLz09IEljb25vZ3JhcGh5XG4vL1xuLy8jIyBTcGVjaWZ5IGN1c3RvbSBsb2NhdGlvbiBhbmQgZmlsZW5hbWUgb2YgdGhlIGluY2x1ZGVkIEdseXBoaWNvbnMgaWNvbiBmb250LiBVc2VmdWwgZm9yIHRob3NlIGluY2x1ZGluZyBCb290c3RyYXAgdmlhIEJvd2VyLlxuXG4vLyogTG9hZCBmb250cyBmcm9tIHRoaXMgZGlyZWN0b3J5LlxuJGljb24tZm9udC1wYXRoOiBcImJvb3RzdHJhcC9cIiAhZGVmYXVsdDtcblxuLy8qIEZpbGUgbmFtZSBmb3IgYWxsIGZvbnQgZmlsZXMuXG4kaWNvbi1mb250LW5hbWU6IFwiZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhclwiICFkZWZhdWx0O1xuXG4vLyogRWxlbWVudCBJRCB3aXRoaW4gU1ZHIGljb24gZmlsZS5cbiRpY29uLWZvbnQtc3ZnLWlkOiBcImdseXBoaWNvbnNfaGFsZmxpbmdzcmVndWxhclwiICFkZWZhdWx0O1xuXG4vLz09IENvbXBvbmVudHNcbi8vXG4vLyMjIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS4gVmFsdWVzIGJhc2VkIG9uIDE0cHggdGV4dCBhbmQgMS40MjggbGluZS1oZWlnaHQgKH4yMHB4IHRvIHN0YXJ0KS5cblxuJHBhZGRpbmctYmFzZS12ZXJ0aWNhbDogNnB4ICFkZWZhdWx0O1xuJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy1sYXJnZS12ZXJ0aWNhbDogMTBweCAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLWhvcml6b250YWw6IDE2cHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy14cy12ZXJ0aWNhbDogMXB4ICFkZWZhdWx0O1xuJHBhZGRpbmcteHMtaG9yaXpvbnRhbDogNXB4ICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQtbGFyZ2U6IDEuMzMgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc21hbGw6IDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXMtYmFzZTogMnB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGFyZ2U6IDRweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtYWxsOiAxcHggIWRlZmF1bHQ7XG5cbi8vKiBHbG9iYWwgY29sb3IgZm9yIGFjdGl2ZSBpdGVtcyAoZS5nLiwgbmF2cyBvciBkcm9wZG93bnMpLlxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuXG4vLyogR2xvYmFsIGJhY2tncm91bmQgY29sb3IgZm9yIGFjdGl2ZSBpdGVtcyAoZS5nLiwgbmF2cyBvciBkcm9wZG93bnMpLlxuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyogV2lkdGggb2YgdGhlIGBib3JkZXJgIGZvciBnZW5lcmF0aW5nIGNhcmV0cyB0aGF0IGluZGljYXRvciBkcm9wZG93bnMuXG4kY2FyZXQtd2lkdGgtYmFzZTogNHB4ICFkZWZhdWx0O1xuXG4vLyogQ2FyZXRzIGluY3JlYXNlIHNsaWdodGx5IGluIHNpemUgZm9yIGxhcmdlciBjb21wb25lbnRzLlxuJGNhcmV0LXdpZHRoLWxhcmdlOiA1cHggIWRlZmF1bHQ7XG5cbi8vPT0gVGFibGVzXG4vL1xuLy8jIyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbi8vKiBQYWRkaW5nIGZvciBgPHRoPmBzIGFuZCBgPHRkPmBzLlxuJHRhYmxlLWNlbGwtcGFkZGluZzogOHB4ICFkZWZhdWx0O1xuXG4vLyogUGFkZGluZyBmb3IgY2VsbHMgaW4gYC50YWJsZS1jb25kZW5zZWRgLlxuJHRhYmxlLWNvbmRlbnNlZC1jZWxsLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcblxuLy8qIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBhbGwgdGFibGVzLlxuJHRhYmxlLWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8qIEJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYC50YWJsZS1zdHJpcGVkYC5cbiR0YWJsZS1iZy1hY2NlbnQ6ICNmOWY5ZjkgIWRlZmF1bHQ7XG5cbi8vKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtaG92ZXJgLlxuJHRhYmxlLWJnLWhvdmVyOiB3aGl0ZXNtb2tlICFkZWZhdWx0O1xuJHRhYmxlLWJnLWFjdGl2ZTogJHRhYmxlLWJnLWhvdmVyICFkZWZhdWx0O1xuXG4vLyogQm9yZGVyIGNvbG9yIGZvciB0YWJsZSBhbmQgY2VsbCBib3JkZXJzLlxuJHRhYmxlLWJvcmRlci1jb2xvcjogI2RkZGRkZCAhZGVmYXVsdDtcblxuLy89PSBCdXR0b25zXG4vL1xuLy8jIyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLWZvbnQtd2VpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XG5cbiRidG4tZGVmYXVsdC1jb2xvcjogIzMzMzMzMyAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1iZzogd2hpdGUgIWRlZmF1bHQ7XG4kYnRuLWRlZmF1bHQtYm9yZGVyOiAjY2NjY2NjICFkZWZhdWx0O1xuXG4kYnRuLXByaW1hcnktY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJGJ0bi1wcmltYXJ5LWJnOiAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1ib3JkZXI6IGRhcmtlbigkYnRuLXByaW1hcnktYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1zdWNjZXNzLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1iZzogJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYm9yZGVyOiBkYXJrZW4oJGJ0bi1zdWNjZXNzLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4taW5mby1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kYnRuLWluZm8tYmc6ICRicmFuZC1pbmZvICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJvcmRlcjogZGFya2VuKCRidG4taW5mby1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLXdhcm5pbmctY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJnOiAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiRidG4td2FybmluZy1ib3JkZXI6IGRhcmtlbigkYnRuLXdhcm5pbmctYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1kYW5nZXItY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYmc6ICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1ib3JkZXI6IGRhcmtlbigkYnRuLWRhbmdlci1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLz09IEZvcm1zXG4vL1xuLy8jI1xuXG4vLyogYDxpbnB1dD5gIGJhY2tncm91bmQgY29sb3JcbiRpbnB1dC1iZzogd2hpdGUgIWRlZmF1bHQ7XG5cbi8vKiBgPGlucHV0IGRpc2FibGVkPmAgYmFja2dyb3VuZCBjb2xvclxuJGlucHV0LWJnLWRpc2FibGVkOiAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4vLyogVGV4dCBjb2xvciBmb3IgYDxpbnB1dD5gc1xuJGlucHV0LWNvbG9yOiAkZ3JheSAhZGVmYXVsdDtcblxuLy8qIGA8aW5wdXQ+YCBib3JkZXIgY29sb3JcbiRpbnB1dC1ib3JkZXI6ICNjY2NjY2MgIWRlZmF1bHQ7XG5cbi8vKiBgPGlucHV0PmAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiBCb3JkZXIgY29sb3IgZm9yIGlucHV0cyBvbiBmb2N1c1xuJGlucHV0LWJvcmRlci1mb2N1czogIzY2YWZlOSAhZGVmYXVsdDtcblxuLy8qIFBsYWNlaG9sZGVyIHRleHQgY29sb3JcbiRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcjogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiBEZWZhdWx0IGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtYmFzZTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAqIDIgKyAyICFkZWZhdWx0O1xuXG4vLyogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1sYXJnZTogY2VpbCgkZm9udC1zaXplLWxhcmdlICogJGxpbmUtaGVpZ2h0LWxhcmdlKSArICRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICogMiArIDIgIWRlZmF1bHQ7XG5cbi8vKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4kaW5wdXQtaGVpZ2h0LXNtYWxsOiBmbG9vcigkZm9udC1zaXplLXNtYWxsICogJGxpbmUtaGVpZ2h0LXNtYWxsKSArICRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICogMiArIDIgIWRlZmF1bHQ7XG5cbiRsZWdlbmQtY29sb3I6ICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kbGVnZW5kLWJvcmRlci1jb2xvcjogI2U1ZTVlNSAhZGVmYXVsdDtcblxuLy8qIEJhY2tncm91bmQgY29sb3IgZm9yIHRleHR1YWwgaW5wdXQgYWRkb25zXG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbi8vKiBCb3JkZXIgY29sb3IgZm9yIHRleHR1YWwgaW5wdXQgYWRkb25zXG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLz09IERyb3Bkb3duc1xuLy9cbi8vIyMgRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4vLyogQmFja2dyb3VuZCBmb3IgdGhlIGRyb3Bkb3duIG1lbnUuXG4kZHJvcGRvd24tYmc6IHdoaXRlICFkZWZhdWx0O1xuXG4vLyogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYC5cbiRkcm9wZG93bi1ib3JkZXI6IHJnYmEoMCwgMCwgMCwgMC4xNSkgIWRlZmF1bHQ7XG5cbi8vKiBEcm9wZG93biBtZW51IGBib3JkZXItY29sb3JgICoqZm9yIElFOCoqLlxuJGRyb3Bkb3duLWZhbGxiYWNrLWJvcmRlcjogI2NjY2NjYyAhZGVmYXVsdDtcblxuLy8qIERpdmlkZXIgY29sb3IgZm9yIGJldHdlZW4gZHJvcGRvd24gaXRlbXMuXG4kZHJvcGRvd24tZGl2aWRlci1iZzogI2U1ZTVlNSAhZGVmYXVsdDtcblxuLy8qIERyb3Bkb3duIGxpbmsgdGV4dCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAkZ3JheS1kYXJrICFkZWZhdWx0O1xuXG4vLyogSG92ZXIgY29sb3IgZm9yIGRyb3Bkb3duIGxpbmtzLlxuJGRyb3Bkb3duLXZvcDQtbGluay1hY3RpdmU6IGRhcmtlbigkZ3JheS1kYXJrLCA1JSkgIWRlZmF1bHQ7XG5cbi8vKiBIb3ZlciBiYWNrZ3JvdW5kIGZvciBkcm9wZG93biBsaW5rcy5cbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiB3aGl0ZXNtb2tlICFkZWZhdWx0O1xuXG4vLyogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSB0ZXh0IGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuLy8qIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbi8vKiBEaXNhYmxlZCBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qIFRleHQgY29sb3IgZm9yIGhlYWRlcnMgd2l0aGluIGRyb3Bkb3duIG1lbnVzLlxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiBEZXByZWNhdGVkIGAkZHJvcGRvd24tY2FyZXQtY29sb3JgIGFzIG9mIHYzLjEuMFxuJGRyb3Bkb3duLWNhcmV0LWNvbG9yOiBibGFjayAhZGVmYXVsdDtcblxuLy8tLSBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG4vL1xuLy8gTm90ZTogVGhlc2UgdmFyaWFibGVzIGFyZSBub3QgZ2VuZXJhdGVkIGludG8gdGhlIEN1c3RvbWl6ZXIuXG5cbiR6aW5kZXgtbmF2YmFyOiAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1kcm9wZG93bjogMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogMTA3MCAhZGVmYXVsdDtcbiR6aW5kZXgtbmF2YmFyLWZpeGVkOiAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZ3JvdW5kOiAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogMTA1MCAhZGVmYXVsdDtcblxuLy89PSBNZWRpYSBxdWVyaWVzIGJyZWFrcG9pbnRzXG4vL1xuLy8jIyBEZWZpbmUgdGhlIGJyZWFrcG9pbnRzIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLCBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZVxuLy8qIERlcHJlY2F0ZWQgYCRzY3JlZW4teHNgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi14czogNDgwcHggIWRlZmF1bHQ7XG5cbi8vKiBEZXByZWNhdGVkIGAkc2NyZWVuLXhzLW1pbmAgYXMgb2YgdjMuMi4wXG4kc2NyZWVuLXhzLW1pbjogJHNjcmVlbi14cyAhZGVmYXVsdDtcblxuLy8qIERlcHJlY2F0ZWQgYCRzY3JlZW4tcGhvbmVgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1waG9uZTogJHNjcmVlbi14cy1taW4gIWRlZmF1bHQ7XG5cbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxuLy8qIERlcHJlY2F0ZWQgYCRzY3JlZW4tc21gIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1zbTogNzY4cHggIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1pbjogJHNjcmVlbi1zbSAhZGVmYXVsdDtcblxuLy8qIERlcHJlY2F0ZWQgYCRzY3JlZW4tdGFibGV0YCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tdGFibGV0OiAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3Bcbi8vKiBEZXByZWNhdGVkIGAkc2NyZWVuLW1kYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbWQ6IDk5MnB4ICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1taW46ICRzY3JlZW4tbWQgIWRlZmF1bHQ7XG5cbi8vKiBEZXByZWNhdGVkIGAkc2NyZWVuLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1kZXNrdG9wOiAkc2NyZWVuLW1kLW1pbiAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4vLyogRGVwcmVjYXRlZCBgJHNjcmVlbi1sZ2AgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWxnOiAxMjAwcHggIWRlZmF1bHQ7XG4kc2NyZWVuLWxnLW1pbjogJHNjcmVlbi1sZyAhZGVmYXVsdDtcblxuLy8qIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGctZGVza3RvcGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWxnLWRlc2t0b3A6ICRzY3JlZW4tbGctbWluICFkZWZhdWx0O1xuXG4vLyBTbyBtZWRpYSBxdWVyaWVzIGRvbid0IG92ZXJsYXAgd2hlbiByZXF1aXJlZCwgcHJvdmlkZSBhIG1heGltdW1cbiRzY3JlZW4teHMtbWF4OiAkc2NyZWVuLXNtLW1pbiAtIDEgIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1heDogJHNjcmVlbi1tZC1taW4gLSAxICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1tYXg6ICRzY3JlZW4tbGctbWluIC0gMSAhZGVmYXVsdDtcblxuLy89PSBHcmlkIHN5c3RlbVxuLy9cbi8vIyMgRGVmaW5lIHlvdXIgY3VzdG9tIHJlc3BvbnNpdmUgZ3JpZC5cblxuLy8qIE51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxuJGdyaWQtY29sdW1uczogMTIgIWRlZmF1bHQ7XG5cbi8vKiBQYWRkaW5nIGJldHdlZW4gY29sdW1ucy4gR2V0cyBkaXZpZGVkIGluIGhhbGYgZm9yIHRoZSBsZWZ0IGFuZCByaWdodC5cbiRncmlkLWd1dHRlci13aWR0aDogMzBweCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGNvbGxhcHNlXG4vLyogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWNvbWVzIHVuY29sbGFwc2VkLlxuJGdyaWQtZmxvYXQtYnJlYWtwb2ludDogJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG5cbi8vKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlZ2lucyBjb2xsYXBzaW5nLlxuJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQgLSAxICFkZWZhdWx0O1xuXG4vLz09IENvbnRhaW5lciBzaXplc1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4kY29udGFpbmVyLXRhYmxldDogNzIwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGggIWRlZmF1bHQ7XG5cbi8vKiBGb3IgYCRzY3JlZW4tc20tbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLXNtOiAkY29udGFpbmVyLXRhYmxldCAhZGVmYXVsdDtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3BcbiRjb250YWluZXItZGVza3RvcDogOTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGggIWRlZmF1bHQ7XG5cbi8vKiBGb3IgYCRzY3JlZW4tbWQtbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLW1kOiAkY29udGFpbmVyLWRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wOiAxMTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGggIWRlZmF1bHQ7XG5cbi8vKiBGb3IgYCRzY3JlZW4tbGctbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLWxnOiAkY29udGFpbmVyLWxhcmdlLWRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vPT0gTmF2YmFyXG4vL1xuLy8jI1xuXG4vLyBCYXNpY3Mgb2YgYSBuYXZiYXJcbiRuYXZiYXItaGVpZ2h0OiA1MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1tYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQgIWRlZmF1bHQ7XG4kbmF2YmFyLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDogZmxvb3IoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctdmVydGljYWw6ICgkbmF2YmFyLWhlaWdodCAtICRsaW5lLWhlaWdodC1jb21wdXRlZCkgLyAyICFkZWZhdWx0O1xuJG5hdmJhci1jb2xsYXBzZS1tYXgtaGVpZ2h0OiAzNDBweCAhZGVmYXVsdDtcblxuJG5hdmJhci1kZWZhdWx0LWNvbG9yOiAjNzc3Nzc3ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJnOiAjZjhmOGY4ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJvcmRlcjogZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhciBsaW5rc1xuJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I6ICM3Nzc3NzcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtdm9wNC1saW5rLWFjdGl2ZTogIzMzMzMzMyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjogIzU1NTU1NSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZzogZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjogI2NjY2NjYyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWNvbG9yOiBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZzogI2RkZGRkZCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc6ICM4ODg4ODggIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWJvcmRlci1jb2xvcjogI2RkZGRkZCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyXG4vLyBSZXNldCBpbnZlcnRlZCBuYXZiYXIgYmFzaWNzXG4kbmF2YmFyLWludmVyc2UtY29sb3I6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJnOiAjMjIyMjIyICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJvcmRlcjogZGFya2VuKCRuYXZiYXItaW52ZXJzZS1iZywgMTAlKSAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGxpbmtzXG4kbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2Utdm9wNC1saW5rLWFjdGl2ZTogd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I6ICRuYXZiYXItaW52ZXJzZS12b3A0LWxpbmstYWN0aXZlICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnOiBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I6ICM0NDQ0NDQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciBicmFuZCBsYWJlbFxuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgdG9nZ2xlXG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWhvdmVyLWJnOiAjMzMzMzMzICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1pY29uLWJhci1iZzogd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWJvcmRlci1jb2xvcjogIzMzMzMzMyAhZGVmYXVsdDtcblxuLy89PSBOYXZzXG4vL1xuLy8jI1xuXG4vLz09PSBTaGFyZWQgbmF2IHN0eWxlc1xuJG5hdi1saW5rLXBhZGRpbmc6IDEwcHggMTVweCAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1iZzogJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yOiAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRuYXYtZGlzYWJsZWQtdm9wNC1saW5rLWFjdGl2ZTogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbiRuYXYtb3Blbi12b3A0LWxpbmstYWN0aXZlOiB3aGl0ZSAhZGVmYXVsdDtcblxuLy89PSBUYWJzXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAjZGRkZGRkICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZzogJGNhbnZhc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtdm9wNC1saW5rLWFjdGl2ZTogJGdyYXkgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAjZGRkZGRkICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yOiAjZGRkZGRkICFkZWZhdWx0O1xuJG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I6ICRjYW52YXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vPT0gUGlsbHNcbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJG5hdi1waWxscy1hY3RpdmUtdm9wNC1saW5rLWFjdGl2ZTogJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cbi8vPT0gUGFnaW5hdGlvblxuLy9cbi8vIyNcblxuJHBhZ2luYXRpb24tY29sb3I6ICRjYW52YXNzLWxpbmsgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXI6ICNkZGRkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAkY2FudmFzcy1saW5rLWFjdGl2ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyOiAjZGRkZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI6ICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI6ICNkZGRkZGQgIWRlZmF1bHQ7XG5cbi8vPT0gUGFnZXJcbi8vXG4vLyMjXG5cbiRwYWdlci1iZzogJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XG4kcGFnZXItYm9yZGVyOiAkcGFnaW5hdGlvbi1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFnZXItYm9yZGVyLXJhZGl1czogMTVweCAhZGVmYXVsdDtcblxuJHBhZ2VyLWhvdmVyLWJnOiAkcGFnaW5hdGlvbi1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHBhZ2VyLWFjdGl2ZS1iZzogJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWFjdGl2ZS1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG4kcGFnZXItZGlzYWJsZWQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG4vLz09IEp1bWJvdHJvblxuLy9cbi8vIyNcblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAzMHB4ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWhlYWRpbmctY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWZvbnQtc2l6ZTogY2VpbCgkZm9udC1zaXplLWJhc2UgKiAxLjUpICFkZWZhdWx0O1xuXG4vLz09IEZvcm0gc3RhdGVzIGFuZCBhbGVydHNcbi8vXG4vLyMjIERlZmluZSBjb2xvcnMgZm9yIGZvcm0gZmVlZGJhY2sgc3RhdGVzIGFuZCwgYnkgZGVmYXVsdCwgYWxlcnRzLlxuXG4kc3RhdGUtc3VjY2Vzcy10ZXh0OiAjM2M3NjNkICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYmc6ICNkZmYwZDggIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1ib3JkZXI6IGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1zdWNjZXNzLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1pbmZvLXRleHQ6ICMzMTcwOGYgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1iZzogI2Q5ZWRmNyAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJvcmRlcjogZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLWluZm8tYmcsIC0xMCksIDclKSAhZGVmYXVsdDtcblxuJHN0YXRlLXdhcm5pbmctdGV4dDogIzhhNmQzYiAhZGVmYXVsdDtcbiRzdGF0ZS13YXJuaW5nLWJnOiAjZmNmOGUzICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYm9yZGVyOiBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtd2FybmluZy1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtZGFuZ2VyLXRleHQ6ICNhOTQ0NDIgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJnOiAjZjJkZWRlICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1ib3JkZXI6IGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1kYW5nZXItYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuLy89PSBUb29sdGlwc1xuLy9cbi8vIyNcblxuLy8qIFRvb2x0aXAgbWF4IHdpZHRoXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLyogVG9vbHRpcCB0ZXh0IGNvbG9yXG4kdG9vbHRpcC1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG5cbi8vKiBUb29sdGlwIGJhY2tncm91bmQgY29sb3JcbiR0b29sdGlwLWJnOiBibGFjayAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6IDAuOSAhZGVmYXVsdDtcblxuLy8qIFRvb2x0aXAgYXJyb3cgd2lkdGhcbiR0b29sdGlwLWFycm93LXdpZHRoOiA1cHggIWRlZmF1bHQ7XG5cbi8vKiBUb29sdGlwIGFycm93IGNvbG9yXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cbi8vPT0gUG9wb3ZlcnNcbi8vXG4vLyMjXG5cbi8vKiBQb3BvdmVyIGJvZHkgYmFja2dyb3VuZCBjb2xvclxuJHBvcG92ZXItYmc6IHdoaXRlICFkZWZhdWx0O1xuXG4vLyogUG9wb3ZlciBtYXhpbXVtIHdpZHRoXG4kcG9wb3Zlci1tYXgtd2lkdGg6IDI3NnB4ICFkZWZhdWx0O1xuXG4vLyogUG9wb3ZlciBib3JkZXIgY29sb3JcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpICFkZWZhdWx0O1xuXG4vLyogUG9wb3ZlciBmYWxsYmFjayBib3JkZXIgY29sb3JcbiRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvcjogI2NjY2NjYyAhZGVmYXVsdDtcblxuLy8qIFBvcG92ZXIgdGl0bGUgYmFja2dyb3VuZCBjb2xvclxuJHBvcG92ZXItdGl0bGUtYmc6IGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuXG4vLyogUG9wb3ZlciBhcnJvdyB3aWR0aFxuJHBvcG92ZXItYXJyb3ctd2lkdGg6IDEwcHggIWRlZmF1bHQ7XG5cbi8vKiBQb3BvdmVyIGFycm93IGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG5cbi8vKiBQb3BvdmVyIG91dGVyIGFycm93IHdpZHRoXG4kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGggKyAxICFkZWZhdWx0O1xuXG4vLyogUG9wb3ZlciBvdXRlciBhcnJvdyBjb2xvclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6IGZhZGVfaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAwLjA1KSAhZGVmYXVsdDtcblxuLy8qIFBvcG92ZXIgb3V0ZXIgYXJyb3cgZmFsbGJhY2sgY29sb3JcbiRwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOiBkYXJrZW4oJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yLCAyMCUpICFkZWZhdWx0O1xuXG4vLz09IExhYmVsc1xuLy9cbi8vIyNcblxuLy8qIERlZmF1bHQgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWRlZmF1bHQtYmc6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyogUHJpbWFyeSBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtcHJpbWFyeS1iZzogJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vKiBTdWNjZXNzIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1zdWNjZXNzLWJnOiAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcblxuLy8qIEluZm8gbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWluZm8tYmc6ICRicmFuZC1pbmZvICFkZWZhdWx0O1xuXG4vLyogV2FybmluZyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtd2FybmluZy1iZzogJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG5cbi8vKiBEYW5nZXIgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWRhbmdlci1iZzogJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcblxuLy8qIERlZmF1bHQgbGFiZWwgdGV4dCBjb2xvclxuJGxhYmVsLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcblxuLy8qIERlZmF1bHQgdGV4dCBjb2xvciBvZiBhIGxpbmtlZCBsYWJlbFxuJGxhYmVsLXZvcDQtbGluay1hY3RpdmU6IHdoaXRlICFkZWZhdWx0O1xuXG4vLz09IE1vZGFsc1xuLy9cbi8vIyNcblxuLy8qIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6IDE1cHggIWRlZmF1bHQ7XG5cbi8vKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIHRpdGxlXG4kbW9kYWwtdGl0bGUtcGFkZGluZzogMTVweCAhZGVmYXVsdDtcblxuLy8qIE1vZGFsIHRpdGxlIGxpbmUtaGVpZ2h0XG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4vLyogQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBjb250ZW50IGFyZWFcbiRtb2RhbC1jb250ZW50LWJnOiB3aGl0ZSAhZGVmYXVsdDtcblxuLy8qIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yXG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKSAhZGVmYXVsdDtcblxuLy8qIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yICoqZm9yIElFOCoqXG4kbW9kYWwtY29udGVudC1mYWxsYmFjay1ib3JkZXItY29sb3I6ICM5OTk5OTkgIWRlZmF1bHQ7XG5cbi8vKiBNb2RhbCBiYWNrZHJvcCBiYWNrZ3JvdW5kIGNvbG9yXG4kbW9kYWwtYmFja2Ryb3AtYmc6IGJsYWNrICFkZWZhdWx0O1xuXG4vLyogTW9kYWwgYmFja2Ryb3Agb3BhY2l0eVxuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6IDAuNSAhZGVmYXVsdDtcblxuLy8qIE1vZGFsIGhlYWRlciBib3JkZXIgY29sb3JcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAjZTVlNWU1ICFkZWZhdWx0O1xuXG4vLyogTW9kYWwgZm9vdGVyIGJvcmRlciBjb2xvclxuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kbW9kYWwtbGc6IDkwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiA2MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogMzAwcHggIWRlZmF1bHQ7XG5cbi8vPT0gQWxlcnRzXG4vL1xuLy8jIyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmc6IDE1cHggIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4kYWxlcnQtc3VjY2Vzcy1iZzogJHN0YXRlLXN1Y2Nlc3MtYmcgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy10ZXh0OiAkc3RhdGUtc3VjY2Vzcy10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtYm9yZGVyOiAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1pbmZvLWJnOiAkc3RhdGUtaW5mby1iZyAhZGVmYXVsdDtcbiRhbGVydC1pbmZvLXRleHQ6ICRzdGF0ZS1pbmZvLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby1ib3JkZXI6ICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LXdhcm5pbmctYmc6ICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctdGV4dDogJHN0YXRlLXdhcm5pbmctdGV4dCAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWJvcmRlcjogJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtZGFuZ2VyLWJnOiAkc3RhdGUtZGFuZ2VyLWJnICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci10ZXh0OiAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWJvcmRlcjogJHN0YXRlLWRhbmdlci1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vPT0gUHJvZ3Jlc3MgYmFyc1xuLy9cbi8vIyNcblxuLy8qIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIHdob2xlIHByb2dyZXNzIGNvbXBvbmVudFxuJHByb2dyZXNzLWJnOiB3aGl0ZXNtb2tlICFkZWZhdWx0O1xuXG4vLyogUHJvZ3Jlc3MgYmFyIHRleHQgY29sb3JcbiRwcm9ncmVzcy1iYXItY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuXG4vLyogRGVmYXVsdCBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItYmc6ICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyogU3VjY2VzcyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZzogJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG5cbi8vKiBXYXJuaW5nIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci13YXJuaW5nLWJnOiAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcblxuLy8qIERhbmdlciBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItZGFuZ2VyLWJnOiAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuXG4vLyogSW5mbyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItaW5mby1iZzogJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG5cbi8vPT0gTGlzdCBncm91cFxuLy9cbi8vIyNcblxuLy8qIEJhY2tncm91bmQgY29sb3Igb24gYC5saXN0LWdyb3VwLWl0ZW1gXG4kbGlzdC1ncm91cC1iZzogd2hpdGUgIWRlZmF1bHQ7XG5cbi8vKiBgLmxpc3QtZ3JvdXAtaXRlbWAgYm9yZGVyIGNvbG9yXG4kbGlzdC1ncm91cC1ib3JkZXI6ICNkZGRkZGQgIWRlZmF1bHQ7XG5cbi8vKiBMaXN0IGdyb3VwIGJvcmRlciByYWRpdXNcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHNpbmdsZSBsaXN0IGl0ZW1zIG9uIGhvdmVyXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogd2hpdGVzbW9rZSAhZGVmYXVsdDtcblxuLy8qIFRleHQgY29sb3Igb2YgYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cbi8vKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4vLyogQm9yZGVyIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGVsZW1lbnRzXG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyOiAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbi8vKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I6IGxpZ2h0ZW4oJGxpc3QtZ3JvdXAtYWN0aXZlLWJnLCA0MCUpICFkZWZhdWx0O1xuXG4vLyogVGV4dCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4vLyogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gZGlzYWJsZWQgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtdGV4dC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWxpbmstY29sb3I6ICM1NTU1NTUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC12b3A0LWxpbmstYWN0aXZlOiAkbGlzdC1ncm91cC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yOiAjMzMzMzMzICFkZWZhdWx0O1xuXG4vLz09IFBhbmVsc1xuLy9cbi8vIyNcblxuJHBhbmVsLWJnOiB3aGl0ZSAhZGVmYXVsdDtcbiRwYW5lbC1ib2R5LXBhZGRpbmc6IDE1cHggIWRlZmF1bHQ7XG4kcGFuZWwtaGVhZGluZy1wYWRkaW5nOiAxMHB4IDE1cHggIWRlZmF1bHQ7XG4kcGFuZWwtZm9vdGVyLXBhZGRpbmc6ICRwYW5lbC1oZWFkaW5nLXBhZGRpbmcgIWRlZmF1bHQ7XG4kcGFuZWwtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qIEJvcmRlciBjb2xvciBmb3IgZWxlbWVudHMgd2l0aGluIHBhbmVsc1xuJHBhbmVsLWlubmVyLWJvcmRlcjogI2RkZGRkZCAhZGVmYXVsdDtcbiRwYW5lbC1mb290ZXItYmc6IHdoaXRlc21va2UgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kZWZhdWx0LXRleHQ6ICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcGFuZWwtZGVmYXVsdC1ib3JkZXI6ICNkZGRkZGQgIWRlZmF1bHQ7XG4kcGFuZWwtZGVmYXVsdC1oZWFkaW5nLWJnOiB3aGl0ZXNtb2tlICFkZWZhdWx0O1xuXG4kcGFuZWwtcHJpbWFyeS10ZXh0OiB3aGl0ZSAhZGVmYXVsdDtcbiRwYW5lbC1wcmltYXJ5LWJvcmRlcjogJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFuZWwtcHJpbWFyeS1oZWFkaW5nLWJnOiAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJHBhbmVsLXN1Y2Nlc3MtdGV4dDogJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1zdWNjZXNzLWJvcmRlcjogJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLXN1Y2Nlc3MtaGVhZGluZy1iZzogJHN0YXRlLXN1Y2Nlc3MtYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC1pbmZvLXRleHQ6ICRzdGF0ZS1pbmZvLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtaW5mby1ib3JkZXI6ICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1pbmZvLWhlYWRpbmctYmc6ICRzdGF0ZS1pbmZvLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtd2FybmluZy10ZXh0OiAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctYm9yZGVyOiAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtd2FybmluZy1oZWFkaW5nLWJnOiAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLWRhbmdlci10ZXh0OiAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtZGFuZ2VyLWJvcmRlcjogJHN0YXRlLWRhbmdlci1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtZGFuZ2VyLWhlYWRpbmctYmc6ICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG5cbi8vPT0gVGh1bWJuYWlsc1xuLy9cbi8vIyNcblxuLy8qIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgaW1hZ2VcbiR0aHVtYm5haWwtcGFkZGluZzogNHB4ICFkZWZhdWx0O1xuXG4vLyogVGh1bWJuYWlsIGJhY2tncm91bmQgY29sb3JcbiR0aHVtYm5haWwtYmc6ICRjYW52YXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vKiBUaHVtYm5haWwgYm9yZGVyIGNvbG9yXG4kdGh1bWJuYWlsLWJvcmRlcjogI2RkZGRkZCAhZGVmYXVsdDtcblxuLy8qIFRodW1ibmFpbCBib3JkZXIgcmFkaXVzXG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiBDdXN0b20gdGV4dCBjb2xvciBmb3IgdGh1bWJuYWlsIGNhcHRpb25zXG4kdGh1bWJuYWlsLWNhcHRpb24tY29sb3I6ICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuXG4vLyogUGFkZGluZyBhcm91bmQgdGhlIHRodW1ibmFpbCBjYXB0aW9uXG4kdGh1bWJuYWlsLWNhcHRpb24tcGFkZGluZzogOXB4ICFkZWZhdWx0O1xuXG4vLz09IFdlbGxzXG4vL1xuLy8jI1xuXG4kd2VsbC1iZzogd2hpdGVzbW9rZSAhZGVmYXVsdDtcbiR3ZWxsLWJvcmRlcjogZGFya2VuKCR3ZWxsLWJnLCA3JSkgIWRlZmF1bHQ7XG5cbi8vPT0gQmFkZ2VzXG4vL1xuLy8jI1xuXG4kYmFkZ2UtY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuXG4vLyogTGlua2VkIGJhZGdlIHRleHQgY29sb3Igb24gaG92ZXJcbiRiYWRnZS12b3A0LWxpbmstYWN0aXZlOiB3aGl0ZSAhZGVmYXVsdDtcbiRiYWRnZS1iZzogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiBCYWRnZSB0ZXh0IGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xuJGJhZGdlLWFjdGl2ZS1jb2xvcjogJGNhbnZhc3MtbGluayAhZGVmYXVsdDtcblxuLy8qIEJhZGdlIGJhY2tncm91bmQgY29sb3IgaW4gYWN0aXZlIG5hdiBsaW5rXG4kYmFkZ2UtYWN0aXZlLWJnOiB3aGl0ZSAhZGVmYXVsdDtcblxuJGJhZGdlLWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuJGJhZGdlLWxpbmUtaGVpZ2h0OiAxICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6IDEwcHggIWRlZmF1bHQ7XG5cbi8vPT0gQnJlYWRjcnVtYnNcbi8vXG4vLyMjXG5cbiRicmVhZGNydW1iLXBhZGRpbmctdmVydGljYWw6IDhweCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcblxuLy8qIEJyZWFkY3J1bWIgYmFja2dyb3VuZCBjb2xvclxuJGJyZWFkY3J1bWItYmc6IHdoaXRlc21va2UgIWRlZmF1bHQ7XG5cbi8vKiBCcmVhZGNydW1iIHRleHQgY29sb3JcbiRicmVhZGNydW1iLWNvbG9yOiAjY2NjY2NjICFkZWZhdWx0O1xuXG4vLyogVGV4dCBjb2xvciBvZiBjdXJyZW50IHBhZ2UgaW4gdGhlIGJyZWFkY3J1bWJcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiBUZXh0dWFsIHNlcGFyYXRvciBmb3IgYmV0d2VlbiBicmVhZGNydW1iIGVsZW1lbnRzXG4kYnJlYWRjcnVtYi1zZXBhcmF0b3I6IFwiL1wiICFkZWZhdWx0O1xuXG4vLz09IENhcm91c2VsXG4vL1xuLy8jI1xuXG4kY2Fyb3VzZWwtdGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAwLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1mb250LXNpemU6IDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiB3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuXG4vLz09IENsb3NlXG4vL1xuLy8jI1xuXG4kY2xvc2UtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAwIDFweCAwIHdoaXRlICFkZWZhdWx0O1xuXG4vLz09IENvZGVcbi8vXG4vLyMjXG5cbiRjb2RlLWNvbG9yOiAjYzcyNTRlICFkZWZhdWx0O1xuJGNvZGUtYmc6ICNmOWYyZjQgIWRlZmF1bHQ7XG5cbiRrYmQtY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJGtiZC1iZzogIzMzMzMzMyAhZGVmYXVsdDtcblxuJHByZS1iZzogd2hpdGVzbW9rZSAhZGVmYXVsdDtcbiRwcmUtY29sb3I6ICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcHJlLWJvcmRlci1jb2xvcjogI2NjY2NjYyAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAzNDBweCAhZGVmYXVsdDtcblxuLy89PSBUeXBlXG4vL1xuLy8jI1xuXG4vLyogSG9yaXpvbnRhbCBvZmZzZXQgZm9yIGZvcm1zIGFuZCBsaXN0cy5cbiRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWw6IDE4MHB4ICFkZWZhdWx0O1xuXG4vLyogVGV4dCBtdXRlZCBjb2xvclxuJHRleHQtbXV0ZWQ6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyogQWJicmV2aWF0aW9ucyBhbmQgYWNyb255bXMgYm9yZGVyIGNvbG9yXG4kYWJici1ib3JkZXItY29sb3I6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyogSGVhZGluZ3Mgc21hbGwgY29sb3JcbiRoZWFkaW5ncy1zbWFsbC1jb2xvcjogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiBCbG9ja3F1b3RlIHNtYWxsIGNvbG9yXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiBCbG9ja3F1b3RlIGZvbnQgc2l6ZVxuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLyogQmxvY2txdW90ZSBib3JkZXIgY29sb3JcbiRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuLy8qIFBhZ2UgaGVhZGVyIGJvcmRlciBjb2xvclxuJHBhZ2UtaGVhZGVyLWJvcmRlci1jb2xvcjogJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuLy8qIFdpZHRoIG9mIGhvcml6b250YWwgZGVzY3JpcHRpb24gbGlzdCB0aXRsZXNcbiRkbC1ob3Jpem9udGFsLW9mZnNldDogJGNvbXBvbmVudC1vZmZzZXQtaG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuLy8qIEhvcml6b250YWwgbGluZSBjb2xvci5cbiRoci1ib3JkZXI6ICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4iLAoJCSIlYm94IHtcbiAgYm9yZGVyLXJhZGl1czogN3B4O1xuICBwYWRkaW5nOiAkcGFkO1xufVxuXG4lYm94LXNoYWRvdyB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDFweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG5cbiVib3gtd2hpdGUge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNhbnZhc3MtbGlnaHRncmF5O1xuICBAZXh0ZW5kICVib3g7XG59IiwKCQkiJWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogJGNhbnZhc3MtY29udGFpbmVyO1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDAgJHBhZDtcbiAgQGluY2x1ZGUgaGVscGVycy1jbGVhcjtcbn0iLAoJCSIlaGVyb0FuZFdpZGRnZXRzIHtcbiAgLmhlcm8ge1xuICAgIG1pbi1oZWlnaHQ6IDM0MHB4O1xuICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjVzO1xuICAgIC5oZXJvLWRlc2Mge1xuICAgICAgbWFyZ2luLXRvcDogLTM1cHg7XG4gICAgfVxuICAgICYubm90aWZ5IHtcbiAgICAgIGJhY2tncm91bmQ6ICM2ZTZlNmUgdXJsKCN7JHB1YmxpY1BhdGh9L2JsdWVwcmludHMvdm9wNC9pbWFnZXMvaGVyby9ub3RpZnkucG5nKSB0b3AgY2VudGVyIG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAuY29udGFpbmVyLXdpZGdldHMge1xuICAgIG1hcmdpbi10b3A6IC0xMDBweDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQtYXQoZmFsc2UsICRjYW52YXNzLXRocmVzaG9sZC10YWJsZXQpIHtcbiAgICAuaGVybyB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWluLWhlaWdodDogMTAwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTc1cHg7XG4gICAgfVxuICAgIC5jb250YWluZXItd2lkZ2V0cyB7XG4gICAgICBtYXJnaW4tdG9wOiAtMTc1cHg7XG4gICAgfVxuICB9XG59IiwKCQkiLmZvb3RlciB7XG4gIHBhZGRpbmc6ICRwYWQqMiAwO1xuICBiYWNrZ3JvdW5kOiAjNDcxRTVFO1xuICBtYXJnaW4tdG9wOiAtMTEwcHg7XG4gIC5jb250YWluZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG4gIC5zbWFsbGVyVGV4dCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG4uY29tcG9uZW50c19sYW5ndWFnZVNlbGVjdG9yIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogJHBhZC8yO1xuICAuYnRuLWRlZmF1bHQge1xuICAgIGJvcmRlcjogMTtcbiAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMHB4ICRwYWQvMiAwcHggJHBhZC8yO1xuICB9XG59XG4uZm9vdGVyLWxpbmtzLXJvdyB7XG4gIG1hcmdpbi1ib3R0b206ICRwYWQ7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tIDowO1xuICB9XG59XG4uZm9vdGVyLWxpbmtzLWNvbCB7XG4gIEBpbmNsdWRlIGhlbHBlcnMtY2xlYXI7XG4gIGZsb2F0OiBsZWZ0O1xuICAmOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuLmZvb3Rlci1saW5rcy1saW5rIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcGFkZGluZy1yaWdodDogJHBhZCAqIDI7XG4gICY6bGFzdC1jaGlsZCwgJi5ub0JvcmRlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgfVxufVxuLmZvb3Rlci1saW5rcy1saW5rLS1zb2NpYWwge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDE4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6ICRwYWQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuQGluY2x1ZGUgcmVzcG9uZC1hdChmYWxzZSwgJGNhbnZhc3MtdGhyZXNob2xkLXRhYmxldCkge1xuICAuZm9vdGVyLWxpbmtzLWNvbCwgLmZvb3Rlci1saW5rcy1jb2w6bGFzdC1jaGlsZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFkO1xuICB9XG4gIC5mb290ZXItbGlua3MtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhZDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FhYTtcbiAgfVxuICAuZm9vdGVyLWxpbmtzLWxpbmstLXNvY2lhbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkcGFkO1xuICB9XG59IiwKCQkiLmhlYWRlciB7XG4gIGhlaWdodDogODBweDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAgMTNweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgLmNvbXBvbmVudHNfbGFuZ3VhZ2VTZWxlY3RvciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkcGFkLzI7XG4gICAgLmJ0bi1kZWZhdWx0IHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiA0cHg7XG4gICAgfVxuICB9XG4gIC5oZWFkZXItbW9iaWxlLWpvaW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmxvZ2luIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRwYWQvMjtcbiAgfVxuICAuc2lnbnVwIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRwYWQ7XG4gIH1cbiAgLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuICAgIC8vaGVpZ2h0OiA2NXB4O1xuICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIH1cbiAgLmxpbmsge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiA2NXB4O1xuICAgIFtpY29uXSwgLmZhLmZhLXN0YXItbyB7XG4gICAgICBAaW5jbHVkZSBpY29uKDE0cHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICBmaWxsOiAkY2FudmFzcy1kZWZhdWx0LXRleHQ7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IDZweDtcbiAgICAgIGJvdHRvbTogLThweDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjVzO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRjYW52YXNzLXB1cnBsZSwgMjUpO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjYW52YXNzLXB1cnBsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICB9XG59XG5cbi5oZWFkZXItbG9nbyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cbi5oZWFkZXItbmF2LWFjdGl2ZSB7XG4gIGNvbG9yOiAkY2FudmFzcy1saW5rLWFjdGl2ZSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4uaGVhZGVyLWJhbGFuY2Uge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogJHBhZCoyO1xufVxuLmhlYWRlci1jb2wge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICY6bnRoLWNoaWxkKDEpIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAmOm50aC1jaGlsZCgyKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuICAmOm50aC1jaGlsZCgzKSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG4uaGVhZGVyLWNvbC1ibG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAkcGFkKjI7XG4gIGNvbG9yOiAkY2FudmFzcy1kZWZhdWx0LXRleHQ7XG4gIC5mYSB+IHNwYW4ge1xuICAgIHBhZGRpbmctbGVmdDogM3B4O1xuICB9XG59XG4uaGVhZGVyLWJhcnMge1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMjdweDtcbiAgY29sb3I6ICRjYW52YXNzLXB1cnBsZTtcbn1cblxuQGluY2x1ZGUgcmVzcG9uZC1hdChmYWxzZSwgJGNhbnZhc3MtdGhyZXNob2xkLXRhYmxldCkge1xuICAuaGVhZGVyIHtcbiAgICAuY29tcG9uZW50c19sYW5ndWFnZVNlbGVjdG9yIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMCAkcGFkO1xuICAgIH1cbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgaW1nIHtcbiAgICAgIG1heC1oZWlnaHQ6IDM1cHg7XG4gICAgfVxuICAgIC5oZWFkZXItY29sOm50aC1jaGlsZCgxKSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNTBweCk7XG4gICAgfVxuICAgIC5oZWFkZXItY29sOm50aC1jaGlsZCgyKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuaGVhZGVyLWNvbDpudGgtY2hpbGQoMykge1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgfVxuICAgIC5sb2dpbiwgLnNpZ251cCwgLmpvaW5Ob3cge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmhlYWRlci1iYXJzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgLmhlYWRlci1tb2JpbGUtam9pbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBwYWRkaW5nOiAwICRwYWQ7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICB9XG4gICAgLmhlYWRlci1sb2dvIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gICAgLmhlYWRlci1iYXJzIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNhbnZhc3MtbGlnaHRncmF5O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIC5mYS1iYXJzIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwKCQkiLmhlcm8ge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgcGFkZGluZzogMzBweCAwO1xuICBjb2xvcjogI2ZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDA7XG4gIC5jb250YWluZXIge1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDgwMHB4O1xuICB9XG4gIC5idXR0b24ge1xuICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luLXRvcDogJHBhZDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG59XG4uaGVyby15ZWxsb3cge1xuICBjb2xvcjogJGNhbnZhc3MteWVsbG93O1xufVxuXG4uaGVyby1kZXNjIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDUwJTtcbiAgQGV4dGVuZCAldmVydGljYWxseUNlbnRlcjtcbiAgQGV4dGVuZCAuY29udGFpbmVyO1xuICBoMSB7XG4gICAgZm9udC1zaXplOiA0NXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDU1cHg7XG4gIH1cbiAgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbiAgYTpub3QoLmJ1dHRvbikge1xuICAgIGNvbG9yOiAkY2FudmFzcy15ZWxsb3c7XG4gIH1cbn1cblxuQGluY2x1ZGUgcmVzcG9uZC1hdChmYWxzZSwgJGNhbnZhc3MtdGhyZXNob2xkLXRhYmxldCkge1xuICAuaGVybyB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBAaW5jbHVkZSBkaXNwbGF5KGZsZXgpO1xuICAgIC5jb250YWluZXIge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIC5oZXJvLWRlc2Mge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgaDEge1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSByZXNwb25kLWF0KGZhbHNlLCAkY2FudmFzcy10aHJlc2hvbGQtbW9iaWxlKSB7XG4gIC5oZXJvIHtcbiAgICAuaGVyby1kZXNjIHtcbiAgICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmhlcm8tZGVzYy1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59IiwKCQkiLmJveFNoYWRvdy0tdG9wIHtcbiAgYm94LXNoYWRvdzogLTFweCAtNHB4IDEwcHggLTJweCByZ2JhKDAsMCwwLDAuMzcpO1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbn1cblxuLnNpdGUtb3ZlcmxheSB7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xufVxuXG4ubW9iaWxlSGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBib3R0b206IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjVzO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHotaW5kZXg6IDEwMDE7XG4gIC5zdXJ2ZXlzIC5ub3RpZmljYXRpb24tYnViYmxlIHtcbiAgICBtYXJnaW4tbGVmdDogJHBhZC8yO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgfVxuICAucHJvZmlsZUluZm8ge1xuICAgIHBhZGRpbmc6ICRwYWQ7XG4gIH1cblxuICAmLm1vYmlsZUhlYWRlci0tc2Vjb25kYXJ5IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjUpO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgIC5yZXdhcmRzLXNlbGVjdGlvbi1tZW51LXNlbGVjdCB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAubW9iaWxlSGVhZGVyLWNsb3NlIHtcbiAgICAgIHJpZ2h0OiBpbmhlcml0O1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAubW9iaWxlSGVhZGVyLWNvbnRlbnQge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBpbmhlcml0O1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwMHB4O1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cblxuICAgIC5tb2JpbGVIZWFkZXItLXNlY29uZGFyeV9fdGl0bGUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYWVhZWE7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG5cbiAgICAucmV3YXJkcy1zZWxlY3Rpb24tbWVudS1hbW91bnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAucmV3YXJkcy1zZWxlY3Rpb24tdGl0bGUge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC5yZXdhcmRzLXNlbGVjdGlvbi10aXRsZS5yZXdhcmRzLXNlbGVjdGlvbi1zeW1ib2wge1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG5cbiAgICAubW9iaWxlSGVhZGVyLS1zZWNvbmRhcnlfX2FjdGlvbnMge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICAgICAgcGFkZGluZzogMXJlbSAwIDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjYW52YXNzLWxpZ2h0Z3JheTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjJyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB9XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJ6c2xpZGVyIC5yei1idWJibGUge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cblxuICAgIC5jb250ZW50QW5kTGlua3MtbGlua3MtbGluayB7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG4gIH1cbn1cblxuLm1vYmlsZUhlYWRlcl9fZm9vdGVyQWN0aW9ucyB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuXG4gID4gZGl2ID4gKiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwLjc1cmVtIDFyZW07XG4gIH1cbn1cblxuLm1vYmlsZUhlYWRlci1sb2dvIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4ubW9iaWxlSGVhZGVyLXByb2ZpbGUge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6ICRwYWQ7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxNTBweCk7XG59XG4ubW9iaWxlSGVhZGVyLWNhcnQge1xuICBmbG9hdDogcmlnaHQ7XG4gIGhlaWdodDogMzdweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBbaWNvbl0ge1xuICAgIEBpbmNsdWRlIGljb24oMjVweCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxMnB4O1xuICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICAgIGZpbGw6ICRjYW52YXNzLWRlZmF1bHQtdGV4dDtcbiAgfVxuICAubm90aWZpY2F0aW9uLWJ1YmJsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbiAgJjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0kcGFkO1xuICAgIGJvdHRvbTogLSRwYWQ7XG4gICAgcmlnaHQ6IDY1cHg7XG4gICAgYmFja2dyb3VuZDogJGNhbnZhc3MtbGlnaHRncmF5O1xuICAgIHdpZHRoOiAxcHg7XG4gICAgY29udGVudDogXCIgXCI7XG4gIH1cbn1cbi5tb2JpbGVIZWFkZXItcHJvZmlsZS1uYW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiBkYXJrZW4oJGNhbnZhc3MtcHVycGxlLCAyMCk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWF4LXdpZHRoOiAxMjBweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4ubW9iaWxlSGVhZGVyLXByb2ZpbGUtYmFsYW5jZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogJGNhbnZhc3MtZGVmYXVsdC10ZXh0O1xuICBmb250LXNpemU6IDEzcHg7XG4gIG1hcmdpbi10b3A6IDNweDtcbn1cblxuXG4ubW9iaWxlSGVhZGVyLXByb2ZpbGVQcm9ncmVzcyB7XG4gIGJhY2tncm91bmQ6ICRjYW52YXNzLXB1cnBsZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgcGFkZGluZzogMnB4IDA7XG4gIHdpZHRoOiA0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5tb2JpbGVIZWFkZXItbG9nbyB7XG4gIG1heC1oZWlnaHQ6IDQwcHg7XG4gIG1heC13aWR0aDogMTEwcHg7XG59XG5cbi5tb2JpbGVIZWFkZXItb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgZGlzcGxheTogbm9uZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xuICBvcGFjaXR5OiAuODtcbiAgei1pbmRleDogLTI7XG59XG5cbi5tb2JpbGVIZWFkZXItY29udGVudC1yb3cge1xuICBwYWRkaW5nOiAkcGFkLzIgJHBhZDtcbiAgQGluY2x1ZGUgaGVscGVycy1jbGVhcjtcbn1cblxuLm1vYmlsZUhlYWRlci1jb250ZW50LWxpbmsge1xuICBwYWRkaW5nOiAkcGFkIDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogZGFya2VuKCRjYW52YXNzLWRhcmtncmF5LCAxMCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luLWxlZnQ6IC0kcGFkO1xuICBtYXJnaW4tcmlnaHQ6IC0kcGFkO1xuICBwYWRkaW5nOiAkcGFkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgLmZhIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkLzI7XG4gIH1cbiAgLmZhLmZhLXN0YXItbyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgfVxuICBbaWNvbl0sLmZhLmZhLXN0YXItbyB7XG4gICAgQGluY2x1ZGUgaWNvbigxNXB4KTtcbiAgICBtYXJnaW4tbGVmdDogMTFweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE3cHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIGZpbGw6ICRjYW52YXNzLWRlZmF1bHQtdGV4dDtcbiAgfVxuICAmLmJvdHRvbUJvcmRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjYW52YXNzLWxpZ2h0Z3JheTtcbiAgfVxuICAmLnN1Ymxpbmsge1xuICAgIHBhZGRpbmctbGVmdDogJHBhZCo1O1xuICB9XG4gICYuYWN0aXZlLCAmLmFjdGl2ZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGNhbnZhc3MtcHVycGxlO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBbaWNvbl0ge1xuICAgICAgZmlsbDogd2hpdGU7XG4gICAgfVxuICAgIC5mYS5mYS1zdGFyLW8ge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgICAubW9iaWxlSGVhZGVyLXByb2ZpbGVQcm9ncmVzcyB7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIGNvbG9yOiAkY2FudmFzcy1kZWZhdWx0LXRleHQ7XG4gICAgfVxuICB9XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRjYW52YXNzLWxpZ2h0Z3JheTtcbiAgfVxufVxuXG4ubW9iaWxlSGVhZGVyLWNvbnRlbnQtcm93LS1ib3JkZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNhbnZhc3MtbGlnaHRncmF5O1xufVxuXG4ubW9iaWxlSGVhZGVyLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBsaW5lLWhlaWdodDogNTBweDtcbiAgYmFja2dyb3VuZDogJGNhbnZhc3MtcHVycGxlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4ubW9iaWxlSGVhZGVyLWNvbnRlbnQge1xuICB3aWR0aDogY2FsYygxMDAlIC0gNTBweCk7IC8vIDUwcHggaXMgd2lkdGggb2YgXCJ4XCIgYnV0dG9uIGNvbHVtblxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgYm90dG9tOiAwO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG59XG5cbkBpbmNsdWRlIHJlc3BvbmQtYXQoZmFsc2UsICRjYW52YXNzLXRocmVzaG9sZC10YWJsZXQpIHtcbiAgYm9keS5tb2JpbGUtbmF2LW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC5tb2JpbGVIZWFkZXItb3ZlcmxheSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLnNpdGUtb3ZlcmxheSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgei1pbmRleDogMTAwMDtcbiAgICB9XG4gICAgLm1vYmlsZUhlYWRlcjpub3QoLm1vYmlsZUhlYWRlci0tc2Vjb25kYXJ5KSB7IC8vIERvIG5vdCBvcGVuIHRoZSBzZWNvbmRhcnkgaGVhZGVyIGFzIHdlbGwuXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICBib2R5IHtcbiAgICAmLm1vYmlsZS1uYXYtb3Blbi0tc2Vjb25kYXJ5IHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgIC5tb2JpbGVIZWFkZXItb3ZlcmxheSxcbiAgICAgIC5yZXdhcmRzLW1vYmlsZS1zdWJtZW51LFxuICAgICAgLnJld2FyZHMtbW9iaWxlLXN1Ym1lbnUgPiAqXG4gICAgICAuc2l0ZS1vdmVybGF5LFxuICAgICAgLmhlYWRlciB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICB9XG5cbiAgICAgIC5tb2JpbGVIZWFkZXIubW9iaWxlSGVhZGVyLS1zZWNvbmRhcnkge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLThweCk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuQGluY2x1ZGUgcmVzcG9uZC1hdCgkY2FudmFzcy10aHJlc2hvbGQtbW9iaWxlLCAkY2FudmFzcy10aHJlc2hvbGQtdGFibGV0KSB7XG4gIGJvZHkge1xuICAgICYubW9iaWxlLW5hdi1vcGVuLS1zZWNvbmRhcnkge1xuICAgICAgLm1vYmlsZUhlYWRlci5tb2JpbGVIZWFkZXItLXNlY29uZGFyeSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTZweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLAoJCSIkcHJvbW8tcmV3YXJkLXNpemU6IDEyMHB4O1xuXG4ucHJvbW9SZXdhcmRzIHtcbiAgQGluY2x1ZGUgdmVydGljYWxseUNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucHJvbW9SZXdhcmRzLXJld2FyZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBoZWlnaHQ6ICRwcm9tby1yZXdhcmQtc2l6ZTtcbiAgd2lkdGg6ICRwcm9tby1yZXdhcmQtc2l6ZTtcbiAgcGFkZGluZzogJHBhZC8yO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46ICRwYWQvMjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMnM7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICBvcGFjaXR5OiAxO1xuICBpbWcge1xuICAgIG1heC13aWR0aDogNzUlO1xuICAgIEBleHRlbmQgJXZlcnRpY2FsbHlDZW50ZXI7XG4gICAgbGVmdDogMTIlO1xuICB9XG59XG5cbi5wcm9tb1Jld2FyZHMtcmV3YXJkLm5nLWVudGVyIHtcbiAgb3BhY2l0eTogMDtcbn1cbi5wcm9tb1Jld2FyZHMtcmV3YXJkLm5nLWVudGVyLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG59XG4ucHJvbW9SZXdhcmRzLXJld2FyZC5uZy1sZWF2ZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQGluY2x1ZGUgcmVzcG9uZC1hdChmYWxzZSwgJGNhbnZhc3MtY29udGFpbmVyICsgMTVweCkge1xuICAucHJvbW9SZXdhcmRzIHtcbiAgICAucHJvbW9SZXdhcmRzLXJld2FyZCB7XG4gICAgICB3aWR0aDogOTBweDtcbiAgICAgIGhlaWdodDogOTBweDtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgcmVzcG9uZC1hdChmYWxzZSwgODUwcHgpIHtcbiAgLnByb21vUmV3YXJkcyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC5wcm9tb1Jld2FyZHMtcmV3YXJkIHtcbiAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIHJlc3BvbmQtYXQoZmFsc2UsICRjYW52YXNzLXRocmVzaG9sZC10YWJsZXQpIHtcbiAgLnByb21vUmV3YXJkcyB7XG4gICAgQGluY2x1ZGUgcmVtb3ZlVmVydGljYWxseUNlbnRlcjtcbiAgfVxufSIsCgkJIiRwcm9tb0Zvb3Rlci1oZWlnaHQ6IDMwMHB4O1xuXG4ucHJvbW9Gb290ZXIge1xuICBtYXJnaW46ICRwYWQgMDtcbiAgQGluY2x1ZGUgaGVscGVycy1jbGVhcjtcbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gIH1cbiAgaDMge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbiAgcCB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuICAuYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgcGFkZGluZzogMTJweCAkcGFkKjI7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCNmZmYsIC4xKTtcbiAgICB9XG4gIH1cbn1cblxuLnByb21vRm9vdGVyLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjZmZmO1xuICBAZXh0ZW5kICV2ZXJ0aWNhbGx5Q2VudGVyO1xufVxuXG4ucHJvbW9Gb290ZXItb3ZlcmxheSB7XG4gIHotaW5kZXg6IDA7XG4gIGJhY2tncm91bmQ6ICM0NDQ7XG4gIG9wYWNpdHk6IC44NTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnByb21vRm9vdGVyLXByb21vIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAkcGFkO1xuICBtYXJnaW46IGF1dG87XG4gIGhlaWdodDogJHByb21vRm9vdGVyLWhlaWdodDtcbiAgd2lkdGg6IDMwJTtcbn1cblxuLnByb21vRm9vdGVyLW92ZXJsYXktZ3JlZW4gLnByb21vRm9vdGVyLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGNhbnZhc3MtcHVycGxlLCAzMCk7XG59XG5cbkBpbmNsdWRlIHJlc3BvbmQtYXQoZmFsc2UsICRjYW52YXNzLXRocmVzaG9sZC10YWJsZXQpIHtcbiAgLnByb21vRm9vdGVyIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICAucHJvbW9Gb290ZXItcHJvbW8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRwYWQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC5wcm9tb0Zvb3Rlci1jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIHJlbW92ZVZlcnRpY2FsbHlDZW50ZXI7XG4gICAgfVxuICB9XG59XG4iLAoJCSIubm90aWZpY2F0aW9uLWJ1YmJsZSB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkY2FudmFzcy1yZWQ7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgaGVpZ2h0OiAxNnB4O1xuICB3aWR0aDogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kOiAkY2FudmFzcy1yZWQ7XG59IiwKCQkiJHNpdGVOb3RpZmljYXRpb24tYmc6ICMzMzMzMzM7XG4kc2l0ZU5vdGlmaWNhdGlvbi1jb2xvcjogI2ZmZjtcblxuQG1peGluIGNvbG9yaXplLW5vdGlmaWNhdGlvbigkdGV4dENvbG9yLCAkYmdDb2xvcikge1xuICBjb2xvcjogJHRleHRDb2xvcjtcbiAgYmFja2dyb3VuZDogJGJnQ29sb3I7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oJGJnQ29sb3IsIDEwKTtcbiAgLmxhYmVsLCAuZmEge1xuICAgIGNvbG9yOiAkdGV4dENvbG9yO1xuICB9XG59XG5cbmJvZHkuc2l0ZU5vdGlmaWNhdGlvblNob3cge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgLmhlYWRlciB7XG4gICAgdG9wOiA0MHB4O1xuICB9XG4gIC5tb2RhbCB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxufVxuXG4uc2l0ZU5vdGlmaWNhdGlvbiB7XG4gICYuZGVmYXVsdCwgJi5zdWNjZXNzIHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZS1ub3RpZmljYXRpb24oJHNpdGVOb3RpZmljYXRpb24tY29sb3IsICRzaXRlTm90aWZpY2F0aW9uLWJnKTtcbiAgfVxuICAmLmVycm9yIHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZS1ub3RpZmljYXRpb24oJHNpdGVOb3RpZmljYXRpb24tY29sb3IsICRjYW52YXNzLW9yYW5nZSk7XG4gIH1cbiAgJi53YXJuaW5nIHtcbiAgICBAaW5jbHVkZSBjb2xvcml6ZS1ub3RpZmljYXRpb24oIzY2NiwgJGNhbnZhc3MteWVsbG93KTtcbiAgfVxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDIwMDA7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBvcGFjaXR5OiAxO1xuICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC5sYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgLm1lc3NhZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgfVxuICB9XG4gIC5mYS13YXJuaW5nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cbiAgLmZhLWNoZWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5mYS13YXJuaW5nLCAuZmEtY2hlY2sge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwcHg7XG4gICAgbWFyZ2luLXRvcDogLTdweDtcbiAgfVxuICAuZmEtY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIGNvbG9yOiAkc2l0ZU5vdGlmaWNhdGlvbi1jb2xvcjtcbiAgfVxuICBhIHtcbiAgICBjb2xvcjogJGNhbnZhc3MteWVsbG93O1xuICB9XG4gICYuc2xpZGV1cCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAmLnN1Y2Nlc3Mge1xuICAgIC5mYS1jaGVjayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuICAgIC5mYS13YXJuaW5nIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIHJlc3BvbmQtYXQoZmFsc2UsIDU2MHB4KSB7XG4gIC5zaXRlTm90aWZpY2F0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgfVxufSIsCgkJIi5ub3RHcmFudGVkIHtcbiAgb3BhY2l0eTogLjM7XG59XG5cbi5iYWRnZS1tZXNzYWdlcyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQgKiAxLjU7XG59XG5cbi5iYWRnZS1kZXRhaWxzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjYW52YXNzLWxpZ2h0ZXJncmF5O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA3cHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA3cHg7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDFweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwYWRkaW5nOiAwcHg7XG5cblxuICAudGllci1yb3cge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIC50aWVyLWJ1dHRvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB3aWR0aDogMjAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgd2hpdGU7XG5cbiAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAkY2FudmFzcy1wdXJwbGU7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLW9mLXR5cGUobisyKXtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY2FudmFzcy1saWdodGVyZ3JheTtcbiAgICAgIH1cblxuICAgICAgLnRpZXItYnV0dG9uLWljb24ge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYmFkZ2UtZGFzaGJvYXJkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDdweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDdweDtcbiAgYm94LXNoYWRvdzogMCAycHggMXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gIC5iYWRnZS1jb250YWluZXIge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLmJhZGdlLWljb24ge1xuICAgIHdpZHRoOiA3MCU7XG4gICAgcGFkZGluZy1ib3R0b206ICRwYWQvMjtcbiAgfVxuXG4gIC5iYWRnZS1pbmZvIHtcbiAgICBwYWRkaW5nOiAkcGFkO1xuXG4gICAgLmJhZGdlLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMHB4O1xuICAgIH1cblxuICB9XG5cbiAgLnRpZXIge1xuICAgIHdpZHRoOiAyMC4yJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAmLm5vLWJhZGdlcyB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLnRpZXItaWNvbiB7XG4gICAgICAgIHdpZHRoOiAyMyU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRpZXItY29udGFpbmVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjYW52YXNzLWxpZ2h0ZXJncmF5O1xuICAgIH1cblxuICAgIC50aWVyLWljb24ge1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRwYWQvMjtcbiAgICB9XG5cbiAgICAudGllci1pbmZvIHtcbiAgICAgIHBhZGRpbmc6ICRwYWQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLnRpZXItY29udGFpbmVyLCAuYmFkZ2UtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5tb2JpbGUtY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQGluY2x1ZGUgcmVzcG9uZC1hdChmYWxzZSwgODAwcHgpe1xuICAuZGVza3RvcC1jb250YWluZXIge1xuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICB9XG4gICAgaDQge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSByZXNwb25kLWF0KGZhbHNlLCA2MDBweCl7XG4gIC5kZXNrdG9wLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubW9iaWxlLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNhbnZhc3MtbGlnaHRlcmdyYXk7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDFweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIHBhZGRpbmc6IDBweDtcblxuICAgIC5tb2JpbGUtYmFkZ2UtaGVhZGVyLm5nLWhpZGUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAuYmFkZ2Utcm93IHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY2FudmFzcy1saWdodGVyZ3JheTtcbiAgICB9XG5cbiAgICAuYmFkZ2Utcm93LWljb24ge1xuICAgICAgd2lkdGg6IDE1JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwJTtcbiAgICB9XG5cbiAgICAuYmFkZ2Utcm93LXRpdGxlIHtcbiAgICAgIHdpZHRoOiA2MCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWFyZ2luOiA1JSAwIDUlIDQlO1xuXG4gICAgICBoNCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGllci1jb3ZlciB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNhbnZhc3MtbGlnaHRlcmdyYXk7XG4gICAgfVxuXG4gICAgLnRpZXItY292ZXIsIC5iYWRnZS1yb3cge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLnRpZXItY292ZXItYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogNSU7XG4gICAgICBjb2xvcjogJGNhbnZhc3MtZ3JheTtcbiAgICAgIG1hcmdpbjogNyUgNSUgNyUgMDtcblxuICAgICAgLmZhLTJ4IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGllci1jb3Zlci1pY29uIHtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1JTtcbiAgICB9XG5cbiAgICAudGllci1jb3Zlci10aXRsZSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDclIDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AaW5jbHVkZSByZXNwb25kLWF0KGZhbHNlLCA0MDBweCl7XG4gIC5tb2JpbGUtY29udGFpbmVyIHtcbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgfVxuXG4gICAgaDQge1xuICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuXG4gICAgLmJhZGdlLXJvdy1pY29uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNyU7XG4gICAgfVxuICB9XG59XG4iLAoJCSIuYmFkZ2UtbWVzc2FnZXMsXG4ubG95YWx0eS1sZXZlbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQgKiAxLjU7XG4gIGgxIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG59XG5cbi5iYWRnZS1kYXNoYm9hcmQge1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTBweCAwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjYW52YXNzLWxpZ2h0ZXJncmF5O1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3gtc2hhZG93OiAwIDJweCAxcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgLm5vdEdyYW50ZWQge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgfVxuXG4gICYudGllci1ub0JhZGdlcyB7XG4gICAgLmJhZGdlcyB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgLnRpZXIge1xuICAgICAgbWFyZ2luOiAwcHggYXV0bztcbiAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbiAgICAudGllci1jb250YWluZXIge1xuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmJhZGdlLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLmJhZGdlLWljb24ge1xuICAgIHdpZHRoOiA4MCU7XG4gICAgcGFkZGluZy1ib3R0b206ICRwYWQvMjtcbiAgfVxuXG4gIC5iYWRnZS1pbmZvIHtcbiAgICBwYWRkaW5nOiAkcGFkO1xuXG4gICAgLmJhZGdlLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMHB4O1xuICAgIH1cbiAgfVxuXG4gICYubm8tdGllciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhZCAqIDEuMjU7XG5cbiAgICAuYmFkZ2UtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxNSU7XG4gICAgfVxuICB9XG5cbiAgLnRpZXIge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgLnRpZXItY29udGFpbmVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjYW52YXNzLWxpZ2h0ZXJncmF5O1xuICAgIH1cblxuICAgIC50aWVyLWljb24ge1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRwYWQvMjtcbiAgICB9XG5cbiAgICAudGllci1pbmZvIHtcbiAgICAgIHBhZGRpbmc6ICRwYWQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJi5uby10aWVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnRpZXItY29udGFpbmVyLFxuICAuYmFkZ2UtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbkBpbmNsdWRlIHJlc3BvbmQtYXQoZmFsc2UsIDgwMHB4KSB7XG4gIC5iYWRnZS1kYXNoYm9hcmQge1xuICAgICYudGllci1ub0JhZGdlcyB7XG4gICAgICAudGllciB7XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIHJlc3BvbmQtYXQoZmFsc2UsIDYwMHB4KSB7XG4gIC5iYWRnZS1kYXNoYm9hcmQge1xuICAgIC5iYWRnZS1jb250YWluZXIsXG4gICAgLnRpZXIge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLmJhZGdlLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY2FudmFzcy1saWdodGVyZ3JheTtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAuaWNvbi1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICAuYmFkZ2UtaWNvbiB7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYmFkZ2UtaW5mbyB7XG4gICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiAwcHg7XG5cbiAgICAgICAgLmJhZGdlLXRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgcGFkZGluZzogNiUgMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5iYWRnZS1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRpZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgIC50aWVyLWNvbnRhaW5lciB7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLnRpZXItaWNvbiB7XG4gICAgICAgIHdpZHRoOiA0NSU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi50aWVyLW5vQmFkZ2VzIHtcbiAgICAgIC50aWVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcblxuICAgICAgICAudGllci1jb250YWluZXIge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aWVyLWljb24ge1xuICAgICAgICAgIHdpZHRoOiA0NSU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgcmVzcG9uZC1hdChmYWxzZSwgMzUwcHgpIHtcbiAgLmJhZGdlLWRhc2hib2FyZCB7XG4gICAgLmJhZGdlLWluZm8ge1xuICAgICAgcGFkZGluZzogMTJweDtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIi5taW5pUG9sbCB7XG4gICoge1xuICAgIGZvbnQ6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAucGRzLXZvdGVidXR0b24tb3V0ZXIgLnBkcy12b3RlLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogJGNhbnZhc3MtYmx1ZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjYW52YXNzLWJsdWUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDRweCAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBkcy1xdWVzdGlvbi10b3Age1xuICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFkICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnBkcy12b3RlYnV0dG9uLW91dGVye1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAucGRzLWxpbmtzIHtcbiAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tdG9wOiAkcGFkO1xuICAgIH1cbiAgICAucGRzLXZvdGUtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgfVxuICAgIGEge1xuICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkY2FudmFzcy1wdXJwbGUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn0iLAoJCSIud2lkZ2V0LW9mZmVycy1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC41cmVtO1xufVxuXG4ud2lkZ2V0LW9mZmVycy1saXN0LWl0ZW0ge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgYm9yZGVyLXJhZGl1czogN3B4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWFlYWVhO1xuICBib3gtc2hhZG93OiAwIDJweCAxcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiA4LjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3csIHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAud2lkZ2V0LW9mZmVycy1saXN0LWl0ZW0ge1xuICAgIHdpZHRoOiA0OSU7XG4gIH1cbn1cblxuLndpZGdldC1vZmZlcnMtbGlzdC1pdGVtOmhvdmVyIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDEwcHggMTBweCAtNHB4IHJnYmEoMTU4LCAxNTUsIDE1OCwgMSk7XG4gIC1tb3otYm94LXNoYWRvdzogMCAxMHB4IDEwcHggLTRweCByZ2JhKDE1OCwgMTU1LCAxNTgsIDEpO1xuICBib3gtc2hhZG93OiAwIDEwcHggMTBweCAtNHB4IHJnYmEoMTU4LCAxNTUsIDE1OCwgMSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcbn1cblxuLndpZGdldC1vZmZlcnMtbGlzdC1pdGVtLS1zdXJ2ZXkgYSxcbi53aWRnZXQtb2ZmZXJzLWxpc3QtaXRlbS0tb2ZmZXIgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLndpZGdldC1vZmZlcnMtbGlzdC1pdGVtLS1zdXJ2ZXkgYSB7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzVhYjQxNDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ud2lkZ2V0LW9mZmVycy1saXN0LWl0ZW0tLW9mZmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ud2lkZ2V0LW9mZmVycy1saXN0LWl0ZW0tLW9mZmVyOmFmdGVyIHtcbiAgY29udGVudDogJ1xcZjAwNSc7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMzRjNGM7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuICBoZWlnaHQ6IDM4cHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMzhweDtcbn1cblxuLndpZGdldC1vZmZlcnMtbGlzdC1pdGVtLS1vZmZlciBhIHtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjYzM0YzRjO1xufVxuXG4ud2lkZ2V0LW9mZmVycy1saXN0LWl0ZW0gaSxcbi53aWRnZXQtb2ZmZXJzLWxpc3QtaXRlbSBzdmcge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG59XG5cbi53aWRnZXQtb2ZmZXJzLWxpc3QtaXRlbSBpIHN2ZyB7XG4gIHdpZHRoOiAxcmVtO1xuICB0b3A6IDJweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ud2lkZ2V0LW9mZmVycy1saXN0LWl0ZW0gYSB7XG4gIGNvbG9yOiBpbml0aWFsOyAvKiBMaW5rcyBpbmhlcml0IGEgZGlmZmVyZW50IGNvbG9yIC0tIG92ZXJyaWRpbmcgdGhhdCAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ud2lkZ2V0LW9mZmVycy1saXN0LWl0ZW0tZm9vdGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlYWVhZWE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMC41cmVtIDAuOHJlbTtcbn1cblxuLndpZGdldC1vZmZlcnMtbGlzdC1pdGVtLWZvb3RlciBzcGFuW2ljb25dIHtcbiAgd2lkdGg6IDIwcHg7XG59XG5cbi53aWRnZXQtb2ZmZXJzLWxpc3QtaXRlbS1mb290ZXJQcm9tcHQge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI2MzNGM0YztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xufVxuXG4ud2lkZ2V0LW9mZmVycy1saXN0LWl0ZW0taGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMC44cmVtO1xufVxuXG4ud2lkZ2V0LW9mZmVycy1saXN0LWl0ZW0taGVhZGVyIGg0IHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cblxuLndpZGdldC1vZmZlcnMtbGlzdC1pdGVtLWhlYWRlciBoNSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG5cbi53aWRnZXQtb2ZmZXJzLWxpc3QtaXRlbS1oZWFkZXIgaSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBtYXJnaW4tdG9wOiAwLjE1cmVtOyAvKiogU2xpZ2h0IGJ1bXAgZm9yIG9wdGljcyB3aXRoIGxhcmdlciBoZWFkZXIgKiovXG59XG4iLAoJCSIud2lkZ2V0LXByb2dyZXNzIHtcbiAgcGFkZGluZzogJHBhZCoyO1xuICBwYWRkaW5nLXRvcDogJHBhZCoyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAkcGFkKjI7XG4gIH1cbiAgcCB7XG4gICAgbWFyZ2luLXRvcDogJHBhZDtcbiAgfVxuICAuYnV0dG9uLWdyZWVuIHtcbiAgICBtYXJnaW4tdG9wOiAkcGFkO1xuICB9XG59XG4ud2lkZ2V0LXByb2dyZXNzLWNvbnRhaW5lciB7XG4gIHdpZHRoOiA3MCU7XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIG1hcmdpbjogYXV0bztcbiAgYm9yZGVyOiAxcHggc29saWQgI2VmZWZlZjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBwYWRkaW5nOiAkcGFkLzI7XG4gIG1pbi1oZWlnaHQ6IDEyMHB4O1xuICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKCMwMDAsIC4yKTtcbiAgLnJhZGlhbC1wcm9ncmVzcyB7XG4gICAgLnJhZGlhbC1wcm9ncmVzcy1jb3ZlciB7XG4gICAgICBzdHJva2U6ICRjYW52YXNzLWxpZ2h0Qmx1ZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgfVxuICAgIC5yYWRpYWwtcHJvZ3Jlc3MtYmFja2dyb3VuZCB7XG4gICAgICBzdHJva2U6ICRjYW52YXNzLWJsdWU7XG4gICAgfVxuICAgIC5yYWRpYWwtcHJvZ3Jlc3MtY2VudGVyIHtcbiAgICAgIGZpbGw6ICNmZmY7XG4gICAgfVxuICB9XG59IiwKCQkiQGltcG9ydCBcIi4uL2NvbmZpZ1wiO1xuXG4ud2lkZ2V0LXByb2ZpbGVyLXByb2dyZXNzIHtcbiAgcGFkZGluZzogJHBhZCoyO1xuICBwYWRkaW5nLXRvcDogJHBhZCoyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAkcGFkKjI7XG4gIH1cbiAgcCB7XG4gICAgbWFyZ2luLXRvcDogJHBhZDtcbiAgfVxuICAuYnV0dG9uLWdyZWVuIHtcbiAgICBtYXJnaW4tdG9wOiAkcGFkO1xuICB9XG59XG4ud2lkZ2V0LXByb2ZpbGVyLXNlbGVjdFByb2ZpbGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi53aWRnZXQtcHJvZmlsZXItcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgd2lkdGg6IDcwJTtcbiAgbWF4LXdpZHRoOiAzMDBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWZlZmVmO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBhZGRpbmc6ICRwYWQvMjtcbiAgbWluLWhlaWdodDogMjAwcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoIzAwMCwgLjIpO1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gIC5yYWRpYWwtcHJvZ3Jlc3Mge1xuICAgIC5yYWRpYWwtcHJvZ3Jlc3MtY292ZXIge1xuICAgICAgc3Ryb2tlOiAkY2FudmFzcy1saWdodEJsdWU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIH1cbiAgICAucmFkaWFsLXByb2dyZXNzLWJhY2tncm91bmQge1xuICAgICAgc3Ryb2tlOiAkY2FudmFzcy1ibHVlO1xuICAgIH1cbiAgICAucmFkaWFsLXByb2dyZXNzLWNlbnRlciB7XG4gICAgICBmaWxsOiAjZmZmO1xuICAgIH1cbiAgfVxufVxuXG5cbi53aWRnZXQtcHJvZmlsZXItcHJvZ3Jlc3Mge1xuICBAaW5jbHVkZSBoZWxwZXJzLWNsZWFyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY2FudmFzcy1saWdodGdyYXk7XG59XG4ud2lkZ2V0LXByb2ZpbGVyLXByb2dyZXNzLW5vdGljZSB7XG4gIG1hcmdpbi1sZWZ0OiAzMzBweDtcbiAgcGFkZGluZy1yaWdodDogJHBhZCoyO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBAZXh0ZW5kICV2ZXJ0aWNhbGx5Q2VudGVyO1xufVxuLndpZGdldC1wcm9maWxlci1wcm9maWxlcnMge1xuICBtYXJnaW46IDAgJHBhZDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBoZWxwZXJzLWNsZWFyO1xuICAmLmNvbnNlbnQge1xuICAgIG1hcmdpbjogMCAyNXB4O1xuICAgICY6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAwcHg7XG4gICAgICBsZWZ0OiAwcHg7XG4gICAgfVxuICB9XG4gICY6YmVmb3JlIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIGJhY2tncm91bmQ6ICRjYW52YXNzLWxpZ2h0Z3JheTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDMxNXB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogY2FsYygxMDAlICsgI3skcGFkfSk7XG4gIH1cbn1cbi53aWRnZXQtcHJvZmlsZXItcHJvZmlsZXJzLWxpc3Qge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDMwMHB4O1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLWhlaWdodDogMzVweDtcbiAgICBwYWRkaW5nOiAwIDAgMCA0NXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGNvbG9yOiAkY2FudmFzcy1kZWZhdWx0LXRleHQ7XG4gICAgJi5pbmNvbXBsZXRlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlZmVmZWY7XG4gICAgfVxuICAgICYuYWN0aXZlLCAmLmFjdGl2ZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY2FudmFzcy1wdXJwbGU7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgIC5pY29uIC5iYWRnZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBjb2xvcjogJGNhbnZhc3MtZGVmYXVsdC10ZXh0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaWNvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDdweDtcbiAgICB3aWR0aDogMTVweDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMTlweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAuYmFkZ2Uge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjYW52YXNzLXB1cnBsZTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxuICAuZGVzYyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmc6IDdweCAwO1xuICB9XG4gIC5mYS1jaGVjayB7XG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBhLmNvbXBsZXRlZCB7XG4gICAgY29sb3I6ICNhYWE7XG4gICAgLmZhLWNoZWNrIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuLndpZGdldC1wcm9maWxlci1wcm9maWxlcnMtcHJvZmlsZXIge1xuICBib3gtc2l6aW5nOiBpbml0aWFsO1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzNjVweCk7XG4gIHBhZGRpbmc6ICRwYWQ7XG4gIC5wcm9ncmVzcy1sYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogJHBhZCoyO1xuICB9XG4gICYuY29uc2VudCB7XG4gICAgZmxvYXQ6IGluaXRpYWw7XG4gICAgd2lkdGg6IGluaXRpYWw7XG4gIH0gXG59XG5cbi5jb25zZW50IHtcbiAgLnBhcmFtZXRlci1yZW5kZXJlZCB7XG4gICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICB9IFxufVxuXG5AaW5jbHVkZSByZXNwb25kLWF0KGZhbHNlLCA4NTBweCkge1xuICAud2lkZ2V0LXByb2ZpbGVyLXNlbGVjdFByb2ZpbGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwICRwYWQ7XG4gICAgb3JkZXI6IDI7XG4gICAgbWFyZ2luLXRvcDogJHBhZDtcbiAgfVxuICAud2lkZ2V0LXByb2ZpbGVyLXByb2ZpbGVycyB7XG4gICAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAud2lkZ2V0LXByb2ZpbGVyLXByb2ZpbGVycy1saXN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvcmRlcjogMztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLndpZGdldC1wcm9maWxlci1wcm9maWxlcnMtcHJvZmlsZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC53aWRnZXQtcHJvZmlsZXItcHJvZ3Jlc3Mge1xuICAgIHBhZGRpbmc6ICRwYWQ7XG4gIH1cbiAgLndpZGdldC1wcm9maWxlci1wcm9ncmVzcy1jb250YWluZXIge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuICAud2lkZ2V0LXByb2ZpbGVyLXByb2dyZXNzLW5vdGljZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBAaW5jbHVkZSByZW1vdmVWZXJ0aWNhbGx5Q2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAkcGFkKjI7XG4gIH1cbiAgLndpZGdldC1wcm9maWxlci1wcm9maWxlcnM6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59IiwKCQkiJHJhZGlhbC1wcm9ncmVzcy1iYWNrZ3JvdW5kOiAkY2FudmFzcy1ibHVlO1xuJHJhZGlhbC1wcm9ncmVzcy1jb3ZlcjogJGNhbnZhc3MtZGFya2JsdWU7XG5cbkBpbXBvcnQgXCIuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy9yYWRpYWxQcm9ncmVzcy9yYWRpYWxQcm9ncmVzc1wiOyIsCgkJIi5yYWRpYWwtcHJvZ3Jlc3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucmFkaWFsLXByb2dyZXNzLXByb2dyZXNzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDtcbn1cbi5yYWRpYWwtcHJvZ3Jlc3MtcGVyY2VudGFnZSB7XG4gIGZvbnQtc2l6ZTogMjVweDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ucmFkaWFsLXByb2dyZXNzLWV4dHJhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5yYWRpYWwtcHJvZ3Jlc3Mtc3ZnIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHN2ZyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgfVxuICBjaXJjbGUge1xuICAgIGZpbGw6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDAuMWRlZyk7IC8vIHRvIGZpeCBGaXJlZm94XG4gIH1cbn1cbi5yYWRpYWwtcHJvZ3Jlc3MtYmFja2dyb3VuZCB7XG4gIHN0cm9rZTogJHJhZGlhbC1wcm9ncmVzcy1iYWNrZ3JvdW5kO1xufVxuLnJhZGlhbC1wcm9ncmVzcy1jb3ZlciB7XG4gIHN0cm9rZTogJHJhZGlhbC1wcm9ncmVzcy1jb3Zlcjtcbn1cbi5yYWRpYWwtcHJvZ3Jlc3MtY2VudGVyIHtcbiAgZmlsbDogI2ZmZjtcbn1cbi5yYWRpYWwtZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59IiwKCQkiLndpZGdldC1zdXJ2ZXlIaXN0b3J5IHtcbiAgLndpZGdldENvbnRhaW5lci13aWRnZXQtY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogLSRwYWQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJHBhZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206ICRwYWQ7XG4gIH1cbiAgLnRhYmxlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAudGFibGUgdGQge1xuICAgIHBhZGRpbmc6ICRwYWQ7XG4gIH1cbiAgdGQ6bGFzdC1jaGlsZCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLnN0YWNrLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4ud2lkZ2V0LXN1cnZleUhpc3Rvcnktbm9IaXN0b3J5Rm91bmQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nOiAkcGFkO1xufVxuIiwKCQkiLndpZGdldC1zdXJ2ZXlzIC53aWRnZXRDb250YWluZXItd2lkZ2V0LWNvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbi53aWRnZXQtc3VydmV5cy1zdXJ2ZXkge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNhbnZhc3MtbGlnaHRncmF5O1xuICBtYXJnaW4tbGVmdDogLSRwYWQ7XG4gIG1hcmdpbi1yaWdodDogLSRwYWQ7XG4gIHBhZGRpbmc6ICRwYWQ7XG4gIHBhZGRpbmctdG9wOiAkcGFkLzI7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkLzI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGNhbnZhc3MtbGlnaHRncmF5O1xuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxufVxuLndpZGdldC1zdXJ2ZXlzLWludGVydmlldyB7XG4gIEBleHRlbmQgJXZlcnRpY2FsbHlDZW50ZXI7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXI6IDJweCBzb2xpZCAkY2FudmFzcy1ibHVlO1xuICBsaW5lLWhlaWdodDogMTVweDtcbn1cbi53aWRnZXQtc3VydmV5cy1jb250YWluZXIge1xuICBAZXh0ZW5kICV2ZXJ0aWNhbGx5Q2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cbi53aWRnZXQtc3VydmV5cy1pbnRlcnZpZXctdGltZSB7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ud2lkZ2V0LXN1cnZleXMtaW50ZXJ2aWV3LW1pbnV0ZXMge1xuICBmb250LXNpemU6IDExcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLndpZGdldC1zdXJ2ZXlzLWFtb3VudCB7XG4gIG1hcmdpbi1sZWZ0OiAkcGFkKjM7XG59XG4ud2lkZ2V0LXN1cnZleXMtcm93IHtcbiAgQGluY2x1ZGUgaGVscGVycy1jbGVhcjtcbiAgbWFyZ2luLWJvdHRvbTogJHBhZDtcbiAgbWFyZ2luLWxlZnQ6IDcwcHg7XG4gIHBhZGRpbmctdG9wOiAkcGFkLzI7XG4gIC5sYWJlbCwgLmRlc2Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxufVxuLndpZGdldC1zdXJ2ZXlzLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi53aWRnZXQtc3VydmV5cy1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMzBweDtcbn1cbi53aWRnZXQtc3VydmV5cy1ub1N1cnZleXMge1xuICBtYXJnaW4tYm90dG9tOiAkcGFkO1xuICBiYWNrZ3JvdW5kOiAkY2FudmFzcy1saWdodGdyYXk7XG4gIHBhZGRpbmc6ICRwYWQqMiAkcGFkO1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi53aWRnZXQtc3VydmV5cy1maW5kU3VydmV5IHtcbiAgQGluY2x1ZGUgaGVscGVycy1jbGVhcjtcbiAgYmFja2dyb3VuZDogJGNhbnZhc3MtbGlnaHRncmF5O1xuICBwYWRkaW5nOiAkcGFkO1xuICBtYXJnaW4tdG9wOiAkcGFkO1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAuZGVzYyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgfVxuICBbaWNvbl0ge1xuICAgIEBpbmNsdWRlIGljb24oMzVweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAkcGFkO1xuICAgIGZpbGw6ICRjYW52YXNzLXB1cnBsZTtcbiAgfVxuICAuYnV0dG9uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cblxuQGluY2x1ZGUgcmVzcG9uZC1hdChmYWxzZSwgNjAwcHgpIHtcbiAgLndpZGdldC1zdXJ2ZXlzLWludGVydmlldyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAud2lkZ2V0LXN1cnZleXMtaWNvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAud2lkZ2V0LXN1cnZleXMtcm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAud2lkZ2V0LXN1cnZleXMtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLndpZGdldC1zdXJ2ZXlzLXRvcGljIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFkLzI7XG4gIH1cbiAgLndpZGdldC1zdXJ2ZXlzLXN0YXJ0Tm93IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBAaW5jbHVkZSB2ZXJ0aWNhbGx5Q2VudGVyO1xuICAgIHJpZ2h0OiAkcGFkO1xuICB9XG59XG4iLAoJCSIud2lkZ2V0Q29udGFpbmVyIHtcbiAgbWFyZ2luOiAkcGFkKjIgMDtcbiAgQGluY2x1ZGUgaGVscGVycy1jbGVhcjtcbiAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG59XG4ud2lkZ2V0Q29udGFpbmVyLXdpZGdldCB7XG4gIEBleHRlbmQgJWJveC13aGl0ZTtcbiAgQGV4dGVuZCAlYm94LXNoYWRvdztcbiAgbWluLWhlaWdodDogMjAwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIEBpbmNsdWRlIGhlbHBlcnMtY2xlYXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbn1cbi53aWRnZXRDb250YWluZXItd2lkZ2V0LTEwMCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLndpZGdldENvbnRhaW5lci13aWRnZXQtNTAge1xuICB3aWR0aDogY2FsYyg1MCUgLSAjeyRwYWR9O1xufVxuLndpZGdldENvbnRhaW5lci13aWRnZXQtNjAge1xuICB3aWR0aDogY2FsYyg2MCUgLSAjeyRwYWR9KTtcbn1cbi53aWRnZXRDb250YWluZXItd2lkZ2V0LTQwIHtcbiAgd2lkdGg6IGNhbGMoNDAlIC0gI3skcGFkfSk7XG59XG4ud2lkZ2V0Q29udGFpbmVyLXR3byB7XG4gIC53aWRnZXRDb250YWluZXItd2lkZ2V0OmZpcnN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRwYWQqMjtcbiAgfVxuICAud2lkZ2V0Q29udGFpbmVyLXdpZGdldDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cbi53aWRnZXRDb250YWluZXItd2lkZ2V0LXRpdGxlIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjYW52YXNzLWxpZ2h0Z3JheTtcbiAgcGFkZGluZzogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cbi53aWRnZXRDb250YWluZXItd2lkZ2V0LWNvbnRlbnQge1xuICBtYXJnaW4tdG9wOiAkcGFkO1xuICBwYWRkaW5nOiAkcGFkO1xufVxuXG5AaW5jbHVkZSByZXNwb25kLWF0KGZhbHNlLCA5ODBweCkge1xuICAud2lkZ2V0Q29udGFpbmVyLXdpZGdldCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhZDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBpbmNsdWRlIHJlc3BvbmQtYXQoZmFsc2UsICRjYW52YXNzLXRocmVzaG9sZC1tb2JpbGUpIHtcbiAgLndpZGdldENvbnRhaW5lci13aWRnZXQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxufSIsCgkJIi5jb21wb25lbnQtbW9kYWwge1xuICAubW9kYWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5jbG9zZSB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICB9XG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIH1cbiAgLmRpYWxvZy1oZWFkZXItZXJyb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMjMyMmQ7XG4gIH1cbiAgLmRpYWxvZy1oZWFkZXItd2FpdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQyOGJjYTtcbiAgfVxuICAuZGlhbG9nLWhlYWRlci1ub3RpZnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gIH1cbiAgLmRpYWxvZy1oZWFkZXItY29uZmlybSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMztcbiAgfVxuICAuZGlhbG9nLWhlYWRlci1lcnJvciBzcGFuLCAuZGlhbG9nLWhlYWRlci1lcnJvciBoNCxcbiAgLmRpYWxvZy1oZWFkZXItd2FpdCBzcGFuLCAuZGlhbG9nLWhlYWRlci13YWl0IGg0LFxuICAuZGlhbG9nLWhlYWRlci1jb25maXJtIHNwYW4sIC5kaWFsb2ctaGVhZGVyLWNvbmZpcm0gaDQge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuICAubW9kYWwtdGl0bGUgLmZhIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRwYWQ7XG4gIH1cbiAgJi5ub1RpdGxlQW5kRm9vdGVyIHtcbiAgICAubW9kYWwtZm9vdGVyLCAubW9kYWwtdGl0bGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLm1vZGFsLWJvZHkge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICAgIC5tb2RhbC1oZWFkZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgJi5ub1RpdGxlIHtcbiAgICAubW9kYWwtdGl0bGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLm1vZGFsLWJvZHkge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICAgIC5tb2RhbC1oZWFkZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIiVoZWFkZXItZHJvcGRvd25NZW51IHtcbiAgQGV4dGVuZCAlYm94LXdoaXRlO1xuICBAZXh0ZW5kICVib3gtc2hhZG93O1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICB6LWluZGV4OiAtMTtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICBwYWRkaW5nOiAwO1xuICB0b3A6IC01MDAwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRjYW52YXNzLWxpZ2h0Z3JheTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XG4gIHdpZHRoOiAyNTBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4uaGVhZGVyIHtcbiAgLnN1cnZleUxpbmsubm90aWZpY2F0aW9uLWJ1YmJsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG5cbiAgICAmLnZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICBbaW1hZ2U9J2Fycm93LWRvd24nXSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgW2ltYWdlPSdhcnJvdy11cCddIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmhlYWRlci1hY2NvdW50SW5mby1hY2NvdW50LW1lbnUge1xuICAgIEBleHRlbmQgJWhlYWRlci1kcm9wZG93bk1lbnU7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogLTIwMDBweDtcblxuICAgIGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjYW52YXNzLWxpZ2h0Z3JheTtcbiAgICAgIHBhZGRpbmc6ICRwYWQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBjb2xvcjogJGNhbnZhc3MtZGVmYXVsdC10ZXh0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjYW52YXNzLXB1cnBsZTtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICAgIFtpbWFnZV0ge1xuICAgICAgICAgIGZpbGw6IHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlLFxuICAgICAgJi5hY3RpdmU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgY29sb3I6ICRjYW52YXNzLXB1cnBsZTtcblxuICAgICAgICBbaW1hZ2VdIHtcbiAgICAgICAgICBmaWxsOiAkY2FudmFzcy1wdXJwbGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBbaW1hZ2VdIHtcbiAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkcGFkLzI7XG4gICAgICBzdHJva2UtY29sb3I6IGJsYWNrO1xuICAgIH1cbiAgfVxufVxuLmhlYWRlci1zdXJ2ZXlOb3RpZmljYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBsaW5lLWhlaWdodDogNDhweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBwYWRkaW5nOiAwICRwYWQ7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMjVweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgW2ltYWdlPSdzdXJ2ZXknXSB7XG4gICAgQGluY2x1ZGUgaWNvbigyNXB4KTtcbiAgICBmaWxsOiB3aGl0ZTtcbiAgICBAZXh0ZW5kICV2ZXJ0aWNhbGx5Q2VudGVyO1xuICB9XG4gIC5ub3RpZmljYXRpb24tYnViYmxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiA3cHg7XG4gICAgcmlnaHQ6IDdweDtcbiAgICB6LWluZGV4OiAxMDtcbiAgfVxufVxuLmhlYWRlci1hY2NvdW50SW5mbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGhlbHBlcnMtY2xlYXI7XG59XG4uaGVhZGVyLWFjY291bnRJbmZvLWNhcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nOiAwICRwYWQvMjtcbiAgbWluLXdpZHRoOiA1MHB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtaW4taGVpZ2h0OiA2NHB4O1xuICBib3JkZXItYm90dG9tOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAkY2FudmFzcy1saWdodGdyYXk7XG4gICAgd2lkdGg6IDFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtJHBhZC8yO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAtNXB4O1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogJGNhbnZhc3MtbGlnaHRncmF5O1xuICAgIHdpZHRoOiAxcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLSRwYWQvMjtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IC01cHg7XG4gIH1cbiAgLm5vdGlmaWNhdGlvbi1idWJibGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDI4cHg7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgJi52aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG4gID4gYSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgJGNhbnZhc3MtcHVycGxlO1xuICAgIH1cbiAgfVxuICBbaWNvbl0ge1xuICAgIEBpbmNsdWRlIGljb24oMjBweCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gIH1cbiAgJi5vcGVuIHtcbiAgICA+IGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRjYW52YXNzLXB1cnBsZTtcbiAgICB9XG4gICAgLmhlYWRlci1hY2NvdW50SW5mby1jYXJ0LW1lbnUge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDEycHggMTRweCAtNHB4IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogODBweDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG59XG4uaGVhZGVyLWFjY291bnRJbmZvLWNhcnQtbWVudSB7XG4gIEBleHRlbmQgJWhlYWRlci1kcm9wZG93bk1lbnU7XG4gIHdpZHRoOiAzMDBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZzogJHBhZDtcbiAgbGluZS1oZWlnaHQ6IGluaXRpYWw7XG4gIEBpbmNsdWRlIGhlbHBlcnMtYXJyb3coJGNvbG9yOiB3aGl0ZSwgJGJvcmRlckNvbG9yOiAkY2FudmFzcy1saWdodGdyYXksICRzaXplOiAxOHB4LCAkdG9wOiAtMThweCwgJGxlZnQ6IGF1dG8sICRyaWdodDogMTVweCwgJGJvdHRvbTogYXV0byk7XG59XG4uaGVhZGVyLWFjY291bnRJbmZvLWNhcnQtbWVudS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjYW52YXNzLWxpZ2h0Z3JheTtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQvMjtcbiAgbWFyZ2luLWJvdHRvbTogJHBhZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLWxlZnQ6IC0kcGFkO1xuICBtYXJnaW4tcmlnaHQ6IC0kcGFkO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4uaGVhZGVyLWFjY291bnRJbmZvLWNhcnQtbWVudS1xdWFudGl0eSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206ICRwYWQ7XG59XG4uaGVhZGVyLWFjY291bnRJbmZvLWNhcnQtbWVudS10b3RhbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZzogJHBhZCAwO1xufVxuLmhlYWRlci1hY2NvdW50SW5mby1jYXJ0LW1lbnUtdG90YWwgLnRvdGFsIHtcbiAgbWFyZ2luLWJvdHRvbTogJHBhZC8yO1xufVxuLmhlYWRlci1hY2NvdW50SW5mby1jYXJ0LW1lbnUtY2hlY2tvdXQsXG4uaGVhZGVyLWFjY291bnRJbmZvLWNhcnQtbWVudS1jbG9zZSB7XG4gIG1hcmdpbi10b3A6ICRwYWQvMjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uaGVhZGVyLWFjY291bnRJbmZvLWNhcnQtbWVudS1pdGVtcyB7XG4gIEBpbmNsdWRlIGhlbHBlcnMtY2xlYXI7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkLzI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY2FudmFzcy1ncmF5O1xuICBtYXJnaW4tYm90dG9tOiAkcGFkLzI7XG59XG4uaGVhZGVyLWFjY291bnRJbmZvLWNhcnQtbWVudS1pdGVtcy1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogJHBhZC8yO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIGhlbHBlcnMtY2xlYXI7XG59XG4uaGVhZGVyLWFjY291bnRJbmZvLWNhcnQtbWVudS1pdGVtcy1pdGVtIHNlbGVjdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNzBweDtcbn1cbi5oZWFkZXItYWNjb3VudEluZm8tY2FydC1tZW51LWl0ZW1zLWl0ZW0tZGV0YWlscyB7XG4gIG1hcmdpbi1sZWZ0OiA3MHB4ICsgJHBhZDtcbiAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xufVxuLmhlYWRlci1hY2NvdW50SW5mby1jYXJ0LW1lbnUtaXRlbXMtaXRlbS1kZXRhaWxzIFtpY29uXSB7XG4gIEBpbmNsdWRlIGljb24oMTZweCk7XG59XG4uaGVhZGVyLWFjY291bnRJbmZvLWNhcnQtbWVudS1pdGVtcy1pdGVtLWRldGFpbHMgLm5hbWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuLmhlYWRlci1hY2NvdW50SW5mby1jYXJ0LW1lbnUtaXRlbXMtaXRlbS1kZXRhaWxzIC5jb3N0IHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5oZWFkZXItYWNjb3VudEluZm8tY2FydC1tZW51LWl0ZW1zLWl0ZW0tZGV0YWlscyAucmVtb3ZlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogJHBhZDtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0zcHg7XG59XG4uaGVhZGVyLWFjY291bnRJbmZvLWJhbGFuY2Uge1xuICBwYWRkaW5nOiAwICRwYWQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICBmb250LXNpemU6IDE1cHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1pbi13aWR0aDogNTBweDtcbiAgbWluLWhlaWdodDogNjRweDtcbiAgbWF4LXdpZHRoOiAxNDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItYm90dG9tOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAkY2FudmFzcy1saWdodGdyYXk7XG4gICAgd2lkdGg6IDFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtJHBhZC8yO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAtNXB4O1xuICB9XG5cbiAgLmhlYWRlci1hY2NvdW50SW5mby1iYWxhbmNlLXRleHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIH1cbn1cblxuLmhlYWRlci1hY2NvdW50SW5mby1hY2NvdW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZzogMCAkcGFkO1xuICBtaW4td2lkdGg6IDEwMHB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtaW4taGVpZ2h0OiA2NHB4O1xuICBib3JkZXItYm90dG9tOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAkY2FudmFzcy1saWdodGdyYXk7XG4gICAgd2lkdGg6IDFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtJHBhZC8yO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAtNXB4O1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogJGNhbnZhc3MtbGlnaHRncmF5O1xuICAgIHdpZHRoOiAxcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLSRwYWQvMjtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IC01cHg7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRjYW52YXNzLXB1cnBsZTtcbiAgfVxufVxuXG4uaGVhZGVyLWFjY291bnRJbmZvLWFjY291bnQtbmFtZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDkwcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBjb2xvcjogJGNhbnZhc3MtcHVycGxlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmctdG9wOiAkcGFkLzI7XG59XG4uaGVhZGVyLWFjY291bnRJbmZvLWFjY291bnQtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogJGNhbnZhc3MtZGVmYXVsdC10ZXh0O1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmctdG9wOiAzcHg7XG4gIFtpbWFnZT0nYXJyb3ctZG93biddLFxuICBbaW1hZ2U9J2Fycm93LXVwJ10ge1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgfVxufVxuXG5ib2R5LmFjY291bnQge1xuICAuaGVhZGVyLWFjY291bnRJbmZvLWFjY291bnQsXG4gICY6aG92ZXIgLmhlYWRlci1hY2NvdW50SW5mby1hY2NvdW50IHtcbiAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgJGNhbnZhc3MtcHVycGxlO1xuICB9XG59XG5cbi5oZWFkZXItYWNjb3VudEluZm8ub3BlbiB7XG4gIC5oZWFkZXItYWNjb3VudEluZm8tYWNjb3VudCxcbiAgJjpob3ZlciAuaGVhZGVyLWFjY291bnRJbmZvLWFjY291bnQge1xuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuICBbaW1hZ2U9J2Fycm93LWRvd24nXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBbaW1hZ2U9J2Fycm93LXVwJ10ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAuaGVhZGVyLWFjY291bnRJbmZvLWFjY291bnQtbWVudSB7XG4gICAgYm94LXNoYWRvdzogMHB4IDEycHggMTRweCAtNHB4IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgICBib3JkZXItdG9wOiA1cHggc29saWQgJGNhbnZhc3MtcHVycGxlO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRvcDogODBweDtcbiAgfVxufVxuXG5AaW5jbHVkZSByZXNwb25kLWF0KGZhbHNlLCAxMDIwcHgpIHtcbiAgLmhlYWRlciB7XG4gICAgLmhlYWRlci1jb2wge1xuICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIHJlc3BvbmQtYXQoZmFsc2UsICRjYW52YXNzLXRocmVzaG9sZC10YWJsZXQpIHtcbiAgLmhlYWRlciB7XG4gICAgLmhlYWRlci1hY2NvdW50SW5mbyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuaGVhZGVyLXN1cnZleU5vdGlmaWNhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLmhlYWRlci1jb2wge1xuICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLAoJCSIuY29udGVudEFuZExpbmtzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAqIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uY29udGVudEFuZExpbmtzLXRpdGxlIHtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW4tYm90dG9tOiAkcGFkKjI7XG59XG4uY29udGVudEFuZExpbmtzLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkY2FudmFzcy1saWdodGdyYXk7XG4gIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgQGluY2x1ZGUgZGlzcGxheShmbGV4KTtcbiAgQGluY2x1ZGUgaGVscGVycy1jbGVhcjtcbn1cbi5jb250ZW50QW5kTGlua3MtbGlua3Mge1xuICB3aWR0aDogMjIwcHg7XG4gIG1pbi1oZWlnaHQ6IDEwMHB4O1xufVxuLmNvbnRlbnRBbmRMaW5rcy1jb250ZW50IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDIyMHB4KTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICBwYWRkaW5nOiAkcGFkKjI7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNhbnZhc3MtbWVkZ3JheTtcbiAgJi5jb250ZW50QW5kTGlua3Mtbm9MaW5rcyB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cbn1cbi5jb250ZW50QW5kTGlua3Mtc3ViTGlua3Mge1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG4uY29udGVudEFuZExpbmtzLWxpbmtzLWxpbmsge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgcGFkZGluZzogN3B4IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICRjYW52YXNzLWRlZmF1bHQtdGV4dDtcbiAgcGFkZGluZzogJHBhZDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjYW52YXNzLW1lZGdyYXk7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNlZWU7XG4gIH1cbn1cbi5jb250ZW50QW5kTGlua3MtbGlua3MtbGluay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkY2FudmFzcy1wdXJwbGU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQ6ICRjYW52YXNzLXB1cnBsZTtcbiAgfVxufVxuLmNvbnRlbnRBbmRMaW5rcy1saW5rcy1zdWJMaW5rcyB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuQGluY2x1ZGUgcmVzcG9uZC1hdChmYWxzZSwgMTAwMHB4KSB7XG4gIC5jb250ZW50QW5kTGlua3Mge1xuICAgICoge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuICAuY29udGVudEFuZExpbmtzLWxpbmtzIHtcbiAgICB3aWR0aDogMzAlO1xuICB9XG4gIC5jb250ZW50QW5kTGlua3MtY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHdpZHRoOiA3MCU7XG4gIH1cbn1cblxuQGluY2x1ZGUgcmVzcG9uZC1hdChmYWxzZSwgNzUwcHgpIHtcbiAgLmNvbnRlbnRBbmRMaW5rcy1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGRpc3BsYXkoZmxleCk7XG4gICAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgLmNvbnRlbnRBbmRMaW5rcy1jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtaW4taGVpZ2h0OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBwYWRkaW5nOiAkcGFkO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAxO1xuICAgIC13ZWJraXQtb3JkZXI6IDE7XG4gIH1cbiAgLmNvbnRlbnRBbmRMaW5rcy1saW5rcyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMjtcbiAgICAtd2Via2l0LW9yZGVyOiAyO1xuICB9XG4gIC5jb250ZW50QW5kTGlua3MtbGlua3MtbGluayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgfVxuICAuY29udGVudEFuZExpbmtzLXN1YkxpbmtzLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQGluY2x1ZGUgcmVzcG9uZC1hdChmYWxzZSwgJGNhbnZhc3MtdGhyZXNob2xkLW1vYmlsZSkge1xuICAuY29udGVudEFuZExpbmtzLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6ICRwYWQvMjtcbiAgfVxuICAuY29udGVudEFuZExpbmtzLWxpbmtzLWxpbmsge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjYW52YXNzLW1lZGdyYXk7XG4gIH1cbn0iCgldLAoJIm5hbWVzIjogW10sCgkibWFwcGluZ3MiOiAiQUtFQSxnQ0FBZ0M7QTBGcUJoQyxBUFJBLFVPUVUsRUVoQlYsb0JBQW9CLENBYWxCLEdBQUcsRUNPTCxvQkFBb0IsRVF3QnBCLGdDQUFnQyxFSWpDaEMseUJBQXlCLEVBU3pCLHlCQUF5QixFRzBEekIsMEJBQTBCLEVBYXhCLEFBQUEsS0FBQyxDQUFNLFFBQVEsQUFBZCxFekJuRmU7RUFkaEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsU0FBUyxFQUFFLGdCQUFnQjtFQUMz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 */