/*!************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/header.css ***!
  \************************************************************************************************************************************************************************************************/
/* ===================== NAVBAR ===================== */
.nav-link {
    color: var(--nav-link-color);
    font-weight: 600;
    font-size: large;
}

header:not(.login) {
    min-height: 126px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: var(--bg-default);
    z-index: 1000;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

header:not(.login)+.hero,
.hero {
    padding-top: 125px;
}

header.login {
    min-height: 126px;
    position: static;
}

/* ===================== HEADER RESPONSIVE ===================== */

@media (max-width: 767.98px) {
    .logo {
            margin-bottom: 1rem;
            margin-left: 0;
            width: 100%;
            display: flex;
            justify-content: left;
        }
        #headerNav {
            text-align: center;
        }
    
        #headerNav .nav {
            flex-direction: column;
            gap: 0.5rem;
            align-items: center;
        }
    
        #headerNav>.d-flex {
            flex-direction: column;
            gap: 0.5rem;
            align-items: center;
            margin-top: 1rem;
        }
    
        /* Bouton toggle */
        .navbar-toggler {
            position: absolute;
            right: 1rem;
            top: 2.5rem;
            z-index: 1000;
        }
    
        /* Dropdown mobile comme accordéon */
        .navbar .dropdown-menu {
            position: static !important;
            float: none;
            width: 100%;
            box-shadow: none;
            background-color: transparent;
            border: none;
            padding: 0;
            margin-top: 0;
        }
    
        .navbar .dropdown-item {
            padding-left: 1.5rem;
        }
    
        /* Menu ouvert */
        #headerNav.collapse.show {
            display: flex !important;
            flex-direction: column;
            align-items: center;
            text-align: center;
            width: 100%;
            margin-top: 1rem;
        }

        header #navbarDropdown.show,
        header .dropdown-menu .dropdown-item {
            text-align: center;
        }

        header .dropdown-menu .dropdown-item {
            font-size: medium;
        }
}
@media (min-width: 768px) and (max-width: 991.98px) {

    /* Logo et menu mobile */
    .logo {
        margin-bottom: 1rem;
        margin-left: 0;
        width: 100%;
        display: flex;
        justify-content: center;
    }

}

@media (min-width: 992px) {
    #headerNav {
        display: flex !important;
        padding-top: 10px;
    }

    #headerNav .d-flex {
        flex-direction: row;
        align-items: center;
    }

    .logo {
        margin: 0;
    }
}

@media (max-width: 767.98px) {

    header .dropdown-menu .dropdown-item {
        white-space: normal;
        word-break: break-word;
        line-height: 1.4;
        padding: 0.5rem 1rem;
        text-align: center;
        font-weight: 500;
    }
}
/*!************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/footer.css ***!
  \************************************************************************************************************************************************************************************************/
footer {
    margin-top: auto;
    width: 100%;
    background-color: var(--bg-dark);
    color: var(--bg-default);
    font-size: 0.95rem;
    min-height: 410px;
}

footer .left {
    background-image: url(/build/images/shape.7e678346.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: contain;
    height: 410px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    padding-top: 80px;
}

footer .left .logo {
    max-width: 254px;
    margin-top: 20px;
}

footer a,
footer .link {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s ease;
}

footer a:hover,
footer .link:hover {
    text-decoration: none;
}

footer .social-icons a {
    font-size: 1.5rem;
    margin: 0 10px 0 0;
}

footer .social-icons .social-img {
    width: 56px;
    vertical-align: middle;
}

footer .right ul {
    display: flex;
    height: 100%;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: flex-start;
    justify-content: space-around;
    align-items: flex-start;
    font-weight: 500;
    font-style: normal;
    font-size: 16px;
    max-height: 75%;
}

footer .right li .link:hover {
    text-decoration: underline;
}

footer .right .link {
    display: block;
    margin-bottom: 5px;
}

footer .middle {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
}

footer .middle .link.title {
    font-size: xx-large;
}

footer .middle .link.title:hover {
    text-decoration: underline;
}

footer .middle .partners {
    display: flex;
    align-items: center;
    gap: 15px;
}

footer .middle .partners img {
    height: 56px;
    width: auto;
    object-fit: contain;
    display: block;
}

@media (max-width: 767.98px) {
    footer {
        text-align: center;
    }

    footer .left,
    footer .middle,
    footer .right {
        width: 100%;
        display: block;
    }

    footer .left {
        min-height: 120px;
        background-size: cover;
    }

    footer .right ul {
        padding: 0;
    }

    footer .right .link {
        margin-bottom: 10px;
    }
}
/*!***********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./assets/styles/theme.css ***!
  \***********************************************************************************************************************************************************************************************/
/* ===================== VARIABLES ===================== */
:root {
    --font-family-base: 'Epilogue', sans-serif;

    --nav-link-color: #1E1E1E;

    --btn-primary-bg: #3648D8;
    --btn-primary-color: #fff;
    --btn-success-bg: #00CC99;
    --btn-success-color: #fff;
    --btn-info-bg: #05676A;
    --btn-info-color: #fff;
    --btn-dark-bg: #000000;
    --btn-dark-color: #fff;
    --btn-tertiary-bg: #98DDE5;
    --btn-tertiary-color: #fff;
    --bs-dropdown-link-active-bg: #3648D8;

    --bg-default: #fff;
    --bg-light-green: #E1F0EC;
    --bg-dark-green: #05676A;
    --bg-dark: #1D1D1B;
    --bg-light-blue: #98DDE5;
    --container-max-width: 1440px;
    --neutral-light: #F7F7F7;
    --testimonial-border-color: #E6E6E6;
    --bg-blue-color: #e6f3f9;

    --text-secondary-color: #828282;

    --bs-pagination-color: #3648D8;
}


/* ===================== IMPORTS ===================== */

/* ===================== GLOBAL ===================== */
*,
*::before,
*::after {
    font-family: var(--font-family-base);
}

body {
    background-color: var(--bg-default);
    color: var(--bg-dark);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.container {
    max-width: var(--container-max-width);
}

/* ===================== TYPOGRAPHY ===================== */
h1,
h2,
p {
    font-style: normal;
    vertical-align: middle;
}

h1,
h2 {
    font-weight: 600;
}

h1 {
    font-size: clamp(36px, 6vw, 56px);
    line-height: 1.1;
    letter-spacing: -0.02em;
    text-transform: none;
}

h2 {
    font-size: clamp(28px, 4vw, 48px);
    line-height: 1.2;
    letter-spacing: -0.02em;
    text-transform: none;
}

h3 {
    font-size: clamp(24px, 3vw, 36px);
    line-height: 1.3;
    letter-spacing: -0.02em;
    text-transform: none;
}

p,
li,
a {
    font-weight: 400;
    font-size: clamp(16px, 2vw, 20px);
    line-height: var(--bs-body-line-height);
    letter-spacing: 0;
}

h3 {
    color: var(--nav-link-color);
}

h3.navigation,
section.content h2 {
    color: var(--btn-primary-bg);
}

.text-primary {
    color: var(--btn-primary-bg) !important;
}

.text-success {
    color: var(--btn-success-bg) !important;
}

.text-dark {
    color: var(--bg-dark) !important;
}

.text-heading {
    color: var(--bs-heading-color) !important;
}

section.spec h2,
section.spec h3 {
    color: var(--btn-success-bg);
}

section.report h3 {
    color: var(--btn-success-bg);
    font-size: 32px;
    font-weight: normal;
}

.lh-4rem {
    line-height: 4rem;
}

.smaller {
    font-size: smaller;
}

/* ===================== BUTTONS ===================== */

.btn {
    padding: 15px;
}

a.btn:hover {
    text-decoration: underline;
}

.btn-primary,
.btn-success,
.btn-info,
.btn-dark,
.btn-tertiary {
    border: none;
    color: var(--btn-primary-color);
}

.btn-primary {
    background-color: var(--btn-primary-bg);
    align-items: center;
    align-content: center;
}

.btn-outline-primary {
    --bs-btn-color: var(--btn-primary-bg);
    --bs-btn-border-color: var(--btn-primary-bg);
    --bs-btn-hover-bg: var(--btn-primary-bg);
    --bs-btn-hover-border-color: var(--btn-primary-bg);
    --bs-btn-active-bg: var(--btn-primary-bg);
    --bs-btn-active-border-color: var(--btn-primary-bg);
    --bs-btn-disabled-color: var(--btn-primary-bg);
    --bs-btn-disabled-border-color: var(--btn-primary-bg);
}

.btn-primary:hover {
    background-color: #2f3ab5;
    text-decoration: underline;
}

.btn-success {
    background-color: var(--btn-success-bg);
    color: var(--btn-success-color);
}

.btn-info {
    background-color: var(--btn-info-bg);
    color: var(--btn-info-color);
}

.btn-info:hover {
    background-color: #05676A;
    color: var(--btn-info-color);
}

.btn-dark {
    background-color: var(--btn-dark-bg);
    color: var(--btn-dark-color);
}

.btn-tertiary {
    background-color: var(--btn-tertiary-bg);
    color: var(--btn-tertiary-color);
}

.btn-tertiary:hover {
    background-color: #7fc5e0;
}

.rounded-top-end-5 {
    border-top-right-radius: 33px !important;
}

a {
    color: var(--btn-primary-bg);
}

.page-item.active .page-link {
    background-color: var(--btn-primary-bg);
    border-color: var(--btn-primary-bg);
    color: #fff;
}

.page-link:hover {
    background-color: var(--btn-primary-bg);
    border-color: var(--btn-primary-bg);
    color: #fff;
}

.dropdown-item.active,
.dropdown-item:active {
    background-color: var(--bs-pagination-color);
}

#langDropdown.btn:hover {
    background-color: var(--bg-default);
    border-color: var(--bg-default);
}

.checkbox-lg {
    width: 1.2rem;
    height: 1.2rem;
}

.fs-small {
    font-size: small !important;
}
/* ===================== BACKGROUNDS ===================== */
.bg-default {
    background-color: var(--bg-default) !important;
}

.bg-neutral-light {
    background-color: var(--neutral-light) !important;
}

.bg-light-green {
    background-color: var(--bg-light-green) !important;
}

.bg-light-blue {
    background-color: var(--bg-light-blue) !important;
}

.bg-dark-green {
    background-color: var(--bg-dark-green) !important;
}

.bg-blue-color {
    background-color: var(--bg-blue-color) !important;
}

.bg-dark {
    background-color: var(--bg-dark) !important;
}

.bg-blue {
    background-color: var(--btn-primary-bg) !important;
}

.bg-dark-green {
    background-color: var(--btn-info-bg) !important;
}

.bg-success {
    background-color: var(--btn-success-bg) !important;
}

.color-dark {
    color: #1D1D1B !important;
}

.color-dark-green {
    color: var(--bg-dark-green) !important;
}

.cursor-default {
    cursor: default !important;
}

/* ===================== LAYOUT ===================== */

/* ===================== Testimonials ===================== */
section.testimonials .card {
    background-color: var(--neutral-light);
    border: 1px solid var(--testimonial-border-color);
    padding: 2rem;
    border-radius: 8px;
    min-height: 483px;
}

section.testimonials .card .quote {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
}

section.testimonials .card .author {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
}

section.testimonials .card .position {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--text-secondary-color)
}

/* ===================== HERO SECTION ===================== */
section.hero {
    min-height: 580px;
}

section.hero.term {
    min-height: min-content;
}

section.hero .subtitle {
    color: var(--text-secondary-color);
}

/* ===================== BANNER SECTION ===================== */
/* @media (max-width: 991.98px) {
    section.banner .row {
        background-image: none !important;
        background-color: transparent !important;
    }
} */

/* ===================== CORNERED SECTION ===================== */
.cornered-top-right {
    border-top-right-radius: 100px;
    overflow: hidden;
    -webkit-border-top-right-radius: 100px;
    -moz-border-radius-topright: 100px;
    -ms-border-top-right-radius: 100px;
    -o-border-top-right-radius: 100px;
}

/* ===================== CARDS SECTION ===================== */
section.cards .card-body {
    scrollbar-width: thin;
    scrollbar-color: #ccc transparent;
}

section.cards .card-body::-webkit-scrollbar {
    width: 6px;
}

section.cards .card-body::-webkit-scrollbar-thumb {
    background-color: #ccc;
    border-radius: 10px;
}

section.cards .card-body::-webkit-scrollbar-track {
    background: transparent;
}

section.cards .card-header {
    background-color: inherit;
    border: none;
    padding: 0;
    margin: 0;
}

/* ===================== content SECTION ===================== */

section.content .gx-6 {
    --bs-gutter-x: 16rem;
}

/* ===================== CUSTOMER CASE SECTION ===================== */

section.customer-case img {
    max-height: 555px;
    object-fit: cover;
}

/* ===================== CATALOG SECTION ===================== */
section.catalog .square-btn {
    width: 40px;
    /* largeur carrée */
    height: 40px;
    /* hauteur égale à la largeur */
    padding: 0;
    /* supprimer padding par défaut */
    font-size: 1.2rem;
    /* taille de l'icône */
    text-align: center;
    border-radius: 0.25rem;
    /* optionnel, arrondir légèrement */
}

/* Styles communs à toutes les vues */
section.catalog .subject-card .card {
    transition: all 0.3s;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    /* shadow-sm */
    border-radius: 0.5rem;
    /* rounded-5 */
}

/* Mode carte */
#subjects-list .card-img-top {
    position: absolute;
    right: 20px;
    top: 20px;
    max-height: 50px;
    width: auto;
    height: auto;
}

/* ===================== Back to Top ===================== */
#scrollToTopBtn {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: rgba(0, 0, 0, 0.6);
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: none;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    z-index: 9999;
    font-size: 24px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s ease, background-color 0.3s ease;
}

#scrollToTopBtn.show {
    display: flex;
}

#scrollToTopBtn:hover {
    transform: scale(1.1);
    background-color: rgba(0, 0, 0, 0.85);
}

#scrollToTopBtn:focus {
    outline: 3px solid #fff;
    outline-offset: 2px;
}

#scrollToTopBtn:active {
    transform: scale(0.95);
}

/* ===================== width responsive ===================== */

.min-h-100 {
    min-height: 100px;
}

/* SM ≥ 576px */
@media (min-width: 576px) {
    .w-sm-25 {
        width: 25% !important;
    }

    .w-sm-50 {
        width: 50% !important;
    }

    .w-sm-75 {
        width: 75% !important;
    }

    .w-sm-100 {
        width: 100% !important;
    }
}

/* MD ≥ 768px */
@media (min-width: 768px) {
    .w-md-25 {
        width: 25% !important;
    }

    .w-md-50 {
        width: 50% !important;
    }

    .w-md-75 {
        width: 75% !important;
    }

    .w-md-90 {
        width: 90% !important;
    }

    .w-md-100 {
        width: 100% !important;
    }
}

/* LG ≥ 992px */
@media (min-width: 992px) {
    .w-lg-25 {
        width: 25% !important;
    }

    .w-lg-50 {
        width: 50% !important;
    }

    .w-lg-75 {
        width: 75% !important;
    }

    .w-lg-90 {
        width: 90% !important;
    }

    .w-lg-100 {
        width: 100% !important;
    }
}

/* XL ≥ 1200px */
@media (min-width: 1200px) {
    .w-xl-25 {
        width: 25% !important;
    }

    .w-xl-50 {
        width: 50% !important;
    }

    .w-xl-75 {
        width: 75% !important;
    }

    .w-xl-90 {
        width: 90% !important;
    }

    .w-xl-100 {
        width: 100% !important;
    }
}

/* XXL ≥ 1400px */
@media (min-width: 1400px) {
    .w-xxl-25 {
        width: 25% !important;
    }

    .w-xxl-50 {
        width: 50% !important;
    }

    .w-xxl-75 {
        width: 75% !important;
    }

    .w-xxl-90 {
        width: 90% !important;
    }

    .w-xxl-100 {
        width: 100% !important;
    }
}

/* ===================== cards icon ===================== */

#choose-your-option img {
    width: 100px;
    height: 100px;
}

#custom-cornered .card:hover {
    background-color: var(--bg-default);
}

/* ===================== carousel ===================== */

.carousel-control-next,
.carousel-control-prev {
    width: inherit;
}

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