/* ============================================================
   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(var(--color-primary-rgb), 0.06) 0%, transparent 55%),
        radial-gradient(ellipse at bottom, rgba(216, 204, 184, 0.35) 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-text);
    opacity: 0.08;
    pointer-events: none;
}

/* Cancel variant: cooler, less celebratory */
.checkout-result--cancel {
    background:
        radial-gradient(ellipse at top, rgba(var(--color-primary-rgb), 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(var(--color-primary-rgb), 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-text);
    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(var(--color-primary-rgb), 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(var(--color-primary-rgb), 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) ---- */
.checkout-result .section-ornament {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.375rem;
    margin: 0 auto 2.125rem;
    max-width: 8rem;
    flex-wrap: wrap;
}

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

.checkout-result .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 */
.checkout-result .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;
}

.checkout-result .btn-ghost:hover {
    border-color: var(--color-primary);
    color: var(--color-primary-dark);
    background: rgba(var(--color-primary-rgb), 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(var(--color-primary-rgb), 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jc3MvY2hlY2tvdXQtcmVzdWx0LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7aUVBS2lFOztBQUVqRSx5REFBeUQ7QUFDekQ7SUFDSSxrQkFBa0I7SUFDbEIsK0JBQStCO0lBQy9CLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLHVCQUF1QixhQUFhLGdDQUFnQztJQUNwRSxnQkFBZ0I7SUFDaEI7Ozs0QkFHd0I7QUFDNUI7O0FBRUEseURBQXlEO0FBQ3pEO0lBQ0ksa0JBQWtCO0lBQ2xCLGlCQUFpQixvQkFBb0IsNEJBQTRCO0lBQ2pFLGlCQUFpQjtJQUNqQixZQUFZO0lBQ1osWUFBWTtJQUNaLGdDQUFnQztJQUNoQyxhQUFhO0lBQ2Isb0JBQW9CO0FBQ3hCOztBQUVBLDZDQUE2QztBQUM3QztJQUNJOzs0QkFFd0I7QUFDNUI7QUFDQTtJQUNJLDZCQUE2QjtJQUM3QixhQUFhO0FBQ2pCOztBQUVBLG9EQUFvRDtBQUNwRDtJQUNJLCtCQUErQixNQUFNLFNBQVM7SUFDOUMsK0JBQStCLE1BQU0sU0FBUzs7SUFFOUMsa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixXQUFXO0lBQ1gsZ0JBQWdCLHFCQUFxQiw0Q0FBNEM7SUFDakYsb0ZBQW9GOztJQUVwRixpQ0FBaUM7SUFDakMsc0RBQXNEO0lBQ3RELHdCQUF3QixhQUFhLGdFQUFnRTtJQUNyRzs7K0NBRTJDOztJQUUzQyw2REFBNkQ7SUFDN0Qsa0JBQWtCOztJQUVsQixtREFBbUQ7SUFDbkQsMkVBQTJFO0FBQy9FOztBQUVBO0lBQ0ksT0FBTyxVQUFVLEVBQUUsMkJBQTJCLEVBQUU7SUFDaEQsT0FBTyxVQUFVLEVBQUUsd0JBQXdCLEVBQUU7QUFDakQ7O0FBRUEsNkRBQTZEO0FBQzdEO0lBQ0ksZ0NBQWdDO0lBQ2hDLHVCQUF1QixjQUFjLGVBQWU7SUFDcEQsWUFBWSx5QkFBeUIsY0FBYztJQUNuRCxhQUFhO0lBQ2IsYUFBYTtJQUNiLG1CQUFtQjs7SUFFbkIsb0RBQW9EO0lBQ3BELDBFQUEwRTtBQUM5RTs7QUFFQTtJQUNJLDBCQUEwQjtJQUMxQixnRkFBZ0Y7SUFDaEYsb0VBQW9FO0FBQ3hFOztBQUVBO0lBQ0ksNkJBQTZCO0lBQzdCLHlEQUF5RDtBQUM3RDs7QUFFQTtJQUNJLE9BQU8sVUFBVSxFQUFFLHNCQUFzQixFQUFFLElBQUksc0JBQXNCO0lBQ3JFLE9BQU8sVUFBVSxFQUFFLG1CQUFtQixFQUFFO0FBQzVDOztBQUVBLGlEQUFpRDtBQUNqRDtJQUNJLGtCQUFrQjtJQUNsQixtQ0FBbUM7SUFDbkMsa0JBQWtCLG9CQUFvQixPQUFPO0lBQzdDLGdCQUFnQjtJQUNoQixzQkFBc0I7SUFDdEIseUJBQXlCO0lBQ3pCLGdDQUFnQztBQUNwQzs7QUFFQTtJQUNJLHFCQUFxQixpQkFBaUIsU0FBUztJQUMvQyxnQ0FBZ0M7SUFDaEMsbUJBQW1CLG1CQUFtQiwyQkFBMkI7SUFDakUsa0JBQWtCLG9CQUFvQixjQUFjO0lBQ3BELGdCQUFnQjtJQUNoQix3QkFBd0I7SUFDeEIsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksdUJBQXVCLGVBQWUsZUFBZTtJQUNyRCxnQkFBZ0I7SUFDaEIsNkJBQTZCO0lBQzdCLGVBQWU7SUFDZixrQkFBa0Isb0JBQW9CLGdCQUFnQjtJQUN0RCw4QkFBOEI7QUFDbEM7O0FBRUEsNkNBQTZDO0FBQzdDO0lBQ0ksdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsV0FBVztJQUNYLG9CQUFvQjtJQUNwQixnQ0FBZ0M7SUFDaEMsc0RBQXNEO0lBQ3RELHFCQUFxQjtJQUNyQixrQkFBa0I7SUFDbEIsOEJBQThCO0lBQzlCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxtQ0FBbUM7SUFDbkMsZ0JBQWdCO0lBQ2hCLHNCQUFzQjtJQUN0Qix5QkFBeUI7SUFDekIsZ0NBQWdDO0FBQ3BDOztBQUVBO0lBQ0ksd0RBQXdEO0lBQ3hELGtCQUFrQjtJQUNsQix3QkFBd0I7SUFDeEIsZ0JBQWdCO0lBQ2hCLHVCQUF1QjtJQUN2QixtQkFBbUI7SUFDbkIsZ0JBQWdCO0FBQ3BCOztBQUVBLHlFQUF5RTtBQUN6RTtJQUNJLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsZUFBZTtJQUNmLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsVUFBVTtJQUNWLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsZ0NBQWdDO0lBQ2hDLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSwyREFBMkQ7SUFDM0QsVUFBVTtJQUNWLFdBQVc7SUFDWCxhQUFhO0FBQ2pCOztBQUVBLDZCQUE2QjtBQUM3QjtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsY0FBYyx3QkFBd0IsbUJBQW1CO0lBQ3pELG9CQUFvQjtJQUNwQix3QkFBd0I7SUFDeEIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0k7UUFDSSxtQkFBbUI7UUFDbkIsdUJBQXVCO1FBQ3ZCLGVBQWU7SUFDbkI7SUFDQTtRQUNJLE9BQU87UUFDUCxnQkFBZ0I7SUFDcEI7QUFDSjs7QUFFQSxtRUFBbUU7QUFDbkU7SUFDSSxvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2Qix1QkFBdUI7SUFDdkIsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtJQUN4QixxQ0FBcUM7SUFDckMsK0JBQStCO0lBQy9CLG1DQUFtQztJQUNuQyxnQkFBZ0I7SUFDaEIscUJBQXFCO0lBQ3JCLHlFQUF5RTtBQUM3RTs7QUFFQTtJQUNJLGtDQUFrQztJQUNsQyxnQ0FBZ0M7SUFDaEMsZ0RBQWdEO0FBQ3BEOztBQUVBLDJCQUEyQjtBQUMzQjtJQUNJLFNBQVM7SUFDVCxtQkFBbUI7SUFDbkIsOEJBQThCO0lBQzlCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGdDQUFnQztJQUNoQyxxQkFBcUI7SUFDckIsZ0JBQWdCO0lBQ2hCLDREQUE0RDtJQUM1RCxrQ0FBa0M7QUFDdEM7O0FBRUE7SUFDSSx5Q0FBeUM7QUFDN0M7O0FBRUEsb0NBQW9DO0FBQ3BDO0lBQ0k7UUFDSSwyQkFBMkI7UUFDM0IsdUJBQXVCO0lBQzNCOztJQUVBO1FBQ0ksOEJBQThCO1FBQzlCLGdDQUFnQztRQUNoQyxxQkFBcUI7SUFDekI7O0lBRUE7UUFDSSxtQkFBbUIsZUFBZSx3Q0FBd0M7UUFDMUUsa0JBQWtCO0lBQ3RCOztJQUVBO1FBQ0ksb0JBQW9CO0lBQ3hCOztJQUVBO1FBQ0ksWUFBWTtRQUNaLGFBQWE7UUFDYixZQUFZO0lBQ2hCOztJQUVBO1FBQ0ksV0FBVztRQUNYLFlBQVk7SUFDaEI7O0lBRUE7UUFDSSxXQUFXO1FBQ1gsWUFBWTtJQUNoQjtBQUNKOztBQUVBLHNFQUFzRTtBQUN0RTtJQUNJOztRQUVJLGVBQWU7SUFDbkI7QUFDSiIsImZpbGUiOiJjaGVja291dC1yZXN1bHQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDaGVja291dCBSZXN1bHQgUGFnZXMg4oCUIFN1Y2Nlc3MgJiBDYW5jZWxcbiAgIFNlZTogRE9DVU1FTlRBVElPTi9ERVNJR05fU1lTVEVNLm1kIMKnOSAoQ29tcG9uZW50IHJlY2lwZXMpXG4gICBQaGktZGVyaXZlZCBsYXlvdXQsIEZpYm9uYWNjaSBzcGFjaW5nLCBjb25jZW50cmljLXJpbmcgYmFkZ2UsXG4gICBnb2xkZW4tc3BpcmFsIGRlY29yYXRpb24sIGZsb3dlci1vZi1saWZlIG9ybmFtZW50LlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIC0tLS0gMS4gUGFnZSBzZWN0aW9uOiB3YXJtLCBwYXBlci1saWtlIGJhY2tkcm9wIC0tLS0gKi9cbi5jaGVja291dC1yZXN1bHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjAwcHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAzLjQzNzVyZW0gMXJlbTsgICAgICAgICAgICAvKiA1NXB4IEZpYm9uYWNjaSBvbiB0YWxsIGF4aXMgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6XG4gICAgICAgIHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IHRvcCwgcmdiYSh2YXIoLS1jb2xvci1wcmltYXJ5LXJnYiksIDAuMDYpIDAlLCB0cmFuc3BhcmVudCA1NSUpLFxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBib3R0b20sIHJnYmEoMjE2LCAyMDQsIDE4NCwgMC4zNSkgMCUsIHRyYW5zcGFyZW50IDU1JSksXG4gICAgICAgIHZhcigtLWNvbG9yLWJnLXdhcm0pO1xufVxuXG4vKiBHb2xkZW4tc3BpcmFsIG1vdGlmOiBsb3dlci1yaWdodCBjb3JuZXIsIGxvdyBvcGFjaXR5ICovXG4uY2hlY2tvdXQtcmVzdWx0X19zcGlyYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTEuMzEyNXJlbTsgICAgICAgICAgICAgICAgICAgLyogbGV0IGl0IGJsZWVkIG9mZi1jYW52YXMgKi9cbiAgICBib3R0b206IC0yLjEyNXJlbTtcbiAgICB3aWR0aDogMThyZW07XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXRleHQpO1xuICAgIG9wYWNpdHk6IDAuMDg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIENhbmNlbCB2YXJpYW50OiBjb29sZXIsIGxlc3MgY2VsZWJyYXRvcnkgKi9cbi5jaGVja291dC1yZXN1bHQtLWNhbmNlbCB7XG4gICAgYmFja2dyb3VuZDpcbiAgICAgICAgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgdG9wLCByZ2JhKHZhcigtLWNvbG9yLXByaW1hcnktcmdiKSwgMC4wNCkgMCUsIHRyYW5zcGFyZW50IDU1JSksXG4gICAgICAgIHZhcigtLWNvbG9yLWJnLXdhcm0pO1xufVxuLmNoZWNrb3V0LXJlc3VsdC0tY2FuY2VsIC5jaGVja291dC1yZXN1bHRfX3NwaXJhbCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gICAgb3BhY2l0eTogMC4wNTtcbn1cblxuLyogLS0tLSAyLiBUaGUgZ29sZGVuLXJlY3RhbmdsZSBcIm1vbWVudFwiIGNhcmQgLS0tLSAqL1xuLmNoZWNrb3V0LWNhcmQge1xuICAgIC0tY2FyZC1wYWRkaW5nLWJsb2NrOiAzLjQzNzVyZW07ICAgICAvKiA1NXB4ICovXG4gICAgLS1jYXJkLXBhZGRpbmctaW5saW5lOiAyLjEyNXJlbTsgICAgIC8qIDM0cHggKi9cblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMzRyZW07ICAgICAgICAgICAgICAgICAgICAvKiB+NTQ0cHgg4oCUIG5hcnJvdyBlbm91Z2ggdG8gZmVlbCBpbnRpbWF0ZSAqL1xuICAgIC8qIEFzcGVjdCByYXRpbyBpcyBpbXBsaWVkIGJ5IGNvbnRlbnQgcmh5dGhtLCBub3QgZW5mb3JjZWQg4oCUIGNvbnRlbnQgc2NhbGVzIGZyZWVseSAqL1xuXG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctd2hpdGUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEodmFyKC0tY29sb3ItcHJpbWFyeS1yZ2IpLCAwLjE4KTtcbiAgICBib3JkZXItcmFkaXVzOiAxLjgxMjVyZW07ICAgICAgICAgICAgLyogcmFkaXVzLW1kICg4cHgpICsgcGFkZGluZy1pbmxpbmUgKDM0cHgpIOKGkiA0MXB4ID0gY29uY2VudHJpYyAqL1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAgIDAgMXB4IDJweCByZ2JhKDQ1LCA1NSwgNzIsIDAuMDQpLFxuICAgICAgICAwIDIxcHggNTVweCAtOHB4IHJnYmEoNDUsIDU1LCA3MiwgMC4xMCk7XG5cbiAgICBwYWRkaW5nOiB2YXIoLS1jYXJkLXBhZGRpbmctYmxvY2spIHZhcigtLWNhcmQtcGFkZGluZy1pbmxpbmUpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC8qIEVudHJhbmNlIGFuaW1hdGlvbjogcGhpwrMgZHVyYXRpb24sIHNldHRsZSBlYXNlICovXG4gICAgYW5pbWF0aW9uOiBjaGVja291dENhcmRFbnRlciAwLjg0OHMgY3ViaWMtYmV6aWVyKDAuMjIsIDEuMCwgMC4zNiwgMS4wKSBib3RoO1xufVxuXG5Aa2V5ZnJhbWVzIGNoZWNrb3V0Q2FyZEVudGVyIHtcbiAgICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEzcHgpOyB9XG4gICAgdG8gICB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxufVxuXG4vKiAtLS0tIDMuIENvbmNlbnRyaWMtcmluZyBiYWRnZSAoREVTSUdOX1NZU1RFTS5tZCDCpzUpIC0tLS0gKi9cbi5jaGVja291dC1iYWRnZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktdGV4dCk7XG4gICAgbWFyZ2luOiAwIGF1dG8gMi4xMjVyZW07ICAgICAgICAgICAgIC8qIDM0cHggYmVsb3cgKi9cbiAgICB3aWR0aDogMTQ0cHg7ICAgICAgICAgICAgICAgICAgICAgICAgLyogRmlib25hY2NpICovXG4gICAgaGVpZ2h0OiAxNDRweDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAvKiBDZWxlYnJhdG9yeSBzcHJpbmcgbW90aW9uIOKAlCBwaGktZHJpdmVuIGR1cmF0aW9uICovXG4gICAgYW5pbWF0aW9uOiBiYWRnZVBvcCAwLjUyNHMgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNjQsIDEuMCkgMC4xMjRzIGJvdGg7XG59XG5cbi5jaGVja291dC1iYWRnZV9fZGlzYyB7XG4gICAgZmlsbDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgLyogU3VidGxlIGluc2V0IGhpZ2hsaWdodCB2aWEgZmlsdGVyIOKAlCBhZGRzIGRpbWVuc2lvbiB3aXRob3V0IGEgZ3JhZGllbnQgc3RhY2sgKi9cbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgNHB4IDE0cHggcmdiYSh2YXIoLS1jb2xvci1wcmltYXJ5LXJnYiksIDAuMzApKTtcbn1cblxuLmNoZWNrb3V0LWJhZGdlX19kaXNjLS1uZXV0cmFsIHtcbiAgICBmaWxsOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgNHB4IDE0cHggcmdiYSgxMTMsIDEyOCwgMTUwLCAwLjIwKSk7XG59XG5cbkBrZXlmcmFtZXMgYmFkZ2VQb3Age1xuICAgIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHNjYWxlKDAuNjIpOyB9ICAgLyogMS9waGkg4oaSIGxpZ2h0IHBvcCAqL1xuICAgIHRvICAgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG59XG5cbi8qIC0tLS0gNC4gVHlwb2dyYXBoeSBsYWRkZXIgKHBoaS1zdGVwcGVkKSAtLS0tICovXG4uY2hlY2tvdXQtY2FyZF9fZXllYnJvdyB7XG4gICAgbWFyZ2luOiAwIDAgMC41cmVtO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXN1YmhlYWRpbmcpO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgICAgICAgICAgICAgICAgICAgLyogeHMgKi9cbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjE4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrKTtcbn1cblxuLmNoZWNrb3V0LWNhcmRfX3RpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAxLjMxMjVyZW07ICAgICAgICAgICAgICAgIC8qIDIxcHggKi9cbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICBmb250LXNpemU6IDIuMDU4cmVtOyAgICAgICAgICAgICAgICAgIC8qIHBoaSDDlyBzcXJ0KHBoaSkg4omIIDMzcHggKi9cbiAgICBsaW5lLWhlaWdodDogMS4yNzI7ICAgICAgICAgICAgICAgICAgIC8qIHNxcnQocGhpKSAqL1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xufVxuXG4uY2hlY2tvdXQtY2FyZF9fbGVkZSB7XG4gICAgbWFyZ2luOiAwIGF1dG8gMi4xMjVyZW07ICAgICAgICAgICAgICAvKiAzNHB4IGJlbG93ICovXG4gICAgbWF4LXdpZHRoOiAyOHJlbTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjE4OyAgICAgICAgICAgICAgICAgICAvKiBwaGkg4oCUIGV4YWN0ICovXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4vKiAtLS0tIDUuIFJlZmVyZW5jZSAvIG9yZGVyIGNvZGUgcGlsbCAtLS0tICovXG4uY2hlY2tvdXQtY2FyZF9fcmVmZXJlbmNlIHtcbiAgICBtYXJnaW46IDAgYXV0byAyLjEyNXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC41cmVtO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXdhcm0pO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEodmFyKC0tY29sb3ItcHJpbWFyeS1yZ2IpLCAwLjI0KTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5jaGVja291dC1jYXJkX19yZWZlcmVuY2UtbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXN1YmhlYWRpbmcpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmspO1xufVxuXG4uY2hlY2tvdXQtY2FyZF9fcmVmZXJlbmNlIGNvZGUge1xuICAgIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFwiU0YgTW9ub1wiLCBcIk1lbmxvXCIsIG1vbm9zcGFjZTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBtYXgtd2lkdGg6IDE0cmVtO1xufVxuXG4vKiAtLS0tIDYuIFNlY3Rpb24gb3JuYW1lbnQgKGZsb3dlciBvZiBsaWZlIOKAlCBERVNJR05fU1lTVEVNLm1kIMKnNikgLS0tLSAqL1xuLmNoZWNrb3V0LXJlc3VsdCAuc2VjdGlvbi1vcm5hbWVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC4zNzVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG8gMi4xMjVyZW07XG4gICAgbWF4LXdpZHRoOiA4cmVtO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmNoZWNrb3V0LXJlc3VsdCAuc2VjdGlvbi1vcm5hbWVudCBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNXB4O1xuICAgIGhlaWdodDogNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBvcGFjaXR5OiAwLjQ7XG59XG5cbi5jaGVja291dC1yZXN1bHQgLnNlY3Rpb24tb3JuYW1lbnQgc3BhbjpudGgtY2hpbGQoNCkge1xuICAgIC8qIENlbnRyZSBkb3Qgb2YgdGhlIHNldmVuIOKAlCBzbGlnaHRseSBsYXJnZXIgYW5kIHN0cm9uZ2VyICovXG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBvcGFjaXR5OiAwLjY1O1xufVxuXG4vKiAtLS0tIDcuIENUQSBjbHVzdGVyIC0tLS0gKi9cbi5jaGVja291dC1jYXJkX19hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjgxMjVyZW07ICAgICAgICAgICAgICAgICAgICAgICAvKiAxM3B4IEZpYm9uYWNjaSAqL1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIG1hcmdpbjogMCBhdXRvIDEuMzEyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDIycmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAuY2hlY2tvdXQtY2FyZF9fYWN0aW9ucyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuICAgIC5jaGVja291dC1jYXJkX19hY3Rpb25zIC5idG4ge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDE0cmVtO1xuICAgIH1cbn1cblxuLyogR2hvc3QgYnV0dG9uIHZhcmlhbnQg4oCUIG91dGxpbmVkLCBsb3ctZW1waGFzaXMgc2Vjb25kYXJ5IGFjdGlvbiAqL1xuLmNoZWNrb3V0LXJlc3VsdCAuYnRuLWdob3N0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMS41cmVtO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc3ViaGVhZGluZyk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kIDAuMnMgZWFzZTtcbn1cblxuLmNoZWNrb3V0LXJlc3VsdCAuYnRuLWdob3N0OmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmspO1xuICAgIGJhY2tncm91bmQ6IHJnYmEodmFyKC0tY29sb3ItcHJpbWFyeS1yZ2IpLCAwLjA2KTtcbn1cblxuLyogLS0tLSA4LiBIaW50IHRleHQgLS0tLSAqL1xuLmNoZWNrb3V0LWNhcmRfX2hpbnQge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0KTtcbiAgICBsaW5lLWhlaWdodDogMS42MTg7XG59XG5cbi5jaGVja291dC1jYXJkX19oaW50IGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmspO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKHZhcigtLWNvbG9yLXByaW1hcnktcmdiKSwgMC4zKTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uY2hlY2tvdXQtY2FyZF9faGludCBhOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLyogLS0tLSA5LiBNb2JpbGUgYWRqdXN0bWVudHMgLS0tLSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmNoZWNrb3V0LXJlc3VsdCB7XG4gICAgICAgIHBhZGRpbmc6IDIuMTI1cmVtIDAuODEyNXJlbTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLmNoZWNrb3V0LWNhcmQge1xuICAgICAgICAtLWNhcmQtcGFkZGluZy1ibG9jazogMi4xMjVyZW07XG4gICAgICAgIC0tY2FyZC1wYWRkaW5nLWlubGluZTogMS4zMTI1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxLjVyZW07XG4gICAgfVxuXG4gICAgLmNoZWNrb3V0LWNhcmRfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjYxOHJlbTsgICAgICAgICAgICAgIC8qIHhsIOKAlCBwaGkgc3RlcCBkb3duIG9uIHNtYWxsIHNjcmVlbnMgKi9cbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjcyO1xuICAgIH1cblxuICAgIC5jaGVja291dC1jYXJkX19sZWRlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgfVxuXG4gICAgLmNoZWNrb3V0LXJlc3VsdF9fc3BpcmFsIHtcbiAgICAgICAgd2lkdGg6IDEycmVtO1xuICAgICAgICBib3R0b206IC0xcmVtO1xuICAgICAgICByaWdodDogLTJyZW07XG4gICAgfVxuXG4gICAgLmNoZWNrb3V0LWJhZGdlIHtcbiAgICAgICAgd2lkdGg6IDk2cHg7XG4gICAgICAgIGhlaWdodDogOTZweDtcbiAgICB9XG5cbiAgICAuY2hlY2tvdXQtYmFkZ2Ugc3ZnIHtcbiAgICAgICAgd2lkdGg6IDk2cHg7XG4gICAgICAgIGhlaWdodDogOTZweDtcbiAgICB9XG59XG5cbi8qIC0tLS0gMTAuIFJlZHVjZWQgbW90aW9uOiB6ZXJvIGFuaW1hdGlvbnMsIG5vIGNlbGVicmF0b3J5IHBvcCAtLS0tICovXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5jaGVja291dC1jYXJkLFxuICAgIC5jaGVja291dC1iYWRnZSB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICB9XG59XG4iXX0= */