/*!**********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/sass/pages/listing.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************/

.breadcrumb-item + .breadcrumb-item:before {
  display: inline-block;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }


.breadcrumb-item + .breadcrumb-item:before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 300; }


.breadcrumb-item + .breadcrumb-item:before {
  display: inline-block;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }


.breadcrumb-item + .breadcrumb-item:before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 300; }


.breadcrumb-item + .breadcrumb-item:before {
  display: inline-block;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }


.breadcrumb-item + .breadcrumb-item:before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 300; }

.card {
  --bs-card-spacer-y: 16px;
  --bs-card-spacer-y: 1rem;
  --bs-card-spacer-x: 16px;
  --bs-card-spacer-x: 1rem;
  --bs-card-title-spacer-y: 8px;
  --bs-card-title-spacer-y: 0.5rem;
  --bs-card-title-color: ;
  --bs-card-subtitle-color: ;
  --bs-card-border-width: var(--bs-border-width);
  --bs-card-border-color: var(--bs-border-color-translucent);
  --bs-card-border-radius: var(--bs-border-radius);
  --bs-card-box-shadow: ;
  --bs-card-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
  --bs-card-cap-padding-y: 8px;
  --bs-card-cap-padding-y: 0.5rem;
  --bs-card-cap-padding-x: 16px;
  --bs-card-cap-padding-x: 1rem;
  --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
  --bs-card-cap-color: ;
  --bs-card-height: ;
  --bs-card-color: ;
  --bs-card-bg: var(--bs-body-bg);
  --bs-card-img-overlay-padding: 16px;
  --bs-card-img-overlay-padding: 1rem;
  --bs-card-group-margin: 12px;
  --bs-card-group-margin: 0.75rem;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--bs-card-height);
  color: var(--bs-body-color);
  word-wrap: break-word;
  background-color: var(--bs-card-bg);
  background-clip: border-box;
  border: var(--bs-card-border-width) solid var(--bs-card-border-color);
  border-radius: var(--bs-card-border-radius); }
  .card > hr {
    margin-right: 0;
    margin-left: 0; }
  .card > .list-group {
    border-top: inherit;
    border-bottom: inherit; }
    .card > .list-group:first-child {
      border-top-width: 0;
      border-top-left-radius: var(--bs-card-inner-border-radius);
      border-top-right-radius: var(--bs-card-inner-border-radius); }
    .card > .list-group:last-child {
      border-bottom-width: 0;
      border-bottom-right-radius: var(--bs-card-inner-border-radius);
      border-bottom-left-radius: var(--bs-card-inner-border-radius); }
  .card > .card-header + .list-group,
  .card > .list-group + .card-footer {
    border-top: 0; }

.card-body {
  flex: 1 1 auto;
  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
  color: var(--bs-card-color); }

.card-title {
  margin-bottom: var(--bs-card-title-spacer-y);
  color: var(--bs-card-title-color); }

.card-subtitle {
  margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));
  margin-bottom: 0;
  color: var(--bs-card-subtitle-color); }

.card-text:last-child {
  margin-bottom: 0; }

.card-link + .card-link {
  margin-left: var(--bs-card-spacer-x); }

.card-header {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  margin-bottom: 0;
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color); }
  .card-header:first-child {
    border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0; }

.card-footer {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-top: var(--bs-card-border-width) solid var(--bs-card-border-color); }
  .card-footer:last-child {
    border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius); }

.card-header-tabs {
  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
  margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
  border-bottom: 0; }
  .card-header-tabs .nav-link.active {
    background-color: var(--bs-card-bg);
    border-bottom-color: var(--bs-card-bg); }

.card-header-pills {
  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x)); }

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: var(--bs-card-img-overlay-padding);
  border-radius: var(--bs-card-inner-border-radius); }

.card-img,
.card-img-top,
.card-img-bottom {
  width: 100%; }

.card-img,
.card-img-top {
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius); }

.card-img,
.card-img-bottom {
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius); }

.card-group > .card {
  margin-bottom: var(--bs-card-group-margin); }

.tease-grid picture {
  z-index: 1; }

.tease-grid .badge-wrapper {
  z-index: 2;
  pointer-events: none; }

.tease-grid .badge a,
.tease-grid .card-title a {
  text-decoration: none;
  pointer-events: all; }
  .tease-grid .badge a:hover, .tease-grid .badge a:focus,
  .tease-grid .card-title a:hover,
  .tease-grid .card-title a:focus {
    text-decoration: underline; }

.tease-simple a {
  z-index: 1; }

.tease-simple-realisations:hover .card-overlay {
  transform: rotateX(0); }

.tease-simple-realisations .card-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
  text-shadow: 0 0 4px #000;
  text-shadow: 0 0 0.25rem #000;
  background: rgba(0, 174, 239, 0.5);
  transition: transform ease .3s;
  transform: rotateX(90deg);
  transform-origin: bottom; }

.tease {
  width: 100%; }

.breadcrumb {
  --bs-breadcrumb-padding-x: 0;
  --bs-breadcrumb-padding-y: 0;
  --bs-breadcrumb-margin-bottom: 16px;
  --bs-breadcrumb-margin-bottom: 1rem;
  --bs-breadcrumb-font-size: 12px;
  --bs-breadcrumb-font-size: 0.75rem;
  --bs-breadcrumb-bg: ;
  --bs-breadcrumb-border-radius: ;
  --bs-breadcrumb-divider-color: var(--bs-secondary-color);
  --bs-breadcrumb-item-padding-x: 8px;
  --bs-breadcrumb-item-padding-x: 0.5rem;
  --bs-breadcrumb-item-active-color: var(--bs-body-color);
  display: flex;
  flex-wrap: wrap;
  padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
  margin-bottom: var(--bs-breadcrumb-margin-bottom);
  font-size: var(--bs-breadcrumb-font-size);
  list-style: none;
  background-color: var(--bs-breadcrumb-bg);
  border-radius: var(--bs-breadcrumb-border-radius); }

.breadcrumb-item + .breadcrumb-item {
  padding-left: var(--bs-breadcrumb-item-padding-x); }
  .breadcrumb-item + .breadcrumb-item:before {
    float: left;
    padding-right: var(--bs-breadcrumb-item-padding-x);
    color: var(--bs-breadcrumb-divider-color);
    content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */; }

.breadcrumb-item.active {
  color: var(--bs-breadcrumb-item-active-color); }

.breadcrumbs {
  position: relative;
  max-width: 100vw;
  margin-right: -12px;
  margin-right: -0.75rem;
  margin-left: -12px;
  margin-left: -0.75rem; }
  .breadcrumbs .breadcrumb {
    flex-wrap: nowrap;
    padding: 12px;
    padding: 0.75rem;
    margin: unset;
    overflow-x: auto; }
    .breadcrumbs .breadcrumb:before, .breadcrumbs .breadcrumb:after {
      position: absolute;
      top: 0;
      display: block;
      height: 100%;
      pointer-events: none;
      content: ""; }
    .breadcrumbs .breadcrumb:before {
      left: 0;
      width: 16px;
      width: 1rem;
      background-image: linear-gradient(90deg, var(--alpha-breadcrumbs-mobile-shadow-color) 0, var(--alpha-breadcrumbs-mobile-shadow-color-end)); }
    .breadcrumbs .breadcrumb:after {
      right: 0;
      width: 32px;
      width: 2rem;
      background-image: linear-gradient(90deg, var(--alpha-breadcrumbs-mobile-shadow-color-end) 0, var(--alpha-breadcrumbs-mobile-shadow-color)); }
  .breadcrumbs.on-featured {
    --alpha-breadcrumbs-mobile-shadow-color: #000;
    --alpha-breadcrumbs-mobile-shadow-color-end: rgba(0, 0, 0, 0);
    top: var(--featured-image-height);
    z-index: 10;
    transform: translateY(-100%); }
    .breadcrumbs.on-featured .breadcrumb {
      --bs-breadcrumb-divider-color: currentcolor;
      --bs-breadcrumb-item-active-color: currentcolor; }
      .breadcrumbs.on-featured .breadcrumb:before, .breadcrumbs.on-featured .breadcrumb:after {
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
        opacity: .75; }
  .breadcrumbs.dark {
    --bs-link-color-rgb: 255, 255, 255; }
    .breadcrumbs.dark a:hover {
      --bs-link-color-rgb: 247, 247, 247; }

.breadcrumbs-on-featured:not(.has-transparent-header) .breadcrumbs {
  top: calc(var(--header-height) + var(--featured-image-height));
  transition: top .3s ease; }

.breadcrumbs-on-featured.search .content-wrapper {
  padding-top: 32px;
  padding-top: 2rem; }

.breadcrumb-item {
  white-space: nowrap; }
  .breadcrumb-item + .breadcrumb-item:before {
    content: "\f105";
    margin-right: 0;
    line-height: var(--bs-body-line-height); }
  .breadcrumb-item + .breadcrumb-item:before {
    float: unset;
    padding-right: 4px;
    padding-right: .25rem; }
  .breadcrumb-item.active span {
    font-weight: 700; }

.pagination-information {
  font-size: 12.8px;
  font-size: .8rem; }

.pagination .page-item {
  display: flex; }

.pagination .page-link {
  display: flex;
  align-items: center; }

.actualites-shell {
  gap: 28px; }
  .actualites-shell .sr-title {
    text-wrap: wrap; }

.actualites-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: 28px;
  margin: 0; }
  .actualites-grid .tease-item {
    display: block !important; }

.actualite {
  display: flex;
  flex-direction: column;
  gap: 18px;
  cursor: pointer; }
  .actualite:hover .actualite-image img {
    transform: scale(1.06); }

.actualite-media {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #e2e0d9;
  border-radius: 12px; }

.actualite-image {
  position: absolute;
  inset: 0; }
  .actualite-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition: transform 1s cubic-bezier(0.2, 0.8, 0.2, 1); }

.actualite-cat {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 8px 13px;
  font-size: 12px; }

.actualite-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 14px;
  border-top: 1px solid rgba(11, 29, 51, 0.14); }

.actualite-date {
  font-size: 13px;
  color: #5b6066; }

.actualite-title {
  margin: 0;
  font-family: "Playfair Display", georgia, serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.15;
  text-wrap: pretty;
  letter-spacing: -.01em; }

.article-card-link {
  display: flex;
  flex-direction: column;
  gap: 18px;
  color: #0b1d33; }
  .article-card-link:hover {
    color: #0b1d33; }
    .article-card-link:hover .article-card-more {
      gap: 12px; }

.article-card-excerpt {
  font-size: 15px;
  line-height: 1.6;
  color: #5b6066; }

.article-card-more {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  margin-top: 6px;
  font-size: 14px;
  font-weight: 700;
  color: #0089C7;
  transition: gap .25s; }

.contact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
  gap: 12px; }

.contact-card {
  gap: 36px;
  padding: clamp(28px, 4vw, 56px);
  color: #fff;
  background: #0b1d33;
  border-radius: 12px; }
  .contact-card .sr-title {
    font-size: clamp(36px, 4.4vw, 60px); }

.contact-intro {
  gap: 18px; }

.contact-lead {
  max-width: 460px;
  color: #bcc8d6; }

.contact-film {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  padding: 0;
  overflow: hidden;
  color: #fff;
  text-align: left;
  cursor: pointer;
  background: #000;
  border: 0;
  border-radius: 12px; }
  .contact-film:after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.7), transparent 55%); }
  .contact-film:hover .contact-film-thumb img, .contact-film:focus-visible .contact-film-thumb img {
    transform: scale(1.04); }
  .contact-film:hover .contact-film-play, .contact-film:focus-visible .contact-film-play {
    scale: 1.1; }
  .contact-film:focus-visible {
    outline: 3px solid #8fdbf7;
    outline-offset: 3px; }

.contact-film-thumb {
  position: absolute;
  inset: 0; }
  .contact-film-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition: transform 1s cubic-bezier(0.2, 0.8, 0.2, 1); }

.contact-film-play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: clamp(60px, 6vw, 80px);
  aspect-ratio: 1;
  background: #0089C7;
  border-radius: 50%;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.4);
  transition: scale 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  translate: -50% -50%; }
  .contact-film-play:before {
    position: absolute;
    top: 50%;
    left: 55%;
    width: 30%;
    aspect-ratio: 1;
    -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
            clip-path: polygon(0 0, 100% 50%, 0 100%);
    content: "";
    background: #fff;
    translate: -50% -50%; }
  .contact-film-play:after {
    position: absolute;
    inset: 0;
    content: "";
    border: 2px solid #0089C7;
    border-radius: 50%;
    animation: video-play-halo 1.8s ease-out infinite; }

.contact-film-text {
  position: absolute;
  right: 20px;
  bottom: 18px;
  left: 20px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 4px; }

.contact-film-eyebrow {
  font-size: 12px;
  font-weight: 700;
  color: #8fdbf7;
  text-transform: uppercase;
  letter-spacing: .14em; }

.contact-film-title {
  font-family: "Playfair Display", georgia, serif;
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.15; }

.contact-lignes {
  gap: 8px; }
  .contact-lignes .sr-ligne-inner {
    padding: 18px 22px;
    color: #fff;
    background: rgba(255, 255, 255, 0.07);
    transition: background-color .25s; }
    .contact-lignes .sr-ligne-inner:hover {
      color: #fff;
      background: rgba(255, 255, 255, 0.14); }
  .contact-lignes .sr-ligne-label {
    flex: none;
    font-size: 14px;
    color: #bcc8d6; }
  .contact-lignes .sr-ligne-value {
    min-width: 0;
    font-size: clamp(15px, 4vw, 17px);
    font-weight: 700;
    text-align: right;
    overflow-wrap: anywhere; }
    .contact-lignes .sr-ligne-value a {
      color: inherit; }
      .contact-lignes .sr-ligne-value a:after {
        position: absolute;
        inset: 0;
        content: ""; }
  .contact-lignes .is-light .sr-ligne-inner {
    color: #0b1d33;
    background: #fff; }
    .contact-lignes .is-light .sr-ligne-inner:hover {
      color: #0b1d33;
      background: #8fdbf7; }
    .contact-lignes .is-light .sr-ligne-inner .sr-ligne-label {
      font-weight: 600;
      color: #0b1d33; }
    .contact-lignes .is-light .sr-ligne-inner .sr-ligne-value {
      font-size: 15px; }

.contact-form-card {
  gap: 14px;
  padding: clamp(24px, 4vw, 48px);
  background: #fff;
  border-radius: 12px; }

.expertises-shell {
  gap: 28px; }
  .expertises-shell .sr-head {
    gap: 16px; }
  .expertises-shell .sr-head-title {
    max-width: 700px; }

.expertises.is-p .sr-seg-b,
.expertises.is-b .sr-seg-p {
  display: none !important; }

.expertises-side {
  gap: 10px; }
  .expertises-side .sr-lead {
    max-width: 400px; }

.expertises .sr-segmented .btn-segment.segment-p[aria-selected="true"] {
  --bs-btn-bg: #0089C7;
  --bs-btn-color: #fff;
  --bs-btn-hover-bg: #0089C7;
  --bs-btn-hover-color: #fff; }

.expertises .sr-segmented .btn-segment.segment-b[aria-selected="true"] {
  --bs-btn-bg: #0b1d33;
  --bs-btn-color: #fff;
  --bs-btn-hover-bg: #0b1d33;
  --bs-btn-hover-color: #fff; }

.expertises-panel {
  --expertises-accent: #0089C7;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  padding: 12px;
  overflow: hidden;
  background-color: var(--expertises-accent);
  background-image: linear-gradient(rgba(0, 58, 92, 0.6), rgba(0, 58, 92, 0.6)), var(--expertises-texture, none);
  background-repeat: repeat;
  background-position: center;
  background-size: auto, 420px auto;
  isolation: isolate;
  border-radius: 12px; }
  .expertises-panel.sr-seg-b {
    --expertises-accent: #0b1d33;
    background-image: linear-gradient(rgba(7, 20, 35, 0.5), rgba(7, 20, 35, 0.5)), var(--expertises-texture, none);
    background-size: auto, cover; }

.expertises-panel-text {
  gap: 28px;
  min-height: 360px;
  padding: clamp(24px, 3vw, 44px) clamp(16px, 2vw, 32px);
  color: #fff; }

.expertises-panel-copy {
  gap: 14px; }

.expertises-panel-title {
  margin: 0;
  font-family: "Playfair Display", georgia, serif;
  font-size: clamp(28px, 2.8vw, 44px);
  font-weight: 500;
  line-height: 1;
  text-wrap: balance;
  letter-spacing: -.01em; }

.expertises-panel-desc {
  max-width: 420px;
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";
  opacity: .9; }

.expertises-panel-actions {
  gap: 18px; }

.expertises-all {
  --bs-btn-border-width: 0;
  --bs-btn-color: var(--expertises-accent);
  --bs-btn-hover-color: var(--expertises-accent);
  --bs-btn-hover-bg: #fff;
  --bs-btn-border-color: #fff;
  --bs-btn-hover-border-color: #fff;
  --bs-btn-font-weight: 700; }

.expertises-nav {
  gap: 10px; }

.expertises-count {
  margin-left: 6px;
  font-family: "Playfair Display", georgia, serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -.02em; }

.expertises-count-total {
  font-size: 14px;
  font-weight: 600;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
  opacity: .75; }

.expertises-track {
  --swiper-navigation-size: 0px;
  align-self: start;
  min-width: 0;
  margin: 0;
  overflow: hidden; }
  .expertises-track:not(.swiper-initialized) {
    display: flex;
    gap: 12px; }
  .expertises-track swiper-slide,
  .expertises-track .tease-item {
    align-items: flex-start !important;
    width: max(220px, 100vw - 80px);
    height: auto; }

.expertise-card {
  width: 100%; }

.expertise-link {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 400px;
  overflow: hidden;
  color: #fff;
  text-align: left;
  background: #062b4a;
  border-radius: 12px;
  transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1); }
  .expertise-link:before {
    position: absolute;
    inset: 0;
    z-index: 1;
    content: "";
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.05) 30%, rgba(0, 0, 0, 0.8) 100%); }
  .expertise-link:hover {
    color: #fff;
    transform: translateY(-4px); }

.expertise-image {
  position: absolute;
  inset: 0; }
  .expertise-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; }

.expertise-arrow {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  font-size: 16px;
  color: #0089C7;
  background: rgba(255, 255, 255, 0.94);
  border-radius: 12px; }

.expertise-body {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 22px; }

.expertise-title {
  font-family: "Playfair Display", georgia, serif;
  font-size: clamp(22px, 1.7vw, 28px);
  font-weight: 500;
  line-height: 1.05;
  text-wrap: balance;
  letter-spacing: -.02em; }

.expertise-text {
  font-size: 14px;
  line-height: 1.5;
  color: #d9e6f0; }

.presta-hero {
  padding-top: clamp(40px, 4vw, 64px); }

.presta-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr); }
  .presta-hero-grid .presta-hero-text {
    max-width: 980px; }

.presta-hero-text {
  gap: 24px;
  min-width: 0;
  padding: 0 8px; }

.presta-hero-heading {
  gap: 18px; }

.presta-title {
  font-size: clamp(40px, 5.4vw, 82px);
  line-height: .98;
  letter-spacing: -.02em; }

.presta-lead {
  max-width: 580px; }
  .presta-lead p {
    margin: 0;
    font-size: clamp(17px, 1.25vw, 19px);
    line-height: 1.6;
    color: #3d434a; }
    .presta-lead p + p {
      margin-top: .8em; }
  .presta-lead a {
    color: inherit; }

.presta-breadcrumb .breadcrumbs {
  position: static !important;
  top: auto !important;
  width: auto;
  max-width: none;
  margin: 0;
  color: #5b6066;
  background: none;
  transform: none; }

.presta-breadcrumb .breadcrumb {
  flex-wrap: wrap;
  gap: 4px 0;
  padding: 0;
  font-size: 13px;
  color: #5b6066; }
  .presta-breadcrumb .breadcrumb:before, .presta-breadcrumb .breadcrumb:after {
    display: none; }

.presta-breadcrumb .breadcrumb-item {
  white-space: normal; }
  .presta-breadcrumb .breadcrumb-item + .breadcrumb-item:before {
    padding-right: 8px;
    padding-left: 0;
    color: #a3a8ad;
    content: "/"; }
  .presta-breadcrumb .breadcrumb-item a {
    color: inherit;
    transition: color .2s; }
    .presta-breadcrumb .breadcrumb-item a:hover {
      color: #0089C7; }
  .presta-breadcrumb .breadcrumb-item.active span {
    font-weight: 600;
    color: #0b1d33; }

.presta-prose {
  max-width: 720px;
  font-size: 17px;
  line-height: 1.75;
  color: #3d434a; }
  .presta-prose p,
  .presta-prose ul,
  .presta-prose ol {
    margin: 0 0 1.1em; }
    .presta-prose p:last-child,
    .presta-prose ul:last-child,
    .presta-prose ol:last-child {
      margin-bottom: 0; }
  .presta-prose ul,
  .presta-prose ol {
    padding-left: 1.2em; }
  .presta-prose li::marker {
    color: #0089C7; }
  .presta-prose h3 {
    margin: 1.6em 0 .6em;
    font-family: "Playfair Display", georgia, serif;
    font-size: 24px;
    font-weight: 500;
    color: #0b1d33; }
  .presta-prose strong {
    font-weight: 600;
    color: #0b1d33; }
  .presta-prose a {
    font-weight: 600;
    color: #0089C7;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
    transition: color .2s; }
    .presta-prose a:hover {
      color: #0b1d33; }

.liste-filtres {
  gap: 8px;
  margin: 4px 0 0; }
  .liste-filtres .tease-item {
    display: block !important; }

.liste-filtre-link {
  --bs-btn-bg: #fff;
  --bs-btn-color: #0b1d33;
  --bs-btn-border-color: #d9d6ce;
  --bs-btn-hover-bg: #eae8e1;
  --bs-btn-hover-color: #0b1d33;
  --bs-btn-hover-border-color: #d9d6ce; }
  .is-active .liste-filtre-link {
    --bs-btn-bg: #0b1d33;
    --bs-btn-color: #fff;
    --bs-btn-border-color: #0b1d33;
    --bs-btn-hover-bg: #0b1d33;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-border-color: #0b1d33; }

.liste-pagination ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none; }

.liste-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  height: 48px;
  padding: 0 14px;
  font-weight: 600;
  color: #0b1d33;
  background: #fff;
  border: 1px solid #d9d6ce;
  border-radius: 12px; }
  .liste-pagination .page-numbers.current {
    color: #fff;
    background: #0b1d33;
    border-color: #0b1d33; }

.page-prose {
  max-width: 860px; }
  .page-prose h2,
  .page-prose h3 {
    margin: 1.8em 0 .6em;
    font-family: "Playfair Display", georgia, serif;
    font-weight: 500;
    line-height: 1.1;
    color: #0b1d33;
    text-transform: none;
    letter-spacing: -.01em; }
  .page-prose h2 {
    font-size: clamp(26px, 2.4vw, 36px); }
  .page-prose h3 {
    font-size: 22px; }
  .page-prose > :first-child {
    margin-top: 0; }

.liste-grid {
  grid-template-columns: minmax(0, 1fr); }

.presta-intro {
  padding-top: clamp(56px, 7vw, 96px); }

.intro-shell {
  gap: clamp(40px, 5vw, 64px); }

.intro-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr));
  gap: clamp(32px, 6vw, 120px);
  align-items: start; }

.intro-statement .sr-fill-word {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=NaN)";
  opacity: calc(0.16 + var(--word-on, 1) * 0.84);
  transition: opacity .2s linear; }

.intro-statement {
  margin: 0;
  font-family: "Playfair Display", georgia, serif;
  font-size: clamp(26px, 2.8vw, 40px);
  font-weight: 500;
  line-height: 1.25;
  color: #0b1d33;
  text-wrap: pretty;
  letter-spacing: -.01em; }
  .intro-statement a {
    color: #0089C7;
    border-bottom: 1px solid; }

.intro-side {
  gap: 22px;
  padding-top: 8px; }

.intro-text,
.chapitre-prose {
  font-size: 17px;
  line-height: 1.75;
  color: #5b6066;
  text-wrap: pretty; }
  .intro-text p,
  .chapitre-prose p {
    margin: 0 0 18px; }
    .intro-text p:last-child,
    .chapitre-prose p:last-child {
      margin-bottom: 0; }
  .intro-text a,
  .chapitre-prose a {
    font-weight: 600;
    color: #0089C7;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px; }
    .intro-text a:hover,
    .chapitre-prose a:hover {
      color: #0b1d33; }
  .intro-text strong,
  .chapitre-prose strong {
    font-weight: 600;
    color: #0b1d33; }
  .intro-text ul,
  .intro-text ol,
  .chapitre-prose ul,
  .chapitre-prose ol {
    padding-left: 1.2em;
    margin: 0 0 18px; }
  .intro-text li::marker,
  .chapitre-prose li::marker {
    color: #0089C7; }

.intro-checks,
.maillage-chips {
  gap: 6px;
  margin: 0; }
  .intro-checks .tease-item,
  .maillage-chips .tease-item {
    display: block !important; }

.intro-check {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 600;
  color: #0b1d33;
  background: #fff;
  border-radius: 12px;
  transition: background-color 0.35s, color 0.35s, translate 0.35s cubic-bezier(0.16, 1, 0.3, 1); }
  .intro-check:hover {
    color: #fff;
    background: #0b1d33;
    translate: 0 -2px; }
    .intro-check:hover .intro-check-mark {
      color: #8fdbf7; }

.intro-check-mark {
  color: #0089C7; }

.presta-essentiel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(140px, 220px) 1fr;
  gap: clamp(16px, 4vw, 64px);
  align-items: start;
  padding: clamp(24px, 4vw, 48px) clamp(22px, 4vw, 56px);
  overflow: hidden;
  color: #fff;
  background: #0b1d33;
  border-radius: 12px; }
  .presta-essentiel:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    content: "";
    background: linear-gradient(90deg, #0089C7, #8fdbf7); }

.presta-essentiel-label {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  color: #8fdbf7;
  text-transform: uppercase;
  letter-spacing: .24em; }
  .presta-essentiel-label:before {
    flex: 0 0 auto;
    width: 28px;
    height: 1px;
    content: "";
    background: currentcolor; }

.presta-essentiel-text {
  max-width: 980px;
  margin: 0;
  font-family: "Playfair Display", georgia, serif;
  font-size: clamp(19px, 1.7vw, 24px);
  line-height: 1.5;
  text-wrap: pretty; }
  .presta-essentiel-text strong {
    font-weight: 600;
    color: #8fdbf7; }

.intro-figures {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
  gap: 12px;
  margin: 0; }
  .intro-figures .tease-item {
    display: block !important; }

.intro-figure {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 22px;
  border-top: 1.5px solid #0b1d33; }
  .intro-figure:before {
    position: absolute;
    top: -1.5px;
    left: 0;
    width: 100%;
    height: 1.5px;
    content: "";
    background: #0089C7;
    transition: scale 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    transform-origin: 0 50%;
    scale: 0 1; }
  .intro-figure:hover:before {
    scale: 1 1; }
  .intro-figure:hover .intro-figure-value {
    translate: 6px 0; }

.intro-figure-value {
  font-family: "Playfair Display", georgia, serif;
  font-size: clamp(40px, 4vw, 60px);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  color: #0089C7;
  letter-spacing: -.03em;
  transition: translate 0.6s cubic-bezier(0.16, 1, 0.3, 1); }

.intro-figure-label {
  font-size: 15px;
  font-weight: 600;
  color: #5b6066; }

@property --fill-hover {
  syntax: "<number>";
  inherits: true;
  initial-value: 0; }

.presta-chapitres {
  padding-top: clamp(56px, 7vw, 96px); }

.chapitres {
  display: flex;
  flex-direction: column;
  gap: clamp(72px, 8vw, 128px);
  margin: 0 auto; }
  .chapitres > .tease-item {
    display: block !important; }

.chapitre {
  --pi-num-size: clamp(64px, 8vw, 120px);
  --pi-num-gap: clamp(16px, 3vw, 48px);
  --fill-scroll: 0;
  display: flex;
  flex-direction: column;
  gap: clamp(28px, 3.4vw, 48px);
  padding-top: 24px;
  scroll-margin-top: 110px;
  border-top: 1px solid rgba(11, 29, 51, 0.14);
  transition: --fill-hover 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
  .chapitre:hover {
    --fill-hover: 1; }

.chapitre-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(16px, 3vw, 48px);
  align-items: start; }

.chapitre-num {
  --fill: max(var(--fill-scroll), var(--fill-hover));
  min-width: 1.2em;
  font-family: "Playfair Display", georgia, serif;
  font-size: clamp(64px, 8vw, 120px);
  line-height: .8;
  color: transparent;
  letter-spacing: -.04em;
  background: linear-gradient(0deg, #0089C7 calc(var(--fill) * 100%), transparent calc(var(--fill) * 100%));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-stroke: 1.5px #0089C7; }

.chapitre-head-text {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: 900px; }

.chapitre-surtitle {
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: 12px;
  font-weight: 600;
  color: #0089C7;
  text-transform: uppercase;
  letter-spacing: .22em; }
  .chapitre-surtitle:after {
    width: 0;
    height: 1px;
    content: "";
    background: currentcolor;
    transition: width 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
  .chapitre:hover .chapitre-surtitle:after {
    width: 48px; }

.chapitre-title {
  margin: 0;
  font-family: "Playfair Display", georgia, serif;
  font-size: clamp(30px, 3.8vw, 58px);
  font-weight: 500;
  line-height: 1.02;
  color: #0b1d33;
  text-wrap: balance;
  letter-spacing: -.015em; }
  .chapitre-title em {
    font-style: italic;
    color: #0089C7; }

.chapitre-lead {
  max-width: 760px;
  margin: 0;
  font-size: clamp(18px, 1.5vw, 21px);
  line-height: 1.55;
  color: #0b1d33;
  text-wrap: pretty; }
  .chapitre-lead a {
    color: #0089C7; }

.chapitre-lead-lg {
  max-width: none;
  font-family: "Playfair Display", georgia, serif;
  font-size: clamp(24px, 2.3vw, 34px);
  line-height: 1.3;
  letter-spacing: -.01em; }

.chapitre-prose a,
.chapitre-lead a,
.intro-text a,
.intro-statement a,
.chapitre-card-text a,
.maillage-text a {
  color: #0089C7;
  text-decoration: none;
  background: linear-gradient(currentcolor, currentcolor) 0 100%/100% 1px no-repeat;
  border: 0;
  transition: background-size 0.5s cubic-bezier(0.16, 1, 0.3, 1), color 0.3s; }
  .chapitre-prose a:hover,
  .chapitre-lead a:hover,
  .intro-text a:hover,
  .intro-statement a:hover,
  .chapitre-card-text a:hover,
  .maillage-text a:hover {
    color: #0b1d33;
    background-position: 100% 100%;
    background-size: 0 1px; }

.chapitre-prose {
  max-width: 680px; }

.chapitre-wide {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
  gap: 24px clamp(32px, 5vw, 96px);
  align-items: start; }
  .chapitre-wide .chapitre-prose {
    padding-top: 10px; }

.chapitre-cols {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
  gap: clamp(32px, 5vw, 96px);
  align-items: stretch; }

.chapitre-side {
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 3vw, 36px); }
  .chapitre-side .chapitre-title {
    font-size: clamp(28px, 3vw, 46px); }

.chapitre-figure {
  position: relative;
  display: flex;
  flex-direction: column;
  margin: 0; }
  .chapitre-figure.is-tall {
    min-height: clamp(420px, 44vw, 720px); }
  .chapitre-figure.is-posed {
    min-height: clamp(380px, 38vw, 600px);
    margin: 0 16px 16px 0;
    border-radius: 12px;
    box-shadow: 16px 16px 0 -1px #F4F3EF, 16px 16px 0 0 #0089C7;
    transition: box-shadow 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
    .chapitre-figure.is-posed:hover {
      box-shadow: 24px 24px 0 -1px #F4F3EF, 24px 24px 0 0 #0089C7; }
  .chapitre-figure:hover .chapitre-figure-image img {
    scale: 1.06; }
  .chapitre-figure:hover .chapitre-figure-chip {
    translate: 0 -6px; }

.chapitre-figure-frame {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: #e2e0d9;
  border-radius: 12px; }

.chapitre-figure-image,
.chapitre-band-image,
.chantier-card-image {
  position: absolute;
  inset: -8% 0; }
  .chapitre-figure-image,
  .chapitre-figure-image img,
  .chapitre-band-image,
  .chapitre-band-image img,
  .chantier-card-image,
  .chantier-card-image img {
    width: 100%;
    height: 116%; }
  .chapitre-figure-image img,
  .chapitre-band-image img,
  .chantier-card-image img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition: scale 1.4s cubic-bezier(0.16, 1, 0.3, 1); }

.chapitre-figure-chip {
  position: absolute;
  bottom: 16px;
  left: 16px;
  z-index: 1;
  display: flex;
  gap: 8px;
  align-items: center;
  max-width: calc(100% - 32px);
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 600;
  color: #0b1d33;
  background: rgba(255, 255, 255, 0.94);
  border-radius: 12px;
  transition: translate 0.6s cubic-bezier(0.16, 1, 0.3, 1); }

.chapitre-figure-dot {
  flex: none;
  width: 8px;
  height: 8px;
  background: #0089C7;
  border-radius: 50%;
  animation: pi-pulse 2.4s ease-in-out infinite; }

@keyframes pi-pulse {
  50% {
    box-shadow: 0 0 0 6px rgba(0, 137, 199, 0.18); } }

.chapitre-aside {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding: 20px;
  margin: auto 0 0;
  font-size: 15px;
  line-height: 1.55;
  color: #5b6066;
  background: #fff;
  border-radius: 12px;
  transition: translate 0.5s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.5s; }
  .chapitre-aside strong {
    font-weight: 700;
    color: #0b1d33; }
  .chapitre-aside:hover {
    box-shadow: 0 24px 50px -30px rgba(11, 29, 51, 0.35);
    translate: 0 -4px; }

.chapitre-aside-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  color: #0089C7;
  background: #ddf1fa;
  border-radius: 12px;
  transition: background-color .4s, color .4s; }
  .chapitre-aside:hover .chapitre-aside-icon {
    color: #fff;
    background: #0089C7; }

.chapitre-cards-head {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr));
  gap: 24px clamp(32px, 5vw, 96px);
  align-items: end; }

.chapitre-cards {
  --cards: 3;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 12px;
  padding: 0;
  margin: 0;
  list-style: none;
  counter-reset: card; }

.chapitre-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: clamp(22px, 2.4vw, 36px);
  overflow: hidden;
  background: #fff;
  border-radius: 12px;
  transition: translate 0.6s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.6s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.6s; }
  .chapitre-card:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    content: "";
    background: #0089C7;
    transition: scale 0.7s cubic-bezier(0.16, 1, 0.3, 1);
    transform-origin: 0 50%;
    scale: 0 1; }
  .chapitre-card:hover {
    box-shadow: 0 32px 60px -36px rgba(11, 29, 51, 0.4);
    translate: 0 -6px; }
    .chapitre-card:hover:after {
      scale: 1 1; }
    .chapitre-card:hover .chapitre-card-num {
      color: #fff;
      background: #0089C7; }

.chapitre-card-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  font-family: "Playfair Display", georgia, serif;
  font-size: 17px;
  font-weight: 600;
  color: #0089C7;
  background: #ddf1fa;
  border-radius: 12px;
  transition: background-color .4s, color .4s; }

.chapitre-card-text {
  margin: auto 0 0;
  font-size: 16px;
  line-height: 1.7;
  color: #5b6066; }

.chapitre-card-title {
  display: block;
  margin-bottom: 8px;
  font-family: "Playfair Display", georgia, serif;
  font-size: clamp(22px, 1.8vw, 28px);
  font-weight: 500;
  line-height: 1.15;
  color: #0b1d33; }

.chapitre-split {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr));
  gap: 28px clamp(32px, 6vw, 120px);
  align-items: start; }

.chapitre-split-body {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-top: 8px; }
  .chapitre-split-body .chapitre-prose {
    max-width: 720px;
    padding-left: 24px;
    border-left: 2px solid rgba(0, 137, 199, 0.25);
    transition: border-color .5s; }
  .chapitre-split-body:hover .chapitre-prose {
    border-color: #0089C7; }

.chapitre-steps {
  padding: 0;
  margin: 0;
  list-style: none; }

.chapitre-step {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: baseline;
  padding: 18px 0;
  border-top: 1px solid rgba(11, 29, 51, 0.14);
  transition: padding-left 0.5s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.5s; }
  .chapitre-step:hover {
    padding-left: 12px; }
    .chapitre-step:hover .chapitre-step-num {
      color: #0b1d33; }

.chapitre-step-num {
  font-family: "Playfair Display", georgia, serif;
  font-size: 15px;
  font-weight: 600;
  color: #0089C7;
  transition: color .3s; }

.chapitre-step-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 15px;
  line-height: 1.55;
  color: #5b6066; }
  .chapitre-step-text strong {
    font-size: 17px;
    font-weight: 600;
    color: #0b1d33; }

.chapitre-cta {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 24px;
  justify-content: flex-end;
  min-height: 460px;
  padding: clamp(28px, 4vw, 56px);
  overflow: hidden;
  color: #fff;
  background: linear-gradient(160deg, #00AEEF 0%, #0089C7 45%, #004f7d 100%);
  background-size: 140% 140%;
  isolation: isolate;
  border-radius: 12px;
  transition: background-position 1.2s cubic-bezier(0.16, 1, 0.3, 1); }
  .chapitre-cta:before {
    position: absolute;
    top: -60px;
    right: -80px;
    z-index: -1;
    width: 380px;
    height: 280px;
    -webkit-clip-path: polygon(0 0, 38% 0, 50% 22%, 62% 0, 100% 0, 50% 100%);
            clip-path: polygon(0 0, 38% 0, 50% 22%, 62% 0, 100% 0, 50% 100%);
    content: "";
    background: rgba(255, 255, 255, 0.08);
    transition: translate 1.2s cubic-bezier(0.16, 1, 0.3, 1), rotate 1.2s cubic-bezier(0.16, 1, 0.3, 1); }
  .chapitre-cta:hover {
    background-position: 100% 100%; }
    .chapitre-cta:hover:before {
      rotate: -6deg;
      translate: -30px 20px; }

.chapitre-cta-text {
  margin: 0;
  font-family: "Playfair Display", georgia, serif;
  font-size: clamp(26px, 2.4vw, 36px);
  line-height: 1.2;
  text-wrap: balance; }

.chapitre-cta-actions {
  gap: 10px; }

.chapitre-band {
  --band-inset: 0%;
  position: relative;
  display: flex;
  align-items: flex-end;
  --pi-gutter: clamp(12px, 2vw, 24px);
  width: calc(100vw - var(--pi-gutter) * 2);
  min-height: clamp(360px, 42vw, 820px);
  margin: 0 0 0 calc(50% - 50vw + var(--pi-gutter));
  overflow: hidden;
  -webkit-clip-path: inset(var(--band-inset) round 12px);
          clip-path: inset(var(--band-inset) round 12px);
  color: #fff;
  background: #0b1d33;
  isolation: isolate;
  border-radius: 12px; }

.chapitre-band-frame {
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden; }

.chapitre-band-shade {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(11, 29, 51, 0) 30%, rgba(11, 29, 51, 0.85) 100%); }

.chapitre-band-content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
  gap: 24px;
  align-items: end;
  width: 100%;
  --pi-pad: clamp(24px, 4vw, 64px);
  max-width: calc(1600px + var(--pi-pad) * 2);
  padding: var(--pi-pad);
  margin: 0 auto; }

.chapitre-band-quote {
  max-width: 18ch;
  font-family: "Playfair Display", georgia, serif;
  font-size: clamp(28px, 3.2vw, 52px);
  line-height: 1.15;
  text-wrap: balance;
  letter-spacing: -.01em; }
  .chapitre-band-quote em {
    font-style: italic;
    color: #8fdbf7; }

.chapitre-band-chip {
  justify-self: end;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  background: rgba(255, 255, 255, 0.92); }

.solutions-panel-title {
  margin: 0;
  font-size: clamp(28px, 2.4vw, 38px); }

.chantiers-shell,
.real-shell {
  gap: clamp(28px, 3vw, 44px); }

.chantiers-head,
.real-head {
  gap: 20px; }

.sr-gallery {
  display: flex;
  flex-direction: column;
  gap: 28px;
  align-items: center; }

.sr-gallery-grid {
  --row: clamp(90px, 8vw, 150px);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: var(--row);
  grid-auto-flow: dense;
  gap: 12px;
  width: 100%; }

.sr-gallery.is-compact .sr-gallery-grid {
  --row: clamp(100px, 9vw, 170px); }

.sr-gallery-item {
  position: relative;
  grid-row: span 2;
  overflow: hidden;
  color: #fff;
  background: #e2e0d9;
  isolation: isolate;
  border-radius: 12px; }
  .sr-gallery-item.is-portrait {
    grid-row: span 3; }
  .sr-gallery .sr-gallery-item.is-hidden {
    display: none; }
  .sr-gallery-item:after {
    position: absolute;
    inset: 0;
    z-index: 1;
    content: "";
    background: linear-gradient(180deg, rgba(11, 29, 51, 0) 45%, rgba(11, 29, 51, 0.82) 100%);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    opacity: 0;
    transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1); }
  .sr-gallery-item:hover, .sr-gallery-item:focus-visible {
    color: #fff; }
    .sr-gallery-item:hover:after,
    .sr-gallery-item:hover .sr-gallery-caption,
    .sr-gallery-item:hover .sr-gallery-zoom, .sr-gallery-item:focus-visible:after,
    .sr-gallery-item:focus-visible .sr-gallery-caption,
    .sr-gallery-item:focus-visible .sr-gallery-zoom {
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
      opacity: 1;
      translate: 0 0; }
    .sr-gallery-item:hover .sr-gallery-image img, .sr-gallery-item:focus-visible .sr-gallery-image img {
      scale: 1.07; }

.sr-gallery-image {
  position: absolute;
  inset: 0; }
  .sr-gallery-image,
  .sr-gallery-image img {
    width: 100%;
    height: 100%; }
  .sr-gallery-image img {
    -o-object-fit: cover;
       object-fit: cover;
    transition: scale 1.2s cubic-bezier(0.16, 1, 0.3, 1); }

.sr-gallery-caption {
  position: absolute;
  right: 16px;
  bottom: 14px;
  left: 16px;
  z-index: 2;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1), translate 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  translate: 0 10px; }

.sr-gallery-zoom {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: #0089C7;
  background: rgba(255, 255, 255, 0.94);
  border-radius: 12px;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  opacity: 0;
  transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1), translate 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  translate: 0 -8px; }

.sr-gallery-more[hidden] {
  display: none; }

.real-filters {
  gap: 6px; }

.real-filter {
  --bs-btn-bg: #fff;
  --bs-btn-color: #0b1d33;
  --bs-btn-border-color: #d9d6ce;
  --bs-btn-hover-bg: #eae8e1;
  --bs-btn-hover-color: #0b1d33;
  --bs-btn-hover-border-color: #d9d6ce; }
  .real-filter span {
    margin-left: 4px;
    font-weight: 500;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=55)";
    opacity: .55; }
  .real-filter.is-active {
    --bs-btn-bg: #0b1d33;
    --bs-btn-color: #fff;
    --bs-btn-border-color: #0b1d33;
    --bs-btn-hover-bg: #0b1d33;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-border-color: #0b1d33; }

.faq-split {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
  gap: clamp(32px, 5vw, 96px);
  align-items: start; }

.faq-split-head {
  gap: 18px; }

.faq-split-help {
  max-width: 420px;
  font-size: 17px; }
  .faq-split-help a {
    font-weight: 700;
    white-space: nowrap; }

.faq-list {
  grid-template-columns: minmax(0, 1fr);
  gap: 8px; }
  .faq-list .accordion-item {
    background: #fff;
    transition: background-color 0.35s, box-shadow 0.35s, translate 0.35s cubic-bezier(0.16, 1, 0.3, 1); }
    .faq-list .accordion-item:hover {
      box-shadow: 0 0 0 1px rgba(0, 137, 199, 0.4);
      translate: 4px 0; }

#maillage {
  padding-top: clamp(56px, 7vw, 88px); }

.maillage-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
  gap: 32px clamp(32px, 5vw, 96px);
  padding-top: 40px;
  border-top: 1px solid #d9d6ce; }

.maillage-text {
  margin: 0;
  font-size: 17px;
  line-height: 1.75;
  color: #5b6066;
  text-wrap: pretty; }
  .maillage-text a {
    font-weight: 600;
    color: #0089C7; }
    .maillage-text a:hover {
      color: #0b1d33; }

.maillage-zones {
  gap: 14px; }

.maillage-label {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  color: #5b6066;
  text-transform: uppercase;
  letter-spacing: .24em; }

.maillage-chip {
  padding: 10px 14px;
  font-size: 14px;
  font-weight: 600;
  color: #0b1d33;
  background: #fff;
  border-radius: 12px;
  transition: background-color 0.3s, color 0.3s, translate 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
  .maillage-chip:hover {
    color: #fff;
    background: #0089C7;
    translate: 0 -2px; }
  .maillage-chip.is-link {
    text-decoration: none; }
  .maillage-chip.is-dark {
    color: #fff;
    background: #0b1d33; }

.chapter-nav {
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 1040;
  width: min(340px, calc(100vw - 200px));
  pointer-events: none;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1), translate 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  translate: 0 24px; }
  .chapter-nav.is-visible {
    pointer-events: auto;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    opacity: 1;
    translate: 0 0; }

.chapter-nav-toggle {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  width: 100%;
  padding: 12px 16px 16px;
  overflow: hidden;
  color: #fff;
  text-align: left;
  cursor: pointer;
  background: rgba(11, 29, 51, 0.92);
  border: 0;
  border-radius: 14px;
  box-shadow: 0 18px 40px -18px rgba(11, 29, 51, 0.6);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  transition: background-color .3s; }
  .chapter-nav-toggle:hover {
    background: #0b1d33; }

.chapter-nav-num {
  font-family: "Playfair Display", georgia, serif;
  font-size: 22px;
  font-weight: 600;
  color: #8fdbf7; }

.chapter-nav-title {
  overflow: hidden;
  font-size: 13px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap; }

.chapter-nav-bar {
  position: absolute;
  right: 16px;
  bottom: 8px;
  left: 16px;
  height: 2px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.16);
  border-radius: 2px; }
  .chapter-nav-bar span {
    display: block;
    width: 0;
    height: 100%;
    background: #00AEEF;
    transition: width .2s linear; }

.chapter-nav-list {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 0;
  width: 100%;
  max-height: 60vh;
  padding: 8px;
  margin: 0;
  overflow: auto;
  list-style: none;
  pointer-events: none;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 24px 60px -24px rgba(11, 29, 51, 0.45);
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  opacity: 0;
  transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1), translate 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  translate: 0 10px; }
  .is-open .chapter-nav-list {
    pointer-events: auto;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    opacity: 1;
    translate: 0 0; }
  .chapter-nav-list .chapter-nav-link {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 8px;
    padding: 10px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    color: #0b1d33;
    border-radius: 10px;
    transition: background-color .25s, color .25s; }
    .chapter-nav-list .chapter-nav-link span {
      font-family: "Playfair Display", georgia, serif;
      color: #a3a8ad; }
    .chapter-nav-list .chapter-nav-link:hover, .chapter-nav-list .chapter-nav-link[aria-current="step"] {
      color: #0089C7;
      background: #eef6fb; }
      .chapter-nav-list .chapter-nav-link:hover span, .chapter-nav-list .chapter-nav-link[aria-current="step"] span {
        color: #0089C7; }

.gamme-shell {
  gap: clamp(28px, 3vw, 44px); }

.gamme-head {
  gap: 20px; }

.gamme-aside {
  gap: 16px; }

.gamme-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
  grid-auto-rows: minmax(340px, auto);
  gap: 12px;
  margin: 0; }
  .gamme-grid .tease-item {
    display: block !important;
    min-width: 0; }
  .gamme-grid .expertise-card,
  .gamme-grid .expertise-link {
    height: 100%; }
  .gamme-grid .expertise-link {
    min-height: 340px; }
    .gamme-grid .expertise-link:hover .expertise-image img {
      scale: 1.06; }
  .gamme-grid .expertise-image img {
    transition: scale 1.2s cubic-bezier(0.16, 1, 0.3, 1); }
  @media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap; }
    .card-group > .card {
      flex: 1 0;
      margin-bottom: 0; }
      .card-group > .card + .card {
        margin-left: 0;
        border-left: 0; }
      .card-group > .card:not(:last-child) {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0; }
        .card-group > .card:not(:last-child) .card-img-top,
        .card-group > .card:not(:last-child) .card-header {
          border-top-right-radius: 0; }
        .card-group > .card:not(:last-child) .card-img-bottom,
        .card-group > .card:not(:last-child) .card-footer {
          border-bottom-right-radius: 0; }
      .card-group > .card:not(:first-child) {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0; }
        .card-group > .card:not(:first-child) .card-img-top,
        .card-group > .card:not(:first-child) .card-header {
          border-top-left-radius: 0; }
        .card-group > .card:not(:first-child) .card-img-bottom,
        .card-group > .card:not(:first-child) .card-footer {
          border-bottom-left-radius: 0; } }
  @media (min-width: 768px) {
    .breadcrumbs .breadcrumb:before, .breadcrumbs .breadcrumb:after {
      display: none; }
      .expertises-track swiper-slide,
      .expertises-track .tease-item {
        width: 300px; }
    .chapitre-wide {
      margin-left: calc(var(--pi-num-size) * 1.2 + var(--pi-num-gap)); }
    .chapitre-side > .chapitre-prose,
    .chapitre-side > .chapitre-aside,
    .chapitre-side > .chapitre-steps {
      margin-left: calc(var(--pi-num-size) * 1.2 + var(--pi-num-gap)); }
    .sr-gallery-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .sr-gallery-item.is-wide {
      grid-row: span 3;
      grid-column: span 2; } }
  @media (min-width: 768px) and (max-width: 959.98px) {
    .liste-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .liste-grid > .tease-item:nth-child(odd):last-child {
        grid-column: 1 / -1; }
        .liste-grid > .tease-item:nth-child(odd):last-child .article-card-link {
          display: grid;
          grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
          gap: clamp(28px, 4vw, 56px);
          align-items: center; }
        .liste-grid > .tease-item:nth-child(odd):last-child .actualite-media {
          aspect-ratio: 16 / 10; }
        .liste-grid > .tease-item:nth-child(odd):last-child .actualite-title {
          font-size: clamp(28px, 2.6vw, 36px); } }
  @media (min-width: 960px) {
    .expertises-panel {
      grid-template-columns: 340px minmax(0, 1fr); }
    .liste-grid {
      grid-template-columns: repeat(6, minmax(0, 1fr)); }
      .liste-grid > .tease-item {
        grid-column: span 2; }
      .liste-grid > .tease-item:nth-child(3n+1):nth-last-child(2),
      .liste-grid > .tease-item:nth-child(3n+1):nth-last-child(2) + .tease-item {
        grid-column: span 3; }
        .liste-grid > .tease-item:nth-child(3n+1):nth-last-child(2) .actualite-media,
        .liste-grid > .tease-item:nth-child(3n+1):nth-last-child(2) + .tease-item .actualite-media {
          aspect-ratio: 16 / 9; }
      .liste-grid > .tease-item:nth-child(3n+1):last-child {
        grid-column: 1 / -1; }
        .liste-grid > .tease-item:nth-child(3n+1):last-child .article-card-link {
          display: grid;
          grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
          gap: clamp(28px, 4vw, 56px);
          align-items: center; }
        .liste-grid > .tease-item:nth-child(3n+1):last-child .actualite-media {
          aspect-ratio: 16 / 10; }
        .liste-grid > .tease-item:nth-child(3n+1):last-child .actualite-title {
          font-size: clamp(28px, 2.6vw, 36px); }
  .chapitre.is-media-reverse .chapitre-figure {
    order: -1; }
    .chapitre-cards.count-2, .chapitre-cards.count-4 {
      grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .chapitre-card {
      gap: 28px;
      min-height: 240px; }
  .chapitre-split-head {
    position: sticky;
    top: 120px; }
    .faq-split-head {
      position: sticky;
      top: 120px; }
    .gamme-grid {
      grid-template-columns: repeat(4, minmax(0, 1fr)); }
      .gamme-grid .tease-item:first-child {
        grid-row: span 2;
        grid-column: span 2; }
        .gamme-grid .tease-item:first-child .expertise-title {
          font-size: clamp(30px, 2.6vw, 42px); }
        .gamme-grid .tease-item:first-child .expertise-text {
          font-size: 16px; } }
  @media (min-width: 1180px) {
      .expertises-track swiper-slide,
      .expertises-track .tease-item {
        width: 320px; }
    .sr-gallery-grid {
      grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .sr-gallery.is-compact .sr-gallery-grid {
      grid-template-columns: repeat(4, minmax(0, 1fr)); } }
  @media (max-width: 575.98px) {
    .pagination .page-link.dots {
      padding: .375rem; }
    .contact-lignes .sr-ligne-inner {
      flex-direction: column;
      gap: 4px;
      align-items: flex-start; }
    .contact-lignes .sr-ligne-value {
      text-align: left; } }
  @media (prefers-reduced-motion: reduce) {
    .contact-film-play:after {
      animation: none; } }
  @media (max-width: 767.98px) {
    .presta-essentiel {
      grid-template-columns: 1fr; }
    .intro-figures {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 24px 12px; }
    .chapitre-num {
      min-width: 0;
      font-size: 56px; }
    .chapter-nav {
      width: calc(100vw - 190px); } }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGluZy5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQVlBO0VBT0UscUJBQXFCO0VBQ3JCLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsb0JBQW9CO0VBQ3BCLGNBQWM7RUFDZCxtQ0FBbUM7RUFDbkMsa0NBQWtDOzs7QUFrQnBDO0VBQ0UsaUNBQWlDO0VBQ2pDLGdCQUFnQjs7O0FBakNsQjtFQU9FLHFCQUFxQjtFQUNyQixrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtFQUNwQixjQUFjO0VBQ2QsbUNBQW1DO0VBQ25DLGtDQUFrQzs7O0FBa0JwQztFQUNFLGlDQUFpQztFQUNqQyxnQkFBZ0I7OztBQWpDbEI7RUFPRSxxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixvQkFBb0I7RUFDcEIsY0FBYztFQUNkLG1DQUFtQztFQUNuQyxrQ0FBa0M7OztBQWtCcEM7RUFDRSxpQ0FBaUM7RUFDakMsZ0JBQWdCOztBQ3pDbEI7RUFFRSx3QkFBeUM7RUFBekMsd0JBQXlDO0VBQ3pDLHdCQUF5QztFQUF6Qyx3QkFBeUM7RUFDekMsNkJBQXFEO0VBQXJELGdDQUFxRDtFQUNyRCx1QkFBK0M7RUFDL0MsMEJBQXFEO0VBQ3JELDhDQUFpRDtFQUNqRCwwREFBaUQ7RUFDakQsZ0RBQW1EO0VBQ25ELHNCQUE2QztFQUM3QyxxRkFBK0Q7RUFDL0QsNEJBQW1EO0VBQW5ELCtCQUFtRDtFQUNuRCw2QkFBbUQ7RUFBbkQsNkJBQW1EO0VBQ25ELHNEQUFxQztFQUNyQyxxQkFBMkM7RUFDM0Msa0JBQXFDO0VBQ3JDLGlCQUFtQztFQUNuQywrQkFBNkI7RUFDN0IsbUNBQStEO0VBQS9ELG1DQUErRDtFQUMvRCw0QkFBaUQ7RUFBakQsK0JBQWlEO0VBR2pELGtCQUFrQjtFQUNsQixhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLFlBQVk7RUFDWiw2QkFBaUQ7RUFDakQsMkJBQThDO0VBQzlDLHFCQUFxQjtFQUNyQixtQ0FBbUQ7RUFDbkQsMkJBQTJCO0VBQzNCLHFFQUF5SDtFQ2pCdkgsMkNEa0I0RTtFQWpDaEY7SUFxQ0ksZUFBZTtJQUNmLGNBQWM7RUF0Q2xCO0lBMENJLG1CQUFtQjtJQUNuQixzQkFBc0I7SUEzQzFCO01BOENNLG1CQUFtQjtNQ3RCckIsMEREdUJnRztNQ3RCaEcsMkREc0JnRztJQS9DcEc7TUFtRE0sc0JBQXNCO01DYnhCLDhERGNtRztNQ2JuRyw2RERhbUc7RUFwRHZHOztJQTRESSxhQUFhOztBQUlqQjtFQUdFLGNBQWM7RUFDZCx3REFBb0c7RUFDcEcsMkJBQThDOztBQUdoRDtFQUNFLDRDQUF3RTtFQUN4RSxpQ0FBMEQ7O0FBRzVEO0VBQ0Usc0RBQWlGO0VBQ2pGLGdCQUFnQjtFQUNoQixvQ0FBZ0U7O0FBR2xFO0VBQ0UsZ0JBQWdCOztBQUdsQjtFQU1JLG9DQUEwRDs7QUFROUQ7RUFDRSxrRUFBd0g7RUFDeEgsZ0JBQWdCO0VBQ2hCLCtCQUFzRDtFQUN0RCx1Q0FBMkQ7RUFDM0QsNEVBQWdJO0VBTGxJO0lDdEZJLHdGRDhGa0s7O0FBSXRLO0VBQ0Usa0VBQXdIO0VBQ3hILCtCQUFzRDtFQUN0RCx1Q0FBMkQ7RUFDM0QseUVBQTZIO0VBSi9IO0lDbEdJLHdGRHlHa0s7O0FBU3RLO0VBQ0UsdURBQWlGO0VBQ2pGLHNEQUFpRjtFQUNqRixzREFBZ0Y7RUFDaEYsZ0JBQWdCO0VBSmxCO0lBT0ksbUNBQW1EO0lBQ25ELHNDQUFzRDs7QUFJMUQ7RUFDRSx1REFBaUY7RUFDakYsc0RBQWdGOztBQUlsRjtFQUNFLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sUUFBUTtFQUNSLFNBQVM7RUFDVCxPQUFPO0VBQ1AsMkNBQTRFO0VDMUkxRSxpREQySXdGOztBQUc1Rjs7O0VBR0UsV0FBVzs7QUFHYjs7RUMzSUksMERENkk0RjtFQzVJNUYsMkRENEk0Rjs7QUFHaEc7O0VDbElJLDhERG9JK0Y7RUNuSS9GLDZERG1JK0Y7O0FBUW5HO0VBSUksMENBQW9FOztBRWxMdEU7RUNORSxVQUFVOztBRE1aO0VDRkUsVUFBVTtFQUNWLG9CQUFvQjs7QURDdEI7O0VDS0kscUJBQXFCO0VBQ3JCLG1CQUFtQjtFRE52Qjs7O0lDVU0sMEJBQTBCOztBRFZoQztFRU5FLFVBQVU7O0FGTVo7RUdMSSxxQkFBcUI7O0FIS3pCO0VHREUsa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixRQUFRO0VBQ1IsU0FBUztFQUNULE9BQU87RUFDUCxVQUFVO0VBQ1YsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQix1QkFBdUI7RUFDdkIsV0NaUTtFRGFSLHFCQUFxQjtFQUNyQix5QkU4WHVDO0VGOVh2Qyw2QkU4WHVDO0VGN1h2QyxrQ0duQnVEO0VIb0J2RCw4QkFBOEI7RUFDOUIseUJBQXlCO0VBQ3pCLHdCQUF3Qjs7QUhUNUI7RUFDRSxXQUFXOztBT2RiO0VBRUUsNEJBQXVEO0VBQ3ZELDRCQUF1RDtFQUN2RCxtQ0FBK0Q7RUFBL0QsbUNBQStEO0VDMlIzRCwrQkFuRStCO0VBbUUvQixrQ0FuRStCO0VEdE5uQyxvQkFBeUM7RUFDekMsK0JBQStEO0VBQy9ELHdEQUErRDtFQUMvRCxtQ0FBaUU7RUFBakUsc0NBQWlFO0VBQ2pFLHVEQUF1RTtFQUd2RSxhQUFhO0VBQ2IsZUFBZTtFQUNmLHNFQUFnSTtFQUNoSSxpREFBa0Y7RUMrUTlFLHlDQW5FK0I7RUQxTW5DLGdCQUFnQjtFQUNoQix5Q0FBK0Q7RVJBN0QsaURRQ3dGOztBQUc1RjtFQUdJLGlEQUFtRjtFQUh2RjtJQU1NLFdBQVc7SUFDWCxrREFBb0Y7SUFDcEYseUNBQTBFO0lBQzFFLHVGQUF1Tjs7QUFUN047RUFjSSw2Q0FBa0Y7O0FFbkN0RjtFQUNFLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsbUJBQWdEO0VBQWhELHNCQUFnRDtFQUNoRCxrQkFBK0M7RUFBL0MscUJBQStDO0VBSmpEO0lBT0ksaUJBQWlCO0lBQ2pCLGFKMEd3QztJSTFHeEMsZ0JKMEd3QztJSXpHeEMsYUFBYTtJQUNiLGdCQUFnQjtJQVZwQjtNQWNNLGtCQUFrQjtNQUNsQixNQUFNO01BQ04sY0FBYztNQUNkLFlBQVk7TUFDWixvQkFBb0I7TUFDcEIsV0FBVztJQW5CakI7TUF1Qk0sT0FBTztNQUNQLFdBQVc7TUFBWCxXQUFXO01BQ1gsMElBQTBJO0lBekJoSjtNQTZCTSxRQUFRO01BQ1IsV0FBVztNQUFYLFdBQVc7TUFDWCwwSUFBMEk7RUEvQmhKO0lBNkNJLDZDQUF3QztJQUN4Qyw2REFBNEM7SUFDNUMsaUNBQWlDO0lBQ2pDLFdBQVc7SUFDWCw0QkFBNEI7SUFqRGhDO01Bb0RNLDJDQUE4QjtNQUM5QiwrQ0FBa0M7TUFyRHhDO1FBeURRLGlFQUFZO1FBQVosWUFBWTtFQXpEcEI7SUErREksa0NBQW9CO0lBL0R4QjtNQW1FUSxrQ0FBb0I7O0FBTTVCO0VBR00sOERBQThEO0VBQzlELHdCQUF3Qjs7QUFKOUI7RUFVTSxpQkpDVTtFSURWLGlCSkNVOztBSUloQjtFQUNFLG1CQUFtQjtFRnBFckI7SVZ1RUUsZ0JhekZtQztJYjBIakMsZVlqQ21FO0labUNuRSx1Q0FBdUM7RVUxRzNDO0lFMEVNLFlBQVk7SUFDWixrQkFBcUI7SUFBckIscUJBQXFCO0VBUjNCO0lBY00sZ0JBQWdCOztBRXhHdEI7RUFDRSxpQkFBZ0I7RUFBaEIsZ0JBQWdCOztBQUdsQjtFQUVJLGFBQWE7O0FBRmpCO0VBTUksYUFBYTtFQUNiLG1CQUFtQjs7QUNWdkI7RUFDRSxTQUFTO0VBRFg7SUFJSSxlQUFlOztBQUluQjtFQUNFLGFBQWE7RUFDYixzRUFBMkU7RUFDM0UsU0FBUztFQUNULFNBQVM7RUFKWDtJQU9JLHlCQUF5Qjs7QUFJN0I7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLFNBQVM7RUFDVCxlQUFlO0VBSmpCO0lBT0ksc0JBQXNCOztBQUkxQjtFQUNFLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQixtQkFBbUI7RUFDbkIsbUJBQW1COztBQUdyQjtFQUNFLGtCQUFrQjtFQUNsQixRQUFRO0VBRlY7SUFLSSxXQUFXO0lBQ1gsWUFBWTtJQUNaLG9CQUFpQjtPQUFqQixpQkFBaUI7SUFDakIsdURBQW9EOztBQUl4RDtFQUNFLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsVUFBVTtFQUNWLGlCQUFpQjtFQUNqQixlQUFlOztBQUdqQjtFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsUUFBUTtFQUNSLGlCQUFpQjtFQUNqQiw0Q1J2RFk7O0FRMERkO0VBQ0UsZUFBZTtFQUNmLGNBQWM7O0FBR2hCO0VBQ0UsU0FBUztFQUNULCtDUlpnRDtFUWFoRCxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixpQkFBaUI7RUFDakIsc0JBQXNCOztBQUl4QjtFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsU0FBUztFQUNULGNSOUVZO0VRMEVkO0lBT0ksY1JqRlU7SVEwRWQ7TUFVTSxTQUFTOztBQUtmO0VBQ0UsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixjQUFjOztBQUdoQjtFQUNFLG9CQUFvQjtFQUNwQixRQUFRO0VBQ1IsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGNOaEhvQztFTWlIcEMsb0JBQW9COztBQ2hIdEI7RUFDRSxhQUFhO0VBQ2Isc0VBQTJFO0VBQzNFLFNBQVM7O0FBR1g7RUFDRSxTQUFTO0VBQ1QsK0JBQStCO0VBQy9CLFdUTlU7RVNPVixtQlREWTtFU0VaLG1CQUFtQjtFQUxyQjtJQVFJLG1DQUFtQzs7QUFJdkM7RUFDRSxTQUFTOztBQUdYO0VBQ0UsZ0JBQWdCO0VBQ2hCLGNBQWM7O0FBS2hCO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxXQUFXO0VBQ1gsb0JBQW9CO0VBQ3BCLFVBQVU7RUFDVixnQkFBZ0I7RUFDaEIsV1RqQ1U7RVNrQ1YsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsU0FBUztFQUNULG1CQUFtQjtFQVpyQjtJQWVJLGtCQUFrQjtJQUNsQixRQUFRO0lBQ1IsV0FBVztJQUNYLHNFQUFrRTtFQWxCdEU7SUF3Qk0sc0JBQXNCO0VBeEI1QjtJQTRCTSxVQUFVO0VBNUJoQjtJQWlDSSwwQkFBMEI7SUFDMUIsbUJBQW1COztBQUl2QjtFQUNFLGtCQUFrQjtFQUNsQixRQUFRO0VBRlY7SUFLSSxjQUFjO0lBQ2QsV0FBVztJQUNYLFlBQVk7SUFDWixvQkFBaUI7T0FBakIsaUJBQWlCO0lBQ2pCLHVEQUFvRDs7QUFLeEQ7RUFDRSxrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLFNBQVM7RUFDVCxVQUFVO0VBQ1YsNkJBQTZCO0VBQzdCLGVBQWU7RUFDZixtQlB6Rm9DO0VPMEZwQyxrQkFBa0I7RUFDbEIsMENBQWlDO0VBQ2pDLG9EQUFpRDtFQUNqRCxvQkFBb0I7RUFYdEI7SUFjSSxrQkFBa0I7SUFDbEIsUUFBUTtJQUNSLFNBQVM7SUFDVCxVQUFVO0lBQ1YsZUFBZTtJQUNmLGlEQUF5QztZQUF6Qyx5Q0FBeUM7SUFDekMsV0FBVztJQUNYLGdCVG5HUTtJU29HUixvQkFBb0I7RUF0QnhCO0lBMEJJLGtCQUFrQjtJQUNsQixRQUFRO0lBQ1IsV0FBVztJQUNYLHlCUC9Ha0M7SU9nSGxDLGtCQUFrQjtJQUNsQixpREFBaUQ7O0FBVXJEO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxZQUFZO0VBQ1osVUFBVTtFQUNWLFVBQVU7RUFDVixhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLFFBQVE7O0FBR1Y7RUFDRSxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGNBQWM7RUFDZCx5QkFBeUI7RUFDekIscUJBQXFCOztBQUd2QjtFQUNFLCtDVGhGZ0Q7RVNpRmhELGlDQUFpQztFQUNqQyxpQkFBaUI7O0FBR25CO0VBQ0UsUUFBUTtFQURWO0lBSUksa0JBQWtCO0lBQ2xCLFdUckpRO0lTc0pSLHFDVHRKUTtJU3VKUixpQ0FBaUM7SUFQckM7TUFVTSxXVDFKTTtNUzJKTixxQ1QzSk07RVNnSlo7SUE2QkksVUFBVTtJQUNWLGVBQWU7SUFDZixjQUFjO0VBL0JsQjtJQW1DSSxZQUFZO0lBQ1osaUNBQWlDO0lBQ2pDLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsdUJBQXVCO0lBdkMzQjtNQTJDTSxjQUFjO01BM0NwQjtRQThDUSxrQkFBa0I7UUFDbEIsUUFBUTtRQUNSLFdBQVc7RUFoRG5CO0lBc0RJLGNUaE1VO0lTaU1WLGdCVHZNUTtJU2dKWjtNQTBETSxjVHBNUTtNU3FNUixtQkFBbUI7SUEzRHpCO01BK0RNLGdCQUFnQjtNQUNoQixjVDFNUTtJUzBJZDtNQW9FTSxlQUFlOztBQUtyQjtFQUNFLFNBQVM7RUFDVCwrQkFBK0I7RUFDL0IsZ0JUNU5VO0VTNk5WLG1CQUFtQjs7QUMvTnJCO0VBQ0UsU0FBUztFQURYO0lBSUksU0FBUztFQUpiO0lBUUksZ0JBQWdCOztBQUtwQjs7RUFFRSx3QkFBd0I7O0FBRzFCO0VBQ0UsU0FBUztFQURYO0lBSUksZ0JBQWdCOztBQUlwQjtFQUVJLG9CQUFZO0VBQ1osb0JBQWU7RUFDZiwwQkFBa0I7RUFDbEIsMEJBQXFCOztBQUx6QjtFQVNJLG9CQUFZO0VBQ1osb0JBQWU7RUFDZiwwQkFBa0I7RUFDbEIsMEJBQXFCOztBQUl6QjtFQUNFLDRCQUFvQjtFQUNwQixrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLHFDQUFxQztFQUNyQyxTQUFTO0VBQ1QsYUFBYTtFQUNiLGdCQUFnQjtFQUNoQiwwQ0FBMEM7RUFHMUMsOEdBQTRHO0VBQzVHLHlCQUF5QjtFQUN6QiwyQkFBMkI7RUFDM0IsaUNBQWlDO0VBQ2pDLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFoQnJCO0lBdUJJLDRCQUFvQjtJQUNwQiw4R0FBNEc7SUFDNUcsNEJBQTRCOztBQUloQztFQUNFLFNBQVM7RUFDVCxpQkFBaUI7RUFDakIsc0RBQXNEO0VBQ3RELFdWekVVOztBVTRFWjtFQUNFLFNBQVM7O0FBR1g7RUFDRSxTQUFTO0VBQ1QsK0NWdkJnRDtFVXdCaEQsbUNBQW1DO0VBQ25DLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLHNCQUFzQjs7QUFHeEI7RUFDRSxnQkFBZ0I7RUFDaEIsU0FBUztFQUNULGVBQWU7RUFDZixpQkFBaUI7RUFDakIsaUVBQVc7RUFBWCxXQUFXOztBQUdiO0VBQ0UsU0FBUzs7QUFHWDtFQUNFLHdCQUFzQjtFQUN0Qix3Q0FBZTtFQUNmLDhDQUFxQjtFQUNyQix1QkFBa0I7RUFDbEIsMkJBQXNCO0VBQ3RCLGlDQUE0QjtFQUM1Qix5QkFBcUI7O0FBR3ZCO0VBQ0UsU0FBUzs7QUFHWDtFQUNFLGdCQUFnQjtFQUNoQiwrQ1YzRGdEO0VVNERoRCxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLHNCQUFzQjs7QUFHeEI7RUFDRSxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGlFQUFZO0VBQVosWUFBWTs7QUFHZDtFQUVFLDZCQUF5QjtFQUN6QixpQkFBaUI7RUFDakIsWUFBWTtFQUNaLFNBQVM7RUFDVCxnQkFBZ0I7RUFObEI7SUFVSSxhQUFhO0lBQ2IsU0FBUztFQVhiOztJQWdCSSxrQ0FBa0M7SUFDbEMsK0JBQU87SUFDUCxZQUFZOztBQVloQjtFQUNFLFdBQVc7O0FBR2I7RUFDRSxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLHNCQUFzQjtFQUN0Qix5QkFBeUI7RUFDekIsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixXVjNLVTtFVTRLVixnQkFBZ0I7RUFDaEIsbUJBQW1CO0VBQ25CLG1CQUFtQjtFQUNuQix5REFBcUQ7RUFYdkQ7SUFjSSxrQkFBa0I7SUFDbEIsUUFBUTtJQUNSLFVBQVU7SUFDVixXQUFXO0lBQ1gscUZBQWlGO0VBbEJyRjtJQXNCSSxXVjFMUTtJVTJMUiwyQkFBMkI7O0FBSS9CO0VBQ0Usa0JBQWtCO0VBQ2xCLFFBQVE7RUFGVjtJQUtJLFdBQVc7SUFDWCxZQUFZO0lBQ1osb0JBQWlCO09BQWpCLGlCQUFpQjs7QUFJckI7RUFDRSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULFdBQVc7RUFDWCxVQUFVO0VBQ1YsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQix1QkFBdUI7RUFDdkIsV0FBVztFQUNYLFlBQVk7RUFDWixlQUFlO0VBQ2YsY1J6Tm9DO0VRME5wQyxxQ1Z0TlU7RVV1TlYsbUJBQW1COztBQUdyQjtFQUNFLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixRQUFRO0VBQ1IsYUFBYTs7QUFHZjtFQUNFLCtDVnpLZ0Q7RVUwS2hELG1DQUFtQztFQUNuQyxnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixzQkFBc0I7O0FBR3hCO0VBQ0UsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixjQUFjOztBQzdPaEI7RUFDRSxtQ0FBbUM7O0FBR3JDO0VBQ0UsYUFBYTtFQUNiLHFDQUFxQztFQUZ2QztJQUtJLGdCQUFnQjs7QUFJcEI7RUFDRSxTQUFTO0VBQ1QsWUFBWTtFQUNaLGNBQWM7O0FBR2hCO0VBQ0UsU0FBUzs7QUFHWDtFQUNFLG1DQUFtQztFQUNuQyxnQkFBZ0I7RUFDaEIsc0JBQXNCOztBQUd4QjtFQUNFLGdCQUFnQjtFQURsQjtJQUlJLFNBQVM7SUFDVCxvQ0FBb0M7SUFDcEMsZ0JBQWdCO0lBQ2hCLGNBdkNnQjtJQWdDcEI7TUFVTSxnQkFBZ0I7RUFWdEI7SUFlSSxjQUFjOztBQUlsQjtFQUdJLDJCQUEyQjtFQUMzQixvQkFBb0I7RUFDcEIsV0FBVztFQUNYLGVBQWU7RUFDZixTQUFTO0VBQ1QsY0FBYztFQUNkLGdCQUFnQjtFQUNoQixlQUFlOztBQVZuQjtFQWNJLGVBQWU7RUFDZixVQUFVO0VBQ1YsVUFBVTtFQUNWLGVBQWU7RUFDZixjQUFjO0VBbEJsQjtJQXNCTSxhQUFhOztBQXRCbkI7RUEyQkksbUJBQW1CO0VBM0J2QjtJQThCTSxrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLGNBQWM7SUFDZCxZQUFZO0VBakNsQjtJQXFDTSxjQUFjO0lBQ2QscUJBQXFCO0lBdEMzQjtNQXlDUSxjVC9GOEI7RVNzRHRDO0lBOENNLGdCQUFnQjtJQUNoQixjWDNGUTs7QVdnR2Q7RUFDRSxnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixjQTNHa0I7RUF1R3BCOzs7SUFTSSxpQkFBaUI7SUFUckI7OztNQVlNLGdCQUFnQjtFQVp0Qjs7SUFrQkksbUJBQW1CO0VBbEJ2QjtJQXNCSSxjVGhJa0M7RVMwR3RDO0lBMEJJLG9CQUFvQjtJQUNwQiwrQ1h0RThDO0lXdUU5QyxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGNYOUhVO0VXZ0dkO0lBa0NJLGdCQUFnQjtJQUNoQixjWG5JVTtFV2dHZDtJQXVDSSxnQkFBZ0I7SUFDaEIsY1RsSmtDO0lTbUpsQywwQkFBMEI7SUFDMUIsOEJBQThCO0lBQzlCLDBCQUEwQjtJQUMxQixxQkFBcUI7SUE1Q3pCO01BK0NNLGNYL0lROztBV3FKZDtFQUNFLFFBQVE7RUFDUixlQUFlO0VBRmpCO0lBS0kseUJBQXlCOztBQUk3QjtFQUNFLGlCQUFZO0VBQ1osdUJBQWU7RUFDZiw4QkFBc0I7RUFDdEIsMEJBQWtCO0VBQ2xCLDZCQUFxQjtFQUNyQixvQ0FBNEI7RUFFNUI7SUFDRSxvQkFBWTtJQUNaLG9CQUFlO0lBQ2YsOEJBQXNCO0lBQ3RCLDBCQUFrQjtJQUNsQiwwQkFBcUI7SUFDckIsb0NBQTRCOztBQUloQztFQUVJLGFBQWE7RUFDYixlQUFlO0VBQ2YsUUFBUTtFQUNSLFVBQVU7RUFDVixTQUFTO0VBQ1QsZ0JBQWdCOztBQVBwQjtFQVdJLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsdUJBQXVCO0VBQ3ZCLGVBQWU7RUFDZixZQUFZO0VBQ1osZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixjWGxNVTtFV21NVixnQlh6TVE7RVcwTVIseUJBQXlCO0VBQ3pCLG1CQUFtQjtFQXJCdkI7SUF3Qk0sV1g5TU07SVcrTU4sbUJYek1RO0lXME1SLHFCWDFNUTs7QVdnTmQ7RUFDRSxnQkFBZ0I7RUFEbEI7O0lBS0ksb0JBQW9CO0lBQ3BCLCtDWGpLOEM7SVdrSzlDLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsY1h6TlU7SVcwTlYsb0JBQW9CO0lBQ3BCLHNCQUFzQjtFQVgxQjtJQWVJLG1DQUFtQztFQWZ2QztJQW1CSSxlQUFlO0VBbkJuQjtJQXVCSSxhQUFhOztBQTBCakI7RUFDRSxxQ0FBcUM7O0FDL1B2QztFQUNFLG1DQUFtQzs7QUFHckM7RUFDRSwyQkFBMkI7O0FBRzdCO0VBQ0UsYUFBYTtFQUNiLHNFQUEyRTtFQUMzRSw0QkFBNEI7RUFDNUIsa0JBQWtCOztBQUlwQjtFQUNFLGtFQUE0QztFQUE1Qyw4Q0FBNEM7RUFDNUMsOEJBQThCOztBQUdoQztFQUNFLFNBQVM7RUFDVCwrQ1oyQmdEO0VZMUJoRCxtQ0FBbUM7RUFDbkMsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixjWjlCWTtFWStCWixpQkFBaUI7RUFDakIsc0JBQXNCO0VBUnhCO0lBV0ksY1Y3Q2tDO0lVOENsQyx3QkFBd0I7O0FBSTVCO0VBQ0UsU0FBUztFQUNULGdCQUFnQjs7QUFHbEI7O0VBRUUsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixjQXZEYztFQXdEZCxpQkFBaUI7RUFMbkI7O0lBUUksZ0JBQWdCO0lBUnBCOztNQVdNLGdCQUFnQjtFQVh0Qjs7SUFnQkksZ0JBQWdCO0lBQ2hCLGNWeEVrQztJVXlFbEMsMEJBQTBCO0lBQzFCLDhCQUE4QjtJQUM5QiwwQkFBMEI7SUFwQjlCOztNQXVCTSxjWnBFUTtFWTZDZDs7SUE0QkksZ0JBQWdCO0lBQ2hCLGNaMUVVO0VZNkNkOzs7O0lBa0NJLG1CQUFtQjtJQUNuQixnQkFBZ0I7RUFuQ3BCOztJQXVDSSxjVjlGa0M7O0FVa0d0Qzs7RUFFRSxRQUFRO0VBQ1IsU0FBUztFQUhYOztJQU1JLHlCQUF5Qjs7QUFJN0I7RUFDRSxhQUFhO0VBQ2IsUUFBUTtFQUNSLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixjWnpHWTtFWTBHWixnQlpoSFU7RVlpSFYsbUJBQW1CO0VBQ25CLDhGQS9HbUM7RUFxR3JDO0lBYUksV1pySFE7SVlzSFIsbUJaaEhVO0lZaUhWLGlCQUFpQjtJQWZyQjtNQWtCTSxjQXpIVTs7QUE4SGhCO0VBQ0UsY1ZwSW9DOztBVXdJdEM7RUFDRSxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLCtDQUErQztFQUMvQywyQkFBMkI7RUFDM0Isa0JBQWtCO0VBQ2xCLHNEQUFzRDtFQUN0RCxnQkFBZ0I7RUFDaEIsV1o1SVU7RVk2SVYsbUJadklZO0VZd0laLG1CQUFtQjtFQVZyQjtJQWNJLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sT0FBTztJQUNQLFdBQVc7SUFDWCxXQUFXO0lBQ1gsV0FBVztJQUNYLG9EQUFxRDs7QUFRekQ7RUFDRSxhQUFhO0VBQ2IsU0FBUztFQUNULG1CQUFtQjtFQUNuQixTQUFTO0VBQ1QsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsY0F2S2M7RUF3S2QseUJBQXlCO0VBQ3pCLHFCQUFxQjtFQVZ2QjtJQWFJLGNBQWM7SUFDZCxXQUFXO0lBQ1gsV0FBVztJQUNYLFdBQVc7SUFDWCx3QkFBd0I7O0FBSTVCO0VBQ0UsZ0JBQWdCO0VBQ2hCLFNBQVM7RUFDVCwrQ1o3SGdEO0VZOEhoRCxtQ0FBbUM7RUFDbkMsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQU5uQjtJQVNJLGdCQUFnQjtJQUNoQixjQTlMWTs7QUFrTWhCO0VBQ0UsYUFBYTtFQUNiLHNFQUEyRTtFQU8zRSxTQUFTO0VBQ1QsU0FBUztFQVZYO0lBYUkseUJBQXlCOztBQUk3QjtFQUNFLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLFFBQVE7RUFDUixpQkFBaUI7RUFDakIsK0JacE5ZO0VZOE1kO0lBVUksa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxPQUFPO0lBQ1AsV0FBVztJQUNYLGFBQWE7SUFDYixXQUFXO0lBQ1gsbUJWeE9rQztJVXlPbEMsb0RBbE9pQztJQW1PakMsdUJBQXVCO0lBQ3ZCLFVBQVU7RUFuQmQ7SUF1QkksVUFBVTtFQXZCZDtJQTJCSSxnQkFBZ0I7O0FBSXBCO0VBQ0UsK0NaekxnRDtFWTBMaEQsaUNBQWlDO0VBQ2pDLGdCQUFnQjtFQUNoQixrQ0FBa0M7RUFDbEMsY0FBYztFQUNkLGNWN1BvQztFVThQcEMsc0JBQXNCO0VBQ3RCLHdEQXhQbUM7O0FBMlByQztFQUNFLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsY0FqUWM7O0FBc1FoQjtFQUNFLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QsZ0JBQWdCOztBQUdsQjtFQUNFLG1DQUFtQzs7QUFHckM7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLDRCQUE0QjtFQUM1QixjQUFjO0VBSmhCO0lBT0kseUJBQXlCOztBQUk3QjtFQUNFLHNDQUFjO0VBQ2Qsb0NBQWE7RUFDYixnQkFBYztFQUNkLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsNkJBQTZCO0VBQzdCLGlCQUFpQjtFQUNqQix3QkFBd0I7RUFDeEIsNENaOVJZO0VZK1JaLDJEQWxTbUM7RUF3UnJDO0lBYUksZUFBYTs7QUFJakI7RUFDRSxhQUFhO0VBQ2IsMENBQTBDO0VBQzFDLDJCQTFTaUM7RUEyU2pDLGtCQUFrQjs7QUFHcEI7RUFDRSxrREFBTztFQUNQLGdCQUFnQjtFQUNoQiwrQ1ozUGdEO0VZNFBoRCxrQ0FuVG1DO0VBb1RuQyxlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLHNCQUFzQjtFQUN0Qix5R0FBMEc7RUFDMUcsNkJBQTZCO0VBQzdCLHFCQUFxQjtFQUNyQixrQ1ZsVW9DOztBVTBVdEM7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLFNBQVM7RUFDVCxnQkFBZ0I7O0FBR2xCO0VBQ0UsYUFBYTtFQUNiLFNBQVM7RUFDVCxtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixjVnZWb0M7RVV3VnBDLHlCQUF5QjtFQUN6QixxQkFBcUI7RUFSdkI7SUFXSSxRQUFRO0lBQ1IsV0FBVztJQUNYLFdBQVc7SUFDWCx3QkFBd0I7SUFDeEIsb0RBelZpQztFQTRWbkM7SUFDRSxXQUFXOztBQUlmO0VBQ0UsU0FBUztFQUNULCtDWjNTZ0Q7RVk0U2hELG1DQUFtQztFQUNuQyxnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLGNacFdZO0VZcVdaLGtCQUFrQjtFQUNsQix1QkFBdUI7RUFSekI7SUFXSSxrQkFBa0I7SUFDbEIsY1ZwWGtDOztBVXdYdEM7RUFDRSxnQkFBZ0I7RUFDaEIsU0FBUztFQUNULG1DQUFtQztFQUNuQyxpQkFBaUI7RUFDakIsY1puWFk7RVlvWFosaUJBQWlCO0VBTm5CO0lBU0ksY1ZqWWtDOztBVXFZdEM7RUFDRSxlQUFlO0VBQ2YsK0NaeFVnRDtFWXlVaEQsbUNBQW1DO0VBQ25DLGdCQUFnQjtFQUNoQixzQkFBc0I7O0FBSXhCOzs7Ozs7RUFNRSxjVnBab0M7RVVxWnBDLHFCQUFxQjtFQUNyQixpRkFBbUY7RUFDbkYsU0FBUztFQUNULDBFQUFtRDtFQVZyRDs7Ozs7O0lBYUksY1pqWlU7SVlrWlYsOEJBQThCO0lBQzlCLHNCQUFzQjs7QUFJMUI7RUFDRSxnQkFBZ0I7O0FBSWxCO0VBQ0UsYUFBYTtFQUNiLHNFQUEyRTtFQUMzRSxnQ0FBZ0M7RUFDaEMsa0JBQWtCO0VBSnBCO0lBV0ksaUJBQWlCOztBQUtyQjtFQUNFLGFBQWE7RUFDYixzRUFBMkU7RUFDM0UsMkJBQTJCO0VBQzNCLG9CQUFvQjs7QUFTdEI7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLDJCQUEyQjtFQUg3QjtJQWVJLGlDQUFpQzs7QUFJckM7RUFDRSxrQkFBa0I7RUFDbEIsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixTQUFTO0VBSlg7SUFPSSxxQ0FBcUM7RUFQekM7SUFXSSxxQ0FBcUM7SUFDckMscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQiwyRFZwZWtDO0lVcWVsQyx5REE5ZGlDO0lBK2NyQztNQWtCTSwyRFZ4ZWdDO0VVc2R0QztJQXdCTSxXQUFXO0VBeEJqQjtJQTRCTSxpQkFBaUI7O0FBS3ZCO0VBQ0Usa0JBQWtCO0VBQ2xCLFFBQVE7RUFDUixnQkFBZ0I7RUFDaEIsbUJBQW1CO0VBQ25CLG1CQUFtQjs7QUFHckI7OztFQUdFLGtCQUFrQjtFQUNsQixZQUFZO0VBSmQ7Ozs7OztJQVFJLFdBQVc7SUFDWCxZQUFZO0VBVGhCOzs7SUFhSSxZQUFZO0lBQ1osb0JBQWlCO09BQWpCLGlCQUFpQjtJQUNqQixvREF2Z0JpQzs7QUEyZ0JyQztFQUNFLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osVUFBVTtFQUNWLFVBQVU7RUFDVixhQUFhO0VBQ2IsUUFBUTtFQUNSLG1CQUFtQjtFQUNuQiw0QkFBNEI7RUFDNUIsa0JBQWtCO0VBQ2xCLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsY1pwaEJZO0VZcWhCWixxQ1ozaEJVO0VZNGhCVixtQkFBbUI7RUFDbkIsd0RBMWhCbUM7O0FBNmhCckM7RUFDRSxVQUFVO0VBQ1YsVUFBVTtFQUNWLFdBQVc7RUFDWCxtQlZ4aUJvQztFVXlpQnBDLGtCQUFrQjtFQUNsQiw2Q0FBNkM7O0FBRy9DO0VBQ0U7SUFDRSw2Q1YvaUJrQzs7QVVtakJ0QztFQUNFLGFBQWE7RUFDYiwwQ0FBMEM7RUFDMUMsU0FBUztFQUNULG1CQUFtQjtFQUNuQixhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsY0F4akJjO0VBeWpCZCxnQlp6akJVO0VZMGpCVixtQkFBbUI7RUFDbkIseUVBQWtEO0VBWnBEO0lBZUksZ0JBQWdCO0lBQ2hCLGNaempCVTtFWXlpQmQ7SUFvQkksb0RaN2pCVTtJWThqQlYsaUJBQWlCOztBQUlyQjtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsdUJBQXVCO0VBQ3ZCLFdBQVc7RUFDWCxZQUFZO0VBQ1osY1ZsbEJvQztFVW1sQnBDLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIsMkNBQTJDO0VBRTNDO0lBQ0UsV1pwbEJRO0lZcWxCUixtQlZ6bEJrQzs7QVU4bEJ0QztFQUNFLGFBQWE7RUFDYixzRUFBMkU7RUFDM0UsZ0NBQWdDO0VBQ2hDLGdCQUFnQjs7QUFHbEI7RUFDRSxVQUFRO0VBQ1IsYUFBYTtFQUNiLHNFQUEyRTtFQUMzRSxTQUFTO0VBQ1QsVUFBVTtFQUNWLFNBQVM7RUFDVCxnQkFBZ0I7RUFDaEIsbUJBQW1COztBQVVyQjtFQUNFLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLFNBQVM7RUFDVCxpQ0FBaUM7RUFNakMsZ0JBQWdCO0VBQ2hCLGdCWi9uQlU7RVlnb0JWLG1CQUFtQjtFQUNuQiw4SEFBaUY7RUFkbkY7SUFrQkksa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixPQUFPO0lBQ1AsV0FBVztJQUNYLFdBQVc7SUFDWCxXQUFXO0lBQ1gsbUJWL29Ca0M7SVVncEJsQyxvREF6b0JpQztJQTBvQmpDLHVCQUF1QjtJQUN2QixVQUFVO0VBM0JkO0lBK0JJLG1EWjVvQlU7SVk2b0JWLGlCQUFpQjtJQWhDckI7TUFtQ00sVUFBVTtJQW5DaEI7TUF1Q00sV1oxcEJNO01ZMnBCTixtQlYvcEJnQzs7QVVvcUJ0QztFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsdUJBQXVCO0VBQ3ZCLFdBQVc7RUFDWCxZQUFZO0VBQ1osK0NaM21CZ0Q7RVk0bUJoRCxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGNWN3FCb0M7RVU4cUJwQyxtQkFBbUI7RUFDbkIsbUJBQW1CO0VBQ25CLDJDQUEyQzs7QUFHN0M7RUFDRSxnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixjQW5yQmM7O0FBc3JCaEI7RUFDRSxjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLCtDWjluQmdEO0VZK25CaEQsbUNBQW1DO0VBQ25DLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIsY1p2ckJZOztBWTJyQmQ7RUFDRSxhQUFhO0VBQ2Isc0VBQTJFO0VBQzNFLGlDQUFpQztFQUNqQyxrQkFBa0I7O0FBVXBCO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixTQUFTO0VBQ1QsZ0JBQWdCO0VBSmxCO0lBT0ksZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQiw4Q1Y1dEJrQztJVTZ0QmxDLDRCQUE0QjtFQVZoQztJQWNJLHFCVmp1QmtDOztBVXN1QnRDO0VBQ0UsVUFBVTtFQUNWLFNBQVM7RUFDVCxnQkFBZ0I7O0FBR2xCO0VBQ0UsYUFBYTtFQUNiLDBDQUEwQztFQUMxQyxTQUFTO0VBQ1QscUJBQXFCO0VBQ3JCLGVBQWU7RUFDZiw0Q1p4dUJZO0VZeXVCWixrRkFBMkQ7RUFQN0Q7SUFVSSxrQkFBa0I7SUFWdEI7TUFhTSxjWi91QlE7O0FZb3ZCZDtFQUNFLCtDWmhzQmdEO0VZaXNCaEQsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixjVmx3Qm9DO0VVbXdCcEMscUJBQXFCOztBQUd2QjtFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsUUFBUTtFQUNSLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsY0F4d0JjO0VBa3dCaEI7SUFTSSxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGNadndCVTs7QVkyd0JkO0VBQ0Usa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsU0FBUztFQUNULHlCQUF5QjtFQUN6QixpQkFBaUI7RUFDakIsK0JBQStCO0VBQy9CLGdCQUFnQjtFQUNoQixXWjF4QlU7RVkyeEJWLDBFQUE4RTtFQUM5RSwwQkFBMEI7RUFDMUIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixrRUE1eEJtQztFQTh3QnJDO0lBa0JJLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsWUFBWTtJQUNaLFdBQVc7SUFDWCxZQUFZO0lBQ1osYUFBYTtJQUNiLHdFQUFnRTtZQUFoRSxnRUFBZ0U7SUFDaEUsV0FBVztJQUNYLHFDWjN5QlE7SVk0eUJSLG1HQXp5QmlDO0VBOHdCckM7SUErQkksOEJBQThCO0lBL0JsQztNQWtDTSxhQUFhO01BQ2IscUJBQXFCOztBQUszQjtFQUNFLFNBQVM7RUFDVCwrQ1pod0JnRDtFWWl3QmhELG1DQUFtQztFQUNuQyxnQkFBZ0I7RUFDaEIsa0JBQWtCOztBQUdwQjtFQUNFLFNBQVM7O0FBSVg7RUFDRSxnQkFBYTtFQUNiLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2IscUJBQXFCO0VBRXJCLG1DQUFZO0VBQ1oseUNBQXlDO0VBQ3pDLHFDQUFxQztFQUNyQyxpREFBaUQ7RUFDakQsZ0JBQWdCO0VBQ2hCLHNEQUE4QztVQUE5Qyw4Q0FBOEM7RUFDOUMsV1psMUJVO0VZbTFCVixtQlo3MEJZO0VZODBCWixrQkFBa0I7RUFDbEIsbUJBQW1COztBQUdyQjtFQUNFLGtCQUFrQjtFQUNsQixRQUFRO0VBQ1IsV0FBVztFQUNYLGdCQUFnQjs7QUFHbEI7RUFDRSxrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLFdBQVc7RUFDWCx5RkFBOEU7O0FBR2hGO0VBQ0UsYUFBYTtFQUNiLHNFQUEyRTtFQUMzRSxTQUFTO0VBQ1QsZ0JBQWdCO0VBQ2hCLFdBQVc7RUFFWCxnQ0FBUztFQUNULDJDQUEyQztFQUMzQyxzQkFBc0I7RUFDdEIsY0FBYzs7QUFHaEI7RUFDRSxlQUFlO0VBQ2YsK0NaMXpCZ0Q7RVkyekJoRCxtQ0FBbUM7RUFDbkMsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixzQkFBc0I7RUFOeEI7SUFTSSxrQkFBa0I7SUFDbEIsY0E1M0JZOztBQWc0QmhCO0VBQ0UsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixvQkFBb0I7RUFDcEIsaUJBQWlCO0VBQ2pCLHFDWnQ0QlU7O0FZMDRCWjtFQUNFLFNBQVM7RUFDVCxtQ0FBbUM7O0FBS3JDOztFQUVFLDJCQUEyQjs7QUFHN0I7O0VBRUUsU0FBUzs7QUFHWDtFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsU0FBUztFQUNULG1CQUFtQjs7QUFHckI7RUFDRSw4QkFBTTtFQUNOLGFBQWE7RUFDYixnREFBZ0Q7RUFDaEQsMEJBQTBCO0VBQzFCLHFCQUFxQjtFQUNyQixTQUFTO0VBQ1QsV0FBVzs7QUFZYjtFQUNFLCtCQUFNOztBQU9SO0VBQ0Usa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsV1pqOEJVO0VZazhCVixtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQVByQjtJQVVJLGdCQUFnQjtFQVlsQjtJQUNFLGFBQWE7RUF2QmpCO0lBNEJJLGtCQUFrQjtJQUNsQixRQUFRO0lBQ1IsVUFBVTtJQUNWLFdBQVc7SUFDWCx5RkFBOEU7SUFDOUUsZ0VBQVU7SUFBVixVQUFVO0lBQ1Ysc0RBNTlCaUM7RUEwN0JyQztJQXVDSSxXWnArQlE7SVk2N0JaOzs7OztNQTRDTSxrRUFBVTtNQUFWLFVBQVU7TUFDVixjQUFjO0lBN0NwQjtNQWlETSxXQUFXOztBQUtqQjtFQUNFLGtCQUFrQjtFQUNsQixRQUFRO0VBRlY7O0lBTUksV0FBVztJQUNYLFlBQVk7RUFQaEI7SUFXSSxvQkFBaUI7T0FBakIsaUJBQWlCO0lBQ2pCLG9EQTUvQmlDOztBQWdnQ3JDO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxZQUFZO0VBQ1osVUFBVTtFQUNWLFVBQVU7RUFDVixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixnRUFBVTtFQUFWLFVBQVU7RUFDVixvR0ExZ0NtQztFQTJnQ25DLGlCQUFpQjs7QUFHbkI7RUFDRSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULFdBQVc7RUFDWCxVQUFVO0VBQ1YsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQix1QkFBdUI7RUFDdkIsV0FBVztFQUNYLFlBQVk7RUFDWixjVi9oQ29DO0VVZ2lDcEMscUNaNWhDVTtFWTZoQ1YsbUJBQW1CO0VBQ25CLGdFQUFVO0VBQVYsVUFBVTtFQUNWLG9HQTVoQ21DO0VBNmhDbkMsaUJBQWlCOztBQUduQjtFQUNFLGFBQWE7O0FBSWY7RUFDRSxRQUFROztBQUdWO0VBQ0UsaUJBQVk7RUFDWix1QkFBZTtFQUNmLDhCQUFzQjtFQUN0QiwwQkFBa0I7RUFDbEIsNkJBQXFCO0VBQ3JCLG9DQUE0QjtFQU45QjtJQVNJLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsaUVBQVk7SUFBWixZQUFZO0VBWGhCO0lBZUksb0JBQVk7SUFDWixvQkFBZTtJQUNmLDhCQUFzQjtJQUN0QiwwQkFBa0I7SUFDbEIsMEJBQXFCO0lBQ3JCLG9DQUE0Qjs7QUFLaEM7RUFDRSxhQUFhO0VBQ2Isc0VBQTJFO0VBQzNFLDJCQUEyQjtFQUMzQixrQkFBa0I7O0FBR3BCO0VBQ0UsU0FBUzs7QUFRWDtFQUNFLGdCQUFnQjtFQUNoQixlQUFlO0VBRmpCO0lBS0ksZ0JBQWdCO0lBQ2hCLG1CQUFtQjs7QUFJdkI7RUFDRSxxQ0FBcUM7RUFDckMsUUFBUTtFQUZWO0lBS0ksZ0JacG1DUTtJWXFtQ1IsbUdBbG1DaUM7SUE0bENyQztNQVNNLDRDVjVtQ2dDO01VNm1DaEMsZ0JBQWdCOztBQU10QjtFQUNFLG1DQUFtQzs7QUFHckM7RUFDRSxhQUFhO0VBQ2Isc0VBQTJFO0VBQzNFLGdDQUFnQztFQUNoQyxpQkFBaUI7RUFDakIsNkJBQTZCOztBQUcvQjtFQUNFLFNBQVM7RUFDVCxlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLGNBL25DYztFQWdvQ2QsaUJBQWlCO0VBTG5CO0lBUUksZ0JBQWdCO0lBQ2hCLGNWeG9Da0M7SVUrbkN0QztNQVlNLGNaam9DUTs7QVlzb0NkO0VBQ0UsU0FBUzs7QUFHWDtFQUNFLFNBQVM7RUFDVCxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGNBcHBDYztFQXFwQ2QseUJBQXlCO0VBQ3pCLHFCQUFxQjs7QUFHdkI7RUFDRSxrQkFBa0I7RUFDbEIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixjWnZwQ1k7RVl3cENaLGdCWjlwQ1U7RVkrcENWLG1CQUFtQjtFQUVuQiwyRkE5cENtQztFQXNwQ3JDO0lBV0ksV1pwcUNRO0lZcXFDUixtQlZ6cUNrQztJVTBxQ2xDLGlCQUFpQjtFQWJyQjtJQWlCSSxxQkFBcUI7RUFqQnpCO0lBcUJJLFdaOXFDUTtJWStxQ1IsbUJaenFDVTs7QVkrcUNkO0VBQ0UsZUFBZTtFQUNmLFlBQVk7RUFDWixVQUFVO0VBQ1YsYUFBYTtFQUNiLHNDQUFPO0VBQ1Asb0JBQW9CO0VBQ3BCLGdFQUFVO0VBQVYsVUFBVTtFQUNWLG9HQTFyQ21DO0VBMnJDbkMsaUJBQWlCO0VBVG5CO0lBWUksb0JBQW9CO0lBQ3BCLGtFQUFVO0lBQVYsVUFBVTtJQUNWLGNBQWM7O0FBUWxCO0VBQ0Usa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYiwwQ0FBMEM7RUFDMUMsU0FBUztFQUNULG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsdUJBQXVCO0VBQ3ZCLGdCQUFnQjtFQUNoQixXWnB0Q1U7RVlxdENWLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2Ysa0NaanRDWTtFWWt0Q1osU0FBUztFQUNULG1CQUFtQjtFQUNuQixtRFpwdENZO0VZcXRDWixtQ0FBMkI7VUFBM0IsMkJBQTJCO0VBQzNCLGdDQUFnQztFQWpCbEM7SUFvQkksbUJaenRDVTs7QVk2dENkO0VBQ0UsK0NaenFDZ0Q7RVkwcUNoRCxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGNBdHVDYzs7QUF5dUNoQjtFQUNFLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLHVCQUF1QjtFQUN2QixtQkFBbUI7O0FBR3JCO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxXQUFXO0VBQ1gsVUFBVTtFQUNWLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIscUNaenZDVTtFWTB2Q1Ysa0JBQWtCO0VBUnBCO0lBV0ksY0FBYztJQUNkLFFBQVE7SUFDUixZQUFZO0lBQ1osbUJWcHdDdUQ7SVVxd0N2RCw0QkFBNEI7O0FBSWhDO0VBQ0Usa0JBQWtCO0VBQ2xCLHdCQUF3QjtFQUN4QixPQUFPO0VBQ1AsV0FBVztFQUNYLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osU0FBUztFQUNULGNBQWM7RUFDZCxnQkFBZ0I7RUFDaEIsb0JBQW9CO0VBQ3BCLGdCWmh4Q1U7RVlpeENWLG1CQUFtQjtFQUNuQixvRFo1d0NZO0VZNndDWixnRUFBVTtFQUFWLFVBQVU7RUFDVixzR0FqeENtQztFQWt4Q25DLGlCQUFpQjtFQUVqQjtJQUNFLG9CQUFvQjtJQUNwQixrRUFBVTtJQUFWLFVBQVU7SUFDVixjQUFjO0VBckJsQjtJQXlCSSxhQUFhO0lBQ2IsMENBQTBDO0lBQzFDLFFBQVE7SUFDUixhQUFhO0lBQ2IsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsY1oveENVO0lZZ3lDVixtQkFBbUI7SUFDbkIsNkNBQTZDO0lBbENqRDtNQXFDTSwrQ1ovdUM0QztNWWd2QzVDLGNBQWM7SUF0Q3BCO01BMkNNLGNWcHpDZ0M7TVVxekNoQyxtQkFBbUI7TUE1Q3pCO1FBK0NRLGNWeHpDOEI7O0FVZzBDdEM7RUFDRSwyQkFBMkI7O0FBRzdCO0VBQ0UsU0FBUzs7QUFHWDtFQUNFLFNBQVM7O0FBR1g7RUFDRSxhQUFhO0VBQ2IsdUVBQTRFO0VBQzVFLG1DQUFtQztFQUNuQyxTQUFTO0VBQ1QsU0FBUztFQUxYO0lBUUkseUJBQXlCO0lBQ3pCLFlBQVk7RUFUaEI7O0lBY0ksWUFBWTtFQWRoQjtJQWtCSSxpQkFBaUI7SUFsQnJCO01BcUJNLFdBQVc7RUFyQmpCO0lBMEJJLG9EQS8xQ2lDO0VDd0RqQztFbkJ1SEo7SUFRSSxhQUFhO0lBQ2IsbUJBQW1CO0lBVHZCO01BY00sU0FBWTtNQUNaLGdCQUFnQjtNQWZ0QjtRQWtCUSxjQUFjO1FBQ2QsY0FBYztNQW5CdEI7UUNuSkksMEJENEtrQztRQzNLbEMsNkJEMktrQztRQXpCdEM7O1VBOEJZLDBCQUEwQjtRQTlCdEM7O1VBbUNZLDZCQUE2QjtNQW5DekM7UUNySUkseUJENktvQztRQzVLcEMsNEJENEtvQztRQXhDeEM7O1VBNkNZLHlCQUF5QjtRQTdDckM7O1VBa0RZLDRCQUE0QixJQUM3QjtFbUIxS1A7SVI3REo7TUF1Q1EsYUFBYTtNSzZGckI7O1FBcUJNLFlBQVk7SUUyUWxCO01BT0ksK0RBQStEO0lBc0JuRTs7O01BVU0sK0RBQStEO0lBeWRyRTtNQVVJLGdEQUFnRDtJQWlCcEQ7TUFlTSxnQkFBZ0I7TUFDaEIsbUJBQW1CLElQdjZCbEI7RVF3RUg7SUZ5Sko7TUFJSSxnREFBZ0Q7TUFKcEQ7UUFsQkUsbUJBQW1CO1FBRW5CO1VBQ0UsYUFBYTtVQUNiLG9EQUFvRDtVQUNwRCwyQkFBMkI7VUFDM0IsbUJBQW1CO1FBR3JCO1VBQ0UscUJBQXFCO1FBR3ZCO1VBQ0UsbUNBQW1DLElBQ3BDO0VFek1DO0lIbkJKO01BbUJJLDJDQUEyQztJQzRNL0M7TUFZSSxnREFBZ0Q7TUFacEQ7UUFlTSxtQkFBbUI7TUFmekI7O1FBb0JNLG1CQUFtQjtRQXBCekI7O1VBdUJRLG9CQUFvQjtNQXZCNUI7UUFsQkUsbUJBQW1CO1FBRW5CO1VBQ0UsYUFBYTtVQUNiLG9EQUFvRDtVQUNwRCwyQkFBMkI7VUFDM0IsbUJBQW1CO1FBR3JCO1VBQ0UscUJBQXFCO1FBR3ZCO1VBQ0UsbUNBQW1DO0VDc0x2QztJQUVJLFNBQVM7SUFzS2I7TUFhTSxnREFBZ0Q7SUFLdEQ7TUFRSSxTQUFTO01BQ1QsaUJBQWlCO0VBNEVyQjtJQUVJLGdCQUFnQjtJQUNoQixVQUFVO0lBaVlkO01BSUksZ0JBQWdCO01BQ2hCLFVBQVU7SUF1UGQ7TUE4QkksZ0RBQWdEO01BOUJwRDtRQWlDTSxnQkFBZ0I7UUFDaEIsbUJBQW1CO1FBbEN6QjtVQXFDUSxtQ0FBbUM7UUFyQzNDO1VBeUNRLGVBQWUsSUY5eUN0QjtFR1JHO01IdUVKOztRQXlCTSxZQUFZO0lFdXdCbEI7TUFjSSxnREFBZ0Q7SUFLcEQ7TUFJSSxnREFBZ0QsSUY1eEJqRDtFR3JGQztJTnhFSjtNQVdRLGdCQUFnQjtJRXFJeEI7TUFrQk0sc0JBQXNCO01BQ3RCLFFBQVE7TUFDUix1QkFBdUI7SUFwQjdCO01Bd0JNLGdCQUFnQixJRjVKZjtFRW9HTDtJQWxDRjtNQW9DTSxlQUFlLElBQ2hCO0VJM0NEO0lENERKO01Bd0JJLDBCQUEwQjtJQXVDOUI7TUFLSSxnREFBZ0Q7TUFDaEQsY0FBYztJQTBHbEI7TUFjSSxZQUFZO01BQ1osZUFBZTtJQW0zQm5CO01Ba0JJLDBCQUEwQixJQXppQzdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZGVzaWduc29sczA2LXRoZW1lLy4vbm9kZV9tb2R1bGVzL0BuZW1hdGlzL3dwLWFscGhhL2Fzc2V0cy9zYXNzL3ZlbmRvcnMvZm9udGF3ZXNvbWUvYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9kZXNpZ25zb2xzMDYtdGhlbWUvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsIndlYnBhY2s6Ly9kZXNpZ25zb2xzMDYtdGhlbWUvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJ3ZWJwYWNrOi8vZGVzaWduc29sczA2LXRoZW1lLy4vbm9kZV9tb2R1bGVzL0BuZW1hdGlzL3dwLWFscGhhL2Fzc2V0cy9zYXNzL3RlYXNlcy9fdGVhc2Uuc2NzcyIsIndlYnBhY2s6Ly9kZXNpZ25zb2xzMDYtdGhlbWUvLi9ub2RlX21vZHVsZXMvQG5lbWF0aXMvd3AtYWxwaGEvYXNzZXRzL3Nhc3MvdGVhc2VzL21vZGVzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vZGVzaWduc29sczA2LXRoZW1lLy4vbm9kZV9tb2R1bGVzL0BuZW1hdGlzL3dwLWFscGhhL2Fzc2V0cy9zYXNzL3RlYXNlcy9tb2Rlcy9fc2ltcGxlLnNjc3MiLCJ3ZWJwYWNrOi8vZGVzaWduc29sczA2LXRoZW1lLy4vbm9kZV9tb2R1bGVzL0BuZW1hdGlzL3dwLWFscGhhL2Fzc2V0cy9zYXNzL3RlYXNlcy9tb2Rlcy9fcmVhbGlzYXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vZGVzaWduc29sczA2LXRoZW1lLy4vYXNzZXRzL3Nhc3MvYWJzdHJhY3RzL3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL2Rlc2lnbnNvbHMwNi10aGVtZS8uL25vZGVfbW9kdWxlcy9AbmVtYXRpcy93cC1hbHBoYS9hc3NldHMvc2Fzcy9hYnN0cmFjdHMvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL2Rlc2lnbnNvbHMwNi10aGVtZS8uL2NvbmZpZy90aGVtZS55YW1sIiwid2VicGFjazovL2Rlc2lnbnNvbHMwNi10aGVtZS8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovL2Rlc2lnbnNvbHMwNi10aGVtZS8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwid2VicGFjazovL2Rlc2lnbnNvbHMwNi10aGVtZS8uL25vZGVfbW9kdWxlcy9AbmVtYXRpcy93cC1hbHBoYS9hc3NldHMvc2Fzcy9jb21wb25lbnRzL19icmVhZGNydW1iLnNjc3MiLCJ3ZWJwYWNrOi8vZGVzaWduc29sczA2LXRoZW1lLy4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy9fZnVuY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vZGVzaWduc29sczA2LXRoZW1lLy4vbm9kZV9tb2R1bGVzL0BuZW1hdGlzL3dwLWFscGhhL2Fzc2V0cy9zYXNzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9kZXNpZ25zb2xzMDYtdGhlbWUvLi9hc3NldHMvc2Fzcy9wYWdlcy9ob21lL19hY3R1YWxpdGVzLnNjc3MiLCJ3ZWJwYWNrOi8vZGVzaWduc29sczA2LXRoZW1lLy4vYXNzZXRzL3Nhc3MvcGFnZXMvaG9tZS9fY29udGFjdC5zY3NzIiwid2VicGFjazovL2Rlc2lnbnNvbHMwNi10aGVtZS8uL2Fzc2V0cy9zYXNzL3BhZ2VzL2hvbWUvX2V4cGVydGlzZXMuc2NzcyIsIndlYnBhY2s6Ly9kZXNpZ25zb2xzMDYtdGhlbWUvLi9hc3NldHMvc2Fzcy9wYWdlcy9fcHJlc3RhdGlvbi5zY3NzIiwid2VicGFjazovL2Rlc2lnbnNvbHMwNi10aGVtZS8uL2Fzc2V0cy9zYXNzL3BhZ2VzL19wYWdlLWludGVybmUuc2NzcyIsIndlYnBhY2s6Ly9kZXNpZ25zb2xzMDYtdGhlbWUvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIiR1c2UtZmEtcHJvOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmEtaWNvbi1zdGFuZGFsb25lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbiVmYSxcbiVmYXMsXG4lZmFyLFxuJWZhbCxcbiVmYWQsXG4lZmF0LFxuJWZhYiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4lZmEtaWNvbi1zdGFuZGFsb25lIHtcbiAgQGluY2x1ZGUgZmEtaWNvbi1zdGFuZGFsb25lICgpO1xufVxuXG4lZmEsXG4lZmFzIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgUHJvXCI7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG59XG5cbiVmYXIge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNiBQcm9cIjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuJWZhbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA2IFByb1wiO1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4lZmF0IHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgUHJvXCI7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG59XG5cbiVmYWIge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNiBCcmFuZHNcIjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuQG1peGluIGZvbnQtYXdlc29tZSgkY29kZSkge1xuICBAZXh0ZW5kICVmYS1pY29uLXN0YW5kYWxvbmU7XG5cbiAgQGlmICR1c2UtZmEtcHJvIHtcbiAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUtcHJvKCRjb2RlKTtcbiAgfSBAZWxzZSB7XG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICAgIEBleHRlbmQgJWZhO1xuXG4gICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbnRlbnQ6ICRjb2RlO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbkBtaXhpbiBmb250LWF3ZXNvbWUtcHJvKCRjb2RlKSB7XG4gIEBpbmNsdWRlIGZvbnQtYXdlc29tZS1wcm8tc29saWQoJGNvZGUpO1xufVxuXG5AbWl4aW4gZm9udC1hd2Vzb21lLXByby1zb2xpZCgkY29kZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIEBleHRlbmQgJWZhcztcbiAgY29udGVudDogZmEtY29udGVudCgkY29kZSk7XG59XG5cbkBtaXhpbiBmb250LWF3ZXNvbWUtcHJvLXJlZ3VsYXIoJGNvZGUpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBAZXh0ZW5kICVmYXI7XG4gIGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGNvZGUpO1xufVxuXG5AbWl4aW4gZm9udC1hd2Vzb21lLXByby1saWdodCgkY29kZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIEBleHRlbmQgJWZhbDtcbiAgY29udGVudDogZmEtY29udGVudCgkY29kZSk7XG59XG5cbkBtaXhpbiBmb250LWF3ZXNvbWUtcHJvLXRoaW4oJGNvZGUpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBAZXh0ZW5kICVmYXQ7XG4gIGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGNvZGUpO1xufVxuXG5AbWl4aW4gZm9udC1hd2Vzb21lLXByby1icmFuZCgkY29kZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIEBleHRlbmQgJWZhYjtcbiAgY29udGVudDogZmEtY29udGVudCgkY29kZSk7XG59XG5cbkBtaXhpbiBmb250LWF3ZXNvbWUtYmVmb3JlKCRjb2RlLCAkZmxvYXRpbmc6IGZhbHNlLCAkZmEtc3R5bGU6IFwic29saWRcIiwgJG1hcmdpbjogLjI1ZW0pIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBAaWYgJGZhLXN0eWxlID09IFwicmVndWxhclwiIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtYXdlc29tZS1wcm8tcmVndWxhcigkY29kZSk7XG4gICAgfSBAZWxzZSBpZiAkZmEtc3R5bGUgPT0gXCJsaWdodFwiIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtYXdlc29tZS1wcm8tbGlnaHQoJGNvZGUpO1xuICAgIH0gQGVsc2UgaWYgJGZhLXN0eWxlID09IFwidGhpblwiIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtYXdlc29tZS1wcm8tdGhpbigkY29kZSk7XG4gICAgfSBAZWxzZSBpZiAkZmEtc3R5bGUgPT0gXCJicmFuZFwiIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtYXdlc29tZS1wcm8tYnJhbmQoJGNvZGUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm9udC1hd2Vzb21lKCRjb2RlKTtcbiAgICB9XG5cbiAgICBAaWYgJGZsb2F0aW5nIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcblxuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1icy1ib2R5LWxpbmUtaGVpZ2h0KTtcblxuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBmb250LWF3ZXNvbWUtYWZ0ZXIoJGNvZGUsICRmbG9hdGluZzogZmFsc2UsICRmYS1zdHlsZTogXCJzb2xpZFwiLCAkbWFyZ2luOiAuMjVlbSkge1xuICAmOjphZnRlciB7XG4gICAgQGlmICRmYS1zdHlsZSA9PSBcInJlZ3VsYXJcIiB7XG4gICAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUtcHJvLXJlZ3VsYXIoJGNvZGUpO1xuICAgIH0gQGVsc2UgaWYgJGZhLXN0eWxlID09IFwibGlnaHRcIiB7XG4gICAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUtcHJvLWxpZ2h0KCRjb2RlKTtcbiAgICB9IEBlbHNlIGlmICRmYS1zdHlsZSA9PSBcInRoaW5cIiB7XG4gICAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUtcHJvLXRoaW4oJGNvZGUpO1xuICAgIH0gQGVsc2UgaWYgJGZhLXN0eWxlID09IFwiYnJhbmRcIiB7XG4gICAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUtcHJvLWJyYW5kKCRjb2RlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtYXdlc29tZSgkY29kZSk7XG4gICAgfVxuXG4gICAgQGlmICRmbG9hdGluZyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICB9XG4gICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG5cbiAgICBsaW5lLWhlaWdodDogdmFyKC0tYnMtYm9keS1saW5lLWhlaWdodCk7XG5cbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uY2FyZCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBjYXJkLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXk6ICN7JGNhcmQtc3BhY2VyLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLXNwYWNlci14OiAjeyRjYXJkLXNwYWNlci14fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteTogI3skY2FyZC10aXRsZS1zcGFjZXIteX07XG4gIC0tI3skcHJlZml4fWNhcmQtdGl0bGUtY29sb3I6ICN7JGNhcmQtdGl0bGUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLXN1YnRpdGxlLWNvbG9yOiAjeyRjYXJkLXN1YnRpdGxlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGg6ICN7JGNhcmQtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3I6ICN7JGNhcmQtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItcmFkaXVzOiAjeyRjYXJkLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJveC1zaGFkb3c6ICN7JGNhcmQtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogI3skY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15OiAjeyRjYXJkLWNhcC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXg6ICN7JGNhcmQtY2FwLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLWJnOiAjeyRjYXJkLWNhcC1iZ307XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yOiAjeyRjYXJkLWNhcC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtaGVpZ2h0OiAjeyRjYXJkLWhlaWdodH07XG4gIC0tI3skcHJlZml4fWNhcmQtY29sb3I6ICN7JGNhcmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJnOiAjeyRjYXJkLWJnfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAjeyRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmd9O1xuICAtLSN7JHByZWZpeH1jYXJkLWdyb3VwLW1hcmdpbjogI3skY2FyZC1ncm91cC1tYXJnaW59O1xuICAvLyBzY3NzLWRvY3MtZW5kIGNhcmQtY3NzLXZhcnNcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzIyNzQwI2lzc3VlY29tbWVudC0zMDU4NjgxMDZcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWNhcmQtYm94LXNoYWRvdykpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXAge1xuICAgIGJvcmRlci10b3A6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRHVlIHRvIHNwZWNpZmljaXR5IG9mIHRoZSBhYm92ZSBzZWxlY3RvciAoYC5jYXJkID4gLmxpc3QtZ3JvdXBgKSwgd2UgbXVzdFxuICAvLyB1c2UgYSBjaGlsZCBzZWxlY3RvciBoZXJlIHRvIHByZXZlbnQgZG91YmxlIGJvcmRlcnMuXG4gID4gLmNhcmQtaGVhZGVyICsgLmxpc3QtZ3JvdXAsXG4gID4gLmxpc3QtZ3JvdXAgKyAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuLmNhcmQtYm9keSB7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBmb3IgZGVja3MgYW5kIGdyb3VwcyBzbyB0aGF0IGNhcmQgYmxvY2tzIHRha2UgdXBcbiAgLy8gYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZSwgZW5zdXJpbmcgZm9vdGVycyBhcmUgYWxpZ25lZCB0byB0aGUgYm90dG9tLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXkpIHZhcigtLSN7JHByZWZpeH1jYXJkLXNwYWNlci14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNvbG9yKTtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1jb2xvcik7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtc3VidGl0bGUtY29sb3IpO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1saW5rIHtcbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gIH1cblxuICArIC5jYXJkLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteCk7XG4gIH1cbn1cblxuLy9cbi8vIE9wdGlvbmFsIHRleHR1YWwgY2Fwc1xuLy9cblxuLmNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZXMgdGhlIGRlZmF1bHQgbWFyZ2luLWJvdHRvbSBvZiA8aE4+XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtYmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSAwIDApO1xuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWJnKTtcbiAgYm9yZGVyLXRvcDogdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICB9XG59XG5cblxuLy9cbi8vIEhlYWRlciBuYXZzXG4vL1xuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYmcpO1xuICB9XG59XG5cbi5jYXJkLWhlYWRlci1waWxscyB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtaW1nLW92ZXJsYXktcGFkZGluZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIHdpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3Age1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG59XG5cblxuLy9cbi8vIENhcmQgZ3JvdXBzXG4vL1xuXG4uY2FyZC1ncm91cCB7XG4gIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgPiAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWNhcmQtZ3JvdXAtbWFyZ2luKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy1taXhpbnNcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLW1peGluc1xuIiwiQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9jYXJkXCI7XG5cbkBpbXBvcnQgXCJtb2Rlcy9ncmlkXCI7XG5AaW1wb3J0IFwibW9kZXMvbGlzdFwiO1xuQGltcG9ydCBcIm1vZGVzL3NpbXBsZVwiO1xuQGltcG9ydCBcIm1vZGVzL3JlYWxpc2F0aW9uc1wiO1xuXG5AZWFjaCAkdGVhc2UgaW4gJHRlYXNlcyB7XG4gIC50ZWFzZS0jeyR0ZWFzZX0ge1xuICAgIEBleHRlbmQgJXRlYXNlLSN7JHRlYXNlfSAhb3B0aW9uYWw7XG4gIH1cbn1cblxuLnRlYXNlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4iLCJAbWl4aW4gbWFrZS10ZWFzZS1ncmlkIHtcbiAgcGljdHVyZSB7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIC5iYWRnZS13cmFwcGVyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLmJhZGdlLFxuICAuY2FyZC10aXRsZSB7XG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ldGVhc2UtZ3JpZCB7XG4gIEBpbmNsdWRlIG1ha2UtdGVhc2UtZ3JpZCgpO1xufVxuIiwiQG1peGluIG1ha2UtdGVhc2Utc2ltcGxlIHtcbiAgYSB7XG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuXG4ldGVhc2Utc2ltcGxlIHtcbiAgQGluY2x1ZGUgbWFrZS10ZWFzZS1zaW1wbGUoKTtcbn1cbiIsIkBtaXhpbiBtYWtlLXRlYXNlLXNpbXBsZS1yZWFsaXNhdGlvbnMge1xuICAmOmhvdmVye1xuICAgIC5jYXJkLW92ZXJsYXkge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDApO1xuICAgIH1cbiAgfVxuICAuY2FyZC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiAkdGVhc2Utb3ZlcmxheS10ZXh0LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXNoYWRvdzogJHRlYXNlLW92ZXJsYXktdGV4dC1zaGFkb3c7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkdGVhc2Utb3ZlcmxheS1iZy1jb2xvciwgJHRlYXNlLW92ZXJsYXktYmctb3BhY2l0eSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGVhc2UgLjNzO1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCg5MGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB9XG59XG5cbiV0ZWFzZS1zaW1wbGUtcmVhbGlzYXRpb25zIHtcbiAgQGluY2x1ZGUgbWFrZS10ZWFzZS1zaW1wbGUtcmVhbGlzYXRpb25zKCk7XG59XG4iLCIvLy0tLS0tLSBCb290c3RyYXBcbi8vLS0tLS0gQ29sb3Igc3lzdGVtXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItdmFyaWFibGVzXG4kYmxhY2s6ICMwMDA7XG4kd2hpdGU6ICNmZmY7XG4kZ3JheS03MDA6ICM0OTUwNTc7XG4vLyAkZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgJHByaW1hcnksICRzZWNvbmRhcnkpO1xuLy8gJGJvZHktY29sb3ItZGFyazogJHdoaXRlO1xuLy8gJHRoZW1lLWNvbG9yczogKGJsYWNrOiAkYmxhY2spO1xuLy8gUGFsZXR0ZSBkZSBsYSBtYXF1ZXR0ZSAoZW4gcGx1cyBkZSBwcmltYXJ5ICMwMDg5QzcgLyBzZWNvbmRhcnkgIzAwQUVFRiBkZSBjb25maWcvdGhlbWUueWFtbClcbiRkYXJrOiAjMGIxZDMzOyAvLyDCqyBlbmNyZSDCuyA6IHRleHRlIGNvdXJhbnQsIGJvdXRvbnMgc29tYnJlcywgaGVhZGVyXG4kdGhlbWUtY29sb3JzOiAoXG4gIFwid2hpdGVcIjogI2ZmZiwgLy8gYm91dG9ucyBibGFuY3MgKHBvcnRlcywgcGFubmVhdXgsIGNhdGFsb2d1ZSlcbiAgXCJuaWdodFwiOiAjMDcxNDIzLCAvLyBwaWVkIGRlIHBhZ2VcbiAgXCJza3lcIjogIzAwYWVlZiwgLy8gYWN0aW9uIHByaW5jaXBhbGUgc3VyIGZvbmQgbnVpdCAocGllZCBkZSBwYWdlKVxuICBcImljZVwiOiAjOGZkYmY3LCAvLyBhY2NlbnQgZGVzIHRpdHJlcyBzdXIgZm9uZCBzb21icmVcbiAgXCJjaGFsa1wiOiAjZjRmM2VmLCAvLyBmb25kIGRlIHBhZ2VcbiAgXCJzYW5kXCI6ICNlYWU4ZTEsIC8vIGZvbmRzIHNlY29uZGFpcmVzIChGQVEgZmVybcOpZSwgb25nbGV0cylcbiAgXCJzdG9uZVwiOiAjZDlkNmNlLCAvLyBmaWxldCBkZXMgYm91dG9ucyBibGFuY3MgZXQgZGVzIGNoYW1wc1xuICBcIm1pc3RcIjogI2RkZjFmYSwgLy8gZm9uZCBkZXMgdHVpbGVzIGQnaWPDtG5lc1xuICBcImFzaFwiOiAjNWI2MDY2IC8vIHRleHRlIHNlY29uZGFpcmVcbik7XG4vLyBBbHBoYSByZXRpcmUgXCJsaWdodFwiIGV0IFwiZGFya1wiIGRlIGxhIHBhbGV0dGUgcGFyIGTDqWZhdXQgOiBuw6ljZXNzYWlyZXMgYXV4IGJvdXRvbnMgb3V0bGluZS1saWdodCAvIG91dGxpbmUtZGFyayAvIGRhcmtcbiRicy1jb2xvcnMtdG8ta2VlcDogKFwibGlnaHRcIiwgXCJkYXJrXCIpO1xuXG4vLy0tLS0tIEJ1dHRvbnNcbi8vIG1hcXVldHRlIDogYm91dG9ucyDDoCBjb2lucyBkZSAxMnB4LCBjb3JwcyAxNXB4IHNlbWktZ3JhcywgaW50ZXJsaWduZSBzZXJyw6lcbiRidG4tYm9yZGVyLXJhZGl1czogLjc1cmVtO1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAuNzVyZW07XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6IC43NXJlbTtcbiRidG4tZm9udC1zaXplOiAuOTM3NXJlbTtcbiRidG4tZm9udC13ZWlnaHQ6IDYwMDtcbiRidG4tbGluZS1oZWlnaHQ6IDEuMjtcbiRpbnB1dC1idG4tcGFkZGluZy15OiAuOTM3NXJlbTtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAxLjM3NXJlbTtcbiRidG4tZm9udC1zaXplLWxnOiAuOTM3NXJlbTtcbiRidG4tcGFkZGluZy15LWxnOiAxcmVtO1xuJGJ0bi1wYWRkaW5nLXgtbGc6IDEuNXJlbTtcbiRidG4tZm9udC1zaXplLXNtOiAuODEyNXJlbTtcbiRidG4tcGFkZGluZy15LXNtOiAuNjI1cmVtO1xuJGJ0bi1wYWRkaW5nLXgtc206IC44NzVyZW07XG5cbi8vLS0tLS0gQ29tcG9uZW50c1xuLy8gbWFxdWV0dGUgOiB1biBzZXVsIHJheW9uIGRlIDEycHggcG91ciBsZXMgY2FydGVzLCBwYXN0aWxsZXMgZXQgYm91dG9uc1xuJGJvcmRlci1yYWRpdXM6IC43NXJlbTtcbi8vICRib3JkZXItcmFkaXVzLXNtOiAuMjVyZW07XG4kYm9yZGVyLXJhZGl1cy1sZzogLjc1cmVtO1xuLy8gJGJvcmRlci1yYWRpdXMteGw6IDFyZW07XG4vLyAkYm9yZGVyLXJhZGl1cy14eGw6IDJyZW07XG4vLyAkYm94LXNoYWRvdzogMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpO1xuLy8gJGJveC1zaGFkb3ctc206IDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpO1xuLy8gJGJveC1zaGFkb3ctbGc6IDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KTtcblxuLy8tLS0tLSBMaW5rc1xuLy8gJGxpbmstY29sb3I6ICRwcmltYXJ5O1xuJGxpbmstZGVjb3JhdGlvbjogbm9uZTtcbi8vICRsaW5rLWNvbG9yLWRhcms6ICR3aGl0ZTtcblxuLy8tLS0tLSBUeXBvZ3JhcGh5XG4kZm9udC13ZWlnaHQtYm9sZGVyOiA3MDA7XG4vLyBwaWxlcyBkZSBwb2xpY2VzIGRlIGxhIG1hcXVldHRlIDogbGVzIHZhcmlhYmxlcyBBbHBoYSBpc3N1ZXMgZGUgY29uZmlnL3RoZW1lLnlhbWwgc29udCBkZXMgY2hhw65uZXMgZW50cmUgZ3VpbGxlbWV0cyxcbi8vIGludXRpbGlzYWJsZXMgdGVsbGVzIHF1ZWxsZXMgZGFucyB1bmUgcHJvcHJpw6l0w6kgZm9udC1mYW1pbHlcbiRzci1mb250LXNhbnM6IFwiQnJpY29sYWdlIEdyb3Rlc3F1ZVwiLCBzYW5zLXNlcmlmO1xuJHNyLWZvbnQtc2VyaWY6IFwiUGxheWZhaXIgRGlzcGxheVwiLCBnZW9yZ2lhLCBzZXJpZjtcblxuLy8tLS0tLSBDb250cmFzdFxuLy8gJG1pbi1jb250cmFzdC1yYXRpbzogMztcblxuLy8tLS0tLSBOYXZiYXJcbi8vICRuYXZiYXItaXRlbS1tYXJnaW4teDogbnVsbDtcblxuLy8tLS0tLSBOYXZzXG4vLyAkbmF2LWxpbmstZm9udC1zaXplOiBudWxsO1xuLy8gJG5hdi1saW5rLWNvbG9yOiAkYm9keS1jb2xvcjtcbi8vICRuYXYtbGluay1ob3Zlci1jb2xvcjogJHByaW1hcnk7XG5cbi8vLS0tLS0tIFdwIEFscGhhXG4vLy0tLS0tIFRvb2xzXG4vLyAkdGVhc2VzOiAoXCJncmlkXCIsIFwibGlzdFwiKTtcblxuLy8tLS0tLSBEYXJrICYgbGlnaHQgdGhlbWVzXG4vLyAkZGFyay1iZy1jb2xvcjogdmFyKC0tYnMtYm9keS1iZy1kYXJrKTtcbi8vICRkYXJrLXR4dC1jb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvci1kYXJrKTtcbi8vICRsaWdodC1iZy1jb2xvcjogdmFyKC0tYnMtYm9keS1iZyk7XG4vLyAkbGlnaHQtdHh0LWNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKTtcblxuLy8tLS0tLSBGZWF0dXJlZCBpbWFnZVxuLy8gJGZlYXR1cmVkLWltYWdlLWhlaWdodDogNTB2aDtcbi8vICRmZWF0dXJlZC1pbWFnZS1vdmVybGF5LWNvbG9yOiAkYm9keS1jb2xvcjtcbi8vICRmZWF0dXJlZC1pbWFnZS1vdmVybGF5LW9wYWNpdHk6IC4xNTtcblxuLy8tLS0tLSBIZWFkZXJcbi8vICRoZWFkZXItYnRuLWljb246ICRmYS12YXItcGhvbmU7XG4vLyAkaGVhZGVyLWJ0bi1mYS1zdHlsZTogXCJzb2xpZFwiO1xuLy8gJGhlYWRlci1idG4tc2hvdy10ZXh0LWJyZWFrcG9pbnQ6IHh4bDtcblxuLy8tLS0tLSBIb21lXG4vLyAkaG9tZS1mZWF0dXJlZC1pbWFnZS1oZWlnaHQ6IDUwdmg7XG4vLyBtYXF1ZXR0ZSA6IGxlIHRpdHJlIGR1IGhlcm8gZXN0IHZpc2libGUgZMOocyBsZSBjaGFyZ2VtZW50IChhbmltYXRpb24gZCdlbnRyw6llIHByb3ByZSwgcGFnZXMvaG9tZS9faGVyby5zY3NzKVxuJGhvbWUtZmVhdHVyZWQtaW1hZ2UtdGV4dC10cmFuc2l0aW9uOiBmYWxzZTtcblxuLy8tLS0tLSBJY29ucyBsaXN0XG4vLyAkYWxwaGEtZmEtaWNvbnMtbGlzdDogKGFycm93LXJpZ2h0KTtcbi8vICRhbHBoYS1mYS1pY29ucy1saXN0LXN0eWxlOiByZWd1bGFyO1xuXG4vLy0tLS0tIExvZ29cbi8vICR0cmFuc3BhcmVudC1oZWFkZXItbG9nby1jb2xvcjogZmFsc2U7XG4vLyAkdHJhbnNwYXJlbnQtaGVhZGVyLWxvZ28tc2hhZG93LWNvbG9yOiBmYWxzZTtcblxuLy8tLS0tIFBhcmFsbGF4XG4vLyAkYXNwLW92ZXJsYXktYmctY29sb3I6ICRmZWF0dXJlZC1pbWFnZS1vdmVybGF5LWNvbG9yO1xuLy8gJGFzcC1vdmVybGF5LWJnLW9wYWNpdHk6ICRmZWF0dXJlZC1pbWFnZS1vdmVybGF5LW9wYWNpdHk7XG5cbi8vLS0tLSBSZXNwb25zaXZlIG1lZGlhcyB3aXRoIGZpeGVkIHJhdGlvXG4vLyAkbWVkaWEtcmF0aW9zOiAoKDEgMSksICg0IDMpLCAoMyAyKSwgKDE2IDkpLCAoMjEgOSkpO1xuXG4vLy0tLS0tLSBTaGFwZXNcbi8vICRzaGFwZXM6IChcInNxdWFyZVwiLCBcImNpcmNsZVwiKTtcblxuLy8tLS0tIFNpZGViYXJcbi8vICRzaWRlYmFyOiBmYWxzZTtcbi8vICRzaWRlYmFyLWJnLWNvbG9yOiByZ2JhKCRwcmltYXJ5LCAuMSk7XG5cbi8vLS0tLS0gU3VydGl0bGVcbi8vICRhbHBoYS1zdXJ0aXRsZS1jb2xvcjogJGJvZHktY29sb3I7XG4vLyAkYWxwaGEtc3VydGl0bGUtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbi8vICRhbHBoYS1zdXJ0aXRsZS1mb250LXNpemU6IDIwcHg7XG4vLyAkYWxwaGEtc3VydGl0bGUtZm9udC1zaXplLWRlc2t0b3A6IDI1cHg7XG5cbi8vLS0tLS0gVG9wIGJhclxuLy8gJHRvcC1iYXItaGlkZS1vbi1tb2JpbGU6IHRydWU7XG4vLyAkdG9wLWJhci1oaWRlLW9uLXNjcm9sbC1tb2JpbGU6IHRydWU7XG4vLyAkdG9wLWJhci1oaWRlLW9uLXNjcm9sbC1kZXNrdG9wOiAkdG9wLWJhci1oaWRlLW9uLXNjcm9sbC1tb2JpbGU7XG5cbi8vLS0tLS0gVHJhbnNwYXJlbnQgSGVhZGVyXG4vLyAkdHJhbnNwYXJlbnQtaGVhZGVyLWJnLWNvbG9yOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAkZ3JheS03MDAsIHRyYW5zcGFyZW50KTtcblxuLy8gLS0tLS0gWi1pbmRleFxuLy8gJGFscGhhLXotaW5kZXhlczogKDEsIDIpO1xuXG4vLy0tLS0tLSBBbHBoYSBtb2R1bGVzXG4vLy0tLS0tIEJhY2sgdG8gdG9wXG4vLyAkYmFjay10by10b3Atb2Zmc2V0LXk6IDUuNXJlbTtcbi8vICRiYWNrLXRvLXRvcC1vZmZzZXQteDogMS43NXJlbTtcblxuLy8tLS0tLSBNYXBcbi8vICRhbHBoYS1tYXAtZGVmYXVsdC1oZWlnaHQ6IDI1MHB4O1xuLy8gJGFscGhhLW1hcC1kZWZhdWx0LWhlaWdodC1sZzogJGFscGhhLW1hcC1kZWZhdWx0LWhlaWdodCAqIDI7XG5cbi8vLS0tLS0gUmF0aW5nXG4vLyAkYWxwaGEtcmF0aW5nLXN0YXItb24tY29sb3I6ICRwcmltYXJ5O1xuXG4vLy0tLS0tLSBHdXRlbmJlcmcgYmxvY2tzXG4vLy0tLS0tIFJhbmsgTWF0aFxuLy8tLS0tIEZBUVxuJHJhbmstbWF0aC1mYXEtdXNlLWxlZ2FjeS1zdHlsZXM6IGZhbHNlO1xuXG4vLy0tLS0tLSBGb250cyBvcHRpbWl6YXRpb25cbi8vLS0tLS0gRm9udEF3ZXNvbWUgSWNvbnNcbi8vIGhlcmUgeW91IGNhbiBhZGQgYWxsIHRoZSBpY29ucyB5b3UgbmVlZCB0byB1c2UgaW5zaWRlIHlvdXIgdGhlbWVcbi8vIEBpbXBvcnQgXCJ+QGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL2Z1bmN0aW9uc1wiO1xuLy8gQGltcG9ydCBcIn5AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtcHJvL3Njc3MvdmFyaWFibGVzXCI7XG4vLyAkY3VzdG9tLXVzZWQtZmEtaWNvbnM6IChmb250LWF3ZXNvbWUtZmxhZzogJGZhLXZhci1mb250LWF3ZXNvbWUtZmxhZywgZm9ydC1hd2Vzb21lOiAkZmEtdmFyLWZvcnQtYXdlc29tZSk7XG5cbi8vLS0tLS0tIEJvb3RzdHJhcCBSZXNwb25zaXZlIEltYWdlIFJhdGlvXG4vLyBtdXN0IGJlIGEgbGlzdCBvZiByYXRpb3MgZm9ybWF0dGVkIGxpa2UgdGhpczogKDEgMSksICg0IDMpLCAoMyAyKSwgKDE2IDkpLCAoMjEgOSlcbi8vICRtZWRpYS1yYXRpb3M6ICgpO1xuIiwiQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJ+QGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIn5AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtcHJvL3Njc3MvdmFyaWFibGVzXCI7XG5cbiR0aGVtZS1hc3NldC1wYXRoOiBcIi4uL2ltYWdlc1wiICFkZWZhdWx0O1xuJGZvbnRzLXBhdGg6IFwiZm9udHNcIiAhZGVmYXVsdDtcblxuLy8tLS0tLS0gQ29sb3Igc3lzdGVtXG4kYmxhY2s6ICMwMDAgIWRlZmF1bHQ7XG4kd2hpdGU6ICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmN2Y3ZjcgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICM5ZDlkOWQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvci12YXJpYWJsZXNcbiRibHVlOiAjMDA1ZGFhICFkZWZhdWx0O1xuJHB1cnBsZTogIzcwMWU2ZSAhZGVmYXVsdDtcbiRncmVlbjogIzAxYWUzYyAhZGVmYXVsdDtcbiRyZWQ6ICNkYzM1NDUgIWRlZmF1bHQ7XG4keWVsbG93OiAjZmZjMTA3ICFkZWZhdWx0O1xuJGN5YW46ICMwZGNhZjAgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvcnMtbWFwXG4kY29sb3JzOiAoXG4gIFwiYmx1ZVwiOiAkYmx1ZSxcbiAgXCJwdXJwbGVcIjogJHB1cnBsZSxcbiAgXCJncmVlblwiOiAkZ3JlZW4sXG4gIFwid2hpdGVcIjogJHdoaXRlLFxuICBcImdyYXktMTAwXCI6ICRncmF5LTEwMCxcbiAgXCJncmF5LTUwMFwiOiAkZ3JheS01MDAsXG4gIFwiZ3JheS05MDBcIjogJGdyYXktOTAwXG4pICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtY29sb3ItdmFyaWFibGVzXG4kc3VjY2VzczogJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogJGdyYXktOTAwICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtY29sb3JzLW1hcFxuJGRlZmF1bHQtdGhlbWUtY29sb3JzOiAoXG4gIFwicHJpbWFyeVwiOiAkcHJpbWFyeSxcbiAgXCJzZWNvbmRhcnlcIjogJHNlY29uZGFyeSxcbiAgXCJzdWNjZXNzXCI6ICRzdWNjZXNzLFxuICBcImluZm9cIjogJGluZm8sXG4gIFwid2FybmluZ1wiOiAkd2FybmluZyxcbiAgXCJkYW5nZXJcIjogJGRhbmdlcixcbiAgXCJsaWdodFwiOiAkbGlnaHQsXG4gIFwiZGFya1wiOiAkZGFyayxcbiAgXCJ3aGl0ZVwiOiAkd2hpdGVcbikgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3JzOiAoKSAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZSgkZGVmYXVsdC10aGVtZS1jb2xvcnMsICR0aGVtZS1jb2xvcnMpO1xuXG4vLyBUaGUgY29udHJhc3QgcmF0aW8gdG8gcmVhY2ggYWdhaW5zdCB3aGl0ZSwgdG8gZGV0ZXJtaW5lIGlmIGNvbG9yIGNoYW5nZXMgZnJvbSBcImxpZ2h0XCIgdG8gXCJkYXJrXCIuIEFjY2VwdGFibGUgdmFsdWVzIGZvciBXQ0FHIDIuMCBhcmUgMywgNC41IGFuZCA3LlxuJG1pbi1jb250cmFzdC1yYXRpbzogNC41ICFkZWZhdWx0O1xuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJGNvbG9yLWNvbnRyYXN0LWRhcms6ICRncmF5LTkwMCAhZGVmYXVsdDtcbiRjb2xvci1jb250cmFzdC1saWdodDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBDb21wb25lbnRzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy12YXJpYWJsZXNcbiRib3JkZXItcmFkaXVzOiAuNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAuNjI1cmVtICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBPcHRpb25zXG4kZW5hYmxlLW5lZ2F0aXZlLW1hcmdpbnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIFNwYWNpbmdcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKFxuICAwOiAwLFxuICAxOiAkc3BhY2VyICogLjI1LCAvLyA0cHhcbiAgMjogJHNwYWNlciAqIC41LCAvLyA4cHhcbiAgMzogJHNwYWNlciAqIC43NSwgLy8gMTJweFxuICA0OiAkc3BhY2VyLCAvLyAxNnB4XG4gIDU6ICRzcGFjZXIgKiAxLjI1LCAvLyAyMHB4XG4gIDY6ICRzcGFjZXIgKiAxLjUsIC8vIDI0cHhcbiAgNzogJHNwYWNlciAqIDEuNzUsIC8vIDI4cHhcbiAgODogJHNwYWNlciAqIDIsIC8vIDMycHhcbiAgOTogJHNwYWNlciAqIDMsIC8vIDQ4cHhcbiAgMTA6ICRzcGFjZXIgKiA0LCAvLyA2NHB4XG4gIDExOiAkc3BhY2VyICogNSAvLyA4MHB4XG4pICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBEYXJrIFN0eWxlXG4kZGFyay1iZy1jb2xvcjogdmFyKC0tYnMtYm9keS1iZy1kYXJrKSAhZGVmYXVsdDtcbiRkYXJrLXR4dC1jb2xvcjogdmFyKC0tYnMtYm9keS1jb2xvci1kYXJrKSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gTGlnaHQgU3R5bGVcbiRsaWdodC1iZy1jb2xvcjogJGJvZHktYmcgIWRlZmF1bHQ7XG4kbGlnaHQtdHh0LWNvbG9yOiAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuLy8tLS0tLS0gSGVhZGVyXG4kaGVhZGVyLWJnOiB2YXIoLS1icy1ib2R5LWJnKSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gRm9vdGVyXG4kZm9vdGVyLWJnOiByZ2JhKCRwcmltYXJ5LCAuMSkgIWRlZmF1bHQ7XG4kY29weXJpZ2h0LWJnOiAkZm9vdGVyLWJnICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBMaW5rc1xuJGxpbmstY29sb3I6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJGxpbmstc2hhZGUtcGVyY2VudGFnZTogMjAlICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6IHNoaWZ0LWNvbG9yKCRsaW5rLWNvbG9yLCAkbGluay1zaGFkZS1wZXJjZW50YWdlKSAhZGVmYXVsdDtcblxuLy8gR3JpZCBjb2x1bW5zXG4kZ3JpZC1ndXR0ZXItd2lkdGg6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gQ29udGFpbmVyIHBhZGRpbmdcbiRjb250YWluZXItcGFkZGluZy14OiAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBDb21wb25lbnRzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXZhcmlhYmxlc1xuJGJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogcmdiYSgkZ3JheS05MDAsIC4xNSkgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBhc3BlY3QtcmF0aW9zXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBoZWFkaW5ncy12YXJpYWJsZXNcbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAkc3BhY2VyICogMiAhZGVmYXVsdDtcblxuLy8tLS0tLS0gQnV0dG9ucyArIEZvcm1zXG4kYnRuLWNvbG9yczogKFxuICBcInByaW1hcnlcIjogbnVsbCxcbiAgXCJzZWNvbmRhcnlcIiA6IG51bGxcbikgIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy15OiAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6IC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6IC4xMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy15OiAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIE5hdnNcbi8vLS0tLS0gU2hhcmVkIHZhcmlhYmxlc1xuJG5hdi1jb2xvci1hY2NlbnQ6ICRwcmltYXJ5ICFkZWZhdWx0O1xuXG4vLy0tLS0tIEJvb3RzdHJhcCB2YXJpYWJsZXNcbiRuYXYtbGluay1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XG4kbmF2LWxpbmstY29sb3I6IHZhcigtLXRoZW1lLXNraW4tdGV4dC1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LWxpbmstaG92ZXItY29sb3I6IHRpbnQtY29sb3IoJHByaW1hcnksIDMwJSkgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICRncmF5LTYwMCAhZGVmYXVsdDtcblxuLy8tLS0tLSBBbHBoYSB2YXJpYWJsZXNcbiRuYXYtY29sb3ItaG92ZXItZmlyc3QtbGV2ZWw6ICRuYXYtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRuYXYtY29sb3ItY3VycmVudDogJG5hdi1jb2xvci1hY2NlbnQgIWRlZmF1bHQ7XG4kbmF2LWNvbG9yLWN1cnJlbnQtZmlyc3QtbGV2ZWw6ICRuYXYtY29sb3ItY3VycmVudCAhZGVmYXVsdDtcbiRuYXYtY29sb3ItYW5jZXN0b3I6IHNoYWRlLWNvbG9yKCRuYXYtY29sb3ItYWNjZW50LCAyMCUpICFkZWZhdWx0O1xuJG5hdi1jb2xvci1hbmNlc3Rvci1maXJzdC1sZXZlbDogJG5hdi1jb2xvci1hbmNlc3RvciAhZGVmYXVsdDtcblxuLy8tLS0tLS0gTmF2YmFyXG4kc3VibWVudS1iZy1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteTogMyAqICRzcGFjZXIgLyA0ICFkZWZhdWx0O1xuJG5hdmJhci1pdGVtLW1hcmdpbi14OiBudWxsICFkZWZhdWx0O1xuJG5hdmJhci1pdGVtLW1hcmdpbi15OiBudWxsICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1jb2xvcjogJG5hdi1saW5rLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogJG5hdi1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICRuYXYtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuLy8tLS0tLS0gRHJvcGRvd25zXG5cbi8vLS0tLS0tIFBhZ2luYXRpb25cbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiByZ2JhKCRwcmltYXJ5LCAuMSkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIE1vZGFsc1xuJG1vZGFsLWJhY2tkcm9wLWJnOiBibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAuNSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcblxuLy8gTW9kYWwgVmlkZW9cbiRtb2RhbC12aWRlby1idG4tY2xvc2UtYmctY29sb3I6IHZhcigtLWJzLXByaW1hcnkpICFkZWZhdWx0O1xuJG1vZGFsLXZpZGVvLWJ0bi1jbG9zZS1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcblxuLy8tLS0tLS0gSW1hZ2UgdGh1bWJuYWlscyAmIFBpY3R1cmVcblxuLy8tLS0tLS0gQnJlYWRjcnVtYnNcbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gT2ZmY2FudmFzXG4kb2ZmY2FudmFzLWJvZHktYmFja2Ryb3AtY29sb3I6IHJnYmEoJG1vZGFsLWJhY2tkcm9wLWJnLCAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eSkgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXdpZGUtc2NyZWVuLWJyZWFrcG9pbnQ6IHh4bCAhZGVmYXVsdDtcblxuLy8tLS0tLS0gT2ZmY2FudmFzIGRlc2t0b3BcbiRvZmZjYW52YXMtZGFyay1tb2RlLWxvZ28tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZGVza3RvcC13aWR0aDogNDAwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWxvZ28td2lkdGg6IDY2LjY2JSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtaGVhZGVyLWFsaWduZW1lbnQ6IGNlbnRlciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1ib3JkZXItY29sb3I6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtYm9yZGVyLW9wYWNpdHk6IC41ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLWJvcmRlci1iZzogcmdiYSgkb2ZmY2FudmFzLWdyaWQtYm9yZGVyLWNvbG9yLCAkb2ZmY2FudmFzLWdyaWQtYm9yZGVyLW9wYWNpdHkpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLWZpcnN0LWx2bC1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLWZpcnN0LWx2bC1ib3JkZXItdHlwZTogc29saWQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci1vcGFjaXR5OiAuMSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1maXJzdC1sdmwtYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLWZpcnN0LWx2bC1ib3JkZXItY29sb3ItYmc6IHJnYmEoJG9mZmNhbnZhcy1ncmlkLWZpcnN0LWx2bC1ib3JkZXItY29sb3IsICRvZmZjYW52YXMtZ3JpZC1maXJzdC1sdmwtYm9yZGVyLW9wYWNpdHkpO1xuJG9mZmNhbnZhcy1ncmlkLWZpcnN0LWx2bC1ib3JkZXItc3R5bGU6ICRvZmZjYW52YXMtZ3JpZC1maXJzdC1sdmwtYm9yZGVyLXNpemUgJG9mZmNhbnZhcy1ncmlkLWZpcnN0LWx2bC1ib3JkZXItdHlwZSAkb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci1jb2xvci1iZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1maXJzdC1sdmwtZm9udC1zaXplOiAxLjVyZW0gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtZmlyc3QtdGh1bWItd2lkdGg6IDc1JSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1zdWJtZW51LWZvbnQtc2l6ZTogMS4xMjVyZW0gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtc3VibWVudS1pdGVtLXBhZGRpbmcteTogMCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1zdWJtZW51LWl0ZW0tbGluZS1oZWlnaHQ6IDEuMjUgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtc3VibWVudS1pdGVtLWljb24tc2l6ZTogLjhyZW0gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtc3VibWVudS1pdGVtLWltYWdlLWJveC1zaGFkb3c6IDAgMCAxLjVyZW0gLjc1cmVtIHJnYmEoJHNlY29uZGFyeSwgLjI1KSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1zdWJtZW51LWl0ZW0taG92ZXItaW1hZ2UtYm94LXNoYWRvdzogdmFyKC0tYnMtYm94LXNoYWRvdyk7XG4kb2ZmY2FudmFzLWZpcnN0LWx2bC1tZW51LWl0ZW0tYm9yZGVyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWZpcnN0LWx2bC1tZW51LWl0ZW0tYm9yZGVyLW9wYWNpdHk6IC4xNSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZmlyc3QtbHZsLW1lbnUtaXRlbS1ib3JkZXItc3R5bGU6IDFweCBzb2xpZCByZ2JhKCRvZmZjYW52YXMtZmlyc3QtbHZsLW1lbnUtaXRlbS1ib3JkZXItY29sb3IsICRvZmZjYW52YXMtZmlyc3QtbHZsLW1lbnUtaXRlbS1ib3JkZXItb3BhY2l0eSk7XG5cbi8vLS0tLS0tLSBPZmZjYW52YXMgZGVza3RvcCBNZWdhIFN1Ym1lbnVcbiRvZmZjYW52YXMtc3VibWVudS1pdGVtLWZvbnQtc2l6ZTogMS41cmVtICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1zdWJtZW51LWl0ZW0tYm9yZGVyLWNvbG9yOiB2YXIoLS10aGVtZS1za2luLXRleHQtY29sb3IpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1zdWJtZW51LWl0ZW0tYm9yZGVyLXN0eWxlOiAxcHggc29saWQgJG9mZmNhbnZhcy1zdWJtZW51LWl0ZW0tYm9yZGVyLWNvbG9yO1xuXG5cbi8vLS0tLS0tIE1lZ2EgTWVudVxuJG1lZ2FtZW51LWJnLWNvbG9yOiB2YXIoLS10aGVtZS1za2luLWJnLWNvbG9yKTtcbiRtZWdhbWVudS1wYWRkaW5nLXk6IDFyZW0gIWRlZmF1bHQ7XG4kbWVnYW1lbnUtcGFkZGluZy14OiAxcmVtICFkZWZhdWx0O1xuJG1lZ2FtZW51LXRpdGxlLXBhZGRpbmcteTogLjVyZW0gIWRlZmF1bHQ7XG4kbWVnYW1lbnUtdGl0bGUtcGFkZGluZy14OiAxcmVtICFkZWZhdWx0O1xuJG1lZ2FtZW51LXRpdGxlLWNvbG9yOiB2YXIoLS10aGVtZS1za2luLXRleHQtY29sb3IpICFkZWZhdWx0O1xuJG1lZ2FtZW51LXRpdGxlLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRtZWdhbWVudS10aXRsZS1ob3Zlci1jb2xvcjogJG5hdi1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJG1lZ2FtZW51LXRpdGxlLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuJG1lZ2FtZW51LXBpY3R1cmUtaGFzLW92ZXJsYXk6IHRydWUgIWRlZmF1bHQ7XG4kbWVnYW1lbnUtb3ZlcmxheS1iZy1jb2xvcjogJHByaW1hcnkgIWRlZmF1bHQ7XG4kbWVnYW1lbnUtb3ZlcmxheS1iZy1vcGFjaXR5OiAuNSAhZGVmYXVsdDtcbiRtZWdhbWVudS1vdmVybGF5LWJnLWNvbG9yLXJiZzogcmdiYSgkbWVnYW1lbnUtb3ZlcmxheS1iZy1jb2xvciwgJG1lZ2FtZW51LW92ZXJsYXktYmctb3BhY2l0eSkgIWRlZmF1bHQ7XG4kbWVnYW1lbnUtcGljdHVyZS1ib3JkZXItcmFkaXVzOiAuNXJlbSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gQW5jaG9yIG9mZnNldFxuJGFuY2hvci1vZmZzZXQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIFdwIEFscGhhXG4vLyBsb2dvXG4kbG9nby1wYWRkaW5nLXk6ICRuYXZiYXItcGFkZGluZy15ICFkZWZhdWx0O1xuXG4vLy0tLS0tIEJvb3RzdHJhcCBjb2xvcnMgY2xlYW51cFxuJGJzLWdyYXlzLXRvLWtlZXA6ICgpICFkZWZhdWx0O1xuJGJzLWdyYXlzLXRvLXJlbW92ZTogKFwiMjAwXCIsIFwiMzAwXCIsIFwiNDAwXCIsIFwiNTAwXCIsIFwiNzAwXCIpICFkZWZhdWx0O1xuJGJzLWNvbG9ycy10by1rZWVwOiAoKSAhZGVmYXVsdDtcbiRicy1jb2xvcnMtdG8tcmVtb3ZlOiAoXCJpbmRpZ29cIiwgXCJwaW5rXCIsIFwicmVkXCIsIFwieWVsbG93XCIsIFwiZ3JlZW5cIiwgXCJ0ZWFsXCIsIFwiY3lhblwiLCBcImxpZ2h0XCIsIFwiZGFya1wiKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBCb290c3RyYXAgdXRpbGl0aWVzIGNsZWFudXBcbiRicy11dGlsaXRpZXMtdG8tcmVtb3ZlOiAoXCJiZy1vcGFjaXR5XCIpICFkZWZhdWx0O1xuXG4vLy0tLS0tIEhlbHBlcnNcbi8vLS0tLSBTZXBhcmF0ZSB0aXRsZVxuJHNlcGFyYXRlLXRpdGxlLXdpZHRoOiA4MHB4ICFkZWZhdWx0O1xuJHNlcGFyYXRlLXRpdGxlLWJnOiB2YXIoLS1icy1wcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8tLS0tIFRyYW5zcGFyZW50IGJhY2tncm91bmRzXG4kdHJhbnNwYXJlbnQtYmctb3BhY2l0aWVzLW92ZXJyaWRlczogKCkgIWRlZmF1bHQ7XG4kdHJhbnNwYXJlbnQtYmctb3BhY2l0aWVzOiAoXG4gIDEwOiAuMSxcbiAgMjU6IC4yNSxcbiAgbGlnaHQ6IC4yNSxcbiAgMzU6IC4zNSxcbiAgNTA6IC41LFxuICBtZWRpdW06IC41LFxuICA2NTogLjY1LFxuICA3NTogLjc1LFxuICBzdHJvbmc6IC43NSxcbiAgOTA6IC45XG4pICFkZWZhdWx0O1xuJHRyYW5zcGFyZW50LWJnLW9wYWNpdGllczogbWFwLW1lcmdlKCR0cmFuc3BhcmVudC1iZy1vcGFjaXRpZXMsICR0cmFuc3BhcmVudC1iZy1vcGFjaXRpZXMtb3ZlcnJpZGVzKTtcbiR0cmFuc3BhcmVudC1iZy1jb2xvcnM6IChwcmltYXJ5OiAkdHJhbnNwYXJlbnQtYmctb3BhY2l0aWVzLCBzZWNvbmRhcnk6ICR0cmFuc3BhcmVudC1iZy1vcGFjaXRpZXMpICFkZWZhdWx0O1xuXG4vLy0tLS0tIFRvb2xzXG4vLyBDb25maWd1cmF0aW9uIChhY3RpdmF0ZSBvbmx5IHRob3NlIG5lZWRlZClcbiR0ZWFzZXM6IChcImdyaWRcIiwgXCJsaXN0XCIsIFwic2ltcGxlXCIsIFwic2ltcGxlLXJlYWxpc2F0aW9uc1wiKSAhZGVmYXVsdDtcbiRmb3JtczogKCkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gVG9wIEJhclxuJHRvcC1iYXItaGlkZS1vbi1tb2JpbGU6IHRydWUgIWRlZmF1bHQ7XG4kdG9wLWJhci1oaWRlLW9uLXNjcm9sbC1tb2JpbGU6IHRydWUgIWRlZmF1bHQ7XG4kdG9wLWJhci1oaWRlLW9uLXNjcm9sbC1kZXNrdG9wOiAkdG9wLWJhci1oaWRlLW9uLXNjcm9sbC1tb2JpbGUgIWRlZmF1bHQ7XG4kdG9wLWJhci1wYWRkaW5nLXg6ICRjb250YWluZXItcGFkZGluZy14ICFkZWZhdWx0O1xuJHRvcC1iYXItcGFkZGluZy15OiAuNXJlbSAhZGVmYXVsdDtcbiR0b3AtYmFyLWhlaWdodDogaWYobnVsbCAhPSBpbmRleCgkbWVudXMsIFwic2Vjb25kYXJ5XCIpLCAyLjVyZW0sIDEuNXJlbSkgIWRlZmF1bHQ7XG4kdG9wLWJhci1vcGFjaXR5OiAxICFkZWZhdWx0O1xuJHRvcC1iYXItc29jaWFsLWxpbmtzLW1hcmdpbjogbWFwLWdldCgkc3BhY2VycywgNCkgIWRlZmF1bHQ7XG4kdG9wLWJhci1kZWZhdWx0LWJnLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wLWJhci10cmFuc3BhcmVudC1oZWFkZXItYmctY29sb3I6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLy0tLS0tIEhlYWRlclxuJGhlYWRlci1idG4taWNvbjogJGZhLXZhci1waG9uZSAhZGVmYXVsdDtcbiRoZWFkZXItYnRuLWZhLXN0eWxlOiBcInNvbGlkXCIgIWRlZmF1bHQ7XG4kaGVhZGVyLWJ0bi1zaG93LXRleHQtYnJlYWtwb2ludDogJGRlc2t0b3AtYnJlYWtwb2ludCAhZGVmYXVsdDtcblxuLy8tLS0tLSBGZWF0dXJlZCBpbWFnZVxuJGZlYXR1cmVkLWltYWdlLWhlaWdodDogNTB2aCAhZGVmYXVsdDtcbiRob21lLWZlYXR1cmVkLWltYWdlLWhlaWdodDogNTB2aCAhZGVmYXVsdDtcbiRmZWF0dXJlZC1pbWFnZS1vdmVybGF5LWNvbG9yOiBibGFjayAhZGVmYXVsdDtcbiRmZWF0dXJlZC1pbWFnZS1vdmVybGF5LW9wYWNpdHk6IC4zICFkZWZhdWx0O1xuJGhvbWUtZmVhdHVyZWQtaW1hZ2UtdGV4dC10cmFuc2l0aW9uOiB0cnVlICFkZWZhdWx0O1xuJGhvbWUtZmVhdHVyZWQtaW1hZ2UtdGV4dC1hbmltYXRpb24tZHVyYXRpb246IDEuNXMgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gQ29udGVudCBBYm92ZVxuJGNvbnRlbnQtYWJvdmUtdGV4dC1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gU2hhcGVzXG4vLyBwb3NzaWJsZSBzaGFwZXMgYXJlOiAoc3F1YXJlLCBjaXJjbGUsIHRyaWFuZ2xlLCBsb3plbmdlKVxuLy8gcG9zc2libGUgdW5pdHMgYXJlOiAocmVtOiAxcmVtLCBlbTogMWVtLCB2dzogMi41dncpXG4kc2hhcGVzOiAoY2lyY2xlKSAhZGVmYXVsdDtcbiRzaGFwZXMtdW5pdHM6IChyZW06IDFyZW0pICFkZWZhdWx0O1xuJHNoYXBlcy1kZWZhdWx0LXVuaXQ6IG50aChudGgoJHNoYXBlcy11bml0cywgMSksIDIpICFkZWZhdWx0O1xuJHNoYXBlcy1tYXgtbXVsdGlwbGllcjogMTAgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gVGV4dCBjb250cmFzdFxuJGFscGhhLWVuYWJsZS1idG4tY2xvc2UtdGV4dC1jb250cmFzdC1jb2xvcnM6IGZhbHNlICFkZWZhdWx0O1xuJGFscGhhLWJ0bi1jbG9zZS10ZXh0LWNvbnRyYXN0LWNvbG9yczogJHRoZW1lLWNvbG9ycyAhZGVmYXVsdDtcblxuLy8tLS0tLSBUZXh0IHNoYWRvd1xuJGFscGhhLXRleHQtc2hhZG93LWNvbG9yOiBjb2xvci1jb250cmFzdCh3aGl0ZSkgIWRlZmF1bHQ7XG4kYWxwaGEtdGV4dC1zaGFkb3ctcmFkaXVzOiAuNXJlbSAhZGVmYXVsdDtcbiRhbHBoYS10ZXh0LXNoYWRvdy1yYWRpdXMtc206IC4yNXJlbSAhZGVmYXVsdDtcbiRhbHBoYS10ZXh0LXNoYWRvdy1yYWRpdXMtbGc6IDFyZW0gIWRlZmF1bHQ7XG4kYWxwaGEtdGV4dC1zaGFkb3ctY29sb3JzOiAoKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBPdmVybGF5XG4kYWxwaGEtb3ZlcmxheS1jb2xvcjogJG1vZGFsLWJhY2tkcm9wLWJnICFkZWZhdWx0O1xuJGFscGhhLW92ZXJsYXktb3BhY2l0eTogJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHkgIWRlZmF1bHQ7XG4kYWxwaGEtb3ZlcmxheS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuXG4vLy0tLS0tIFogaW5kZXhcbiRhbHBoYS16LWluZGV4ZXM6ICgxLCAyLCAxMCkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gU2lkZWJhclxuJHNpZGViYXI6IGZhbHNlICFkZWZhdWx0O1xuJHNpZGViYXItYmctY29sb3I6IHJnYmEoJHByaW1hcnksIC4xKSAhZGVmYXVsdDtcbiRzaWRlYmFyLXBhZGRpbmc6IG1hcC1nZXQoJHNwYWNlcnMsIDMpICFkZWZhdWx0O1xuJHNpZGViYXItYm9yZGVyLXJhZGl1czogLjM3NXJlbSAhZGVmYXVsdDtcbiRzaWRlYmFyLXdpZGdldHMtc3BhY2VyOiBtYXAtZ2V0KCRzcGFjZXJzLCA2KSAhZGVmYXVsdDtcbiRzaWRlYmFyLXdpZGdldC1jb250ZW50LXNwYWNlcjogbWFwLWdldCgkc3BhY2VycywgMikgIWRlZmF1bHQ7XG4kc2lkZWJhci13aWRnZXQtdGl0bGUtc3BhY2VyOiBtYXAtZ2V0KCRzcGFjZXJzLCAzKSAhZGVmYXVsdDtcbiRzaWRlYmFyLXdpZGdldC10aXRsZS1mb250LXNpemU6ICRoMy1mb250LXNpemUgIWRlZmF1bHQ7XG4kc2lkZWJhci13aWRnZXQtbGlzdC1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLS0gU3VydGl0bGVcbiRhbHBoYS1zdXJ0aXRsZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kYWxwaGEtc3VydGl0bGUtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kYWxwaGEtc3VydGl0bGUtZm9udC1zaXplLWRlc2t0b3A6ICRhbHBoYS1zdXJ0aXRsZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYWxwaGEtc3VydGl0bGUtZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiRhbHBoYS1zdXJ0aXRsZS1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeSkgIWRlZmF1bHQ7XG4kYWxwaGEtc3VydGl0bGUtbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkc3BhY2VycywgNCkgIWRlZmF1bHQ7XG4kYWxwaGEtc3VydGl0bGUtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuLy8tLS0tLSBDb3B5cmlnaHRcbiRhbHBoYS1jb3B5cmlnaHQtZm9udC1zaXplOiAuODI1cmVtICFkZWZhdWx0O1xuJGFscGhhLWNvcHlyaWdodC1saW5rLWhvdmVyLWNvbG9yOiB2YXIoLS10aGVtZS1za2luLXRleHQtY29sb3IpICFkZWZhdWx0O1xuJGFscGhhLWNvcHlyaWdodC1saW5rLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8tLS0tLSBOYXZpZ2F0aW9uc1xuLy8tLS0tIENvbW1vblxuJG5hdi1saW5rLWFmdGVyLWhlaWdodDogMnB4ICFkZWZhdWx0O1xuXG4vLy0tLS0gQ2VudGVyXG4kbmF2LWNlbnRlci1sb2dvLXBhZGRpbmcteDogMXJlbSAhZGVmYXVsdDtcbiRuYXYtY2VudGVyLWxvZ28tcGFkZGluZy15OiAwICFkZWZhdWx0O1xuXG4vLy0tLS0gU3VibWVudSBtb3JwaFxuJHN1Ym1lbnUtbW9ycGgtbWluLXdpZHRoOiAzNTBweCAhZGVmYXVsdDtcbiRzdWJtZW51LW1vcnBoLW1heC13aWR0aDogMzV2dyAhZGVmYXVsdDtcbiRzdWJtZW51LW1vcnBoLWRyb3Bkb3duLWxpc3QtYm9yZGVyLXJhZGl1czogLjVyZW0gIWRlZmF1bHQ7XG4kc3VibWVudS1tb3JwaC1kcm9wZG93bi1saXN0LXBhZGRpbmc6IC41cmVtICFkZWZhdWx0O1xuJHN1Ym1lbnUtbW9ycGgtZHJvcGRvd24tbGlzdC1iZy1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHN1Ym1lbnUtbW9ycGgtZHJvcGRvd24tbGlzdC1ib3gtc2hhZG93OiB2YXIoLS1icy1ib3gtc2hhZG93KSAhZGVmYXVsdDtcbiRzdWJtZW51LW1vcnBoLWRyb3Bkb3duLWxpc3QtYXJyb3ctaGVpZ2h0OiAuNzVyZW0gIWRlZmF1bHQ7XG4kc3VibWVudS1tb3JwaC1kcm9wZG93bi1saXN0LWFycm93LWxlZnQ6IDVyZW0gIWRlZmF1bHQ7XG4kc3VibWVudS1tb3JwaC1hY3RpdmUtbWVudS1iZy1jb2xvcjogJGdyYXktMTAwICFkZWZhdWx0O1xuJHN1Ym1lbnUtbW9ycGgtYW5jZXN0b3JzLWZvbnQtd2VpZ2h0OiA1MDAgIWRlZmF1bHQ7XG4kc3VibWVudS1tb3JwaC1saW5rLWNvbG9yOiAkbmF2LWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kc3VibWVudS1tb3JwaC1saW5rLWhvdmVyLWNvbG9yOiAkbmF2LWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kc3VibWVudS1tb3JwaC1saW5rLWNvbG9yLWN1cnJlbnQ6ICRuYXYtY29sb3ItY3VycmVudCAhZGVmYXVsdDtcbiRzdWJtZW51LW1vcnBoLWxpbmstY29sb3ItYW5jZXN0b3I6ICRuYXYtY29sb3ItYW5jZXN0b3IgIWRlZmF1bHQ7XG4kc3VibWVudS1tb3JwaC1zY3JvbGxiYXItY29sb3I6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJHN1Ym1lbnUtbW9ycGgtc2Nyb2xsYmFyLWJnLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gQnJlYWRjcnVtYnNcbiRicmVhZGNydW1iLW1vYmlsZS1zaGFkb3ctc2l6ZTogMS41cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItbW9iaWxlLXNoYWRvdy1jb2xvcjogJGJvZHktYmcgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1vbi1mZWF0dXJlZC1tb2JpbGUtc2hhZG93LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gVGVhc2VcbiR0ZWFzZS1iYWRnZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRlYXNlLWJhZGdlLWJnOiB2YXIoLS1icy1wcmltYXJ5KSAhZGVmYXVsdDtcblxuJHRlYXNlLW92ZXJsYXktdGV4dC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRlYXNlLW92ZXJsYXktdGV4dC1zaGFkb3c6IDAgMCAuMjVyZW0gIzAwMDtcbiR0ZWFzZS1vdmVybGF5LWJnLWNvbG9yOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJHRlYXNlLW92ZXJsYXktYmctb3BhY2l0eTogLjUgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIFdvb0NvbW1lcmNlXG5cbiR3Yy1wcmltYXJ5OiB2YXIoLS1icy1wcmltYXJ5KSAhZGVmYXVsdDtcbiR3b29jb21tZXJjZTogdmFyKC0tYnMtcHJpbWFyeSkgIWRlZmF1bHQ7XG4kd2MtZ3JlZW46ICRzdWNjZXNzICFkZWZhdWx0O1xuJHdjLXJlZDogJGRhbmdlciAhZGVmYXVsdDtcbiR3Yy1vcmFuZ2U6ICR3YXJuaW5nICFkZWZhdWx0O1xuJHdjLWJsdWU6ICRpbmZvICFkZWZhdWx0O1xuJHdjLXByaW1hcnktdGV4dDogJHdoaXRlICFkZWZhdWx0O1xuJHdjLXNlY29uZGFyeTogJHNlY29uZGFyeSAhZGVmYXVsdDtcbiR3Yy1zZWNvbmRhcnktdGV4dDogJHdoaXRlICFkZWZhdWx0O1xuJHdjLWhpZ2hsaWdodDogI2IzYWY1NCAhZGVmYXVsdDtcbiR3Yy1oaWdobGlnaHQtdGV4dDogJHdoaXRlICFkZWZhdWx0O1xuJHdjLWNvbnRlbnQtYmc6ICNmZmYgIWRlZmF1bHQ7XG4kd2Mtc3VidGV4dDogIzc2NzY3NiAhZGVmYXVsdDtcblxuJHdjLXN0b2NrLWluLXN0b2NrLWNvbG9yOiAkd2MtZ3JlZW4gIWRlZmF1bHQ7XG4kd2Mtc3RvY2stbG93LXN0b2NrLWNvbG9yOiAkd2Mtb3JhbmdlICFkZWZhdWx0O1xuJHdjLXN0b2NrLWF2YWlsYWJsZS1vbi1iYWNrb3JkZXItY29sb3I6ICR3Yy1vcmFuZ2UgIWRlZmF1bHQ7XG4kd2Mtc3RvY2stb3V0LW9mLXN0b2NrLWNvbG9yOiAkd2MtcmVkICFkZWZhdWx0O1xuXG4kd2Mtc3RvY2staW4tc3RvY2staWNvbjogJGZhLXZhci1jaXJjbGUtY2hlY2sgIWRlZmF1bHQ7XG4kd2Mtc3RvY2stbG93LXN0b2NrLWljb246ICRmYS12YXItY2hhcnQtbGluZS1kb3duICFkZWZhdWx0O1xuJHdjLXN0b2NrLWF2YWlsYWJsZS1vbi1iYWNrb3JkZXItaWNvbjogJGZhLXZhci1jbG9jay1yb3RhdGUtbGVmdCAhZGVmYXVsdDtcbiR3Yy1zdG9jay1vdXQtb2Ytc3RvY2staWNvbjogJGZhLXZhci1jaXJjbGUteG1hcmsgIWRlZmF1bHQ7XG5cbi8vIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG9sZCAkd29vY29tbWVyY2UgJiAkd29vY29tbWVyY2VTaWRlYmFyIHZhcmlhYmxlc1xuQGlmIHR5cGUtb2YoJHdvb2NvbW1lcmNlKSA9PSBcImJvb2xcIiB7XG4gIEB3YXJuIFwiVXNhZ2Ugb2YgJHdvb2NvbW1lcmNlIHZhcmlhYmxlIGFzIGJvb2wgaXMgZGVwcmVjYXRlZCwgdXNlIHdvb2NvbW1lcmNlLmVuYWJsZWQgaW4gd29vY29tbWVyY2UueWFtbCBpbnN0ZWFkLlwiO1xuICAkd29vY29tbWVyY2U6IG1hcC1leHRlbmQobWFwLWdldCgkY29uZmlnLWRlZmF1bHRzLCBcIndvb2NvbW1lcmNlXCIpLCAoZW5hYmxlZDogJHdvb2NvbW1lcmNlKSk7XG4gICR3b29jb21tZXJjZS1lbmFibGVkOiBtYXAtZ2V0LWRlZXAoJHdvb2NvbW1lcmNlLCBcImVuYWJsZWRcIik7XG59XG5cbkBpZiB2YXJpYWJsZS1leGlzdHMod29vY29tbWVyY2VTaWRlYmFyKSB7XG4gIEB3YXJuIFwiVXNhZ2Ugb2YgJHdvb2NvbW1lcmNlU2lkZWJhciB2YXJpYWJsZSBkZXByZWNhdGVkLCB1c2UgJHdvb2NvbW1lcmNlLXNpZGViYXIgaW5zdGVhZC5cIjtcbiAgJHdvb2NvbW1lcmNlLXNpZGViYXI6ICR3b29jb21tZXJjZVNpZGViYXI7XG59XG5cbi8vIEFjY291bnRcbiRhY2NvdW50LW5hdmlnYXRpb24taWNvbnM6IChcbiAgZGFzaGJvYXJkOiAkZmEtdmFyLWhvbWUsXG4gIG9yZGVyczogJGZhLXZhci1kb2xseSxcbiAgc3Vic2NyaXB0aW9uczogJGZhLXZhci1jbG9jay1yb3RhdGUtbGVmdCxcbiAgbWVtYmVyc2hpcHM6ICRmYS12YXItdXNlci1jcm93bixcbiAgZG93bmxvYWRzOiAkZmEtdmFyLWRvd25sb2FkLFxuICBlZGl0LWFkZHJlc3M6ICRmYS12YXItbWFwLW1hcmtlci1lZGl0LFxuICBwYXltZW50LW1ldGhvZHM6ICRmYS12YXItY3JlZGl0LWNhcmQsXG4gIGVkaXQtYWNjb3VudDogJGZhLXZhci11c2VyLWVkaXQsXG4gIGJvb2tpbmdzOiAkZmEtdmFyLWNhbGVuZGFyLWFsdCxcbiAgY3VzdG9tZXItbG9nb3V0OiAkZmEtdmFyLXNpZ24tb3V0XG4pICFkZWZhdWx0O1xuXG4vLyBBdHRyaWJ1dGVzXG4kd2MtcHJvZHVjdC1hdHRyaWJ1dGUtZm9udC1zaXplOiAuOXJlbSAhZGVmYXVsdDtcbiR3Yy1wcm9kdWN0LWF0dHJpYnV0ZS1ldmVuLWJnOiByZ2JhKCRwcmltYXJ5LCAuMSkgIWRlZmF1bHQ7XG4kd2MtcHJvZHVjdC1hdHRyaWJ1dGUtbGFiZWwtY29sb3I6ICRncmF5LTcwMCAhZGVmYXVsdDtcblxuLy8gQXZhaWxhYmlsaXR5XG4kd2Mtc3RvY2stZm9udC1zaXplOiAuOHJlbSAhZGVmYXVsdDtcbiR3Yy1zdG9jay1pY29uLXdpZHRoOiAkZmEtZnctd2lkdGggIWRlZmF1bHQ7XG4kd2Mtc3RvY2staWNvbi1mb250LXNpemU6ICRmYS1zaXplLXNjYWxlLWJhc2UgIWRlZmF1bHQ7XG4kd2Mtc3RvY2staW5mbzogKFxuICBpbi1zdG9jazogKGNvbG9yOiAkd2Mtc3RvY2staW4tc3RvY2stY29sb3IsIGljb246ICR3Yy1zdG9jay1pbi1zdG9jay1pY29uKSxcbiAgbG93LXN0b2NrOiAoY29sb3I6ICR3Yy1zdG9jay1sb3ctc3RvY2stY29sb3IsIGljb246ICR3Yy1zdG9jay1sb3ctc3RvY2staWNvbiksXG4gIGF2YWlsYWJsZS1vbi1iYWNrb3JkZXI6IChjb2xvcjogJHdjLXN0b2NrLWF2YWlsYWJsZS1vbi1iYWNrb3JkZXItY29sb3IsIGljb246ICR3Yy1zdG9jay1hdmFpbGFibGUtb24tYmFja29yZGVyLWljb24pLFxuICBvdXQtb2Ytc3RvY2s6IChjb2xvcjogJHdjLXN0b2NrLW91dC1vZi1zdG9jay1jb2xvciwgaWNvbjogJHdjLXN0b2NrLW91dC1vZi1zdG9jay1pY29uKSxcbikgIWRlZmF1bHQ7XG5cblxuLy8tLS0tLSBBZGQgdG8gQ2FydCBidXR0b25cbiRidG4tYWRkdG9jYXJ0LWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidG4tYWRkdG9jYXJ0LWNvbG9yOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJGJ0bi1hZGR0b2NhcnQtaG92ZXItYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGJ0bi1hZGR0b2NhcnQtaG92ZXItY29sb3I6IHZhcigtLWJzLXByaW1hcnkpICFkZWZhdWx0O1xuJGJ0bi1hZGR0b2NhcnQtaWNvbnM6IChcbiAgc2ltcGxlOiAkZmEtdmFyLXNob3BwaW5nLWJhc2tldCxcbiAgZ3JvdXBlZDogJGZhLXZhci1leWUsXG4gIHZhcmlhYmxlOiAkZmEtdmFyLWNvZ3MsXG4gIGJvb2tpbmc6ICRmYS12YXItY2FsZW5kYXItZGF5cyxcbikgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gQm9va2luZ1xuJHdjLWJvb2tpbmctZGF0ZXBpY2tlci11aS1iZzogJHNlY29uZGFyeSAhZGVmYXVsdDtcbiR3Yy1ib29raW5nLWRhdGVwaWNrZXItdWktY29sb3I6IGNvbG9yLWNvbnRyYXN0KCR3Yy1ib29raW5nLWRhdGVwaWNrZXItdWktYmcpICFkZWZhdWx0O1xuJHdjLWJvb2tpbmctZGF0ZXBpY2tlci1ibG9jay1vZGQtYmc6ICRncmF5LTEwMCAhZGVmYXVsdDtcbiR3Yy1ib29raW5nLWRhdGVwaWNrZXItYmxvY2stb2RkLWhvdmVyLWJnOiBzaGFkZS1jb2xvcigkd2MtYm9va2luZy1kYXRlcGlja2VyLWJsb2NrLW9kZC1iZywgMjAlKSAhZGVmYXVsdDtcbiR3Yy1ib29raW5nLWRhdGVwaWNrZXItYmxvY2stb2RkLWNvbG9yOiBjb2xvci1jb250cmFzdCgkd2MtYm9va2luZy1kYXRlcGlja2VyLWJsb2NrLW9kZC1iZykgIWRlZmF1bHQ7XG4kd2MtYm9va2luZy1kYXRlcGlja2VyLWJsb2NrLWV2ZW4tYmc6ICRncmF5LTIwMCAhZGVmYXVsdDtcbiR3Yy1ib29raW5nLWRhdGVwaWNrZXItYmxvY2stZXZlbi1ob3Zlci1iZzogc2hhZGUtY29sb3IoJHdjLWJvb2tpbmctZGF0ZXBpY2tlci1ibG9jay1ldmVuLWJnLCAyMCUpICFkZWZhdWx0O1xuJHdjLWJvb2tpbmctZGF0ZXBpY2tlci1ibG9jay1ldmVuLWNvbG9yOiBjb2xvci1jb250cmFzdCgkd2MtYm9va2luZy1kYXRlcGlja2VyLWJsb2NrLWV2ZW4tYmcpICFkZWZhdWx0O1xuJHdjLWJvb2tpbmctY29zdC1iZzogJGdyYXktMTAwICFkZWZhdWx0O1xuJHdjLWJvb2tpbmctY29zdC1jb2xvcjogY29sb3ItY29udHJhc3QoJHdjLWJvb2tpbmctY29zdC1iZykgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gUHJpY2UgQ29sb3JcbiR3Yy1wcmljZS1jb2xvcjogJHNlY29uZGFyeSAhZGVmYXVsdDtcbiR3Yy1kZWwtcHJpY2UtY29sb3I6IHJnYmEoJGdyYXktNTAwLCAuNikgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gRGlzY291bnQgYmFkZ2VcbiRiYWRnZS1vbnNhbGUtYmc6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kYmFkZ2Utb25zYWxlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gTWluaSBDYXJ0XG4kbWluaWNhcnQtY291bnRlci1iZzogJHNlY29uZGFyeSAhZGVmYXVsdDtcbiRtaW5pY2FydC1jb3VudGVyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kbWluaWNhcnQtdG90YWwtYmc6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kbWluaWNhcnQtdG90YWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRtaW5pY2FydC1pdGVtLWNvbG9yOiB2YXIoLS1icy1wcmltYXJ5KSAhZGVmYXVsdDtcbiRtaW5pY2FydC1xdHktY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpICFkZWZhdWx0O1xuXG4vLy0tLS0tIENhcnRcbiRjYXJ0LWJ0bi1hY3Rpb25zLWJnOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRjYXJ0LWJ0bi1jaGVja291dC1iZzogJHNlY29uZGFyeSAhZGVmYXVsdDtcblxuLy8tLS0tLSBNZXNzYWdlXG4kd2MtbWVzc2FnZS1iZy1jb2xvcjogJGdyYXktMTAwICFkZWZhdWx0O1xuJHdjLW1lc3NhZ2UtY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpICFkZWZhdWx0O1xuJHdjLW1lc3NhZ2UtaWNvbi1jb2xvcjogJGdyZWVuICFkZWZhdWx0O1xuXG4kd2MtaW5mby1iZy1jb2xvcjogJGdyYXktMTAwICFkZWZhdWx0O1xuJHdjLWluZm8tY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpICFkZWZhdWx0O1xuJHdjLWluZm8taWNvbi1jb2xvcjogJGJsdWUgIWRlZmF1bHQ7XG5cbiR3Yy1lcnJvci1iZy1jb2xvcjogJGdyYXktMTAwICFkZWZhdWx0O1xuJHdjLWVycm9yLWNvbG9yOiB2YXIoLS1icy1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiR3Yy1lcnJvci1pY29uLWNvbG9yOiByZWQgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gU2lkZWJhclxuJHdjLXNpZGViYXItbW9iaWxlLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiR3Yy1zaWRlYmFyLW1vYmlsZS1iYWNrLXRvcC1vZmZzZXQteTogM3JlbSAhZGVmYXVsdDtcbiR3Yy1zaWRlYmFyLWNvbG9yOiByZ2JhKCRwcmltYXJ5LCAuMSkgIWRlZmF1bHQ7XG4kd2MtZmlsdGVyLXRvZ2dsZXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR3Yy1maWx0ZXItdG9nZ2xlci1iZzogJHByaW1hcnkgIWRlZmF1bHQ7XG4kd2MtY2F0LWxpbmstYmc6ICRncmF5LTEwMCAhZGVmYXVsdDtcbiR3Yy1jYXQtbGluay1ob3Zlci1iZzogdmFyKC0tYnMtcHJpbWFyeSkgIWRlZmF1bHQ7XG4kd2MtY2F0LWxpbmstaG92ZXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR3Yy1zaWRlYmFyLWN1cnJlbnQtdGVybS1saW5rLWNvbG9yOiAkbmF2LWNvbG9yLWN1cnJlbnQgIWRlZmF1bHQ7XG4kd2Mtc2lkZWJhci1jdXJyZW50LXRlcm0tbGluay1ob3Zlci1jb2xvcjogdGludC1jb2xvcigkd2Mtc2lkZWJhci1jdXJyZW50LXRlcm0tbGluay1jb2xvciwgMTAlKSAhZGVmYXVsdDtcbiR3Yy1zaWRlYmFyLWN1cnJlbnQtdGVybS1wYXJlbnQtbGluay1jb2xvcjogJG5hdi1jb2xvci1hbmNlc3RvciAhZGVmYXVsdDtcbiR3Yy1zaWRlYmFyLWN1cnJlbnQtdGVybS1wYXJlbnQtbGluay1ob3Zlci1jb2xvcjogdGludC1jb2xvcigkd2Mtc2lkZWJhci1jdXJyZW50LXRlcm0tcGFyZW50LWxpbmstY29sb3IsIDEwJSkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gVG9wIGJhciBpY29uc1xuLy8tLS0tLSBUb3AgYmFyIGljb25zXG4kdG9wLWJhci1pY29uczogKGNvbnRhY3Q6ICRmYS12YXItZW52ZWxvcGUsIHBob25lOiAkZmEtdmFyLXBob25lLWFsdCkgIWRlZmF1bHQ7XG4kdG9wLWJhci1pY29ucy1tYXJnaW46IC4yNXJlbSAhZGVmYXVsdDtcbiR0b3AtYmFyLWljb25zLWZhLXZhcmlhbnQ6IFwic29saWRcIiAhZGVmYXVsdDtcbiR3Yy10b3AtYmFyLWljb25zOiAkdG9wLWJhci1pY29ucyAhZGVmYXVsdDtcbiR3Yy10b3AtYmFyLWljb25zLW1hcmdpbjogJHRvcC1iYXItaWNvbnMtbWFyZ2luICFkZWZhdWx0O1xuJHdjLXRvcC1iYXItaWNvbnMtZmEtdmFyaWFudDogJHRvcC1iYXItaWNvbnMtZmEtdmFyaWFudCAhZGVmYXVsdDtcblxuLy8tLS0tLSBUZWFzZVxuJHdjLXRlYXNlLXByb2R1Y3QtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR3Yy10ZWFzZS1wcm9kdWN0LWJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJHNwYWNlcnMsIDIpICFkZWZhdWx0O1xuJHdjLXRlYXNlLXByb2R1Y3QtbGluay1wYWRkaW5nOiBtYXAtZ2V0KCRzcGFjZXJzLCAyKSAhZGVmYXVsdDtcbiR3Yy10ZWFzZS1wcm9kdWN0LWxpbmstaW1hZ2UtcGFkZGluZzogJHdjLXRlYXNlLXByb2R1Y3QtbGluay1wYWRkaW5nICogLTEgIWRlZmF1bHQ7XG4kd2MtdGVhc2UtcHJvZHVjdC1ob3Zlci1ib3JkZXItY29sb3I6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIFNvY2lhbCBzaGFyZSBpY29uc1xuJHNvY2lhbC1zaGFyZS1ob3Zlci1ib3JkZXItY29sb3I6IHJnYmEoJHByaW1hcnksIC41KSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gV1BNTFxuJHdwbWwtZGV2OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gQWxwaGEgYmxvY2tzXG4vLy0tLS0tIEZhY2Vib29rIHZpZGVvXG4kYWxwaGEtZmItdmlkZW8tbG9hZGVyLWJnLWNvbG9yOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRhbHBoYS1mYi12aWRlby1sb2FkZXItY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRhbHBoYS1mYi12aWRlby1sb2FkZXItYmctY29sb3IpICFkZWZhdWx0O1xuXG4vLy0tLS0tIEdvb2dsZSBSZXZpZXdzXG4kZ29vZ2xlLXJldmlld3MtYm9yZGVyLXRvcDogNnB4IHNvbGlkICM0ZmNlNmEgIWRlZmF1bHQ7XG4kZ29vZ2xlLXJldmlld3MtYm9yZGVyLXJhZGl1czogLjE1cmVtICFkZWZhdWx0O1xuJGdvb2dsZS1yZXZpZXdzLWxvZ28td2lkdGg6IDUwcHggIWRlZmF1bHQ7XG4kZ29vZ2xlLXJldmlld3Mtc2NvcmUtZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJGdvb2dsZS1yZXZpZXdzLXJhdGluZy1zdGFyLWNvbG9yOiAjZTc3MTFiICFkZWZhdWx0O1xuJGdvb2dsZS1yZXZpZXdzLXJhdGluZy1jb3VudC1jb2xvcjogIzdhN2E3YSAhZGVmYXVsdDtcbiRnb29nbGUtcmV2aWV3cy16LWluZGV4OiAyMDAwICFkZWZhdWx0O1xuJGdvb2dsZS1yZXZpZXdzLW9mZnNldDogMnJlbSAhZGVmYXVsdDtcbiRnb29nbGUtcmV2aWV3cy1vZmZzZXQtYm90dG9tOiAkZ29vZ2xlLXJldmlld3Mtb2Zmc2V0ICFkZWZhdWx0O1xuJGdvb2dsZS1yZXZpZXdzLW9mZnNldC1sZWZ0OiAkZ29vZ2xlLXJldmlld3Mtb2Zmc2V0ICFkZWZhdWx0O1xuJGdvb2dsZS1yZXZpZXdzLW9mZnNldC1yaWdodDogJGdvb2dsZS1yZXZpZXdzLW9mZnNldCAhZGVmYXVsdDtcbiRnb29nbGUtYmFkZ2UtZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XG4kZ29vZ2xlLXJldmlld3MtYmFkZ2UtaGlkZS1vbi1tb2JpbGU6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gSGVybyBiYW5uZXJcbiRhbHBoYS1oZXJvLWJhbm5lci1vZmZzZXQteTogMy41cmVtICFkZWZhdWx0O1xuJGFscGhhLWhlcm8tYmFubmVyLW9mZnNldC10b3A6ICRhbHBoYS1oZXJvLWJhbm5lci1vZmZzZXQteSAhZGVmYXVsdDtcbiRhbHBoYS1oZXJvLWJhbm5lci1vZmZzZXQtYm90dG9tOiAkYWxwaGEtaGVyby1iYW5uZXItb2Zmc2V0LXkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gSWNvblxuJGljb24tYmxvY2staWNvbi1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gTWFwXG4kYWxwaGEtbWFwLWRlZmF1bHQtaGVpZ2h0OiAyNTBweCAhZGVmYXVsdDtcbiRhbHBoYS1tYXAtZGVmYXVsdC1oZWlnaHQtbGc6ICRhbHBoYS1tYXAtZGVmYXVsdC1oZWlnaHQgKiAyICFkZWZhdWx0O1xuXG4vLy0tLS0tIFJhdGluZ1xuJGFscGhhLXJhdGluZy1zdGFyLW9uLWNvbG9yOiAkeWVsbG93ICFkZWZhdWx0O1xuJGFscGhhLXJhdGluZy1zdGFyLW9mZi1jb2xvcjogJGdyYXktMTAwICFkZWZhdWx0O1xuXG4vLy0tLS0tIFJlaW5zdXJhbmNlXG4vLy0tLS0gU291YmEgTWFnYXNzYSBzdHlsZXNcbiRzb3ViYS1yZWluc3VyYW5jZS1jb2xvcnM6IChwcmltYXJ5LCBzZWNvbmRhcnkpICFkZWZhdWx0O1xuJHNvdWJhLXJlaW5zdXJhbmNlLXRvcC1vZmZzZXQ6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLS0gU2VydmljZXNcbiRzZXJ2aWNlcy1iZy1ob3Zlci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHNlcnZpY2VzLWJnLWhvdmVyLWNvbG9yLWxpZ2h0OiAkc2VydmljZXMtYmctaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kc2VydmljZXMtYmctaG92ZXItY29sb3ItZGFyazogJHNlcnZpY2VzLWJnLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHNlcnZpY2VzLWJnLWhvdmVyLW9wYWNpdHk6IDEgIWRlZmF1bHQ7XG4kc2VydmljZXMtYmctaG92ZXItb3BhY2l0eS1saWdodDogJHNlcnZpY2VzLWJnLWhvdmVyLW9wYWNpdHkgIWRlZmF1bHQ7XG4kc2VydmljZXMtYmctaG92ZXItb3BhY2l0eS1kYXJrOiAuMiAhZGVmYXVsdDtcblxuLy8tLS0tLS0gQWxwaGEgbW9kdWxlc1xuLy8tLS0tLSBDb21tb25cbiRsb2FkaW5nLW1vZHVsZXMtYmctY29sb3I6IHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJGxvYWRpbmctbW9kdWxlcy1sb2FkZXItY29sb3I6IHZhcigtLWJzLXByaW1hcnkpICFkZWZhdWx0O1xuJGxvYWRpbmctbW9kdWxlcy1sb2FkZXItZm9udC1zaXplOiAycmVtICFkZWZhdWx0O1xuJGxvYWRpbmctbW9kdWxlcy16LWluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8tLS0tLSBEZWZhdWx0XG4vLy0tLS0gUGFnZSBzY3JvbGxcbiRob21lLXBhZ2Utc2Nyb2xsLWxpc3RlbmVyLWhlaWdodDogMTV2aCAhZGVmYXVsdDtcbiRwYWdlLXNjcm9sbC1saXN0ZW5lci1oZWlnaHQ6ICRob21lLXBhZ2Utc2Nyb2xsLWxpc3RlbmVyLWhlaWdodCAvIDIgIWRlZmF1bHQ7XG4kcGFnZS1zY3JvbGwtbGlzdGVuZXItaGVpZ2h0LWRlc2t0b3A6ICRob21lLXBhZ2Utc2Nyb2xsLWxpc3RlbmVyLWhlaWdodCAvIDMgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gT3B0aW9uYWxcbi8vLS0tLSBCYWNrIHRvIHRvcFxuJGJhY2stdG8tdG9wLW9mZnNldC14OiAxcmVtICFkZWZhdWx0O1xuJGJhY2stdG8tdG9wLW9mZnNldC15OiAxcmVtICFkZWZhdWx0O1xuJGJhY2stdG8tdG9wLXdoYXRzYXBwLWJ1dHRvbi1vZmZzZXQteTogNHJlbSAhZGVmYXVsdDtcbiRiYWNrLXRvLXRvcC1kZWZhdWx0LWJ1dHRvbi10cmFuc2xhdGUteTogJGJhY2stdG8tdG9wLW9mZnNldC15ICogLTIgIWRlZmF1bHQ7XG5cbi8vLS0tLSBIZWFkZXIgc3RhdGVzXG4vLy0tLSBTaHJ1bmsgbG9nb1xuJHNocnVuay1sb2dvLWhlaWdodC1yYXRpbzogLjggIWRlZmF1bHQ7XG5cbi8vLS0tLSBSYW5nZSBzbGlkZXJcbiRyYW5nZS1zbGlkZXItd3JhcHBlci1oZWlnaHQ6IDNyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLSBSb3VzcXVpbGxlXG4kcm91c3F1aWxsZS1iYW5uZXItbG9nby1tYXJnaW46IDAgYXV0byAhZGVmYXVsdDtcbiRyb3VzcXVpbGxlLWJhbm5lci1sb2dvLW1hcmdpbi10YWJsZXQ6IDAgYXV0byBtYXAtZ2V0KCRzcGFjZXJzLCA4KSAhZGVmYXVsdDtcbiRyb3VzcXVpbGxlLWJhbm5lci1sb2dvLW1hcmdpbi1tb2JpbGU6IDAgYXV0byBtYXAtZ2V0KCRzcGFjZXJzLCA0KSAhZGVmYXVsdDtcbiRyb3VzcXVpbGxlLWJhbm5lci1sb2dvLWhlaWdodDogJGxvZ28taGVpZ2h0ICFkZWZhdWx0O1xuJHJvdXNxdWlsbGUtYmFubmVyLWxvZ28tbWF4LWhlaWdodDogNXJlbSAhZGVmYXVsdDtcblxuLy8tLS0tIFNlcnZpY2VzIEJ1dHRvblxuJHNlcnZpY2VzLWJ1dHRvbi1tb2JpbGUtb2Zmc2V0OiAuNXJlbSAhZGVmYXVsdDtcbiRzZXJ2aWNlcy1idXR0b24tZGVza3RvcC1vZmZzZXQtZW5kOiAyLjVyZW0gIWRlZmF1bHQ7XG4kc2VydmljZXMtYnV0dG9uLWZvb3Rlci1wYWRkaW5nLWJvdHRvbTogNC41cmVtICFkZWZhdWx0O1xuJHNlcnZpY2VzLWJ1dHRvbi1iYWNrLXRvLXRvcC1vZmZzZXQtYm90dG9tOiAkc2VydmljZXMtYnV0dG9uLWZvb3Rlci1wYWRkaW5nLWJvdHRvbSArIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLSBTd2lwZXJcbiRzd2lwZXItdGhlbWUtY29sb3I6IHZhcigtLWJzLXByaW1hcnkpICFkZWZhdWx0O1xuJHN3aXBlci1uYXZpZ2F0aW9uLXNpemU6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tIFRyYW5zcGFyZW50IEhlYWRlclxuJHRyYW5zcGFyZW50LWhlYWRlci1iZy1jb2xvcjogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgJGdyYXktNzAwLCB0cmFuc3BhcmVudCkgIWRlZmF1bHQ7XG4kdHJhbnNwYXJlbnQtaGVhZGVyLXRleHQtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kdHJhbnNwYXJlbnQtaGVhZGVyLXNoYWRvdy1jb2xvcjogIzAwMCAhZGVmYXVsdDtcbiR0cmFuc3BhcmVudC1oZWFkZXItc2hhZG93LXJhZGl1czogLjEyNXJlbSAhZGVmYXVsdDtcbiR0cmFuc3BhcmVudC1oZWFkZXItbG9nby1jb2xvcjogJHRyYW5zcGFyZW50LWhlYWRlci10ZXh0LWNvbG9yICFkZWZhdWx0O1xuJHRyYW5zcGFyZW50LWhlYWRlci1sb2dvLXNoYWRvdy1jb2xvcjogJHRyYW5zcGFyZW50LWhlYWRlci1zaGFkb3ctY29sb3IgIWRlZmF1bHQ7XG4kdHJhbnNwYXJlbnQtaGVhZGVyLWxvZ28tc2hhZG93LXJhZGl1czogJHRyYW5zcGFyZW50LWhlYWRlci1zaGFkb3ctcmFkaXVzICFkZWZhdWx0O1xuXG4vLy0tLS0gV2hhdHNhcHAgQnV0dG9uXG4kd2hhdHNhcHAtYnV0dG9uLWJnOiAjMjVkMzY2ICFkZWZhdWx0O1xuJHdoYXRzYXBwLWJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHdoYXRzYXBwLWJ1dHRvbi1vZmZzZXQteDogMXJlbSAhZGVmYXVsdDtcbiR3aGF0c2FwcC1idXR0b24tb2Zmc2V0LXk6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLSBJbWFnZSBHYWxsZXJ5XG4vLyBcIm92ZXJsYXlcIiwgXCJkZWZhdWx0LW9wYWNpdHlcIiwgXCJob3Zlci1vcGFjaXR5XCIsIFwiY3VzdG9tXCJcbiRpbWFnZS1nYWxsZXJ5LWFuaW1hdGlvbi10eXBlOiBcIm92ZXJsYXlcIiAhZGVmYXVsdDtcblxuLy8tLS0gT3BhY2l0eVxuJGltYWdlLWdhbGxlcnktaW1hZ2Utb3BhY2l0eTogLjcgIWRlZmF1bHQ7XG5cbi8vLS0tIE92ZXJsYXlcbiRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LW9wYWNpdHk6IC4xNSAhZGVmYXVsdDtcbiRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktYmFja2Ryb3AtZmlsdGVyOiBzYXR1cmF0ZSgxMjUlKSBjb250cmFzdCgxMjUlKSAhZGVmYXVsdDtcbiRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlKC41KSAhZGVmYXVsdDtcbiRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktaWNvbjogJGZhLXZhci1zZWFyY2gtcGx1cyAhZGVmYXVsdDtcbiRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktaWNvbi1zdHlsZTogXCJyZWd1bGFyXCIgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWljb24tY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWljb24tb3BhY2l0eTogLjg1ICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1pY29uLWZvbnQtc2l6ZTogMS41cmVtICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1pY29uLXRleHQtc2hhZG93OiAwIDAgLjEyNXJlbSByZ2JhKGJsYWNrLCAuNzUpICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1pY29uLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMS41cmVtKSAhZGVmYXVsdDtcbiRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktaW1hZ2Utb2Zmc2V0OiAuMSAhZGVmYXVsdDtcbiRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktaW1hZ2Utc2NhbGU6IDEgKyAkaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWltYWdlLW9mZnNldCAhZGVmYXVsdDtcblxuLy8tLS0tIExlYWZsZXQgTWFwXG4kbWFwLW1hcmtlci1jb2xvci1kZWZhdWx0OiB2YXIoLS1icy1zZWNvbmRhcnkpICFkZWZhdWx0O1xuJG1hcC1tYXJrZXItY29sb3ItbG9hZGluZzogZ3JheSAhZGVmYXVsdDtcbiRtYXAtbWFya2VyLWNvbG9yLWFjdGl2ZTogdmFyKC0tYnMtcHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLS0tLSBNYXNvbnJ5XG4kbWFzb25yeS1nYWxsZXJ5LWdhcDogLjc1cmVtICFkZWZhdWx0O1xuXG4vLy0tLS0gV29vQ29tbWVyY2UgU2VhcmNoIE92ZXJsYXlcbiRzZWFyY2gtb3ZlcmxheS1iZy1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG4kc2VhcmNoLW92ZXJsYXktYmctb3BhY2l0eTogLjI1ICFkZWZhdWx0O1xuJHNlYXJjaC1vdmVybGF5LWJhY2tkcm9wLWZpbHRlcjogYmx1ciguMTI1cmVtKSAhZGVmYXVsdDtcbiRzZWFyY2gtb3ZlcmxheS1mb3JtLWZvbnQtc2l6ZTogLjlyZW0gIWRlZmF1bHQ7XG4kc2VhcmNoLW92ZXJsYXktZm9ybS1ib3JkZXItcmFkaXVzOiAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLSBXb29Db21tZXJjZSBSZXZpZXcgZm9ybVxuJHdvb2NvbW1lcmNlLXJldmlldy1mb3JtLXN0YXJzLWZvbnRzaXplOiAycmVtICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBHdXRlbmJlcmcgYmxvY2tzXG4vLy0tLS0tIFJhbmsgTWF0aFxuLy8tLS0tIEZBUVxuJHJhbmstbWF0aC1mYXEtdXNlLWxlZ2FjeS1zdHlsZXM6IHRydWUgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1iZy1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtYm94LXNoYWRvdzogMCAuNXJlbSAuNXJlbSAtLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1ib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRzcGFjZXJzLCAxKSAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLWJvcmRlci1jb2xvcjogJGdyYXktMjAwICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtYm9yZGVyOiAxcHggc29saWQgJHJhbmstbWF0aC1mYXEtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtaXRlbS1wYWRkaW5nOiBtYXAtZ2V0KCRzcGFjZXJzLCAzKSAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLXF1ZXN0aW9uLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLXF1ZXN0aW9uLWdhcDogbWFwLWdldCgkc3BhY2VycywgMikgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1xdWVzdGlvbi1wYWRkaW5nLWJvdHRvbTogJHJhbmstbWF0aC1mYXEtcXVlc3Rpb24tZ2FwICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtcXVlc3Rpb24tYm9yZGVyLWNvbG9yOiAkcmFuay1tYXRoLWZhcS1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1xdWVzdGlvbi1ib3JkZXItYm90dG9tOiAkcmFuay1tYXRoLWZhcS1ib3JkZXIgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1xdWVzdGlvbi1pY29uOiAkZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZSAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLXF1ZXN0aW9uLWljb24tY29sb3I6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1xdWVzdGlvbi1pY29uLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLXF1ZXN0aW9uLWljb24tb2Zmc2V0LXRvcDogLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLSBJbWFnZVxuJGd1dGVuYmVyZy1pbWFnZS1yYXRpb3M6IChcIjFcIiwgXCI0LzNcIiwgXCIzLzRcIiwgXCIzLzJcIiwgXCIyLzNcIiwgXCIxNi85XCIsIFwiOS8xNlwiKSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gRm9udHMgb3B0aW1pemF0aW9uXG4vLy0tLS0tIEZvbnRBd2Vzb21lIGljb25zXG4kZm9udC1mYS1wcm86IFwiRm9udCBBd2Vzb21lIDYgUHJvXCI7XG4kZm9udC1mYS1icmFuZHM6IFwiRm9udCBBd2Vzb21lIDYgQnJhbmRzXCI7XG4vLyBzZWUgLi4vdmVuZG9ycy9fZm9udGF3ZXNvbWUuc2NzcyBmb3IgaWNvbnMgcHJvY2Vzc2luZ1xuLy8gc2VlIC4uL3ZlbmRvcnMvX2ZvbnRhd2Vzb21lLWljb25zLnNjc3MgZm9yIGF2YWlsYWJsZSBpY29ucyAmIGljb25zIGdyb3Vwc1xuLy8gJGN1c3RvbS11c2VkLWZhLWljb25zOiAoZm9udC1hd2Vzb21lLWZsYWc6ICRmYS12YXItZm9udC1hd2Vzb21lLWZsYWcsIHBsdXM6ICRmYS12YXItcGx1cyk7XG4kY3VzdG9tLXVzZWQtZmEtaWNvbnM6ICgpICFkZWZhdWx0O1xuLy8gJHVzZWQtZmEtaWNvbnMtZ3JvdXBzOiAoYWNjb21tb2RhdGlvbnMsIHdvb2NvbW1lcmNlKTtcbiR1c2VkLWZhLWljb25zLWdyb3VwczogKCkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gSWNvbnMgbGlzdFxuJGFscGhhLWZhLWljb25zLWxpc3Q6ICgpICFkZWZhdWx0O1xuJGFscGhhLWZhLWljb25zLWxpc3QtY29sb3I6IHZhcigtLWJzLXByaW1hcnkpICFkZWZhdWx0O1xuJGFscGhhLWZhLWljb25zLWxpc3Qtc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGFscGhhLWZhLWljb25zLWxpc3QtY29sb3JzOiAoKSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gU2xpY2tcbiRzbGljay1mb250LXBhdGg6IFwifnNsaWNrLWNhcm91c2VsL3NsaWNrL2ZvbnRzL1wiO1xuJHNsaWNrLWZvbnQtZmFtaWx5OiAkZm9udC1mYS1wcm87XG5cbi8vLS0tLS0tIENGNyBFZmZlY3RcbiRjb2xvci1mb3JtLXRleHQ6IHZhcigtLWJzLWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGNvbG9yLWZvcm0tZmlsbGVkOiB2YXIoLS1icy1wcmltYXJ5KSAhZGVmYXVsdDtcbiRjb2xvci1mb3JtLWZpZWxkLWJvcmRlcjogdmFyKC0tYnMtYm9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRmb3JtLWZpZWxkLWJvcmRlci1yYWRpdXM6IHZhcigtLWJzLWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGZvcm0tZmllbGQtbWFyZ2luLWJvdHRvbTogMnJlbSAhZGVmYXVsdDtcbiRmb3JtLWd1dHRlcjogLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZ3V0dGVyLWxlZnQ6IDEuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZS1maWxsZWQ6IC43cmVtICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLW5vLWFuaW0tbWFyZ2luLXRvcDogLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1uby1hbmltLXRyYW5zbGF0ZTogLS4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWVycm9yLWZvbnQtc2l6ZTogLjlyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEJvb3RzdHJhcCBSZXNwb25zaXZlIEltYWdlIFJhdGlvXG4vLyBtdXN0IGJlIGEgbGlzdCBvZiByYXRpb3MgZm9ybWF0dGVkIGxpa2UgdGhpczogKDEgMSksICg0IDMpLCAoMyAyKSwgKDE2IDkpLCAoMjEgOSlcbiRtZWRpYS1yYXRpb3M6ICgpICFkZWZhdWx0O1xuIiwiJHRoZW1lOiAoJ2NvbG9ycyc6ICgncHJpbWFyeSc6ICMwMDg5QzcsJ3NlY29uZGFyeSc6ICMwMEFFRUYsJ2JvZHknOiAjMEIxRDMzLCdib2R5X2JnJzogI0Y0RjNFRiwnaGVhZGVyX2JnJzogI2ZmZiwnZm9vdGVyX2JnJzogIzA3MTQyMywpLCdkYXJrJzogZmFsc2UsJ2RhcmtfY29sb3JzJzogKCdib2R5JzogI2ZmZiwnYm9keV9iZyc6ICMyMTI1MjksJ2xpbmsnOiAjZmZmLCksJ2Zhdmljb24nOiAoJ2F1dG9fZ2VuZXJhdGVkJzogdHJ1ZSwpLCdoZXJvX2Jhbm5lcic6ICgndmVyc2lvbic6IDIsJ2Z1bGxfaGVpZ2h0JzogdHJ1ZSwnb3ZlcmxheV9jb2xvcic6IG51bGwsKSwnbG9nbyc6ICgnaGVpZ2h0JzogXCIyLjVyZW1cIiwpLCd0aGVtZV9zZWxlY3Rvcic6ICgnbG9jYXRpb24nOiBmYWxzZSwndHlwZSc6IGZhbHNlLCdwb3NpdGlvbic6IGZhbHNlLCksJ3R5cG9ncmFwaHknOiAoJ2ZvbnQnOiAoJ2ZhbWlseV9zYW5zX3NlcmlmJzogXCJcXFwiQnJpY29sYWdlIEdyb3Rlc3F1ZVxcXCIsIHNhbnMtc2VyaWZcIiwnc2l6ZSc6IFwiMXJlbVwiLCd3ZWlnaHQnOiA0MDAsKSwnaGVhZGluZ3MnOiAoJ2NvbG9yJzogbnVsbCwnZm9udCc6ICgnZmFtaWx5JzogXCJcXFwiUGxheWZhaXIgRGlzcGxheVxcXCIsIEdlb3JnaWEsIHNlcmlmXCIsJ3dlaWdodCc6IDUwMCwpLCdzaXplcyc6ICgnaDEnOiBcIjIuNXJlbVwiLCdoMic6IFwiMy43NXJlbVwiLCdoMyc6IFwiMS41cmVtXCIsJ2g0JzogXCIxLjVyZW1cIiwnaDUnOiBcIjEuMjVyZW1cIiwnaDYnOiBcIjFyZW1cIiwpLCdob21lX3NpemVzJzogKCksKSwpLCd1aSc6ICgnYm9yZGVyX3JhZGl1cyc6IHJvdW5kZWQsKSwpOyIsIi5icmVhZGNydW1iIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJyZWFkY3J1bWItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXg6ICN7JGJyZWFkY3J1bWItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXk6ICN7JGJyZWFkY3J1bWItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAjeyRicmVhZGNydW1iLW1hcmdpbi1ib3R0b219O1xuICBAaW5jbHVkZSByZnMoJGJyZWFkY3J1bWItZm9udC1zaXplLCAtLSN7JHByZWZpeH1icmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItYmc6ICN7JGJyZWFkY3J1bWItYmd9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICN7JGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogI3skYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogI3skYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICN7JGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBicmVhZGNydW1iLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLW1hcmdpbi1ib3R0b20pO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZm9udC1zaXplKSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICAvLyBUaGUgc2VwYXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYnMgKGJ5IGRlZmF1bHQsIGEgZm9yd2FyZC1zbGFzaDogXCIvXCIpXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZmxvYXQ6IGxlZnQ7IC8vIFN1cHByZXNzIGlubGluZSBzcGFjaW5ncyBhbmQgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvclxuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXgpO1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXItY29sb3IpO1xuICAgICAgY29udGVudDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlciwgZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyKSkgI3tcIi8qIHJ0bDpcIn0gdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlciwgZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyLWZsaXBwZWQpKSAje1wiKi9cIn07XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcik7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNjc3MvZGltZW5zaW9uLW5vLW5vbi1udW1lcmljLXZhbHVlc1xuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCByZXNwb25zaXZlIHZhbHVlcyBmb3IgZm9udCBzaXplcywgcGFkZGluZ3MsIG1hcmdpbnMgYW5kIG11Y2ggbW9yZVxuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2Jsb2IvbWFpbi9MSUNFTlNFKVxuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgdmFsdWVcbiRyZnMtYmFzZS12YWx1ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtdW5pdDogcmVtICFkZWZhdWx0O1xuXG5AaWYgJHJmcy11bml0ICE9IHJlbSBhbmQgJHJmcy11bml0ICE9IHB4IHtcbiAgQGVycm9yIFwiYCN7JHJmcy11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSB2YWx1ZXMgc3RhcnQgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBweCBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gZW0gYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHJlbSB7XG4gIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xufVxuXG4vLyBSZXNpemUgdmFsdWVzIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gbnVtYmVyIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gTW9kZS4gUG9zc2liaWxpdGllczogXCJtaW4tbWVkaWEtcXVlcnlcIiwgXCJtYXgtbWVkaWEtcXVlcnlcIlxuJHJmcy1tb2RlOiBtaW4tbWVkaWEtcXVlcnkgIWRlZmF1bHQ7XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZnMgdG8gZmFsc2VcbiRlbmFibGUtcmZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtdmFsdWUgdW5pdFxuJHJmcy1iYXNlLXZhbHVlLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLXZhbHVlKTtcblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHB4IHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSByZW0ge1xuICAkcmZzLWJhc2UtdmFsdWU6IGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUsIGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHB4IHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSByZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCBkaXZpZGUoJHJmcy1icmVha3BvaW50ICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhbGN1bGF0ZSB0aGUgbWVkaWEgcXVlcnkgdmFsdWVcbiRyZnMtbXEtdmFsdWU6IGlmKCRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4LCAjeyRyZnMtYnJlYWtwb2ludH1weCwgI3tkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLXJlbS12YWx1ZSl9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH0pO1xuJHJmcy1tcS1wcm9wZXJ0eS13aWR0aDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LXdpZHRoLCBtaW4td2lkdGgpO1xuJHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHQ6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC1oZWlnaHQsIG1pbi1oZWlnaHQpO1xuXG4vLyBJbnRlcm5hbCBtaXhpbiB1c2VkIHRvIGRldGVybWluZSB3aGljaCBtZWRpYSBxdWVyeSBuZWVkcyB0byBiZSB1c2VkXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeSB7XG4gIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSwgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIGFuZCAoI3skcmZzLW1xLXByb3BlcnR5LWhlaWdodH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZGlzYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1ydWxlIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSB7XG4gICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSwgd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBwcm9wZXJ0eVxuICAgICYsXG4gICAgLmRpc2FibGUtcmZzICYsXG4gICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgIC5lbmFibGUtcmZzICYsXG4gICAgJi5lbmFibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGVuYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeS1ydWxlIHtcblxuICBAaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkgKCkge1xuICAgICAgLmVuYWJsZS1yZnMgJixcbiAgICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSAoKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgZm9ybWF0dGVkIG5vbi1yZXNwb25zaXZlIHZhbHVlXG5AZnVuY3Rpb24gcmZzLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogXCJcIjtcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArIFwiIDBcIjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZih0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgdW5pdCgkdmFsdWUpLCBmYWxzZSk7XG5cbiAgICAgIEBpZiAkdW5pdCA9PSBweCB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcmVtIGlmIG5lZWRlZFxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAkcmZzLXJlbS12YWx1ZSl9cmVtLCAkdmFsdWUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHVuaXQgPT0gcmVtIHtcbiAgICAgICAgLy8gQ29udmVydCB0byBweCBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHB4LCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAxKSAqICRyZnMtcmVtLXZhbHVlfXB4LCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gdW5xdW90ZShzdHItc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSByZXNwb25zaXZlIHZhbHVlIGNhbGN1bGF0ZWQgYnkgUkZTXG5AZnVuY3Rpb24gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogXCJcIjtcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArIFwiIDBcIjtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgIEBpZiBub3QgJHVuaXQgb3IgJHVuaXQgIT0gcHggYW5kICR1bml0ICE9IHJlbSB7XG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArICR2YWx1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBSZW1vdmUgdW5pdCBmcm9tICR2YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG4gICAgICAgICR2YWx1ZTogZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArIGlmKCR1bml0ID09IHB4LCAxLCBkaXZpZGUoMSwgJHJmcy1yZW0tdmFsdWUpKSk7XG5cbiAgICAgICAgLy8gT25seSBhZGQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZSB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgQGlmIGFicygkdmFsdWUpIDw9ICRyZnMtYmFzZS12YWx1ZSBvciBub3QgJGVuYWJsZS1yZnMge1xuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZSwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWV9cHgpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtbWluOiAkcmZzLWJhc2UtdmFsdWUgKyBkaXZpZGUoYWJzKCR2YWx1ZSkgLSAkcmZzLWJhc2UtdmFsdWUsICRyZnMtZmFjdG9yKTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gJHZhbHVlIGFuZCB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICAgICR2YWx1ZS1kaWZmOiBhYnMoJHZhbHVlKSAtICR2YWx1ZS1taW47XG5cbiAgICAgICAgICAvLyBCYXNlIHZhbHVlIGZvcm1hdHRpbmdcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUtbWluLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyR2YWx1ZS1taW59cHgpO1xuXG4gICAgICAgICAgLy8gVXNlIG5lZ2F0aXZlIHZhbHVlIGlmIG5lZWRlZFxuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCR2YWx1ZSA8IDAsIC0kbWluLXdpZHRoLCAkbWluLXdpZHRoKTtcblxuICAgICAgICAgIC8vIFVzZSBgdm1pbmAgaWYgdHdvLWRpbWVuc2lvbmFsIGlzIGVuYWJsZWRcbiAgICAgICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICAgICAkdmFyaWFibGUtd2lkdGg6ICN7ZGl2aWRlKCR2YWx1ZS1kaWZmICogMTAwLCAkcmZzLWJyZWFrcG9pbnQpfSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAgICAgLy8gUmV0dXJuIHRoZSBjYWxjdWxhdGVkIHZhbHVlXG4gICAgICAgICAgJHZhbDogJHZhbCArIFwiIGNhbGMoXCIgKyAkbWluLXdpZHRoICsgaWYoJHZhbHVlIDwgMCwgXCIgLSBcIiwgXCIgKyBcIikgKyAkdmFyaWFibGUtd2lkdGggKyBcIilcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gUkZTIG1peGluXG5AbWl4aW4gcmZzKCR2YWx1ZXMsICRwcm9wZXJ0eTogZm9udC1zaXplKSB7XG4gIEBpZiAkdmFsdWVzICE9IG51bGwge1xuICAgICR2YWw6IHJmcy12YWx1ZSgkdmFsdWVzKTtcbiAgICAkZmx1aWQtdmFsOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcyk7XG5cbiAgICAvLyBEbyBub3QgcHJpbnQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHJlc3BvbnNpdmUgJiBub24tcmVzcG9uc2l2ZSB2YWx1ZXMgYXJlIHRoZSBzYW1lXG4gICAgQGlmICR2YWwgPT0gJGZsdWlkLXZhbCB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICR2YWw7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIF9yZnMtcnVsZSAoKSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgJHZhbCwgJGZsdWlkLXZhbCk7XG5cbiAgICAgICAgLy8gSW5jbHVkZSBzYWZhcmkgaWZyYW1lIHJlc2l6ZSBmaXggaWYgbmVlZGVkXG4gICAgICAgIG1pbi13aWR0aDogaWYoJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4LCAoMCAqIDF2dyksIG51bGwpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUgKCkge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICRmbHVpZC12YWwsICR2YWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTaG9ydGhhbmQgaGVscGVyIG1peGluc1xuQG1peGluIGZvbnQtc2l6ZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nKTtcbn1cblxuQG1peGluIHBhZGRpbmctdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXRvcCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXJpZ2h0KTtcbn1cblxuQG1peGluIHBhZGRpbmctYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctbGVmdCk7XG59XG5cbkBtaXhpbiBtYXJnaW4oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbik7XG59XG5cbkBtaXhpbiBtYXJnaW4tdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tdG9wKTtcbn1cblxuQG1peGluIG1hcmdpbi1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXJpZ2h0KTtcbn1cblxuQG1peGluIG1hcmdpbi1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1ib3R0b20pO1xufVxuXG5AbWl4aW4gbWFyZ2luLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1sZWZ0KTtcbn1cbiIsIkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvYnJlYWRjcnVtYlwiO1xuXG4uYnJlYWRjcnVtYnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogMTAwdnc7XG4gIG1hcmdpbi1yaWdodDogY2FsYygjeyRjb250YWluZXItcGFkZGluZy14fSAqIC0xKTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoI3skY29udGFpbmVyLXBhZGRpbmcteH0gKiAtMSk7XG5cbiAgLmJyZWFkY3J1bWIge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIHBhZGRpbmc6ICRjb250YWluZXItcGFkZGluZy14O1xuICAgIG1hcmdpbjogdW5zZXQ7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1hbHBoYS1icmVhZGNydW1icy1tb2JpbGUtc2hhZG93LWNvbG9yKSAwLCB2YXIoLS1hbHBoYS1icmVhZGNydW1icy1tb2JpbGUtc2hhZG93LWNvbG9yLWVuZCkpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDJyZW07XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWFscGhhLWJyZWFkY3J1bWJzLW1vYmlsZS1zaGFkb3ctY29sb3ItZW5kKSAwLCB2YXIoLS1hbHBoYS1icmVhZGNydW1icy1tb2JpbGUtc2hhZG93LWNvbG9yKSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIC5icmVhZGNydW1iIHtcbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLm9uLWZlYXR1cmVkIHtcbiAgICAtLWFscGhhLWJyZWFkY3J1bWJzLW1vYmlsZS1zaGFkb3ctY29sb3I6ICN7JGJyZWFkY3J1bWItb24tZmVhdHVyZWQtbW9iaWxlLXNoYWRvdy1jb2xvcn07XG4gICAgLS1hbHBoYS1icmVhZGNydW1icy1tb2JpbGUtc2hhZG93LWNvbG9yLWVuZDogI3tyZ2JhKCRicmVhZGNydW1iLW9uLWZlYXR1cmVkLW1vYmlsZS1zaGFkb3ctY29sb3IsIDApfTtcbiAgICB0b3A6IHZhcigtLWZlYXR1cmVkLWltYWdlLWhlaWdodCk7XG4gICAgei1pbmRleDogMTA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcblxuICAgIC5icmVhZGNydW1iIHtcbiAgICAgIC0tYnMtYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgICAtLWJzLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6IGN1cnJlbnRjb2xvcjtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAuNzU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5kYXJrIHtcbiAgICAtLWJzLWxpbmstY29sb3ItcmdiOiAje2hleC10by1yZ2IoJHdoaXRlKX07XG5cbiAgICBhIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICAtLWJzLWxpbmstY29sb3ItcmdiOiAje2hleC10by1yZ2IoJGdyYXktMTAwKX07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5icmVhZGNydW1icy1vbi1mZWF0dXJlZCB7XG4gICY6bm90KC5oYXMtdHJhbnNwYXJlbnQtaGVhZGVyKSB7XG4gICAgLmJyZWFkY3J1bWJzIHtcbiAgICAgIHRvcDogY2FsYyh2YXIoLS1oZWFkZXItaGVpZ2h0KSArIHZhcigtLWZlYXR1cmVkLWltYWdlLWhlaWdodCkpO1xuICAgICAgdHJhbnNpdGlvbjogdG9wIC4zcyBlYXNlO1xuICAgIH1cbiAgfVxuXG4gICYuc2VhcmNoIHtcbiAgICAuY29udGVudC13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRzcGFjZXJzLCA4KTtcbiAgICB9XG4gIH1cbn1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgKyAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUtYmVmb3JlKCRmYS12YXItYW5nbGUtcmlnaHQsIGZhbHNlLCBcImxpZ2h0XCIsIDApO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZsb2F0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IC4yNXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgc3BhbiB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gZnVuY3Rpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBmYS1jb250ZW50OiBjb252ZW5pZW5jZSBmdW5jdGlvbiB1c2VkIHRvIHNldCBjb250ZW50IHByb3BlcnR5XG5AZnVuY3Rpb24gZmEtY29udGVudCgkZmEtdmFyKSB7XG4gIEByZXR1cm4gdW5xdW90ZShcIlxcXCIjeyAkZmEtdmFyIH1cXFwiXCIpO1xufVxuXG4vLyBmYS1kaXZpZGU6IE9yaWdpbmFsbHkgb2J0YWluZWQgZnJvbSB0aGUgQm9vdHN0cmFwIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcFxuLy9cbi8vIExpY2Vuc2VkIHVuZGVyOiBUaGUgTUlUIExpY2Vuc2UgKE1JVClcbi8vXG4vLyBDb3B5cmlnaHQgKGMpIDIwMTEtMjAyMSBUd2l0dGVyLCBJbmMuXG4vLyBDb3B5cmlnaHQgKGMpIDIwMTEtMjAyMSBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5AZnVuY3Rpb24gZmEtZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEwKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gICRxdW90aWVudDogMDtcbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yIFwiQ2Fubm90IGRpdmlkZSBieSAwXCI7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDEge1xuICAgIEByZXR1cm4gJGRpdmlkZW5kO1xuICB9XG4gIEB3aGlsZSAkcmVtYWluZGVyID49ICRkaXZpc29yIHtcbiAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICB9XG4gIEBpZiAkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+IDAge1xuICAgICRyZW1haW5kZXI6IGZhLWRpdmlkZSgkcmVtYWluZGVyICogMTAsICRkaXZpc29yLCAkcHJlY2lzaW9uIC0gMSkgKiAuMTtcbiAgfVxuICBAcmV0dXJuICgkcXVvdGllbnQgKyAkcmVtYWluZGVyKSAqICRzaWduO1xufVxuIiwiLnBhZ2luYXRpb24taW5mb3JtYXRpb24ge1xuICBmb250LXNpemU6IC44cmVtO1xufVxuXG4ucGFnaW5hdGlvbiB7XG4gIC5wYWdlLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAucGFnZS1saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICYuZG90cyB7XG4gICAgICAgIHBhZGRpbmc6IC4zNzVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAxMSDigJQgQWN0dWFsaXTDqXMgOiB0cm9pcyBjYXJ0ZXMgKHBob3RvIDQvMyArIGNhdMOpZ29yaWUsIGZpbGV0LCBkYXRlLCB0aXRyZSlcbi5hY3R1YWxpdGVzLXNoZWxsIHtcbiAgZ2FwOiAyOHB4O1xuXG4gIC5zci10aXRsZSB7XG4gICAgdGV4dC13cmFwOiB3cmFwO1xuICB9XG59XG5cbi5hY3R1YWxpdGVzLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KCN7XCJtaW4oMTAwJSwgMzIwcHgpXCJ9LCAxZnIpKTtcbiAgZ2FwOiAyOHB4O1xuICBtYXJnaW46IDA7XG5cbiAgLnRlYXNlLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gIH1cbn1cblxuLmFjdHVhbGl0ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMThweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIgLmFjdHVhbGl0ZS1pbWFnZSBpbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNik7XG4gIH1cbn1cblxuLmFjdHVhbGl0ZS1tZWRpYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGFzcGVjdC1yYXRpbzogNCAvIDM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNlMmUwZDk7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG59XG5cbi5hY3R1YWxpdGUtaW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoLjIsIC44LCAuMiwgMSk7XG4gIH1cbn1cblxuLmFjdHVhbGl0ZS1jYXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTJweDtcbiAgbGVmdDogMTJweDtcbiAgcGFkZGluZzogOHB4IDEzcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLmFjdHVhbGl0ZS1ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA4cHg7XG4gIHBhZGRpbmctdG9wOiAxNHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgkZGFyaywgLjE0KTtcbn1cblxuLmFjdHVhbGl0ZS1kYXRlIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogIzViNjA2Njtcbn1cblxuLmFjdHVhbGl0ZS10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6ICRzci1mb250LXNlcmlmO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICB0ZXh0LXdyYXA6IHByZXR0eTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0uMDFlbTtcbn1cblxuLy8gY2FydGUgZW4gbGllbiAodGVhc2VzLXN0YXRpYy90ZWFzZS1hcnRpY2xlLnR3aWcgOiBIUCBldCBwYWdlIEFjdHVhbGl0w6lzKSA6IGV4dHJhaXQgZXQgwqsgTGlyZSBsJ2FydGljbGUgwrtcbi5hcnRpY2xlLWNhcmQtbGluayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMThweDtcbiAgY29sb3I6ICRkYXJrO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkZGFyaztcblxuICAgIC5hcnRpY2xlLWNhcmQtbW9yZSB7XG4gICAgICBnYXA6IDEycHg7XG4gICAgfVxuICB9XG59XG5cbi5hcnRpY2xlLWNhcmQtZXhjZXJwdCB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICM1YjYwNjY7XG59XG5cbi5hcnRpY2xlLWNhcmQtbW9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBnYXA6IDZweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogNnB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAkcHJpbWFyeTtcbiAgdHJhbnNpdGlvbjogZ2FwIC4yNXM7XG59XG4iLCIvLyAxMyDigJQgQ29udGFjdCA6IGNhcnRlIG51aXQgKHRpdHJlLCBjb29yZG9ubsOpZXMgZW4gbGlnbmVzLCBjYXRhbG9ndWUpICsgZm9ybXVsYWlyZSBkZSBkZXZpcyBDb250YWN0IEZvcm0gN1xuLmNvbnRhY3QtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoI3tcIm1pbigxMDAlLCA0NDBweClcIn0sIDFmcikpO1xuICBnYXA6IDEycHg7XG59XG5cbi5jb250YWN0LWNhcmQge1xuICBnYXA6IDM2cHg7XG4gIHBhZGRpbmc6IGNsYW1wKDI4cHgsIDR2dywgNTZweCk7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGJhY2tncm91bmQ6ICRkYXJrO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuXG4gIC5zci10aXRsZSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgzNnB4LCA0LjR2dywgNjBweCk7XG4gIH1cbn1cblxuLmNvbnRhY3QtaW50cm8ge1xuICBnYXA6IDE4cHg7XG59XG5cbi5jb250YWN0LWxlYWQge1xuICBtYXgtd2lkdGg6IDQ2MHB4O1xuICBjb2xvcjogI2JjYzhkNjtcbn1cblxuLy8gSFAgOiBmaWxtIMKrIExhIHLDqXNpbmUgbmF0dXJlbGxlIMK7IGVuIGdyYW5kIGRhbnMgbGEgY2FydGUgY29udGFjdCAoMTYvOSwgZGlzcXVlIGxlY3R1cmUgYXUgY2VudHJlLCB0aXRyZSBlbiBiYXMpIDtcbi8vIG91dnJlIGxhIG1vZGFsZSBZb3VUdWJlIChjb21wb25lbnRzL3lvdXR1YmUtbW9kYWwudHdpZylcbi5jb250YWN0LWZpbG0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgjMDAwLCAuNyksIHRyYW5zcGFyZW50IDU1JSk7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIC5jb250YWN0LWZpbG0tdGh1bWIgaW1nIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNCk7XG4gICAgfVxuXG4gICAgLmNvbnRhY3QtZmlsbS1wbGF5IHtcbiAgICAgIHNjYWxlOiAxLjE7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAzcHggc29saWQgIzhmZGJmNztcbiAgICBvdXRsaW5lLW9mZnNldDogM3B4O1xuICB9XG59XG5cbi5jb250YWN0LWZpbG0tdGh1bWIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuXG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoLjIsIC44LCAuMiwgMSk7XG4gIH1cbn1cblxuLy8gZGlzcXVlIGxlY3R1cmUgYXUgY2VudHJlIChoYWxvIHF1aSBwdWxzZSwgY29tbWUgbGEgdmlkw6lvIGRlIHByw6lzZW50YXRpb24pXG4uY29udGFjdC1maWxtLXBsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiBjbGFtcCg2MHB4LCA2dncsIDgwcHgpO1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IDAgMTBweCAyOHB4IHJnYmEoIzAwMCwgLjQpO1xuICB0cmFuc2l0aW9uOiBzY2FsZSAuM3MgY3ViaWMtYmV6aWVyKC4xNiwgMSwgLjMsIDEpO1xuICB0cmFuc2xhdGU6IC01MCUgLTUwJTtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1NSU7XG4gICAgd2lkdGg6IDMwJTtcbiAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSA1MCUsIDAgMTAwJSk7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgdHJhbnNsYXRlOiAtNTAlIC01MCU7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyOiAycHggc29saWQgJHByaW1hcnk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGFuaW1hdGlvbjogdmlkZW8tcGxheS1oYWxvIDEuOHMgZWFzZS1vdXQgaW5maW5pdGU7XG4gIH1cblxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmNvbnRhY3QtZmlsbS10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgYm90dG9tOiAxOHB4O1xuICBsZWZ0OiAyMHB4O1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbn1cblxuLmNvbnRhY3QtZmlsbS1leWVicm93IHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzhmZGJmNztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IC4xNGVtO1xufVxuXG4uY29udGFjdC1maWxtLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6ICRzci1mb250LXNlcmlmO1xuICBmb250LXNpemU6IGNsYW1wKDIycHgsIDJ2dywgMjhweCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xufVxuXG4uY29udGFjdC1saWduZXMge1xuICBnYXA6IDhweDtcblxuICAuc3ItbGlnbmUtaW5uZXIge1xuICAgIHBhZGRpbmc6IDE4cHggMjJweDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAuMDcpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjI1cztcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAuMTQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIHBldGl0IMOpY3JhbiA6IGxpYmVsbMOpIGF1LWRlc3N1cyBkZSBsYSB2YWxldXIgKGPDtHRlIMOgIGPDtHRlLCDCqyBFLW1haWwgwrsgZXQgbCdhZHJlc3NlIHNlIGNvdXBhaWVudClcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgLnNyLWxpZ25lLWlubmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDRweDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC5zci1saWduZS12YWx1ZSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC5zci1saWduZS1sYWJlbCB7XG4gICAgZmxleDogbm9uZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICNiY2M4ZDY7XG4gIH1cblxuICAuc3ItbGlnbmUtdmFsdWUge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmb250LXNpemU6IGNsYW1wKDE1cHgsIDR2dywgMTdweCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcblxuICAgIC8vIENyeXB0WCB0cmFuc2Zvcm1lIGwnYWRyZXNzZSBlbiBsaWVuIDogaWwgY291dnJlIHRvdXRlIGxhIGxpZ25lXG4gICAgYSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1saWdodCAuc3ItbGlnbmUtaW5uZXIge1xuICAgIGNvbG9yOiAkZGFyaztcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkZGFyaztcbiAgICAgIGJhY2tncm91bmQ6ICM4ZmRiZjc7XG4gICAgfVxuXG4gICAgLnNyLWxpZ25lLWxhYmVsIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogJGRhcms7XG4gICAgfVxuXG4gICAgLnNyLWxpZ25lLXZhbHVlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICB9XG4gIH1cbn1cblxuLmNvbnRhY3QtZm9ybS1jYXJkIHtcbiAgZ2FwOiAxNHB4O1xuICBwYWRkaW5nOiBjbGFtcCgyNHB4LCA0dncsIDQ4cHgpO1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG59XG5cbi8vIGZvcm11bGFpcmUgZGUgZGV2aXMgKENvbnRhY3QgRm9ybSA3LCBodG1sX2NsYXNzIMKrIGRldmlzLWZvcm0gwrspXG4iLCIvLyAwMyDigJQgTm9zIGV4cGVydGlzZXMgOiBpbnRlcnJ1cHRldXIgUGFydGljdWxpZXJzIC8gUHJvZmVzc2lvbm5lbHMgKGFzc2V0cy9qcy9ob21lLmpzLCBjbGFzc2UgLmlzLXAgLyAuaXMtYiBzdXIgbGFcbi8vIHNlY3Rpb24pLCBwYW5uZWF1IGRlIGxhIGNvdWxldXIgZGUgbCdlc3BhY2UgKHRleHR1cmUgZW4gdm9pbGUpIGF2ZWMgdGV4dGUgKyBjYXJyb3VzZWwgZGUgY2FydGVzIChTd2lwZXIpXG4uZXhwZXJ0aXNlcy1zaGVsbCB7XG4gIGdhcDogMjhweDtcblxuICAuc3ItaGVhZCB7XG4gICAgZ2FwOiAxNnB4O1xuICB9XG5cbiAgLnNyLWhlYWQtdGl0bGUge1xuICAgIG1heC13aWR0aDogNzAwcHg7XG4gIH1cbn1cblxuLy8gc2V1bCBsJ2VzcGFjZSBhY3RpZiBlc3QgYWZmaWNow6kgKHRpdHJlcywgaW50cm9zLCBwYW5uZWF1eClcbi5leHBlcnRpc2VzLmlzLXAgLnNyLXNlZy1iLFxuLmV4cGVydGlzZXMuaXMtYiAuc3Itc2VnLXAge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG59XG5cbi5leHBlcnRpc2VzLXNpZGUge1xuICBnYXA6IDEwcHg7XG5cbiAgLnNyLWxlYWQge1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gIH1cbn1cblxuLmV4cGVydGlzZXMgLnNyLXNlZ21lbnRlZCAuYnRuLXNlZ21lbnQge1xuICAmLnNlZ21lbnQtcFthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gICAgLS1icy1idG4tYmc6ICN7JHByaW1hcnl9O1xuICAgIC0tYnMtYnRuLWNvbG9yOiAjeyR3aGl0ZX07XG4gICAgLS1icy1idG4taG92ZXItYmc6ICN7JHByaW1hcnl9O1xuICAgIC0tYnMtYnRuLWhvdmVyLWNvbG9yOiAjeyR3aGl0ZX07XG4gIH1cblxuICAmLnNlZ21lbnQtYlthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gICAgLS1icy1idG4tYmc6ICN7JGRhcmt9O1xuICAgIC0tYnMtYnRuLWNvbG9yOiAjeyR3aGl0ZX07XG4gICAgLS1icy1idG4taG92ZXItYmc6ICN7JGRhcmt9O1xuICAgIC0tYnMtYnRuLWhvdmVyLWNvbG9yOiAjeyR3aGl0ZX07XG4gIH1cbn1cblxuLmV4cGVydGlzZXMtcGFuZWwge1xuICAtLWV4cGVydGlzZXMtYWNjZW50OiAjeyRwcmltYXJ5fTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6IDEycHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWV4cGVydGlzZXMtYWNjZW50KTtcbiAgLy8gdm9pbGUgc3VyIGxhIHRleHR1cmUgZGUgbCdlc3BhY2UgKGdyYXZpZXIgZW4gbW9zYcOvcXVlIHBvdXIgbGVzIHBhcnRpY3VsaWVycywgw6lwb3h5IGVuIGNvdmVyIHBvdXIgbGVzIHByb3MpIDtcbiAgLy8gbCd1cmwgZGUgbGEgdGV4dHVyZSBhcnJpdmUgZW4gdmFyaWFibGUgaW5saW5lIGRlcHVpcyBob21lLnBocCAobWFuaWZlc3QgZGVzIGFzc2V0cylcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgNTgsIDkyLCAuNiksIHJnYmEoMCwgNTgsIDkyLCAuNikpLCB2YXIoLS1leHBlcnRpc2VzLXRleHR1cmUsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0bywgNDIwcHggYXV0bztcbiAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDM0MHB4IG1pbm1heCgwLCAxZnIpO1xuICB9XG5cbiAgJi5zci1zZWctYiB7XG4gICAgLS1leHBlcnRpc2VzLWFjY2VudDogI3skZGFya307XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoNywgMjAsIDM1LCAuNSksIHJnYmEoNywgMjAsIDM1LCAuNSkpLCB2YXIoLS1leHBlcnRpc2VzLXRleHR1cmUsIG5vbmUpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bywgY292ZXI7XG4gIH1cbn1cblxuLmV4cGVydGlzZXMtcGFuZWwtdGV4dCB7XG4gIGdhcDogMjhweDtcbiAgbWluLWhlaWdodDogMzYwcHg7XG4gIHBhZGRpbmc6IGNsYW1wKDI0cHgsIDN2dywgNDRweCkgY2xhbXAoMTZweCwgMnZ3LCAzMnB4KTtcbiAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLmV4cGVydGlzZXMtcGFuZWwtY29weSB7XG4gIGdhcDogMTRweDtcbn1cblxuLmV4cGVydGlzZXMtcGFuZWwtdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiAkc3ItZm9udC1zZXJpZjtcbiAgZm9udC1zaXplOiBjbGFtcCgyOHB4LCAyLjh2dywgNDRweCk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gIGxldHRlci1zcGFjaW5nOiAtLjAxZW07XG59XG5cbi5leHBlcnRpc2VzLXBhbmVsLWRlc2Mge1xuICBtYXgtd2lkdGg6IDQyMHB4O1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gIG9wYWNpdHk6IC45O1xufVxuXG4uZXhwZXJ0aXNlcy1wYW5lbC1hY3Rpb25zIHtcbiAgZ2FwOiAxOHB4O1xufVxuXG4uZXhwZXJ0aXNlcy1hbGwge1xuICAtLWJzLWJ0bi1ib3JkZXItd2lkdGg6IDA7XG4gIC0tYnMtYnRuLWNvbG9yOiB2YXIoLS1leHBlcnRpc2VzLWFjY2VudCk7XG4gIC0tYnMtYnRuLWhvdmVyLWNvbG9yOiB2YXIoLS1leHBlcnRpc2VzLWFjY2VudCk7XG4gIC0tYnMtYnRuLWhvdmVyLWJnOiAjeyR3aGl0ZX07XG4gIC0tYnMtYnRuLWJvcmRlci1jb2xvcjogI3skd2hpdGV9O1xuICAtLWJzLWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JHdoaXRlfTtcbiAgLS1icy1idG4tZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmV4cGVydGlzZXMtbmF2IHtcbiAgZ2FwOiAxMHB4O1xufVxuXG4uZXhwZXJ0aXNlcy1jb3VudCB7XG4gIG1hcmdpbi1sZWZ0OiA2cHg7XG4gIGZvbnQtZmFtaWx5OiAkc3ItZm9udC1zZXJpZjtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogLS4wMmVtO1xufVxuXG4uZXhwZXJ0aXNlcy1jb3VudC10b3RhbCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgb3BhY2l0eTogLjc1O1xufVxuXG4uZXhwZXJ0aXNlcy10cmFjayB7XG4gIC8vIHBhcyBkZSBuYXZpZ2F0aW9uIFN3aXBlciBuYXRpdmUgKGZsw6hjaGVzIG1haXNvbikgOiBzdXBwcmltZSBsYSByw6lzZXJ2ZSBkZSBwYWRkaW5nLWJvdHRvbSBxdSdBbHBoYSBsdWkgZ2FyZGVcbiAgLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplOiAwcHg7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdFxuICBhbGlnbi1zZWxmOiBzdGFydDsgLy8gY2FydGVzIGRlIDQwMHB4IGNhbMOpZXMgZW4gaGF1dCBkdSBwYW5uZWF1LCBzYW5zIHMnw6l0aXJlciBzdXIgbGEgaGF1dGV1ciBkdSB0ZXh0ZVxuICBtaW4td2lkdGg6IDA7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAvLyBhdmFudCBsJ2luaXRpYWxpc2F0aW9uIGRlIFN3aXBlciAoY2hhcmfDqSDDoCBsJ2FwcHJvY2hlIGRlIGxhIHNlY3Rpb24pLCBsZXMgY2FydGVzIHJlc3RlbnQgZW4gcmFuZ8OpZVxuICAmOm5vdCguc3dpcGVyLWluaXRpYWxpemVkKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDEycHg7XG4gIH1cblxuICBzd2lwZXItc2xpZGUsXG4gIC50ZWFzZS1pdGVtIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIHdpZHRoOiAje1wibWF4KDIyMHB4LCAxMDB2dyAtIDgwcHgpXCJ9O1xuICAgIGhlaWdodDogYXV0bztcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIHdpZHRoOiAzMDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgICB3aWR0aDogMzIwcHg7XG4gICAgfVxuICB9XG59XG5cbi5leHBlcnRpc2UtY2FyZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZXhwZXJ0aXNlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJHdoaXRlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiAjMDYyYjRhO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjRzIGN1YmljLWJlemllciguMiwgLjgsIC4yLCAxKTtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgkYmxhY2ssIC4wNSkgMzAlLCByZ2JhKCRibGFjaywgLjgpIDEwMCUpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gIH1cbn1cblxuLmV4cGVydGlzZS1pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cbn1cblxuLmV4cGVydGlzZS1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNHB4O1xuICByaWdodDogMTRweDtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICRwcmltYXJ5O1xuICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgLjk0KTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbn1cblxuLmV4cGVydGlzZS1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDhweDtcbiAgcGFkZGluZzogMjJweDtcbn1cblxuLmV4cGVydGlzZS10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiAkc3ItZm9udC1zZXJpZjtcbiAgZm9udC1zaXplOiBjbGFtcCgyMnB4LCAxLjd2dywgMjhweCk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjA1O1xuICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gIGxldHRlci1zcGFjaW5nOiAtLjAyZW07XG59XG5cbi5leHBlcnRpc2UtdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICNkOWU2ZjA7XG59XG4iLCIvLyBQYWdlcyBzaW1wbGVzICh0ZW1wbGF0ZXMvcGFnZXMvcGFnZS50d2lnKSBldCBwYWdlIEFjdHVhbGl0w6lzIDogaGVybyBjbGFpciAoZmlsIGQnQXJpYW5lICsgdGl0cmUpLCB0ZXh0ZSBkZVxuLy8gbCfDqWRpdGV1ciBlbiBjb2xvbm5lIGRlIGxlY3R1cmUsIGZpbHRyZXMgZXQgZ3JpbGxlIGQnYXJ0aWNsZXMuIExlIGdhYmFyaXQgZGVzIHByZXN0YXRpb25zIC8gYXJ0aWNsZXMgLyBjb250YWN0XG4vLyAoaGVybyBwaG90bywgY2hhcGl0cmVz4oCmKSBlc3QgZGFucyBwYWdlcy9fcGFnZS1pbnRlcm5lLnNjc3MuXG4kcHJlc3RhLWluazogIzNkNDM0YTtcblxuLy8gPT09IEhFUk8gQ0xBSVJcbi5wcmVzdGEtaGVybyB7XG4gIHBhZGRpbmctdG9wOiBjbGFtcCg0MHB4LCA0dncsIDY0cHgpOyAvLyA8bWFpbj4gZXN0IGTDqWrDoCBkw6ljYWzDqSBkZSBsYSBoYXV0ZXVyIGR1IGhlYWRlciBjb2xsYW50XG59XG5cbi5wcmVzdGEtaGVyby1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcblxuICAucHJlc3RhLWhlcm8tdGV4dCB7XG4gICAgbWF4LXdpZHRoOiA5ODBweDtcbiAgfVxufVxuXG4ucHJlc3RhLWhlcm8tdGV4dCB7XG4gIGdhcDogMjRweDtcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nOiAwIDhweDtcbn1cblxuLnByZXN0YS1oZXJvLWhlYWRpbmcge1xuICBnYXA6IDE4cHg7XG59XG5cbi5wcmVzdGEtdGl0bGUge1xuICBmb250LXNpemU6IGNsYW1wKDQwcHgsIDUuNHZ3LCA4MnB4KTtcbiAgbGluZS1oZWlnaHQ6IC45ODtcbiAgbGV0dGVyLXNwYWNpbmc6IC0uMDJlbTtcbn1cblxuLnByZXN0YS1sZWFkIHtcbiAgbWF4LXdpZHRoOiA1ODBweDtcblxuICBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxN3B4LCAxLjI1dncsIDE5cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICRwcmVzdGEtaW5rO1xuXG4gICAgKyBwIHtcbiAgICAgIG1hcmdpbi10b3A6IC44ZW07XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLnByZXN0YS1icmVhZGNydW1iIHtcbiAgLy8gQWxwaGEgcG9zZSDCqyBvbi1mZWF0dXJlZCBwb3NpdGlvbi1hYnNvbHV0ZSBkYXJrIMK7IHN1ciBsYSBuYXYgOiBvbiBsYSByZW1ldCBkYW5zIGxlIGZsdXgsIHN1ciBmb25kIGNsYWlyXG4gIC5icmVhZGNydW1icyB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIHRvcDogYXV0byAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICM1YjYwNjY7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuYnJlYWRjcnVtYiB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogNHB4IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICM1YjYwNjY7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXG4gICAgKyAuYnJlYWRjcnVtYi1pdGVtOjpiZWZvcmUge1xuICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgY29sb3I6ICNhM2E4YWQ7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjJzO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlIHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAkZGFyaztcbiAgICB9XG4gIH1cbn1cblxuLnByZXN0YS1wcm9zZSB7XG4gIG1heC13aWR0aDogNzIwcHg7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gIGNvbG9yOiAkcHJlc3RhLWluaztcblxuICBwLFxuICB1bCxcbiAgb2wge1xuICAgIG1hcmdpbjogMCAwIDEuMWVtO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgdWwsXG4gIG9sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMmVtO1xuICB9XG5cbiAgbGk6Om1hcmtlciB7XG4gICAgY29sb3I6ICRwcmltYXJ5O1xuICB9XG5cbiAgaDMge1xuICAgIG1hcmdpbjogMS42ZW0gMCAuNmVtO1xuICAgIGZvbnQtZmFtaWx5OiAkc3ItZm9udC1zZXJpZjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogJGRhcms7XG4gIH1cblxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICRkYXJrO1xuICB9XG5cbiAgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMXB4O1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogNHB4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC4ycztcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRkYXJrO1xuICAgIH1cbiAgfVxufVxuXG4vLyA9PT0gQUNUVUFMSVTDiVMgKHNyYy9pbmMvcGFnZXMvbGlzdGluZy5waHApIDogZmlsdHJlcyBwYXIgY2F0w6lnb3JpZSwgY2FydGVzIGQnYXJ0aWNsZXMsIHBhZ2luYXRpb25cbi5saXN0ZS1maWx0cmVzIHtcbiAgZ2FwOiA4cHg7XG4gIG1hcmdpbjogNHB4IDAgMDtcblxuICAudGVhc2UtaXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgfVxufVxuXG4ubGlzdGUtZmlsdHJlLWxpbmsge1xuICAtLWJzLWJ0bi1iZzogI3skd2hpdGV9O1xuICAtLWJzLWJ0bi1jb2xvcjogI3skZGFya307XG4gIC0tYnMtYnRuLWJvcmRlci1jb2xvcjogI2Q5ZDZjZTtcbiAgLS1icy1idG4taG92ZXItYmc6ICNlYWU4ZTE7XG4gIC0tYnMtYnRuLWhvdmVyLWNvbG9yOiAjeyRkYXJrfTtcbiAgLS1icy1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjZDlkNmNlO1xuXG4gIC5pcy1hY3RpdmUgJiB7XG4gICAgLS1icy1idG4tYmc6ICN7JGRhcmt9O1xuICAgIC0tYnMtYnRuLWNvbG9yOiAjeyR3aGl0ZX07XG4gICAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjeyRkYXJrfTtcbiAgICAtLWJzLWJ0bi1ob3Zlci1iZzogI3skZGFya307XG4gICAgLS1icy1idG4taG92ZXItY29sb3I6ICN7JHdoaXRlfTtcbiAgICAtLWJzLWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JGRhcmt9O1xuICB9XG59XG5cbi5saXN0ZS1wYWdpbmF0aW9uIHtcbiAgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAucGFnZS1udW1iZXJzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi13aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgcGFkZGluZzogMCAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICRkYXJrO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDlkNmNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG5cbiAgICAmLmN1cnJlbnQge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQ6ICRkYXJrO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZGFyaztcbiAgICB9XG4gIH1cbn1cblxuLy8gPT09IFBBR0VTIFNJTVBMRVMgKHRlbXBsYXRlcy9wYWdlcy9wYWdlLnR3aWcgOiBtZW50aW9ucyBsw6lnYWxlcywgY29uZmlkZW50aWFsaXTDqeKApilcbi5wYWdlLXByb3NlIHtcbiAgbWF4LXdpZHRoOiA4NjBweDtcblxuICBoMixcbiAgaDMge1xuICAgIG1hcmdpbjogMS44ZW0gMCAuNmVtO1xuICAgIGZvbnQtZmFtaWx5OiAkc3ItZm9udC1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgY29sb3I6ICRkYXJrO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjAxZW07XG4gIH1cblxuICBoMiB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgyNnB4LCAyLjR2dywgMzZweCk7XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICB9XG5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLy8gZ3JpbGxlIGRlcyBhcnRpY2xlcyAoQWN0dWFsaXTDqXMsIGNhdMOpZ29yaWVzLCDCqyDDgCBsaXJlIGF1c3NpIMK7KSA6IDMgY29sb25uZXMgZMOocyBsZywgMiBlbiBtZCwgMSBlbiBkZXNzb3VzLiBKYW1haXMgZGVcbi8vIGNhc2UgdmlkZSA6IGxlcyBkZXV4IGNhcnRlcyBkJ3VuZSBkZXJuacOocmUgbGlnbmUgaW5jb21wbMOodGUgcyfDqWxhcmdpc3NlbnQgKHBob3RvIDE2LzkpLCB1bmUgY2FydGUgc2V1bGUgc3VyIHNhIGxpZ25lXG4vLyBwcmVuZCB0b3V0ZSBsYSBsYXJnZXVyIGVuIGZvcm1hdCBob3Jpem9udGFsIChwaG90byB8IHRleHRlKVxuQG1peGluIGxpc3RlLWNhcmQtcm93IHtcbiAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcblxuICAuYXJ0aWNsZS1jYXJkLWxpbmsge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgN2ZyKSBtaW5tYXgoMCwgNWZyKTtcbiAgICBnYXA6IGNsYW1wKDI4cHgsIDR2dywgNTZweCk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC5hY3R1YWxpdGUtbWVkaWEge1xuICAgIGFzcGVjdC1yYXRpbzogMTYgLyAxMDtcbiAgfVxuXG4gIC5hY3R1YWxpdGUtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMjhweCwgMi42dncsIDM2cHgpO1xuICB9XG59XG5cbi5saXN0ZS1ncmlkIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LW9ubHkobWQpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG5cbiAgICA+IC50ZWFzZS1pdGVtOm50aC1jaGlsZChvZGQpOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgbGlzdGUtY2FyZC1yb3cgKCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIG1pbm1heCgwLCAxZnIpKTtcblxuICAgID4gLnRlYXNlLWl0ZW0ge1xuICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgICB9XG5cbiAgICA+IC50ZWFzZS1pdGVtOm50aC1jaGlsZCgzbisxKTpudGgtbGFzdC1jaGlsZCgyKSxcbiAgICA+IC50ZWFzZS1pdGVtOm50aC1jaGlsZCgzbisxKTpudGgtbGFzdC1jaGlsZCgyKSArIC50ZWFzZS1pdGVtIHtcbiAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDM7XG5cbiAgICAgIC5hY3R1YWxpdGUtbWVkaWEge1xuICAgICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IC50ZWFzZS1pdGVtOm50aC1jaGlsZCgzbisxKTpsYXN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGxpc3RlLWNhcmQtcm93ICgpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUGFnZXMgaW50ZXJuZXMgKG1hcXVldHRlIMKrIFBhZ2UgaW50ZXJuZSDigJMgaGF1dCBkZSBnYW1tZSDCuykgOiBwcmVzdGF0aW9ucywgYXJ0aWNsZXMsIGNvbnRhY3QsIGFjdHVhbGl0w6lzXG4vLyAoc3JjL2luYy9wYWdlcy9wcmVzdGF0aW9uLnBocCwgU2VjdGlvbnM6Omhlcm8gLyBzb2x1dGlvbnNQYW5lbCAvIGZhcVNwbGl0KS4gVm9jYWJ1bGFpcmUgZGUgbGEgSFAgOlxuLy8gaGVscGVycy9fc2VjdGlvbnMuc2NzcyAoY29xdWUsIHN1cnRpdHJlcywgdGl0cmVzIFBsYXlmYWlyIMOgIGFjY2VudCksIHBhbm5lYXUgZGVzIGV4cGVydGlzZXMgKGhvbWUvX2V4cGVydGlzZXMuc2NzcyksXG4vLyBGQVEgKGhvbWUvX2ZhcS5zY3NzKSwgY29udGFjdCAoaG9tZS9fY29udGFjdC5zY3NzKS5cbiRwaS1hc2g6ICM1YjYwNjY7XG4kcGktc2t5OiAjOGZkYmY3O1xuJHBpLWxpbmU6IHJnYmEoJGRhcmssIC4xNCk7XG4kcGktZWFzZTogY3ViaWMtYmV6aWVyKC4xNiwgMSwgLjMsIDEpO1xuJHBpLW51bS1zaXplOiBjbGFtcCg2NHB4LCA4dncsIDEyMHB4KTtcbiRwaS1udW0tZ2FwOiBjbGFtcCgxNnB4LCAzdncsIDQ4cHgpO1xuJHBpLWd1dHRlcjogY2xhbXAoMTJweCwgMnZ3LCAyNHB4KTsgLy8gZ291dHRpw6hyZSBib3JkIGQnw6ljcmFuIGR1IGhlcm8gZXQgZGVzIGJhbmRlcyBwaG90b1xuXG4vLyA9PT0gMDIg4oCUIElOVFJPRFVDVElPTiA6IGFjY3JvY2hlIGVuIHNlcmlmLCBzdWl0ZSArIHBhc3RpbGxlcywgY2hpZmZyZXMgY2zDqXMgc291cyBmaWxldFxuLnByZXN0YS1pbnRybyB7XG4gIHBhZGRpbmctdG9wOiBjbGFtcCg1NnB4LCA3dncsIDk2cHgpO1xufVxuXG4uaW50cm8tc2hlbGwge1xuICBnYXA6IGNsYW1wKDQwcHgsIDV2dywgNjRweCk7XG59XG5cbi5pbnRyby1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgje1wibWluKDEwMCUsIDQ4MHB4KVwifSwgMWZyKSk7XG4gIGdhcDogY2xhbXAoMzJweCwgNnZ3LCAxMjBweCk7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcbn1cblxuLy8gYWNjcm9jaGUgOiBsZXMgbW90cyBzZSBjb2xvcmVudCBhdSBmaWwgZHUgZMOpZmlsZW1lbnQgKEpTIDogLnNyLWZpbGwtd29yZCArIC0td29yZC1vbilcbi5pbnRyby1zdGF0ZW1lbnQgLnNyLWZpbGwtd29yZCB7XG4gIG9wYWNpdHk6IGNhbGMoLjE2ICsgdmFyKC0td29yZC1vbiwgMSkgKiAuODQpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBsaW5lYXI7XG59XG5cbi5pbnRyby1zdGF0ZW1lbnQge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiAkc3ItZm9udC1zZXJpZjtcbiAgZm9udC1zaXplOiBjbGFtcCgyNnB4LCAyLjh2dywgNDBweCk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBjb2xvcjogJGRhcms7XG4gIHRleHQtd3JhcDogcHJldHR5O1xuICBsZXR0ZXItc3BhY2luZzogLS4wMWVtO1xuXG4gIGEge1xuICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gIH1cbn1cblxuLmludHJvLXNpZGUge1xuICBnYXA6IDIycHg7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG59XG5cbi5pbnRyby10ZXh0LFxuLmNoYXBpdHJlLXByb3NlIHtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBsaW5lLWhlaWdodDogMS43NTtcbiAgY29sb3I6ICRwaS1hc2g7XG4gIHRleHQtd3JhcDogcHJldHR5O1xuXG4gIHAge1xuICAgIG1hcmdpbjogMCAwIDE4cHg7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAxcHg7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiA0cHg7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkZGFyaztcbiAgICB9XG4gIH1cblxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICRkYXJrO1xuICB9XG5cbiAgdWwsXG4gIG9sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMmVtO1xuICAgIG1hcmdpbjogMCAwIDE4cHg7XG4gIH1cblxuICBsaTo6bWFya2VyIHtcbiAgICBjb2xvcjogJHByaW1hcnk7XG4gIH1cbn1cblxuLmludHJvLWNoZWNrcyxcbi5tYWlsbGFnZS1jaGlwcyB7XG4gIGdhcDogNnB4O1xuICBtYXJnaW46IDA7XG5cbiAgLnRlYXNlLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gIH1cbn1cblxuLmludHJvLWNoZWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA4cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogJGRhcms7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMzVzLCBjb2xvciAuMzVzLCB0cmFuc2xhdGUgLjM1cyAkcGktZWFzZTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJhY2tncm91bmQ6ICRkYXJrO1xuICAgIHRyYW5zbGF0ZTogMCAtMnB4O1xuXG4gICAgLmludHJvLWNoZWNrLW1hcmsge1xuICAgICAgY29sb3I6ICRwaS1za3k7XG4gICAgfVxuICB9XG59XG5cbi5pbnRyby1jaGVjay1tYXJrIHtcbiAgY29sb3I6ICRwcmltYXJ5O1xufVxuXG4vLyBlbmNhZHLDqSDCqyBMJ2Vzc2VudGllbCDCuyAocsOpZGFjdGlvbiBWMikgOiByw6lwb25zZSBjb3VydGUsIMOpdGlxdWV0dGUgw6AgZ2F1Y2hlLCB0ZXh0ZSDDoCBkcm9pdGUgc3VyIGZvbmQgbnVpdFxuLnByZXN0YS1lc3NlbnRpZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDE0MHB4LCAyMjBweCkgMWZyO1xuICBnYXA6IGNsYW1wKDE2cHgsIDR2dywgNjRweCk7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgcGFkZGluZzogY2xhbXAoMjRweCwgNHZ3LCA0OHB4KSBjbGFtcCgyMnB4LCA0dncsIDU2cHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJHdoaXRlO1xuICBiYWNrZ3JvdW5kOiAkZGFyaztcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcblxuICAvLyBmaWxldCBjaWVsIGVuIHTDqnRlLCBxdWkgc2UgZMOpcGxvaWUgw6AgbCdhcHBhcml0aW9uXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogM3B4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAkcHJpbWFyeSwgJHBpLXNreSk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxufVxuXG4ucHJlc3RhLWVzc2VudGllbC1sYWJlbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTJweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAkcGktc2t5O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogLjI0ZW07XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRjb2xvcjtcbiAgfVxufVxuXG4ucHJlc3RhLWVzc2VudGllbC10ZXh0IHtcbiAgbWF4LXdpZHRoOiA5ODBweDtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogJHNyLWZvbnQtc2VyaWY7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMTlweCwgMS43dncsIDI0cHgpO1xuICBsaW5lLWhlaWdodDogMS41O1xuICB0ZXh0LXdyYXA6IHByZXR0eTtcblxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICRwaS1za3k7XG4gIH1cbn1cblxuLmludHJvLWZpZ3VyZXMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KCN7XCJtaW4oMTAwJSwgMjAwcHgpXCJ9LCAxZnIpKTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgZ2FwOiAyNHB4IDEycHg7XG4gIH1cblxuICBnYXA6IDEycHg7XG4gIG1hcmdpbjogMDtcblxuICAudGVhc2UtaXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgfVxufVxuXG4uaW50cm8tZmlndXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDhweDtcbiAgcGFkZGluZy10b3A6IDIycHg7XG4gIGJvcmRlci10b3A6IDEuNXB4IHNvbGlkICRkYXJrO1xuXG4gIC8vIGZpbGV0IGJsZXUgcXVpIGNvdXJ0IHN1ciBsZSBmaWxldCBudWl0IGF1IHN1cnZvbFxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xLjVweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMS41cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcbiAgICB0cmFuc2l0aW9uOiBzY2FsZSAuOHMgJHBpLWVhc2U7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCA1MCU7XG4gICAgc2NhbGU6IDAgMTtcbiAgfVxuXG4gICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgc2NhbGU6IDEgMTtcbiAgfVxuXG4gICY6aG92ZXIgLmludHJvLWZpZ3VyZS12YWx1ZSB7XG4gICAgdHJhbnNsYXRlOiA2cHggMDtcbiAgfVxufVxuXG4uaW50cm8tZmlndXJlLXZhbHVlIHtcbiAgZm9udC1mYW1pbHk6ICRzci1mb250LXNlcmlmO1xuICBmb250LXNpemU6IGNsYW1wKDQwcHgsIDR2dywgNjBweCk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJHByaW1hcnk7XG4gIGxldHRlci1zcGFjaW5nOiAtLjAzZW07XG4gIHRyYW5zaXRpb246IHRyYW5zbGF0ZSAuNnMgJHBpLWVhc2U7XG59XG5cbi5pbnRyby1maWd1cmUtbGFiZWwge1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAkcGktYXNoO1xufVxuXG4vLyA9PT0gMDMg4oCUIENIQVBJVFJFUyA6IG1pc2VzIGVuIHBhZ2Ugc2Vsb24gbGUgY29udGVudSAoUHJlc3RhdGlvbnM6OmNoYXB0ZXJzKSwgbnVtw6lybyBlbiBjb250b3VyIHJlbXBsaSBhdSBkw6lmaWxlbWVudFxuLy8gKC0tZmlsbC1zY3JvbGwsIEpTKSBldCBhdSBzdXJ2b2wgKC0tZmlsbC1ob3ZlciksIHBob3RvcyBlbiBwYXJhbGxheGUgZGFucyBsZXVyIGNhZHJlIChbZGF0YS1wYXJhbGxheF0pXG5AcHJvcGVydHkgLS1maWxsLWhvdmVyIHtcbiAgc3ludGF4OiBcIjxudW1iZXI+XCI7XG4gIGluaGVyaXRzOiB0cnVlO1xuICBpbml0aWFsLXZhbHVlOiAwO1xufVxuXG4ucHJlc3RhLWNoYXBpdHJlcyB7XG4gIHBhZGRpbmctdG9wOiBjbGFtcCg1NnB4LCA3dncsIDk2cHgpO1xufVxuXG4uY2hhcGl0cmVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiBjbGFtcCg3MnB4LCA4dncsIDEyOHB4KTtcbiAgbWFyZ2luOiAwIGF1dG87IC8vIGNvcXVlIGNlbnRyw6llIDogbGEgYmFuZGUgcGxlaW5lIGxhcmdldXIgc2UgY2FsZSBzdXIgbGUgY2VudHJlIGRlIGwnw6ljcmFuXG5cbiAgPiAudGVhc2UtaXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgfVxufVxuXG4uY2hhcGl0cmUge1xuICAtLXBpLW51bS1zaXplOiAjeyRwaS1udW0tc2l6ZX07XG4gIC0tcGktbnVtLWdhcDogI3skcGktbnVtLWdhcH07XG4gIC0tZmlsbC1zY3JvbGw6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogY2xhbXAoMjhweCwgMy40dncsIDQ4cHgpO1xuICBwYWRkaW5nLXRvcDogMjRweDtcbiAgc2Nyb2xsLW1hcmdpbi10b3A6IDExMHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJHBpLWxpbmU7XG4gIHRyYW5zaXRpb246IC0tZmlsbC1ob3ZlciAuOHMgJHBpLWVhc2U7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgY3VzdG9tLXByb3BlcnR5LW5vLW1pc3NpbmctdmFyLWZ1bmN0aW9uXG5cbiAgJjpob3ZlciB7XG4gICAgLS1maWxsLWhvdmVyOiAxO1xuICB9XG59XG5cbi5jaGFwaXRyZS1oZWFkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpO1xuICBnYXA6ICRwaS1udW0tZ2FwO1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG59XG5cbi5jaGFwaXRyZS1udW0ge1xuICAtLWZpbGw6ICN7XCJtYXgodmFyKC0tZmlsbC1zY3JvbGwpLCB2YXIoLS1maWxsLWhvdmVyKSlcIn07XG4gIG1pbi13aWR0aDogMS4yZW07XG4gIGZvbnQtZmFtaWx5OiAkc3ItZm9udC1zZXJpZjtcbiAgZm9udC1zaXplOiAkcGktbnVtLXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAuODtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBsZXR0ZXItc3BhY2luZzogLS4wNGVtO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgJHByaW1hcnkgY2FsYyh2YXIoLS1maWxsKSAqIDEwMCUpLCB0cmFuc3BhcmVudCBjYWxjKHZhcigtLWZpbGwpICogMTAwJSkpO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG4gIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMS41cHggJHByaW1hcnk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGZvbnQtc2l6ZTogNTZweDtcbiAgfVxufVxuXG4uY2hhcGl0cmUtaGVhZC10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxNHB4O1xuICBtYXgtd2lkdGg6IDkwMHB4O1xufVxuXG4uY2hhcGl0cmUtc3VydGl0bGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICRwcmltYXJ5O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogLjIyZW07XG5cbiAgJjo6YWZ0ZXIge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogY3VycmVudGNvbG9yO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIC44cyAkcGktZWFzZTtcbiAgfVxuXG4gIC5jaGFwaXRyZTpob3ZlciAmOjphZnRlciB7XG4gICAgd2lkdGg6IDQ4cHg7XG4gIH1cbn1cblxuLmNoYXBpdHJlLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogJHNyLWZvbnQtc2VyaWY7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMzBweCwgMy44dncsIDU4cHgpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4wMjtcbiAgY29sb3I6ICRkYXJrO1xuICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gIGxldHRlci1zcGFjaW5nOiAtLjAxNWVtO1xuXG4gIGVtIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6ICRwcmltYXJ5O1xuICB9XG59XG5cbi5jaGFwaXRyZS1sZWFkIHtcbiAgbWF4LXdpZHRoOiA3NjBweDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDEuNXZ3LCAyMXB4KTtcbiAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gIGNvbG9yOiAkZGFyaztcbiAgdGV4dC13cmFwOiBwcmV0dHk7XG5cbiAgYSB7XG4gICAgY29sb3I6ICRwcmltYXJ5O1xuICB9XG59XG5cbi5jaGFwaXRyZS1sZWFkLWxnIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBmb250LWZhbWlseTogJHNyLWZvbnQtc2VyaWY7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMjRweCwgMi4zdncsIDM0cHgpO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBsZXR0ZXItc3BhY2luZzogLS4wMWVtO1xufVxuXG4vLyBsaWVucyBkdSB0ZXh0ZSA6IHNvdWxpZ25lbWVudCBxdWkgc2UgZGVzc2luZSBhdSBzdXJ2b2xcbi5jaGFwaXRyZS1wcm9zZSBhLFxuLmNoYXBpdHJlLWxlYWQgYSxcbi5pbnRyby10ZXh0IGEsXG4uaW50cm8tc3RhdGVtZW50IGEsXG4uY2hhcGl0cmUtY2FyZC10ZXh0IGEsXG4ubWFpbGxhZ2UtdGV4dCBhIHtcbiAgY29sb3I6ICRwcmltYXJ5O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChjdXJyZW50Y29sb3IsIGN1cnJlbnRjb2xvcikgMCAxMDAlIC8gMTAwJSAxcHggbm8tcmVwZWF0O1xuICBib3JkZXI6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSAuNXMgJHBpLWVhc2UsIGNvbG9yIC4zcztcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGRhcms7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMCAxcHg7XG4gIH1cbn1cblxuLmNoYXBpdHJlLXByb3NlIHtcbiAgbWF4LXdpZHRoOiA2ODBweDtcbn1cblxuLy8gLS0tIHRpdHJlIHN1ciB0b3V0ZSBsYSBsYXJnZXVyLCBjaGFww7QgZW4gZ3JhbmQgZXQgdGV4dGUgY8O0dGUgw6AgY8O0dGUgKGFsaWduw6kgc291cyBsZSB0aXRyZSlcbi5jaGFwaXRyZS13aWRlIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgje1wibWluKDEwMCUsIDQyMHB4KVwifSwgMWZyKSk7XG4gIGdhcDogMjRweCBjbGFtcCgzMnB4LCA1dncsIDk2cHgpO1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXBpLW51bS1zaXplKSAqIDEuMiArIHZhcigtLXBpLW51bS1nYXApKTtcbiAgfVxuXG4gIC5jaGFwaXRyZS1wcm9zZSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gIH1cbn1cblxuLy8gLS0tIGRldXggY29sb25uZXMgKG1lZGlhLCBtZWRpYS1yZXZlcnNlLCBwb3NlZCwgY3RhKVxuLmNoYXBpdHJlLWNvbHMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KCN7XCJtaW4oMTAwJSwgNDIwcHgpXCJ9LCAxZnIpKTtcbiAgZ2FwOiBjbGFtcCgzMnB4LCA1dncsIDk2cHgpO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLmNoYXBpdHJlLmlzLW1lZGlhLXJldmVyc2UgLmNoYXBpdHJlLWZpZ3VyZSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICBvcmRlcjogLTE7XG4gIH1cbn1cblxuLmNoYXBpdHJlLXNpZGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IGNsYW1wKDI0cHgsIDN2dywgMzZweCk7XG5cbiAgLy8gdGV4dGUgYWxpZ27DqSBzb3VzIGxlIHRpdHJlIChhcHLDqHMgbGEgY29sb25uZSBkdSBudW3DqXJvKSwgdGl0cmUgcGx1cyBjb21wYWN0IGVuIGRlbWktbGFyZ2V1clxuICA+IC5jaGFwaXRyZS1wcm9zZSxcbiAgPiAuY2hhcGl0cmUtYXNpZGUsXG4gID4gLmNoYXBpdHJlLXN0ZXBzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1waS1udW0tc2l6ZSkgKiAxLjIgKyB2YXIoLS1waS1udW0tZ2FwKSk7XG4gICAgfVxuICB9XG5cbiAgLmNoYXBpdHJlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDI4cHgsIDN2dywgNDZweCk7XG4gIH1cbn1cblxuLmNoYXBpdHJlLWZpZ3VyZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwO1xuXG4gICYuaXMtdGFsbCB7XG4gICAgbWluLWhlaWdodDogY2xhbXAoNDIwcHgsIDQ0dncsIDcyMHB4KTtcbiAgfVxuXG4gICYuaXMtcG9zZWQge1xuICAgIG1pbi1oZWlnaHQ6IGNsYW1wKDM4MHB4LCAzOHZ3LCA2MDBweCk7XG4gICAgbWFyZ2luOiAwIDE2cHggMTZweCAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm94LXNoYWRvdzogMTZweCAxNnB4IDAgLTFweCAkYm9keS1iZywgMTZweCAxNnB4IDAgMCAkcHJpbWFyeTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC42cyAkcGktZWFzZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMjRweCAyNHB4IDAgLTFweCAkYm9keS1iZywgMjRweCAyNHB4IDAgMCAkcHJpbWFyeTtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICAuY2hhcGl0cmUtZmlndXJlLWltYWdlIGltZyB7XG4gICAgICBzY2FsZTogMS4wNjtcbiAgICB9XG5cbiAgICAuY2hhcGl0cmUtZmlndXJlLWNoaXAge1xuICAgICAgdHJhbnNsYXRlOiAwIC02cHg7XG4gICAgfVxuICB9XG59XG5cbi5jaGFwaXRyZS1maWd1cmUtZnJhbWUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZTJlMGQ5O1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xufVxuXG4uY2hhcGl0cmUtZmlndXJlLWltYWdlLFxuLmNoYXBpdHJlLWJhbmQtaW1hZ2UsXG4uY2hhbnRpZXItY2FyZC1pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IC04JSAwO1xuXG4gICYsXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMTYlO1xuICB9XG5cbiAgaW1nIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgdHJhbnNpdGlvbjogc2NhbGUgMS40cyAkcGktZWFzZTtcbiAgfVxufVxuXG4uY2hhcGl0cmUtZmlndXJlLWNoaXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTZweDtcbiAgbGVmdDogMTZweDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA4cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMzJweCk7XG4gIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogJGRhcms7XG4gIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAuOTQpO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2xhdGUgLjZzICRwaS1lYXNlO1xufVxuXG4uY2hhcGl0cmUtZmlndXJlLWRvdCB7XG4gIGZsZXg6IG5vbmU7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBhbmltYXRpb246IHBpLXB1bHNlIDIuNHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgcGktcHVsc2Uge1xuICA1MCUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDZweCByZ2JhKCRwcmltYXJ5LCAuMTgpO1xuICB9XG59XG5cbi5jaGFwaXRyZS1hc2lkZSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTtcbiAgZ2FwOiAxOHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAyMHB4O1xuICBtYXJnaW46IGF1dG8gMCAwO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICBjb2xvcjogJHBpLWFzaDtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2xhdGUgLjVzICRwaS1lYXNlLCBib3gtc2hhZG93IC41cztcblxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICRkYXJrO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAyNHB4IDUwcHggLTMwcHggcmdiYSgkZGFyaywgLjM1KTtcbiAgICB0cmFuc2xhdGU6IDAgLTRweDtcbiAgfVxufVxuXG4uY2hhcGl0cmUtYXNpZGUtaWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogNTJweDtcbiAgaGVpZ2h0OiA1MnB4O1xuICBjb2xvcjogJHByaW1hcnk7XG4gIGJhY2tncm91bmQ6ICNkZGYxZmE7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjRzLCBjb2xvciAuNHM7XG5cbiAgLmNoYXBpdHJlLWFzaWRlOmhvdmVyICYge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gIH1cbn1cblxuLy8gLS0tIGNhcnRlcyAoMiBwYXJhZ3JhcGhlcyBvdSBwbHVzKVxuLmNoYXBpdHJlLWNhcmRzLWhlYWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KCN7XCJtaW4oMTAwJSwgNDYwcHgpXCJ9LCAxZnIpKTtcbiAgZ2FwOiAyNHB4IGNsYW1wKDMycHgsIDV2dywgOTZweCk7XG4gIGFsaWduLWl0ZW1zOiBlbmQ7XG59XG5cbi5jaGFwaXRyZS1jYXJkcyB7XG4gIC0tY2FyZHM6IDM7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoI3tcIm1pbigxMDAlLCAzMDBweClcIn0sIDFmcikpO1xuICBnYXA6IDEycHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgY291bnRlci1yZXNldDogY2FyZDtcblxuICAmLmNvdW50LTIsXG4gICYuY291bnQtNCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIH1cbiAgfVxufVxuXG4uY2hhcGl0cmUtY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAyMHB4O1xuICBwYWRkaW5nOiBjbGFtcCgyMnB4LCAyLjR2dywgMzZweCk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIGdhcDogMjhweDtcbiAgICBtaW4taGVpZ2h0OiAyNDBweDtcbiAgfVxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIHRyYW5zaXRpb246IHRyYW5zbGF0ZSAuNnMgJHBpLWVhc2UsIGJveC1zaGFkb3cgLjZzICRwaS1lYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIC42cztcblxuICAvLyBmaWxldCBibGV1IHF1aSBzZSBkZXNzaW5lIGF1IHN1cnZvbFxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogM3B4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gICAgdHJhbnNpdGlvbjogc2NhbGUgLjdzICRwaS1lYXNlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlO1xuICAgIHNjYWxlOiAwIDE7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDMycHggNjBweCAtMzZweCByZ2JhKCRkYXJrLCAuNCk7XG4gICAgdHJhbnNsYXRlOiAwIC02cHg7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBzY2FsZTogMSAxO1xuICAgIH1cblxuICAgIC5jaGFwaXRyZS1jYXJkLW51bSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XG4gICAgfVxuICB9XG59XG5cbi5jaGFwaXRyZS1jYXJkLW51bSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiA0OHB4O1xuICBmb250LWZhbWlseTogJHNyLWZvbnQtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICRwcmltYXJ5O1xuICBiYWNrZ3JvdW5kOiAjZGRmMWZhO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC40cywgY29sb3IgLjRzO1xufVxuXG4uY2hhcGl0cmUtY2FyZC10ZXh0IHtcbiAgbWFyZ2luOiBhdXRvIDAgMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS43O1xuICBjb2xvcjogJHBpLWFzaDtcbn1cblxuLmNoYXBpdHJlLWNhcmQtdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBmb250LWZhbWlseTogJHNyLWZvbnQtc2VyaWY7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMjJweCwgMS44dncsIDI4cHgpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgY29sb3I6ICRkYXJrO1xufVxuXG4vLyAtLS0gdGl0cmUgY29sbGFudCDDoCBnYXVjaGUsIHRleHRlIGVuIGdyYW5kIMOgIGRyb2l0ZSAoMSBwYXJhZ3JhcGhlKVxuLmNoYXBpdHJlLXNwbGl0IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgje1wibWluKDEwMCUsIDQ2MHB4KVwifSwgMWZyKSk7XG4gIGdhcDogMjhweCBjbGFtcCgzMnB4LCA2dncsIDEyMHB4KTtcbiAgYWxpZ24taXRlbXM6IHN0YXJ0O1xufVxuXG4uY2hhcGl0cmUtc3BsaXQtaGVhZCB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMTIwcHg7XG4gIH1cbn1cblxuLmNoYXBpdHJlLXNwbGl0LWJvZHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDI0cHg7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG5cbiAgLmNoYXBpdHJlLXByb3NlIHtcbiAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHJnYmEoJHByaW1hcnksIC4yNSk7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC41cztcbiAgfVxuXG4gICY6aG92ZXIgLmNoYXBpdHJlLXByb3NlIHtcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xuICB9XG59XG5cbi8vIC0tLSDDqXRhcGVzICsgY2FydGUgZCdhcHBlbCAoZGVybmllciBjaGFwaXRyZSlcbi5jaGFwaXRyZS1zdGVwcyB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmNoYXBpdHJlLXN0ZXAge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcik7XG4gIGdhcDogMThweDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBwYWRkaW5nOiAxOHB4IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkcGktbGluZTtcbiAgdHJhbnNpdGlvbjogcGFkZGluZy1sZWZ0IC41cyAkcGktZWFzZSwgYmFja2dyb3VuZC1jb2xvciAuNXM7XG5cbiAgJjpob3ZlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuXG4gICAgLmNoYXBpdHJlLXN0ZXAtbnVtIHtcbiAgICAgIGNvbG9yOiAkZGFyaztcbiAgICB9XG4gIH1cbn1cblxuLmNoYXBpdHJlLXN0ZXAtbnVtIHtcbiAgZm9udC1mYW1pbHk6ICRzci1mb250LXNlcmlmO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAkcHJpbWFyeTtcbiAgdHJhbnNpdGlvbjogY29sb3IgLjNzO1xufVxuXG4uY2hhcGl0cmUtc3RlcC10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gIGNvbG9yOiAkcGktYXNoO1xuXG4gIHN0cm9uZyB7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICRkYXJrO1xuICB9XG59XG5cbi5jaGFwaXRyZS1jdGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMjRweDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgbWluLWhlaWdodDogNDYwcHg7XG4gIHBhZGRpbmc6IGNsYW1wKDI4cHgsIDR2dywgNTZweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNjBkZWcsICRzZWNvbmRhcnkgMCUsICRwcmltYXJ5IDQ1JSwgIzAwNGY3ZCAxMDAlKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxNDAlIDE0MCU7XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAxLjJzICRwaS1lYXNlO1xuXG4gIC8vIGZpbGlncmFuZSA6IHN5bWJvbGUgZHUgbG9nbyBkZSBsYSBtYXJxdWVcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNjBweDtcbiAgICByaWdodDogLTgwcHg7XG4gICAgei1pbmRleDogLTE7XG4gICAgd2lkdGg6IDM4MHB4O1xuICAgIGhlaWdodDogMjgwcHg7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMzglIDAsIDUwJSAyMiUsIDYyJSAwLCAxMDAlIDAsIDUwJSAxMDAlKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAuMDgpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zbGF0ZSAxLjJzICRwaS1lYXNlLCByb3RhdGUgMS4ycyAkcGktZWFzZTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByb3RhdGU6IC02ZGVnO1xuICAgICAgdHJhbnNsYXRlOiAtMzBweCAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uY2hhcGl0cmUtY3RhLXRleHQge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiAkc3ItZm9udC1zZXJpZjtcbiAgZm9udC1zaXplOiBjbGFtcCgyNnB4LCAyLjR2dywgMzZweCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHRleHQtd3JhcDogYmFsYW5jZTtcbn1cblxuLmNoYXBpdHJlLWN0YS1hY3Rpb25zIHtcbiAgZ2FwOiAxMHB4O1xufVxuXG4vLyAtLS0gYmFuZGUgcGhvdG8gcGxlaW5lIGxhcmdldXIgKGJvcmQgw6AgYm9yZCwgZ291dHRpw6hyZXMgZHUgaGVybyksIGNhZHJlIHF1aSBzJ291dnJlIGF1IGTDqWZpbGVtZW50ICgtLWJhbmQtaW5zZXQpXG4uY2hhcGl0cmUtYmFuZCB7XG4gIC0tYmFuZC1pbnNldDogMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXG4gIC0tcGktZ3V0dGVyOiAjeyRwaS1ndXR0ZXJ9O1xuICB3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLXBpLWd1dHRlcikgKiAyKTtcbiAgbWluLWhlaWdodDogY2xhbXAoMzYwcHgsIDQydncsIDgyMHB4KTsgLy8gcHJvY2hlIGR1IDI6MSBkZXMgcGhvdG9zIGQnb3JpZ2luZSAoMTYwMCDDlyA4MDApXG4gIG1hcmdpbjogMCAwIDAgY2FsYyg1MCUgLSA1MHZ3ICsgdmFyKC0tcGktZ3V0dGVyKSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXAtcGF0aDogaW5zZXQodmFyKC0tYmFuZC1pbnNldCkgcm91bmQgMTJweCk7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGJhY2tncm91bmQ6ICRkYXJrO1xuICBpc29sYXRpb246IGlzb2xhdGU7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG59XG5cbi5jaGFwaXRyZS1iYW5kLWZyYW1lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgei1pbmRleDogLTI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jaGFwaXRyZS1iYW5kLXNoYWRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgei1pbmRleDogLTE7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoJGRhcmssIDApIDMwJSwgcmdiYSgkZGFyaywgLjg1KSAxMDAlKTtcbn1cblxuLmNoYXBpdHJlLWJhbmQtY29udGVudCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoI3tcIm1pbigxMDAlLCAzNjBweClcIn0sIDFmcikpO1xuICBnYXA6IDI0cHg7XG4gIGFsaWduLWl0ZW1zOiBlbmQ7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC0tcGktcGFkOiBjbGFtcCgyNHB4LCA0dncsIDY0cHgpO1xuICBtYXgtd2lkdGg6IGNhbGMoMTYwMHB4ICsgdmFyKC0tcGktcGFkKSAqIDIpO1xuICBwYWRkaW5nOiB2YXIoLS1waS1wYWQpO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmNoYXBpdHJlLWJhbmQtcXVvdGUge1xuICBtYXgtd2lkdGg6IDE4Y2g7XG4gIGZvbnQtZmFtaWx5OiAkc3ItZm9udC1zZXJpZjtcbiAgZm9udC1zaXplOiBjbGFtcCgyOHB4LCAzLjJ2dywgNTJweCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gIGxldHRlci1zcGFjaW5nOiAtLjAxZW07XG5cbiAgZW0ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBjb2xvcjogJHBpLXNreTtcbiAgfVxufVxuXG4uY2hhcGl0cmUtYmFuZC1jaGlwIHtcbiAganVzdGlmeS1zZWxmOiBlbmQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIC45Mik7XG59XG5cbi8vID09PSAwNCDigJQgQVVUUkVTIFNPTFVUSU9OUyA6IHBhbm5lYXUgZGVzIGV4cGVydGlzZXMgZGUgbGEgSFAgKHRleHR1cmUgKyBjYXJyb3VzZWwpXG4uc29sdXRpb25zLXBhbmVsLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IGNsYW1wKDI4cHgsIDIuNHZ3LCAzOHB4KTtcbn1cblxuLy8gPT09IDA1IOKAlCBFTiBJTUFHRVMgLyBSw4lBTElTQVRJT05TIDogbW9zYcOvcXVlIChjb21wb25lbnRzL3NyLWdhbGxlcnkudHdpZykg4oCUIGdyaWxsZSBkZW5zZSwgcG9ydHJhaXQgc3VyIHRyb2lzIHJhbmfDqWVzLFxuLy8gcGF5c2FnZSBzdXIgZGV1eCwgdW5lIHBob3RvIGxhcmdlIGRlIHRlbXBzIGVuIHRlbXBzIDsgem9vbSwgbMOpZ2VuZGUgZXQgbG91cGUgYXUgc3Vydm9sIDsgdmlzaW9ubmV1c2UgcGxlaW4gw6ljcmFuXG4uY2hhbnRpZXJzLXNoZWxsLFxuLnJlYWwtc2hlbGwge1xuICBnYXA6IGNsYW1wKDI4cHgsIDN2dywgNDRweCk7XG59XG5cbi5jaGFudGllcnMtaGVhZCxcbi5yZWFsLWhlYWQge1xuICBnYXA6IDIwcHg7XG59XG5cbi5zci1nYWxsZXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAyOHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uc3ItZ2FsbGVyeS1ncmlkIHtcbiAgLS1yb3c6IGNsYW1wKDkwcHgsIDh2dywgMTUwcHgpO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdyaWQtYXV0by1yb3dzOiB2YXIoLS1yb3cpO1xuICBncmlkLWF1dG8tZmxvdzogZGVuc2U7XG4gIGdhcDogMTJweDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7XG4gIH1cbn1cblxuLy8gwqsgRW4gaW1hZ2VzIMK7IGRlcyBwcmVzdGF0aW9ucyA6IG1vaW5zIGRlIHBob3RvcywgcmFuZ8OpZXMgcGx1cyBoYXV0ZXNcbi5zci1nYWxsZXJ5LmlzLWNvbXBhY3QgLnNyLWdhbGxlcnktZ3JpZCB7XG4gIC0tcm93OiBjbGFtcCgxMDBweCwgOXZ3LCAxNzBweCk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcbiAgfVxufVxuXG4uc3ItZ2FsbGVyeS1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBncmlkLXJvdzogc3BhbiAyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJHdoaXRlO1xuICBiYWNrZ3JvdW5kOiAjZTJlMGQ5O1xuICBpc29sYXRpb246IGlzb2xhdGU7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG5cbiAgJi5pcy1wb3J0cmFpdCB7XG4gICAgZ3JpZC1yb3c6IHNwYW4gMztcbiAgfVxuXG4gICYuaXMtd2lkZSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgZ3JpZC1yb3c6IHNwYW4gMztcbiAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gICAgfVxuICB9XG5cbiAgLy8gLnNyLWdhbGxlcnkgZW4gcHLDqWZpeGUgOiBsZSBtb2R1bGUgaW1hZ2VHYWxsZXJ5IGQnQWxwaGEgaW1wb3NlIGRpc3BsYXk6IGZsZXggw6AgYVtkYXRhLWxnLWlkXSAocGx1cyBzcMOpY2lmaXF1ZSBxdWVcbiAgLy8gLnNyLWdhbGxlcnktaXRlbS5pcy1oaWRkZW4pIGTDqHMgcXVlIGxhIHZpc2lvbm5ldXNlIGVzdCBjaGFyZ8OpZSwgZXQgbGVzIHBob3RvcyBmaWx0csOpZXMgcsOpYXBwYXJhaXNzYWllbnRcbiAgLnNyLWdhbGxlcnkgJi5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBkw6lncmFkw6kgKyBsw6lnZW5kZSArIGxvdXBlIGF1IHN1cnZvbFxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKCRkYXJrLCAwKSA0NSUsIHJnYmEoJGRhcmssIC44MikgMTAwJSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyAkcGktZWFzZTtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICY6OmFmdGVyLFxuICAgIC5zci1nYWxsZXJ5LWNhcHRpb24sXG4gICAgLnNyLWdhbGxlcnktem9vbSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNsYXRlOiAwIDA7XG4gICAgfVxuXG4gICAgLnNyLWdhbGxlcnktaW1hZ2UgaW1nIHtcbiAgICAgIHNjYWxlOiAxLjA3O1xuICAgIH1cbiAgfVxufVxuXG4uc3ItZ2FsbGVyeS1pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG5cbiAgJixcbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICBpbWcge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHRyYW5zaXRpb246IHNjYWxlIDEuMnMgJHBpLWVhc2U7XG4gIH1cbn1cblxuLnNyLWdhbGxlcnktY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE2cHg7XG4gIGJvdHRvbTogMTRweDtcbiAgbGVmdDogMTZweDtcbiAgei1pbmRleDogMjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4zNTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgJHBpLWVhc2UsIHRyYW5zbGF0ZSAuNXMgJHBpLWVhc2U7XG4gIHRyYW5zbGF0ZTogMCAxMHB4O1xufVxuXG4uc3ItZ2FsbGVyeS16b29tIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEycHg7XG4gIHJpZ2h0OiAxMnB4O1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgY29sb3I6ICRwcmltYXJ5O1xuICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgLjk0KTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgJHBpLWVhc2UsIHRyYW5zbGF0ZSAuNHMgJHBpLWVhc2U7XG4gIHRyYW5zbGF0ZTogMCAtOHB4O1xufVxuXG4uc3ItZ2FsbGVyeS1tb3JlW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBmaWx0cmVzIGRlIGxhIHBhZ2UgUsOpYWxpc2F0aW9uc1xuLnJlYWwtZmlsdGVycyB7XG4gIGdhcDogNnB4O1xufVxuXG4ucmVhbC1maWx0ZXIge1xuICAtLWJzLWJ0bi1iZzogI3skd2hpdGV9O1xuICAtLWJzLWJ0bi1jb2xvcjogI3skZGFya307XG4gIC0tYnMtYnRuLWJvcmRlci1jb2xvcjogI2Q5ZDZjZTtcbiAgLS1icy1idG4taG92ZXItYmc6ICNlYWU4ZTE7XG4gIC0tYnMtYnRuLWhvdmVyLWNvbG9yOiAjeyRkYXJrfTtcbiAgLS1icy1idG4taG92ZXItYm9yZGVyLWNvbG9yOiAjZDlkNmNlO1xuXG4gIHNwYW4ge1xuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBvcGFjaXR5OiAuNTU7XG4gIH1cblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgLS1icy1idG4tYmc6ICN7JGRhcmt9O1xuICAgIC0tYnMtYnRuLWNvbG9yOiAjeyR3aGl0ZX07XG4gICAgLS1icy1idG4tYm9yZGVyLWNvbG9yOiAjeyRkYXJrfTtcbiAgICAtLWJzLWJ0bi1ob3Zlci1iZzogI3skZGFya307XG4gICAgLS1icy1idG4taG92ZXItY29sb3I6ICN7JHdoaXRlfTtcbiAgICAtLWJzLWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JGRhcmt9O1xuICB9XG59XG5cbi8vID09PSAwNiDigJQgRkFRIDogdGl0cmUgY29sbGFudCDDoCBnYXVjaGUsIHF1ZXN0aW9ucyBlbiB1bmUgY29sb25uZSDDoCBkcm9pdGVcbi5mYXEtc3BsaXQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KCN7XCJtaW4oMTAwJSwgNDIwcHgpXCJ9LCAxZnIpKTtcbiAgZ2FwOiBjbGFtcCgzMnB4LCA1dncsIDk2cHgpO1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG59XG5cbi5mYXEtc3BsaXQtaGVhZCB7XG4gIGdhcDogMThweDtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDEyMHB4O1xuICB9XG59XG5cbi5mYXEtc3BsaXQtaGVscCB7XG4gIG1heC13aWR0aDogNDIwcHg7XG4gIGZvbnQtc2l6ZTogMTdweDtcblxuICBhIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbn1cblxuLmZhcS1saXN0IHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgZ2FwOiA4cHg7XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMzVzLCBib3gtc2hhZG93IC4zNXMsIHRyYW5zbGF0ZSAuMzVzICRwaS1lYXNlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkcHJpbWFyeSwgLjQpO1xuICAgICAgdHJhbnNsYXRlOiA0cHggMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gPT09IDA3IOKAlCBNQUlMTEFHRSA6IGxpZW5zIHZlcnMgbGEgZ2FtbWUsIHpvbmUgZCdpbnRlcnZlbnRpb25cbiNtYWlsbGFnZSB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2VsZWN0b3ItbWF4LWlkXG4gIHBhZGRpbmctdG9wOiBjbGFtcCg1NnB4LCA3dncsIDg4cHgpO1xufVxuXG4ubWFpbGxhZ2UtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoI3tcIm1pbigxMDAlLCAzODBweClcIn0sIDFmcikpO1xuICBnYXA6IDMycHggY2xhbXAoMzJweCwgNXZ3LCA5NnB4KTtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDlkNmNlO1xufVxuXG4ubWFpbGxhZ2UtdGV4dCB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBsaW5lLWhlaWdodDogMS43NTtcbiAgY29sb3I6ICRwaS1hc2g7XG4gIHRleHQtd3JhcDogcHJldHR5O1xuXG4gIGEge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICRwcmltYXJ5O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGRhcms7XG4gICAgfVxuICB9XG59XG5cbi5tYWlsbGFnZS16b25lcyB7XG4gIGdhcDogMTRweDtcbn1cblxuLm1haWxsYWdlLWxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAkcGktYXNoO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogLjI0ZW07XG59XG5cbi5tYWlsbGFnZS1jaGlwIHtcbiAgcGFkZGluZzogMTBweCAxNHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAkZGFyaztcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzLCBjb2xvciAuM3MsIHRyYW5zbGF0ZSAuM3MgJHBpLWVhc2U7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcbiAgICB0cmFuc2xhdGU6IDAgLTJweDtcbiAgfVxuXG4gICYuaXMtbGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5pcy1kYXJrIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJhY2tncm91bmQ6ICRkYXJrO1xuICB9XG59XG5cbi8vID09PSBSRVDDiFJFIMKrIENIQVBJVFJFIEVOIENPVVJTIMK7IChhc3NldHMvanMvY29tcG9uZW50cy9zci1pbm5lci1wYWdlLmpzKSA6IHBhc3RpbGxlIGZsb3R0YW50ZSBlbiBiYXMgw6AgZ2F1Y2hlLFxuLy8gbnVtw6lybyArIHRpdHJlICsgcHJvZ3Jlc3Npb24gOyBhdSBjbGljLCBzb21tYWlyZSBkZXMgY2hhcGl0cmVzXG4uY2hhcHRlci1uYXYge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogMjBweDtcbiAgei1pbmRleDogMTA0MDtcbiAgd2lkdGg6ICN7XCJtaW4oMzQwcHgsIGNhbGMoMTAwdncgLSAyMDBweCkpXCJ9O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgJHBpLWVhc2UsIHRyYW5zbGF0ZSAuNXMgJHBpLWVhc2U7XG4gIHRyYW5zbGF0ZTogMCAyNHB4O1xuXG4gICYuaXMtdmlzaWJsZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDAgMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMTkwcHgpO1xuICB9XG59XG5cbi5jaGFwdGVyLW5hdi10b2dnbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTtcbiAgZ2FwOiAxMnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTJweCAxNnB4IDE2cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogcmdiYSgkZGFyaywgLjkyKTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICBib3gtc2hhZG93OiAwIDE4cHggNDBweCAtMThweCByZ2JhKCRkYXJrLCAuNik7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuM3M7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGRhcms7XG4gIH1cbn1cblxuLmNoYXB0ZXItbmF2LW51bSB7XG4gIGZvbnQtZmFtaWx5OiAkc3ItZm9udC1zZXJpZjtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogJHBpLXNreTtcbn1cblxuLmNoYXB0ZXItbmF2LXRpdGxlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNoYXB0ZXItbmF2LWJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE2cHg7XG4gIGJvdHRvbTogOHB4O1xuICBsZWZ0OiAxNnB4O1xuICBoZWlnaHQ6IDJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIC4xNik7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcblxuICBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAuMnMgbGluZWFyO1xuICB9XG59XG5cbi5jaGFwdGVyLW5hdi1saXN0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IGNhbGMoMTAwJSArIDhweCk7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiA2MHZoO1xuICBwYWRkaW5nOiA4cHg7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gIGJveC1zaGFkb3c6IDAgMjRweCA2MHB4IC0yNHB4IHJnYmEoJGRhcmssIC40NSk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjM1cyAkcGktZWFzZSwgdHJhbnNsYXRlIC4zNXMgJHBpLWVhc2U7XG4gIHRyYW5zbGF0ZTogMCAxMHB4O1xuXG4gIC5pcy1vcGVuICYge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNsYXRlOiAwIDA7XG4gIH1cblxuICAuY2hhcHRlci1uYXYtbGluayB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI4cHggbWlubWF4KDAsIDFmcik7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICBjb2xvcjogJGRhcms7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4yNXMsIGNvbG9yIC4yNXM7XG5cbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkc3ItZm9udC1zZXJpZjtcbiAgICAgIGNvbG9yOiAjYTNhOGFkO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJlthcmlhLWN1cnJlbnQ9XCJzdGVwXCJdIHtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgIGJhY2tncm91bmQ6ICNlZWY2ZmI7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vID09PSBHQU1NRSAocGFnZXMgUGFydGljdWxpZXJzIC8gUHJvZmVzc2lvbm5lbHMgOiBzcmMvaW5jL3BhZ2VzL2dhbW1lLnBocCkg4oCUIHRvdXRlcyBsZXMgcHJlc3RhdGlvbnMgZGUgbCdlc3BhY2UgZW5cbi8vIGNhcnRlcyBwaG90byAodGVhc2VzLXN0YXRpYy90ZWFzZS1leHBlcnRpc2UudHdpZyksIGxhIHByZW1pw6hyZSBlbiBncmFuZCBzdXIgZGV1eCBjb2xvbm5lcyBldCBkZXV4IHJhbmfDqWVzXG4uZ2FtbWUtc2hlbGwge1xuICBnYXA6IGNsYW1wKDI4cHgsIDN2dywgNDRweCk7XG59XG5cbi5nYW1tZS1oZWFkIHtcbiAgZ2FwOiAyMHB4O1xufVxuXG4uZ2FtbWUtYXNpZGUge1xuICBnYXA6IDE2cHg7XG59XG5cbi5nYW1tZS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoI3tcIm1pbigxMDAlLCAyODBweClcIn0sIDFmcikpO1xuICBncmlkLWF1dG8tcm93czogbWlubWF4KDM0MHB4LCBhdXRvKTtcbiAgZ2FwOiAxMnB4O1xuICBtYXJnaW46IDA7XG5cbiAgLnRlYXNlLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLmV4cGVydGlzZS1jYXJkLFxuICAuZXhwZXJ0aXNlLWxpbmsge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5leHBlcnRpc2UtbGluayB7XG4gICAgbWluLWhlaWdodDogMzQwcHg7XG5cbiAgICAmOmhvdmVyIC5leHBlcnRpc2UtaW1hZ2UgaW1nIHtcbiAgICAgIHNjYWxlOiAxLjA2O1xuICAgIH1cbiAgfVxuXG4gIC5leHBlcnRpc2UtaW1hZ2UgaW1nIHtcbiAgICB0cmFuc2l0aW9uOiBzY2FsZSAxLjJzICRwaS1lYXNlO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcblxuICAgIC50ZWFzZS1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIGdyaWQtcm93OiBzcGFuIDI7XG4gICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuXG4gICAgICAuZXhwZXJ0aXNlLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgzMHB4LCAyLjZ2dywgNDJweCk7XG4gICAgICB9XG5cbiAgICAgIC5leHBlcnRpc2UtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsIHh4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEBpZiBub3QgJG4ge1xuICAgIEBlcnJvciBcImJyZWFrcG9pbnQgYCN7JG5hbWV9YCBub3QgZm91bmQgaW4gYCN7JGJyZWFrcG9pbnRzfWBcIjtcbiAgfVxuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyByZWR1Y2VkIGJ5IDAuMDJweCB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2Zcbi8vIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgobWQsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtYXggYW5kICRtYXggPiAwLCAkbWF4IC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiAgYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6ICBicmVha3BvaW50LW1heCgkbmV4dCwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/