@-webkit-keyframes menuOpen {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@-moz-keyframes menuOpen {
  from {
    -moz-transform: translateX(-100%);
         transform: translateX(-100%);
  }
  to {
    -moz-transform: translateX(0);
         transform: translateX(0);
  }
}
@keyframes menuOpen {
  from {
    -webkit-transform: translateX(-100%);
       -moz-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0);
       -moz-transform: translateX(0);
            transform: translateX(0);
  }
}
@-webkit-keyframes menuClose {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@-moz-keyframes menuClose {
  from {
    -moz-transform: translateX(0);
         transform: translateX(0);
  }
  to {
    -moz-transform: translateX(-100%);
         transform: translateX(-100%);
  }
}
@keyframes menuClose {
  from {
    -webkit-transform: translateX(0);
       -moz-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
       -moz-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@-webkit-keyframes menuOverlayImagesOpen {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    opacity: 0;
    visibility: hidden;
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
    visibility: visible;
  }
}
@-moz-keyframes menuOverlayImagesOpen {
  from {
    -moz-transform: translateX(-100%);
         transform: translateX(-100%);
    opacity: 0;
    visibility: hidden;
  }
  to {
    -moz-transform: translateX(0);
         transform: translateX(0);
    opacity: 1;
    visibility: visible;
  }
}
@keyframes menuOverlayImagesOpen {
  from {
    -webkit-transform: translateX(-100%);
       -moz-transform: translateX(-100%);
            transform: translateX(-100%);
    opacity: 0;
    visibility: hidden;
  }
  to {
    -webkit-transform: translateX(0);
       -moz-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
    visibility: visible;
  }
}
@-webkit-keyframes menuOverlayImagesClose {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
    visibility: visible;
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    opacity: 0;
    visibility: hidden;
  }
}
@-moz-keyframes menuOverlayImagesClose {
  from {
    -moz-transform: translateX(0);
         transform: translateX(0);
    opacity: 1;
    visibility: visible;
  }
  to {
    -moz-transform: translateX(-100%);
         transform: translateX(-100%);
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes menuOverlayImagesClose {
  from {
    -webkit-transform: translateX(0);
       -moz-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
    visibility: visible;
  }
  to {
    -webkit-transform: translateX(-100%);
       -moz-transform: translateX(-100%);
            transform: translateX(-100%);
    opacity: 0;
    visibility: hidden;
  }
}
.news-swiper__wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
}
.news-swiper__wrapper .swiper {
  min-width: 0;
}
.news-swiper__wrapper .news-ticker__heading {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 175px;
     -moz-box-flex: 0;
      -ms-flex: 0 0 175px;
          flex: 0 0 175px;
  max-width: 175px;
}

.news-ticker {
  position: relative;
  padding: 13px 0 12px;
  background-color: var(--news-ticker-color);
}
.has-banner .news-ticker {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 120;
}
.news-ticker .news-ticker__heading {
  font-size: 18px;
  font-size: 1.0588235294rem;
  letter-spacing: 0.03515625em;
  text-transform: uppercase;
  font-family: var(--font--sans-serif-two);
  font-weight: 500;
  margin: 0;
  padding-right: 15px;
  line-height: 1;
  color: var(--brand-color--one);
}
.news-ticker .news-ticker__counter {
  padding-left: 10px;
  word-spacing: -4px;
}
.news-ticker .news-ticker__news {
  padding-left: var(--header-inline-gutter);
  padding-right: var(--header-inline-gutter);
}
.news-ticker .news-ticker__news ul {
  list-style: none;
}
.news-ticker .news-ticker__news li {
  font-size: 18px;
  font-size: 1.0588235294rem;
  width: 100%;
  line-height: 1.4;
  color: var(--brand-color--one);
  font-family: var(--font--sans-serif-two);
}
.news-ticker .news-ticker__news strong {
  font-weight: 500;
  color: inherit;
}
.news-ticker .news-ticker__news a {
  display: inline;
  text-decoration: none;
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(10%, transparent), color-stop(10%, rgba(var(--brand-color--one), 0.7)), color-stop(14%, rgba(var(--brand-color--one), 0.7)), color-stop(10%, transparent));
  background-image: -moz-linear-gradient(bottom, transparent 10%, rgba(var(--brand-color--one), 0.7) 10%, rgba(var(--brand-color--one), 0.7) 14%, transparent 10%);
  background-image: linear-gradient(to top, transparent 10%, rgba(var(--brand-color--one), 0.7) 10%, rgba(var(--brand-color--one), 0.7) 14%, transparent 10%);
  -webkit-transition: opacity;
  -moz-transition: opacity;
  transition: opacity;
  -webkit-transition-duration: 0.15s;
     -moz-transition-duration: 0.15s;
          transition-duration: 0.15s;
  -webkit-transition-timing-function: ease;
     -moz-transition-timing-function: ease;
          transition-timing-function: ease;
  color: var(--brand-color--one);
}
.news-ticker .news-ticker__news a:hover {
  text-decoration: none;
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(10%, transparent), color-stop(10%, rgba(var(--brand-color--one), 0.7)), color-stop(14%, rgba(var(--brand-color--one), 0.7)), color-stop(10%, transparent));
  background-image: -moz-linear-gradient(bottom, transparent 10%, rgba(var(--brand-color--one), 0.7) 10%, rgba(var(--brand-color--one), 0.7) 14%, transparent 10%);
  background-image: linear-gradient(to top, transparent 10%, rgba(var(--brand-color--one), 0.7) 10%, rgba(var(--brand-color--one), 0.7) 14%, transparent 10%);
}
.news-ticker .news-ticker__news a:hover {
  opacity: 0.6;
}
.news-ticker .news-ticker__controls {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 52px;
     -moz-box-flex: 0;
      -ms-flex: 0 0 52px;
          flex: 0 0 52px;
  max-width: 52px;
  right: var(--header-inline-gutter);
  z-index: 2;
}
.news-ticker .news-ticker__controls > button:not(:last-child) {
  margin-right: 15px;
}
.news-ticker .news-ticker__controls .icon {
  display: block;
  width: 16px;
  height: 16px;
  color: var(--brand-color--one);
}
@media only screen and (max-width: 960px) {
  .news-ticker .news-ticker__heading,
  .news-ticker .news-ticker__controls {
    display: none;
  }
}
@media only screen and (max-width: 960px) {
  .body--home .header-nav--minimal:not(.header-nav--scroll) {
    position: absolute;
    height: 125px;
    background-color: transparent;
  }
  .body--home .header-nav--minimal:not(.header-nav--scroll).shadow::before {
    display: block;
  }
  .body--home .header-nav--minimal:not(.header-nav--scroll) .header-nav__logo {
    display: inline-block;
  }
  .body--home .header-nav--minimal:not(.header-nav--scroll) .header-nav__logo-text {
    display: none;
  }
}
.body--home .slideshow--video .slideshow__control {
  display: none;
}
.body--home .slideshow--video.video-not-supported .slideshow__control {
  display: block;
}
.body--home .slideshow--video.video-not-supported .btn-video-fallback {
  display: none !important;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9saWIvX2FuaW1hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX25ld3MtdGlja2VyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvbGliL19zZXR0aW5ncy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2xpYi9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvcGFnZXMvX2hvbWUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3SUE7RUFDRTtJQUNFO1lBQUE7RUN2SUY7RUQ0SUE7SUFDRTtZQUFBO0VDMUlGO0FBQ0Y7QURpSUE7RUFDRTtJQUNFO1NBQUE7RUN2SUY7RUQ0SUE7SUFDRTtTQUFBO0VDMUlGO0FBQ0Y7QURpSUE7RUFDRTtJQUNFO09BQUE7WUFBQTtFQ3ZJRjtFRDRJQTtJQUNFO09BQUE7WUFBQTtFQzFJRjtBQUNGO0FEK0lBO0VBQ0U7SUFDRTtZQUFBO0VDN0lGO0VEa0pBO0lBQ0U7WUFBQTtFQ2hKRjtBQUNGO0FEdUlBO0VBQ0U7SUFDRTtTQUFBO0VDN0lGO0VEa0pBO0lBQ0U7U0FBQTtFQ2hKRjtBQUNGO0FEdUlBO0VBQ0U7SUFDRTtPQUFBO1lBQUE7RUM3SUY7RURrSkE7SUFDRTtPQUFBO1lBQUE7RUNoSkY7QUFDRjtBRHFKQTtFQUNFO0lBQ0U7WUFBQTtJQUNBO0lBQ0E7RUNuSkY7RURxSkE7SUFDRTtZQUFBO0lBQ0E7SUFDQTtFQ25KRjtBQUNGO0FEeUlBO0VBQ0U7SUFDRTtTQUFBO0lBQ0E7SUFDQTtFQ25KRjtFRHFKQTtJQUNFO1NBQUE7SUFDQTtJQUNBO0VDbkpGO0FBQ0Y7QUR5SUE7RUFDRTtJQUNFO09BQUE7WUFBQTtJQUNBO0lBQ0E7RUNuSkY7RURxSkE7SUFDRTtPQUFBO1lBQUE7SUFDQTtJQUNBO0VDbkpGO0FBQ0Y7QURzSkE7RUFDRTtJQUNFO1lBQUE7SUFDQTtJQUNBO0VDcEpGO0VEc0pBO0lBQ0U7WUFBQTtJQUNBO0lBQ0E7RUNwSkY7QUFDRjtBRDBJQTtFQUNFO0lBQ0U7U0FBQTtJQUNBO0lBQ0E7RUNwSkY7RURzSkE7SUFDRTtTQUFBO0lBQ0E7SUFDQTtFQ3BKRjtBQUNGO0FEMElBO0VBQ0U7SUFDRTtPQUFBO1lBQUE7SUFDQTtJQUNBO0VDcEpGO0VEc0pBO0lBQ0U7T0FBQTtZQUFBO0lBQ0E7SUFDQTtFQ3BKRjtBQUNGO0FBOUJBO0VBQ0U7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUNBO0VBQUE7S0FBQTtNQUFBO1VBQUE7RUFDQTtLQUFBO1VBQUE7QUFnQ0Y7QUEvQkU7RUFDRTtBQWlDSjtBQS9CRTtFQUNFO0VBQUE7S0FBQTtNQUFBO1VBQUE7RUFDQTtBQWlDSjs7QUE3QkE7RUFDRTtFQVVBO0VBQ0E7QUF1QkY7QUFqQ0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlDMENpQjtBRFByQjtBQXpCRTtFRWtLQSxlQUxVO0VBTVYsMEJBTFU7RUFxQlY7RUFDQTtFRmhMRSx3Q0NzQ21CO0VEckNuQixnQkMwQ2tCO0VEeENsQjtFQUNBO0VBQ0E7RUFDQSw4QkNrRWU7QUR2Q25CO0FBeEJFO0VBQ0U7RUFDQTtBQTBCSjtBQXBCRTtFQUNFO0VBQ0E7QUFzQko7QUFuQkk7RUFDRTtBQXFCTjtBQWxCSTtFRW9JRixlQUxVO0VBTVYsMEJBTFU7RUY5SE47RUFDQTtFQUNBLDhCQzBDYTtFRHpDYix3Q0NPaUI7QURjdkI7QUFsQkk7RUFDRSxnQkNRZ0I7RURQaEI7QUFvQk47QUFqQkk7RUVvUEY7RUFDQTtFQUNBO0VBQUE7RUFBQTtFSDdUQSwyQkN5RWdDO0VEekVoQyx3QkN5RWdDO0VEekVoQyxtQkN5RWdDO0VEeEVoQyxrQ0V1VjRCO0tGdlY1QiwrQkV1VjRCO1VGdlY1QiwwQkV1VjRCO0VGdFY1Qix3Q0VxVm1DO0tGclZuQyxxQ0VxVm1DO1VGclZuQyxnQ0VxVm1DO0VENVEvQiw4QkM2QmE7QURQbkI7QUU4TkU7RUFDRTtFQUNBO0VBQUE7RUFBQTtBRjVOSjtBQXhCTTtFQUNFO0FBMEJSO0FBbEJFO0VBQ0U7RUFBQTtLQUFBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQTtBQW9CSjtBQWpCTTtFQUNFO0FBbUJSO0FBZkk7RUFDRTtFQUNBO0VBQ0E7RUFDQSw4QkNFYTtBRGVuQjtBRXpHUTtFRmdHSjs7SUFFRTtFQVlKO0FBQ0YsQztBRS9HUTtFQ05KO0lBRUk7SUFDQSxhRnFPWTtJRXBPWjtFQWxCTjtFQXNCUTtJQUNFO0VBcEJWO0VBd0JNO0lBQ0U7RUF0QlI7RUF5Qk07SUFDRTtFQXZCUjtBQUNGO0FBZ0NJO0VBQ0U7QUE5Qk47QUFtQ007RUFDRTtBQWpDUjtBQW9DTTtFQUNFO0FBbENSLEMiLCJmaWxlIjoiY3NzL2hvbWUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEFOSU1BVElPTlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRGVmYXVsdCB0cmFuc2l0aW9uXG4vLyBNb2RpZnkgcHJvcGVydGllcyBpbiBgX3NldHRpbmdzLnNjc3NgXG5AbWl4aW4gZGVmYXVsdC10cmFuc2l0aW9uKCRwcm9wZXJ0aWVzKSB7XG4gIEBpZiAkcHJvcGVydGllcyA9PSAnYWxsJyB7XG4gICAgQGVycm9yICdQbGVhc2Ugc3BlY2lmeSBhbmltYXRpb24gcHJvcGVydGllcyBpbmRpdmlkdWFsbHkuJztcbiAgfVxuXG4gIHRyYW5zaXRpb246ICRwcm9wZXJ0aWVzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb247XG59XG5cbi8vIEN1c3RvbSB0cmFuc2l0aW9uXG4vLyBEZWZhdWx0IHZhbHVlcyBpbiBgX3NldHRpbmdzLnNjc3NgXG5AbWl4aW4gdHJhbnNpdGlvbigkcHJvcGVydGllcywgJHRyYW5zaXRpb24tdGltZTogJGRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbiwgJHRyYW5zaXRpb24tZnVuY3Rpb246ICRkZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSB7XG4gIEBpZiAkcHJvcGVydGllcyA9PSAnYWxsJyB7XG4gICAgQGVycm9yICdQbGVhc2Ugc3BlY2lmeSBhbmltYXRpb24gcHJvcGVydGllcyBpbmRpdmlkdWFsbHkuJztcbiAgfVxuXG4gIHRyYW5zaXRpb246ICRwcm9wZXJ0aWVzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi10aW1lO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRyYW5zaXRpb24tZnVuY3Rpb247XG59XG5cbi8vIExvbmdlciB0cmFuc2l0aW9uXG4vLyBNb2RpZnkgcHJvcGVydGllcyBpbiBgX3NldHRpbmdzLnNjc3NgXG5AbWl4aW4gbG9uZy10cmFuc2l0aW9uKCRwcm9wZXJ0aWVzKSB7XG4gIEBpZiAkcHJvcGVydGllcyA9PSAnYWxsJyB7XG4gICAgQGVycm9yICdQbGVhc2Ugc3BlY2lmeSBhbmltYXRpb24gcHJvcGVydGllcyBpbmRpdmlkdWFsbHkuJztcbiAgfVxuXG4gIHRyYW5zaXRpb246ICRwcm9wZXJ0aWVzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkbG9uZy10cmFuc2l0aW9uLWR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGxvbmctdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb247XG59XG5cbi8vIExvbmcgZWFzZSB0cmFuc2l0aW9uXG4vL0BtaXhpbiB0cmFuc2l0aW9uLWVhc2Uge1xuLy8gIHRyYW5zaXRpb246IGFsbCA0MDBtcyBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xuLy99XG4vLyB1c2UgdGhpcyBpbnN0ZWFkIEBpbmNsdWRlIGRlZmF1bHQtdHJhbnNpdGlvbigod2lkdGgpLCA0MDBtcywgY3ViaWMtYmV6aWVyKC4yNTAsIC40NjAsIC40NTAsIC45NDApKTtcblxuLy8gRmFkZS1pbiB0cmFuc2l0aW9uXG5AbWl4aW4gZmFkZS1pbiB7XG4gIEBrZXlmcmFtZXMgZmFkZS1pbiB7XG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IH1cbiAgICB0byB7IG9wYWNpdHk6IDE7IH1cbiAgfVxuXG4gIGFuaW1hdGlvbjogZmFkZS1pbiAxcztcbn1cblxuLy8gRmFkZS1pbi11cCB0cmFuc2l0aW9uXG5AbWl4aW4gZmFkZS1pbi11cCB7XG4gIEBrZXlmcmFtZXMgZmFkZS1pbi11cCB7XG4gICAgZnJvbSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB9XG5cbiAgICB0byB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlLWluLXVwO1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbkBtaXhpbiBmYWRlLW91dCB7XG4gIEBrZXlmcmFtZXMgZmFkZS1vdXQge1xuICAgIGZyb20geyBvcGFjaXR5OiAxOyB9XG4gICAgdG8geyBvcGFjaXR5OiAwOyB9XG4gIH1cblxuICBhbmltYXRpb246IGZhZGUtb3V0IDFzO1xufVxuXG5cbi8vIEdsb3cvcHVsc2UgdHJhbnNpdGlvblxuQG1peGluIGdsb3cge1xuICBAa2V5ZnJhbWVzIGdsb3cge1xuICAgIDAlIHsgb3BhY2l0eTogMTsgfVxuICAgIDMwJSB7IG9wYWNpdHk6IDE7IH1cbiAgICA3MCUgeyBvcGFjaXR5OiAwOyB9XG4gIH1cblxuICBhbmltYXRpb246IGdsb3cgM3MgbGluZWFyIGluZmluaXRlO1xufVxuXG4vLyBWZXJ0aWNhbCBzbGlkZSBhbmltYXRpb25cbkBtaXhpbiB2ZXJ0aWNhbC1zbGlkZSgkc3BlZWQpIHtcblxuICAkZHVyYXRpb246IDAuNnM7XG5cbiAgQGlmICRzcGVlZCA9PSAnbm9ybWFsJyB7XG4gICAgJGR1cmF0aW9uOiAxLjJzO1xuICB9XG5cbiAgQGlmICRzcGVlZCA9PSAnZmFzdCcge1xuICAgICRkdXJhdGlvbjogMC42cztcbiAgfVxuXG4gIEBrZXlmcmFtZXMgdmVydGljYWwtc2xpZGUge1xuICAgIDAlIHsgYm90dG9tOiAwOyB9XG4gICAgNTAlIHsgYm90dG9tOiA4cHg7IH1cbiAgICAxMDAlIHsgYm90dG9tOiAwOyB9XG4gIH1cblxuICBhbmltYXRpb24tbmFtZTogdmVydGljYWwtc2xpZGU7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbn1cblxuLy8gUm90YXRpb25cbkBtaXhpbiByb3RhdGlvbigkZHVyYXRpb246IDFzKSB7XG4gIGFuaW1hdGlvbjogcm90YXRpb24gJGR1cmF0aW9uIGxpbmVhciBpbmZpbml0ZTtcblxuICBAa2V5ZnJhbWVzIHJvdGF0aW9uIHtcbiAgICAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgbWVudU9wZW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIC8vIG9wYWNpdHk6IDA7XG4gICAgLy8gdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAvLyBvcGFjaXR5OiAxO1xuICAgIC8vIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBtZW51Q2xvc2Uge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgLy8gb3BhY2l0eTogMTtcbiAgICAvLyB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgLy8gb3BhY2l0eTogMDtcbiAgICAvLyB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cblxuQGtleWZyYW1lcyBtZW51T3ZlcmxheUltYWdlc09wZW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWVudU92ZXJsYXlJbWFnZXNDbG9zZSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTmV3cyBUaWNrZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbXBvcnQgJy4uL2xpYi9zZXR0aW5ncyc7XG5AaW1wb3J0ICcuLi9saWIvZnVuY3Rpb25zJztcbkBpbXBvcnQgJy4uL2xpYi9taXhpbnMnO1xuQGltcG9ydCAnLi4vbGliL2FuaW1hdGlvbic7XG5cbi5uZXdzLXN3aXBlcl9fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDE1cHg7XG4gIC5zd2lwZXIge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuICAubmV3cy10aWNrZXJfX2hlYWRpbmcge1xuICAgIGZsZXg6IDAgMCAxNzVweDtcbiAgICBtYXgtd2lkdGg6IDE3NXB4O1xuICB9XG59XG5cbi5uZXdzLXRpY2tlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLmhhcy1iYW5uZXIgJiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6ICR6LWluZGV4LS1zbGlkZXNob3c7XG4gIH1cbiAgLy8gZGlzcGxheTogZmxleDtcbiAgLy8gYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMTNweCAwIDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ld3MtdGlja2VyLWNvbG9yKTtcblxuICAvL1xuICAvLyBIZWFkaW5nXG4gIC8vXG4gIC5uZXdzLXRpY2tlcl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgcmVtLWZvbnQtc2l6ZSgxOHB4KTtcbiAgICBAaW5jbHVkZSBhbGwtY2FwcygxOHB4KTtcblxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC0tc2Fucy1zZXJpZi10d287XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC0tbWVkaXVtO1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRicmFuZC1jb2xvci0tb25lO1xuICB9XG5cbiAgLm5ld3MtdGlja2VyX19jb3VudGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgd29yZC1zcGFjaW5nOiAtNHB4O1xuICB9XG5cbiAgLy9cbiAgLy8gTmV3c1xuICAvL1xuICAubmV3cy10aWNrZXJfX25ld3Mge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0taGVhZGVyLWlubGluZS1ndXR0ZXIpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWhlYWRlci1pbmxpbmUtZ3V0dGVyKTtcblxuICAgIC8vIENhcm91c2VsXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaW5jbHVkZSByZW0tZm9udC1zaXplKDE4cHgpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgY29sb3I6ICRicmFuZC1jb2xvci0tb25lO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LS1zYW5zLXNlcmlmLXR3bztcbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC0tbWVkaXVtO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBmYW5jeS11bmRlcmxpbmUocmdiYSgkYnJhbmQtY29sb3ItLW9uZSwgMC43KSwgcmdiYSgkYnJhbmQtY29sb3ItLW9uZSwgMC43KSk7XG4gICAgICBAaW5jbHVkZSBkZWZhdWx0LXRyYW5zaXRpb24ob3BhY2l0eSk7XG5cbiAgICAgIGNvbG9yOiAkYnJhbmQtY29sb3ItLW9uZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvL1xuICAvLyBDb250cm9sc1xuICAvL1xuICAubmV3cy10aWNrZXJfX2NvbnRyb2xzIHtcbiAgICBmbGV4OiAwIDAgNTJweDtcbiAgICBtYXgtd2lkdGg6IDUycHg7XG4gICAgcmlnaHQ6IHZhcigtLWhlYWRlci1pbmxpbmUtZ3V0dGVyKTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgPiBidXR0b24ge1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pY29uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICBjb2xvcjogJGJyYW5kLWNvbG9yLS1vbmU7XG4gICAgfVxuICB9XG5cbiAgLy9cbiAgLy8gUmVzcG9uc2l2ZSBSdWxlc1xuICAvL1xuICBAaW5jbHVkZSBtZWRpYS1xdWVyeShsYXB0b3ApIHtcbiAgICAubmV3cy10aWNrZXJfX2hlYWRpbmcsXG4gICAgLm5ld3MtdGlja2VyX19jb250cm9scyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNFVFRJTkdTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJhc2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBXcmFwcGVyXG4vLyAkd3JhcHBlci1ndXR0ZXI6IDIwcHg7XG4vLyAkd3JhcHBlci13aWR0aDogY2FsYyh2YXIoLS13cmFwcGVyLWRlZmF1bHQtbWF4LXdpZHRoKSArIGNhbGMoKHZhcigtLXdyYXBwZXItcGFkZGluZy1pbmxpbmUpICogMikpKTtcbi8vICR3cmFwcGVyLXdpZHRoLS1uYXJyb3c6IDk2MHB4ICsgKCR3cmFwcGVyLWd1dHRlciAqIDIpO1xuLy8gJHdyYXBwZXItd2lkdGgtLXdpZGU6IDExNjBweCArICgkd3JhcHBlci1ndXR0ZXIgKiAyKTtcbi8vICR3cmFwcGVyLXdpZHRoLS1zdXBlci13aWRlOiAxNDMwcHggKyAoJHdyYXBwZXItZ3V0dGVyICogMik7XG5cbi8vIEJsb2NrXG4kYmxvY2stcGFkZGluZzogNjBweDtcbiRibG9jay1oYWxmLWJyZWFrcG9pbnQ6IHRhYmxldDtcblxuLy8gRmxleGlibGUgY29udGVudFxuJGZsZXgtY29udGVudC1oYWxmLWJyZWFrcG9pbnQ6IHRhYmxldDtcblxuLy8gTWFyZ2luXG4kbWFyZ2luOiAzMHB4O1xuXG4vLyBQYWRkaW5nXG4kcGFkZGluZzogMzBweDtcblxuLy8gR3JpZFxuJGd1dHRlcjogNDRweDtcbiRicmVha3BvaW50czogKFxuICAnd2lkZScgICAgICAgICAgICAnKG1heC13aWR0aDogMTQ0MHB4KScsXG4gICdtaW4td2lkZScgICAgICAgICcobWluLXdpZHRoOiAxNDQwcHgpJyxcbiAgJ2JpZy1kZXNrJyAgICAgICAgJyhtYXgtd2lkdGg6IDEyODBweCknLFxuICAnbWluLWJpZy1kZXNrJyAgICAnKG1pbi13aWR0aDogMTI4MHB4KScsXG4gICdkZXNrJyAgICAgICAgICAgICcobWF4LXdpZHRoOiAxMDI0cHgpJyxcbiAgJ21pbi1kZXNrJyAgICAgICAgJyhtaW4td2lkdGg6IDEwMjRweCknLFxuICAnbGFwdG9wJyAgICAgICAgICAnKG1heC13aWR0aDogOTYwcHgpJyxcbiAgJ21pbi1sYXB0b3AnICAgICAgJyhtaW4td2lkdGg6IDk2MHB4KScsXG4gICd0YWJsZXQnICAgICAgICAgICcobWF4LXdpZHRoOiA3NjhweCknLFxuICAnbWluLXRhYmxldCcgICAgICAnKG1pbi13aWR0aDogNzY4cHgpJyxcbiAgJ21vYmlsZScgICAgICAgICAgJyhtYXgtd2lkdGg6IDU1MHB4KScsXG4gICdtaW4tbW9iaWxlJyAgICAgICcobWluLXdpZHRoOiA1NTBweCknLFxuICAnbW9iaWxlLXNtYWxsJyAgICAnKG1heC13aWR0aDogMzc1cHgpJyxcbiAgJ3JldGluYScgICAgICAgICAgJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknLFxuKTtcbiRicmVha3BvaW50LWhhcy13aWR0aHM6IChcbiAgJ3dpZGUnLFxuICAnbWluLXdpZGUnLFxuICAnYmlnLWRlc2snLFxuICAnbWluLWJpZy1kZXNrJyxcbiAgJ2Rlc2snLFxuICAnbWluLWRlc2snLFxuICAnbGFwdG9wJyxcbiAgJ21pbi1sYXB0b3AnLFxuICAndGFibGV0JyxcbiAgJ21pbi10YWJsZXQnLFxuICAnbW9iaWxlJyxcbiAgJ21pbi1tb2JpbGUnLFxuICAnbW9iaWxlLXNtYWxsJyxcbik7XG5cbi8vIFotaW5kZXhlc1xuJHotaW5kZXgtLXRvcDogOTAwMDtcbiR6LWluZGV4LS1tb2RhbDogNzAwMDtcbiR6LWluZGV4LS1zaWRlLXBhbmVsOiA2NTAwO1xuJHotaW5kZXgtLW1lbnUtc2lkZWJhcjogNjAwMDtcbiR6LWluZGV4LS1tZW51LW92ZXJsYXk6IDYwMDE7XG4kei1pbmRleC0tYm9keS1vdmVybGF5OiA1MDAwO1xuJHotaW5kZXgtLWhlYWRlci1uYXY6IDQwMDA7XG4kei1pbmRleC0tcGFnZS1oZWFkZXI6IDIwMDtcbiR6LWluZGV4LS1zbGlkZXNob3c6IDEyMDtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRiYXNlLWZvbnQtc2l6ZTogMTdweDtcbiRiYXNlLWxpbmUtaGVpZ2h0OiAxLjY1O1xuXG4vLyBGb250IHN0YWNrXG4kZm9udC0tc2Fucy1zZXJpZjogdmFyKC0tZm9udC0tc2Fucy1zZXJpZik7IC8vUHJveGltYSBOb3ZhIDQwMCwgNDAwaSwgNjAwLCA2MDBpXG4kZm9udC0tc2Fucy1zZXJpZi10d286IHZhcigtLWZvbnQtLXNhbnMtc2VyaWYtdHdvKTsgLy9uZXVlLWhhYXMtZ3JvdGVzay1kaXNwbGF5IDQwMCwgNTAwXG5cbi8vIEZvbnQgd2VpZ2h0c1xuJGZvbnQtd2VpZ2h0LS1saWdodDogMzAwO1xuJGZvbnQtd2VpZ2h0LS1yZWd1bGFyOiA0MDA7XG4kZm9udC13ZWlnaHQtLW1lZGl1bTogNTAwO1xuJGZvbnQtd2VpZ2h0LS1zZW1pYm9sZDogNjAwO1xuJGZvbnQtd2VpZ2h0LS1ib2xkOiA3MDA7XG4kZm9udC13ZWlnaHQtLWV4dHJhYm9sZDogODAwO1xuXG4vLyBOb3JtYWxpc2VkIHRleHQgcHJvcGVydGllcyAoZm9yIEBpbmNsdWRlIG5vcm1hbGlzZWQtdGV4dClcbiRub3JtYWxpc2VkLXRleHQtcHJvcGVydGllczogKFxuICAnZm9udC1mYW1pbHknLFxuICAnZm9udC1zaXplJyxcbiAgJ2xpbmUtaGVpZ2h0J1xuKTtcblxuLy8gTm9ybWFsaXNlZCB0ZXh0IHZhbHVlcyAoZm9yIEBpbmNsdWRlIG5vcm1hbGlzZWQtdGV4dClcbiRub3JtYWxpc2VkLXRleHQtdmFsdWVzOiAoXG4gICRmb250LS1zYW5zLXNlcmlmLFxuICAkYmFzZS1mb250LXNpemUsXG4gICRiYXNlLWxpbmUtaGVpZ2h0XG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvbG91cnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBHZW5lcmljXG4kd2hpdGU6ICNmZmY7XG4kYmxhY2s6ICMwMDA7XG4kZ3JleTogI2NjYztcblxuLy8gQnJhbmQgY29sb3Vyc1xuJGJyYW5kLWNvbG9yLS1vbmU6IHZhcigtLWJyYW5kLWNvbG9yLS1vbmUpO1xuJGJyYW5kLWNvbG9yLS10d286IHZhcigtLWJyYW5kLWNvbG9yLS10d28pO1xuJGJyYW5kLWNvbG9yLS10aHJlZTogdmFyKC0tYnJhbmQtY29sb3ItLWJsdWUpO1xuXG4vLyBIZWFkaW5nIGdvbGQgY29sb3VyIChjb21tb25seSB1c2VkIGluIGg1KVxuJGhlYWRpbmctY29sb3ItLWdvbGQ6ICM5Yzc4NDM7XG5cbi8vIEJvZHkgb3ZlcmxheVxuJGJvZHktb3ZlcmxheS1jb2xvcjogdmFyKC0tYm9keS1jb2xvci1vdmVybGF5KTtcblxuLy8gVHlwb2dyYXBoeVxuJHRleHQtY29sb3I6IHZhcigtLWJhc2UtY29sb3IpO1xuJHRleHQtY29sb3ItLWJvbGQ6ICMyMjI7XG4kdGV4dC1jb2xvci0tc3VidGxlOiAjODM4MzgzO1xuJHRleHQtY29sb3ItLXJlZDogI2FkMDAwMDtcbiRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogI2NhY2FjYTtcblxuLy8gQWxlcnRzXG4kYWxlcnQtZGVmYXVsdDogIzU3NTc1NztcbiRhbGVydC1zdWNjZXNzOiAjNDVhYzViO1xuJGFsZXJ0LWRhbmdlcjogI2E4MDUzMjtcbiRhbGVydC1lbXBoYXNpemU6ICRicmFuZC1jb2xvci0tdHdvO1xuJGFsZXJ0LW9mZmVyOiAjYTgwNTMyO1xuXG4vLyBMaW5rc1xuJGxpbmstY29sb3I6ICMwMDk2ZmY7XG4kbGluay1jb2xvci0taG92ZXI6IGRhcmtlbigkbGluay1jb2xvciwgMTAlKTtcbiRsaW5rLWNvbG9yLXVuZGVybGluZTogcmdiYSgkbGluay1jb2xvciwgMC41KTtcbiRsaW5rLWNvbG9yLXVuZGVybGluZS0taG92ZXI6IHJnYmEoJGxpbmstY29sb3ItLWhvdmVyLCAwLjUpO1xuXG4vLyBJY29uc1xuJGZhY2Vib29rLWNvbG9yOiAjM2E1NTlmO1xuJHR3aXR0ZXItY29sb3I6ICM1NWFkZWU7XG4kaW5zdGFncmFtLWNvbG9yOiAjZTc2MzQ1O1xuJHRyaXBhZHZpc29yLWNvbG9yOiAjMzRlMGExO1xuJGxpbmtlZGluLWNvbG9yOiAjMjg2N2IyO1xuJGZpbGUtZG9jLWNvbG9yOiAjMjk4YWM5O1xuJGZpbGUteGxzLWNvbG9yOiAjODViNTM5O1xuJGZpbGUtcGRmLWNvbG9yOiAjZWM2ZDVhO1xuJHN0YXItY29sb3ItLWVtcHR5OiAjZGRkO1xuJHN0YXItY29sb3ItLWZ1bGw6ICNmYzA7XG5cbi8vIENvdXJzZSBzdGF0dXMgbWFya2VyXG4kY291cnNlLXN0YXR1cy1tYXJrZXItZ3JlZW46ICMwMGZmMGM7XG4kY291cnNlLXN0YXR1cy1tYXJrZXIteWVsbG93OiAjZmZmNjAwO1xuJGNvdXJzZS1zdGF0dXMtbWFya2VyLXJlZDogI2ZmNDE0MTtcblxuLy8gTGluZXNcbiRsaW5lLWNvbG9yOiAjY2NjO1xuXG4vLyBUYWJsZXNcbiR0YWJsZS1oZWFkZXItbGluZS1jb2xvcjogI2E3YTdhNztcbiR0YWJsZS1yb3ctbGluZS1jb2xvcjogI2RjZGNkYztcbiR0YWJsZS1oZWFkaW5nLWNvbG9yOiAjMjIyO1xuJHRhYmxlLXRleHQtY29sb3I6ICM0NDQ7XG4kdGFibGUtc3RyaXBlLWNvbG9yOiAjZjlmOWY5O1xuXG4vLyBGb3Jtc1xuJGZvcm0taGVhZGluZy1jb2xvcjogJGJyYW5kLWNvbG9yLS10d287XG4kZm9ybS1sYWJlbC1jb2xvcjogIzU1NTtcbiRmb3JtLXJvdy1ib3JkZXItY29sb3I6ICNlNGU0ZTQ7XG4kZm9ybS1pbnB1dC1ib3JkZXItY29sb3I6ICNmNGYxZjA7XG4kZm9ybS1pbnB1dC1iZy1jb2xvcjogI2Y0ZjFmMDtcbiRmb3JtLWlucHV0LWVycm9yLWNvbG9yOiAjYTgwNTMyO1xuXG4vLyBTZWN0aW9uXG4kc2VjdGlvbi1jb2xvci1saWdodDogI2Y1ZjJlZjtcbiRzZWN0aW9uLWNvbG9yLW1lZGl1bTogIzc3NztcbiRzZWN0aW9uLWNvbG9yLWRhcms6ICMwMDA7XG5cbi8vIElmcmFtZVxuJGlmcmFtZS1iZy1jb2xvcjogI2Y3ZjdmNztcblxuLy8gUGlwc1xuJHBpcHMtYm9yZGVyLWNvbG9yOiAjMDAwO1xuJHBpcHMtZmlsbC1jb2xvcjogIzAwMDtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTY29yZWNhcmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHNjb3JlY2FyZC1jb2xvci0tYmxhY2s6ICAjMzMzO1xuJHNjb3JlY2FyZC1jb2xvci0teWVsbG93OiAjZTZjNjc5O1xuJHNjb3JlY2FyZC1jb2xvci0tZ29sZDogZ29sZDtcbiRzY29yZWNhcmQtY29sb3ItLWJsdWU6ICAgIzUxN2ViYjtcbiRzY29yZWNhcmQtY29sb3ItLXdoaXRlOiAgIzcyNzI3MjtcbiRzY29yZWNhcmQtY29sb3ItLXJlZDogICAgIzg5MDAwNjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCdXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRGVmYXVsdCA6OiBjb2xvdXJzXG4kYnRuLXRleHQtY29sb3I6ICNmZmY7XG4kYnRuLXRleHQtY29sb3ItLWhvdmVyOiAjZmZmO1xuJGJ0bi10ZXh0LWNvbG9yLS1pbnZlcnNlOiAjMzMzO1xuJGJ0bi1iZy1jb2xvcjogJGJyYW5kLWNvbG9yLS1vbmU7XG4kYnRuLWJnLWNvbG9yLS1ob3ZlcjogdmFyKC0tYnJhbmQtY29sb3ItLW9uZS1saWdodGVyKTtcblxuLy8gRGVmYXVsdCA6OiBkaW1lbnNpb25zXG4kYnRuLXBhZGRpbmc6IHZhcigtLWJ0bi1wYWRkaW5nLCAxNHB4IDMwcHggMTVweCk7XG4kYnRuLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtLWJvbGQ7XG4kYnRuLWZvbnQtc2l6ZTogMTdweDtcbiRidG4tdXBwZXJjYXNlOiBmYWxzZTtcbiRidG4tZm9udDogJGZvbnQtLXNhbnMtc2VyaWYtdHdvO1xuXG4vLyBCb3JkZXJcbiRidG4tYm9yZGVyLXRleHQtY29sb3I6IHZhcigtLWJyYW5kLWNvbG9yLS10d28pO1xuJGJ0bi1ib3JkZXItY29sb3I6IHZhcigtLWJyYW5kLWNvbG9yLS10d28pO1xuJGJ0bi1ib3JkZXItdGV4dC1jb2xvci0taG92ZXI6ICNmZmY7XG4kYnRuLWJvcmRlci1jb2xvci0taG92ZXI6IHZhcigtLWJyYW5kLWNvbG9yLS1vbmUpO1xuJGJ0bi1ib3JkZXItYmctLWhvdmVyOiAkYnRuLXRleHQtY29sb3ItLWludmVyc2U7XG5cbi8vIEZvcm0gc3VibWl0XG4kYnRuLXN1Ym1pdC1wYWRkaW5nOiAkYnRuLXBhZGRpbmc7XG5cbi8vIFNtYWxsXG4kYnRuLXNtYWxsLWZvbnQtc2l6ZTogMTRweDtcbiRidG4tbWVkaXVtLWZvbnQtc2l6ZTogMThweDtcbiRidG4tc21hbGwtcGFkZGluZzogN3B4IDE2cHggOHB4O1xuJGJ0bi1tZWRpdW0tcGFkZGluZzogMTBweCAxNnB4IDExcHg7XG5cbi8vIERpc2FibGVkXG4kYnRuLWNvbG9yLS1kaXNhYmxlZDogI2NjYztcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGb3Jtc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kZm9ybS1pbnB1dC1wYWRkaW5nOiA2cHggOXB4IDRweDtcbiRmb3JtLWlucHV0LWZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuJGZvcm0taW5wdXQtbGluZS1oZWlnaHQ6IDEuMztcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIZWFkZXIgbmF2aWdhdGlvbiBiYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBEaW1lbnNpb25zXG4kaGVhZGVyLW5hdi1oZWlnaHQ6IDEyNXB4O1xuJGhlYWRlci1uYXYtaGVpZ2h0LXNtYWxsOiA2MHB4O1xuXG4vLyBDb2xvdXJzXG4kaGVhZGVyLW5hdi1iZy1jb2xvcjogJGJyYW5kLWNvbG9yLS1vbmU7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTWVudSBpdGVtcyBjb21tb24gc3R5bGVzXG4vLyAubWVudV9faXRlbSBjbGFzc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEZvbnRcbiRtZW51LWl0ZW0tZm9udC1mYW1pbHk6ICRmb250LS1zYW5zLXNlcmlmLXR3bztcbiRtZW51LWl0ZW0tZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC0tYm9sZDtcbiRtZW51LWl0ZW0tZm9udC1zdHlsZTogbm9ybWFsO1xuJG1lbnUtcHJpbWFyeS1pdGVtLWZvbnQtc2l6ZTogMzBweDtcbiRtZW51LXByaW1hcnktaXRlbS11cHBlcmNhc2U6IGZhbHNlO1xuJG1lbnUtc3ViLWl0ZW0tZm9udC1zaXplOiAyMnB4O1xuJG1lbnUtc3ViLWl0ZW0tdXBwZXJjYXNlOiBmYWxzZTtcblxuLy8gQ29sb3Vyc1xuJG1lbnUtcHJpbWFyeS1pdGVtLWNvbG9yOiAkaGVhZGluZy1jb2xvci0tZ29sZDtcbiRtZW51LXByaW1hcnktaXRlbS1jb2xvci0taG92ZXI6ICRicmFuZC1jb2xvci0tb25lO1xuJG1lbnUtc3ViLWl0ZW0tY29sb3I6ICRoZWFkaW5nLWNvbG9yLS1nb2xkO1xuJG1lbnUtc3ViLWl0ZW0tY29sb3ItLWhvdmVyOiAkYnJhbmQtY29sb3ItLW9uZTtcbiRtZW51LWl0ZW0tbGluZS1jb2xvcjogI2NjYztcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNZW51IDo6IEhvcml6b250YWxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBDb250YWluZXJcbiRtZW51LWhvcml6b250YWwtY29udGFpbmVyLXdpZHRoOiA2NSU7XG5cbi8vIENvbG91cnNcbiRtZW51LWhvcml6b250YWwtYm9yZGVyLWNvbG9yOiAjZTdlN2U3O1xuJG1lbnUtaG9yaXpvbnRhbC1wcmltYXJ5LWl0ZW0tY29sb3I6IHJnYmEoJHdoaXRlLCAwLjcpO1xuJG1lbnUtaG9yaXpvbnRhbC1wcmltYXJ5LWl0ZW0tY29sb3ItLWhvdmVyOiAkd2hpdGU7XG4kbWVudS1ob3Jpem9udGFsLXN1Yi1pdGVtLWNvbG9yOiAjMDAwO1xuJG1lbnUtaG9yaXpvbnRhbC1zdWItaXRlbS1jb2xvci0taG92ZXI6ICNmZmY7XG4kbWVudS1ob3Jpem9udGFsLXN1Yi1pdGVtLWJnLWNvbG9yLS1ob3ZlcjogIzAwMDtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNZW51IDo6IFNpZGViYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTaWRlYmFyXG4kbWVudS1zaWRlYmFyLXdpZHRoOiAxMDAlO1xuJG1lbnUtc2lkZWJhci13aWR0aC1kZXNrLWJyZWFrcG9pbnQ6IDUwJTtcbiRtZW51LXNpZGViYXItd2lkdGgtbW9iaWxlLWJyZWFrcG9pbnQ6IDEwMCU7XG4kbWVudS1zaWRlYmFyLWJnLWNvbG9yOiB2YXIoLS1zaWRlYmFyLWJnLWNvbG9yKTtcbiRtZW51LXNpZGViYXItc2hhZG93OiAwIDAgOHB4IC0ycHggIzAwMDtcblxuLy8gQ29sb3Vyc1xuJG1lbnUtc2lkZWJhci1wcmltYXJ5LWl0ZW0tY29sb3I6IHZhcigtLXByaW1hcnktbWVudS1pdGVtLWNvbG9yKTtcbiRtZW51LXNpZGViYXItcHJpbWFyeS1pdGVtLWNvbG9yLS1ob3ZlcjogdmFyKC0tcHJpbWFyeS1tZW51LWl0ZW0tY29sb3ItLWhvdmVyKTtcbiRtZW51LXNpZGViYXItc3ViLWl0ZW0tY29sb3I6IHZhcigtLXN1Yi1tZW51LWl0ZW0tY29sb3IpO1xuJG1lbnUtc2lkZWJhci1zdWItaXRlbS1jb2xvci0taG92ZXI6IHZhcigtLXN1Yi1tZW51LWl0ZW0tY29sb3ItLWhvdmVyKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNZW51IDo6IFNlY29uZGFyeSBuYXZcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHNlY29uZGFyeS1uYXYtYmctY29sb3I6ICNmNWYyZWY7XG5cbi8vIFVuZGVyIGJyZWFrcG9pbnRcbiRzZWNvbmRhcnktbmF2LWJyZWFrcG9pbnQtbWVudS1iZy1jb2xvcjogJHNlY29uZGFyeS1uYXYtYmctY29sb3I7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGFibGVzIC0gUmF0aW5nIENlbGxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR0YWJsZS1yYXRlLWEtY29sb3I6ICM4MGI4ODA7XG4kdGFibGUtcmF0ZS1iLWNvbG9yOiAjYjBlYjlhO1xuJHRhYmxlLXJhdGUtYy1jb2xvcjogI2ZmZmRiMjtcbiR0YWJsZS1yYXRlLWQtY29sb3I6ICNmZmM5ODA7XG4kdGFibGUtcmF0ZS1lLWNvbG9yOiAjZjY5MDg1O1xuJHRhYmxlLXJhdGUtcC1jb2xvcjogI2IwYWRlMztcblxuLy8gQmFjayBCdXR0b24gY29sb3Vyc1xuJHNlY29uZGFyeS1uYXYtYmFjay1idG4tY29sb3I6ICR3aGl0ZTtcbiRzZWNvbmRhcnktbmF2LWJhY2stYnRuLWNvbG9yLS1ob3ZlcjogJHdoaXRlO1xuJHNlY29uZGFyeS1uYXYtYmFjay1idG4tYmctY29sb3I6ICM0NDQ7XG4kc2Vjb25kYXJ5LW5hdi1iYWNrLWJ0bi1iZy1jb2xvci0taG92ZXI6IGRhcmtlbigkc2Vjb25kYXJ5LW5hdi1iYWNrLWJ0bi1iZy1jb2xvciwgMTAlKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGFjY29yZGlvbi1oZWFkaW5nLWNvbG9yOiB2YXIoLS1icmFuZC1jb2xvci0tb25lKTtcbiRhY2NvcmRpb24taGVhZGluZy1jb2xvci0taG92ZXI6IGhzbCh2YXIoLS1icmFuZC1jb2xvci0tb25lKSxjYWxjKDEwMCUgLSAxMCUpKTtcbiRhY2NvcmRpb24taWNvbi1jb2xvcjogJGJyYW5kLWNvbG9yLS10d287XG4kYWNjb3JkaW9uLWRpdmlkZXItY29sb3I6ICNjY2M7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2Fyb3VzZWxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICNhYWE7XG4kY2Fyb3VzZWwtZXh0ZW5kZWQtaGVhZGluZy1jb2xvcjogIzAwMDtcbiRjYXJvdXNlbC1leHRlbmRlZC10ZXh0LWNvbG9yOiAjNDQ0O1xuJGNhcm91c2VsLXBhZ2VyLWJvcmRlci1jb2xvcjogIzAwMDtcbiRjYXJvdXNlbC1wYWdlci1maWxsLWNvbG9yOiAjMDAwO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEFuaW1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiRkZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuJGxvbmctdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiRsb25nLXRyYW5zaXRpb24tZHVyYXRpb246IDEuNXM7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRXZlbnRzIGNhcmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGV2ZW50LWNhcmQtdGl0bGUtY29sb3I6IHZhcigtLWJyYW5kLWNvbG9yLS1vbmUpO1xuJGV2ZW50LWNhcmQtZ3JleS1jb2xvcjogIzcxNzE3MTtcbiRldmVudC1jYXJkLWJsYWNrLWNvbG9yOiAjMjMxZjIwO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNsaWRlc2hvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kc2xpZGVzaG93LWZhbGxiYWNrLWhlaWdodDogNzAwcHg7XG4kc2xpZGVzaG93LWJnLWNvbG9yOiAjMjIyO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFBhZ2UgaGVhZGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRwYWdlLWhlYWRlci1iZy1jb2xvcjogIzAwMDtcbiRwYWdlLWhlYWRlci1pbWFnZXM6ICgpO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhvbGUgTmF2aWdhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kaG9sZS1uYXZpZ2F0aW9uLW1vYmlsZS1oZWlnaHQ6IDk0cHg7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmlkZW8gcG9zdGVyIGltYWdlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kdmlkZW8tcG9zdGVyLWltYWdlczogKFxuICAvLydob2xlLTEnLFxuICAvLydob2xlLTInLFxuICAvLydob2xlLTMnLFxuICAvLydob2xlLTQnLFxuICAvLydob2xlLTUnLFxuICAvLydob2xlLTYnLFxuICAvLydob2xlLTcnLFxuICAvLydob2xlLTgnLFxuICAvLydob2xlLTknLFxuICAvLydob2xlLTEwJyxcbiAgLy8naG9sZS0xMScsXG4gIC8vJ2hvbGUtMTInLFxuICAvLydob2xlLTEzJyxcbiAgLy8naG9sZS0xNCcsXG4gIC8vJ2hvbGUtMTUnLFxuICAvLydob2xlLTE2JyxcbiAgLy8naG9sZS0xNycsXG4gIC8vJ2hvbGUtMTgnXG4pOyIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE1JWElOU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy9cbi8vIEdlbmVyYWwgVXRpbGl0aWVzXG4vL1xuXG4vLy8gTWVkaWEgcXVlcnkgbWl4aW5cbi8vL1xuLy8vIE1lZGlhIHF1ZXJpZXMgc2hvdWxkIGJlIGRlZmluZWQgYXMgU2FzcyBsaXN0cyB1c2luZyB0aGUgZm9sbG93aW5nIHN0cnVjdHVyZTpcbi8vL1xuLy8vICAgICAkYnJlYWtwb2ludHM6IChcbi8vLyAgICAgICAgICdtb2JpbGUnICcobWF4LXdpZHRoOiA0ODBweCknLFxuLy8vICAgICAgICAgJ3RhYmxldCcgJyhtaW4td2lkdGg6IDQ4MXB4KSBhbmQgKG1heC13aWR0aDogNzY4cHgpJ1xuLy8vICAgICApO1xuQG1peGluIG1lZGlhLXF1ZXJ5KCRxdWVyaWVzLi4uKSB7XG4gIEBlYWNoICRxdWVyeSBpbiAkcXVlcmllcyB7XG4gICAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgICRuYW1lOiAgICAgICAgbnRoKCRicmVha3BvaW50LCAxKTtcbiAgICAgICRkZWNsYXJhdGlvbjogbnRoKCRicmVha3BvaW50LCAyKTtcblxuICAgICAgQGlmICRxdWVyeSA9PSAkbmFtZSBhbmQgJGRlY2xhcmF0aW9uIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAjeyRkZWNsYXJhdGlvbn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBWZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbCBjZW50ZXJpbmcgYW4gZWxlbWVudCB3aXRob3V0IG5lZWRpbmcgdG8ga25vdyBvciBmaXggaXRzIHdpZHRoICYgaGVpZ2h0XG5AbWl4aW4gYWxpZ24oJHR5cGU6IGNlbnRlciwgJHBvc2l0aW9uOiByZWxhdGl2ZSkge1xuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG4gIEBpZiAkdHlwZSA9PSBjZW50ZXIge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSB2ZXJ0aWNhbCB7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IGhvcml6b250YWwge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuLy8vIERFUFJFQ0FURUQgOjogVXNlIGFsaWduKHZlcnRpY2FsKSBtaXhpbiBpbnN0ZWFkXG5AbWl4aW4gdmVydGljYWwtYWxpZ24ge1xuICBAaW5jbHVkZSBhbGlnbih2ZXJ0aWNhbCk7XG59XG5cbi8vLyBERVBSRUNBVEVEIDo6IFVzZSBhbGlnbihob3Jpem9udGFsKSBtaXhpbiBpbnN0ZWFkXG5AbWl4aW4gaG9yaXpvbnRhbC1hbGlnbiB7XG4gIEBpbmNsdWRlIGFsaWduKGhvcml6b250YWwpO1xufVxuXG4vLy8gREVQUkVDQVRFRCA6OiBVc2UgYWxpZ24oY2VudGVyKSBtaXhpbiBpbnN0ZWFkXG5AbWl4aW4gYWxpZ24tdG8tY2VudGVyIHtcbiAgQGluY2x1ZGUgYWxpZ24oY2VudGVyKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyBhbiBlbGVtZW50IChjcm9zcy1icm93c2VyIGNvbXBhdGlibGUpXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLy8vIEFsbG93cyB0aGUgc2FtZSBzdHlsZXMgdG8gYmUgYXBwbGllZCB0byBtdWx0aXBsZSBzZWxlY3RvcnMgd2l0aG91dFxuLy8vIGNvbW1hLXNlcGFyYXRpbmcgdGhlbS4gVXNlZnVsIGZvciBwcm9wcmlldGFyeS9ub24td2lkZWx5LXN1cHBvcnRlZCBzZWxlY3RvcnNcbi8vLyB3aGljaCBjYW4ndCBiZSBjb21tYS1zZXBhcmF0ZWQuXG5AbWl4aW4gbXVsdGlwbGUtc2VsZWN0b3JzKCRzZWxlY3RvcnMuLi4pIHtcbiAgQGVhY2ggJHNlbGVjdG9yIGluICRzZWxlY3RvcnMge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gR3JhZGllbnRzXG5AbWl4aW4gZ3JhZGllbnQoJHBvc2l0aW9uOiB0b3AsICRoZWlnaHQ6IDE3MHB4LCAkcmdiYTogcmdiYSgwLCAwLCAwLCAwLjI1KSkge1xuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJGhlaWdodDtcblxuICAgIEBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRyZ2JhIDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICB9XG5cbiAgICBAaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAkcmdiYSAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBCYWNrZ3JvdW5kIGNvbG9yIGdyYWRpZW50XG4vL1xuQG1peGluIGJhY2tncm91bmQtY29sb3ItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGZyb20sICR0bykge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gJGRpcmVjdGlvbiwgJGZyb20sICR0byk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRmcm9tO1xufVxuXG4vLy8gUmV0aW5hIGltYWdlIG1peGluXG4vLy8gYWx3YXlzIHBhc3MgdGhlIGRpbWVuc2lvbnMgZm9yIHRoZSBsYXJnZXN0IChyZXRpbmEpIHZlcnNpb24gb2YgdGhlIGltYWdlXG5AbWl4aW4gcmV0aW5hLWJhY2tncm91bmQoJGZpbGVuYW1lLCAkeDEtd2lkdGgsICR4MS1oZWlnaHQsICRleHRlbnNpb246ICdwbmcnKSB7XG5cbiAgJGZpbGVuYW1lLTF4OiAkZmlsZW5hbWUgKyAnQDF4LicgKyAkZXh0ZW5zaW9uO1xuICAkZmlsZW5hbWUtMng6ICRmaWxlbmFtZSArICdAMnguJyArICRleHRlbnNpb247XG5cbiAgLy8gSGFsdmVzIGxhcmdlIGZpbGUgZGltZW5zaW9uc1xuICB3aWR0aDogJHgxLXdpZHRoO1xuICBoZWlnaHQ6ICR4MS1oZWlnaHQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybCgkZmlsZW5hbWUtMXgpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cbiAgQGluY2x1ZGUgbWVkaWEtcXVlcnkoJ3JldGluYScpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoJGZpbGVuYW1lLTJ4KTtcbiAgfVxufVxuXG4vLy8gUmV0aW5hIGltYWdlIG1peGluICh3aXRob3V0IGRpbWVuc2lvbnMpXG5AbWl4aW4gcmV0aW5hLWJhY2tncm91bmQtYmFyZSgkZmlsZW5hbWUsICRleHRlbnNpb246ICdwbmcnKSB7XG4gICRmaWxlbmFtZS0xeDogJGZpbGVuYW1lICsgJ0AxeC4nICsgJGV4dGVuc2lvbjtcbiAgJGZpbGVuYW1lLTJ4OiAkZmlsZW5hbWUgKyAnQDJ4LicgKyAkZXh0ZW5zaW9uO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybCgkZmlsZW5hbWUtMXgpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KCdyZXRpbmEnKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKCRmaWxlbmFtZS0yeCk7XG4gIH1cbn1cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5AbWl4aW4gYmFzZS1mb250LXNpemUge1xuICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRiYXNlLWxpbmUtaGVpZ2h0O1xufVxuXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoKSB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXNlZC10ZXh0IHtcbiAgQGVhY2ggJHByb3BlcnR5IGluICRub3JtYWxpc2VkLXRleHQtcHJvcGVydGllcyB7XG4gICAgJGluZGV4OiBnZXQtbGlzdC1pbmRleCgkcHJvcGVydHksICRub3JtYWxpc2VkLXRleHQtcHJvcGVydGllcyk7XG5cbiAgICAjeyRwcm9wZXJ0eX06IGdldC1saXN0LXZhbHVlKCRpbmRleCwgJG5vcm1hbGlzZWQtdGV4dC12YWx1ZXMpO1xuICB9XG59XG5cbi8vLyBPdXRwdXRzIGEgcmVtIGFuZCBweCBmYWxsYmFjayB2YWx1ZSBmb3IgdGhlIGdpdmVuIHByb3BlcnR5LlxuLy8vIEBhdXRob3IgU2FtIEhhc3RpbmdzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eSAtIHRoZSBDU1MgcHJvcGVydHlcbi8vLyBAcGFyYW0ge0xpc3R8TnVtYmVyfFN0cmluZ30gJHZhbHVlc1xuLy8vIEBleGFtcGxlXG4vLy8gICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCAxMnB4KTtcbi8vLyAgIC8vIGZvbnQtc2l6ZTogMTJweDtcbi8vLyAgIC8vIGZvbnQtc2l6ZTogMC43NXJlbTtcbi8vL1xuLy8vICAgQGluY2x1ZGUgcmVtKHBhZGRpbmcsIDE2cHggMTJweCk7XG4vLy8gICAvLyBwYWRkaW5nOiAxNnB4IDEycHg7XG4vLy8gICAvLyBwYWRkaW5nOiAxcmVtIDAuNzVyZW07XG5AbWl4aW4gcmVtKCRwcm9wZXJ0eSwgJHZhbHVlcykge1xuXG4gICRweDogICgpO1xuICAkcmVtOiAoKTtcblxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmICR2YWx1ZSA9PSAwIG9yICR2YWx1ZSA9PSBhdXRvIG9yICR2YWx1ZSA9PSBpbmhlcml0IHtcbiAgICAgICRweDogIGFwcGVuZCgkcHgsICR2YWx1ZSk7XG4gICAgICAkcmVtOiBhcHBlbmQoJHJlbSwgJHZhbHVlKTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkcHg6ICBhcHBlbmQoJHB4LCAkdmFsdWUpO1xuICAgICAgJHJlbTogYXBwZW5kKCRyZW0sIHJlbShzdHJpcC11bml0KCR2YWx1ZSkpKTtcbiAgICB9XG4gIH1cblxuICAjeyRwcm9wZXJ0eX06ICRweDtcbiAgI3skcHJvcGVydHl9OiAkcmVtO1xufVxuXG4vLy8gT3V0cHV0cyBhIGBmb250LXNpemU6IFt4XXJlbTtgIGRlY2xhcmF0aW9uIGZvciB0aGUgZ2l2ZW4gcHggdmFsdWUuXG4vLy8gQGF1dGhvciBTYW0gSGFzdGluZ3Ncbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSAtIHRoZSBweCB2YWx1ZSB0byBjb252ZXJ0XG5AbWl4aW4gcmVtLWZvbnQtc2l6ZSgkZm9udC1zaXplKSB7XG4gIEBpbmNsdWRlIHJlbShmb250LXNpemUsICRmb250LXNpemUpO1xufVxuXG4vLyBBbGwgQ2Fwc1xuLy8gTWFrZXMgdGV4dCB1cHBlcmNhc2UgYW5kIGFkanVzdHMgbGV0dGVyLXNwYWNpbmcgYWNjb3JkaW5nIHRvIGZvbnQtc2l6ZVxuLy8gMTYgKiAwLjA2MjUgPSAxcHhcbkBtaXhpbiBhbGwtY2FwcygkZm9udC1zaXplKSB7XG4gICRmb250LXNpemU6IHN0cmlwLXVuaXQoJGZvbnQtc2l6ZSk7IC8vIHJlbW92ZXMgJ3B4J1xuXG4gIGxldHRlci1zcGFjaW5nOiBjYWxjKCgoJGZvbnQtc2l6ZSAvIDE2KSAqIDAuMDYyNSkgLyAyKSArIGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLy8gSGlkZSB0ZXh0XG5AbWl4aW4gaGlkZS10ZXh0KCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LWluZGVudDogMTAwJTtcbn1cblxuLy8gSGVhZGluZyBMaW5lXG4vLyBDcmVhdGVzIGxpbmVzIGFib3ZlIG9yIGJlbGxvdyBhIGhlYWRpbmcgd2l0aCBjdXN0b20gcG9zaXRpb24sIGNvbG91ciwgc2l6ZSwgZXRjLi4uXG5AbWl4aW4gaGVhZGluZy1saW5lKCRwb3NpdGlvbjogdG9wLCAkYWxpZ246IGxlZnQsICR3aWR0aDogMTAwJSwgJGhlaWdodDogMXB4LCAkY29sb3I6ICNkMWQxZDEsICR2ZXJ0aWNhbC1tYXJnaW46IDEzcHgpIHtcbiAgQGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICR2ZXJ0aWNhbC1tYXJnaW47XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkYWxpZ24gPT0gY2VudGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDZW50cmVzIGxpbmVcbiAgICAmW3N0eWxlPSd0ZXh0LWFsaWduOiBjZW50ZXI7J10ge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAkdmVydGljYWwtbWFyZ2luO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGFsaWduID09IGNlbnRlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2VudHJlcyBsaW5lXG4gICAgJltzdHlsZT0ndGV4dC1hbGlnbjogY2VudGVyOyddIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vICdMaW5lLW9uLXNpZGVzJyBzdHlsaW5nXG4vLy8gRGVmaW5lIGxpbmUgd2lkdGgsIGxpbmUgY29sb3IgYW5kIHZlcnRpY2FsIG1hcmdpblxuQG1peGluIGhlYWRpbmctc2lkZS1saW5lcygkbGluZS13aWR0aDogNTBweCwgJGJvcmRlci1jb2xvcjogI2QxZDFkMSwgJG1hcmdpbjogNDUlKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkbWFyZ2luO1xuICAgIHdpZHRoOiAkbGluZS13aWR0aDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KG1vYmlsZSkge1xuICAgICAgd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tbGVmdDogLSgkbGluZS13aWR0aCArIDIwKTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgfVxufVxuXG4vLy8gVGV4dCBwbGFjZWhvbGRlciBzdHlsaW5nIGZvciA8aW5wdXQ+IGZpZWxkc1xuQG1peGluIHBsYWNlaG9sZGVyLXN0eWxlKCkge1xuICBAaW5jbHVkZSBtdWx0aXBsZS1zZWxlY3RvcnMoJyY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXInLCAnJjotbW96LXBsYWNlaG9sZGVyJywgJyY6Oi1tb3otcGxhY2Vob2xkZXInLCAnJjotbXMtaW5wdXQtcGxhY2Vob2xkZXInKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFRleHQgc2VsZWN0aW9uIGhpZ2hsaWdodFxuQG1peGluIGhpZ2hsaWdodC1zdHlsZSgpIHtcbiAgQGluY2x1ZGUgbXVsdGlwbGUtc2VsZWN0b3JzKCc6OnNlbGVjdGlvbicsICc6Oi1tb3otc2VsZWN0aW9uJykge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEFkZCBmYW5jeSB1bmRlcmxpbmVcbkBtaXhpbiBmYW5jeS11bmRlcmxpbmUoJHVuZGVybGluZS1jb2xvcjogJGxpbmstY29sb3ItdW5kZXJsaW5lLCAkdW5kZXJsaW5lLWNvbG9yLWhvdmVyOiAkbGluay1jb2xvci11bmRlcmxpbmUtLWhvdmVyKSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCB0cmFuc3BhcmVudCAxMCUsICR1bmRlcmxpbmUtY29sb3IgMTAlLCAkdW5kZXJsaW5lLWNvbG9yIDE0JSwgdHJhbnNwYXJlbnQgMTAlKTtcblxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgdHJhbnNwYXJlbnQgMTAlLCAkdW5kZXJsaW5lLWNvbG9yLWhvdmVyIDEwJSwgJHVuZGVybGluZS1jb2xvci1ob3ZlciAxNCUsIHRyYW5zcGFyZW50IDEwJSk7XG4gIH1cbn1cblxuLy8gQWRkcyAuLi4gdG8gdGhlIGVuZCBvZiB0ZXh0XG5AbWl4aW4gdHJ1bmNhdGUoJHdpZHRoKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vLyBNYWtlcyBhbiBlbGVtZW50ICh1c3VhbGx5IGEgbGluayBvciBidXR0b24pIGJlY29tZSBhbiBpbnZpc2libGUgb3ZlcmxheSBvbiB0b3Agb2YgYW4gYXJlYSB0aGF0IHNob3VsZCBiZVxuLy8gY2xpY2thYmxlLiBUbyB1c2Ugd2hlbiB5b3Ugd2FudCB0aGUgY2xpY2thYmxlIGFyZWEgaGFzIGxvYWRzIG9mIGh0bWwgbmVzdGVkIChpLmUuIGNhcm91c2VsIGZlYXR1cmV0dGVzKVxuLy9cbi8vIEluY2x1ZGVzIGZpeCBmb3IgaWUvZWRnZSBicm93c2VycyB3aGVyZSBlbXB0eSBlbGVtZW50cyB3aWxsIGlnbm9yZSBzaXplIHByb3BlcnRpZXMgKGVtcHR5LmdpZiBhcyBiYWNrZ3JvdW5kKVxuQG1peGluIHRyYW5zcGFyZW50LWxpbmstb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybCgnZW1wdHkuZ2lmJyk7XG59XG5cbi8vIEdlbmVyYXRlcyB0cmlhbmdsZXMgaW4gYW55IGRpcmVjdGlvblxuLy8gWW91IGNhbiBzZXQgc2l6ZSBhbmQgY29sb3VyXG4vL1xuQG1peGluIGdlbmVyYXRlLXRyaWFuZ2xlKCRkaXJlY3Rpb246IHRvcCwgJGJvdHRvbS1zaXplOiAxMHB4LCAkdG9wLXNpemU6IDEwcHgsICRjb2xvcjogI2ZmZikge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIEBpZiAkZGlyZWN0aW9uID09IHRvcCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRvcC1zaXplIHNvbGlkICRjb2xvcjtcbiAgICBib3JkZXItbGVmdDogJGJvdHRvbS1zaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogJGJvdHRvbS1zaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5cbiAgQGlmICRkaXJlY3Rpb24gPT0gYm90dG9tIHtcbiAgICBib3JkZXItdG9wOiAkdG9wLXNpemUgc29saWQgJGNvbG9yO1xuICAgIGJvcmRlci1sZWZ0OiAkYm90dG9tLXNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAkYm90dG9tLXNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cblxuICBAaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICBib3JkZXItdG9wOiAkYm90dG9tLXNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvdHRvbS1zaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogJHRvcC1zaXplIHNvbGlkICRjb2xvcjtcbiAgfVxuXG4gIEBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICBib3JkZXItdG9wOiAkYm90dG9tLXNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvdHRvbS1zaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiAkdG9wLXNpemUgc29saWQgJGNvbG9yO1xuICB9XG59XG5cbi8vIFRlc3RpbW9uaWFsIHF1b3RlIGFuaW1hdGlvbiAoZmFkZSBhbmQgc2xpZGUpXG5AbWl4aW4gdGVzdGltb25pYWwtdGV4dC1hbmltYXRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTVweDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogdG9wIDYwMG1zLCBvcGFjaXR5IDQwMG1zO1xuXG4gICYuYW5pbWF0ZS1xdW90ZSB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLy9cbi8vIEFkZHMgYSBjaXJjbGUgd3JhcHBlciBhcm91bmQgaWNvbnNcbi8vIFNvbWUgdmFyaWF0aW9ucyBhcmUgcG9zc2libGUgbGlrZSBiYWNrZ3JvdW5kIG9yIGJvcmRlciBvbmx5IGlmIGNvbG91ciBwcm9wZXJ0aWVzIGFyZSBzZXQgYXMgdHJhbnNwYXJlbnQuXG4vL1xuLy8gTWl4aW4gc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBpY29uJ3MgcGFyZW50LCBpbiB0aGUgY2FzZSBiZWxvdyAnLnNpdGUtZm9vdGVyX19zb2NpYWwtbGluaycuXG4vLyBOb3RlOiBJY29ucyB3aWR0aCBhbmQgaGVpZ2h0IG5lZWRzIHRvIGJlIHR3ZWFrZWQgYWNjb3JkaW5nbHlcbi8vXG4vLyBFeGFtcGxlczpcbi8vIC0gQm9yZGVyIG9ubHk6IEBpbmNsdWRlIGljb24tY2lyY2xlLXdyYXBwZXIoNTBweCwgdHJhbnNwYXJlbnQsIDJweCk7XG4vLyAtIEJhY2tncm91bmQgb25seTogQGluY2x1ZGUgaWNvbi1jaXJjbGUtd3JhcHBlcig1MHB4LCAjY2NjKTtcbi8vXG4vLyAgPGEgY2xhc3M9XCJzaXRlLWZvb3Rlcl9fc29jaWFsLWxpbmtcIiBocmVmPVwiI1wiPlxuLy8gICAgPD89IGdldFN2ZygndHdpdHRlcicpID8+XG4vLyAgPC9hPlxuLy9cbkBtaXhpbiBpY29uLWNpcmNsZS13cmFwcGVyKCRjaXJjbGUtd2lkdGg6IDQ0cHgsICRiZy1jb2xvcjogIzAwMCwgJGJvcmRlci13aWR0aDogMCwgJGJvcmRlci1jb2xvcjogI2NjYykge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6ICRjaXJjbGUtd2lkdGg7XG4gIGhlaWdodDogJGNpcmNsZS13aWR0aDtcbiAgYm9yZGVyLXdpZHRoOiAkYm9yZGVyLXdpZHRoO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbG9yO1xuXG4gIC5pY29uIHtcbiAgICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIH1cbn1cblxuLy9cbi8vIE1peGluIHRoYXQgaG9sZHMgY29tbW9uIHN0eWxlcyBmb3IgbW9iaWxlICYgd2hlbiBzY3JvbGxpbmdcbi8vXG5AbWl4aW4gc21hbGxlci1uYXYtbWVudS1zdHlsZSgpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlYWRlci1uYXYtaGVpZ2h0LXNtYWxsO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLW5hdi1iZy1jb2xvcjtcblxuICAuaGVhZGVyLW5hdl9fbG9nbyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5oZWFkZXItbmF2X19sb2dvLXRleHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC5idG4tLW1lbnUge1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAudXRpbGl0eS1uYXYge1xuICAgIGxlZnQ6IDE2MHB4O1xuICAgIHJpZ2h0OiAwO1xuICB9XG5cbiAgLy8gR3JhZGllbnRcbiAgJi5zaGFkb3cge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSBzbWFsbCA8dGg+IHN0eWxlXG5AbWl4aW4gdGFibGUtdGgtc21hbGwge1xuICBAaW5jbHVkZSByZW0tZm9udC1zaXplKDE1cHgpO1xuICBAaW5jbHVkZSBhbGwtY2FwcygxNXB4KTtcblxuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U0ZTRlNDtcbiAgcGFkZGluZy10b3A6IDVweDtcbiAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLy8gR2VuZXJhdGUgc3RhdGljIG5hdmlnYXRpb24gbGlzdCAodXNlZCBmb3IgbGV0dGVycyBpbiBNZW1iZXJzIERpcmVjdG9yeSBhbmQgZm9yIG1vbnRocyBpbiBEaWFyeSlcbkBtaXhpbiBzdGF0aWMtbmF2LWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDdkN2Q3O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q3ZDdkNztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgbGkge1xuICAgIGEge1xuICAgICAgQGluY2x1ZGUgcmVtLWZvbnQtc2l6ZSgxN3B4KTtcbiAgICAgIEBpbmNsdWRlIGFsbC1jYXBzKDE3cHgpO1xuXG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAkYnJhbmQtY29sb3ItLXR3bztcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICYuc3RhdGljLW5hdi1pdGVtLS1hY3RpdmUge1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkYnJhbmQtY29sb3ItLXR3bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLWNvbG9yLS1vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBBZGRzIHNoYWRvdyB0byBib3R0b20gbGVmdCBjb3JuZXIgb2YgYW4gZWxlbWVudFxuLy9cbkBtaXhpbiBjb3JuZXItc2hhZG93KCRjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpKSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyMGRlZywgJGNvbG9yIDIwJSwgdHJhbnNwYXJlbnQgNTIlKTtcbn1cblxuLy9cbi8vIEFkZHMgcmFkaWFsIHNoYWRvdyB0byBib3R0b20gbGVmdCBjb3JuZXIgb2YgYW4gZWxlbWVudFxuLy9cbkBtaXhpbiByYWRpYWwtY29ybmVyLXNoYWRvdygkY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KSwgJHdpZHRoOiA1MDBweCwgJGhlaWdodDogNTAwcHgpIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KCRjb2xvciAwJSwgdHJhbnNwYXJlbnQgNzAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNDUlLCA0NSUpO1xuICB9XG59XG5cbi8vXG4vLyBTbGlkZXNob3cgLyBwYWdlIGhlYWRlciBjb250ZW50IHN0eWxlXG4vL1xuQG1peGluIHNsaWRlLWNvbnRlbnQtc3R5bGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6ICR6LWluZGV4LS1zbGlkZXNob3c7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDUwJTtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiB2YXIoLS12ZXJ0aWNhbC1ndXR0ZXItdG9wKSB2YXIoLS1oZXJvLWhvcml6b250YWwtZ3V0dGVyLXJpZ2h0KSB2YXIoLS12ZXJ0aWNhbC1ndXR0ZXItYm90dG9tKSB2YXIoLS1oZXJvLWhvcml6b250YWwtZ3V0dGVyLWxlZnQpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6IDAuNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWlubGluZTogMDtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LS1yZWd1bGFyO1xuXG4gICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC0tc2Fucy1zZXJpZi10d287XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LS1ib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuXG5cbiAgICAmLmJpZy10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIGZsdWlkLXR5cGUoZm9udC1zaXplLCA3NjhweCwgMTAyNHB4LCA0OHB4LCA3NXB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICBoMSxcbiAgaDIge1xuICAgIEBpbmNsdWRlIGZsdWlkLXR5cGUoZm9udC1zaXplLCA2MGVtLCAxMTNlbSwgMS44ZW0sIDMuNWVtKTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICB9XG5cbiAgaDMge1xuICAgIEBpbmNsdWRlIGZsdWlkLXR5cGUoZm9udC1zaXplLCA0NWVtLCA5NWVtLCAxLjRlbSwgMi42ZW0pO1xuICB9XG4gIFxuICBoNCB7XG4gICAgQGluY2x1ZGUgZmx1aWQtdHlwZShmb250LXNpemUsIDQ1ZW0sIDk1ZW0sIDEuMmVtLCAxLjllbSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgfVxuXG4gIGg1LFxuICBoNiB7XG4gICAgQGluY2x1ZGUgcmVtLWZvbnQtc2l6ZSgyMHB4KTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LS1ib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCIvL1wiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgICsgaDEsXG4gICAgKyBoMixcbiAgICArIGgzLFxuICAgICsgaDQge1xuICAgICAgbWFyZ2luLXRvcDogMC4zZW07XG4gICAgfVxuICB9XG5cbiAgLmJ0biB7XG4gICAgbWFyZ2luLXRvcDogLjVlbTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LS1ib2xkO1xuICB9XG5cbiAgcCxcbiAgZGl2IHtcbiAgICAvLyBAaW5jbHVkZSByZW0tZm9udC1zaXplKDI0cHgpO1xuICAgIEBpbmNsdWRlIGZsdWlkLXR5cGUoZm9udC1zaXplLCA3NjhweCwgMTAyNHB4LCAxOHB4LCAyMHB4KTtcbiAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC0tc2Fucy1zZXJpZi10d287XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC0tbWVkaXVtO1xuICAgIGIsIFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LS1ib2xkO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5KHdpZGUpIHsgLy8gMTQ0MHB4XG4gICAgbWF4LXdpZHRoOiA2MCU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1xdWVyeShiaWctZGVzaykgeyAvLyAxMjgwcHhcbiAgICBtYXgtd2lkdGg6IDc1MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtcXVlcnkoZGVzaykgeyAvLyAxMDI0cHhcbiAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtcXVlcnkobW9iaWxlKSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGJhbm5lci1jb250ZW50IHtcbiAgPiAqICsgKiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICBtYXJnaW4taW5saW5lOiAwO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC0tYm9sZDtcbiAgfVxuXG4gID4gKjpub3QoLmJhbm5lci1vdmVybGF5KSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuXG4gIC8vIGgxLFxuICAvLyBoMixcbiAgLy8gaDMsXG4gIC8vIGg0IHtcbiAgLy8gICBmb250LWZhbWlseTogJGZvbnQtLXNhbnMtc2VyaWYtdHdvO1xuICAvLyAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIC8vICAgbWFyZ2luLXRvcDogMDtcbiAgLy8gICBtYXJnaW4tYm90dG9tOiAwLjU1ZW07XG4gIC8vICAgJjpsYXN0LWNoaWxkIHtcbiAgLy8gICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgaDEsXG4gIGgyIHtcblxuICAgIHRleHQtd3JhcDogYmFsYW5jZTtcblxuICAgIC5iZy1jb2xvci0tb25lICYge1xuICAgICAgY29sb3I6IHZhcigtLWJyYW5kLWNvbG9yLS10d28pO1xuICAgIH1cblxuICAgIC5iZy1jb2xvci0tdHdvICYge1xuICAgICAgY29sb3I6IHZhcigtLWJyYW5kLWNvbG9yLS1vbmUpO1xuICAgIH1cbiAgfVxuXG4gIGg1IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgLy8gaDMsXG4gIC8vIGg0IHtcbiAgLy8gICBAaW5jbHVkZSByZW0tZm9udC1zaXplKDMwcHgpO1xuICAvLyB9XG5cbiAgLy8gaDUge1xuICAvLyAgIEBpbmNsdWRlIHJlbS1mb250LXNpemUoMThweCk7XG4gIC8vICAgQGluY2x1ZGUgYWxsLWNhcHMoMThweCk7XG4gIC8vICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC0tbWVkaXVtO1xuICAvLyB9XG5cbiAgLy8gaDYge1xuICAvLyAgIEBpbmNsdWRlIHJlbS1mb250LXNpemUoMThweCk7XG4gIC8vIH1cblxuICAuYnRuIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC0tYm9sZDtcbiAgfVxuXG4gIHAsXG4gIGRpdiB7XG4gICAgQGluY2x1ZGUgcmVtLWZvbnQtc2l6ZSgyMHB4KTtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtLXNhbnMtc2VyaWYtdHdvO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtLW1lZGl1bTtcbiAgICBiLCBcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC0tYm9sZDtcbiAgICB9XG4gIH1cbn1cblxuLy9cbi8vIFF1b3RlcyBhbmQgY2l0ZXMgc3R5bGVzXG4vL1xuQG1peGluIHF1b3RlLXRleHQtc3R5bGUoJGZvbnQtc2l6ZTogc21hbGwpIHtcbiAgY29sb3I6ICRicmFuZC1jb2xvci0tb25lO1xuXG4gIEBpZiAkZm9udC1zaXplID09IGJpZyB7XG4gICAgQGluY2x1ZGUgcmVtLWZvbnQtc2l6ZSgzMnB4KTtcblxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC0tc2Fucy1zZXJpZi10d287XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC0tYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnkobW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSByZW0tZm9udC1zaXplKDI4cHgpO1xuXG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZm9udC1zaXplID09IHNtYWxsIHtcbiAgICBAaW5jbHVkZSByZW0tZm9udC1zaXplKDI2cHgpO1xuXG4gICAgZm9udC1mYW1pbHk6ICRmb250LS1zYW5zLXNlcmlmLXR3bztcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LS1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnkobW9iaWxlKSB7XG5cbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBjaXRlLXRleHQtc3R5bGUge1xuICBAaW5jbHVkZSByZW0tZm9udC1zaXplKDIwcHgpO1xuXG4gIGZvbnQtZmFtaWx5OiAkZm9udC0tc2Fucy1zZXJpZi10d287XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtLWJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGJyYW5kLWNvbG9yLS10d287XG59XG5cbi8vIEZsdWlkIHR5cG9ncmFwaHkvbWFyZ2luL3BhZGRpbmcgbWl4aW5cbi8vXG4vLyBVc2FnZTogQGluY2x1ZGUgZmx1aWQtdHlwZShmb250LXNpemUsIDM3NXB4LCAxMDI0cHgsIDQycHgsIDcwcHgpO1xuLy8gICAgICAgIEBpbmNsdWRlIGZsdWlkLXR5cGUobWFyZ2luLCAzNzVweCwgMTAyNHB4LCAyMHB4LCA0MHB4KTtcblxuQG1peGluIGZsdWlkLXR5cGUoJHByb3BlcnRpZXMsICRtaW4tdncsICRtYXgtdncsICRtaW4tdmFsdWUsICRtYXgtdmFsdWUpIHtcbiAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAjeyRwcm9wZXJ0eX06ICRtaW4tdmFsdWU7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbi12dykge1xuICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAjeyRwcm9wZXJ0eX06IGNhbGMoI3skbWluLXZhbHVlfSArICN7c3RyaXAtdW5pdCgkbWF4LXZhbHVlIC0gJG1pbi12YWx1ZSl9ICogKDEwMHZ3IC0gI3skbWluLXZ3fSkgLyAje3N0cmlwLXVuaXQoJG1heC12dyAtICRtaW4tdncpfSk7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtYXgtdncpIHtcbiAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgI3skcHJvcGVydHl9OiAkbWF4LXZhbHVlO1xuICAgIH1cbiAgfVxufVxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkdmFsdWUpIHtcbiAgQHJldHVybiBtYXRoLmRpdigkdmFsdWUsICR2YWx1ZSAqIDAgKyAxKTtcbn1cblxuQG1peGluIGNhbGN1bGF0ZS13cmFwcGVyLXdpZHRoKCRtYXgtd2lkdGgsICRwYWRkaW5nLWlubGluZSkge1xuICBtYXgtd2lkdGg6IGNhbGMoI3skbWF4LXdpZHRofSArIGNhbGMoI3skcGFkZGluZy1pbmxpbmV9ICogMikpO1xufVxuXG4vLyBSYXRpbmcgY2VsbHNcbkBtaXhpbiB0YWJsZS1jZWxscy1yYXRpbmctY29sb3VycyB7XG4gICR0YWJsZS1yYXRlLWNvbG9yczogKFxuICAgIGE6ICR0YWJsZS1yYXRlLWEtY29sb3IsXG4gICAgYjogJHRhYmxlLXJhdGUtYi1jb2xvcixcbiAgICBjOiAkdGFibGUtcmF0ZS1jLWNvbG9yLFxuICAgIGQ6ICR0YWJsZS1yYXRlLWQtY29sb3IsXG4gICAgZTogJHRhYmxlLXJhdGUtZS1jb2xvcixcbiAgICBwOiAkdGFibGUtcmF0ZS1wLWNvbG9yLFxuICApO1xuXG4gIEBlYWNoICRyYXRlLCAkY29sb3IgaW4gJHRhYmxlLXJhdGUtY29sb3JzIHtcbiAgICAmLnJhdGUtI3skcmF0ZX0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAvLyBDZW50cmVzIGxpbmVcbiAgICAgICZbc3R5bGU9J3RleHQtYWxpZ246IGNlbnRlcjsnXSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2tldyBhbmdsZSBtaXhpblxuXG5AbWl4aW4gYW5nbGUoJHBzZXVkbywgJGZsaXA6IGZhbHNlLCAkYW5nbGU6IDcwZGVnKSB7XG4gIC8vIFBvc3NpYmxlIHZhbHVlcyBmb3IgJHBzZXVkbyBhcmU6IGJlZm9yZSwgYWZ0ZXIsIGJvdGhcbiAgQGlmICRwc2V1ZG8gPT0gJ2JlZm9yZScgb3IgJHBzZXVkbyA9PSAnYWZ0ZXInIG9yICRwc2V1ZG8gPT0gJ2JvdGgnIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICAkc2VsZWN0b3I6IGlmKCRwc2V1ZG8gPT0gJ2JvdGgnLCAnJjpiZWZvcmUsJjphZnRlcicsICcmOiN7JHBzZXVkb30nKTtcblxuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogLTFweDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNTAlO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8vIGZvciBDaHJvbWUgV2luZG93c1xuICAgIH1cblxuICAgIEBpZiAkcHNldWRvID09ICdiZWZvcmUnIHtcbiAgICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgICBAaWYgJGZsaXAge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2tld1koJGFuZ2xlICogLTEpO1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdZKCRhbmdsZSk7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRwc2V1ZG8gPT0gJ2FmdGVyJyB7XG4gICAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgQGlmICRmbGlwIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdZKCRhbmdsZSk7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2tld1koJGFuZ2xlICogLTEpO1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBzZXVkbyA9PSAnYm90aCcge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgIEBpZiAkZmxpcCB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBza2V3WSgkYW5nbGUgKiAtMSk7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2tld1koJGFuZ2xlKTtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgQGlmICRmbGlwIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdZKCRhbmdsZSk7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2tld1koJGFuZ2xlICogLTEpO1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZpbGwtcGFyZW50LXNwYWNlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbkBtaXhpbiBsaW5lLWNsYW1wKCRsaW5lcykge1xuICAtbXMtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtbXMtbGluZS1jbGFtcDogJGxpbmVzO1xuICAtd2Via2l0LWxpbmUtY2xhbXA6ICRsaW5lcztcbiAgbGluZS1jbGFtcDogJGxpbmVzO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICBib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbn0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSE9NRSBQQUdFXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW1wb3J0IFwiLi4vbGliL3NldHRpbmdzXCI7XG5AaW1wb3J0IFwiLi4vbGliL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4uL2xpYi9taXhpbnNcIjtcblxuLmJvZHktLWhvbWUge1xuXG4gIC8vXG4gIC8vIE1lbnUgaGVhZGVyXG4gIC8vXG4gIC5oZWFkZXItbmF2LS1taW5pbWFsIHtcblxuICAgIC8vXG4gICAgLy8gUHJldmVudHMgbW9iaWxlIG1lbnUgc3R5bGUgY2hhbmdlIHdoZW4gbm90IHNjcm9sbGluZ1xuICAgIC8vIG92ZXJyaWRpbmcgY2hhbmdlcyBkb25lIGJ5IHNtYWxsZXItbmF2LW1lbnUtc3R5bGUoKVxuICAgIC8vXG4gICAgJjpub3QoLmhlYWRlci1uYXYtLXNjcm9sbCkge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnkobGFwdG9wKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLW5hdi1oZWlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgIC8vIEdyYWRpZW50XG4gICAgICAgICYuc2hhZG93IHtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlci1uYXZfX2xvZ28ge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXItbmF2X19sb2dvLXRleHQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvL1xuICAvLyBTbGlkZXNob3cgKEF1dG9wbGF5IFZpZGVvKVxuICAvL1xuICAuc2xpZGVzaG93LS12aWRlbyB7XG4gICAgLnNsaWRlc2hvd19fY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIFJlaW5zdGF0ZXMgY29udHJvbHMgYW5kIGhpZGVzIHZpZGVvIGZhbGxiYWNrIGJ1dHRvbiAob3B0aW9uYWwpXG4gICAgJi52aWRlby1ub3Qtc3VwcG9ydGVkIHtcbiAgICAgIC5zbGlkZXNob3dfX2NvbnRyb2wge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgLmJ0bi12aWRlby1mYWxsYmFjayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=*/