/* ============================================================
   Checkout Result Pages — Success & Cancel
   See: DOCUMENTATION/DESIGN_SYSTEM.md §9 (Component recipes)
   Phi-derived layout, Fibonacci spacing, concentric-ring badge,
   golden-spiral decoration, flower-of-life ornament.
   ============================================================ */

/* ---- 1. Page section: warm, paper-like backdrop ---- */
.checkout-result {
    position: relative;
    min-height: calc(100vh - 200px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3.4375rem 1rem;            /* 55px Fibonacci on tall axis */
    overflow: hidden;
    background:
        radial-gradient(ellipse at top, rgba(212, 168, 83, 0.06) 0%, transparent 55%),
        radial-gradient(ellipse at bottom, rgba(45, 107, 92, 0.04) 0%, transparent 55%),
        var(--color-bg-warm);
}

/* Golden-spiral motif: lower-right corner, low opacity */
.checkout-result__spiral {
    position: absolute;
    right: -1.3125rem;                   /* let it bleed off-canvas */
    bottom: -2.125rem;
    width: 18rem;
    height: auto;
    color: var(--color-primary);
    opacity: 0.08;
    pointer-events: none;
}

/* Cancel variant: cooler, less celebratory */
.checkout-result--cancel {
    background:
        radial-gradient(ellipse at top, rgba(139, 58, 77, 0.04) 0%, transparent 55%),
        var(--color-bg-warm);
}
.checkout-result--cancel .checkout-result__spiral {
    color: var(--color-secondary);
    opacity: 0.05;
}

/* ---- 2. The golden-rectangle "moment" card ---- */
.checkout-card {
    --card-padding-block: 3.4375rem;     /* 55px */
    --card-padding-inline: 2.125rem;     /* 34px */

    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 34rem;                    /* ~544px — narrow enough to feel intimate */
    /* Aspect ratio is implied by content rhythm, not enforced — content scales freely */

    background: var(--color-bg-white);
    border: 1px solid rgba(212, 168, 83, 0.18);
    border-radius: 1.8125rem;            /* radius-md (8px) + padding-inline (34px) → 41px = concentric */
    box-shadow:
        0 1px 2px rgba(45, 55, 72, 0.04),
        0 21px 55px -8px rgba(45, 55, 72, 0.10);

    padding: var(--card-padding-block) var(--card-padding-inline);
    text-align: center;

    /* Entrance animation: phi³ duration, settle ease */
    animation: checkoutCardEnter 0.848s cubic-bezier(0.22, 1.0, 0.36, 1.0) both;
}

@keyframes checkoutCardEnter {
    from { opacity: 0; transform: translateY(13px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ---- 3. Concentric-ring badge (DESIGN_SYSTEM.md §5) ---- */
.checkout-badge {
    color: var(--color-primary);
    margin: 0 auto 2.125rem;             /* 34px below */
    width: 144px;                        /* Fibonacci */
    height: 144px;
    display: grid;
    place-items: center;

    /* Celebratory spring motion — phi-driven duration */
    animation: badgePop 0.524s cubic-bezier(0.34, 1.56, 0.64, 1.0) 0.124s both;
}

.checkout-badge__disc {
    fill: var(--color-primary);
    /* Subtle inset highlight via filter — adds dimension without a gradient stack */
    filter: drop-shadow(0 4px 14px rgba(212, 168, 83, 0.30));
}

.checkout-badge__disc--neutral {
    fill: var(--color-text-muted);
    filter: drop-shadow(0 4px 14px rgba(113, 128, 150, 0.20));
}

@keyframes badgePop {
    from { opacity: 0; transform: scale(0.62); }   /* 1/phi → light pop */
    to   { opacity: 1; transform: scale(1); }
}

/* ---- 4. Typography ladder (phi-stepped) ---- */
.checkout-card__eyebrow {
    margin: 0 0 0.5rem;
    font-family: var(--font-subheading);
    font-size: 0.75rem;                   /* xs */
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--color-primary-dark);
}

.checkout-card__title {
    margin: 0 0 1.3125rem;                /* 21px */
    font-family: var(--font-heading);
    font-size: 2.058rem;                  /* phi × sqrt(phi) ≈ 33px */
    line-height: 1.272;                   /* sqrt(phi) */
    font-weight: 600;
    color: var(--color-text);
    letter-spacing: -0.01em;
}

.checkout-card__lede {
    margin: 0 auto 2.125rem;              /* 34px below */
    max-width: 28rem;
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.618;                   /* phi — exact */
    color: var(--color-text-muted);
}

/* ---- 5. Reference / order code pill ---- */
.checkout-card__reference {
    margin: 0 auto 2.125rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: var(--color-bg-warm);
    border: 1px solid rgba(212, 168, 83, 0.24);
    border-radius: 9999px;
    font-size: 0.75rem;
    color: var(--color-text-muted);
    max-width: 100%;
}

.checkout-card__reference-label {
    font-family: var(--font-subheading);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-primary-dark);
}

.checkout-card__reference code {
    font-family: ui-monospace, "SF Mono", "Menlo", monospace;
    font-size: 0.75rem;
    color: var(--color-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 14rem;
}

/* ---- 6. Section ornament (flower of life — DESIGN_SYSTEM.md §6) ---- */
.section-ornament {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.375rem;
    margin: 0 auto 2.125rem;
    max-width: 8rem;
    flex-wrap: wrap;
}

.section-ornament span {
    display: block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--color-primary);
    opacity: 0.4;
}

.section-ornament span:nth-child(4) {
    /* Centre dot of the seven — slightly larger and stronger */
    width: 8px;
    height: 8px;
    opacity: 0.65;
}

/* ---- 7. CTA cluster ---- */
.checkout-card__actions {
    display: flex;
    flex-direction: column;
    gap: 0.8125rem;                       /* 13px Fibonacci */
    align-items: stretch;
    margin: 0 auto 1.3125rem;
    max-width: 22rem;
}

@media (min-width: 481px) {
    .checkout-card__actions {
        flex-direction: row;
        justify-content: center;
        max-width: none;
    }
    .checkout-card__actions .btn {
        flex: 1;
        max-width: 14rem;
    }
}

/* Ghost button variant — outlined, low-emphasis secondary action */
.btn-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.5rem;
    background: transparent;
    color: var(--color-text);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    font-family: var(--font-subheading);
    font-weight: 500;
    text-decoration: none;
    transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

.btn-ghost:hover {
    border-color: var(--color-primary);
    color: var(--color-primary-dark);
    background: rgba(212, 168, 83, 0.06);
}

/* ---- 8. Hint text ---- */
.checkout-card__hint {
    margin: 0;
    font-size: 0.875rem;
    color: var(--color-text-light);
    line-height: 1.618;
}

.checkout-card__hint a {
    color: var(--color-primary-dark);
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px solid rgba(212, 168, 83, 0.3);
    transition: border-color 0.2s ease;
}

.checkout-card__hint a:hover {
    border-bottom-color: var(--color-primary);
}

/* ---- 9. Mobile adjustments ---- */
@media (max-width: 480px) {
    .checkout-result {
        padding: 2.125rem 0.8125rem;
        align-items: flex-start;
    }

    .checkout-card {
        --card-padding-block: 2.125rem;
        --card-padding-inline: 1.3125rem;
        border-radius: 1.5rem;
    }

    .checkout-card__title {
        font-size: 1.618rem;              /* xl — phi step down on small screens */
        line-height: 1.272;
    }

    .checkout-card__lede {
        font-size: 0.9375rem;
    }

    .checkout-result__spiral {
        width: 12rem;
        bottom: -1rem;
        right: -2rem;
    }

    .checkout-badge {
        width: 96px;
        height: 96px;
    }

    .checkout-badge svg {
        width: 96px;
        height: 96px;
    }
}

/* ---- 10. Reduced motion: zero animations, no celebratory pop ---- */
@media (prefers-reduced-motion: reduce) {
    .checkout-card,
    .checkout-badge {
        animation: none;
    }
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jc3MvY2hlY2tvdXQtcmVzdWx0LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7aUVBS2lFOztBQUVqRSx5REFBeUQ7QUFDekQ7SUFDSSxrQkFBa0I7SUFDbEIsK0JBQStCO0lBQy9CLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLHVCQUF1QixhQUFhLGdDQUFnQztJQUNwRSxnQkFBZ0I7SUFDaEI7Ozs0QkFHd0I7QUFDNUI7O0FBRUEseURBQXlEO0FBQ3pEO0lBQ0ksa0JBQWtCO0lBQ2xCLGlCQUFpQixvQkFBb0IsNEJBQTRCO0lBQ2pFLGlCQUFpQjtJQUNqQixZQUFZO0lBQ1osWUFBWTtJQUNaLDJCQUEyQjtJQUMzQixhQUFhO0lBQ2Isb0JBQW9CO0FBQ3hCOztBQUVBLDZDQUE2QztBQUM3QztJQUNJOzs0QkFFd0I7QUFDNUI7QUFDQTtJQUNJLDZCQUE2QjtJQUM3QixhQUFhO0FBQ2pCOztBQUVBLG9EQUFvRDtBQUNwRDtJQUNJLCtCQUErQixNQUFNLFNBQVM7SUFDOUMsK0JBQStCLE1BQU0sU0FBUzs7SUFFOUMsa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixXQUFXO0lBQ1gsZ0JBQWdCLHFCQUFxQiw0Q0FBNEM7SUFDakYsb0ZBQW9GOztJQUVwRixpQ0FBaUM7SUFDakMsMENBQTBDO0lBQzFDLHdCQUF3QixhQUFhLGdFQUFnRTtJQUNyRzs7K0NBRTJDOztJQUUzQyw2REFBNkQ7SUFDN0Qsa0JBQWtCOztJQUVsQixtREFBbUQ7SUFDbkQsMkVBQTJFO0FBQy9FOztBQUVBO0lBQ0ksT0FBTyxVQUFVLEVBQUUsMkJBQTJCLEVBQUU7SUFDaEQsT0FBTyxVQUFVLEVBQUUsd0JBQXdCLEVBQUU7QUFDakQ7O0FBRUEsNkRBQTZEO0FBQzdEO0lBQ0ksMkJBQTJCO0lBQzNCLHVCQUF1QixjQUFjLGVBQWU7SUFDcEQsWUFBWSx5QkFBeUIsY0FBYztJQUNuRCxhQUFhO0lBQ2IsYUFBYTtJQUNiLG1CQUFtQjs7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MkI7UUFDM0IsdUJBQXVCO0lBQzNCOztJQUVBO1FBQ0ksOEJBQThCO1FBQzlCLGdDQUFnQztRQUNoQyxxQkFBcUI7SUFDekI7O0lBRUE7UUFDSSxtQkFBbUIsZUFBZSx3Q0FBd0M7UUFDMUUsa0JBQWtCO0lBQ3RCOztJQUVBO1FBQ0ksb0JBQW9CO0lBQ3hCOztJQUVBO1FBQ0ksWUFBWTtRQUNaLGFBQWE7UUFDYixZQUFZO0lBQ2hCOztJQUVBO1FBQ0ksV0FBVztRQUNYLFlBQVk7SUFDaEI7O0lBRUE7UUFDSSxXQUFXO1FBQ1gsWUFBWTtJQUNoQjtBQUNKOztBQUVBLHNFQUFzRTtBQUN0RTtJQUNJOztRQUVJLGVBQWU7SUFDbkI7QUFDSiIsImZpbGUiOiJjaGVja291dC1yZXN1bHQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDaGVja291dCBSZXN1bHQgUGFnZXMg4oCUIFN1Y2Nlc3MgJiBDYW5jZWxcbiAgIFNlZTogRE9DVU1FTlRBVElPTi9ERVNJR05fU1lTVEVNLm1kIMKnOSAoQ29tcG9uZW50IHJlY2lwZXMpXG4gICBQaGktZGVyaXZlZCBsYXlvdXQsIEZpYm9uYWNjaSBzcGFjaW5nLCBjb25jZW50cmljLXJpbmcgYmFkZ2UsXG4gICBnb2xkZW4tc3BpcmFsIGRlY29yYXRpb24sIGZsb3dlci1vZi1saWZlIG9ybmFtZW50LlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIC0tLS0gMS4gUGFnZSBzZWN0aW9uOiB3YXJtLCBwYXBlci1saWtlIGJhY2tkcm9wIC0tLS0gKi9cbi5jaGVja291dC1yZXN1bHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjAwcHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAzLjQzNzVyZW0gMXJlbTsgICAgICAgICAgICAvKiA1NXB4IEZpYm9uYWNjaSBvbiB0YWxsIGF4aXMgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6XG4gICAgICAgIHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IHRvcCwgcmdiYSgyMTIsIDE2OCwgODMsIDAuMDYpIDAlLCB0cmFuc3BhcmVudCA1NSUpLFxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBib3R0b20sIHJnYmEoNDUsIDEwNywgOTIsIDAuMDQpIDAlLCB0cmFuc3BhcmVudCA1NSUpLFxuICAgICAgICB2YXIoLS1jb2xvci1iZy13YXJtKTtcbn1cblxuLyogR29sZGVuLXNwaXJhbCBtb3RpZjogbG93ZXItcmlnaHQgY29ybmVyLCBsb3cgb3BhY2l0eSAqL1xuLmNoZWNrb3V0LXJlc3VsdF9fc3BpcmFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC0xLjMxMjVyZW07ICAgICAgICAgICAgICAgICAgIC8qIGxldCBpdCBibGVlZCBvZmYtY2FudmFzICovXG4gICAgYm90dG9tOiAtMi4xMjVyZW07XG4gICAgd2lkdGg6IDE4cmVtO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgb3BhY2l0eTogMC4wODtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogQ2FuY2VsIHZhcmlhbnQ6IGNvb2xlciwgbGVzcyBjZWxlYnJhdG9yeSAqL1xuLmNoZWNrb3V0LXJlc3VsdC0tY2FuY2VsIHtcbiAgICBiYWNrZ3JvdW5kOlxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCB0b3AsIHJnYmEoMTM5LCA1OCwgNzcsIDAuMDQpIDAlLCB0cmFuc3BhcmVudCA1NSUpLFxuICAgICAgICB2YXIoLS1jb2xvci1iZy13YXJtKTtcbn1cbi5jaGVja291dC1yZXN1bHQtLWNhbmNlbCAuY2hlY2tvdXQtcmVzdWx0X19zcGlyYWwge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgIG9wYWNpdHk6IDAuMDU7XG59XG5cbi8qIC0tLS0gMi4gVGhlIGdvbGRlbi1yZWN0YW5nbGUgXCJtb21lbnRcIiBjYXJkIC0tLS0gKi9cbi5jaGVja291dC1jYXJkIHtcbiAgICAtLWNhcmQtcGFkZGluZy1ibG9jazogMy40Mzc1cmVtOyAgICAgLyogNTVweCAqL1xuICAgIC0tY2FyZC1wYWRkaW5nLWlubGluZTogMi4xMjVyZW07ICAgICAvKiAzNHB4ICovXG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDM0cmVtOyAgICAgICAgICAgICAgICAgICAgLyogfjU0NHB4IOKAlCBuYXJyb3cgZW5vdWdoIHRvIGZlZWwgaW50aW1hdGUgKi9cbiAgICAvKiBBc3BlY3QgcmF0aW8gaXMgaW1wbGllZCBieSBjb250ZW50IHJoeXRobSwgbm90IGVuZm9yY2VkIOKAlCBjb250ZW50IHNjYWxlcyBmcmVlbHkgKi9cblxuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXdoaXRlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIxMiwgMTY4LCA4MywgMC4xOCk7XG4gICAgYm9yZGVyLXJhZGl1czogMS44MTI1cmVtOyAgICAgICAgICAgIC8qIHJhZGl1cy1tZCAoOHB4KSArIHBhZGRpbmctaW5saW5lICgzNHB4KSDihpIgNDFweCA9IGNvbmNlbnRyaWMgKi9cbiAgICBib3gtc2hhZG93OlxuICAgICAgICAwIDFweCAycHggcmdiYSg0NSwgNTUsIDcyLCAwLjA0KSxcbiAgICAgICAgMCAyMXB4IDU1cHggLThweCByZ2JhKDQ1LCA1NSwgNzIsIDAuMTApO1xuXG4gICAgcGFkZGluZzogdmFyKC0tY2FyZC1wYWRkaW5nLWJsb2NrKSB2YXIoLS1jYXJkLXBhZGRpbmctaW5saW5lKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAvKiBFbnRyYW5jZSBhbmltYXRpb246IHBoacKzIGR1cmF0aW9uLCBzZXR0bGUgZWFzZSAqL1xuICAgIGFuaW1hdGlvbjogY2hlY2tvdXRDYXJkRW50ZXIgMC44NDhzIGN1YmljLWJlemllcigwLjIyLCAxLjAsIDAuMzYsIDEuMCkgYm90aDtcbn1cblxuQGtleWZyYW1lcyBjaGVja291dENhcmRFbnRlciB7XG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxM3B4KTsgfVxuICAgIHRvICAgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuLyogLS0tLSAzLiBDb25jZW50cmljLXJpbmcgYmFkZ2UgKERFU0lHTl9TWVNURU0ubWQgwqc1KSAtLS0tICovXG4uY2hlY2tvdXQtYmFkZ2Uge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBtYXJnaW46IDAgYXV0byAyLjEyNXJlbTsgICAgICAgICAgICAgLyogMzRweCBiZWxvdyAqL1xuICAgIHdpZHRoOiAxNDRweDsgICAgICAgICAgICAgICAgICAgICAgICAvKiBGaWJvbmFjY2kgKi9cbiAgICBoZWlnaHQ6IDE0NHB4O1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcblxuICAgIC8qIENlbGVicmF0b3J5IHNwcmluZyBtb3Rpb24g4oCUIHBoaS1kcml2ZW4gZHVyYXRpb24gKi9cbiAgICBhbmltYXRpb246IGJhZGdlUG9wIDAuNTI0cyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC42NCwgMS4wKSAwLjEyNHMgYm90aDtcbn1cblxuLmNoZWNrb3V0LWJhZGdlX19kaXNjIHtcbiAgICBmaWxsOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAvKiBTdWJ0bGUgaW5zZXQgaGlnaGxpZ2h0IHZpYSBmaWx0ZXIg4oCUIGFkZHMgZGltZW5zaW9uIHdpdGhvdXQgYSBncmFkaWVudCBzdGFjayAqL1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCA0cHggMTRweCByZ2JhKDIxMiwgMTY4LCA4MywgMC4zMCkpO1xufVxuXG4uY2hlY2tvdXQtYmFkZ2VfX2Rpc2MtLW5ldXRyYWwge1xuICAgIGZpbGw6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCA0cHggMTRweCByZ2JhKDExMywgMTI4LCAxNTAsIDAuMjApKTtcbn1cblxuQGtleWZyYW1lcyBiYWRnZVBvcCB7XG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogc2NhbGUoMC42Mik7IH0gICAvKiAxL3BoaSDihpIgbGlnaHQgcG9wICovXG4gICAgdG8gICB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbn1cblxuLyogLS0tLSA0LiBUeXBvZ3JhcGh5IGxhZGRlciAocGhpLXN0ZXBwZWQpIC0tLS0gKi9cbi5jaGVja291dC1jYXJkX19leWVicm93IHtcbiAgICBtYXJnaW46IDAgMCAwLjVyZW07XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc3ViaGVhZGluZyk7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyAgICAgICAgICAgICAgICAgICAvKiB4cyAqL1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMThlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmspO1xufVxuXG4uY2hlY2tvdXQtY2FyZF9fdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDEuMzEyNXJlbTsgICAgICAgICAgICAgICAgLyogMjFweCAqL1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgIGZvbnQtc2l6ZTogMi4wNThyZW07ICAgICAgICAgICAgICAgICAgLyogcGhpIMOXIHNxcnQocGhpKSDiiYggMzNweCAqL1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI3MjsgICAgICAgICAgICAgICAgICAgLyogc3FydChwaGkpICovXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG59XG5cbi5jaGVja291dC1jYXJkX19sZWRlIHtcbiAgICBtYXJnaW46IDAgYXV0byAyLjEyNXJlbTsgICAgICAgICAgICAgIC8qIDM0cHggYmVsb3cgKi9cbiAgICBtYXgtd2lkdGg6IDI4cmVtO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42MTg7ICAgICAgICAgICAgICAgICAgIC8qIHBoaSDigJQgZXhhY3QgKi9cbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi8qIC0tLS0gNS4gUmVmZXJlbmNlIC8gb3JkZXIgY29kZSBwaWxsIC0tLS0gKi9cbi5jaGVja291dC1jYXJkX19yZWZlcmVuY2Uge1xuICAgIG1hcmdpbjogMCBhdXRvIDIuMTI1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctd2FybSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMTIsIDE2OCwgODMsIDAuMjQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmNoZWNrb3V0LWNhcmRfX3JlZmVyZW5jZS1sYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc3ViaGVhZGluZyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGFyayk7XG59XG5cbi5jaGVja291dC1jYXJkX19yZWZlcmVuY2UgY29kZSB7XG4gICAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgXCJTRiBNb25vXCIsIFwiTWVubG9cIiwgbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG1heC13aWR0aDogMTRyZW07XG59XG5cbi8qIC0tLS0gNi4gU2VjdGlvbiBvcm5hbWVudCAoZmxvd2VyIG9mIGxpZmUg4oCUIERFU0lHTl9TWVNURU0ubWQgwqc2KSAtLS0tICovXG4uc2VjdGlvbi1vcm5hbWVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC4zNzVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG8gMi4xMjVyZW07XG4gICAgbWF4LXdpZHRoOiA4cmVtO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnNlY3Rpb24tb3JuYW1lbnQgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDVweDtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgb3BhY2l0eTogMC40O1xufVxuXG4uc2VjdGlvbi1vcm5hbWVudCBzcGFuOm50aC1jaGlsZCg0KSB7XG4gICAgLyogQ2VudHJlIGRvdCBvZiB0aGUgc2V2ZW4g4oCUIHNsaWdodGx5IGxhcmdlciBhbmQgc3Ryb25nZXIgKi9cbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIG9wYWNpdHk6IDAuNjU7XG59XG5cbi8qIC0tLS0gNy4gQ1RBIGNsdXN0ZXIgLS0tLSAqL1xuLmNoZWNrb3V0LWNhcmRfX2FjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDAuODEyNXJlbTsgICAgICAgICAgICAgICAgICAgICAgIC8qIDEzcHggRmlib25hY2NpICovXG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgbWFyZ2luOiAwIGF1dG8gMS4zMTI1cmVtO1xuICAgIG1heC13aWR0aDogMjJyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC5jaGVja291dC1jYXJkX19hY3Rpb25zIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG4gICAgLmNoZWNrb3V0LWNhcmRfX2FjdGlvbnMgLmJ0biB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTRyZW07XG4gICAgfVxufVxuXG4vKiBHaG9zdCBidXR0b24gdmFyaWFudCDigJQgb3V0bGluZWQsIGxvdy1lbXBoYXNpcyBzZWNvbmRhcnkgYWN0aW9uICovXG4uYnRuLWdob3N0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMS41cmVtO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc3ViaGVhZGluZyk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kIDAuMnMgZWFzZTtcbn1cblxuLmJ0bi1naG9zdDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIxMiwgMTY4LCA4MywgMC4wNik7XG59XG5cbi8qIC0tLS0gOC4gSGludCB0ZXh0IC0tLS0gKi9cbi5jaGVja291dC1jYXJkX19oaW50IHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saWdodCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjE4O1xufVxuXG4uY2hlY2tvdXQtY2FyZF9faGludCBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyMTIsIDE2OCwgODMsIDAuMyk7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLmNoZWNrb3V0LWNhcmRfX2hpbnQgYTpob3ZlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi8qIC0tLS0gOS4gTW9iaWxlIGFkanVzdG1lbnRzIC0tLS0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5jaGVja291dC1yZXN1bHQge1xuICAgICAgICBwYWRkaW5nOiAyLjEyNXJlbSAwLjgxMjVyZW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC5jaGVja291dC1jYXJkIHtcbiAgICAgICAgLS1jYXJkLXBhZGRpbmctYmxvY2s6IDIuMTI1cmVtO1xuICAgICAgICAtLWNhcmQtcGFkZGluZy1pbmxpbmU6IDEuMzEyNXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xuICAgIH1cblxuICAgIC5jaGVja291dC1jYXJkX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42MThyZW07ICAgICAgICAgICAgICAvKiB4bCDigJQgcGhpIHN0ZXAgZG93biBvbiBzbWFsbCBzY3JlZW5zICovXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3MjtcbiAgICB9XG5cbiAgICAuY2hlY2tvdXQtY2FyZF9fbGVkZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIH1cblxuICAgIC5jaGVja291dC1yZXN1bHRfX3NwaXJhbCB7XG4gICAgICAgIHdpZHRoOiAxMnJlbTtcbiAgICAgICAgYm90dG9tOiAtMXJlbTtcbiAgICAgICAgcmlnaHQ6IC0ycmVtO1xuICAgIH1cblxuICAgIC5jaGVja291dC1iYWRnZSB7XG4gICAgICAgIHdpZHRoOiA5NnB4O1xuICAgICAgICBoZWlnaHQ6IDk2cHg7XG4gICAgfVxuXG4gICAgLmNoZWNrb3V0LWJhZGdlIHN2ZyB7XG4gICAgICAgIHdpZHRoOiA5NnB4O1xuICAgICAgICBoZWlnaHQ6IDk2cHg7XG4gICAgfVxufVxuXG4vKiAtLS0tIDEwLiBSZWR1Y2VkIG1vdGlvbjogemVybyBhbmltYXRpb25zLCBubyBjZWxlYnJhdG9yeSBwb3AgLS0tLSAqL1xuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuY2hlY2tvdXQtY2FyZCxcbiAgICAuY2hlY2tvdXQtYmFkZ2Uge1xuICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgfVxufVxuIl19 */