/*!****************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/customers/css/dj-landing.css ***!
  \****************************************************************************************************************************/
/* ==========================================================================
   DJ Landing Page - Dedicated Styles
   Design: Vibrant & Block-based / Dark energy theme
   Typography: Righteous (headings) + Poppins (body)
   ========================================================================== */

/* --- CSS Custom Properties (scoped to this page) --- */
.dj-landing {
    --dj-primary: #1E1B4B;
    --dj-secondary: #4338CA;
    --dj-accent: #7C3AED;
    --dj-cta: #22C55E;
    --dj-cta-hover: #16A34A;
    --dj-dark: #0F0F23;
    --dj-dark-alt: #161637;
    --dj-text: #F8FAFC;
    --dj-text-muted: #94A3B8;
    --dj-border: rgba(99, 102, 241, 0.2);
    --dj-glow: rgba(124, 58, 237, 0.4);
    --dj-card-bg: rgba(30, 27, 75, 0.5);
}

/* --- Navbar overrides for dark hero pages --- */
/* Only apply on desktop (>=992px) where nav is truly transparent over the hero.
   Below 992px the theme forces a white nav background, so we must NOT override to white. */
@media (min-width: 992px) {
    .has-dark-hero #topnav:not(.nav-sticky) .navigation-menu > li > a {
        color: #F8FAFC;
    }

    .has-dark-hero #topnav:not(.nav-sticky) .navigation-menu > li > a:hover,
    .has-dark-hero #topnav:not(.nav-sticky) .navigation-menu > li > a:active,
    .has-dark-hero #topnav:not(.nav-sticky) .navigation-menu > li.active > a {
        color: #A78BFA;
    }

    .has-dark-hero #topnav:not(.nav-sticky) .navigation-menu .has-submenu .menu-arrow {
        border-color: #F8FAFC;
    }

    .has-dark-hero #topnav:not(.nav-sticky) .navigation-menu .has-submenu:hover .menu-arrow,
    .has-dark-hero #topnav:not(.nav-sticky) .navigation-menu .has-submenu.active .menu-arrow {
        border-color: #A78BFA;
    }

    /* Hamburger toggle lines - not needed on desktop but kept for completeness */
    .has-dark-hero #topnav:not(.nav-sticky) .navbar-toggle span {
        background-color: #F8FAFC;
    }

    /* Logo swap: show white-text logo on dark hero, hide dark-text logo */
    .has-dark-hero #topnav:not(.nav-sticky) .logo .logo-dark {
        display: none;
    }

    .has-dark-hero #topnav:not(.nav-sticky) .logo .logo-light {
        display: inline-block !important;
    }

    /* Login button */
    .has-dark-hero #topnav:not(.nav-sticky) .buy-button .btn-primary {
        background-color: rgba(255, 255, 255, 0.15);
        border-color: rgba(255, 255, 255, 0.3);
        color: #F8FAFC;
    }

    .has-dark-hero #topnav:not(.nav-sticky) .buy-button .btn-primary:hover {
        background-color: var(--dj-cta);
        border-color: var(--dj-cta);
        color: #fff;
    }

    /* --- Logo-only swap for light hero pages (menu stays dark) --- */
    .has-light-hero #topnav:not(.nav-sticky) .logo .logo-dark {
        display: none;
    }

    .has-light-hero #topnav:not(.nav-sticky) .logo .logo-light {
        display: inline-block !important;
    }
}

/* --- Hero Section --- */
.dj-hero {
    position: relative;
    min-height: 90vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--dj-dark);
}

.dj-hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    filter: brightness(0.55) saturate(1.2);
    transform: scale(1.05);
    transition: transform 8s ease-out;
}

.dj-hero:hover .dj-hero__bg {
    transform: scale(1);
}

.dj-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(15, 15, 35, 0.65) 0%,
        rgba(67, 56, 202, 0.2) 50%,
        rgba(124, 58, 237, 0.15) 100%
    );
}

.dj-hero__grid-pattern {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(124, 58, 237, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(124, 58, 237, 0.06) 1px, transparent 1px);
    background-size: 60px 60px;
    animation: dj-grid-shift 20s linear infinite;
}

@keyframes dj-grid-shift {
    0% { background-position: 0 0; }
    100% { background-position: 60px 60px; }
}

.dj-hero__content {
    position: relative;
    z-index: 2;
    max-width: 720px;
}

.dj-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    border-radius: 999px;
    background: rgba(34, 197, 94, 0.12);
    border: 1px solid rgba(34, 197, 94, 0.3);
    color: var(--dj-cta);
    font-family: 'Poppins', sans-serif;
    font-size: 0.85rem;
    font-weight: 500;
    margin-bottom: 24px;
}

.dj-hero__badge-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--dj-cta);
    animation: dj-pulse 2s ease-in-out infinite;
}

@keyframes dj-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(1.5); }
}

.dj-hero__title {
    font-family: 'Righteous', cursive;
    font-size: clamp(2.4rem, 5vw, 4rem);
    line-height: 1.1;
    color: var(--dj-text);
    margin-bottom: 20px;
}

.dj-hero__title-accent {
    background: linear-gradient(135deg, #818CF8, #A78BFA, #C084FC);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.dj-hero__subtitle {
    font-family: 'Poppins', sans-serif;
    font-size: 1.15rem;
    color: var(--dj-text-muted);
    line-height: 1.7;
    margin-bottom: 32px;
    max-width: 560px;
}

.dj-hero__actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.dj-hero__floating {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    display: none;
}

@media (min-width: 992px) {
    .dj-hero__floating {
        display: block;
    }
}

.dj-hero__stat-cards {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.dj-hero__stat-card {
    background: rgba(30, 27, 75, 0.7);
    backdrop-filter: blur(20px);
    border: 1px solid var(--dj-border);
    border-radius: 16px;
    padding: 20px 24px;
    min-width: 200px;
    transition: transform 0.3s ease, border-color 0.3s ease;
}

.dj-hero__stat-card:hover {
    transform: translateX(-8px);
    border-color: var(--dj-accent);
}

.dj-hero__stat-number {
    font-family: 'Righteous', cursive;
    font-size: 2rem;
    color: var(--dj-text);
    line-height: 1;
}

.dj-hero__stat-label {
    font-family: 'Poppins', sans-serif;
    font-size: 0.85rem;
    color: var(--dj-text-muted);
    margin-top: 4px;
}

/* --- Buttons --- */
.dj-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 32px;
    background: var(--dj-cta);
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 1rem;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
    text-decoration: none;
}

.dj-btn-primary:hover {
    background: var(--dj-cta-hover);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(34, 197, 94, 0.3);
    text-decoration: none;
}

.dj-btn-outline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 32px;
    background: transparent;
    color: var(--dj-text);
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    font-size: 1rem;
    border: 1px solid var(--dj-border);
    border-radius: 12px;
    cursor: pointer;
    transition: border-color 0.25s ease, background 0.25s ease;
    text-decoration: none;
}

.dj-btn-outline:hover {
    border-color: var(--dj-accent);
    background: rgba(124, 58, 237, 0.08);
    color: var(--dj-text);
    text-decoration: none;
}

/* --- Section Shared --- */
.dj-section {
    padding: 80px 0;
    position: relative;
}

.dj-section--dark {
    background: var(--dj-dark);
    color: var(--dj-text);
}

.dj-section--darker {
    background: var(--dj-dark-alt);
    color: var(--dj-text);
}

.dj-section__header {
    text-align: center;
    margin-bottom: 56px;
}

.dj-section__overline {
    font-family: 'Poppins', sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--dj-accent);
    margin-bottom: 12px;
}

.dj-section__title {
    font-family: 'Righteous', cursive;
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    color: var(--dj-text);
    margin-bottom: 16px;
    line-height: 1.2;
}

.dj-section__desc {
    font-family: 'Poppins', sans-serif;
    font-size: 1.05rem;
    color: var(--dj-text-muted);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.7;
}

/* --- Service Types (DJ types) --- */
.dj-services__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
}

.dj-service-card {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 4/3;
    cursor: pointer;
    group: true;
}

.dj-service-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease, filter 0.5s ease;
}

.dj-service-card:hover .dj-service-card__img {
    transform: scale(1.08);
    filter: brightness(0.4);
}

.dj-service-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(15, 15, 35, 0.95) 0%,
        rgba(15, 15, 35, 0.4) 40%,
        transparent 100%
    );
    transition: background 0.5s ease;
}

.dj-service-card:hover .dj-service-card__overlay {
    background: linear-gradient(
        to top,
        rgba(15, 15, 35, 0.98) 0%,
        rgba(67, 56, 202, 0.4) 60%,
        rgba(124, 58, 237, 0.2) 100%
    );
}

.dj-service-card__content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 28px;
    transform: translateY(20px);
    transition: transform 0.4s ease;
}

.dj-service-card:hover .dj-service-card__content {
    transform: translateY(0);
}

.dj-service-card__icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: rgba(124, 58, 237, 0.2);
    border: 1px solid rgba(124, 58, 237, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    color: #A78BFA;
    font-size: 1.3rem;
    transition: background 0.3s ease;
}

.dj-service-card:hover .dj-service-card__icon {
    background: var(--dj-accent);
    color: #fff;
}

.dj-service-card__title {
    font-family: 'Righteous', cursive;
    font-size: 1.4rem;
    color: var(--dj-text);
    margin-bottom: 8px;
}

.dj-service-card__desc {
    font-family: 'Poppins', sans-serif;
    font-size: 0.9rem;
    color: var(--dj-text-muted);
    line-height: 1.6;
    opacity: 0;
    max-height: 0;
    transition: opacity 0.4s ease, max-height 0.4s ease;
}

.dj-service-card:hover .dj-service-card__desc {
    opacity: 1;
    max-height: 100px;
}

/* --- How It Works --- */
.dj-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 32px;
    counter-reset: step-counter;
}

.dj-step {
    position: relative;
    padding: 32px 28px;
    background: var(--dj-card-bg);
    backdrop-filter: blur(12px);
    border: 1px solid var(--dj-border);
    border-radius: 20px;
    counter-increment: step-counter;
    transition: border-color 0.3s ease, transform 0.3s ease;
}

.dj-step:hover {
    border-color: var(--dj-accent);
    transform: translateY(-4px);
}

.dj-step__number {
    font-family: 'Righteous', cursive;
    font-size: 3rem;
    line-height: 1;
    background: linear-gradient(135deg, var(--dj-secondary), var(--dj-accent));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 16px;
    opacity: 0.6;
}

.dj-step__title {
    font-family: 'Righteous', cursive;
    font-size: 1.25rem;
    color: var(--dj-text);
    margin-bottom: 12px;
}

.dj-step__desc {
    font-family: 'Poppins', sans-serif;
    font-size: 0.9rem;
    color: var(--dj-text-muted);
    line-height: 1.6;
}

/* Connector line between steps */
@media (min-width: 768px) {
    .dj-step:not(:last-child)::after {
        content: '';
        position: absolute;
        right: -17px;
        top: 50%;
        width: 34px;
        height: 2px;
        background: linear-gradient(90deg, var(--dj-border), transparent);
        z-index: 1;
    }
}

/* --- Pricing Cards --- */
.dj-pricing {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
    align-items: stretch;
}

.dj-price-card {
    background: var(--dj-card-bg);
    backdrop-filter: blur(12px);
    border: 1px solid var(--dj-border);
    border-radius: 20px;
    padding: 36px 28px;
    display: flex;
    flex-direction: column;
    transition: border-color 0.3s ease, transform 0.3s ease;
}

.dj-price-card:hover {
    border-color: var(--dj-accent);
    transform: translateY(-4px);
}

.dj-price-card--featured {
    border-color: var(--dj-cta);
    background: linear-gradient(
        135deg,
        rgba(34, 197, 94, 0.08) 0%,
        rgba(30, 27, 75, 0.6) 100%
    );
    position: relative;
}

.dj-price-card__popular {
    position: absolute;
    top: -1px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--dj-cta);
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 4px 20px;
    border-radius: 0 0 10px 10px;
}

.dj-price-card__name {
    font-family: 'Righteous', cursive;
    font-size: 1.25rem;
    color: var(--dj-text);
    margin-bottom: 8px;
}

.dj-price-card__price {
    font-family: 'Righteous', cursive;
    font-size: 2.2rem;
    color: var(--dj-text);
    margin-bottom: 4px;
    line-height: 1.2;
}

.dj-price-card__period {
    font-family: 'Poppins', sans-serif;
    font-size: 0.85rem;
    color: var(--dj-text-muted);
    margin-bottom: 24px;
}

.dj-price-card__features {
    list-style: none;
    padding: 0;
    margin: 0 0 32px 0;
    flex: 1;
}

.dj-price-card__features li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 8px 0;
    font-family: 'Poppins', sans-serif;
    font-size: 0.9rem;
    color: var(--dj-text-muted);
    border-bottom: 1px solid rgba(99, 102, 241, 0.08);
}

.dj-price-card__features li:last-child {
    border-bottom: none;
}

.dj-price-card__check {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: rgba(34, 197, 94, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
}

.dj-price-card__check i {
    font-size: 0.7rem;
    color: var(--dj-cta);
}

/* --- FAQ Accordion --- */
.dj-faq__item {
    background: var(--dj-card-bg);
    border: 1px solid var(--dj-border);
    border-radius: 16px;
    margin-bottom: 12px;
    overflow: hidden;
    transition: border-color 0.3s ease;
}

.dj-faq__item:hover {
    border-color: rgba(124, 58, 237, 0.4);
}

.dj-faq__btn {
    width: 100%;
    padding: 20px 24px;
    background: transparent;
    border: none;
    color: var(--dj-text);
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    transition: color 0.3s ease;
}

.dj-faq__btn:hover,
.dj-faq__btn:focus {
    color: #A78BFA;
    outline: none;
}

.dj-faq__btn:not(.collapsed) {
    color: #A78BFA;
}

.dj-faq__chevron {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: rgba(124, 58, 237, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease, background 0.3s ease;
}

.dj-faq__btn:not(.collapsed) .dj-faq__chevron {
    transform: rotate(180deg);
    background: var(--dj-accent);
    color: #fff;
}

.dj-faq__answer {
    padding: 0 24px 20px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.95rem;
    color: var(--dj-text-muted);
    line-height: 1.7;
}

/* --- Regions Grid --- */
.dj-regions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 24px;
}

.dj-region-card {
    background: var(--dj-card-bg);
    border: 1px solid var(--dj-border);
    border-radius: 16px;
    padding: 24px;
    transition: border-color 0.3s ease, transform 0.3s ease;
}

.dj-region-card:hover {
    border-color: var(--dj-accent);
    transform: translateY(-2px);
}

.dj-region-card__title {
    font-family: 'Righteous', cursive;
    font-size: 1.1rem;
    color: var(--dj-text);
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--dj-border);
}

.dj-region-card__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.dj-region-card__list li {
    margin-bottom: 8px;
}

.dj-region-card__list a {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Poppins', sans-serif;
    font-size: 0.9rem;
    color: var(--dj-text-muted);
    text-decoration: none;
    transition: color 0.25s ease, transform 0.25s ease;
}

.dj-region-card__list a:hover {
    color: #A78BFA;
    transform: translateX(4px);
}

.dj-region-card__list a i {
    color: var(--dj-accent);
    font-size: 0.8rem;
}

/* --- Related Services --- */
.dj-related {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
}

.dj-related__link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    background: var(--dj-card-bg);
    border: 1px solid var(--dj-border);
    border-radius: 12px;
    text-decoration: none;
    transition: border-color 0.3s ease, background 0.3s ease, transform 0.3s ease;
}

.dj-related__link:hover {
    border-color: var(--dj-accent);
    background: rgba(124, 58, 237, 0.08);
    transform: translateY(-2px);
    text-decoration: none;
}

.dj-related__link-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(124, 58, 237, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #A78BFA;
    font-size: 1.1rem;
    transition: background 0.3s ease;
}

.dj-related__link:hover .dj-related__link-icon {
    background: var(--dj-accent);
    color: #fff;
}

.dj-related__link-text {
    font-family: 'Poppins', sans-serif;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--dj-text);
}

/* --- CTA Section --- */
.dj-cta-section {
    position: relative;
    padding: 100px 0;
    text-align: center;
    overflow: hidden;
}

.dj-cta-section__bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        var(--dj-primary) 0%,
        var(--dj-secondary) 50%,
        var(--dj-accent) 100%
    );
}

.dj-cta-section__pattern {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle at 20% 50%, rgba(255,255,255,0.05) 1px, transparent 1px);
    background-size: 30px 30px;
}

.dj-cta-section__content {
    position: relative;
    z-index: 2;
}

.dj-cta-section__title {
    font-family: 'Righteous', cursive;
    font-size: clamp(1.8rem, 3.5vw, 2.8rem);
    color: #fff;
    margin-bottom: 16px;
}

.dj-cta-section__desc {
    font-family: 'Poppins', sans-serif;
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.8);
    max-width: 560px;
    margin: 0 auto 32px;
    line-height: 1.7;
}

.dj-cta-section .dj-btn-primary {
    background: #fff;
    color: var(--dj-secondary);
    font-weight: 700;
}

.dj-cta-section .dj-btn-primary:hover {
    background: #F1F5F9;
    color: var(--dj-primary);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
}

/* --- Utilities --- */
.dj-divider {
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, var(--dj-secondary), var(--dj-accent));
    border-radius: 3px;
    margin: 0 auto 16px;
}

/* --- Reduced motion --- */
@media (prefers-reduced-motion: reduce) {
    .dj-hero__bg,
    .dj-service-card__img,
    .dj-step,
    .dj-price-card,
    .dj-faq__chevron,
    .dj-hero__stat-card,
    .dj-region-card,
    .dj-related__link {
        transition: none;
    }

    .dj-hero__grid-pattern {
        animation: none;
    }

    .dj-hero__badge-dot {
        animation: none;
    }
}

/* --- Mobile tweaks --- */
@media (max-width: 575px) {
    .dj-hero {
        min-height: 80vh;
    }

    .dj-section {
        padding: 56px 0;
    }

    .dj-hero__actions {
        flex-direction: column;
    }

    .dj-btn-primary,
    .dj-btn-outline {
        width: 100%;
        justify-content: center;
    }

    .dj-service-card {
        aspect-ratio: 16/10;
    }

    .dj-service-card__desc {
        opacity: 1;
        max-height: 100px;
    }

    .dj-cta-section {
        padding: 64px 0;
    }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QVU7QUFDZDs7QUFFQTtJQUNJLGlDQUFpQztJQUNqQyx1Q0FBdUM7SUFDdkMsV0FBVztJQUNYLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGtDQUFrQztJQUNsQyxpQkFBaUI7SUFDakIsK0JBQStCO0lBQy9CLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLDBCQUEwQjtJQUMxQixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsd0JBQXdCO0lBQ3hCLHlDQUF5QztBQUM3Qzs7QUFFQSxzQkFBc0I7QUFDdEI7SUFDSSxXQUFXO0lBQ1gsV0FBVztJQUNYLHlFQUF5RTtJQUN6RSxrQkFBa0I7SUFDbEIsbUJBQW1CO0FBQ3ZCOztBQUVBLDJCQUEyQjtBQUMzQjtJQUNJOzs7Ozs7OztRQVFJLGdCQUFnQjtJQUNwQjs7SUFFQTtRQUNJLGVBQWU7SUFDbkI7O0lBRUE7UUFDSSxlQUFlO0lBQ25CO0FBQ0o7O0FBRUEsMEJBQTBCO0FBQzFCO0lBQ0k7UUFDSSxnQkFBZ0I7SUFDcEI7O0lBRUE7UUFDSSxlQUFlO0lBQ25COztJQUVBO1FBQ0ksc0JBQXNCO0lBQzFCOztJQUVBOztRQUVJLFdBQVc7UUFDWCx1QkFBdUI7SUFDM0I7O0lBRUE7UUFDSSxtQkFBbUI7SUFDdkI7O0lBRUE7UUFDSSxVQUFVO1FBQ1YsaUJBQWlCO0lBQ3JCOztJQUVBO1FBQ0ksZUFBZTtJQUNuQjtBQUNKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2N1c3RvbWVycy9jc3MvZGotbGFuZGluZy5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERKIExhbmRpbmcgUGFnZSAtIERlZGljYXRlZCBTdHlsZXNcbiAgIERlc2lnbjogVmlicmFudCAmIEJsb2NrLWJhc2VkIC8gRGFyayBlbmVyZ3kgdGhlbWVcbiAgIFR5cG9ncmFwaHk6IFJpZ2h0ZW91cyAoaGVhZGluZ3MpICsgUG9wcGlucyAoYm9keSlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIC0tLSBDU1MgQ3VzdG9tIFByb3BlcnRpZXMgKHNjb3BlZCB0byB0aGlzIHBhZ2UpIC0tLSAqL1xuLmRqLWxhbmRpbmcge1xuICAgIC0tZGotcHJpbWFyeTogIzFFMUI0QjtcbiAgICAtLWRqLXNlY29uZGFyeTogIzQzMzhDQTtcbiAgICAtLWRqLWFjY2VudDogIzdDM0FFRDtcbiAgICAtLWRqLWN0YTogIzIyQzU1RTtcbiAgICAtLWRqLWN0YS1ob3ZlcjogIzE2QTM0QTtcbiAgICAtLWRqLWRhcms6ICMwRjBGMjM7XG4gICAgLS1kai1kYXJrLWFsdDogIzE2MTYzNztcbiAgICAtLWRqLXRleHQ6ICNGOEZBRkM7XG4gICAgLS1kai10ZXh0LW11dGVkOiAjOTRBM0I4O1xuICAgIC0tZGotYm9yZGVyOiByZ2JhKDk5LCAxMDIsIDI0MSwgMC4yKTtcbiAgICAtLWRqLWdsb3c6IHJnYmEoMTI0LCA1OCwgMjM3LCAwLjQpO1xuICAgIC0tZGotY2FyZC1iZzogcmdiYSgzMCwgMjcsIDc1LCAwLjUpO1xufVxuXG4vKiAtLS0gTmF2YmFyIG92ZXJyaWRlcyBmb3IgZGFyayBoZXJvIHBhZ2VzIC0tLSAqL1xuLyogT25seSBhcHBseSBvbiBkZXNrdG9wICg+PTk5MnB4KSB3aGVyZSBuYXYgaXMgdHJ1bHkgdHJhbnNwYXJlbnQgb3ZlciB0aGUgaGVyby5cbiAgIEJlbG93IDk5MnB4IHRoZSB0aGVtZSBmb3JjZXMgYSB3aGl0ZSBuYXYgYmFja2dyb3VuZCwgc28gd2UgbXVzdCBOT1Qgb3ZlcnJpZGUgdG8gd2hpdGUuICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuaGFzLWRhcmstaGVybyAjdG9wbmF2Om5vdCgubmF2LXN0aWNreSkgLm5hdmlnYXRpb24tbWVudSA+IGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiAjRjhGQUZDO1xuICAgIH1cblxuICAgIC5oYXMtZGFyay1oZXJvICN0b3BuYXY6bm90KC5uYXYtc3RpY2t5KSAubmF2aWdhdGlvbi1tZW51ID4gbGkgPiBhOmhvdmVyLFxuICAgIC5oYXMtZGFyay1oZXJvICN0b3BuYXY6bm90KC5uYXYtc3RpY2t5KSAubmF2aWdhdGlvbi1tZW51ID4gbGkgPiBhOmFjdGl2ZSxcbiAgICAuaGFzLWRhcmstaGVybyAjdG9wbmF2Om5vdCgubmF2LXN0aWNreSkgLm5hdmlnYXRpb24tbWVudSA+IGxpLmFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogI0E3OEJGQTtcbiAgICB9XG5cbiAgICAuaGFzLWRhcmstaGVybyAjdG9wbmF2Om5vdCgubmF2LXN0aWNreSkgLm5hdmlnYXRpb24tbWVudSAuaGFzLXN1Ym1lbnUgLm1lbnUtYXJyb3cge1xuICAgICAgICBib3JkZXItY29sb3I6ICNGOEZBRkM7XG4gICAgfVxuXG4gICAgLmhhcy1kYXJrLWhlcm8gI3RvcG5hdjpub3QoLm5hdi1zdGlja3kpIC5uYXZpZ2F0aW9uLW1lbnUgLmhhcy1zdWJtZW51OmhvdmVyIC5tZW51LWFycm93LFxuICAgIC5oYXMtZGFyay1oZXJvICN0b3BuYXY6bm90KC5uYXYtc3RpY2t5KSAubmF2aWdhdGlvbi1tZW51IC5oYXMtc3VibWVudS5hY3RpdmUgLm1lbnUtYXJyb3cge1xuICAgICAgICBib3JkZXItY29sb3I6ICNBNzhCRkE7XG4gICAgfVxuXG4gICAgLyogSGFtYnVyZ2VyIHRvZ2dsZSBsaW5lcyAtIG5vdCBuZWVkZWQgb24gZGVza3RvcCBidXQga2VwdCBmb3IgY29tcGxldGVuZXNzICovXG4gICAgLmhhcy1kYXJrLWhlcm8gI3RvcG5hdjpub3QoLm5hdi1zdGlja3kpIC5uYXZiYXItdG9nZ2xlIHNwYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGQUZDO1xuICAgIH1cblxuICAgIC8qIExvZ28gc3dhcDogc2hvdyB3aGl0ZS10ZXh0IGxvZ28gb24gZGFyayBoZXJvLCBoaWRlIGRhcmstdGV4dCBsb2dvICovXG4gICAgLmhhcy1kYXJrLWhlcm8gI3RvcG5hdjpub3QoLm5hdi1zdGlja3kpIC5sb2dvIC5sb2dvLWRhcmsge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5oYXMtZGFyay1oZXJvICN0b3BuYXY6bm90KC5uYXYtc3RpY2t5KSAubG9nbyAubG9nby1saWdodCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIExvZ2luIGJ1dHRvbiAqL1xuICAgIC5oYXMtZGFyay1oZXJvICN0b3BuYXY6bm90KC5uYXYtc3RpY2t5KSAuYnV5LWJ1dHRvbiAuYnRuLXByaW1hcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICAgICAgY29sb3I6ICNGOEZBRkM7XG4gICAgfVxuXG4gICAgLmhhcy1kYXJrLWhlcm8gI3RvcG5hdjpub3QoLm5hdi1zdGlja3kpIC5idXktYnV0dG9uIC5idG4tcHJpbWFyeTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRqLWN0YSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZGotY3RhKTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgLyogLS0tIExvZ28tb25seSBzd2FwIGZvciBsaWdodCBoZXJvIHBhZ2VzIChtZW51IHN0YXlzIGRhcmspIC0tLSAqL1xuICAgIC5oYXMtbGlnaHQtaGVybyAjdG9wbmF2Om5vdCgubmF2LXN0aWNreSkgLmxvZ28gLmxvZ28tZGFyayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmhhcy1saWdodC1oZXJvICN0b3BuYXY6bm90KC5uYXYtc3RpY2t5KSAubG9nbyAubG9nby1saWdodCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyogLS0tIEhlcm8gU2VjdGlvbiAtLS0gKi9cbi5kai1oZXJvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogOTB2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kai1kYXJrKTtcbn1cblxuLmRqLWhlcm9fX2JnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKDAuNTUpIHNhdHVyYXRlKDEuMik7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gOHMgZWFzZS1vdXQ7XG59XG5cbi5kai1oZXJvOmhvdmVyIC5kai1oZXJvX19iZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cblxuLmRqLWhlcm9fX292ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDEzNWRlZyxcbiAgICAgICAgcmdiYSgxNSwgMTUsIDM1LCAwLjY1KSAwJSxcbiAgICAgICAgcmdiYSg2NywgNTYsIDIwMiwgMC4yKSA1MCUsXG4gICAgICAgIHJnYmEoMTI0LCA1OCwgMjM3LCAwLjE1KSAxMDAlXG4gICAgKTtcbn1cblxuLmRqLWhlcm9fX2dyaWQtcGF0dGVybiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6XG4gICAgICAgIGxpbmVhci1ncmFkaWVudChyZ2JhKDEyNCwgNTgsIDIzNywgMC4wNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLFxuICAgICAgICBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMTI0LCA1OCwgMjM3LCAwLjA2KSAxcHgsIHRyYW5zcGFyZW50IDFweCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiA2MHB4IDYwcHg7XG4gICAgYW5pbWF0aW9uOiBkai1ncmlkLXNoaWZ0IDIwcyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgZGotZ3JpZC1zaGlmdCB7XG4gICAgMCUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgICAxMDAlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNjBweCA2MHB4OyB9XG59XG5cbi5kai1oZXJvX19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBtYXgtd2lkdGg6IDcyMHB4O1xufVxuXG4uZGotaGVyb19fYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogNnB4IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgzNCwgMTk3LCA5NCwgMC4xMik7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMTk3LCA5NCwgMC4zKTtcbiAgICBjb2xvcjogdmFyKC0tZGotY3RhKTtcbiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi5kai1oZXJvX19iYWRnZS1kb3Qge1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWRqLWN0YSk7XG4gICAgYW5pbWF0aW9uOiBkai1wdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBkai1wdWxzZSB7XG4gICAgMCUsIDEwMCUgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgNTAlIHsgb3BhY2l0eTogMC41OyB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7IH1cbn1cblxuLmRqLWhlcm9fX3RpdGxlIHtcbiAgICBmb250LWZhbWlseTogJ1JpZ2h0ZW91cycsIGN1cnNpdmU7XG4gICAgZm9udC1zaXplOiBjbGFtcCgyLjRyZW0sIDV2dywgNHJlbSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBjb2xvcjogdmFyKC0tZGotdGV4dCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmRqLWhlcm9fX3RpdGxlLWFjY2VudCB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzgxOENGOCwgI0E3OEJGQSwgI0MwODRGQyk7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbn1cblxuLmRqLWhlcm9fX3N1YnRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgICBjb2xvcjogdmFyKC0tZGotdGV4dC1tdXRlZCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgIG1heC13aWR0aDogNTYwcHg7XG59XG5cbi5kai1oZXJvX19hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTZweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5kai1oZXJvX19mbG9hdGluZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5kai1oZXJvX19mbG9hdGluZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLmRqLWhlcm9fX3N0YXQtY2FyZHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDE2cHg7XG59XG5cbi5kai1oZXJvX19zdGF0LWNhcmQge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMzAsIDI3LCA3NSwgMC43KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGotYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIHBhZGRpbmc6IDIwcHggMjRweDtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UsIGJvcmRlci1jb2xvciAwLjNzIGVhc2U7XG59XG5cbi5kai1oZXJvX19zdGF0LWNhcmQ6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOHB4KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWRqLWFjY2VudCk7XG59XG5cbi5kai1oZXJvX19zdGF0LW51bWJlciB7XG4gICAgZm9udC1mYW1pbHk6ICdSaWdodGVvdXMnLCBjdXJzaXZlO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBjb2xvcjogdmFyKC0tZGotdGV4dCk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5kai1oZXJvX19zdGF0LWxhYmVsIHtcbiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tZGotdGV4dC1tdXRlZCk7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xufVxuXG4vKiAtLS0gQnV0dG9ucyAtLS0gKi9cbi5kai1idG4tcHJpbWFyeSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBwYWRkaW5nOiAxNHB4IDMycHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZGotY3RhKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMjVzIGVhc2UsIHRyYW5zZm9ybSAwLjI1cyBlYXNlLCBib3gtc2hhZG93IDAuMjVzIGVhc2U7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uZGotYnRuLXByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWRqLWN0YS1ob3Zlcik7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgzNCwgMTk3LCA5NCwgMC4zKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5kai1idG4tb3V0bGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBwYWRkaW5nOiAxNHB4IDMycHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWRqLXRleHQpO1xuICAgIGZvbnQtZmFtaWx5OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGotYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4yNXMgZWFzZSwgYmFja2dyb3VuZCAwLjI1cyBlYXNlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmRqLWJ0bi1vdXRsaW5lOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWRqLWFjY2VudCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjQsIDU4LCAyMzcsIDAuMDgpO1xuICAgIGNvbG9yOiB2YXIoLS1kai10ZXh0KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIC0tLSBTZWN0aW9uIFNoYXJlZCAtLS0gKi9cbi5kai1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiA4MHB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZGotc2VjdGlvbi0tZGFyayB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZGotZGFyayk7XG4gICAgY29sb3I6IHZhcigtLWRqLXRleHQpO1xufVxuXG4uZGotc2VjdGlvbi0tZGFya2VyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kai1kYXJrLWFsdCk7XG4gICAgY29sb3I6IHZhcigtLWRqLXRleHQpO1xufVxuXG4uZGotc2VjdGlvbl9faGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNTZweDtcbn1cblxuLmRqLXNlY3Rpb25fX292ZXJsaW5lIHtcbiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiB2YXIoLS1kai1hY2NlbnQpO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5kai1zZWN0aW9uX190aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICdSaWdodGVvdXMnLCBjdXJzaXZlO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS44cmVtLCAzdncsIDIuNnJlbSk7XG4gICAgY29sb3I6IHZhcigtLWRqLXRleHQpO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLmRqLXNlY3Rpb25fX2Rlc2Mge1xuICAgIGZvbnQtZmFtaWx5OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjA1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1kai10ZXh0LW11dGVkKTtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG59XG5cbi8qIC0tLSBTZXJ2aWNlIFR5cGVzIChESiB0eXBlcykgLS0tICovXG4uZGotc2VydmljZXNfX2dyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzMDBweCwgMWZyKSk7XG4gICAgZ2FwOiAyNHB4O1xufVxuXG4uZGotc2VydmljZS1jYXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGFzcGVjdC1yYXRpbzogNC8zO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBncm91cDogdHJ1ZTtcbn1cblxuLmRqLXNlcnZpY2UtY2FyZF9faW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZSwgZmlsdGVyIDAuNXMgZWFzZTtcbn1cblxuLmRqLXNlcnZpY2UtY2FyZDpob3ZlciAuZGotc2VydmljZS1jYXJkX19pbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wOCk7XG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKDAuNCk7XG59XG5cbi5kai1zZXJ2aWNlLWNhcmRfX292ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIHRvIHRvcCxcbiAgICAgICAgcmdiYSgxNSwgMTUsIDM1LCAwLjk1KSAwJSxcbiAgICAgICAgcmdiYSgxNSwgMTUsIDM1LCAwLjQpIDQwJSxcbiAgICAgICAgdHJhbnNwYXJlbnQgMTAwJVxuICAgICk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjVzIGVhc2U7XG59XG5cbi5kai1zZXJ2aWNlLWNhcmQ6aG92ZXIgLmRqLXNlcnZpY2UtY2FyZF9fb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICB0byB0b3AsXG4gICAgICAgIHJnYmEoMTUsIDE1LCAzNSwgMC45OCkgMCUsXG4gICAgICAgIHJnYmEoNjcsIDU2LCAyMDIsIDAuNCkgNjAlLFxuICAgICAgICByZ2JhKDEyNCwgNTgsIDIzNywgMC4yKSAxMDAlXG4gICAgKTtcbn1cblxuLmRqLXNlcnZpY2UtY2FyZF9fY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDI4cHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGVhc2U7XG59XG5cbi5kai1zZXJ2aWNlLWNhcmQ6aG92ZXIgLmRqLXNlcnZpY2UtY2FyZF9fY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4uZGotc2VydmljZS1jYXJkX19pY29uIHtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEyNCwgNTgsIDIzNywgMC4yKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNCwgNTgsIDIzNywgMC4zKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBjb2xvcjogI0E3OEJGQTtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZTtcbn1cblxuLmRqLXNlcnZpY2UtY2FyZDpob3ZlciAuZGotc2VydmljZS1jYXJkX19pY29uIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kai1hY2NlbnQpO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4uZGotc2VydmljZS1jYXJkX190aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICdSaWdodGVvdXMnLCBjdXJzaXZlO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1kai10ZXh0KTtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5kai1zZXJ2aWNlLWNhcmRfX2Rlc2Mge1xuICAgIGZvbnQtZmFtaWx5OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgY29sb3I6IHZhcigtLWRqLXRleHQtbXV0ZWQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgb3BhY2l0eTogMDtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLCBtYXgtaGVpZ2h0IDAuNHMgZWFzZTtcbn1cblxuLmRqLXNlcnZpY2UtY2FyZDpob3ZlciAuZGotc2VydmljZS1jYXJkX19kZXNjIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xufVxuXG4vKiAtLS0gSG93IEl0IFdvcmtzIC0tLSAqL1xuLmRqLXN0ZXBzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjQwcHgsIDFmcikpO1xuICAgIGdhcDogMzJweDtcbiAgICBjb3VudGVyLXJlc2V0OiBzdGVwLWNvdW50ZXI7XG59XG5cbi5kai1zdGVwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMzJweCAyOHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWRqLWNhcmQtYmcpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kai1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgY291bnRlci1pbmNyZW1lbnQ6IHN0ZXAtY291bnRlcjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4zcyBlYXNlLCB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xufVxuXG4uZGotc3RlcDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kai1hY2NlbnQpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcbn1cblxuLmRqLXN0ZXBfX251bWJlciB7XG4gICAgZm9udC1mYW1pbHk6ICdSaWdodGVvdXMnLCBjdXJzaXZlO1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1kai1zZWNvbmRhcnkpLCB2YXIoLS1kai1hY2NlbnQpKTtcbiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgb3BhY2l0eTogMC42O1xufVxuXG4uZGotc3RlcF9fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiAnUmlnaHRlb3VzJywgY3Vyc2l2ZTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgY29sb3I6IHZhcigtLWRqLXRleHQpO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5kai1zdGVwX19kZXNjIHtcbiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1kai10ZXh0LW11dGVkKTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4vKiBDb25uZWN0b3IgbGluZSBiZXR3ZWVuIHN0ZXBzICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZGotc3RlcDpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAtMTdweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1kai1ib3JkZXIpLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG4vKiAtLS0gUHJpY2luZyBDYXJkcyAtLS0gKi9cbi5kai1wcmljaW5nIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjgwcHgsIDFmcikpO1xuICAgIGdhcDogMjRweDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLmRqLXByaWNlLWNhcmQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWRqLWNhcmQtYmcpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kai1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgcGFkZGluZzogMzZweCAyOHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4zcyBlYXNlLCB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xufVxuXG4uZGotcHJpY2UtY2FyZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kai1hY2NlbnQpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcbn1cblxuLmRqLXByaWNlLWNhcmQtLWZlYXR1cmVkIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWRqLWN0YSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAxMzVkZWcsXG4gICAgICAgIHJnYmEoMzQsIDE5NywgOTQsIDAuMDgpIDAlLFxuICAgICAgICByZ2JhKDMwLCAyNywgNzUsIDAuNikgMTAwJVxuICAgICk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZGotcHJpY2UtY2FyZF9fcG9wdWxhciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTFweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWRqLWN0YSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgcGFkZGluZzogNHB4IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMTBweDtcbn1cblxuLmRqLXByaWNlLWNhcmRfX25hbWUge1xuICAgIGZvbnQtZmFtaWx5OiAnUmlnaHRlb3VzJywgY3Vyc2l2ZTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgY29sb3I6IHZhcigtLWRqLXRleHQpO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLmRqLXByaWNlLWNhcmRfX3ByaWNlIHtcbiAgICBmb250LWZhbWlseTogJ1JpZ2h0ZW91cycsIGN1cnNpdmU7XG4gICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgY29sb3I6IHZhcigtLWRqLXRleHQpO1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4uZGotcHJpY2UtY2FyZF9fcGVyaW9kIHtcbiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tZGotdGV4dC1tdXRlZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLmRqLXByaWNlLWNhcmRfX2ZlYXR1cmVzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwIDAgMzJweCAwO1xuICAgIGZsZXg6IDE7XG59XG5cbi5kai1wcmljZS1jYXJkX19mZWF0dXJlcyBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogOHB4IDA7XG4gICAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBjb2xvcjogdmFyKC0tZGotdGV4dC1tdXRlZCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoOTksIDEwMiwgMjQxLCAwLjA4KTtcbn1cblxuLmRqLXByaWNlLWNhcmRfX2ZlYXR1cmVzIGxpOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5kai1wcmljZS1jYXJkX19jaGVjayB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjE1KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xufVxuXG4uZGotcHJpY2UtY2FyZF9fY2hlY2sgaSB7XG4gICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgY29sb3I6IHZhcigtLWRqLWN0YSk7XG59XG5cbi8qIC0tLSBGQVEgQWNjb3JkaW9uIC0tLSAqL1xuLmRqLWZhcV9faXRlbSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZGotY2FyZC1iZyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGotYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4zcyBlYXNlO1xufVxuXG4uZGotZmFxX19pdGVtOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTI0LCA1OCwgMjM3LCAwLjQpO1xufVxuXG4uZGotZmFxX19idG4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDIwcHggMjRweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWRqLXRleHQpO1xuICAgIGZvbnQtZmFtaWx5OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDE2cHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlO1xufVxuXG4uZGotZmFxX19idG46aG92ZXIsXG4uZGotZmFxX19idG46Zm9jdXMge1xuICAgIGNvbG9yOiAjQTc4QkZBO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5kai1mYXFfX2J0bjpub3QoLmNvbGxhcHNlZCkge1xuICAgIGNvbG9yOiAjQTc4QkZBO1xufVxuXG4uZGotZmFxX19jaGV2cm9uIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTI0LCA1OCwgMjM3LCAwLjEyKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZSwgYmFja2dyb3VuZCAwLjNzIGVhc2U7XG59XG5cbi5kai1mYXFfX2J0bjpub3QoLmNvbGxhcHNlZCkgLmRqLWZhcV9fY2hldnJvbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kai1hY2NlbnQpO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4uZGotZmFxX19hbnN3ZXIge1xuICAgIHBhZGRpbmc6IDAgMjRweCAyMHB4O1xuICAgIGZvbnQtZmFtaWx5OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1kai10ZXh0LW11dGVkKTtcbiAgICBsaW5lLWhlaWdodDogMS43O1xufVxuXG4vKiAtLS0gUmVnaW9ucyBHcmlkIC0tLSAqL1xuLmRqLXJlZ2lvbnMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMjBweCwgMWZyKSk7XG4gICAgZ2FwOiAyNHB4O1xufVxuXG4uZGotcmVnaW9uLWNhcmQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWRqLWNhcmQtYmcpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRqLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBwYWRkaW5nOiAyNHB4O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjNzIGVhc2UsIHRyYW5zZm9ybSAwLjNzIGVhc2U7XG59XG5cbi5kai1yZWdpb24tY2FyZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kai1hY2NlbnQpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbn1cblxuLmRqLXJlZ2lvbi1jYXJkX190aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICdSaWdodGVvdXMnLCBjdXJzaXZlO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGNvbG9yOiB2YXIoLS1kai10ZXh0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1kai1ib3JkZXIpO1xufVxuXG4uZGotcmVnaW9uLWNhcmRfX2xpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5kai1yZWdpb24tY2FyZF9fbGlzdCBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4uZGotcmVnaW9uLWNhcmRfX2xpc3QgYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIGZvbnQtZmFtaWx5OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgY29sb3I6IHZhcigtLWRqLXRleHQtbXV0ZWQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1cyBlYXNlLCB0cmFuc2Zvcm0gMC4yNXMgZWFzZTtcbn1cblxuLmRqLXJlZ2lvbi1jYXJkX19saXN0IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjQTc4QkZBO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xufVxuXG4uZGotcmVnaW9uLWNhcmRfX2xpc3QgYSBpIHtcbiAgICBjb2xvcjogdmFyKC0tZGotYWNjZW50KTtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbn1cblxuLyogLS0tIFJlbGF0ZWQgU2VydmljZXMgLS0tICovXG4uZGotcmVsYXRlZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwMHB4LCAxZnIpKTtcbiAgICBnYXA6IDE2cHg7XG59XG5cbi5kai1yZWxhdGVkX19saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kai1jYXJkLWJnKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kai1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjNzIGVhc2UsIGJhY2tncm91bmQgMC4zcyBlYXNlLCB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xufVxuXG4uZGotcmVsYXRlZF9fbGluazpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kai1hY2NlbnQpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTI0LCA1OCwgMjM3LCAwLjA4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uZGotcmVsYXRlZF9fbGluay1pY29uIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEyNCwgNTgsIDIzNywgMC4xNSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiAjQTc4QkZBO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlO1xufVxuXG4uZGotcmVsYXRlZF9fbGluazpob3ZlciAuZGotcmVsYXRlZF9fbGluay1pY29uIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kai1hY2NlbnQpO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4uZGotcmVsYXRlZF9fbGluay10ZXh0IHtcbiAgICBmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6IHZhcigtLWRqLXRleHQpO1xufVxuXG4vKiAtLS0gQ1RBIFNlY3Rpb24gLS0tICovXG4uZGotY3RhLXNlY3Rpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxMDBweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZGotY3RhLXNlY3Rpb25fX2JnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAxMzVkZWcsXG4gICAgICAgIHZhcigtLWRqLXByaW1hcnkpIDAlLFxuICAgICAgICB2YXIoLS1kai1zZWNvbmRhcnkpIDUwJSxcbiAgICAgICAgdmFyKC0tZGotYWNjZW50KSAxMDAlXG4gICAgKTtcbn1cblxuLmRqLWN0YS1zZWN0aW9uX19wYXR0ZXJuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAyMCUgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuMDUpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDMwcHggMzBweDtcbn1cblxuLmRqLWN0YS1zZWN0aW9uX19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbn1cblxuLmRqLWN0YS1zZWN0aW9uX190aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICdSaWdodGVvdXMnLCBjdXJzaXZlO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS44cmVtLCAzLjV2dywgMi44cmVtKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG4uZGotY3RhLXNlY3Rpb25fX2Rlc2Mge1xuICAgIGZvbnQtZmFtaWx5OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICBtYXgtd2lkdGg6IDU2MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDMycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNztcbn1cblxuLmRqLWN0YS1zZWN0aW9uIC5kai1idG4tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogdmFyKC0tZGotc2Vjb25kYXJ5KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uZGotY3RhLXNlY3Rpb24gLmRqLWJ0bi1wcmltYXJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjFGNUY5O1xuICAgIGNvbG9yOiB2YXIoLS1kai1wcmltYXJ5KTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAzMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLyogLS0tIFV0aWxpdGllcyAtLS0gKi9cbi5kai1kaXZpZGVyIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWRqLXNlY29uZGFyeSksIHZhcigtLWRqLWFjY2VudCkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBtYXJnaW46IDAgYXV0byAxNnB4O1xufVxuXG4vKiAtLS0gUmVkdWNlZCBtb3Rpb24gLS0tICovXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5kai1oZXJvX19iZyxcbiAgICAuZGotc2VydmljZS1jYXJkX19pbWcsXG4gICAgLmRqLXN0ZXAsXG4gICAgLmRqLXByaWNlLWNhcmQsXG4gICAgLmRqLWZhcV9fY2hldnJvbixcbiAgICAuZGotaGVyb19fc3RhdC1jYXJkLFxuICAgIC5kai1yZWdpb24tY2FyZCxcbiAgICAuZGotcmVsYXRlZF9fbGluayB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLmRqLWhlcm9fX2dyaWQtcGF0dGVybiB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAuZGotaGVyb19fYmFkZ2UtZG90IHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgIH1cbn1cblxuLyogLS0tIE1vYmlsZSB0d2Vha3MgLS0tICovXG5AbWVkaWEgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgICAuZGotaGVybyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDgwdmg7XG4gICAgfVxuXG4gICAgLmRqLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiA1NnB4IDA7XG4gICAgfVxuXG4gICAgLmRqLWhlcm9fX2FjdGlvbnMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC5kai1idG4tcHJpbWFyeSxcbiAgICAuZGotYnRuLW91dGxpbmUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmRqLXNlcnZpY2UtY2FyZCB7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMTYvMTA7XG4gICAgfVxuXG4gICAgLmRqLXNlcnZpY2UtY2FyZF9fZGVzYyB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgIH1cblxuICAgIC5kai1jdGEtc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDY0cHggMDtcbiAgICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/