/*!********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/browser-compatibility.css ***!
  \********************************************************************************************************************************/
/* ========================================
   COMPATIBILITÉ NAVIGATEURS
   Chrome, Firefox, Safari, Edge, Ecosia
   ======================================== */

/* Reset pour tous les navigateurs */
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/* Préfixes pour Flexbox (support ancien) */
.d-flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
}

.flex-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

.flex-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
}

.justify-content-between {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.align-items-center {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.flex-wrap {
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

/* Transitions avec préfixes */
.transition-all {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

/* Transform avec préfixes */
.transform-hover:hover {
    -webkit-transform: translateY(-2px);
    -moz-transform: translateY(-2px);
    -ms-transform: translateY(-2px);
    -o-transform: translateY(-2px);
    transform: translateY(-2px);
}

/* Border-radius avec préfixes pour anciens navigateurs */
.rounded {
    -webkit-border-radius: 0.375rem;
    -moz-border-radius: 0.375rem;
    border-radius: 0.375rem;
}

.rounded-lg {
    -webkit-border-radius: 0.5rem;
    -moz-border-radius: 0.5rem;
    border-radius: 0.5rem;
}

/* Box-shadow avec préfixes */
.shadow {
    -webkit-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    -moz-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

.shadow-lg {
    -webkit-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    -moz-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

/* Backdrop-filter pour les navigateurs modernes */
.backdrop-blur {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

/* Fallback pour les navigateurs sans support backdrop-filter */
@supports not (backdrop-filter: blur(10px)) {
    .backdrop-blur {
        background-color: rgba(255, 255, 255, 0.9);
    }
    
    [data-bs-theme="dark"] .backdrop-blur {
        background-color: rgba(33, 37, 41, 0.9);
    }
}

/* Gradient avec préfixes */
.gradient-primary {
    background: #007bff; /* Fallback */
    background: -webkit-linear-gradient(135deg, #007bff 0%, #6610f2 100%);
    background: -moz-linear-gradient(135deg, #007bff 0%, #6610f2 100%);
    background: -o-linear-gradient(135deg, #007bff 0%, #6610f2 100%);
    background: linear-gradient(135deg, #007bff 0%, #6610f2 100%);
}

/* Sticky positioning avec fallback */
.sticky-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
}

/* Fallback pour position sticky */
@supports not (position: sticky) {
    .sticky-top {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1020;
    }
}

/* Grid avec fallback Flexbox */
.grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
}

/* Fallback pour les navigateurs sans CSS Grid */
@supports not (display: grid) {
    .grid-container {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: -0.75rem;
    }
    
    .grid-container > * {
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 280px;
        -moz-flex: 1 1 280px;
        -ms-flex: 1 1 280px;
        flex: 1 1 280px;
        margin: 0.75rem;
    }
}

/* Scroll behavior avec fallback */
html {
    scroll-behavior: smooth;
}

/* Fallback pour scroll-behavior */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

/* Variables CSS avec fallbacks */
:root {
    --primary-color: #007bff;
    --secondary-color: #00ff91e9;
    --tertiary-color: #760e92;
    --quaternary-color: #ff0191e9;
    --success-color: #28a745;
    --danger-color: #dc3545;
    --warning-color: #ffc107;
    --info-color: #17a2b8;
    --light-color: #f8f9fa;
    --dark-color: #343a40;
}

/* Fallbacks pour les navigateurs sans support CSS custom properties */
/* Fallbacks pour les couleurs primaires */
.btn-primary {
    background-color: #007bff;
    background-color: var(--primary-color, #007bff);
    border-color: #007bff;
    border-color: var(--primary-color, #007bff);
}

.text-primary {
    color: #007bff !important;
    color: var(--primary-color, #007bff) !important;
}

.bg-primary {
    color: #007bff !important;
    color: var(--primary-color, #007bff) !important;
}
.border-primary {
    border-color: #007bff !important;
    border-color: var(--primary-color, #007bff) !important;
}
/* Fallbacks pour les couleurs secondaires */
.btn-secondary {
    background-color: #00ff91e9;
    background-color: var(--secondary-color, #00ff91e9);
    border-color: #00ff91e9;
    border-color: var(--secondary-color, #00ff91e9);

}
.text-secondary {
    color: #00ff91e9 !important;
    color: var(--secondary-color, #17935de9) !important;

}
.bg-secondary {
    color: #17935de9 !important;
    color: var(--secondary-color, #17935de9) !important;

}
.border-secondary {
    border-color: #17935de9 !important;
    border-color: var(--secondary-color, #17935de9) !important;
}
/* Fallbacks pour les couleurs tertiaires */
.btn-tertiary {
    background-color: #760e92;
    background-color: var(--tertiary-color, #760e92);
    border-color: #760e92;
    border-color: var(--tertiary-color, #760e92);
}
.text-tertiary {
    color: #760e92 !important;
    color: var(--tertiary-color, #760e92) !important;
}
.bg-tertiary {
    background-color: #760e92 !important;
    background-color: var(--tertiary-color, #b525b3) !important;
}
.border-tertiary {
    border-color: #760e92 !important;
    border-color: var(--tertiary-color, #b525b3) !important;
}
/* Fallbacks pour les couleurs quaternaires */
.btn-quaternary {
    background-color: #ff0191e9;
    background-color: var(--quaternary-color, #ff0191e9);
    border-color: rgb(252, 58, 178);
    border-color: var(--quaternary-color, #ff0191e9);
}
.text-quaternary {
    color: #ff0191e9 !important;
    color: var(--quaternary-color, #ff0191e9) !important;
}

.bg-quaternary {
    background-color: #ff0191e9 !important;
    background-color: var(--quaternary-color, #ff0191e9) !important;
}

.border-quaternary {
    border-color: rgb(252, 58, 178) !important;
    border-color: var(--quaternary-color, #ff0191e9) !important;
}

/* Aspect-ratio avec fallback */
.aspect-ratio-16-9 {
    aspect-ratio: 16 / 9;
}

/* Fallback pour aspect-ratio */
@supports not (aspect-ratio: 16 / 9) {
    .aspect-ratio-16-9 {
        position: relative;
        width: 100%;
        height: 0;
        padding-bottom: 56.25%; /* 9/16 * 100% */
    }
    
    .aspect-ratio-16-9 > * {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

/* Object-fit avec fallback */
.object-cover {
    object-fit: cover;
}

/* Fallback pour object-fit */
@supports not (object-fit: cover) {
    .object-cover {
        width: 100%;
        height: 100%;
    }
}

/* Clamp() avec fallback */
.responsive-text {
    font-size: clamp(1rem, 4vw, 2rem);
}

/* Fallback pour clamp() */
@supports not (font-size: clamp(1rem, 4vw, 2rem)) {
    .responsive-text {
        font-size: 1rem;
    }
    
    @media (min-width: 768px) {
        .responsive-text {
            font-size: 1.5rem;
        }
    }
    
    @media (min-width: 1200px) {
        .responsive-text {
            font-size: 2rem;
        }
    }
}

/* Focus-visible avec fallback */
.btn:focus-visible {
    outline: 2px solid #0d6efd;
    outline-offset: 2px;
}

/* Fallback pour focus-visible */
@supports not selector(:focus-visible) {
    .btn:focus {
        outline: 2px solid #0d6efd;
        outline-offset: 2px;
    }
}

/* Container queries avec fallback */
@container (min-width: 768px) {
    .container-responsive {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

/* Fallback pour container queries */
@supports not (container-type: inline-size) {
    @media (min-width: 768px) {
        .container-responsive {
            display: -webkit-box;
            display: -webkit-flex;
            display: -moz-box;
            display: -ms-flexbox;
            display: flex;
        }
        
        .container-responsive > * {
            -webkit-box-flex: 1;
            -webkit-flex: 1;
            -moz-flex: 1;
            -ms-flex: 1;
            flex: 1;
        }
    }
}

/* Corrections spécifiques pour Safari */
@supports (-webkit-appearance: none) {
    .form-control {
        -webkit-appearance: none;
    }
    
    .btn {
        -webkit-appearance: none;
        border-radius: 0.375rem;
    }
}

/* Corrections pour Firefox */
@-moz-document url-prefix() {
    .form-control {
        -moz-appearance: none;
    }
    
    /* Fix pour les boutons dans Firefox */
    .btn::-moz-focus-inner {
        border: 0;
        padding: 0;
    }
}

/* Corrections pour Edge/IE */
@supports (-ms-ime-align: auto) {
    .d-flex {
        display: -ms-flexbox;
    }
    
    .flex-column {
        -ms-flex-direction: column;
    }
    
    .justify-content-between {
        -ms-flex-pack: justify;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .btn {
        border-width: 2px;
    }
    
    .card {
        border-width: 2px;
    }
    
    .form-control {
        border-width: 2px;
    }
}

/* Print optimizations */
@media print {
    * {
        -webkit-print-color-adjust: exact;
        color-adjust: exact;
    }
    
    .no-print {
        display: none !important;
    }
    
    .btn,
    .navbar,
    .sidebar {
        display: none !important;
    }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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VCxVQUFVO0lBQ2Q7QUFDSjs7QUFFQSw2QkFBNkI7QUFDN0I7SUFDSTtRQUNJLG9CQUFvQjtJQUN4Qjs7SUFFQTtRQUNJLDBCQUEwQjtJQUM5Qjs7SUFFQTtRQUNJLHNCQUFzQjtJQUMxQjtBQUNKOztBQUVBLCtCQUErQjtBQUMvQjtJQUNJO1FBQ0ksaUJBQWlCO0lBQ3JCOztJQUVBO1FBQ0ksaUJBQWlCO0lBQ3JCOztJQUVBO1FBQ0ksaUJBQWlCO0lBQ3JCO0FBQ0o7O0FBRUEsd0JBQXdCO0FBQ3hCO0lBQ0k7UUFDSSxpQ0FBaUM7UUFDakMsbUJBQW1CO0lBQ3ZCOztJQUVBO1FBQ0ksd0JBQXdCO0lBQzVCOztJQUVBOzs7UUFHSSx3QkFBd0I7SUFDNUI7QUFDSiIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvYnJvd3Nlci1jb21wYXRpYmlsaXR5LmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDT01QQVRJQklMSVTDiSBOQVZJR0FURVVSU1xuICAgQ2hyb21lLCBGaXJlZm94LCBTYWZhcmksIEVkZ2UsIEVjb3NpYVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBSZXNldCBwb3VyIHRvdXMgbGVzIG5hdmlnYXRldXJzICovXG4qIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIFByw6lmaXhlcyBwb3VyIEZsZXhib3ggKHN1cHBvcnQgYW5jaWVuKSAqL1xuLmQtZmxleCB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mbGV4LWNvbHVtbiB7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLW1vei1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5mbGV4LXJvdyB7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAtbW96LWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLmp1c3RpZnktY29udGVudC1iZXR3ZWVuIHtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIC1tb3otanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uYWxpZ24taXRlbXMtY2VudGVyIHtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAtbW96LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmxleC13cmFwIHtcbiAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgICAtbW96LWZsZXgtd3JhcDogd3JhcDtcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLyogVHJhbnNpdGlvbnMgYXZlYyBwcsOpZml4ZXMgKi9cbi50cmFuc2l0aW9uLWFsbCB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG5cbi8qIFRyYW5zZm9ybSBhdmVjIHByw6lmaXhlcyAqL1xuLnRyYW5zZm9ybS1ob3Zlcjpob3ZlciB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4vKiBCb3JkZXItcmFkaXVzIGF2ZWMgcHLDqWZpeGVzIHBvdXIgYW5jaWVucyBuYXZpZ2F0ZXVycyAqL1xuLnJvdW5kZWQge1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbn1cblxuLnJvdW5kZWQtbGcge1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbn1cblxuLyogQm94LXNoYWRvdyBhdmVjIHByw6lmaXhlcyAqL1xuLnNoYWRvdyB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAuMTI1cmVtIDAuMjVyZW0gcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG4gICAgLW1vei1ib3gtc2hhZG93OiAwIDAuMTI1cmVtIDAuMjVyZW0gcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG4gICAgYm94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xufVxuXG4uc2hhZG93LWxnIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMC41cmVtIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAtbW96LWJveC1zaGFkb3c6IDAgMC41cmVtIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBib3gtc2hhZG93OiAwIDAuNXJlbSAxcmVtIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbi8qIEJhY2tkcm9wLWZpbHRlciBwb3VyIGxlcyBuYXZpZ2F0ZXVycyBtb2Rlcm5lcyAqL1xuLmJhY2tkcm9wLWJsdXIge1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbn1cblxuLyogRmFsbGJhY2sgcG91ciBsZXMgbmF2aWdhdGV1cnMgc2FucyBzdXBwb3J0IGJhY2tkcm9wLWZpbHRlciAqL1xuQHN1cHBvcnRzIG5vdCAoYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpKSB7XG4gICAgLmJhY2tkcm9wLWJsdXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gICAgfVxuICAgIFxuICAgIFtkYXRhLWJzLXRoZW1lPVwiZGFya1wiXSAuYmFja2Ryb3AtYmx1ciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzMsIDM3LCA0MSwgMC45KTtcbiAgICB9XG59XG5cbi8qIEdyYWRpZW50IGF2ZWMgcHLDqWZpeGVzICovXG4uZ3JhZGllbnQtcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzAwN2JmZjsgLyogRmFsbGJhY2sgKi9cbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMDdiZmYgMCUsICM2NjEwZjIgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMDA3YmZmIDAlLCAjNjYxMGYyIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMDdiZmYgMCUsICM2NjEwZjIgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzAwN2JmZiAwJSwgIzY2MTBmMiAxMDAlKTtcbn1cblxuLyogU3RpY2t5IHBvc2l0aW9uaW5nIGF2ZWMgZmFsbGJhY2sgKi9cbi5zdGlja3ktdG9wIHtcbiAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG59XG5cbi8qIEZhbGxiYWNrIHBvdXIgcG9zaXRpb24gc3RpY2t5ICovXG5Ac3VwcG9ydHMgbm90IChwb3NpdGlvbjogc3RpY2t5KSB7XG4gICAgLnN0aWNreS10b3Age1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDEwMjA7XG4gICAgfVxufVxuXG4vKiBHcmlkIGF2ZWMgZmFsbGJhY2sgRmxleGJveCAqL1xuLmdyaWQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjgwcHgsIDFmcikpO1xuICAgIGdhcDogMS41cmVtO1xufVxuXG4vKiBGYWxsYmFjayBwb3VyIGxlcyBuYXZpZ2F0ZXVycyBzYW5zIENTUyBHcmlkICovXG5Ac3VwcG9ydHMgbm90IChkaXNwbGF5OiBncmlkKSB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICAgICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgLW1vei1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luOiAtMC43NXJlbTtcbiAgICB9XG4gICAgXG4gICAgLmdyaWQtY29udGFpbmVyID4gKiB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC13ZWJraXQtZmxleDogMSAxIDI4MHB4O1xuICAgICAgICAtbW96LWZsZXg6IDEgMSAyODBweDtcbiAgICAgICAgLW1zLWZsZXg6IDEgMSAyODBweDtcbiAgICAgICAgZmxleDogMSAxIDI4MHB4O1xuICAgICAgICBtYXJnaW46IDAuNzVyZW07XG4gICAgfVxufVxuXG4vKiBTY3JvbGwgYmVoYXZpb3IgYXZlYyBmYWxsYmFjayAqL1xuaHRtbCB7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbi8qIEZhbGxiYWNrIHBvdXIgc2Nyb2xsLWJlaGF2aW9yICovXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIGh0bWwge1xuICAgICAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG87XG4gICAgfVxufVxuXG4vKiBWYXJpYWJsZXMgQ1NTIGF2ZWMgZmFsbGJhY2tzICovXG46cm9vdCB7XG4gICAgLS1wcmltYXJ5LWNvbG9yOiAjMDA3YmZmO1xuICAgIC0tc2Vjb25kYXJ5LWNvbG9yOiAjMDBmZjkxZTk7XG4gICAgLS10ZXJ0aWFyeS1jb2xvcjogIzc2MGU5MjtcbiAgICAtLXF1YXRlcm5hcnktY29sb3I6ICNmZjAxOTFlOTtcbiAgICAtLXN1Y2Nlc3MtY29sb3I6ICMyOGE3NDU7XG4gICAgLS1kYW5nZXItY29sb3I6ICNkYzM1NDU7XG4gICAgLS13YXJuaW5nLWNvbG9yOiAjZmZjMTA3O1xuICAgIC0taW5mby1jb2xvcjogIzE3YTJiODtcbiAgICAtLWxpZ2h0LWNvbG9yOiAjZjhmOWZhO1xuICAgIC0tZGFyay1jb2xvcjogIzM0M2E0MDtcbn1cblxuLyogRmFsbGJhY2tzIHBvdXIgbGVzIG5hdmlnYXRldXJzIHNhbnMgc3VwcG9ydCBDU1MgY3VzdG9tIHByb3BlcnRpZXMgKi9cbi8qIEZhbGxiYWNrcyBwb3VyIGxlcyBjb3VsZXVycyBwcmltYWlyZXMgKi9cbi5idG4tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yLCAjMDA3YmZmKTtcbiAgICBib3JkZXItY29sb3I6ICMwMDdiZmY7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yLCAjMDA3YmZmKTtcbn1cblxuLnRleHQtcHJpbWFyeSB7XG4gICAgY29sb3I6ICMwMDdiZmYgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvciwgIzAwN2JmZikgIWltcG9ydGFudDtcbn1cblxuLmJnLXByaW1hcnkge1xuICAgIGNvbG9yOiAjMDA3YmZmICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IsICMwMDdiZmYpICFpbXBvcnRhbnQ7XG59XG4uYm9yZGVyLXByaW1hcnkge1xuICAgIGJvcmRlci1jb2xvcjogIzAwN2JmZiAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvciwgIzAwN2JmZikgIWltcG9ydGFudDtcbn1cbi8qIEZhbGxiYWNrcyBwb3VyIGxlcyBjb3VsZXVycyBzZWNvbmRhaXJlcyAqL1xuLmJ0bi1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGZmOTFlOTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IsICMwMGZmOTFlOSk7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDBmZjkxZTk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IsICMwMGZmOTFlOSk7XG5cbn1cbi50ZXh0LXNlY29uZGFyeSB7XG4gICAgY29sb3I6ICMwMGZmOTFlOSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IsICMxNzkzNWRlOSkgIWltcG9ydGFudDtcblxufVxuLmJnLXNlY29uZGFyeSB7XG4gICAgY29sb3I6ICMxNzkzNWRlOSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IsICMxNzkzNWRlOSkgIWltcG9ydGFudDtcblxufVxuLmJvcmRlci1zZWNvbmRhcnkge1xuICAgIGJvcmRlci1jb2xvcjogIzE3OTM1ZGU5ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IsICMxNzkzNWRlOSkgIWltcG9ydGFudDtcbn1cbi8qIEZhbGxiYWNrcyBwb3VyIGxlcyBjb3VsZXVycyB0ZXJ0aWFpcmVzICovXG4uYnRuLXRlcnRpYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzYwZTkyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlcnRpYXJ5LWNvbG9yLCAjNzYwZTkyKTtcbiAgICBib3JkZXItY29sb3I6ICM3NjBlOTI7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb2xvciwgIzc2MGU5Mik7XG59XG4udGV4dC10ZXJ0aWFyeSB7XG4gICAgY29sb3I6ICM3NjBlOTIgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdmFyKC0tdGVydGlhcnktY29sb3IsICM3NjBlOTIpICFpbXBvcnRhbnQ7XG59XG4uYmctdGVydGlhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3NjBlOTIgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZXJ0aWFyeS1jb2xvciwgI2I1MjViMykgIWltcG9ydGFudDtcbn1cbi5ib3JkZXItdGVydGlhcnkge1xuICAgIGJvcmRlci1jb2xvcjogIzc2MGU5MiAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdGVydGlhcnktY29sb3IsICNiNTI1YjMpICFpbXBvcnRhbnQ7XG59XG4vKiBGYWxsYmFja3MgcG91ciBsZXMgY291bGV1cnMgcXVhdGVybmFpcmVzICovXG4uYnRuLXF1YXRlcm5hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAxOTFlOTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdWF0ZXJuYXJ5LWNvbG9yLCAjZmYwMTkxZTkpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiKDI1MiwgNTgsIDE3OCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1xdWF0ZXJuYXJ5LWNvbG9yLCAjZmYwMTkxZTkpO1xufVxuLnRleHQtcXVhdGVybmFyeSB7XG4gICAgY29sb3I6ICNmZjAxOTFlOSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB2YXIoLS1xdWF0ZXJuYXJ5LWNvbG9yLCAjZmYwMTkxZTkpICFpbXBvcnRhbnQ7XG59XG5cbi5iZy1xdWF0ZXJuYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMTkxZTkgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1xdWF0ZXJuYXJ5LWNvbG9yLCAjZmYwMTkxZTkpICFpbXBvcnRhbnQ7XG59XG5cbi5ib3JkZXItcXVhdGVybmFyeSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoMjUyLCA1OCwgMTc4KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcXVhdGVybmFyeS1jb2xvciwgI2ZmMDE5MWU5KSAhaW1wb3J0YW50O1xufVxuXG4vKiBBc3BlY3QtcmF0aW8gYXZlYyBmYWxsYmFjayAqL1xuLmFzcGVjdC1yYXRpby0xNi05IHtcbiAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcbn1cblxuLyogRmFsbGJhY2sgcG91ciBhc3BlY3QtcmF0aW8gKi9cbkBzdXBwb3J0cyBub3QgKGFzcGVjdC1yYXRpbzogMTYgLyA5KSB7XG4gICAgLmFzcGVjdC1yYXRpby0xNi05IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyAvKiA5LzE2ICogMTAwJSAqL1xuICAgIH1cbiAgICBcbiAgICAuYXNwZWN0LXJhdGlvLTE2LTkgPiAqIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbn1cblxuLyogT2JqZWN0LWZpdCBhdmVjIGZhbGxiYWNrICovXG4ub2JqZWN0LWNvdmVyIHtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLyogRmFsbGJhY2sgcG91ciBvYmplY3QtZml0ICovXG5Ac3VwcG9ydHMgbm90IChvYmplY3QtZml0OiBjb3Zlcikge1xuICAgIC5vYmplY3QtY292ZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbn1cblxuLyogQ2xhbXAoKSBhdmVjIGZhbGxiYWNrICovXG4ucmVzcG9uc2l2ZS10ZXh0IHtcbiAgICBmb250LXNpemU6IGNsYW1wKDFyZW0sIDR2dywgMnJlbSk7XG59XG5cbi8qIEZhbGxiYWNrIHBvdXIgY2xhbXAoKSAqL1xuQHN1cHBvcnRzIG5vdCAoZm9udC1zaXplOiBjbGFtcCgxcmVtLCA0dncsIDJyZW0pKSB7XG4gICAgLnJlc3BvbnNpdmUtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5yZXNwb25zaXZlLXRleHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAucmVzcG9uc2l2ZS10ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogRm9jdXMtdmlzaWJsZSBhdmVjIGZhbGxiYWNrICovXG4uYnRuOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjMGQ2ZWZkO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi8qIEZhbGxiYWNrIHBvdXIgZm9jdXMtdmlzaWJsZSAqL1xuQHN1cHBvcnRzIG5vdCBzZWxlY3Rvcig6Zm9jdXMtdmlzaWJsZSkge1xuICAgIC5idG46Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgIzBkNmVmZDtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICB9XG59XG5cbi8qIENvbnRhaW5lciBxdWVyaWVzIGF2ZWMgZmFsbGJhY2sgKi9cbkBjb250YWluZXIgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29udGFpbmVyLXJlc3BvbnNpdmUge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgfVxufVxuXG4vKiBGYWxsYmFjayBwb3VyIGNvbnRhaW5lciBxdWVyaWVzICovXG5Ac3VwcG9ydHMgbm90IChjb250YWluZXItdHlwZTogaW5saW5lLXNpemUpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmNvbnRhaW5lci1yZXNwb25zaXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICAgICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5jb250YWluZXItcmVzcG9uc2l2ZSA+ICoge1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICAgIC13ZWJraXQtZmxleDogMTtcbiAgICAgICAgICAgIC1tb3otZmxleDogMTtcbiAgICAgICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogQ29ycmVjdGlvbnMgc3DDqWNpZmlxdWVzIHBvdXIgU2FmYXJpICovXG5Ac3VwcG9ydHMgKC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSkge1xuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5idG4ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgIH1cbn1cblxuLyogQ29ycmVjdGlvbnMgcG91ciBGaXJlZm94ICovXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC8qIEZpeCBwb3VyIGxlcyBib3V0b25zIGRhbnMgRmlyZWZveCAqL1xuICAgIC5idG46Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4vKiBDb3JyZWN0aW9ucyBwb3VyIEVkZ2UvSUUgKi9cbkBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAgIC5kLWZsZXgge1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICB9XG4gICAgXG4gICAgLmZsZXgtY29sdW1uIHtcbiAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIFxuICAgIC5qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgfVxufVxuXG4vKiBIaWdoIGNvbnRyYXN0IG1vZGUgc3VwcG9ydCAqL1xuQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XG4gICAgLmJ0biB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIH1cbiAgICBcbiAgICAuY2FyZCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIH1cbiAgICBcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgfVxufVxuXG4vKiBQcmludCBvcHRpbWl6YXRpb25zICovXG5AbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgICAtd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7XG4gICAgICAgIGNvbG9yLWFkanVzdDogZXhhY3Q7XG4gICAgfVxuICAgIFxuICAgIC5uby1wcmludCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLmJ0bixcbiAgICAubmF2YmFyLFxuICAgIC5zaWRlYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/