@charset "UTF-8";
/* Static legacy rules migrated from Fenom. Dynamic :root remains in base.style.tpl. */
.header {
  z-index: 30;
  color: var(--gentimed-ink);
  border-bottom: 1px solid var(--gentimed-line);
  -webkit-box-shadow: 0 8px 24px rgba(25, 139, 196, 0.08);
          box-shadow: 0 8px 24px rgba(25, 139, 196, 0.08);
}
.header .logo {
  --logo-gap: 0.875rem;
  --logo-text-color: var(--gentimed-ink-muted);
  -webkit-box-align: start !important;
      -ms-flex-align: start !important;
          align-items: start !important;
}
.header-primary__cluster_left {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 30rem;
          flex: 0 1 30rem;
  min-width: 0;
}
.header-primary__cluster_center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 1 21rem;
          flex: 0 1 21rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.2rem;
  min-width: 0;
  margin-left: clamp(2.25rem, 4vw, 4rem);
}
.header-primary__cluster_center .header-primary__link {
  color: var(--gentimed-ink);
  font-size: 0.875rem;
  line-height: 1.35;
  white-space: nowrap;
}
.header-primary__cluster_right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
  margin-left: auto;
  min-width: 0;
}
.header-primary__cluster_right .header-primary__link {
  white-space: nowrap;
}
.header-primary__cluster_right .social-list {
  width: auto;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 0.375rem;
}
.header-primary__cluster_right .social-list_small .button.button_social {
  --button-icon-size: 1.25rem;
}
@media (max-width: 1300px) {
  .header .logo__text {
    max-width: 17rem;
  }
  .header-primary__cluster_center {
    -ms-flex-preferred-size: 19rem;
        flex-basis: 19rem;
    margin-left: 2rem;
  }
}
@media (max-width: 1160px) {
  .header-primary__cluster_center {
    display: none;
  }
  .header-primary__cluster_right .social-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media (max-width: 640px) {
  .header-primary__cluster_right .social-list {
    display: none;
  }
}
.logo__type {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.05rem;
  min-width: 8.25rem;
  height: auto;
  color: var(--gentimed-blue);
  line-height: 1;
  text-decoration: none;
}
.logo__type-main {
  display: block;
  color: var(--gentimed-blue);
  font-size: clamp(1.25rem, 1.1rem + 0.32vw, 1.625rem);
  font-weight: 800;
  letter-spacing: 0;
}
.logo__type-accent {
  color: var(--gentimed-green);
}
.logo__type-sub {
  display: block;
  color: var(--gentimed-ink);
  font-size: clamp(0.62rem, 0.56rem + 0.14vw, 0.75rem);
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.header .logo__text {
  color: var(--gentimed-ink-muted);
  max-width: clamp(15rem, 18vw, 17rem);
  font-size: 0.875rem;
  line-height: 1.35;
  text-wrap: balance;
}
.header .nav {
  --nav-link-color: var(--gentimed-ink);
  --nav-link-color-hover: var(--gentimed-blue);
  --nav-icon-color: var(--gentimed-ink-muted);
  --nav-icon-color-hover: var(--gentimed-green);
  --nav-sub-list-background-color: #FFFFFF;
  --nav-sub-link-color: var(--gentimed-ink);
  --nav-sub-link-color-hover: var(--gentimed-blue);
  --nav-sub-link-background-color-hover: var(--gentimed-blue-soft);
  --nav-sub-icon-color: var(--gentimed-ink-muted);
  --nav-sub-icon-color-hover: var(--gentimed-green);
}
.header .nav__list .nav__list {
  z-index: 40;
  background-color: #FFFFFF;
  border: 1px solid var(--gentimed-line);
  -webkit-box-shadow: 0 18px 44px rgba(25, 139, 196, 0.14);
          box-shadow: 0 18px 44px rgba(25, 139, 196, 0.14);
}
.header-primary__link,
.header-secondary__button.button.button_secondary,
.mobile-menu__button.button.button_secondary {
  --button-text-color: var(--gentimed-ink);
  --button-text-color-hover: #FFFFFF;
  --button-icon-color: var(--gentimed-blue);
  --button-icon-color-hover: #FFFFFF;
  --button-border-color: rgba(25, 139, 196, 0.48);
  --button-border-color-hover: var(--gentimed-blue);
  --button-bg-color-hover: var(--gentimed-blue);
}
.button:not(.button_secondary):not(.button_tertiary):not(.button_social) {
  --button-bg-color: var(--gentimed-blue);
  --button-bg-color-hover: var(--gentimed-green);
  --button-text-color: #FFFFFF;
  --button-text-color-hover: #FFFFFF;
  --button-icon-color: #FFFFFF;
  --button-icon-color-hover: #FFFFFF;
}
.header-primary__cluster_right .social-list.social-list_small {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  margin-right: 0.125rem;
  opacity: 1 !important;
  visibility: visible !important;
}
.header-primary__cluster_right .social-list_small .button.button_social {
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2.75rem !important;
  height: 2.75rem !important;
  min-width: 2.75rem !important;
  min-height: 2.75rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: var(--radius-btn) !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: #FFFFFF !important;
  background-color: var(--button-bg-color) !important;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-transition: background-color 160ms ease, opacity 160ms ease, -webkit-transform 160ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: background-color 160ms ease, opacity 160ms ease, -webkit-transform 160ms cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 160ms cubic-bezier(0.23, 1, 0.32, 1), background-color 160ms ease, opacity 160ms ease;
  transition: transform 160ms cubic-bezier(0.23, 1, 0.32, 1), background-color 160ms ease, opacity 160ms ease, -webkit-transform 160ms cubic-bezier(0.23, 1, 0.32, 1);
}
.header-primary__cluster_right .social-list_small .button.button_social:hover {
  -webkit-transform: translateY(-1px);
      -ms-transform: translateY(-1px);
          transform: translateY(-1px);
}
.header-primary__cluster_right .social-list_small .button.button_social:active {
  -webkit-transform: scale(0.96);
      -ms-transform: scale(0.96);
          transform: scale(0.96);
}
.header-primary__cluster_right .social-list_small .button.button_social .icon {
  display: block !important;
  width: 1.25rem !important;
  height: 1.25rem !important;
  color: #FFFFFF !important;
  fill: currentColor !important;
  stroke: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.header-primary__cluster_right .social-list_small .button.button_social_whatsapp {
  --button-bg-color: #25D366 !important;
  --button-bg-color-hover: #20C763 !important;
  --button-border-color: #25D366 !important;
  --button-border-color-hover: #20C763 !important;
  --button-icon-color: #FFFFFF !important;
  --button-icon-color-hover: #FFFFFF !important;
  background-color: #25D366 !important;
}
.header-primary__cluster_right .social-list_small .button.button_social_whatsapp:hover {
  background-color: #20C763 !important;
}
.header-primary__cluster_right .social-list_small .button.button_social_telegram {
  --button-bg-color: #229ED9 !important;
  --button-bg-color-hover: #1C95CE !important;
  --button-border-color: #229ED9 !important;
  --button-border-color-hover: #1C95CE !important;
  --button-icon-color: #FFFFFF !important;
  --button-icon-color-hover: #FFFFFF !important;
  background-color: #229ED9 !important;
}
.header-primary__cluster_right .social-list_small .button.button_social_telegram:hover {
  background-color: #1C95CE !important;
}
.button.button_social_whatsapp {
  --button-bg-color: #25D366;
  --button-bg-color-hover: #20C763;
  --button-border-color: #25D366;
  --button-border-color-hover: #20C763;
  --button-icon-color: #FFFFFF;
  --button-icon-color-hover: #FFFFFF;
}
.button.button_social_telegram {
  --button-bg-color: #229ED9;
  --button-bg-color-hover: #1C95CE;
  --button-border-color: #229ED9;
  --button-border-color-hover: #1C95CE;
  --button-icon-color: #FFFFFF;
  --button-icon-color-hover: #FFFFFF;
}
.button.button_secondary {
  --button-border-color: rgba(25, 139, 196, 0.48);
  --button-border-color-hover: var(--gentimed-blue);
  --button-text-color: var(--gentimed-ink);
  --button-text-color-hover: var(--gentimed-blue);
  --button-icon-color: var(--gentimed-blue);
  --button-icon-color-hover: var(--gentimed-green);
}
.front-banner .regular-form,
.cta-section-t3 .regular-form {
  background-color: #FFFFFF;
  -webkit-box-shadow: 0 1px 0 rgba(25, 139, 196, 0.1), 0 12px 26px rgba(10, 10, 10, 0.06);
          box-shadow: 0 1px 0 rgba(25, 139, 196, 0.1), 0 12px 26px rgba(10, 10, 10, 0.06);
}
.magic-cookie,
.magic-cookie.magic-cookie_left {
  position: fixed;
  right: auto;
  bottom: max(1rem, env(safe-area-inset-bottom));
  left: 50%;
  z-index: 220;
  width: min(100vw - 2rem, 940px);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 1.125rem 3.5rem 1.125rem 1.375rem;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  color: var(--gentimed-ink);
  background-color: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(25, 139, 196, 0.18);
  border-radius: 12px;
  -webkit-box-shadow: 0 6px 8px rgba(25, 139, 196, 0.08), 0 1px 2px rgba(10, 10, 10, 0.08);
          box-shadow: 0 6px 8px rgba(25, 139, 196, 0.08), 0 1px 2px rgba(10, 10, 10, 0.08);
  -webkit-backdrop-filter: blur(12px) saturate(1.08);
          backdrop-filter: blur(12px) saturate(1.08);
  font-size: 0.875rem;
  line-height: 1.45;
}
.magic-cookie .magic-cookie__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.25rem;
  width: 100%;
}
.magic-cookie .magic-cookie__content > div {
  max-width: 78ch;
  color: var(--gentimed-ink-muted);
  text-wrap: pretty;
}
.magic-cookie__link {
  color: var(--gentimed-blue);
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(25, 139, 196, 0.32);
  -webkit-transition: color 180ms ease, border-color 180ms ease;
  transition: color 180ms ease, border-color 180ms ease;
}
.magic-cookie__link:hover {
  color: var(--gentimed-green);
  border-bottom-color: rgba(46, 173, 111, 0.42);
}
.magic-cookie .button {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-width: 7.25rem;
  min-height: 2.75rem;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.magic-cookie .magic-cookie__close {
  position: absolute;
  top: 0.75rem;
  right: 0.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 1.5rem;
  height: 1.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 999px;
  background-color: transparent;
  cursor: pointer;
  opacity: 0.72;
  -webkit-transition: opacity 180ms ease, background-color 180ms ease;
  transition: opacity 180ms ease, background-color 180ms ease;
}
.magic-cookie .magic-cookie__close:hover {
  opacity: 1;
  background-color: rgba(25, 139, 196, 0.08);
}
.magic-cookie .magic-cookie__close::before,
.magic-cookie .magic-cookie__close::after {
  width: 0.75rem;
  height: 1.5px;
  background-color: var(--gentimed-ink);
}
@media (max-width: 768px) {
  .magic-cookie,
  .magic-cookie.magic-cookie_left {
    width: min(100vw - 1.5rem, 42rem);
    padding: 1.125rem;
    padding-top: 2.25rem;
  }
  .magic-cookie .magic-cookie__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 1rem;
  }
  .magic-cookie .magic-cookie__content > div {
    max-width: none;
  }
  .magic-cookie .button {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media (max-width: 430px) {
  .magic-cookie,
  .magic-cookie.magic-cookie_left {
    bottom: 0;
    width: 100vw;
    max-width: 100vw;
    padding: 2.25rem 1rem 1rem;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 12px 12px 0 0;
  }
  .magic-cookie .button {
    width: 100%;
  }
}
.footer {
  color: var(--gentimed-ink);
  border-top: 1px solid var(--gentimed-line);
}
.footer a:not(.button):not(.footer__made-by) {
  color: inherit;
}
.footer .button {
  --button-text-color: #FFFFFF;
  --button-text-color-hover: #FFFFFF;
  --button-icon-color: #FFFFFF;
  --button-icon-color-hover: #FFFFFF;
}
@media (max-width: 1280px) {
  .header .logo {
    --logo-gap: 0.875rem;
  }
  .header .logo__text {
    max-width: clamp(14rem, 22vw, 18rem);
  }
}
@media (max-width: 1024px) {
  .header .logo__text {
    max-width: 15rem;
  }
  .header-primary__email,
  .header-primary__address {
    display: none;
  }
}
@media (max-width: 768px) {
  .header-primary__contacts {
    display: none;
  }
}
@media (max-width: 630px) {
  .logo__type {
    min-width: 8.75rem;
  }
  .logo__type-main {
    font-size: 1.25rem;
  }
  .logo__type-sub {
    font-size: 0.625rem;
  }
}
.about-section-t2 .advantages-about {
  background-color: #e9f1f6;
}
#constructor_block_2 .about-section__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 1.6vw, 1.5rem);
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.about-section-t2 .advantages-about {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: 100%;
  padding: clamp(1.5rem, 1.9vw, 2rem) !important;
  border: 0 !important;
  border-radius: 14px !important;
  background-color: #e9f1f6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: clamp(1.5rem, 2vw, 2rem);
}
.about-section-t2 .advantages-about::before,
.about-section-t2 .advantages-about::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
}
.about-section-t2 .advantages-about__title,
.about-section-t2 .advantages-about__description {
  margin-left: 0;
  margin-right: 0;
}
.about-section-t2 .advantages-about__title {
  margin-top: 0;
}
.about-section-t2 .advantages-about__description {
  margin-bottom: 0;
}
@media (max-width: 960px) {
  #constructor_block_2 .about-section__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem !important;
    row-gap: 1rem !important;
  }
  #constructor_block_2 .about-section__list > .advantages-about + .advantages-about {
    margin-top: 1rem !important;
  }
}
@media (max-width: 560px) {
  #constructor_block_2 .about-section__list {
    grid-template-columns: 1fr;
    gap: 1rem !important;
    row-gap: 1rem !important;
  }
  #constructor_block_2 .about-section__list > .advantages-about + .advantages-about {
    margin-top: 1rem !important;
  }
}
#constructor_block_3.section:not(.cta-section-t3) {
  padding-top: clamp(5rem, 7vw, 7.5rem);
  padding-bottom: clamp(5rem, 7vw, 7.5rem);
}
#constructor_block_3:not(.cta-section-t3) > .container {
  row-gap: clamp(2rem, 3vw, 3.25rem);
}
#constructor_block_3:not(.cta-section-t3) .section__head {
  margin-bottom: 0;
}
#constructor_block_3:not(.cta-section-t3) .section__content,
#constructor_block_3:not(.cta-section-t3) .swiper {
  overflow: visible;
}
#constructor_block_3 .swiper-wrapper {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
#constructor_block_3 .advantages-card {
  height: 100%;
}
@media (max-width: 630px) {
  #constructor_block_3.section:not(.cta-section-t3) {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  #constructor_block_3:not(.cta-section-t3) > .container {
    row-gap: 1.75rem;
  }
}
#constructor_block_4 .services-card {
  -webkit-transition: background-color 220ms ease, border-color 220ms ease, -webkit-transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: background-color 220ms ease, border-color 220ms ease, -webkit-transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: background-color 220ms ease, border-color 220ms ease, transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: background-color 220ms ease, border-color 220ms ease, transform 220ms cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}
#constructor_block_4 .services-card:focus-within {
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
}
#constructor_block_5 .audience-route-card:focus-within {
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
}
#constructor_block_4 .services-card:hover, #constructor_block_5 .audience-route-card:hover {
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
}
@media (hover: hover) and (pointer: fine) {
  #constructor_block_5 .audience-route-card:hover {
    -webkit-transform: translateY(-0.25rem);
        -ms-transform: translateY(-0.25rem);
            transform: translateY(-0.25rem);
  }
  #constructor_block_5 .audience-route-card:hover .audience-route-card__image img {
    -webkit-transform: scale(1.045);
        -ms-transform: scale(1.045);
            transform: scale(1.045);
  }
  #constructor_block_4 .services-card:focus-within {
    background-color: #FFFFFF;
    border-color: rgba(25, 139, 196, 0.36);
  }
  #constructor_block_4 .services-card:hover {
    background-color: #FFFFFF;
    border-color: rgba(25, 139, 196, 0.36);
  }
}
#constructor_block_8 > .container {
  row-gap: clamp(1.5rem, 2vw, 2rem);
}
#constructor_block_8 .section__head {
  margin-bottom: 0;
}
#constructor_block_8 .section__content,
#constructor_block_8 .swiper {
  overflow: visible;
}
#constructor_block_8 .section__content {
  margin-top: clamp(2rem, 3vw, 3.5rem);
}
#constructor_block_8 .swiper-wrapper {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 1.2vw, 1.5rem);
  width: 100% !important;
  height: auto !important;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
}
#constructor_block_8 .swiper-slide {
  width: auto !important;
  height: auto !important;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
  margin: 0 !important;
}
#constructor_block_8 .advantages-card {
  position: relative;
  width: 100%;
  min-height: clamp(18.25rem, 21vw, 22.25rem);
  padding: clamp(1.5rem, 1.55vw, 2rem);
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  overflow: hidden;
  background-color: #F3F5F8;
  border: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  isolation: isolate;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  -webkit-animation: gentimed-trust-card-in 520ms cubic-bezier(0.16, 1, 0.3, 1) both;
          animation: gentimed-trust-card-in 520ms cubic-bezier(0.16, 1, 0.3, 1) both;
  -webkit-transition: background-color 240ms cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
  transition: background-color 240ms cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
  transition: background-color 240ms cubic-bezier(0.16, 1, 0.3, 1), transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
  transition: background-color 240ms cubic-bezier(0.16, 1, 0.3, 1), transform 240ms cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}
#constructor_block_8 .advantages-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(circle at 88% 16%, rgba(25, 139, 196, 0.13), transparent 28%), linear-gradient(135deg, rgba(255, 255, 255, 0.48), rgba(255, 255, 255, 0) 46%);
  -webkit-transform: translate3d(0.625rem, -0.625rem, 0) scale(0.985);
          transform: translate3d(0.625rem, -0.625rem, 0) scale(0.985);
  -webkit-transition: opacity 260ms cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 340ms cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 260ms cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 340ms cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 260ms cubic-bezier(0.16, 1, 0.3, 1), transform 340ms cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 260ms cubic-bezier(0.16, 1, 0.3, 1), transform 340ms cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 340ms cubic-bezier(0.16, 1, 0.3, 1);
}
#constructor_block_8 .advantages-card::before {
  position: absolute;
  top: clamp(1.5rem, 1.55vw, 2rem);
  left: clamp(1.5rem, 1.55vw, 2rem);
  color: rgba(10, 10, 10, 0.38);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  z-index: 2;
}
#constructor_block_8 .swiper-slide:nth-child(1) .advantages-card::before {
  content: "01";
}
#constructor_block_8 .swiper-slide:nth-child(2) .advantages-card::before {
  content: "02";
}
#constructor_block_8 .swiper-slide:nth-child(3) .advantages-card::before {
  content: "03";
}
#constructor_block_8 .swiper-slide:nth-child(4) .advantages-card::before {
  content: "04";
}
#constructor_block_8 .swiper-slide:nth-child(5) .advantages-card::before {
  content: "05";
}
#constructor_block_8 .swiper-slide:nth-child(6) .advantages-card::before {
  content: "06";
}
#constructor_block_8 .advantages-card .icon {
  position: absolute;
  top: clamp(1.375rem, 1.45vw, 1.875rem);
  right: clamp(1.5rem, 1.55vw, 2rem);
  width: 2.125rem;
  height: 2.125rem;
  opacity: 0.9;
  -webkit-transform: translate(0, 0) scale(1);
      -ms-transform: translate(0, 0) scale(1);
          transform: translate(0, 0) scale(1);
  -webkit-transition: opacity 180ms ease, -webkit-transform 240ms cubic-bezier(0.16, 1, 0.3, 1), -webkit-filter 240ms ease;
  transition: opacity 180ms ease, -webkit-transform 240ms cubic-bezier(0.16, 1, 0.3, 1), -webkit-filter 240ms ease;
  transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1), opacity 180ms ease, filter 240ms ease;
  transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1), opacity 180ms ease, filter 240ms ease, -webkit-transform 240ms cubic-bezier(0.16, 1, 0.3, 1), -webkit-filter 240ms ease;
  will-change: transform;
  z-index: 2;
}
#constructor_block_8 .swiper-slide:nth-child(1) .advantages-card {
  -webkit-animation-delay: 40ms;
          animation-delay: 40ms;
}
#constructor_block_8 .swiper-slide:nth-child(2) .advantages-card {
  -webkit-animation-delay: 90ms;
          animation-delay: 90ms;
}
#constructor_block_8 .swiper-slide:nth-child(3) .advantages-card {
  -webkit-animation-delay: 140ms;
          animation-delay: 140ms;
}
#constructor_block_8 .swiper-slide:nth-child(4) .advantages-card {
  -webkit-animation-delay: 190ms;
          animation-delay: 190ms;
}
#constructor_block_8 .swiper-slide:nth-child(5) .advantages-card {
  -webkit-animation-delay: 240ms;
          animation-delay: 240ms;
}
#constructor_block_8 .swiper-slide:nth-child(6) .advantages-card {
  -webkit-animation-delay: 290ms;
          animation-delay: 290ms;
}
@-webkit-keyframes gentimed-trust-card-in {
  from {
    opacity: 0;
    -webkit-filter: blur(0.375rem);
            filter: blur(0.375rem);
    -webkit-transform: translateY(0.625rem);
            transform: translateY(0.625rem);
  }
  to {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes gentimed-trust-card-in {
  from {
    opacity: 0;
    -webkit-filter: blur(0.375rem);
            filter: blur(0.375rem);
    -webkit-transform: translateY(0.625rem);
            transform: translateY(0.625rem);
  }
  to {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@media (hover: hover) and (pointer: fine) {
  #constructor_block_8 .advantages-card:focus-within {
    -webkit-transform: translateY(-0.125rem) !important;
        -ms-transform: translateY(-0.125rem) !important;
            transform: translateY(-0.125rem) !important;
  }
  #constructor_block_8 .advantages-card:hover {
    -webkit-transform: translateY(-0.125rem) !important;
        -ms-transform: translateY(-0.125rem) !important;
            transform: translateY(-0.125rem) !important;
  }
  #constructor_block_8 .advantages-card:hover::after {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0) scale(1);
            transform: translate3d(0, 0, 0) scale(1);
  }
  #constructor_block_8 .advantages-card:focus-within::after {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0) scale(1);
            transform: translate3d(0, 0, 0) scale(1);
  }
  #constructor_block_8 .advantages-card:focus-within .icon {
    opacity: 1;
    -webkit-transform: translate(0.25rem, -0.25rem) scale(1.045) !important;
        -ms-transform: translate(0.25rem, -0.25rem) scale(1.045) !important;
            transform: translate(0.25rem, -0.25rem) scale(1.045) !important;
  }
  #constructor_block_8 .advantages-card:hover .icon {
    opacity: 1;
    -webkit-transform: translate(0.25rem, -0.25rem) scale(1.045) !important;
        -ms-transform: translate(0.25rem, -0.25rem) scale(1.045) !important;
            transform: translate(0.25rem, -0.25rem) scale(1.045) !important;
  }
  #constructor_block_8 .advantages-card:focus-within .advantages-card__content {
    -webkit-transform: translateY(-0.125rem);
        -ms-transform: translateY(-0.125rem);
            transform: translateY(-0.125rem);
  }
  #constructor_block_8 .advantages-card:hover .advantages-card__content {
    -webkit-transform: translateY(-0.125rem);
        -ms-transform: translateY(-0.125rem);
            transform: translateY(-0.125rem);
  }
}
#constructor_block_8 .advantages-card__content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: none;
  gap: clamp(0.875rem, 0.9vw, 1.125rem);
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: -webkit-transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
  transition: -webkit-transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
  transition: transform 240ms cubic-bezier(0.16, 1, 0.3, 1), -webkit-transform 240ms cubic-bezier(0.16, 1, 0.3, 1);
}
#constructor_block_8 .advantages-card__title {
  width: 100%;
  max-width: 25rem;
  color: var(--gentimed-ink);
}
#constructor_block_8 .advantages-card__description {
  width: 100%;
  max-width: 25rem;
  color: rgba(10, 10, 10, 0.72);
}
#constructor_block_8 .swiper-slide:nth-child(1) .advantages-card,
#constructor_block_8 .swiper-slide:nth-child(6) .advantages-card {
  background-color: var(--gentimed-blue);
}
#constructor_block_8 .swiper-slide:nth-child(1) .advantages-card::after,
#constructor_block_8 .swiper-slide:nth-child(6) .advantages-card::after {
  background: radial-gradient(circle at 88% 16%, rgba(255, 255, 255, 0.26), transparent 30%), linear-gradient(135deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0) 48%);
}
#constructor_block_8 .swiper-slide:nth-child(1) .advantages-card::before,
#constructor_block_8 .swiper-slide:nth-child(6) .advantages-card::before {
  color: rgba(255, 255, 255, 0.62);
}
#constructor_block_8 .swiper-slide:nth-child(1) .advantages-card .icon,
#constructor_block_8 .swiper-slide:nth-child(6) .advantages-card .icon {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
#constructor_block_8 .swiper-slide:nth-child(1) .advantages-card__title,
#constructor_block_8 .swiper-slide:nth-child(1) .advantages-card__description,
#constructor_block_8 .swiper-slide:nth-child(6) .advantages-card__title,
#constructor_block_8 .swiper-slide:nth-child(6) .advantages-card__description {
  color: #FFFFFF;
}
#constructor_block_8 .swiper-slide:nth-child(1) .advantages-card__description,
#constructor_block_8 .swiper-slide:nth-child(6) .advantages-card__description {
  opacity: 0.82;
}
#constructor_block_8 .swiper-slide:nth-child(2) .advantages-card,
#constructor_block_8 .swiper-slide:nth-child(4) .advantages-card {
  background-color: var(--gentimed-green);
}
#constructor_block_8 .swiper-slide:nth-child(2) .advantages-card:hover {
  background-color: #279F66;
}
#constructor_block_8 .swiper-slide:nth-child(2) .advantages-card:focus-within {
  background-color: #279F66;
}
#constructor_block_8 .swiper-slide:nth-child(4) .advantages-card:hover {
  background-color: #279F66;
}
#constructor_block_8 .swiper-slide:nth-child(4) .advantages-card:focus-within {
  background-color: #279F66;
}
#constructor_block_8 .swiper-slide:nth-child(2) .advantages-card::after,
#constructor_block_8 .swiper-slide:nth-child(4) .advantages-card::after {
  background: radial-gradient(circle at 88% 16%, rgba(255, 255, 255, 0.22), transparent 30%), linear-gradient(135deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0) 48%);
}
#constructor_block_8 .swiper-slide:nth-child(2) .advantages-card::before,
#constructor_block_8 .swiper-slide:nth-child(4) .advantages-card::before {
  color: rgba(255, 255, 255, 0.62);
}
#constructor_block_8 .swiper-slide:nth-child(2) .advantages-card .icon,
#constructor_block_8 .swiper-slide:nth-child(4) .advantages-card .icon {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
#constructor_block_8 .swiper-slide:nth-child(2) .advantages-card__title,
#constructor_block_8 .swiper-slide:nth-child(2) .advantages-card__description,
#constructor_block_8 .swiper-slide:nth-child(4) .advantages-card__title,
#constructor_block_8 .swiper-slide:nth-child(4) .advantages-card__description {
  color: #FFFFFF;
}
#constructor_block_8 .swiper-slide:nth-child(2) .advantages-card__description,
#constructor_block_8 .swiper-slide:nth-child(4) .advantages-card__description {
  opacity: 0.82;
}
#constructor_block_8 .swiper-slide:nth-child(3) .advantages-card,
#constructor_block_8 .swiper-slide:nth-child(5) .advantages-card {
  background-color: #E8EDF3;
}
#constructor_block_8 .swiper-slide:nth-child(3) .advantages-card:hover {
  background-color: #EDF3F8;
}
#constructor_block_8 .swiper-slide:nth-child(3) .advantages-card:focus-within {
  background-color: #EDF3F8;
}
#constructor_block_8 .swiper-slide:nth-child(5) .advantages-card:hover {
  background-color: #EDF3F8;
}
#constructor_block_8 .swiper-slide:nth-child(5) .advantages-card:focus-within {
  background-color: #EDF3F8;
}
@media (max-width: 1160px) {
  #constructor_block_8 .swiper-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 630px) {
  #constructor_block_8 > .container {
    row-gap: 1.75rem;
  }
  #constructor_block_8 .swiper-wrapper {
    grid-template-columns: 1fr;
  }
  #constructor_block_8 .advantages-card {
    min-height: 14.75rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  #constructor_block_8 .advantages-card,
  #constructor_block_8 .advantages-card::after,
  #constructor_block_8 .advantages-card .icon,
  #constructor_block_8 .advantages-card__content {
    -webkit-animation: none;
            animation: none;
    -webkit-transition: none;
    transition: none;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }
}
#constructor_block_3.article-section,
#constructor_block_5.article-section,
#constructor_block_7.article-section,
#constructor_block_9.article-section {
  overflow: hidden;
}
#constructor_block_3 .article-section__image,
#constructor_block_5 .article-section__image,
#constructor_block_7 .article-section__image,
#constructor_block_9 .article-section__image {
  aspect-ratio: 1.42;
  overflow: hidden;
  border-radius: 16px;
  background-color: #E8EDF3;
  isolation: isolate;
}
#constructor_block_7.article-section {
  padding-bottom: clamp(5rem, 7vw, 7.5rem);
}
#constructor_block_7.article-section > .container {
  display: grid;
  grid-template-columns: minmax(24rem, 0.86fr) minmax(0, 1fr);
  grid-template-areas: "cost-media cost-title" "cost-media cost-intro" "cost-media cost-button" "cost-price-title cost-price-title" "cost-prices cost-prices" "cost-note cost-note";
  -webkit-column-gap: clamp(3rem, 5.5vw, 5.75rem);
     -moz-column-gap: clamp(3rem, 5.5vw, 5.75rem);
          column-gap: clamp(3rem, 5.5vw, 5.75rem);
  row-gap: clamp(1rem, 1.7vw, 1.6rem);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
#constructor_block_7.article-section .section__content,
#constructor_block_7.article-section .article-section__content,
#constructor_block_7.article-section .article-section__head,
#constructor_block_7.article-section .article-section__article {
  display: contents;
}
#constructor_block_7 .article-section__image {
  grid-area: cost-media;
  aspect-ratio: 1.22;
  align-self: start;
}
#constructor_block_7 .article-section__title {
  grid-area: cost-title;
  align-self: end;
  max-width: 52rem;
  margin: 0 0 20px;
  text-wrap: balance;
}
#constructor_block_7 .article-section__article p:first-of-type {
  grid-area: cost-intro;
  max-width: 68ch;
  margin: calc(80px - clamp(1rem, 1.7vw, 1.6rem)) 0 0;
  color: var(--gentimed-ink);
}
#constructor_block_7 .article-section__button-list {
  grid-area: cost-button;
  margin-top: 0;
}
#constructor_block_8.advantages-section {
  padding-top: clamp(3.5rem, 4vw, 4rem);
}
#constructor_block_3 .article-section__image img,
#constructor_block_5 .article-section__image img,
#constructor_block_7 .article-section__image img,
#constructor_block_9 .article-section__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: scale(1.01);
      -ms-transform: scale(1.01);
          transform: scale(1.01);
  -webkit-transition: -webkit-transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}
#constructor_block_3 .article-section__article,
#constructor_block_5 .article-section__article,
#constructor_block_7 .article-section__article,
#constructor_block_9 .article-section__article {
  max-width: 65ch;
}
#constructor_block_3 .article-section__article,
#constructor_block_7 .article-section__article {
  margin-left: 0;
  max-width: 100%;
}
#constructor_block_3 .article-section__article > *,
#constructor_block_7 .article-section__article > * {
  margin-left: 0;
}
#constructor_block_9 .article-section__content {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
#constructor_block_9 .article-section__head {
  width: 100%;
  margin-bottom: clamp(1.5rem, 2.4vw, 2.5rem);
}
#constructor_block_9 .article-section__article {
  margin-left: 0;
  max-width: 65ch;
}
#constructor_block_9 .article-section__article > * {
  margin-left: 0;
}
#constructor_block_9 .article-section__article p {
  margin-left: 0 !important;
  padding-left: 0 !important;
}
#constructor_block_3 .article-section__article p:first-child,
#constructor_block_7 .article-section__article p:first-child {
  margin-top: 0;
}
#constructor_block_5 .article-section__article h3 {
  margin-top: 1.25em;
  color: var(--gentimed-ink);
}
#constructor_block_5 .article-section__article h3:first-child {
  margin-top: 0;
}
#constructor_block_7 .article-section__article p:nth-of-type(2) {
  grid-area: cost-price-title;
  margin: clamp(1.5rem, 2.2vw, 2.25rem) 0 0;
  color: var(--gentimed-ink);
  font-size: clamp(1.5rem, 1.16rem + 0.9vw, 2.25rem);
  line-height: 1.15;
  letter-spacing: 0;
}
#constructor_block_7 .article-section__article p:nth-of-type(2) strong {
  font-weight: 700;
}
#constructor_block_7 .article-section__article ul {
  grid-area: cost-prices;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.75rem, 1vw, 1rem);
  padding: 0;
  margin: 0;
  list-style: none;
}
#constructor_block_7 .article-section__article li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  min-height: 10.75rem;
  padding: clamp(1.15rem, 1.45vw, 1.5rem);
  border-radius: 12px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: clamp(0.75rem, 1vw, 1rem);
  color: var(--gentimed-ink);
  background-color: #E8F1F6;
  list-style: none;
  line-height: 1.45;
}
#constructor_block_7 .article-section__article li:nth-child(1),
#constructor_block_7 .article-section__article li:nth-child(3) {
  color: #fff;
  background-color: var(--gentimed-blue);
}
#constructor_block_7 .article-section__article li strong {
  display: block;
  margin-bottom: 0;
  color: var(--gentimed-ink);
  font-size: clamp(1rem, 0.9rem + 0.25vw, 1.15rem);
  line-height: 1.25;
  font-weight: 700;
}
#constructor_block_7 .article-section__article li:nth-child(1) strong,
#constructor_block_7 .article-section__article li:nth-child(3) strong {
  color: #fff;
}
#constructor_block_7 .article-section__article li::before,
#constructor_block_7 .article-section__article li::after {
  content: none;
  display: none;
}
#constructor_block_7 .article-section__article p:last-of-type {
  grid-area: cost-note;
  max-width: 82ch;
  margin: 0;
  color: var(--gentimed-ink-muted);
}
#constructor_block_5.article-section-t2 > .container {
  row-gap: clamp(1.75rem, 2.5vw, 2.5rem);
}
#constructor_block_5 .section__head {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0;
}
#constructor_block_5 .section__text {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -webkit-column-gap: var(--grid-column-gap);
     -moz-column-gap: var(--grid-column-gap);
          column-gap: var(--grid-column-gap);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: none;
}
#constructor_block_5 .section__title,
#constructor_block_5 .section__description {
  max-width: none;
}
#constructor_block_5 .section__description {
  color: var(--gentimed-ink-muted);
  max-width: none;
  text-wrap: pretty;
}
#constructor_block_5 .article-section-t2__article {
  width: 100%;
  max-width: none;
  margin-top: clamp(2rem, 3vw, 3.5rem);
}
#constructor_block_5 .audience-routes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 1.4vw, 1.5rem);
  width: 100%;
}
#constructor_block_5 .audience-route-card {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 100%;
  overflow: hidden;
  border-radius: 14px;
  background-color: #F3F5F8;
  color: var(--gentimed-ink);
  text-decoration: none;
  -webkit-transition: background-color 220ms ease, -webkit-transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: background-color 220ms ease, -webkit-transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1), background-color 220ms ease;
  transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1), background-color 220ms ease, -webkit-transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}
#constructor_block_5 .audience-route-card:nth-child(2) {
  background-color: #E8EDF3;
}
#constructor_block_5 .audience-route-card__image {
  display: block;
  width: 100%;
  aspect-ratio: 16/7.5;
  margin: 0;
  overflow: hidden;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
  background-color: #E8EDF3;
}
#constructor_block_5 .audience-route-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: scale(1.01);
      -ms-transform: scale(1.01);
          transform: scale(1.01);
  -webkit-transition: -webkit-transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
}
#constructor_block_5 .audience-route-card__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(0.85rem, 1vw, 1.1rem);
  padding: clamp(1.25rem, 1.6vw, 1.75rem);
}
#constructor_block_5 .audience-route-card__eyebrow {
  color: var(--gentimed-blue);
  font-size: 0.95rem;
  font-weight: 600;
}
#constructor_block_5 .audience-route-card__title {
  width: 100%;
  max-width: none;
  margin: 0;
  color: var(--gentimed-ink);
  font-size: clamp(1.45rem, 1.55vw, 1.75rem);
  font-weight: 700;
  line-height: 1.18;
}
#constructor_block_5 .audience-route-card__text {
  width: 100%;
  max-width: none;
  margin: 0;
  color: var(--gentimed-ink-muted);
  font: var(--font-body-M-r);
}
#constructor_block_5 .audience-route-card__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.55rem;
  margin-top: auto;
  color: var(--gentimed-blue);
  font-weight: 600;
}
#constructor_block_5 .audience-route-card__link::after {
  content: "↗";
  line-height: 1;
}
.cta-section-t3 {
  overflow: hidden;
}
.js-has-pseudo [csstools-has-1a-2r-38-2p-19-37-2t-2r-38-2x-33-32-19-38-1f-1m-2w-2p-37-14-1a-37-2t-2r-38-2x-33-32-2n-2n-2q-2p-2r-2z-2v-36-33-39-32-2s-15]:not(.does-not-exist) {
  --local-offset-top: clamp(3rem, 5vw, 5rem);
}
.cta-section-t3:has(.section__background) {
  --local-offset-top: clamp(3rem, 5vw, 5rem);
}
.cta-section-t3 .container {
  position: relative;
}
.cta-section-t3 .section__background {
  z-index: 0;
}
.cta-section-t3 .section__background::before {
  content: none;
  display: none;
}
.cta-section-t3 .section__background img {
  opacity: 1;
  -webkit-filter: none;
          filter: none;
  mix-blend-mode: normal;
}
.cta-section-t3 .section__content {
  position: relative;
  z-index: 1;
}
@media (hover: hover) and (pointer: fine) {
  #constructor_block_3 .article-section__image:hover img,
  #constructor_block_5 .article-section__image:hover img,
  #constructor_block_7 .article-section__image:hover img,
  #constructor_block_9 .article-section__image:hover img {
    -webkit-transform: scale(1.045);
        -ms-transform: scale(1.045);
            transform: scale(1.045);
  }
}
@media (max-width: 960px) {
  #constructor_block_5 .section__text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  #constructor_block_5 .section__description {
    max-width: 42rem;
  }
  #constructor_block_5 .audience-routes {
    grid-template-columns: 1fr;
  }
  #constructor_block_5 .audience-route-card__image {
    aspect-ratio: 16/8.5;
  }
  #constructor_block_7.article-section > .container {
    grid-template-columns: 1fr;
    grid-template-areas: "cost-title" "cost-intro" "cost-media" "cost-button" "cost-price-title" "cost-prices" "cost-note";
    row-gap: 1.25rem;
  }
  #constructor_block_7 .article-section__image {
    aspect-ratio: 16/9;
  }
  #constructor_block_7 .article-section__title {
    -ms-flex-item-align: auto;
        align-self: auto;
  }
  #constructor_block_7 .article-section__article p:first-of-type {
    margin-top: 0;
  }
  #constructor_block_7 .article-section__article ul {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  #constructor_block_3 .article-section__image img,
  #constructor_block_5 .article-section__image img,
  #constructor_block_7 .article-section__image img,
  #constructor_block_9 .article-section__image img {
    -webkit-transition: none;
    transition: none;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }
}
#constructor_block_6 {
  --stage-card-bg: #F3F5F8;
  --stage-card-bg-alt: #E8EDF3;
  --stage-card-bg-active: var(--gentimed-blue);
}
#constructor_block_6 > .container {
  row-gap: clamp(1.5rem, 2vw, 2rem);
}
#constructor_block_6 .section__head {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 0;
}
#constructor_block_6 .section__text {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -webkit-column-gap: var(--grid-column-gap);
     -moz-column-gap: var(--grid-column-gap);
          column-gap: var(--grid-column-gap);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  width: 100%;
}
#constructor_block_6 .section__title,
#constructor_block_6 .section__description {
  max-width: none;
}
#constructor_block_6 .section__description {
  color: var(--gentimed-ink-muted);
}
#constructor_block_6 .section__content,
#constructor_block_6 .swiper {
  overflow: visible;
}
#constructor_block_6 .section__content {
  margin-top: clamp(2rem, 3vw, 3.5rem);
}
#constructor_block_6 .swiper-wrapper {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 1.2vw, 1.5rem);
  width: 100% !important;
  height: auto !important;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
}
#constructor_block_6 .swiper-slide {
  width: auto !important;
  height: auto !important;
  min-width: 0;
  margin: 0 !important;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
}
#constructor_block_6 .stage-card-t5 {
  max-width: none;
  min-height: clamp(13.5rem, 15vw, 16.5rem);
  padding: clamp(1.35rem, 1.5vw, 1.8rem);
  gap: clamp(1rem, 1.2vw, 1.35rem);
  border-radius: 14px;
  background-color: var(--stage-card-bg);
  -webkit-transition: background-color 220ms ease, -webkit-transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: background-color 220ms ease, -webkit-transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1), background-color 220ms ease;
  transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1), background-color 220ms ease, -webkit-transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}
#constructor_block_6 .swiper-slide:nth-child(2n) .stage-card-t5 {
  background-color: var(--stage-card-bg-alt);
}
#constructor_block_6 .swiper-slide:nth-child(1) .stage-card-t5,
#constructor_block_6 .swiper-slide:nth-child(6) .stage-card-t5 {
  background-color: var(--stage-card-bg-active);
  color: #FFFFFF;
}
#constructor_block_6 .swiper-slide:nth-child(3) .stage-card-t5,
#constructor_block_6 .swiper-slide:nth-child(5) .stage-card-t5 {
  background-color: var(--gentimed-green);
  color: #FFFFFF;
}
#constructor_block_6 .swiper-slide:nth-child(1) .stage-card-t5__index,
#constructor_block_6 .swiper-slide:nth-child(1) .stage-card-t5__title,
#constructor_block_6 .swiper-slide:nth-child(1) .stage-card-t5__description,
#constructor_block_6 .swiper-slide:nth-child(3) .stage-card-t5__index,
#constructor_block_6 .swiper-slide:nth-child(3) .stage-card-t5__title,
#constructor_block_6 .swiper-slide:nth-child(3) .stage-card-t5__description,
#constructor_block_6 .swiper-slide:nth-child(5) .stage-card-t5__index,
#constructor_block_6 .swiper-slide:nth-child(5) .stage-card-t5__title,
#constructor_block_6 .swiper-slide:nth-child(5) .stage-card-t5__description,
#constructor_block_6 .swiper-slide:nth-child(6) .stage-card-t5__index,
#constructor_block_6 .swiper-slide:nth-child(6) .stage-card-t5__title,
#constructor_block_6 .swiper-slide:nth-child(6) .stage-card-t5__description {
  color: #FFFFFF;
}
#constructor_block_6 .stage-card-t5__body {
  margin-top: auto;
  width: 100%;
}
#constructor_block_6 .stage-card-t5__index {
  color: rgba(10, 10, 10, 0.54);
  font-size: clamp(2.75rem, 4vw, 4.75rem);
  line-height: 0.9;
}
#constructor_block_6 .stage-card-t5__title {
  width: 100%;
  max-width: none;
  color: var(--gentimed-ink);
  text-wrap: pretty;
}
#constructor_block_6 .stage-card-t5__description {
  height: auto !important;
  width: 100%;
  max-width: none;
  color: var(--gentimed-ink-muted);
  overflow: visible;
}
#constructor_block_6 .stage-card-t5__description .text {
  height: auto;
}
@media (hover: hover) and (pointer: fine) {
  #constructor_block_6 .stage-card-t5:hover {
    -webkit-transform: translateY(-0.25rem);
        -ms-transform: translateY(-0.25rem);
            transform: translateY(-0.25rem);
    background-color: #F7F9FB;
  }
  #constructor_block_6 .swiper-slide:nth-child(1) .stage-card-t5:hover,
  #constructor_block_6 .swiper-slide:nth-child(6) .stage-card-t5:hover {
    background-color: #1F8BC3;
  }
  #constructor_block_6 .swiper-slide:nth-child(3) .stage-card-t5:hover,
  #constructor_block_6 .swiper-slide:nth-child(5) .stage-card-t5:hover {
    background-color: #279E64;
  }
}
@media (max-width: 1160px) {
  #constructor_block_6 .swiper-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 960px) {
  #constructor_block_6 .section__text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  #constructor_block_6 .section__description {
    max-width: 42rem;
  }
}
@media (max-width: 630px) {
  #constructor_block_6 .swiper-wrapper {
    grid-template-columns: 1fr;
  }
  #constructor_block_6 .stage-card-t5 {
    min-height: 12.5rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  #constructor_block_6 .stage-card-t5 {
    -webkit-transition: none;
    transition: none;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }
}
.page-banner ~ .article-section {
  overflow: hidden;
}
.page-banner ~ .about-section .section__content {
  -ms-flex-item-align: start;
      align-self: start;
}
.page-banner ~ .about-section .about-section__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(0.75rem, 1vw, 1rem);
  margin-top: clamp(1.5rem, 2vw, 2.25rem);
}
.page-banner ~ .about-section .advantages-about {
  min-height: 8.5rem;
  height: auto;
  padding: clamp(1rem, 1.1vw, 1.25rem);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0.875rem;
  border-radius: 14px;
  background-color: #F4F6F8;
}
.page-banner ~ .about-section .advantages-about:nth-child(even) {
  background-color: #EAF0F5;
}
.page-banner ~ .about-section .advantages-about__title {
  width: 100%;
  color: var(--gentimed-ink);
  font-size: clamp(1.65rem, 2.2vw, 2.4rem);
  line-height: 0.96;
}
.page-banner ~ .about-section .advantages-about__description {
  width: 100%;
  color: var(--gentimed-ink-muted);
  font-size: 0.95rem;
  line-height: 1.45;
}
.page-banner ~ .about-section .about-section__image {
  height: clamp(25rem, 44vw, 42rem);
  max-height: 42rem;
  overflow: hidden;
  border-radius: 16px;
  -ms-flex-item-align: start;
      align-self: start;
}
.page-banner ~ .about-section .about-section__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-banner ~ .article-section .article-section__image {
  aspect-ratio: 1.58;
  overflow: hidden;
  border-radius: 16px;
  background-color: #E8EDF3;
  isolation: isolate;
}
.page-banner ~ .article-section .article-section__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: scale(1.01);
      -ms-transform: scale(1.01);
          transform: scale(1.01);
  -webkit-transition: -webkit-transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 520ms cubic-bezier(0.22, 1, 0.36, 1);
}
.page-banner ~ .article-section .article-section__article {
  max-width: 64ch;
}
.page-banner ~ #constructor_block_1.article-section .article-section__article,
.page-banner ~ #constructor_block_2.article-section .article-section__article {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
.page-banner ~ #constructor_block_1.article-section .article-section__article > *,
.page-banner ~ #constructor_block_2.article-section .article-section__article > * {
  margin-left: 0;
  margin-right: 0;
}
.page-banner ~ .advantages-section {
  --inner-advantage-card-bg: #F4F6F8;
  --inner-advantage-card-bg-alt: #EAF0F5;
}
.page-banner ~ .advantages-section .section__content,
.page-banner ~ .advantages-section .swiper {
  overflow: visible;
}
.page-banner ~ .advantages-section .swiper-wrapper {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 1.2vw, 1.5rem);
  width: 100% !important;
  height: auto !important;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
}
.page-banner ~ .advantages-section .swiper-slide {
  width: auto !important;
  min-width: 0;
  height: auto !important;
  margin: 0 !important;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.page-banner ~ .advantages-section .advantages-card {
  width: 100%;
  min-height: clamp(15rem, 17vw, 18.5rem);
  padding: clamp(1.35rem, 1.5vw, 1.75rem);
  border: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  background-color: var(--inner-advantage-card-bg);
  -webkit-transition: background-color 220ms ease, -webkit-transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: background-color 220ms ease, -webkit-transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1), background-color 220ms ease;
  transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1), background-color 220ms ease, -webkit-transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}
.page-banner ~ .advantages-section .swiper-slide:nth-child(even) .advantages-card {
  background-color: var(--inner-advantage-card-bg-alt);
}
.page-banner ~ .advantages-section .advantages-card__content {
  width: 100%;
  max-width: none;
}
.page-banner ~ .advantages-section .advantages-card__title,
.page-banner ~ .advantages-section .advantages-card__description {
  max-width: none;
}
.page-banner ~ .advantages-section + .article-section {
  padding-top: clamp(2.75rem, 4vw, 4.5rem);
}
@media (hover: hover) and (pointer: fine) {
  .page-banner ~ .article-section .article-section__image:hover img {
    -webkit-transform: scale(1.04);
        -ms-transform: scale(1.04);
            transform: scale(1.04);
  }
  .page-banner ~ .advantages-section .advantages-card:hover {
    -webkit-transform: translateY(-0.125rem);
        -ms-transform: translateY(-0.125rem);
            transform: translateY(-0.125rem);
    background-color: #F8FAFC;
  }
}
@media (max-width: 1160px) {
  .page-banner ~ .advantages-section .swiper-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 630px) {
  .page-banner ~ .about-section .about-section__list {
    grid-template-columns: 1fr;
  }
  .page-banner ~ .about-section .about-section__image {
    height: auto;
    max-height: none;
  }
  .page-banner ~ .article-section .article-section__image {
    aspect-ratio: 1.32;
  }
  .page-banner ~ .advantages-section .swiper-wrapper {
    grid-template-columns: 1fr;
  }
  .page-banner ~ .advantages-section .advantages-card {
    min-height: 12.75rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .page-banner ~ .article-section .article-section__image img,
  .page-banner ~ .advantages-section .advantages-card {
    -webkit-transition: none;
    transition: none;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }
}
/* Gentimed: soft scroll choreography. Content remains visible without JS. */
:root {
  --gentimed-motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --gentimed-motion-fast: 220ms;
  --gentimed-motion-reveal: 720ms;
  --gentimed-motion-stagger: 54ms;
}
.bm-motion-ready [data-reveal] {
  opacity: 0;
  -webkit-transform: translate3d(0, 1.25rem, 0);
          transform: translate3d(0, 1.25rem, 0);
  -webkit-filter: blur(0.35rem);
          filter: blur(0.35rem);
  -webkit-transition: opacity var(--gentimed-motion-reveal) var(--gentimed-motion-ease), -webkit-transform var(--gentimed-motion-reveal) var(--gentimed-motion-ease), -webkit-filter 620ms var(--gentimed-motion-ease);
  transition: opacity var(--gentimed-motion-reveal) var(--gentimed-motion-ease), -webkit-transform var(--gentimed-motion-reveal) var(--gentimed-motion-ease), -webkit-filter 620ms var(--gentimed-motion-ease);
  transition: opacity var(--gentimed-motion-reveal) var(--gentimed-motion-ease), transform var(--gentimed-motion-reveal) var(--gentimed-motion-ease), filter 620ms var(--gentimed-motion-ease);
  transition: opacity var(--gentimed-motion-reveal) var(--gentimed-motion-ease), transform var(--gentimed-motion-reveal) var(--gentimed-motion-ease), filter 620ms var(--gentimed-motion-ease), -webkit-transform var(--gentimed-motion-reveal) var(--gentimed-motion-ease), -webkit-filter 620ms var(--gentimed-motion-ease);
  -webkit-transition-delay: calc(var(--reveal-index, 0) * var(--gentimed-motion-stagger));
          transition-delay: calc(var(--reveal-index, 0) * var(--gentimed-motion-stagger));
  will-change: opacity, transform, filter;
}
.bm-motion-ready [data-reveal=section] {
  -webkit-transform: translate3d(0, 1.5rem, 0);
          transform: translate3d(0, 1.5rem, 0);
}
.bm-motion-ready [data-reveal=media] {
  -webkit-transform: translate3d(0, 1.4rem, 0) scale(0.985);
          transform: translate3d(0, 1.4rem, 0) scale(0.985);
}
.bm-motion-ready [data-reveal=card] {
  -webkit-transform: translate3d(0, 1rem, 0) scale(0.992);
          transform: translate3d(0, 1rem, 0) scale(0.992);
}
.bm-motion-ready [data-reveal].is-visible {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0) scale(1);
          transform: translate3d(0, 0, 0) scale(1);
  -webkit-filter: blur(0);
          filter: blur(0);
  will-change: auto;
}
.bm-motion-ready .front-banner [data-reveal] {
  -webkit-transition-duration: 640ms;
          transition-duration: 640ms;
}
.bm-motion-ready .section__head[data-reveal],
.bm-motion-ready .article-section__title[data-reveal],
.bm-motion-ready .page-banner__content[data-reveal],
.bm-motion-ready .front-banner__content[data-reveal] {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
}
.bm-motion-ready [data-reveal].is-visible .icon_animate {
  -webkit-transition-duration: var(--gentimed-motion-fast);
          transition-duration: var(--gentimed-motion-fast);
}
@media (hover: hover) and (pointer: fine) {
  .bm-motion-ready .button:not(:disabled),
  .bm-motion-ready .services-card,
  .bm-motion-ready .audience-route-card,
  .bm-motion-ready .advantages-card,
  .bm-motion-ready .stage-card-t5 {
    -webkit-transition-duration: 180ms, 220ms, 220ms;
            transition-duration: 180ms, 220ms, 220ms;
    -webkit-transition-timing-function: var(--gentimed-motion-ease);
            transition-timing-function: var(--gentimed-motion-ease);
  }
}
@media (prefers-reduced-motion: reduce) {
  .bm-motion-ready [data-reveal] {
    opacity: 1 !important;
    -webkit-transform: none !important;
        -ms-transform: none !important;
            transform: none !important;
    -webkit-filter: none !important;
            filter: none !important;
    -webkit-transition: none !important;
    transition: none !important;
  }
}
/* Gentimed: registration 2026 editorial block */
#constructor_block_3.article-section {
  background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f4fafb));
  background: linear-gradient(180deg, #ffffff 0%, #f4fafb 100%);
}
#constructor_block_3.article-section > .container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(2rem, 5vw, 5.5rem);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#constructor_block_3.article-section .section__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start !important;
      -ms-flex-align: start !important;
          align-items: flex-start !important;
  min-width: 0;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  align-self: start !important;
  grid-area: 1/2/2/3 !important;
}
#constructor_block_3 .article-section__content,
#constructor_block_3 .article-section__head {
  width: 100%;
  border-radius: 0 !important;
}
#constructor_block_3 .article-section__title {
  max-width: 13.5em;
  margin-bottom: 0;
  border-radius: 0 !important;
  text-wrap: balance;
}
#constructor_block_3 .article-section__article {
  max-width: none;
  border-radius: 0 !important;
}
#constructor_block_3 .article-section__article > p:first-child {
  max-width: 43rem;
  margin: 0 0 clamp(1.35rem, 2vw, 2rem);
  border-radius: 0 !important;
  color: #26343a;
  font-size: clamp(1.05rem, 0.35vw + 1rem, 1.25rem);
  line-height: 1.55;
}
#constructor_block_3 .article-section__article > ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  margin: 0;
  padding: 0;
  list-style: none;
}
#constructor_block_3 .article-section__article > ul > li {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 100%;
  min-height: 10.25rem;
  padding: clamp(1.15rem, 1.6vw, 1.55rem);
  border-radius: 0 !important;
  background: #e9f1f6;
  color: #2c3940;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.05rem;
}
#constructor_block_3 .article-section__article > ul > li:nth-child(1) {
  border-radius: 12px !important;
}
#constructor_block_3 .article-section__article > ul > li:nth-child(2) {
  border-radius: 12px !important;
}
#constructor_block_3 .article-section__article > ul > li:nth-child(3) {
  border-radius: 12px !important;
}
#constructor_block_3 .article-section__article > ul > li:nth-child(4) {
  border-radius: 12px !important;
}
#constructor_block_3 .article-section__article > ul > li::before {
  content: none;
  display: none;
}
#constructor_block_3 .article-section__article > ul > li:nth-child(1),
#constructor_block_3 .article-section__article > ul > li:nth-child(4) {
  background: #248fc1;
  color: #ffffff;
}
#constructor_block_3 .article-section__article > ul strong {
  display: block;
  max-width: 100%;
  color: inherit;
  font-size: clamp(1.12rem, 0.45vw + 1rem, 1.42rem);
  font-weight: 700;
  line-height: 1.15;
  text-wrap: balance;
}
#constructor_block_3 .article-section__article > ul span {
  display: block;
  max-width: 100%;
  color: inherit;
  opacity: 0.78;
  font-size: 0.98rem;
  line-height: 1.45;
}
#constructor_block_3 .article-section__button-list {
  margin-top: 0;
}
#constructor_block_3 .article-section__image {
  position: relative;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  align-self: start !important;
  grid-area: 1/1/2/2 !important;
  min-height: 0;
  height: auto;
  width: 100%;
  aspect-ratio: 1.42/1;
  margin: 0;
  overflow: hidden;
  border-radius: 0.875rem;
  background: #e9f1f6;
}
#constructor_block_3 .article-section__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 48% 50%;
     object-position: 48% 50%;
  display: block;
}
#constructor_block_3 .article-section__image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(58%, rgba(255, 255, 255, 0)), to(rgba(15, 67, 89, 0.18)));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 58%, rgba(15, 67, 89, 0.18) 100%);
}
@media (max-width: 1100px) {
  #constructor_block_3.article-section > .container {
    grid-template-columns: 1fr !important;
    gap: 2rem;
  }
  #constructor_block_3 .article-section__title {
    margin-bottom: 0;
  }
  #constructor_block_3 .article-section__image {
    grid-area: 1/1/2/2 !important;
  }
  #constructor_block_3.article-section .section__content {
    grid-area: 2/1/3/2 !important;
  }
}
@media (max-width: 700px) {
  #constructor_block_3 .article-section__article > ul {
    grid-template-columns: 1fr;
  }
  #constructor_block_3 .article-section__article > ul > li {
    min-height: 0;
    border-radius: 12px !important;
  }
}
.js-has-pseudo [csstools-has-1a-2q-39-38-38-33-32-1m-2w-2p-37-14-1a-2q-39-38-38-33-32-2n-2n-38-2t-3c-38-15-1m-32-33-38-14-1a-2q-39-38-38-33-32-2n-37-33-2r-2x-2p-30-15]:not(.does-not-exist):not(.does-not-exist) {
  --button-radius: var(--radius-btn) !important;
  border-radius: var(--radius-btn) !important;
}
.button:has(.button__text):not(.button_social) {
  --button-radius: var(--radius-btn) !important;
  border-radius: var(--radius-btn) !important;
}
.js-has-pseudo [csstools-has-1a-2q-39-38-38-33-32-1m-2w-2p-37-14-1a-2q-39-38-38-33-32-2n-2n-38-2t-3c-38-15-1m-32-33-38-14-1a-2q-39-38-38-33-32-2n-37-33-2r-2x-2p-30-15]:not(.does-not-exist):not(.does-not-exist)::before {
  border-radius: var(--radius-btn) !important;
}
.button:has(.button__text):not(.button_social)::before {
  border-radius: var(--radius-btn) !important;
}
.front-banner__button-list .button,
.article-section__button-list .button,
.page-banner .button,
.section__more.button {
  --button-radius: var(--radius-btn) !important;
  border-radius: var(--radius-btn) !important;
}
.front-banner__button-list .button::before,
.article-section__button-list .button::before,
.page-banner .button::before,
.section__more.button::before {
  border-radius: var(--radius-btn) !important;
}
#constructor_block_7 .article-section__button-list .button,
#constructor_block_7 .article-section__button-list .button::before,
#constructor_block_7 .article-section__button-list .button::after,
#constructor_block_7 .article-section__button-list .button__text,
#constructor_block_7 .article-section__button-list .button__icon,
#constructor_block_7 .article-section__button-list .button__icon::before,
#constructor_block_7 .article-section__button-list .button__icon::after {
  --button-radius: 8px !important;
  border-radius: 8px !important;
}
#constructor_block_7 .article-section__button-list .button {
  overflow: hidden;
}
.section__more.button.button_secondary {
  --button-bg-color: transparent;
  --button-bg-color-hover: transparent;
  --button-border-color: var(--gentimed-blue);
  --button-border-color-hover: var(--gentimed-blue);
  --button-border-width: 1px;
  --button-text-color: var(--gentimed-ink);
  --button-text-color-hover: var(--gentimed-blue);
  --button-icon-color: var(--gentimed-blue);
  --button-icon-color-hover: var(--gentimed-blue);
}
.section__more.button.button_secondary::before {
  background: transparent !important;
  border-color: var(--gentimed-blue) !important;
}
.button {
  --button-radius: var(--radius-btn) !important;
  border-radius: var(--radius-btn) !important;
}
.button::before,
.button::after {
  border-radius: var(--radius-btn) !important;
}
.modal-window,
.modal-window.modal-window_small,
.modal-window.modal-window_semi-big {
  --modal-background-color: #ffffff !important;
  background-color: #ffffff !important;
}
.button.button_template {
  --button-radius: var(--radius-btn) !important;
  border: 0 !important;
  border-radius: var(--radius-btn) !important;
  background: transparent !important;
  background-image: none !important;
  overflow: visible;
}
.button.button_template::before,
.button.button_template::after {
  border-radius: var(--radius-btn) !important;
  background-image: none !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
.button.button_template:not(.button_secondary)::before,
.button.button_template.no-invert::before {
  background: var(--gentimed-blue) !important;
  border: 1px solid var(--gentimed-blue) !important;
}
.button.button_template:not(.button_secondary):hover::before,
.button.button_template.no-invert:hover::before {
  background: var(--gentimed-green) !important;
  border-color: var(--gentimed-green) !important;
}
.button.button_template.button_secondary {
  --button-bg-color: transparent !important;
  --button-bg-color-hover: transparent !important;
  --button-border-color: var(--gentimed-blue) !important;
  --button-border-color-hover: var(--gentimed-blue) !important;
  --button-text-color: var(--gentimed-ink) !important;
  --button-text-color-hover: var(--gentimed-blue) !important;
  --button-icon-color: var(--gentimed-blue) !important;
  --button-icon-color-hover: var(--gentimed-blue) !important;
}
.button.button_template.button_secondary::before,
.button.button_template.section__more::before {
  background: transparent !important;
  border: 1px solid var(--gentimed-blue) !important;
}
.button.button_template.button_secondary:hover::before,
.button.button_template.section__more:hover::before {
  background: rgba(25, 139, 196, 0.06) !important;
  border-color: var(--gentimed-blue) !important;
}
.front-banner__button-list .button.button_template.button_primary {
  --button-bg-color: #FFFFFF !important;
  --button-bg-color-hover: #FFFFFF !important;
  --button-text-color: #0A0A0A !important;
  --button-text-color-hover: #0A0A0A !important;
  --button-icon-color: #0A0A0A !important;
  --button-icon-color-hover: #0A0A0A !important;
  --button-border-color: #FFFFFF !important;
  --button-border-color-hover: #FFFFFF !important;
  color: #0A0A0A !important;
}
.front-banner__button-list .button.button_template.button_primary::before,
.front-banner__button-list .button.button_template.button_primary:hover::before {
  background: #FFFFFF !important;
  border-color: #FFFFFF !important;
}
.front-banner__button-list .button.button_template.button_secondary {
  --button-bg-color: transparent !important;
  --button-bg-color-hover: transparent !important;
  --button-text-color: #FFFFFF !important;
  --button-text-color-hover: #FFFFFF !important;
  --button-icon-color: #FFFFFF !important;
  --button-icon-color-hover: #FFFFFF !important;
  --button-border-color: transparent !important;
  --button-border-color-hover: transparent !important;
  color: #FFFFFF !important;
}
.front-banner__button-list .button.button_template.button_secondary::before,
.front-banner__button-list .button.button_template.button_secondary:hover::before {
  background: transparent !important;
  border-color: transparent !important;
}
.case-modal .case-modal__layout {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important;
  -webkit-box-align: stretch !important;
      -ms-flex-align: stretch !important;
          align-items: stretch !important;
}
.case-modal .case-modal__image {
  width: 100% !important;
  aspect-ratio: 16/8 !important;
}
@media (max-width: 760px) {
  .case-modal .case-modal__image {
    aspect-ratio: 16/10 !important;
  }
}
.case-card {
  gap: var(--case-card-gap) !important;
  padding: var(--case-card-padding) !important;
}
.case-card .case-card__image {
  margin: 0 !important;
  border-radius: calc(var(--case-card-radius) - 0.25rem) !important;
}
.case-card .case-card__body {
  padding: 0 !important;
}
.cta-section-t3 > .container {
  display: block !important;
}
.cta-section-t3 .section__content {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas: ". form";
  gap: var(--grid-column-gap);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 1;
}
.cta-section-t3 .regular-form {
  grid-area: form;
  width: 100%;
  max-width: none;
}
@media (max-width: 1160px) {
  .cta-section-t3 .section__content {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    grid-template-columns: 1fr;
    grid-template-areas: "form";
    width: 100% !important;
  }
  .cta-section-t3 .regular-form {
    width: 100% !important;
    max-width: none !important;
    justify-self: stretch !important;
  }
  .cta-section-t3 .regular-form__group,
  .cta-section-t3 .regular-form__row,
  .cta-section-t3 .regular-form__fields {
    width: 100% !important;
  }
}
@media (max-width: 630px) {
  .cta-section-t3 .section__content {
    width: 100% !important;
  }
  .cta-section-t3 .regular-form {
    border-radius: 0.875rem;
  }
}
@media (min-width: 631px) {
  .footer-dropdown_services {
    grid-column: span 2;
    padding-right: 0;
  }
  .footer-dropdown_services .footer-dropdown__content_services {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    -webkit-column-gap: var(--grid-column-gap);
       -moz-column-gap: var(--grid-column-gap);
            column-gap: var(--grid-column-gap);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
  .footer-dropdown_services .footer-dropdown__list {
    min-width: 0;
    padding-right: var(--dropdown-padding);
  }
}
@media (max-width: 630px) {
  .footer-dropdown__content_services {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: var(--dropdown-list-gap);
  }
  .footer-dropdown_services .footer-dropdown__list {
    padding-right: 0;
  }
}
/* Gentimed: keep homepage service sections on the same flat tint. */
#constructor_block_2,
#constructor_block_3.article-section,
#constructor_block_4 {
  background: #F7FBFB !important;
  background-color: #F7FBFB !important;
  background-image: none !important;
}
/* Gentimed: keep homepage services heading copy left-aligned on laptop widths. */
#constructor_block_4 .section__head,
#constructor_block_4 .section__text,
#constructor_block_4 .section__title,
#constructor_block_4 .section__description {
  -webkit-box-align: start !important;
      -ms-flex-align: start !important;
          align-items: flex-start !important;
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important;
  text-align: left !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}
/* Gentimed: keep the homepage services CTA button fully rounded with a real border. */
#constructor_block_4 .section__more.button.button_template.button_secondary {
  position: relative !important;
  border: 0 !important;
  border-radius: var(--radius-btn) !important;
  background: transparent !important;
  background-image: none !important;
  overflow: hidden !important;
  isolation: isolate;
}
#constructor_block_4 .section__more.button.button_template.button_secondary::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  border: 0 !important;
  border-radius: inherit !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  background: transparent !important;
  background-image: none !important;
}
#constructor_block_4 .section__more.button.button_template.button_secondary::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  pointer-events: none !important;
  border: 1px solid var(--gentimed-blue) !important;
  border-radius: inherit !important;
  -webkit-box-sizing: border-box !important;
          box-sizing: border-box !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  background: transparent !important;
  background-image: none !important;
}
#constructor_block_4 .section__more.button.button_template.button_secondary .button__text,
#constructor_block_4 .section__more.button.button_template.button_secondary .icon {
  position: relative !important;
  z-index: 2 !important;
}
#constructor_block_4 .section__more.button.button_template.button_secondary:hover::before,
#constructor_block_4 .section__more.button.button_template.button_secondary:focus-visible::before {
  background: rgba(25, 139, 196, 0.06) !important;
}
#constructor_block_4 .section__more.button.button_template.button_secondary:hover::after,
#constructor_block_4 .section__more.button.button_template.button_secondary:focus-visible::after {
  border-color: var(--gentimed-blue) !important;
}
/* Gentimed: keep breadcrumb hover readable over photo banners. */
.js-has-pseudo [csstools-has-1a-2q-36-2t-2p-2s-2r-36-39-31-2q-37-1m-2w-2p-37-14-17-w-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-1a-2x-32-3a-2t-36-38-19-2r-33-31-34-33-32-2t-32-38-37-15-1m-32-33-38-14-1a-32-33-19-2x-32-3a-2t-36-38-15]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  --breadcrumbs-link-color-hover: rgba(255, 255, 255, 0.78);
}
.breadcrumbs:has(+ .page-banner.invert-components):not(.no-invert) {
  --breadcrumbs-link-color-hover: rgba(255, 255, 255, 0.78);
}
/* Gentimed: use the template blue arrow CTA inside homepage audience cards. */
#constructor_block_5 .audience-route-card .case-card__more {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  margin-top: auto;
  padding: 0;
  color: var(--gentimed-blue, #198BC4);
  border: 0;
  background: transparent;
  font: var(--font-body-M-m);
  text-decoration: none;
}
#constructor_block_5 .audience-route-card .case-card__more .icon {
  --icon-size: 1rem;
  --icon-color: currentColor;
  display: inline-block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: var(--icon-size);
  height: var(--icon-size);
  color: currentColor;
  -webkit-transition: -webkit-transform var(--animation-default);
  transition: -webkit-transform var(--animation-default);
  transition: transform var(--animation-default);
  transition: transform var(--animation-default), -webkit-transform var(--animation-default);
}
@media (any-hover: hover) {
  #constructor_block_5 .audience-route-card:hover .case-card__more .icon,
  #constructor_block_5 .audience-route-card .case-card__more:hover .icon {
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
  }
}
/* Gentimed: remove the reserved header gap before the homepage front banner. */
.js-has-pseudo [csstools-has-1a-3b-36-2p-34-34-2t-36-1m-2w-2p-37-14-1a-3b-36-2p-34-34-2t-36-2n-2n-2r-33-32-38-2t-32-38-w-1q-w-1a-31-2p-2x-32-w-1q-w-1a-2u-36-33-32-38-19-2q-2p-32-32-2t-36-1m-2u-2x-36-37-38-19-2r-2w-2x-30-2s-15]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  padding-top: 0;
}
.wrapper:has(.wrapper__content > .main > .front-banner:first-child) {
  padding-top: 0;
}
/* Gentimed: force readable white hover for breadcrumbs over photo banners. */
@media (hover: hover) and (pointer: fine) {
  .js-has-pseudo [csstools-has-1a-2q-36-2t-2p-2s-2r-36-39-31-2q-37-1m-2w-2p-37-14-17-w-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-1a-2x-32-3a-2t-36-38-19-2r-33-31-34-33-32-2t-32-38-37-15-1m-32-33-38-14-1a-32-33-19-2x-32-3a-2t-36-38-15-w-1a-2q-36-2t-2p-2s-2r-36-39-31-2q-37-2n-2n-30-2x-32-2z-2j-2w-36-2t-2u-2l-1m-2w-33-3a-2t-36]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-2q-36-2t-2p-2s-2r-36-39-31-2q-37-1m-2w-2p-37-14-17-w-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-1a-2x-32-3a-2t-36-38-19-2r-33-31-34-33-32-2t-32-38-37-15-1m-32-33-38-14-1a-32-33-19-2x-32-3a-2t-36-38-15-w-1a-2q-36-2t-2p-2s-2r-36-39-31-2q-37-2n-2n-30-2x-32-2z-2j-2w-36-2t-2u-2l-1m-2u-33-2r-39-37-19-3a-2x-37-2x-2q-30-2t]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    color: rgba(255, 255, 255, 0.78) !important;
  }
  .breadcrumbs:has(+ .page-banner.invert-components):not(.no-invert) .breadcrumbs__link[href]:hover,
  .breadcrumbs:has(+ .page-banner.invert-components):not(.no-invert) .breadcrumbs__link[href]:focus-visible {
    color: rgba(255, 255, 255, 0.78) !important;
  }
}
/* Gentimed: keep homepage about stat cards spaced and left-aligned on tablet widths. */
@media (min-width: 961px) and (max-width: 1160px) {
  #constructor_block_2 .about-section__list {
    gap: 1rem !important;
    row-gap: 1rem !important;
  }
  #constructor_block_2 .about-section__list > .advantages-about + .advantages-about {
    margin-top: 1rem !important;
  }
}
@media (min-width: 630px) and (max-width: 1160px) {
  .about-section-t2 .advantages-about {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
    text-align: left !important;
  }
  .about-section-t2 .advantages-about__title,
  .about-section-t2 .advantages-about__description {
    width: 100% !important;
    text-align: left !important;
  }
}
/* Gentimed: alternate service-card colors on narrow screens by visual order. */
@media (max-width: 700px) {
  #constructor_block_3 .article-section__article > ul > li:nth-child(1) {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  #constructor_block_3 .article-section__article > ul > li:nth-child(2) {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  #constructor_block_3 .article-section__article > ul > li:nth-child(4) {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  #constructor_block_3 .article-section__article > ul > li:nth-child(3) {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
}
/* Gentimed: alternate stages colors in two-column tablet layout. */
@media (min-width: 630px) and (max-width: 1160px) {
  #constructor_block_6 .swiper-slide:nth-child(1) .stage-card-t5,
  #constructor_block_6 .swiper-slide:nth-child(4) .stage-card-t5 {
    background-color: var(--stage-card-bg-active) !important;
    color: #FFFFFF !important;
  }
  #constructor_block_6 .swiper-slide:nth-child(2) .stage-card-t5,
  #constructor_block_6 .swiper-slide:nth-child(5) .stage-card-t5 {
    background-color: var(--stage-card-bg-alt) !important;
    color: var(--gentimed-ink) !important;
  }
  #constructor_block_6 .swiper-slide:nth-child(3) .stage-card-t5,
  #constructor_block_6 .swiper-slide:nth-child(6) .stage-card-t5 {
    background-color: var(--gentimed-green) !important;
    color: #FFFFFF !important;
  }
  #constructor_block_6 .swiper-slide:nth-child(1) .stage-card-t5__index,
  #constructor_block_6 .swiper-slide:nth-child(1) .stage-card-t5__title,
  #constructor_block_6 .swiper-slide:nth-child(1) .stage-card-t5__description,
  #constructor_block_6 .swiper-slide:nth-child(3) .stage-card-t5__index,
  #constructor_block_6 .swiper-slide:nth-child(3) .stage-card-t5__title,
  #constructor_block_6 .swiper-slide:nth-child(3) .stage-card-t5__description,
  #constructor_block_6 .swiper-slide:nth-child(4) .stage-card-t5__index,
  #constructor_block_6 .swiper-slide:nth-child(4) .stage-card-t5__title,
  #constructor_block_6 .swiper-slide:nth-child(4) .stage-card-t5__description,
  #constructor_block_6 .swiper-slide:nth-child(6) .stage-card-t5__index,
  #constructor_block_6 .swiper-slide:nth-child(6) .stage-card-t5__title,
  #constructor_block_6 .swiper-slide:nth-child(6) .stage-card-t5__description {
    color: #FFFFFF !important;
  }
  #constructor_block_6 .swiper-slide:nth-child(2) .stage-card-t5__title,
  #constructor_block_6 .swiper-slide:nth-child(5) .stage-card-t5__title {
    color: var(--gentimed-ink) !important;
  }
  #constructor_block_6 .swiper-slide:nth-child(2) .stage-card-t5__description,
  #constructor_block_6 .swiper-slide:nth-child(5) .stage-card-t5__description {
    color: var(--gentimed-ink-muted) !important;
  }
  #constructor_block_6 .swiper-slide:nth-child(2) .stage-card-t5__index,
  #constructor_block_6 .swiper-slide:nth-child(5) .stage-card-t5__index {
    color: rgba(10, 10, 10, 0.54) !important;
  }
}
/* Service scope checklist */
.page-banner ~ #constructor_block_2.article-section .article-section__article ul:not([class]) {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
  display: grid;
  gap: clamp(0.625rem, 0.8vw, 0.875rem);
}
.page-banner ~ #constructor_block_2.article-section .article-section__article ul:not([class]) li {
  position: relative;
  padding-left: 1.875rem;
}
.page-banner ~ #constructor_block_2.article-section .article-section__article ul:not([class]) li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.24em;
  width: 1.05rem;
  height: 1.05rem;
  background-color: var(--accent-primary-default, #198BC4);
  -webkit-mask: url("/assets/templates/icons/ok.svg") center/contain no-repeat;
  mask: url("/assets/templates/icons/ok.svg") center/contain no-repeat;
}
/* Service result blocks */
#constructor_block_4.article-section,
#constructor_block_5.article-section,
#constructor_block_6.article-section {
  background-color: var(--accent-primary-default, #198BC4) !important;
  color: #FFFFFF;
}
#constructor_block_4.article-section,
#constructor_block_5.article-section,
#constructor_block_6.article-section .article-section__title,
#constructor_block_4.article-section .article-section__article,
#constructor_block_5.article-section .article-section__article,
#constructor_block_6.article-section .article-section__article,
#constructor_block_4.article-section .article-section__article > *,
#constructor_block_5.article-section .article-section__article > *,
#constructor_block_6.article-section .article-section__article > * {
  color: #FFFFFF;
}
#constructor_block_4.article-section .article-section__article,
#constructor_block_5.article-section .article-section__article,
#constructor_block_6.article-section .article-section__article {
  max-width: none;
  width: 100%;
  margin-left: 0;
  font: var(--font-title-M);
  letter-spacing: 0;
  text-wrap: balance;
}
#constructor_block_4.article-section .article-section__article,
#constructor_block_5.article-section .article-section__article,
#constructor_block_6.article-section .article-section__article p {
  max-width: none;
  margin-left: 0 !important;
}
/* VIRD required cards */
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1q-w-1a-2r-33-32-38-2p-2x-32-2t-36]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  display: block !important;
}
#constructor_block_3.article-section:has(.vird-required-grid) > .container {
  display: block !important;
}
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-37-2t-2r-38-2x-33-32-2n-2n-2r-33-32-38-2t-32-38]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2r-33-32-38-2t-32-38]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2w-2t-2p-2s]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2p-36-38-2x-2r-30-2t]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  width: 100%;
  max-width: none;
  margin-left: 0;
}
#constructor_block_3.article-section:has(.vird-required-grid) .section__content,
#constructor_block_3.article-section:has(.vird-required-grid) .article-section__content,
#constructor_block_3.article-section:has(.vird-required-grid) .article-section__head,
#constructor_block_3.article-section:has(.vird-required-grid) .article-section__article {
  width: 100%;
  max-width: none;
  margin-left: 0;
}
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-38-2x-38-30-2t]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  max-width: none;
  margin: 0 0 clamp(1rem, 1.3vw, 1.5rem);
  color: #0A0A0A;
}
#constructor_block_3.article-section:has(.vird-required-grid) .article-section__title {
  max-width: none;
  margin: 0 0 clamp(1rem, 1.3vw, 1.5rem);
  color: #0A0A0A;
}
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-2n-2n-30-2t-2p-2s]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  max-width: 58rem;
  margin: 0 0 clamp(2rem, 3vw, 3.5rem) !important;
  color: rgba(10, 10, 10, 0.72);
  font: var(--font-body-L-r);
}
#constructor_block_3.article-section:has(.vird-required-grid) .vird-required__lead {
  max-width: 58rem;
  margin: 0 0 clamp(2rem, 3vw, 3.5rem) !important;
  color: rgba(10, 10, 10, 0.72);
  font: var(--font-body-L-r);
}
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.75rem, 1vw, 1rem);
  width: 100%;
}
#constructor_block_3.article-section:has(.vird-required-grid) .vird-required-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.75rem, 1vw, 1rem);
  width: 100%;
}
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2r-2p-36-2s]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  min-height: clamp(11rem, 13.5vw, 14.5rem);
  padding: clamp(1.25rem, 1.4vw, 1.625rem);
  border-radius: 12px;
  background-color: #EAF3F8;
  color: #0A0A0A;
}
#constructor_block_3.article-section:has(.vird-required-grid) .vird-required-card {
  min-height: clamp(11rem, 13.5vw, 14.5rem);
  padding: clamp(1.25rem, 1.4vw, 1.625rem);
  border-radius: 12px;
  background-color: #EAF3F8;
  color: #0A0A0A;
}
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1d-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1f-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1i-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1k-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  background-color: var(--accent-primary-default, #198BC4);
  color: #FFFFFF;
}
#constructor_block_3.article-section:has(.vird-required-grid) .vird-required-card:nth-child(1),
#constructor_block_3.article-section:has(.vird-required-grid) .vird-required-card:nth-child(3),
#constructor_block_3.article-section:has(.vird-required-grid) .vird-required-card:nth-child(6),
#constructor_block_3.article-section:has(.vird-required-grid) .vird-required-card:nth-child(8) {
  background-color: var(--accent-primary-default, #198BC4);
  color: #FFFFFF;
}
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2r-2p-36-2s-w-2w-1f]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
  margin: 0 0 0.85rem;
  color: inherit;
  font: var(--font-title-S);
  text-wrap: balance;
}
#constructor_block_3.article-section:has(.vird-required-grid) .vird-required-card h3 {
  margin: 0 0 0.85rem;
  color: inherit;
  font: var(--font-title-S);
  text-wrap: balance;
}
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2r-2p-36-2s-w-34]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
  margin: 0 !important;
  color: inherit;
  font: var(--font-body-S-r);
}
#constructor_block_3.article-section:has(.vird-required-grid) .vird-required-card p {
  margin: 0 !important;
  color: inherit;
  font: var(--font-body-S-r);
}
@media (max-width: 1160px) {
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #constructor_block_3.article-section:has(.vird-required-grid) .vird-required-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 630px) {
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    grid-template-columns: 1fr;
  }
  #constructor_block_3.article-section:has(.vird-required-grid) .vird-required-grid {
    grid-template-columns: 1fr;
  }
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2r-2p-36-2s]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    min-height: 0;
  }
  #constructor_block_3.article-section:has(.vird-required-grid) .vird-required-card {
    min-height: 0;
  }
}
/* Testing trials cards */
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1q-w-1a-2r-33-32-38-2p-2x-32-2t-36]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  display: block !important;
}
#constructor_block_3.article-section:has(.testing-trials-grid) > .container {
  display: block !important;
}
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-37-2t-2r-38-2x-33-32-2n-2n-2r-33-32-38-2t-32-38]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2r-33-32-38-2t-32-38]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2w-2t-2p-2s]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2p-36-38-2x-2r-30-2t]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  width: 100%;
  max-width: none;
  margin-left: 0;
}
#constructor_block_3.article-section:has(.testing-trials-grid) .section__content,
#constructor_block_3.article-section:has(.testing-trials-grid) .article-section__content,
#constructor_block_3.article-section:has(.testing-trials-grid) .article-section__head,
#constructor_block_3.article-section:has(.testing-trials-grid) .article-section__article {
  width: 100%;
  max-width: none;
  margin-left: 0;
}
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-38-2x-38-30-2t]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  max-width: none;
  margin: 0 0 clamp(1rem, 1.3vw, 1.5rem);
  color: #0A0A0A;
}
#constructor_block_3.article-section:has(.testing-trials-grid) .article-section__title {
  max-width: none;
  margin: 0 0 clamp(1rem, 1.3vw, 1.5rem);
  color: #0A0A0A;
}
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-2n-2n-30-2t-2p-2s]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  max-width: 58rem;
  margin: 0 0 clamp(2rem, 3vw, 3.5rem) !important;
  color: rgba(10, 10, 10, 0.72);
  font: var(--font-body-L-r);
}
#constructor_block_3.article-section:has(.testing-trials-grid) .testing-trials__lead {
  max-width: 58rem;
  margin: 0 0 clamp(2rem, 3vw, 3.5rem) !important;
  color: rgba(10, 10, 10, 0.72);
  font: var(--font-body-L-r);
}
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.75rem, 1vw, 1rem);
  width: 100%;
}
#constructor_block_3.article-section:has(.testing-trials-grid) .testing-trials-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.75rem, 1vw, 1rem);
  width: 100%;
}
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2r-2p-36-2s]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  min-height: clamp(11rem, 13.5vw, 14.5rem);
  padding: clamp(1.25rem, 1.4vw, 1.625rem);
  border-radius: 12px;
  background-color: #EAF3F8;
  color: #0A0A0A;
}
#constructor_block_3.article-section:has(.testing-trials-grid) .testing-trials-card {
  min-height: clamp(11rem, 13.5vw, 14.5rem);
  padding: clamp(1.25rem, 1.4vw, 1.625rem);
  border-radius: 12px;
  background-color: #EAF3F8;
  color: #0A0A0A;
}
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1d-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1f-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  background-color: var(--accent-primary-default, #198BC4);
  color: #FFFFFF;
}
#constructor_block_3.article-section:has(.testing-trials-grid) .testing-trials-card:nth-child(1),
#constructor_block_3.article-section:has(.testing-trials-grid) .testing-trials-card:nth-child(3) {
  background-color: var(--accent-primary-default, #198BC4);
  color: #FFFFFF;
}
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2r-2p-36-2s-w-2w-1f]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
  margin: 0 0 0.85rem;
  color: inherit;
  font: var(--font-title-S);
  text-wrap: balance;
}
#constructor_block_3.article-section:has(.testing-trials-grid) .testing-trials-card h3 {
  margin: 0 0 0.85rem;
  color: inherit;
  font: var(--font-title-S);
  text-wrap: balance;
}
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2r-2p-36-2s-w-34]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
  margin: 0 !important;
  color: inherit;
  font: var(--font-body-S-r);
}
#constructor_block_3.article-section:has(.testing-trials-grid) .testing-trials-card p {
  margin: 0 !important;
  color: inherit;
  font: var(--font-body-S-r);
}
@media (max-width: 1160px) {
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #constructor_block_3.article-section:has(.testing-trials-grid) .testing-trials-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 630px) {
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    grid-template-columns: 1fr;
  }
  #constructor_block_3.article-section:has(.testing-trials-grid) .testing-trials-grid {
    grid-template-columns: 1fr;
  }
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2r-2p-36-2s]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    min-height: 0;
  }
  #constructor_block_3.article-section:has(.testing-trials-grid) .testing-trials-card {
    min-height: 0;
  }
}
/* Service pages: result and scope fixes */
.page-banner ~ #constructor_block_4.article-section,
.page-banner ~ #constructor_block_5.article-section,
.page-banner ~ #constructor_block_6.article-section {
  background-color: var(--accent-primary-default, #198BC4) !important;
}
.page-banner ~ #constructor_block_4.article-section .article-section__title,
.page-banner ~ #constructor_block_5.article-section .article-section__title,
.page-banner ~ #constructor_block_6.article-section .article-section__title,
.page-banner ~ #constructor_block_4.article-section .article-section__article,
.page-banner ~ #constructor_block_5.article-section .article-section__article,
.page-banner ~ #constructor_block_6.article-section .article-section__article,
.page-banner ~ #constructor_block_4.article-section .article-section__article > *,
.page-banner ~ #constructor_block_5.article-section .article-section__article > *,
.page-banner ~ #constructor_block_6.article-section .article-section__article > * {
  color: #FFFFFF !important;
}
.page-banner ~ #constructor_block_2.article-section .article-section__article ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
  display: grid;
  gap: clamp(0.625rem, 0.8vw, 0.875rem);
}
.page-banner ~ #constructor_block_2.article-section .article-section__article li {
  position: relative;
  padding-left: 1.875rem !important;
}
.page-banner ~ #constructor_block_2.article-section .article-section__article li::marker {
  content: "" !important;
}
.page-banner ~ #constructor_block_2.article-section .article-section__article li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.24em;
  width: 1.05rem;
  height: 1.05rem;
  background-color: var(--accent-primary-default, #198BC4);
  -webkit-mask: url("/assets/templates/icons/ok.svg") center/contain no-repeat;
  mask: url("/assets/templates/icons/ok.svg") center/contain no-repeat;
}
/* Service result description typography */
.page-banner ~ #constructor_block_4.article-section .article-section__article,
.page-banner ~ #constructor_block_5.article-section .article-section__article,
.page-banner ~ #constructor_block_6.article-section .article-section__article {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  font: var(--font-title-M) !important;
  letter-spacing: 0;
  text-wrap: balance;
}
.page-banner ~ #constructor_block_4.article-section .article-section__article p,
.page-banner ~ #constructor_block_5.article-section .article-section__article p,
.page-banner ~ #constructor_block_6.article-section .article-section__article p {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  color: #FFFFFF !important;
  font: inherit !important;
}
/* Service scope check icons */
.page-banner ~ #constructor_block_2.article-section .article-section__article li::before {
  top: 0.16em !important;
  width: 0.55rem !important;
  height: 0.95rem !important;
  border: solid var(--accent-primary-default, #198BC4) !important;
  border-width: 0 2px 2px 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  -webkit-mask: none !important;
  mask: none !important;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
}
/* Service result full grid width */
.page-banner ~ #constructor_block_4.article-section > .container,
.page-banner ~ #constructor_block_5.article-section > .container,
.page-banner ~ #constructor_block_6.article-section > .container {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  -webkit-column-gap: var(--grid-column-gap) !important;
     -moz-column-gap: var(--grid-column-gap) !important;
          column-gap: var(--grid-column-gap) !important;
}
.page-banner ~ #constructor_block_4.article-section .section__content,
.page-banner ~ #constructor_block_5.article-section .section__content,
.page-banner ~ #constructor_block_6.article-section .section__content,
.page-banner ~ #constructor_block_4.article-section .article-section__content,
.page-banner ~ #constructor_block_5.article-section .article-section__content,
.page-banner ~ #constructor_block_6.article-section .article-section__content,
.page-banner ~ #constructor_block_4.article-section .article-section__head,
.page-banner ~ #constructor_block_5.article-section .article-section__head,
.page-banner ~ #constructor_block_6.article-section .article-section__head,
.page-banner ~ #constructor_block_4.article-section .article-section__article,
.page-banner ~ #constructor_block_5.article-section .article-section__article,
.page-banner ~ #constructor_block_6.article-section .article-section__article {
  grid-column: 1/-1 !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
}
.page-banner ~ #constructor_block_4.article-section .article-section__article > *,
.page-banner ~ #constructor_block_5.article-section .article-section__article > *,
.page-banner ~ #constructor_block_6.article-section .article-section__article > * {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
}
/* Gentimed shared stages t5 component style */
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15]:not(.does-not-exist) {
  --stage-card-bg: #F3F5F8;
  --stage-card-bg-alt: #E8EDF3;
  --stage-card-bg-active: var(--gentimed-blue);
}
.section:has(.stage-card-t5) {
  --stage-card-bg: #F3F5F8;
  --stage-card-bg-alt: #E8EDF3;
  --stage-card-bg-active: var(--gentimed-blue);
}
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1q-w-1a-2r-33-32-38-2p-2x-32-2t-36]:not(.does-not-exist):not(.does-not-exist) {
  row-gap: clamp(1.5rem, 2vw, 2rem);
}
.section:has(.stage-card-t5) > .container {
  row-gap: clamp(1.5rem, 2vw, 2rem);
}
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-2t-2r-38-2x-33-32-2n-2n-2w-2t-2p-2s]:not(.does-not-exist):not(.does-not-exist) {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 0;
}
.section:has(.stage-card-t5) .section__head {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 0;
}
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-2t-2r-38-2x-33-32-2n-2n-38-2t-3c-38]:not(.does-not-exist):not(.does-not-exist) {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -webkit-column-gap: var(--grid-column-gap);
     -moz-column-gap: var(--grid-column-gap);
          column-gap: var(--grid-column-gap);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  width: 100%;
}
.section:has(.stage-card-t5) .section__text {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -webkit-column-gap: var(--grid-column-gap);
     -moz-column-gap: var(--grid-column-gap);
          column-gap: var(--grid-column-gap);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  width: 100%;
}
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-2t-2r-38-2x-33-32-2n-2n-38-2x-38-30-2t]:not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-2t-2r-38-2x-33-32-2n-2n-2s-2t-37-2r-36-2x-34-38-2x-33-32]:not(.does-not-exist):not(.does-not-exist) {
  max-width: none;
}
.section:has(.stage-card-t5) .section__title,
.section:has(.stage-card-t5) .section__description {
  max-width: none;
}
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-2t-2r-38-2x-33-32-2n-2n-2s-2t-37-2r-36-2x-34-38-2x-33-32]:not(.does-not-exist):not(.does-not-exist) {
  color: var(--gentimed-ink-muted);
}
.section:has(.stage-card-t5) .section__description {
  color: var(--gentimed-ink-muted);
}
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-2t-2r-38-2x-33-32-2n-2n-2r-33-32-38-2t-32-38]:not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36]:not(.does-not-exist):not(.does-not-exist) {
  overflow: visible;
}
.section:has(.stage-card-t5) .section__content,
.section:has(.stage-card-t5) .swiper {
  overflow: visible;
}
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-2t-2r-38-2x-33-32-2n-2n-2r-33-32-38-2t-32-38]:not(.does-not-exist):not(.does-not-exist) {
  margin-top: clamp(2rem, 3vw, 3.5rem);
}
.section:has(.stage-card-t5) .section__content {
  margin-top: clamp(2rem, 3vw, 3.5rem);
}
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-3b-36-2p-34-34-2t-36]:not(.does-not-exist):not(.does-not-exist) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 1.2vw, 1.5rem);
  width: 100% !important;
  height: auto !important;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
}
.section:has(.stage-card-t5) .swiper-wrapper {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 1.2vw, 1.5rem);
  width: 100% !important;
  height: auto !important;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
}
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t]:not(.does-not-exist):not(.does-not-exist) {
  width: auto !important;
  height: auto !important;
  min-width: 0;
  margin: 0 !important;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
}
.section:has(.stage-card-t5) .swiper-slide {
  width: auto !important;
  height: auto !important;
  min-width: 0;
  margin: 0 !important;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
}
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h]:not(.does-not-exist):not(.does-not-exist) {
  max-width: none;
  min-height: clamp(13.5rem, 15vw, 16.5rem);
  padding: clamp(1.35rem, 1.5vw, 1.8rem);
  gap: clamp(1rem, 1.2vw, 1.35rem);
  border-radius: 14px;
  background-color: var(--stage-card-bg);
  color: var(--gentimed-ink);
  -webkit-transition: background-color 220ms ease, -webkit-transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: background-color 220ms ease, -webkit-transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1), background-color 220ms ease;
  transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1), background-color 220ms ease, -webkit-transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}
.section:has(.stage-card-t5) .stage-card-t5 {
  max-width: none;
  min-height: clamp(13.5rem, 15vw, 16.5rem);
  padding: clamp(1.35rem, 1.5vw, 1.8rem);
  gap: clamp(1rem, 1.2vw, 1.35rem);
  border-radius: 14px;
  background-color: var(--stage-card-bg);
  color: var(--gentimed-ink);
  -webkit-transition: background-color 220ms ease, -webkit-transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: background-color 220ms ease, -webkit-transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1), background-color 220ms ease;
  transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1), background-color 220ms ease, -webkit-transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
}
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1e-32-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  background-color: var(--stage-card-bg-alt);
}
.section:has(.stage-card-t5) .swiper-slide:nth-child(2n) .stage-card-t5 {
  background-color: var(--stage-card-bg-alt);
}
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1d-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1i-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  background-color: var(--stage-card-bg-active);
  color: #FFFFFF;
}
.section:has(.stage-card-t5) .swiper-slide:nth-child(1) .stage-card-t5,
.section:has(.stage-card-t5) .swiper-slide:nth-child(6) .stage-card-t5 {
  background-color: var(--stage-card-bg-active);
  color: #FFFFFF;
}
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1f-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1h-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  background-color: var(--gentimed-green);
  color: #FFFFFF;
}
.section:has(.stage-card-t5) .swiper-slide:nth-child(3) .stage-card-t5,
.section:has(.stage-card-t5) .swiper-slide:nth-child(5) .stage-card-t5 {
  background-color: var(--gentimed-green);
  color: #FFFFFF;
}
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2q-33-2s-3d]:not(.does-not-exist):not(.does-not-exist) {
  margin-top: auto;
  width: 100%;
}
.section:has(.stage-card-t5) .stage-card-t5__body {
  margin-top: auto;
  width: 100%;
}
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2x-32-2s-2t-3c]:not(.does-not-exist):not(.does-not-exist) {
  color: rgba(10, 10, 10, 0.54);
  font-size: clamp(2.75rem, 4vw, 4.75rem);
  line-height: 0.9;
}
.section:has(.stage-card-t5) .stage-card-t5__index {
  color: rgba(10, 10, 10, 0.54);
  font-size: clamp(2.75rem, 4vw, 4.75rem);
  line-height: 0.9;
}
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-38-2x-38-30-2t]:not(.does-not-exist):not(.does-not-exist) {
  width: 100%;
  max-width: none;
  color: var(--gentimed-ink);
  text-wrap: pretty;
}
.section:has(.stage-card-t5) .stage-card-t5__title {
  width: 100%;
  max-width: none;
  color: var(--gentimed-ink);
  text-wrap: pretty;
}
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2s-2t-37-2r-36-2x-34-38-2x-33-32]:not(.does-not-exist):not(.does-not-exist) {
  display: block !important;
  height: auto !important;
  width: 100%;
  max-width: none;
  color: var(--gentimed-ink-muted);
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible;
}
.section:has(.stage-card-t5) .stage-card-t5__description {
  display: block !important;
  height: auto !important;
  width: 100%;
  max-width: none;
  color: var(--gentimed-ink-muted);
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible;
}
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2s-2t-37-2r-36-2x-34-38-2x-33-32-w-1a-38-2t-3c-38]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  display: inline;
  height: auto;
}
.section:has(.stage-card-t5) .stage-card-t5__description .text {
  display: inline;
  height: auto;
}
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1d-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2x-32-2s-2t-3c]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1d-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-38-2x-38-30-2t]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1d-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2s-2t-37-2r-36-2x-34-38-2x-33-32]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1f-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2x-32-2s-2t-3c]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1f-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-38-2x-38-30-2t]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1f-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2s-2t-37-2r-36-2x-34-38-2x-33-32]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1h-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2x-32-2s-2t-3c]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1h-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-38-2x-38-30-2t]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1h-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2s-2t-37-2r-36-2x-34-38-2x-33-32]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1i-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2x-32-2s-2t-3c]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1i-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-38-2x-38-30-2t]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1i-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2s-2t-37-2r-36-2x-34-38-2x-33-32]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  color: #FFFFFF;
}
.section:has(.stage-card-t5) .swiper-slide:nth-child(1) .stage-card-t5__index,
.section:has(.stage-card-t5) .swiper-slide:nth-child(1) .stage-card-t5__title,
.section:has(.stage-card-t5) .swiper-slide:nth-child(1) .stage-card-t5__description,
.section:has(.stage-card-t5) .swiper-slide:nth-child(3) .stage-card-t5__index,
.section:has(.stage-card-t5) .swiper-slide:nth-child(3) .stage-card-t5__title,
.section:has(.stage-card-t5) .swiper-slide:nth-child(3) .stage-card-t5__description,
.section:has(.stage-card-t5) .swiper-slide:nth-child(5) .stage-card-t5__index,
.section:has(.stage-card-t5) .swiper-slide:nth-child(5) .stage-card-t5__title,
.section:has(.stage-card-t5) .swiper-slide:nth-child(5) .stage-card-t5__description,
.section:has(.stage-card-t5) .swiper-slide:nth-child(6) .stage-card-t5__index,
.section:has(.stage-card-t5) .swiper-slide:nth-child(6) .stage-card-t5__title,
.section:has(.stage-card-t5) .swiper-slide:nth-child(6) .stage-card-t5__description {
  color: #FFFFFF;
}
@media (hover: hover) and (pointer: fine) {
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-1m-2w-33-3a-2t-36]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    -webkit-transform: translateY(-0.25rem);
        -ms-transform: translateY(-0.25rem);
            transform: translateY(-0.25rem);
    background-color: #F7F9FB;
  }
  .section:has(.stage-card-t5) .stage-card-t5:hover {
    -webkit-transform: translateY(-0.25rem);
        -ms-transform: translateY(-0.25rem);
            transform: translateY(-0.25rem);
    background-color: #F7F9FB;
  }
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1d-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-1m-2w-33-3a-2t-36]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1i-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-1m-2w-33-3a-2t-36]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    background-color: #1F8BC3;
  }
  .section:has(.stage-card-t5) .swiper-slide:nth-child(1) .stage-card-t5:hover,
  .section:has(.stage-card-t5) .swiper-slide:nth-child(6) .stage-card-t5:hover {
    background-color: #1F8BC3;
  }
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1f-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-1m-2w-33-3a-2t-36]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1h-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-1m-2w-33-3a-2t-36]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    background-color: #279E64;
  }
  .section:has(.stage-card-t5) .swiper-slide:nth-child(3) .stage-card-t5:hover,
  .section:has(.stage-card-t5) .swiper-slide:nth-child(5) .stage-card-t5:hover {
    background-color: #279E64;
  }
}
@media (max-width: 1160px) {
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-3b-36-2p-34-34-2t-36]:not(.does-not-exist):not(.does-not-exist) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .section:has(.stage-card-t5) .swiper-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 630px) and (max-width: 1160px) {
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1d-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1g-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    background-color: var(--stage-card-bg-active) !important;
    color: #FFFFFF !important;
  }
  .section:has(.stage-card-t5) .swiper-slide:nth-child(1) .stage-card-t5,
  .section:has(.stage-card-t5) .swiper-slide:nth-child(4) .stage-card-t5 {
    background-color: var(--stage-card-bg-active) !important;
    color: #FFFFFF !important;
  }
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1e-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1h-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    background-color: var(--stage-card-bg-alt) !important;
    color: var(--gentimed-ink) !important;
  }
  .section:has(.stage-card-t5) .swiper-slide:nth-child(2) .stage-card-t5,
  .section:has(.stage-card-t5) .swiper-slide:nth-child(5) .stage-card-t5 {
    background-color: var(--stage-card-bg-alt) !important;
    color: var(--gentimed-ink) !important;
  }
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1f-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1i-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    background-color: var(--gentimed-green) !important;
    color: #FFFFFF !important;
  }
  .section:has(.stage-card-t5) .swiper-slide:nth-child(3) .stage-card-t5,
  .section:has(.stage-card-t5) .swiper-slide:nth-child(6) .stage-card-t5 {
    background-color: var(--gentimed-green) !important;
    color: #FFFFFF !important;
  }
}
@media (max-width: 960px) {
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-2t-2r-38-2x-33-32-2n-2n-38-2t-3c-38]:not(.does-not-exist):not(.does-not-exist) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .section:has(.stage-card-t5) .section__text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-2t-2r-38-2x-33-32-2n-2n-2s-2t-37-2r-36-2x-34-38-2x-33-32]:not(.does-not-exist):not(.does-not-exist) {
    max-width: 42rem;
  }
  .section:has(.stage-card-t5) .section__description {
    max-width: 42rem;
  }
}
@media (max-width: 630px) {
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-3b-36-2p-34-34-2t-36]:not(.does-not-exist):not(.does-not-exist) {
    grid-template-columns: 1fr;
  }
  .section:has(.stage-card-t5) .swiper-wrapper {
    grid-template-columns: 1fr;
  }
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h]:not(.does-not-exist):not(.does-not-exist) {
    min-height: 12.5rem;
  }
  .section:has(.stage-card-t5) .stage-card-t5 {
    min-height: 12.5rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h]:not(.does-not-exist):not(.does-not-exist) {
    -webkit-transition: none;
    transition: none;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }
  .section:has(.stage-card-t5) .stage-card-t5 {
    -webkit-transition: none;
    transition: none;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }
}
/* Service result compact layout */
.page-banner ~ .article-section[style*="#198BC4"],
.page-banner ~ .article-section[style*="#198bc4"] {
  background-color: var(--accent-primary-default, #198BC4) !important;
  color: #FFFFFF !important;
}
.page-banner ~ .article-section[style*="#198BC4"] > .container,
.page-banner ~ .article-section[style*="#198bc4"] > .container {
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
}
.page-banner ~ .article-section[style*="#198BC4"] .article-section__content,
.page-banner ~ .article-section[style*="#198bc4"] .article-section__content {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
}
.page-banner ~ .article-section[style*="#198BC4"] .article-section__head,
.page-banner ~ .article-section[style*="#198bc4"] .article-section__head,
.page-banner ~ .article-section[style*="#198BC4"] .article-section__article,
.page-banner ~ .article-section[style*="#198bc4"] .article-section__article {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  margin-left: 0 !important;
  color: #FFFFFF !important;
}
.page-banner ~ .article-section[style*="#198BC4"] .article-section__title,
.page-banner ~ .article-section[style*="#198bc4"] .article-section__title {
  width: 100% !important;
  max-width: none !important;
  margin-top: 0 !important;
  color: #FFFFFF !important;
}
.page-banner ~ .article-section[style*="#198BC4"] .article-section__article,
.page-banner ~ .article-section[style*="#198bc4"] .article-section__article {
  margin-top: clamp(1rem, 1.35vw, 1.5rem) !important;
  font: var(--font-title-M) !important;
  letter-spacing: 0;
  text-wrap: balance;
}
.page-banner ~ .article-section[style*="#198BC4"] .article-section__article > *,
.page-banner ~ .article-section[style*="#198bc4"] .article-section__article > * {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  color: #FFFFFF !important;
}
.page-banner ~ .article-section[style*="#198BC4"] .article-section__article p,
.page-banner ~ .article-section[style*="#198bc4"] .article-section__article p {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  color: #FFFFFF !important;
  font: inherit !important;
}
.page-banner ~ .article-section[style*="#198BC4"] .article-section__article p:first-child,
.page-banner ~ .article-section[style*="#198bc4"] .article-section__article p:first-child {
  margin-top: 0 !important;
}
.page-banner ~ .article-section[style*="#198BC4"] .article-section__article p:last-child,
.page-banner ~ .article-section[style*="#198bc4"] .article-section__article p:last-child {
  margin-bottom: 0 !important;
}
/* Postregistration result margin fix */
.js-has-pseudo [csstools-has-2q-33-2s-3d-1m-2w-2p-37-14-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-15-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1i-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2j-37-38-3d-30-2t-16-1p-y-z-1d-1l-1k-1u-1v-1g-y-2l-w-1a-37-2t-2r-38-2x-33-32-2n-2n-2r-33-32-38-2t-32-38]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist),
.js-has-pseudo [csstools-has-2q-33-2s-3d-1m-2w-2p-37-14-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-15-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1i-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2j-37-38-3d-30-2t-16-1p-y-z-1d-1l-1k-2q-2r-1g-y-2l-w-1a-37-2t-2r-38-2x-33-32-2n-2n-2r-33-32-38-2t-32-38]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body:has(.page-banner) #constructor_block_6.article-section[style*="#198BC4"] .section__content,
body:has(.page-banner) #constructor_block_6.article-section[style*="#198bc4"] .section__content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.js-has-pseudo [csstools-has-2q-33-2s-3d-1m-2w-2p-37-14-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-15-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1i-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2j-37-38-3d-30-2t-16-1p-y-z-1d-1l-1k-1u-1v-1g-y-2l-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2r-33-32-38-2t-32-38]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist),
.js-has-pseudo [csstools-has-2q-33-2s-3d-1m-2w-2p-37-14-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-15-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1i-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2j-37-38-3d-30-2t-16-1p-y-z-1d-1l-1k-2q-2r-1g-y-2l-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2r-33-32-38-2t-32-38]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body:has(.page-banner) #constructor_block_6.article-section[style*="#198BC4"] .article-section__content,
body:has(.page-banner) #constructor_block_6.article-section[style*="#198bc4"] .article-section__content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* Service result title gap */
.page-banner ~ .article-section[style*="#198BC4"] .article-section__article,
.page-banner ~ .article-section[style*="#198bc4"] .article-section__article {
  margin-top: clamp(2rem, 3.125vw, 3.75rem) !important;
}
/* Header menu active and hover states */
.header .nav {
  --nav-link-color-hover: var(--gentimed-green);
  --nav-icon-color-hover: var(--gentimed-green);
  --nav-sub-link-color-hover: var(--gentimed-green);
  --nav-sub-link-background-color-hover: rgba(46, 173, 111, 0.12);
  --nav-sub-icon-color-hover: var(--gentimed-green);
}
.header .nav__item.active > .nav__link,
.header .nav__item.here > .nav__link {
  color: var(--gentimed-blue) !important;
}
.header .nav__item.active > .nav__link .icon,
.header .nav__item.here > .nav__link .icon {
  color: var(--gentimed-blue) !important;
}
@media (hover: hover) and (pointer: fine) {
  .header .nav__item > .nav__link:hover,
  .header .nav__item.active > .nav__link:hover,
  .header .nav__item.here > .nav__link:hover,
  .header .nav__item:hover > .nav__link {
    color: var(--gentimed-green) !important;
  }
  .header .nav__item > .nav__link:hover .icon,
  .header .nav__item.active > .nav__link:hover .icon,
  .header .nav__item.here > .nav__link:hover .icon,
  .header .nav__item:hover > .nav__link .icon {
    color: var(--gentimed-green) !important;
  }
  .header .nav__list .nav__list .nav__link:hover,
  .header .nav__list .nav__list .nav__item:hover > .nav__link {
    color: var(--gentimed-green) !important;
    background-color: rgba(46, 173, 111, 0.12) !important;
  }
  .header .nav__list .nav__list .nav__link:hover .icon,
  .header .nav__list .nav__list .nav__item:hover > .nav__link .icon {
    color: var(--gentimed-green) !important;
  }
}
/* Adaptive card grid color rhythm */
@media (min-width: 630px) and (max-width: 1160px) {
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2r-2p-36-2s]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2r-2p-36-2s]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    background-color: #EAF3F8 !important;
    color: #0A0A0A !important;
  }
  #constructor_block_3.article-section:has(.vird-required-grid) .vird-required-card,
  #constructor_block_3.article-section:has(.testing-trials-grid) .testing-trials-card {
    background-color: #EAF3F8 !important;
    color: #0A0A0A !important;
  }
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1d-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1g-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1h-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1d-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1g-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1h-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    background-color: var(--accent-primary-default, #198BC4) !important;
    color: #FFFFFF !important;
  }
  #constructor_block_3.article-section:has(.vird-required-grid) .vird-required-card:nth-child(1),
  #constructor_block_3.article-section:has(.vird-required-grid) .vird-required-card:nth-child(4),
  #constructor_block_3.article-section:has(.vird-required-grid) .vird-required-card:nth-child(5),
  #constructor_block_3.article-section:has(.testing-trials-grid) .testing-trials-card:nth-child(1),
  #constructor_block_3.article-section:has(.testing-trials-grid) .testing-trials-card:nth-child(4),
  #constructor_block_3.article-section:has(.testing-trials-grid) .testing-trials-card:nth-child(5) {
    background-color: var(--accent-primary-default, #198BC4) !important;
    color: #FFFFFF !important;
  }
}
@media (max-width: 629px) {
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2r-2p-36-2s]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2r-2p-36-2s]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    background-color: #EAF3F8 !important;
    color: #0A0A0A !important;
  }
  #constructor_block_3.article-section:has(.vird-required-grid) .vird-required-card,
  #constructor_block_3.article-section:has(.testing-trials-grid) .testing-trials-card {
    background-color: #EAF3F8 !important;
    color: #0A0A0A !important;
  }
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-33-2s-2s-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-33-2s-2s-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    background-color: var(--accent-primary-default, #198BC4) !important;
    color: #FFFFFF !important;
  }
  #constructor_block_3.article-section:has(.vird-required-grid) .vird-required-card:nth-child(odd),
  #constructor_block_3.article-section:has(.testing-trials-grid) .testing-trials-card:nth-child(odd) {
    background-color: var(--accent-primary-default, #198BC4) !important;
    color: #FFFFFF !important;
  }
}
/* Shared stages tablet color parity */
@media (min-width: 630px) and (max-width: 1160px) {
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1d-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1g-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    background-color: var(--stage-card-bg-active) !important;
    color: #FFFFFF !important;
  }
  .section:has(.stage-card-t5) .swiper-slide:nth-child(1) .stage-card-t5,
  .section:has(.stage-card-t5) .swiper-slide:nth-child(4) .stage-card-t5 {
    background-color: var(--stage-card-bg-active) !important;
    color: #FFFFFF !important;
  }
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1e-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1h-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    background-color: var(--stage-card-bg-alt) !important;
    color: var(--gentimed-ink) !important;
  }
  .section:has(.stage-card-t5) .swiper-slide:nth-child(2) .stage-card-t5,
  .section:has(.stage-card-t5) .swiper-slide:nth-child(5) .stage-card-t5 {
    background-color: var(--stage-card-bg-alt) !important;
    color: var(--gentimed-ink) !important;
  }
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1f-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1i-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    background-color: var(--gentimed-green) !important;
    color: #FFFFFF !important;
  }
  .section:has(.stage-card-t5) .swiper-slide:nth-child(3) .stage-card-t5,
  .section:has(.stage-card-t5) .swiper-slide:nth-child(6) .stage-card-t5 {
    background-color: var(--gentimed-green) !important;
    color: #FFFFFF !important;
  }
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1d-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2x-32-2s-2t-3c]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1d-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-38-2x-38-30-2t]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1d-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2s-2t-37-2r-36-2x-34-38-2x-33-32]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1f-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2x-32-2s-2t-3c]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1f-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-38-2x-38-30-2t]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1f-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2s-2t-37-2r-36-2x-34-38-2x-33-32]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1g-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2x-32-2s-2t-3c]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1g-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-38-2x-38-30-2t]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1g-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2s-2t-37-2r-36-2x-34-38-2x-33-32]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1i-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2x-32-2s-2t-3c]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1i-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-38-2x-38-30-2t]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1i-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2s-2t-37-2r-36-2x-34-38-2x-33-32]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    color: #FFFFFF !important;
  }
  .section:has(.stage-card-t5) .swiper-slide:nth-child(1) .stage-card-t5__index,
  .section:has(.stage-card-t5) .swiper-slide:nth-child(1) .stage-card-t5__title,
  .section:has(.stage-card-t5) .swiper-slide:nth-child(1) .stage-card-t5__description,
  .section:has(.stage-card-t5) .swiper-slide:nth-child(3) .stage-card-t5__index,
  .section:has(.stage-card-t5) .swiper-slide:nth-child(3) .stage-card-t5__title,
  .section:has(.stage-card-t5) .swiper-slide:nth-child(3) .stage-card-t5__description,
  .section:has(.stage-card-t5) .swiper-slide:nth-child(4) .stage-card-t5__index,
  .section:has(.stage-card-t5) .swiper-slide:nth-child(4) .stage-card-t5__title,
  .section:has(.stage-card-t5) .swiper-slide:nth-child(4) .stage-card-t5__description,
  .section:has(.stage-card-t5) .swiper-slide:nth-child(6) .stage-card-t5__index,
  .section:has(.stage-card-t5) .swiper-slide:nth-child(6) .stage-card-t5__title,
  .section:has(.stage-card-t5) .swiper-slide:nth-child(6) .stage-card-t5__description {
    color: #FFFFFF !important;
  }
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1e-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-38-2x-38-30-2t]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1h-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-38-2x-38-30-2t]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    color: var(--gentimed-ink) !important;
  }
  .section:has(.stage-card-t5) .swiper-slide:nth-child(2) .stage-card-t5__title,
  .section:has(.stage-card-t5) .swiper-slide:nth-child(5) .stage-card-t5__title {
    color: var(--gentimed-ink) !important;
  }
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1e-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2s-2t-37-2r-36-2x-34-38-2x-33-32]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1h-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2s-2t-37-2r-36-2x-34-38-2x-33-32]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    color: var(--gentimed-ink-muted) !important;
  }
  .section:has(.stage-card-t5) .swiper-slide:nth-child(2) .stage-card-t5__description,
  .section:has(.stage-card-t5) .swiper-slide:nth-child(5) .stage-card-t5__description {
    color: var(--gentimed-ink-muted) !important;
  }
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1e-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2x-32-2s-2t-3c]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1h-15-w-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-2n-2n-2x-32-2s-2t-3c]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    color: rgba(10, 10, 10, 0.54) !important;
  }
  .section:has(.stage-card-t5) .swiper-slide:nth-child(2) .stage-card-t5__index,
  .section:has(.stage-card-t5) .swiper-slide:nth-child(5) .stage-card-t5__index {
    color: rgba(10, 10, 10, 0.54) !important;
  }
}
/* Service reverse article mobile order */
@media (max-width: 960px) {
  .page-banner ~ .article-section.article-section_reverse > .container {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .page-banner ~ .article-section.article-section_reverse .section__content {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .page-banner ~ .article-section.article-section_reverse .article-section__image {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
    width: 100%;
  }
}
/* Header active dropdown arrow */
.header .nav__item.active > .nav__link::before,
.header .nav__item.active > .nav__link::after,
.header .nav__item.here > .nav__link::before,
.header .nav__item.here > .nav__link::after {
  color: var(--gentimed-blue) !important;
  border-color: currentColor !important;
  background-color: currentColor;
}
@media (hover: hover) and (pointer: fine) {
  .header .nav__item.active > .nav__link:hover::before,
  .header .nav__item.active > .nav__link:hover::after,
  .header .nav__item.here > .nav__link:hover::before,
  .header .nav__item.here > .nav__link:hover::after,
  .header .nav__item.active:hover > .nav__link::before,
  .header .nav__item.active:hover > .nav__link::after,
  .header .nav__item.here:hover > .nav__link::before,
  .header .nav__item.here:hover > .nav__link::after {
    color: var(--gentimed-green) !important;
    border-color: currentColor !important;
    background-color: currentColor;
  }
}
/* Service page banner mobile content height */
@media (max-width: 629px) {
  .js-has-pseudo [csstools-has-1a-3b-36-2p-34-34-2t-36-1m-2w-2p-37-14-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-w-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15-w-1a-2q-36-2t-2p-2s-2r-36-39-31-2q-37-w-17-w-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: clamp(2.5rem, 10vw, 3.25rem) !important;
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .wrapper:has(.page-banner ~ .article-section .service-advantages-grid) .breadcrumbs + .page-banner {
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: clamp(2.5rem, 10vw, 3.25rem) !important;
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .js-has-pseudo [csstools-has-1a-3b-36-2p-34-34-2t-36-1m-2w-2p-37-14-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-w-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15-w-1a-2q-36-2t-2p-2s-2r-36-39-31-2q-37-w-17-w-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-1a-2r-33-32-38-2p-2x-32-2t-36]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-3b-36-2p-34-34-2t-36-1m-2w-2p-37-14-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-w-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15-w-1a-2q-36-2t-2p-2s-2r-36-39-31-2q-37-w-17-w-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2r-33-32-38-2t-32-38]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-3b-36-2p-34-34-2t-36-1m-2w-2p-37-14-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-w-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15-w-1a-2q-36-2t-2p-2s-2r-36-39-31-2q-37-w-17-w-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-2n-2n-2w-2t-2p-2s]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    height: auto !important;
    min-height: 0 !important;
  }
  .wrapper:has(.page-banner ~ .article-section .service-advantages-grid) .breadcrumbs + .page-banner .container,
  .wrapper:has(.page-banner ~ .article-section .service-advantages-grid) .breadcrumbs + .page-banner .page-banner__content,
  .wrapper:has(.page-banner ~ .article-section .service-advantages-grid) .breadcrumbs + .page-banner .page-banner__head {
    height: auto !important;
    min-height: 0 !important;
  }
}
/* Targeted reverse article order on tablet */
@media (min-width: 961px) and (max-width: 1100px) {
  .js-has-pseudo [csstools-has-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-36-2t-3a-2t-36-37-2t-1m-2w-2p-37-14-2x-31-2v-2j-37-36-2r-16-1p-2x-32-37-34-2t-2r-38-2x-33-32-19-2t-3c-34-2t-36-38-19-34-33-36-38-36-2p-2x-38-19-2r-2t-32-38-2t-36-2t-2s-2l-15-w-1q-w-1a-2r-33-32-38-2p-2x-32-2t-36]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist),
  .js-has-pseudo [csstools-has-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-36-2t-3a-2t-36-37-2t-1m-2w-2p-37-14-2x-31-2v-2j-37-36-2r-16-1p-2p-39-38-2w-33-36-2x-3e-2t-2s-19-36-2t-34-36-2t-37-2t-32-38-2p-38-2x-3a-2t-19-34-33-36-38-36-2p-2x-38-19-2r-2t-32-38-2t-36-2t-2s-2l-15-w-1q-w-1a-2r-33-32-38-2p-2x-32-2t-36]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .article-section.article-section_reverse:has(img[src*=inspection-expert-portrait-centered]) > .container,
  .article-section.article-section_reverse:has(img[src*=authorized-representative-portrait-centered]) > .container {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .js-has-pseudo [csstools-has-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-36-2t-3a-2t-36-37-2t-1m-2w-2p-37-14-2x-31-2v-2j-37-36-2r-16-1p-2x-32-37-34-2t-2r-38-2x-33-32-19-2t-3c-34-2t-36-38-19-34-33-36-38-36-2p-2x-38-19-2r-2t-32-38-2t-36-2t-2s-2l-15-w-1a-37-2t-2r-38-2x-33-32-2n-2n-2r-33-32-38-2t-32-38]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist),
  .js-has-pseudo [csstools-has-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-36-2t-3a-2t-36-37-2t-1m-2w-2p-37-14-2x-31-2v-2j-37-36-2r-16-1p-2p-39-38-2w-33-36-2x-3e-2t-2s-19-36-2t-34-36-2t-37-2t-32-38-2p-38-2x-3a-2t-19-34-33-36-38-36-2p-2x-38-19-2r-2t-32-38-2t-36-2t-2s-2l-15-w-1a-37-2t-2r-38-2x-33-32-2n-2n-2r-33-32-38-2t-32-38]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .article-section.article-section_reverse:has(img[src*=inspection-expert-portrait-centered]) .section__content,
  .article-section.article-section_reverse:has(img[src*=authorized-representative-portrait-centered]) .section__content {
    -webkit-box-ordinal-group: 2 !important;
        -ms-flex-order: 1 !important;
            order: 1 !important;
  }
  .js-has-pseudo [csstools-has-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-36-2t-3a-2t-36-37-2t-1m-2w-2p-37-14-2x-31-2v-2j-37-36-2r-16-1p-2x-32-37-34-2t-2r-38-2x-33-32-19-2t-3c-34-2t-36-38-19-34-33-36-38-36-2p-2x-38-19-2r-2t-32-38-2t-36-2t-2s-2l-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2x-31-2p-2v-2t]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist),
  .js-has-pseudo [csstools-has-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-36-2t-3a-2t-36-37-2t-1m-2w-2p-37-14-2x-31-2v-2j-37-36-2r-16-1p-2p-39-38-2w-33-36-2x-3e-2t-2s-19-36-2t-34-36-2t-37-2t-32-38-2p-38-2x-3a-2t-19-34-33-36-38-36-2p-2x-38-19-2r-2t-32-38-2t-36-2t-2s-2l-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2x-31-2p-2v-2t]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
    width: 100%;
  }
  .article-section.article-section_reverse:has(img[src*=inspection-expert-portrait-centered]) .article-section__image,
  .article-section.article-section_reverse:has(img[src*=authorized-representative-portrait-centered]) .article-section__image {
    -webkit-box-ordinal-group: 3 !important;
        -ms-flex-order: 2 !important;
            order: 2 !important;
    width: 100%;
  }
}
/* Adaptive card grid color rhythm correction */
@media (min-width: 630px) and (max-width: 1160px) {
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2r-2p-36-2s]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2r-2p-36-2s]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    background-color: #EAF3F8 !important;
    color: #0A0A0A !important;
  }
  #constructor_block_3.article-section:has(.vird-required-grid) .vird-required-card,
  #constructor_block_3.article-section:has(.testing-trials-grid) .testing-trials-card {
    background-color: #EAF3F8 !important;
    color: #0A0A0A !important;
  }
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1d-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1g-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1h-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1k-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1d-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1g-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1h-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-1k-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    background-color: var(--accent-primary-default, #198BC4) !important;
    color: #FFFFFF !important;
  }
  #constructor_block_3.article-section:has(.vird-required-grid) .vird-required-card:nth-child(1),
  #constructor_block_3.article-section:has(.vird-required-grid) .vird-required-card:nth-child(4),
  #constructor_block_3.article-section:has(.vird-required-grid) .vird-required-card:nth-child(5),
  #constructor_block_3.article-section:has(.vird-required-grid) .vird-required-card:nth-child(8),
  #constructor_block_3.article-section:has(.testing-trials-grid) .testing-trials-card:nth-child(1),
  #constructor_block_3.article-section:has(.testing-trials-grid) .testing-trials-card:nth-child(4),
  #constructor_block_3.article-section:has(.testing-trials-grid) .testing-trials-card:nth-child(5),
  #constructor_block_3.article-section:has(.testing-trials-grid) .testing-trials-card:nth-child(8) {
    background-color: var(--accent-primary-default, #198BC4) !important;
    color: #FFFFFF !important;
  }
}
@media (max-width: 629px) {
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2r-2p-36-2s]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2r-2p-36-2s]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    background-color: #EAF3F8 !important;
    color: #0A0A0A !important;
  }
  #constructor_block_3.article-section:has(.vird-required-grid) .vird-required-card,
  #constructor_block_3.article-section:has(.testing-trials-grid) .testing-trials-card {
    background-color: #EAF3F8 !important;
    color: #0A0A0A !important;
  }
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-33-2s-2s-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2r-2p-36-2s-1m-32-38-2w-19-2r-2w-2x-30-2s-14-33-2s-2s-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    background-color: var(--accent-primary-default, #198BC4) !important;
    color: #FFFFFF !important;
  }
  #constructor_block_3.article-section:has(.vird-required-grid) .vird-required-card:nth-child(odd),
  #constructor_block_3.article-section:has(.testing-trials-grid) .testing-trials-card:nth-child(odd) {
    background-color: var(--accent-primary-default, #198BC4) !important;
    color: #FFFFFF !important;
  }
}
/* Services tasks grid layout */
.js-has-pseudo [csstools-has-2q-33-2s-3d-1m-2w-2p-37-14-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-37-2t-2r-38-2x-33-32-15-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-37-2t-2r-38-2x-33-32-w-1a-37-3b-2x-34-2t-36]:not(#does-not-exist):not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
  overflow: visible !important;
}
body:has(.main > #constructor_block_3.advantages-section) #constructor_block_3.advantages-section .swiper {
  overflow: visible !important;
}
.js-has-pseudo [csstools-has-2q-33-2s-3d-1m-2w-2p-37-14-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-37-2t-2r-38-2x-33-32-15-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-37-2t-2r-38-2x-33-32-w-1a-37-3b-2x-34-2t-36-19-3b-36-2p-34-34-2t-36]:not(#does-not-exist):not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 1.2vw, 1.5rem);
  width: 100% !important;
  height: auto !important;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
}
body:has(.main > #constructor_block_3.advantages-section) #constructor_block_3.advantages-section .swiper-wrapper {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 1.2vw, 1.5rem);
  width: 100% !important;
  height: auto !important;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
}
.js-has-pseudo [csstools-has-2q-33-2s-3d-1m-2w-2p-37-14-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-37-2t-2r-38-2x-33-32-15-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-37-2t-2r-38-2x-33-32-w-1a-37-3b-2x-34-2t-36-19-37-30-2x-2s-2t]:not(#does-not-exist):not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
  width: auto !important;
  min-width: 0;
  height: auto !important;
  margin: 0 !important;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
}
body:has(.main > #constructor_block_3.advantages-section) #constructor_block_3.advantages-section .swiper-slide {
  width: auto !important;
  min-width: 0;
  height: auto !important;
  margin: 0 !important;
  -webkit-transform: none !important;
      -ms-transform: none !important;
          transform: none !important;
}
.js-has-pseudo [csstools-has-2q-33-2s-3d-1m-2w-2p-37-14-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-37-2t-2r-38-2x-33-32-15-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-37-2t-2r-38-2x-33-32-w-1a-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2r-2p-36-2s]:not(#does-not-exist):not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
  width: 100%;
}
body:has(.main > #constructor_block_3.advantages-section) #constructor_block_3.advantages-section .advantages-card {
  width: 100%;
}
@media (max-width: 960px) {
  .js-has-pseudo [csstools-has-2q-33-2s-3d-1m-2w-2p-37-14-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-37-2t-2r-38-2x-33-32-15-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-37-2t-2r-38-2x-33-32-w-1a-37-3b-2x-34-2t-36-19-3b-36-2p-34-34-2t-36]:not(#does-not-exist):not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body:has(.main > #constructor_block_3.advantages-section) #constructor_block_3.advantages-section .swiper-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 630px) {
  .js-has-pseudo [csstools-has-2q-33-2s-3d-1m-2w-2p-37-14-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-37-2t-2r-38-2x-33-32-15-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-37-2t-2r-38-2x-33-32-w-1a-37-3b-2x-34-2t-36-19-3b-36-2p-34-34-2t-36]:not(#does-not-exist):not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
    grid-template-columns: 1fr;
  }
  body:has(.main > #constructor_block_3.advantages-section) #constructor_block_3.advantages-section .swiper-wrapper {
    grid-template-columns: 1fr;
  }
}
/* Gentimed button concept update */
:root {
  --gentimed-blue-hover: #147CB0;
  --gentimed-green-hover: #279E64;
}
.button:not(.button_secondary):not(.button_tertiary):not(.button_fourth):not(.button_quaternary):not(.button_social):not(.section__more),
.button.button_primary,
.button.button_template:not(.button_secondary):not(.button_tertiary):not(.button_fourth):not(.button_quaternary):not(.section__more) {
  --button-bg-color: var(--gentimed-blue, #198BC4) !important;
  --button-bg-color-hover: var(--gentimed-blue-hover, #147CB0) !important;
  --button-border-color: var(--gentimed-blue, #198BC4) !important;
  --button-border-color-hover: var(--gentimed-blue-hover, #147CB0) !important;
  --button-text-color: #FFFFFF !important;
  --button-text-color-hover: #FFFFFF !important;
  --button-icon-color: #FFFFFF !important;
  --button-icon-color-hover: #FFFFFF !important;
}
.button.button_secondary,
.header-secondary__button.button.button_secondary,
.mobile-menu__button.button.button_secondary {
  --button-bg-color: var(--gentimed-green, #2EAD6F) !important;
  --button-bg-color-hover: var(--gentimed-green-hover, #279E64) !important;
  --button-border-color: var(--gentimed-green, #2EAD6F) !important;
  --button-border-color-hover: var(--gentimed-green-hover, #279E64) !important;
  --button-text-color: #FFFFFF !important;
  --button-text-color-hover: #FFFFFF !important;
  --button-icon-color: #FFFFFF !important;
  --button-icon-color-hover: #FFFFFF !important;
}
.button.button_tertiary {
  --button-bg-color: #FFFFFF !important;
  --button-bg-color-hover: #FFFFFF !important;
  --button-border-color: #FFFFFF !important;
  --button-border-color-hover: #FFFFFF !important;
  --button-text-color: #0A0A0A !important;
  --button-text-color-hover: #0A0A0A !important;
  --button-icon-color: #0A0A0A !important;
  --button-icon-color-hover: #0A0A0A !important;
}
.button.button_fourth,
.button.button_quaternary,
.section__more.button.button_secondary,
.button.button_template.section__more {
  --button-bg-color: transparent !important;
  --button-bg-color-hover: transparent !important;
  --button-border-color: var(--gentimed-blue, #198BC4) !important;
  --button-border-color-hover: var(--gentimed-blue-hover, #147CB0) !important;
  --button-border-width: 1px !important;
  --button-text-color: var(--gentimed-ink, #0A0A0A) !important;
  --button-text-color-hover: var(--gentimed-blue-hover, #147CB0) !important;
  --button-icon-color: var(--gentimed-blue, #198BC4) !important;
  --button-icon-color-hover: var(--gentimed-blue-hover, #147CB0) !important;
}
.button.button_template:not(.button_secondary):not(.button_tertiary):not(.button_fourth):not(.button_quaternary):not(.section__more)::before,
.button.button_template.no-invert:not(.button_tertiary):not(.section__more)::before {
  background: var(--gentimed-blue, #198BC4) !important;
  border: 1px solid var(--gentimed-blue, #198BC4) !important;
}
.button.button_template:not(.button_secondary):not(.button_tertiary):not(.button_fourth):not(.button_quaternary):not(.section__more):hover::before,
.button.button_template.no-invert:not(.button_tertiary):not(.section__more):hover::before {
  background: var(--gentimed-blue-hover, #147CB0) !important;
  border-color: var(--gentimed-blue-hover, #147CB0) !important;
}
.button.button_template.button_secondary::before,
.header-secondary__button.button.button_secondary::before,
.mobile-menu__button.button.button_secondary::before {
  background: var(--gentimed-green, #2EAD6F) !important;
  border: 1px solid var(--gentimed-green, #2EAD6F) !important;
}
.button.button_template.button_secondary:hover::before,
.header-secondary__button.button.button_secondary:hover::before,
.mobile-menu__button.button.button_secondary:hover::before {
  background: var(--gentimed-green-hover, #279E64) !important;
  border-color: var(--gentimed-green-hover, #279E64) !important;
}
.button.button_tertiary::before,
.button.button_tertiary:hover::before {
  background: #FFFFFF !important;
  border: 1px solid #FFFFFF !important;
}
.button.button_fourth::before,
.button.button_quaternary::before,
.section__more.button.button_secondary::before,
.button.button_template.section__more::before {
  background: transparent !important;
  border: 1px solid var(--gentimed-blue, #198BC4) !important;
}
.button.button_fourth:hover::before,
.button.button_quaternary:hover::before,
.section__more.button.button_secondary:hover::before,
.button.button_template.section__more:hover::before {
  background: transparent !important;
  border-color: var(--gentimed-blue-hover, #147CB0) !important;
}
.front-banner__button-list .button.button_template.button_primary {
  --button-bg-color: #FFFFFF !important;
  --button-bg-color-hover: #FFFFFF !important;
  --button-border-color: #FFFFFF !important;
  --button-border-color-hover: #FFFFFF !important;
  --button-text-color: #0A0A0A !important;
  --button-text-color-hover: #0A0A0A !important;
  --button-icon-color: #0A0A0A !important;
  --button-icon-color-hover: #0A0A0A !important;
  color: #0A0A0A !important;
}
.front-banner__button-list .button.button_template.button_primary::before,
.front-banner__button-list .button.button_template.button_primary:hover::before {
  background: #FFFFFF !important;
  border-color: #FFFFFF !important;
}
/* Services tasks card color refinement */
.js-has-pseudo [csstools-has-2q-33-2s-3d-1m-2w-2p-37-14-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-37-2t-2r-38-2x-33-32-15-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-37-2t-2r-38-2x-33-32-w-1a-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2r-2p-36-2s]:not(#does-not-exist):not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
  --card-background-color: #EAF3F8 !important;
  background-color: var(--card-background-color) !important;
}
body:has(.main > #constructor_block_3.advantages-section) #constructor_block_3.advantages-section .advantages-card {
  --card-background-color: #EAF3F8 !important;
  background-color: var(--card-background-color) !important;
}
.js-has-pseudo [csstools-has-2q-33-2s-3d-1m-2w-2p-37-14-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-37-2t-2r-38-2x-33-32-15-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-37-2t-2r-38-2x-33-32-w-1a-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2r-2p-36-2s-w-1a-2x-2r-33-32]:not(#does-not-exist):not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
  -webkit-filter: brightness(0) saturate(100%) invert(43%) sepia(85%) saturate(1072%) hue-rotate(166deg) brightness(86%) contrast(90%) !important;
          filter: brightness(0) saturate(100%) invert(43%) sepia(85%) saturate(1072%) hue-rotate(166deg) brightness(86%) contrast(90%) !important;
}
body:has(.main > #constructor_block_3.advantages-section) #constructor_block_3.advantages-section .advantages-card .icon {
  -webkit-filter: brightness(0) saturate(100%) invert(43%) sepia(85%) saturate(1072%) hue-rotate(166deg) brightness(86%) contrast(90%) !important;
          filter: brightness(0) saturate(100%) invert(43%) sepia(85%) saturate(1072%) hue-rotate(166deg) brightness(86%) contrast(90%) !important;
}
/* Front banner white primary button lock */
.front-banner .front-banner__button-list .button.button_template.button_primary,
.front-banner .front-banner__button-list .button.button_template.button_primary:hover,
.front-banner .front-banner__button-list .button.button_template.button_primary:focus-visible {
  --button-bg-color: #FFFFFF !important;
  --button-bg-color-hover: #FFFFFF !important;
  --button-border-color: #FFFFFF !important;
  --button-border-color-hover: #FFFFFF !important;
  --button-text-color: #0A0A0A !important;
  --button-text-color-hover: #0A0A0A !important;
  --button-icon-color: #0A0A0A !important;
  --button-icon-color-hover: #0A0A0A !important;
  color: #0A0A0A !important;
}
.front-banner .front-banner__button-list .button.button_template.button_primary::before,
.front-banner .front-banner__button-list .button.button_template.button_primary::after,
.front-banner .front-banner__button-list .button.button_template.button_primary:hover::before,
.front-banner .front-banner__button-list .button.button_template.button_primary:hover::after,
.front-banner .front-banner__button-list .button.button_template.button_primary:focus-visible::before,
.front-banner .front-banner__button-list .button.button_template.button_primary:focus-visible::after {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  border-color: #FFFFFF !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
.front-banner .front-banner__button-list .button.button_template.button_primary .button__text,
.front-banner .front-banner__button-list .button.button_template.button_primary .text,
.front-banner .front-banner__button-list .button.button_template.button_primary .icon {
  color: #0A0A0A !important;
}
/* Service why blocks use advantages card type */
.js-has-pseudo [csstools-has-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15]:not(.does-not-exist):not(.does-not-exist) {
  padding-top: var(--section-padding) !important;
  background: var(--bg-white, #FFFFFF) !important;
  background-color: var(--bg-white, #FFFFFF) !important;
  background-image: none !important;
}
.page-banner ~ .article-section:has(.service-advantages-grid) {
  padding-top: var(--section-padding) !important;
  background: var(--bg-white, #FFFFFF) !important;
  background-color: var(--bg-white, #FFFFFF) !important;
  background-image: none !important;
}
.js-has-pseudo [csstools-has-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15-w-1q-w-1a-2r-33-32-38-2p-2x-32-2t-36]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2r-33-32-38-2t-32-38]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2p-36-38-2x-2r-30-2t]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  color: #0A0A0A !important;
  font: inherit !important;
}
.page-banner ~ .article-section:has(.service-advantages-grid) > .container,
.page-banner ~ .article-section:has(.service-advantages-grid) .article-section__content,
.page-banner ~ .article-section:has(.service-advantages-grid) .article-section__article {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  color: #0A0A0A !important;
  font: inherit !important;
}
.js-has-pseudo [csstools-has-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2w-2t-2p-2s]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-38-2x-38-30-2t]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  display: none !important;
}
.page-banner ~ .article-section:has(.service-advantages-grid) .article-section__head,
.page-banner ~ .article-section:has(.service-advantages-grid) .article-section__title {
  display: none !important;
}
.service-advantages-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 1.2vw, 1.5rem);
  width: 100%;
}
@media (min-width: 630px) and (max-width: 1160px) {
  .service-advantages-grid {
    grid-template-columns: repeat(3, minmax(clamp(17.5rem, 33vw, 22rem), 1fr));
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -ms-scroll-snap-type: x proximity;
        scroll-snap-type: x proximity;
  }
  .service-advantages-grid::-webkit-scrollbar {
    display: none;
  }
  .service-advantages-grid .advantages-card {
    scroll-snap-align: start;
  }
}
@media (max-width: 629px) {
  .service-advantages-grid {
    grid-template-columns: 1fr;
  }
}
/* Services project stages adaptive color rhythm */
#constructor_block_6 .swiper-slide .stage-card-t5 {
  background-color: var(--stage-card-bg-alt) !important;
  color: var(--gentimed-ink, #0A0A0A) !important;
}
#constructor_block_6 .swiper-slide .stage-card-t5__index {
  color: rgba(10, 10, 10, 0.54) !important;
}
#constructor_block_6 .swiper-slide .stage-card-t5__title {
  color: var(--gentimed-ink, #0A0A0A) !important;
}
#constructor_block_6 .swiper-slide .stage-card-t5__description {
  color: var(--gentimed-ink-muted, rgba(10, 10, 10, 0.72)) !important;
}
#constructor_block_6 .swiper-slide:nth-child(1) .stage-card-t5,
#constructor_block_6 .swiper-slide:nth-child(6) .stage-card-t5 {
  background-color: var(--stage-card-bg-active, #198BC4) !important;
  color: #FFFFFF !important;
}
#constructor_block_6 .swiper-slide:nth-child(3) .stage-card-t5,
#constructor_block_6 .swiper-slide:nth-child(5) .stage-card-t5 {
  background-color: var(--gentimed-green, #31AD72) !important;
  color: #FFFFFF !important;
}
#constructor_block_6 .swiper-slide:nth-child(1) .stage-card-t5__index,
#constructor_block_6 .swiper-slide:nth-child(1) .stage-card-t5__title,
#constructor_block_6 .swiper-slide:nth-child(1) .stage-card-t5__description,
#constructor_block_6 .swiper-slide:nth-child(3) .stage-card-t5__index,
#constructor_block_6 .swiper-slide:nth-child(3) .stage-card-t5__title,
#constructor_block_6 .swiper-slide:nth-child(3) .stage-card-t5__description,
#constructor_block_6 .swiper-slide:nth-child(5) .stage-card-t5__index,
#constructor_block_6 .swiper-slide:nth-child(5) .stage-card-t5__title,
#constructor_block_6 .swiper-slide:nth-child(5) .stage-card-t5__description,
#constructor_block_6 .swiper-slide:nth-child(6) .stage-card-t5__index,
#constructor_block_6 .swiper-slide:nth-child(6) .stage-card-t5__title,
#constructor_block_6 .swiper-slide:nth-child(6) .stage-card-t5__description {
  color: #FFFFFF !important;
}
@media (min-width: 631px) and (max-width: 1160px) {
  #constructor_block_6 .swiper-slide .stage-card-t5 {
    background-color: var(--stage-card-bg-alt, #E8EDF3) !important;
    color: var(--gentimed-ink, #0A0A0A) !important;
  }
  #constructor_block_6 .swiper-slide .stage-card-t5__index {
    color: rgba(10, 10, 10, 0.54) !important;
  }
  #constructor_block_6 .swiper-slide .stage-card-t5__title {
    color: var(--gentimed-ink, #0A0A0A) !important;
  }
  #constructor_block_6 .swiper-slide .stage-card-t5__description {
    color: var(--gentimed-ink-muted, rgba(10, 10, 10, 0.72)) !important;
  }
  #constructor_block_6 .swiper-slide:nth-child(1) .stage-card-t5,
  #constructor_block_6 .swiper-slide:nth-child(4) .stage-card-t5 {
    background-color: var(--stage-card-bg-active, #198BC4) !important;
    color: #FFFFFF !important;
  }
  #constructor_block_6 .swiper-slide:nth-child(3) .stage-card-t5,
  #constructor_block_6 .swiper-slide:nth-child(6) .stage-card-t5 {
    background-color: var(--gentimed-green, #31AD72) !important;
    color: #FFFFFF !important;
  }
  #constructor_block_6 .swiper-slide:nth-child(1) .stage-card-t5__index,
  #constructor_block_6 .swiper-slide:nth-child(1) .stage-card-t5__title,
  #constructor_block_6 .swiper-slide:nth-child(1) .stage-card-t5__description,
  #constructor_block_6 .swiper-slide:nth-child(3) .stage-card-t5__index,
  #constructor_block_6 .swiper-slide:nth-child(3) .stage-card-t5__title,
  #constructor_block_6 .swiper-slide:nth-child(3) .stage-card-t5__description,
  #constructor_block_6 .swiper-slide:nth-child(4) .stage-card-t5__index,
  #constructor_block_6 .swiper-slide:nth-child(4) .stage-card-t5__title,
  #constructor_block_6 .swiper-slide:nth-child(4) .stage-card-t5__description,
  #constructor_block_6 .swiper-slide:nth-child(6) .stage-card-t5__index,
  #constructor_block_6 .swiper-slide:nth-child(6) .stage-card-t5__title,
  #constructor_block_6 .swiper-slide:nth-child(6) .stage-card-t5__description {
    color: #FFFFFF !important;
  }
  #constructor_block_6 .swiper-slide:nth-child(5) .stage-card-t5 {
    background-color: var(--stage-card-bg-alt, #E8EDF3) !important;
    color: var(--gentimed-ink, #0A0A0A) !important;
  }
  #constructor_block_6 .swiper-slide:nth-child(5) .stage-card-t5__index {
    color: rgba(10, 10, 10, 0.54) !important;
  }
  #constructor_block_6 .swiper-slide:nth-child(5) .stage-card-t5__title {
    color: var(--gentimed-ink, #0A0A0A) !important;
  }
  #constructor_block_6 .swiper-slide:nth-child(5) .stage-card-t5__description {
    color: var(--gentimed-ink-muted, rgba(10, 10, 10, 0.72)) !important;
  }
}
@media (max-width: 630px) {
  #constructor_block_6 .swiper-slide .stage-card-t5 {
    background-color: var(--stage-card-bg-alt, #E8EDF3) !important;
    color: var(--gentimed-ink, #0A0A0A) !important;
  }
  #constructor_block_6 .swiper-slide .stage-card-t5__index {
    color: rgba(10, 10, 10, 0.54) !important;
  }
  #constructor_block_6 .swiper-slide .stage-card-t5__title {
    color: var(--gentimed-ink, #0A0A0A) !important;
  }
  #constructor_block_6 .swiper-slide .stage-card-t5__description {
    color: var(--gentimed-ink-muted, rgba(10, 10, 10, 0.72)) !important;
  }
  #constructor_block_6 .swiper-slide:nth-child(1) .stage-card-t5,
  #constructor_block_6 .swiper-slide:nth-child(4) .stage-card-t5 {
    background-color: var(--stage-card-bg-active, #198BC4) !important;
    color: #FFFFFF !important;
  }
  #constructor_block_6 .swiper-slide:nth-child(3) .stage-card-t5,
  #constructor_block_6 .swiper-slide:nth-child(6) .stage-card-t5 {
    background-color: var(--gentimed-green, #31AD72) !important;
    color: #FFFFFF !important;
  }
  #constructor_block_6 .swiper-slide:nth-child(5) .stage-card-t5 {
    background-color: var(--stage-card-bg-alt, #E8EDF3) !important;
    color: var(--gentimed-ink, #0A0A0A) !important;
  }
  #constructor_block_6 .swiper-slide:nth-child(5) .stage-card-t5__index {
    color: rgba(10, 10, 10, 0.54) !important;
  }
  #constructor_block_6 .swiper-slide:nth-child(5) .stage-card-t5__title {
    color: var(--gentimed-ink, #0A0A0A) !important;
  }
  #constructor_block_6 .swiper-slide:nth-child(5) .stage-card-t5__description {
    color: var(--gentimed-ink-muted, rgba(10, 10, 10, 0.72)) !important;
  }
  #constructor_block_6 .swiper-slide:nth-child(1) .stage-card-t5__index,
  #constructor_block_6 .swiper-slide:nth-child(1) .stage-card-t5__title,
  #constructor_block_6 .swiper-slide:nth-child(1) .stage-card-t5__description,
  #constructor_block_6 .swiper-slide:nth-child(3) .stage-card-t5__index,
  #constructor_block_6 .swiper-slide:nth-child(3) .stage-card-t5__title,
  #constructor_block_6 .swiper-slide:nth-child(3) .stage-card-t5__description,
  #constructor_block_6 .swiper-slide:nth-child(4) .stage-card-t5__index,
  #constructor_block_6 .swiper-slide:nth-child(4) .stage-card-t5__title,
  #constructor_block_6 .swiper-slide:nth-child(4) .stage-card-t5__description,
  #constructor_block_6 .swiper-slide:nth-child(6) .stage-card-t5__index,
  #constructor_block_6 .swiper-slide:nth-child(6) .stage-card-t5__title,
  #constructor_block_6 .swiper-slide:nth-child(6) .stage-card-t5__description {
    color: #FFFFFF !important;
  }
}
/* Header icon buttons hover */
.header .burger-button.button,
.header .header-primary__call.button {
  -webkit-transition: background-color 220ms ease, border-color 220ms ease, color 220ms ease;
  transition: background-color 220ms ease, border-color 220ms ease, color 220ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .header .burger-button.button:hover,
  .header .header-primary__call.button:hover {
    background-color: var(--gentimed-blue-hover, #147CB0) !important;
    border-color: var(--gentimed-blue-hover, #147CB0) !important;
    color: #FFFFFF !important;
  }
}
.header .burger-button.button:focus-visible,
.header .header-primary__call.button:focus-visible {
  background-color: var(--gentimed-blue-hover, #147CB0) !important;
  border-color: var(--gentimed-blue-hover, #147CB0) !important;
  color: #FFFFFF !important;
}
/* Front banner tertiary button strict */
.front-banner .front-banner__button-list .button.button_template,
.front-banner .front-banner__button-list button.button.button_template,
.front-banner .front-banner__button-list .button.button_template.button_primary,
.front-banner .front-banner__button-list button.button.button_template.button_primary {
  background-color: #FFFFFF !important;
  border-color: #FFFFFF !important;
  color: #0A0A0A !important;
}
.front-banner .front-banner__button-list .button.button_template svg,
.front-banner .front-banner__button-list .button.button_template path,
.front-banner .front-banner__button-list .button.button_template .icon {
  color: #0A0A0A !important;
  stroke: currentColor !important;
}
@media (hover: hover) and (pointer: fine) {
  .front-banner .front-banner__button-list .button.button_template:hover,
  .front-banner .front-banner__button-list button.button.button_template:hover,
  .front-banner .front-banner__button-list .button.button_template.button_primary:hover,
  .front-banner .front-banner__button-list button.button.button_template.button_primary:hover {
    background-color: #F3F5F8 !important;
    border-color: #F3F5F8 !important;
    color: #0A0A0A !important;
  }
}
.front-banner .front-banner__button-list .button.button_template:focus-visible,
.front-banner .front-banner__button-list button.button.button_template:focus-visible {
  background-color: #F3F5F8 !important;
  border-color: #F3F5F8 !important;
  color: #0A0A0A !important;
}
/* Home about advantages responsive grid */
.about-section-t2 .about-section-t2__advantages {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.about-section-t2 .about-section-t2__advantages:not(.swiper) > .advantages-about_t2 {
  min-width: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  height: auto;
  margin-top: 0 !important;
  border-radius: 14px !important;
  overflow: hidden;
}
@media (min-width: 630px) and (max-width: 1160px) {
  .about-section-t2 .about-section-t2__advantages {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: 1fr;
    gap: clamp(0.75rem, 1.2vw, 1rem) !important;
  }
  .about-section-t2 .about-section-t2__advantages > * {
    min-width: 0;
    width: 100%;
  }
}
@media (max-width: 629px) {
  .about-section-t2 .about-section-t2__advantages {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-rows: 1fr;
    gap: clamp(0.75rem, 3vw, 1rem) !important;
  }
  .about-section-t2 .about-section-t2__advantages > * {
    min-width: 0;
    width: 100%;
  }
}
/* Service advantages listing final reset */
.js-has-pseudo [csstools-has-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15]:not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1g-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1h-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1i-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  padding-top: var(--section-padding) !important;
  padding-bottom: 0 !important;
  background: var(--bg-white, #FFFFFF) !important;
  background-color: var(--bg-white, #FFFFFF) !important;
  background-image: none !important;
  color: #0A0A0A !important;
}
.page-banner ~ .article-section:has(.service-advantages-grid),
.page-banner ~ #constructor_block_3.article-section:has(.service-advantages-grid),
.page-banner ~ #constructor_block_4.article-section:has(.service-advantages-grid),
.page-banner ~ #constructor_block_5.article-section:has(.service-advantages-grid),
.page-banner ~ #constructor_block_6.article-section:has(.service-advantages-grid) {
  padding-top: var(--section-padding) !important;
  padding-bottom: 0 !important;
  background: var(--bg-white, #FFFFFF) !important;
  background-color: var(--bg-white, #FFFFFF) !important;
  background-image: none !important;
  color: #0A0A0A !important;
}
.js-has-pseudo [csstools-has-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15-w-1q-w-1a-2r-33-32-38-2p-2x-32-2t-36]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15-w-1a-37-2t-2r-38-2x-33-32-2n-2n-2r-33-32-38-2t-32-38]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2r-33-32-38-2t-32-38]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2p-36-38-2x-2r-30-2t]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  display: block !important;
  grid-column: 1/-1 !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  color: #0A0A0A !important;
  font: inherit !important;
}
.page-banner ~ .article-section:has(.service-advantages-grid) > .container,
.page-banner ~ .article-section:has(.service-advantages-grid) .section__content,
.page-banner ~ .article-section:has(.service-advantages-grid) .article-section__content,
.page-banner ~ .article-section:has(.service-advantages-grid) .article-section__article {
  display: block !important;
  grid-column: 1/-1 !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  color: #0A0A0A !important;
  font: inherit !important;
}
.js-has-pseudo [csstools-has-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2w-2t-2p-2s]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
.js-has-pseudo [csstools-has-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-38-2x-38-30-2t]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  display: none !important;
}
.page-banner ~ .article-section:has(.service-advantages-grid) .article-section__head,
.page-banner ~ .article-section:has(.service-advantages-grid) .article-section__title {
  display: none !important;
}
.js-has-pseudo [csstools-has-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15-w-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(1rem, 1.2vw, 1.5rem) !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.page-banner ~ .article-section:has(.service-advantages-grid) .service-advantages-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(1rem, 1.2vw, 1.5rem) !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
@media (min-width: 630px) and (max-width: 1160px) {
  .js-has-pseudo [csstools-has-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15-w-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    grid-template-columns: repeat(3, minmax(clamp(17.5rem, 33vw, 22rem), 1fr)) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .page-banner ~ .article-section:has(.service-advantages-grid) .service-advantages-grid {
    grid-template-columns: repeat(3, minmax(clamp(17.5rem, 33vw, 22rem), 1fr)) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .js-has-pseudo [csstools-has-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15-w-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist)::-webkit-scrollbar {
    display: none;
  }
  .page-banner ~ .article-section:has(.service-advantages-grid) .service-advantages-grid::-webkit-scrollbar {
    display: none;
  }
}
@media (max-width: 629px) {
  .js-has-pseudo [csstools-has-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15-w-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    grid-template-columns: 1fr !important;
  }
  .page-banner ~ .article-section:has(.service-advantages-grid) .service-advantages-grid {
    grid-template-columns: 1fr !important;
  }
}
/* Service advantages head visibility fix */
.js-has-pseudo [csstools-has-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2w-2t-2p-2s]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.page-banner ~ .article-section:has(.service-advantages-grid) .article-section__head {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.js-has-pseudo [csstools-has-1a-34-2p-2v-2t-19-2q-2p-32-32-2t-36-w-3i-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-19-2p-2s-3a-2p-32-38-2p-2v-2t-37-19-2v-36-2x-2s-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-38-2x-38-30-2t]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  display: none !important;
}
.page-banner ~ .article-section:has(.service-advantages-grid) .article-section__title {
  display: none !important;
}
/* Front banner left CTA white final */
.front-banner .front-banner__content .front-banner__button-list > .button.button_template.button_primary,
.front-banner .front-banner__content .front-banner__button-list > button.button.button_template.button_primary {
  --button-background-color: #FFFFFF !important;
  --button-background-color-hover: #F3F5F8 !important;
  --button-border-color: #FFFFFF !important;
  --button-border-color-hover: #F3F5F8 !important;
  --button-text-color: #0A0A0A !important;
  --button-text-color-hover: #0A0A0A !important;
  --button-icon-color: #0A0A0A !important;
  --button-icon-color-hover: #0A0A0A !important;
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  border-color: #FFFFFF !important;
  color: #0A0A0A !important;
}
.front-banner .front-banner__content .front-banner__button-list > .button.button_template.button_primary::before,
.front-banner .front-banner__content .front-banner__button-list > .button.button_template.button_primary::after,
.front-banner .front-banner__content .front-banner__button-list > button.button.button_template.button_primary::before,
.front-banner .front-banner__content .front-banner__button-list > button.button.button_template.button_primary::after {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  border-color: #FFFFFF !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
.front-banner .front-banner__content .front-banner__button-list > .button.button_template.button_primary .button__text,
.front-banner .front-banner__content .front-banner__button-list > .button.button_template.button_primary .text,
.front-banner .front-banner__content .front-banner__button-list > .button.button_template.button_primary .icon,
.front-banner .front-banner__content .front-banner__button-list > .button.button_template.button_primary svg,
.front-banner .front-banner__content .front-banner__button-list > .button.button_template.button_primary use {
  color: #0A0A0A !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}
@media (hover: hover) and (pointer: fine) {
  .front-banner .front-banner__content .front-banner__button-list > .button.button_template.button_primary:hover,
  .front-banner .front-banner__content .front-banner__button-list > button.button.button_template.button_primary:hover {
    background: #F3F5F8 !important;
    background-color: #F3F5F8 !important;
    border-color: #F3F5F8 !important;
    color: #0A0A0A !important;
  }
  .front-banner .front-banner__content .front-banner__button-list > .button.button_template.button_primary:hover::before,
  .front-banner .front-banner__content .front-banner__button-list > .button.button_template.button_primary:hover::after,
  .front-banner .front-banner__content .front-banner__button-list > button.button.button_template.button_primary:hover::before,
  .front-banner .front-banner__content .front-banner__button-list > button.button.button_template.button_primary:hover::after {
    background: #F3F5F8 !important;
    background-color: #F3F5F8 !important;
    border-color: #F3F5F8 !important;
  }
}
/* Front banner CTA specificity fix */
body .front-banner .front-banner__button-list .button.button_template.button_primary:not(.button_secondary):not(.button_tertiary):not(.button_fourth):not(.button_quaternary):not(.section__more),
body .front-banner .front-banner__button-list button.button.button_template.button_primary:not(.button_secondary):not(.button_tertiary):not(.button_fourth):not(.button_quaternary):not(.section__more) {
  --button-bg-color: #FFFFFF !important;
  --button-bg-color-hover: #F3F5F8 !important;
  --button-border-color: #FFFFFF !important;
  --button-border-color-hover: #F3F5F8 !important;
  --button-text-color: #0A0A0A !important;
  --button-text-color-hover: #0A0A0A !important;
  --button-icon-color: #0A0A0A !important;
  --button-icon-color-hover: #0A0A0A !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #0A0A0A !important;
}
body .front-banner .front-banner__button-list .button.button_template.button_primary:not(.button_secondary):not(.button_tertiary):not(.button_fourth):not(.button_quaternary):not(.section__more)::before,
body .front-banner .front-banner__button-list button.button.button_template.button_primary:not(.button_secondary):not(.button_tertiary):not(.button_fourth):not(.button_quaternary):not(.section__more)::before {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  border: 1px solid #FFFFFF !important;
  border-color: #FFFFFF !important;
}
body .front-banner .front-banner__button-list .button.button_template.button_primary:not(.button_secondary):not(.button_tertiary):not(.button_fourth):not(.button_quaternary):not(.section__more)::after,
body .front-banner .front-banner__button-list button.button.button_template.button_primary:not(.button_secondary):not(.button_tertiary):not(.button_fourth):not(.button_quaternary):not(.section__more)::after {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  border-color: #FFFFFF !important;
}
body .front-banner .front-banner__button-list .button.button_template.button_primary:not(.button_secondary):not(.button_tertiary):not(.button_fourth):not(.button_quaternary):not(.section__more) .button__text,
body .front-banner .front-banner__button-list .button.button_template.button_primary:not(.button_secondary):not(.button_tertiary):not(.button_fourth):not(.button_quaternary):not(.section__more) .text,
body .front-banner .front-banner__button-list .button.button_template.button_primary:not(.button_secondary):not(.button_tertiary):not(.button_fourth):not(.button_quaternary):not(.section__more) .icon {
  color: #0A0A0A !important;
}
@media (hover: hover) and (pointer: fine) {
  body .front-banner .front-banner__button-list .button.button_template.button_primary:not(.button_secondary):not(.button_tertiary):not(.button_fourth):not(.button_quaternary):not(.section__more):hover::before,
  body .front-banner .front-banner__button-list button.button.button_template.button_primary:not(.button_secondary):not(.button_tertiary):not(.button_fourth):not(.button_quaternary):not(.section__more):hover::before,
  body .front-banner .front-banner__button-list .button.button_template.button_primary:not(.button_secondary):not(.button_tertiary):not(.button_fourth):not(.button_quaternary):not(.section__more):hover::after,
  body .front-banner .front-banner__button-list button.button.button_template.button_primary:not(.button_secondary):not(.button_tertiary):not(.button_fourth):not(.button_quaternary):not(.section__more):hover::after {
    background: #F3F5F8 !important;
    background-color: #F3F5F8 !important;
    border-color: #F3F5F8 !important;
  }
}
/* Split section head vertical centering */
@media (min-width: 961px) {
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-2n-2n-2w-2t-2p-2s-1m-2w-2p-37-14-1a-37-2t-2r-38-2x-33-32-2n-2n-38-2t-3c-38-15]:not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-2n-2n-38-2t-3c-38-1m-2w-2p-37-14-1a-37-2t-2r-38-2x-33-32-2n-2n-38-2x-38-30-2t-15-1m-2w-2p-37-14-1a-37-2t-2r-38-2x-33-32-2n-2n-2s-2t-37-2r-36-2x-34-38-2x-33-32-15]:not(.does-not-exist):not(.does-not-exist),
  #constructor_block_5 .section__head,
  #constructor_block_5 .section__text,
  #constructor_block_6 .section__head,
  #constructor_block_6 .section__text,
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-2t-2r-38-2x-33-32-2n-2n-2w-2t-2p-2s]:not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-2t-2r-38-2x-33-32-2n-2n-38-2t-3c-38]:not(.does-not-exist):not(.does-not-exist) {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .section__head:has(.section__text),
  .section__text:has(.section__title):has(.section__description),
  #constructor_block_5 .section__head,
  #constructor_block_5 .section__text,
  #constructor_block_6 .section__head,
  #constructor_block_6 .section__text,
  .section:has(.stage-card-t5) .section__head,
  .section:has(.stage-card-t5) .section__text {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important;
  }
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-2n-2n-38-2t-3c-38-1m-2w-2p-37-14-1a-37-2t-2r-38-2x-33-32-2n-2n-38-2x-38-30-2t-15-1m-2w-2p-37-14-1a-37-2t-2r-38-2x-33-32-2n-2n-2s-2t-37-2r-36-2x-34-38-2x-33-32-15]:not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-2n-2n-38-2t-3c-38-1m-2w-2p-37-14-1a-37-2t-2r-38-2x-33-32-2n-2n-38-2x-38-30-2t-15-1m-2w-2p-37-14-1a-37-2t-2r-38-2x-33-32-2n-2n-2s-2t-37-2r-36-2x-34-38-2x-33-32-15-w-1a-37-2t-2r-38-2x-33-32-2n-2n-38-2x-38-30-2t]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist),
  .js-has-pseudo [csstools-has-1a-37-2t-2r-38-2x-33-32-2n-2n-38-2t-3c-38-1m-2w-2p-37-14-1a-37-2t-2r-38-2x-33-32-2n-2n-38-2x-38-30-2t-15-1m-2w-2p-37-14-1a-37-2t-2r-38-2x-33-32-2n-2n-2s-2t-37-2r-36-2x-34-38-2x-33-32-15-w-1a-37-2t-2r-38-2x-33-32-2n-2n-2s-2t-37-2r-36-2x-34-38-2x-33-32]:not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .section__text:has(.section__title):has(.section__description),
  .section__text:has(.section__title):has(.section__description) .section__title,
  .section__text:has(.section__title):has(.section__description) .section__description {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }
}
/* Services listing: remove gap reserved for hidden pagination controls */
.js-has-pseudo [csstools-has-1a-30-2x-37-38-2x-32-2v-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-37-19-2r-2p-36-2s-15-w-1q-w-z-34-2s-33-34-2p-2v-2t]:not(#does-not-exist):not(.does-not-exist) {
  gap: 0 !important;
}
.listing:has(.services-card) > #pdopage {
  gap: 0 !important;
}
/* Service UTP uses the native advantages-card component */
.service-advantages-grid .advantages-card {
  --card-background-color: #EAF3F8;
  max-width: none;
  height: 100%;
  -ms-flex-item-align: stretch;
      align-self: stretch;
}
.service-advantages-grid .advantages-card > .icon {
  -webkit-filter: brightness(0) saturate(100%) invert(43%) sepia(85%) saturate(1072%) hue-rotate(166deg) brightness(86%) contrast(90%);
          filter: brightness(0) saturate(100%) invert(43%) sepia(85%) saturate(1072%) hue-rotate(166deg) brightness(86%) contrast(90%);
}
/* Services page project steps use one section gap without an extra content margin. */
.js-has-pseudo [csstools-has-1a-31-2p-2x-32-w-1q-w-1a-30-2x-37-38-2x-32-2v-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-37-19-2r-2p-36-2s-15-w-3i-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1e-w-1q-w-1a-2r-33-32-38-2p-2x-32-2t-36]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  gap: var(--section-gap);
}
.main > .listing:has(.services-card) ~ #constructor_block_2 > .container {
  gap: var(--section-gap);
}
.js-has-pseudo [csstools-has-1a-31-2p-2x-32-w-1q-w-1a-30-2x-37-38-2x-32-2v-1m-2w-2p-37-14-1a-37-2t-36-3a-2x-2r-2t-37-19-2r-2p-36-2s-15-w-3i-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1e-w-1a-37-2t-2r-38-2x-33-32-2n-2n-2r-33-32-38-2t-32-38]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  margin-top: 0 !important;
}
.main > .listing:has(.services-card) ~ #constructor_block_2 .section__content {
  margin-top: 0 !important;
}
/* Post-registration monitoring separates the heading and cards with template gaps. */
.js-has-pseudo [csstools-has-2q-33-2s-3d-1m-2w-2p-37-14-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1i-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2j-37-38-3d-30-2t-16-1p-y-z-1d-1l-1k-1u-1v-1g-y-2l-15-w-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2w-2t-2p-2s]:not(#does-not-exist):not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
  gap: var(--grid-row-gap);
}
body:has(.main > #constructor_block_6.article-section[style*="#198BC4"]) .main > #constructor_block_3 .article-section__head {
  gap: var(--grid-row-gap);
}
.js-has-pseudo [csstools-has-2q-33-2s-3d-1m-2w-2p-37-14-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1i-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2j-37-38-3d-30-2t-16-1p-y-z-1d-1l-1k-1u-1v-1g-y-2l-15-w-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2p-36-38-2x-2r-30-2t]:not(#does-not-exist):not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
  display: grid;
  gap: var(--section-gap);
}
body:has(.main > #constructor_block_6.article-section[style*="#198BC4"]) .main > #constructor_block_3 .article-section__article {
  display: grid;
  gap: var(--section-gap);
}
.js-has-pseudo [csstools-has-2q-33-2s-3d-1m-2w-2p-37-14-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1i-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2j-37-38-3d-30-2t-16-1p-y-z-1d-1l-1k-1u-1v-1g-y-2l-15-w-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-w-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-2n-2n-30-2t-2p-2s]:not(#does-not-exist):not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
  margin-bottom: 0 !important;
}
body:has(.main > #constructor_block_6.article-section[style*="#198BC4"]) .main > #constructor_block_3 .vird-required__lead {
  margin-bottom: 0 !important;
}
/* Post-registration approach cards use one section gap without content margin. */
.js-has-pseudo [csstools-has-2q-33-2s-3d-1m-2w-2p-37-14-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1i-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2j-37-38-3d-30-2t-16-1p-y-z-1d-1l-1k-1u-1v-1g-y-2l-15-w-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1g-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1q-w-1a-2r-33-32-38-2p-2x-32-2t-36]:not(#does-not-exist):not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
  gap: var(--section-gap);
}
body:has(.main > #constructor_block_6.article-section[style*="#198BC4"]) .main > #constructor_block_4:has(.stage-card-t5) > .container {
  gap: var(--section-gap);
}
.js-has-pseudo [csstools-has-2q-33-2s-3d-1m-2w-2p-37-14-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1i-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2j-37-38-3d-30-2t-16-1p-y-z-1d-1l-1k-1u-1v-1g-y-2l-15-w-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1g-1m-2w-2p-37-14-1a-37-38-2p-2v-2t-19-2r-2p-36-2s-19-38-1h-15-w-1a-37-2t-2r-38-2x-33-32-2n-2n-2r-33-32-38-2t-32-38]:not(#does-not-exist):not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
  margin-top: 0 !important;
}
body:has(.main > #constructor_block_6.article-section[style*="#198BC4"]) .main > #constructor_block_4:has(.stage-card-t5) .section__content {
  margin-top: 0 !important;
}
/* Portrait article copy blocks use the native heading gap and no internal flex gap. */
.js-has-pseudo [csstools-has-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-2x-31-2v-2j-37-36-2r-16-1p-2p-39-38-2w-33-36-2x-3e-2t-2s-19-36-2t-34-36-2t-37-2t-32-38-2p-38-2x-3a-2t-19-34-33-36-38-36-2p-2x-38-19-2r-2t-32-38-2t-36-2t-2s-2l-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2p-36-38-2x-2r-30-2t]:not(.does-not-exist):not(.does-not-exist):not(does-not-exist),
.js-has-pseudo [csstools-has-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-2x-31-2v-2j-37-36-2r-16-1p-2x-32-37-34-2t-2r-38-2x-33-32-19-2t-3c-34-2t-36-38-19-34-33-36-38-36-2p-2x-38-19-2r-2t-32-38-2t-36-2t-2s-2l-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2p-36-38-2x-2r-30-2t]:not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
  gap: 0;
}
.article-section:has(img[src*=authorized-representative-portrait-centered]) .article-section__article,
.article-section:has(img[src*=inspection-expert-portrait-centered]) .article-section__article {
  gap: 0;
}
/* Testing trials section title has no extra bottom margin. */
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-38-2t-37-38-2x-32-2v-19-38-36-2x-2p-30-37-19-2v-36-2x-2s-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-38-2x-38-30-2t]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  margin-bottom: 0 !important;
}
#constructor_block_3.article-section:has(.testing-trials-grid) .article-section__title {
  margin-bottom: 0 !important;
}
/* VIRD required section title has no extra bottom margin. */
.js-has-pseudo [csstools-has-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-1m-2w-2p-37-14-1a-3a-2x-36-2s-19-36-2t-35-39-2x-36-2t-2s-19-2v-36-2x-2s-15-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-38-2x-38-30-2t]:not(#does-not-exist):not(.does-not-exist):not(.does-not-exist) {
  margin-bottom: 0 !important;
}
#constructor_block_3.article-section:has(.vird-required-grid) .article-section__title {
  margin-bottom: 0 !important;
}
/* Service result sections use the native article heading gap instead of text margin. */
.page-banner ~ .article-section[style*="#198BC4"] .article-section__head,
.page-banner ~ .article-section[style*="#198bc4"] .article-section__head {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.page-banner ~ .article-section[style*="#198BC4"] .article-section__article,
.page-banner ~ .article-section[style*="#198bc4"] .article-section__article {
  margin-top: 0 !important;
}
/* Homepage cost copy has its own native article heading gap. */
body .main > #constructor_block_7.article-section > .container {
  grid-template-areas: "cost-media cost-copy" "cost-media cost-button" "cost-price-title cost-price-title" "cost-prices cost-prices" "cost-note cost-note";
}
body .main > #constructor_block_7 .cost-copy-group {
  grid-area: cost-copy;
  display: grid;
  align-self: start;
  gap: inherit;
  min-width: 0;
}
body .main > #constructor_block_7 .cost-copy-group .article-section__title,
body .main > #constructor_block_7 .cost-copy-group__lead {
  grid-area: auto;
  margin: 0 !important;
}
body .main > #constructor_block_7 .cost-copy-group__lead,
body .main > #constructor_block_7 .cost-note {
  width: 100%;
  max-width: none !important;
  font: var(--font-body-L-r) !important;
  letter-spacing: 0;
}
body .main > #constructor_block_7 .cost-copy-group__lead {
  color: var(--gentimed-ink);
}
body .main > #constructor_block_7 .cost-price-title {
  grid-area: cost-price-title !important;
  max-width: none !important;
  margin: clamp(1.5rem, 2.2vw, 2.25rem) 0 0 !important;
  color: var(--gentimed-ink) !important;
  font-size: clamp(1.5rem, 1.16rem + 0.9vw, 2.25rem) !important;
  line-height: 1.15 !important;
  letter-spacing: 0;
}
body .main > #constructor_block_7 .cost-price-title strong {
  font-weight: 700;
}
body .main > #constructor_block_7 .cost-note {
  grid-area: cost-note !important;
  margin: 0 !important;
}
@media (max-width: 960px) {
  body .main > #constructor_block_7.article-section > .container {
    grid-template-areas: "cost-copy" "cost-media" "cost-button" "cost-price-title" "cost-prices" "cost-note";
  }
}
/* Homepage cost section uses the template grid row rhythm. */
body .main > #constructor_block_7.article-section > .container {
  row-gap: var(--grid-row-gap);
}
body .main > #constructor_block_9 .article-section__head {
  margin-bottom: 0 !important;
}
/* Homepage cost section title has no extra bottom margin. */
body .main > #constructor_block_7 .article-section__title {
  margin-bottom: 0 !important;
}
/* Homepage audience routes use the section rhythm between heading and cards. */
body .main > #constructor_block_5 > .container {
  gap: var(--section-gap);
}
body .main > #constructor_block_5 .article-section-t2__article {
  margin-top: 0 !important;
}
/* Homepage strategy uses the section rhythm between its heading and cards. */
body .main > #constructor_block_6 > .container {
  gap: var(--section-gap);
}
body .main > #constructor_block_6 .section__content {
  margin-top: 0 !important;
}
/* Homepage services: use grid rhythm after the heading and section rhythm before cards. */
.js-has-pseudo [csstools-has-2q-33-2s-3d-1m-2w-2p-37-14-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1h-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-19-38-1e-15-w-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2w-2t-2p-2s]:not(#does-not-exist):not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
  gap: var(--grid-row-gap);
}
body:has(.main > #constructor_block_5.article-section-t2) .main > #constructor_block_3.article-section .article-section__head {
  gap: var(--grid-row-gap);
}
.js-has-pseudo [csstools-has-2q-33-2s-3d-1m-2w-2p-37-14-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1h-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-19-38-1e-15-w-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2p-36-38-2x-2r-30-2t]:not(#does-not-exist):not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
  gap: var(--section-gap);
}
body:has(.main > #constructor_block_5.article-section-t2) .main > #constructor_block_3.article-section .article-section__article {
  gap: var(--section-gap);
}
.js-has-pseudo [csstools-has-2q-33-2s-3d-1m-2w-2p-37-14-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1h-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-19-38-1e-15-w-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2p-36-38-2x-2r-30-2t]:not(#does-not-exist):not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
body:has(.main > #constructor_block_5.article-section-t2) .main > #constructor_block_3.article-section .article-section__article {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.js-has-pseudo [csstools-has-2q-33-2s-3d-1m-2w-2p-37-14-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1h-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-19-38-1e-15-w-1a-31-2p-2x-32-w-1q-w-z-2r-33-32-37-38-36-39-2r-38-33-36-2n-2q-30-33-2r-2z-2n-1f-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-w-1a-2p-36-38-2x-2r-30-2t-19-37-2t-2r-38-2x-33-32-2n-2n-2p-36-38-2x-2r-30-2t-w-1q-w-34-1m-2u-2x-36-37-38-19-2r-2w-2x-30-2s]:not(#does-not-exist):not(#does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(.does-not-exist):not(does-not-exist):not(does-not-exist) {
  margin-bottom: 0 !important;
}
body:has(.main > #constructor_block_5.article-section-t2) .main > #constructor_block_3.article-section .article-section__article > p:first-child {
  margin-bottom: 0 !important;
}
/* Text-bearing layout boxes must always follow their content height. */
.section__head,
.section__text,
.section__title,
.section__description,
.section__content,
.article-section__head,
.article-section__title,
.article-section__article,
.page-banner__content,
.page-banner__head,
.front-banner__content {
  height: auto !important;
  min-height: 0;
  max-height: none;
}
.section__head,
.section__text,
.section__title,
.section__description,
.article-section__head,
.article-section__title,
.article-section__article,
.page-banner__content,
.page-banner__head,
.front-banner__content {
  overflow: visible;
}
/* Resource 155 placeholder. */
.foreign-page-placeholder-section {
  padding: clamp(5rem, 9vw, 9rem) 0;
  background: #f7fbfb;
}
.foreign-page-placeholder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: clamp(12rem, 24vw, 20rem);
  text-align: center;
}
.foreign-page-placeholder__title {
  margin: 0;
  color: var(--color-main, #1f95c8);
  font-size: clamp(2.75rem, 5.2vw, 5rem);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: 0;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvY29tbW9uL2xlZ2FjeS1pbmxpbmUvbGVnYWN5LWlubGluZS5zY3NzIiwiY29tcG9uZW50cy9jb21tb24vbGVnYWN5LWlubGluZS9sZWdhY3ktaW5saW5lLnNjc3MlMjNzYXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFBO0FDRUEsc0ZBQUE7QUFDQTtFREFBLFdBQUE7RUNFUSwwQkFBQTtFQUNBLDZDQUFBO0VBQ0EsdURBQUE7VUFBQSwrQ0FBQTtBREFSO0FDR0k7RUFDSSxvQkFBQTtFQUNBLDRDQUFBO0VBQ0EsbUNBQUE7TUFBQSxnQ0FBQTtVQUFBLDZCQUFBO0FEQVI7QUNHSTtFQUNJLG1CQUFBO01BQUEsbUJBQUE7VUFBQSxlQUFBO0VBQ0EsWUFBQTtBREFSO0FDR0k7RUFDSSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLG1CQUFBO01BQUEsbUJBQUE7VUFBQSxlQUFBO0VBQ0EsNEJBQUE7RUFBQSw2QkFBQTtNQUFBLDBCQUFBO1VBQUEsc0JBQUE7RUFDQSx3QkFBQTtNQUFBLHFCQUFBO1VBQUEsdUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHNDQUFBO0FEQVI7QUNHSTtFQUNJLDBCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0FEQVI7QUNHSTtFQUNJLG9CQUFBO0VBQUEsb0JBQUE7RUFBQSxhQUFBO0VBQ0EsbUJBQUE7TUFBQSxrQkFBQTtVQUFBLGNBQUE7RUFDQSx5QkFBQTtNQUFBLHNCQUFBO1VBQUEsbUJBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxZQUFBO0FEQVI7QUNHSTtFQUNJLG1CQUFBO0FEQVI7QUNHSTtFQUNJLFdBQUE7RUFDQSxxQkFBQTtNQUFBLGlCQUFBO0VBQ0EsYUFBQTtBREFSO0FDR0k7RUFDSSwyQkFBQTtBREFSO0FDR0k7RUFDSTtJQUNJLGdCQUFBO0VEQVY7RUNHTTtJQUNJLDhCQUFBO1FBQUEsaUJBQUE7SUFDQSxpQkFBQTtFRERW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TUE7RUFDSSx1QkFBQTtBRHBNSjtBQ3VNQTtFRHBNQSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLDRCQUFBO0VBQUEsNkJBQUE7TUFBQSwwQkFBQTtVQUFBLHNCQUFBO0FBQ0E7QUNrTUE7RURwTUEsb0JBQUE7RUFBQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSw0QkFBQTtFQUFBLDZCQUFBO01BQUEsMEJBQUE7VUFBQSxzQkFBQTtBQUNBO0FDdU1BO0VBQ0ksMkJBQUE7QURwTUo7QUNtTUE7RUFDSSwyQkFBQTtBRHBNSjtBQ3NNQSx1RUFBQTtBQUNBOzs7Ozs7Ozs7OztFQVdJLHVCQUFBO0VEbk1KLGFBQUE7RUNxTUksZ0JBQUE7QURuTUo7QUNzTUE7Ozs7Ozs7Ozs7RUFVSSxpQkFBQTtBRG5NSjtBQ3NNQSw4QkFBQTtBQUNBO0VEbk1BLGlDQUFBO0VDcU1nQixtQkFBQTtBRG5NaEI7QUNzTVk7RUFDSSxvQkFBQTtFQUFBLG9CQUFBO0VBQUEsYUFBQTtFRG5NaEIseUJBQUE7TUFBQSxzQkFBQTtVQUFBLG1CQUFBO0VBQ0Esd0JBQUE7TUFBQSxxQkFBQTtVQUFBLHVCQUFBO0VBQ0EscUNBQUE7RUNxTWdCLGtCQUFBO0FEbk1oQjtBQ3NNWTtFQUNJLFNBQUE7RUFDQSxpQ0FBQTtFRG5NaEIsc0NBQUE7RUNxTWdCLGdCQUFBO0VEbk1oQixpQkFBQTtFQ3FNZ0IsaUJBQUE7QURuTWhCIiwiZmlsZSI6ImNvbXBvbmVudHMvY29tbW9uL2xlZ2FjeS1pbmxpbmUvbGVnYWN5LWlubGluZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zXCI7XG5cbi8qIFN0YXRpYyBsZWdhY3kgcnVsZXMgbWlncmF0ZWQgZnJvbSBGZW5vbS4gRHluYW1pYyA6cm9vdCByZW1haW5zIGluIGJhc2Uuc3R5bGUudHBsLiAqL1xuLmhlYWRlciB7XG4gICAgICAgIHotaW5kZXg6IDMwO1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdlbnRpbWVkLWxpbmUpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMjUsIDEzOSwgMTk2LCAwLjA4KTtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5sb2dvIHtcbiAgICAgICAgLS1sb2dvLWdhcDogMC44NzVyZW07XG4gICAgICAgIC0tbG9nby10ZXh0LWNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmstbXV0ZWQpO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuaGVhZGVyLXByaW1hcnlfX2NsdXN0ZXJfbGVmdCB7XG4gICAgICAgIGZsZXg6IDAgMSAzMHJlbTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5oZWFkZXItcHJpbWFyeV9fY2x1c3Rlcl9jZW50ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAwIDEgMjFyZW07XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IDAuMnJlbTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogY2xhbXAoMi4yNXJlbSwgNHZ3LCA0cmVtKTtcbiAgICB9XG5cbiAgICAuaGVhZGVyLXByaW1hcnlfX2NsdXN0ZXJfY2VudGVyIC5oZWFkZXItcHJpbWFyeV9fbGluayB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmspO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuaGVhZGVyLXByaW1hcnlfX2NsdXN0ZXJfcmlnaHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5oZWFkZXItcHJpbWFyeV9fY2x1c3Rlcl9yaWdodCAuaGVhZGVyLXByaW1hcnlfX2xpbmsge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5oZWFkZXItcHJpbWFyeV9fY2x1c3Rlcl9yaWdodCAuc29jaWFsLWxpc3Qge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIGdhcDogMC4zNzVyZW07XG4gICAgfVxuXG4gICAgLmhlYWRlci1wcmltYXJ5X19jbHVzdGVyX3JpZ2h0IC5zb2NpYWwtbGlzdF9zbWFsbCAuYnV0dG9uLmJ1dHRvbl9zb2NpYWwge1xuICAgICAgICAtLWJ1dHRvbi1pY29uLXNpemU6IDEuMjVyZW07XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEzMDBweCkge1xuICAgICAgICAuaGVhZGVyIC5sb2dvX190ZXh0IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTdyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGVyLXByaW1hcnlfX2NsdXN0ZXJfY2VudGVyIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDE5cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTE2MHB4KSB7XG4gICAgICAgIC5oZWFkZXItcHJpbWFyeV9fY2x1c3Rlcl9jZW50ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXItcHJpbWFyeV9fY2x1c3Rlcl9yaWdodCAuc29jaWFsLWxpc3Qge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAuaGVhZGVyLXByaW1hcnlfX2NsdXN0ZXJfcmlnaHQgLnNvY2lhbC1saXN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9nb19fdHlwZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjA1cmVtO1xuICAgICAgICBtaW4td2lkdGg6IDguMjVyZW07XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWJsdWUpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5sb2dvX190eXBlLW1haW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWJsdWUpO1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDEuMjVyZW0sIDEuMXJlbSArIDAuMzJ2dywgMS42MjVyZW0pO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB9XG5cbiAgICAubG9nb19fdHlwZS1hY2NlbnQge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4pO1xuICAgIH1cblxuICAgIC5sb2dvX190eXBlLXN1YiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKTtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgwLjYycmVtLCAwLjU2cmVtICsgMC4xNHZ3LCAwLjc1cmVtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMThlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5sb2dvX190ZXh0IHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluay1tdXRlZCk7XG4gICAgICAgIG1heC13aWR0aDogY2xhbXAoMTVyZW0sIDE4dncsIDE3cmVtKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbiAgICB9XG5cblxuICAgIC5oZWFkZXIgLm5hdiB7XG4gICAgICAgIC0tbmF2LWxpbmstY29sb3I6IHZhcigtLWdlbnRpbWVkLWluayk7XG4gICAgICAgIC0tbmF2LWxpbmstY29sb3ItaG92ZXI6IHZhcigtLWdlbnRpbWVkLWJsdWUpO1xuICAgICAgICAtLW5hdi1pY29uLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmstbXV0ZWQpO1xuICAgICAgICAtLW5hdi1pY29uLWNvbG9yLWhvdmVyOiB2YXIoLS1nZW50aW1lZC1ncmVlbik7XG4gICAgICAgIC0tbmF2LXN1Yi1saXN0LWJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIC0tbmF2LXN1Yi1saW5rLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmspO1xuICAgICAgICAtLW5hdi1zdWItbGluay1jb2xvci1ob3ZlcjogdmFyKC0tZ2VudGltZWQtYmx1ZSk7XG4gICAgICAgIC0tbmF2LXN1Yi1saW5rLWJhY2tncm91bmQtY29sb3ItaG92ZXI6IHZhcigtLWdlbnRpbWVkLWJsdWUtc29mdCk7XG4gICAgICAgIC0tbmF2LXN1Yi1pY29uLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmstbXV0ZWQpO1xuICAgICAgICAtLW5hdi1zdWItaWNvbi1jb2xvci1ob3ZlcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4pO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLm5hdl9fbGlzdCAubmF2X19saXN0IHtcbiAgICAgICAgei1pbmRleDogNDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdlbnRpbWVkLWxpbmUpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDE4cHggNDRweCByZ2JhKDI1LCAxMzksIDE5NiwgMC4xNCk7XG4gICAgfVxuXG4gICAgLmhlYWRlci1wcmltYXJ5X19saW5rLFxuICAgIC5oZWFkZXItc2Vjb25kYXJ5X19idXR0b24uYnV0dG9uLmJ1dHRvbl9zZWNvbmRhcnksXG4gICAgLm1vYmlsZS1tZW51X19idXR0b24uYnV0dG9uLmJ1dHRvbl9zZWNvbmRhcnkge1xuICAgICAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmspO1xuICAgICAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yLWhvdmVyOiAjRkZGRkZGO1xuICAgICAgICAtLWJ1dHRvbi1pY29uLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1ibHVlKTtcbiAgICAgICAgLS1idXR0b24taWNvbi1jb2xvci1ob3ZlcjogI0ZGRkZGRjtcbiAgICAgICAgLS1idXR0b24tYm9yZGVyLWNvbG9yOiByZ2JhKDI1LCAxMzksIDE5NiwgMC40OCk7XG4gICAgICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvci1ob3ZlcjogdmFyKC0tZ2VudGltZWQtYmx1ZSk7XG4gICAgICAgIC0tYnV0dG9uLWJnLWNvbG9yLWhvdmVyOiB2YXIoLS1nZW50aW1lZC1ibHVlKTtcbiAgICB9XG5cbiAgICAuYnV0dG9uOm5vdCguYnV0dG9uX3NlY29uZGFyeSk6bm90KC5idXR0b25fdGVydGlhcnkpOm5vdCguYnV0dG9uX3NvY2lhbCkge1xuICAgICAgICAtLWJ1dHRvbi1iZy1jb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZSk7XG4gICAgICAgIC0tYnV0dG9uLWJnLWNvbG9yLWhvdmVyOiB2YXIoLS1nZW50aW1lZC1ncmVlbik7XG4gICAgICAgIC0tYnV0dG9uLXRleHQtY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIC0tYnV0dG9uLXRleHQtY29sb3ItaG92ZXI6ICNGRkZGRkY7XG4gICAgICAgIC0tYnV0dG9uLWljb24tY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIC0tYnV0dG9uLWljb24tY29sb3ItaG92ZXI6ICNGRkZGRkY7XG4gICAgfVxuXG5cblxuICAgIC5oZWFkZXItcHJpbWFyeV9fY2x1c3Rlcl9yaWdodCAuc29jaWFsLWxpc3Quc29jaWFsLWxpc3Rfc21hbGwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC41cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMTI1cmVtO1xuICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuaGVhZGVyLXByaW1hcnlfX2NsdXN0ZXJfcmlnaHQgLnNvY2lhbC1saXN0X3NtYWxsIC5idXR0b24uYnV0dG9uX3NvY2lhbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMi43NXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDIuNzVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAyLjc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIuNzVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWJ0bikgIWltcG9ydGFudDtcbiAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1iZy1jb2xvcikgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTYwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpLFxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAxNjBtcyBlYXNlLFxuICAgICAgICAgICAgb3BhY2l0eSAxNjBtcyBlYXNlO1xuICAgIH1cblxuICAgIC5oZWFkZXItcHJpbWFyeV9fY2x1c3Rlcl9yaWdodCAuc29jaWFsLWxpc3Rfc21hbGwgLmJ1dHRvbi5idXR0b25fc29jaWFsOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIH1cblxuICAgIC5oZWFkZXItcHJpbWFyeV9fY2x1c3Rlcl9yaWdodCAuc29jaWFsLWxpc3Rfc21hbGwgLmJ1dHRvbi5idXR0b25fc29jaWFsOmFjdGl2ZSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45Nik7XG4gICAgfVxuXG4gICAgLmhlYWRlci1wcmltYXJ5X19jbHVzdGVyX3JpZ2h0IC5zb2NpYWwtbGlzdF9zbWFsbCAuYnV0dG9uLmJ1dHRvbl9zb2NpYWwgLmljb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMS4yNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDEuMjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgIHN0cm9rZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuaGVhZGVyLXByaW1hcnlfX2NsdXN0ZXJfcmlnaHQgLnNvY2lhbC1saXN0X3NtYWxsIC5idXR0b24uYnV0dG9uX3NvY2lhbF93aGF0c2FwcCB7XG4gICAgICAgIC0tYnV0dG9uLWJnLWNvbG9yOiAjMjVEMzY2ICFpbXBvcnRhbnQ7XG4gICAgICAgIC0tYnV0dG9uLWJnLWNvbG9yLWhvdmVyOiAjMjBDNzYzICFpbXBvcnRhbnQ7XG4gICAgICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvcjogIzI1RDM2NiAhaW1wb3J0YW50O1xuICAgICAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3ItaG92ZXI6ICMyMEM3NjMgIWltcG9ydGFudDtcbiAgICAgICAgLS1idXR0b24taWNvbi1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgICAgICAtLWJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNUQzNjYgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuaGVhZGVyLXByaW1hcnlfX2NsdXN0ZXJfcmlnaHQgLnNvY2lhbC1saXN0X3NtYWxsIC5idXR0b24uYnV0dG9uX3NvY2lhbF93aGF0c2FwcDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMEM3NjMgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuaGVhZGVyLXByaW1hcnlfX2NsdXN0ZXJfcmlnaHQgLnNvY2lhbC1saXN0X3NtYWxsIC5idXR0b24uYnV0dG9uX3NvY2lhbF90ZWxlZ3JhbSB7XG4gICAgICAgIC0tYnV0dG9uLWJnLWNvbG9yOiAjMjI5RUQ5ICFpbXBvcnRhbnQ7XG4gICAgICAgIC0tYnV0dG9uLWJnLWNvbG9yLWhvdmVyOiAjMUM5NUNFICFpbXBvcnRhbnQ7XG4gICAgICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvcjogIzIyOUVEOSAhaW1wb3J0YW50O1xuICAgICAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3ItaG92ZXI6ICMxQzk1Q0UgIWltcG9ydGFudDtcbiAgICAgICAgLS1idXR0b24taWNvbi1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgICAgICAtLWJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjlFRDkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuaGVhZGVyLXByaW1hcnlfX2NsdXN0ZXJfcmlnaHQgLnNvY2lhbC1saXN0X3NtYWxsIC5idXR0b24uYnV0dG9uX3NvY2lhbF90ZWxlZ3JhbTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxQzk1Q0UgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYnV0dG9uLmJ1dHRvbl9zb2NpYWxfd2hhdHNhcHAge1xuICAgICAgICAtLWJ1dHRvbi1iZy1jb2xvcjogIzI1RDM2NjtcbiAgICAgICAgLS1idXR0b24tYmctY29sb3ItaG92ZXI6ICMyMEM3NjM7XG4gICAgICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvcjogIzI1RDM2NjtcbiAgICAgICAgLS1idXR0b24tYm9yZGVyLWNvbG9yLWhvdmVyOiAjMjBDNzYzO1xuICAgICAgICAtLWJ1dHRvbi1pY29uLWNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAtLWJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyOiAjRkZGRkZGO1xuICAgIH1cblxuICAgIC5idXR0b24uYnV0dG9uX3NvY2lhbF90ZWxlZ3JhbSB7XG4gICAgICAgIC0tYnV0dG9uLWJnLWNvbG9yOiAjMjI5RUQ5O1xuICAgICAgICAtLWJ1dHRvbi1iZy1jb2xvci1ob3ZlcjogIzFDOTVDRTtcbiAgICAgICAgLS1idXR0b24tYm9yZGVyLWNvbG9yOiAjMjI5RUQ5O1xuICAgICAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3ItaG92ZXI6ICMxQzk1Q0U7XG4gICAgICAgIC0tYnV0dG9uLWljb24tY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIC0tYnV0dG9uLWljb24tY29sb3ItaG92ZXI6ICNGRkZGRkY7XG4gICAgfVxuXG4gICAgLmJ1dHRvbi5idXR0b25fc2Vjb25kYXJ5IHtcbiAgICAgICAgLS1idXR0b24tYm9yZGVyLWNvbG9yOiByZ2JhKDI1LCAxMzksIDE5NiwgMC40OCk7XG4gICAgICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvci1ob3ZlcjogdmFyKC0tZ2VudGltZWQtYmx1ZSk7XG4gICAgICAgIC0tYnV0dG9uLXRleHQtY29sb3I6IHZhcigtLWdlbnRpbWVkLWluayk7XG4gICAgICAgIC0tYnV0dG9uLXRleHQtY29sb3ItaG92ZXI6IHZhcigtLWdlbnRpbWVkLWJsdWUpO1xuICAgICAgICAtLWJ1dHRvbi1pY29uLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1ibHVlKTtcbiAgICAgICAgLS1idXR0b24taWNvbi1jb2xvci1ob3ZlcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4pO1xuICAgIH1cblxuICAgIC5mcm9udC1iYW5uZXIgLnJlZ3VsYXItZm9ybSxcbiAgICAuY3RhLXNlY3Rpb24tdDMgLnJlZ3VsYXItZm9ybSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyNSwgMTM5LCAxOTYsIDAuMTApLCAwIDEycHggMjZweCByZ2JhKDEwLCAxMCwgMTAsIDAuMDYpO1xuICAgIH1cblxuICAgIC5tYWdpYy1jb29raWUsXG4gICAgLm1hZ2ljLWNvb2tpZS5tYWdpYy1jb29raWVfbGVmdCB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGJvdHRvbTogbWF4KDFyZW0sIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgei1pbmRleDogMjIwO1xuICAgICAgICB3aWR0aDogbWluKGNhbGMoMTAwdncgLSAycmVtKSwgOTQwcHgpO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwYWRkaW5nOiAxLjEyNXJlbSAzLjVyZW0gMS4xMjVyZW0gMS4zNzVyZW07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluayk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Nik7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjUsIDEzOSwgMTk2LCAwLjE4KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgYm94LXNoYWRvdzogMCA2cHggOHB4IHJnYmEoMjUsIDEzOSwgMTk2LCAwLjA4KSwgMCAxcHggMnB4IHJnYmEoMTAsIDEwLCAxMCwgMC4wOCk7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KSBzYXR1cmF0ZSgxLjA4KTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgfVxuXG4gICAgLm1hZ2ljLWNvb2tpZSAubWFnaWMtY29va2llX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IDEuMjVyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5tYWdpYy1jb29raWUgLm1hZ2ljLWNvb2tpZV9fY29udGVudCA+IGRpdiB7XG4gICAgICAgIG1heC13aWR0aDogNzhjaDtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluay1tdXRlZCk7XG4gICAgICAgIHRleHQtd3JhcDogcHJldHR5O1xuICAgIH1cblxuICAgIC5tYWdpYy1jb29raWVfX2xpbmsge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjUsIDEzOSwgMTk2LCAwLjMyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMTgwbXMgZWFzZSwgYm9yZGVyLWNvbG9yIDE4MG1zIGVhc2U7XG4gICAgfVxuXG4gICAgLm1hZ2ljLWNvb2tpZV9fbGluazpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1ncmVlbik7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoNDYsIDE3MywgMTExLCAwLjQyKTtcbiAgICB9XG5cbiAgICAubWFnaWMtY29va2llIC5idXR0b24ge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiA3LjI1cmVtO1xuICAgICAgICBtaW4taGVpZ2h0OiAyLjc1cmVtO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC5tYWdpYy1jb29raWUgLm1hZ2ljLWNvb2tpZV9fY2xvc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMC43NXJlbTtcbiAgICAgICAgcmlnaHQ6IDAuODc1cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvcGFjaXR5OiAwLjcyO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE4MG1zIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMTgwbXMgZWFzZTtcbiAgICB9XG5cbiAgICAubWFnaWMtY29va2llIC5tYWdpYy1jb29raWVfX2Nsb3NlOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNSwgMTM5LCAxOTYsIDAuMDgpO1xuICAgIH1cblxuICAgIC5tYWdpYy1jb29raWUgLm1hZ2ljLWNvb2tpZV9fY2xvc2U6OmJlZm9yZSxcbiAgICAubWFnaWMtY29va2llIC5tYWdpYy1jb29raWVfX2Nsb3NlOjphZnRlciB7XG4gICAgICAgIHdpZHRoOiAwLjc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmspO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAubWFnaWMtY29va2llLFxuICAgICAgICAubWFnaWMtY29va2llLm1hZ2ljLWNvb2tpZV9sZWZ0IHtcbiAgICAgICAgICAgIHdpZHRoOiBtaW4oY2FsYygxMDB2dyAtIDEuNXJlbSksIDQycmVtKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuMTI1cmVtO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIuMjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAubWFnaWMtY29va2llIC5tYWdpYy1jb29raWVfX2NvbnRlbnQge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hZ2ljLWNvb2tpZSAubWFnaWMtY29va2llX19jb250ZW50ID4gZGl2IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYWdpYy1jb29raWUgLmJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDMwcHgpIHtcbiAgICAgICAgLm1hZ2ljLWNvb2tpZSxcbiAgICAgICAgLm1hZ2ljLWNvb2tpZS5tYWdpYy1jb29raWVfbGVmdCB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgICAgICAgICAgcGFkZGluZzogMi4yNXJlbSAxcmVtIDFyZW07XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4IDEycHggMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hZ2ljLWNvb2tpZSAuYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3RlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmspO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tZ2VudGltZWQtbGluZSk7XG4gICAgfVxuXG4gICAgLmZvb3RlciBhOm5vdCguYnV0dG9uKTpub3QoLmZvb3Rlcl9fbWFkZS1ieSkge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAuZm9vdGVyIC5idXR0b24ge1xuICAgICAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yLWhvdmVyOiAjRkZGRkZGO1xuICAgICAgICAtLWJ1dHRvbi1pY29uLWNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAtLWJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyOiAjRkZGRkZGO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgICAgICAgLmhlYWRlciAubG9nbyB7XG4gICAgICAgICAgICAtLWxvZ28tZ2FwOiAwLjg3NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXIgLmxvZ29fX3RleHQge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjbGFtcCgxNHJlbSwgMjJ2dywgMThyZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAuaGVhZGVyIC5sb2dvX190ZXh0IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGVyLXByaW1hcnlfX2VtYWlsLFxuICAgICAgICAuaGVhZGVyLXByaW1hcnlfX2FkZHJlc3Mge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuaGVhZGVyLXByaW1hcnlfX2NvbnRhY3RzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMwcHgpIHtcbiAgICAgICAgLmxvZ29fX3R5cGUge1xuICAgICAgICAgICAgbWluLXdpZHRoOiA4Ljc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvZ29fX3R5cGUtbWFpbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAubG9nb19fdHlwZS1zdWIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hYm91dC1zZWN0aW9uLXQyIC5hZHZhbnRhZ2VzLWFib3V0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZjFmNjtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMiAuYWJvdXQtc2VjdGlvbl9fbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgICAgZ2FwOiBjbGFtcCgxcmVtLCAxLjZ2dywgMS41cmVtKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgLmFib3V0LXNlY3Rpb24tdDIgLmFkdmFudGFnZXMtYWJvdXQge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IGNsYW1wKDEuNXJlbSwgMS45dncsIDJyZW0pICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWYxZjY7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZ2FwOiBjbGFtcCgxLjVyZW0sIDJ2dywgMnJlbSk7XG4gICAgfVxuXG4gICAgLmFib3V0LXNlY3Rpb24tdDIgLmFkdmFudGFnZXMtYWJvdXQ6OmJlZm9yZSxcbiAgICAuYWJvdXQtc2VjdGlvbi10MiAuYWR2YW50YWdlcy1hYm91dDo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmFib3V0LXNlY3Rpb24tdDIgLmFkdmFudGFnZXMtYWJvdXRfX3RpdGxlLFxuICAgIC5hYm91dC1zZWN0aW9uLXQyIC5hZHZhbnRhZ2VzLWFib3V0X19kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLmFib3V0LXNlY3Rpb24tdDIgLmFkdmFudGFnZXMtYWJvdXRfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAuYWJvdXQtc2VjdGlvbi10MiAuYWR2YW50YWdlcy1hYm91dF9fZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfMiAuYWJvdXQtc2VjdGlvbl9fbGlzdCB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICAgICAgICBnYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIHJvdy1nYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18yIC5hYm91dC1zZWN0aW9uX19saXN0ID4gLmFkdmFudGFnZXMtYWJvdXQgKyAuYWR2YW50YWdlcy1hYm91dCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTYwcHgpIHtcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzIgLmFib3V0LXNlY3Rpb25fX2xpc3Qge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgICAgICBnYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIHJvdy1nYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18yIC5hYm91dC1zZWN0aW9uX19saXN0ID4gLmFkdmFudGFnZXMtYWJvdXQgKyAuYWR2YW50YWdlcy1hYm91dCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5zZWN0aW9uOm5vdCguY3RhLXNlY3Rpb24tdDMpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGNsYW1wKDVyZW0sIDd2dywgNy41cmVtKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDVyZW0sIDd2dywgNy41cmVtKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMzpub3QoLmN0YS1zZWN0aW9uLXQzKSA+IC5jb250YWluZXIge1xuICAgICAgICByb3ctZ2FwOiBjbGFtcCgycmVtLCAzdncsIDMuMjVyZW0pO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zOm5vdCguY3RhLXNlY3Rpb24tdDMpIC5zZWN0aW9uX19oZWFkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMzpub3QoLmN0YS1zZWN0aW9uLXQzKSAuc2VjdGlvbl9fY29udGVudCxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMzpub3QoLmN0YS1zZWN0aW9uLXQzKSAuc3dpcGVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLnN3aXBlci13cmFwcGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFkdmFudGFnZXMtY2FyZCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMwcHgpIHtcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuc2VjdGlvbjpub3QoLmN0YS1zZWN0aW9uLXQzKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzM6bm90KC5jdGEtc2VjdGlvbi10MykgPiAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIHJvdy1nYXA6IDEuNzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNCAuc2VydmljZXMtY2FyZCB7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjIwbXMgZWFzZSwgYm9yZGVyLWNvbG9yIDIyMG1zIGVhc2UsIHRyYW5zZm9ybSAyMjBtcyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSk7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzQgLnNlcnZpY2VzLWNhcmQ6aXMoOmhvdmVyLCA6Zm9jdXMtd2l0aGluKSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNSAuYXVkaWVuY2Utcm91dGUtY2FyZDppcyg6aG92ZXIsIDpmb2N1cy13aXRoaW4pIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja181IC5hdWRpZW5jZS1yb3V0ZS1jYXJkOmhvdmVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4yNXJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNSAuYXVkaWVuY2Utcm91dGUtY2FyZDpob3ZlciAuYXVkaWVuY2Utcm91dGUtY2FyZF9faW1hZ2UgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNDUpO1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzQgLnNlcnZpY2VzLWNhcmQ6aXMoOmhvdmVyLCA6Zm9jdXMtd2l0aGluKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1LCAxMzksIDE5NiwgMC4zNik7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184ID4gLmNvbnRhaW5lciB7XG4gICAgICAgIHJvdy1nYXA6IGNsYW1wKDEuNXJlbSwgMnZ3LCAycmVtKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc2VjdGlvbl9faGVhZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnNlY3Rpb25fX2NvbnRlbnQsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlciB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zZWN0aW9uX19jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogY2xhbXAoMnJlbSwgM3Z3LCAzLjVyZW0pO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICAgICAgICBnYXA6IGNsYW1wKDFyZW0sIDEuMnZ3LCAxLjVyZW0pO1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuYWR2YW50YWdlcy1jYXJkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogY2xhbXAoMTguMjVyZW0sIDIxdncsIDIyLjI1cmVtKTtcbiAgICAgICAgcGFkZGluZzogY2xhbXAoMS41cmVtLCAxLjU1dncsIDJyZW0pO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNGNUY4O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICBhbmltYXRpb246IGdlbnRpbWVkLXRydXN0LWNhcmQtaW4gNTIwbXMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSkgYm90aDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyNDBtcyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKSwgdHJhbnNmb3JtIDI0MG1zIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xuICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5hZHZhbnRhZ2VzLWNhcmQ6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA4OCUgMTYlLCByZ2JhKDI1LCAxMzksIDE5NiwgMC4xMyksIHRyYW5zcGFyZW50IDI4JSksXG4gICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNDgpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDQ2JSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMC42MjVyZW0sIC0wLjYyNXJlbSwgMCkgc2NhbGUoMC45ODUpO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI2MG1zIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpLCB0cmFuc2Zvcm0gMzQwbXMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLmFkdmFudGFnZXMtY2FyZDo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IGNsYW1wKDEuNXJlbSwgMS41NXZ3LCAycmVtKTtcbiAgICAgICAgbGVmdDogY2xhbXAoMS41cmVtLCAxLjU1dncsIDJyZW0pO1xuICAgICAgICBjb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjM4KTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLmFkdmFudGFnZXMtY2FyZDo6YmVmb3JlIHsgY29udGVudDogJzAxJzsgfVxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDIpIC5hZHZhbnRhZ2VzLWNhcmQ6OmJlZm9yZSB7IGNvbnRlbnQ6ICcwMic7IH1cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuYWR2YW50YWdlcy1jYXJkOjpiZWZvcmUgeyBjb250ZW50OiAnMDMnOyB9XG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNCkgLmFkdmFudGFnZXMtY2FyZDo6YmVmb3JlIHsgY29udGVudDogJzA0JzsgfVxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDUpIC5hZHZhbnRhZ2VzLWNhcmQ6OmJlZm9yZSB7IGNvbnRlbnQ6ICcwNSc7IH1cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuYWR2YW50YWdlcy1jYXJkOjpiZWZvcmUgeyBjb250ZW50OiAnMDYnOyB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuYWR2YW50YWdlcy1jYXJkIC5pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IGNsYW1wKDEuMzc1cmVtLCAxLjQ1dncsIDEuODc1cmVtKTtcbiAgICAgICAgcmlnaHQ6IGNsYW1wKDEuNXJlbSwgMS41NXZ3LCAycmVtKTtcbiAgICAgICAgd2lkdGg6IDIuMTI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuMTI1cmVtO1xuICAgICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjQwbXMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSksIG9wYWNpdHkgMTgwbXMgZWFzZSwgZmlsdGVyIDI0MG1zIGVhc2U7XG4gICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLmFkdmFudGFnZXMtY2FyZCB7IGFuaW1hdGlvbi1kZWxheTogNDBtczsgfVxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDIpIC5hZHZhbnRhZ2VzLWNhcmQgeyBhbmltYXRpb24tZGVsYXk6IDkwbXM7IH1cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuYWR2YW50YWdlcy1jYXJkIHsgYW5pbWF0aW9uLWRlbGF5OiAxNDBtczsgfVxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDQpIC5hZHZhbnRhZ2VzLWNhcmQgeyBhbmltYXRpb24tZGVsYXk6IDE5MG1zOyB9XG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNSkgLmFkdmFudGFnZXMtY2FyZCB7IGFuaW1hdGlvbi1kZWxheTogMjQwbXM7IH1cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuYWR2YW50YWdlcy1jYXJkIHsgYW5pbWF0aW9uLWRlbGF5OiAyOTBtczsgfVxuXG4gICAgQGtleWZyYW1lcyBnZW50aW1lZC10cnVzdC1jYXJkLWluIHtcbiAgICAgICAgZnJvbSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgZmlsdGVyOiBibHVyKDAuMzc1cmVtKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwLjYyNXJlbSk7XG4gICAgICAgIH1cbiAgICAgICAgdG8ge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGZpbHRlcjogYmx1cigwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLmFkdmFudGFnZXMtY2FyZDppcyg6aG92ZXIsIDpmb2N1cy13aXRoaW4pIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4xMjVyZW0pICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuYWR2YW50YWdlcy1jYXJkOmlzKDpob3ZlciwgOmZvY3VzLXdpdGhpbik6OmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLmFkdmFudGFnZXMtY2FyZDppcyg6aG92ZXIsIDpmb2N1cy13aXRoaW4pIC5pY29uIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLjI1cmVtLCAtMC4yNXJlbSkgc2NhbGUoMS4wNDUpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuYWR2YW50YWdlcy1jYXJkOmlzKDpob3ZlciwgOmZvY3VzLXdpdGhpbikgLmFkdmFudGFnZXMtY2FyZF9fY29udGVudCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuMTI1cmVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5hZHZhbnRhZ2VzLWNhcmRfX2NvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIGdhcDogY2xhbXAoMC44NzVyZW0sIDAuOXZ3LCAxLjEyNXJlbSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI0MG1zIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5hZHZhbnRhZ2VzLWNhcmRfX3RpdGxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMjVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmspO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5hZHZhbnRhZ2VzLWNhcmRfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMjVyZW07XG4gICAgICAgIGNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNzIpO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDEpIC5hZHZhbnRhZ2VzLWNhcmQsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLmFkdmFudGFnZXMtY2FyZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdlbnRpbWVkLWJsdWUpO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDEpIC5hZHZhbnRhZ2VzLWNhcmQ6OmFmdGVyLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5hZHZhbnRhZ2VzLWNhcmQ6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgODglIDE2JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI2KSwgdHJhbnNwYXJlbnQgMzAlKSxcbiAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNiksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNDglKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuYWR2YW50YWdlcy1jYXJkOjpiZWZvcmUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLmFkdmFudGFnZXMtY2FyZDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42Mik7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLmFkdmFudGFnZXMtY2FyZCAuaWNvbixcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuYWR2YW50YWdlcy1jYXJkIC5pY29uIHtcbiAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuYWR2YW50YWdlcy1jYXJkX190aXRsZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuYWR2YW50YWdlcy1jYXJkX19kZXNjcmlwdGlvbixcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuYWR2YW50YWdlcy1jYXJkX190aXRsZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuYWR2YW50YWdlcy1jYXJkX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDEpIC5hZHZhbnRhZ2VzLWNhcmRfX2Rlc2NyaXB0aW9uLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5hZHZhbnRhZ2VzLWNhcmRfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgb3BhY2l0eTogMC44MjtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgyKSAuYWR2YW50YWdlcy1jYXJkLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDQpIC5hZHZhbnRhZ2VzLWNhcmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1ncmVlbik7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMikgLmFkdmFudGFnZXMtY2FyZDppcyg6aG92ZXIsIDpmb2N1cy13aXRoaW4pLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDQpIC5hZHZhbnRhZ2VzLWNhcmQ6aXMoOmhvdmVyLCA6Zm9jdXMtd2l0aGluKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNzlGNjY7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMikgLmFkdmFudGFnZXMtY2FyZDo6YWZ0ZXIsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNCkgLmFkdmFudGFnZXMtY2FyZDo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA4OCUgMTYlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjIpLCB0cmFuc3BhcmVudCAzMCUpLFxuICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA0OCUpO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDIpIC5hZHZhbnRhZ2VzLWNhcmQ6OmJlZm9yZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg0KSAuYWR2YW50YWdlcy1jYXJkOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYyKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgyKSAuYWR2YW50YWdlcy1jYXJkIC5pY29uLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDQpIC5hZHZhbnRhZ2VzLWNhcmQgLmljb24ge1xuICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDIpIC5hZHZhbnRhZ2VzLWNhcmRfX3RpdGxlLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDIpIC5hZHZhbnRhZ2VzLWNhcmRfX2Rlc2NyaXB0aW9uLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDQpIC5hZHZhbnRhZ2VzLWNhcmRfX3RpdGxlLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDQpIC5hZHZhbnRhZ2VzLWNhcmRfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMikgLmFkdmFudGFnZXMtY2FyZF9fZGVzY3JpcHRpb24sXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNCkgLmFkdmFudGFnZXMtY2FyZF9fZGVzY3JpcHRpb24ge1xuICAgICAgICBvcGFjaXR5OiAwLjgyO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDMpIC5hZHZhbnRhZ2VzLWNhcmQsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNSkgLmFkdmFudGFnZXMtY2FyZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOEVERjM7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLmFkdmFudGFnZXMtY2FyZDppcyg6aG92ZXIsIDpmb2N1cy13aXRoaW4pLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDUpIC5hZHZhbnRhZ2VzLWNhcmQ6aXMoOmhvdmVyLCA6Zm9jdXMtd2l0aGluKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFREYzRjg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExNjBweCkge1xuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzMHB4KSB7XG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184ID4gLmNvbnRhaW5lciB7XG4gICAgICAgICAgICByb3ctZ2FwOiAxLjc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci13cmFwcGVyIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLmFkdmFudGFnZXMtY2FyZCB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxNC43NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5hZHZhbnRhZ2VzLWNhcmQsXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5hZHZhbnRhZ2VzLWNhcmQ6OmFmdGVyLFxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuYWR2YW50YWdlcy1jYXJkIC5pY29uLFxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuYWR2YW50YWdlcy1jYXJkX19jb250ZW50IHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb24sXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUuYXJ0aWNsZS1zZWN0aW9uLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183LmFydGljbGUtc2VjdGlvbixcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOS5hcnRpY2xlLXNlY3Rpb24ge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zIC5hcnRpY2xlLXNlY3Rpb25fX2ltYWdlLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja181IC5hcnRpY2xlLXNlY3Rpb25fX2ltYWdlLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX2ltYWdlLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja185IC5hcnRpY2xlLXNlY3Rpb25fX2ltYWdlIHtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxLjQyO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRThFREYzO1xuICAgICAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcuYXJ0aWNsZS1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDVyZW0sIDd2dywgNy41cmVtKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNy5hcnRpY2xlLXNlY3Rpb24gPiAuY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMjRyZW0sIDAuODZmcikgbWlubWF4KDAsIDFmcik7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICAgICBcImNvc3QtbWVkaWEgY29zdC10aXRsZVwiXG4gICAgICAgICAgICBcImNvc3QtbWVkaWEgY29zdC1pbnRyb1wiXG4gICAgICAgICAgICBcImNvc3QtbWVkaWEgY29zdC1idXR0b25cIlxuICAgICAgICAgICAgXCJjb3N0LXByaWNlLXRpdGxlIGNvc3QtcHJpY2UtdGl0bGVcIlxuICAgICAgICAgICAgXCJjb3N0LXByaWNlcyBjb3N0LXByaWNlc1wiXG4gICAgICAgICAgICBcImNvc3Qtbm90ZSBjb3N0LW5vdGVcIjtcbiAgICAgICAgY29sdW1uLWdhcDogY2xhbXAoM3JlbSwgNS41dncsIDUuNzVyZW0pO1xuICAgICAgICByb3ctZ2FwOiBjbGFtcCgxcmVtLCAxLjd2dywgMS42cmVtKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183LmFydGljbGUtc2VjdGlvbiAuc2VjdGlvbl9fY29udGVudCxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNy5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fY29udGVudCxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNy5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9faGVhZCxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNy5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSB7XG4gICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX2ltYWdlIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBjb3N0LW1lZGlhO1xuICAgICAgICBhc3BlY3QtcmF0aW86IDEuMjI7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX3RpdGxlIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBjb3N0LXRpdGxlO1xuICAgICAgICBhbGlnbi1zZWxmOiBlbmQ7XG4gICAgICAgIG1heC13aWR0aDogNTJyZW07XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIGdyaWQtYXJlYTogY29zdC1pbnRybztcbiAgICAgICAgbWF4LXdpZHRoOiA2OGNoO1xuICAgICAgICBtYXJnaW46IGNhbGMoODBweCAtIGNsYW1wKDFyZW0sIDEuN3Z3LCAxLjZyZW0pKSAwIDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmspO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX2J1dHRvbi1saXN0IHtcbiAgICAgICAgZ3JpZC1hcmVhOiBjb3N0LWJ1dHRvbjtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOC5hZHZhbnRhZ2VzLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nLXRvcDogY2xhbXAoMy41cmVtLCA0dncsIDRyZW0pO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zIC5hcnRpY2xlLXNlY3Rpb25fX2ltYWdlIGltZyxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNSAuYXJ0aWNsZS1zZWN0aW9uX19pbWFnZSBpbWcsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9faW1hZ2UgaW1nLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja185IC5hcnRpY2xlLXNlY3Rpb25fX2ltYWdlIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDEpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTIwbXMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja185IC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUge1xuICAgICAgICBtYXgtd2lkdGg6IDY1Y2g7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gKixcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gKiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja185IC5hcnRpY2xlLXNlY3Rpb25fX2NvbnRlbnQge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOSAuYXJ0aWNsZS1zZWN0aW9uX19oZWFkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNsYW1wKDEuNXJlbSwgMi40dncsIDIuNXJlbSk7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzkgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDY1Y2g7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzkgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+ICoge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOSAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHAge1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHA6Zmlyc3QtY2hpbGQsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSBwOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNSAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIGgzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS4yNWVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNSAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIGgzOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHA6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICBncmlkLWFyZWE6IGNvc3QtcHJpY2UtdGl0bGU7XG4gICAgICAgIG1hcmdpbjogY2xhbXAoMS41cmVtLCAyLjJ2dywgMi4yNXJlbSkgMCAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKTtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjVyZW0sIDEuMTZyZW0gKyAwLjl2dywgMi4yNXJlbSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHA6bnRoLW9mLXR5cGUoMikgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHVsIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBjb3N0LXByaWNlcztcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpO1xuICAgICAgICBnYXA6IGNsYW1wKDAuNzVyZW0sIDF2dywgMXJlbSk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMC43NXJlbTtcbiAgICAgICAgcGFkZGluZzogY2xhbXAoMS4xNXJlbSwgMS40NXZ3LCAxLjVyZW0pO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogY2xhbXAoMC43NXJlbSwgMXZ3LCAxcmVtKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluayk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOEYxRjY7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgbGk6bnRoLWNoaWxkKDEpLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgbGk6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdlbnRpbWVkLWJsdWUpO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgbGkgc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmspO1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDFyZW0sIDAuOXJlbSArIDAuMjV2dywgMS4xNXJlbSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgbGk6bnRoLWNoaWxkKDEpIHN0cm9uZyxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIGxpOm50aC1jaGlsZCgzKSBzdHJvbmcge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIGxpOjpiZWZvcmUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSBsaTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICBncmlkLWFyZWE6IGNvc3Qtbm90ZTtcbiAgICAgICAgbWF4LXdpZHRoOiA4MmNoO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmstbXV0ZWQpO1xuICAgIH1cblxuXG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNS5hcnRpY2xlLXNlY3Rpb24tdDIgPiAuY29udGFpbmVyIHtcbiAgICAgICAgcm93LWdhcDogY2xhbXAoMS43NXJlbSwgMi41dncsIDIuNXJlbSk7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLnNlY3Rpb25fX2hlYWQge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja181IC5zZWN0aW9uX190ZXh0IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1ncmlkLWNvbHVtbi1nYXApO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja181IC5zZWN0aW9uX190aXRsZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNSAuc2VjdGlvbl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLnNlY3Rpb25fX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluay1tdXRlZCk7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgdGV4dC13cmFwOiBwcmV0dHk7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLmFydGljbGUtc2VjdGlvbi10Ml9fYXJ0aWNsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IGNsYW1wKDJyZW0sIDN2dywgMy41cmVtKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNSAuYXVkaWVuY2Utcm91dGVzIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgICAgICBnYXA6IGNsYW1wKDFyZW0sIDEuNHZ3LCAxLjVyZW0pO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNSAuYXVkaWVuY2Utcm91dGUtY2FyZCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxZnI7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGM0Y1Rjg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmspO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMjBtcyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSksIGJhY2tncm91bmQtY29sb3IgMjIwbXMgZWFzZTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNSAuYXVkaWVuY2Utcm91dGUtY2FyZDpudGgtY2hpbGQoMikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRThFREYzO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja181IC5hdWRpZW5jZS1yb3V0ZS1jYXJkX19pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDcuNTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U4RURGMztcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNSAuYXVkaWVuY2Utcm91dGUtY2FyZF9faW1hZ2UgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAxKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDQyMG1zIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNSAuYXVkaWVuY2Utcm91dGUtY2FyZF9fYm9keSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogY2xhbXAoMC44NXJlbSwgMXZ3LCAxLjFyZW0pO1xuICAgICAgICBwYWRkaW5nOiBjbGFtcCgxLjI1cmVtLCAxLjZ2dywgMS43NXJlbSk7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLmF1ZGllbmNlLXJvdXRlLWNhcmRfX2V5ZWJyb3cge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNSAuYXVkaWVuY2Utcm91dGUtY2FyZF9fdGl0bGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmspO1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDEuNDVyZW0sIDEuNTV2dywgMS43NXJlbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja181IC5hdWRpZW5jZS1yb3V0ZS1jYXJkX190ZXh0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLW11dGVkKTtcbiAgICAgICAgZm9udDogdmFyKC0tZm9udC1ib2R5LU0tcik7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLmF1ZGllbmNlLXJvdXRlLWNhcmRfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjU1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLmF1ZGllbmNlLXJvdXRlLWNhcmRfX2xpbms6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ+KGlyc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxuICAgIC5jdGEtc2VjdGlvbi10MyB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmN0YS1zZWN0aW9uLXQzOmhhcyguc2VjdGlvbl9fYmFja2dyb3VuZCkge1xuICAgICAgICAtLWxvY2FsLW9mZnNldC10b3A6IGNsYW1wKDNyZW0sIDV2dywgNXJlbSk7XG4gICAgfVxuXG4gICAgLmN0YS1zZWN0aW9uLXQzIC5jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmN0YS1zZWN0aW9uLXQzIC5zZWN0aW9uX19iYWNrZ3JvdW5kIHtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICB9XG5cbiAgICAuY3RhLXNlY3Rpb24tdDMgLnNlY3Rpb25fX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmN0YS1zZWN0aW9uLXQzIC5zZWN0aW9uX19iYWNrZ3JvdW5kIGltZyB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGZpbHRlcjogbm9uZTtcbiAgICAgICAgbWl4LWJsZW5kLW1vZGU6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAuY3RhLXNlY3Rpb24tdDMgLnNlY3Rpb25fX2NvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19pbWFnZTpob3ZlciBpbWcsXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja181IC5hcnRpY2xlLXNlY3Rpb25fX2ltYWdlOmhvdmVyIGltZyxcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9faW1hZ2U6aG92ZXIgaW1nLFxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfOSAuYXJ0aWNsZS1zZWN0aW9uX19pbWFnZTpob3ZlciBpbWcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0NSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNSAuc2VjdGlvbl9fdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgY29sdW1uLWdhcDogMDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLnNlY3Rpb25fX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDJyZW07XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNSAuYXVkaWVuY2Utcm91dGVzIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLmF1ZGllbmNlLXJvdXRlLWNhcmRfX2ltYWdlIHtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTYgLyA4LjU7XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNy5hcnRpY2xlLXNlY3Rpb24gPiAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgICAgICAgICBcImNvc3QtdGl0bGVcIlxuICAgICAgICAgICAgICAgIFwiY29zdC1pbnRyb1wiXG4gICAgICAgICAgICAgICAgXCJjb3N0LW1lZGlhXCJcbiAgICAgICAgICAgICAgICBcImNvc3QtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBcImNvc3QtcHJpY2UtdGl0bGVcIlxuICAgICAgICAgICAgICAgIFwiY29zdC1wcmljZXNcIlxuICAgICAgICAgICAgICAgIFwiY29zdC1ub3RlXCI7XG4gICAgICAgICAgICByb3ctZ2FwOiAxLjI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9faW1hZ2Uge1xuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX190aXRsZSB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgdWwge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19pbWFnZSBpbWcsXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja181IC5hcnRpY2xlLXNlY3Rpb25fX2ltYWdlIGltZyxcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9faW1hZ2UgaW1nLFxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfOSAuYXJ0aWNsZS1zZWN0aW9uX19pbWFnZSBpbWcge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IHtcbiAgICAgICAgLS1zdGFnZS1jYXJkLWJnOiAjRjNGNUY4O1xuICAgICAgICAtLXN0YWdlLWNhcmQtYmctYWx0OiAjRThFREYzO1xuICAgICAgICAtLXN0YWdlLWNhcmQtYmctYWN0aXZlOiB2YXIoLS1nZW50aW1lZC1ibHVlKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiA+IC5jb250YWluZXIge1xuICAgICAgICByb3ctZ2FwOiBjbGFtcCgxLjVyZW0sIDJ2dywgMnJlbSk7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnNlY3Rpb25fX2hlYWQge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc2VjdGlvbl9fdGV4dCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tZ3JpZC1jb2x1bW4tZ2FwKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc2VjdGlvbl9fdGl0bGUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnNlY3Rpb25fX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zZWN0aW9uX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmstbXV0ZWQpO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zZWN0aW9uX19jb250ZW50LFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXIge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc2VjdGlvbl9fY29udGVudCB7XG4gICAgICAgIG1hcmdpbi10b3A6IGNsYW1wKDJyZW0sIDN2dywgMy41cmVtKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgICAgZ2FwOiBjbGFtcCgxcmVtLCAxLjJ2dywgMS41cmVtKTtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGUge1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN0YWdlLWNhcmQtdDUge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGNsYW1wKDEzLjVyZW0sIDE1dncsIDE2LjVyZW0pO1xuICAgICAgICBwYWRkaW5nOiBjbGFtcCgxLjM1cmVtLCAxLjV2dywgMS44cmVtKTtcbiAgICAgICAgZ2FwOiBjbGFtcCgxcmVtLCAxLjJ2dywgMS4zNXJlbSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YWdlLWNhcmQtYmcpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjIwbXMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDIyMG1zIGVhc2U7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMm4pIC5zdGFnZS1jYXJkLXQ1IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhZ2UtY2FyZC1iZy1hbHQpO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDEpIC5zdGFnZS1jYXJkLXQ1LFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5zdGFnZS1jYXJkLXQ1IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhZ2UtY2FyZC1iZy1hY3RpdmUpO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuc3RhZ2UtY2FyZC10NSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdlbnRpbWVkLWdyZWVuKTtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDEpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24sXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDMpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24sXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNSkgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDUpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24sXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24ge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3RhZ2UtY2FyZC10NV9fYm9keSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zdGFnZS1jYXJkLXQ1X19pbmRleCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNTQpO1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDIuNzVyZW0sIDR2dywgNC43NXJlbSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjk7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN0YWdlLWNhcmQtdDVfX3RpdGxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluayk7XG4gICAgICAgIHRleHQtd3JhcDogcHJldHR5O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zdGFnZS1jYXJkLXQ1X19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLW11dGVkKTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uIC50ZXh0IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN0YWdlLWNhcmQtdDU6aG92ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjI1cmVtKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGN0Y5RkI7XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuc3RhZ2UtY2FyZC10NTpob3ZlcixcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLnN0YWdlLWNhcmQtdDU6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFGOEJDMztcbiAgICAgICAgfVxuXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDMpIC5zdGFnZS1jYXJkLXQ1OmhvdmVyLFxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjc5RTY0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExNjBweCkge1xuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zZWN0aW9uX190ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiAwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc2VjdGlvbl9fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0MnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzBweCkge1xuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3RhZ2UtY2FyZC10NSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMi41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN0YWdlLWNhcmQtdDUge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb24ge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5wYWdlLWJhbm5lciB+IC5hYm91dC1zZWN0aW9uIC5zZWN0aW9uX19jb250ZW50IHtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgfVxuXG4gICAgLnBhZ2UtYmFubmVyIH4gLmFib3V0LXNlY3Rpb24gLmFib3V0LXNlY3Rpb25fX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICAgIGdhcDogY2xhbXAoMC43NXJlbSwgMXZ3LCAxcmVtKTtcbiAgICAgICAgbWFyZ2luLXRvcDogY2xhbXAoMS41cmVtLCAydncsIDIuMjVyZW0pO1xuICAgIH1cblxuICAgIC5wYWdlLWJhbm5lciB+IC5hYm91dC1zZWN0aW9uIC5hZHZhbnRhZ2VzLWFib3V0IHtcbiAgICAgICAgbWluLWhlaWdodDogOC41cmVtO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IGNsYW1wKDFyZW0sIDEuMXZ3LCAxLjI1cmVtKTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZ2FwOiAwLjg3NXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjZGODtcbiAgICB9XG5cbiAgICAucGFnZS1iYW5uZXIgfiAuYWJvdXQtc2VjdGlvbiAuYWR2YW50YWdlcy1hYm91dDpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUFGMEY1O1xuICAgIH1cblxuICAgIC5wYWdlLWJhbm5lciB+IC5hYm91dC1zZWN0aW9uIC5hZHZhbnRhZ2VzLWFib3V0X190aXRsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKTtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjY1cmVtLCAyLjJ2dywgMi40cmVtKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTY7XG4gICAgfVxuXG4gICAgLnBhZ2UtYmFubmVyIH4gLmFib3V0LXNlY3Rpb24gLmFkdmFudGFnZXMtYWJvdXRfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmstbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgIH1cblxuICAgIC5wYWdlLWJhbm5lciB+IC5hYm91dC1zZWN0aW9uIC5hYm91dC1zZWN0aW9uX19pbWFnZSB7XG4gICAgICAgIGhlaWdodDogY2xhbXAoMjVyZW0sIDQ0dncsIDQycmVtKTtcbiAgICAgICAgbWF4LWhlaWdodDogNDJyZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgIH1cblxuICAgIC5wYWdlLWJhbm5lciB+IC5hYm91dC1zZWN0aW9uIC5hYm91dC1zZWN0aW9uX19pbWFnZSBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG5cbiAgICAucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2ltYWdlIHtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxLjU4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRThFREYzO1xuICAgICAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gICAgfVxuXG4gICAgLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19pbWFnZSBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAxKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUyMG1zIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKTtcbiAgICB9XG5cbiAgICAucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUge1xuICAgICAgICBtYXgtd2lkdGg6IDY0Y2g7XG4gICAgfVxuXG4gICAgLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzEuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUsXG4gICAgLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzIuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzEuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgPiAqLFxuICAgIC5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja18yLmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gKiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG5cbiAgICAucGFnZS1iYW5uZXIgfiAuYWR2YW50YWdlcy1zZWN0aW9uIHtcbiAgICAgICAgLS1pbm5lci1hZHZhbnRhZ2UtY2FyZC1iZzogI0Y0RjZGODtcbiAgICAgICAgLS1pbm5lci1hZHZhbnRhZ2UtY2FyZC1iZy1hbHQ6ICNFQUYwRjU7XG4gICAgfVxuXG4gICAgLnBhZ2UtYmFubmVyIH4gLmFkdmFudGFnZXMtc2VjdGlvbiAuc2VjdGlvbl9fY29udGVudCxcbiAgICAucGFnZS1iYW5uZXIgfiAuYWR2YW50YWdlcy1zZWN0aW9uIC5zd2lwZXIge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAucGFnZS1iYW5uZXIgfiAuYWR2YW50YWdlcy1zZWN0aW9uIC5zd2lwZXItd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpO1xuICAgICAgICBnYXA6IGNsYW1wKDFyZW0sIDEuMnZ3LCAxLjVyZW0pO1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnBhZ2UtYmFubmVyIH4gLmFkdmFudGFnZXMtc2VjdGlvbiAuc3dpcGVyLXNsaWRlIHtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC5wYWdlLWJhbm5lciB+IC5hZHZhbnRhZ2VzLXNlY3Rpb24gLmFkdmFudGFnZXMtY2FyZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiBjbGFtcCgxNXJlbSwgMTd2dywgMTguNXJlbSk7XG4gICAgICAgIHBhZGRpbmc6IGNsYW1wKDEuMzVyZW0sIDEuNXZ3LCAxLjc1cmVtKTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbm5lci1hZHZhbnRhZ2UtY2FyZC1iZyk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMjBtcyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSksIGJhY2tncm91bmQtY29sb3IgMjIwbXMgZWFzZTtcbiAgICB9XG5cbiAgICAucGFnZS1iYW5uZXIgfiAuYWR2YW50YWdlcy1zZWN0aW9uIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKGV2ZW4pIC5hZHZhbnRhZ2VzLWNhcmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbm5lci1hZHZhbnRhZ2UtY2FyZC1iZy1hbHQpO1xuICAgIH1cblxuICAgIC5wYWdlLWJhbm5lciB+IC5hZHZhbnRhZ2VzLXNlY3Rpb24gLmFkdmFudGFnZXMtY2FyZF9fY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgLnBhZ2UtYmFubmVyIH4gLmFkdmFudGFnZXMtc2VjdGlvbiAuYWR2YW50YWdlcy1jYXJkX190aXRsZSxcbiAgICAucGFnZS1iYW5uZXIgfiAuYWR2YW50YWdlcy1zZWN0aW9uIC5hZHZhbnRhZ2VzLWNhcmRfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIC5wYWdlLWJhbm5lciB+IC5hZHZhbnRhZ2VzLXNlY3Rpb24gKyAuYXJ0aWNsZS1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGNsYW1wKDIuNzVyZW0sIDR2dywgNC41cmVtKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgICAgIC5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9faW1hZ2U6aG92ZXIgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNCk7XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZS1iYW5uZXIgfiAuYWR2YW50YWdlcy1zZWN0aW9uIC5hZHZhbnRhZ2VzLWNhcmQ6aG92ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjEyNXJlbSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGQUZDO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExNjBweCkge1xuICAgICAgICAucGFnZS1iYW5uZXIgfiAuYWR2YW50YWdlcy1zZWN0aW9uIC5zd2lwZXItd3JhcHBlciB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMwcHgpIHtcbiAgICAgICAgLnBhZ2UtYmFubmVyIH4gLmFib3V0LXNlY3Rpb24gLmFib3V0LXNlY3Rpb25fX2xpc3Qge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZS1iYW5uZXIgfiAuYWJvdXQtc2VjdGlvbiAuYWJvdXQtc2VjdGlvbl9faW1hZ2Uge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9faW1hZ2Uge1xuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxLjMyO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2UtYmFubmVyIH4gLmFkdmFudGFnZXMtc2VjdGlvbiAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZS1iYW5uZXIgfiAuYWR2YW50YWdlcy1zZWN0aW9uIC5hZHZhbnRhZ2VzLWNhcmQge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTIuNzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICAucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2ltYWdlIGltZyxcbiAgICAgICAgLnBhZ2UtYmFubmVyIH4gLmFkdmFudGFnZXMtc2VjdGlvbiAuYWR2YW50YWdlcy1jYXJkIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8qIEdlbnRpbWVkOiBzb2Z0IHNjcm9sbCBjaG9yZW9ncmFwaHkuIENvbnRlbnQgcmVtYWlucyB2aXNpYmxlIHdpdGhvdXQgSlMuICovXG4gICAgOnJvb3Qge1xuICAgICAgICAtLWdlbnRpbWVkLW1vdGlvbi1lYXNlOiBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSk7XG4gICAgICAgIC0tZ2VudGltZWQtbW90aW9uLWZhc3Q6IDIyMG1zO1xuICAgICAgICAtLWdlbnRpbWVkLW1vdGlvbi1yZXZlYWw6IDcyMG1zO1xuICAgICAgICAtLWdlbnRpbWVkLW1vdGlvbi1zdGFnZ2VyOiA1NG1zO1xuICAgIH1cblxuICAgIC5ibS1tb3Rpb24tcmVhZHkgW2RhdGEtcmV2ZWFsXSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMS4yNXJlbSwgMCk7XG4gICAgICAgIGZpbHRlcjogYmx1cigwLjM1cmVtKTtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgIG9wYWNpdHkgdmFyKC0tZ2VudGltZWQtbW90aW9uLXJldmVhbCkgdmFyKC0tZ2VudGltZWQtbW90aW9uLWVhc2UpLFxuICAgICAgICAgICAgdHJhbnNmb3JtIHZhcigtLWdlbnRpbWVkLW1vdGlvbi1yZXZlYWwpIHZhcigtLWdlbnRpbWVkLW1vdGlvbi1lYXNlKSxcbiAgICAgICAgICAgIGZpbHRlciA2MjBtcyB2YXIoLS1nZW50aW1lZC1tb3Rpb24tZWFzZSk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IGNhbGModmFyKC0tcmV2ZWFsLWluZGV4LCAwKSAqIHZhcigtLWdlbnRpbWVkLW1vdGlvbi1zdGFnZ2VyKSk7XG4gICAgICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5LCB0cmFuc2Zvcm0sIGZpbHRlcjtcbiAgICB9XG5cbiAgICAuYm0tbW90aW9uLXJlYWR5IFtkYXRhLXJldmVhbD0nc2VjdGlvbiddIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxLjVyZW0sIDApO1xuICAgIH1cblxuICAgIC5ibS1tb3Rpb24tcmVhZHkgW2RhdGEtcmV2ZWFsPSdtZWRpYSddIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxLjRyZW0sIDApIHNjYWxlKDAuOTg1KTtcbn1cblxuICAgIC5ibS1tb3Rpb24tcmVhZHkgW2RhdGEtcmV2ZWFsPSdjYXJkJ10ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDFyZW0sIDApIHNjYWxlKDAuOTkyKTtcbiAgICB9XG5cbiAgICAuYm0tbW90aW9uLXJlYWR5IFtkYXRhLXJldmVhbF0uaXMtdmlzaWJsZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGUoMSk7XG4gICAgICAgIGZpbHRlcjogYmx1cigwKTtcbndpbGwtY2hhbmdlOiBhdXRvO1xuICAgIH1cblxuICAgIC5ibS1tb3Rpb24tcmVhZHkgLmZyb250LWJhbm5lciBbZGF0YS1yZXZlYWxdIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNjQwbXM7XG4gICAgfVxuXG4gICAgLmJtLW1vdGlvbi1yZWFkeSAuc2VjdGlvbl9faGVhZFtkYXRhLXJldmVhbF0sXG4gICAgLmJtLW1vdGlvbi1yZWFkeSAuYXJ0aWNsZS1zZWN0aW9uX190aXRsZVtkYXRhLXJldmVhbF0sXG4gICAgLmJtLW1vdGlvbi1yZWFkeSAucGFnZS1iYW5uZXJfX2NvbnRlbnRbZGF0YS1yZXZlYWxdLFxuICAgIC5ibS1tb3Rpb24tcmVhZHkgLmZyb250LWJhbm5lcl9fY29udGVudFtkYXRhLXJldmVhbF0ge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLmJtLW1vdGlvbi1yZWFkeSBbZGF0YS1yZXZlYWxdLmlzLXZpc2libGUgLmljb25fYW5pbWF0ZSB7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLWdlbnRpbWVkLW1vdGlvbi1mYXN0KTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgICAgIC5ibS1tb3Rpb24tcmVhZHkgLmJ1dHRvbjpub3QoOmRpc2FibGVkKSxcbiAgICAgICAgLmJtLW1vdGlvbi1yZWFkeSAuc2VydmljZXMtY2FyZCxcbiAgICAgICAgLmJtLW1vdGlvbi1yZWFkeSAuYXVkaWVuY2Utcm91dGUtY2FyZCxcbiAgICAgICAgLmJtLW1vdGlvbi1yZWFkeSAuYWR2YW50YWdlcy1jYXJkLFxuICAgICAgICAuYm0tbW90aW9uLXJlYWR5IC5zdGFnZS1jYXJkLXQ1IHtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDE4MG1zLCAyMjBtcywgMjIwbXM7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZ2VudGltZWQtbW90aW9uLWVhc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgLmJtLW1vdGlvbi1yZWFkeSBbZGF0YS1yZXZlYWxdIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZmlsdGVyOiBub25lICFpbXBvcnRhbnQ7XG50cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgLyogR2VudGltZWQ6IHJlZ2lzdHJhdGlvbiAyMDI2IGVkaXRvcmlhbCBibG9jayAqL1xuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmZmZmZmYgMCUsICNmNGZhZmIgMTAwJSk7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uID4gLmNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKSAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IGNsYW1wKDJyZW0sIDV2dywgNS41cmVtKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb24gLnNlY3Rpb25fX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdGFydCAhaW1wb3J0YW50O1xuICAgICAgICBncmlkLWFyZWE6IDEgLyAyIC8gMiAvIDMgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19jb250ZW50LFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zIC5hcnRpY2xlLXNlY3Rpb25fX2hlYWQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zIC5hcnRpY2xlLXNlY3Rpb25fX3RpdGxlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMy41ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gcDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1heC13aWR0aDogNDNyZW07XG4gICAgICAgIG1hcmdpbjogMCAwIGNsYW1wKDEuMzVyZW0sIDJ2dywgMnJlbSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMyNjM0M2E7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS4wNXJlbSwgMC4zNXZ3ICsgMXJlbSwgMS4yNXJlbSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgPiB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgICAgZ2FwOiAwLjc1cmVtO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgPiB1bCA+IGxpIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMC4yNXJlbTtcbiAgICAgICAgcGFkZGluZzogY2xhbXAoMS4xNXJlbSwgMS42dncsIDEuNTVyZW0pO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlOWYxZjY7XG4gICAgICAgIGNvbG9yOiAjMmMzOTQwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGdhcDogMS4wNXJlbTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gdWwgPiBsaTpudGgtY2hpbGQoMSkge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+IHVsID4gbGk6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgPiB1bCA+IGxpOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gdWwgPiBsaTpudGgtY2hpbGQoNCkge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+IHVsID4gbGk6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+IHVsID4gbGk6bnRoLWNoaWxkKDEpLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgPiB1bCA+IGxpOm50aC1jaGlsZCg0KSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyNDhmYzE7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgPiB1bCBzdHJvbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjEycmVtLCAwLjQ1dncgKyAxcmVtLCAxLjQycmVtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gdWwgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBvcGFjaXR5OiAwLjc4O1xuICAgICAgICBmb250LXNpemU6IDAuOThyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zIC5hcnRpY2xlLXNlY3Rpb25fX2J1dHRvbi1saXN0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtYXJlYTogMSAvIDEgLyAyIC8gMiAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBhc3BlY3QtcmF0aW86IDEuNDIgLyAxO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuODc1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZTlmMWY2O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zIC5hcnRpY2xlLXNlY3Rpb25fX2ltYWdlIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IDQ4JSA1MCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zIC5hcnRpY2xlLXNlY3Rpb25fX2ltYWdlOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDApIDU4JSwgcmdiYSgxNSw2Nyw4OSwwLjE4KSAxMDAlKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbiA+IC5jb250YWluZXIge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGdhcDogMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zIC5hcnRpY2xlLXNlY3Rpb25fX3RpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19pbWFnZSB7XG4gICAgICAgICAgICBncmlkLWFyZWE6IDEgLyAxIC8gMiAvIDIgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbiAuc2VjdGlvbl9fY29udGVudCB7XG4gICAgICAgICAgICBncmlkLWFyZWE6IDIgLyAxIC8gMyAvIDIgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3MDBweCkge1xuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gdWwge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gdWwgPiBsaSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuYnV0dG9uOmhhcyguYnV0dG9uX190ZXh0KTpub3QoLmJ1dHRvbl9zb2NpYWwpIHtcbiAgICAgICAgLS1idXR0b24tcmFkaXVzOiB2YXIoLS1yYWRpdXMtYnRuKSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtYnRuKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5idXR0b246aGFzKC5idXR0b25fX3RleHQpOm5vdCguYnV0dG9uX3NvY2lhbCk6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1idG4pICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbixcbiAgICAuYXJ0aWNsZS1zZWN0aW9uX19idXR0b24tbGlzdCAuYnV0dG9uLFxuICAgIC5wYWdlLWJhbm5lciAuYnV0dG9uLFxuICAgIC5zZWN0aW9uX19tb3JlLmJ1dHRvbiB7XG4gICAgICAgIC0tYnV0dG9uLXJhZGl1czogdmFyKC0tcmFkaXVzLWJ0bikgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWJ0bikgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uOjpiZWZvcmUsXG4gICAgLmFydGljbGUtc2VjdGlvbl9fYnV0dG9uLWxpc3QgLmJ1dHRvbjo6YmVmb3JlLFxuICAgIC5wYWdlLWJhbm5lciAuYnV0dG9uOjpiZWZvcmUsXG4gICAgLnNlY3Rpb25fX21vcmUuYnV0dG9uOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtYnRuKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX2J1dHRvbi1saXN0IC5idXR0b24sXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9fYnV0dG9uLWxpc3QgLmJ1dHRvbjo6YmVmb3JlLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX2J1dHRvbi1saXN0IC5idXR0b246OmFmdGVyLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX2J1dHRvbi1saXN0IC5idXR0b25fX3RleHQsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9fYnV0dG9uLWxpc3QgLmJ1dHRvbl9faWNvbixcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19idXR0b24tbGlzdCAuYnV0dG9uX19pY29uOjpiZWZvcmUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9fYnV0dG9uLWxpc3QgLmJ1dHRvbl9faWNvbjo6YWZ0ZXIge1xuICAgICAgICAtLWJ1dHRvbi1yYWRpdXM6IDhweCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19idXR0b24tbGlzdCAuYnV0dG9uIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuICAgIC5zZWN0aW9uX19tb3JlLmJ1dHRvbi5idXR0b25fc2Vjb25kYXJ5IHtcbiAgICAgICAgLS1idXR0b24tYmctY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAtLWJ1dHRvbi1iZy1jb2xvci1ob3ZlcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZSk7XG4gICAgICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvci1ob3ZlcjogdmFyKC0tZ2VudGltZWQtYmx1ZSk7XG4gICAgICAgIC0tYnV0dG9uLWJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmspO1xuICAgICAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yLWhvdmVyOiB2YXIoLS1nZW50aW1lZC1ibHVlKTtcbiAgICAgICAgLS1idXR0b24taWNvbi1jb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZSk7XG4gICAgICAgIC0tYnV0dG9uLWljb24tY29sb3ItaG92ZXI6IHZhcigtLWdlbnRpbWVkLWJsdWUpO1xuICAgIH1cblxuICAgIC5zZWN0aW9uX19tb3JlLmJ1dHRvbi5idXR0b25fc2Vjb25kYXJ5OjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWdlbnRpbWVkLWJsdWUpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIC0tYnV0dG9uLXJhZGl1czogdmFyKC0tcmFkaXVzLWJ0bikgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWJ0bikgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYnV0dG9uOjpiZWZvcmUsXG4gICAgLmJ1dHRvbjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtYnRuKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tb2RhbC13aW5kb3csXG4gICAgLm1vZGFsLXdpbmRvdy5tb2RhbC13aW5kb3dfc21hbGwsXG4gICAgLm1vZGFsLXdpbmRvdy5tb2RhbC13aW5kb3dfc2VtaS1iaWcge1xuICAgICAgICAtLW1vZGFsLWJhY2tncm91bmQtY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5idXR0b24uYnV0dG9uX3RlbXBsYXRlIHtcbiAgICAgICAgLS1idXR0b24tcmFkaXVzOiB2YXIoLS1yYWRpdXMtYnRuKSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWJ0bikgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZTo6YmVmb3JlLFxuICAgIC5idXR0b24uYnV0dG9uX3RlbXBsYXRlOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1idG4pICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5idXR0b24uYnV0dG9uX3RlbXBsYXRlOm5vdCguYnV0dG9uX3NlY29uZGFyeSk6OmJlZm9yZSxcbiAgICAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5uby1pbnZlcnQ6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWdlbnRpbWVkLWJsdWUpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdlbnRpbWVkLWJsdWUpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGU6bm90KC5idXR0b25fc2Vjb25kYXJ5KTpob3Zlcjo6YmVmb3JlLFxuICAgIC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLm5vLWludmVydDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZ2VudGltZWQtZ3JlZW4pICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4pICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3NlY29uZGFyeSB7XG4gICAgICAgIC0tYnV0dG9uLWJnLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAtLWJ1dHRvbi1iZy1jb2xvci1ob3ZlcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgLS1idXR0b24tYm9yZGVyLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1ibHVlKSAhaW1wb3J0YW50O1xuICAgICAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3ItaG92ZXI6IHZhcigtLWdlbnRpbWVkLWJsdWUpICFpbXBvcnRhbnQ7XG4gICAgICAgIC0tYnV0dG9uLXRleHQtY29sb3I6IHZhcigtLWdlbnRpbWVkLWluaykgIWltcG9ydGFudDtcbiAgICAgICAgLS1idXR0b24tdGV4dC1jb2xvci1ob3ZlcjogdmFyKC0tZ2VudGltZWQtYmx1ZSkgIWltcG9ydGFudDtcbiAgICAgICAgLS1idXR0b24taWNvbi1jb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZSkgIWltcG9ydGFudDtcbiAgICAgICAgLS1idXR0b24taWNvbi1jb2xvci1ob3ZlcjogdmFyKC0tZ2VudGltZWQtYmx1ZSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fc2Vjb25kYXJ5OjpiZWZvcmUsXG4gICAgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuc2VjdGlvbl9fbW9yZTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZ2VudGltZWQtYmx1ZSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fc2Vjb25kYXJ5OmhvdmVyOjpiZWZvcmUsXG4gICAgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuc2VjdGlvbl9fbW9yZTpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNSwgMTM5LCAxOTYsIDAuMDYpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeSB7XG4gICAgICAgIC0tYnV0dG9uLWJnLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICAgIC0tYnV0dG9uLWJnLWNvbG9yLWhvdmVyOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICAgIC0tYnV0dG9uLXRleHQtY29sb3I6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICAgICAgLS1idXR0b24tdGV4dC1jb2xvci1ob3ZlcjogIzBBMEEwQSAhaW1wb3J0YW50O1xuICAgICAgICAtLWJ1dHRvbi1pY29uLWNvbG9yOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG4gICAgICAgIC0tYnV0dG9uLWljb24tY29sb3ItaG92ZXI6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICAgICAgLS1idXR0b24tYm9yZGVyLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvci1ob3ZlcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzBBMEEwQSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5OjpiZWZvcmUsXG4gICAgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnk6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3NlY29uZGFyeSB7XG4gICAgICAgIC0tYnV0dG9uLWJnLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAtLWJ1dHRvbi1iZy1jb2xvci1ob3ZlcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgLS1idXR0b24tdGV4dC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgICAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yLWhvdmVyOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICAgIC0tYnV0dG9uLWljb24tY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAgICAgLS1idXR0b24taWNvbi1jb2xvci1ob3ZlcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgICAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvci1ob3ZlcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fc2Vjb25kYXJ5OjpiZWZvcmUsXG4gICAgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3NlY29uZGFyeTpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jYXNlLW1vZGFsIC5jYXNlLW1vZGFsX19sYXlvdXQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2FzZS1tb2RhbCAuY2FzZS1tb2RhbF9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjBweCkge1xuICAgICAgICAuY2FzZS1tb2RhbCAuY2FzZS1tb2RhbF9faW1hZ2Uge1xuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDEwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FzZS1jYXJkIHtcbiAgICAgICAgZ2FwOiB2YXIoLS1jYXNlLWNhcmQtZ2FwKSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1jYXNlLWNhcmQtcGFkZGluZykgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2FzZS1jYXJkIC5jYXNlLWNhcmRfX2ltYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tY2FzZS1jYXJkLXJhZGl1cykgLSAwLjI1cmVtKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jYXNlLWNhcmQgLmNhc2UtY2FyZF9fYm9keSB7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY3RhLXNlY3Rpb24tdDMgPiAuY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY3RhLXNlY3Rpb24tdDMgLnNlY3Rpb25fX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCIuIGZvcm1cIjtcbiAgICAgICAgZ2FwOiB2YXIoLS1ncmlkLWNvbHVtbi1nYXApO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLmN0YS1zZWN0aW9uLXQzIC5yZWd1bGFyLWZvcm0ge1xuICAgICAgICBncmlkLWFyZWE6IGZvcm07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExNjBweCkge1xuICAgICAgICAuY3RhLXNlY3Rpb24tdDMgLnNlY3Rpb25fX2NvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImZvcm1cIjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuY3RhLXNlY3Rpb24tdDMgLnJlZ3VsYXItZm9ybSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0cmV0Y2ggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jdGEtc2VjdGlvbi10MyAucmVndWxhci1mb3JtX19ncm91cCxcbiAgICAgICAgLmN0YS1zZWN0aW9uLXQzIC5yZWd1bGFyLWZvcm1fX3JvdyxcbiAgICAgICAgLmN0YS1zZWN0aW9uLXQzIC5yZWd1bGFyLWZvcm1fX2ZpZWxkcyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzMHB4KSB7XG4gICAgICAgIC5jdGEtc2VjdGlvbi10MyAuc2VjdGlvbl9fY29udGVudCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmN0YS1zZWN0aW9uLXQzIC5yZWd1bGFyLWZvcm0ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC44NzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjMxcHgpIHtcbiAgICAgICAgLmZvb3Rlci1kcm9wZG93bl9zZXJ2aWNlcyB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb290ZXItZHJvcGRvd25fc2VydmljZXMgLmZvb3Rlci1kcm9wZG93bl9fY29udGVudF9zZXJ2aWNlcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgICAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tZ3JpZC1jb2x1bW4tZ2FwKTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb290ZXItZHJvcGRvd25fc2VydmljZXMgLmZvb3Rlci1kcm9wZG93bl9fbGlzdCB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1kcm9wZG93bi1wYWRkaW5nKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzBweCkge1xuICAgICAgICAuZm9vdGVyLWRyb3Bkb3duX19jb250ZW50X3NlcnZpY2VzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZ2FwOiB2YXIoLS1kcm9wZG93bi1saXN0LWdhcCk7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9vdGVyLWRyb3Bkb3duX3NlcnZpY2VzIC5mb290ZXItZHJvcGRvd25fX2xpc3Qge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLyogR2VudGltZWQ6IGtlZXAgaG9tZXBhZ2Ugc2VydmljZSBzZWN0aW9ucyBvbiB0aGUgc2FtZSBmbGF0IHRpbnQuICovXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzIsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja180IHtcbiAgICAgICAgYmFja2dyb3VuZDogI0Y3RkJGQiAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGQkZCICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBHZW50aW1lZDoga2VlcCBob21lcGFnZSBzZXJ2aWNlcyBoZWFkaW5nIGNvcHkgbGVmdC1hbGlnbmVkIG9uIGxhcHRvcCB3aWR0aHMuICovXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzQgLnNlY3Rpb25fX2hlYWQsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzQgLnNlY3Rpb25fX3RleHQsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzQgLnNlY3Rpb25fX3RpdGxlLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja180IC5zZWN0aW9uX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuXG4gICAgLyogR2VudGltZWQ6IGtlZXAgdGhlIGhvbWVwYWdlIHNlcnZpY2VzIENUQSBidXR0b24gZnVsbHkgcm91bmRlZCB3aXRoIGEgcmVhbCBib3JkZXIuICovXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzQgLnNlY3Rpb25fX21vcmUuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fc2Vjb25kYXJ5IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtYnRuKSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbmlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNCAuc2VjdGlvbl9fbW9yZS5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9zZWNvbmRhcnk6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCIgIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIGluc2V0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHotaW5kZXg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzQgLnNlY3Rpb25fX21vcmUuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fc2Vjb25kYXJ5OjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCIgIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIGluc2V0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHotaW5kZXg6IDMgIWltcG9ydGFudDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZ2VudGltZWQtYmx1ZSkgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja180IC5zZWN0aW9uX19tb3JlLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3NlY29uZGFyeSAuYnV0dG9uX190ZXh0LFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja180IC5zZWN0aW9uX19tb3JlLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3NlY29uZGFyeSAuaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgICB6LWluZGV4OiAyICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzQgLnNlY3Rpb25fX21vcmUuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fc2Vjb25kYXJ5OmhvdmVyOjpiZWZvcmUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzQgLnNlY3Rpb25fX21vcmUuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fc2Vjb25kYXJ5OmZvY3VzLXZpc2libGU6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjUsIDEzOSwgMTk2LCAwLjA2KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja180IC5zZWN0aW9uX19tb3JlLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3NlY29uZGFyeTpob3Zlcjo6YWZ0ZXIsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzQgLnNlY3Rpb25fX21vcmUuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fc2Vjb25kYXJ5OmZvY3VzLXZpc2libGU6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1ibHVlKSAhaW1wb3J0YW50O1xuICAgIH1cblxuLyogR2VudGltZWQ6IGtlZXAgYnJlYWRjcnVtYiBob3ZlciByZWFkYWJsZSBvdmVyIHBob3RvIGJhbm5lcnMuICovXG4gICAgLmJyZWFkY3J1bWJzOmhhcygrIC5wYWdlLWJhbm5lci5pbnZlcnQtY29tcG9uZW50cyk6bm90KC5uby1pbnZlcnQpIHtcbiAgICAgICAgLS1icmVhZGNydW1icy1saW5rLWNvbG9yLWhvdmVyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzgpO1xuICAgIH1cblxuICAgIC8qIEdlbnRpbWVkOiB1c2UgdGhlIHRlbXBsYXRlIGJsdWUgYXJyb3cgQ1RBIGluc2lkZSBob21lcGFnZSBhdWRpZW5jZSBjYXJkcy4gKi9cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNSAuYXVkaWVuY2Utcm91dGUtY2FyZCAuY2FzZS1jYXJkX19tb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC42MjVyZW07XG4gICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZSwgIzE5OEJDNCk7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGZvbnQ6IHZhcigtLWZvbnQtYm9keS1NLW0pO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLmF1ZGllbmNlLXJvdXRlLWNhcmQgLmNhc2UtY2FyZF9fbW9yZSAuaWNvbiB7XG4gICAgICAgIC0taWNvbi1zaXplOiAxcmVtO1xuICAgICAgICAtLWljb24tY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IHZhcigtLWljb24tc2l6ZSk7XG4gICAgICAgIGhlaWdodDogdmFyKC0taWNvbi1zaXplKTtcbiAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWFuaW1hdGlvbi1kZWZhdWx0KTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLmF1ZGllbmNlLXJvdXRlLWNhcmQ6aG92ZXIgLmNhc2UtY2FyZF9fbW9yZSAuaWNvbixcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLmF1ZGllbmNlLXJvdXRlLWNhcmQgLmNhc2UtY2FyZF9fbW9yZTpob3ZlciAuaWNvbiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBHZW50aW1lZDogcmVtb3ZlIHRoZSByZXNlcnZlZCBoZWFkZXIgZ2FwIGJlZm9yZSB0aGUgaG9tZXBhZ2UgZnJvbnQgYmFubmVyLiAqL1xuICAgIC53cmFwcGVyOmhhcygud3JhcHBlcl9fY29udGVudCA+IC5tYWluID4gLmZyb250LWJhbm5lcjpmaXJzdC1jaGlsZCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbiAgICAvKiBHZW50aW1lZDogZm9yY2UgcmVhZGFibGUgd2hpdGUgaG92ZXIgZm9yIGJyZWFkY3J1bWJzIG92ZXIgcGhvdG8gYmFubmVycy4gKi9cbiAgICBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgICAgIC5icmVhZGNydW1iczpoYXMoKyAucGFnZS1iYW5uZXIuaW52ZXJ0LWNvbXBvbmVudHMpOm5vdCgubm8taW52ZXJ0KSAuYnJlYWRjcnVtYnNfX2xpbmtbaHJlZl06aG92ZXIsXG4gICAgICAgIC5icmVhZGNydW1iczpoYXMoKyAucGFnZS1iYW5uZXIuaW52ZXJ0LWNvbXBvbmVudHMpOm5vdCgubm8taW52ZXJ0KSAuYnJlYWRjcnVtYnNfX2xpbmtbaHJlZl06Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc4KSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogR2VudGltZWQ6IGtlZXAgaG9tZXBhZ2UgYWJvdXQgc3RhdCBjYXJkcyBzcGFjZWQgYW5kIGxlZnQtYWxpZ25lZCBvbiB0YWJsZXQgd2lkdGhzLiAqL1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5NjFweCkgYW5kIChtYXgtd2lkdGg6IDExNjBweCkge1xuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfMiAuYWJvdXQtc2VjdGlvbl9fbGlzdCB7XG4gICAgICAgICAgICBnYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIHJvdy1nYXA6IDFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18yIC5hYm91dC1zZWN0aW9uX19saXN0ID4gLmFkdmFudGFnZXMtYWJvdXQgKyAuYWR2YW50YWdlcy1hYm91dCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjMwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTYwcHgpIHtcbiAgICAgICAgLmFib3V0LXNlY3Rpb24tdDIgLmFkdmFudGFnZXMtYWJvdXQge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hYm91dC1zZWN0aW9uLXQyIC5hZHZhbnRhZ2VzLWFib3V0X190aXRsZSxcbiAgICAgICAgLmFib3V0LXNlY3Rpb24tdDIgLmFkdmFudGFnZXMtYWJvdXRfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBHZW50aW1lZDogYWx0ZXJuYXRlIHNlcnZpY2UtY2FyZCBjb2xvcnMgb24gbmFycm93IHNjcmVlbnMgYnkgdmlzdWFsIG9yZGVyLiAqL1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3MDBweCkge1xuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gdWwgPiBsaTpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gdWwgPiBsaTpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gdWwgPiBsaTpudGgtY2hpbGQoNCkge1xuICAgICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gdWwgPiBsaTpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBHZW50aW1lZDogYWx0ZXJuYXRlIHN0YWdlcyBjb2xvcnMgaW4gdHdvLWNvbHVtbiB0YWJsZXQgbGF5b3V0LiAqL1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MzBweCkgYW5kIChtYXgtd2lkdGg6IDExNjBweCkge1xuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuc3RhZ2UtY2FyZC10NSxcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNCkgLnN0YWdlLWNhcmQtdDUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhZ2UtY2FyZC1iZy1hY3RpdmUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMikgLnN0YWdlLWNhcmQtdDUsXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDUpIC5zdGFnZS1jYXJkLXQ1IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YWdlLWNhcmQtYmctYWx0KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluaykgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDMpIC5zdGFnZS1jYXJkLXQ1LFxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1ncmVlbikgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuc3RhZ2UtY2FyZC10NV9faW5kZXgsXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDEpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uLFxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuc3RhZ2UtY2FyZC10NV9faW5kZXgsXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDMpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uLFxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg0KSAuc3RhZ2UtY2FyZC10NV9faW5kZXgsXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDQpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNCkgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uLFxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuc3RhZ2UtY2FyZC10NV9faW5kZXgsXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgyKSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUsXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDUpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMikgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uLFxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluay1tdXRlZCkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDIpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCxcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNSkgLnN0YWdlLWNhcmQtdDVfX2luZGV4IHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNTQpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4vKiBTZXJ2aWNlIHNjb3BlIGNoZWNrbGlzdCAqL1xuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzIuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgdWw6bm90KFtjbGFzc10pIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogY2xhbXAoMC42MjVyZW0sIDAuOHZ3LCAwLjg3NXJlbSk7XG59XG5cbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja18yLmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHVsOm5vdChbY2xhc3NdKSBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG59XG5cbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja18yLmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHVsOm5vdChbY2xhc3NdKSBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMC4yNGVtO1xuICAgIHdpZHRoOiAxLjA1cmVtO1xuICAgIGhlaWdodDogMS4wNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtcHJpbWFyeS1kZWZhdWx0LCAjMTk4QkM0KTtcbiAgICAtd2Via2l0LW1hc2s6IHVybChcIi9hc3NldHMvdGVtcGxhdGVzL2ljb25zL29rLnN2Z1wiKSBjZW50ZXIgLyBjb250YWluIG5vLXJlcGVhdDtcbiAgICBtYXNrOiB1cmwoXCIvYXNzZXRzL3RlbXBsYXRlcy9pY29ucy9vay5zdmdcIikgY2VudGVyIC8gY29udGFpbiBuby1yZXBlYXQ7XG59XG5cbi8qIFNlcnZpY2UgcmVzdWx0IGJsb2NrcyAqL1xuI2NvbnN0cnVjdG9yX2Jsb2NrXzQuYXJ0aWNsZS1zZWN0aW9uLFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzUuYXJ0aWNsZS1zZWN0aW9uLFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzYuYXJ0aWNsZS1zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtcHJpbWFyeS1kZWZhdWx0LCAjMTk4QkM0KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4jY29uc3RydWN0b3JfYmxvY2tfNC5hcnRpY2xlLXNlY3Rpb24sXG4jY29uc3RydWN0b3JfYmxvY2tfNS5hcnRpY2xlLXNlY3Rpb24sXG4jY29uc3RydWN0b3JfYmxvY2tfNi5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fdGl0bGUsXG4jY29uc3RydWN0b3JfYmxvY2tfNC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSxcbiNjb25zdHJ1Y3Rvcl9ibG9ja181LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlLFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzYuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUsXG4jY29uc3RydWN0b3JfYmxvY2tfNC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+ICosXG4jY29uc3RydWN0b3JfYmxvY2tfNS5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+ICosXG4jY29uc3RydWN0b3JfYmxvY2tfNi5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+ICoge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4jY29uc3RydWN0b3JfYmxvY2tfNC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSxcbiNjb25zdHJ1Y3Rvcl9ibG9ja181LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlLFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzYuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBmb250OiB2YXIoLS1mb250LXRpdGxlLU0pO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbn1cblxuI2NvbnN0cnVjdG9yX2Jsb2NrXzQuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUsXG4jY29uc3RydWN0b3JfYmxvY2tfNS5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSxcbiNjb25zdHJ1Y3Rvcl9ibG9ja182LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHAge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4vKiBWSVJEIHJlcXVpcmVkIGNhcmRzICovXG4jY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpID4gLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudmlyZC1yZXF1aXJlZC1ncmlkKSAuc2VjdGlvbl9fY29udGVudCxcbiNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnZpcmQtcmVxdWlyZWQtZ3JpZCkgLmFydGljbGUtc2VjdGlvbl9fY29udGVudCxcbiNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnZpcmQtcmVxdWlyZWQtZ3JpZCkgLmFydGljbGUtc2VjdGlvbl9faGVhZCxcbiNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnZpcmQtcmVxdWlyZWQtZ3JpZCkgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4jY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC5hcnRpY2xlLXNlY3Rpb25fX3RpdGxlIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWFyZ2luOiAwIDAgY2xhbXAoMXJlbSwgMS4zdncsIDEuNXJlbSk7XG4gICAgY29sb3I6ICMwQTBBMEE7XG59XG5cbiNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnZpcmQtcmVxdWlyZWQtZ3JpZCkgLnZpcmQtcmVxdWlyZWRfX2xlYWQge1xuICAgIG1heC13aWR0aDogNThyZW07XG4gICAgbWFyZ2luOiAwIDAgY2xhbXAoMnJlbSwgM3Z3LCAzLjVyZW0pICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC43Mik7XG4gICAgZm9udDogdmFyKC0tZm9udC1ib2R5LUwtcik7XG59XG5cbiNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnZpcmQtcmVxdWlyZWQtZ3JpZCkgLnZpcmQtcmVxdWlyZWQtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgZ2FwOiBjbGFtcCgwLjc1cmVtLCAxdncsIDFyZW0pO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4jY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC52aXJkLXJlcXVpcmVkLWNhcmQge1xuICAgIG1pbi1oZWlnaHQ6IGNsYW1wKDExcmVtLCAxMy41dncsIDE0LjVyZW0pO1xuICAgIHBhZGRpbmc6IGNsYW1wKDEuMjVyZW0sIDEuNHZ3LCAxLjYyNXJlbSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUFGM0Y4O1xuICAgIGNvbG9yOiAjMEEwQTBBO1xufVxuXG4jY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC52aXJkLXJlcXVpcmVkLWNhcmQ6bnRoLWNoaWxkKDEpLFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudmlyZC1yZXF1aXJlZC1ncmlkKSAudmlyZC1yZXF1aXJlZC1jYXJkOm50aC1jaGlsZCgzKSxcbiNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnZpcmQtcmVxdWlyZWQtZ3JpZCkgLnZpcmQtcmVxdWlyZWQtY2FyZDpudGgtY2hpbGQoNiksXG4jY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC52aXJkLXJlcXVpcmVkLWNhcmQ6bnRoLWNoaWxkKDgpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtcHJpbWFyeS1kZWZhdWx0LCAjMTk4QkM0KTtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudmlyZC1yZXF1aXJlZC1ncmlkKSAudmlyZC1yZXF1aXJlZC1jYXJkIGgzIHtcbiAgICBtYXJnaW46IDAgMCAwLjg1cmVtO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQ6IHZhcigtLWZvbnQtdGl0bGUtUyk7XG4gICAgdGV4dC13cmFwOiBiYWxhbmNlO1xufVxuXG4jY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC52aXJkLXJlcXVpcmVkLWNhcmQgcCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udDogdmFyKC0tZm9udC1ib2R5LVMtcik7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTYwcHgpIHtcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC52aXJkLXJlcXVpcmVkLWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjMwcHgpIHtcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC52aXJkLXJlcXVpcmVkLWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC52aXJkLXJlcXVpcmVkLWNhcmQge1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgIH1cbn1cblxuLyogVGVzdGluZyB0cmlhbHMgY2FyZHMgKi9cbiNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnRlc3RpbmctdHJpYWxzLWdyaWQpID4gLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudGVzdGluZy10cmlhbHMtZ3JpZCkgLnNlY3Rpb25fX2NvbnRlbnQsXG4jY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC50ZXN0aW5nLXRyaWFscy1ncmlkKSAuYXJ0aWNsZS1zZWN0aW9uX19jb250ZW50LFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudGVzdGluZy10cmlhbHMtZ3JpZCkgLmFydGljbGUtc2VjdGlvbl9faGVhZCxcbiNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnRlc3RpbmctdHJpYWxzLWdyaWQpIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cblxuI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudGVzdGluZy10cmlhbHMtZ3JpZCkgLmFydGljbGUtc2VjdGlvbl9fdGl0bGUge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXJnaW46IDAgMCBjbGFtcCgxcmVtLCAxLjN2dywgMS41cmVtKTtcbiAgICBjb2xvcjogIzBBMEEwQTtcbn1cblxuI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudGVzdGluZy10cmlhbHMtZ3JpZCkgLnRlc3RpbmctdHJpYWxzX19sZWFkIHtcbiAgICBtYXgtd2lkdGg6IDU4cmVtO1xuICAgIG1hcmdpbjogMCAwIGNsYW1wKDJyZW0sIDN2dywgMy41cmVtKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNzIpO1xuICAgIGZvbnQ6IHZhcigtLWZvbnQtYm9keS1MLXIpO1xufVxuXG4jY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC50ZXN0aW5nLXRyaWFscy1ncmlkKSAudGVzdGluZy10cmlhbHMtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgZ2FwOiBjbGFtcCgwLjc1cmVtLCAxdncsIDFyZW0pO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4jY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC50ZXN0aW5nLXRyaWFscy1ncmlkKSAudGVzdGluZy10cmlhbHMtY2FyZCB7XG4gICAgbWluLWhlaWdodDogY2xhbXAoMTFyZW0sIDEzLjV2dywgMTQuNXJlbSk7XG4gICAgcGFkZGluZzogY2xhbXAoMS4yNXJlbSwgMS40dncsIDEuNjI1cmVtKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFQUYzRjg7XG4gICAgY29sb3I6ICMwQTBBMEE7XG59XG5cbiNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnRlc3RpbmctdHJpYWxzLWdyaWQpIC50ZXN0aW5nLXRyaWFscy1jYXJkOm50aC1jaGlsZCgxKSxcbiNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnRlc3RpbmctdHJpYWxzLWdyaWQpIC50ZXN0aW5nLXRyaWFscy1jYXJkOm50aC1jaGlsZCgzKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnktZGVmYXVsdCwgIzE5OEJDNCk7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbiNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnRlc3RpbmctdHJpYWxzLWdyaWQpIC50ZXN0aW5nLXRyaWFscy1jYXJkIGgzIHtcbiAgICBtYXJnaW46IDAgMCAwLjg1cmVtO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQ6IHZhcigtLWZvbnQtdGl0bGUtUyk7XG4gICAgdGV4dC13cmFwOiBiYWxhbmNlO1xufVxuXG4jY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC50ZXN0aW5nLXRyaWFscy1ncmlkKSAudGVzdGluZy10cmlhbHMtY2FyZCBwIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250OiB2YXIoLS1mb250LWJvZHktUy1yKTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNjBweCkge1xuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnRlc3RpbmctdHJpYWxzLWdyaWQpIC50ZXN0aW5nLXRyaWFscy1ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzMHB4KSB7XG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudGVzdGluZy10cmlhbHMtZ3JpZCkgLnRlc3RpbmctdHJpYWxzLWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC50ZXN0aW5nLXRyaWFscy1ncmlkKSAudGVzdGluZy10cmlhbHMtY2FyZCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgfVxufVxuXG4vKiBTZXJ2aWNlIHBhZ2VzOiByZXN1bHQgYW5kIHNjb3BlIGZpeGVzICovXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNC5hcnRpY2xlLXNlY3Rpb24sXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNS5hcnRpY2xlLXNlY3Rpb24sXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNi5hcnRpY2xlLXNlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5LWRlZmF1bHQsICMxOThCQzQpICFpbXBvcnRhbnQ7XG59XG5cbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja180LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX190aXRsZSxcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja181LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX190aXRsZSxcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja182LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX190aXRsZSxcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja180LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlLFxuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzUuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUsXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNi5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSxcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja180LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gKixcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja181LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gKixcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja182LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gKiB7XG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzIuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiBjbGFtcCgwLjYyNXJlbSwgMC44dncsIDAuODc1cmVtKTtcbn1cblxuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzIuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja18yLmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIGxpOjptYXJrZXIge1xuICAgIGNvbnRlbnQ6IFwiXCIgIWltcG9ydGFudDtcbn1cblxuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzIuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDAuMjRlbTtcbiAgICB3aWR0aDogMS4wNXJlbTtcbiAgICBoZWlnaHQ6IDEuMDVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnktZGVmYXVsdCwgIzE5OEJDNCk7XG4gICAgLXdlYmtpdC1tYXNrOiB1cmwoXCIvYXNzZXRzL3RlbXBsYXRlcy9pY29ucy9vay5zdmdcIikgY2VudGVyIC8gY29udGFpbiBuby1yZXBlYXQ7XG4gICAgbWFzazogdXJsKFwiL2Fzc2V0cy90ZW1wbGF0ZXMvaWNvbnMvb2suc3ZnXCIpIGNlbnRlciAvIGNvbnRhaW4gbm8tcmVwZWF0O1xufVxuXG4vKiBTZXJ2aWNlIHJlc3VsdCBkZXNjcmlwdGlvbiB0eXBvZ3JhcGh5ICovXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSxcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja181LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlLFxuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzYuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBmb250OiB2YXIoLS1mb250LXRpdGxlLU0pICFpbXBvcnRhbnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgdGV4dC13cmFwOiBiYWxhbmNlO1xufVxuXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSBwLFxuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzUuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgcCxcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja182LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHAge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIGZvbnQ6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cblxuLyogU2VydmljZSBzY29wZSBjaGVjayBpY29ucyAqL1xuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzIuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgbGk6OmJlZm9yZSB7XG4gICAgdG9wOiAwLjE2ZW0gIWltcG9ydGFudDtcbiAgICB3aWR0aDogMC41NXJlbSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMC45NXJlbSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogc29saWQgdmFyKC0tYWNjZW50LXByaW1hcnktZGVmYXVsdCwgIzE5OEJDNCkgIWltcG9ydGFudDtcbiAgICBib3JkZXItd2lkdGg6IDAgMnB4IDJweCAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1tYXNrOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFzazogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5cbi8qIFNlcnZpY2UgcmVzdWx0IGZ1bGwgZ3JpZCB3aWR0aCAqL1xuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzQuYXJ0aWNsZS1zZWN0aW9uID4gLmNvbnRhaW5lcixcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja181LmFydGljbGUtc2VjdGlvbiA+IC5jb250YWluZXIsXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNi5hcnRpY2xlLXNlY3Rpb24gPiAuY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIG1pbm1heCgwLCAxZnIpKSAhaW1wb3J0YW50O1xuICAgIGNvbHVtbi1nYXA6IHZhcigtLWdyaWQtY29sdW1uLWdhcCkgIWltcG9ydGFudDtcbn1cblxuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzQuYXJ0aWNsZS1zZWN0aW9uIC5zZWN0aW9uX19jb250ZW50LFxuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzUuYXJ0aWNsZS1zZWN0aW9uIC5zZWN0aW9uX19jb250ZW50LFxuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzYuYXJ0aWNsZS1zZWN0aW9uIC5zZWN0aW9uX19jb250ZW50LFxuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzQuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2NvbnRlbnQsXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNS5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fY29udGVudCxcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja182LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19jb250ZW50LFxuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzQuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2hlYWQsXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNS5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9faGVhZCxcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja182LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19oZWFkLFxuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzQuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUsXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNS5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSxcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja182LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIC0xICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+ICosXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNS5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+ICosXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNi5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+ICoge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLyogR2VudGltZWQgc2hhcmVkIHN0YWdlcyB0NSBjb21wb25lbnQgc3R5bGUgKi9cbi5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkge1xuICAgIC0tc3RhZ2UtY2FyZC1iZzogI0YzRjVGODtcbiAgICAtLXN0YWdlLWNhcmQtYmctYWx0OiAjRThFREYzO1xuICAgIC0tc3RhZ2UtY2FyZC1iZy1hY3RpdmU6IHZhcigtLWdlbnRpbWVkLWJsdWUpO1xufVxuXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpID4gLmNvbnRhaW5lciB7XG4gICAgcm93LWdhcDogY2xhbXAoMS41cmVtLCAydncsIDJyZW0pO1xufVxuXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zZWN0aW9uX19oZWFkIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zZWN0aW9uX190ZXh0IHtcbiAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIGNvbHVtbi1nYXA6IHZhcigtLWdyaWQtY29sdW1uLWdhcCk7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zZWN0aW9uX190aXRsZSxcbi5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnNlY3Rpb25fX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnNlY3Rpb25fX2Rlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLW11dGVkKTtcbn1cblxuLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc2VjdGlvbl9fY29udGVudCxcbi5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlciB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnNlY3Rpb25fX2NvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IGNsYW1wKDJyZW0sIDN2dywgMy41cmVtKTtcbn1cblxuLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgZ2FwOiBjbGFtcCgxcmVtLCAxLjJ2dywgMS41cmVtKTtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGUge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zdGFnZS1jYXJkLXQ1IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWluLWhlaWdodDogY2xhbXAoMTMuNXJlbSwgMTV2dywgMTYuNXJlbSk7XG4gICAgcGFkZGluZzogY2xhbXAoMS4zNXJlbSwgMS41dncsIDEuOHJlbSk7XG4gICAgZ2FwOiBjbGFtcCgxcmVtLCAxLjJ2dywgMS4zNXJlbSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFnZS1jYXJkLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjIwbXMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDIyMG1zIGVhc2U7XG59XG5cbi5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMm4pIC5zdGFnZS1jYXJkLXQ1IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFnZS1jYXJkLWJnLWFsdCk7XG59XG5cbi5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDUsXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5zdGFnZS1jYXJkLXQ1IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFnZS1jYXJkLWJnLWFjdGl2ZSk7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLnN0YWdlLWNhcmQtdDUsXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDUpIC5zdGFnZS1jYXJkLXQ1IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1ncmVlbik7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN0YWdlLWNhcmQtdDVfX2JvZHkge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN0YWdlLWNhcmQtdDVfX2luZGV4IHtcbiAgICBjb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjU0KTtcbiAgICBmb250LXNpemU6IGNsYW1wKDIuNzVyZW0sIDR2dywgNC43NXJlbSk7XG4gICAgbGluZS1oZWlnaHQ6IDAuOTtcbn1cblxuLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKTtcbiAgICB0ZXh0LXdyYXA6IHByZXR0eTtcbn1cblxuLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmstbXV0ZWQpO1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uIC50ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDEpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCxcbi5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDVfX3RpdGxlLFxuLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24sXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDMpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCxcbi5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLnN0YWdlLWNhcmQtdDVfX3RpdGxlLFxuLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24sXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDUpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCxcbi5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNSkgLnN0YWdlLWNhcmQtdDVfX3RpdGxlLFxuLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24sXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCxcbi5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLnN0YWdlLWNhcmQtdDVfX3RpdGxlLFxuLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3RhZ2UtY2FyZC10NTpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4yNXJlbSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGN0Y5RkI7XG4gICAgfVxuXG4gICAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuc3RhZ2UtY2FyZC10NTpob3ZlcixcbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5zdGFnZS1jYXJkLXQ1OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFGOEJDMztcbiAgICB9XG5cbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDMpIC5zdGFnZS1jYXJkLXQ1OmhvdmVyLFxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNSkgLnN0YWdlLWNhcmQtdDU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjc5RTY0O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExNjBweCkge1xuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci13cmFwcGVyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYzMHB4KSBhbmQgKG1heC13aWR0aDogMTE2MHB4KSB7XG4gICAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuc3RhZ2UtY2FyZC10NSxcbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDQpIC5zdGFnZS1jYXJkLXQ1IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhZ2UtY2FyZC1iZy1hY3RpdmUpICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgyKSAuc3RhZ2UtY2FyZC10NSxcbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDUpIC5zdGFnZS1jYXJkLXQ1IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhZ2UtY2FyZC1iZy1hbHQpICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmspICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuc3RhZ2UtY2FyZC10NSxcbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5zdGFnZS1jYXJkLXQ1IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4pICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zZWN0aW9uX190ZXh0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgY29sdW1uLWdhcDogMDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc2VjdGlvbl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXgtd2lkdGg6IDQycmVtO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzMHB4KSB7XG4gICAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG5cbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zdGFnZS1jYXJkLXQ1IHtcbiAgICAgICAgbWluLWhlaWdodDogMTIuNXJlbTtcbiAgICB9XG59XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbi8qIFNlcnZpY2UgcmVzdWx0IGNvbXBhY3QgbGF5b3V0ICovXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThCQzRcIl0sXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThiYzRcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5LWRlZmF1bHQsICMxOThCQzQpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbltzdHlsZSo9XCIjMTk4QkM0XCJdID4gLmNvbnRhaW5lcixcbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OGJjNFwiXSA+IC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThCQzRcIl0gLmFydGljbGUtc2VjdGlvbl9fY29udGVudCxcbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OGJjNFwiXSAuYXJ0aWNsZS1zZWN0aW9uX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThCQzRcIl0gLmFydGljbGUtc2VjdGlvbl9faGVhZCxcbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OGJjNFwiXSAuYXJ0aWNsZS1zZWN0aW9uX19oZWFkLFxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbltzdHlsZSo9XCIjMTk4QkM0XCJdIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUsXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThiYzRcIl0gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OEJDNFwiXSAuYXJ0aWNsZS1zZWN0aW9uX190aXRsZSxcbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OGJjNFwiXSAuYXJ0aWNsZS1zZWN0aW9uX190aXRsZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbltzdHlsZSo9XCIjMTk4QkM0XCJdIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUsXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThiYzRcIl0gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSB7XG4gICAgbWFyZ2luLXRvcDogY2xhbXAoMXJlbSwgMS4zNXZ3LCAxLjVyZW0pICFpbXBvcnRhbnQ7XG4gICAgZm9udDogdmFyKC0tZm9udC10aXRsZS1NKSAhaW1wb3J0YW50O1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbn1cblxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbltzdHlsZSo9XCIjMTk4QkM0XCJdIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgPiAqLFxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbltzdHlsZSo9XCIjMTk4YmM0XCJdIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgPiAqIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbltzdHlsZSo9XCIjMTk4QkM0XCJdIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgcCxcbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OGJjNFwiXSAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHAge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIGZvbnQ6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cblxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbltzdHlsZSo9XCIjMTk4QkM0XCJdIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgcDpmaXJzdC1jaGlsZCxcbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OGJjNFwiXSAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbltzdHlsZSo9XCIjMTk4QkM0XCJdIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgcDpsYXN0LWNoaWxkLFxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbltzdHlsZSo9XCIjMTk4YmM0XCJdIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qIFBvc3RyZWdpc3RyYXRpb24gcmVzdWx0IG1hcmdpbiBmaXggKi9cbmJvZHk6aGFzKC5wYWdlLWJhbm5lcikgI2NvbnN0cnVjdG9yX2Jsb2NrXzYuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThCQzRcIl0gLnNlY3Rpb25fX2NvbnRlbnQsXG5ib2R5OmhhcygucGFnZS1iYW5uZXIpICNjb25zdHJ1Y3Rvcl9ibG9ja182LmFydGljbGUtc2VjdGlvbltzdHlsZSo9XCIjMTk4YmM0XCJdIC5zZWN0aW9uX19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuYm9keTpoYXMoLnBhZ2UtYmFubmVyKSAjY29uc3RydWN0b3JfYmxvY2tfNi5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OEJDNFwiXSAuYXJ0aWNsZS1zZWN0aW9uX19jb250ZW50LFxuYm9keTpoYXMoLnBhZ2UtYmFubmVyKSAjY29uc3RydWN0b3JfYmxvY2tfNi5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OGJjNFwiXSAuYXJ0aWNsZS1zZWN0aW9uX19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLyogU2VydmljZSByZXN1bHQgdGl0bGUgZ2FwICovXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThCQzRcIl0gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSxcbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OGJjNFwiXSAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHtcbiAgICBtYXJnaW4tdG9wOiBjbGFtcCgycmVtLCAzLjEyNXZ3LCAzLjc1cmVtKSAhaW1wb3J0YW50O1xufVxuXG4vKiBIZWFkZXIgbWVudSBhY3RpdmUgYW5kIGhvdmVyIHN0YXRlcyAqL1xuLmhlYWRlciAubmF2IHtcbiAgICAtLW5hdi1saW5rLWNvbG9yLWhvdmVyOiB2YXIoLS1nZW50aW1lZC1ncmVlbik7XG4gICAgLS1uYXYtaWNvbi1jb2xvci1ob3ZlcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4pO1xuICAgIC0tbmF2LXN1Yi1saW5rLWNvbG9yLWhvdmVyOiB2YXIoLS1nZW50aW1lZC1ncmVlbik7XG4gICAgLS1uYXYtc3ViLWxpbmstYmFja2dyb3VuZC1jb2xvci1ob3ZlcjogcmdiYSg0NiwgMTczLCAxMTEsIDAuMTIpO1xuICAgIC0tbmF2LXN1Yi1pY29uLWNvbG9yLWhvdmVyOiB2YXIoLS1nZW50aW1lZC1ncmVlbik7XG59XG5cbi5oZWFkZXIgLm5hdl9faXRlbS5hY3RpdmUgPiAubmF2X19saW5rLFxuLmhlYWRlciAubmF2X19pdGVtLmhlcmUgPiAubmF2X19saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZSkgIWltcG9ydGFudDtcbn1cblxuLmhlYWRlciAubmF2X19pdGVtLmFjdGl2ZSA+IC5uYXZfX2xpbmsgLmljb24sXG4uaGVhZGVyIC5uYXZfX2l0ZW0uaGVyZSA+IC5uYXZfX2xpbmsgLmljb24ge1xuICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1ibHVlKSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgLmhlYWRlciAubmF2X19pdGVtID4gLm5hdl9fbGluazpob3ZlcixcbiAgICAuaGVhZGVyIC5uYXZfX2l0ZW0uYWN0aXZlID4gLm5hdl9fbGluazpob3ZlcixcbiAgICAuaGVhZGVyIC5uYXZfX2l0ZW0uaGVyZSA+IC5uYXZfX2xpbms6aG92ZXIsXG4gICAgLmhlYWRlciAubmF2X19pdGVtOmhvdmVyID4gLm5hdl9fbGluayB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1ncmVlbikgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5uYXZfX2l0ZW0gPiAubmF2X19saW5rOmhvdmVyIC5pY29uLFxuICAgIC5oZWFkZXIgLm5hdl9faXRlbS5hY3RpdmUgPiAubmF2X19saW5rOmhvdmVyIC5pY29uLFxuICAgIC5oZWFkZXIgLm5hdl9faXRlbS5oZXJlID4gLm5hdl9fbGluazpob3ZlciAuaWNvbixcbiAgICAuaGVhZGVyIC5uYXZfX2l0ZW06aG92ZXIgPiAubmF2X19saW5rIC5pY29uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWdyZWVuKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5oZWFkZXIgLm5hdl9fbGlzdCAubmF2X19saXN0IC5uYXZfX2xpbms6aG92ZXIsXG4gICAgLmhlYWRlciAubmF2X19saXN0IC5uYXZfX2xpc3QgLm5hdl9faXRlbTpob3ZlciA+IC5uYXZfX2xpbmsge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4pICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDYsIDE3MywgMTExLCAwLjEyKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5oZWFkZXIgLm5hdl9fbGlzdCAubmF2X19saXN0IC5uYXZfX2xpbms6aG92ZXIgLmljb24sXG4gICAgLmhlYWRlciAubmF2X19saXN0IC5uYXZfX2xpc3QgLm5hdl9faXRlbTpob3ZlciA+IC5uYXZfX2xpbmsgLmljb24ge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4pICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiBBZGFwdGl2ZSBjYXJkIGdyaWQgY29sb3Igcmh5dGhtICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjMwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTYwcHgpIHtcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC52aXJkLXJlcXVpcmVkLWNhcmQsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudGVzdGluZy10cmlhbHMtZ3JpZCkgLnRlc3RpbmctdHJpYWxzLWNhcmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUFGM0Y4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudmlyZC1yZXF1aXJlZC1ncmlkKSAudmlyZC1yZXF1aXJlZC1jYXJkOm50aC1jaGlsZCgxKSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC52aXJkLXJlcXVpcmVkLWNhcmQ6bnRoLWNoaWxkKDQpLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnZpcmQtcmVxdWlyZWQtZ3JpZCkgLnZpcmQtcmVxdWlyZWQtY2FyZDpudGgtY2hpbGQoNSksXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudGVzdGluZy10cmlhbHMtZ3JpZCkgLnRlc3RpbmctdHJpYWxzLWNhcmQ6bnRoLWNoaWxkKDEpLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnRlc3RpbmctdHJpYWxzLWdyaWQpIC50ZXN0aW5nLXRyaWFscy1jYXJkOm50aC1jaGlsZCg0KSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC50ZXN0aW5nLXRyaWFscy1ncmlkKSAudGVzdGluZy10cmlhbHMtY2FyZDpudGgtY2hpbGQoNSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtcHJpbWFyeS1kZWZhdWx0LCAjMTk4QkM0KSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYyOXB4KSB7XG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudmlyZC1yZXF1aXJlZC1ncmlkKSAudmlyZC1yZXF1aXJlZC1jYXJkLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnRlc3RpbmctdHJpYWxzLWdyaWQpIC50ZXN0aW5nLXRyaWFscy1jYXJkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VBRjNGOCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzBBMEEwQSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnZpcmQtcmVxdWlyZWQtZ3JpZCkgLnZpcmQtcmVxdWlyZWQtY2FyZDpudGgtY2hpbGQob2RkKSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC50ZXN0aW5nLXRyaWFscy1ncmlkKSAudGVzdGluZy10cmlhbHMtY2FyZDpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5LWRlZmF1bHQsICMxOThCQzQpICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiBTaGFyZWQgc3RhZ2VzIHRhYmxldCBjb2xvciBwYXJpdHkgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2MzBweCkgYW5kIChtYXgtd2lkdGg6IDExNjBweCkge1xuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDUsXG4gICAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg0KSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YWdlLWNhcmQtYmctYWN0aXZlKSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMikgLnN0YWdlLWNhcmQtdDUsXG4gICAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YWdlLWNhcmQtYmctYWx0KSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLnN0YWdlLWNhcmQtdDUsXG4gICAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdlbnRpbWVkLWdyZWVuKSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDVfX3RpdGxlLFxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uLFxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLnN0YWdlLWNhcmQtdDVfX3RpdGxlLFxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uLFxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNCkgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNCkgLnN0YWdlLWNhcmQtdDVfX3RpdGxlLFxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNCkgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uLFxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLnN0YWdlLWNhcmQtdDVfX3RpdGxlLFxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDIpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDUpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmspICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgyKSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24sXG4gICAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24ge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLW11dGVkKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMikgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNSkgLnN0YWdlLWNhcmQtdDVfX2luZGV4IHtcbiAgICAgICAgY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41NCkgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIFNlcnZpY2UgcmV2ZXJzZSBhcnRpY2xlIG1vYmlsZSBvcmRlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbi5hcnRpY2xlLXNlY3Rpb25fcmV2ZXJzZSA+IC5jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uLmFydGljbGUtc2VjdGlvbl9yZXZlcnNlIC5zZWN0aW9uX19jb250ZW50IHtcbiAgICAgICAgb3JkZXI6IDEgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uLmFydGljbGUtc2VjdGlvbl9yZXZlcnNlIC5hcnRpY2xlLXNlY3Rpb25fX2ltYWdlIHtcbiAgICAgICAgb3JkZXI6IDIgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4vKiBIZWFkZXIgYWN0aXZlIGRyb3Bkb3duIGFycm93ICovXG4uaGVhZGVyIC5uYXZfX2l0ZW0uYWN0aXZlID4gLm5hdl9fbGluazo6YmVmb3JlLFxuLmhlYWRlciAubmF2X19pdGVtLmFjdGl2ZSA+IC5uYXZfX2xpbms6OmFmdGVyLFxuLmhlYWRlciAubmF2X19pdGVtLmhlcmUgPiAubmF2X19saW5rOjpiZWZvcmUsXG4uaGVhZGVyIC5uYXZfX2l0ZW0uaGVyZSA+IC5uYXZfX2xpbms6OmFmdGVyIHtcbiAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZSkgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvciAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cblxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAgIC5oZWFkZXIgLm5hdl9faXRlbS5hY3RpdmUgPiAubmF2X19saW5rOmhvdmVyOjpiZWZvcmUsXG4gICAgLmhlYWRlciAubmF2X19pdGVtLmFjdGl2ZSA+IC5uYXZfX2xpbms6aG92ZXI6OmFmdGVyLFxuICAgIC5oZWFkZXIgLm5hdl9faXRlbS5oZXJlID4gLm5hdl9fbGluazpob3Zlcjo6YmVmb3JlLFxuICAgIC5oZWFkZXIgLm5hdl9faXRlbS5oZXJlID4gLm5hdl9fbGluazpob3Zlcjo6YWZ0ZXIsXG4gICAgLmhlYWRlciAubmF2X19pdGVtLmFjdGl2ZTpob3ZlciA+IC5uYXZfX2xpbms6OmJlZm9yZSxcbiAgICAuaGVhZGVyIC5uYXZfX2l0ZW0uYWN0aXZlOmhvdmVyID4gLm5hdl9fbGluazo6YWZ0ZXIsXG4gICAgLmhlYWRlciAubmF2X19pdGVtLmhlcmU6aG92ZXIgPiAubmF2X19saW5rOjpiZWZvcmUsXG4gICAgLmhlYWRlciAubmF2X19pdGVtLmhlcmU6aG92ZXIgPiAubmF2X19saW5rOjphZnRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1ncmVlbikgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIH1cbn1cblxuLyogU2VydmljZSBwYWdlIGJhbm5lciBtb2JpbGUgY29udGVudCBoZWlnaHQgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA2MjlweCkge1xuICAgIC53cmFwcGVyOmhhcygucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uIC5zZXJ2aWNlLWFkdmFudGFnZXMtZ3JpZCkgLmJyZWFkY3J1bWJzICsgLnBhZ2UtYmFubmVyIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDIuNXJlbSwgMTB2dywgMy4yNXJlbSkgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgLndyYXBwZXI6aGFzKC5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb24gLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkKSAuYnJlYWRjcnVtYnMgKyAucGFnZS1iYW5uZXIgLmNvbnRhaW5lcixcbiAgICAud3JhcHBlcjpoYXMoLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbiAuc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQpIC5icmVhZGNydW1icyArIC5wYWdlLWJhbm5lciAucGFnZS1iYW5uZXJfX2NvbnRlbnQsXG4gICAgLndyYXBwZXI6aGFzKC5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb24gLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkKSAuYnJlYWRjcnVtYnMgKyAucGFnZS1iYW5uZXIgLnBhZ2UtYmFubmVyX19oZWFkIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIFRhcmdldGVkIHJldmVyc2UgYXJ0aWNsZSBvcmRlciBvbiB0YWJsZXQgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjFweCkgYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgIC5hcnRpY2xlLXNlY3Rpb24uYXJ0aWNsZS1zZWN0aW9uX3JldmVyc2U6aGFzKGltZ1tzcmMqPVwiaW5zcGVjdGlvbi1leHBlcnQtcG9ydHJhaXQtY2VudGVyZWRcIl0pID4gLmNvbnRhaW5lcixcbiAgICAuYXJ0aWNsZS1zZWN0aW9uLmFydGljbGUtc2VjdGlvbl9yZXZlcnNlOmhhcyhpbWdbc3JjKj1cImF1dGhvcml6ZWQtcmVwcmVzZW50YXRpdmUtcG9ydHJhaXQtY2VudGVyZWRcIl0pID4gLmNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5hcnRpY2xlLXNlY3Rpb24uYXJ0aWNsZS1zZWN0aW9uX3JldmVyc2U6aGFzKGltZ1tzcmMqPVwiaW5zcGVjdGlvbi1leHBlcnQtcG9ydHJhaXQtY2VudGVyZWRcIl0pIC5zZWN0aW9uX19jb250ZW50LFxuICAgIC5hcnRpY2xlLXNlY3Rpb24uYXJ0aWNsZS1zZWN0aW9uX3JldmVyc2U6aGFzKGltZ1tzcmMqPVwiYXV0aG9yaXplZC1yZXByZXNlbnRhdGl2ZS1wb3J0cmFpdC1jZW50ZXJlZFwiXSkgLnNlY3Rpb25fX2NvbnRlbnQge1xuICAgICAgICBvcmRlcjogMSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5hcnRpY2xlLXNlY3Rpb24uYXJ0aWNsZS1zZWN0aW9uX3JldmVyc2U6aGFzKGltZ1tzcmMqPVwiaW5zcGVjdGlvbi1leHBlcnQtcG9ydHJhaXQtY2VudGVyZWRcIl0pIC5hcnRpY2xlLXNlY3Rpb25fX2ltYWdlLFxuICAgIC5hcnRpY2xlLXNlY3Rpb24uYXJ0aWNsZS1zZWN0aW9uX3JldmVyc2U6aGFzKGltZ1tzcmMqPVwiYXV0aG9yaXplZC1yZXByZXNlbnRhdGl2ZS1wb3J0cmFpdC1jZW50ZXJlZFwiXSkgLmFydGljbGUtc2VjdGlvbl9faW1hZ2Uge1xuICAgICAgICBvcmRlcjogMiAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi8qIEFkYXB0aXZlIGNhcmQgZ3JpZCBjb2xvciByaHl0aG0gY29ycmVjdGlvbiAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDYzMHB4KSBhbmQgKG1heC13aWR0aDogMTE2MHB4KSB7XG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudmlyZC1yZXF1aXJlZC1ncmlkKSAudmlyZC1yZXF1aXJlZC1jYXJkLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnRlc3RpbmctdHJpYWxzLWdyaWQpIC50ZXN0aW5nLXRyaWFscy1jYXJkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VBRjNGOCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzBBMEEwQSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnZpcmQtcmVxdWlyZWQtZ3JpZCkgLnZpcmQtcmVxdWlyZWQtY2FyZDpudGgtY2hpbGQoMSksXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudmlyZC1yZXF1aXJlZC1ncmlkKSAudmlyZC1yZXF1aXJlZC1jYXJkOm50aC1jaGlsZCg0KSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC52aXJkLXJlcXVpcmVkLWNhcmQ6bnRoLWNoaWxkKDUpLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnZpcmQtcmVxdWlyZWQtZ3JpZCkgLnZpcmQtcmVxdWlyZWQtY2FyZDpudGgtY2hpbGQoOCksXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudGVzdGluZy10cmlhbHMtZ3JpZCkgLnRlc3RpbmctdHJpYWxzLWNhcmQ6bnRoLWNoaWxkKDEpLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnRlc3RpbmctdHJpYWxzLWdyaWQpIC50ZXN0aW5nLXRyaWFscy1jYXJkOm50aC1jaGlsZCg0KSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC50ZXN0aW5nLXRyaWFscy1ncmlkKSAudGVzdGluZy10cmlhbHMtY2FyZDpudGgtY2hpbGQoNSksXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudGVzdGluZy10cmlhbHMtZ3JpZCkgLnRlc3RpbmctdHJpYWxzLWNhcmQ6bnRoLWNoaWxkKDgpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnktZGVmYXVsdCwgIzE5OEJDNCkgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MjlweCkge1xuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnZpcmQtcmVxdWlyZWQtZ3JpZCkgLnZpcmQtcmVxdWlyZWQtY2FyZCxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC50ZXN0aW5nLXRyaWFscy1ncmlkKSAudGVzdGluZy10cmlhbHMtY2FyZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFQUYzRjggIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC52aXJkLXJlcXVpcmVkLWNhcmQ6bnRoLWNoaWxkKG9kZCksXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudGVzdGluZy10cmlhbHMtZ3JpZCkgLnRlc3RpbmctdHJpYWxzLWNhcmQ6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtcHJpbWFyeS1kZWZhdWx0LCAjMTk4QkM0KSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyogU2VydmljZXMgdGFza3MgZ3JpZCBsYXlvdXQgKi9cbmJvZHk6aGFzKC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYWR2YW50YWdlcy1zZWN0aW9uKSAjY29uc3RydWN0b3JfYmxvY2tfMy5hZHZhbnRhZ2VzLXNlY3Rpb24gLnN3aXBlciB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuYm9keTpoYXMoLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfMy5hZHZhbnRhZ2VzLXNlY3Rpb24pICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFkdmFudGFnZXMtc2VjdGlvbiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgZ2FwOiBjbGFtcCgxcmVtLCAxLjJ2dywgMS41cmVtKTtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5ib2R5OmhhcygubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFkdmFudGFnZXMtc2VjdGlvbikgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYWR2YW50YWdlcy1zZWN0aW9uIC5zd2lwZXItc2xpZGUge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5ib2R5OmhhcygubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFkdmFudGFnZXMtc2VjdGlvbikgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYWR2YW50YWdlcy1zZWN0aW9uIC5hZHZhbnRhZ2VzLWNhcmQge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICBib2R5OmhhcygubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFkdmFudGFnZXMtc2VjdGlvbikgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYWR2YW50YWdlcy1zZWN0aW9uIC5zd2lwZXItd3JhcHBlciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MzBweCkge1xuICAgIGJvZHk6aGFzKC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYWR2YW50YWdlcy1zZWN0aW9uKSAjY29uc3RydWN0b3JfYmxvY2tfMy5hZHZhbnRhZ2VzLXNlY3Rpb24gLnN3aXBlci13cmFwcGVyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxufVxuXG4vKiBHZW50aW1lZCBidXR0b24gY29uY2VwdCB1cGRhdGUgKi9cbjpyb290IHtcbiAgICAtLWdlbnRpbWVkLWJsdWUtaG92ZXI6ICMxNDdDQjA7XG4gICAgLS1nZW50aW1lZC1ncmVlbi1ob3ZlcjogIzI3OUU2NDtcbn1cblxuLmJ1dHRvbjpub3QoLmJ1dHRvbl9zZWNvbmRhcnkpOm5vdCguYnV0dG9uX3RlcnRpYXJ5KTpub3QoLmJ1dHRvbl9mb3VydGgpOm5vdCguYnV0dG9uX3F1YXRlcm5hcnkpOm5vdCguYnV0dG9uX3NvY2lhbCk6bm90KC5zZWN0aW9uX19tb3JlKSxcbi5idXR0b24uYnV0dG9uX3ByaW1hcnksXG4uYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZTpub3QoLmJ1dHRvbl9zZWNvbmRhcnkpOm5vdCguYnV0dG9uX3RlcnRpYXJ5KTpub3QoLmJ1dHRvbl9mb3VydGgpOm5vdCguYnV0dG9uX3F1YXRlcm5hcnkpOm5vdCguc2VjdGlvbl9fbW9yZSkge1xuICAgIC0tYnV0dG9uLWJnLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1ibHVlLCAjMTk4QkM0KSAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWJnLWNvbG9yLWhvdmVyOiB2YXIoLS1nZW50aW1lZC1ibHVlLWhvdmVyLCAjMTQ3Q0IwKSAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZSwgIzE5OEJDNCkgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3ItaG92ZXI6IHZhcigtLWdlbnRpbWVkLWJsdWUtaG92ZXIsICMxNDdDQjApICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tdGV4dC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLXRleHQtY29sb3ItaG92ZXI6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1pY29uLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24taWNvbi1jb2xvci1ob3ZlcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4uYnV0dG9uLmJ1dHRvbl9zZWNvbmRhcnksXG4uaGVhZGVyLXNlY29uZGFyeV9fYnV0dG9uLmJ1dHRvbi5idXR0b25fc2Vjb25kYXJ5LFxuLm1vYmlsZS1tZW51X19idXR0b24uYnV0dG9uLmJ1dHRvbl9zZWNvbmRhcnkge1xuICAgIC0tYnV0dG9uLWJnLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1ncmVlbiwgIzJFQUQ2RikgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1iZy1jb2xvci1ob3ZlcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4taG92ZXIsICMyNzlFNjQpICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tYm9yZGVyLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1ncmVlbiwgIzJFQUQ2RikgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3ItaG92ZXI6IHZhcigtLWdlbnRpbWVkLWdyZWVuLWhvdmVyLCAjMjc5RTY0KSAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLXRleHQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yLWhvdmVyOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24taWNvbi1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWljb24tY29sb3ItaG92ZXI6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLmJ1dHRvbi5idXR0b25fdGVydGlhcnkge1xuICAgIC0tYnV0dG9uLWJnLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tYmctY29sb3ItaG92ZXI6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3ItaG92ZXI6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tdGV4dC1jb2xvci1ob3ZlcjogIzBBMEEwQSAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWljb24tY29sb3I6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG59XG5cbi5idXR0b24uYnV0dG9uX2ZvdXJ0aCxcbi5idXR0b24uYnV0dG9uX3F1YXRlcm5hcnksXG4uc2VjdGlvbl9fbW9yZS5idXR0b24uYnV0dG9uX3NlY29uZGFyeSxcbi5idXR0b24uYnV0dG9uX3RlbXBsYXRlLnNlY3Rpb25fX21vcmUge1xuICAgIC0tYnV0dG9uLWJnLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWJnLWNvbG9yLWhvdmVyOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZSwgIzE5OEJDNCkgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3ItaG92ZXI6IHZhcigtLWdlbnRpbWVkLWJsdWUtaG92ZXIsICMxNDdDQjApICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tYm9yZGVyLXdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmssICMwQTBBMEEpICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tdGV4dC1jb2xvci1ob3ZlcjogdmFyKC0tZ2VudGltZWQtYmx1ZS1ob3ZlciwgIzE0N0NCMCkgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1pY29uLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1ibHVlLCAjMTk4QkM0KSAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWljb24tY29sb3ItaG92ZXI6IHZhcigtLWdlbnRpbWVkLWJsdWUtaG92ZXIsICMxNDdDQjApICFpbXBvcnRhbnQ7XG59XG5cbi5idXR0b24uYnV0dG9uX3RlbXBsYXRlOm5vdCguYnV0dG9uX3NlY29uZGFyeSk6bm90KC5idXR0b25fdGVydGlhcnkpOm5vdCguYnV0dG9uX2ZvdXJ0aCk6bm90KC5idXR0b25fcXVhdGVybmFyeSk6bm90KC5zZWN0aW9uX19tb3JlKTo6YmVmb3JlLFxuLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUubm8taW52ZXJ0Om5vdCguYnV0dG9uX3RlcnRpYXJ5KTpub3QoLnNlY3Rpb25fX21vcmUpOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWdlbnRpbWVkLWJsdWUsICMxOThCQzQpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZ2VudGltZWQtYmx1ZSwgIzE5OEJDNCkgIWltcG9ydGFudDtcbn1cblxuLmJ1dHRvbi5idXR0b25fdGVtcGxhdGU6bm90KC5idXR0b25fc2Vjb25kYXJ5KTpub3QoLmJ1dHRvbl90ZXJ0aWFyeSk6bm90KC5idXR0b25fZm91cnRoKTpub3QoLmJ1dHRvbl9xdWF0ZXJuYXJ5KTpub3QoLnNlY3Rpb25fX21vcmUpOmhvdmVyOjpiZWZvcmUsXG4uYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5uby1pbnZlcnQ6bm90KC5idXR0b25fdGVydGlhcnkpOm5vdCguc2VjdGlvbl9fbW9yZSk6aG92ZXI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZ2VudGltZWQtYmx1ZS1ob3ZlciwgIzE0N0NCMCkgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWdlbnRpbWVkLWJsdWUtaG92ZXIsICMxNDdDQjApICFpbXBvcnRhbnQ7XG59XG5cbi5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9zZWNvbmRhcnk6OmJlZm9yZSxcbi5oZWFkZXItc2Vjb25kYXJ5X19idXR0b24uYnV0dG9uLmJ1dHRvbl9zZWNvbmRhcnk6OmJlZm9yZSxcbi5tb2JpbGUtbWVudV9fYnV0dG9uLmJ1dHRvbi5idXR0b25fc2Vjb25kYXJ5OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWdlbnRpbWVkLWdyZWVuLCAjMkVBRDZGKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdlbnRpbWVkLWdyZWVuLCAjMkVBRDZGKSAhaW1wb3J0YW50O1xufVxuXG4uYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fc2Vjb25kYXJ5OmhvdmVyOjpiZWZvcmUsXG4uaGVhZGVyLXNlY29uZGFyeV9fYnV0dG9uLmJ1dHRvbi5idXR0b25fc2Vjb25kYXJ5OmhvdmVyOjpiZWZvcmUsXG4ubW9iaWxlLW1lbnVfX2J1dHRvbi5idXR0b24uYnV0dG9uX3NlY29uZGFyeTpob3Zlcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nZW50aW1lZC1ncmVlbi1ob3ZlciwgIzI3OUU2NCkgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWdlbnRpbWVkLWdyZWVuLWhvdmVyLCAjMjc5RTY0KSAhaW1wb3J0YW50O1xufVxuXG4uYnV0dG9uLmJ1dHRvbl90ZXJ0aWFyeTo6YmVmb3JlLFxuLmJ1dHRvbi5idXR0b25fdGVydGlhcnk6aG92ZXI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLmJ1dHRvbi5idXR0b25fZm91cnRoOjpiZWZvcmUsXG4uYnV0dG9uLmJ1dHRvbl9xdWF0ZXJuYXJ5OjpiZWZvcmUsXG4uc2VjdGlvbl9fbW9yZS5idXR0b24uYnV0dG9uX3NlY29uZGFyeTo6YmVmb3JlLFxuLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuc2VjdGlvbl9fbW9yZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdlbnRpbWVkLWJsdWUsICMxOThCQzQpICFpbXBvcnRhbnQ7XG59XG5cbi5idXR0b24uYnV0dG9uX2ZvdXJ0aDpob3Zlcjo6YmVmb3JlLFxuLmJ1dHRvbi5idXR0b25fcXVhdGVybmFyeTpob3Zlcjo6YmVmb3JlLFxuLnNlY3Rpb25fX21vcmUuYnV0dG9uLmJ1dHRvbl9zZWNvbmRhcnk6aG92ZXI6OmJlZm9yZSxcbi5idXR0b24uYnV0dG9uX3RlbXBsYXRlLnNlY3Rpb25fX21vcmU6aG92ZXI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWdlbnRpbWVkLWJsdWUtaG92ZXIsICMxNDdDQjApICFpbXBvcnRhbnQ7XG59XG5cbi5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5IHtcbiAgICAtLWJ1dHRvbi1iZy1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWJnLWNvbG9yLWhvdmVyOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tYm9yZGVyLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tYm9yZGVyLWNvbG9yLWhvdmVyOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tdGV4dC1jb2xvcjogIzBBMEEwQSAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLXRleHQtY29sb3ItaG92ZXI6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1pY29uLWNvbG9yOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24taWNvbi1jb2xvci1ob3ZlcjogIzBBMEEwQSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG59XG5cbi5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5OjpiZWZvcmUsXG4uZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTpob3Zlcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi8qIFNlcnZpY2VzIHRhc2tzIGNhcmQgY29sb3IgcmVmaW5lbWVudCAqL1xuYm9keTpoYXMoLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfMy5hZHZhbnRhZ2VzLXNlY3Rpb24pICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFkdmFudGFnZXMtc2VjdGlvbiAuYWR2YW50YWdlcy1jYXJkIHtcbiAgICAtLWNhcmQtYmFja2dyb3VuZC1jb2xvcjogI0VBRjNGOCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNhcmQtYmFja2dyb3VuZC1jb2xvcikgIWltcG9ydGFudDtcbn1cblxuYm9keTpoYXMoLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfMy5hZHZhbnRhZ2VzLXNlY3Rpb24pICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFkdmFudGFnZXMtc2VjdGlvbiAuYWR2YW50YWdlcy1jYXJkIC5pY29uIHtcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgc2F0dXJhdGUoMTAwJSkgaW52ZXJ0KDQzJSkgc2VwaWEoODUlKSBzYXR1cmF0ZSgxMDcyJSkgaHVlLXJvdGF0ZSgxNjZkZWcpIGJyaWdodG5lc3MoODYlKSBjb250cmFzdCg5MCUpICFpbXBvcnRhbnQ7XG59XG5cbi8qIEZyb250IGJhbm5lciB3aGl0ZSBwcmltYXJ5IGJ1dHRvbiBsb2NrICovXG4uZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5LFxuLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTpob3Zlcixcbi5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnk6Zm9jdXMtdmlzaWJsZSB7XG4gICAgLS1idXR0b24tYmctY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1iZy1jb2xvci1ob3ZlcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvci1ob3ZlcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLXRleHQtY29sb3I6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yLWhvdmVyOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24taWNvbi1jb2xvcjogIzBBMEEwQSAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWljb24tY29sb3ItaG92ZXI6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzBBMEEwQSAhaW1wb3J0YW50O1xufVxuXG4uZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5OjpiZWZvcmUsXG4uZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5OjphZnRlcixcbi5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnk6aG92ZXI6OmJlZm9yZSxcbi5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnk6aG92ZXI6OmFmdGVyLFxuLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTpmb2N1cy12aXNpYmxlOjpiZWZvcmUsXG4uZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5OmZvY3VzLXZpc2libGU6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeSAuYnV0dG9uX190ZXh0LFxuLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeSAudGV4dCxcbi5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnkgLmljb24ge1xuICAgIGNvbG9yOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG59XG5cbi8qIFNlcnZpY2Ugd2h5IGJsb2NrcyB1c2UgYWR2YW50YWdlcyBjYXJkIHR5cGUgKi9cbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb246aGFzKC5zZXJ2aWNlLWFkdmFudGFnZXMtZ3JpZCkge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zZWN0aW9uLXBhZGRpbmcpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctd2hpdGUsICNGRkZGRkYpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctd2hpdGUsICNGRkZGRkYpICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uOmhhcyguc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQpID4gLmNvbnRhaW5lcixcbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb246aGFzKC5zZXJ2aWNlLWFkdmFudGFnZXMtZ3JpZCkgLmFydGljbGUtc2VjdGlvbl9fY29udGVudCxcbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb246aGFzKC5zZXJ2aWNlLWFkdmFudGFnZXMtZ3JpZCkgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG4gICAgZm9udDogaW5oZXJpdCAhaW1wb3J0YW50O1xufVxuXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uOmhhcyguc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQpIC5hcnRpY2xlLXNlY3Rpb25fX2hlYWQsXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uOmhhcyguc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQpIC5hcnRpY2xlLXNlY3Rpb25fX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5zZXJ2aWNlLWFkdmFudGFnZXMtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgZ2FwOiBjbGFtcCgxcmVtLCAxLjJ2dywgMS41cmVtKTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjMwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTYwcHgpIHtcbiAgICAuc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoY2xhbXAoMTcuNXJlbSwgMzN2dywgMjJyZW0pLCAxZnIpKTtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogeCBwcm94aW1pdHk7XG4gICAgfVxuXG4gICAgLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkIC5hZHZhbnRhZ2VzLWNhcmQge1xuICAgICAgICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjI5cHgpIHtcbiAgICAuc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG5cblxufVxuLyogU2VydmljZXMgcHJvamVjdCBzdGFnZXMgYWRhcHRpdmUgY29sb3Igcmh5dGhtICovXG4jY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlIC5zdGFnZS1jYXJkLXQ1IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFnZS1jYXJkLWJnLWFsdCkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLCAjMEEwQTBBKSAhaW1wb3J0YW50O1xufVxuXG4jY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlIC5zdGFnZS1jYXJkLXQ1X19pbmRleCB7XG4gICAgY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41NCkgIWltcG9ydGFudDtcbn1cblxuI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUge1xuICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmssICMwQTBBMEEpICFpbXBvcnRhbnQ7XG59XG5cbiNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGUgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLW11dGVkLCByZ2JhKDEwLCAxMCwgMTAsIDAuNzIpKSAhaW1wb3J0YW50O1xufVxuXG4jY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuc3RhZ2UtY2FyZC10NSxcbiNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5zdGFnZS1jYXJkLXQ1IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFnZS1jYXJkLWJnLWFjdGl2ZSwgIzE5OEJDNCkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4jY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuc3RhZ2UtY2FyZC10NSxcbiNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDUpIC5zdGFnZS1jYXJkLXQ1IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1ncmVlbiwgIzMxQUQ3MikgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4jY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuc3RhZ2UtY2FyZC10NV9faW5kZXgsXG4jY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUsXG4jY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24sXG4jY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuc3RhZ2UtY2FyZC10NV9faW5kZXgsXG4jY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUsXG4jY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24sXG4jY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NV9faW5kZXgsXG4jY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUsXG4jY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24sXG4jY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuc3RhZ2UtY2FyZC10NV9faW5kZXgsXG4jY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUsXG4jY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MzFweCkgYW5kIChtYXgtd2lkdGg6IDExNjBweCkge1xuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGUgLnN0YWdlLWNhcmQtdDUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFnZS1jYXJkLWJnLWFsdCwgI0U4RURGMykgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluaywgIzBBMEEwQSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlIC5zdGFnZS1jYXJkLXQ1X19pbmRleCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNTQpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLCAjMEEwQTBBKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGUgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluay1tdXRlZCwgcmdiYSgxMCwgMTAsIDEwLCAwLjcyKSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuc3RhZ2UtY2FyZC10NSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg0KSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YWdlLWNhcmQtYmctYWN0aXZlLCAjMTk4QkM0KSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDMpIC5zdGFnZS1jYXJkLXQ1LFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5zdGFnZS1jYXJkLXQ1IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4sICMzMUFENzIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDEpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24sXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDMpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24sXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNCkgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDQpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg0KSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24sXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24ge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDUpIC5zdGFnZS1jYXJkLXQ1IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhZ2UtY2FyZC1iZy1hbHQsICNFOEVERjMpICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmssICMwQTBBMEEpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNSkgLnN0YWdlLWNhcmQtdDVfX2luZGV4IHtcbiAgICAgICAgY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41NCkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLCAjMEEwQTBBKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDUpIC5zdGFnZS1jYXJkLXQ1X19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmstbXV0ZWQsIHJnYmEoMTAsIDEwLCAxMCwgMC43MikpICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjMwcHgpIHtcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlIC5zdGFnZS1jYXJkLXQ1IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhZ2UtY2FyZC1iZy1hbHQsICNFOEVERjMpICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmssICMwQTBBMEEpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZSAuc3RhZ2UtY2FyZC10NV9faW5kZXgge1xuICAgICAgICBjb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjU0KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGUgLnN0YWdlLWNhcmQtdDVfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluaywgIzBBMEEwQSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlIC5zdGFnZS1jYXJkLXQ1X19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmstbXV0ZWQsIHJnYmEoMTAsIDEwLCAxMCwgMC43MikpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNCkgLnN0YWdlLWNhcmQtdDUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFnZS1jYXJkLWJnLWFjdGl2ZSwgIzE5OEJDNCkgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuc3RhZ2UtY2FyZC10NSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdlbnRpbWVkLWdyZWVuLCAjMzFBRDcyKSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDUpIC5zdGFnZS1jYXJkLXQ1IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhZ2UtY2FyZC1iZy1hbHQsICNFOEVERjMpICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmssICMwQTBBMEEpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNSkgLnN0YWdlLWNhcmQtdDVfX2luZGV4IHtcbiAgICAgICAgY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41NCkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLCAjMEEwQTBBKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDUpIC5zdGFnZS1jYXJkLXQ1X19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmstbXV0ZWQsIHJnYmEoMTAsIDEwLCAxMCwgMC43MikpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDEpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24sXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDMpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24sXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNCkgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDQpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg0KSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24sXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24ge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIH1cbn1cbi8qIEhlYWRlciBpY29uIGJ1dHRvbnMgaG92ZXIgKi9cbi5oZWFkZXIgLmJ1cmdlci1idXR0b24uYnV0dG9uLFxuLmhlYWRlciAuaGVhZGVyLXByaW1hcnlfX2NhbGwuYnV0dG9uIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIyMG1zIGVhc2UsIGJvcmRlci1jb2xvciAyMjBtcyBlYXNlLCBjb2xvciAyMjBtcyBlYXNlO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgLmhlYWRlciAuYnVyZ2VyLWJ1dHRvbi5idXR0b246aG92ZXIsXG4gICAgLmhlYWRlciAuaGVhZGVyLXByaW1hcnlfX2NhbGwuYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZS1ob3ZlciwgIzE0N0NCMCkgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1ibHVlLWhvdmVyLCAjMTQ3Q0IwKSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmhlYWRlciAuYnVyZ2VyLWJ1dHRvbi5idXR0b246Zm9jdXMtdmlzaWJsZSxcbi5oZWFkZXIgLmhlYWRlci1wcmltYXJ5X19jYWxsLmJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1ibHVlLWhvdmVyLCAjMTQ3Q0IwKSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZS1ob3ZlciwgIzE0N0NCMCkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogRnJvbnQgYmFubmVyIHRlcnRpYXJ5IGJ1dHRvbiBzdHJpY3QgKi9cbi5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUsXG4uZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IGJ1dHRvbi5idXR0b24uYnV0dG9uX3RlbXBsYXRlLFxuLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeSxcbi5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgYnV0dG9uLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzBBMEEwQSAhaW1wb3J0YW50O1xufVxuXG4uZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlIHN2Zyxcbi5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUgcGF0aCxcbi5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUgLmljb24ge1xuICAgIGNvbG9yOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG4gICAgc3Ryb2tlOiBjdXJyZW50Q29sb3IgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAgIC5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGU6aG92ZXIsXG4gICAgLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCBidXR0b24uYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZTpob3ZlcixcbiAgICAuZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5OmhvdmVyLFxuICAgIC5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgYnV0dG9uLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNGNUY4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI0YzRjVGOCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzBBMEEwQSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZTpmb2N1cy12aXNpYmxlLFxuLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCBidXR0b24uYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZTpmb2N1cy12aXNpYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNGNUY4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjRjNGNUY4ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwQTBBMEEgIWltcG9ydGFudDtcbn1cbi8qIEhvbWUgYWJvdXQgYWR2YW50YWdlcyByZXNwb25zaXZlIGdyaWQgKi9cbi5hYm91dC1zZWN0aW9uLXQyIC5hYm91dC1zZWN0aW9uLXQyX19hZHZhbnRhZ2VzIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLmFib3V0LXNlY3Rpb24tdDIgLmFib3V0LXNlY3Rpb24tdDJfX2FkdmFudGFnZXM6bm90KC5zd2lwZXIpID4gLmFkdmFudGFnZXMtYWJvdXRfdDIge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjMwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTYwcHgpIHtcbiAgICAuYWJvdXQtc2VjdGlvbi10MiAuYWJvdXQtc2VjdGlvbi10Ml9fYWR2YW50YWdlcyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtYXV0by1yb3dzOiAxZnI7XG4gICAgICAgIGdhcDogY2xhbXAoMC43NXJlbSwgMS4ydncsIDFyZW0pICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmFib3V0LXNlY3Rpb24tdDIgLmFib3V0LXNlY3Rpb24tdDJfX2FkdmFudGFnZXMgPiAqIHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MjlweCkge1xuICAgIC5hYm91dC1zZWN0aW9uLXQyIC5hYm91dC1zZWN0aW9uLXQyX19hZHZhbnRhZ2VzIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtYXV0by1yb3dzOiAxZnI7XG4gICAgICAgIGdhcDogY2xhbXAoMC43NXJlbSwgM3Z3LCAxcmVtKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5hYm91dC1zZWN0aW9uLXQyIC5hYm91dC1zZWN0aW9uLXQyX19hZHZhbnRhZ2VzID4gKiB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4vKiBTZXJ2aWNlIGFkdmFudGFnZXMgbGlzdGluZyBmaW5hbCByZXNldCAqL1xuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbjpoYXMoLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkKSxcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkKSxcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja180LmFydGljbGUtc2VjdGlvbjpoYXMoLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkKSxcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja181LmFydGljbGUtc2VjdGlvbjpoYXMoLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkKSxcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja182LmFydGljbGUtc2VjdGlvbjpoYXMoLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkKSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNlY3Rpb24tcGFkZGluZykgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXdoaXRlLCAjRkZGRkZGKSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLXdoaXRlLCAjRkZGRkZGKSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzBBMEEwQSAhaW1wb3J0YW50O1xufVxuXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uOmhhcyguc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQpID4gLmNvbnRhaW5lcixcbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb246aGFzKC5zZXJ2aWNlLWFkdmFudGFnZXMtZ3JpZCkgLnNlY3Rpb25fX2NvbnRlbnQsXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uOmhhcyguc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQpIC5hcnRpY2xlLXNlY3Rpb25fX2NvbnRlbnQsXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uOmhhcyguc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQpIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyAtMSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzBBMEEwQSAhaW1wb3J0YW50O1xuICAgIGZvbnQ6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cblxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbjpoYXMoLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkKSAuYXJ0aWNsZS1zZWN0aW9uX19oZWFkLFxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbjpoYXMoLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkKSAuYXJ0aWNsZS1zZWN0aW9uX190aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uOmhhcyguc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQpIC5zZXJ2aWNlLWFkdmFudGFnZXMtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKSAhaW1wb3J0YW50O1xuICAgIGdhcDogY2xhbXAoMXJlbSwgMS4ydncsIDEuNXJlbSkgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjMwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTYwcHgpIHtcbiAgICAucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uOmhhcyguc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQpIC5zZXJ2aWNlLWFkdmFudGFnZXMtZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heChjbGFtcCgxNy41cmVtLCAzM3Z3LCAyMnJlbSksIDFmcikpICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIC5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb246aGFzKC5zZXJ2aWNlLWFkdmFudGFnZXMtZ3JpZCkgLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjI5cHgpIHtcbiAgICAucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uOmhhcyguc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQpIC5zZXJ2aWNlLWFkdmFudGFnZXMtZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyICFpbXBvcnRhbnQ7XG4gICAgfVxuXG5cbn1cblxuLyogU2VydmljZSBhZHZhbnRhZ2VzIGhlYWQgdmlzaWJpbGl0eSBmaXggKi9cbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb246aGFzKC5zZXJ2aWNlLWFkdmFudGFnZXMtZ3JpZCkgLmFydGljbGUtc2VjdGlvbl9faGVhZCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uOmhhcyguc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQpIC5hcnRpY2xlLXNlY3Rpb25fX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIEZyb250IGJhbm5lciBsZWZ0IENUQSB3aGl0ZSBmaW5hbCAqL1xuLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19jb250ZW50IC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0ID4gLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnksXG4uZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2NvbnRlbnQgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgPiBidXR0b24uYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeSB7XG4gICAgLS1idXR0b24tYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWJhY2tncm91bmQtY29sb3ItaG92ZXI6ICNGM0Y1RjggIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3ItaG92ZXI6ICNGM0Y1RjggIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tdGV4dC1jb2xvci1ob3ZlcjogIzBBMEEwQSAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWljb24tY29sb3I6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzBBMEEwQSAhaW1wb3J0YW50O1xufVxuXG4uZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2NvbnRlbnQgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgPiAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTo6YmVmb3JlLFxuLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19jb250ZW50IC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0ID4gLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnk6OmFmdGVyLFxuLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19jb250ZW50IC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0ID4gYnV0dG9uLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnk6OmJlZm9yZSxcbi5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fY29udGVudCAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCA+IGJ1dHRvbi5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5OjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fY29udGVudCAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCA+IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5IC5idXR0b25fX3RleHQsXG4uZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2NvbnRlbnQgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgPiAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeSAudGV4dCxcbi5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fY29udGVudCAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCA+IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5IC5pY29uLFxuLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19jb250ZW50IC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0ID4gLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnkgc3ZnLFxuLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19jb250ZW50IC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0ID4gLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnkgdXNlIHtcbiAgICBjb2xvcjogIzBBMEEwQSAhaW1wb3J0YW50O1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvciAhaW1wb3J0YW50O1xuICAgIHN0cm9rZTogY3VycmVudENvbG9yICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAuZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2NvbnRlbnQgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgPiAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTpob3ZlcixcbiAgICAuZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2NvbnRlbnQgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgPiBidXR0b24uYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGM0Y1RjggIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0YzRjVGOCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItY29sb3I6ICNGM0Y1RjggIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2NvbnRlbnQgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgPiAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTpob3Zlcjo6YmVmb3JlLFxuICAgIC5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fY29udGVudCAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCA+IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5OmhvdmVyOjphZnRlcixcbiAgICAuZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2NvbnRlbnQgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgPiBidXR0b24uYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTpob3Zlcjo6YmVmb3JlLFxuICAgIC5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fY29udGVudCAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCA+IGJ1dHRvbi5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5OmhvdmVyOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGM0Y1RjggIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0YzRjVGOCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItY29sb3I6ICNGM0Y1RjggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIEZyb250IGJhbm5lciBDVEEgc3BlY2lmaWNpdHkgZml4ICovXG5ib2R5IC5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnk6bm90KC5idXR0b25fc2Vjb25kYXJ5KTpub3QoLmJ1dHRvbl90ZXJ0aWFyeSk6bm90KC5idXR0b25fZm91cnRoKTpub3QoLmJ1dHRvbl9xdWF0ZXJuYXJ5KTpub3QoLnNlY3Rpb25fX21vcmUpLFxuYm9keSAuZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IGJ1dHRvbi5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5Om5vdCguYnV0dG9uX3NlY29uZGFyeSk6bm90KC5idXR0b25fdGVydGlhcnkpOm5vdCguYnV0dG9uX2ZvdXJ0aCk6bm90KC5idXR0b25fcXVhdGVybmFyeSk6bm90KC5zZWN0aW9uX19tb3JlKSB7XG4gICAgLS1idXR0b24tYmctY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1iZy1jb2xvci1ob3ZlcjogI0YzRjVGOCAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvci1ob3ZlcjogI0YzRjVGOCAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLXRleHQtY29sb3I6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yLWhvdmVyOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24taWNvbi1jb2xvcjogIzBBMEEwQSAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWljb24tY29sb3ItaG92ZXI6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwQTBBMEEgIWltcG9ydGFudDtcbn1cblxuYm9keSAuZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5Om5vdCguYnV0dG9uX3NlY29uZGFyeSk6bm90KC5idXR0b25fdGVydGlhcnkpOm5vdCguYnV0dG9uX2ZvdXJ0aCk6bm90KC5idXR0b25fcXVhdGVybmFyeSk6bm90KC5zZWN0aW9uX19tb3JlKTo6YmVmb3JlLFxuYm9keSAuZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IGJ1dHRvbi5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5Om5vdCguYnV0dG9uX3NlY29uZGFyeSk6bm90KC5idXR0b25fdGVydGlhcnkpOm5vdCguYnV0dG9uX2ZvdXJ0aCk6bm90KC5idXR0b25fcXVhdGVybmFyeSk6bm90KC5zZWN0aW9uX19tb3JlKTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuYm9keSAuZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5Om5vdCguYnV0dG9uX3NlY29uZGFyeSk6bm90KC5idXR0b25fdGVydGlhcnkpOm5vdCguYnV0dG9uX2ZvdXJ0aCk6bm90KC5idXR0b25fcXVhdGVybmFyeSk6bm90KC5zZWN0aW9uX19tb3JlKTo6YWZ0ZXIsXG5ib2R5IC5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgYnV0dG9uLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnk6bm90KC5idXR0b25fc2Vjb25kYXJ5KTpub3QoLmJ1dHRvbl90ZXJ0aWFyeSk6bm90KC5idXR0b25fZm91cnRoKTpub3QoLmJ1dHRvbl9xdWF0ZXJuYXJ5KTpub3QoLnNlY3Rpb25fX21vcmUpOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuYm9keSAuZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5Om5vdCguYnV0dG9uX3NlY29uZGFyeSk6bm90KC5idXR0b25fdGVydGlhcnkpOm5vdCguYnV0dG9uX2ZvdXJ0aCk6bm90KC5idXR0b25fcXVhdGVybmFyeSk6bm90KC5zZWN0aW9uX19tb3JlKSAuYnV0dG9uX190ZXh0LFxuYm9keSAuZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5Om5vdCguYnV0dG9uX3NlY29uZGFyeSk6bm90KC5idXR0b25fdGVydGlhcnkpOm5vdCguYnV0dG9uX2ZvdXJ0aCk6bm90KC5idXR0b25fcXVhdGVybmFyeSk6bm90KC5zZWN0aW9uX19tb3JlKSAudGV4dCxcbmJvZHkgLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTpub3QoLmJ1dHRvbl9zZWNvbmRhcnkpOm5vdCguYnV0dG9uX3RlcnRpYXJ5KTpub3QoLmJ1dHRvbl9mb3VydGgpOm5vdCguYnV0dG9uX3F1YXRlcm5hcnkpOm5vdCguc2VjdGlvbl9fbW9yZSkgLmljb24ge1xuICAgIGNvbG9yOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICBib2R5IC5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnk6bm90KC5idXR0b25fc2Vjb25kYXJ5KTpub3QoLmJ1dHRvbl90ZXJ0aWFyeSk6bm90KC5idXR0b25fZm91cnRoKTpub3QoLmJ1dHRvbl9xdWF0ZXJuYXJ5KTpub3QoLnNlY3Rpb25fX21vcmUpOmhvdmVyOjpiZWZvcmUsXG4gICAgYm9keSAuZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IGJ1dHRvbi5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5Om5vdCguYnV0dG9uX3NlY29uZGFyeSk6bm90KC5idXR0b25fdGVydGlhcnkpOm5vdCguYnV0dG9uX2ZvdXJ0aCk6bm90KC5idXR0b25fcXVhdGVybmFyeSk6bm90KC5zZWN0aW9uX19tb3JlKTpob3Zlcjo6YmVmb3JlLFxuICAgIGJvZHkgLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTpub3QoLmJ1dHRvbl9zZWNvbmRhcnkpOm5vdCguYnV0dG9uX3RlcnRpYXJ5KTpub3QoLmJ1dHRvbl9mb3VydGgpOm5vdCguYnV0dG9uX3F1YXRlcm5hcnkpOm5vdCguc2VjdGlvbl9fbW9yZSk6aG92ZXI6OmFmdGVyLFxuICAgIGJvZHkgLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCBidXR0b24uYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTpub3QoLmJ1dHRvbl9zZWNvbmRhcnkpOm5vdCguYnV0dG9uX3RlcnRpYXJ5KTpub3QoLmJ1dHRvbl9mb3VydGgpOm5vdCguYnV0dG9uX3F1YXRlcm5hcnkpOm5vdCguc2VjdGlvbl9fbW9yZSk6aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI0YzRjVGOCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNGNUY4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI0YzRjVGOCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyogU3BsaXQgc2VjdGlvbiBoZWFkIHZlcnRpY2FsIGNlbnRlcmluZyAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk2MXB4KSB7XG4gIC5zZWN0aW9uX19oZWFkOmhhcyguc2VjdGlvbl9fdGV4dCksXG4gIC5zZWN0aW9uX190ZXh0Omhhcyguc2VjdGlvbl9fdGl0bGUpOmhhcyguc2VjdGlvbl9fZGVzY3JpcHRpb24pLFxuICAjY29uc3RydWN0b3JfYmxvY2tfNSAuc2VjdGlvbl9faGVhZCxcbiAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLnNlY3Rpb25fX3RleHQsXG4gICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zZWN0aW9uX19oZWFkLFxuICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc2VjdGlvbl9fdGV4dCxcbiAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc2VjdGlvbl9faGVhZCxcbiAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc2VjdGlvbl9fdGV4dCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNlY3Rpb25fX3RleHQ6aGFzKC5zZWN0aW9uX190aXRsZSk6aGFzKC5zZWN0aW9uX19kZXNjcmlwdGlvbiksXG4gIC5zZWN0aW9uX190ZXh0Omhhcyguc2VjdGlvbl9fdGl0bGUpOmhhcyguc2VjdGlvbl9fZGVzY3JpcHRpb24pIC5zZWN0aW9uX190aXRsZSxcbiAgLnNlY3Rpb25fX3RleHQ6aGFzKC5zZWN0aW9uX190aXRsZSk6aGFzKC5zZWN0aW9uX19kZXNjcmlwdGlvbikgLnNlY3Rpb25fX2Rlc2NyaXB0aW9uIHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogU2VydmljZXMgbGlzdGluZzogcmVtb3ZlIGdhcCByZXNlcnZlZCBmb3IgaGlkZGVuIHBhZ2luYXRpb24gY29udHJvbHMgKi9cbi5saXN0aW5nOmhhcyguc2VydmljZXMtY2FyZCkgPiAjcGRvcGFnZSB7XG4gICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qIFNlcnZpY2UgVVRQIHVzZXMgdGhlIG5hdGl2ZSBhZHZhbnRhZ2VzLWNhcmQgY29tcG9uZW50ICovXG4uc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQgLmFkdmFudGFnZXMtY2FyZCB7XG4gICAgLS1jYXJkLWJhY2tncm91bmQtY29sb3I6ICNFQUYzRjg7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuXG4uc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQgLmFkdmFudGFnZXMtY2FyZCA+IC5pY29uIHtcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgc2F0dXJhdGUoMTAwJSkgaW52ZXJ0KDQzJSkgc2VwaWEoODUlKSBzYXR1cmF0ZSgxMDcyJSkgaHVlLXJvdGF0ZSgxNjZkZWcpIGJyaWdodG5lc3MoODYlKSBjb250cmFzdCg5MCUpO1xufVxuLyogU2VydmljZXMgcGFnZSBwcm9qZWN0IHN0ZXBzIHVzZSBvbmUgc2VjdGlvbiBnYXAgd2l0aG91dCBhbiBleHRyYSBjb250ZW50IG1hcmdpbi4gKi9cbi5tYWluID4gLmxpc3Rpbmc6aGFzKC5zZXJ2aWNlcy1jYXJkKSB+ICNjb25zdHJ1Y3Rvcl9ibG9ja18yID4gLmNvbnRhaW5lciB7XG4gICAgZ2FwOiB2YXIoLS1zZWN0aW9uLWdhcCk7XG59XG5cbi5tYWluID4gLmxpc3Rpbmc6aGFzKC5zZXJ2aWNlcy1jYXJkKSB+ICNjb25zdHJ1Y3Rvcl9ibG9ja18yIC5zZWN0aW9uX19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4vKiBQb3N0LXJlZ2lzdHJhdGlvbiBtb25pdG9yaW5nIHNlcGFyYXRlcyB0aGUgaGVhZGluZyBhbmQgY2FyZHMgd2l0aCB0ZW1wbGF0ZSBnYXBzLiAqL1xuYm9keTpoYXMoLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfNi5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OEJDNFwiXSkgLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19oZWFkIHtcbiAgICBnYXA6IHZhcigtLWdyaWQtcm93LWdhcCk7XG59XG5cbmJvZHk6aGFzKC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzYuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThCQzRcIl0pIC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IHZhcigtLXNlY3Rpb24tZ2FwKTtcbn1cblxuYm9keTpoYXMoLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfNi5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OEJDNFwiXSkgLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfMyAudmlyZC1yZXF1aXJlZF9fbGVhZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLyogUG9zdC1yZWdpc3RyYXRpb24gYXBwcm9hY2ggY2FyZHMgdXNlIG9uZSBzZWN0aW9uIGdhcCB3aXRob3V0IGNvbnRlbnQgbWFyZ2luLiAqL1xuYm9keTpoYXMoLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfNi5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OEJDNFwiXSkgLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfNDpoYXMoLnN0YWdlLWNhcmQtdDUpID4gLmNvbnRhaW5lciB7XG4gICAgZ2FwOiB2YXIoLS1zZWN0aW9uLWdhcCk7XG59XG5cbmJvZHk6aGFzKC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzYuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThCQzRcIl0pIC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzQ6aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc2VjdGlvbl9fY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLyogUG9ydHJhaXQgYXJ0aWNsZSBjb3B5IGJsb2NrcyB1c2UgdGhlIG5hdGl2ZSBoZWFkaW5nIGdhcCBhbmQgbm8gaW50ZXJuYWwgZmxleCBnYXAuICovXG4uYXJ0aWNsZS1zZWN0aW9uOmhhcyhpbWdbc3JjKj1cImF1dGhvcml6ZWQtcmVwcmVzZW50YXRpdmUtcG9ydHJhaXQtY2VudGVyZWRcIl0pIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUsXG4uYXJ0aWNsZS1zZWN0aW9uOmhhcyhpbWdbc3JjKj1cImluc3BlY3Rpb24tZXhwZXJ0LXBvcnRyYWl0LWNlbnRlcmVkXCJdKSAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHtcbiAgICBnYXA6IDA7XG59XG4vKiBUZXN0aW5nIHRyaWFscyBzZWN0aW9uIHRpdGxlIGhhcyBubyBleHRyYSBib3R0b20gbWFyZ2luLiAqL1xuI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudGVzdGluZy10cmlhbHMtZ3JpZCkgLmFydGljbGUtc2VjdGlvbl9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi8qIFZJUkQgcmVxdWlyZWQgc2VjdGlvbiB0aXRsZSBoYXMgbm8gZXh0cmEgYm90dG9tIG1hcmdpbi4gKi9cbiNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnZpcmQtcmVxdWlyZWQtZ3JpZCkgLmFydGljbGUtc2VjdGlvbl9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi8qIFNlcnZpY2UgcmVzdWx0IHNlY3Rpb25zIHVzZSB0aGUgbmF0aXZlIGFydGljbGUgaGVhZGluZyBnYXAgaW5zdGVhZCBvZiB0ZXh0IG1hcmdpbi4gKi9cbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OEJDNFwiXSAuYXJ0aWNsZS1zZWN0aW9uX19oZWFkLFxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbltzdHlsZSo9XCIjMTk4YmM0XCJdIC5hcnRpY2xlLXNlY3Rpb25fX2hlYWQge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThCQzRcIl0gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSxcbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OGJjNFwiXSAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4vKiBIb21lcGFnZSBjb3N0IGNvcHkgaGFzIGl0cyBvd24gbmF0aXZlIGFydGljbGUgaGVhZGluZyBnYXAuICovXG5ib2R5IC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzcuYXJ0aWNsZS1zZWN0aW9uID4gLmNvbnRhaW5lciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgXCJjb3N0LW1lZGlhIGNvc3QtY29weVwiXG4gICAgICAgIFwiY29zdC1tZWRpYSBjb3N0LWJ1dHRvblwiXG4gICAgICAgIFwiY29zdC1wcmljZS10aXRsZSBjb3N0LXByaWNlLXRpdGxlXCJcbiAgICAgICAgXCJjb3N0LXByaWNlcyBjb3N0LXByaWNlc1wiXG4gICAgICAgIFwiY29zdC1ub3RlIGNvc3Qtbm90ZVwiO1xufVxuXG5ib2R5IC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmNvc3QtY29weS1ncm91cCB7XG4gICAgZ3JpZC1hcmVhOiBjb3N0LWNvcHk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICBnYXA6IGluaGVyaXQ7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG5ib2R5IC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmNvc3QtY29weS1ncm91cCAuYXJ0aWNsZS1zZWN0aW9uX190aXRsZSxcbmJvZHkgLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfNyAuY29zdC1jb3B5LWdyb3VwX19sZWFkIHtcbiAgICBncmlkLWFyZWE6IGF1dG87XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfNyAuY29zdC1jb3B5LWdyb3VwX19sZWFkLFxuYm9keSAubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5jb3N0LW5vdGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGZvbnQ6IHZhcigtLWZvbnQtYm9keS1MLXIpICFpbXBvcnRhbnQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG59XG5cbmJvZHkgLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfNyAuY29zdC1jb3B5LWdyb3VwX19sZWFkIHtcbiAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKTtcbn1cblxuYm9keSAubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5jb3N0LXByaWNlLXRpdGxlIHtcbiAgICBncmlkLWFyZWE6IGNvc3QtcHJpY2UtdGl0bGUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IGNsYW1wKDEuNXJlbSwgMi4ydncsIDIuMjVyZW0pIDAgMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmspICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjVyZW0sIDEuMTZyZW0gKyAwLjl2dywgMi4yNXJlbSkgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4xNSAhaW1wb3J0YW50O1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xufVxuXG5ib2R5IC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmNvc3QtcHJpY2UtdGl0bGUgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG5ib2R5IC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmNvc3Qtbm90ZSB7XG4gICAgZ3JpZC1hcmVhOiBjb3N0LW5vdGUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgYm9keSAubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja183LmFydGljbGUtc2VjdGlvbiA+IC5jb250YWluZXIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgICAgICAgXCJjb3N0LWNvcHlcIlxuICAgICAgICAgICAgXCJjb3N0LW1lZGlhXCJcbiAgICAgICAgICAgIFwiY29zdC1idXR0b25cIlxuICAgICAgICAgICAgXCJjb3N0LXByaWNlLXRpdGxlXCJcbiAgICAgICAgICAgIFwiY29zdC1wcmljZXNcIlxuICAgICAgICAgICAgXCJjb3N0LW5vdGVcIjtcbiAgICB9XG59XG4vKiBIb21lcGFnZSBjb3N0IHNlY3Rpb24gdXNlcyB0aGUgdGVtcGxhdGUgZ3JpZCByb3cgcmh5dGhtLiAqL1xuYm9keSAubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja183LmFydGljbGUtc2VjdGlvbiA+IC5jb250YWluZXIge1xuICAgIHJvdy1nYXA6IHZhcigtLWdyaWQtcm93LWdhcCk7XG59XG5cbmJvZHkgLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfOSAuYXJ0aWNsZS1zZWN0aW9uX19oZWFkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4vKiBIb21lcGFnZSBjb3N0IHNlY3Rpb24gdGl0bGUgaGFzIG5vIGV4dHJhIGJvdHRvbSBtYXJnaW4uICovXG5ib2R5IC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi8qIEhvbWVwYWdlIGF1ZGllbmNlIHJvdXRlcyB1c2UgdGhlIHNlY3Rpb24gcmh5dGhtIGJldHdlZW4gaGVhZGluZyBhbmQgY2FyZHMuICovXG5ib2R5IC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzUgPiAuY29udGFpbmVyIHtcbiAgICBnYXA6IHZhcigtLXNlY3Rpb24tZ2FwKTtcbn1cblxuYm9keSAubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja181IC5hcnRpY2xlLXNlY3Rpb24tdDJfX2FydGljbGUge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cbi8qIEhvbWVwYWdlIHN0cmF0ZWd5IHVzZXMgdGhlIHNlY3Rpb24gcmh5dGhtIGJldHdlZW4gaXRzIGhlYWRpbmcgYW5kIGNhcmRzLiAqL1xuYm9keSAubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja182ID4gLmNvbnRhaW5lciB7XG4gICAgZ2FwOiB2YXIoLS1zZWN0aW9uLWdhcCk7XG59XG5cbmJvZHkgLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfNiAuc2VjdGlvbl9fY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLyogSG9tZXBhZ2Ugc2VydmljZXM6IHVzZSBncmlkIHJoeXRobSBhZnRlciB0aGUgaGVhZGluZyBhbmQgc2VjdGlvbiByaHl0aG0gYmVmb3JlIGNhcmRzLiAqL1xuYm9keTpoYXMoLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfNS5hcnRpY2xlLXNlY3Rpb24tdDIpIC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2hlYWQge1xuICAgIGdhcDogdmFyKC0tZ3JpZC1yb3ctZ2FwKTtcbn1cblxuYm9keTpoYXMoLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfNS5hcnRpY2xlLXNlY3Rpb24tdDIpIC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUge1xuICAgIGdhcDogdmFyKC0tc2VjdGlvbi1nYXApO1xufVxuXG5ib2R5OmhhcygubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja181LmFydGljbGUtc2VjdGlvbi10MikgLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG5ib2R5OmhhcygubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja181LmFydGljbGUtc2VjdGlvbi10MikgLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+IHA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi8qIFRleHQtYmVhcmluZyBsYXlvdXQgYm94ZXMgbXVzdCBhbHdheXMgZm9sbG93IHRoZWlyIGNvbnRlbnQgaGVpZ2h0LiAqL1xuLnNlY3Rpb25fX2hlYWQsXG4uc2VjdGlvbl9fdGV4dCxcbi5zZWN0aW9uX190aXRsZSxcbi5zZWN0aW9uX19kZXNjcmlwdGlvbixcbi5zZWN0aW9uX19jb250ZW50LFxuLmFydGljbGUtc2VjdGlvbl9faGVhZCxcbi5hcnRpY2xlLXNlY3Rpb25fX3RpdGxlLFxuLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSxcbi5wYWdlLWJhbm5lcl9fY29udGVudCxcbi5wYWdlLWJhbm5lcl9faGVhZCxcbi5mcm9udC1iYW5uZXJfX2NvbnRlbnQge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbn1cblxuLnNlY3Rpb25fX2hlYWQsXG4uc2VjdGlvbl9fdGV4dCxcbi5zZWN0aW9uX190aXRsZSxcbi5zZWN0aW9uX19kZXNjcmlwdGlvbixcbi5hcnRpY2xlLXNlY3Rpb25fX2hlYWQsXG4uYXJ0aWNsZS1zZWN0aW9uX190aXRsZSxcbi5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUsXG4ucGFnZS1iYW5uZXJfX2NvbnRlbnQsXG4ucGFnZS1iYW5uZXJfX2hlYWQsXG4uZnJvbnQtYmFubmVyX19jb250ZW50IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyogUmVzb3VyY2UgMTU1IHBsYWNlaG9sZGVyLiAqL1xuLmZvcmVpZ24tcGFnZS1wbGFjZWhvbGRlci1zZWN0aW9uIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBjbGFtcCg1cmVtLCA5dncsIDlyZW0pIDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2Y3ZmJmYjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZvcmVpZ24tcGFnZS1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGNsYW1wKDEycmVtLCAyNHZ3LCAyMHJlbSk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZm9yZWlnbi1wYWdlLXBsYWNlaG9sZGVyX190aXRsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLCAjMWY5NWM4KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDIuNzVyZW0sIDUuMnZ3LCA1cmVtKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA4O1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICAgICAgfVxuIiwiQGltcG9ydCBcIi4uLy4uLy4uL21peGluc1wiO1xuXG4vKiBTdGF0aWMgbGVnYWN5IHJ1bGVzIG1pZ3JhdGVkIGZyb20gRmVub20uIER5bmFtaWMgOnJvb3QgcmVtYWlucyBpbiBiYXNlLnN0eWxlLnRwbC4gKi9cbi5oZWFkZXIge1xuICAgICAgICB6LWluZGV4OiAzMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluayk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1nZW50aW1lZC1saW5lKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDI1LCAxMzksIDE5NiwgMC4wOCk7XG4gICAgfVxuXG4gICAgLmhlYWRlciAubG9nbyB7XG4gICAgICAgIC0tbG9nby1nYXA6IDAuODc1cmVtO1xuICAgICAgICAtLWxvZ28tdGV4dC1jb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLW11dGVkKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmhlYWRlci1wcmltYXJ5X19jbHVzdGVyX2xlZnQge1xuICAgICAgICBmbGV4OiAwIDEgMzByZW07XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuaGVhZGVyLXByaW1hcnlfX2NsdXN0ZXJfY2VudGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMCAxIDIxcmVtO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAwLjJyZW07XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNsYW1wKDIuMjVyZW0sIDR2dywgNHJlbSk7XG4gICAgfVxuXG4gICAgLmhlYWRlci1wcmltYXJ5X19jbHVzdGVyX2NlbnRlciAuaGVhZGVyLXByaW1hcnlfX2xpbmsge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmhlYWRlci1wcmltYXJ5X19jbHVzdGVyX3JpZ2h0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC43NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuaGVhZGVyLXByaW1hcnlfX2NsdXN0ZXJfcmlnaHQgLmhlYWRlci1wcmltYXJ5X19saW5rIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuaGVhZGVyLXByaW1hcnlfX2NsdXN0ZXJfcmlnaHQgLnNvY2lhbC1saXN0IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBnYXA6IDAuMzc1cmVtO1xuICAgIH1cblxuICAgIC5oZWFkZXItcHJpbWFyeV9fY2x1c3Rlcl9yaWdodCAuc29jaWFsLWxpc3Rfc21hbGwgLmJ1dHRvbi5idXR0b25fc29jaWFsIHtcbiAgICAgICAgLS1idXR0b24taWNvbi1zaXplOiAxLjI1cmVtO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMzAwcHgpIHtcbiAgICAgICAgLmhlYWRlciAubG9nb19fdGV4dCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE3cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlci1wcmltYXJ5X19jbHVzdGVyX2NlbnRlciB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxOXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExNjBweCkge1xuICAgICAgICAuaGVhZGVyLXByaW1hcnlfX2NsdXN0ZXJfY2VudGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGVyLXByaW1hcnlfX2NsdXN0ZXJfcmlnaHQgLnNvY2lhbC1saXN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmhlYWRlci1wcmltYXJ5X19jbHVzdGVyX3JpZ2h0IC5zb2NpYWwtbGlzdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvZ29fX3R5cGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC4wNXJlbTtcbiAgICAgICAgbWluLXdpZHRoOiA4LjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1ibHVlKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAubG9nb19fdHlwZS1tYWluIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1ibHVlKTtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjI1cmVtLCAxLjFyZW0gKyAwLjMydncsIDEuNjI1cmVtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgfVxuXG4gICAgLmxvZ29fX3R5cGUtYWNjZW50IHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWdyZWVuKTtcbiAgICB9XG5cbiAgICAubG9nb19fdHlwZS1zdWIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluayk7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMC42MnJlbSwgMC41NnJlbSArIDAuMTR2dywgMC43NXJlbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjE4ZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLmhlYWRlciAubG9nb19fdGV4dCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmstbXV0ZWQpO1xuICAgICAgICBtYXgtd2lkdGg6IGNsYW1wKDE1cmVtLCAxOHZ3LCAxN3JlbSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgICAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gICAgfVxuXG5cbiAgICAuaGVhZGVyIC5uYXYge1xuICAgICAgICAtLW5hdi1saW5rLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmspO1xuICAgICAgICAtLW5hdi1saW5rLWNvbG9yLWhvdmVyOiB2YXIoLS1nZW50aW1lZC1ibHVlKTtcbiAgICAgICAgLS1uYXYtaWNvbi1jb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLW11dGVkKTtcbiAgICAgICAgLS1uYXYtaWNvbi1jb2xvci1ob3ZlcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4pO1xuICAgICAgICAtLW5hdi1zdWItbGlzdC1iYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAtLW5hdi1zdWItbGluay1jb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKTtcbiAgICAgICAgLS1uYXYtc3ViLWxpbmstY29sb3ItaG92ZXI6IHZhcigtLWdlbnRpbWVkLWJsdWUpO1xuICAgICAgICAtLW5hdi1zdWItbGluay1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyOiB2YXIoLS1nZW50aW1lZC1ibHVlLXNvZnQpO1xuICAgICAgICAtLW5hdi1zdWItaWNvbi1jb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLW11dGVkKTtcbiAgICAgICAgLS1uYXYtc3ViLWljb24tY29sb3ItaG92ZXI6IHZhcigtLWdlbnRpbWVkLWdyZWVuKTtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5uYXZfX2xpc3QgLm5hdl9fbGlzdCB7XG4gICAgICAgIHotaW5kZXg6IDQwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1nZW50aW1lZC1saW5lKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxOHB4IDQ0cHggcmdiYSgyNSwgMTM5LCAxOTYsIDAuMTQpO1xuICAgIH1cblxuICAgIC5oZWFkZXItcHJpbWFyeV9fbGluayxcbiAgICAuaGVhZGVyLXNlY29uZGFyeV9fYnV0dG9uLmJ1dHRvbi5idXR0b25fc2Vjb25kYXJ5LFxuICAgIC5tb2JpbGUtbWVudV9fYnV0dG9uLmJ1dHRvbi5idXR0b25fc2Vjb25kYXJ5IHtcbiAgICAgICAgLS1idXR0b24tdGV4dC1jb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKTtcbiAgICAgICAgLS1idXR0b24tdGV4dC1jb2xvci1ob3ZlcjogI0ZGRkZGRjtcbiAgICAgICAgLS1idXR0b24taWNvbi1jb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZSk7XG4gICAgICAgIC0tYnV0dG9uLWljb24tY29sb3ItaG92ZXI6ICNGRkZGRkY7XG4gICAgICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvcjogcmdiYSgyNSwgMTM5LCAxOTYsIDAuNDgpO1xuICAgICAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3ItaG92ZXI6IHZhcigtLWdlbnRpbWVkLWJsdWUpO1xuICAgICAgICAtLWJ1dHRvbi1iZy1jb2xvci1ob3ZlcjogdmFyKC0tZ2VudGltZWQtYmx1ZSk7XG4gICAgfVxuXG4gICAgLmJ1dHRvbjpub3QoLmJ1dHRvbl9zZWNvbmRhcnkpOm5vdCguYnV0dG9uX3RlcnRpYXJ5KTpub3QoLmJ1dHRvbl9zb2NpYWwpIHtcbiAgICAgICAgLS1idXR0b24tYmctY29sb3I6IHZhcigtLWdlbnRpbWVkLWJsdWUpO1xuICAgICAgICAtLWJ1dHRvbi1iZy1jb2xvci1ob3ZlcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4pO1xuICAgICAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yLWhvdmVyOiAjRkZGRkZGO1xuICAgICAgICAtLWJ1dHRvbi1pY29uLWNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAtLWJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyOiAjRkZGRkZGO1xuICAgIH1cblxuXG5cbiAgICAuaGVhZGVyLXByaW1hcnlfX2NsdXN0ZXJfcmlnaHQgLnNvY2lhbC1saXN0LnNvY2lhbC1saXN0X3NtYWxsIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuNXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjEyNXJlbTtcbiAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmhlYWRlci1wcmltYXJ5X19jbHVzdGVyX3JpZ2h0IC5zb2NpYWwtbGlzdF9zbWFsbCAuYnV0dG9uLmJ1dHRvbl9zb2NpYWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDIuNzVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAyLjc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMi43NXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiAyLjc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1idG4pICFpbXBvcnRhbnQ7XG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tYmctY29sb3IpICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE2MG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKSxcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMTYwbXMgZWFzZSxcbiAgICAgICAgICAgIG9wYWNpdHkgMTYwbXMgZWFzZTtcbiAgICB9XG5cbiAgICAuaGVhZGVyLXByaW1hcnlfX2NsdXN0ZXJfcmlnaHQgLnNvY2lhbC1saXN0X3NtYWxsIC5idXR0b24uYnV0dG9uX3NvY2lhbDpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICB9XG5cbiAgICAuaGVhZGVyLXByaW1hcnlfX2NsdXN0ZXJfcmlnaHQgLnNvY2lhbC1saXN0X3NtYWxsIC5idXR0b24uYnV0dG9uX3NvY2lhbDphY3RpdmUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTYpO1xuICAgIH1cblxuICAgIC5oZWFkZXItcHJpbWFyeV9fY2x1c3Rlcl9yaWdodCAuc29jaWFsLWxpc3Rfc21hbGwgLmJ1dHRvbi5idXR0b25fc29jaWFsIC5pY29uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEuMjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvciAhaW1wb3J0YW50O1xuICAgICAgICBzdHJva2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmhlYWRlci1wcmltYXJ5X19jbHVzdGVyX3JpZ2h0IC5zb2NpYWwtbGlzdF9zbWFsbCAuYnV0dG9uLmJ1dHRvbl9zb2NpYWxfd2hhdHNhcHAge1xuICAgICAgICAtLWJ1dHRvbi1iZy1jb2xvcjogIzI1RDM2NiAhaW1wb3J0YW50O1xuICAgICAgICAtLWJ1dHRvbi1iZy1jb2xvci1ob3ZlcjogIzIwQzc2MyAhaW1wb3J0YW50O1xuICAgICAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3I6ICMyNUQzNjYgIWltcG9ydGFudDtcbiAgICAgICAgLS1idXR0b24tYm9yZGVyLWNvbG9yLWhvdmVyOiAjMjBDNzYzICFpbXBvcnRhbnQ7XG4gICAgICAgIC0tYnV0dG9uLWljb24tY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAgICAgLS1idXR0b24taWNvbi1jb2xvci1ob3ZlcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjVEMzY2ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmhlYWRlci1wcmltYXJ5X19jbHVzdGVyX3JpZ2h0IC5zb2NpYWwtbGlzdF9zbWFsbCAuYnV0dG9uLmJ1dHRvbl9zb2NpYWxfd2hhdHNhcHA6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjBDNzYzICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmhlYWRlci1wcmltYXJ5X19jbHVzdGVyX3JpZ2h0IC5zb2NpYWwtbGlzdF9zbWFsbCAuYnV0dG9uLmJ1dHRvbl9zb2NpYWxfdGVsZWdyYW0ge1xuICAgICAgICAtLWJ1dHRvbi1iZy1jb2xvcjogIzIyOUVEOSAhaW1wb3J0YW50O1xuICAgICAgICAtLWJ1dHRvbi1iZy1jb2xvci1ob3ZlcjogIzFDOTVDRSAhaW1wb3J0YW50O1xuICAgICAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3I6ICMyMjlFRDkgIWltcG9ydGFudDtcbiAgICAgICAgLS1idXR0b24tYm9yZGVyLWNvbG9yLWhvdmVyOiAjMUM5NUNFICFpbXBvcnRhbnQ7XG4gICAgICAgIC0tYnV0dG9uLWljb24tY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAgICAgLS1idXR0b24taWNvbi1jb2xvci1ob3ZlcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjI5RUQ5ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmhlYWRlci1wcmltYXJ5X19jbHVzdGVyX3JpZ2h0IC5zb2NpYWwtbGlzdF9zbWFsbCAuYnV0dG9uLmJ1dHRvbl9zb2NpYWxfdGVsZWdyYW06aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUM5NUNFICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJ1dHRvbi5idXR0b25fc29jaWFsX3doYXRzYXBwIHtcbiAgICAgICAgLS1idXR0b24tYmctY29sb3I6ICMyNUQzNjY7XG4gICAgICAgIC0tYnV0dG9uLWJnLWNvbG9yLWhvdmVyOiAjMjBDNzYzO1xuICAgICAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3I6ICMyNUQzNjY7XG4gICAgICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvci1ob3ZlcjogIzIwQzc2MztcbiAgICAgICAgLS1idXR0b24taWNvbi1jb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgLS1idXR0b24taWNvbi1jb2xvci1ob3ZlcjogI0ZGRkZGRjtcbiAgICB9XG5cbiAgICAuYnV0dG9uLmJ1dHRvbl9zb2NpYWxfdGVsZWdyYW0ge1xuICAgICAgICAtLWJ1dHRvbi1iZy1jb2xvcjogIzIyOUVEOTtcbiAgICAgICAgLS1idXR0b24tYmctY29sb3ItaG92ZXI6ICMxQzk1Q0U7XG4gICAgICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvcjogIzIyOUVEOTtcbiAgICAgICAgLS1idXR0b24tYm9yZGVyLWNvbG9yLWhvdmVyOiAjMUM5NUNFO1xuICAgICAgICAtLWJ1dHRvbi1pY29uLWNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAtLWJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyOiAjRkZGRkZGO1xuICAgIH1cblxuICAgIC5idXR0b24uYnV0dG9uX3NlY29uZGFyeSB7XG4gICAgICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvcjogcmdiYSgyNSwgMTM5LCAxOTYsIDAuNDgpO1xuICAgICAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3ItaG92ZXI6IHZhcigtLWdlbnRpbWVkLWJsdWUpO1xuICAgICAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmspO1xuICAgICAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yLWhvdmVyOiB2YXIoLS1nZW50aW1lZC1ibHVlKTtcbiAgICAgICAgLS1idXR0b24taWNvbi1jb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZSk7XG4gICAgICAgIC0tYnV0dG9uLWljb24tY29sb3ItaG92ZXI6IHZhcigtLWdlbnRpbWVkLWdyZWVuKTtcbiAgICB9XG5cbiAgICAuZnJvbnQtYmFubmVyIC5yZWd1bGFyLWZvcm0sXG4gICAgLmN0YS1zZWN0aW9uLXQzIC5yZWd1bGFyLWZvcm0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAwIHJnYmEoMjUsIDEzOSwgMTk2LCAwLjEwKSwgMCAxMnB4IDI2cHggcmdiYSgxMCwgMTAsIDEwLCAwLjA2KTtcbiAgICB9XG5cbiAgICAubWFnaWMtY29va2llLFxuICAgIC5tYWdpYy1jb29raWUubWFnaWMtY29va2llX2xlZnQge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBib3R0b206IG1heCgxcmVtLCBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHotaW5kZXg6IDIyMDtcbiAgICAgICAgd2lkdGg6IG1pbihjYWxjKDEwMHZ3IC0gMnJlbSksIDk0MHB4KTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcGFkZGluZzogMS4xMjVyZW0gMy41cmVtIDEuMTI1cmVtIDEuMzc1cmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmspO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTYpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1LCAxMzksIDE5NiwgMC4xOCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDhweCByZ2JhKDI1LCAxMzksIDE5NiwgMC4wOCksIDAgMXB4IDJweCByZ2JhKDEwLCAxMCwgMTAsIDAuMDgpO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCkgc2F0dXJhdGUoMS4wOCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgIH1cblxuICAgIC5tYWdpYy1jb29raWUgLm1hZ2ljLWNvb2tpZV9fY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZ2FwOiAxLjI1cmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAubWFnaWMtY29va2llIC5tYWdpYy1jb29raWVfX2NvbnRlbnQgPiBkaXYge1xuICAgICAgICBtYXgtd2lkdGg6IDc4Y2g7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmstbXV0ZWQpO1xuICAgICAgICB0ZXh0LXdyYXA6IHByZXR0eTtcbiAgICB9XG5cbiAgICAubWFnaWMtY29va2llX19saW5rIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWJsdWUpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1LCAxMzksIDE5NiwgMC4zMik7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDE4MG1zIGVhc2UsIGJvcmRlci1jb2xvciAxODBtcyBlYXNlO1xuICAgIH1cblxuICAgIC5tYWdpYy1jb29raWVfX2xpbms6aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4pO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDQ2LCAxNzMsIDExMSwgMC40Mik7XG4gICAgfVxuXG4gICAgLm1hZ2ljLWNvb2tpZSAuYnV0dG9uIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIG1pbi13aWR0aDogNy4yNXJlbTtcbiAgICAgICAgbWluLWhlaWdodDogMi43NXJlbTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAubWFnaWMtY29va2llIC5tYWdpYy1jb29raWVfX2Nsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDAuNzVyZW07XG4gICAgICAgIHJpZ2h0OiAwLjg3NXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEuNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3BhY2l0eTogMC43MjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxODBtcyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDE4MG1zIGVhc2U7XG4gICAgfVxuXG4gICAgLm1hZ2ljLWNvb2tpZSAubWFnaWMtY29va2llX19jbG9zZTpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjUsIDEzOSwgMTk2LCAwLjA4KTtcbiAgICB9XG5cbiAgICAubWFnaWMtY29va2llIC5tYWdpYy1jb29raWVfX2Nsb3NlOjpiZWZvcmUsXG4gICAgLm1hZ2ljLWNvb2tpZSAubWFnaWMtY29va2llX19jbG9zZTo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMC43NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLm1hZ2ljLWNvb2tpZSxcbiAgICAgICAgLm1hZ2ljLWNvb2tpZS5tYWdpYy1jb29raWVfbGVmdCB7XG4gICAgICAgICAgICB3aWR0aDogbWluKGNhbGMoMTAwdncgLSAxLjVyZW0pLCA0MnJlbSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjEyNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyLjI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hZ2ljLWNvb2tpZSAubWFnaWMtY29va2llX19jb250ZW50IHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYWdpYy1jb29raWUgLm1hZ2ljLWNvb2tpZV9fY29udGVudCA+IGRpdiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubWFnaWMtY29va2llIC5idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQzMHB4KSB7XG4gICAgICAgIC5tYWdpYy1jb29raWUsXG4gICAgICAgIC5tYWdpYy1jb29raWUubWFnaWMtY29va2llX2xlZnQge1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgIHBhZGRpbmc6IDIuMjVyZW0gMXJlbSAxcmVtO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweCAxMnB4IDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYWdpYy1jb29raWUgLmJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWdlbnRpbWVkLWxpbmUpO1xuICAgIH1cblxuICAgIC5mb290ZXIgYTpub3QoLmJ1dHRvbik6bm90KC5mb290ZXJfX21hZGUtYnkpIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLmZvb3RlciAuYnV0dG9uIHtcbiAgICAgICAgLS1idXR0b24tdGV4dC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgLS1idXR0b24tdGV4dC1jb2xvci1ob3ZlcjogI0ZGRkZGRjtcbiAgICAgICAgLS1idXR0b24taWNvbi1jb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgLS1idXR0b24taWNvbi1jb2xvci1ob3ZlcjogI0ZGRkZGRjtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTI4MHB4KSB7XG4gICAgICAgIC5oZWFkZXIgLmxvZ28ge1xuICAgICAgICAgICAgLS1sb2dvLWdhcDogMC44NzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGVyIC5sb2dvX190ZXh0IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2xhbXAoMTRyZW0sIDIydncsIDE4cmVtKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLmhlYWRlciAubG9nb19fdGV4dCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlci1wcmltYXJ5X19lbWFpbCxcbiAgICAgICAgLmhlYWRlci1wcmltYXJ5X19hZGRyZXNzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmhlYWRlci1wcmltYXJ5X19jb250YWN0cyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzMHB4KSB7XG4gICAgICAgIC5sb2dvX190eXBlIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogOC43NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2dvX190eXBlLW1haW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvZ29fX3R5cGUtc3ViIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWJvdXQtc2VjdGlvbi10MiAuYWR2YW50YWdlcy1hYm91dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlOWYxZjY7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzIgLmFib3V0LXNlY3Rpb25fX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICAgIGdhcDogY2xhbXAoMXJlbSwgMS42dncsIDEuNXJlbSk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgIC5hYm91dC1zZWN0aW9uLXQyIC5hZHZhbnRhZ2VzLWFib3V0IHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiBjbGFtcCgxLjVyZW0sIDEuOXZ3LCAycmVtKSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTRweCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTlmMWY2O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGdhcDogY2xhbXAoMS41cmVtLCAydncsIDJyZW0pO1xuICAgIH1cblxuICAgIC5hYm91dC1zZWN0aW9uLXQyIC5hZHZhbnRhZ2VzLWFib3V0OjpiZWZvcmUsXG4gICAgLmFib3V0LXNlY3Rpb24tdDIgLmFkdmFudGFnZXMtYWJvdXQ6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5hYm91dC1zZWN0aW9uLXQyIC5hZHZhbnRhZ2VzLWFib3V0X190aXRsZSxcbiAgICAuYWJvdXQtc2VjdGlvbi10MiAuYWR2YW50YWdlcy1hYm91dF9fZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC5hYm91dC1zZWN0aW9uLXQyIC5hZHZhbnRhZ2VzLWFib3V0X190aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgLmFib3V0LXNlY3Rpb24tdDIgLmFkdmFudGFnZXMtYWJvdXRfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzIgLmFib3V0LXNlY3Rpb25fX2xpc3Qge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgICAgICAgICAgZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICByb3ctZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfMiAuYWJvdXQtc2VjdGlvbl9fbGlzdCA+IC5hZHZhbnRhZ2VzLWFib3V0ICsgLmFkdmFudGFnZXMtYWJvdXQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU2MHB4KSB7XG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18yIC5hYm91dC1zZWN0aW9uX19saXN0IHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgICAgZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICByb3ctZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfMiAuYWJvdXQtc2VjdGlvbl9fbGlzdCA+IC5hZHZhbnRhZ2VzLWFib3V0ICsgLmFkdmFudGFnZXMtYWJvdXQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuc2VjdGlvbjpub3QoLmN0YS1zZWN0aW9uLXQzKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBjbGFtcCg1cmVtLCA3dncsIDcuNXJlbSk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjbGFtcCg1cmVtLCA3dncsIDcuNXJlbSk7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzM6bm90KC5jdGEtc2VjdGlvbi10MykgPiAuY29udGFpbmVyIHtcbiAgICAgICAgcm93LWdhcDogY2xhbXAoMnJlbSwgM3Z3LCAzLjI1cmVtKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMzpub3QoLmN0YS1zZWN0aW9uLXQzKSAuc2VjdGlvbl9faGVhZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzM6bm90KC5jdGEtc2VjdGlvbi10MykgLnNlY3Rpb25fX2NvbnRlbnQsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzM6bm90KC5jdGEtc2VjdGlvbi10MykgLnN3aXBlciB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zIC5zd2lwZXItd3JhcHBlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zIC5hZHZhbnRhZ2VzLWNhcmQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzMHB4KSB7XG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLnNlY3Rpb246bm90KC5jdGEtc2VjdGlvbi10Mykge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDRyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zOm5vdCguY3RhLXNlY3Rpb24tdDMpID4gLmNvbnRhaW5lciB7XG4gICAgICAgICAgICByb3ctZ2FwOiAxLjc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzQgLnNlcnZpY2VzLWNhcmQge1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIyMG1zIGVhc2UsIGJvcmRlci1jb2xvciAyMjBtcyBlYXNlLCB0cmFuc2Zvcm0gMjIwbXMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja180IC5zZXJ2aWNlcy1jYXJkOmlzKDpob3ZlciwgOmZvY3VzLXdpdGhpbiksXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLmF1ZGllbmNlLXJvdXRlLWNhcmQ6aXMoOmhvdmVyLCA6Zm9jdXMtd2l0aGluKSB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNSAuYXVkaWVuY2Utcm91dGUtY2FyZDpob3ZlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuMjVyZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLmF1ZGllbmNlLXJvdXRlLWNhcmQ6aG92ZXIgLmF1ZGllbmNlLXJvdXRlLWNhcmRfX2ltYWdlIGltZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDQ1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja180IC5zZXJ2aWNlcy1jYXJkOmlzKDpob3ZlciwgOmZvY3VzLXdpdGhpbikge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNSwgMTM5LCAxOTYsIDAuMzYpO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCA+IC5jb250YWluZXIge1xuICAgICAgICByb3ctZ2FwOiBjbGFtcCgxLjVyZW0sIDJ2dywgMnJlbSk7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnNlY3Rpb25fX2hlYWQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zZWN0aW9uX19jb250ZW50LFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXIge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc2VjdGlvbl9fY29udGVudCB7XG4gICAgICAgIG1hcmdpbi10b3A6IGNsYW1wKDJyZW0sIDN2dywgMy41cmVtKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgICAgZ2FwOiBjbGFtcCgxcmVtLCAxLjJ2dywgMS41cmVtKTtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGUge1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLmFkdmFudGFnZXMtY2FyZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGNsYW1wKDE4LjI1cmVtLCAyMXZ3LCAyMi4yNXJlbSk7XG4gICAgICAgIHBhZGRpbmc6IGNsYW1wKDEuNXJlbSwgMS41NXZ3LCAycmVtKTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0YzRjVGODtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBpc29sYXRpb246IGlzb2xhdGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgYW5pbWF0aW9uOiBnZW50aW1lZC10cnVzdC1jYXJkLWluIDUyMG1zIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpIGJvdGg7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjQwbXMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSksIHRyYW5zZm9ybSAyNDBtcyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuYWR2YW50YWdlcy1jYXJkOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgODglIDE2JSwgcmdiYSgyNSwgMTM5LCAxOTYsIDAuMTMpLCB0cmFuc3BhcmVudCAyOCUpLFxuICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ4KSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA0NiUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAuNjI1cmVtLCAtMC42MjVyZW0sIDApIHNjYWxlKDAuOTg1KTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyNjBtcyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKSwgdHJhbnNmb3JtIDM0MG1zIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5hZHZhbnRhZ2VzLWNhcmQ6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBjbGFtcCgxLjVyZW0sIDEuNTV2dywgMnJlbSk7XG4gICAgICAgIGxlZnQ6IGNsYW1wKDEuNXJlbSwgMS41NXZ3LCAycmVtKTtcbiAgICAgICAgY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC4zOCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDEpIC5hZHZhbnRhZ2VzLWNhcmQ6OmJlZm9yZSB7IGNvbnRlbnQ6ICcwMSc7IH1cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgyKSAuYWR2YW50YWdlcy1jYXJkOjpiZWZvcmUgeyBjb250ZW50OiAnMDInOyB9XG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLmFkdmFudGFnZXMtY2FyZDo6YmVmb3JlIHsgY29udGVudDogJzAzJzsgfVxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDQpIC5hZHZhbnRhZ2VzLWNhcmQ6OmJlZm9yZSB7IGNvbnRlbnQ6ICcwNCc7IH1cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuYWR2YW50YWdlcy1jYXJkOjpiZWZvcmUgeyBjb250ZW50OiAnMDUnOyB9XG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLmFkdmFudGFnZXMtY2FyZDo6YmVmb3JlIHsgY29udGVudDogJzA2JzsgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLmFkdmFudGFnZXMtY2FyZCAuaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBjbGFtcCgxLjM3NXJlbSwgMS40NXZ3LCAxLjg3NXJlbSk7XG4gICAgICAgIHJpZ2h0OiBjbGFtcCgxLjVyZW0sIDEuNTV2dywgMnJlbSk7XG4gICAgICAgIHdpZHRoOiAyLjEyNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjEyNXJlbTtcbiAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI0MG1zIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpLCBvcGFjaXR5IDE4MG1zIGVhc2UsIGZpbHRlciAyNDBtcyBlYXNlO1xuICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDEpIC5hZHZhbnRhZ2VzLWNhcmQgeyBhbmltYXRpb24tZGVsYXk6IDQwbXM7IH1cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgyKSAuYWR2YW50YWdlcy1jYXJkIHsgYW5pbWF0aW9uLWRlbGF5OiA5MG1zOyB9XG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLmFkdmFudGFnZXMtY2FyZCB7IGFuaW1hdGlvbi1kZWxheTogMTQwbXM7IH1cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg0KSAuYWR2YW50YWdlcy1jYXJkIHsgYW5pbWF0aW9uLWRlbGF5OiAxOTBtczsgfVxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDUpIC5hZHZhbnRhZ2VzLWNhcmQgeyBhbmltYXRpb24tZGVsYXk6IDI0MG1zOyB9XG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLmFkdmFudGFnZXMtY2FyZCB7IGFuaW1hdGlvbi1kZWxheTogMjkwbXM7IH1cblxuICAgIEBrZXlmcmFtZXMgZ2VudGltZWQtdHJ1c3QtY2FyZC1pbiB7XG4gICAgICAgIGZyb20ge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIGZpbHRlcjogYmx1cigwLjM3NXJlbSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC42MjVyZW0pO1xuICAgICAgICB9XG4gICAgICAgIHRvIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBmaWx0ZXI6IGJsdXIoMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5hZHZhbnRhZ2VzLWNhcmQ6aXMoOmhvdmVyLCA6Zm9jdXMtd2l0aGluKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuMTI1cmVtKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLmFkdmFudGFnZXMtY2FyZDppcyg6aG92ZXIsIDpmb2N1cy13aXRoaW4pOjphZnRlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5hZHZhbnRhZ2VzLWNhcmQ6aXMoOmhvdmVyLCA6Zm9jdXMtd2l0aGluKSAuaWNvbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMC4yNXJlbSwgLTAuMjVyZW0pIHNjYWxlKDEuMDQ1KSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLmFkdmFudGFnZXMtY2FyZDppcyg6aG92ZXIsIDpmb2N1cy13aXRoaW4pIC5hZHZhbnRhZ2VzLWNhcmRfX2NvbnRlbnQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjEyNXJlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuYWR2YW50YWdlcy1jYXJkX19jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBnYXA6IGNsYW1wKDAuODc1cmVtLCAwLjl2dywgMS4xMjVyZW0pO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNDBtcyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuYWR2YW50YWdlcy1jYXJkX190aXRsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDI1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuYWR2YW50YWdlcy1jYXJkX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDI1cmVtO1xuICAgICAgICBjb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjcyKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuYWR2YW50YWdlcy1jYXJkLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5hZHZhbnRhZ2VzLWNhcmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1ibHVlKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuYWR2YW50YWdlcy1jYXJkOjphZnRlcixcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuYWR2YW50YWdlcy1jYXJkOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDg4JSAxNiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNiksIHRyYW5zcGFyZW50IDMwJSksXG4gICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDQ4JSk7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLmFkdmFudGFnZXMtY2FyZDo6YmVmb3JlLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5hZHZhbnRhZ2VzLWNhcmQ6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjIpO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDEpIC5hZHZhbnRhZ2VzLWNhcmQgLmljb24sXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLmFkdmFudGFnZXMtY2FyZCAuaWNvbiB7XG4gICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLmFkdmFudGFnZXMtY2FyZF9fdGl0bGUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLmFkdmFudGFnZXMtY2FyZF9fZGVzY3JpcHRpb24sXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLmFkdmFudGFnZXMtY2FyZF9fdGl0bGUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLmFkdmFudGFnZXMtY2FyZF9fZGVzY3JpcHRpb24ge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuYWR2YW50YWdlcy1jYXJkX19kZXNjcmlwdGlvbixcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuYWR2YW50YWdlcy1jYXJkX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIG9wYWNpdHk6IDAuODI7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMikgLmFkdmFudGFnZXMtY2FyZCxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg0KSAuYWR2YW50YWdlcy1jYXJkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4pO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDIpIC5hZHZhbnRhZ2VzLWNhcmQ6aXMoOmhvdmVyLCA6Zm9jdXMtd2l0aGluKSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg0KSAuYWR2YW50YWdlcy1jYXJkOmlzKDpob3ZlciwgOmZvY3VzLXdpdGhpbikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjc5RjY2O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDIpIC5hZHZhbnRhZ2VzLWNhcmQ6OmFmdGVyLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDQpIC5hZHZhbnRhZ2VzLWNhcmQ6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgODglIDE2JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIyKSwgdHJhbnNwYXJlbnQgMzAlKSxcbiAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNCksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNDglKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgyKSAuYWR2YW50YWdlcy1jYXJkOjpiZWZvcmUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNCkgLmFkdmFudGFnZXMtY2FyZDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42Mik7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMikgLmFkdmFudGFnZXMtY2FyZCAuaWNvbixcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg0KSAuYWR2YW50YWdlcy1jYXJkIC5pY29uIHtcbiAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgyKSAuYWR2YW50YWdlcy1jYXJkX190aXRsZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgyKSAuYWR2YW50YWdlcy1jYXJkX19kZXNjcmlwdGlvbixcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg0KSAuYWR2YW50YWdlcy1jYXJkX190aXRsZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg0KSAuYWR2YW50YWdlcy1jYXJkX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDIpIC5hZHZhbnRhZ2VzLWNhcmRfX2Rlc2NyaXB0aW9uLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDQpIC5hZHZhbnRhZ2VzLWNhcmRfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgb3BhY2l0eTogMC44MjtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuYWR2YW50YWdlcy1jYXJkLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDUpIC5hZHZhbnRhZ2VzLWNhcmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRThFREYzO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDMpIC5hZHZhbnRhZ2VzLWNhcmQ6aXMoOmhvdmVyLCA6Zm9jdXMtd2l0aGluKSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuYWR2YW50YWdlcy1jYXJkOmlzKDpob3ZlciwgOmZvY3VzLXdpdGhpbikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRURGM0Y4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTYwcHgpIHtcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLnN3aXBlci13cmFwcGVyIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzBweCkge1xuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfOCA+IC5jb250YWluZXIge1xuICAgICAgICAgICAgcm93LWdhcDogMS43NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5zd2lwZXItd3JhcHBlciB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgfVxuXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja184IC5hZHZhbnRhZ2VzLWNhcmQge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTQuNzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuYWR2YW50YWdlcy1jYXJkLFxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfOCAuYWR2YW50YWdlcy1jYXJkOjphZnRlcixcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLmFkdmFudGFnZXMtY2FyZCAuaWNvbixcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzggLmFkdmFudGFnZXMtY2FyZF9fY29udGVudCB7XG4gICAgICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja181LmFydGljbGUtc2VjdGlvbixcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNy5hcnRpY2xlLXNlY3Rpb24sXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzkuYXJ0aWNsZS1zZWN0aW9uIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19pbWFnZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNSAuYXJ0aWNsZS1zZWN0aW9uX19pbWFnZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19pbWFnZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOSAuYXJ0aWNsZS1zZWN0aW9uX19pbWFnZSB7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMS40MjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U4RURGMztcbiAgICAgICAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183LmFydGljbGUtc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjbGFtcCg1cmVtLCA3dncsIDcuNXJlbSk7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcuYXJ0aWNsZS1zZWN0aW9uID4gLmNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDI0cmVtLCAwLjg2ZnIpIG1pbm1heCgwLCAxZnIpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgICAgICAgXCJjb3N0LW1lZGlhIGNvc3QtdGl0bGVcIlxuICAgICAgICAgICAgXCJjb3N0LW1lZGlhIGNvc3QtaW50cm9cIlxuICAgICAgICAgICAgXCJjb3N0LW1lZGlhIGNvc3QtYnV0dG9uXCJcbiAgICAgICAgICAgIFwiY29zdC1wcmljZS10aXRsZSBjb3N0LXByaWNlLXRpdGxlXCJcbiAgICAgICAgICAgIFwiY29zdC1wcmljZXMgY29zdC1wcmljZXNcIlxuICAgICAgICAgICAgXCJjb3N0LW5vdGUgY29zdC1ub3RlXCI7XG4gICAgICAgIGNvbHVtbi1nYXA6IGNsYW1wKDNyZW0sIDUuNXZ3LCA1Ljc1cmVtKTtcbiAgICAgICAgcm93LWdhcDogY2xhbXAoMXJlbSwgMS43dncsIDEuNnJlbSk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNy5hcnRpY2xlLXNlY3Rpb24gLnNlY3Rpb25fX2NvbnRlbnQsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2NvbnRlbnQsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2hlYWQsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUge1xuICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19pbWFnZSB7XG4gICAgICAgIGdyaWQtYXJlYTogY29zdC1tZWRpYTtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxLjIyO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX190aXRsZSB7XG4gICAgICAgIGdyaWQtYXJlYTogY29zdC10aXRsZTtcbiAgICAgICAgYWxpZ24tc2VsZjogZW5kO1xuICAgICAgICBtYXgtd2lkdGg6IDUycmVtO1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBncmlkLWFyZWE6IGNvc3QtaW50cm87XG4gICAgICAgIG1heC13aWR0aDogNjhjaDtcbiAgICAgICAgbWFyZ2luOiBjYWxjKDgwcHggLSBjbGFtcCgxcmVtLCAxLjd2dywgMS42cmVtKSkgMCAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19idXR0b24tbGlzdCB7XG4gICAgICAgIGdyaWQtYXJlYTogY29zdC1idXR0b247XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzguYWR2YW50YWdlcy1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGNsYW1wKDMuNXJlbSwgNHZ3LCA0cmVtKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19pbWFnZSBpbWcsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLmFydGljbGUtc2VjdGlvbl9faW1hZ2UgaW1nLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX2ltYWdlIGltZyxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOSAuYXJ0aWNsZS1zZWN0aW9uX19pbWFnZSBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAxKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUyMG1zIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja181IC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOSAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2NWNoO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+ICosXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+ICoge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfOSAuYXJ0aWNsZS1zZWN0aW9uX19jb250ZW50IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzkgLmFydGljbGUtc2VjdGlvbl9faGVhZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjbGFtcCgxLjVyZW0sIDIuNHZ3LCAyLjVyZW0pO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja185IC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWF4LXdpZHRoOiA2NWNoO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja185IC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgPiAqIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzkgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSBwIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSBwOmZpcnN0LWNoaWxkLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgcDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSBoMyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuMjVlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluayk7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSBoMzpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSBwOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBjb3N0LXByaWNlLXRpdGxlO1xuICAgICAgICBtYXJnaW46IGNsYW1wKDEuNXJlbSwgMi4ydncsIDIuMjVyZW0pIDAgMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluayk7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS41cmVtLCAxLjE2cmVtICsgMC45dncsIDIuMjVyZW0pO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSBwOm50aC1vZi10eXBlKDIpIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSB1bCB7XG4gICAgICAgIGdyaWQtYXJlYTogY29zdC1wcmljZXM7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgICAgZ2FwOiBjbGFtcCgwLjc1cmVtLCAxdncsIDFyZW0pO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogMTAuNzVyZW07XG4gICAgICAgIHBhZGRpbmc6IGNsYW1wKDEuMTVyZW0sIDEuNDV2dywgMS41cmVtKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IGNsYW1wKDAuNzVyZW0sIDF2dywgMXJlbSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmspO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRThGMUY2O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIGxpOm50aC1jaGlsZCgxKSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIGxpOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1ibHVlKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIGxpIHN0cm9uZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKTtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxcmVtLCAwLjlyZW0gKyAwLjI1dncsIDEuMTVyZW0pO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIGxpOm50aC1jaGlsZCgxKSBzdHJvbmcsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSBsaTpudGgtY2hpbGQoMykgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSBsaTo6YmVmb3JlLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgbGk6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBjb3N0LW5vdGU7XG4gICAgICAgIG1heC13aWR0aDogODJjaDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLW11dGVkKTtcbiAgICB9XG5cblxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUuYXJ0aWNsZS1zZWN0aW9uLXQyID4gLmNvbnRhaW5lciB7XG4gICAgICAgIHJvdy1nYXA6IGNsYW1wKDEuNzVyZW0sIDIuNXZ3LCAyLjVyZW0pO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja181IC5zZWN0aW9uX19oZWFkIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNSAuc2VjdGlvbl9fdGV4dCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tZ3JpZC1jb2x1bW4tZ2FwKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNSAuc2VjdGlvbl9fdGl0bGUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLnNlY3Rpb25fX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja181IC5zZWN0aW9uX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmstbXV0ZWQpO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIHRleHQtd3JhcDogcHJldHR5O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja181IC5hcnRpY2xlLXNlY3Rpb24tdDJfX2FydGljbGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBtYXJnaW4tdG9wOiBjbGFtcCgycmVtLCAzdncsIDMuNXJlbSk7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLmF1ZGllbmNlLXJvdXRlcyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgICAgZ2FwOiBjbGFtcCgxcmVtLCAxLjR2dywgMS41cmVtKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLmF1ZGllbmNlLXJvdXRlLWNhcmQge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjNGNUY4O1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjIwbXMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDIyMG1zIGVhc2U7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLmF1ZGllbmNlLXJvdXRlLWNhcmQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U4RURGMztcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNSAuYXVkaWVuY2Utcm91dGUtY2FyZF9faW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMTYgLyA3LjU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOEVERjM7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLmF1ZGllbmNlLXJvdXRlLWNhcmRfX2ltYWdlIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA0MjBtcyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSk7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLmF1ZGllbmNlLXJvdXRlLWNhcmRfX2JvZHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IGNsYW1wKDAuODVyZW0sIDF2dywgMS4xcmVtKTtcbiAgICAgICAgcGFkZGluZzogY2xhbXAoMS4yNXJlbSwgMS42dncsIDEuNzVyZW0pO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja181IC5hdWRpZW5jZS1yb3V0ZS1jYXJkX19leWVicm93IHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWJsdWUpO1xuICAgICAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLmF1ZGllbmNlLXJvdXRlLWNhcmRfX3RpdGxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKTtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjQ1cmVtLCAxLjU1dncsIDEuNzVyZW0pO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xODtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNSAuYXVkaWVuY2Utcm91dGUtY2FyZF9fdGV4dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluay1tdXRlZCk7XG4gICAgICAgIGZvbnQ6IHZhcigtLWZvbnQtYm9keS1NLXIpO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja181IC5hdWRpZW5jZS1yb3V0ZS1jYXJkX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC41NXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWJsdWUpO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja181IC5hdWRpZW5jZS1yb3V0ZS1jYXJkX19saW5rOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICfihpcnO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICAuY3RhLXNlY3Rpb24tdDMge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5jdGEtc2VjdGlvbi10MzpoYXMoLnNlY3Rpb25fX2JhY2tncm91bmQpIHtcbiAgICAgICAgLS1sb2NhbC1vZmZzZXQtdG9wOiBjbGFtcCgzcmVtLCA1dncsIDVyZW0pO1xuICAgIH1cblxuICAgIC5jdGEtc2VjdGlvbi10MyAuY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5jdGEtc2VjdGlvbi10MyAuc2VjdGlvbl9fYmFja2dyb3VuZCB7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuXG4gICAgLmN0YS1zZWN0aW9uLXQzIC5zZWN0aW9uX19iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5jdGEtc2VjdGlvbi10MyAuc2VjdGlvbl9fYmFja2dyb3VuZCBpbWcge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgICAgIG1peC1ibGVuZC1tb2RlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLmN0YS1zZWN0aW9uLXQzIC5zZWN0aW9uX19jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFydGljbGUtc2VjdGlvbl9faW1hZ2U6aG92ZXIgaW1nLFxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNSAuYXJ0aWNsZS1zZWN0aW9uX19pbWFnZTpob3ZlciBpbWcsXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX2ltYWdlOmhvdmVyIGltZyxcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzkgLmFydGljbGUtc2VjdGlvbl9faW1hZ2U6aG92ZXIgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNDUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLnNlY3Rpb25fX3RleHQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IDA7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja181IC5zZWN0aW9uX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLmF1ZGllbmNlLXJvdXRlcyB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgfVxuXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja181IC5hdWRpZW5jZS1yb3V0ZS1jYXJkX19pbWFnZSB7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOC41O1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcuYXJ0aWNsZS1zZWN0aW9uID4gLmNvbnRhaW5lciB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICAgICAgICAgXCJjb3N0LXRpdGxlXCJcbiAgICAgICAgICAgICAgICBcImNvc3QtaW50cm9cIlxuICAgICAgICAgICAgICAgIFwiY29zdC1tZWRpYVwiXG4gICAgICAgICAgICAgICAgXCJjb3N0LWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgXCJjb3N0LXByaWNlLXRpdGxlXCJcbiAgICAgICAgICAgICAgICBcImNvc3QtcHJpY2VzXCJcbiAgICAgICAgICAgICAgICBcImNvc3Qtbm90ZVwiO1xuICAgICAgICAgICAgcm93LWdhcDogMS4yNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX2ltYWdlIHtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTYgLyA5O1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9fdGl0bGUge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHVsIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFydGljbGUtc2VjdGlvbl9faW1hZ2UgaW1nLFxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNSAuYXJ0aWNsZS1zZWN0aW9uX19pbWFnZSBpbWcsXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX2ltYWdlIGltZyxcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzkgLmFydGljbGUtc2VjdGlvbl9faW1hZ2UgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiB7XG4gICAgICAgIC0tc3RhZ2UtY2FyZC1iZzogI0YzRjVGODtcbiAgICAgICAgLS1zdGFnZS1jYXJkLWJnLWFsdDogI0U4RURGMztcbiAgICAgICAgLS1zdGFnZS1jYXJkLWJnLWFjdGl2ZTogdmFyKC0tZ2VudGltZWQtYmx1ZSk7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgPiAuY29udGFpbmVyIHtcbiAgICAgICAgcm93LWdhcDogY2xhbXAoMS41cmVtLCAydncsIDJyZW0pO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zZWN0aW9uX19oZWFkIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnNlY3Rpb25fX3RleHQge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWdyaWQtY29sdW1uLWdhcCk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnNlY3Rpb25fX3RpdGxlLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zZWN0aW9uX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc2VjdGlvbl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLW11dGVkKTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc2VjdGlvbl9fY29udGVudCxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnNlY3Rpb25fX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiBjbGFtcCgycmVtLCAzdncsIDMuNXJlbSk7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICAgIGdhcDogY2xhbXAoMXJlbSwgMS4ydncsIDEuNXJlbSk7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlIHtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zdGFnZS1jYXJkLXQ1IHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBtaW4taGVpZ2h0OiBjbGFtcCgxMy41cmVtLCAxNXZ3LCAxNi41cmVtKTtcbiAgICAgICAgcGFkZGluZzogY2xhbXAoMS4zNXJlbSwgMS41dncsIDEuOHJlbSk7XG4gICAgICAgIGdhcDogY2xhbXAoMXJlbSwgMS4ydncsIDEuMzVyZW0pO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFnZS1jYXJkLWJnKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIyMG1zIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKSwgYmFja2dyb3VuZC1jb2xvciAyMjBtcyBlYXNlO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDJuKSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YWdlLWNhcmQtYmctYWx0KTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuc3RhZ2UtY2FyZC10NSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YWdlLWNhcmQtYmctYWN0aXZlKTtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLnN0YWdlLWNhcmQtdDUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNSkgLnN0YWdlLWNhcmQtdDUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1ncmVlbik7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDEpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDMpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDUpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNSkgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN0YWdlLWNhcmQtdDVfX2JvZHkge1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3RhZ2UtY2FyZC10NV9faW5kZXgge1xuICAgICAgICBjb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjU0KTtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgyLjc1cmVtLCA0dncsIDQuNzVyZW0pO1xuICAgICAgICBsaW5lLWhlaWdodDogMC45O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zdGFnZS1jYXJkLXQ1X190aXRsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmspO1xuICAgICAgICB0ZXh0LXdyYXA6IHByZXR0eTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24ge1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluay1tdXRlZCk7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zdGFnZS1jYXJkLXQ1X19kZXNjcmlwdGlvbiAudGV4dCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zdGFnZS1jYXJkLXQ1OmhvdmVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4yNXJlbSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGOUZCO1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDU6aG92ZXIsXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5zdGFnZS1jYXJkLXQ1OmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxRjhCQzM7XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuc3RhZ2UtY2FyZC10NTpob3ZlcixcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNSkgLnN0YWdlLWNhcmQtdDU6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI3OUU2NDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTYwcHgpIHtcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci13cmFwcGVyIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc2VjdGlvbl9fdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgY29sdW1uLWdhcDogMDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnNlY3Rpb25fX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMwcHgpIHtcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci13cmFwcGVyIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN0YWdlLWNhcmQtdDUge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTIuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zdGFnZS1jYXJkLXQ1IHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAucGFnZS1iYW5uZXIgfiAuYWJvdXQtc2VjdGlvbiAuc2VjdGlvbl9fY29udGVudCB7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgIH1cblxuICAgIC5wYWdlLWJhbm5lciB+IC5hYm91dC1zZWN0aW9uIC5hYm91dC1zZWN0aW9uX19saXN0IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgICAgICBnYXA6IGNsYW1wKDAuNzVyZW0sIDF2dywgMXJlbSk7XG4gICAgICAgIG1hcmdpbi10b3A6IGNsYW1wKDEuNXJlbSwgMnZ3LCAyLjI1cmVtKTtcbiAgICB9XG5cbiAgICAucGFnZS1iYW5uZXIgfiAuYWJvdXQtc2VjdGlvbiAuYWR2YW50YWdlcy1hYm91dCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDguNXJlbTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiBjbGFtcCgxcmVtLCAxLjF2dywgMS4yNXJlbSk7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGdhcDogMC44NzVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEY2Rjg7XG4gICAgfVxuXG4gICAgLnBhZ2UtYmFubmVyIH4gLmFib3V0LXNlY3Rpb24gLmFkdmFudGFnZXMtYWJvdXQ6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VBRjBGNTtcbiAgICB9XG5cbiAgICAucGFnZS1iYW5uZXIgfiAuYWJvdXQtc2VjdGlvbiAuYWR2YW50YWdlcy1hYm91dF9fdGl0bGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluayk7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS42NXJlbSwgMi4ydncsIDIuNHJlbSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjk2O1xuICAgIH1cblxuICAgIC5wYWdlLWJhbm5lciB+IC5hYm91dC1zZWN0aW9uIC5hZHZhbnRhZ2VzLWFib3V0X19kZXNjcmlwdGlvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLW11dGVkKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICB9XG5cbiAgICAucGFnZS1iYW5uZXIgfiAuYWJvdXQtc2VjdGlvbiAuYWJvdXQtc2VjdGlvbl9faW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IGNsYW1wKDI1cmVtLCA0NHZ3LCA0MnJlbSk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDQycmVtO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICB9XG5cbiAgICAucGFnZS1iYW5uZXIgfiAuYWJvdXQtc2VjdGlvbiAuYWJvdXQtc2VjdGlvbl9faW1hZ2UgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuXG4gICAgLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19pbWFnZSB7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMS41ODtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U4RURGMztcbiAgICAgICAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICAgIH1cblxuICAgIC5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9faW1hZ2UgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MjBtcyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSk7XG4gICAgfVxuXG4gICAgLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2NGNoO1xuICAgIH1cblxuICAgIC5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja18xLmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlLFxuICAgIC5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja18yLmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja18xLmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gKixcbiAgICAucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfMi5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+ICoge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuXG4gICAgLnBhZ2UtYmFubmVyIH4gLmFkdmFudGFnZXMtc2VjdGlvbiB7XG4gICAgICAgIC0taW5uZXItYWR2YW50YWdlLWNhcmQtYmc6ICNGNEY2Rjg7XG4gICAgICAgIC0taW5uZXItYWR2YW50YWdlLWNhcmQtYmctYWx0OiAjRUFGMEY1O1xuICAgIH1cblxuICAgIC5wYWdlLWJhbm5lciB+IC5hZHZhbnRhZ2VzLXNlY3Rpb24gLnNlY3Rpb25fX2NvbnRlbnQsXG4gICAgLnBhZ2UtYmFubmVyIH4gLmFkdmFudGFnZXMtc2VjdGlvbiAuc3dpcGVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLnBhZ2UtYmFubmVyIH4gLmFkdmFudGFnZXMtc2VjdGlvbiAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgICAgZ2FwOiBjbGFtcCgxcmVtLCAxLjJ2dywgMS41cmVtKTtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5wYWdlLWJhbm5lciB+IC5hZHZhbnRhZ2VzLXNlY3Rpb24gLnN3aXBlci1zbGlkZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAucGFnZS1iYW5uZXIgfiAuYWR2YW50YWdlcy1zZWN0aW9uIC5hZHZhbnRhZ2VzLWNhcmQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogY2xhbXAoMTVyZW0sIDE3dncsIDE4LjVyZW0pO1xuICAgICAgICBwYWRkaW5nOiBjbGFtcCgxLjM1cmVtLCAxLjV2dywgMS43NXJlbSk7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW5uZXItYWR2YW50YWdlLWNhcmQtYmcpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjIwbXMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDIyMG1zIGVhc2U7XG4gICAgfVxuXG4gICAgLnBhZ2UtYmFubmVyIH4gLmFkdmFudGFnZXMtc2VjdGlvbiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZChldmVuKSAuYWR2YW50YWdlcy1jYXJkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW5uZXItYWR2YW50YWdlLWNhcmQtYmctYWx0KTtcbiAgICB9XG5cbiAgICAucGFnZS1iYW5uZXIgfiAuYWR2YW50YWdlcy1zZWN0aW9uIC5hZHZhbnRhZ2VzLWNhcmRfX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIC5wYWdlLWJhbm5lciB+IC5hZHZhbnRhZ2VzLXNlY3Rpb24gLmFkdmFudGFnZXMtY2FyZF9fdGl0bGUsXG4gICAgLnBhZ2UtYmFubmVyIH4gLmFkdmFudGFnZXMtc2VjdGlvbiAuYWR2YW50YWdlcy1jYXJkX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICAucGFnZS1iYW5uZXIgfiAuYWR2YW50YWdlcy1zZWN0aW9uICsgLmFydGljbGUtc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBjbGFtcCgyLjc1cmVtLCA0dncsIDQuNXJlbSk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAgICAgICAucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2ltYWdlOmhvdmVyIGltZyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2UtYmFubmVyIH4gLmFkdmFudGFnZXMtc2VjdGlvbiAuYWR2YW50YWdlcy1jYXJkOmhvdmVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4xMjVyZW0pO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RkFGQztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTYwcHgpIHtcbiAgICAgICAgLnBhZ2UtYmFubmVyIH4gLmFkdmFudGFnZXMtc2VjdGlvbiAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzMHB4KSB7XG4gICAgICAgIC5wYWdlLWJhbm5lciB+IC5hYm91dC1zZWN0aW9uIC5hYm91dC1zZWN0aW9uX19saXN0IHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2UtYmFubmVyIH4gLmFib3V0LXNlY3Rpb24gLmFib3V0LXNlY3Rpb25fX2ltYWdlIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2ltYWdlIHtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMS4zMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlLWJhbm5lciB+IC5hZHZhbnRhZ2VzLXNlY3Rpb24gLnN3aXBlci13cmFwcGVyIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2UtYmFubmVyIH4gLmFkdmFudGFnZXMtc2VjdGlvbiAuYWR2YW50YWdlcy1jYXJkIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEyLjc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19pbWFnZSBpbWcsXG4gICAgICAgIC5wYWdlLWJhbm5lciB+IC5hZHZhbnRhZ2VzLXNlY3Rpb24gLmFkdmFudGFnZXMtY2FyZCB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvKiBHZW50aW1lZDogc29mdCBzY3JvbGwgY2hvcmVvZ3JhcGh5LiBDb250ZW50IHJlbWFpbnMgdmlzaWJsZSB3aXRob3V0IEpTLiAqL1xuICAgIDpyb290IHtcbiAgICAgICAgLS1nZW50aW1lZC1tb3Rpb24tZWFzZTogY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpO1xuICAgICAgICAtLWdlbnRpbWVkLW1vdGlvbi1mYXN0OiAyMjBtcztcbiAgICAgICAgLS1nZW50aW1lZC1tb3Rpb24tcmV2ZWFsOiA3MjBtcztcbiAgICAgICAgLS1nZW50aW1lZC1tb3Rpb24tc3RhZ2dlcjogNTRtcztcbiAgICB9XG5cbiAgICAuYm0tbW90aW9uLXJlYWR5IFtkYXRhLXJldmVhbF0ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEuMjVyZW0sIDApO1xuICAgICAgICBmaWx0ZXI6IGJsdXIoMC4zNXJlbSk7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICBvcGFjaXR5IHZhcigtLWdlbnRpbWVkLW1vdGlvbi1yZXZlYWwpIHZhcigtLWdlbnRpbWVkLW1vdGlvbi1lYXNlKSxcbiAgICAgICAgICAgIHRyYW5zZm9ybSB2YXIoLS1nZW50aW1lZC1tb3Rpb24tcmV2ZWFsKSB2YXIoLS1nZW50aW1lZC1tb3Rpb24tZWFzZSksXG4gICAgICAgICAgICBmaWx0ZXIgNjIwbXMgdmFyKC0tZ2VudGltZWQtbW90aW9uLWVhc2UpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiBjYWxjKHZhcigtLXJldmVhbC1pbmRleCwgMCkgKiB2YXIoLS1nZW50aW1lZC1tb3Rpb24tc3RhZ2dlcikpO1xuICAgICAgICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtLCBmaWx0ZXI7XG4gICAgfVxuXG4gICAgLmJtLW1vdGlvbi1yZWFkeSBbZGF0YS1yZXZlYWw9J3NlY3Rpb24nXSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMS41cmVtLCAwKTtcbiAgICB9XG5cbiAgICAuYm0tbW90aW9uLXJlYWR5IFtkYXRhLXJldmVhbD0nbWVkaWEnXSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMS40cmVtLCAwKSBzY2FsZSgwLjk4NSk7XG59XG5cbiAgICAuYm0tbW90aW9uLXJlYWR5IFtkYXRhLXJldmVhbD0nY2FyZCddIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxcmVtLCAwKSBzY2FsZSgwLjk5Mik7XG4gICAgfVxuXG4gICAgLmJtLW1vdGlvbi1yZWFkeSBbZGF0YS1yZXZlYWxdLmlzLXZpc2libGUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpO1xuICAgICAgICBmaWx0ZXI6IGJsdXIoMCk7XG53aWxsLWNoYW5nZTogYXV0bztcbiAgICB9XG5cbiAgICAuYm0tbW90aW9uLXJlYWR5IC5mcm9udC1iYW5uZXIgW2RhdGEtcmV2ZWFsXSB7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDY0MG1zO1xuICAgIH1cblxuICAgIC5ibS1tb3Rpb24tcmVhZHkgLnNlY3Rpb25fX2hlYWRbZGF0YS1yZXZlYWxdLFxuICAgIC5ibS1tb3Rpb24tcmVhZHkgLmFydGljbGUtc2VjdGlvbl9fdGl0bGVbZGF0YS1yZXZlYWxdLFxuICAgIC5ibS1tb3Rpb24tcmVhZHkgLnBhZ2UtYmFubmVyX19jb250ZW50W2RhdGEtcmV2ZWFsXSxcbiAgICAuYm0tbW90aW9uLXJlYWR5IC5mcm9udC1iYW5uZXJfX2NvbnRlbnRbZGF0YS1yZXZlYWxdIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC5ibS1tb3Rpb24tcmVhZHkgW2RhdGEtcmV2ZWFsXS5pcy12aXNpYmxlIC5pY29uX2FuaW1hdGUge1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS1nZW50aW1lZC1tb3Rpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAgICAgICAuYm0tbW90aW9uLXJlYWR5IC5idXR0b246bm90KDpkaXNhYmxlZCksXG4gICAgICAgIC5ibS1tb3Rpb24tcmVhZHkgLnNlcnZpY2VzLWNhcmQsXG4gICAgICAgIC5ibS1tb3Rpb24tcmVhZHkgLmF1ZGllbmNlLXJvdXRlLWNhcmQsXG4gICAgICAgIC5ibS1tb3Rpb24tcmVhZHkgLmFkdmFudGFnZXMtY2FyZCxcbiAgICAgICAgLmJtLW1vdGlvbi1yZWFkeSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxODBtcywgMjIwbXMsIDIyMG1zO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWdlbnRpbWVkLW1vdGlvbi1lYXNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIC5ibS1tb3Rpb24tcmVhZHkgW2RhdGEtcmV2ZWFsXSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZpbHRlcjogbm9uZSAhaW1wb3J0YW50O1xudHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIC8qIEdlbnRpbWVkOiByZWdpc3RyYXRpb24gMjAyNiBlZGl0b3JpYWwgYmxvY2sgKi9cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZmZmZmZmIDAlLCAjZjRmYWZiIDEwMCUpO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbiA+IC5jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSkgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiBjbGFtcCgycmVtLCA1dncsIDUuNXJlbSk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uIC5zZWN0aW9uX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RhcnQgIWltcG9ydGFudDtcbiAgICAgICAgZ3JpZC1hcmVhOiAxIC8gMiAvIDIgLyAzICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFydGljbGUtc2VjdGlvbl9fY29udGVudCxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19oZWFkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX190aXRsZSB7XG4gICAgICAgIG1heC13aWR0aDogMTMuNWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+IHA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXgtd2lkdGg6IDQzcmVtO1xuICAgICAgICBtYXJnaW46IDAgMCBjbGFtcCgxLjM1cmVtLCAydncsIDJyZW0pO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjMjYzNDNhO1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDEuMDVyZW0sIDAuMzV2dyArIDFyZW0sIDEuMjVyZW0pO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41NTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gdWwge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICAgIGdhcDogMC43NXJlbTtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gdWwgPiBsaSB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWluLWhlaWdodDogMTAuMjVyZW07XG4gICAgICAgIHBhZGRpbmc6IGNsYW1wKDEuMTVyZW0sIDEuNnZ3LCAxLjU1cmVtKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZTlmMWY2O1xuICAgICAgICBjb2xvcjogIzJjMzk0MDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBnYXA6IDEuMDVyZW07XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+IHVsID4gbGk6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgPiB1bCA+IGxpOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gdWwgPiBsaTpudGgtY2hpbGQoMykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+IHVsID4gbGk6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgPiB1bCA+IGxpOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgPiB1bCA+IGxpOm50aC1jaGlsZCgxKSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gdWwgPiBsaTpudGgtY2hpbGQoNCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjQ4ZmMxO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gdWwgc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS4xMnJlbSwgMC40NXZ3ICsgMXJlbSwgMS40MnJlbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+IHVsIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgb3BhY2l0eTogMC43ODtcbiAgICAgICAgZm9udC1zaXplOiAwLjk4cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19idXR0b24tbGlzdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFydGljbGUtc2VjdGlvbl9faW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdGFydCAhaW1wb3J0YW50O1xuICAgICAgICBncmlkLWFyZWE6IDEgLyAxIC8gMiAvIDIgIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxLjQyIC8gMTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjg3NXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogI2U5ZjFmNjtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19pbWFnZSBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiA0OCUgNTAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX19pbWFnZTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsMjU1LDI1NSwwKSA1OCUsIHJnYmEoMTUsNjcsODksMC4xOCkgMTAwJSk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb24gPiAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBnYXA6IDJyZW07XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfMyAuYXJ0aWNsZS1zZWN0aW9uX190aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFydGljbGUtc2VjdGlvbl9faW1hZ2Uge1xuICAgICAgICAgICAgZ3JpZC1hcmVhOiAxIC8gMSAvIDIgLyAyICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb24gLnNlY3Rpb25fX2NvbnRlbnQge1xuICAgICAgICAgICAgZ3JpZC1hcmVhOiAyIC8gMSAvIDMgLyAyICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+IHVsIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+IHVsID4gbGkge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmJ1dHRvbjpoYXMoLmJ1dHRvbl9fdGV4dCk6bm90KC5idXR0b25fc29jaWFsKSB7XG4gICAgICAgIC0tYnV0dG9uLXJhZGl1czogdmFyKC0tcmFkaXVzLWJ0bikgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWJ0bikgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYnV0dG9uOmhhcyguYnV0dG9uX190ZXh0KTpub3QoLmJ1dHRvbl9zb2NpYWwpOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtYnRuKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24sXG4gICAgLmFydGljbGUtc2VjdGlvbl9fYnV0dG9uLWxpc3QgLmJ1dHRvbixcbiAgICAucGFnZS1iYW5uZXIgLmJ1dHRvbixcbiAgICAuc2VjdGlvbl9fbW9yZS5idXR0b24ge1xuICAgICAgICAtLWJ1dHRvbi1yYWRpdXM6IHZhcigtLXJhZGl1cy1idG4pICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1idG4pICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbjo6YmVmb3JlLFxuICAgIC5hcnRpY2xlLXNlY3Rpb25fX2J1dHRvbi1saXN0IC5idXR0b246OmJlZm9yZSxcbiAgICAucGFnZS1iYW5uZXIgLmJ1dHRvbjo6YmVmb3JlLFxuICAgIC5zZWN0aW9uX19tb3JlLmJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWJ0bikgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19idXR0b24tbGlzdCAuYnV0dG9uLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX2J1dHRvbi1saXN0IC5idXR0b246OmJlZm9yZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19idXR0b24tbGlzdCAuYnV0dG9uOjphZnRlcixcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNyAuYXJ0aWNsZS1zZWN0aW9uX19idXR0b24tbGlzdCAuYnV0dG9uX190ZXh0LFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX2J1dHRvbi1saXN0IC5idXR0b25fX2ljb24sXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9fYnV0dG9uLWxpc3QgLmJ1dHRvbl9faWNvbjo6YmVmb3JlLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX2J1dHRvbi1saXN0IC5idXR0b25fX2ljb246OmFmdGVyIHtcbiAgICAgICAgLS1idXR0b24tcmFkaXVzOiA4cHggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmFydGljbGUtc2VjdGlvbl9fYnV0dG9uLWxpc3QgLmJ1dHRvbiB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbiAgICAuc2VjdGlvbl9fbW9yZS5idXR0b24uYnV0dG9uX3NlY29uZGFyeSB7XG4gICAgICAgIC0tYnV0dG9uLWJnLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgLS1idXR0b24tYmctY29sb3ItaG92ZXI6IHRyYW5zcGFyZW50O1xuICAgICAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3I6IHZhcigtLWdlbnRpbWVkLWJsdWUpO1xuICAgICAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3ItaG92ZXI6IHZhcigtLWdlbnRpbWVkLWJsdWUpO1xuICAgICAgICAtLWJ1dHRvbi1ib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgLS1idXR0b24tdGV4dC1jb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKTtcbiAgICAgICAgLS1idXR0b24tdGV4dC1jb2xvci1ob3ZlcjogdmFyKC0tZ2VudGltZWQtYmx1ZSk7XG4gICAgICAgIC0tYnV0dG9uLWljb24tY29sb3I6IHZhcigtLWdlbnRpbWVkLWJsdWUpO1xuICAgICAgICAtLWJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyOiB2YXIoLS1nZW50aW1lZC1ibHVlKTtcbiAgICB9XG5cbiAgICAuc2VjdGlvbl9fbW9yZS5idXR0b24uYnV0dG9uX3NlY29uZGFyeTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1ibHVlKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICAtLWJ1dHRvbi1yYWRpdXM6IHZhcigtLXJhZGl1cy1idG4pICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1idG4pICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJ1dHRvbjo6YmVmb3JlLFxuICAgIC5idXR0b246OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWJ0bikgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubW9kYWwtd2luZG93LFxuICAgIC5tb2RhbC13aW5kb3cubW9kYWwtd2luZG93X3NtYWxsLFxuICAgIC5tb2RhbC13aW5kb3cubW9kYWwtd2luZG93X3NlbWktYmlnIHtcbiAgICAgICAgLS1tb2RhbC1iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZSB7XG4gICAgICAgIC0tYnV0dG9uLXJhZGl1czogdmFyKC0tcmFkaXVzLWJ0bikgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1idG4pICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGU6OmJlZm9yZSxcbiAgICAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZTo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtYnRuKSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZTpub3QoLmJ1dHRvbl9zZWNvbmRhcnkpOjpiZWZvcmUsXG4gICAgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUubm8taW52ZXJ0OjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nZW50aW1lZC1ibHVlKSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1nZW50aW1lZC1ibHVlKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5idXR0b24uYnV0dG9uX3RlbXBsYXRlOm5vdCguYnV0dG9uX3NlY29uZGFyeSk6aG92ZXI6OmJlZm9yZSxcbiAgICAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5uby1pbnZlcnQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWdlbnRpbWVkLWdyZWVuKSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWdlbnRpbWVkLWdyZWVuKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9zZWNvbmRhcnkge1xuICAgICAgICAtLWJ1dHRvbi1iZy1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgLS1idXR0b24tYmctY29sb3ItaG92ZXI6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZSkgIWltcG9ydGFudDtcbiAgICAgICAgLS1idXR0b24tYm9yZGVyLWNvbG9yLWhvdmVyOiB2YXIoLS1nZW50aW1lZC1ibHVlKSAhaW1wb3J0YW50O1xuICAgICAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmspICFpbXBvcnRhbnQ7XG4gICAgICAgIC0tYnV0dG9uLXRleHQtY29sb3ItaG92ZXI6IHZhcigtLWdlbnRpbWVkLWJsdWUpICFpbXBvcnRhbnQ7XG4gICAgICAgIC0tYnV0dG9uLWljb24tY29sb3I6IHZhcigtLWdlbnRpbWVkLWJsdWUpICFpbXBvcnRhbnQ7XG4gICAgICAgIC0tYnV0dG9uLWljb24tY29sb3ItaG92ZXI6IHZhcigtLWdlbnRpbWVkLWJsdWUpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3NlY29uZGFyeTo6YmVmb3JlLFxuICAgIC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLnNlY3Rpb25fX21vcmU6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdlbnRpbWVkLWJsdWUpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3NlY29uZGFyeTpob3Zlcjo6YmVmb3JlLFxuICAgIC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLnNlY3Rpb25fX21vcmU6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjUsIDEzOSwgMTk2LCAwLjA2KSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWdlbnRpbWVkLWJsdWUpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnkge1xuICAgICAgICAtLWJ1dHRvbi1iZy1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgICAgICAtLWJ1dHRvbi1iZy1jb2xvci1ob3ZlcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgICAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG4gICAgICAgIC0tYnV0dG9uLXRleHQtY29sb3ItaG92ZXI6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICAgICAgLS1idXR0b24taWNvbi1jb2xvcjogIzBBMEEwQSAhaW1wb3J0YW50O1xuICAgICAgICAtLWJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG4gICAgICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgICAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3ItaG92ZXI6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTo6YmVmb3JlLFxuICAgIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5OmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9zZWNvbmRhcnkge1xuICAgICAgICAtLWJ1dHRvbi1iZy1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgLS1idXR0b24tYmctY29sb3ItaG92ZXI6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIC0tYnV0dG9uLXRleHQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAgICAgLS1idXR0b24tdGV4dC1jb2xvci1ob3ZlcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgICAgICAtLWJ1dHRvbi1pY29uLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICAgIC0tYnV0dG9uLWljb24tY29sb3ItaG92ZXI6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAgICAgLS1idXR0b24tYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3ItaG92ZXI6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3NlY29uZGFyeTo6YmVmb3JlLFxuICAgIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9zZWNvbmRhcnk6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2FzZS1tb2RhbCAuY2FzZS1tb2RhbF9fbGF5b3V0IHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNhc2UtbW9kYWwgLmNhc2UtbW9kYWxfX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzYwcHgpIHtcbiAgICAgICAgLmNhc2UtbW9kYWwgLmNhc2UtbW9kYWxfX2ltYWdlIHtcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTYgLyAxMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhc2UtY2FyZCB7XG4gICAgICAgIGdhcDogdmFyKC0tY2FzZS1jYXJkLWdhcCkgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tY2FzZS1jYXJkLXBhZGRpbmcpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNhc2UtY2FyZCAuY2FzZS1jYXJkX19pbWFnZSB7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWNhc2UtY2FyZC1yYWRpdXMpIC0gMC4yNXJlbSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2FzZS1jYXJkIC5jYXNlLWNhcmRfX2JvZHkge1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmN0YS1zZWN0aW9uLXQzID4gLmNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmN0YS1zZWN0aW9uLXQzIC5zZWN0aW9uX19jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiLiBmb3JtXCI7XG4gICAgICAgIGdhcDogdmFyKC0tZ3JpZC1jb2x1bW4tZ2FwKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC5jdGEtc2VjdGlvbi10MyAucmVndWxhci1mb3JtIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBmb3JtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTYwcHgpIHtcbiAgICAgICAgLmN0YS1zZWN0aW9uLXQzIC5zZWN0aW9uX19jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJmb3JtXCI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmN0YS1zZWN0aW9uLXQzIC5yZWd1bGFyLWZvcm0ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAganVzdGlmeS1zZWxmOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuY3RhLXNlY3Rpb24tdDMgLnJlZ3VsYXItZm9ybV9fZ3JvdXAsXG4gICAgICAgIC5jdGEtc2VjdGlvbi10MyAucmVndWxhci1mb3JtX19yb3csXG4gICAgICAgIC5jdGEtc2VjdGlvbi10MyAucmVndWxhci1mb3JtX19maWVsZHMge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzBweCkge1xuICAgICAgICAuY3RhLXNlY3Rpb24tdDMgLnNlY3Rpb25fX2NvbnRlbnQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jdGEtc2VjdGlvbi10MyAucmVndWxhci1mb3JtIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuODc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDYzMXB4KSB7XG4gICAgICAgIC5mb290ZXItZHJvcGRvd25fc2VydmljZXMge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9vdGVyLWRyb3Bkb3duX3NlcnZpY2VzIC5mb290ZXItZHJvcGRvd25fX2NvbnRlbnRfc2VydmljZXMge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLWdyaWQtY29sdW1uLWdhcCk7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9vdGVyLWRyb3Bkb3duX3NlcnZpY2VzIC5mb290ZXItZHJvcGRvd25fX2xpc3Qge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tZHJvcGRvd24tcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMwcHgpIHtcbiAgICAgICAgLmZvb3Rlci1kcm9wZG93bl9fY29udGVudF9zZXJ2aWNlcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogdmFyKC0tZHJvcGRvd24tbGlzdC1nYXApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvb3Rlci1kcm9wZG93bl9zZXJ2aWNlcyAuZm9vdGVyLWRyb3Bkb3duX19saXN0IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8qIEdlbnRpbWVkOiBrZWVwIGhvbWVwYWdlIHNlcnZpY2Ugc2VjdGlvbnMgb24gdGhlIHNhbWUgZmxhdCB0aW50LiAqL1xuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18yLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbixcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGN0ZCRkIgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y3RkJGQiAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogR2VudGltZWQ6IGtlZXAgaG9tZXBhZ2Ugc2VydmljZXMgaGVhZGluZyBjb3B5IGxlZnQtYWxpZ25lZCBvbiBsYXB0b3Agd2lkdGhzLiAqL1xuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja180IC5zZWN0aW9uX19oZWFkLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja180IC5zZWN0aW9uX190ZXh0LFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja180IC5zZWN0aW9uX190aXRsZSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNCAuc2VjdGlvbl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cblxuICAgIC8qIEdlbnRpbWVkOiBrZWVwIHRoZSBob21lcGFnZSBzZXJ2aWNlcyBDVEEgYnV0dG9uIGZ1bGx5IHJvdW5kZWQgd2l0aCBhIHJlYWwgYm9yZGVyLiAqL1xuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja180IC5zZWN0aW9uX19tb3JlLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3NlY29uZGFyeSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWJ0bikgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG5pc29sYXRpb246IGlzb2xhdGU7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzQgLnNlY3Rpb25fX21vcmUuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fc2Vjb25kYXJ5OjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICBpbnNldDogMCAhaW1wb3J0YW50O1xuICAgICAgICB6LWluZGV4OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja180IC5zZWN0aW9uX19tb3JlLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3NlY29uZGFyeTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICBpbnNldDogMCAhaW1wb3J0YW50O1xuICAgICAgICB6LWluZGV4OiAzICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdlbnRpbWVkLWJsdWUpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNCAuc2VjdGlvbl9fbW9yZS5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9zZWNvbmRhcnkgLmJ1dHRvbl9fdGV4dCxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNCAuc2VjdGlvbl9fbW9yZS5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9zZWNvbmRhcnkgLmljb24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgei1pbmRleDogMiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja180IC5zZWN0aW9uX19tb3JlLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3NlY29uZGFyeTpob3Zlcjo6YmVmb3JlLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja180IC5zZWN0aW9uX19tb3JlLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3NlY29uZGFyeTpmb2N1cy12aXNpYmxlOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1LCAxMzksIDE5NiwgMC4wNikgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNCAuc2VjdGlvbl9fbW9yZS5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9zZWNvbmRhcnk6aG92ZXI6OmFmdGVyLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja180IC5zZWN0aW9uX19tb3JlLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3NlY29uZGFyeTpmb2N1cy12aXNpYmxlOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZSkgIWltcG9ydGFudDtcbiAgICB9XG5cbi8qIEdlbnRpbWVkOiBrZWVwIGJyZWFkY3J1bWIgaG92ZXIgcmVhZGFibGUgb3ZlciBwaG90byBiYW5uZXJzLiAqL1xuICAgIC5icmVhZGNydW1iczpoYXMoKyAucGFnZS1iYW5uZXIuaW52ZXJ0LWNvbXBvbmVudHMpOm5vdCgubm8taW52ZXJ0KSB7XG4gICAgICAgIC0tYnJlYWRjcnVtYnMtbGluay1jb2xvci1ob3ZlcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc4KTtcbiAgICB9XG5cbiAgICAvKiBHZW50aW1lZDogdXNlIHRoZSB0ZW1wbGF0ZSBibHVlIGFycm93IENUQSBpbnNpZGUgaG9tZXBhZ2UgYXVkaWVuY2UgY2FyZHMuICovXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLmF1ZGllbmNlLXJvdXRlLWNhcmQgLmNhc2UtY2FyZF9fbW9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuNjI1cmVtO1xuICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWJsdWUsICMxOThCQzQpO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBmb250OiB2YXIoLS1mb250LWJvZHktTS1tKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja181IC5hdWRpZW5jZS1yb3V0ZS1jYXJkIC5jYXNlLWNhcmRfX21vcmUgLmljb24ge1xuICAgICAgICAtLWljb24tc2l6ZTogMXJlbTtcbiAgICAgICAgLS1pY29uLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pY29uLXNpemUpO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLWljb24tc2l6ZSk7XG4gICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1hbmltYXRpb24tZGVmYXVsdCk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja181IC5hdWRpZW5jZS1yb3V0ZS1jYXJkOmhvdmVyIC5jYXNlLWNhcmRfX21vcmUgLmljb24sXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja181IC5hdWRpZW5jZS1yb3V0ZS1jYXJkIC5jYXNlLWNhcmRfX21vcmU6aG92ZXIgLmljb24ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogR2VudGltZWQ6IHJlbW92ZSB0aGUgcmVzZXJ2ZWQgaGVhZGVyIGdhcCBiZWZvcmUgdGhlIGhvbWVwYWdlIGZyb250IGJhbm5lci4gKi9cbiAgICAud3JhcHBlcjpoYXMoLndyYXBwZXJfX2NvbnRlbnQgPiAubWFpbiA+IC5mcm9udC1iYW5uZXI6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgLyogR2VudGltZWQ6IGZvcmNlIHJlYWRhYmxlIHdoaXRlIGhvdmVyIGZvciBicmVhZGNydW1icyBvdmVyIHBob3RvIGJhbm5lcnMuICovXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAgICAgICAuYnJlYWRjcnVtYnM6aGFzKCsgLnBhZ2UtYmFubmVyLmludmVydC1jb21wb25lbnRzKTpub3QoLm5vLWludmVydCkgLmJyZWFkY3J1bWJzX19saW5rW2hyZWZdOmhvdmVyLFxuICAgICAgICAuYnJlYWRjcnVtYnM6aGFzKCsgLnBhZ2UtYmFubmVyLmludmVydC1jb21wb25lbnRzKTpub3QoLm5vLWludmVydCkgLmJyZWFkY3J1bWJzX19saW5rW2hyZWZdOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43OCkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIEdlbnRpbWVkOiBrZWVwIGhvbWVwYWdlIGFib3V0IHN0YXQgY2FyZHMgc3BhY2VkIGFuZCBsZWZ0LWFsaWduZWQgb24gdGFibGV0IHdpZHRocy4gKi9cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTYxcHgpIGFuZCAobWF4LXdpZHRoOiAxMTYwcHgpIHtcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzIgLmFib3V0LXNlY3Rpb25fX2xpc3Qge1xuICAgICAgICAgICAgZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICByb3ctZ2FwOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfMiAuYWJvdXQtc2VjdGlvbl9fbGlzdCA+IC5hZHZhbnRhZ2VzLWFib3V0ICsgLmFkdmFudGFnZXMtYWJvdXQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDYzMHB4KSBhbmQgKG1heC13aWR0aDogMTE2MHB4KSB7XG4gICAgICAgIC5hYm91dC1zZWN0aW9uLXQyIC5hZHZhbnRhZ2VzLWFib3V0IHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuYWJvdXQtc2VjdGlvbi10MiAuYWR2YW50YWdlcy1hYm91dF9fdGl0bGUsXG4gICAgICAgIC5hYm91dC1zZWN0aW9uLXQyIC5hZHZhbnRhZ2VzLWFib3V0X19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogR2VudGltZWQ6IGFsdGVybmF0ZSBzZXJ2aWNlLWNhcmQgY29sb3JzIG9uIG5hcnJvdyBzY3JlZW5zIGJ5IHZpc3VhbCBvcmRlci4gKi9cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+IHVsID4gbGk6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+IHVsID4gbGk6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+IHVsID4gbGk6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+IHVsID4gbGk6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIG9yZGVyOiA0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogR2VudGltZWQ6IGFsdGVybmF0ZSBzdGFnZXMgY29sb3JzIGluIHR3by1jb2x1bW4gdGFibGV0IGxheW91dC4gKi9cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjMwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTYwcHgpIHtcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDUsXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDQpIC5zdGFnZS1jYXJkLXQ1IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YWdlLWNhcmQtYmctYWN0aXZlKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDIpIC5zdGFnZS1jYXJkLXQ1LFxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFnZS1jYXJkLWJnLWFsdCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmspICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuc3RhZ2UtY2FyZC10NSxcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLnN0YWdlLWNhcmQtdDUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4pICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUsXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDEpIC5zdGFnZS1jYXJkLXQ1X19kZXNjcmlwdGlvbixcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUsXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDMpIC5zdGFnZS1jYXJkLXQ1X19kZXNjcmlwdGlvbixcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNCkgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg0KSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUsXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDQpIC5zdGFnZS1jYXJkLXQ1X19kZXNjcmlwdGlvbixcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUsXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5zdGFnZS1jYXJkLXQ1X19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMikgLnN0YWdlLWNhcmQtdDVfX3RpdGxlLFxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluaykgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDIpIC5zdGFnZS1jYXJkLXQ1X19kZXNjcmlwdGlvbixcbiAgICAgICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNSkgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmstbXV0ZWQpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgyKSAuc3RhZ2UtY2FyZC10NV9faW5kZXgsXG4gICAgICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDUpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjU0KSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuLyogU2VydmljZSBzY29wZSBjaGVja2xpc3QgKi9cbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja18yLmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHVsOm5vdChbY2xhc3NdKSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IGNsYW1wKDAuNjI1cmVtLCAwLjh2dywgMC44NzVyZW0pO1xufVxuXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfMi5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSB1bDpub3QoW2NsYXNzXSkgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtO1xufVxuXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfMi5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSB1bDpub3QoW2NsYXNzXSkgbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDAuMjRlbTtcbiAgICB3aWR0aDogMS4wNXJlbTtcbiAgICBoZWlnaHQ6IDEuMDVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnktZGVmYXVsdCwgIzE5OEJDNCk7XG4gICAgLXdlYmtpdC1tYXNrOiB1cmwoXCIvYXNzZXRzL3RlbXBsYXRlcy9pY29ucy9vay5zdmdcIikgY2VudGVyIC8gY29udGFpbiBuby1yZXBlYXQ7XG4gICAgbWFzazogdXJsKFwiL2Fzc2V0cy90ZW1wbGF0ZXMvaWNvbnMvb2suc3ZnXCIpIGNlbnRlciAvIGNvbnRhaW4gbm8tcmVwZWF0O1xufVxuXG4vKiBTZXJ2aWNlIHJlc3VsdCBibG9ja3MgKi9cbiNjb25zdHJ1Y3Rvcl9ibG9ja180LmFydGljbGUtc2VjdGlvbixcbiNjb25zdHJ1Y3Rvcl9ibG9ja181LmFydGljbGUtc2VjdGlvbixcbiNjb25zdHJ1Y3Rvcl9ibG9ja182LmFydGljbGUtc2VjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnktZGVmYXVsdCwgIzE5OEJDNCkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuI2NvbnN0cnVjdG9yX2Jsb2NrXzQuYXJ0aWNsZS1zZWN0aW9uLFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzUuYXJ0aWNsZS1zZWN0aW9uLFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzYuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX3RpdGxlLFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzQuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUsXG4jY29uc3RydWN0b3JfYmxvY2tfNS5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSxcbiNjb25zdHJ1Y3Rvcl9ibG9ja182LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlLFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzQuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgPiAqLFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzUuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgPiAqLFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzYuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgPiAqIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuI2NvbnN0cnVjdG9yX2Jsb2NrXzQuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUsXG4jY29uc3RydWN0b3JfYmxvY2tfNS5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSxcbiNjb25zdHJ1Y3Rvcl9ibG9ja182LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgZm9udDogdmFyKC0tZm9udC10aXRsZS1NKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG59XG5cbiNjb25zdHJ1Y3Rvcl9ibG9ja180LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlLFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzUuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUsXG4jY29uc3RydWN0b3JfYmxvY2tfNi5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSBwIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLyogVklSRCByZXF1aXJlZCBjYXJkcyAqL1xuI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudmlyZC1yZXF1aXJlZC1ncmlkKSA+IC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbiNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnZpcmQtcmVxdWlyZWQtZ3JpZCkgLnNlY3Rpb25fX2NvbnRlbnQsXG4jY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC5hcnRpY2xlLXNlY3Rpb25fX2NvbnRlbnQsXG4jY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC5hcnRpY2xlLXNlY3Rpb25fX2hlYWQsXG4jY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cblxuI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudmlyZC1yZXF1aXJlZC1ncmlkKSAuYXJ0aWNsZS1zZWN0aW9uX190aXRsZSB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1hcmdpbjogMCAwIGNsYW1wKDFyZW0sIDEuM3Z3LCAxLjVyZW0pO1xuICAgIGNvbG9yOiAjMEEwQTBBO1xufVxuXG4jY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC52aXJkLXJlcXVpcmVkX19sZWFkIHtcbiAgICBtYXgtd2lkdGg6IDU4cmVtO1xuICAgIG1hcmdpbjogMCAwIGNsYW1wKDJyZW0sIDN2dywgMy41cmVtKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNzIpO1xuICAgIGZvbnQ6IHZhcigtLWZvbnQtYm9keS1MLXIpO1xufVxuXG4jY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC52aXJkLXJlcXVpcmVkLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpO1xuICAgIGdhcDogY2xhbXAoMC43NXJlbSwgMXZ3LCAxcmVtKTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudmlyZC1yZXF1aXJlZC1ncmlkKSAudmlyZC1yZXF1aXJlZC1jYXJkIHtcbiAgICBtaW4taGVpZ2h0OiBjbGFtcCgxMXJlbSwgMTMuNXZ3LCAxNC41cmVtKTtcbiAgICBwYWRkaW5nOiBjbGFtcCgxLjI1cmVtLCAxLjR2dywgMS42MjVyZW0pO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VBRjNGODtcbiAgICBjb2xvcjogIzBBMEEwQTtcbn1cblxuI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudmlyZC1yZXF1aXJlZC1ncmlkKSAudmlyZC1yZXF1aXJlZC1jYXJkOm50aC1jaGlsZCgxKSxcbiNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnZpcmQtcmVxdWlyZWQtZ3JpZCkgLnZpcmQtcmVxdWlyZWQtY2FyZDpudGgtY2hpbGQoMyksXG4jY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC52aXJkLXJlcXVpcmVkLWNhcmQ6bnRoLWNoaWxkKDYpLFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudmlyZC1yZXF1aXJlZC1ncmlkKSAudmlyZC1yZXF1aXJlZC1jYXJkOm50aC1jaGlsZCg4KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnktZGVmYXVsdCwgIzE5OEJDNCk7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbiNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnZpcmQtcmVxdWlyZWQtZ3JpZCkgLnZpcmQtcmVxdWlyZWQtY2FyZCBoMyB7XG4gICAgbWFyZ2luOiAwIDAgMC44NXJlbTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250OiB2YXIoLS1mb250LXRpdGxlLVMpO1xuICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbn1cblxuI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudmlyZC1yZXF1aXJlZC1ncmlkKSAudmlyZC1yZXF1aXJlZC1jYXJkIHAge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQ6IHZhcigtLWZvbnQtYm9keS1TLXIpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE2MHB4KSB7XG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudmlyZC1yZXF1aXJlZC1ncmlkKSAudmlyZC1yZXF1aXJlZC1ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzMHB4KSB7XG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudmlyZC1yZXF1aXJlZC1ncmlkKSAudmlyZC1yZXF1aXJlZC1ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudmlyZC1yZXF1aXJlZC1ncmlkKSAudmlyZC1yZXF1aXJlZC1jYXJkIHtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICB9XG59XG5cbi8qIFRlc3RpbmcgdHJpYWxzIGNhcmRzICovXG4jY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC50ZXN0aW5nLXRyaWFscy1ncmlkKSA+IC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbiNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnRlc3RpbmctdHJpYWxzLWdyaWQpIC5zZWN0aW9uX19jb250ZW50LFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudGVzdGluZy10cmlhbHMtZ3JpZCkgLmFydGljbGUtc2VjdGlvbl9fY29udGVudCxcbiNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnRlc3RpbmctdHJpYWxzLWdyaWQpIC5hcnRpY2xlLXNlY3Rpb25fX2hlYWQsXG4jY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC50ZXN0aW5nLXRyaWFscy1ncmlkKSAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbiNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnRlc3RpbmctdHJpYWxzLWdyaWQpIC5hcnRpY2xlLXNlY3Rpb25fX3RpdGxlIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWFyZ2luOiAwIDAgY2xhbXAoMXJlbSwgMS4zdncsIDEuNXJlbSk7XG4gICAgY29sb3I6ICMwQTBBMEE7XG59XG5cbiNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnRlc3RpbmctdHJpYWxzLWdyaWQpIC50ZXN0aW5nLXRyaWFsc19fbGVhZCB7XG4gICAgbWF4LXdpZHRoOiA1OHJlbTtcbiAgICBtYXJnaW46IDAgMCBjbGFtcCgycmVtLCAzdncsIDMuNXJlbSkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjcyKTtcbiAgICBmb250OiB2YXIoLS1mb250LWJvZHktTC1yKTtcbn1cblxuI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudGVzdGluZy10cmlhbHMtZ3JpZCkgLnRlc3RpbmctdHJpYWxzLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpO1xuICAgIGdhcDogY2xhbXAoMC43NXJlbSwgMXZ3LCAxcmVtKTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudGVzdGluZy10cmlhbHMtZ3JpZCkgLnRlc3RpbmctdHJpYWxzLWNhcmQge1xuICAgIG1pbi1oZWlnaHQ6IGNsYW1wKDExcmVtLCAxMy41dncsIDE0LjVyZW0pO1xuICAgIHBhZGRpbmc6IGNsYW1wKDEuMjVyZW0sIDEuNHZ3LCAxLjYyNXJlbSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUFGM0Y4O1xuICAgIGNvbG9yOiAjMEEwQTBBO1xufVxuXG4jY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC50ZXN0aW5nLXRyaWFscy1ncmlkKSAudGVzdGluZy10cmlhbHMtY2FyZDpudGgtY2hpbGQoMSksXG4jY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC50ZXN0aW5nLXRyaWFscy1ncmlkKSAudGVzdGluZy10cmlhbHMtY2FyZDpudGgtY2hpbGQoMykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5LWRlZmF1bHQsICMxOThCQzQpO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4jY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC50ZXN0aW5nLXRyaWFscy1ncmlkKSAudGVzdGluZy10cmlhbHMtY2FyZCBoMyB7XG4gICAgbWFyZ2luOiAwIDAgMC44NXJlbTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250OiB2YXIoLS1mb250LXRpdGxlLVMpO1xuICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbn1cblxuI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudGVzdGluZy10cmlhbHMtZ3JpZCkgLnRlc3RpbmctdHJpYWxzLWNhcmQgcCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udDogdmFyKC0tZm9udC1ib2R5LVMtcik7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTYwcHgpIHtcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC50ZXN0aW5nLXRyaWFscy1ncmlkKSAudGVzdGluZy10cmlhbHMtZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MzBweCkge1xuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnRlc3RpbmctdHJpYWxzLWdyaWQpIC50ZXN0aW5nLXRyaWFscy1ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudGVzdGluZy10cmlhbHMtZ3JpZCkgLnRlc3RpbmctdHJpYWxzLWNhcmQge1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgIH1cbn1cblxuLyogU2VydmljZSBwYWdlczogcmVzdWx0IGFuZCBzY29wZSBmaXhlcyAqL1xuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzQuYXJ0aWNsZS1zZWN0aW9uLFxuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzUuYXJ0aWNsZS1zZWN0aW9uLFxuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzYuYXJ0aWNsZS1zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtcHJpbWFyeS1kZWZhdWx0LCAjMTk4QkM0KSAhaW1wb3J0YW50O1xufVxuXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fdGl0bGUsXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNS5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fdGl0bGUsXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNi5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fdGl0bGUsXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSxcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja181LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlLFxuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzYuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUsXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNC5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+ICosXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNS5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+ICosXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNi5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSA+ICoge1xuICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja18yLmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogY2xhbXAoMC42MjVyZW0sIDAuOHZ3LCAwLjg3NXJlbSk7XG59XG5cbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja18yLmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfMi5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSBsaTo6bWFya2VyIHtcbiAgICBjb250ZW50OiBcIlwiICFpbXBvcnRhbnQ7XG59XG5cbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja18yLmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwLjI0ZW07XG4gICAgd2lkdGg6IDEuMDVyZW07XG4gICAgaGVpZ2h0OiAxLjA1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5LWRlZmF1bHQsICMxOThCQzQpO1xuICAgIC13ZWJraXQtbWFzazogdXJsKFwiL2Fzc2V0cy90ZW1wbGF0ZXMvaWNvbnMvb2suc3ZnXCIpIGNlbnRlciAvIGNvbnRhaW4gbm8tcmVwZWF0O1xuICAgIG1hc2s6IHVybChcIi9hc3NldHMvdGVtcGxhdGVzL2ljb25zL29rLnN2Z1wiKSBjZW50ZXIgLyBjb250YWluIG5vLXJlcGVhdDtcbn1cblxuLyogU2VydmljZSByZXN1bHQgZGVzY3JpcHRpb24gdHlwb2dyYXBoeSAqL1xuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzQuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUsXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNS5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSxcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja182LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgZm9udDogdmFyKC0tZm9udC10aXRsZS1NKSAhaW1wb3J0YW50O1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbn1cblxuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzQuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgcCxcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja181LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHAsXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNi5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSBwIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBmb250OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG59XG5cbi8qIFNlcnZpY2Ugc2NvcGUgY2hlY2sgaWNvbnMgKi9cbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja18yLmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIGxpOjpiZWZvcmUge1xuICAgIHRvcDogMC4xNmVtICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDAuNTVyZW0gIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDAuOTVyZW0gIWltcG9ydGFudDtcbiAgICBib3JkZXI6IHNvbGlkIHZhcigtLWFjY2VudC1wcmltYXJ5LWRlZmF1bHQsICMxOThCQzQpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDJweCAycHggMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtbWFzazogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hc2s6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuXG4vKiBTZXJ2aWNlIHJlc3VsdCBmdWxsIGdyaWQgd2lkdGggKi9cbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja180LmFydGljbGUtc2VjdGlvbiA+IC5jb250YWluZXIsXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNS5hcnRpY2xlLXNlY3Rpb24gPiAuY29udGFpbmVyLFxuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzYuYXJ0aWNsZS1zZWN0aW9uID4gLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCBtaW5tYXgoMCwgMWZyKSkgIWltcG9ydGFudDtcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1ncmlkLWNvbHVtbi1nYXApICFpbXBvcnRhbnQ7XG59XG5cbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja180LmFydGljbGUtc2VjdGlvbiAuc2VjdGlvbl9fY29udGVudCxcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja181LmFydGljbGUtc2VjdGlvbiAuc2VjdGlvbl9fY29udGVudCxcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja182LmFydGljbGUtc2VjdGlvbiAuc2VjdGlvbl9fY29udGVudCxcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja180LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19jb250ZW50LFxuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzUuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2NvbnRlbnQsXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNi5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fY29udGVudCxcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja180LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19oZWFkLFxuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzUuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2hlYWQsXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNi5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9faGVhZCxcbi5wYWdlLWJhbm5lciB+ICNjb25zdHJ1Y3Rvcl9ibG9ja180LmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlLFxuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzUuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUsXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNi5hcnRpY2xlLXNlY3Rpb24gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyAtMSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzQuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgPiAqLFxuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzUuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgPiAqLFxuLnBhZ2UtYmFubmVyIH4gI2NvbnN0cnVjdG9yX2Jsb2NrXzYuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgPiAqIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qIEdlbnRpbWVkIHNoYXJlZCBzdGFnZXMgdDUgY29tcG9uZW50IHN0eWxlICovXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIHtcbiAgICAtLXN0YWdlLWNhcmQtYmc6ICNGM0Y1Rjg7XG4gICAgLS1zdGFnZS1jYXJkLWJnLWFsdDogI0U4RURGMztcbiAgICAtLXN0YWdlLWNhcmQtYmctYWN0aXZlOiB2YXIoLS1nZW50aW1lZC1ibHVlKTtcbn1cblxuLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSA+IC5jb250YWluZXIge1xuICAgIHJvdy1nYXA6IGNsYW1wKDEuNXJlbSwgMnZ3LCAycmVtKTtcbn1cblxuLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc2VjdGlvbl9faGVhZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc2VjdGlvbl9fdGV4dCB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1ncmlkLWNvbHVtbi1nYXApO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc2VjdGlvbl9fdGl0bGUsXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zZWN0aW9uX19kZXNjcmlwdGlvbiB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zZWN0aW9uX19kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluay1tdXRlZCk7XG59XG5cbi5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnNlY3Rpb25fX2NvbnRlbnQsXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXIge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zZWN0aW9uX19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiBjbGFtcCgycmVtLCAzdncsIDMuNXJlbSk7XG59XG5cbi5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICAgIGdhcDogY2xhbXAoMXJlbSwgMS4ydncsIDEuNXJlbSk7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlIHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1pbi1oZWlnaHQ6IGNsYW1wKDEzLjVyZW0sIDE1dncsIDE2LjVyZW0pO1xuICAgIHBhZGRpbmc6IGNsYW1wKDEuMzVyZW0sIDEuNXZ3LCAxLjhyZW0pO1xuICAgIGdhcDogY2xhbXAoMXJlbSwgMS4ydncsIDEuMzVyZW0pO1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhZ2UtY2FyZC1iZyk7XG4gICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluayk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIyMG1zIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKSwgYmFja2dyb3VuZC1jb2xvciAyMjBtcyBlYXNlO1xufVxuXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDJuKSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhZ2UtY2FyZC1iZy1hbHQpO1xufVxuXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDEpIC5zdGFnZS1jYXJkLXQ1LFxuLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhZ2UtY2FyZC1iZy1hY3RpdmUpO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDMpIC5zdGFnZS1jYXJkLXQ1LFxuLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4pO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zdGFnZS1jYXJkLXQ1X19ib2R5IHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCB7XG4gICAgY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41NCk7XG4gICAgZm9udC1zaXplOiBjbGFtcCgyLjc1cmVtLCA0dncsIDQuNzVyZW0pO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjk7XG59XG5cbi5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN0YWdlLWNhcmQtdDVfX3RpdGxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluayk7XG4gICAgdGV4dC13cmFwOiBwcmV0dHk7XG59XG5cbi5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLW11dGVkKTtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zdGFnZS1jYXJkLXQ1X19kZXNjcmlwdGlvbiAudGV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuc3RhZ2UtY2FyZC10NV9faW5kZXgsXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDEpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbi5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uLFxuLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuc3RhZ2UtY2FyZC10NV9faW5kZXgsXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDMpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbi5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uLFxuLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NV9faW5kZXgsXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDUpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbi5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNSkgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uLFxuLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuc3RhZ2UtY2FyZC10NV9faW5kZXgsXG4uc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbi5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN0YWdlLWNhcmQtdDU6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuMjVyZW0pO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGOUZCO1xuICAgIH1cblxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDU6aG92ZXIsXG4gICAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuc3RhZ2UtY2FyZC10NTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxRjhCQzM7XG4gICAgfVxuXG4gICAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuc3RhZ2UtY2FyZC10NTpob3ZlcixcbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDUpIC5zdGFnZS1jYXJkLXQ1OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI3OUU2NDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTYwcHgpIHtcbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItd3JhcHBlciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MzBweCkgYW5kIChtYXgtd2lkdGg6IDExNjBweCkge1xuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDUsXG4gICAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg0KSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YWdlLWNhcmQtYmctYWN0aXZlKSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMikgLnN0YWdlLWNhcmQtdDUsXG4gICAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YWdlLWNhcmQtYmctYWx0KSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLnN0YWdlLWNhcmQtdDUsXG4gICAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdlbnRpbWVkLWdyZWVuKSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc2VjdGlvbl9fdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGNvbHVtbi1nYXA6IDA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnNlY3Rpb25fX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MnJlbTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MzBweCkge1xuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci13cmFwcGVyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxuXG4gICAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEyLjVyZW07XG4gICAgfVxufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN0YWdlLWNhcmQtdDUge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG4vKiBTZXJ2aWNlIHJlc3VsdCBjb21wYWN0IGxheW91dCAqL1xuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbltzdHlsZSo9XCIjMTk4QkM0XCJdLFxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbltzdHlsZSo9XCIjMTk4YmM0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtcHJpbWFyeS1kZWZhdWx0LCAjMTk4QkM0KSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OEJDNFwiXSA+IC5jb250YWluZXIsXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThiYzRcIl0gPiAuY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbltzdHlsZSo9XCIjMTk4QkM0XCJdIC5hcnRpY2xlLXNlY3Rpb25fX2NvbnRlbnQsXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThiYzRcIl0gLmFydGljbGUtc2VjdGlvbl9fY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbltzdHlsZSo9XCIjMTk4QkM0XCJdIC5hcnRpY2xlLXNlY3Rpb25fX2hlYWQsXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThiYzRcIl0gLmFydGljbGUtc2VjdGlvbl9faGVhZCxcbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OEJDNFwiXSAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlLFxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbltzdHlsZSo9XCIjMTk4YmM0XCJdIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThCQzRcIl0gLmFydGljbGUtc2VjdGlvbl9fdGl0bGUsXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThiYzRcIl0gLmFydGljbGUtc2VjdGlvbl9fdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OEJDNFwiXSAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlLFxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbltzdHlsZSo9XCIjMTk4YmM0XCJdIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUge1xuICAgIG1hcmdpbi10b3A6IGNsYW1wKDFyZW0sIDEuMzV2dywgMS41cmVtKSAhaW1wb3J0YW50O1xuICAgIGZvbnQ6IHZhcigtLWZvbnQtdGl0bGUtTSkgIWltcG9ydGFudDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG59XG5cbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OEJDNFwiXSAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gKixcbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OGJjNFwiXSAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlID4gKiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OEJDNFwiXSAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHAsXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThiYzRcIl0gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSBwIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBmb250OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OEJDNFwiXSAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHA6Zmlyc3QtY2hpbGQsXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThiYzRcIl0gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSBwOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OEJDNFwiXSAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHA6bGFzdC1jaGlsZCxcbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OGJjNFwiXSAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4vKiBQb3N0cmVnaXN0cmF0aW9uIHJlc3VsdCBtYXJnaW4gZml4ICovXG5ib2R5OmhhcygucGFnZS1iYW5uZXIpICNjb25zdHJ1Y3Rvcl9ibG9ja182LmFydGljbGUtc2VjdGlvbltzdHlsZSo9XCIjMTk4QkM0XCJdIC5zZWN0aW9uX19jb250ZW50LFxuYm9keTpoYXMoLnBhZ2UtYmFubmVyKSAjY29uc3RydWN0b3JfYmxvY2tfNi5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OGJjNFwiXSAuc2VjdGlvbl9fY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbmJvZHk6aGFzKC5wYWdlLWJhbm5lcikgI2NvbnN0cnVjdG9yX2Jsb2NrXzYuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThCQzRcIl0gLmFydGljbGUtc2VjdGlvbl9fY29udGVudCxcbmJvZHk6aGFzKC5wYWdlLWJhbm5lcikgI2NvbnN0cnVjdG9yX2Jsb2NrXzYuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThiYzRcIl0gLmFydGljbGUtc2VjdGlvbl9fY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qIFNlcnZpY2UgcmVzdWx0IHRpdGxlIGdhcCAqL1xuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbltzdHlsZSo9XCIjMTk4QkM0XCJdIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUsXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThiYzRcIl0gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSB7XG4gICAgbWFyZ2luLXRvcDogY2xhbXAoMnJlbSwgMy4xMjV2dywgMy43NXJlbSkgIWltcG9ydGFudDtcbn1cblxuLyogSGVhZGVyIG1lbnUgYWN0aXZlIGFuZCBob3ZlciBzdGF0ZXMgKi9cbi5oZWFkZXIgLm5hdiB7XG4gICAgLS1uYXYtbGluay1jb2xvci1ob3ZlcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4pO1xuICAgIC0tbmF2LWljb24tY29sb3ItaG92ZXI6IHZhcigtLWdlbnRpbWVkLWdyZWVuKTtcbiAgICAtLW5hdi1zdWItbGluay1jb2xvci1ob3ZlcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4pO1xuICAgIC0tbmF2LXN1Yi1saW5rLWJhY2tncm91bmQtY29sb3ItaG92ZXI6IHJnYmEoNDYsIDE3MywgMTExLCAwLjEyKTtcbiAgICAtLW5hdi1zdWItaWNvbi1jb2xvci1ob3ZlcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4pO1xufVxuXG4uaGVhZGVyIC5uYXZfX2l0ZW0uYWN0aXZlID4gLm5hdl9fbGluayxcbi5oZWFkZXIgLm5hdl9faXRlbS5oZXJlID4gLm5hdl9fbGluayB7XG4gICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWJsdWUpICFpbXBvcnRhbnQ7XG59XG5cbi5oZWFkZXIgLm5hdl9faXRlbS5hY3RpdmUgPiAubmF2X19saW5rIC5pY29uLFxuLmhlYWRlciAubmF2X19pdGVtLmhlcmUgPiAubmF2X19saW5rIC5pY29uIHtcbiAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZSkgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAgIC5oZWFkZXIgLm5hdl9faXRlbSA+IC5uYXZfX2xpbms6aG92ZXIsXG4gICAgLmhlYWRlciAubmF2X19pdGVtLmFjdGl2ZSA+IC5uYXZfX2xpbms6aG92ZXIsXG4gICAgLmhlYWRlciAubmF2X19pdGVtLmhlcmUgPiAubmF2X19saW5rOmhvdmVyLFxuICAgIC5oZWFkZXIgLm5hdl9faXRlbTpob3ZlciA+IC5uYXZfX2xpbmsge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4pICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmhlYWRlciAubmF2X19pdGVtID4gLm5hdl9fbGluazpob3ZlciAuaWNvbixcbiAgICAuaGVhZGVyIC5uYXZfX2l0ZW0uYWN0aXZlID4gLm5hdl9fbGluazpob3ZlciAuaWNvbixcbiAgICAuaGVhZGVyIC5uYXZfX2l0ZW0uaGVyZSA+IC5uYXZfX2xpbms6aG92ZXIgLmljb24sXG4gICAgLmhlYWRlciAubmF2X19pdGVtOmhvdmVyID4gLm5hdl9fbGluayAuaWNvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1ncmVlbikgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5uYXZfX2xpc3QgLm5hdl9fbGlzdCAubmF2X19saW5rOmhvdmVyLFxuICAgIC5oZWFkZXIgLm5hdl9fbGlzdCAubmF2X19saXN0IC5uYXZfX2l0ZW06aG92ZXIgPiAubmF2X19saW5rIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWdyZWVuKSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQ2LCAxNzMsIDExMSwgMC4xMikgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5uYXZfX2xpc3QgLm5hdl9fbGlzdCAubmF2X19saW5rOmhvdmVyIC5pY29uLFxuICAgIC5oZWFkZXIgLm5hdl9fbGlzdCAubmF2X19saXN0IC5uYXZfX2l0ZW06aG92ZXIgPiAubmF2X19saW5rIC5pY29uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWdyZWVuKSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyogQWRhcHRpdmUgY2FyZCBncmlkIGNvbG9yIHJoeXRobSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDYzMHB4KSBhbmQgKG1heC13aWR0aDogMTE2MHB4KSB7XG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudmlyZC1yZXF1aXJlZC1ncmlkKSAudmlyZC1yZXF1aXJlZC1jYXJkLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnRlc3RpbmctdHJpYWxzLWdyaWQpIC50ZXN0aW5nLXRyaWFscy1jYXJkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VBRjNGOCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzBBMEEwQSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnZpcmQtcmVxdWlyZWQtZ3JpZCkgLnZpcmQtcmVxdWlyZWQtY2FyZDpudGgtY2hpbGQoMSksXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudmlyZC1yZXF1aXJlZC1ncmlkKSAudmlyZC1yZXF1aXJlZC1jYXJkOm50aC1jaGlsZCg0KSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC52aXJkLXJlcXVpcmVkLWNhcmQ6bnRoLWNoaWxkKDUpLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnRlc3RpbmctdHJpYWxzLWdyaWQpIC50ZXN0aW5nLXRyaWFscy1jYXJkOm50aC1jaGlsZCgxKSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC50ZXN0aW5nLXRyaWFscy1ncmlkKSAudGVzdGluZy10cmlhbHMtY2FyZDpudGgtY2hpbGQoNCksXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudGVzdGluZy10cmlhbHMtZ3JpZCkgLnRlc3RpbmctdHJpYWxzLWNhcmQ6bnRoLWNoaWxkKDUpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnktZGVmYXVsdCwgIzE5OEJDNCkgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MjlweCkge1xuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnZpcmQtcmVxdWlyZWQtZ3JpZCkgLnZpcmQtcmVxdWlyZWQtY2FyZCxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC50ZXN0aW5nLXRyaWFscy1ncmlkKSAudGVzdGluZy10cmlhbHMtY2FyZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFQUYzRjggIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC52aXJkLXJlcXVpcmVkLWNhcmQ6bnRoLWNoaWxkKG9kZCksXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudGVzdGluZy10cmlhbHMtZ3JpZCkgLnRlc3RpbmctdHJpYWxzLWNhcmQ6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtcHJpbWFyeS1kZWZhdWx0LCAjMTk4QkM0KSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyogU2hhcmVkIHN0YWdlcyB0YWJsZXQgY29sb3IgcGFyaXR5ICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjMwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTYwcHgpIHtcbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDEpIC5zdGFnZS1jYXJkLXQ1LFxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNCkgLnN0YWdlLWNhcmQtdDUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFnZS1jYXJkLWJnLWFjdGl2ZSkgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDIpIC5zdGFnZS1jYXJkLXQ1LFxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNSkgLnN0YWdlLWNhcmQtdDUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFnZS1jYXJkLWJnLWFsdCkgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluaykgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDMpIC5zdGFnZS1jYXJkLXQ1LFxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLnN0YWdlLWNhcmQtdDUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1ncmVlbikgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDEpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCxcbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDEpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDEpIC5zdGFnZS1jYXJkLXQ1X19kZXNjcmlwdGlvbixcbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDMpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCxcbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDMpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDMpIC5zdGFnZS1jYXJkLXQ1X19kZXNjcmlwdGlvbixcbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDQpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCxcbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDQpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDQpIC5zdGFnZS1jYXJkLXQ1X19kZXNjcmlwdGlvbixcbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCxcbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5zdGFnZS1jYXJkLXQ1X190aXRsZSxcbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5zdGFnZS1jYXJkLXQ1X19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgyKSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUsXG4gICAgLnNlY3Rpb246aGFzKC5zdGFnZS1jYXJkLXQ1KSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMikgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uLFxuICAgIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNSkgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluay1tdXRlZCkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDIpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCxcbiAgICAuc2VjdGlvbjpoYXMoLnN0YWdlLWNhcmQtdDUpIC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDUpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNTQpICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiBTZXJ2aWNlIHJldmVyc2UgYXJ0aWNsZSBtb2JpbGUgb3JkZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgIC5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb24uYXJ0aWNsZS1zZWN0aW9uX3JldmVyc2UgPiAuY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbi5hcnRpY2xlLXNlY3Rpb25fcmV2ZXJzZSAuc2VjdGlvbl9fY29udGVudCB7XG4gICAgICAgIG9yZGVyOiAxICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbi5hcnRpY2xlLXNlY3Rpb25fcmV2ZXJzZSAuYXJ0aWNsZS1zZWN0aW9uX19pbWFnZSB7XG4gICAgICAgIG9yZGVyOiAyICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLyogSGVhZGVyIGFjdGl2ZSBkcm9wZG93biBhcnJvdyAqL1xuLmhlYWRlciAubmF2X19pdGVtLmFjdGl2ZSA+IC5uYXZfX2xpbms6OmJlZm9yZSxcbi5oZWFkZXIgLm5hdl9faXRlbS5hY3RpdmUgPiAubmF2X19saW5rOjphZnRlcixcbi5oZWFkZXIgLm5hdl9faXRlbS5oZXJlID4gLm5hdl9fbGluazo6YmVmb3JlLFxuLmhlYWRlciAubmF2X19pdGVtLmhlcmUgPiAubmF2X19saW5rOjphZnRlciB7XG4gICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWJsdWUpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3IgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAuaGVhZGVyIC5uYXZfX2l0ZW0uYWN0aXZlID4gLm5hdl9fbGluazpob3Zlcjo6YmVmb3JlLFxuICAgIC5oZWFkZXIgLm5hdl9faXRlbS5hY3RpdmUgPiAubmF2X19saW5rOmhvdmVyOjphZnRlcixcbiAgICAuaGVhZGVyIC5uYXZfX2l0ZW0uaGVyZSA+IC5uYXZfX2xpbms6aG92ZXI6OmJlZm9yZSxcbiAgICAuaGVhZGVyIC5uYXZfX2l0ZW0uaGVyZSA+IC5uYXZfX2xpbms6aG92ZXI6OmFmdGVyLFxuICAgIC5oZWFkZXIgLm5hdl9faXRlbS5hY3RpdmU6aG92ZXIgPiAubmF2X19saW5rOjpiZWZvcmUsXG4gICAgLmhlYWRlciAubmF2X19pdGVtLmFjdGl2ZTpob3ZlciA+IC5uYXZfX2xpbms6OmFmdGVyLFxuICAgIC5oZWFkZXIgLm5hdl9faXRlbS5oZXJlOmhvdmVyID4gLm5hdl9fbGluazo6YmVmb3JlLFxuICAgIC5oZWFkZXIgLm5hdl9faXRlbS5oZXJlOmhvdmVyID4gLm5hdl9fbGluazo6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4pICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG59XG5cbi8qIFNlcnZpY2UgcGFnZSBiYW5uZXIgbW9iaWxlIGNvbnRlbnQgaGVpZ2h0ICovXG5AbWVkaWEgKG1heC13aWR0aDogNjI5cHgpIHtcbiAgICAud3JhcHBlcjpoYXMoLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbiAuc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQpIC5icmVhZGNydW1icyArIC5wYWdlLWJhbm5lciB7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjbGFtcCgyLjVyZW0sIDEwdncsIDMuMjVyZW0pICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIC53cmFwcGVyOmhhcygucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uIC5zZXJ2aWNlLWFkdmFudGFnZXMtZ3JpZCkgLmJyZWFkY3J1bWJzICsgLnBhZ2UtYmFubmVyIC5jb250YWluZXIsXG4gICAgLndyYXBwZXI6aGFzKC5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb24gLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkKSAuYnJlYWRjcnVtYnMgKyAucGFnZS1iYW5uZXIgLnBhZ2UtYmFubmVyX19jb250ZW50LFxuICAgIC53cmFwcGVyOmhhcygucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uIC5zZXJ2aWNlLWFkdmFudGFnZXMtZ3JpZCkgLmJyZWFkY3J1bWJzICsgLnBhZ2UtYmFubmVyIC5wYWdlLWJhbm5lcl9faGVhZCB7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiBUYXJnZXRlZCByZXZlcnNlIGFydGljbGUgb3JkZXIgb24gdGFibGV0ICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTYxcHgpIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAuYXJ0aWNsZS1zZWN0aW9uLmFydGljbGUtc2VjdGlvbl9yZXZlcnNlOmhhcyhpbWdbc3JjKj1cImluc3BlY3Rpb24tZXhwZXJ0LXBvcnRyYWl0LWNlbnRlcmVkXCJdKSA+IC5jb250YWluZXIsXG4gICAgLmFydGljbGUtc2VjdGlvbi5hcnRpY2xlLXNlY3Rpb25fcmV2ZXJzZTpoYXMoaW1nW3NyYyo9XCJhdXRob3JpemVkLXJlcHJlc2VudGF0aXZlLXBvcnRyYWl0LWNlbnRlcmVkXCJdKSA+IC5jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1zZWN0aW9uLmFydGljbGUtc2VjdGlvbl9yZXZlcnNlOmhhcyhpbWdbc3JjKj1cImluc3BlY3Rpb24tZXhwZXJ0LXBvcnRyYWl0LWNlbnRlcmVkXCJdKSAuc2VjdGlvbl9fY29udGVudCxcbiAgICAuYXJ0aWNsZS1zZWN0aW9uLmFydGljbGUtc2VjdGlvbl9yZXZlcnNlOmhhcyhpbWdbc3JjKj1cImF1dGhvcml6ZWQtcmVwcmVzZW50YXRpdmUtcG9ydHJhaXQtY2VudGVyZWRcIl0pIC5zZWN0aW9uX19jb250ZW50IHtcbiAgICAgICAgb3JkZXI6IDEgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1zZWN0aW9uLmFydGljbGUtc2VjdGlvbl9yZXZlcnNlOmhhcyhpbWdbc3JjKj1cImluc3BlY3Rpb24tZXhwZXJ0LXBvcnRyYWl0LWNlbnRlcmVkXCJdKSAuYXJ0aWNsZS1zZWN0aW9uX19pbWFnZSxcbiAgICAuYXJ0aWNsZS1zZWN0aW9uLmFydGljbGUtc2VjdGlvbl9yZXZlcnNlOmhhcyhpbWdbc3JjKj1cImF1dGhvcml6ZWQtcmVwcmVzZW50YXRpdmUtcG9ydHJhaXQtY2VudGVyZWRcIl0pIC5hcnRpY2xlLXNlY3Rpb25fX2ltYWdlIHtcbiAgICAgICAgb3JkZXI6IDIgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4vKiBBZGFwdGl2ZSBjYXJkIGdyaWQgY29sb3Igcmh5dGhtIGNvcnJlY3Rpb24gKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2MzBweCkgYW5kIChtYXgtd2lkdGg6IDExNjBweCkge1xuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnZpcmQtcmVxdWlyZWQtZ3JpZCkgLnZpcmQtcmVxdWlyZWQtY2FyZCxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC50ZXN0aW5nLXRyaWFscy1ncmlkKSAudGVzdGluZy10cmlhbHMtY2FyZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFQUYzRjggIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC52aXJkLXJlcXVpcmVkLWNhcmQ6bnRoLWNoaWxkKDEpLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnZpcmQtcmVxdWlyZWQtZ3JpZCkgLnZpcmQtcmVxdWlyZWQtY2FyZDpudGgtY2hpbGQoNCksXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudmlyZC1yZXF1aXJlZC1ncmlkKSAudmlyZC1yZXF1aXJlZC1jYXJkOm50aC1jaGlsZCg1KSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC52aXJkLXJlcXVpcmVkLWNhcmQ6bnRoLWNoaWxkKDgpLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnRlc3RpbmctdHJpYWxzLWdyaWQpIC50ZXN0aW5nLXRyaWFscy1jYXJkOm50aC1jaGlsZCgxKSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC50ZXN0aW5nLXRyaWFscy1ncmlkKSAudGVzdGluZy10cmlhbHMtY2FyZDpudGgtY2hpbGQoNCksXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudGVzdGluZy10cmlhbHMtZ3JpZCkgLnRlc3RpbmctdHJpYWxzLWNhcmQ6bnRoLWNoaWxkKDUpLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnRlc3RpbmctdHJpYWxzLWdyaWQpIC50ZXN0aW5nLXRyaWFscy1jYXJkOm50aC1jaGlsZCg4KSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1wcmltYXJ5LWRlZmF1bHQsICMxOThCQzQpICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjI5cHgpIHtcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC52aXJkLXJlcXVpcmVkLWNhcmQsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudGVzdGluZy10cmlhbHMtZ3JpZCkgLnRlc3RpbmctdHJpYWxzLWNhcmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUFGM0Y4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uOmhhcygudmlyZC1yZXF1aXJlZC1ncmlkKSAudmlyZC1yZXF1aXJlZC1jYXJkOm50aC1jaGlsZChvZGQpLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnRlc3RpbmctdHJpYWxzLWdyaWQpIC50ZXN0aW5nLXRyaWFscy1jYXJkOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LXByaW1hcnktZGVmYXVsdCwgIzE5OEJDNCkgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIFNlcnZpY2VzIHRhc2tzIGdyaWQgbGF5b3V0ICovXG5ib2R5OmhhcygubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFkdmFudGFnZXMtc2VjdGlvbikgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYWR2YW50YWdlcy1zZWN0aW9uIC5zd2lwZXIge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbmJvZHk6aGFzKC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYWR2YW50YWdlcy1zZWN0aW9uKSAjY29uc3RydWN0b3JfYmxvY2tfMy5hZHZhbnRhZ2VzLXNlY3Rpb24gLnN3aXBlci13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICAgIGdhcDogY2xhbXAoMXJlbSwgMS4ydncsIDEuNXJlbSk7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYm9keTpoYXMoLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfMy5hZHZhbnRhZ2VzLXNlY3Rpb24pICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFkdmFudGFnZXMtc2VjdGlvbiAuc3dpcGVyLXNsaWRlIHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYm9keTpoYXMoLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfMy5hZHZhbnRhZ2VzLXNlY3Rpb24pICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFkdmFudGFnZXMtc2VjdGlvbiAuYWR2YW50YWdlcy1jYXJkIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgYm9keTpoYXMoLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfMy5hZHZhbnRhZ2VzLXNlY3Rpb24pICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFkdmFudGFnZXMtc2VjdGlvbiAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjMwcHgpIHtcbiAgICBib2R5OmhhcygubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFkdmFudGFnZXMtc2VjdGlvbikgI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYWR2YW50YWdlcy1zZWN0aW9uIC5zd2lwZXItd3JhcHBlciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbn1cblxuLyogR2VudGltZWQgYnV0dG9uIGNvbmNlcHQgdXBkYXRlICovXG46cm9vdCB7XG4gICAgLS1nZW50aW1lZC1ibHVlLWhvdmVyOiAjMTQ3Q0IwO1xuICAgIC0tZ2VudGltZWQtZ3JlZW4taG92ZXI6ICMyNzlFNjQ7XG59XG5cbi5idXR0b246bm90KC5idXR0b25fc2Vjb25kYXJ5KTpub3QoLmJ1dHRvbl90ZXJ0aWFyeSk6bm90KC5idXR0b25fZm91cnRoKTpub3QoLmJ1dHRvbl9xdWF0ZXJuYXJ5KTpub3QoLmJ1dHRvbl9zb2NpYWwpOm5vdCguc2VjdGlvbl9fbW9yZSksXG4uYnV0dG9uLmJ1dHRvbl9wcmltYXJ5LFxuLmJ1dHRvbi5idXR0b25fdGVtcGxhdGU6bm90KC5idXR0b25fc2Vjb25kYXJ5KTpub3QoLmJ1dHRvbl90ZXJ0aWFyeSk6bm90KC5idXR0b25fZm91cnRoKTpub3QoLmJ1dHRvbl9xdWF0ZXJuYXJ5KTpub3QoLnNlY3Rpb25fX21vcmUpIHtcbiAgICAtLWJ1dHRvbi1iZy1jb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZSwgIzE5OEJDNCkgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1iZy1jb2xvci1ob3ZlcjogdmFyKC0tZ2VudGltZWQtYmx1ZS1ob3ZlciwgIzE0N0NCMCkgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3I6IHZhcigtLWdlbnRpbWVkLWJsdWUsICMxOThCQzQpICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tYm9yZGVyLWNvbG9yLWhvdmVyOiB2YXIoLS1nZW50aW1lZC1ibHVlLWhvdmVyLCAjMTQ3Q0IwKSAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLXRleHQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yLWhvdmVyOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24taWNvbi1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWljb24tY29sb3ItaG92ZXI6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuLmJ1dHRvbi5idXR0b25fc2Vjb25kYXJ5LFxuLmhlYWRlci1zZWNvbmRhcnlfX2J1dHRvbi5idXR0b24uYnV0dG9uX3NlY29uZGFyeSxcbi5tb2JpbGUtbWVudV9fYnV0dG9uLmJ1dHRvbi5idXR0b25fc2Vjb25kYXJ5IHtcbiAgICAtLWJ1dHRvbi1iZy1jb2xvcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4sICMyRUFENkYpICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tYmctY29sb3ItaG92ZXI6IHZhcigtLWdlbnRpbWVkLWdyZWVuLWhvdmVyLCAjMjc5RTY0KSAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4sICMyRUFENkYpICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tYm9yZGVyLWNvbG9yLWhvdmVyOiB2YXIoLS1nZW50aW1lZC1ncmVlbi1ob3ZlciwgIzI3OUU2NCkgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tdGV4dC1jb2xvci1ob3ZlcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWljb24tY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi5idXR0b24uYnV0dG9uX3RlcnRpYXJ5IHtcbiAgICAtLWJ1dHRvbi1iZy1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWJnLWNvbG9yLWhvdmVyOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tYm9yZGVyLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tYm9yZGVyLWNvbG9yLWhvdmVyOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tdGV4dC1jb2xvcjogIzBBMEEwQSAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLXRleHQtY29sb3ItaG92ZXI6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1pY29uLWNvbG9yOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24taWNvbi1jb2xvci1ob3ZlcjogIzBBMEEwQSAhaW1wb3J0YW50O1xufVxuXG4uYnV0dG9uLmJ1dHRvbl9mb3VydGgsXG4uYnV0dG9uLmJ1dHRvbl9xdWF0ZXJuYXJ5LFxuLnNlY3Rpb25fX21vcmUuYnV0dG9uLmJ1dHRvbl9zZWNvbmRhcnksXG4uYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5zZWN0aW9uX19tb3JlIHtcbiAgICAtLWJ1dHRvbi1iZy1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1iZy1jb2xvci1ob3ZlcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3I6IHZhcigtLWdlbnRpbWVkLWJsdWUsICMxOThCQzQpICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tYm9yZGVyLWNvbG9yLWhvdmVyOiB2YXIoLS1nZW50aW1lZC1ibHVlLWhvdmVyLCAjMTQ3Q0IwKSAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWJvcmRlci13aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tdGV4dC1jb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLCAjMEEwQTBBKSAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLXRleHQtY29sb3ItaG92ZXI6IHZhcigtLWdlbnRpbWVkLWJsdWUtaG92ZXIsICMxNDdDQjApICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24taWNvbi1jb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZSwgIzE5OEJDNCkgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyOiB2YXIoLS1nZW50aW1lZC1ibHVlLWhvdmVyLCAjMTQ3Q0IwKSAhaW1wb3J0YW50O1xufVxuXG4uYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZTpub3QoLmJ1dHRvbl9zZWNvbmRhcnkpOm5vdCguYnV0dG9uX3RlcnRpYXJ5KTpub3QoLmJ1dHRvbl9mb3VydGgpOm5vdCguYnV0dG9uX3F1YXRlcm5hcnkpOm5vdCguc2VjdGlvbl9fbW9yZSk6OmJlZm9yZSxcbi5idXR0b24uYnV0dG9uX3RlbXBsYXRlLm5vLWludmVydDpub3QoLmJ1dHRvbl90ZXJ0aWFyeSk6bm90KC5zZWN0aW9uX19tb3JlKTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nZW50aW1lZC1ibHVlLCAjMTk4QkM0KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdlbnRpbWVkLWJsdWUsICMxOThCQzQpICFpbXBvcnRhbnQ7XG59XG5cbi5idXR0b24uYnV0dG9uX3RlbXBsYXRlOm5vdCguYnV0dG9uX3NlY29uZGFyeSk6bm90KC5idXR0b25fdGVydGlhcnkpOm5vdCguYnV0dG9uX2ZvdXJ0aCk6bm90KC5idXR0b25fcXVhdGVybmFyeSk6bm90KC5zZWN0aW9uX19tb3JlKTpob3Zlcjo6YmVmb3JlLFxuLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUubm8taW52ZXJ0Om5vdCguYnV0dG9uX3RlcnRpYXJ5KTpub3QoLnNlY3Rpb25fX21vcmUpOmhvdmVyOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWdlbnRpbWVkLWJsdWUtaG92ZXIsICMxNDdDQjApICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1ibHVlLWhvdmVyLCAjMTQ3Q0IwKSAhaW1wb3J0YW50O1xufVxuXG4uYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fc2Vjb25kYXJ5OjpiZWZvcmUsXG4uaGVhZGVyLXNlY29uZGFyeV9fYnV0dG9uLmJ1dHRvbi5idXR0b25fc2Vjb25kYXJ5OjpiZWZvcmUsXG4ubW9iaWxlLW1lbnVfX2J1dHRvbi5idXR0b24uYnV0dG9uX3NlY29uZGFyeTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nZW50aW1lZC1ncmVlbiwgIzJFQUQ2RikgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1nZW50aW1lZC1ncmVlbiwgIzJFQUQ2RikgIWltcG9ydGFudDtcbn1cblxuLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3NlY29uZGFyeTpob3Zlcjo6YmVmb3JlLFxuLmhlYWRlci1zZWNvbmRhcnlfX2J1dHRvbi5idXR0b24uYnV0dG9uX3NlY29uZGFyeTpob3Zlcjo6YmVmb3JlLFxuLm1vYmlsZS1tZW51X19idXR0b24uYnV0dG9uLmJ1dHRvbl9zZWNvbmRhcnk6aG92ZXI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZ2VudGltZWQtZ3JlZW4taG92ZXIsICMyNzlFNjQpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1ncmVlbi1ob3ZlciwgIzI3OUU2NCkgIWltcG9ydGFudDtcbn1cblxuLmJ1dHRvbi5idXR0b25fdGVydGlhcnk6OmJlZm9yZSxcbi5idXR0b24uYnV0dG9uX3RlcnRpYXJ5OmhvdmVyOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbi5idXR0b24uYnV0dG9uX2ZvdXJ0aDo6YmVmb3JlLFxuLmJ1dHRvbi5idXR0b25fcXVhdGVybmFyeTo6YmVmb3JlLFxuLnNlY3Rpb25fX21vcmUuYnV0dG9uLmJ1dHRvbl9zZWNvbmRhcnk6OmJlZm9yZSxcbi5idXR0b24uYnV0dG9uX3RlbXBsYXRlLnNlY3Rpb25fX21vcmU6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1nZW50aW1lZC1ibHVlLCAjMTk4QkM0KSAhaW1wb3J0YW50O1xufVxuXG4uYnV0dG9uLmJ1dHRvbl9mb3VydGg6aG92ZXI6OmJlZm9yZSxcbi5idXR0b24uYnV0dG9uX3F1YXRlcm5hcnk6aG92ZXI6OmJlZm9yZSxcbi5zZWN0aW9uX19tb3JlLmJ1dHRvbi5idXR0b25fc2Vjb25kYXJ5OmhvdmVyOjpiZWZvcmUsXG4uYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5zZWN0aW9uX19tb3JlOmhvdmVyOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1ibHVlLWhvdmVyLCAjMTQ3Q0IwKSAhaW1wb3J0YW50O1xufVxuXG4uZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeSB7XG4gICAgLS1idXR0b24tYmctY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1iZy1jb2xvci1ob3ZlcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWJvcmRlci1jb2xvci1ob3ZlcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLXRleHQtY29sb3I6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yLWhvdmVyOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24taWNvbi1jb2xvcjogIzBBMEEwQSAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWljb24tY29sb3ItaG92ZXI6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzBBMEEwQSAhaW1wb3J0YW50O1xufVxuXG4uZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTo6YmVmb3JlLFxuLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnk6aG92ZXI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4vKiBTZXJ2aWNlcyB0YXNrcyBjYXJkIGNvbG9yIHJlZmluZW1lbnQgKi9cbmJvZHk6aGFzKC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYWR2YW50YWdlcy1zZWN0aW9uKSAjY29uc3RydWN0b3JfYmxvY2tfMy5hZHZhbnRhZ2VzLXNlY3Rpb24gLmFkdmFudGFnZXMtY2FyZCB7XG4gICAgLS1jYXJkLWJhY2tncm91bmQtY29sb3I6ICNFQUYzRjggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jYXJkLWJhY2tncm91bmQtY29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbmJvZHk6aGFzKC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYWR2YW50YWdlcy1zZWN0aW9uKSAjY29uc3RydWN0b3JfYmxvY2tfMy5hZHZhbnRhZ2VzLXNlY3Rpb24gLmFkdmFudGFnZXMtY2FyZCAuaWNvbiB7XG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIHNhdHVyYXRlKDEwMCUpIGludmVydCg0MyUpIHNlcGlhKDg1JSkgc2F0dXJhdGUoMTA3MiUpIGh1ZS1yb3RhdGUoMTY2ZGVnKSBicmlnaHRuZXNzKDg2JSkgY29udHJhc3QoOTAlKSAhaW1wb3J0YW50O1xufVxuXG4vKiBGcm9udCBiYW5uZXIgd2hpdGUgcHJpbWFyeSBidXR0b24gbG9jayAqL1xuLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeSxcbi5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnk6aG92ZXIsXG4uZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5OmZvY3VzLXZpc2libGUge1xuICAgIC0tYnV0dG9uLWJnLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tYmctY29sb3ItaG92ZXI6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3ItaG92ZXI6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tdGV4dC1jb2xvci1ob3ZlcjogIzBBMEEwQSAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWljb24tY29sb3I6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwQTBBMEEgIWltcG9ydGFudDtcbn1cblxuLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTo6YmVmb3JlLFxuLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTo6YWZ0ZXIsXG4uZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5OmhvdmVyOjpiZWZvcmUsXG4uZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5OmhvdmVyOjphZnRlcixcbi5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnk6Zm9jdXMtdmlzaWJsZTo6YmVmb3JlLFxuLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTpmb2N1cy12aXNpYmxlOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnkgLmJ1dHRvbl9fdGV4dCxcbi5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnkgLnRleHQsXG4uZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5IC5pY29uIHtcbiAgICBjb2xvcjogIzBBMEEwQSAhaW1wb3J0YW50O1xufVxuXG4vKiBTZXJ2aWNlIHdoeSBibG9ja3MgdXNlIGFkdmFudGFnZXMgY2FyZCB0eXBlICovXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uOmhhcyguc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQpIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc2VjdGlvbi1wYWRkaW5nKSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXdoaXRlLCAjRkZGRkZGKSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLXdoaXRlLCAjRkZGRkZGKSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbjpoYXMoLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkKSA+IC5jb250YWluZXIsXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uOmhhcyguc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQpIC5hcnRpY2xlLXNlY3Rpb25fX2NvbnRlbnQsXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uOmhhcyguc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQpIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzBBMEEwQSAhaW1wb3J0YW50O1xuICAgIGZvbnQ6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cblxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbjpoYXMoLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkKSAuYXJ0aWNsZS1zZWN0aW9uX19oZWFkLFxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbjpoYXMoLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkKSAuYXJ0aWNsZS1zZWN0aW9uX190aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICAgIGdhcDogY2xhbXAoMXJlbSwgMS4ydncsIDEuNXJlbSk7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cblxuQG1lZGlhIChtaW4td2lkdGg6IDYzMHB4KSBhbmQgKG1heC13aWR0aDogMTE2MHB4KSB7XG4gICAgLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KGNsYW1wKDE3LjVyZW0sIDMzdncsIDIycmVtKSwgMWZyKSk7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gICAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHggcHJveGltaXR5O1xuICAgIH1cblxuICAgIC5zZXJ2aWNlLWFkdmFudGFnZXMtZ3JpZDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5zZXJ2aWNlLWFkdmFudGFnZXMtZ3JpZCAuYWR2YW50YWdlcy1jYXJkIHtcbiAgICAgICAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYyOXB4KSB7XG4gICAgLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxuXG5cbn1cbi8qIFNlcnZpY2VzIHByb2plY3Qgc3RhZ2VzIGFkYXB0aXZlIGNvbG9yIHJoeXRobSAqL1xuI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhZ2UtY2FyZC1iZy1hbHQpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluaywgIzBBMEEwQSkgIWltcG9ydGFudDtcbn1cblxuI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZSAuc3RhZ2UtY2FyZC10NV9faW5kZXgge1xuICAgIGNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNTQpICFpbXBvcnRhbnQ7XG59XG5cbiNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGUgLnN0YWdlLWNhcmQtdDVfX3RpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLCAjMEEwQTBBKSAhaW1wb3J0YW50O1xufVxuXG4jY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlIC5zdGFnZS1jYXJkLXQ1X19kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluay1tdXRlZCwgcmdiYSgxMCwgMTAsIDEwLCAwLjcyKSkgIWltcG9ydGFudDtcbn1cblxuI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDUsXG4jY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhZ2UtY2FyZC1iZy1hY3RpdmUsICMxOThCQzQpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLnN0YWdlLWNhcmQtdDUsXG4jY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2VudGltZWQtZ3JlZW4sICMzMUFENzIpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cblxuI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDVfX3RpdGxlLFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uLFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLnN0YWdlLWNhcmQtdDVfX3RpdGxlLFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uLFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNSkgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNSkgLnN0YWdlLWNhcmQtdDVfX3RpdGxlLFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNSkgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uLFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLnN0YWdlLWNhcmQtdDVfX2luZGV4LFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLnN0YWdlLWNhcmQtdDVfX3RpdGxlLFxuI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjMxcHgpIGFuZCAobWF4LXdpZHRoOiAxMTYwcHgpIHtcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlIC5zdGFnZS1jYXJkLXQ1IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhZ2UtY2FyZC1iZy1hbHQsICNFOEVERjMpICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmssICMwQTBBMEEpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZSAuc3RhZ2UtY2FyZC10NV9faW5kZXgge1xuICAgICAgICBjb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjU0KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGUgLnN0YWdlLWNhcmQtdDVfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluaywgIzBBMEEwQSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlIC5zdGFnZS1jYXJkLXQ1X19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmstbXV0ZWQsIHJnYmEoMTAsIDEwLCAxMCwgMC43MikpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNCkgLnN0YWdlLWNhcmQtdDUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGFnZS1jYXJkLWJnLWFjdGl2ZSwgIzE5OEJDNCkgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuc3RhZ2UtY2FyZC10NSxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdlbnRpbWVkLWdyZWVuLCAjMzFBRDcyKSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDEpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDMpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDQpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg0KSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNCkgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YWdlLWNhcmQtYmctYWx0LCAjRThFREYzKSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLCAjMEEwQTBBKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDUpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNTQpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNSkgLnN0YWdlLWNhcmQtdDVfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluaywgIzBBMEEwQSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24ge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLW11dGVkLCByZ2JhKDEwLCAxMCwgMTAsIDAuNzIpKSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzMHB4KSB7XG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YWdlLWNhcmQtYmctYWx0LCAjRThFREYzKSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLCAjMEEwQTBBKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGUgLnN0YWdlLWNhcmQtdDVfX2luZGV4IHtcbiAgICAgICAgY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41NCkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlIC5zdGFnZS1jYXJkLXQ1X190aXRsZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nZW50aW1lZC1pbmssICMwQTBBMEEpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24ge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLW11dGVkLCByZ2JhKDEwLCAxMCwgMTAsIDAuNzIpKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDEpIC5zdGFnZS1jYXJkLXQ1LFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDQpIC5zdGFnZS1jYXJkLXQ1IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3RhZ2UtY2FyZC1iZy1hY3RpdmUsICMxOThCQzQpICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLnN0YWdlLWNhcmQtdDUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLnN0YWdlLWNhcmQtdDUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nZW50aW1lZC1ncmVlbiwgIzMxQUQ3MikgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YWdlLWNhcmQtYmctYWx0LCAjRThFREYzKSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLCAjMEEwQTBBKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDUpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNTQpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNSkgLnN0YWdlLWNhcmQtdDVfX3RpdGxlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluaywgIzBBMEEwQSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg1KSAuc3RhZ2UtY2FyZC10NV9fZGVzY3JpcHRpb24ge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rLW11dGVkLCByZ2JhKDEwLCAxMCwgMTAsIDAuNzIpKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDEpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgxKSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMSkgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDMpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgzKSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoMykgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDQpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg0KSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNCkgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uLFxuICAgICNjb25zdHJ1Y3Rvcl9ibG9ja182IC5zd2lwZXItc2xpZGU6bnRoLWNoaWxkKDYpIC5zdGFnZS1jYXJkLXQ1X19pbmRleCxcbiAgICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCg2KSAuc3RhZ2UtY2FyZC10NV9fdGl0bGUsXG4gICAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoNikgLnN0YWdlLWNhcmQtdDVfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICB9XG59XG4vKiBIZWFkZXIgaWNvbiBidXR0b25zIGhvdmVyICovXG4uaGVhZGVyIC5idXJnZXItYnV0dG9uLmJ1dHRvbixcbi5oZWFkZXIgLmhlYWRlci1wcmltYXJ5X19jYWxsLmJ1dHRvbiB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMjBtcyBlYXNlLCBib3JkZXItY29sb3IgMjIwbXMgZWFzZSwgY29sb3IgMjIwbXMgZWFzZTtcbn1cblxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAgIC5oZWFkZXIgLmJ1cmdlci1idXR0b24uYnV0dG9uOmhvdmVyLFxuICAgIC5oZWFkZXIgLmhlYWRlci1wcmltYXJ5X19jYWxsLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdlbnRpbWVkLWJsdWUtaG92ZXIsICMxNDdDQjApICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZS1ob3ZlciwgIzE0N0NCMCkgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5oZWFkZXIgLmJ1cmdlci1idXR0b24uYnV0dG9uOmZvY3VzLXZpc2libGUsXG4uaGVhZGVyIC5oZWFkZXItcHJpbWFyeV9fY2FsbC5idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ2VudGltZWQtYmx1ZS1ob3ZlciwgIzE0N0NCMCkgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWdlbnRpbWVkLWJsdWUtaG92ZXIsICMxNDdDQjApICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi8qIEZyb250IGJhbm5lciB0ZXJ0aWFyeSBidXR0b24gc3RyaWN0ICovXG4uZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLFxuLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCBidXR0b24uYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZSxcbi5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnksXG4uZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IGJ1dHRvbi5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwQTBBMEEgIWltcG9ydGFudDtcbn1cblxuLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZSBzdmcsXG4uZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlIHBhdGgsXG4uZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlIC5pY29uIHtcbiAgICBjb2xvcjogIzBBMEEwQSAhaW1wb3J0YW50O1xuICAgIHN0cm9rZTogY3VycmVudENvbG9yICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAuZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlOmhvdmVyLFxuICAgIC5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgYnV0dG9uLmJ1dHRvbi5idXR0b25fdGVtcGxhdGU6aG92ZXIsXG4gICAgLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTpob3ZlcixcbiAgICAuZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IGJ1dHRvbi5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0YzRjVGOCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItY29sb3I6ICNGM0Y1RjggIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGU6Zm9jdXMtdmlzaWJsZSxcbi5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgYnV0dG9uLmJ1dHRvbi5idXR0b25fdGVtcGxhdGU6Zm9jdXMtdmlzaWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0YzRjVGOCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogI0YzRjVGOCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG59XG4vKiBIb21lIGFib3V0IGFkdmFudGFnZXMgcmVzcG9uc2l2ZSBncmlkICovXG4uYWJvdXQtc2VjdGlvbi10MiAuYWJvdXQtc2VjdGlvbi10Ml9fYWR2YW50YWdlcyB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi5hYm91dC1zZWN0aW9uLXQyIC5hYm91dC1zZWN0aW9uLXQyX19hZHZhbnRhZ2VzOm5vdCguc3dpcGVyKSA+IC5hZHZhbnRhZ2VzLWFib3V0X3QyIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZmxleDogMSAxIDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYzMHB4KSBhbmQgKG1heC13aWR0aDogMTE2MHB4KSB7XG4gICAgLmFib3V0LXNlY3Rpb24tdDIgLmFib3V0LXNlY3Rpb24tdDJfX2FkdmFudGFnZXMge1xuICAgICAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKSAhaW1wb3J0YW50O1xuICAgICAgICBncmlkLWF1dG8tcm93czogMWZyO1xuICAgICAgICBnYXA6IGNsYW1wKDAuNzVyZW0sIDEuMnZ3LCAxcmVtKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5hYm91dC1zZWN0aW9uLXQyIC5hYm91dC1zZWN0aW9uLXQyX19hZHZhbnRhZ2VzID4gKiB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjI5cHgpIHtcbiAgICAuYWJvdXQtc2VjdGlvbi10MiAuYWJvdXQtc2VjdGlvbi10Ml9fYWR2YW50YWdlcyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSAhaW1wb3J0YW50O1xuICAgICAgICBncmlkLWF1dG8tcm93czogMWZyO1xuICAgICAgICBnYXA6IGNsYW1wKDAuNzVyZW0sIDN2dywgMXJlbSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYWJvdXQtc2VjdGlvbi10MiAuYWJvdXQtc2VjdGlvbi10Ml9fYWR2YW50YWdlcyA+ICoge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLyogU2VydmljZSBhZHZhbnRhZ2VzIGxpc3RpbmcgZmluYWwgcmVzZXQgKi9cbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb246aGFzKC5zZXJ2aWNlLWFkdmFudGFnZXMtZ3JpZCksXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC5zZXJ2aWNlLWFkdmFudGFnZXMtZ3JpZCksXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNC5hcnRpY2xlLXNlY3Rpb246aGFzKC5zZXJ2aWNlLWFkdmFudGFnZXMtZ3JpZCksXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNS5hcnRpY2xlLXNlY3Rpb246aGFzKC5zZXJ2aWNlLWFkdmFudGFnZXMtZ3JpZCksXG4ucGFnZS1iYW5uZXIgfiAjY29uc3RydWN0b3JfYmxvY2tfNi5hcnRpY2xlLXNlY3Rpb246aGFzKC5zZXJ2aWNlLWFkdmFudGFnZXMtZ3JpZCkge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zZWN0aW9uLXBhZGRpbmcpICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy13aGl0ZSwgI0ZGRkZGRikgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy13aGl0ZSwgI0ZGRkZGRikgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwQTBBMEEgIWltcG9ydGFudDtcbn1cblxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbjpoYXMoLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkKSA+IC5jb250YWluZXIsXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uOmhhcyguc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQpIC5zZWN0aW9uX19jb250ZW50LFxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbjpoYXMoLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkKSAuYXJ0aWNsZS1zZWN0aW9uX19jb250ZW50LFxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbjpoYXMoLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkKSAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIGdyaWQtY29sdW1uOiAxIC8gLTEgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICBmb250OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG59XG5cbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb246aGFzKC5zZXJ2aWNlLWFkdmFudGFnZXMtZ3JpZCkgLmFydGljbGUtc2VjdGlvbl9faGVhZCxcbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb246aGFzKC5zZXJ2aWNlLWFkdmFudGFnZXMtZ3JpZCkgLmFydGljbGUtc2VjdGlvbl9fdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbjpoYXMoLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkKSAuc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSkgIWltcG9ydGFudDtcbiAgICBnYXA6IGNsYW1wKDFyZW0sIDEuMnZ3LCAxLjVyZW0pICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuQG1lZGlhIChtaW4td2lkdGg6IDYzMHB4KSBhbmQgKG1heC13aWR0aDogMTE2MHB4KSB7XG4gICAgLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbjpoYXMoLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkKSAuc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoY2xhbXAoMTcuNXJlbSwgMzN2dywgMjJyZW0pLCAxZnIpKSAhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uOmhhcyguc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQpIC5zZXJ2aWNlLWFkdmFudGFnZXMtZ3JpZDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYyOXB4KSB7XG4gICAgLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbjpoYXMoLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkKSAuc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAhaW1wb3J0YW50O1xuICAgIH1cblxuXG59XG5cbi8qIFNlcnZpY2UgYWR2YW50YWdlcyBoZWFkIHZpc2liaWxpdHkgZml4ICovXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uOmhhcyguc2VydmljZS1hZHZhbnRhZ2VzLWdyaWQpIC5hcnRpY2xlLXNlY3Rpb25fX2hlYWQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbjpoYXMoLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkKSAuYXJ0aWNsZS1zZWN0aW9uX190aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBGcm9udCBiYW5uZXIgbGVmdCBDVEEgd2hpdGUgZmluYWwgKi9cbi5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fY29udGVudCAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCA+IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5LFxuLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19jb250ZW50IC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0ID4gYnV0dG9uLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnkge1xuICAgIC0tYnV0dG9uLWJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyOiAjRjNGNUY4ICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tYm9yZGVyLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tYm9yZGVyLWNvbG9yLWhvdmVyOiAjRjNGNUY4ICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tdGV4dC1jb2xvcjogIzBBMEEwQSAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLXRleHQtY29sb3ItaG92ZXI6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1pY29uLWNvbG9yOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24taWNvbi1jb2xvci1ob3ZlcjogIzBBMEEwQSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwQTBBMEEgIWltcG9ydGFudDtcbn1cblxuLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19jb250ZW50IC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0ID4gLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnk6OmJlZm9yZSxcbi5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fY29udGVudCAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCA+IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5OjphZnRlcixcbi5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fY29udGVudCAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCA+IGJ1dHRvbi5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5OjpiZWZvcmUsXG4uZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2NvbnRlbnQgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgPiBidXR0b24uYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2NvbnRlbnQgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgPiAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeSAuYnV0dG9uX190ZXh0LFxuLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19jb250ZW50IC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0ID4gLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnkgLnRleHQsXG4uZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2NvbnRlbnQgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgPiAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeSAuaWNvbixcbi5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fY29udGVudCAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCA+IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5IHN2Zyxcbi5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fY29udGVudCAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCA+IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5IHVzZSB7XG4gICAgY29sb3I6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3IgIWltcG9ydGFudDtcbiAgICBzdHJva2U6IGN1cnJlbnRDb2xvciAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19jb250ZW50IC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0ID4gLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnk6aG92ZXIsXG4gICAgLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19jb250ZW50IC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0ID4gYnV0dG9uLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRjNGNUY4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGM0Y1RjggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjRjNGNUY4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19jb250ZW50IC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0ID4gLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnk6aG92ZXI6OmJlZm9yZSxcbiAgICAuZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2NvbnRlbnQgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgPiAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTpob3Zlcjo6YWZ0ZXIsXG4gICAgLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19jb250ZW50IC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0ID4gYnV0dG9uLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnk6aG92ZXI6OmJlZm9yZSxcbiAgICAuZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2NvbnRlbnQgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgPiBidXR0b24uYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRjNGNUY4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGM0Y1RjggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjRjNGNUY4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiBGcm9udCBiYW5uZXIgQ1RBIHNwZWNpZmljaXR5IGZpeCAqL1xuYm9keSAuZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5Om5vdCguYnV0dG9uX3NlY29uZGFyeSk6bm90KC5idXR0b25fdGVydGlhcnkpOm5vdCguYnV0dG9uX2ZvdXJ0aCk6bm90KC5idXR0b25fcXVhdGVybmFyeSk6bm90KC5zZWN0aW9uX19tb3JlKSxcbmJvZHkgLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCBidXR0b24uYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTpub3QoLmJ1dHRvbl9zZWNvbmRhcnkpOm5vdCguYnV0dG9uX3RlcnRpYXJ5KTpub3QoLmJ1dHRvbl9mb3VydGgpOm5vdCguYnV0dG9uX3F1YXRlcm5hcnkpOm5vdCguc2VjdGlvbl9fbW9yZSkge1xuICAgIC0tYnV0dG9uLWJnLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tYmctY29sb3ItaG92ZXI6ICNGM0Y1RjggIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3ItaG92ZXI6ICNGM0Y1RjggIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi10ZXh0LWNvbG9yOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG4gICAgLS1idXR0b24tdGV4dC1jb2xvci1ob3ZlcjogIzBBMEEwQSAhaW1wb3J0YW50O1xuICAgIC0tYnV0dG9uLWljb24tY29sb3I6ICMwQTBBMEEgIWltcG9ydGFudDtcbiAgICAtLWJ1dHRvbi1pY29uLWNvbG9yLWhvdmVyOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMEEwQTBBICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTpub3QoLmJ1dHRvbl9zZWNvbmRhcnkpOm5vdCguYnV0dG9uX3RlcnRpYXJ5KTpub3QoLmJ1dHRvbl9mb3VydGgpOm5vdCguYnV0dG9uX3F1YXRlcm5hcnkpOm5vdCguc2VjdGlvbl9fbW9yZSk6OmJlZm9yZSxcbmJvZHkgLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCBidXR0b24uYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTpub3QoLmJ1dHRvbl9zZWNvbmRhcnkpOm5vdCguYnV0dG9uX3RlcnRpYXJ5KTpub3QoLmJ1dHRvbl9mb3VydGgpOm5vdCguYnV0dG9uX3F1YXRlcm5hcnkpOm5vdCguc2VjdGlvbl9fbW9yZSk6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTpub3QoLmJ1dHRvbl9zZWNvbmRhcnkpOm5vdCguYnV0dG9uX3RlcnRpYXJ5KTpub3QoLmJ1dHRvbl9mb3VydGgpOm5vdCguYnV0dG9uX3F1YXRlcm5hcnkpOm5vdCguc2VjdGlvbl9fbW9yZSk6OmFmdGVyLFxuYm9keSAuZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IGJ1dHRvbi5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5Om5vdCguYnV0dG9uX3NlY29uZGFyeSk6bm90KC5idXR0b25fdGVydGlhcnkpOm5vdCguYnV0dG9uX2ZvdXJ0aCk6bm90KC5idXR0b25fcXVhdGVybmFyeSk6bm90KC5zZWN0aW9uX19tb3JlKTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTpub3QoLmJ1dHRvbl9zZWNvbmRhcnkpOm5vdCguYnV0dG9uX3RlcnRpYXJ5KTpub3QoLmJ1dHRvbl9mb3VydGgpOm5vdCguYnV0dG9uX3F1YXRlcm5hcnkpOm5vdCguc2VjdGlvbl9fbW9yZSkgLmJ1dHRvbl9fdGV4dCxcbmJvZHkgLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCAuYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTpub3QoLmJ1dHRvbl9zZWNvbmRhcnkpOm5vdCguYnV0dG9uX3RlcnRpYXJ5KTpub3QoLmJ1dHRvbl9mb3VydGgpOm5vdCguYnV0dG9uX3F1YXRlcm5hcnkpOm5vdCguc2VjdGlvbl9fbW9yZSkgLnRleHQsXG5ib2R5IC5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnk6bm90KC5idXR0b25fc2Vjb25kYXJ5KTpub3QoLmJ1dHRvbl90ZXJ0aWFyeSk6bm90KC5idXR0b25fZm91cnRoKTpub3QoLmJ1dHRvbl9xdWF0ZXJuYXJ5KTpub3QoLnNlY3Rpb25fX21vcmUpIC5pY29uIHtcbiAgICBjb2xvcjogIzBBMEEwQSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgYm9keSAuZnJvbnQtYmFubmVyIC5mcm9udC1iYW5uZXJfX2J1dHRvbi1saXN0IC5idXR0b24uYnV0dG9uX3RlbXBsYXRlLmJ1dHRvbl9wcmltYXJ5Om5vdCguYnV0dG9uX3NlY29uZGFyeSk6bm90KC5idXR0b25fdGVydGlhcnkpOm5vdCguYnV0dG9uX2ZvdXJ0aCk6bm90KC5idXR0b25fcXVhdGVybmFyeSk6bm90KC5zZWN0aW9uX19tb3JlKTpob3Zlcjo6YmVmb3JlLFxuICAgIGJvZHkgLmZyb250LWJhbm5lciAuZnJvbnQtYmFubmVyX19idXR0b24tbGlzdCBidXR0b24uYnV0dG9uLmJ1dHRvbl90ZW1wbGF0ZS5idXR0b25fcHJpbWFyeTpub3QoLmJ1dHRvbl9zZWNvbmRhcnkpOm5vdCguYnV0dG9uX3RlcnRpYXJ5KTpub3QoLmJ1dHRvbl9mb3VydGgpOm5vdCguYnV0dG9uX3F1YXRlcm5hcnkpOm5vdCguc2VjdGlvbl9fbW9yZSk6aG92ZXI6OmJlZm9yZSxcbiAgICBib2R5IC5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnk6bm90KC5idXR0b25fc2Vjb25kYXJ5KTpub3QoLmJ1dHRvbl90ZXJ0aWFyeSk6bm90KC5idXR0b25fZm91cnRoKTpub3QoLmJ1dHRvbl9xdWF0ZXJuYXJ5KTpub3QoLnNlY3Rpb25fX21vcmUpOmhvdmVyOjphZnRlcixcbiAgICBib2R5IC5mcm9udC1iYW5uZXIgLmZyb250LWJhbm5lcl9fYnV0dG9uLWxpc3QgYnV0dG9uLmJ1dHRvbi5idXR0b25fdGVtcGxhdGUuYnV0dG9uX3ByaW1hcnk6bm90KC5idXR0b25fc2Vjb25kYXJ5KTpub3QoLmJ1dHRvbl90ZXJ0aWFyeSk6bm90KC5idXR0b25fZm91cnRoKTpub3QoLmJ1dHRvbl9xdWF0ZXJuYXJ5KTpub3QoLnNlY3Rpb25fX21vcmUpOmhvdmVyOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGM0Y1RjggIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0YzRjVGOCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItY29sb3I6ICNGM0Y1RjggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIFNwbGl0IHNlY3Rpb24gaGVhZCB2ZXJ0aWNhbCBjZW50ZXJpbmcgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5NjFweCkge1xuICAuc2VjdGlvbl9faGVhZDpoYXMoLnNlY3Rpb25fX3RleHQpLFxuICAuc2VjdGlvbl9fdGV4dDpoYXMoLnNlY3Rpb25fX3RpdGxlKTpoYXMoLnNlY3Rpb25fX2Rlc2NyaXB0aW9uKSxcbiAgI2NvbnN0cnVjdG9yX2Jsb2NrXzUgLnNlY3Rpb25fX2hlYWQsXG4gICNjb25zdHJ1Y3Rvcl9ibG9ja181IC5zZWN0aW9uX190ZXh0LFxuICAjY29uc3RydWN0b3JfYmxvY2tfNiAuc2VjdGlvbl9faGVhZCxcbiAgI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnNlY3Rpb25fX3RleHQsXG4gIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnNlY3Rpb25fX2hlYWQsXG4gIC5zZWN0aW9uOmhhcyguc3RhZ2UtY2FyZC10NSkgLnNlY3Rpb25fX3RleHQge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zZWN0aW9uX190ZXh0Omhhcyguc2VjdGlvbl9fdGl0bGUpOmhhcyguc2VjdGlvbl9fZGVzY3JpcHRpb24pLFxuICAuc2VjdGlvbl9fdGV4dDpoYXMoLnNlY3Rpb25fX3RpdGxlKTpoYXMoLnNlY3Rpb25fX2Rlc2NyaXB0aW9uKSAuc2VjdGlvbl9fdGl0bGUsXG4gIC5zZWN0aW9uX190ZXh0Omhhcyguc2VjdGlvbl9fdGl0bGUpOmhhcyguc2VjdGlvbl9fZGVzY3JpcHRpb24pIC5zZWN0aW9uX19kZXNjcmlwdGlvbiB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgIG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIFNlcnZpY2VzIGxpc3Rpbmc6IHJlbW92ZSBnYXAgcmVzZXJ2ZWQgZm9yIGhpZGRlbiBwYWdpbmF0aW9uIGNvbnRyb2xzICovXG4ubGlzdGluZzpoYXMoLnNlcnZpY2VzLWNhcmQpID4gI3Bkb3BhZ2Uge1xuICAgIGdhcDogMCAhaW1wb3J0YW50O1xufVxuXG4vKiBTZXJ2aWNlIFVUUCB1c2VzIHRoZSBuYXRpdmUgYWR2YW50YWdlcy1jYXJkIGNvbXBvbmVudCAqL1xuLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkIC5hZHZhbnRhZ2VzLWNhcmQge1xuICAgIC0tY2FyZC1iYWNrZ3JvdW5kLWNvbG9yOiAjRUFGM0Y4O1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cblxuLnNlcnZpY2UtYWR2YW50YWdlcy1ncmlkIC5hZHZhbnRhZ2VzLWNhcmQgPiAuaWNvbiB7XG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIHNhdHVyYXRlKDEwMCUpIGludmVydCg0MyUpIHNlcGlhKDg1JSkgc2F0dXJhdGUoMTA3MiUpIGh1ZS1yb3RhdGUoMTY2ZGVnKSBicmlnaHRuZXNzKDg2JSkgY29udHJhc3QoOTAlKTtcbn1cbi8qIFNlcnZpY2VzIHBhZ2UgcHJvamVjdCBzdGVwcyB1c2Ugb25lIHNlY3Rpb24gZ2FwIHdpdGhvdXQgYW4gZXh0cmEgY29udGVudCBtYXJnaW4uICovXG4ubWFpbiA+IC5saXN0aW5nOmhhcyguc2VydmljZXMtY2FyZCkgfiAjY29uc3RydWN0b3JfYmxvY2tfMiA+IC5jb250YWluZXIge1xuICAgIGdhcDogdmFyKC0tc2VjdGlvbi1nYXApO1xufVxuXG4ubWFpbiA+IC5saXN0aW5nOmhhcyguc2VydmljZXMtY2FyZCkgfiAjY29uc3RydWN0b3JfYmxvY2tfMiAuc2VjdGlvbl9fY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLyogUG9zdC1yZWdpc3RyYXRpb24gbW9uaXRvcmluZyBzZXBhcmF0ZXMgdGhlIGhlYWRpbmcgYW5kIGNhcmRzIHdpdGggdGVtcGxhdGUgZ2Fwcy4gKi9cbmJvZHk6aGFzKC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzYuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThCQzRcIl0pIC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLmFydGljbGUtc2VjdGlvbl9faGVhZCB7XG4gICAgZ2FwOiB2YXIoLS1ncmlkLXJvdy1nYXApO1xufVxuXG5ib2R5OmhhcygubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja182LmFydGljbGUtc2VjdGlvbltzdHlsZSo9XCIjMTk4QkM0XCJdKSAubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja18zIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiB2YXIoLS1zZWN0aW9uLWdhcCk7XG59XG5cbmJvZHk6aGFzKC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzYuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThCQzRcIl0pIC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzMgLnZpcmQtcmVxdWlyZWRfX2xlYWQge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbi8qIFBvc3QtcmVnaXN0cmF0aW9uIGFwcHJvYWNoIGNhcmRzIHVzZSBvbmUgc2VjdGlvbiBnYXAgd2l0aG91dCBjb250ZW50IG1hcmdpbi4gKi9cbmJvZHk6aGFzKC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzYuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThCQzRcIl0pIC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzQ6aGFzKC5zdGFnZS1jYXJkLXQ1KSA+IC5jb250YWluZXIge1xuICAgIGdhcDogdmFyKC0tc2VjdGlvbi1nYXApO1xufVxuXG5ib2R5OmhhcygubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja182LmFydGljbGUtc2VjdGlvbltzdHlsZSo9XCIjMTk4QkM0XCJdKSAubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja180Omhhcyguc3RhZ2UtY2FyZC10NSkgLnNlY3Rpb25fX2NvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cbi8qIFBvcnRyYWl0IGFydGljbGUgY29weSBibG9ja3MgdXNlIHRoZSBuYXRpdmUgaGVhZGluZyBnYXAgYW5kIG5vIGludGVybmFsIGZsZXggZ2FwLiAqL1xuLmFydGljbGUtc2VjdGlvbjpoYXMoaW1nW3NyYyo9XCJhdXRob3JpemVkLXJlcHJlc2VudGF0aXZlLXBvcnRyYWl0LWNlbnRlcmVkXCJdKSAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlLFxuLmFydGljbGUtc2VjdGlvbjpoYXMoaW1nW3NyYyo9XCJpbnNwZWN0aW9uLWV4cGVydC1wb3J0cmFpdC1jZW50ZXJlZFwiXSkgLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSB7XG4gICAgZ2FwOiAwO1xufVxuLyogVGVzdGluZyB0cmlhbHMgc2VjdGlvbiB0aXRsZSBoYXMgbm8gZXh0cmEgYm90dG9tIG1hcmdpbi4gKi9cbiNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbjpoYXMoLnRlc3RpbmctdHJpYWxzLWdyaWQpIC5hcnRpY2xlLXNlY3Rpb25fX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4vKiBWSVJEIHJlcXVpcmVkIHNlY3Rpb24gdGl0bGUgaGFzIG5vIGV4dHJhIGJvdHRvbSBtYXJnaW4uICovXG4jY29uc3RydWN0b3JfYmxvY2tfMy5hcnRpY2xlLXNlY3Rpb246aGFzKC52aXJkLXJlcXVpcmVkLWdyaWQpIC5hcnRpY2xlLXNlY3Rpb25fX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4vKiBTZXJ2aWNlIHJlc3VsdCBzZWN0aW9ucyB1c2UgdGhlIG5hdGl2ZSBhcnRpY2xlIGhlYWRpbmcgZ2FwIGluc3RlYWQgb2YgdGV4dCBtYXJnaW4uICovXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThCQzRcIl0gLmFydGljbGUtc2VjdGlvbl9faGVhZCxcbi5wYWdlLWJhbm5lciB+IC5hcnRpY2xlLXNlY3Rpb25bc3R5bGUqPVwiIzE5OGJjNFwiXSAuYXJ0aWNsZS1zZWN0aW9uX19oZWFkIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLnBhZ2UtYmFubmVyIH4gLmFydGljbGUtc2VjdGlvbltzdHlsZSo9XCIjMTk4QkM0XCJdIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUsXG4ucGFnZS1iYW5uZXIgfiAuYXJ0aWNsZS1zZWN0aW9uW3N0eWxlKj1cIiMxOThiYzRcIl0gLmFydGljbGUtc2VjdGlvbl9fYXJ0aWNsZSB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLyogSG9tZXBhZ2UgY29zdCBjb3B5IGhhcyBpdHMgb3duIG5hdGl2ZSBhcnRpY2xlIGhlYWRpbmcgZ2FwLiAqL1xuYm9keSAubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja183LmFydGljbGUtc2VjdGlvbiA+IC5jb250YWluZXIge1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgIFwiY29zdC1tZWRpYSBjb3N0LWNvcHlcIlxuICAgICAgICBcImNvc3QtbWVkaWEgY29zdC1idXR0b25cIlxuICAgICAgICBcImNvc3QtcHJpY2UtdGl0bGUgY29zdC1wcmljZS10aXRsZVwiXG4gICAgICAgIFwiY29zdC1wcmljZXMgY29zdC1wcmljZXNcIlxuICAgICAgICBcImNvc3Qtbm90ZSBjb3N0LW5vdGVcIjtcbn1cblxuYm9keSAubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5jb3N0LWNvcHktZ3JvdXAge1xuICAgIGdyaWQtYXJlYTogY29zdC1jb3B5O1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgZ2FwOiBpbmhlcml0O1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuYm9keSAubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5jb3N0LWNvcHktZ3JvdXAgLmFydGljbGUtc2VjdGlvbl9fdGl0bGUsXG5ib2R5IC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmNvc3QtY29weS1ncm91cF9fbGVhZCB7XG4gICAgZ3JpZC1hcmVhOiBhdXRvO1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuXG5ib2R5IC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmNvc3QtY29weS1ncm91cF9fbGVhZCxcbmJvZHkgLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfNyAuY29zdC1ub3RlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICBmb250OiB2YXIoLS1mb250LWJvZHktTC1yKSAhaW1wb3J0YW50O1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xufVxuXG5ib2R5IC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzcgLmNvc3QtY29weS1ncm91cF9fbGVhZCB7XG4gICAgY29sb3I6IHZhcigtLWdlbnRpbWVkLWluayk7XG59XG5cbmJvZHkgLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfNyAuY29zdC1wcmljZS10aXRsZSB7XG4gICAgZ3JpZC1hcmVhOiBjb3N0LXByaWNlLXRpdGxlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiBjbGFtcCgxLjVyZW0sIDIuMnZ3LCAyLjI1cmVtKSAwIDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tZ2VudGltZWQtaW5rKSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS41cmVtLCAxLjE2cmVtICsgMC45dncsIDIuMjVyZW0pICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTUgIWltcG9ydGFudDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuYm9keSAubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5jb3N0LXByaWNlLXRpdGxlIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuYm9keSAubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5jb3N0LW5vdGUge1xuICAgIGdyaWQtYXJlYTogY29zdC1ub3RlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgIGJvZHkgLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfNy5hcnRpY2xlLXNlY3Rpb24gPiAuY29udGFpbmVyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgICAgIFwiY29zdC1jb3B5XCJcbiAgICAgICAgICAgIFwiY29zdC1tZWRpYVwiXG4gICAgICAgICAgICBcImNvc3QtYnV0dG9uXCJcbiAgICAgICAgICAgIFwiY29zdC1wcmljZS10aXRsZVwiXG4gICAgICAgICAgICBcImNvc3QtcHJpY2VzXCJcbiAgICAgICAgICAgIFwiY29zdC1ub3RlXCI7XG4gICAgfVxufVxuLyogSG9tZXBhZ2UgY29zdCBzZWN0aW9uIHVzZXMgdGhlIHRlbXBsYXRlIGdyaWQgcm93IHJoeXRobS4gKi9cbmJvZHkgLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfNy5hcnRpY2xlLXNlY3Rpb24gPiAuY29udGFpbmVyIHtcbiAgICByb3ctZ2FwOiB2YXIoLS1ncmlkLXJvdy1nYXApO1xufVxuXG5ib2R5IC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzkgLmFydGljbGUtc2VjdGlvbl9faGVhZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLyogSG9tZXBhZ2UgY29zdCBzZWN0aW9uIHRpdGxlIGhhcyBubyBleHRyYSBib3R0b20gbWFyZ2luLiAqL1xuYm9keSAubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja183IC5hcnRpY2xlLXNlY3Rpb25fX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4vKiBIb21lcGFnZSBhdWRpZW5jZSByb3V0ZXMgdXNlIHRoZSBzZWN0aW9uIHJoeXRobSBiZXR3ZWVuIGhlYWRpbmcgYW5kIGNhcmRzLiAqL1xuYm9keSAubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja181ID4gLmNvbnRhaW5lciB7XG4gICAgZ2FwOiB2YXIoLS1zZWN0aW9uLWdhcCk7XG59XG5cbmJvZHkgLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfNSAuYXJ0aWNsZS1zZWN0aW9uLXQyX19hcnRpY2xlIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4vKiBIb21lcGFnZSBzdHJhdGVneSB1c2VzIHRoZSBzZWN0aW9uIHJoeXRobSBiZXR3ZWVuIGl0cyBoZWFkaW5nIGFuZCBjYXJkcy4gKi9cbmJvZHkgLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfNiA+IC5jb250YWluZXIge1xuICAgIGdhcDogdmFyKC0tc2VjdGlvbi1nYXApO1xufVxuXG5ib2R5IC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzYgLnNlY3Rpb25fX2NvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cbi8qIEhvbWVwYWdlIHNlcnZpY2VzOiB1c2UgZ3JpZCByaHl0aG0gYWZ0ZXIgdGhlIGhlYWRpbmcgYW5kIHNlY3Rpb24gcmh5dGhtIGJlZm9yZSBjYXJkcy4gKi9cbmJvZHk6aGFzKC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzUuYXJ0aWNsZS1zZWN0aW9uLXQyKSAubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19oZWFkIHtcbiAgICBnYXA6IHZhcigtLWdyaWQtcm93LWdhcCk7XG59XG5cbmJvZHk6aGFzKC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzUuYXJ0aWNsZS1zZWN0aW9uLXQyKSAubWFpbiA+ICNjb25zdHJ1Y3Rvcl9ibG9ja18zLmFydGljbGUtc2VjdGlvbiAuYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlIHtcbiAgICBnYXA6IHZhcigtLXNlY3Rpb24tZ2FwKTtcbn1cblxuYm9keTpoYXMoLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfNS5hcnRpY2xlLXNlY3Rpb24tdDIpIC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuYm9keTpoYXMoLm1haW4gPiAjY29uc3RydWN0b3JfYmxvY2tfNS5hcnRpY2xlLXNlY3Rpb24tdDIpIC5tYWluID4gI2NvbnN0cnVjdG9yX2Jsb2NrXzMuYXJ0aWNsZS1zZWN0aW9uIC5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUgPiBwOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4vKiBUZXh0LWJlYXJpbmcgbGF5b3V0IGJveGVzIG11c3QgYWx3YXlzIGZvbGxvdyB0aGVpciBjb250ZW50IGhlaWdodC4gKi9cbi5zZWN0aW9uX19oZWFkLFxuLnNlY3Rpb25fX3RleHQsXG4uc2VjdGlvbl9fdGl0bGUsXG4uc2VjdGlvbl9fZGVzY3JpcHRpb24sXG4uc2VjdGlvbl9fY29udGVudCxcbi5hcnRpY2xlLXNlY3Rpb25fX2hlYWQsXG4uYXJ0aWNsZS1zZWN0aW9uX190aXRsZSxcbi5hcnRpY2xlLXNlY3Rpb25fX2FydGljbGUsXG4ucGFnZS1iYW5uZXJfX2NvbnRlbnQsXG4ucGFnZS1iYW5uZXJfX2hlYWQsXG4uZnJvbnQtYmFubmVyX19jb250ZW50IHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG59XG5cbi5zZWN0aW9uX19oZWFkLFxuLnNlY3Rpb25fX3RleHQsXG4uc2VjdGlvbl9fdGl0bGUsXG4uc2VjdGlvbl9fZGVzY3JpcHRpb24sXG4uYXJ0aWNsZS1zZWN0aW9uX19oZWFkLFxuLmFydGljbGUtc2VjdGlvbl9fdGl0bGUsXG4uYXJ0aWNsZS1zZWN0aW9uX19hcnRpY2xlLFxuLnBhZ2UtYmFubmVyX19jb250ZW50LFxuLnBhZ2UtYmFubmVyX19oZWFkLFxuLmZyb250LWJhbm5lcl9fY29udGVudCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qIFJlc291cmNlIDE1NSBwbGFjZWhvbGRlci4gKi9cbi5mb3JlaWduLXBhZ2UtcGxhY2Vob2xkZXItc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogY2xhbXAoNXJlbSwgOXZ3LCA5cmVtKSAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmN2ZiZmI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5mb3JlaWduLXBhZ2UtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBjbGFtcCgxMnJlbSwgMjR2dywgMjByZW0pO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZvcmVpZ24tcGFnZS1wbGFjZWhvbGRlcl9fdGl0bGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbiwgIzFmOTVjOCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgyLjc1cmVtLCA1LjJ2dywgNXJlbSk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4wODtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgIH1cbiJdfQ== */
