/****************
 * Fonts
 ****************/
/****************
 * Paints
 ****************/
/****************
 * Effects
 ****************/
/****************
 * Grid Settings
 ****************/
#jquery-live-search {
  width: 100vw !important;
  margin-top: -0.375rem;
}

/****************
 * Fonts
 ****************/
/****************
 * Paints
 ****************/
/****************
 * Effects
 ****************/
/****************
 * Grid Settings
 ****************/
#jquery-live-search {
  width: 100vw !important;
  margin-top: -0.375rem;
}

.block-tabs {
  padding: clamp(4rem, -0.785046729rem + 9.968847352vw, 8rem) 0;
  overflow: hidden;
}
.block-tabs h1, .block-tabs .h1, .block-tabs h2, .block-tabs .h2, .block-tabs h3, .block-tabs .h3, .block-tabs h4, .block-tabs .h4, .block-tabs h5, .block-tabs .h5, .block-tabs h6, .block-tabs .h6 {
  text-align: center;
}
.block-tabs .overline {
  margin-bottom: clamp(0.375rem, -0.0735981308rem + 0.9345794393vw, 0.75rem);
}
.block-tabs .c-btn-wrapper {
  margin-top: 2rem;
}
@media (min-width: 62rem) {
  .block-tabs .c-btn-wrapper {
    margin-top: 0.5rem;
  }
}
.block-tabs .c-btn {
  padding: 0.4375rem 0.9375rem;
}
.block-tabs--cloud-sand {
  background-color: #b7b3a4;
}
.block-tabs--cloud-sand .tabs__tab-content .row {
  background-color: #f6f5ef;
}
.block-tabs--cloud-sand .tabs__link-list {
  background-color: #b7b3a4;
}
.block-tabs--cloud-sand .tabs__link-list::-webkit-scrollbar-track {
  background: #b7b3a4;
}
.block-tabs--cloud-sand .tabs__link-list::-webkit-scrollbar-thumb {
  background: #f6f5ef;
}
@media (min-width: 48rem) {
  .block-tabs--cloud-sand .tabs__link-list {
    background-color: transparent;
  }
}
.block-tabs--cloud-sand .tab-head-wrap.has-scroll::after {
  background-image: linear-gradient(270deg, #b7b3a4 0%, rgba(183, 179, 164, 0) 100%);
}
.block-tabs--midnight-sky {
  background-color: #aab3cb;
}
.block-tabs--midnight-sky .tabs__tab-content .row {
  background-color: #353c52;
  color: #fff;
}
.block-tabs--midnight-sky .tabs__tab-icon-link {
  border-color: #fff;
}
.block-tabs--midnight-sky .tabs__tab-icon-link [class^=icon-]::before {
  color: #fff;
}
.block-tabs--midnight-sky .tabs__tab-side-link {
  color: #fff; /* stylelint-disable-line color-named */
}
.block-tabs--midnight-sky .tabs__tab-side-link + .tabs__tab-side-link {
  border-color: rgba(255, 255, 255, 0.5);
}
.block-tabs--midnight-sky .tabs__tab-side-link i {
  color: #000;
  background-color: #fff; /* stylelint-disable-line color-named */
}
.block-tabs--midnight-sky .tabs__link-list {
  background-color: #aab3cb;
}
.block-tabs--midnight-sky .tabs__link-list::-webkit-scrollbar-track {
  background: #aab3cb;
}
.block-tabs--midnight-sky .tabs__link-list::-webkit-scrollbar-thumb {
  background: #353c52;
}
@media (min-width: 48rem) {
  .block-tabs--midnight-sky .tabs__link-list {
    background-color: transparent;
  }
}
.block-tabs--midnight-sky .tab-head-wrap.has-scroll::after {
  background-image: linear-gradient(270deg, #aab3cb 0%, rgba(170, 179, 203, 0) 100%);
}
.block-tabs--sky-midnight {
  background-color: #353c52;
  color: #fff;
}
.block-tabs--sky-midnight .tabs__link-list-toggle {
  border-color: #fff;
  color: #fff;
}
.block-tabs--sky-midnight .tabs__link a {
  color: #fff;
}
.block-tabs--sky-midnight .tabs__tab-content .row {
  color: #000;
  background-color: #aab3cb;
}
.block-tabs--sky-midnight .tabs__tab-side-link i {
  background-color: #fff; /* stylelint-disable-line color-named */
}
.block-tabs--sky-midnight .tabs__link-list {
  background-color: #353c52;
}
.block-tabs--sky-midnight .tabs__link-list::-webkit-scrollbar-track {
  background: #353c52;
}
.block-tabs--sky-midnight .tabs__link-list::-webkit-scrollbar-thumb {
  background: #aab3cb;
}
@media (min-width: 48rem) {
  .block-tabs--sky-midnight .tabs__link-list {
    background-color: transparent;
  }
}

.tab-head-wrap {
  position: relative;
}
@media (max-width: 47.98rem) {
  .tab-head-wrap {
    margin: 0 -1.25rem;
  }
  .tab-head-wrap .tab-head {
    position: relative;
  }
  .tab-head-wrap .tab-head::before, .tab-head-wrap .tab-head::after {
    content: "";
    display: table;
  }
  .tab-head-wrap .tab-head::after {
    clear: both;
  }
}
.tab-head-wrap.has-scroll::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  width: 4.375rem;
  height: calc(100% - 0.5rem);
  content: "";
  background-image: linear-gradient(270deg, #f5f6f7 0%, rgba(245, 246, 247, 0) 100%);
}

.tabs__link-list-wrapper {
  margin-top: 1.5rem;
  position: relative;
}
@media (min-width: 48rem) {
  .tabs__link-list-wrapper {
    margin: 3rem 0 0;
  }
}
.tabs__link-list-wrapper.has-scroll::before {
  display: block;
}
.tabs__link-list-toggle {
  font-size: 0.875rem;
  line-height: 1.25rem;
  display: block;
  width: 100%;
  padding: 0.5rem 2.875rem 0.5rem 1.25rem;
  border-radius: 2.5rem;
  border: 1px solid #000; /* stylelint-disable-line color-named */
  font-weight: 500;
  color: #000;
  text-align: left;
  background: none;
  position: relative;
}
@media (min-width: 48rem) {
  .tabs__link-list-toggle {
    display: none;
  }
}
.tabs__link-list-toggle:focus {
  outline: none;
}
.tabs__link-list-toggle::after {
  content: "\ea17";
  font-family: "iconfont-textileExchangeTheme";
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.2s linear;
}
.tabs__link-list-toggle.active::after {
  transform: translateY(-50%) scale(-1);
}
.tabs__link-list {
  box-shadow: 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.05);
  display: none;
  flex-direction: column;
  margin-top: 0.25rem;
  margin-bottom: 0.5rem;
  border: 0.5px solid #e2e4e8;
  border-radius: 0.375rem;
  padding-bottom: 0.5rem;
  background: #fff; /* stylelint-disable-line color-named */
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  padding-left: 0;
  z-index: 1;
  list-style: none;
  /* Handle on hover */
}
@media (min-width: 36rem) {
  .tabs__link-list {
    box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.1), 0 0.0625rem 0.125rem rgba(0, 0, 0, 0.06);
  }
}
@media (min-width: 48rem) {
  .tabs__link-list {
    box-shadow: 0 0.25rem 0.5rem -0.125rem rgba(0, 0, 0, 0.1), 0 0.125rem 0.25rem -0.125rem rgba(0, 0, 0, 0.06);
  }
}
@media (min-width: 62rem) {
  .tabs__link-list {
    box-shadow: 0 0.75rem 1rem -0.25rem rgba(0, 0, 0, 0.08), 0 0.25rem 0.375rem -0.125rem rgba(0, 0, 0, 0.03);
  }
}
@media (min-width: 75rem) {
  .tabs__link-list {
    box-shadow: 0 1.25rem 1.5rem -0.25rem rgba(0, 0, 0, 0.08), 0 0.5rem 0.5rem -0.25rem rgba(0, 0, 0, 0.03);
  }
}
@media (min-width: 88.125rem) {
  .tabs__link-list {
    box-shadow: 0 1.5rem 3rem -0.75rem rgba(0, 0, 0, 0.18);
  }
}
.tabs__link-list::-webkit-scrollbar {
  height: 4px;
  width: 4px;
}
.tabs__link-list::-webkit-scrollbar-thumb {
  border-radius: 1rem;
}
.active + .tabs__link-list {
  display: flex;
}
@media (min-width: 48rem) {
  .tabs__link-list {
    display: flex;
    gap: 0.5rem;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    border: none;
    background: none;
    box-shadow: none;
    position: static;
    overflow: auto;
    width: fit-content;
    max-width: 100%;
    margin: auto;
  }
}
.tabs__link-list li::before {
  content: none !important;
}
@media (min-width: 48rem) {
  .tabs__link:last-child {
    z-index: 1;
  }
}
.tabs__link a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem;
  color: #000;
  text-decoration: none;
  position: relative;
  transition: opacity 0.2s linear;
}
.tabs__link a:hover, .tabs__link a:active, .tabs__link a:focus {
  background: #f5f6f7;
}
@media (min-width: 36rem) {
  .tabs__link a {
    min-width: 10rem;
    max-width: 15rem;
    padding: 0.5rem 0.625rem;
    font-size: inherit;
  }
}
@media (min-width: 48rem) {
  .tabs__link a {
    font-size: 0.875rem;
    line-height: 1.25rem;
    justify-content: center;
    margin: 0 0.25rem;
    border-radius: 2.5rem;
    font-weight: 500;
    text-align: center;
  }
  .tabs__link a:hover, .tabs__link a:active, .tabs__link a:focus {
    opacity: 0.5;
    background-color: inherit;
  }
}
@media (min-width: 75rem) {
  .tabs__link a {
    min-width: 12.5rem;
    max-width: 18.75rem;
    padding: 0.5rem 1.25rem;
  }
}
.tabs__link.active {
  position: relative;
}
.tabs__link.active a::after {
  content: "\ea16";
  font-family: "iconfont-textileExchangeTheme";
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #969ba9;
}
@media (min-width: 48rem) {
  .tabs__link.active {
    pointer-events: none;
  }
  .tabs__link.active a {
    background: #000; /* stylelint-disable-line color-named */
    color: #fff;
    /* stylelint-disable max-nesting-depth */
    /* stylelint-enable max-nesting-depth */
  }
  .tabs__link.active a::after {
    display: none;
  }
  .tabs__link.active a:hover, .tabs__link.active a:active, .tabs__link.active a:focus {
    opacity: 1;
  }
}
.tabs__tab-content-wrapper {
  margin: 2.25rem 1.25rem 0;
}
.tabs__tab-content-wrapper h1, .tabs__tab-content-wrapper .h1, .tabs__tab-content-wrapper h2, .tabs__tab-content-wrapper .h2, .tabs__tab-content-wrapper h3, .tabs__tab-content-wrapper .h3, .tabs__tab-content-wrapper h4, .tabs__tab-content-wrapper .h4, .tabs__tab-content-wrapper h5, .tabs__tab-content-wrapper .h5, .tabs__tab-content-wrapper h6, .tabs__tab-content-wrapper .h6 {
  text-align: left;
}
.tabs__tab-content {
  position: static;
  visibility: visible;
}
.tabs__tab-content:not(.active) {
  position: absolute;
  visibility: hidden;
  left: -624.9375rem;
}
.tabs__tab-content:not(.active) .row > * {
  opacity: 0;
}
.tabs__tab-content .row {
  padding: clamp(3rem, -0.5887850467rem + 7.476635514vw, 6rem) 0;
  background: #fff; /* stylelint-disable-line color-named */
}
.tabs__tab-content .row > * {
  opacity: 1;
  transition: opacity 0.5s linear;
}
.tabs__divider {
  background: #adb1bc;
  height: 0.0625rem;
  font-size: 0;
  overflow: hidden;
  margin-top: 2.9375rem;
}
@media (min-width: 48rem) {
  .tabs__divider {
    margin-top: 4.9375rem;
  }
}
@media (min-width: 62rem) {
  .tabs__content {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-top: 1.25rem;
  }
}
.tabs__side-content {
  display: flex;
  margin-top: 2rem;
}
@media (min-width: 62rem) {
  .tabs__side-content {
    margin-top: 0;
  }
}
.tabs__side-content--grid {
  flex-wrap: wrap;
}
.tabs__tab-icon {
  margin: 1.25rem 0;
  flex-basis: 50%;
  position: relative;
  text-align: center;
}
@media (min-width: 75rem) {
  .tabs__tab-icon {
    flex-basis: 33.3333333333%;
  }
}
@media (min-width: 75rem) {
  .tabs__tab-icon {
    margin: 0;
  }
  .tabs__tab-icon:nth-child(n+4) {
    margin-top: 2.5rem;
  }
}
.tabs__tab-icon figcaption {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
}
.tabs__tab-icon-link {
  display: inline-block;
  margin-bottom: 0.75rem;
  padding: 1.25rem;
  border: 1px solid #000; /* stylelint-disable-line color-named */
  border-radius: 50%;
}
.tabs__tab-icon-link,
.tabs__tab-icon-link + figcaption {
  transition: opacity 0.2s linear;
}
.tabs__tab-icon-link:hover, .tabs__tab-icon-link:active, .tabs__tab-icon-link:focus {
  text-decoration: none;
}
.tabs__tab-icon-link:hover,
.tabs__tab-icon-link:hover + figcaption, .tabs__tab-icon-link:active,
.tabs__tab-icon-link:active + figcaption, .tabs__tab-icon-link:focus,
.tabs__tab-icon-link:focus + figcaption {
  opacity: 0.5;
}
.tabs__tab-icon-link::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.tabs__tab-icon-link [class^=icon-]::before {
  display: block;
  font-size: 3.5rem;
}
.tabs__side-content--list {
  flex-direction: column;
}
.tabs__tab-side-link {
  font-size: clamp(1.25rem, 0.9509345794rem + 0.6230529595vw, 1.5rem);
  line-height: clamp(1.75rem, 1.4509345794rem + 0.6230529595vw, 2rem);
  margin-top: 0;
  margin-bottom: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem 0;
  font-family: "Publico Banner", serif;
  position: relative;
  transition: opacity 0.2s linear;
}
.tabs__tab-side-link:hover, .tabs__tab-side-link:focus {
  text-decoration: none;
}
.tabs__tab-side-link:hover, .tabs__tab-side-link:active, .tabs__tab-side-link:focus {
  opacity: 0.5;
}
.tabs__tab-side-link + .tabs__tab-side-link {
  border-top: 1px solid #000; /* stylelint-disable-line color-named */
}
.tabs__tab-side-link i {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-left: 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background-color: #f0cd7f;
}
@media (min-width: 62rem) {
  .tabs__tab-side-link i {
    width: 2rem;
    height: 2rem;
  }
}
.tabs__tab-side-link i::before {
  font-size: 1rem;
}

.block-emded-powerbi {
  background: #f6f5ef;
}
.block-emded-powerbi__wrapper {
  padding-top: 1.5rem;
  padding-bottom: 6rem;
}
.block-emded-powerbi .powerbi-embed {
  width: 100%;
}
.block-emded-powerbi iframe {
  width: 100%;
  height: 100%;
  border: none;
  outline: none;
}

.block-tabs.block-emded-powerbi {
  padding: 0;
}
.block-tabs.block-emded-powerbi .tabs__link-list-wrapper {
  margin: 0;
  background: #f6f5ef;
  padding: 1.5rem 0;
  border: 1px solid #000;
  border-width: 1px 0;
}
.block-tabs.block-emded-powerbi .tabs__link-list {
  margin: 0;
  justify-content: flex-start;
}
.block-tabs.block-emded-powerbi .tabs_link--inner {
  display: block;
  min-width: auto;
  height: 2.5rem;
  padding: 0.75rem 1.25rem;
  font-size: 1rem;
  line-height: 1rem;
  text-transform: capitalize;
  font-weight: 400;
}
.block-tabs.block-emded-powerbi .tabs__tab-content-wrapper {
  margin: 3.5rem 1.25rem 6rem;
}
.block-tabs.block-emded-powerbi .tabs__tab-content .row {
  padding: 0;
  background: transparent;
}
.block-tabs.block-emded-powerbi .powerbi-embed {
  height: 100vh;
  width: 100%;
  padding: 0;
}

.block-content-section .block-emded-powerbi.pt-0.pb-0 {
  margin: 0;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy9zcmMvX19zdHlsZXMvX3ZhcmlhYmxlcy5zY3NzIiwiY3NzL3NyYy9fX3N0eWxlcy9fZWxlbWVudHMuc2NzcyIsImFjZi1ibG9ja3MvdGFicy9zcmMvc3R5bGUuc2NzcyIsImNzcy9zcmMvX19zdHlsZXMvX21peGlucy5zY3NzIiwiY3NzL3NyYy92ZW5kb3IvYm9vdHN0cmFwL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsImNzcy9zcmMvX19zdHlsZXMvX2ZvbnQtc3R5bGVzLnNjc3MiLCJjc3Mvc3JjL2xpYi9pY29uZm9udC9faWNvbmZvbnQtdmFyaWFibGVzLnNjc3MiLCJhY2YtYmxvY2tzL3Bvd2VyYmkvc3JjL3N0eWxlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBZ0RBO0FBQUE7QUFBQTtBQThCQTtBQUFBO0FBQUE7QUNvWEE7RUFDQztFQUNBOzs7QUQxY0Q7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBZ0RBO0FBQUE7QUFBQTtBQThCQTtBQUFBO0FBQUE7QUNvWEE7RUFDQztFQUNBOzs7QUN4Y0Q7RUFDQztFQUNBOztBQzJCQTtFRHhCQzs7QUFHRDtFQUNDOztBQUdEO0VBQ0M7O0FFNkNFO0VGOUNIO0lBSUU7OztBQUlGO0VBQ0M7O0FBSUQ7RUFDQzs7QUFHQztFQUNDOztBQUdEO0VBQ0M7O0FBRUE7RUFDQzs7QUFHRDtFQUNDOztBRWlCRDtFRnpCRDtJQVlFOzs7QUFPRDtFQUNDOztBQU9KO0VBQ0M7O0FBR0M7RUFDQztFQUNBOztBQUdEO0VBQ0M7O0FBRUE7RUFDQzs7QUFJRjtFQUNDOztBQUVBO0VBQ0M7O0FBR0Q7RUFDQztFQUNBOztBQUlGO0VBQ0M7O0FBRUE7RUFDQzs7QUFHRDtFQUNDOztBRXhDRDtFRmdDRDtJQVlFOzs7QUFPRDtFQUNDOztBQU9KO0VBQ0M7RUFDQTs7QUFHQztFQUNDO0VBQ0E7O0FBR0Q7RUFDQzs7QUFHRDtFQUNDO0VBQ0E7O0FBR0Q7RUFDQzs7QUFHRDtFQUNDOztBQUVBO0VBQ0M7O0FBR0Q7RUFDQzs7QUUxRkQ7RUZrRkQ7SUFZRTs7OztBQU9MO0VBQ0M7O0FFekZHO0VGd0ZKO0lBSUU7O0VBRUE7SUFFQzs7RUNwS0Y7SUFFQztJQUNBOztFQUdEO0lBQ0M7OztBRGtLQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTUY7RUFDQztFQUNBOztBRW5JRTtFRmlJSDtJQUtFOzs7QUFJQTtFQUNDOztBQUtIO0VHdEZBO0VBQ0E7RUh1RkM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FFM0pFO0VGZ0pIO0lBY0U7OztBQUdEO0VBQ0M7O0FBR0Q7RUM1TEQsU0dabUI7RUhhbkIsYUd0Q2U7RUh1Q2YsV0QyTHlDO0VDMUx6QztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFRHFMRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0VBQ0M7O0FBSUY7RUZsTEE7RUVvTEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBV0E7O0FFOU1FO0VGbUxIO0lGL0tDOzs7QUlKRTtFRm1MSDtJRjNLQzs7O0FJUkU7RUZtTEg7SUZ2S0M7OztBSVpFO0VGbUxIO0lGbktDOzs7QUloQkU7RUZtTEg7SUYvSkM7OztBRWlMQTtFQUNDO0VBQ0E7O0FBR0Q7RUFDQzs7QUFNRDtFQUNDOztBRWxOQztFRm1MSDtJQW1DRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUE7RUFDQzs7QUV2T0E7RUY4T0Q7SUFDQzs7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBR0M7O0FFaFFBO0VGbVBGO0lBaUJFO0lBQ0E7SUFDQTtJQUNBOzs7QUV2UUE7RUZtUEY7SUd6TEQ7SUFDQTtJSGlORztJQUNBO0lBQ0E7SUFDQTtJQUNBOztFQUVBO0lBR0M7SUFDQTs7O0FFdFJEO0VGbVBGO0lBd0NFO0lBQ0E7SUFDQTs7O0FBSUY7RUFDQzs7QUFHQztFQzVUSCxTR2JZO0VIY1osYUd0Q2U7RUh1Q2YsV0QyVG9DO0VDMVRwQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFRHFUSTs7QUV2U0Q7RUZpU0Y7SUFXRTs7RUFFQTtJQUNDO0lBQ0E7QUFFQTtBQVVBOztFQVRBO0lBQ0M7O0VBR0Q7SUFHQzs7O0FBUUw7RUFDQzs7QUNoV0Q7RURtV0U7O0FBSUY7RUFDQztFQUNBOztBQUVBO0VBQ0M7RUFDQTtFQUNBOztBQUVBO0VBQ0M7O0FBSUY7RUFDQztFQUNBOztBQUVBO0VBQ0M7RUFDQTs7QUFLSDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FFeFdFO0VGbVdIO0lBUUU7OztBRTNXQztFRitXSDtJQUVFO0lBQ0E7SUFDQTtJQUNBOzs7QUFJRjtFQUNDO0VBQ0E7O0FFMVhFO0VGd1hIO0lBS0U7OztBQUlGO0VBQ0M7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QUV6WUU7RUZxWUg7SUFPRTs7O0FFNVlDO0VGcVlIO0lBV0U7O0VBRUE7SUFDQzs7O0FBSUY7RUc3VkQ7RUFDQTtFSDhWRTs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUVDOztBQUdEO0VBR0M7O0FBRUE7QUFBQTtBQUFBO0FBQUE7RUFFQzs7QUFLRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlBO0VBQ0M7RUFDQTs7QUFLSDtFQUNDOztBQUdEO0VHNWRBO0VBQ0E7RUFHQztFQUNBO0VIeWRBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYUZ6Z0JlO0VFMGdCZjtFQUNBOztBQUVBO0VBRUM7O0FBR0Q7RUFHQzs7QUFHRDtFQUNDOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRTdlQztFRm9lRjtJQVlFO0lBQ0E7OztBQUdEO0VBQ0M7OztBSzlpQko7RUFDQzs7QUFFQTtFQUNDO0VBQ0E7O0FBR0Q7RUFDQzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOzs7QUFLRjtFQUNDOztBQUdDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0VBQ0M7O0FBR0Q7RUFDQztFQUNBOztBQUlGO0VBQ0M7RUFDQTtFQUNBOzs7QUFNQTtFQUNDIiwiZmlsZSI6ImFjZi1ibG9ja3MvcG93ZXJiaS9kaXN0L3N0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqXG4gKiBGb250c1xuICoqKioqKioqKioqKioqKiovXG4kZm9udC1iYXNlOiBcIlVudGl0bGVkIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiRmb250LWhlYWRsaW5lczogXCJQdWJsaWNvIEJhbm5lclwiLCBzZXJpZjtcblxuLyoqKioqKioqKioqKioqKipcbiAqIFBhaW50c1xuICoqKioqKioqKioqKioqKiovXG4kcGFpbnRzOiAoXG5cdG1pc3Q6ICNjMWM0Y2MsXG5cdHNreTogI2FhYjNjYixcblx0cmFpbjogIzlkYjRjMCxcblx0bWlkbmlnaHQ6ICMzNTNjNTIsXG5cdHNhZ2U6ICNhYWIxOTksXG5cdHNwcmluZzogI2MwZDJhYixcblx0c3BydWNlOiAjNWY3YTdiLFxuXHRncm92ZTogIzJjNDc0OCxcblx0c2FuZDogI2I3YjNhNCxcblx0c2FmZnJvbjogI2YwY2Q3Zixcblx0Y2xlbWVudGluZTogI2UzYWY3ZCxcblx0Y2xheTogIzkwNmQ1ZCxcblx0Y2xvdWQ6ICNmNmY1ZWYsXG5cdHdoaXRlOiAjZmZmLFxuXHRibGFjazogIzAwMCxcblx0dGV4dC1kYXJrLXByaW1hcnk6ICMwMDAsXG5cdHRleHQtZGFyay1zZWNvbmRhcnk6ICM1ZTVmNjEsXG5cdHRleHQtZGFyay10ZXJ0aWFyeTogI2EwYTFhMyxcblx0dGV4dC1saWdodC1wcmltYXJ5OiAjZmZmLFxuXHR0ZXh0LWxpZ2h0LXNlY29uZGFyeTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpLFxuXHR0ZXh0LWxpZ2h0LXRlcnRpYXJ5OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSksXG5cdGJvcmRlci1saWdodC1wcmltYXJ5OiAjZmZmLFxuXHRib3JkZXItbGlnaHQtdGVydGlhcnk6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSxcblx0Ym9yZGVyLWRhcmstcHJpbWFyeTogIzAwMCxcblx0Ym9yZGVyLW5hdjogcmdiYSgwLCAwLCAwLCAwLjEpLFxuXHRpbnRlcmFjdGlvbjogI2YwY2Q3Zixcblx0aW50ZXJhY3Rpb24taG92ZXI6ICNmNWNmN2EsXG5cdGVycm9yOiAjOWUzNjJjLFxuXHR3YXJuaW5nOiAjZTU5NTQ1LFxuXHRzdWNjZXNzOiAjNDU3YTRhLFxuXHRpbmZvcm1hdGlvbjogIzMyNmJhOCxcblx0YXV0b2ZpbGw6ICNmMmY4ZmMsXG5cdGdyZXktNTA6ICNmNWY2ZjcsXG5cdGdyZXktMTAwOiAjZTJlNGU4LFxuXHRncmV5LTIwMDogI2M5Y2NkNCxcblx0Z3JleS0zMDA6ICNhZGIxYmMsXG5cdGdyZXktNDAwOiAjOTY5YmE5LFxuXHRncmV5LTUwMDogIzdmODU5NSxcblx0Z3JleS02MDA6ICM1NjViNjksXG5cdGdyZXktNzAwOiAjMzAzMzNhLFxuXHRncmV5LTgwMDogIzFkMWUyMyxcblx0Z3JleS05MDA6ICMwYTBhMGMsXG4pO1xuXG4vKioqKioqKioqKioqKioqKlxuICogRWZmZWN0c1xuICoqKioqKioqKioqKioqKiovXG4kZWZmZWN0czogKFxuKTtcblxuQG1peGluIGVsZXZhdGlvbiB7XG5cdGJveC1zaGFkb3c6IDAgcmVtKDEpIHJlbSgyKSByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcblx0XHRib3gtc2hhZG93OiAwIHJlbSgxKSByZW0oMykgcmdiYSgwLCAwLCAwLCAwLjEpLCAwIHJlbSgxKSByZW0oMikgcmdiYSgwLCAwLCAwLCAwLjA2KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRib3gtc2hhZG93OiAwIHJlbSg0KSByZW0oOCkgcmVtKC0yKSByZ2JhKDAsIDAsIDAsIDAuMSksIDAgcmVtKDIpIHJlbSg0KSByZW0oLTIpIHJnYmEoMCwgMCwgMCwgMC4wNik7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0Ym94LXNoYWRvdzogMCByZW0oMTIpIHJlbSgxNikgcmVtKC00KSByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIHJlbSg0KSByZW0oNikgcmVtKC0yKSByZ2JhKDAsIDAsIDAsIDAuMDMpO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuXHRcdGJveC1zaGFkb3c6IDAgcmVtKDIwKSByZW0oMjQpIHJlbSgtNCkgcmdiYSgwLCAwLCAwLCAwLjA4KSwgMCByZW0oOCkgcmVtKDgpIHJlbSgtNCkgcmdiYSgwLCAwLCAwLCAwLjAzKTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XG5cdFx0Ym94LXNoYWRvdzogMCByZW0oMjQpIHJlbSg0OCkgcmVtKC0xMikgcmdiYSgwLCAwLCAwLCAwLjE4KTtcblx0fVxufVxuXG4vKioqKioqKioqKioqKioqKlxuICogR3JpZCBTZXR0aW5nc1xuICoqKioqKioqKioqKioqKiovXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG5cdHhzOiAwLFxuXHRzbTogcmVtKDU3NiksXG5cdG1kOiByZW0oNzY4KSxcblx0bGc6IHJlbSg5OTIpLFxuXHRsZ2FsdDogcmVtKDEwMjApLFxuXHR4bDogcmVtKDEyMDApLFxuXHR4eGw6IHJlbSgxNDEwKVxuKTtcbiRjdXN0b20tYnJlYWtwb2ludHM6IChcblx0bW9iaWxlbWVudTogcmVtKDEyMDApLFxuXHRjYXJlZXJzbWVudTogcmVtKDEzMzApXG4pO1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG5cdHhzOiByZW0oNTc2KSxcblx0c206IHJlbSg3NjgpLFxuXHRtZDogcmVtKDk5MiksXG5cdGxnOiByZW0oMTIwMCksXG5cdHhsOiByZW0oMTQxMClcbik7XG5cbiRjb250YWluZXItc20tc3BhY2luZzogcmVtKDIwKTtcbiRjb250YWluZXItbWQtc3BhY2luZzogcmVtKDQwKTtcbiRjb250YWluZXItbGctc3BhY2luZzogcmVtKDYwKTtcblxuJGdyaWQtZ3V0dGVyLXdpZHRoOiByZW0oMTUpO1xuJGdyaWQtc20tZ3V0dGVyLXdpZHRoOiAkZ3JpZC1ndXR0ZXItd2lkdGg7XG4kZ3JpZC1tZC1ndXR0ZXItd2lkdGg6IHJlbSgyMCk7XG4kZ3JpZC1sZy1ndXR0ZXItd2lkdGg6IHJlbSgzMCk7XG5cbi8vIFRyYW5zaXRpb25zXG4kdHJhbnNpdGlvbi1zdGFuZGFyZDogYWxsIDAuMnMgbGluZWFyO1xuXG4vLyBCbG9jayB0aXRsZVxuJGJsb2NrLXRpdGxlLW1iLXNtOiByZW0oNDApO1xuJGJsb2NrLXRpdGxlLW1iLW1kOiByZW0oNjQpO1xuXG4kbWVkaWEtbWFyZ2luOiAzMHB4O1xuJG1lZGlhLW1hcmdpbi1tb2JpbGU6IDIwcHg7XG5cbi8vIE91dGxpbmVcbiRvdXRsaW5lOiByZW0oMikgc29saWQgIzdhYWNmZTtcbiIsIi8vIEJ1dHRvbnMgYW5kIExpbmtzIC0gQ2F0ZWdvcnkgQmFkZ2VcbkBtaXhpbiBwaWxsLWJhZGdlKCAkY29sb3I6IG5vcm1hbCApIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRib3JkZXItcmFkaXVzOiByZW0oMzIpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHR3b3JkLWJyZWFrOiBicmVhay1hbGw7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0QGlmICRjb2xvciA9PSBub3JtYWwge1xuXHRcdGJvcmRlcjogMC41cHggc29saWQgcGFpbnQoYm9yZGVyLWRhcmstcHJpbWFyeSk7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblxuXHRcdCZbaHJlZl0sXG5cdFx0JltkYXRhLWZpbHRlcl0ge1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KHNhZmZyb24pO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRib3JkZXI6IDAuNXB4IHNvbGlkIHBhaW50KGJvcmRlci1saWdodC1wcmltYXJ5KTtcblx0XHRjb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblxuXHRcdCZbaHJlZl0sXG5cdFx0JltkYXRhLWZpbHRlcl0ge1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogcGFpbnQoYm9yZGVyLWRhcmstcHJpbWFyeSk7XG5cdFx0XHRcdGNvbG9yOiBwYWludCh0ZXh0LWRhcmstcHJpbWFyeSk7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1peGluIHBpbGwtYmFkZ2Utc2l6ZSggJHNpemU6IG0gKSB7XG5cdEBpZiAkc2l6ZSA9PSBtIHtcblx0XHRoZWlnaHQ6IHJlbSgyNCk7XG5cdFx0Zm9udC1zaXplOiByZW0oMTQpO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oMjQpOyAvLyBkb2Vzbid0IG1hdGNoIGZpZ21hIHRvIGNvbXBlbnNlIHBlY3VsaWFyIGZvbnQgYW5kIGtlZXAgY2VudGVyLXZhbGlnbmVkXG5cdFx0cGFkZGluZzogMCByZW0oMTApOyAvLyBkb2Vzbid0IG1hdGNoIGZpZ21hIHRvIGNvbXBlbnNlIHBlY3VsaWFyIGZvbnQgYW5kIGtlZXAgY2VudGVyLXZhbGlnbmVkXG5cblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDEyKTtcblx0XHR9XG5cdH0gQGVsc2UgaWYgJHNpemUgPT0gcyB7XG5cdFx0aGVpZ2h0OiByZW0oMTkpO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDEyKTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDE5KTtcblx0XHRwYWRkaW5nOiAwIHJlbSg4KTtcblxuXHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oOCk7XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRoZWlnaHQ6IHJlbSgxNyk7XG5cdFx0Zm9udC1zaXplOiByZW0oMTApO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oMTcpO1xuXHRcdHBhZGRpbmc6IDAgcmVtKDYpO1xuXG5cdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSg2KTtcblx0XHR9XG5cdH1cbn1cblxuXG4vLyBCdXR0b25zIGFuZCBMaW5rcyAtIExpbmsgd2l0aCBJY29uXG5AbWl4aW4gbGluay13aXRoLWljb24oICRjb2xvcjogbm9ybWFsICkge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Z2FwOiByZW0oMik7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRAaWYgJGNvbG9yID09IG5vcm1hbCB7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblxuXHRcdCZbaHJlZl0ge1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGNvbG9yOiBwYWludCh0ZXh0LWRhcmstcHJpbWFyeSk7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0Ym9yZGVyOiAwLjVweCBzb2xpZCBwYWludChib3JkZXItbGlnaHQtcHJpbWFyeSk7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cblx0XHQmW2hyZWZdIHtcblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzLFxuXHRcdFx0JjphY3RpdmUge1xuXHRcdFx0XHRjb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBsaW5rLXdpdGgtaWNvbi1zaXplKCAkc2l6ZTogbSApIHtcblx0QGlmICRzaXplID09IG0ge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblxuXHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oMTIpO1xuXHRcdH1cblxuXHRcdCY6OmJlZm9yZSxcblx0XHQmOjphZnRlciB7XG5cdFx0XHRmb250LXNpemU6IHJlbSgyMCkgIWltcG9ydGFudDtcblx0XHRcdGhlaWdodDogcmVtKDIwKTtcblx0XHR9XG5cblx0XHRzcGFuIHtcblx0XHRcdGhlaWdodDogcmVtKDE2KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMjApO1xuXHRcdH1cblx0fSBAZWxzZSBpZiAkc2l6ZSA9PSBzIHtcblx0XHRmb250LXNpemU6IHJlbSgxNCk7XG5cblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDgpO1xuXHRcdH1cblxuXHRcdCY6OmJlZm9yZSxcblx0XHQmOjphZnRlciB7XG5cdFx0XHRmb250LXNpemU6IHJlbSgyMCkgIWltcG9ydGFudDtcblx0XHRcdGhlaWdodDogcmVtKDIwKTtcblx0XHR9XG5cblx0XHRzcGFuIHtcblx0XHRcdGhlaWdodDogcmVtKDE0KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMTcpO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMTIpO1xuXG5cdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSg2KTtcblx0XHR9XG5cblx0XHQmOjpiZWZvcmUsXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMTYpICFpbXBvcnRhbnQ7XG5cdFx0XHRoZWlnaHQ6IHJlbSgxNik7XG5cdFx0fVxuXG5cdFx0c3BhbiB7XG5cdFx0XHRoZWlnaHQ6IHJlbSgxMik7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDE0KTtcblx0XHR9XG5cdH1cbn1cblxuXG4vLyBCdXR0b25zIGFuZCBMaW5rcyAtIExpbmsgd2l0aCBDaXJjbGUgQnV0dG9uXG5AbWl4aW4gbGluay13aXRoLdGBaXJjbGUoICRjb2xvcjogbm9ybWFsICkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHQmOjpiZWZvcmUsXG5cdCY6OmFmdGVyIHtcblx0XHR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1zdGFuZGFyZDtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBib3JkZXItY29sb3I7XG5cdH1cblxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IHJlbSgxKTtcblx0XHRsZWZ0OiAwO1xuXHR9XG5cblx0Jjo6YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIGljb24tZm9udCgkaWNvbi1hcnJvdy1yaWdodCwgI3tyZW0oMTYpfSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdGZsZXgtc2hyaW5rOiAwO1xuXHR9XG5cblx0c3BhbiB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblxuXHRcdCY6ZW1wdHkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHRAaWYgJGNvbG9yID09IG5vcm1hbCB7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHBhaW50KGludGVyYWN0aW9uKTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KGludGVyYWN0aW9uKTtcblx0XHR9XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMsXG5cdFx0JjphY3RpdmUge1xuXHRcdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0Jjo6YWZ0ZXIsXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdGNvbG9yOiBwYWludCh0ZXh0LWxpZ2h0LXByaW1hcnkpO1xuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHRjb2xvcjogcGFpbnQodGV4dC1kYXJrLXByaW1hcnkpO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyxcblx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRjb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdGJvcmRlci1jb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblxuXHRcdFx0Jjo6YWZ0ZXIsXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHRcdG9wYWNpdHk6IDAuOTU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBsaW5rLXdpdGgt0YFpcmNsZS1zaXplKCAkc2l6ZTogcyApIHtcblx0QGlmICRzaXplID09IG0ge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDI0KTtcblx0XHRnYXA6IHJlbSgxMCk7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIHJlbSgzNCkpO1xuXHRcdH1cblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdHdpZHRoOiByZW0oMjIpO1xuXHRcdFx0aGVpZ2h0OiByZW0oMjIpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IHJlbSgyMCkgIWltcG9ydGFudDtcblx0XHR9XG5cdH0gQGVsc2UgaWYgJHNpemUgPT0gcyB7XG5cdFx0Zm9udC1zaXplOiByZW0oMTQpO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oMjApO1xuXHRcdGdhcDogcmVtKDgpO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSByZW0oMjYpKTtcblx0XHR9XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHR3aWR0aDogcmVtKDE4KTtcblx0XHRcdGhlaWdodDogcmVtKDE4KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMTYpICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG59XG5cblxuLy8gQnV0dG9ucyBhbmQgTGlua3MgLSBDaXJjbGUgQnRuXG5AbWl4aW4gY2lyY2xlLWJ0biggJHR5cGU6IHNlY29uZGFyeSwgJGNvbG9yOiBub3JtYWwgKSB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcblx0Y29sb3I6ICRibGFjaztcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwYWRkaW5nOiAwO1xuXG5cdCY6Zm9jdXMsXG5cdCY6YWN0aXZlIHtcblx0XHRvdXRsaW5lOiAwLjVweCBzb2xpZCAkYmxhY2s7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0W2NsYXNzXj1cImljb24tXCJdLFxuXHRcdFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdEBpZiAkdHlwZSA9PSBwcmltYXJ5IHtcblx0XHRib3JkZXI6IG5vbmU7XG5cblx0XHRAaWYgJGNvbG9yID09IG5vcm1hbCB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBwYWludChpbnRlcmFjdGlvbik7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWludChpbnRlcmFjdGlvbi1ob3Zlcik7XG5cdFx0XHR9XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBwYWludChib3JkZXItbGlnaHQtcHJpbWFyeSk7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG5cdFx0QGlmICRjb2xvciA9PSBub3JtYWwge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG5cdFx0XHR9XG5cblx0XHRcdCY6YWN0aXZlIHtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA4KTtcblx0XHRcdH1cblx0XHR9IEBlbHNlIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHBhaW50KGJvcmRlci1saWdodC1wcmltYXJ5KTtcblx0XHRcdGNvbG9yOiBwYWludChib3JkZXItbGlnaHQtcHJpbWFyeSk7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcblx0XHRcdFx0b3V0bGluZTogMC41cHggc29saWQgcGFpbnQoYm9yZGVyLWxpZ2h0LXByaW1hcnkpO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGNpcmNsZS1idG4tc2l6ZSggJHNpemU6IG0gKSB7XG5cdEBpZiAkc2l6ZSA9PSB4bCB7XG5cdFx0d2lkdGg6IHJlbSg1Nik7XG5cdFx0aGVpZ2h0OiByZW0oNTYpO1xuXG5cdFx0W2NsYXNzXj1cImljb24tXCJdLFxuXHRcdFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuXHRcdFx0d2lkdGg6IHJlbSgyMCk7XG5cdFx0XHRoZWlnaHQ6IHJlbSgyMCk7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2UgaWYgJHNpemUgPT0gbCB7XG5cdFx0d2lkdGg6IHJlbSg0OCk7XG5cdFx0aGVpZ2h0OiByZW0oNDgpO1xuXG5cdFx0W2NsYXNzXj1cImljb24tXCJdLFxuXHRcdFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuXHRcdFx0d2lkdGg6IHJlbSgyMCk7XG5cdFx0XHRoZWlnaHQ6IHJlbSgyMCk7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0XHRcdH1cblx0XHR9XG5cblx0fSBAZWxzZSBpZiAkc2l6ZSA9PSBtIHtcblx0XHR3aWR0aDogcmVtKDQwKTtcblx0XHRoZWlnaHQ6IHJlbSg0MCk7XG5cblx0XHRbY2xhc3NePVwiaWNvbi1cIl0sXG5cdFx0W2NsYXNzKj1cIiBpY29uLVwiXSB7XG5cdFx0XHR3aWR0aDogcmVtKDIwKTtcblx0XHRcdGhlaWdodDogcmVtKDIwKTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMjApO1xuXHRcdFx0fVxuXHRcdH1cblx0fSBAZWxzZSBpZiAkc2l6ZSA9PSBzIHtcblx0XHR3aWR0aDogcmVtKDM2KTtcblx0XHRoZWlnaHQ6IHJlbSgzNik7XG5cblx0XHRbY2xhc3NePVwiaWNvbi1cIl0sXG5cdFx0W2NsYXNzKj1cIiBpY29uLVwiXSB7XG5cdFx0XHR3aWR0aDogcmVtKDE4KTtcblx0XHRcdGhlaWdodDogcmVtKDE4KTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTgpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9IEBlbHNlIGlmICRzaXplID09IHhzIHtcblx0XHR3aWR0aDogcmVtKDMyKTtcblx0XHRoZWlnaHQ6IHJlbSgzMik7XG5cblx0XHRbY2xhc3NePVwiaWNvbi1cIl0sXG5cdFx0W2NsYXNzKj1cIiBpY29uLVwiXSB7XG5cdFx0XHR3aWR0aDogcmVtKDE2KTtcblx0XHRcdGhlaWdodDogcmVtKDE2KTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRcdFx0fVxuXHRcdH1cblx0fSBAZWxzZSB7IC8vIHh4c1xuXHRcdHdpZHRoOiByZW0oMjQpO1xuXHRcdGhlaWdodDogcmVtKDI0KTtcblxuXHRcdFtjbGFzc149XCJpY29uLVwiXSxcblx0XHRbY2xhc3MqPVwiIGljb24tXCJdIHtcblx0XHRcdHdpZHRoOiByZW0oMTYpO1xuXHRcdFx0aGVpZ2h0OiByZW0oMTYpO1xuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbSgxNik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiNqcXVlcnktbGl2ZS1zZWFyY2gge1xuXHR3aWR0aDogMTAwdncgIWltcG9ydGFudDtcblx0bWFyZ2luLXRvcDogcmVtKC02KTtcbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi9jc3Mvc3JjL2xpYi9iYXNlLWluY2x1ZGVzXCI7XG5cbi5ibG9jay10YWJzIHtcblx0cGFkZGluZzogcmVzcG9uc2l2ZS12YWx1ZXMoNjQsIDEyOCkgMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRAaW5jbHVkZSBoZWFkaW5ncygpIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXHQub3ZlcmxpbmUge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlc3BvbnNpdmUtdmFsdWVzKDYsIDEyKTtcblx0fVxuXG5cdC5jLWJ0bi13cmFwcGVyIHtcblx0XHRtYXJnaW4tdG9wOiByZW0oMzIpO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXHRcdFx0bWFyZ2luLXRvcDogcmVtKDgpO1xuXHRcdH1cblx0fVxuXG5cdC5jLWJ0biB7XG5cdFx0cGFkZGluZzogcmVtKDcpIHJlbSgxNSk7XG5cdH1cblxuXHQvLyBMaWdodCBDYXJkIExpZ2h0IFN1cmZhY2UgdmFyaWFudFxuXHQmLS1jbG91ZC1zYW5kIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWludChzYW5kKTtcblxuXHRcdC50YWJzIHtcblx0XHRcdCZfX3RhYi1jb250ZW50IC5yb3cge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWludChjbG91ZCk7XG5cdFx0XHR9XG5cblx0XHRcdCZfX2xpbmstbGlzdCB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KHNhbmQpO1xuXG5cdFx0XHRcdCY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBwYWludChzYW5kKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBwYWludChjbG91ZCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQudGFiLWhlYWQtd3JhcCB7XG5cdFx0XHQmLmhhcy1zY3JvbGwge1xuXHRcdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgcGFpbnQoc2FuZCkgMCUsIHJnYmEocGFpbnQoc2FuZCksIDApIDEwMCUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gRGFyayBDYXJkIExpZ2h0IFN1cmZhY2UgdmFyaWFudFxuXHQmLS1taWRuaWdodC1za3kge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KHNreSk7XG5cblx0XHQudGFicyB7XG5cdFx0XHQmX190YWItY29udGVudCAucm93IHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcGFpbnQobWlkbmlnaHQpO1xuXHRcdFx0XHRjb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblx0XHRcdH1cblxuXHRcdFx0Jl9fdGFiLWljb24tbGluayB7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogcGFpbnQoYm9yZGVyLWxpZ2h0LXByaW1hcnkpO1xuXG5cdFx0XHRcdFtjbGFzc149XCJpY29uLVwiXTo6YmVmb3JlIHtcblx0XHRcdFx0XHRjb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmX190YWItc2lkZS1saW5rIHtcblx0XHRcdFx0Y29sb3I6IHBhaW50KHdoaXRlKTsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBjb2xvci1uYW1lZCAqL1xuXG5cdFx0XHRcdCsgLnRhYnNfX3RhYi1zaWRlLWxpbmsge1xuXHRcdFx0XHRcdGJvcmRlci1jb2xvcjogcGFpbnQodGV4dC1saWdodC10ZXJ0aWFyeSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpIHtcblx0XHRcdFx0XHRjb2xvcjogcGFpbnQodGV4dC1kYXJrLXByaW1hcnkpO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KHdoaXRlKTsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBjb2xvci1uYW1lZCAqL1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCZfX2xpbmstbGlzdCB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KHNreSk7XG5cblx0XHRcdFx0Jjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHBhaW50KHNreSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogcGFpbnQobWlkbmlnaHQpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnRhYi1oZWFkLXdyYXAge1xuXHRcdFx0Ji5oYXMtc2Nyb2xsIHtcblx0XHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHBhaW50KHNreSkgMCUsIHJnYmEocGFpbnQoc2t5KSwgMCkgMTAwJSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBEYXJrIENhcmQgRGFyayBTdXJmYWNlIHZhcmlhbnRcblx0Ji0tc2t5LW1pZG5pZ2h0IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWludChtaWRuaWdodCk7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cblx0XHQudGFicyB7XG5cdFx0XHQmX19saW5rLWxpc3QtdG9nZ2xlIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiBwYWludChib3JkZXItbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHRcdGNvbG9yOiBwYWludCh0ZXh0LWxpZ2h0LXByaW1hcnkpO1xuXHRcdFx0fVxuXG5cdFx0XHQmX19saW5rIGEge1xuXHRcdFx0XHRjb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblx0XHRcdH1cblxuXHRcdFx0Jl9fdGFiLWNvbnRlbnQgLnJvdyB7XG5cdFx0XHRcdGNvbG9yOiBwYWludCh0ZXh0LWRhcmstcHJpbWFyeSk7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KHNreSk7XG5cdFx0XHR9XG5cblx0XHRcdCZfX3RhYi1zaWRlLWxpbmsgaSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KHdoaXRlKTsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBjb2xvci1uYW1lZCAqL1xuXHRcdFx0fVxuXG5cdFx0XHQmX19saW5rLWxpc3Qge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWludChtaWRuaWdodCk7XG5cblx0XHRcdFx0Jjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHBhaW50KG1pZG5pZ2h0KTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBwYWludChza3kpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi50YWItaGVhZC13cmFwIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuXHRcdG1hcmdpbjogMCByZW0oLTIwKTtcblxuXHRcdC50YWItaGVhZCB7XG5cdFx0XHRAaW5jbHVkZSBjZigpO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdH1cblx0fVxuXG5cdCYuaGFzLXNjcm9sbCB7XG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiByZW0oNzApO1xuXHRcdFx0aGVpZ2h0OiBjYWxjKDEwMCUgLSByZW0oOCkpO1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHBhaW50KGdyZXktNTApIDAlLCByZ2JhKHBhaW50KGdyZXktNTApLCAwKSAxMDAlKTtcblx0XHR9XG5cdH1cbn1cblxuLnRhYnMge1xuXHQmX19saW5rLWxpc3Qtd3JhcHBlciB7XG5cdFx0bWFyZ2luLXRvcDogcmVtKDI0KTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0XHRtYXJnaW46IHJlbSg0OCkgMCAwO1xuXHRcdH1cblxuXHRcdCYuaGFzLXNjcm9sbCB7XG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19saW5rLWxpc3QtdG9nZ2xlIHtcblx0XHRAaW5jbHVkZSBib2R5LXNtYWxsKGZhbHNlKTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiByZW0oOCkgcmVtKDQ2KSByZW0oOCkgcmVtKDIwKTtcblx0XHRib3JkZXItcmFkaXVzOiByZW0oNDApO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHBhaW50KGJsYWNrKTsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBjb2xvci1uYW1lZCAqL1xuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0XHQmOmZvY3VzIHtcblx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0fVxuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0QGluY2x1ZGUgaWNvbi1mb250KCRpY29uLWNoZXZyb24tZG93biwgI3tyZW0oMjApfSk7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRyaWdodDogcmVtKDE2KTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgbGluZWFyO1xuXHRcdH1cblxuXHRcdCYuYWN0aXZlOjphZnRlciB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoLTEpO1xuXHRcdH1cblx0fVxuXG5cdCZfX2xpbmstbGlzdCB7XG5cdFx0QGluY2x1ZGUgZWxldmF0aW9uO1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRtYXJnaW4tdG9wOiByZW0oNCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtKDgpO1xuXHRcdGJvcmRlcjogMC41cHggc29saWQgcGFpbnQoZ3JleS0xMDApO1xuXHRcdGJvcmRlci1yYWRpdXM6IHJlbSg2KTtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtKDgpO1xuXHRcdGJhY2tncm91bmQ6IHBhaW50KHdoaXRlKTsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBjb2xvci1uYW1lZCAqL1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiAwO1xuXHRcdHRvcDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0ei1pbmRleDogMTtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXG5cdFx0Jjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHRcdFx0aGVpZ2h0OiA0cHg7XG5cdFx0XHR3aWR0aDogNHB4O1xuXHRcdH1cblxuXHRcdCY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IHJlbSgxNik7XG5cdFx0fVxuXG5cdFx0LyogSGFuZGxlIG9uIGhvdmVyICovXG5cdFx0Ly8gJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuXHRcdC8vIH1cblx0XHQuYWN0aXZlICsgJiB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRnYXA6IHJlbSg4KTtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHRcdFx0b3ZlcmZsb3c6IGF1dG87XG5cdFx0XHR3aWR0aDogZml0LWNvbnRlbnQ7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW46IGF1dG87XG5cdFx0fVxuXG5cdFx0bGkge1xuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX2xpbmsge1xuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdHBhZGRpbmc6IHJlbSgxMik7XG5cdFx0XHRjb2xvcjogcGFpbnQodGV4dC1kYXJrLXByaW1hcnkpO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjtcblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6YWN0aXZlLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHBhaW50KGdyZXktNTApO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG5cdFx0XHRcdG1pbi13aWR0aDogcmVtKDE2MCk7XG5cdFx0XHRcdG1heC13aWR0aDogcmVtKDI0MCk7XG5cdFx0XHRcdHBhZGRpbmc6IHJlbSg4KSByZW0oMTApO1xuXHRcdFx0XHRmb250LXNpemU6IGluaGVyaXQ7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRcdFx0QGluY2x1ZGUgYm9keS1zbWFsbChmYWxzZSk7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRtYXJnaW46IDAgcmVtKDQpO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiByZW0oNDApO1xuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0JjphY3RpdmUsXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdG9wYWNpdHk6IDAuNTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcblx0XHRcdFx0bWluLXdpZHRoOiByZW0oMjAwKTtcblx0XHRcdFx0bWF4LXdpZHRoOiByZW0oMzAwKTtcblx0XHRcdFx0cGFkZGluZzogcmVtKDgpIHJlbSgyMCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5hY3RpdmUge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHRhIHtcblx0XHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGljb24tZm9udCgkaWNvbi1jaGVjaywgI3tyZW0oMjQpfSk7XG5cdFx0XHRcdFx0Y29sb3I6IHBhaW50KGdyZXktNDAwKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHBhaW50KGJsYWNrKTsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBjb2xvci1uYW1lZCAqL1xuXHRcdFx0XHRcdGNvbG9yOiBwYWludCh0ZXh0LWxpZ2h0LXByaW1hcnkpO1xuXG5cdFx0XHRcdFx0Lyogc3R5bGVsaW50LWRpc2FibGUgbWF4LW5lc3RpbmctZGVwdGggKi9cblx0XHRcdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdFx0JjphY3RpdmUsXG5cdFx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQvKiBzdHlsZWxpbnQtZW5hYmxlIG1heC1uZXN0aW5nLWRlcHRoICovXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX190YWItY29udGVudC13cmFwcGVyIHtcblx0XHRtYXJnaW46IHJlbSgzNikgcmVtKDIwKSAwO1xuXG5cdFx0QGluY2x1ZGUgaGVhZGluZ3MoKSB7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdH1cblx0fVxuXG5cdCZfX3RhYi1jb250ZW50IHtcblx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cblx0XHQmOm5vdCguYWN0aXZlKSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHRsZWZ0OiByZW0oLTk5OTkpO1xuXG5cdFx0XHQucm93ID4gKiB7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnJvdyB7XG5cdFx0XHRwYWRkaW5nOiByZXNwb25zaXZlLXZhbHVlcyg0OCwgOTYpIDA7XG5cdFx0XHRiYWNrZ3JvdW5kOiBwYWludCh3aGl0ZSk7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgY29sb3ItbmFtZWQgKi9cblxuXHRcdFx0PiAqIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGxpbmVhcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19kaXZpZGVyIHtcblx0XHRiYWNrZ3JvdW5kOiBwYWludChncmV5LTMwMCk7XG5cdFx0aGVpZ2h0OiByZW0oMSk7XG5cdFx0Zm9udC1zaXplOiAwO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0bWFyZ2luLXRvcDogcmVtKDQ3KTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRcdG1hcmdpbi10b3A6IHJlbSg3OSk7XG5cdFx0fVxuXHR9XG5cblx0Jl9fY29udGVudCB7XG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRwYWRkaW5nLXRvcDogcmVtKDIwKTtcblx0XHR9XG5cdH1cblxuXHQmX19zaWRlLWNvbnRlbnQge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0bWFyZ2luLXRvcDogcmVtKDMyKTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0fVxuXHR9XG5cblx0Jl9fc2lkZS1jb250ZW50LS1ncmlkIHtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdH1cblxuXHQmX190YWItaWNvbiB7XG5cdFx0bWFyZ2luOiByZW0oMjApIDA7XG5cdFx0ZmxleC1iYXNpczogNTAlO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG5cdFx0XHRmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLyAzKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG5cdFx0XHRtYXJnaW46IDA7XG5cblx0XHRcdCY6bnRoLWNoaWxkKG4rNCkge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiByZW0oNDApO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGZpZ2NhcHRpb24ge1xuXHRcdFx0QGluY2x1ZGUgYm9keS1zbWFsbChmYWxzZSk7XG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdH1cblx0fVxuXG5cdCZfX3RhYi1pY29uLWxpbmsge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oMTIpO1xuXHRcdHBhZGRpbmc6IHJlbSgyMCk7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgcGFpbnQoYmxhY2spOyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGNvbG9yLW5hbWVkICovXG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXG5cdFx0Jixcblx0XHQrIGZpZ2NhcHRpb24ge1xuXHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjtcblx0XHR9XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6YWN0aXZlLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHQmLFxuXHRcdFx0KyBmaWdjYXB0aW9uIHtcblx0XHRcdFx0b3BhY2l0eTogMC41O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIExpbmtpZnkgZW50aXJlIGNhcmRcblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHRvcDogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdH1cblxuXHRcdFtjbGFzc149XCJpY29uLVwiXSB7XG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oNTYpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX3NpZGUtY29udGVudC0tbGlzdCB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxuXG5cdCZfX3RhYi1zaWRlLWxpbmsge1xuXHRcdEBpbmNsdWRlIGg1KGZhbHNlKTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdHBhZGRpbmc6IHJlbSgyMCkgMDtcblx0XHRmb250LWZhbWlseTogJGZvbnQtaGVhZGxpbmVzO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR9XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6YWN0aXZlLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0b3BhY2l0eTogMC41O1xuXHRcdH1cblxuXHRcdCYgKyAmIHtcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCBwYWludChibGFjayk7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgY29sb3ItbmFtZWQgKi9cblx0XHR9XG5cblx0XHRpIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRmbGV4LXNocmluazogMDtcblx0XHRcdG1hcmdpbi1sZWZ0OiByZW0oMjApO1xuXHRcdFx0d2lkdGg6IHJlbSgyMCk7XG5cdFx0XHRoZWlnaHQ6IHJlbSgyMCk7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWludChpbnRlcmFjdGlvbik7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRcdFx0d2lkdGg6IHJlbSgzMik7XG5cdFx0XHRcdGhlaWdodDogcmVtKDMyKTtcblx0XHRcdH1cblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy9UaGlzIGZpbGUgaXMgb25seSBmb3IgbWl4aW5zLiBEb24ndCBpbmNsdWRlIGFueSBzdHlsZXMgaW4gdGhpcyBmaWxlIG9yIGVsc2UgdGhleSB3aWxsIHJlcGVhdGVkIGluIGV2ZXJ5IGJsb2NrLlxuXG5AdXNlIFwic2FzczptYXRoXCI7XG5cbkBtaXhpbiBjZiB7XG5cdCY6OmJlZm9yZSxcblx0Jjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdH1cblxuXHQmOjphZnRlciB7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdH1cbn1cblxuQGZ1bmN0aW9uIHZ3LXNpemUoJHMsICR3OiAxNDQwKSB7XG5cdEByZXR1cm4gbWF0aC5kaXYoJHMsICR3KSAqIDEwMCArIHZ3O1xufVxuXG5AbWl4aW4gaGVhZGluZ3MoICRzdGFydDogMSwgJGVuZDogNiApIHtcblx0JGhlYWRpbmdzOiBcIlwiO1xuXG5cdEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcblx0XHRAaWYgJGkgIT0gJHN0YXJ0IHtcblx0XHRcdCRoZWFkaW5nczogXCIjeyAkaGVhZGluZ3MgfSxoI3sgJGkgfSwuaCN7ICRpIH1cIjtcblx0XHR9IEBlbHNlIHtcblx0XHRcdCRoZWFkaW5nczogXCJoI3sgJGkgfSwuaCN7ICRpIH1cIjtcblx0XHR9XG5cdH1cblxuXHQjeyAkaGVhZGluZ3MgfSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIGljb24tZm9udCggJGNvbnRlbnQ6IFwiXCIsICRmb250LXNpemU6IDI0cHggKSB7XG5cdGNvbnRlbnQ6ICRjb250ZW50O1xuXHRmb250LWZhbWlseTogJGZvbnQtaWNvbmZvbnQ7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRmb250LXZhcmlhbnQ6IG5vcm1hbDtcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuQG1peGluIHJtLWJlZm9yZSgpIHtcblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuQG1peGluIHJtLWFmdGVyKCkge1xuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcblx0fVxufVxuXG5AbWl4aW4gcmVzcG9uc2l2ZS1ncmlkKCRzbTogMTIsICRtZDogMTIsICRsZzogMTIsICR4bDogMTIsICR4eGw6IDEyKSB7XG5cdHdpZHRoOiBjYWxjKHZhcigtLWNvbHVtbldpZHRoKSAqICN7JHNtfSAtIDQwcHgpO1xuXHRtYXgtd2lkdGg6IGNhbGModmFyKC0tY29sdW1uTWF4V2lkdGgpICogI3skc219IC0gNDBweCk7XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdHdpZHRoOiBjYWxjKHZhcigtLWNvbHVtbldpZHRoKSAqICN7JG1kfSAtIDMwcHgpO1xuXHRcdG1heC13aWR0aDogY2FsYyh2YXIoLS1jb2x1bW5NYXhXaWR0aCkgKiAjeyRtZH0gLSAzMHB4KTtcblx0fVxuXG5cdEBpZiAoJGxnICE9ICRtZCkge1xuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRcdHdpZHRoOiBjYWxjKHZhcigtLWNvbHVtbldpZHRoKSAqICN7JGxnfSAtIDMwcHgpO1xuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKHZhcigtLWNvbHVtbk1heFdpZHRoKSAqICN7JGxnfSAtIDMwcHgpO1xuXHRcdH1cblx0fVxuXG5cdEBpZiAoJHhsICE9ICRsZykge1xuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcblx0XHRcdHdpZHRoOiBjYWxjKHZhcigtLWNvbHVtbldpZHRoKSAqICN7JHhsfSAtIDMwcHgpO1xuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKHZhcigtLWNvbHVtbk1heFdpZHRoKSAqICN7JHhsfSAtIDMwcHgpO1xuXHRcdH1cblx0fVxuXG5cdEBpZiAoJHh4bCAhPSAkeGwpIHtcblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xuXHRcdFx0d2lkdGg6IGNhbGModmFyKC0tY29sdW1uV2lkdGgpICogI3skeHhsfSAtIDMwcHgpO1xuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKHZhcigtLWNvbHVtbk1heFdpZHRoKSAqICN7JHh4bH0gLSAzMHB4KTtcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIHNyLW9ubHkoKSB7XG5cdGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cdGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcblx0aGVpZ2h0OiAxcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0d2lkdGg6IDFweDtcbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy9UaGlzIGZpbGUgaXMgb25seSBmb3IgbWl4aW5zLiBEb24ndCBpbmNsdWRlIGFueSBzdHlsZXMgaW4gdGhpcyBmaWxlIG9yIGVsc2UgdGhleSB3aWxsIHJlcGVhdGVkIGluIGV2ZXJ5IGJsb2NrLlxuXG5AbWl4aW4gaDEoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlc3BvbnNpdmUtdmFsdWVzKDQxLCA2MCk7XG5cdGxpbmUtaGVpZ2h0OiByZXNwb25zaXZlLXZhbHVlcyg0OSwgNjgpO1xuXG5cdEBpZiAoICRtYXJnaW5zID09IGZhbHNlICkge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG5AbWl4aW4gaDIoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlc3BvbnNpdmUtdmFsdWVzKDM2LCA0OCk7XG5cdGxpbmUtaGVpZ2h0OiByZXNwb25zaXZlLXZhbHVlcyg0NCwgNTYpO1xuXG5cdEBpZiAoICRtYXJnaW5zID09IGZhbHNlICkge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG5AbWl4aW4gaDMoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlc3BvbnNpdmUtdmFsdWVzKDMwLCAzNik7XG5cdGxpbmUtaGVpZ2h0OiByZXNwb25zaXZlLXZhbHVlcygzNiwgNDQpO1xuXG5cdEBpZiAoICRtYXJnaW5zID09IGZhbHNlICkge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG5AbWl4aW4gaDQoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlc3BvbnNpdmUtdmFsdWVzKDI0LCAzMCk7XG5cdGxpbmUtaGVpZ2h0OiByZXNwb25zaXZlLXZhbHVlcygzMiwgMzYpO1xuXG5cdEBpZiAoICRtYXJnaW5zID09IGZhbHNlICkge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG5AbWl4aW4gaDUoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlc3BvbnNpdmUtdmFsdWVzKDIwLCAyNCk7XG5cdGxpbmUtaGVpZ2h0OiByZXNwb25zaXZlLXZhbHVlcygyOCwgMzIpO1xuXG5cdEBpZiAoICRtYXJnaW5zID09IGZhbHNlICkge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG5AbWl4aW4gaDYoICRtYXJnaW5zOiB0cnVlLCAkcmVtb3ZlX2hlYWRlcl9tYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXdlaWdodDogNTAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXNpemU6IHJlbSgxMik7XG5cdGxpbmUtaGVpZ2h0OiByZW0oMTYpO1xuXG5cdEBpZiAoICRtYXJnaW5zICkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgxMik7XG5cdH1cblxuXHRAaWYgKCAkcmVtb3ZlX2hlYWRlcl9tYXJnaW5zICkge1xuXHRcdCsgaDEsXG5cdFx0KyAuaDEsXG5cdFx0KyBoMixcblx0XHQrIC5oMixcblx0XHQrIGgzLFxuXHRcdCsgLmgzLFxuXHRcdCsgaDQsXG5cdFx0KyAuaDQsXG5cdFx0KyBoNSxcblx0XHQrIC5oNSxcblx0XHQrIGg2LFxuXHRcdCsgLmg2IHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBib2R5LXhsKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC1zaXplOiByZW0oMjApO1xuXHRsaW5lLWhlaWdodDogcmVtKDI4KTtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oMjgpO1xuXHR9XG59XG5cbkBtaXhpbiBib2R5LWxhcmdlKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC1zaXplOiByZW0oMTgpO1xuXHRsaW5lLWhlaWdodDogcmVtKDI4KTtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oMjgpO1xuXHR9XG59XG5cbkBtaXhpbiBib2R5LXJlZ3VsYXIoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlbSgxNik7XG5cdGxpbmUtaGVpZ2h0OiByZW0oMjQpO1xuXG5cdEBpZiAoICRtYXJnaW5zICkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlc3BvbnNpdmUtdmFsdWVzKDE2LCAyNCk7XG5cdH1cbn1cblxuQG1peGluIGJvZHktbWVkaXVtKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRsaW5lLWhlaWdodDogcmVtKDI0KTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZXNwb25zaXZlLXZhbHVlcygxNiwgMjQpO1xuXHR9XG59XG5cbkBtaXhpbiBib2R5LXNtYWxsKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC1zaXplOiByZW0oMTQpO1xuXHRsaW5lLWhlaWdodDogcmVtKDIwKTtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZXNwb25zaXZlLXZhbHVlcygxNCwgMjApO1xuXHR9XG59XG5cbkBtaXhpbiBkZXRhaWwoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlbSgxMik7XG5cdGxpbmUtaGVpZ2h0OiByZW0oMTYpO1xuXG5cdEBpZiAoICRtYXJnaW5zICkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlc3BvbnNpdmUtdmFsdWVzKDE0LCAyMCk7XG5cdH1cbn1cblxuQG1peGluIG92ZXJsaW5lKCAkbWFyZ2luczogdHJ1ZSwgJHJlbW92ZV9oZWFkZXJfbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC1zaXplOiByZW0oMTIpO1xuXHRsaW5lLWhlaWdodDogcmVtKDE2KTtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oMTIpO1xuXHR9XG5cblx0QGlmICggJHJlbW92ZV9oZWFkZXJfbWFyZ2lucyApIHtcblx0XHQrIGgxLFxuXHRcdCsgLmgxLFxuXHRcdCsgaDIsXG5cdFx0KyAuaDIsXG5cdFx0KyBoMyxcblx0XHQrIC5oMyxcblx0XHQrIGg0LFxuXHRcdCsgLmg0LFxuXHRcdCsgaDUsXG5cdFx0KyAuaDUsXG5cdFx0KyBoNixcblx0XHQrIC5oNiB7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gYm9keS0xKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0QGluY2x1ZGUgYm9keS1sYXJnZSggJG1hcmdpbnMgKTtcbn1cblxuQG1peGluIGJvZHktMiggJG1hcmdpbnM6IHRydWUgKSB7XG5cdEBpbmNsdWRlIGJvZHktcmVndWxhciggJG1hcmdpbnMgKTtcbn1cblxuQG1peGluIGxpc3QoICRtYXJnaW5zOiB0cnVlICkge1xuXHRAaW5jbHVkZSBib2R5LWxhcmdlKCAkbWFyZ2lucyApO1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRAaW5jbHVkZSBib2R5LXhsKCAkbWFyZ2lucyApO1xuXHR9XG59XG5cbkBtaXhpbiBsZWFkKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0QGluY2x1ZGUgYm9keS14bCggJG1hcmdpbnMgKTtcbn1cblxuQG1peGluIHF1b3RlKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0QGluY2x1ZGUgaDIoICRtYXJnaW5zICk7XG59XG5cbkBtaXhpbiBzdWJ0aXRsZS0xKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0QGluY2x1ZGUgYm9keS1tZWRpdW0oICRtYXJnaW5zICk7XG59XG5cbkBtaXhpbiBzdWJ0aXRsZS0yKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0QGluY2x1ZGUgYm9keS1yZWd1bGFyKCAkbWFyZ2lucyApO1xufVxuXG5AbWl4aW4gYnV0dG9uLTEge1xuXHRAaW5jbHVkZSBib2R5LW1lZGl1bShmYWxzZSk7XG59XG5cbkBtaXhpbiBidXR0b24tMiB7XG5cdEBpbmNsdWRlIGJvZHktc21hbGwoZmFsc2UpO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gY2FwdGlvbiggJG1hcmdpbnM6IHRydWUgKSB7XG5cdEBpbmNsdWRlIGJvZHktc21hbGwoICRtYXJnaW5zICk7XG59XG5cbkBtaXhpbiB0YWcoICRtYXJnaW5zOiB0cnVlICkge1xuXHRAaW5jbHVkZSBkZXRhaWwoICRtYXJnaW5zICk7XG59XG5cbkBtaXhpbiBwYWdpbmF0aW9uLW51bWJlciB7XG5cdEBpbmNsdWRlIG92ZXJsaW5lO1xufVxuIiwiJGZvbnQtaWNvbmZvbnQ6XHRcImljb25mb250LXRleHRpbGVFeGNoYW5nZVRoZW1lXCI7XG4kaWNvbmZvbnQtc2l6ZTpcdDEuNXJlbSAhZGVmYXVsdDtcblxuJGljb24tYWxlcnQtZmlsbGVkOiBcIlxcRUEwMVwiO1xuJGljb24tYWxlcnQ6IFwiXFxFQTAyXCI7XG4kaWNvbi1hbHBhY2EtcmVjeWNsZWQ6IFwiXFxFQTAzXCI7XG4kaWNvbi1hbHBhY2E6IFwiXFxFQTA0XCI7XG4kaWNvbi1hbmltYWwtZmliZXJzLXJlY3ljbGVkOiBcIlxcRUEwNVwiO1xuJGljb24tYW5pbWFsLWZpYmVyczogXCJcXEVBMDZcIjtcbiRpY29uLWFuaW1hbC13ZWxmYXJlOiBcIlxcRUEwN1wiO1xuJGljb24tYW5udWFsLXJlcG9ydDogXCJcXEVBMDhcIjtcbiRpY29uLWFycm93LWRpYWdvbmFsLXJpZ2h0OiBcIlxcRUEwOVwiO1xuJGljb24tYXJyb3ctZG93bjogXCJcXEVBMEFcIjtcbiRpY29uLWFycm93LWxlZnQ6IFwiXFxFQTBCXCI7XG4kaWNvbi1hcnJvdy1yaWdodDogXCJcXEVBMENcIjtcbiRpY29uLWFycm93LXVwOiBcIlxcRUEwRFwiO1xuJGljb24tYmlvc3ludGhldGljcy1yZWN5Y2xlZDogXCJcXEVBMEVcIjtcbiRpY29uLWJpb3N5bnRoZXRpY3M6IFwiXFxFQTBGXCI7XG4kaWNvbi1jYWxlbmRhcjogXCJcXEVBMTBcIjtcbiRpY29uLWNhc2Utc3R1ZHk6IFwiXFxFQTExXCI7XG4kaWNvbi1jZXJ0aWZpY2F0aW9uOiBcIlxcRUExMlwiO1xuJGljb24tY2hhbGxlbmdlczogXCJcXEVBMTNcIjtcbiRpY29uLWNoZWNrLWNpcmNsZS1maWxsZWQ6IFwiXFxFQTE0XCI7XG4kaWNvbi1jaGVjay1jaXJjbGU6IFwiXFxFQTE1XCI7XG4kaWNvbi1jaGVjazogXCJcXEVBMTZcIjtcbiRpY29uLWNoZXZyb24tZG93bjogXCJcXEVBMTdcIjtcbiRpY29uLWNoZXZyb24tbGVmdDogXCJcXEVBMThcIjtcbiRpY29uLWNoZXZyb24tcmlnaHQ6IFwiXFxFQTE5XCI7XG4kaWNvbi1jaGV2cm9uLXVwOiBcIlxcRUExQVwiO1xuJGljb24tY2lyY2xlOiBcIlxcRUExQlwiO1xuJGljb24tY2xvc2UtY2lyY2xlOiBcIlxcRUExQ1wiO1xuJGljb24tY2xvc2U6IFwiXFxFQTFEXCI7XG4kaWNvbi1jb21wcmVzcy1saW5lczogXCJcXEVBMUVcIjtcbiRpY29uLWNvdHRvbi1yZWN5Y2xlZDogXCJcXEVBMUZcIjtcbiRpY29uLWNvdHRvbjogXCJcXEVBMjBcIjtcbiRpY29uLWRvY3VtZW50OiBcIlxcRUEyMVwiO1xuJGljb24tZG9sbGFyOiBcIlxcRUEyMlwiO1xuJGljb24tZG93bi1yZWN5Y2xlZDogXCJcXEVBMjNcIjtcbiRpY29uLWRvd246IFwiXFxFQTI0XCI7XG4kaWNvbi1kb3dubG9hZDogXCJcXEVBMjVcIjtcbiRpY29uLWVsYXN0YW5lOiBcIlxcRUEyNlwiO1xuJGljb24tZW1haWw6IFwiXFxFQTI3XCI7XG4kaWNvbi1lcXVpdmFsZW50OiBcIlxcRUEyOFwiO1xuJGljb24tZXZhbHVhdGlvbi1hY2Nyb3NzLWZpYmVyLXR5cGVzOiBcIlxcRUEyOVwiO1xuJGljb24tZXhwYW5kLWxpbmVzOiBcIlxcRUEyQVwiO1xuJGljb24tZmFxOiBcIlxcRUEyQlwiO1xuJGljb24tZmFybTogXCJcXEVBMkNcIjtcbiRpY29uLWZpbHRlci1hbHQ6IFwiXFxFQTJEXCI7XG4kaWNvbi1maWx0ZXI6IFwiXFxFQTJFXCI7XG4kaWNvbi1maW5kLXN1cHBsaWVyOiBcIlxcRUEyRlwiO1xuJGljb24tZmxheDogXCJcXEVBMzBcIjtcbiRpY29uLWdsb2JhbC1maWJlci1pbXBhY3QtZXhwbG9yZXI6IFwiXFxFQTMxXCI7XG4kaWNvbi1oZW1wOiBcIlxcRUEzMlwiO1xuJGljb24taG9tZS1hbmQtaG9zcGl0YWxpdHk6IFwiXFxFQTMzXCI7XG4kaWNvbi1pbXBhY3QtaW5jZW50aXZlczogXCJcXEVBMzRcIjtcbiRpY29uLWluZHVzdHJ5LW1hcmtldC1yZXBvcnRzOiBcIlxcRUEzNVwiO1xuJGljb24taW5mby1jaXJjbGU6IFwiXFxFQTM2XCI7XG4kaWNvbi1rbm90OiBcIlxcRUEzN1wiO1xuJGljb24ta25vd2xlZGdlLWNlbnRyZTogXCJcXEVBMzhcIjtcbiRpY29uLWxhYmVsaW5nOiBcIlxcRUEzOVwiO1xuJGljb24tbGluazogXCJcXEVBM0FcIjtcbiRpY29uLWxpc3QtdmlldzogXCJcXEVBM0JcIjtcbiRpY29uLWxvY2F0aW9uLXBpbjogXCJcXEVBM0NcIjtcbiRpY29uLW1hZ25pZnlpbmctZ2xhc3M6IFwiXFxFQTNEXCI7XG4kaWNvbi1tYW5tYWRlLWNlbGx1bG9zaWNzLXJlY3ljbGVkOiBcIlxcRUEzRVwiO1xuJGljb24tbWFubWFkZS1jZWxsdWxvc2ljczogXCJcXEVBM0ZcIjtcbiRpY29uLW1hdGVyaWFsLWNoYW5nZS1pbmRleDogXCJcXEVBNDBcIjtcbiRpY29uLW1lbWJlci1mZWF0dXJlOiBcIlxcRUE0MVwiO1xuJGljb24tbWVudTogXCJcXEVBNDJcIjtcbiRpY29uLW1pbnVzOiBcIlxcRUE0M1wiO1xuJGljb24tbW9oYWlyLXJlY3ljbGVkOiBcIlxcRUE0NFwiO1xuJGljb24tbW9oYWlyOiBcIlxcRUE0NVwiO1xuJGljb24tbnlsb24tcmVjeWNsZWQ6IFwiXFxFQTQ2XCI7XG4kaWNvbi1ueWxvbjogXCJcXEVBNDdcIjtcbiRpY29uLW9wZW4tbmV3LXdpbmRvdzogXCJcXEVBNDhcIjtcbiRpY29uLW9yZ2FuaWMtY290dG9uOiBcIlxcRUE0OVwiO1xuJGljb24tcGhvbmU6IFwiXFxFQTRBXCI7XG4kaWNvbi1wbGFudC1maWJlcjogXCJcXEVBNEJcIjtcbiRpY29uLXBsYXk6IFwiXFxFQTRDXCI7XG4kaWNvbi1wbHVzOiBcIlxcRUE0RFwiO1xuJGljb24tcG9seWVzdGVyLXJlY3ljbGVkOiBcIlxcRUE0RVwiO1xuJGljb24tcG9seWVzdGVyOiBcIlxcRUE0RlwiO1xuJGljb24tcXVvdGU6IFwiXFxFQTUwXCI7XG4kaWNvbi1yZWNvbW1lbmRhdGlvbnM6IFwiXFxFQTUxXCI7XG4kaWNvbi1yZWN5Y2xlZDogXCJcXEVBNTJcIjtcbiRpY29uLXJlcG9ydHM6IFwiXFxFQTUzXCI7XG4kaWNvbi1yZXNwb25zaWJsZS1sZWF0aGVyLXJlY3ljbGVkOiBcIlxcRUE1NFwiO1xuJGljb24tcmVzcG9uc2libGUtbGVhdGhlcjogXCJcXEVBNTVcIjtcbiRpY29uLXJlc3BvbnNpYmxlLW1hdGVyaWFscy1yZWN5Y2xlZDogXCJcXEVBNTZcIjtcbiRpY29uLXJlc3BvbnNpYmxlLW1hdGVyaWFsczogXCJcXEVBNTdcIjtcbiRpY29uLXJpc2stYXNzZXNzbWVudDogXCJcXEVBNThcIjtcbiRpY29uLXJ1bi1vbi1nb29nbGU6IFwiXFxFQTU5XCI7XG4kaWNvbi1zZWFyY2g6IFwiXFxFQTVBXCI7XG4kaWNvbi1zb2NpYWwtZmFjZWJvb2s6IFwiXFxFQTVCXCI7XG4kaWNvbi1zb2NpYWwtZ29vZDogXCJcXEVBNUNcIjtcbiRpY29uLXNvY2lhbC1pbnN0YWdyYW06IFwiXFxFQTVEXCI7XG4kaWNvbi1zb2NpYWwtbGlua2VkaW46IFwiXFxFQTVFXCI7XG4kaWNvbi1zb2NpYWwtdHdpdHRlcjogXCJcXEVBNUZcIjtcbiRpY29uLXNvY2lhbC15b3V0dWJlOiBcIlxcRUE2MFwiO1xuJGljb24tc29pbDogXCJcXEVBNjFcIjtcbiRpY29uLXN5bnRoZXRpY3M6IFwiXFxFQTYyXCI7XG4kaWNvbi10ZXh0aWxlOiBcIlxcRUE2M1wiO1xuJGljb24tdG9vbDogXCJcXEVBNjRcIjtcbiRpY29uLXRyYXNoOiBcIlxcRUE2NVwiO1xuJGljb24tdHJpYW5nbGUtYXJyb3ctZG93bjogXCJcXEVBNjZcIjtcbiRpY29uLXRyaWFuZ2xlLWFycm93LWxlZnQ6IFwiXFxFQTY3XCI7XG4kaWNvbi10cmlhbmdsZS1hcnJvdy1yaWdodDogXCJcXEVBNjhcIjtcbiRpY29uLXRyaWFuZ2xlLWFycm93LXVwOiBcIlxcRUE2OVwiO1xuJGljb24tdXNlcjogXCJcXEVBNkFcIjtcbiRpY29uLXZpZGVvOiBcIlxcRUE2QlwiO1xuJGljb24tdmlzY29zZTogXCJcXEVBNkNcIjtcbiRpY29uLXZvbHVtZXM6IFwiXFxFQTZEXCI7XG4kaWNvbi12b2x1bnRhcnk6IFwiXFxFQTZFXCI7XG4kaWNvbi13ZWJpbmFyOiBcIlxcRUE2RlwiO1xuJGljb24td29vbC1yZWN5Y2xlZDogXCJcXEVBNzBcIjtcbiRpY29uLXdvb2w6IFwiXFxFQTcxXCI7XG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vY3NzL3NyYy9saWIvYmFzZS1pbmNsdWRlc1wiO1xuQGltcG9ydCBcIi4uLy4uL3RhYnMvc3JjL3N0eWxlXCI7XG5cbi5ibG9jay1lbWRlZC1wb3dlcmJpIHtcblx0YmFja2dyb3VuZDogcGFpbnQoY2xvdWQpO1xuXG5cdCZfX3dyYXBwZXIge1xuXHRcdHBhZGRpbmctdG9wOiByZW0oMjQpO1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0oOTYpO1xuXHR9XG5cblx0LnBvd2VyYmktZW1iZWQge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0aWZyYW1lIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cbn1cblxuXG4uYmxvY2stdGFicy5ibG9jay1lbWRlZC1wb3dlcmJpIHtcblx0cGFkZGluZzogMDtcblxuXHQudGFicyB7XG5cdFx0Jl9fbGluay1saXN0LXdyYXBwZXIge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0YmFja2dyb3VuZDogcGFpbnQoY2xvdWQpO1xuXHRcdFx0cGFkZGluZzogcmVtKDI0KSAwO1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuXHRcdFx0Ym9yZGVyLXdpZHRoOiAxcHggMDtcblx0XHR9XG5cblx0XHQmX19saW5rLWxpc3Qge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdH1cblxuXHRcdCZfbGluay0taW5uZXIge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtaW4td2lkdGg6IGF1dG87XG5cdFx0XHRoZWlnaHQ6IHJlbSg0MCk7XG5cdFx0XHRwYWRkaW5nOiByZW0oMTIpIHJlbSgyMCk7XG5cdFx0XHRmb250LXNpemU6IHJlbSgxNik7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDE2KTtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHR9XG5cblx0XHQmX190YWItY29udGVudC13cmFwcGVyIHtcblx0XHRcdG1hcmdpbjogcmVtKDU2KSByZW0oMjApIHJlbSg5Nik7XG5cdFx0fVxuXG5cdFx0Jl9fdGFiLWNvbnRlbnQgLnJvdyB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXHR9XG5cblx0LnBvd2VyYmktZW1iZWQge1xuXHRcdGhlaWdodDogMTAwdmg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0cGFkZGluZzogMDtcblx0fVxufVxuXG4uYmxvY2stY29udGVudC1zZWN0aW9uIHtcblx0LmJsb2NrLWVtZGVkLXBvd2VyYmkge1xuXHRcdCYucHQtMC5wYi0wIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cdH1cbn1cbiJdfQ== */
