/*-- -------------------------- -->
<---          Stats             -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #stats-2025 {
    background: var(--alternateBG);
    padding: clamp(3.75rem, 8vw, 5rem) 1rem;
  }
  #stats-2025 .cs-container {
    width: 100%;
    max-width: 82.5rem;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
  #stats-2025 .cs-stat {
    text-align: center;
    padding: 0 1rem;
    position: relative;
  }
  #stats-2025 .cs-num {
    font-family: 'Tenor Sans', Arial, sans-serif;
    font-weight: 400;
    font-size: clamp(3rem, 5.5vw, 5.25rem);
    line-height: 1;
    color: var(--primary);
    display: inline-flex;
    align-items: flex-start;
  }
  #stats-2025 .cs-plus {
    color: var(--secondary);
    font-size: 0.55em;
    margin-left: 2px;
    margin-top: 0.18em;
  }
  #stats-2025 .cs-rule {
    width: 2rem;
    height: 1px;
    background: var(--secondary);
    margin: 0.875rem auto 0;
  }
  #stats-2025 .cs-label {
    font-family: 'Manrope', -apple-system, system-ui, sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--bodyTextColor);
    margin-top: 1rem;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #stats-2025 .cs-container {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
  }
  #stats-2025 .cs-stat:not(:last-child)::after {
    content: "";
    position: absolute;
    right: -12px;
    top: 14%;
    bottom: 14%;
    width: 1px;
    background: rgba(26, 26, 26, 0.12);
  }
}
/*-- -------------------------- -->
<---          About             -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #about-2025 {
    padding: clamp(3.75rem, 8vw, 8.75rem) 1rem;
  }
  #about-2025 .cs-container {
    width: 100%;
    max-width: 82.5rem;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: clamp(3rem, 6vw, 6rem);
  }
  #about-2025 .cs-topper {
    color: var(--primary);
  }
  #about-2025 .cs-content {
    max-width: 33.75rem;
  }
  #about-2025 .cs-title {
    font-family: 'Tenor Sans', Arial, sans-serif;
    font-weight: 400;
    font-size: clamp(2.25rem, 4.4vw, 3.75rem);
    line-height: 1.04;
    letter-spacing: -0.015em;
    color: var(--headerColor);
    margin: 1.375rem 0 1.75rem;
  }
  #about-2025 .cs-title em {
    font-style: italic;
    color: var(--secondary);
  }
  #about-2025 .cs-body {
    font-size: 1.0625rem;
    line-height: 1.65;
    color: var(--bodyTextColor);
  }
  #about-2025 .cs-body p {
    margin: 0 0 1rem;
  }
  #about-2025 .cs-cta {
    margin-top: 2.25rem;
  }
  #about-2025 .cs-button-outline {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    font-family: 'Manrope', -apple-system, system-ui, sans-serif;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    padding: 1rem 1.75rem;
    background: transparent;
    color: var(--headerColor);
    border: 1px solid var(--headerColor);
    transition: all 0.25s ease;
  }
  #about-2025 .cs-button-outline .cs-arr {
    transition: transform 0.25s ease;
  }
  #about-2025 .cs-button-outline:hover {
    background: var(--headerColor);
    color: #fff;
  }
  #about-2025 .cs-button-outline:hover .cs-arr {
    transform: translateX(4px);
  }
  #about-2025 .cs-sig {
    margin-top: 2.25rem;
    padding-top: 1.75rem;
    border-top: 1px solid rgba(26, 26, 26, 0.12);
  }
  #about-2025 .cs-sig-name {
    font-family: 'Tenor Sans', Arial, sans-serif;
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1.1;
    color: var(--headerColor);
  }
  #about-2025 .cs-sig-title {
    font-family: 'Manrope', -apple-system, system-ui, sans-serif;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--bodyTextColor);
    margin-top: 0.375rem;
  }
  #about-2025 .cs-media {
    position: relative;
    background: var(--creamWarm);
    width: 100%;
  }
  #about-2025 .cs-media picture {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
  }
  #about-2025 .cs-media img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #about-2025 .cs-media-tag {
    position: absolute;
    bottom: 1.5rem;
    left: 1.5rem;
    background: #fff;
    padding: 0.875rem 1.125rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
  }
  #about-2025 .cs-media-tag .cs-num {
    font-family: 'Tenor Sans', Arial, sans-serif;
    font-size: 2rem;
    color: var(--primary);
    line-height: 1;
  }
  #about-2025 .cs-media-tag .cs-lbl {
    font-size: 0.625rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--bodyTextColor);
    font-weight: 600;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #about-2025 .cs-container {
    flex-direction: row;
    align-items: center;
    gap: 6rem;
  }
  #about-2025 .cs-content {
    flex: 1;
  }
  #about-2025 .cs-media {
    flex: 1.05;
  }
}
/*-- -------------------------- -->
<---         Services           -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #services-1355 {
    padding: clamp(3.75rem, 8vw, 8.75rem) 1rem;
    background: var(--alternateBG);
  }
  #services-1355 .cs-container {
    width: 100%;
    max-width: 82.5rem;
    margin: 0 auto;
  }
  #services-1355 .cs-header {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
    margin-bottom: clamp(2.5rem, 5vw, 4rem);
  }
  #services-1355 .cs-topper {
    color: var(--primary);
  }
  #services-1355 .cs-intro {
    max-width: 36ch;
  }
  #services-1355 .cs-title {
    font-family: 'Tenor Sans', Arial, sans-serif;
    font-weight: 400;
    font-size: clamp(2.25rem, 4.4vw, 3.75rem);
    line-height: 1.04;
    letter-spacing: -0.015em;
    color: var(--headerColor);
    margin: 1.375rem 0 0;
  }
  #services-1355 .cs-title em {
    font-style: italic;
    color: var(--secondary);
  }
  #services-1355 .cs-lead {
    font-size: 1.125rem;
    line-height: 1.6;
    color: var(--bodyTextColor);
    max-width: 50ch;
  }
  #services-1355 .cs-card-group {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  #services-1355 .cs-item {
    background: #fff;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease;
  }
  #services-1355 .cs-item:hover {
    transform: translateY(-4px);
  }
  #services-1355 .cs-item:hover .cs-card-media img {
    transform: scale(1.04);
  }
  #services-1355 .cs-card-media {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--creamWarm);
  }
  #services-1355 .cs-card-media img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    transition: transform 0.6s ease;
    display: block;
  }
  #services-1355 .cs-num {
    position: absolute;
    top: 1.25rem;
    left: 1.25rem;
    font-family: 'Tenor Sans', Arial, sans-serif;
    font-size: 1rem;
    font-weight: 500;
    color: #fff;
    letter-spacing: 0.1em;
    background: rgba(20, 41, 15, 0.6);
    backdrop-filter: blur(4px);
    padding: 0.375rem 0.75rem;
    z-index: 1;
  }
  #services-1355 .cs-card-body {
    padding: 2rem 1.5rem 1.5rem;
    display: flex;
    flex-direction: column;
    flex: 1;
  }
  #services-1355 .cs-h3 {
    font-family: 'Tenor Sans', Arial, sans-serif;
    font-size: 2rem;
    font-weight: 400;
    color: var(--headerColor);
    margin: 0 0 0.875rem;
    letter-spacing: -0.01em;
  }
  #services-1355 .cs-text {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--bodyTextColor);
    margin: 0 0 1.25rem;
    flex: 1;
  }
  #services-1355 .cs-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--primary);
    text-decoration: none;
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--secondary);
    align-self: flex-start;
    transition: color 0.25s;
  }
  #services-1355 .cs-link:hover {
    color: var(--goldDark);
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #services-1355 .cs-card-group {
    grid-template-columns: repeat(3, 1fr);
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #services-1355 .cs-header {
    flex-direction: row;
    align-items: flex-end;
    gap: 3rem;
  }
}
/*-- -------------------------- -->
<---         Why AHG            -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #why-2025 {
    padding: clamp(3.75rem, 8vw, 8.75rem) 1rem;
  }
  #why-2025 .cs-container {
    width: 100%;
    max-width: 82.5rem;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: clamp(3rem, 6vw, 4rem);
  }
  #why-2025 .cs-topper {
    color: var(--primary);
  }
  #why-2025 .cs-intro {
    max-width: 33.75rem;
  }
  #why-2025 .cs-title {
    font-family: 'Tenor Sans', Arial, sans-serif;
    font-weight: 400;
    font-size: clamp(2.25rem, 4.4vw, 3.75rem);
    line-height: 1.04;
    letter-spacing: -0.015em;
    color: var(--headerColor);
    margin: 1.375rem 0 0;
  }
  #why-2025 .cs-title em {
    font-style: italic;
    color: var(--secondary);
  }
  #why-2025 .cs-gold-rule {
    width: 3.75rem;
    height: 2px;
    background: var(--secondary);
    margin: 1.5rem 0;
  }
  #why-2025 .cs-quote {
    font-family: 'Tenor Sans', Arial, sans-serif;
    font-style: italic;
    font-size: clamp(1.125rem, 2vw, 1.375rem);
    line-height: 1.4;
    color: var(--headerColor);
    max-width: 30ch;
    margin: 0;
  }
  #why-2025 .cs-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
  }
  #why-2025 .cs-item {
    display: grid;
    grid-template-columns: 3.5rem 1fr;
    gap: 1.5rem;
    padding: 1.75rem 0;
    border-top: 1px solid rgba(26, 26, 26, 0.12);
    align-items: start;
  }
  #why-2025 .cs-item:last-child {
    border-bottom: 1px solid rgba(26, 26, 26, 0.12);
  }
  #why-2025 .cs-num {
    font-family: 'Tenor Sans', Arial, sans-serif;
    font-size: 2.25rem;
    color: var(--secondary);
    line-height: 1;
    font-weight: 400;
  }
  #why-2025 .cs-num::before {
    content: "0";
    opacity: 0.4;
  }
  #why-2025 .cs-h4 {
    font-family: 'Tenor Sans', Arial, sans-serif;
    font-size: clamp(1.375rem, 2vw, 1.625rem);
    font-weight: 400;
    margin: 0 0 0.5rem;
    color: var(--headerColor);
  }
  #why-2025 .cs-text {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--bodyTextColor);
    margin: 0;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #why-2025 .cs-container {
    flex-direction: row;
    gap: 6rem;
    align-items: start;
  }
  #why-2025 .cs-intro {
    position: sticky;
    top: 7.5rem;
    flex-shrink: 0;
    width: 42%;
  }
  #why-2025 .cs-list {
    flex: 1;
  }
  #why-2025 .cs-item {
    grid-template-columns: 5rem 1fr;
    gap: 2rem;
    padding: 2.25rem 0;
  }
}
/*-- -------------------------- -->
<---           Logos            -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #logos-1896 {
    /* 60px - 120px top & bottom */
    /* 16px - 40px left & right */
    padding: clamp(3.75rem, 8vw, 7.5rem) clamp(1rem, 2vw, 2.5rem);
    background-color: var(--alternateBG);
  }
  #logos-1896 .cs-container {
    text-align: center;
    width: 100%;
    max-width: 80rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    /* 48px - 64px */
    gap: clamp(3rem, 6vw, 4rem);
  }
  #logos-1896 .cs-title {
    font-size: 1.5625rem;
    font-weight: 700;
    margin: 0;
  }
  #logos-1896 .cs-logo-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.5rem;
    align-self: stretch;
  }
  #logos-1896 .cs-logo {
    width: 45%;
    max-width: 12.5rem;
    height: auto;
    margin: 0;
    mix-blend-mode: darken;
    display: block;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #logos-1896 .cs-logo {
    width: 15%;
    /* the max width becomes whatever the actual width of the image is */
    max-width: -moz-max-content;
    max-width: max-content;
  }
}
/* Large Desktop - 1300px */
@media only screen and (min-width: 81.25rem) {
  #logos-1896 .cs-logo-wrapper {
    justify-content: space-between;
  }
}
/*-- -------------------------- -->
<---       Testimonial          -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #testimonial-2025 {
    padding: clamp(3.75rem, 8vw, 8.75rem) 1rem;
    background: var(--deepGreen);
    color: var(--bodyTextColorWhite);
    position: relative;
    overflow: hidden;
  }
  #testimonial-2025::before {
    content: "\201C";
    position: absolute;
    font-family: 'Tenor Sans', Arial, sans-serif;
    font-size: clamp(280px, 30vw, 460px);
    line-height: 0.7;
    color: var(--secondary);
    opacity: 0.16;
    top: -30px;
    left: 6%;
    pointer-events: none;
  }
  #testimonial-2025 .cs-container {
    width: 100%;
    max-width: 82.5rem;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: clamp(3rem, 6vw, 5rem);
    position: relative;
    z-index: 1;
  }
  #testimonial-2025 .cs-topper {
    color: var(--secondary);
  }
  #testimonial-2025 .cs-topper::before {
    background: var(--secondary);
  }
  #testimonial-2025 .cs-quote {
    font-family: 'Tenor Sans', Arial, sans-serif;
    font-size: clamp(1.5rem, 2.6vw, 2.375rem);
    line-height: 1.35;
    font-weight: 400;
    color: var(--bodyTextColorWhite);
    margin: 1.75rem 0 0;
    letter-spacing: -0.005em;
  }
  #testimonial-2025 .cs-quote em {
    color: var(--secondary);
    font-style: italic;
  }
  #testimonial-2025 .cs-meta {
    margin-top: 2.25rem;
    display: flex;
    align-items: center;
    gap: 1.125rem;
  }
  #testimonial-2025 .cs-avatar {
    width: 3.75rem;
    height: 3.75rem;
    border-radius: 50%;
    background: var(--secondary);
    flex-shrink: 0;
  }
  #testimonial-2025 .cs-name {
    font-family: 'Tenor Sans', Arial, sans-serif;
    font-size: 1.25rem;
    color: var(--bodyTextColorWhite);
    font-weight: 500;
  }
  #testimonial-2025 .cs-role {
    font-size: 0.6875rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--secondary);
    font-weight: 600;
    margin-top: 0.25rem;
  }
  #testimonial-2025 .cs-nav {
    margin-top: 2.5rem;
    display: flex;
    gap: 0.875rem;
    align-items: center;
  }
  #testimonial-2025 .cs-btn {
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.3);
    background: transparent;
    color: var(--bodyTextColorWhite);
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: all 0.2s ease;
    font-size: 0.875rem;
  }
  #testimonial-2025 .cs-btn:hover {
    background: var(--secondary);
    border-color: var(--secondary);
    color: var(--headerColor);
  }
  #testimonial-2025 .cs-count {
    margin-left: auto;
    font-size: 0.75rem;
    letter-spacing: 0.22em;
    color: rgba(255, 255, 255, 0.5);
  }
  #testimonial-2025 .cs-count strong {
    color: var(--secondary);
    font-weight: 500;
  }
  #testimonial-2025 .cs-side {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
  }
  #testimonial-2025 .cs-row {
    display: grid;
    grid-template-columns: 5rem 1fr;
    gap: 1.25rem;
    align-items: center;
  }
  #testimonial-2025 .cs-side-num {
    font-family: 'Tenor Sans', Arial, sans-serif;
    font-size: 2rem;
    color: var(--secondary);
  }
  #testimonial-2025 .cs-unit {
    font-size: 0.5em;
    opacity: 0.7;
  }
  #testimonial-2025 .cs-side-text {
    font-size: 0.8125rem;
    letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.5;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #testimonial-2025 .cs-container {
    flex-direction: row;
    gap: 5rem;
    align-items: center;
  }
  #testimonial-2025 .cs-content {
    flex: 1;
  }
  #testimonial-2025 .cs-side {
    flex: 1;
    padding-left: 3.5rem;
    border-left: 1px solid rgba(255, 255, 255, 0.18);
  }
}
/*-- -------------------------- -->
<---      Certifications        -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #cert-2025 {
    padding: clamp(3.75rem, 8vw, 8.75rem) 1rem;
    background: var(--alternateBG);
  }
  #cert-2025 .cs-container {
    width: 100%;
    max-width: 82.5rem;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: clamp(3rem, 6vw, 6rem);
  }
  #cert-2025 .cs-seals {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    max-width: 30rem;
  }
  #cert-2025 .cs-seal {
    aspect-ratio: 1;
    border-radius: 50%;
    background: #fff;
    border: 1px solid rgba(26, 26, 26, 0.12);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    text-align: center;
    position: relative;
    transition: transform 0.3s ease;
  }
  #cert-2025 .cs-seal:hover {
    transform: translateY(-4px);
  }
  #cert-2025 .cs-seal::before {
    content: "";
    position: absolute;
    inset: 0.5rem;
    border: 1px solid var(--secondary);
    border-radius: 50%;
    opacity: 0.5;
  }
  #cert-2025 .cs-seal-mark {
    font-family: 'Tenor Sans', Arial, sans-serif;
    font-size: 2.25rem;
    color: var(--primary);
    line-height: 1;
    margin-bottom: 0.25rem;
    font-weight: 500;
  }
  #cert-2025 .cs-seal-label {
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--bodyTextColor);
    line-height: 1.3;
  }
  #cert-2025 .cs-seal-year {
    font-size: 0.625rem;
    letter-spacing: 0.15em;
    color: var(--goldDark);
    margin-top: 0.375rem;
    font-weight: 600;
  }
  #cert-2025 .cs-topper {
    color: var(--primary);
  }
  #cert-2025 .cs-title {
    font-family: 'Tenor Sans', Arial, sans-serif;
    font-weight: 400;
    font-size: clamp(2.25rem, 4.4vw, 3.75rem);
    line-height: 1.04;
    letter-spacing: -0.015em;
    color: var(--headerColor);
    margin: 1.375rem 0 0;
  }
  #cert-2025 .cs-title em {
    font-style: italic;
    color: var(--secondary);
  }
  #cert-2025 .cs-lead {
    font-size: 1.125rem;
    line-height: 1.6;
    color: var(--bodyTextColor);
    max-width: 56ch;
    margin-top: 1.5rem;
  }
  #cert-2025 .cs-cert-list {
    list-style: none;
    padding: 0;
    margin: 1.75rem 0 2.25rem;
  }
  #cert-2025 .cs-cert-list li {
    padding: 0.875rem 0;
    border-top: 1px solid rgba(26, 26, 26, 0.12);
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 0.875rem;
  }
  #cert-2025 .cs-cert-list li:last-child {
    border-bottom: 1px solid rgba(26, 26, 26, 0.12);
  }
  #cert-2025 .cs-cert-list li::before {
    content: "";
    width: 0.375rem;
    height: 0.375rem;
    border-radius: 50%;
    background: var(--secondary);
    flex-shrink: 0;
  }
  #cert-2025 .cs-cert-list li strong {
    font-weight: 600;
    color: var(--headerColor);
    font-size: 0.8125rem;
    letter-spacing: 0.06em;
    min-width: 4.5rem;
  }
  #cert-2025 .cs-cert-list li span {
    color: var(--bodyTextColor);
  }
  #cert-2025 .cs-button-solid {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    font-family: 'Manrope', -apple-system, system-ui, sans-serif;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    padding: 1rem 1.75rem;
    background: var(--primary);
    color: #fff;
    border: 1px solid var(--primary);
    transition: all 0.25s ease;
  }
  #cert-2025 .cs-button-solid .cs-arr {
    transition: transform 0.25s ease;
  }
  #cert-2025 .cs-button-solid:hover {
    background: var(--darkHover);
    border-color: var(--darkHover);
  }
  #cert-2025 .cs-button-solid:hover .cs-arr {
    transform: translateY(3px);
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
  #cert-2025 .cs-container {
    flex-direction: row;
    align-items: center;
    gap: 6rem;
  }
  #cert-2025 .cs-seals {
    flex-shrink: 0;
    max-width: none;
    width: 42%;
  }
  #cert-2025 .cs-content {
    flex: 1;
  }
}
/*-- -------------------------- -->
<---        Dual CTA            -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #dual-2025 {
    display: grid;
    grid-template-columns: 1fr;
    min-height: 33.75rem;
  }
  #dual-2025 .cs-panel {
    padding: clamp(3.5rem, 6vw, 6rem) clamp(1.5rem, 5vw, 5rem);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
    gap: 1.75rem;
  }
  #dual-2025 .cs-panel--green {
    background: var(--primary);
    color: var(--bodyTextColorWhite);
  }
  #dual-2025 .cs-panel--ink {
    background: var(--headerColor);
    color: var(--bodyTextColorWhite);
  }
  #dual-2025 .cs-panel-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    opacity: 0.18;
  }
  #dual-2025 .cs-panel-bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
  }
  #dual-2025 .cs-panel > * {
    position: relative;
    z-index: 1;
  }
  #dual-2025 .cs-panel-num {
    position: absolute;
    bottom: 2rem;
    right: 2.5rem;
    font-family: 'Tenor Sans', Arial, sans-serif;
    font-size: 6.25rem;
    font-weight: 400;
    line-height: 1;
    color: rgba(255, 255, 255, 0.06);
    z-index: 0;
  }
  #dual-2025 .cs-topper {
    color: var(--secondary);
  }
  #dual-2025 .cs-topper::before {
    background: var(--secondary);
  }
  #dual-2025 .cs-title {
    font-family: 'Tenor Sans', Arial, sans-serif;
    font-weight: 400;
    font-size: clamp(2.25rem, 4.4vw, 3.75rem);
    line-height: 1.04;
    letter-spacing: -0.015em;
    color: var(--bodyTextColorWhite);
    margin: 1.375rem 0 1.125rem;
    max-width: 16ch;
  }
  #dual-2025 .cs-text {
    color: rgba(255, 255, 255, 0.78);
    max-width: 38ch;
    font-size: 0.9375rem;
    line-height: 1.6;
    margin: 0;
  }
  #dual-2025 .cs-panel-body {
    display: flex;
    flex-direction: column;
  }
  #dual-2025 .cs-button-gold {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    font-family: 'Manrope', -apple-system, system-ui, sans-serif;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    padding: 1rem 1.75rem;
    background: var(--secondary);
    color: var(--headerColor);
    border: 1px solid var(--secondary);
    align-self: flex-start;
    transition: all 0.25s ease;
  }
  #dual-2025 .cs-button-gold .cs-arr {
    transition: transform 0.25s ease;
  }
  #dual-2025 .cs-button-gold:hover {
    background: var(--goldSoft);
    border-color: var(--goldSoft);
  }
  #dual-2025 .cs-button-gold:hover .cs-arr {
    transform: translateX(4px);
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #dual-2025 {
    grid-template-columns: 1fr 1fr;
  }
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hc3NldHMvbGVzcy9sb2NhbC5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztrQ0FFa0M7QUFDbEMsbUJBQW1CO0FBVW5CO0VBQ0k7SUFDSSw4QkFBQTtJQUNBLHVDQUFBO0VBUk47RUFNRTtJQUtRLFdBQUE7SUFDQSxrQkFBQTtJQUNBLGNBQUE7SUFDQSxhQUFBO0lBQ0EsOEJBQUE7SUFDQSxTQUFBO0VBUlY7RUFGRTtJQWNRLGtCQUFBO0lBQ0EsZUFBQTtJQUNBLGtCQUFBO0VBVFY7RUFQRTtJQW9CUSw0Q0FBQTtJQUNBLGdCQUFBO0lBQ0Esc0NBQUE7SUFDQSxjQUFBO0lBQ0EscUJBQUE7SUFDQSxvQkFBQTtJQUNBLHVCQUFBO0VBVlY7RUFoQkU7SUE4QlEsdUJBQUE7SUFDQSxpQkFBQTtJQUNBLGdCQUFBO0lBQ0Esa0JBQUE7RUFYVjtFQXRCRTtJQXFDUSxXQUFBO0lBQ0EsV0FBQTtJQUNBLDRCQUFBO0lBQ0EsdUJBQUE7RUFaVjtFQTVCRTtJQTRDUSw0REFBQTtJQUNBLGtCQUFBO0lBQ0EsZ0JBQUE7SUFDQSxxQkFBQTtJQUNBLHlCQUFBO0lBQ0EsMkJBQUE7SUFDQSxnQkFBQTtFQWJWO0FBQ0Y7QUFDQSxtQkFBbUI7QUFpQm5CO0VBQ0k7SUFFUSxxQ0FBQTtJQUNBLFdBQUE7RUFoQlY7RUFvQlU7SUFDSSxXQUFBO0lBQ0Esa0JBQUE7SUFDQSxZQUFBO0lBQ0EsUUFBQTtJQUNBLFdBQUE7SUFDQSxVQUFBO0lBQ0Esa0NBQUE7RUFsQmQ7QUFDRjtBQUNBOztrQ0FFa0M7QUFDbEMsbUJBQW1CO0FBd0JuQjtFQUNJO0lBQ0ksMENBQUE7RUF0Qk47RUFxQkU7SUFJUSxXQUFBO0lBQ0Esa0JBQUE7SUFDQSxjQUFBO0lBQ0EsYUFBQTtJQUNBLHNCQUFBO0lBQ0EsMkJBQUE7RUF0QlY7RUFhRTtJQWFRLHFCQUFBO0VBdkJWO0VBVUU7SUFpQlEsbUJBQUE7RUF4QlY7RUFPRTtJQXFCUSw0Q0FBQTtJQUNBLGdCQUFBO0lB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aWxlIjoibG9jYWwuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBIT01FIFBBR0UgU1RZTEVTXG4vLyBCZWxvdy10aGUtZm9sZCBzdHlsZXMgZm9yIHRoZSBob21lcGFnZS4gVGhlIGhlcm8gbGl2ZXMgaW4gY3JpdGljYWwubGVzcy5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5Ac2VyaWZGb250OiAnVGVub3IgU2FucycsIEFyaWFsLCBzYW5zLXNlcmlmO1xuQHNhbnNGb250OiAnTWFucm9wZScsIC1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwgc2Fucy1zZXJpZjtcblxuLyotLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbjwtLS0gICAgICAgICAgU3RhdHMgICAgICAgICAgICAgLS0+XG48LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0qL1xuXG4vKiBNb2JpbGUgLSAzNjBweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcmVtKSB7XG4gICAgI3N0YXRzLTIwMjUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hbHRlcm5hdGVCRyk7XG4gICAgICAgIHBhZGRpbmc6IGNsYW1wKDMuNzVyZW0sIDh2dywgNXJlbSkgMXJlbTtcblxuICAgICAgICAuY3MtY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAoMTMyMC8xNnJlbSk7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgICAgICBnYXA6ICgzMi8xNnJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY3Mtc3RhdCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICgxNi8xNnJlbSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtbnVtIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAc2VyaWZGb250O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoM3JlbSwgNS41dncsIDUuMjVyZW0pO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXBsdXMge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNTVlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjE4ZW07XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtcnVsZSB7XG4gICAgICAgICAgICB3aWR0aDogKDMyLzE2cmVtKTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIG1hcmdpbjogKDE0LzE2cmVtKSBhdXRvIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtbGFiZWwge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBzYW5zRm9udDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogKDEyLzE2cmVtKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4yZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3IpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogKDE2LzE2cmVtKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogVGFibGV0IC0gNzY4cHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhyZW0pIHtcbiAgICAjc3RhdHMtMjAyNSB7XG4gICAgICAgIC5jcy1jb250YWluZXIge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICAgICAgICAgIGdhcDogKDI0LzE2cmVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1zdGF0IHtcbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTJweDtcbiAgICAgICAgICAgICAgICB0b3A6IDE0JTtcbiAgICAgICAgICAgICAgICBib3R0b206IDE0JTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjYsIDI2LCAyNiwgMC4xMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG48LS0tICAgICAgICAgIEFib3V0ICAgICAgICAgICAgIC0tPlxuPC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtKi9cblxuLyogTW9iaWxlIC0gMzYwcHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHJlbSkge1xuICAgICNhYm91dC0yMDI1IHtcbiAgICAgICAgcGFkZGluZzogY2xhbXAoMy43NXJlbSwgOHZ3LCA4Ljc1cmVtKSAxcmVtO1xuXG4gICAgICAgIC5jcy1jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICgxMzIwLzE2cmVtKTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBnYXA6IGNsYW1wKDNyZW0sIDZ2dywgNnJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtdG9wcGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1jb250ZW50IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogKDU0MC8xNnJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBzZXJpZkZvbnQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgyLjI1cmVtLCA0LjR2dywgMy43NXJlbSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4wNDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMTVlbTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1oZWFkZXJDb2xvcik7XG4gICAgICAgICAgICBtYXJnaW46ICgyMi8xNnJlbSkgMCAoMjgvMTZyZW0pO1xuXG4gICAgICAgICAgICBlbSB7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWJvZHkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAoMTcvMTZyZW0pO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcik7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwICgxNi8xNnJlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtY3RhIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICgzNi8xNnJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtYnV0dG9uLW91dGxpbmUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAoMTAvMTZyZW0pO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBzYW5zRm9udDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogKDEzLzE2cmVtKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICgxNi8xNnJlbSkgKDI4LzE2cmVtKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWhlYWRlckNvbG9yKTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWhlYWRlckNvbG9yKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xuXG4gICAgICAgICAgICAuY3MtYXJyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgZWFzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taGVhZGVyQ29sb3IpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgICAgICAgICAgLmNzLWFyciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1zaWcge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogKDM2LzE2cmVtKTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAoMjgvMTZyZW0pO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjYsIDI2LCAyNiwgMC4xMik7XG4gICAgICAgIH1cblxuICAgICAgICAuY3Mtc2lnLW5hbWUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBzZXJpZkZvbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6ICgyMi8xNnJlbSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1oZWFkZXJDb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAuY3Mtc2lnLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAc2Fuc0ZvbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6ICgxMS8xNnJlbSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yKTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICg2LzE2cmVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1tZWRpYSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcmVhbVdhcm0pO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIHBpY3R1cmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogNCAvIDU7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtbWVkaWEtdGFnIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogKDI0LzE2cmVtKTtcbiAgICAgICAgICAgIGxlZnQ6ICgyNC8xNnJlbSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgcGFkZGluZzogKDE0LzE2cmVtKSAoMTgvMTZyZW0pO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBnYXA6ICg0LzE2cmVtKTtcblxuICAgICAgICAgICAgLmNzLW51bSB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBzZXJpZkZvbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAoMzIvMTZyZW0pO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNzLWxibCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAoMTAvMTZyZW0pO1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjIyZW07XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcik7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogRGVza3RvcCAtIDEwMjRweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NHJlbSkge1xuICAgICNhYm91dC0yMDI1IHtcbiAgICAgICAgLmNzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogKDk2LzE2cmVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1jb250ZW50IHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtbWVkaWEge1xuICAgICAgICAgICAgZmxleDogMS4wNTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyotLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbjwtLS0gICAgICAgICBTZXJ2aWNlcyAgICAgICAgICAgLS0+XG48LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0qL1xuXG4vKiBNb2JpbGUgLSAzNjBweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcmVtKSB7XG4gICAgI3NlcnZpY2VzLTEzNTUge1xuICAgICAgICBwYWRkaW5nOiBjbGFtcCgzLjc1cmVtLCA4dncsIDguNzVyZW0pIDFyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWFsdGVybmF0ZUJHKTtcblxuICAgICAgICAuY3MtY29udGFpbmVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAoMTMyMC8xNnJlbSk7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1oZWFkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBnYXA6ICgyOC8xNnJlbSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBjbGFtcCgyLjVyZW0sIDV2dywgNHJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtdG9wcGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1pbnRybyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM2Y2g7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBzZXJpZkZvbnQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgyLjI1cmVtLCA0LjR2dywgMy43NXJlbSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4wNDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMTVlbTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1oZWFkZXJDb2xvcik7XG4gICAgICAgICAgICBtYXJnaW46ICgyMi8xNnJlbSkgMCAwO1xuXG4gICAgICAgICAgICBlbSB7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWxlYWQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAoMTgvMTZyZW0pO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTBjaDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1jYXJkLWdyb3VwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICAgIGdhcDogKDMyLzE2cmVtKTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWl0ZW0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xuXG4gICAgICAgICAgICAgICAgLmNzLWNhcmQtbWVkaWEgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtY2FyZC1tZWRpYSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDQgLyAzO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNyZWFtV2FybSk7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGVhc2U7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtbnVtIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogKDIwLzE2cmVtKTtcbiAgICAgICAgICAgIGxlZnQ6ICgyMC8xNnJlbSk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogQHNlcmlmRm9udDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogKDE2LzE2cmVtKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjAsIDQxLCAxNSwgMC42KTtcbiAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xuICAgICAgICAgICAgcGFkZGluZzogKDYvMTZyZW0pICgxMi8xNnJlbSk7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWNhcmQtYm9keSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAoMzIvMTZyZW0pICgyNC8xNnJlbSkgKDI0LzE2cmVtKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1oMyB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogQHNlcmlmRm9udDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogKDMyLzE2cmVtKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0taGVhZGVyQ29sb3IpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgKDE0LzE2cmVtKTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXRleHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAoMTUvMTZyZW0pO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yKTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICgyMC8xNnJlbSk7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWxpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAoOC8xNnJlbSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICgxMi8xNnJlbSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMThlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeSk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAoOC8xNnJlbSkgMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZ29sZERhcmspO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBUYWJsZXQgLSA3NjhweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OHJlbSkge1xuICAgICNzZXJ2aWNlcy0xMzU1IHtcbiAgICAgICAgLmNzLWNhcmQtZ3JvdXAge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogRGVza3RvcCAtIDEwMjRweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NHJlbSkge1xuICAgICNzZXJ2aWNlcy0xMzU1IHtcbiAgICAgICAgLmNzLWhlYWRlciB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgZ2FwOiAoNDgvMTZyZW0pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKi0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tPlxuPC0tLSAgICAgICAgIFdoeSBBSEcgICAgICAgICAgICAtLT5cbjwtLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLSovXG5cbi8qIE1vYmlsZSAtIDM2MHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDByZW0pIHtcbiAgICAjd2h5LTIwMjUge1xuICAgICAgICBwYWRkaW5nOiBjbGFtcCgzLjc1cmVtLCA4dncsIDguNzVyZW0pIDFyZW07XG5cbiAgICAgICAgLmNzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogKDEzMjAvMTZyZW0pO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogY2xhbXAoM3JlbSwgNnZ3LCA0cmVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy10b3BwZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWludHJvIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogKDU0MC8xNnJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBzZXJpZkZvbnQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgyLjI1cmVtLCA0LjR2dywgMy43NXJlbSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4wNDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMTVlbTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1oZWFkZXJDb2xvcik7XG4gICAgICAgICAgICBtYXJnaW46ICgyMi8xNnJlbSkgMCAwO1xuXG4gICAgICAgICAgICBlbSB7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWdvbGQtcnVsZSB7XG4gICAgICAgICAgICB3aWR0aDogKDYwLzE2cmVtKTtcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIG1hcmdpbjogKDI0LzE2cmVtKSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXF1b3RlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAc2VyaWZGb250O1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjEyNXJlbSwgMnZ3LCAxLjM3NXJlbSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWhlYWRlckNvbG9yKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzBjaDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1saXN0IHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtaXRlbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAoNTYvMTZyZW0pIDFmcjtcbiAgICAgICAgICAgIGdhcDogKDI0LzE2cmVtKTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICgyOC8xNnJlbSkgMDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI2LCAyNiwgMjYsIDAuMTIpO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI2LCAyNiwgMjYsIDAuMTIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNzLW51bSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogQHNlcmlmRm9udDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogKDM2LzE2cmVtKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiMFwiO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1oNCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogQHNlcmlmRm9udDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS4zNzVyZW0sIDJ2dywgMS42MjVyZW0pO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICg4LzE2cmVtKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1oZWFkZXJDb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtdGV4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICgxNS8xNnJlbSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3IpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBEZXNrdG9wIC0gMTAyNHB4ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0cmVtKSB7XG4gICAgI3doeS0yMDI1IHtcbiAgICAgICAgLmNzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgZ2FwOiAoOTYvMTZyZW0pO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWludHJvIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICB0b3A6ICgxMjAvMTZyZW0pO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICB3aWR0aDogNDIlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWxpc3Qge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1pdGVtIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogKDgwLzE2cmVtKSAxZnI7XG4gICAgICAgICAgICBnYXA6ICgzMi8xNnJlbSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAoMzYvMTZyZW0pIDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG48LS0tICAgICAgICAgICBMb2dvcyAgICAgICAgICAgIC0tPlxuPC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtKi9cblxuLyogTW9iaWxlIC0gMzYwcHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHJlbSkge1xuICAgICNsb2dvcy0xODk2IHtcbiAgICAgICAgLyogNjBweCAtIDEyMHB4IHRvcCAmIGJvdHRvbSAqL1xuICAgICAgICAvKiAxNnB4IC0gNDBweCBsZWZ0ICYgcmlnaHQgKi9cbiAgICAgICAgcGFkZGluZzogY2xhbXAoMy43NXJlbSwgOHZ3LCA3LjVyZW0pIGNsYW1wKDFyZW0sIDJ2dywgMi41cmVtKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWx0ZXJuYXRlQkcpO1xuXG4gICAgICAgIC5jcy1jb250YWluZXIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICgxMjgwLzE2cmVtKTtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgLyogNDhweCAtIDY0cHggKi9cbiAgICAgICAgICAgIGdhcDogY2xhbXAoM3JlbSwgNnZ3LCA0cmVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICgyNS8xNnJlbSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWxvZ28td3JhcHBlciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBnYXA6IDEuNXJlbTtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtbG9nbyB7XG4gICAgICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAoMjAwLzE2cmVtKTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIG1peC1ibGVuZC1tb2RlOiBkYXJrZW47XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogVGFibGV0IC0gNzY4cHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhyZW0pIHtcbiAgICAjbG9nb3MtMTg5NiB7XG4gICAgICAgIC5jcy1sb2dvIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNSU7XG4gICAgICAgICAgICAvKiB0aGUgbWF4IHdpZHRoIGJlY29tZXMgd2hhdGV2ZXIgdGhlIGFjdHVhbCB3aWR0aCBvZiB0aGUgaW1hZ2UgaXMgKi9cbiAgICAgICAgICAgIG1heC13aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIExhcmdlIERlc2t0b3AgLSAxMzAwcHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVyZW0pIHtcbiAgICAjbG9nb3MtMTg5NiB7XG4gICAgICAgIC5jcy1sb2dvLXdyYXBwZXIge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG4gICAgfVxufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblxuLyotLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbjwtLS0gICAgICAgVGVzdGltb25pYWwgICAgICAgICAgLS0+XG48LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0qL1xuXG4vKiBNb2JpbGUgLSAzNjBweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcmVtKSB7XG4gICAgI3Rlc3RpbW9uaWFsLTIwMjUge1xuICAgICAgICBwYWRkaW5nOiBjbGFtcCgzLjc1cmVtLCA4dncsIDguNzVyZW0pIDFyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXBHcmVlbik7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDFDXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBmb250LWZhbWlseTogQHNlcmlmRm9udDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMjgwcHgsIDMwdncsIDQ2MHB4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjc7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMTY7XG4gICAgICAgICAgICB0b3A6IC0zMHB4O1xuICAgICAgICAgICAgbGVmdDogNiU7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICgxMzIwLzE2cmVtKTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBnYXA6IGNsYW1wKDNyZW0sIDZ2dywgNXJlbSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXRvcHBlciB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXF1b3RlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAc2VyaWZGb250O1xuICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjVyZW0sIDIuNnZ3LCAyLjM3NXJlbSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcbiAgICAgICAgICAgIG1hcmdpbjogKDI4LzE2cmVtKSAwIDA7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDA1ZW07XG5cbiAgICAgICAgICAgIGVtIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtbWV0YSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAoMzYvMTZyZW0pO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6ICgxOC8xNnJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtYXZhdGFyIHtcbiAgICAgICAgICAgIHdpZHRoOiAoNjAvMTZyZW0pO1xuICAgICAgICAgICAgaGVpZ2h0OiAoNjAvMTZyZW0pO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLW5hbWUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBzZXJpZkZvbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6ICgyMC8xNnJlbSk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY3Mtcm9sZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICgxMS8xNnJlbSk7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4yZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogKDQvMTZyZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLW5hdiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAoNDAvMTZyZW0pO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGdhcDogKDE0LzE2cmVtKTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtYnRuIHtcbiAgICAgICAgICAgIHdpZHRoOiAoNDgvMTZyZW0pO1xuICAgICAgICAgICAgaGVpZ2h0OiAoNDgvMTZyZW0pO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogKDE0LzE2cmVtKTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWhlYWRlckNvbG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1jb3VudCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogKDEyLzE2cmVtKTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjIyZW07XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuXG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3Mtc2lkZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogKDI4LzE2cmVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1yb3cge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogKDgwLzE2cmVtKSAxZnI7XG4gICAgICAgICAgICBnYXA6ICgyMC8xNnJlbSk7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXNpZGUtbnVtIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAc2VyaWZGb250O1xuICAgICAgICAgICAgZm9udC1zaXplOiAoMzIvMTZyZW0pO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtdW5pdCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNWVtO1xuICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXNpZGUtdGV4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICgxMy8xNnJlbSk7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIERlc2t0b3AgLSAxMDI0cHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRyZW0pIHtcbiAgICAjdGVzdGltb25pYWwtMjAyNSB7XG4gICAgICAgIC5jcy1jb250YWluZXIge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGdhcDogKDgwLzE2cmVtKTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtY29udGVudCB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXNpZGUge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogKDU2LzE2cmVtKTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyotLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLT5cbjwtLS0gICAgICBDZXJ0aWZpY2F0aW9ucyAgICAgICAgLS0+XG48LS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC0qL1xuXG4vKiBNb2JpbGUgLSAzNjBweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcmVtKSB7XG4gICAgI2NlcnQtMjAyNSB7XG4gICAgICAgIHBhZGRpbmc6IGNsYW1wKDMuNzVyZW0sIDh2dywgOC43NXJlbSkgMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYWx0ZXJuYXRlQkcpO1xuXG4gICAgICAgIC5jcy1jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICgxMzIwLzE2cmVtKTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBnYXA6IGNsYW1wKDNyZW0sIDZ2dywgNnJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY3Mtc2VhbHMge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICAgICAgICBnYXA6ICgyNC8xNnJlbSk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICg0ODAvMTZyZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXNlYWwge1xuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjYsIDI2LCAyNiwgMC4xMik7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICgyMC8xNnJlbSk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgaW5zZXQ6ICg4LzE2cmVtKTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3Mtc2VhbC1tYXJrIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAc2VyaWZGb250O1xuICAgICAgICAgICAgZm9udC1zaXplOiAoMzYvMTZyZW0pO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnkpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAoNC8xNnJlbSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXNlYWwtbGFiZWwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAoMTAvMTZyZW0pO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXNlYWwteWVhciB7XG4gICAgICAgICAgICBmb250LXNpemU6ICgxMC8xNnJlbSk7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xNWVtO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWdvbGREYXJrKTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICg2LzE2cmVtKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtdG9wcGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy10aXRsZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogQHNlcmlmRm9udDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDIuMjVyZW0sIDQuNHZ3LCAzLjc1cmVtKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA0O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxNWVtO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWhlYWRlckNvbG9yKTtcbiAgICAgICAgICAgIG1hcmdpbjogKDIyLzE2cmVtKSAwIDA7XG5cbiAgICAgICAgICAgIGVtIHtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtbGVhZCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICgxOC8xNnJlbSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3IpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1NmNoO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogKDI0LzE2cmVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1jZXJ0LWxpc3Qge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46ICgyOC8xNnJlbSkgMCAoMzYvMTZyZW0pO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogKDE0LzE2cmVtKSAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI2LCAyNiwgMjYsIDAuMTIpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBnYXA6ICgxNi8xNnJlbSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAoMTQvMTZyZW0pO1xuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjYsIDI2LCAyNiwgMC4xMik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICg2LzE2cmVtKTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAoNi8xNnJlbSk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWhlYWRlckNvbG9yKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAoMTMvMTZyZW0pO1xuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6ICg3Mi8xNnJlbSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtYnV0dG9uLXNvbGlkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogKDEwLzE2cmVtKTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAc2Fuc0ZvbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6ICgxMy8xNnJlbSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAoMTYvMTZyZW0pICgyOC8xNnJlbSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcblxuICAgICAgICAgICAgLmNzLWFyciB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGVhc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRhcmtIb3Zlcik7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kYXJrSG92ZXIpO1xuXG4gICAgICAgICAgICAgICAgLmNzLWFyciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogRGVza3RvcCAtIDEwMjRweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NHJlbSkge1xuICAgICNjZXJ0LTIwMjUge1xuICAgICAgICAuY3MtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAoOTYvMTZyZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLXNlYWxzIHtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDQyJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1jb250ZW50IHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0+XG48LS0tICAgICAgICBEdWFsIENUQSAgICAgICAgICAgIC0tPlxuPC0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtKi9cblxuLyogTW9iaWxlIC0gMzYwcHggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHJlbSkge1xuICAgICNkdWFsLTIwMjUge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgbWluLWhlaWdodDogKDU0MC8xNnJlbSk7XG5cbiAgICAgICAgLmNzLXBhbmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGNsYW1wKDMuNXJlbSwgNnZ3LCA2cmVtKSBjbGFtcCgxLjVyZW0sIDV2dywgNXJlbSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBnYXA6ICgyOC8xNnJlbSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtcGFuZWwtLWdyZWVuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkpO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWJvZHlUZXh0Q29sb3JXaGl0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtcGFuZWwtLWluayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1oZWFkZXJDb2xvcik7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYm9keVRleHRDb2xvcldoaXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1wYW5lbC1iZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBpbnNldDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjE4O1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1wYW5lbCA+ICoge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1wYW5lbC1udW0ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAoMzIvMTZyZW0pO1xuICAgICAgICAgICAgcmlnaHQ6ICg0MC8xNnJlbSk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogQHNlcmlmRm9udDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogKDEwMC8xNnJlbSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KTtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtdG9wcGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3MtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBzZXJpZkZvbnQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgyLjI1cmVtLCA0LjR2dywgMy43NXJlbSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4wNDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMTVlbTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ib2R5VGV4dENvbG9yV2hpdGUpO1xuICAgICAgICAgICAgbWFyZ2luOiAoMjIvMTZyZW0pIDAgKDE4LzE2cmVtKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTZjaDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy10ZXh0IHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzgpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzOGNoO1xuICAgICAgICAgICAgZm9udC1zaXplOiAoMTUvMTZyZW0pO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcy1wYW5lbC1ib2R5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNzLWJ1dHRvbi1nb2xkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogKDEwLzE2cmVtKTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBAc2Fuc0ZvbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6ICgxMy8xNnJlbSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAoMTYvMTZyZW0pICgyOC8xNnJlbSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWhlYWRlckNvbG9yKTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNlY29uZGFyeSk7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG5cbiAgICAgICAgICAgIC5jcy1hcnIge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBlYXNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nb2xkU29mdCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1nb2xkU29mdCk7XG5cbiAgICAgICAgICAgICAgICAuY3MtYXJyIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBUYWJsZXQgLSA3NjhweCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OHJlbSkge1xuICAgICNkdWFsLTIwMjUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgfVxufVxuIl19 */