/*!****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/style.css ***!
  \****************************************************************************************************************/
/**
* Template Name: NiceAdmin
* Template URL: https://bootstrapmade.com/nice-admin-bootstrap-admin-html-template/
* Updated: Apr 20 2024 with Bootstrap v5.3.3
* Author: BootstrapMade.com
* License: https://bootstrapmade.com/license/
*/

/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
:root {
    scroll-behavior: smooth;
}

body {
    font-family: "Open Sans", sans-serif;
    background: #f6f9ff;
    color: #444444;
}

/* Página pública de inicio */
.home-page {
    overflow: hidden;
    background: #f5f8fc;
    color: #10243e;
}

.auth-page { min-height: 760px; display: grid; place-items: center; padding: 88px 20px 100px; background: radial-gradient(circle at 15% 10%, rgba(34, 111, 184, .18), transparent 35%), #f5f8fc; }
.auth-layout { display: grid; grid-template-columns: minmax(280px, .9fr) minmax(360px, 470px); width: min(960px, 100%); overflow: hidden; background: #fff; border: 1px solid #e1eaf3; border-radius: 20px; box-shadow: 0 24px 65px rgba(12, 42, 78, .15); }
.auth-showcase { position: relative; display: flex; flex-direction: column; justify-content: center; min-height: 590px; padding: 48px; color: #fff; background: linear-gradient(145deg, #061a35, #0e467e); overflow: hidden; }
.auth-showcase::after { content: ''; position: absolute; width: 300px; height: 300px; right: -110px; bottom: -110px; border: 42px solid rgba(232, 111, 25, .75); border-radius: 50%; }
.auth-showcase h1 { position: relative; z-index: 1; margin: 0; font-size: clamp(2.4rem, 5vw, 4.2rem); line-height: 1; letter-spacing: -.05em; }
.auth-showcase h1 strong { color: #ff8a32; }
.auth-showcase p { position: relative; z-index: 1; max-width: 330px; margin: 24px 0 0; color: #c4d8ef; line-height: 1.7; }
.auth-showcase-ball { position: absolute; right: 42px; bottom: 46px; z-index: 1; color: rgba(255, 255, 255, .12); font-size: 9rem; transform: rotate(-15deg); }
.auth-card { align-self: center; padding: 48px 42px; background: #fff; }
.auth-card-small { width: min(470px, 100%); border: 1px solid #e1eaf3; border-radius: 20px; box-shadow: 0 24px 65px rgba(12, 42, 78, .15); }
.auth-register-page { min-height: 820px; }
.auth-register-card { width: min(680px, 100%); margin: 0 auto; border: 1px solid #e1eaf3; border-radius: 20px; box-shadow: 0 24px 65px rgba(12, 42, 78, .15); }
.auth-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 28px; color: #10243e; font-size: 1.2rem; letter-spacing: .04em; }
.auth-brand > span { display: grid; place-items: center; width: 48px; height: 48px; padding: 5px; overflow: hidden; background: #10243e; border: 2px solid #f57220; border-radius: 13px; box-shadow: 0 8px 18px rgba(16, 36, 62, .18); }
.auth-brand > span img { width: 100%; height: 100%; object-fit: contain; }
.auth-brand strong > span { color: #e86f19; }
.auth-card h2 { margin: 0; color: #10243e; font-size: 2rem; font-weight: 900; letter-spacing: -.04em; }
.auth-heading { margin-bottom: 24px; }
.auth-lead { margin: 7px 0 0; color: #71839a; line-height: 1.6; }
.auth-form { display: grid; gap: 9px; }
.auth-form label { margin-top: 10px; color: #263d59; font-size: .86rem; font-weight: 800; }
.auth-form input, .auth-form select { width: 100%; padding: 12px 14px; color: #10243e; background: #fbfdff; border: 1px solid #d5e1ed; border-radius: 8px; outline: none; transition: border-color .2s, box-shadow .2s; }
.auth-form input:focus, .auth-form select:focus { border-color: #3183c8; box-shadow: 0 0 0 3px rgba(49, 131, 200, .14); }
.auth-links { display: flex; flex-direction: column; align-items: center; gap: 12px; margin-top: 24px; color: #71839a; font-size: .88rem; }
.auth-links a, .auth-back-link { color: #1b68a5; font-weight: 700; }
.auth-links a:hover, .auth-back-link:hover { color: #e86f19; }
.auth-back-link { display: inline-flex; gap: 7px; align-items: center; margin-top: 25px; font-size: .88rem; }
.auth-alert { margin: 0 0 18px; }
.auth-register-card .form-label { margin-top: 0; color: #263d59; font-size: .86rem; font-weight: 800; }
.auth-register-card .form-control, .auth-register-card .form-select { border-color: #d5e1ed; }

.home-hero {
    position: relative;
    margin-top: -1px;
}

.home-carousel,
.home-carousel .carousel-inner,
.home-carousel .carousel-item {
    height: min(690px, calc(100vh - 68px));
    min-height: 520px;
}

.home-carousel .carousel-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(.82) contrast(1.04);
}

.home-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(3, 15, 31, .94) 0%, rgba(5, 29, 60, .78) 42%, rgba(5, 29, 60, .18) 100%), linear-gradient(0deg, rgba(3, 15, 31, .45), transparent 45%);
}

.home-hero-content {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 70px 30px 80px;
    color: #fff;
}

.home-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    color: #ff9c45;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .18em;
}

.home-kicker.dark { color: #e86f19; }

.home-hero h1 {
    max-width: 720px;
    margin: 0;
    font-size: clamp(2.8rem, 6vw, 5.6rem);
    font-weight: 300;
    line-height: .98;
    letter-spacing: -.045em;
}

.home-hero h1 strong { color: #ff8a32; font-weight: 900; }

.home-hero p {
    max-width: 560px;
    margin: 28px 0 0;
    color: #d8e5f5;
    font-size: 1.1rem;
    line-height: 1.7;
}

.home-hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 34px; }

.home-btn-primary,
.home-btn-ghost {
    padding: 13px 22px;
    border-radius: 8px;
    font-weight: 800;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.home-btn-primary { color: #fff; background: #e86f19; border: 1px solid #e86f19; box-shadow: 0 12px 28px rgba(232, 111, 25, .28); }
.home-btn-primary:hover { color: #fff; background: #ff852d; transform: translateY(-2px); box-shadow: 0 16px 32px rgba(232, 111, 25, .38); }
.home-btn-ghost { color: #fff; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .45); }
.home-btn-ghost:hover { color: #fff; background: rgba(255, 255, 255, .18); transform: translateY(-2px); }

.home-carousel .carousel-control-prev,
.home-carousel .carousel-control-next { z-index: 3; width: 8%; }
.home-carousel .carousel-indicators { z-index: 3; justify-content: flex-start; margin-left: max(30px, calc((100% - 1320px) / 2 + 30px)); margin-bottom: 28px; }
.home-carousel .carousel-indicators button { width: 28px; height: 4px; border: 0; border-radius: 4px; }

.home-metrics { position: relative; z-index: 4; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: -42px; }
.home-metric-card { display: flex; align-items: center; gap: 14px; min-height: 104px; padding: 20px; background: #fff; border: 1px solid #e3ebf4; border-radius: 12px; box-shadow: 0 16px 35px rgba(17, 48, 83, .12); }
.home-metric-icon { display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 48px; color: #fff; background: #153e70; border-radius: 12px; font-size: 1.35rem; }
.home-metric-icon.orange { background: #e86f19; }
.home-metric-icon.cyan { background: #168da8; }
.home-metric-card strong, .home-metric-card small { display: block; }
.home-metric-card strong { color: #10243e; font-size: 1rem; }
.home-metric-card small { margin-top: 4px; color: #71839a; font-size: .82rem; }

.home-intro { display: flex; align-items: flex-start; gap: 24px; padding: 92px 15px 25px; }
.home-intro-mark { display: grid; place-items: center; width: 60px; height: 60px; flex: 0 0 60px; color: #fff; background: #153e70; border-radius: 16px; box-shadow: 0 12px 25px rgba(21, 62, 112, .2); font-size: 1.5rem; }
.home-intro h2 { margin: 0 0 12px; color: #10243e; font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 900; letter-spacing: -.04em; }
.home-intro p { max-width: 720px; margin: 0; color: #65758a; font-size: 1.04rem; line-height: 1.75; }

.home-news { padding: 100px 15px 90px; }
.home-section-heading { display: flex; align-items: end; gap: 30px; margin-bottom: 34px; }
.home-section-heading h2 { margin: 0; color: #10243e; font-size: clamp(2rem, 3vw, 3rem); font-weight: 900; letter-spacing: -.04em; }
.home-heading-line { height: 1px; flex: 1; margin-bottom: 9px; background: #d7e2ef; }
.home-news-card { height: 100%; overflow: hidden; background: #fff; border: 1px solid #e3ebf4; border-radius: 14px; box-shadow: 0 10px 25px rgba(16, 36, 62, .06); transition: transform .2s ease, box-shadow .2s ease; }
.home-news-card:hover { transform: translateY(-5px); box-shadow: 0 18px 35px rgba(16, 36, 62, .14); }
.home-news-image { height: 190px; overflow: hidden; background: #e9f0f7; }
.home-news-image img { width: 100%; height: 100%; object-fit: cover; }
.home-news-body { padding: 24px; }
.home-news-tag { color: #e86f19; font-size: .68rem; font-weight: 900; letter-spacing: .13em; }
.home-news-body h3 { margin: 10px 0 12px; color: #10243e; font-size: 1.25rem; font-weight: 800; }
.home-news-detail { color: #65758a; font-size: .92rem; line-height: 1.65; }
.home-news-detail img { max-width: 100%; height: auto; border-radius: 8px; }
.home-news-detail ul, .home-news-detail ol { margin: 0; padding-left: 0; list-style: none; }
.home-news-detail li { margin-bottom: 8px; list-style: none; }

@media (prefers-reduced-motion: reduce) {
    [data-aos] {
        transform: none !important;
        opacity: 1 !important;
        transition: none !important;
    }
}

/* Sobre NBA-ANALYTICS SYSTEM */
.about-page { background: #f5f8fc; }
.about-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 520px; background: #10243e; }
.about-hero-image { min-height: 520px; overflow: hidden; background: linear-gradient(135deg, #153e70, #07182e); }
.about-hero-image img { width: 100%; height: 100%; object-fit: cover; opacity: .78; }
.about-hero-copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 72px clamp(32px, 7vw, 110px); color: #fff; }
.about-hero-copy .home-kicker { color: #f7a45f; }
.about-hero-copy h1 { margin: 16px 0 20px; font-size: clamp(2.5rem, 5vw, 4.8rem); line-height: .98; letter-spacing: -.055em; font-weight: 400; }
.about-hero-copy h1 strong { color: #f57220; font-weight: 900; }
.about-hero-copy p { max-width: 510px; margin: 0 0 32px; color: #cad7e6; font-size: 1.08rem; line-height: 1.75; }
.about-content { padding: 100px 15px 110px; }
.about-heading { max-width: 760px; margin-bottom: 48px; }
.about-heading h2 { margin: 12px 0 16px; color: #10243e; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.08; letter-spacing: -.045em; font-weight: 900; }
.about-heading p { margin: 0; color: #65758a; font-size: 1.08rem; line-height: 1.8; }
.about-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.about-feature-card { padding: 30px; border: 1px solid #e2eaf3; border-top: 4px solid #153e70; border-radius: 14px; background: #fff; box-shadow: 0 12px 28px rgba(16, 36, 62, .06); }
.about-feature-card.accent { border-top-color: #f57220; }
.about-feature-card.cyan { border-top-color: #21a8c7; }
.about-feature-card > span { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 22px; color: #fff; background: #153e70; border-radius: 14px; font-size: 1.3rem; }
.about-feature-card.accent > span { background: #f57220; }
.about-feature-card.cyan > span { background: #21a8c7; }
.about-feature-card h3 { margin: 0 0 10px; color: #10243e; font-size: 1.2rem; font-weight: 850; }
.about-feature-card p { margin: 0; color: #65758a; line-height: 1.7; }
.about-banner { padding: 70px 15px; background: #153e70; }
.about-banner-inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.about-banner h2 { margin: 12px 0 0; color: #fff; font-size: clamp(1.8rem, 3vw, 2.7rem); letter-spacing: -.035em; }

@media (max-width: 768px) {
    .about-hero { grid-template-columns: 1fr; }
    .about-hero-image { min-height: 300px; max-height: 360px; }
    .about-hero-copy { padding: 58px 25px 68px; }
    .about-feature-grid { grid-template-columns: 1fr; }
    .about-content { padding: 70px 25px 80px; }
    .about-banner-inner { align-items: flex-start; flex-direction: column; }
}
.home-empty-news { padding: 30px; color: #71839a; text-align: center; background: #fff; border: 1px dashed #cbd8e6; border-radius: 12px; }

.home-cta { padding: 70px 15px; color: #fff; background: linear-gradient(115deg, #061a35, #0e3a70); }
.home-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.home-cta h2 { max-width: 640px; margin: 0; font-size: clamp(1.8rem, 3vw, 3rem); font-weight: 800; }

.nba-footer { padding: 66px 15px 24px; color: #c7d7ea; background: #061a35; }
.nba-footer-main { display: grid; grid-template-columns: 1.5fr 1fr 1.25fr 1.25fr; gap: 45px; padding-bottom: 52px; }
.nba-footer-logo { display: inline-flex; align-items: center; gap: 10px; color: #fff; font-size: 1.25rem; font-weight: 900; letter-spacing: .05em; }
.nba-footer-logo:hover { color: #fff; }
.nba-footer-logo > span:last-child > span { color: #ff8a32; }
.nba-footer-logo-mark { display: grid; place-items: center; width: 38px; height: 38px; color: #fff; background: #e86f19; border-radius: 10px; font-size: 1.25rem; }
.nba-footer-logo-mark svg { display: block; width: 25px; height: 25px; }
.nba-footer-brand p { max-width: 270px; margin: 20px 0; color: #91a9c4; line-height: 1.7; }
.nba-footer-socials { display: flex; gap: 9px; }
.nba-footer-socials a { display: grid; place-items: center; width: 34px; height: 34px; color: #c7d7ea; border: 1px solid rgba(199, 215, 234, .25); border-radius: 50%; transition: .2s ease; }
.nba-footer-socials a:hover { color: #fff; background: #e86f19; border-color: #e86f19; transform: translateY(-2px); }
.nba-footer-column { display: flex; flex-direction: column; gap: 11px; }
.nba-footer-column h3 { margin: 3px 0 13px; color: #fff; font-size: .9rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.nba-footer-column a, .nba-footer-column span { color: #91a9c4; font-size: .9rem; line-height: 1.45; }
.nba-footer-column a:hover { color: #ff9c45; }
.nba-footer-contact a, .nba-footer-contact span { display: flex; gap: 9px; align-items: flex-start; }
.nba-footer-contact i { color: #ff8a32; }
.nba-footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 22px; color: #718ba8; border-top: 1px solid rgba(199, 215, 234, .14); font-size: .78rem; }

@media (max-width: 767px) {
    .home-carousel, .home-carousel .carousel-inner, .home-carousel .carousel-item { height: 610px; min-height: 610px; }
    .home-hero-content { padding: 40px 24px 75px; }
    .home-hero h1 { font-size: 3.1rem; }
    .home-hero p { font-size: .98rem; }
    .home-metrics { grid-template-columns: 1fr; margin: -24px 20px 0; }
    .home-news { padding-top: 70px; }
    .home-intro { padding: 70px 25px 10px; }
    .home-section-heading { display: block; }
    .home-heading-line { display: block; margin-top: 16px; }
    .home-cta-inner { align-items: flex-start; flex-direction: column; }
    .nba-footer-main { grid-template-columns: 1fr; gap: 30px; }
    .nba-footer-bottom { flex-direction: column; gap: 8px; }
    .auth-page { padding: 45px 15px 70px; }
    .auth-layout { display: block; }
    .auth-showcase { min-height: 270px; padding: 35px 28px; }
    .auth-showcase p { margin-top: 15px; }
    .auth-showcase-ball { right: 15px; bottom: -24px; font-size: 7rem; }
    .auth-card { padding: 34px 25px; }
    .auth-register-page { min-height: auto; }
}

a {
    color: #4154f1;
    text-decoration: none;
}

a:hover {
    color: #717ff5;
    text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Nunito", sans-serif;
}

/*--------------------------------------------------------------
# Main
--------------------------------------------------------------*/
#main {
    background-color: #ffffff;
    margin-top: 60px;
    padding: 20px 30px;
    transition: all 0.3s;
}

@media (max-width: 1199px) {
    #main {
        padding: 20px;
    }
}

/* Override final del navbar: debe quedar por encima de las reglas legacy. */
#header.header {
    background: linear-gradient(115deg, #031225 0%, #08264b 58%, #0c3564 100%) !important;
    border-bottom-color: rgba(255, 255, 255, .12) !important;
    box-shadow: 0 8px 24px rgba(3, 18, 37, .28) !important;
}

#header .logo span,
#header .header-nav .nav-profile,
#header .header-nav .nav-profile span {
    color: #fff !important;
}

#header .logo span small {
    color: #9bb9d9 !important;
}

#header .toggle-sidebar-btn {
    color: #d9eaff !important;
}

#header .search-bar {
    background: transparent !important;
}

#header .search-form input {
    border-color: rgba(255, 255, 255, .28) !important;
    background: rgba(255, 255, 255, .1) !important;
    color: #fff !important;
}

#header .search-form input::placeholder {
    color: #b9cde4 !important;
}

#header .search-form button i {
    color: #8dd5ff !important;
}

/* Contraste final de los submenús: evita texto claro sobre fondo celeste. */
.sidebar-nav .nav-content {
    background: transparent !important;
}

.sidebar-nav .nav-content a,
.sidebar-nav .nav-content a.active {
    color: #e4f0ff !important;
    background: rgba(3, 18, 37, .42) !important;
    border: 1px solid transparent !important;
}

.sidebar-nav .nav-content a i {
    color: #ff9a3d !important;
}

.sidebar-nav .nav-content a:hover,
.sidebar-nav .nav-content a.active:hover {
    color: #fff !important;
    background: rgba(31, 111, 235, .78) !important;
    border-color: rgba(141, 190, 255, .35) !important;
}

/* Menú de usuario alineado con la identidad del navbar. */
#header .header-nav .profile {
    min-width: 280px;
    padding: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid #dce8f5;
    border-radius: 14px;
    box-shadow: 0 18px 45px rgba(3, 18, 37, .22);
}

#header .header-nav .profile .dropdown-header {
    padding: 20px 18px 16px;
    background: linear-gradient(135deg, #071a33, #123f7a);
}

#header .header-nav .profile .dropdown-header h6,
#header .header-nav .profile .dropdown-header span {
    color: #fff !important;
}

#header .header-nav .profile .dropdown-header h6 {
    font-size: 15px;
    font-weight: 800;
}

#header .header-nav .profile .dropdown-header span {
    color: #b9d3ee !important;
    font-size: 12px;
}

#header .header-nav .profile .dropdown-item {
    margin: 3px 8px;
    padding: 11px 12px;
    color: #263b55;
    border-radius: 9px;
}

#header .header-nav .profile .dropdown-item i {
    color: #1f6feb;
}

#header .header-nav .profile .dropdown-item:hover {
    color: #071a33;
    background: #edf5fd;
}

#header .header-nav .profile .dropdown-item:hover i {
    color: #f97316;
}

/* Sidebar compacto en escritorio: conserva los iconos al cerrarse. */
@media (min-width: 1200px) {
    body.toggle-sidebar .sidebar {
        left: 0;
        width: 78px;
        padding: 20px 10px;
    }

    body.toggle-sidebar #main,
    body.toggle-sidebar #footer {
        margin-left: 78px;
    }

    body.toggle-sidebar .sidebar-brand {
        justify-content: center;
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0;
    }

    body.toggle-sidebar .sidebar-brand > div:last-child,
    body.toggle-sidebar .sidebar-nav .nav-link span,
    body.toggle-sidebar .sidebar-nav .nav-link .bi-chevron-down,
    body.toggle-sidebar .sidebar-nav .nav-content {
        display: none;
    }

    body.toggle-sidebar .sidebar-nav .nav-link {
        justify-content: center;
        padding: 12px 8px;
    }

    body.toggle-sidebar .sidebar-nav .nav-link i {
        width: auto;
        margin: 0;
        font-size: 20px;
    }

    body.toggle-sidebar .sidebar-nav .nav-link:hover,
    body.toggle-sidebar .sidebar-nav .nav-link:not(.collapsed) {
        box-shadow: inset 3px 0 0 var(--nba-orange);
    }
}

/* Paleta final: navbar más fuerte que el sidebar. */
#header.header {
    background: linear-gradient(115deg, #031225 0%, #08264b 58%, #0c3564 100%) !important;
    border-bottom-color: rgba(255, 255, 255, .12);
    box-shadow: 0 8px 24px rgba(3, 18, 37, .28);
}

#header .logo span,
#header .header-nav .nav-profile,
#header .header-nav .nav-profile span {
    color: #fff;
}

#header .logo span small {
    color: #9bb9d9;
}

#header .logo img {
    border-color: rgba(249, 115, 22, .8);
}

#header .toggle-sidebar-btn,
#header .header .toggle-sidebar-btn {
    color: #d9eaff;
}

#header .toggle-sidebar-btn:hover {
    color: #ff9a3d;
}

#header .search-bar {
    background: transparent !important;
}

#header .search-form input {
    border-color: rgba(255, 255, 255, .28);
    background: rgba(255, 255, 255, .1);
    color: #fff;
}

#header .search-form input::placeholder {
    color: #b9cde4;
}

#header .search-form input:focus,
#header .search-form input:hover {
    border-color: #62b8ed;
    background: rgba(255, 255, 255, .16);
    box-shadow: 0 0 0 4px rgba(56, 189, 248, .14);
}

#header .search-form button i {
    color: #8dd5ff;
}

#header .nav-profile:hover {
    background: rgba(255, 255, 255, .1);
}

.sidebar {
    background: linear-gradient(180deg, #123f7a 0%, #15518f 58%, #17639f 100%) !important;
    box-shadow: 12px 0 30px rgba(7, 26, 51, .16);
}

/*--------------------------------------------------------------
# Page Title
--------------------------------------------------------------*/
.pagetitle {
    margin-bottom: 10px;
}

.pagetitle h1 {
    font-size: 24px;
    margin-bottom: 0;
    font-weight: 600;
    color: #012970;
}

/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
    position: fixed;
    visibility: hidden;
    opacity: 0;
    right: 15px;
    bottom: 15px;
    z-index: 99999;
    background: #4154f1;
    width: 40px;
    height: 40px;
    border-radius: 4px;
    transition: all 0.4s;
}

.back-to-top i {
    font-size: 24px;
    color: #fff;
    line-height: 0;
}

.back-to-top:hover {
    background: #6776f4;
    color: #fff;
}

.back-to-top.active {
    visibility: visible;
    opacity: 1;
}

/*--------------------------------------------------------------
# Override some default Bootstrap stylings
--------------------------------------------------------------*/
/* Dropdown menus */
.dropdown-menu {
    border-radius: 4px;
    padding: 10px 0;
    animation-name: dropdown-animate;
    animation-duration: 0.2s;
    animation-fill-mode: both;
    border: 0;
    box-shadow: 0 5px 30px 0 rgba(82, 63, 105, 0.2);
}

.dropdown-menu .dropdown-header,
.dropdown-menu .dropdown-footer {
    text-align: center;
    font-size: 15px;
    padding: 10px 25px;
}

.dropdown-menu .dropdown-footer a {
    color: #444444;
    text-decoration: underline;
}

.dropdown-menu .dropdown-footer a:hover {
    text-decoration: none;
}

.dropdown-menu .dropdown-divider {
    color: #a5c5fe;
    margin: 0;
}

.dropdown-menu .dropdown-item {
    font-size: 14px;
    padding: 10px 15px;
    transition: 0.3s;
}

.dropdown-menu .dropdown-item i {
    margin-right: 10px;
    font-size: 18px;
    line-height: 0;
}

.dropdown-menu .dropdown-item:hover {
    background-color: #f6f9ff;
}

@media (min-width: 768px) {
    .dropdown-menu-arrow::before {
        content: "";
        width: 13px;
        height: 13px;
        background: #fff;
        position: absolute;
        top: -7px;
        right: 20px;
        transform: rotate(45deg);
        border-top: 1px solid #eaedf1;
        border-left: 1px solid #eaedf1;
    }
}

@keyframes dropdown-animate {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }

    0% {
        opacity: 0;
    }
}

/* Light Backgrounds */
.bg-primary-light {
    background-color: #cfe2ff;
    border-color: #cfe2ff;
}

.bg-secondary-light {
    background-color: #e2e3e5;
    border-color: #e2e3e5;
}

.bg-success-light {
    background-color: #d1e7dd;
    border-color: #d1e7dd;
}

.bg-danger-light {
    background-color: #f8d7da;
    border-color: #f8d7da;
}

.bg-warning-light {
    background-color: #fff3cd;
    border-color: #fff3cd;
}

.bg-info-light {
    background-color: #cff4fc;
    border-color: #cff4fc;
}

.bg-dark-light {
    background-color: #d3d3d4;
    border-color: #d3d3d4;
}

/* Card */
.card {
    margin-bottom: 30px;
    border: none;
    border-radius: 5px;
    box-shadow: 0px 0 30px rgba(1, 41, 112, 0.1);
}

.card-header,
.card-footer {
    border-color: #ebeef4;
    background-color: #fff;
    color: #798eb3;
    padding: 15px;
}

.card-title {
    padding: 20px 0 15px 0;
    font-size: 18px;
    font-weight: 500;
    color: #012970;
    font-family: "Poppins", sans-serif;
}

.card-title span {
    color: #899bbd;
    font-size: 14px;
    font-weight: 400;
}

.card-body {
    padding: 0 20px 20px 20px;
}

.card-img-overlay {
    background-color: rgba(255, 255, 255, 0.6);
}

/* Alerts */
.alert-heading {
    font-weight: 500;
    font-family: "Poppins", sans-serif;
    font-size: 20px;
}

/* Close Button */
.btn-close {
    background-size: 25%;
}

.btn-close:focus {
    outline: 0;
    box-shadow: none;
}

/* Accordion */
.accordion-item {
    border: 1px solid #ebeef4;
}

.accordion-button:focus {
    outline: 0;
    box-shadow: none;
}

.accordion-button:not(.collapsed) {
    color: #012970;
    background-color: #f6f9ff;
}

.accordion-flush .accordion-button {
    padding: 15px 0;
    background: none;
    border: 0;
}

.accordion-flush .accordion-button:not(.collapsed) {
    box-shadow: none;
    color: #4154f1;
}

.accordion-flush .accordion-body {
    padding: 0 0 15px 0;
    color: #3e4f6f;
    font-size: 15px;
}

/* Breadcrumbs */
.breadcrumb {
    font-size: 14px;
    font-family: "Nunito", sans-serif;
    color: #899bbd;
    font-weight: 600;
}

.breadcrumb a {
    color: #899bbd;
    transition: 0.3s;
}

.breadcrumb a:hover {
    color: #51678f;
}

.breadcrumb .breadcrumb-item::before {
    color: #899bbd;
}

.breadcrumb .active {
    color: #51678f;
    font-weight: 600;
}

/* Bordered Tabs */
.nav-tabs-bordered {
    border-bottom: 2px solid #ebeef4;
}

.nav-tabs-bordered .nav-link {
    margin-bottom: -2px;
    border: none;
    color: #2c384e;
}

.nav-tabs-bordered .nav-link:hover,
.nav-tabs-bordered .nav-link:focus {
    color: #4154f1;
}

.nav-tabs-bordered .nav-link.active {
    background-color: #fff;
    color: #4154f1;
    border-bottom: 2px solid #4154f1;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.logo {
    line-height: 1;
}

@media (min-width: 1200px) {
    .logo {
        width: 280px;
    }
}

.logo img {
    max-height: 50px;
    margin-right: 6px;
}

.logo span {
    font-size: 28px;
    font-weight: 600;
    color: #000000; /* Negro para el logo */
    font-family: "Arial", sans-serif;
}

/* Cabecera */
.header {
    transition: all 0.5s;
    z-index: 997;
    height: 60px;
    box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.2);
    background-color: #64b5f6; /* Azul cielo (más fresco) para la cabecera */
    padding-left: 20px;
}

.header .toggle-sidebar-btn {
    font-size: 32px;
    padding-left: 10px;
    cursor: pointer;
    color: #000000; /* Negro para el icono */
}

.header .search-bar {
    min-width: 360px;
    padding: 0 20px;
    background: #64b5f6; /* Azul cielo para la barra de búsqueda */
}

@media (max-width: 1199px) {
    .header .search-bar {
        position: fixed;
        top: 50px;
        left: 0;
        right: 0;
        padding: 20px;
        box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.3);
        background: #64b5f6; /* Azul cielo */
        z-index: 9999;
        transition: 0.3s;
        visibility: hidden;
        opacity: 0;
    }

    .header .search-bar-show {
        top: 60px;
        visibility: visible;
        opacity: 1;
    }
}

.header .search-form {
    width: 100%;
}

.header .search-form input {
    border: 1px solid rgba(0, 0, 0, 0.3); /* Borde negro suave */
    font-size: 14px;
    color: #000000; /* Negro para el texto */
    padding: 7px 38px 7px 8px;
    border-radius: 4px;
    transition: 0.3s;
    width: 100%;
}

.header .search-form input:focus,
.header .search-form input:hover {
    outline: none;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2); /* Sombra suave negra */
    border: 1px solid #000000; /* Borde negro brillante al enfocarse */
}

.header .search-form button {
    border: 0;
    padding: 0;
    margin-left: -30px;
    background: none;
}

.header .search-form button i {
    color: #000000; /* Negro para el icono */
}

/*--------------------------------------------------------------
# Sidebar
--------------------------------------------------------------*/
.sidebar {
    position: fixed;
    top: 60px;
    left: 0;
    bottom: 0;
    width: 300px;
    z-index: 996;
    transition: all 0.3s;
    padding: 20px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #64b5f6 transparent; /* Azul cielo para el scrollbar */
    background-color: #80c7f7; /* Azul más claro para la barra lateral */
}

@media (max-width: 1199px) {
    .sidebar {
        left: -300px; /* Oculta la barra lateral en pantallas pequeñas */
    }
}

.sidebar::-webkit-scrollbar {
    width: 5px;
    height: 8px;
    background-color: #80c7f7; /* Fondo azul más claro para el scrollbar */
}

.sidebar::-webkit-scrollbar-thumb {
    background-color: #64b5f6; /* Azul cielo para el pulgar del scrollbar */
}

@media (min-width: 1200px) {
    #main,
    #footer {
        margin-left: 300px; /* Ajusta el margen del contenido principal para hacer espacio para la barra lateral */
    }
}

@media (max-width: 1199px) {
    .toggle-sidebar .sidebar {
        left: 0; /* Muestra la barra lateral en pantallas pequeñas cuando se activa el toggle */
    }
}

@media (min-width: 1200px) {
    .toggle-sidebar #main,
    .toggle-sidebar #footer {
        margin-left: 0; /* Restablece el margen cuando se oculta la barra lateral */
    }

    .toggle-sidebar .sidebar {
        left: -300px; /* Oculta la barra lateral cuando se activa el toggle en pantallas grandes */
    }
}

/* Navegación barra lateral */
.sidebar-nav {
    padding: 0;
    margin: 0;
    list-style: none;
}

.sidebar-nav li {
    padding: 0;
    margin: 0;
    list-style: none;
}

.sidebar-nav .nav-item {
    margin-bottom: 8px; /* Espacio entre los ítems de navegación */
}

.sidebar-nav .nav-heading {
    font-size: 13px;
    text-transform: uppercase;
    color: #000000; /* Negro para los encabezados */
    padding: 10px;
    font-weight: 600;
}

.sidebar-nav .nav-link {
    display: flex;
    align-items: center;
    padding: 12px 20px;
    color: #000000; /* Negro para el texto de enlaces */
    background: #80c7f7; /* Azul más claro para los enlaces */
    border-radius: 4px;
    transition: 0.3s;
    font-size: 16px;
    font-weight: 600;
}

.sidebar-nav .nav-link i {
    font-size: 18px;
    margin-right: 10px;
    color: #000000; /* Negro para los íconos */
}

.sidebar-nav .nav-link:hover {
    color: #000000; /* Negro para el texto al pasar el mouse */
    background: #64b5f6; /* Azul cielo para el fondo al pasar el mouse */
}

.sidebar-nav .nav-content a {
    display: block;
    padding: 10px 20px;
    color: #000000; /* Negro para los enlaces en contenido de navegación */
    background: #80c7f7; /* Azul más claro */
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
}

.sidebar-nav .nav-content a i {
    font-size: 6px;
    margin-right: 8px;
    line-height: 0;
    border-radius: 50%;
}

.sidebar-nav .nav-content a:hover,
.sidebar-nav .nav-content a.active {
    color: #000000; /* Negro para texto de enlaces activos y al pasar el mouse */
    background: #64b5f6; /* Azul cielo para fondo de enlaces activos y al pasar el mouse */
}

.sidebar-nav .nav-content a.active i {
    background-color: #64b5f6; /* Fondo azul cielo para íconos activos */
}


/*--------------------------------------------------------------
# Header Nav
--------------------------------------------------------------*/
.header-nav ul {
    list-style: none;
}

.header-nav>ul {
    margin: 0;
    padding: 0;
}

.header-nav .nav-icon {
    font-size: 22px;
    color: #000000;
    margin-right: 25px;
    position: relative;
}

.header-nav .nav-profile {
    color: #000000;
}

.header-nav .nav-profile img {
    max-height: 36px;
}

.header-nav .nav-profile span {
    font-size: 14px;
    font-weight: 600;
}

.header-nav .badge-number {
    position: absolute;
    inset: -2px -5px auto auto;
    font-weight: normal;
    font-size: 12px;
    padding: 3px 6px;
}

.header-nav .notifications {
    inset: 8px -15px auto auto !important;
}

.header-nav .notifications .notification-item {
    display: flex;
    align-items: center;
    padding: 15px 10px;
    transition: 0.3s;
}

.header-nav .notifications .notification-item i {
    margin: 0 20px 0 10px;
    font-size: 24px;
}

.header-nav .notifications .notification-item h4 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 5px;
}

.header-nav .notifications .notification-item p {
    font-size: 13px;
    margin-bottom: 3px;
    color: #919191;
}

.header-nav .notifications .notification-item:hover {
    background-color: #f6f9ff;
}

.header-nav .messages {
    inset: 8px -15px auto auto !important;
}

.header-nav .messages .message-item {
    padding: 15px 10px;
    transition: 0.3s;
}

.header-nav .messages .message-item a {
    display: flex;
}

.header-nav .messages .message-item img {
    margin: 0 20px 0 10px;
    max-height: 40px;
}

.header-nav .messages .message-item h4 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 5px;
    color: #444444;
}

.header-nav .messages .message-item p {
    font-size: 13px;
    margin-bottom: 3px;
    color: #919191;
}

.header-nav .messages .message-item:hover {
    background-color: #f6f9ff;
}

.header-nav .profile {
    min-width: 240px;
    padding-bottom: 0;
    top: 8px !important;
}

.header-nav .profile .dropdown-header h6 {
    font-size: 18px;
    margin-bottom: 0;
    font-weight: 600;
    color: #444444;
}

.header-nav .profile .dropdown-header span {
    font-size: 14px;
}

.header-nav .profile .dropdown-item {
    font-size: 14px;
    padding: 10px 15px;
    transition: 0.3s;
}

.header-nav .profile .dropdown-item i {
    margin-right: 10px;
    font-size: 18px;
    line-height: 0;
}

.header-nav .profile .dropdown-item:hover {
    background-color: #f6f9ff;
}



/*--------------------------------------------------------------
# Dashboard
--------------------------------------------------------------*/
/* Filter dropdown */
.dashboard .filter {
    position: absolute;
    right: 0px;
    top: 15px;
}

.dashboard .filter .icon {
    color: #aab7cf;
    padding-right: 20px;
    padding-bottom: 5px;
    transition: 0.3s;
    font-size: 16px;
}

.dashboard .filter .icon:hover,
.dashboard .filter .icon:focus {
    color: #4154f1;
}

.dashboard .filter .dropdown-header {
    padding: 8px 15px;
}

.dashboard .filter .dropdown-header h6 {
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    color: #aab7cf;
    margin-bottom: 0;
    padding: 0;
}

.dashboard .filter .dropdown-item {
    padding: 8px 15px;
}

/* Info Cards */
.dashboard .info-card {
    padding-bottom: 10px;
}

.dashboard .info-card h6 {
    font-size: 28px;
    color: #012970;
    font-weight: 700;
    margin: 0;
    padding: 0;
}

.dashboard .card-icon {
    font-size: 32px;
    line-height: 0;
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    flex-grow: 0;
}

.dashboard .sales-card .card-icon {
    color: #4154f1;
    background: #f6f6fe;
}

.dashboard .revenue-card .card-icon {
    color: #2eca6a;
    background: #e0f8e9;
}

.dashboard .customers-card .card-icon {
    color: #ff771d;
    background: #ffecdf;
}

/* Activity */
.dashboard .activity {
    font-size: 14px;
}

.dashboard .activity .activity-item .activite-label {
    color: #888;
    position: relative;
    flex-shrink: 0;
    flex-grow: 0;
    min-width: 64px;
}

.dashboard .activity .activity-item .activite-label::before {
    content: "";
    position: absolute;
    right: -11px;
    width: 4px;
    top: 0;
    bottom: 0;
    background-color: #eceefe;
}

.dashboard .activity .activity-item .activity-badge {
    margin-top: 3px;
    z-index: 1;
    font-size: 11px;
    line-height: 0;
    border-radius: 50%;
    flex-shrink: 0;
    border: 3px solid #fff;
    flex-grow: 0;
}

.dashboard .activity .activity-item .activity-content {
    padding-left: 10px;
    padding-bottom: 20px;
}

.dashboard .activity .activity-item:first-child .activite-label::before {
    top: 5px;
}

.dashboard .activity .activity-item:last-child .activity-content {
    padding-bottom: 0;
}

/* News & Updates */
.dashboard .news .post-item+.post-item {
    margin-top: 15px;
}

.dashboard .news img {
    width: 80px;
    float: left;
    border-radius: 5px;
}

.dashboard .news h4 {
    font-size: 15px;
    margin-left: 95px;
    font-weight: bold;
    margin-bottom: 5px;
}

.dashboard .news h4 a {
    color: #012970;
    transition: 0.3s;
}

.dashboard .news h4 a:hover {
    color: #4154f1;
}

.dashboard .news p {
    font-size: 14px;
    color: #777777;
    margin-left: 95px;
}

/* Recent Sales */
.dashboard .recent-sales {
    font-size: 14px;
}

.dashboard .recent-sales .table thead {
    background: #f6f6fe;
}

.dashboard .recent-sales .table thead th {
    border: 0;
}

.dashboard .recent-sales .dataTable-top {
    padding: 0 0 10px 0;
}

.dashboard .recent-sales .dataTable-bottom {
    padding: 10px 0 0 0;
}

/* Top Selling */
.dashboard .top-selling {
    font-size: 14px;
}

.dashboard .top-selling .table thead {
    background: #f6f6fe;
}

.dashboard .top-selling .table thead th {
    border: 0;
}

.dashboard .top-selling .table tbody td {
    vertical-align: middle;
}

.dashboard .top-selling img {
    border-radius: 5px;
    max-width: 60px;
}

/* Dashboard NBA-ANALYTICS SYSTEM */
.nba-dashboard { padding-bottom: 48px; }
.dashboard-welcome { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 24px; padding: 30px 34px; overflow: hidden; color: #fff; background: linear-gradient(120deg, #071a35, #174f88); border-radius: 18px; box-shadow: 0 14px 30px rgba(16, 36, 62, .16); }
.dashboard-welcome-simple { margin-bottom: 20px; padding: 24px 28px; }
.dashboard-welcome-actions { display: flex; align-items: center; gap: 14px; }
.dashboard-update-status { color: #c7d9ec; font-size: .72rem; }
.dashboard-refresh { display: inline-flex; align-items: center; gap: 7px; padding: 9px 13px; color: #fff; background: rgba(255, 255, 255, .13); border: 1px solid rgba(255, 255, 255, .3); border-radius: 8px; font-size: .78rem; font-weight: 750; transition: background .2s, transform .2s; }
.dashboard-refresh:hover { background: rgba(255, 255, 255, .22); transform: translateY(-1px); }
.dashboard-refresh:disabled { cursor: wait; opacity: .7; }
.dashboard-refresh.is-loading i { animation: dashboard-spin .8s linear infinite; }
@keyframes dashboard-spin { to { transform: rotate(360deg); } }
.dashboard-welcome h1 { margin: 8px 0 6px; color: #fff; font-size: clamp(1.8rem, 3vw, 2.6rem); font-weight: 850; letter-spacing: -.04em; }
.dashboard-welcome p { margin: 0; color: #c7d9ec; line-height: 1.6; }
.dashboard-eyebrow { color: #f7a45f; font-size: .7rem; font-weight: 850; letter-spacing: .16em; }
.dashboard-welcome-icon { display: grid; place-items: center; width: 76px; height: 76px; flex: 0 0 76px; color: #fff; background: rgba(245, 114, 32, .95); border-radius: 22px; box-shadow: 0 12px 28px rgba(0, 0, 0, .18); font-size: 2rem; transform: rotate(5deg); }
.dashboard-highlights { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; }
.dashboard-highlight { display: flex; align-items: center; gap: 13px; min-height: 82px; padding: 16px; background: #fff; border: 1px solid #e2eaf3; border-radius: 14px; box-shadow: 0 8px 20px rgba(16, 36, 62, .05); }
.dashboard-highlight > span { display: grid; place-items: center; width: 43px; height: 43px; flex: 0 0 43px; color: #fff; border-radius: 12px; font-size: 1.1rem; }
.dashboard-highlight strong, .dashboard-highlight small { display: block; }
.dashboard-highlight strong { color: #233b5d; font-size: .85rem; font-weight: 800; }
.dashboard-highlight small { margin-top: 4px; color: #8493a5; font-size: .7rem; }
.highlight-blue > span, .dashboard-card-icon.blue { background: #1f6feb; }
.highlight-green > span, .dashboard-card-icon.green { background: #16a34a; }
.highlight-orange > span, .dashboard-card-icon.orange { background: #f97316; }
.highlight-purple > span, .dashboard-card-icon.purple { background: #8b5cf6; }
.dashboard-charts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.dashboard-chart-card { min-width: 0; padding: 22px 22px 14px; background: #fff; border: 1px solid #e2eaf3; border-radius: 16px; box-shadow: 0 10px 25px rgba(16, 36, 62, .06); }
.dashboard-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.dashboard-card-heading > div { display: flex; align-items: center; gap: 12px; min-width: 0; }
.dashboard-card-icon { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; color: #fff; border-radius: 12px; }
.dashboard-card-heading h2 { margin: 0; color: #233b5d; font-size: 1rem; font-weight: 850; }
.dashboard-card-heading p { margin: 4px 0 0; color: #8493a5; font-size: .76rem; }
.dashboard-card-badge { padding: 5px 8px; color: #71839a; background: #f3f7fb; border-radius: 6px; font-size: .6rem; font-weight: 850; letter-spacing: .08em; }
.dashboard-chart { min-height: 275px; }
.dashboard-chart-wide .dashboard-chart { min-height: 315px; }
.dashboard-chart-message, .dashboard-empty { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 245px; color: #8493a5; font-size: .88rem; }
.dashboard-chart-message i, .dashboard-empty i { color: #9eb1c5; font-size: 1.5rem; }
.dashboard-stats-section { margin-top: 34px; }
.dashboard-stats-table-wrap { overflow: hidden; background: #fff; border: 1px solid #e2eaf3; border-radius: 16px; box-shadow: 0 10px 25px rgba(16, 36, 62, .06); }
.dashboard-stats-table-scroll { overflow-x: auto; }
.dashboard-stats-table { width: 100%; min-width: 650px; border-collapse: collapse; color: #233b5d; font-size: .82rem; }
.dashboard-stats-table th { padding: 14px 18px; color: #71839a; background: #f5f8fc; font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-align: left; text-transform: uppercase; }
.dashboard-stats-table td { padding: 15px 18px; border-top: 1px solid #edf2f7; }
.dashboard-stats-table td:first-child, .dashboard-stats-table th:first-child { width: 55px; text-align: center; }
.dashboard-stats-table td:nth-child(n+3), .dashboard-stats-table th:nth-child(n+3) { text-align: right; }
.dashboard-stats-table td strong, .dashboard-stats-table td small { display: block; }
.dashboard-stats-table td small { margin-top: 3px; color: #8493a5; font-size: .68rem; }
.dashboard-stats-table tbody tr:hover { background: #fbfdff; }
.dashboard-rank { display: inline-grid; place-items: center; width: 27px; height: 27px; color: #fff; background: #1f6feb; border-radius: 50%; font-size: .7rem; font-weight: 850; }
.stat-win { color: #16834b; font-weight: 800; }
.stat-loss { color: #c25a52; font-weight: 800; }
.dashboard-win-rate { padding: 5px 9px; color: #176b42; background: #e7f7ee; border-radius: 6px; font-weight: 800; }
.dashboard-picks-section { margin-top: 34px; }
.dashboard-section-heading { display: flex; align-items: center; gap: 18px; margin-bottom: 16px; }
.dashboard-section-heading h2 { margin: 5px 0 0; color: #233b5d; font-size: 1.4rem; font-weight: 850; }
.dashboard-section-line { height: 1px; flex: 1; background: #dce6f0; }
.dashboard-picks-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.dashboard-pick-card { position: relative; padding: 20px; overflow: hidden; background: #fff; border: 1px solid #e2eaf3; border-radius: 15px; box-shadow: 0 8px 20px rgba(16, 36, 62, .05); }
.dashboard-pick-topline, .dashboard-pick-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #8493a5; font-size: .72rem; }
.dashboard-pick-label { color: #f57220; font-weight: 800; }
.dashboard-pick-card h3 { margin: 14px 0; color: #233b5d; font-size: 1.1rem; font-weight: 850; }
.dashboard-pick-image { display: block; width: 100%; max-height: 170px; margin-bottom: 14px; object-fit: contain; border-radius: 9px; }
.dashboard-pick-meta { justify-content: flex-start; padding: 10px 0; border-top: 1px solid #edf2f7; border-bottom: 1px solid #edf2f7; }
.dashboard-pick-meta i { color: #1f6feb; }
.dashboard-pick-card p { margin: 14px 0; color: #65758a; font-size: .82rem; line-height: 1.6; }
.dashboard-pick-result { display: inline-flex; padding: 5px 9px; color: #176b42; background: #e7f7ee; border-radius: 6px; font-size: .7rem; font-weight: 800; }

@media (max-width: 1100px) {
    .dashboard-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-picks-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
    .dashboard-welcome { padding: 24px; }
    .dashboard-welcome-actions { align-items: flex-end; flex-direction: column; gap: 8px; }
    .dashboard-charts { grid-template-columns: 1fr; }
    .dashboard-picks-grid { grid-template-columns: 1fr; }
}

/*--------------------------------------------------------------
# Icons list page
--------------------------------------------------------------*/
.iconslist {
    display: grid;
    max-width: 100%;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 1.25rem;
    padding-top: 15px;
}

.iconslist .icon {
    background-color: #fff;
    border-radius: 0.25rem;
    text-align: center;
    color: #012970;
    padding: 15px 0;
}

.iconslist i {
    margin: 0.25rem;
    font-size: 2.5rem;
}

.iconslist .label {
    font-family: var(--bs-font-monospace);
    display: inline-block;
    width: 100%;
    overflow: hidden;
    padding: 0.25rem;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #666;
}

/*--------------------------------------------------------------
# Profie Page
--------------------------------------------------------------*/
.profile .profile-card img {
    max-width: 120px;
}

.profile .profile-card h2 {
    font-size: 24px;
    font-weight: 700;
    color: #2c384e;
    margin: 10px 0 0 0;
}

.profile .profile-card h3 {
    font-size: 18px;
}

.profile .profile-card .social-links a {
    font-size: 20px;
    display: inline-block;
    color: rgba(1, 41, 112, 0.5);
    line-height: 0;
    margin-right: 10px;
    transition: 0.3s;
}

.profile .profile-card .social-links a:hover {
    color: #012970;
}

.profile .profile-overview .row {
    margin-bottom: 20px;
    font-size: 15px;
}

.profile .profile-overview .card-title {
    color: #012970;
}

.profile .profile-overview .label {
    font-weight: 600;
    color: rgba(1, 41, 112, 0.6);
}

.profile .profile-edit label {
    font-weight: 600;
    color: rgba(1, 41, 112, 0.6);
}

.profile .profile-edit img {
    max-width: 120px;
}

/*--------------------------------------------------------------
# F.A.Q Page
--------------------------------------------------------------*/
.faq .basic h6 {
    font-size: 18px;
    font-weight: 600;
    color: #4154f1;
}

.faq .basic p {
    color: #6980aa;
}

/*--------------------------------------------------------------
# Contact
--------------------------------------------------------------*/
.contact .info-box {
    padding: 28px 30px;
}

.contact .info-box i {
    font-size: 38px;
    line-height: 0;
    color: #4154f1;
}

.contact .info-box h3 {
    font-size: 20px;
    color: #012970;
    font-weight: 700;
    margin: 20px 0 10px 0;
}

.contact .info-box p {
    padding: 0;
    line-height: 24px;
    font-size: 14px;
    margin-bottom: 0;
}

.contact .php-email-form .error-message {
    display: none;
    color: #fff;
    background: #ed3c0d;
    text-align: left;
    padding: 15px;
    margin-bottom: 24px;
    font-weight: 600;
}

.contact .php-email-form .sent-message {
    display: none;
    color: #fff;
    background: #18d26e;
    text-align: center;
    padding: 15px;
    margin-bottom: 24px;
    font-weight: 600;
}

.contact .php-email-form .loading {
    display: none;
    background: #fff;
    text-align: center;
    padding: 15px;
    margin-bottom: 24px;
}

.contact .php-email-form .loading:before {
    content: "";
    display: inline-block;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    margin: 0 10px -6px 0;
    border: 3px solid #18d26e;
    border-top-color: #eee;
    animation: animate-loading 1s linear infinite;
}

.contact .php-email-form input,
.contact .php-email-form textarea {
    border-radius: 0;
    box-shadow: none;
    font-size: 14px;
    border-radius: 0;
}

.contact .php-email-form input:focus,
.contact .php-email-form textarea:focus {
    border-color: #4154f1;
}

.contact .php-email-form input {
    padding: 10px 15px;
}

.contact .php-email-form textarea {
    padding: 12px 15px;
}

.contact .php-email-form button[type=submit] {
    background: #4154f1;
    border: 0;
    padding: 10px 30px;
    color: #fff;
    transition: 0.4s;
    border-radius: 4px;
}

.contact .php-email-form button[type=submit]:hover {
    background: #5969f3;
}

@keyframes animate-loading {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/*--------------------------------------------------------------
# Error 404
--------------------------------------------------------------*/
.error-404 {
    padding: 30px;
}

.error-404 h1 {
    font-size: 180px;
    font-weight: 700;
    color: #4154f1;
    margin-bottom: 0;
    line-height: 150px;
}

.error-404 h2 {
    font-size: 24px;
    font-weight: 700;
    color: #012970;
    margin-bottom: 30px;
}

.error-404 .btn {
    background: #51678f;
    color: #fff;
    padding: 8px 30px;
}

.error-404 .btn:hover {
    background: #3e4f6f;
}

@media (min-width: 992px) {
    .error-404 img {
        max-width: 50%;
    }
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.footer {
    padding: 20px 0;
    font-size: 14px;
    transition: all 0.3s;
    border-top: 1px solid #cddfff;
}

.footer .copyright {
    text-align: center;
    color: #012970;
}

.footer .credits {
    padding-top: 5px;
    text-align: center;
    font-size: 13px;
    color: #012970;
}

input[type="checkbox"] {
    width: 20px;
    height: 20px;
    accent-color: #0d6efd;
    cursor: pointer;
}
input[type="checkbox"] {
    border: 2px solid #0d6efd;
    border-radius: 4px;
}

/* Hover */
input[type="checkbox"]:hover {
    box-shadow: 0 0 5px #0d6efd;
}

/* Cuando está marcado */
input[type="checkbox"]:checked {
    outline: 2px solid #0d6efd;
    outline-offset: 2px;
}

input, textarea, select {
    border: 1.5px solid var(--bs-dark) !important;
    border-radius: 6px;
    padding: 10px;
    font-size: 14px;
    color: var(--bs-dark);
    background-color: var(--bs-light);
}

input:focus, textarea:focus, select:focus {
    border-color: var(--bs-primary) !important;
    box-shadow: 0 0 6px rgba(13, 110, 253, 0.5) !important; /* Color primario con transparencia */
    background-color: var(--bs-white);
}

/* ==============================================================
   NBA EXPERT - LAYOUT PRINCIPAL
   Fuente única de estilos para navbar y sidebar.
   ============================================================== */
:root {
    --nba-navy: #071a33;
    --nba-blue: #123f7a;
    --nba-blue-light: #1f6feb;
    --nba-orange: #f97316;
    --nba-sky: #38bdf8;
    --nba-ink: #10233f;
    --nba-muted: #7890ad;
}

body {
    background: #f3f7fc;
    color: var(--nba-ink);
}

#header.header {
    height: 74px;
    padding-left: 24px;
    background: rgba(255, 255, 255, .98) !important;
    border-bottom: 1px solid rgba(18, 63, 122, .09);
    box-shadow: 0 8px 24px rgba(7, 26, 51, .08);
    backdrop-filter: blur(12px);
}

.logo {
    gap: 10px;
}

.logo img,
.header-nav .nav-profile img {
    width: 38px;
    height: 38px;
    max-height: 38px;
    object-fit: cover;
    margin-right: 0;
    border: 2px solid var(--nba-sky);
}

.logo span {
    display: flex;
    flex-direction: column;
    gap: 2px;
    color: var(--nba-navy);
    font-size: 17px;
    letter-spacing: .04em;
    line-height: 1;
}

.logo span small {
    color: var(--nba-muted);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .18em;
}

.header .toggle-sidebar-btn {
    color: var(--nba-blue);
    font-size: 28px;
    padding-left: 18px;
}

.header .toggle-sidebar-btn:hover {
    color: var(--nba-orange);
}

.header .search-bar {
    min-width: min(420px, 38vw);
    padding: 0 28px;
    background: transparent !important;
}

.header .search-form input {
    height: 42px;
    padding-left: 17px;
    border: 1px solid #e1eaf4;
    border-radius: 14px;
    background: #f7faff;
    color: var(--nba-ink);
}

.header .search-form input:focus,
.header .search-form input:hover {
    border-color: rgba(31, 111, 235, .45);
    box-shadow: 0 0 0 4px rgba(31, 111, 235, .09);
}

.header .search-form button i {
    color: var(--nba-blue-light);
}

.header-nav .nav-profile {
    color: var(--nba-ink);
    padding: 6px 18px 6px 10px;
    border-radius: 14px;
}

.header-nav .nav-profile:hover {
    background: #f1f6fc;
}

.header-nav .nav-profile span {
    color: var(--nba-navy);
}

.sidebar {
    top: 74px;
    width: 280px;
    padding: 20px 14px;
    background: linear-gradient(180deg, #071a33 0%, #0b2b55 58%, #0e3769 100%) !important;
    border-right: 1px solid rgba(255, 255, 255, .08);
    box-shadow: 12px 0 30px rgba(7, 26, 51, .14);
    scrollbar-color: rgba(255, 255, 255, .28) transparent;
}

.sidebar::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, .28);
    border-radius: 10px;
}

.sidebar-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 2px 8px 24px;
    padding: 0 4px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.sidebar-brand-mark {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    flex: 0 0 42px;
    color: #fff;
    font-size: 22px;
    background: linear-gradient(135deg, var(--nba-orange), #ffad42);
    border-radius: 13px;
    box-shadow: 0 8px 18px rgba(249, 115, 22, .3);
}

.sidebar-brand-title,
.sidebar-brand-subtitle {
    display: block;
}

.sidebar-brand-title {
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .1em;
}

.sidebar-brand-subtitle {
    margin-top: 4px;
    color: #91b5dc;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .14em;
}

.sidebar-nav .nav-item {
    margin-bottom: 7px;
}

.sidebar-nav .nav-link {
    min-height: 46px;
    padding: 11px 13px;
    color: #c5d8ed;
    font-size: 14px;
    font-weight: 700;
    border: 1px solid transparent;
    border-radius: 12px;
    background: transparent;
}

.sidebar-nav .nav-link i {
    width: 22px;
    margin-right: 10px;
    color: #8db4df;
    font-size: 17px;
}

.sidebar-nav .nav-link.collapsed {
    color: #c5d8ed;
    background: transparent;
}

.sidebar-nav .nav-link:hover,
.sidebar-nav .nav-link:not(.collapsed) {
    color: #fff;
    background: linear-gradient(90deg, rgba(31, 111, 235, .68), rgba(31, 111, 235, .2));
    border-color: rgba(141, 190, 255, .24);
    box-shadow: inset 3px 0 0 var(--nba-orange);
}

.sidebar-nav .nav-link:hover i,
.sidebar-nav .nav-link:not(.collapsed) i {
    color: #fff;
}

.sidebar-nav .nav-content {
    padding: 6px 0 4px 12px;
    margin-left: 18px;
    border-left: 1px solid rgba(141, 190, 255, .25);
}

.sidebar-nav .nav-content a {
    padding: 9px 8px 9px 12px;
    color: #a9c1dc;
    font-size: 13px;
    font-weight: 600;
    border-radius: 8px;
}

.sidebar-nav .nav-content a i {
    color: var(--nba-orange);
}

.sidebar-nav .nav-content a:hover,
.sidebar-nav .nav-content a.active {
    color: #fff;
    background: rgba(255, 255, 255, .1);
}

#main {
    margin-top: 74px;
    padding: 30px;
}

@media (min-width: 1200px) {
    #main,
    #footer {
        margin-left: 280px;
    }
}

@media (max-width: 1199px) {
    #main {
        margin-top: 74px;
        padding: 24px 20px;
    }

    .header .search-bar {
        top: 74px;
        min-width: 0;
        padding: 16px 20px;
    }
}

/* Prioridad final del navbar sobre cualquier estilo de plantilla anterior. */
#header.header {
    background: linear-gradient(115deg, #031225 0%, #08264b 58%, #0c3564 100%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .12) !important;
    box-shadow: 0 8px 24px rgba(3, 18, 37, .28) !important;
}

#header .logo span,
#header .header-nav .nav-profile,
#header .header-nav .nav-profile span,
#header .toggle-sidebar-btn {
    color: #fff !important;
}

#header .logo span small {
    color: #9bb9d9 !important;
}

#header .search-bar {
    background: transparent !important;
}

#header .search-form input {
    border-color: rgba(255, 255, 255, .28) !important;
    background: rgba(255, 255, 255, .1) !important;
    color: #fff !important;
}

#header .search-form input::placeholder {
    color: #b9cde4 !important;
}

#header .search-form button i {
    color: #8dd5ff !important;
}

/*!*****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/tables.css ***!
  \*****************************************************************************************************************/
/* Estilos generales para la tabla */
.estilos_generales {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    display: block;
    margin: auto;
    border-collapse: collapse;
    font-family: 'Roboto', Arial, sans-serif;
    background: #f9fbfc;
    color: #003E51;
    border: 1px solid #c9e7f0;
    border-radius: 8px;
}

.estilos_generales th {
    font-size: 15px;
    font-weight: bold;
    padding: 12px 13px;
    background: #e2f4f9;
    color: #004b60;
    border-bottom: 1px solid #c0e0ea;
    text-align: left;
    white-space: nowrap;
}

.estilos_generales td {
    padding: 8px;
    font-size: 13px;
    background: #ffffff;
    color: #003E51;
    border-bottom: 1px solid #f0f0f0;
    white-space: nowrap;
}

.estilos_generales tbody tr:hover {
    background-color: #f0fbff;
}

.estilos_generales tr {
    border-bottom: 3px solid rgb(201, 231, 240) !important; /* línea fuerte */
}

/* Scroll para el toolbar */
[id^="toolbar_"] {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 8px;
    padding: 6px 0;
    max-width: 100%;
    scrollbar-width: thin;
    scrollbar-color: #ccc transparent;
    white-space: nowrap;
}

[id^="toolbar_"] > * {
    flex: 0 0 auto; /* evita que se expandan */
}

[id^="toolbar_"]::-webkit-scrollbar {
    height: 6px;
}

[id^="toolbar_"]::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 4px;
}


/* Para pantallas pequeñas */
@media (max-width: 767px) {
    [id^="toolbar_"] {
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        width: 100%;
    }

    [id^="toolbar_"] button {
        flex: 0 0 auto;
        font-size: 14px;
    }

    .estilos_generales {
        overflow-x: auto;
        display: block;
        width: 100%;
    }

    .estilos_generales th,
    .estilos_generales td {
        white-space: nowrap;
    }
}


/* Botones generales personalizados */
.btn-custom, .btn-custom-text, .btn {
    border-radius: 6px;
    font-weight: 600;
    transition: 0.3s ease-in-out;
}

/* Estilo común para todos los botones */
.btn-custom,
.btn-custom-text,
.btn.btn-primary,
.btn.btn-secondary,
.btn.btn-success,
.btn.btn-warning,
.btn.btn-danger {
    background-color: #eaf8fb !important;
    color: #005c70 !important;
    border: 1px solid #b7e3ed !important;
}

/* Hover de botones */
.btn-custom:hover,
.btn-custom-text:hover,
.btn.btn-primary:hover,
.btn.btn-secondary:hover,
.btn.btn-success:hover,
.btn.btn-warning:hover,
.btn.btn-danger:hover {
    background-color: #d5f1f7 !important;
    box-shadow: 0 0 6px rgba(0, 94, 112, 0.15);
    color: #003e51 !important;
}

/* Botones deshabilitados */
.btn:disabled {
    background-color: #f0f8fa !important;
    color: #a1bcc5 !important;
    opacity: 0.6 !important;
    cursor: not-allowed !important;
}

/* Botón peligro */
.btn.btn-danger {
    background-color: #ffe5e9 !important;
    color: #d33c50 !important;
    border: 1px solid #f2b3bd !important;
}

.btn.btn-danger:hover {
    background-color: #ffd2da !important;
}

/* Botón éxito */
.btn.btn-success {
    background-color: #dff7ed !important;
    color: #00875a !important;
    border: 1px solid #a6e2c6 !important;
}

.btn.btn-success:hover {
    background-color: #c9f0dd !important;
}

/* Botón advertencia */
.btn.btn-warning {
    background-color: #fff4e0 !important;
    color: #b87f00 !important;
    border: 1px solid #ffe3b3 !important;
}

.btn.btn-warning:hover {
    background-color: #ffebc2 !important;
}

/* Botón secundario */
.btn.btn-secondary {
    background-color: #f1f4f6 !important;
    color: #006c8c !important;
    border: 1px solid #c8dfe5 !important;
}

.btn.btn-secondary:hover {
    background-color: #e2eef3 !important;
}

/* Texto principal */
.text-principal {
    color: #005c70 !important;
}

/*!*****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/vistas.css ***!
  \*****************************************************************************************************************/
/* Estilos para el contenedor de WhatsApp */
.whatsapp-container {
    position: fixed;
    bottom: 20px;
    right: 15px;
    background-color: #25D366; /* Color de fondo de WhatsApp */
    padding: 10px;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    z-index: 2; /* Asegura que WhatsApp esté encima de Telegram */
}

/* Estilos para el contenedor de Telegram */
.telegram-container {
    position: fixed;
    bottom: 65px; /* Ajusta la posición para que esté debajo de WhatsApp */
    right: 16px;
    background-color: #0088cc; /* Color de fondo de Telegram */
    padding: 12px;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    z-index: 1; /* Asegura que Telegram esté debajo de WhatsApp */
}

/* Estilos para el enlace de WhatsApp y Telegram */
.whatsapp-link, .telegram-link {
    text-decoration: none;
    color: #fff; /* Color del texto */
    display: flex;
    align-items: center;
}

/* Estilos para el ícono de WhatsApp y Telegram */
.whatsapp-icon, .telegram-icon {
    font-size: 24px; /* Tamaño del ícono */
    margin-right: 10px;
    Color:#fff;
}

/* Estilos para el texto de WhatsApp y Telegram */
.whatsapp-text, .telegram-text {
    font-size:14px;
}

.whatsapp-text{
    color:#fff !important;
}

/* Ocultar los controles de número en Chrome, Safari, Edge y Opera */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Ocultar los controles de número en Firefox */
input[type="number"] {
    -moz-appearance: textfield;
}


.empresa {
    font-family: 'Bradley Hand ITC', cursive;
    font-size: 25px;
}

.idIngredientes {
    text-align: center;
    font-family: 'Roboto  Thin', cursive;
    font-size: 25px;
}

.idContenido {
    text-align: center;
    font-family: 'arial  Thin', cursive;
    font-size: 20px;

}

.bannerItem {
    display: block;
    width: 100%;
    height: 500px;
}
.bannerItem img {
    height: 100%;
    width: 100%;
}

.img-normalizada{
    width: 350px;
    height: 280px;
    border-radius: 10px;
    object-fit: cover;
}

.idPrecio {
    text-align: center;
    font-family: 'arial  Thin', cursive;
    font-size: 35px;
    animation: blink 1.5s infinite;
}

@keyframes blink {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
}
/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/app.css ***!
  \**************************************************************************************************************/
/*APP.SCSS*/


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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d0NBQXdDO0lBQ3hDLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsb0NBQW9DO0lBQ3BDLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsbUNBQW1DO0lBQ25DLGVBQWU7O0FBRW5COztBQUVBO0lBQ0ksY0FBYztJQUNkLFdBQVc7SUFDWCxhQUFhO0FBQ2pCO0FBQ0E7SUFDSSxZQUFZO0lBQ1osV0FBVztBQUNmOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLG1DQUFtQztJQUNuQyxlQUFlO0lBQ2YsOEJBQThCO0FBQ2xDOztBQUVBO0lBQ0k7UUFDSSxVQUFVO0lBQ2Q7SUFDQTtRQUNJLFVBQVU7SUFDZDtBQUNKLEM7Ozs7QUM5R0EsV0FBVyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvc3R5bGUuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvdGFibGVzLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3Zpc3Rhcy5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9hcHAuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuKiBUZW1wbGF0ZSBOYW1lOiBOaWNlQWRtaW5cbiogVGVtcGxhdGUgVVJMOiBodHRwczovL2Jvb3RzdHJhcG1hZGUuY29tL25pY2UtYWRtaW4tYm9vdHN0cmFwLWFkbWluLWh0bWwtdGVtcGxhdGUvXG4qIFVwZGF0ZWQ6IEFwciAyMCAyMDI0IHdpdGggQm9vdHN0cmFwIHY1LjMuM1xuKiBBdXRob3I6IEJvb3RzdHJhcE1hZGUuY29tXG4qIExpY2Vuc2U6IGh0dHBzOi8vYm9vdHN0cmFwbWFkZS5jb20vbGljZW5zZS9cbiovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgR2VuZXJhbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuOnJvb3Qge1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG5ib2R5IHtcbiAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICBiYWNrZ3JvdW5kOiAjZjZmOWZmO1xuICAgIGNvbG9yOiAjNDQ0NDQ0O1xufVxuXG4vKiBQw6FnaW5hIHDDumJsaWNhIGRlIGluaWNpbyAqL1xuLmhvbWUtcGFnZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmOGZjO1xuICAgIGNvbG9yOiAjMTAyNDNlO1xufVxuXG4uYXV0aC1wYWdlIHsgbWluLWhlaWdodDogNzYwcHg7IGRpc3BsYXk6IGdyaWQ7IHBsYWNlLWl0ZW1zOiBjZW50ZXI7IHBhZGRpbmc6IDg4cHggMjBweCAxMDBweDsgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAxNSUgMTAlLCByZ2JhKDM0LCAxMTEsIDE4NCwgLjE4KSwgdHJhbnNwYXJlbnQgMzUlKSwgI2Y1ZjhmYzsgfVxuLmF1dGgtbGF5b3V0IHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMjgwcHgsIC45ZnIpIG1pbm1heCgzNjBweCwgNDcwcHgpOyB3aWR0aDogbWluKDk2MHB4LCAxMDAlKTsgb3ZlcmZsb3c6IGhpZGRlbjsgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyOiAxcHggc29saWQgI2UxZWFmMzsgYm9yZGVyLXJhZGl1czogMjBweDsgYm94LXNoYWRvdzogMCAyNHB4IDY1cHggcmdiYSgxMiwgNDIsIDc4LCAuMTUpOyB9XG4uYXV0aC1zaG93Y2FzZSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IG1pbi1oZWlnaHQ6IDU5MHB4OyBwYWRkaW5nOiA0OHB4OyBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0NWRlZywgIzA2MWEzNSwgIzBlNDY3ZSk7IG92ZXJmbG93OiBoaWRkZW47IH1cbi5hdXRoLXNob3djYXNlOjphZnRlciB7IGNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAzMDBweDsgaGVpZ2h0OiAzMDBweDsgcmlnaHQ6IC0xMTBweDsgYm90dG9tOiAtMTEwcHg7IGJvcmRlcjogNDJweCBzb2xpZCByZ2JhKDIzMiwgMTExLCAyNSwgLjc1KTsgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4uYXV0aC1zaG93Y2FzZSBoMSB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgbWFyZ2luOiAwOyBmb250LXNpemU6IGNsYW1wKDIuNHJlbSwgNXZ3LCA0LjJyZW0pOyBsaW5lLWhlaWdodDogMTsgbGV0dGVyLXNwYWNpbmc6IC0uMDVlbTsgfVxuLmF1dGgtc2hvd2Nhc2UgaDEgc3Ryb25nIHsgY29sb3I6ICNmZjhhMzI7IH1cbi5hdXRoLXNob3djYXNlIHAgeyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7IG1heC13aWR0aDogMzMwcHg7IG1hcmdpbjogMjRweCAwIDA7IGNvbG9yOiAjYzRkOGVmOyBsaW5lLWhlaWdodDogMS43OyB9XG4uYXV0aC1zaG93Y2FzZS1iYWxsIHsgcG9zaXRpb246IGFic29sdXRlOyByaWdodDogNDJweDsgYm90dG9tOiA0NnB4OyB6LWluZGV4OiAxOyBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTIpOyBmb250LXNpemU6IDlyZW07IHRyYW5zZm9ybTogcm90YXRlKC0xNWRlZyk7IH1cbi5hdXRoLWNhcmQgeyBhbGlnbi1zZWxmOiBjZW50ZXI7IHBhZGRpbmc6IDQ4cHggNDJweDsgYmFja2dyb3VuZDogI2ZmZjsgfVxuLmF1dGgtY2FyZC1zbWFsbCB7IHdpZHRoOiBtaW4oNDcwcHgsIDEwMCUpOyBib3JkZXI6IDFweCBzb2xpZCAjZTFlYWYzOyBib3JkZXItcmFkaXVzOiAyMHB4OyBib3gtc2hhZG93OiAwIDI0cHggNjVweCByZ2JhKDEyLCA0MiwgNzgsIC4xNSk7IH1cbi5hdXRoLXJlZ2lzdGVyLXBhZ2UgeyBtaW4taGVpZ2h0OiA4MjBweDsgfVxuLmF1dGgtcmVnaXN0ZXItY2FyZCB7IHdpZHRoOiBtaW4oNjgwcHgsIDEwMCUpOyBtYXJnaW46IDAgYXV0bzsgYm9yZGVyOiAxcHggc29saWQgI2UxZWFmMzsgYm9yZGVyLXJhZGl1czogMjBweDsgYm94LXNoYWRvdzogMCAyNHB4IDY1cHggcmdiYSgxMiwgNDIsIDc4LCAuMTUpOyB9XG4uYXV0aC1icmFuZCB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDsgbWFyZ2luLWJvdHRvbTogMjhweDsgY29sb3I6ICMxMDI0M2U7IGZvbnQtc2l6ZTogMS4ycmVtOyBsZXR0ZXItc3BhY2luZzogLjA0ZW07IH1cbi5hdXRoLWJyYW5kID4gc3BhbiB7IGRpc3BsYXk6IGdyaWQ7IHBsYWNlLWl0ZW1zOiBjZW50ZXI7IHdpZHRoOiA0OHB4OyBoZWlnaHQ6IDQ4cHg7IHBhZGRpbmc6IDVweDsgb3ZlcmZsb3c6IGhpZGRlbjsgYmFja2dyb3VuZDogIzEwMjQzZTsgYm9yZGVyOiAycHggc29saWQgI2Y1NzIyMDsgYm9yZGVyLXJhZGl1czogMTNweDsgYm94LXNoYWRvdzogMCA4cHggMThweCByZ2JhKDE2LCAzNiwgNjIsIC4xOCk7IH1cbi5hdXRoLWJyYW5kID4gc3BhbiBpbWcgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBvYmplY3QtZml0OiBjb250YWluOyB9XG4uYXV0aC1icmFuZCBzdHJvbmcgPiBzcGFuIHsgY29sb3I6ICNlODZmMTk7IH1cbi5hdXRoLWNhcmQgaDIgeyBtYXJnaW46IDA7IGNvbG9yOiAjMTAyNDNlOyBmb250LXNpemU6IDJyZW07IGZvbnQtd2VpZ2h0OiA5MDA7IGxldHRlci1zcGFjaW5nOiAtLjA0ZW07IH1cbi5hdXRoLWhlYWRpbmcgeyBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG4uYXV0aC1sZWFkIHsgbWFyZ2luOiA3cHggMCAwOyBjb2xvcjogIzcxODM5YTsgbGluZS1oZWlnaHQ6IDEuNjsgfVxuLmF1dGgtZm9ybSB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogOXB4OyB9XG4uYXV0aC1mb3JtIGxhYmVsIHsgbWFyZ2luLXRvcDogMTBweDsgY29sb3I6ICMyNjNkNTk7IGZvbnQtc2l6ZTogLjg2cmVtOyBmb250LXdlaWdodDogODAwOyB9XG4uYXV0aC1mb3JtIGlucHV0LCAuYXV0aC1mb3JtIHNlbGVjdCB7IHdpZHRoOiAxMDAlOyBwYWRkaW5nOiAxMnB4IDE0cHg7IGNvbG9yOiAjMTAyNDNlOyBiYWNrZ3JvdW5kOiAjZmJmZGZmOyBib3JkZXI6IDFweCBzb2xpZCAjZDVlMWVkOyBib3JkZXItcmFkaXVzOiA4cHg7IG91dGxpbmU6IG5vbmU7IHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMnMsIGJveC1zaGFkb3cgLjJzOyB9XG4uYXV0aC1mb3JtIGlucHV0OmZvY3VzLCAuYXV0aC1mb3JtIHNlbGVjdDpmb2N1cyB7IGJvcmRlci1jb2xvcjogIzMxODNjODsgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoNDksIDEzMSwgMjAwLCAuMTQpOyB9XG4uYXV0aC1saW5rcyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTJweDsgbWFyZ2luLXRvcDogMjRweDsgY29sb3I6ICM3MTgzOWE7IGZvbnQtc2l6ZTogLjg4cmVtOyB9XG4uYXV0aC1saW5rcyBhLCAuYXV0aC1iYWNrLWxpbmsgeyBjb2xvcjogIzFiNjhhNTsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuLmF1dGgtbGlua3MgYTpob3ZlciwgLmF1dGgtYmFjay1saW5rOmhvdmVyIHsgY29sb3I6ICNlODZmMTk7IH1cbi5hdXRoLWJhY2stbGluayB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBnYXA6IDdweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgbWFyZ2luLXRvcDogMjVweDsgZm9udC1zaXplOiAuODhyZW07IH1cbi5hdXRoLWFsZXJ0IHsgbWFyZ2luOiAwIDAgMThweDsgfVxuLmF1dGgtcmVnaXN0ZXItY2FyZCAuZm9ybS1sYWJlbCB7IG1hcmdpbi10b3A6IDA7IGNvbG9yOiAjMjYzZDU5OyBmb250LXNpemU6IC44NnJlbTsgZm9udC13ZWlnaHQ6IDgwMDsgfVxuLmF1dGgtcmVnaXN0ZXItY2FyZCAuZm9ybS1jb250cm9sLCAuYXV0aC1yZWdpc3Rlci1jYXJkIC5mb3JtLXNlbGVjdCB7IGJvcmRlci1jb2xvcjogI2Q1ZTFlZDsgfVxuXG4uaG9tZS1oZXJvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbn1cblxuLmhvbWUtY2Fyb3VzZWwsXG4uaG9tZS1jYXJvdXNlbCAuY2Fyb3VzZWwtaW5uZXIsXG4uaG9tZS1jYXJvdXNlbCAuY2Fyb3VzZWwtaXRlbSB7XG4gICAgaGVpZ2h0OiBtaW4oNjkwcHgsIGNhbGMoMTAwdmggLSA2OHB4KSk7XG4gICAgbWluLWhlaWdodDogNTIwcHg7XG59XG5cbi5ob21lLWNhcm91c2VsIC5jYXJvdXNlbC1pdGVtIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGZpbHRlcjogc2F0dXJhdGUoLjgyKSBjb250cmFzdCgxLjA0KTtcbn1cblxuLmhvbWUtaGVyby1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMywgMTUsIDMxLCAuOTQpIDAlLCByZ2JhKDUsIDI5LCA2MCwgLjc4KSA0MiUsIHJnYmEoNSwgMjksIDYwLCAuMTgpIDEwMCUpLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgzLCAxNSwgMzEsIC40NSksIHRyYW5zcGFyZW50IDQ1JSk7XG59XG5cbi5ob21lLWhlcm8tY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaW5zZXQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmc6IDcwcHggMzBweCA4MHB4O1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4uaG9tZS1raWNrZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICBjb2xvcjogI2ZmOWM0NTtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMThlbTtcbn1cblxuLmhvbWUta2lja2VyLmRhcmsgeyBjb2xvcjogI2U4NmYxOTsgfVxuXG4uaG9tZS1oZXJvIGgxIHtcbiAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IGNsYW1wKDIuOHJlbSwgNnZ3LCA1LjZyZW0pO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IC45ODtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wNDVlbTtcbn1cblxuLmhvbWUtaGVybyBoMSBzdHJvbmcgeyBjb2xvcjogI2ZmOGEzMjsgZm9udC13ZWlnaHQ6IDkwMDsgfVxuXG4uaG9tZS1oZXJvIHAge1xuICAgIG1heC13aWR0aDogNTYwcHg7XG4gICAgbWFyZ2luOiAyOHB4IDAgMDtcbiAgICBjb2xvcjogI2Q4ZTVmNTtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS43O1xufVxuXG4uaG9tZS1oZXJvLWFjdGlvbnMgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDE0cHg7IGZsZXgtd3JhcDogd3JhcDsgbWFyZ2luLXRvcDogMzRweDsgfVxuXG4uaG9tZS1idG4tcHJpbWFyeSxcbi5ob21lLWJ0bi1naG9zdCB7XG4gICAgcGFkZGluZzogMTNweCAyMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZSwgYm94LXNoYWRvdyAuMnMgZWFzZSwgYmFja2dyb3VuZCAuMnMgZWFzZTtcbn1cblxuLmhvbWUtYnRuLXByaW1hcnkgeyBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZDogI2U4NmYxOTsgYm9yZGVyOiAxcHggc29saWQgI2U4NmYxOTsgYm94LXNoYWRvdzogMCAxMnB4IDI4cHggcmdiYSgyMzIsIDExMSwgMjUsIC4yOCk7IH1cbi5ob21lLWJ0bi1wcmltYXJ5OmhvdmVyIHsgY29sb3I6ICNmZmY7IGJhY2tncm91bmQ6ICNmZjg1MmQ7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsgYm94LXNoYWRvdzogMCAxNnB4IDMycHggcmdiYSgyMzIsIDExMSwgMjUsIC4zOCk7IH1cbi5ob21lLWJ0bi1naG9zdCB7IGNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4wOCk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjQ1KTsgfVxuLmhvbWUtYnRuLWdob3N0OmhvdmVyIHsgY29sb3I6ICNmZmY7IGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjE4KTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOyB9XG5cbi5ob21lLWNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uaG9tZS1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udHJvbC1uZXh0IHsgei1pbmRleDogMzsgd2lkdGg6IDglOyB9XG4uaG9tZS1jYXJvdXNlbCAuY2Fyb3VzZWwtaW5kaWNhdG9ycyB7IHotaW5kZXg6IDM7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgbWFyZ2luLWxlZnQ6IG1heCgzMHB4LCBjYWxjKCgxMDAlIC0gMTMyMHB4KSAvIDIgKyAzMHB4KSk7IG1hcmdpbi1ib3R0b206IDI4cHg7IH1cbi5ob21lLWNhcm91c2VsIC5jYXJvdXNlbC1pbmRpY2F0b3JzIGJ1dHRvbiB7IHdpZHRoOiAyOHB4OyBoZWlnaHQ6IDRweDsgYm9yZGVyOiAwOyBib3JkZXItcmFkaXVzOiA0cHg7IH1cblxuLmhvbWUtbWV0cmljcyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogNDsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgZ2FwOiAxOHB4OyBtYXJnaW4tdG9wOiAtNDJweDsgfVxuLmhvbWUtbWV0cmljLWNhcmQgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDE0cHg7IG1pbi1oZWlnaHQ6IDEwNHB4OyBwYWRkaW5nOiAyMHB4OyBiYWNrZ3JvdW5kOiAjZmZmOyBib3JkZXI6IDFweCBzb2xpZCAjZTNlYmY0OyBib3JkZXItcmFkaXVzOiAxMnB4OyBib3gtc2hhZG93OiAwIDE2cHggMzVweCByZ2JhKDE3LCA0OCwgODMsIC4xMik7IH1cbi5ob21lLW1ldHJpYy1pY29uIHsgZGlzcGxheTogZ3JpZDsgcGxhY2UtaXRlbXM6IGNlbnRlcjsgd2lkdGg6IDQ4cHg7IGhlaWdodDogNDhweDsgZmxleDogMCAwIDQ4cHg7IGNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kOiAjMTUzZTcwOyBib3JkZXItcmFkaXVzOiAxMnB4OyBmb250LXNpemU6IDEuMzVyZW07IH1cbi5ob21lLW1ldHJpYy1pY29uLm9yYW5nZSB7IGJhY2tncm91bmQ6ICNlODZmMTk7IH1cbi5ob21lLW1ldHJpYy1pY29uLmN5YW4geyBiYWNrZ3JvdW5kOiAjMTY4ZGE4OyB9XG4uaG9tZS1tZXRyaWMtY2FyZCBzdHJvbmcsIC5ob21lLW1ldHJpYy1jYXJkIHNtYWxsIHsgZGlzcGxheTogYmxvY2s7IH1cbi5ob21lLW1ldHJpYy1jYXJkIHN0cm9uZyB7IGNvbG9yOiAjMTAyNDNlOyBmb250LXNpemU6IDFyZW07IH1cbi5ob21lLW1ldHJpYy1jYXJkIHNtYWxsIHsgbWFyZ2luLXRvcDogNHB4OyBjb2xvcjogIzcxODM5YTsgZm9udC1zaXplOiAuODJyZW07IH1cblxuLmhvbWUtaW50cm8geyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgZ2FwOiAyNHB4OyBwYWRkaW5nOiA5MnB4IDE1cHggMjVweDsgfVxuLmhvbWUtaW50cm8tbWFyayB7IGRpc3BsYXk6IGdyaWQ7IHBsYWNlLWl0ZW1zOiBjZW50ZXI7IHdpZHRoOiA2MHB4OyBoZWlnaHQ6IDYwcHg7IGZsZXg6IDAgMCA2MHB4OyBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZDogIzE1M2U3MDsgYm9yZGVyLXJhZGl1czogMTZweDsgYm94LXNoYWRvdzogMCAxMnB4IDI1cHggcmdiYSgyMSwgNjIsIDExMiwgLjIpOyBmb250LXNpemU6IDEuNXJlbTsgfVxuLmhvbWUtaW50cm8gaDIgeyBtYXJnaW46IDAgMCAxMnB4OyBjb2xvcjogIzEwMjQzZTsgZm9udC1zaXplOiBjbGFtcCgxLjhyZW0sIDN2dywgMi44cmVtKTsgZm9udC13ZWlnaHQ6IDkwMDsgbGV0dGVyLXNwYWNpbmc6IC0uMDRlbTsgfVxuLmhvbWUtaW50cm8gcCB7IG1heC13aWR0aDogNzIwcHg7IG1hcmdpbjogMDsgY29sb3I6ICM2NTc1OGE7IGZvbnQtc2l6ZTogMS4wNHJlbTsgbGluZS1oZWlnaHQ6IDEuNzU7IH1cblxuLmhvbWUtbmV3cyB7IHBhZGRpbmc6IDEwMHB4IDE1cHggOTBweDsgfVxuLmhvbWUtc2VjdGlvbi1oZWFkaW5nIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGVuZDsgZ2FwOiAzMHB4OyBtYXJnaW4tYm90dG9tOiAzNHB4OyB9XG4uaG9tZS1zZWN0aW9uLWhlYWRpbmcgaDIgeyBtYXJnaW46IDA7IGNvbG9yOiAjMTAyNDNlOyBmb250LXNpemU6IGNsYW1wKDJyZW0sIDN2dywgM3JlbSk7IGZvbnQtd2VpZ2h0OiA5MDA7IGxldHRlci1zcGFjaW5nOiAtLjA0ZW07IH1cbi5ob21lLWhlYWRpbmctbGluZSB7IGhlaWdodDogMXB4OyBmbGV4OiAxOyBtYXJnaW4tYm90dG9tOiA5cHg7IGJhY2tncm91bmQ6ICNkN2UyZWY7IH1cbi5ob21lLW5ld3MtY2FyZCB7IGhlaWdodDogMTAwJTsgb3ZlcmZsb3c6IGhpZGRlbjsgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyOiAxcHggc29saWQgI2UzZWJmNDsgYm9yZGVyLXJhZGl1czogMTRweDsgYm94LXNoYWRvdzogMCAxMHB4IDI1cHggcmdiYSgxNiwgMzYsIDYyLCAuMDYpOyB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2UsIGJveC1zaGFkb3cgLjJzIGVhc2U7IH1cbi5ob21lLW5ld3MtY2FyZDpob3ZlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTsgYm94LXNoYWRvdzogMCAxOHB4IDM1cHggcmdiYSgxNiwgMzYsIDYyLCAuMTQpOyB9XG4uaG9tZS1uZXdzLWltYWdlIHsgaGVpZ2h0OiAxOTBweDsgb3ZlcmZsb3c6IGhpZGRlbjsgYmFja2dyb3VuZDogI2U5ZjBmNzsgfVxuLmhvbWUtbmV3cy1pbWFnZSBpbWcgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBvYmplY3QtZml0OiBjb3ZlcjsgfVxuLmhvbWUtbmV3cy1ib2R5IHsgcGFkZGluZzogMjRweDsgfVxuLmhvbWUtbmV3cy10YWcgeyBjb2xvcjogI2U4NmYxOTsgZm9udC1zaXplOiAuNjhyZW07IGZvbnQtd2VpZ2h0OiA5MDA7IGxldHRlci1zcGFjaW5nOiAuMTNlbTsgfVxuLmhvbWUtbmV3cy1ib2R5IGgzIHsgbWFyZ2luOiAxMHB4IDAgMTJweDsgY29sb3I6ICMxMDI0M2U7IGZvbnQtc2l6ZTogMS4yNXJlbTsgZm9udC13ZWlnaHQ6IDgwMDsgfVxuLmhvbWUtbmV3cy1kZXRhaWwgeyBjb2xvcjogIzY1NzU4YTsgZm9udC1zaXplOiAuOTJyZW07IGxpbmUtaGVpZ2h0OiAxLjY1OyB9XG4uaG9tZS1uZXdzLWRldGFpbCBpbWcgeyBtYXgtd2lkdGg6IDEwMCU7IGhlaWdodDogYXV0bzsgYm9yZGVyLXJhZGl1czogOHB4OyB9XG4uaG9tZS1uZXdzLWRldGFpbCB1bCwgLmhvbWUtbmV3cy1kZXRhaWwgb2wgeyBtYXJnaW46IDA7IHBhZGRpbmctbGVmdDogMDsgbGlzdC1zdHlsZTogbm9uZTsgfVxuLmhvbWUtbmV3cy1kZXRhaWwgbGkgeyBtYXJnaW4tYm90dG9tOiA4cHg7IGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICBbZGF0YS1hb3NdIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyogU29icmUgTkJBLUFOQUxZVElDUyBTWVNURU0gKi9cbi5hYm91dC1wYWdlIHsgYmFja2dyb3VuZDogI2Y1ZjhmYzsgfVxuLmFib3V0LWhlcm8geyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAxZnIpOyBtaW4taGVpZ2h0OiA1MjBweDsgYmFja2dyb3VuZDogIzEwMjQzZTsgfVxuLmFib3V0LWhlcm8taW1hZ2UgeyBtaW4taGVpZ2h0OiA1MjBweDsgb3ZlcmZsb3c6IGhpZGRlbjsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzE1M2U3MCwgIzA3MTgyZSk7IH1cbi5hYm91dC1oZXJvLWltYWdlIGltZyB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IG9iamVjdC1maXQ6IGNvdmVyOyBvcGFjaXR5OiAuNzg7IH1cbi5hYm91dC1oZXJvLWNvcHkgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IHBhZGRpbmc6IDcycHggY2xhbXAoMzJweCwgN3Z3LCAxMTBweCk7IGNvbG9yOiAjZmZmOyB9XG4uYWJvdXQtaGVyby1jb3B5IC5ob21lLWtpY2tlciB7IGNvbG9yOiAjZjdhNDVmOyB9XG4uYWJvdXQtaGVyby1jb3B5IGgxIHsgbWFyZ2luOiAxNnB4IDAgMjBweDsgZm9udC1zaXplOiBjbGFtcCgyLjVyZW0sIDV2dywgNC44cmVtKTsgbGluZS1oZWlnaHQ6IC45ODsgbGV0dGVyLXNwYWNpbmc6IC0uMDU1ZW07IGZvbnQtd2VpZ2h0OiA0MDA7IH1cbi5hYm91dC1oZXJvLWNvcHkgaDEgc3Ryb25nIHsgY29sb3I6ICNmNTcyMjA7IGZvbnQtd2VpZ2h0OiA5MDA7IH1cbi5hYm91dC1oZXJvLWNvcHkgcCB7IG1heC13aWR0aDogNTEwcHg7IG1hcmdpbjogMCAwIDMycHg7IGNvbG9yOiAjY2FkN2U2OyBmb250LXNpemU6IDEuMDhyZW07IGxpbmUtaGVpZ2h0OiAxLjc1OyB9XG4uYWJvdXQtY29udGVudCB7IHBhZGRpbmc6IDEwMHB4IDE1cHggMTEwcHg7IH1cbi5hYm91dC1oZWFkaW5nIHsgbWF4LXdpZHRoOiA3NjBweDsgbWFyZ2luLWJvdHRvbTogNDhweDsgfVxuLmFib3V0LWhlYWRpbmcgaDIgeyBtYXJnaW46IDEycHggMCAxNnB4OyBjb2xvcjogIzEwMjQzZTsgZm9udC1zaXplOiBjbGFtcCgycmVtLCA0dncsIDMuMnJlbSk7IGxpbmUtaGVpZ2h0OiAxLjA4OyBsZXR0ZXItc3BhY2luZzogLS4wNDVlbTsgZm9udC13ZWlnaHQ6IDkwMDsgfVxuLmFib3V0LWhlYWRpbmcgcCB7IG1hcmdpbjogMDsgY29sb3I6ICM2NTc1OGE7IGZvbnQtc2l6ZTogMS4wOHJlbTsgbGluZS1oZWlnaHQ6IDEuODsgfVxuLmFib3V0LWZlYXR1cmUtZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IGdhcDogMjJweDsgfVxuLmFib3V0LWZlYXR1cmUtY2FyZCB7IHBhZGRpbmc6IDMwcHg7IGJvcmRlcjogMXB4IHNvbGlkICNlMmVhZjM7IGJvcmRlci10b3A6IDRweCBzb2xpZCAjMTUzZTcwOyBib3JkZXItcmFkaXVzOiAxNHB4OyBiYWNrZ3JvdW5kOiAjZmZmOyBib3gtc2hhZG93OiAwIDEycHggMjhweCByZ2JhKDE2LCAzNiwgNjIsIC4wNik7IH1cbi5hYm91dC1mZWF0dXJlLWNhcmQuYWNjZW50IHsgYm9yZGVyLXRvcC1jb2xvcjogI2Y1NzIyMDsgfVxuLmFib3V0LWZlYXR1cmUtY2FyZC5jeWFuIHsgYm9yZGVyLXRvcC1jb2xvcjogIzIxYThjNzsgfVxuLmFib3V0LWZlYXR1cmUtY2FyZCA+IHNwYW4geyBkaXNwbGF5OiBncmlkOyBwbGFjZS1pdGVtczogY2VudGVyOyB3aWR0aDogNTJweDsgaGVpZ2h0OiA1MnB4OyBtYXJnaW4tYm90dG9tOiAyMnB4OyBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZDogIzE1M2U3MDsgYm9yZGVyLXJhZGl1czogMTRweDsgZm9udC1zaXplOiAxLjNyZW07IH1cbi5hYm91dC1mZWF0dXJlLWNhcmQuYWNjZW50ID4gc3BhbiB7IGJhY2tncm91bmQ6ICNmNTcyMjA7IH1cbi5hYm91dC1mZWF0dXJlLWNhcmQuY3lhbiA+IHNwYW4geyBiYWNrZ3JvdW5kOiAjMjFhOGM3OyB9XG4uYWJvdXQtZmVhdHVyZS1jYXJkIGgzIHsgbWFyZ2luOiAwIDAgMTBweDsgY29sb3I6ICMxMDI0M2U7IGZvbnQtc2l6ZTogMS4ycmVtOyBmb250LXdlaWdodDogODUwOyB9XG4uYWJvdXQtZmVhdHVyZS1jYXJkIHAgeyBtYXJnaW46IDA7IGNvbG9yOiAjNjU3NThhOyBsaW5lLWhlaWdodDogMS43OyB9XG4uYWJvdXQtYmFubmVyIHsgcGFkZGluZzogNzBweCAxNXB4OyBiYWNrZ3JvdW5kOiAjMTUzZTcwOyB9XG4uYWJvdXQtYmFubmVyLWlubmVyIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBnYXA6IDI4cHg7IH1cbi5hYm91dC1iYW5uZXIgaDIgeyBtYXJnaW46IDEycHggMCAwOyBjb2xvcjogI2ZmZjsgZm9udC1zaXplOiBjbGFtcCgxLjhyZW0sIDN2dywgMi43cmVtKTsgbGV0dGVyLXNwYWNpbmc6IC0uMDM1ZW07IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmFib3V0LWhlcm8geyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxuICAgIC5hYm91dC1oZXJvLWltYWdlIHsgbWluLWhlaWdodDogMzAwcHg7IG1heC1oZWlnaHQ6IDM2MHB4OyB9XG4gICAgLmFib3V0LWhlcm8tY29weSB7IHBhZGRpbmc6IDU4cHggMjVweCA2OHB4OyB9XG4gICAgLmFib3V0LWZlYXR1cmUtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG4gICAgLmFib3V0LWNvbnRlbnQgeyBwYWRkaW5nOiA3MHB4IDI1cHggODBweDsgfVxuICAgIC5hYm91dC1iYW5uZXItaW5uZXIgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxufVxuLmhvbWUtZW1wdHktbmV3cyB7IHBhZGRpbmc6IDMwcHg7IGNvbG9yOiAjNzE4MzlhOyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlcjogMXB4IGRhc2hlZCAjY2JkOGU2OyBib3JkZXItcmFkaXVzOiAxMnB4OyB9XG5cbi5ob21lLWN0YSB7IHBhZGRpbmc6IDcwcHggMTVweDsgY29sb3I6ICNmZmY7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMTVkZWcsICMwNjFhMzUsICMwZTNhNzApOyB9XG4uaG9tZS1jdGEtaW5uZXIgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGdhcDogMzBweDsgfVxuLmhvbWUtY3RhIGgyIHsgbWF4LXdpZHRoOiA2NDBweDsgbWFyZ2luOiAwOyBmb250LXNpemU6IGNsYW1wKDEuOHJlbSwgM3Z3LCAzcmVtKTsgZm9udC13ZWlnaHQ6IDgwMDsgfVxuXG4ubmJhLWZvb3RlciB7IHBhZGRpbmc6IDY2cHggMTVweCAyNHB4OyBjb2xvcjogI2M3ZDdlYTsgYmFja2dyb3VuZDogIzA2MWEzNTsgfVxuLm5iYS1mb290ZXItbWFpbiB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS41ZnIgMWZyIDEuMjVmciAxLjI1ZnI7IGdhcDogNDVweDsgcGFkZGluZy1ib3R0b206IDUycHg7IH1cbi5uYmEtZm9vdGVyLWxvZ28geyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4OyBjb2xvcjogI2ZmZjsgZm9udC1zaXplOiAxLjI1cmVtOyBmb250LXdlaWdodDogOTAwOyBsZXR0ZXItc3BhY2luZzogLjA1ZW07IH1cbi5uYmEtZm9vdGVyLWxvZ286aG92ZXIgeyBjb2xvcjogI2ZmZjsgfVxuLm5iYS1mb290ZXItbG9nbyA+IHNwYW46bGFzdC1jaGlsZCA+IHNwYW4geyBjb2xvcjogI2ZmOGEzMjsgfVxuLm5iYS1mb290ZXItbG9nby1tYXJrIHsgZGlzcGxheTogZ3JpZDsgcGxhY2UtaXRlbXM6IGNlbnRlcjsgd2lkdGg6IDM4cHg7IGhlaWdodDogMzhweDsgY29sb3I6ICNmZmY7IGJhY2tncm91bmQ6ICNlODZmMTk7IGJvcmRlci1yYWRpdXM6IDEwcHg7IGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuLm5iYS1mb290ZXItbG9nby1tYXJrIHN2ZyB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMjVweDsgaGVpZ2h0OiAyNXB4OyB9XG4ubmJhLWZvb3Rlci1icmFuZCBwIHsgbWF4LXdpZHRoOiAyNzBweDsgbWFyZ2luOiAyMHB4IDA7IGNvbG9yOiAjOTFhOWM0OyBsaW5lLWhlaWdodDogMS43OyB9XG4ubmJhLWZvb3Rlci1zb2NpYWxzIHsgZGlzcGxheTogZmxleDsgZ2FwOiA5cHg7IH1cbi5uYmEtZm9vdGVyLXNvY2lhbHMgYSB7IGRpc3BsYXk6IGdyaWQ7IHBsYWNlLWl0ZW1zOiBjZW50ZXI7IHdpZHRoOiAzNHB4OyBoZWlnaHQ6IDM0cHg7IGNvbG9yOiAjYzdkN2VhOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE5OSwgMjE1LCAyMzQsIC4yNSk7IGJvcmRlci1yYWRpdXM6IDUwJTsgdHJhbnNpdGlvbjogLjJzIGVhc2U7IH1cbi5uYmEtZm9vdGVyLXNvY2lhbHMgYTpob3ZlciB7IGNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kOiAjZTg2ZjE5OyBib3JkZXItY29sb3I6ICNlODZmMTk7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsgfVxuLm5iYS1mb290ZXItY29sdW1uIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxMXB4OyB9XG4ubmJhLWZvb3Rlci1jb2x1bW4gaDMgeyBtYXJnaW46IDNweCAwIDEzcHg7IGNvbG9yOiAjZmZmOyBmb250LXNpemU6IC45cmVtOyBmb250LXdlaWdodDogODAwOyBsZXR0ZXItc3BhY2luZzogLjA4ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbi5uYmEtZm9vdGVyLWNvbHVtbiBhLCAubmJhLWZvb3Rlci1jb2x1bW4gc3BhbiB7IGNvbG9yOiAjOTFhOWM0OyBmb250LXNpemU6IC45cmVtOyBsaW5lLWhlaWdodDogMS40NTsgfVxuLm5iYS1mb290ZXItY29sdW1uIGE6aG92ZXIgeyBjb2xvcjogI2ZmOWM0NTsgfVxuLm5iYS1mb290ZXItY29udGFjdCBhLCAubmJhLWZvb3Rlci1jb250YWN0IHNwYW4geyBkaXNwbGF5OiBmbGV4OyBnYXA6IDlweDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbi5uYmEtZm9vdGVyLWNvbnRhY3QgaSB7IGNvbG9yOiAjZmY4YTMyOyB9XG4ubmJhLWZvb3Rlci1ib3R0b20geyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGdhcDogMjBweDsgcGFkZGluZy10b3A6IDIycHg7IGNvbG9yOiAjNzE4YmE4OyBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxOTksIDIxNSwgMjM0LCAuMTQpOyBmb250LXNpemU6IC43OHJlbTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuaG9tZS1jYXJvdXNlbCwgLmhvbWUtY2Fyb3VzZWwgLmNhcm91c2VsLWlubmVyLCAuaG9tZS1jYXJvdXNlbCAuY2Fyb3VzZWwtaXRlbSB7IGhlaWdodDogNjEwcHg7IG1pbi1oZWlnaHQ6IDYxMHB4OyB9XG4gICAgLmhvbWUtaGVyby1jb250ZW50IHsgcGFkZGluZzogNDBweCAyNHB4IDc1cHg7IH1cbiAgICAuaG9tZS1oZXJvIGgxIHsgZm9udC1zaXplOiAzLjFyZW07IH1cbiAgICAuaG9tZS1oZXJvIHAgeyBmb250LXNpemU6IC45OHJlbTsgfVxuICAgIC5ob21lLW1ldHJpY3MgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgbWFyZ2luOiAtMjRweCAyMHB4IDA7IH1cbiAgICAuaG9tZS1uZXdzIHsgcGFkZGluZy10b3A6IDcwcHg7IH1cbiAgICAuaG9tZS1pbnRybyB7IHBhZGRpbmc6IDcwcHggMjVweCAxMHB4OyB9XG4gICAgLmhvbWUtc2VjdGlvbi1oZWFkaW5nIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuaG9tZS1oZWFkaW5nLWxpbmUgeyBkaXNwbGF5OiBibG9jazsgbWFyZ2luLXRvcDogMTZweDsgfVxuICAgIC5ob21lLWN0YS1pbm5lciB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm5iYS1mb290ZXItbWFpbiB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyBnYXA6IDMwcHg7IH1cbiAgICAubmJhLWZvb3Rlci1ib3R0b20geyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDhweDsgfVxuICAgIC5hdXRoLXBhZ2UgeyBwYWRkaW5nOiA0NXB4IDE1cHggNzBweDsgfVxuICAgIC5hdXRoLWxheW91dCB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmF1dGgtc2hvd2Nhc2UgeyBtaW4taGVpZ2h0OiAyNzBweDsgcGFkZGluZzogMzVweCAyOHB4OyB9XG4gICAgLmF1dGgtc2hvd2Nhc2UgcCB7IG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAuYXV0aC1zaG93Y2FzZS1iYWxsIHsgcmlnaHQ6IDE1cHg7IGJvdHRvbTogLTI0cHg7IGZvbnQtc2l6ZTogN3JlbTsgfVxuICAgIC5hdXRoLWNhcmQgeyBwYWRkaW5nOiAzNHB4IDI1cHg7IH1cbiAgICAuYXV0aC1yZWdpc3Rlci1wYWdlIHsgbWluLWhlaWdodDogYXV0bzsgfVxufVxuXG5hIHtcbiAgICBjb2xvcjogIzQxNTRmMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmE6aG92ZXIge1xuICAgIGNvbG9yOiAjNzE3ZmY1O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgICBmb250LWZhbWlseTogXCJOdW5pdG9cIiwgc2Fucy1zZXJpZjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBNYWluXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4jbWFpbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIHBhZGRpbmc6IDIwcHggMzBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICNtYWluIHtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICB9XG59XG5cbi8qIE92ZXJyaWRlIGZpbmFsIGRlbCBuYXZiYXI6IGRlYmUgcXVlZGFyIHBvciBlbmNpbWEgZGUgbGFzIHJlZ2xhcyBsZWdhY3kuICovXG4jaGVhZGVyLmhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDExNWRlZywgIzAzMTIyNSAwJSwgIzA4MjY0YiA1OCUsICMwYzM1NjQgMTAwJSkgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xMikgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMywgMTgsIDM3LCAuMjgpICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLmxvZ28gc3BhbixcbiNoZWFkZXIgLmhlYWRlci1uYXYgLm5hdi1wcm9maWxlLFxuI2hlYWRlciAuaGVhZGVyLW5hdiAubmF2LXByb2ZpbGUgc3BhbiB7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuI2hlYWRlciAubG9nbyBzcGFuIHNtYWxsIHtcbiAgICBjb2xvcjogIzliYjlkOSAhaW1wb3J0YW50O1xufVxuXG4jaGVhZGVyIC50b2dnbGUtc2lkZWJhci1idG4ge1xuICAgIGNvbG9yOiAjZDllYWZmICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLnNlYXJjaC1iYXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLnNlYXJjaC1mb3JtIGlucHV0IHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjI4KSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuI2hlYWRlciAuc2VhcmNoLWZvcm0gaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2I5Y2RlNCAhaW1wb3J0YW50O1xufVxuXG4jaGVhZGVyIC5zZWFyY2gtZm9ybSBidXR0b24gaSB7XG4gICAgY29sb3I6ICM4ZGQ1ZmYgIWltcG9ydGFudDtcbn1cblxuLyogQ29udHJhc3RlIGZpbmFsIGRlIGxvcyBzdWJtZW7DunM6IGV2aXRhIHRleHRvIGNsYXJvIHNvYnJlIGZvbmRvIGNlbGVzdGUuICovXG4uc2lkZWJhci1uYXYgLm5hdi1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4uc2lkZWJhci1uYXYgLm5hdi1jb250ZW50IGEsXG4uc2lkZWJhci1uYXYgLm5hdi1jb250ZW50IGEuYWN0aXZlIHtcbiAgICBjb2xvcjogI2U0ZjBmZiAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMywgMTgsIDM3LCAuNDIpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtY29udGVudCBhIGkge1xuICAgIGNvbG9yOiAjZmY5YTNkICFpbXBvcnRhbnQ7XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYTpob3Zlcixcbi5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYS5hY3RpdmU6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogcmdiYSgzMSwgMTExLCAyMzUsIC43OCkgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTQxLCAxOTAsIDI1NSwgLjM1KSAhaW1wb3J0YW50O1xufVxuXG4vKiBNZW7DuiBkZSB1c3VhcmlvIGFsaW5lYWRvIGNvbiBsYSBpZGVudGlkYWQgZGVsIG5hdmJhci4gKi9cbiNoZWFkZXIgLmhlYWRlci1uYXYgLnByb2ZpbGUge1xuICAgIG1pbi13aWR0aDogMjgwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjZThmNTtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMThweCA0NXB4IHJnYmEoMywgMTgsIDM3LCAuMjIpO1xufVxuXG4jaGVhZGVyIC5oZWFkZXItbmF2IC5wcm9maWxlIC5kcm9wZG93bi1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDIwcHggMThweCAxNnB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwNzFhMzMsICMxMjNmN2EpO1xufVxuXG4jaGVhZGVyIC5oZWFkZXItbmF2IC5wcm9maWxlIC5kcm9wZG93bi1oZWFkZXIgaDYsXG4jaGVhZGVyIC5oZWFkZXItbmF2IC5wcm9maWxlIC5kcm9wZG93bi1oZWFkZXIgc3BhbiB7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuI2hlYWRlciAuaGVhZGVyLW5hdiAucHJvZmlsZSAuZHJvcGRvd24taGVhZGVyIGg2IHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cblxuI2hlYWRlciAuaGVhZGVyLW5hdiAucHJvZmlsZSAuZHJvcGRvd24taGVhZGVyIHNwYW4ge1xuICAgIGNvbG9yOiAjYjlkM2VlICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4jaGVhZGVyIC5oZWFkZXItbmF2IC5wcm9maWxlIC5kcm9wZG93bi1pdGVtIHtcbiAgICBtYXJnaW46IDNweCA4cHg7XG4gICAgcGFkZGluZzogMTFweCAxMnB4O1xuICAgIGNvbG9yOiAjMjYzYjU1O1xuICAgIGJvcmRlci1yYWRpdXM6IDlweDtcbn1cblxuI2hlYWRlciAuaGVhZGVyLW5hdiAucHJvZmlsZSAuZHJvcGRvd24taXRlbSBpIHtcbiAgICBjb2xvcjogIzFmNmZlYjtcbn1cblxuI2hlYWRlciAuaGVhZGVyLW5hdiAucHJvZmlsZSAuZHJvcGRvd24taXRlbTpob3ZlciB7XG4gICAgY29sb3I6ICMwNzFhMzM7XG4gICAgYmFja2dyb3VuZDogI2VkZjVmZDtcbn1cblxuI2hlYWRlciAuaGVhZGVyLW5hdiAucHJvZmlsZSAuZHJvcGRvd24taXRlbTpob3ZlciBpIHtcbiAgICBjb2xvcjogI2Y5NzMxNjtcbn1cblxuLyogU2lkZWJhciBjb21wYWN0byBlbiBlc2NyaXRvcmlvOiBjb25zZXJ2YSBsb3MgaWNvbm9zIGFsIGNlcnJhcnNlLiAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIGJvZHkudG9nZ2xlLXNpZGViYXIgLnNpZGViYXIge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogNzhweDtcbiAgICAgICAgcGFkZGluZzogMjBweCAxMHB4O1xuICAgIH1cblxuICAgIGJvZHkudG9nZ2xlLXNpZGViYXIgI21haW4sXG4gICAgYm9keS50b2dnbGUtc2lkZWJhciAjZm9vdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDc4cHg7XG4gICAgfVxuXG4gICAgYm9keS50b2dnbGUtc2lkZWJhciAuc2lkZWJhci1icmFuZCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgYm9keS50b2dnbGUtc2lkZWJhciAuc2lkZWJhci1icmFuZCA+IGRpdjpsYXN0LWNoaWxkLFxuICAgIGJvZHkudG9nZ2xlLXNpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtbGluayBzcGFuLFxuICAgIGJvZHkudG9nZ2xlLXNpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtbGluayAuYmktY2hldnJvbi1kb3duLFxuICAgIGJvZHkudG9nZ2xlLXNpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgYm9keS50b2dnbGUtc2lkZWJhciAuc2lkZWJhci1uYXYgLm5hdi1saW5rIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDEycHggOHB4O1xuICAgIH1cblxuICAgIGJvZHkudG9nZ2xlLXNpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtbGluayBpIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgIH1cblxuICAgIGJvZHkudG9nZ2xlLXNpZGViYXIgLnNpZGViYXItbmF2IC5uYXYtbGluazpob3ZlcixcbiAgICBib2R5LnRvZ2dsZS1zaWRlYmFyIC5zaWRlYmFyLW5hdiAubmF2LWxpbms6bm90KC5jb2xsYXBzZWQpIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgM3B4IDAgMCB2YXIoLS1uYmEtb3JhbmdlKTtcbiAgICB9XG59XG5cbi8qIFBhbGV0YSBmaW5hbDogbmF2YmFyIG3DoXMgZnVlcnRlIHF1ZSBlbCBzaWRlYmFyLiAqL1xuI2hlYWRlci5oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMTVkZWcsICMwMzEyMjUgMCUsICMwODI2NGIgNTglLCAjMGMzNTY0IDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTIpO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgzLCAxOCwgMzcsIC4yOCk7XG59XG5cbiNoZWFkZXIgLmxvZ28gc3BhbixcbiNoZWFkZXIgLmhlYWRlci1uYXYgLm5hdi1wcm9maWxlLFxuI2hlYWRlciAuaGVhZGVyLW5hdiAubmF2LXByb2ZpbGUgc3BhbiB7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbiNoZWFkZXIgLmxvZ28gc3BhbiBzbWFsbCB7XG4gICAgY29sb3I6ICM5YmI5ZDk7XG59XG5cbiNoZWFkZXIgLmxvZ28gaW1nIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjQ5LCAxMTUsIDIyLCAuOCk7XG59XG5cbiNoZWFkZXIgLnRvZ2dsZS1zaWRlYmFyLWJ0bixcbiNoZWFkZXIgLmhlYWRlciAudG9nZ2xlLXNpZGViYXItYnRuIHtcbiAgICBjb2xvcjogI2Q5ZWFmZjtcbn1cblxuI2hlYWRlciAudG9nZ2xlLXNpZGViYXItYnRuOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmOWEzZDtcbn1cblxuI2hlYWRlciAuc2VhcmNoLWJhciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuI2hlYWRlciAuc2VhcmNoLWZvcm0gaW5wdXQge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMjgpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4jaGVhZGVyIC5zZWFyY2gtZm9ybSBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjYjljZGU0O1xufVxuXG4jaGVhZGVyIC5zZWFyY2gtZm9ybSBpbnB1dDpmb2N1cyxcbiNoZWFkZXIgLnNlYXJjaC1mb3JtIGlucHV0OmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2MmI4ZWQ7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTYpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDU2LCAxODksIDI0OCwgLjE0KTtcbn1cblxuI2hlYWRlciAuc2VhcmNoLWZvcm0gYnV0dG9uIGkge1xuICAgIGNvbG9yOiAjOGRkNWZmO1xufVxuXG4jaGVhZGVyIC5uYXYtcHJvZmlsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMSk7XG59XG5cbi5zaWRlYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMTIzZjdhIDAlLCAjMTU1MThmIDU4JSwgIzE3NjM5ZiAxMDAlKSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDEycHggMCAzMHB4IHJnYmEoNywgMjYsIDUxLCAuMTYpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIFBhZ2UgVGl0bGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5wYWdldGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5wYWdldGl0bGUgaDEge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwMTI5NzA7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgQmFjayB0byB0b3AgYnV0dG9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uYmFjay10by10b3Age1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICByaWdodDogMTVweDtcbiAgICBib3R0b206IDE1cHg7XG4gICAgei1pbmRleDogOTk5OTk7XG4gICAgYmFja2dyb3VuZDogIzQxNTRmMTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjRzO1xufVxuXG4uYmFjay10by10b3AgaSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4uYmFjay10by10b3A6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICM2Nzc2ZjQ7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi5iYWNrLXRvLXRvcC5hY3RpdmUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBPdmVycmlkZSBzb21lIGRlZmF1bHQgQm9vdHN0cmFwIHN0eWxpbmdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEcm9wZG93biBtZW51cyAqL1xuLmRyb3Bkb3duLW1lbnUge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGRyb3Bkb3duLWFuaW1hdGU7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDMwcHggMCByZ2JhKDgyLCA2MywgMTA1LCAwLjIpO1xufVxuXG4uZHJvcGRvd24tbWVudSAuZHJvcGRvd24taGVhZGVyLFxuLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWZvb3RlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBwYWRkaW5nOiAxMHB4IDI1cHg7XG59XG5cbi5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1mb290ZXIgYSB7XG4gICAgY29sb3I6ICM0NDQ0NDQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1mb290ZXIgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uZHJvcGRvd24tbWVudSAuZHJvcGRvd24tZGl2aWRlciB7XG4gICAgY29sb3I6ICNhNWM1ZmU7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uZHJvcGRvd24tbWVudSAuZHJvcGRvd24taXRlbSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xufVxuXG4uZHJvcGRvd24tbWVudSAuZHJvcGRvd24taXRlbSBpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4uZHJvcGRvd24tbWVudSAuZHJvcGRvd24taXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjlmZjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmRyb3Bkb3duLW1lbnUtYXJyb3c6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtN3B4O1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2VhZWRmMTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZWFlZGYxO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBkcm9wZG93bi1hbmltYXRlIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn1cblxuLyogTGlnaHQgQmFja2dyb3VuZHMgKi9cbi5iZy1wcmltYXJ5LWxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2ZlMmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2NmZTJmZjtcbn1cblxuLmJnLXNlY29uZGFyeS1saWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UyZTNlNTtcbiAgICBib3JkZXItY29sb3I6ICNlMmUzZTU7XG59XG5cbi5iZy1zdWNjZXNzLWxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDFlN2RkO1xuICAgIGJvcmRlci1jb2xvcjogI2QxZTdkZDtcbn1cblxuLmJnLWRhbmdlci1saWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZDdkYTtcbiAgICBib3JkZXItY29sb3I6ICNmOGQ3ZGE7XG59XG5cbi5iZy13YXJuaW5nLWxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmM2NkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZjNjZDtcbn1cblxuLmJnLWluZm8tbGlnaHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZmY0ZmM7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2ZmNGZjO1xufVxuXG4uYmctZGFyay1saWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDNkNDtcbiAgICBib3JkZXItY29sb3I6ICNkM2QzZDQ7XG59XG5cbi8qIENhcmQgKi9cbi5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDAgMzBweCByZ2JhKDEsIDQxLCAxMTIsIDAuMSk7XG59XG5cbi5jYXJkLWhlYWRlcixcbi5jYXJkLWZvb3RlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWJlZWY0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICM3OThlYjM7XG4gICAgcGFkZGluZzogMTVweDtcbn1cblxuLmNhcmQtdGl0bGUge1xuICAgIHBhZGRpbmc6IDIwcHggMCAxNXB4IDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICMwMTI5NzA7XG4gICAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBzYW5zLXNlcmlmO1xufVxuXG4uY2FyZC10aXRsZSBzcGFuIHtcbiAgICBjb2xvcjogIzg5OWJiZDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmNhcmQtYm9keSB7XG4gICAgcGFkZGluZzogMCAyMHB4IDIwcHggMjBweDtcbn1cblxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbn1cblxuLyogQWxlcnRzICovXG4uYWxlcnQtaGVhZGluZyB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyMHB4O1xufVxuXG4vKiBDbG9zZSBCdXR0b24gKi9cbi5idG4tY2xvc2Uge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjUlO1xufVxuXG4uYnRuLWNsb3NlOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIEFjY29yZGlvbiAqL1xuLmFjY29yZGlvbi1pdGVtIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWJlZWY0O1xufVxuXG4uYWNjb3JkaW9uLWJ1dHRvbjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uYWNjb3JkaW9uLWJ1dHRvbjpub3QoLmNvbGxhcHNlZCkge1xuICAgIGNvbG9yOiAjMDEyOTcwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY5ZmY7XG59XG5cbi5hY2NvcmRpb24tZmx1c2ggLmFjY29yZGlvbi1idXR0b24ge1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogMDtcbn1cblxuLmFjY29yZGlvbi1mbHVzaCAuYWNjb3JkaW9uLWJ1dHRvbjpub3QoLmNvbGxhcHNlZCkge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6ICM0MTU0ZjE7XG59XG5cbi5hY2NvcmRpb24tZmx1c2ggLmFjY29yZGlvbi1ib2R5IHtcbiAgICBwYWRkaW5nOiAwIDAgMTVweCAwO1xuICAgIGNvbG9yOiAjM2U0ZjZmO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbn1cblxuLyogQnJlYWRjcnVtYnMgKi9cbi5icmVhZGNydW1iIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiTnVuaXRvXCIsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICM4OTliYmQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmJyZWFkY3J1bWIgYSB7XG4gICAgY29sb3I6ICM4OTliYmQ7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbn1cblxuLmJyZWFkY3J1bWIgYTpob3ZlciB7XG4gICAgY29sb3I6ICM1MTY3OGY7XG59XG5cbi5icmVhZGNydW1iIC5icmVhZGNydW1iLWl0ZW06OmJlZm9yZSB7XG4gICAgY29sb3I6ICM4OTliYmQ7XG59XG5cbi5icmVhZGNydW1iIC5hY3RpdmUge1xuICAgIGNvbG9yOiAjNTE2NzhmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi8qIEJvcmRlcmVkIFRhYnMgKi9cbi5uYXYtdGFicy1ib3JkZXJlZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlYmVlZjQ7XG59XG5cbi5uYXYtdGFicy1ib3JkZXJlZCAubmF2LWxpbmsge1xuICAgIG1hcmdpbi1ib3R0b206IC0ycHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAjMmMzODRlO1xufVxuXG4ubmF2LXRhYnMtYm9yZGVyZWQgLm5hdi1saW5rOmhvdmVyLFxuLm5hdi10YWJzLWJvcmRlcmVkIC5uYXYtbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICM0MTU0ZjE7XG59XG5cbi5uYXYtdGFicy1ib3JkZXJlZCAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjNDE1NGYxO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNDE1NGYxO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEhlYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmxvZ28ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmxvZ28ge1xuICAgICAgICB3aWR0aDogMjgwcHg7XG4gICAgfVxufVxuXG4ubG9nbyBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG59XG5cbi5sb2dvIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMDAwMDAwOyAvKiBOZWdybyBwYXJhIGVsIGxvZ28gKi9cbiAgICBmb250LWZhbWlseTogXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xufVxuXG4vKiBDYWJlY2VyYSAqL1xuLmhlYWRlciB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gICAgei1pbmRleDogOTk3O1xuICAgIGhlaWdodDogNjBweDtcbiAgICBib3gtc2hhZG93OiAwcHggNHB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NGI1ZjY7IC8qIEF6dWwgY2llbG8gKG3DoXMgZnJlc2NvKSBwYXJhIGxhIGNhYmVjZXJhICovXG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuXG4uaGVhZGVyIC50b2dnbGUtc2lkZWJhci1idG4ge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjMDAwMDAwOyAvKiBOZWdybyBwYXJhIGVsIGljb25vICovXG59XG5cbi5oZWFkZXIgLnNlYXJjaC1iYXIge1xuICAgIG1pbi13aWR0aDogMzYwcHg7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIGJhY2tncm91bmQ6ICM2NGI1ZjY7IC8qIEF6dWwgY2llbG8gcGFyYSBsYSBiYXJyYSBkZSBiw7pzcXVlZGEgKi9cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5oZWFkZXIgLnNlYXJjaC1iYXIge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogNTBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNjRiNWY2OyAvKiBBenVsIGNpZWxvICovXG4gICAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5zZWFyY2gtYmFyLXNob3cge1xuICAgICAgICB0b3A6IDYwcHg7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4uaGVhZGVyIC5zZWFyY2gtZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5oZWFkZXIgLnNlYXJjaC1mb3JtIGlucHV0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMyk7IC8qIEJvcmRlIG5lZ3JvIHN1YXZlICovXG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjMDAwMDAwOyAvKiBOZWdybyBwYXJhIGVsIHRleHRvICovXG4gICAgcGFkZGluZzogN3B4IDM4cHggN3B4IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmhlYWRlciAuc2VhcmNoLWZvcm0gaW5wdXQ6Zm9jdXMsXG4uaGVhZGVyIC5zZWFyY2gtZm9ybSBpbnB1dDpob3ZlciB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTsgLyogU29tYnJhIHN1YXZlIG5lZ3JhICovXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgLyogQm9yZGUgbmVncm8gYnJpbGxhbnRlIGFsIGVuZm9jYXJzZSAqL1xufVxuXG4uaGVhZGVyIC5zZWFyY2gtZm9ybSBidXR0b24ge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4uaGVhZGVyIC5zZWFyY2gtZm9ybSBidXR0b24gaSB7XG4gICAgY29sb3I6ICMwMDAwMDA7IC8qIE5lZ3JvIHBhcmEgZWwgaWNvbm8gKi9cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBTaWRlYmFyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uc2lkZWJhciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogNjBweDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgei1pbmRleDogOTk2O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiAjNjRiNWY2IHRyYW5zcGFyZW50OyAvKiBBenVsIGNpZWxvIHBhcmEgZWwgc2Nyb2xsYmFyICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzgwYzdmNzsgLyogQXp1bCBtw6FzIGNsYXJvIHBhcmEgbGEgYmFycmEgbGF0ZXJhbCAqL1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnNpZGViYXIge1xuICAgICAgICBsZWZ0OiAtMzAwcHg7IC8qIE9jdWx0YSBsYSBiYXJyYSBsYXRlcmFsIGVuIHBhbnRhbGxhcyBwZXF1ZcOxYXMgKi9cbiAgICB9XG59XG5cbi5zaWRlYmFyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDVweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODBjN2Y3OyAvKiBGb25kbyBhenVsIG3DoXMgY2xhcm8gcGFyYSBlbCBzY3JvbGxiYXIgKi9cbn1cblxuLnNpZGViYXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjRiNWY2OyAvKiBBenVsIGNpZWxvIHBhcmEgZWwgcHVsZ2FyIGRlbCBzY3JvbGxiYXIgKi9cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICNtYWluLFxuICAgICNmb290ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzAwcHg7IC8qIEFqdXN0YSBlbCBtYXJnZW4gZGVsIGNvbnRlbmlkbyBwcmluY2lwYWwgcGFyYSBoYWNlciBlc3BhY2lvIHBhcmEgbGEgYmFycmEgbGF0ZXJhbCAqL1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC50b2dnbGUtc2lkZWJhciAuc2lkZWJhciB7XG4gICAgICAgIGxlZnQ6IDA7IC8qIE11ZXN0cmEgbGEgYmFycmEgbGF0ZXJhbCBlbiBwYW50YWxsYXMgcGVxdWXDsWFzIGN1YW5kbyBzZSBhY3RpdmEgZWwgdG9nZ2xlICovXG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLnRvZ2dsZS1zaWRlYmFyICNtYWluLFxuICAgIC50b2dnbGUtc2lkZWJhciAjZm9vdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IC8qIFJlc3RhYmxlY2UgZWwgbWFyZ2VuIGN1YW5kbyBzZSBvY3VsdGEgbGEgYmFycmEgbGF0ZXJhbCAqL1xuICAgIH1cblxuICAgIC50b2dnbGUtc2lkZWJhciAuc2lkZWJhciB7XG4gICAgICAgIGxlZnQ6IC0zMDBweDsgLyogT2N1bHRhIGxhIGJhcnJhIGxhdGVyYWwgY3VhbmRvIHNlIGFjdGl2YSBlbCB0b2dnbGUgZW4gcGFudGFsbGFzIGdyYW5kZXMgKi9cbiAgICB9XG59XG5cbi8qIE5hdmVnYWNpw7NuIGJhcnJhIGxhdGVyYWwgKi9cbi5zaWRlYmFyLW5hdiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnNpZGViYXItbmF2IGxpIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uc2lkZWJhci1uYXYgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7IC8qIEVzcGFjaW8gZW50cmUgbG9zIMOtdGVtcyBkZSBuYXZlZ2FjacOzbiAqL1xufVxuXG4uc2lkZWJhci1uYXYgLm5hdi1oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzAwMDAwMDsgLyogTmVncm8gcGFyYSBsb3MgZW5jYWJlemFkb3MgKi9cbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWxpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMnB4IDIwcHg7XG4gICAgY29sb3I6ICMwMDAwMDA7IC8qIE5lZ3JvIHBhcmEgZWwgdGV4dG8gZGUgZW5sYWNlcyAqL1xuICAgIGJhY2tncm91bmQ6ICM4MGM3Zjc7IC8qIEF6dWwgbcOhcyBjbGFybyBwYXJhIGxvcyBlbmxhY2VzICovXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWxpbmsgaSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBjb2xvcjogIzAwMDAwMDsgLyogTmVncm8gcGFyYSBsb3Mgw61jb25vcyAqL1xufVxuXG4uc2lkZWJhci1uYXYgLm5hdi1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwMDAwMDsgLyogTmVncm8gcGFyYSBlbCB0ZXh0byBhbCBwYXNhciBlbCBtb3VzZSAqL1xuICAgIGJhY2tncm91bmQ6ICM2NGI1ZjY7IC8qIEF6dWwgY2llbG8gcGFyYSBlbCBmb25kbyBhbCBwYXNhciBlbCBtb3VzZSAqL1xufVxuXG4uc2lkZWJhci1uYXYgLm5hdi1jb250ZW50IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICBjb2xvcjogIzAwMDAwMDsgLyogTmVncm8gcGFyYSBsb3MgZW5sYWNlcyBlbiBjb250ZW5pZG8gZGUgbmF2ZWdhY2nDs24gKi9cbiAgICBiYWNrZ3JvdW5kOiAjODBjN2Y3OyAvKiBBenVsIG3DoXMgY2xhcm8gKi9cbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYSBpIHtcbiAgICBmb250LXNpemU6IDZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYTpob3Zlcixcbi5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYS5hY3RpdmUge1xuICAgIGNvbG9yOiAjMDAwMDAwOyAvKiBOZWdybyBwYXJhIHRleHRvIGRlIGVubGFjZXMgYWN0aXZvcyB5IGFsIHBhc2FyIGVsIG1vdXNlICovXG4gICAgYmFja2dyb3VuZDogIzY0YjVmNjsgLyogQXp1bCBjaWVsbyBwYXJhIGZvbmRvIGRlIGVubGFjZXMgYWN0aXZvcyB5IGFsIHBhc2FyIGVsIG1vdXNlICovXG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYS5hY3RpdmUgaSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY0YjVmNjsgLyogRm9uZG8gYXp1bCBjaWVsbyBwYXJhIMOtY29ub3MgYWN0aXZvcyAqL1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgSGVhZGVyIE5hdlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmhlYWRlci1uYXYgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5oZWFkZXItbmF2PnVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmhlYWRlci1uYXYgLm5hdi1pY29uIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhlYWRlci1uYXYgLm5hdi1wcm9maWxlIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLmhlYWRlci1uYXYgLm5hdi1wcm9maWxlIGltZyB7XG4gICAgbWF4LWhlaWdodDogMzZweDtcbn1cblxuLmhlYWRlci1uYXYgLm5hdi1wcm9maWxlIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uaGVhZGVyLW5hdiAuYmFkZ2UtbnVtYmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IC0ycHggLTVweCBhdXRvIGF1dG87XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcGFkZGluZzogM3B4IDZweDtcbn1cblxuLmhlYWRlci1uYXYgLm5vdGlmaWNhdGlvbnMge1xuICAgIGluc2V0OiA4cHggLTE1cHggYXV0byBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5oZWFkZXItbmF2IC5ub3RpZmljYXRpb25zIC5ub3RpZmljYXRpb24taXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xufVxuXG4uaGVhZGVyLW5hdiAubm90aWZpY2F0aW9ucyAubm90aWZpY2F0aW9uLWl0ZW0gaSB7XG4gICAgbWFyZ2luOiAwIDIwcHggMCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbn1cblxuLmhlYWRlci1uYXYgLm5vdGlmaWNhdGlvbnMgLm5vdGlmaWNhdGlvbi1pdGVtIGg0IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5oZWFkZXItbmF2IC5ub3RpZmljYXRpb25zIC5ub3RpZmljYXRpb24taXRlbSBwIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIGNvbG9yOiAjOTE5MTkxO1xufVxuXG4uaGVhZGVyLW5hdiAubm90aWZpY2F0aW9ucyAubm90aWZpY2F0aW9uLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY5ZmY7XG59XG5cbi5oZWFkZXItbmF2IC5tZXNzYWdlcyB7XG4gICAgaW5zZXQ6IDhweCAtMTVweCBhdXRvIGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmhlYWRlci1uYXYgLm1lc3NhZ2VzIC5tZXNzYWdlLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xufVxuXG4uaGVhZGVyLW5hdiAubWVzc2FnZXMgLm1lc3NhZ2UtaXRlbSBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uaGVhZGVyLW5hdiAubWVzc2FnZXMgLm1lc3NhZ2UtaXRlbSBpbWcge1xuICAgIG1hcmdpbjogMCAyMHB4IDAgMTBweDtcbiAgICBtYXgtaGVpZ2h0OiA0MHB4O1xufVxuXG4uaGVhZGVyLW5hdiAubWVzc2FnZXMgLm1lc3NhZ2UtaXRlbSBoNCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGNvbG9yOiAjNDQ0NDQ0O1xufVxuXG4uaGVhZGVyLW5hdiAubWVzc2FnZXMgLm1lc3NhZ2UtaXRlbSBwIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIGNvbG9yOiAjOTE5MTkxO1xufVxuXG4uaGVhZGVyLW5hdiAubWVzc2FnZXMgLm1lc3NhZ2UtaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjlmZjtcbn1cblxuLmhlYWRlci1uYXYgLnByb2ZpbGUge1xuICAgIG1pbi13aWR0aDogMjQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdG9wOiA4cHggIWltcG9ydGFudDtcbn1cblxuLmhlYWRlci1uYXYgLnByb2ZpbGUgLmRyb3Bkb3duLWhlYWRlciBoNiB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzQ0NDQ0NDtcbn1cblxuLmhlYWRlci1uYXYgLnByb2ZpbGUgLmRyb3Bkb3duLWhlYWRlciBzcGFuIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5oZWFkZXItbmF2IC5wcm9maWxlIC5kcm9wZG93bi1pdGVtIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG59XG5cbi5oZWFkZXItbmF2IC5wcm9maWxlIC5kcm9wZG93bi1pdGVtIGkge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi5oZWFkZXItbmF2IC5wcm9maWxlIC5kcm9wZG93bi1pdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmOWZmO1xufVxuXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBEYXNoYm9hcmRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZpbHRlciBkcm9wZG93biAqL1xuLmRhc2hib2FyZCAuZmlsdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDBweDtcbiAgICB0b3A6IDE1cHg7XG59XG5cbi5kYXNoYm9hcmQgLmZpbHRlciAuaWNvbiB7XG4gICAgY29sb3I6ICNhYWI3Y2Y7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4uZGFzaGJvYXJkIC5maWx0ZXIgLmljb246aG92ZXIsXG4uZGFzaGJvYXJkIC5maWx0ZXIgLmljb246Zm9jdXMge1xuICAgIGNvbG9yOiAjNDE1NGYxO1xufVxuXG4uZGFzaGJvYXJkIC5maWx0ZXIgLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgcGFkZGluZzogOHB4IDE1cHg7XG59XG5cbi5kYXNoYm9hcmQgLmZpbHRlciAuZHJvcGRvd24taGVhZGVyIGg2IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgY29sb3I6ICNhYWI3Y2Y7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uZGFzaGJvYXJkIC5maWx0ZXIgLmRyb3Bkb3duLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDhweCAxNXB4O1xufVxuXG4vKiBJbmZvIENhcmRzICovXG4uZGFzaGJvYXJkIC5pbmZvLWNhcmQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuXG4uZGFzaGJvYXJkIC5pbmZvLWNhcmQgaDYge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBjb2xvcjogIzAxMjk3MDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uZGFzaGJvYXJkIC5jYXJkLWljb24ge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICB3aWR0aDogNjRweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZmxleC1ncm93OiAwO1xufVxuXG4uZGFzaGJvYXJkIC5zYWxlcy1jYXJkIC5jYXJkLWljb24ge1xuICAgIGNvbG9yOiAjNDE1NGYxO1xuICAgIGJhY2tncm91bmQ6ICNmNmY2ZmU7XG59XG5cbi5kYXNoYm9hcmQgLnJldmVudWUtY2FyZCAuY2FyZC1pY29uIHtcbiAgICBjb2xvcjogIzJlY2E2YTtcbiAgICBiYWNrZ3JvdW5kOiAjZTBmOGU5O1xufVxuXG4uZGFzaGJvYXJkIC5jdXN0b21lcnMtY2FyZCAuY2FyZC1pY29uIHtcbiAgICBjb2xvcjogI2ZmNzcxZDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZlY2RmO1xufVxuXG4vKiBBY3Rpdml0eSAqL1xuLmRhc2hib2FyZCAuYWN0aXZpdHkge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmRhc2hib2FyZCAuYWN0aXZpdHkgLmFjdGl2aXR5LWl0ZW0gLmFjdGl2aXRlLWxhYmVsIHtcbiAgICBjb2xvcjogIzg4ODtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIG1pbi13aWR0aDogNjRweDtcbn1cblxuLmRhc2hib2FyZCAuYWN0aXZpdHkgLmFjdGl2aXR5LWl0ZW0gLmFjdGl2aXRlLWxhYmVsOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtMTFweDtcbiAgICB3aWR0aDogNHB4O1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWVmZTtcbn1cblxuLmRhc2hib2FyZCAuYWN0aXZpdHkgLmFjdGl2aXR5LWl0ZW0gLmFjdGl2aXR5LWJhZGdlIHtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgei1pbmRleDogMTtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XG4gICAgZmxleC1ncm93OiAwO1xufVxuXG4uZGFzaGJvYXJkIC5hY3Rpdml0eSAuYWN0aXZpdHktaXRlbSAuYWN0aXZpdHktY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuXG4uZGFzaGJvYXJkIC5hY3Rpdml0eSAuYWN0aXZpdHktaXRlbTpmaXJzdC1jaGlsZCAuYWN0aXZpdGUtbGFiZWw6OmJlZm9yZSB7XG4gICAgdG9wOiA1cHg7XG59XG5cbi5kYXNoYm9hcmQgLmFjdGl2aXR5IC5hY3Rpdml0eS1pdGVtOmxhc3QtY2hpbGQgLmFjdGl2aXR5LWNvbnRlbnQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4vKiBOZXdzICYgVXBkYXRlcyAqL1xuLmRhc2hib2FyZCAubmV3cyAucG9zdC1pdGVtKy5wb3N0LWl0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi5kYXNoYm9hcmQgLm5ld3MgaW1nIHtcbiAgICB3aWR0aDogODBweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5kYXNoYm9hcmQgLm5ld3MgaDQge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBtYXJnaW4tbGVmdDogOTVweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5kYXNoYm9hcmQgLm5ld3MgaDQgYSB7XG4gICAgY29sb3I6ICMwMTI5NzA7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbn1cblxuLmRhc2hib2FyZCAubmV3cyBoNCBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzQxNTRmMTtcbn1cblxuLmRhc2hib2FyZCAubmV3cyBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgbWFyZ2luLWxlZnQ6IDk1cHg7XG59XG5cbi8qIFJlY2VudCBTYWxlcyAqL1xuLmRhc2hib2FyZCAucmVjZW50LXNhbGVzIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5kYXNoYm9hcmQgLnJlY2VudC1zYWxlcyAudGFibGUgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmNmY2ZmU7XG59XG5cbi5kYXNoYm9hcmQgLnJlY2VudC1zYWxlcyAudGFibGUgdGhlYWQgdGgge1xuICAgIGJvcmRlcjogMDtcbn1cblxuLmRhc2hib2FyZCAucmVjZW50LXNhbGVzIC5kYXRhVGFibGUtdG9wIHtcbiAgICBwYWRkaW5nOiAwIDAgMTBweCAwO1xufVxuXG4uZGFzaGJvYXJkIC5yZWNlbnQtc2FsZXMgLmRhdGFUYWJsZS1ib3R0b20ge1xuICAgIHBhZGRpbmc6IDEwcHggMCAwIDA7XG59XG5cbi8qIFRvcCBTZWxsaW5nICovXG4uZGFzaGJvYXJkIC50b3Atc2VsbGluZyB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uZGFzaGJvYXJkIC50b3Atc2VsbGluZyAudGFibGUgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmNmY2ZmU7XG59XG5cbi5kYXNoYm9hcmQgLnRvcC1zZWxsaW5nIC50YWJsZSB0aGVhZCB0aCB7XG4gICAgYm9yZGVyOiAwO1xufVxuXG4uZGFzaGJvYXJkIC50b3Atc2VsbGluZyAudGFibGUgdGJvZHkgdGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5kYXNoYm9hcmQgLnRvcC1zZWxsaW5nIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIG1heC13aWR0aDogNjBweDtcbn1cblxuLyogRGFzaGJvYXJkIE5CQS1BTkFMWVRJQ1MgU1lTVEVNICovXG4ubmJhLWRhc2hib2FyZCB7IHBhZGRpbmctYm90dG9tOiA0OHB4OyB9XG4uZGFzaGJvYXJkLXdlbGNvbWUgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGdhcDogMjRweDsgbWFyZ2luLWJvdHRvbTogMjRweDsgcGFkZGluZzogMzBweCAzNHB4OyBvdmVyZmxvdzogaGlkZGVuOyBjb2xvcjogI2ZmZjsgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEyMGRlZywgIzA3MWEzNSwgIzE3NGY4OCk7IGJvcmRlci1yYWRpdXM6IDE4cHg7IGJveC1zaGFkb3c6IDAgMTRweCAzMHB4IHJnYmEoMTYsIDM2LCA2MiwgLjE2KTsgfVxuLmRhc2hib2FyZC13ZWxjb21lLXNpbXBsZSB7IG1hcmdpbi1ib3R0b206IDIwcHg7IHBhZGRpbmc6IDI0cHggMjhweDsgfVxuLmRhc2hib2FyZC13ZWxjb21lLWFjdGlvbnMgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDE0cHg7IH1cbi5kYXNoYm9hcmQtdXBkYXRlLXN0YXR1cyB7IGNvbG9yOiAjYzdkOWVjOyBmb250LXNpemU6IC43MnJlbTsgfVxuLmRhc2hib2FyZC1yZWZyZXNoIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogN3B4OyBwYWRkaW5nOiA5cHggMTNweDsgY29sb3I6ICNmZmY7IGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEzKTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMyk7IGJvcmRlci1yYWRpdXM6IDhweDsgZm9udC1zaXplOiAuNzhyZW07IGZvbnQtd2VpZ2h0OiA3NTA7IHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzLCB0cmFuc2Zvcm0gLjJzOyB9XG4uZGFzaGJvYXJkLXJlZnJlc2g6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yMik7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsgfVxuLmRhc2hib2FyZC1yZWZyZXNoOmRpc2FibGVkIHsgY3Vyc29yOiB3YWl0OyBvcGFjaXR5OiAuNzsgfVxuLmRhc2hib2FyZC1yZWZyZXNoLmlzLWxvYWRpbmcgaSB7IGFuaW1hdGlvbjogZGFzaGJvYXJkLXNwaW4gLjhzIGxpbmVhciBpbmZpbml0ZTsgfVxuQGtleWZyYW1lcyBkYXNoYm9hcmQtc3BpbiB7IHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG4uZGFzaGJvYXJkLXdlbGNvbWUgaDEgeyBtYXJnaW46IDhweCAwIDZweDsgY29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogY2xhbXAoMS44cmVtLCAzdncsIDIuNnJlbSk7IGZvbnQtd2VpZ2h0OiA4NTA7IGxldHRlci1zcGFjaW5nOiAtLjA0ZW07IH1cbi5kYXNoYm9hcmQtd2VsY29tZSBwIHsgbWFyZ2luOiAwOyBjb2xvcjogI2M3ZDllYzsgbGluZS1oZWlnaHQ6IDEuNjsgfVxuLmRhc2hib2FyZC1leWVicm93IHsgY29sb3I6ICNmN2E0NWY7IGZvbnQtc2l6ZTogLjdyZW07IGZvbnQtd2VpZ2h0OiA4NTA7IGxldHRlci1zcGFjaW5nOiAuMTZlbTsgfVxuLmRhc2hib2FyZC13ZWxjb21lLWljb24geyBkaXNwbGF5OiBncmlkOyBwbGFjZS1pdGVtczogY2VudGVyOyB3aWR0aDogNzZweDsgaGVpZ2h0OiA3NnB4OyBmbGV4OiAwIDAgNzZweDsgY29sb3I6ICNmZmY7IGJhY2tncm91bmQ6IHJnYmEoMjQ1LCAxMTQsIDMyLCAuOTUpOyBib3JkZXItcmFkaXVzOiAyMnB4OyBib3gtc2hhZG93OiAwIDEycHggMjhweCByZ2JhKDAsIDAsIDAsIC4xOCk7IGZvbnQtc2l6ZTogMnJlbTsgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cbi5kYXNoYm9hcmQtaGlnaGxpZ2h0cyB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTsgZ2FwOiAxNnB4OyBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG4uZGFzaGJvYXJkLWhpZ2hsaWdodCB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTNweDsgbWluLWhlaWdodDogODJweDsgcGFkZGluZzogMTZweDsgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyOiAxcHggc29saWQgI2UyZWFmMzsgYm9yZGVyLXJhZGl1czogMTRweDsgYm94LXNoYWRvdzogMCA4cHggMjBweCByZ2JhKDE2LCAzNiwgNjIsIC4wNSk7IH1cbi5kYXNoYm9hcmQtaGlnaGxpZ2h0ID4gc3BhbiB7IGRpc3BsYXk6IGdyaWQ7IHBsYWNlLWl0ZW1zOiBjZW50ZXI7IHdpZHRoOiA0M3B4OyBoZWlnaHQ6IDQzcHg7IGZsZXg6IDAgMCA0M3B4OyBjb2xvcjogI2ZmZjsgYm9yZGVyLXJhZGl1czogMTJweDsgZm9udC1zaXplOiAxLjFyZW07IH1cbi5kYXNoYm9hcmQtaGlnaGxpZ2h0IHN0cm9uZywgLmRhc2hib2FyZC1oaWdobGlnaHQgc21hbGwgeyBkaXNwbGF5OiBibG9jazsgfVxuLmRhc2hib2FyZC1oaWdobGlnaHQgc3Ryb25nIHsgY29sb3I6ICMyMzNiNWQ7IGZvbnQtc2l6ZTogLjg1cmVtOyBmb250LXdlaWdodDogODAwOyB9XG4uZGFzaGJvYXJkLWhpZ2hsaWdodCBzbWFsbCB7IG1hcmdpbi10b3A6IDRweDsgY29sb3I6ICM4NDkzYTU7IGZvbnQtc2l6ZTogLjdyZW07IH1cbi5oaWdobGlnaHQtYmx1ZSA+IHNwYW4sIC5kYXNoYm9hcmQtY2FyZC1pY29uLmJsdWUgeyBiYWNrZ3JvdW5kOiAjMWY2ZmViOyB9XG4uaGlnaGxpZ2h0LWdyZWVuID4gc3BhbiwgLmRhc2hib2FyZC1jYXJkLWljb24uZ3JlZW4geyBiYWNrZ3JvdW5kOiAjMTZhMzRhOyB9XG4uaGlnaGxpZ2h0LW9yYW5nZSA+IHNwYW4sIC5kYXNoYm9hcmQtY2FyZC1pY29uLm9yYW5nZSB7IGJhY2tncm91bmQ6ICNmOTczMTY7IH1cbi5oaWdobGlnaHQtcHVycGxlID4gc3BhbiwgLmRhc2hib2FyZC1jYXJkLWljb24ucHVycGxlIHsgYmFja2dyb3VuZDogIzhiNWNmNjsgfVxuLmRhc2hib2FyZC1jaGFydHMgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7IGdhcDogMjBweDsgfVxuLmRhc2hib2FyZC1jaGFydC1jYXJkIHsgbWluLXdpZHRoOiAwOyBwYWRkaW5nOiAyMnB4IDIycHggMTRweDsgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyOiAxcHggc29saWQgI2UyZWFmMzsgYm9yZGVyLXJhZGl1czogMTZweDsgYm94LXNoYWRvdzogMCAxMHB4IDI1cHggcmdiYSgxNiwgMzYsIDYyLCAuMDYpOyB9XG4uZGFzaGJvYXJkLWNhcmQtaGVhZGluZyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGdhcDogMTJweDsgfVxuLmRhc2hib2FyZC1jYXJkLWhlYWRpbmcgPiBkaXYgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEycHg7IG1pbi13aWR0aDogMDsgfVxuLmRhc2hib2FyZC1jYXJkLWljb24geyBkaXNwbGF5OiBncmlkOyBwbGFjZS1pdGVtczogY2VudGVyOyB3aWR0aDogNDJweDsgaGVpZ2h0OiA0MnB4OyBmbGV4OiAwIDAgNDJweDsgY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDEycHg7IH1cbi5kYXNoYm9hcmQtY2FyZC1oZWFkaW5nIGgyIHsgbWFyZ2luOiAwOyBjb2xvcjogIzIzM2I1ZDsgZm9udC1zaXplOiAxcmVtOyBmb250LXdlaWdodDogODUwOyB9XG4uZGFzaGJvYXJkLWNhcmQtaGVhZGluZyBwIHsgbWFyZ2luOiA0cHggMCAwOyBjb2xvcjogIzg0OTNhNTsgZm9udC1zaXplOiAuNzZyZW07IH1cbi5kYXNoYm9hcmQtY2FyZC1iYWRnZSB7IHBhZGRpbmc6IDVweCA4cHg7IGNvbG9yOiAjNzE4MzlhOyBiYWNrZ3JvdW5kOiAjZjNmN2ZiOyBib3JkZXItcmFkaXVzOiA2cHg7IGZvbnQtc2l6ZTogLjZyZW07IGZvbnQtd2VpZ2h0OiA4NTA7IGxldHRlci1zcGFjaW5nOiAuMDhlbTsgfVxuLmRhc2hib2FyZC1jaGFydCB7IG1pbi1oZWlnaHQ6IDI3NXB4OyB9XG4uZGFzaGJvYXJkLWNoYXJ0LXdpZGUgLmRhc2hib2FyZC1jaGFydCB7IG1pbi1oZWlnaHQ6IDMxNXB4OyB9XG4uZGFzaGJvYXJkLWNoYXJ0LW1lc3NhZ2UsIC5kYXNoYm9hcmQtZW1wdHkgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiAxMHB4OyBtaW4taGVpZ2h0OiAyNDVweDsgY29sb3I6ICM4NDkzYTU7IGZvbnQtc2l6ZTogLjg4cmVtOyB9XG4uZGFzaGJvYXJkLWNoYXJ0LW1lc3NhZ2UgaSwgLmRhc2hib2FyZC1lbXB0eSBpIHsgY29sb3I6ICM5ZWIxYzU7IGZvbnQtc2l6ZTogMS41cmVtOyB9XG4uZGFzaGJvYXJkLXN0YXRzLXNlY3Rpb24geyBtYXJnaW4tdG9wOiAzNHB4OyB9XG4uZGFzaGJvYXJkLXN0YXRzLXRhYmxlLXdyYXAgeyBvdmVyZmxvdzogaGlkZGVuOyBiYWNrZ3JvdW5kOiAjZmZmOyBib3JkZXI6IDFweCBzb2xpZCAjZTJlYWYzOyBib3JkZXItcmFkaXVzOiAxNnB4OyBib3gtc2hhZG93OiAwIDEwcHggMjVweCByZ2JhKDE2LCAzNiwgNjIsIC4wNik7IH1cbi5kYXNoYm9hcmQtc3RhdHMtdGFibGUtc2Nyb2xsIHsgb3ZlcmZsb3cteDogYXV0bzsgfVxuLmRhc2hib2FyZC1zdGF0cy10YWJsZSB7IHdpZHRoOiAxMDAlOyBtaW4td2lkdGg6IDY1MHB4OyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBjb2xvcjogIzIzM2I1ZDsgZm9udC1zaXplOiAuODJyZW07IH1cbi5kYXNoYm9hcmQtc3RhdHMtdGFibGUgdGggeyBwYWRkaW5nOiAxNHB4IDE4cHg7IGNvbG9yOiAjNzE4MzlhOyBiYWNrZ3JvdW5kOiAjZjVmOGZjOyBmb250LXNpemU6IC42OHJlbTsgZm9udC13ZWlnaHQ6IDg1MDsgbGV0dGVyLXNwYWNpbmc6IC4wOGVtOyB0ZXh0LWFsaWduOiBsZWZ0OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4uZGFzaGJvYXJkLXN0YXRzLXRhYmxlIHRkIHsgcGFkZGluZzogMTVweCAxOHB4OyBib3JkZXItdG9wOiAxcHggc29saWQgI2VkZjJmNzsgfVxuLmRhc2hib2FyZC1zdGF0cy10YWJsZSB0ZDpmaXJzdC1jaGlsZCwgLmRhc2hib2FyZC1zdGF0cy10YWJsZSB0aDpmaXJzdC1jaGlsZCB7IHdpZHRoOiA1NXB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbi5kYXNoYm9hcmQtc3RhdHMtdGFibGUgdGQ6bnRoLWNoaWxkKG4rMyksIC5kYXNoYm9hcmQtc3RhdHMtdGFibGUgdGg6bnRoLWNoaWxkKG4rMykgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuLmRhc2hib2FyZC1zdGF0cy10YWJsZSB0ZCBzdHJvbmcsIC5kYXNoYm9hcmQtc3RhdHMtdGFibGUgdGQgc21hbGwgeyBkaXNwbGF5OiBibG9jazsgfVxuLmRhc2hib2FyZC1zdGF0cy10YWJsZSB0ZCBzbWFsbCB7IG1hcmdpbi10b3A6IDNweDsgY29sb3I6ICM4NDkzYTU7IGZvbnQtc2l6ZTogLjY4cmVtOyB9XG4uZGFzaGJvYXJkLXN0YXRzLXRhYmxlIHRib2R5IHRyOmhvdmVyIHsgYmFja2dyb3VuZDogI2ZiZmRmZjsgfVxuLmRhc2hib2FyZC1yYW5rIHsgZGlzcGxheTogaW5saW5lLWdyaWQ7IHBsYWNlLWl0ZW1zOiBjZW50ZXI7IHdpZHRoOiAyN3B4OyBoZWlnaHQ6IDI3cHg7IGNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kOiAjMWY2ZmViOyBib3JkZXItcmFkaXVzOiA1MCU7IGZvbnQtc2l6ZTogLjdyZW07IGZvbnQtd2VpZ2h0OiA4NTA7IH1cbi5zdGF0LXdpbiB7IGNvbG9yOiAjMTY4MzRiOyBmb250LXdlaWdodDogODAwOyB9XG4uc3RhdC1sb3NzIHsgY29sb3I6ICNjMjVhNTI7IGZvbnQtd2VpZ2h0OiA4MDA7IH1cbi5kYXNoYm9hcmQtd2luLXJhdGUgeyBwYWRkaW5nOiA1cHggOXB4OyBjb2xvcjogIzE3NmI0MjsgYmFja2dyb3VuZDogI2U3ZjdlZTsgYm9yZGVyLXJhZGl1czogNnB4OyBmb250LXdlaWdodDogODAwOyB9XG4uZGFzaGJvYXJkLXBpY2tzLXNlY3Rpb24geyBtYXJnaW4tdG9wOiAzNHB4OyB9XG4uZGFzaGJvYXJkLXNlY3Rpb24taGVhZGluZyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMThweDsgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuLmRhc2hib2FyZC1zZWN0aW9uLWhlYWRpbmcgaDIgeyBtYXJnaW46IDVweCAwIDA7IGNvbG9yOiAjMjMzYjVkOyBmb250LXNpemU6IDEuNHJlbTsgZm9udC13ZWlnaHQ6IDg1MDsgfVxuLmRhc2hib2FyZC1zZWN0aW9uLWxpbmUgeyBoZWlnaHQ6IDFweDsgZmxleDogMTsgYmFja2dyb3VuZDogI2RjZTZmMDsgfVxuLmRhc2hib2FyZC1waWNrcy1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpOyBnYXA6IDE4cHg7IH1cbi5kYXNoYm9hcmQtcGljay1jYXJkIHsgcG9zaXRpb246IHJlbGF0aXZlOyBwYWRkaW5nOiAyMHB4OyBvdmVyZmxvdzogaGlkZGVuOyBiYWNrZ3JvdW5kOiAjZmZmOyBib3JkZXI6IDFweCBzb2xpZCAjZTJlYWYzOyBib3JkZXItcmFkaXVzOiAxNXB4OyBib3gtc2hhZG93OiAwIDhweCAyMHB4IHJnYmEoMTYsIDM2LCA2MiwgLjA1KTsgfVxuLmRhc2hib2FyZC1waWNrLXRvcGxpbmUsIC5kYXNoYm9hcmQtcGljay1tZXRhIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBnYXA6IDEwcHg7IGNvbG9yOiAjODQ5M2E1OyBmb250LXNpemU6IC43MnJlbTsgfVxuLmRhc2hib2FyZC1waWNrLWxhYmVsIHsgY29sb3I6ICNmNTcyMjA7IGZvbnQtd2VpZ2h0OiA4MDA7IH1cbi5kYXNoYm9hcmQtcGljay1jYXJkIGgzIHsgbWFyZ2luOiAxNHB4IDA7IGNvbG9yOiAjMjMzYjVkOyBmb250LXNpemU6IDEuMXJlbTsgZm9udC13ZWlnaHQ6IDg1MDsgfVxuLmRhc2hib2FyZC1waWNrLWltYWdlIHsgZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBtYXgtaGVpZ2h0OiAxNzBweDsgbWFyZ2luLWJvdHRvbTogMTRweDsgb2JqZWN0LWZpdDogY29udGFpbjsgYm9yZGVyLXJhZGl1czogOXB4OyB9XG4uZGFzaGJvYXJkLXBpY2stbWV0YSB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgcGFkZGluZzogMTBweCAwOyBib3JkZXItdG9wOiAxcHggc29saWQgI2VkZjJmNzsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZGYyZjc7IH1cbi5kYXNoYm9hcmQtcGljay1tZXRhIGkgeyBjb2xvcjogIzFmNmZlYjsgfVxuLmRhc2hib2FyZC1waWNrLWNhcmQgcCB7IG1hcmdpbjogMTRweCAwOyBjb2xvcjogIzY1NzU4YTsgZm9udC1zaXplOiAuODJyZW07IGxpbmUtaGVpZ2h0OiAxLjY7IH1cbi5kYXNoYm9hcmQtcGljay1yZXN1bHQgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgcGFkZGluZzogNXB4IDlweDsgY29sb3I6ICMxNzZiNDI7IGJhY2tncm91bmQ6ICNlN2Y3ZWU7IGJvcmRlci1yYWRpdXM6IDZweDsgZm9udC1zaXplOiAuN3JlbTsgZm9udC13ZWlnaHQ6IDgwMDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgLmRhc2hib2FyZC1oaWdobGlnaHRzIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpOyB9XG4gICAgLmRhc2hib2FyZC1waWNrcy1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpOyB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5kYXNoYm9hcmQtd2VsY29tZSB7IHBhZGRpbmc6IDI0cHg7IH1cbiAgICAuZGFzaGJvYXJkLXdlbGNvbWUtYWN0aW9ucyB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA4cHg7IH1cbiAgICAuZGFzaGJvYXJkLWNoYXJ0cyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG4gICAgLmRhc2hib2FyZC1waWNrcy1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBJY29ucyBsaXN0IHBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5pY29uc2xpc3Qge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTgwcHgsIDFmcikpO1xuICAgIGdhcDogMS4yNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbn1cblxuLmljb25zbGlzdCAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogIzAxMjk3MDtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG59XG5cbi5pY29uc2xpc3QgaSB7XG4gICAgbWFyZ2luOiAwLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xufVxuXG4uaWNvbnNsaXN0IC5sYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWJzLWZvbnQtbW9ub3NwYWNlKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiAjNjY2O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIFByb2ZpZSBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ucHJvZmlsZSAucHJvZmlsZS1jYXJkIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMjBweDtcbn1cblxuLnByb2ZpbGUgLnByb2ZpbGUtY2FyZCBoMiB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMyYzM4NGU7XG4gICAgbWFyZ2luOiAxMHB4IDAgMCAwO1xufVxuXG4ucHJvZmlsZSAucHJvZmlsZS1jYXJkIGgzIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5wcm9maWxlIC5wcm9maWxlLWNhcmQgLnNvY2lhbC1saW5rcyBhIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiByZ2JhKDEsIDQxLCAxMTIsIDAuNSk7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG59XG5cbi5wcm9maWxlIC5wcm9maWxlLWNhcmQgLnNvY2lhbC1saW5rcyBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzAxMjk3MDtcbn1cblxuLnByb2ZpbGUgLnByb2ZpbGUtb3ZlcnZpZXcgLnJvdyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG59XG5cbi5wcm9maWxlIC5wcm9maWxlLW92ZXJ2aWV3IC5jYXJkLXRpdGxlIHtcbiAgICBjb2xvcjogIzAxMjk3MDtcbn1cblxuLnByb2ZpbGUgLnByb2ZpbGUtb3ZlcnZpZXcgLmxhYmVsIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiByZ2JhKDEsIDQxLCAxMTIsIDAuNik7XG59XG5cbi5wcm9maWxlIC5wcm9maWxlLWVkaXQgbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHJnYmEoMSwgNDEsIDExMiwgMC42KTtcbn1cblxuLnByb2ZpbGUgLnByb2ZpbGUtZWRpdCBpbWcge1xuICAgIG1heC13aWR0aDogMTIwcHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgRi5BLlEgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmZhcSAuYmFzaWMgaDYge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjNDE1NGYxO1xufVxuXG4uZmFxIC5iYXNpYyBwIHtcbiAgICBjb2xvcjogIzY5ODBhYTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBDb250YWN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uY29udGFjdCAuaW5mby1ib3gge1xuICAgIHBhZGRpbmc6IDI4cHggMzBweDtcbn1cblxuLmNvbnRhY3QgLmluZm8tYm94IGkge1xuICAgIGZvbnQtc2l6ZTogMzhweDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogIzQxNTRmMTtcbn1cblxuLmNvbnRhY3QgLmluZm8tYm94IGgzIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICMwMTI5NzA7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW46IDIwcHggMCAxMHB4IDA7XG59XG5cbi5jb250YWN0IC5pbmZvLWJveCBwIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY29udGFjdCAucGhwLWVtYWlsLWZvcm0gLmVycm9yLW1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogI2VkM2MwZDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uY29udGFjdCAucGhwLWVtYWlsLWZvcm0gLnNlbnQtbWVzc2FnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjMThkMjZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmNvbnRhY3QgLnBocC1lbWFpbC1mb3JtIC5sb2FkaW5nIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLmNvbnRhY3QgLnBocC1lbWFpbC1mb3JtIC5sb2FkaW5nOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBtYXJnaW46IDAgMTBweCAtNnB4IDA7XG4gICAgYm9yZGVyOiAzcHggc29saWQgIzE4ZDI2ZTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZWVlO1xuICAgIGFuaW1hdGlvbjogYW5pbWF0ZS1sb2FkaW5nIDFzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLmNvbnRhY3QgLnBocC1lbWFpbC1mb3JtIGlucHV0LFxuLmNvbnRhY3QgLnBocC1lbWFpbC1mb3JtIHRleHRhcmVhIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5jb250YWN0IC5waHAtZW1haWwtZm9ybSBpbnB1dDpmb2N1cyxcbi5jb250YWN0IC5waHAtZW1haWwtZm9ybSB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNDE1NGYxO1xufVxuXG4uY29udGFjdCAucGhwLWVtYWlsLWZvcm0gaW5wdXQge1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbn1cblxuLmNvbnRhY3QgLnBocC1lbWFpbC1mb3JtIHRleHRhcmVhIHtcbiAgICBwYWRkaW5nOiAxMnB4IDE1cHg7XG59XG5cbi5jb250YWN0IC5waHAtZW1haWwtZm9ybSBidXR0b25bdHlwZT1zdWJtaXRdIHtcbiAgICBiYWNrZ3JvdW5kOiAjNDE1NGYxO1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdHJhbnNpdGlvbjogMC40cztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5jb250YWN0IC5waHAtZW1haWwtZm9ybSBidXR0b25bdHlwZT1zdWJtaXRdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNTk2OWYzO1xufVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGUtbG9hZGluZyB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgRXJyb3IgNDA0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZXJyb3ItNDA0IHtcbiAgICBwYWRkaW5nOiAzMHB4O1xufVxuXG4uZXJyb3ItNDA0IGgxIHtcbiAgICBmb250LXNpemU6IDE4MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICM0MTU0ZjE7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaW5lLWhlaWdodDogMTUwcHg7XG59XG5cbi5lcnJvci00MDQgaDIge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDEyOTcwO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5lcnJvci00MDQgLmJ0biB7XG4gICAgYmFja2dyb3VuZDogIzUxNjc4ZjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiA4cHggMzBweDtcbn1cblxuLmVycm9yLTQwNCAuYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2U0ZjZmO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuZXJyb3ItNDA0IGltZyB7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBGb290ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mb290ZXIge1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjZGRmZmY7XG59XG5cbi5mb290ZXIgLmNvcHlyaWdodCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjMDEyOTcwO1xufVxuXG4uZm9vdGVyIC5jcmVkaXRzIHtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICMwMTI5NzA7XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGFjY2VudC1jb2xvcjogIzBkNmVmZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwZDZlZmQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4vKiBIb3ZlciAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICMwZDZlZmQ7XG59XG5cbi8qIEN1YW5kbyBlc3TDoSBtYXJjYWRvICovXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICMwZDZlZmQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuaW5wdXQsIHRleHRhcmVhLCBzZWxlY3Qge1xuICAgIGJvcmRlcjogMS41cHggc29saWQgdmFyKC0tYnMtZGFyaykgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6IHZhcigtLWJzLWRhcmspO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzLWxpZ2h0KTtcbn1cblxuaW5wdXQ6Zm9jdXMsIHRleHRhcmVhOmZvY3VzLCBzZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnMtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDAgNnB4IHJnYmEoMTMsIDExMCwgMjUzLCAwLjUpICFpbXBvcnRhbnQ7IC8qIENvbG9yIHByaW1hcmlvIGNvbiB0cmFuc3BhcmVuY2lhICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnMtd2hpdGUpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTkJBIEVYUEVSVCAtIExBWU9VVCBQUklOQ0lQQUxcbiAgIEZ1ZW50ZSDDum5pY2EgZGUgZXN0aWxvcyBwYXJhIG5hdmJhciB5IHNpZGViYXIuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuOnJvb3Qge1xuICAgIC0tbmJhLW5hdnk6ICMwNzFhMzM7XG4gICAgLS1uYmEtYmx1ZTogIzEyM2Y3YTtcbiAgICAtLW5iYS1ibHVlLWxpZ2h0OiAjMWY2ZmViO1xuICAgIC0tbmJhLW9yYW5nZTogI2Y5NzMxNjtcbiAgICAtLW5iYS1za3k6ICMzOGJkZjg7XG4gICAgLS1uYmEtaW5rOiAjMTAyMzNmO1xuICAgIC0tbmJhLW11dGVkOiAjNzg5MGFkO1xufVxuXG5ib2R5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjNmN2ZjO1xuICAgIGNvbG9yOiB2YXIoLS1uYmEtaW5rKTtcbn1cblxuI2hlYWRlci5oZWFkZXIge1xuICAgIGhlaWdodDogNzRweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOTgpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTgsIDYzLCAxMjIsIC4wOSk7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDcsIDI2LCA1MSwgLjA4KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7XG59XG5cbi5sb2dvIHtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi5sb2dvIGltZyxcbi5oZWFkZXItbmF2IC5uYXYtcHJvZmlsZSBpbWcge1xuICAgIHdpZHRoOiAzOHB4O1xuICAgIGhlaWdodDogMzhweDtcbiAgICBtYXgtaGVpZ2h0OiAzOHB4O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1uYmEtc2t5KTtcbn1cblxuLmxvZ28gc3BhbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMnB4O1xuICAgIGNvbG9yOiB2YXIoLS1uYmEtbmF2eSk7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDRlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmxvZ28gc3BhbiBzbWFsbCB7XG4gICAgY29sb3I6IHZhcigtLW5iYS1tdXRlZCk7XG4gICAgZm9udC1zaXplOiA4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjE4ZW07XG59XG5cbi5oZWFkZXIgLnRvZ2dsZS1zaWRlYmFyLWJ0biB7XG4gICAgY29sb3I6IHZhcigtLW5iYS1ibHVlKTtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xufVxuXG4uaGVhZGVyIC50b2dnbGUtc2lkZWJhci1idG46aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1uYmEtb3JhbmdlKTtcbn1cblxuLmhlYWRlciAuc2VhcmNoLWJhciB7XG4gICAgbWluLXdpZHRoOiBtaW4oNDIwcHgsIDM4dncpO1xuICAgIHBhZGRpbmc6IDAgMjhweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4uaGVhZGVyIC5zZWFyY2gtZm9ybSBpbnB1dCB7XG4gICAgaGVpZ2h0OiA0MnB4O1xuICAgIHBhZGRpbmctbGVmdDogMTdweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTFlYWY0O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYmFja2dyb3VuZDogI2Y3ZmFmZjtcbiAgICBjb2xvcjogdmFyKC0tbmJhLWluayk7XG59XG5cbi5oZWFkZXIgLnNlYXJjaC1mb3JtIGlucHV0OmZvY3VzLFxuLmhlYWRlciAuc2VhcmNoLWZvcm0gaW5wdXQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgzMSwgMTExLCAyMzUsIC40NSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMzEsIDExMSwgMjM1LCAuMDkpO1xufVxuXG4uaGVhZGVyIC5zZWFyY2gtZm9ybSBidXR0b24gaSB7XG4gICAgY29sb3I6IHZhcigtLW5iYS1ibHVlLWxpZ2h0KTtcbn1cblxuLmhlYWRlci1uYXYgLm5hdi1wcm9maWxlIHtcbiAgICBjb2xvcjogdmFyKC0tbmJhLWluayk7XG4gICAgcGFkZGluZzogNnB4IDE4cHggNnB4IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbn1cblxuLmhlYWRlci1uYXYgLm5hdi1wcm9maWxlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjFmNmZjO1xufVxuXG4uaGVhZGVyLW5hdiAubmF2LXByb2ZpbGUgc3BhbiB7XG4gICAgY29sb3I6IHZhcigtLW5iYS1uYXZ5KTtcbn1cblxuLnNpZGViYXIge1xuICAgIHRvcDogNzRweDtcbiAgICB3aWR0aDogMjgwcHg7XG4gICAgcGFkZGluZzogMjBweCAxNHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwNzFhMzMgMCUsICMwYjJiNTUgNTglLCAjMGUzNzY5IDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMDgpO1xuICAgIGJveC1zaGFkb3c6IDEycHggMCAzMHB4IHJnYmEoNywgMjYsIDUxLCAuMTQpO1xuICAgIHNjcm9sbGJhci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMjgpIHRyYW5zcGFyZW50O1xufVxuXG4uc2lkZWJhcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjI4KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuXG4uc2lkZWJhci1icmFuZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBtYXJnaW46IDJweCA4cHggMjRweDtcbiAgICBwYWRkaW5nOiAwIDRweCAyMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4xMik7XG59XG5cbi5zaWRlYmFyLWJyYW5kLW1hcmsge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgd2lkdGg6IDQycHg7XG4gICAgaGVpZ2h0OiA0MnB4O1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleDogMCAwIDQycHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLW5iYS1vcmFuZ2UpLCAjZmZhZDQyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxM3B4O1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDE4cHggcmdiYSgyNDksIDExNSwgMjIsIC4zKTtcbn1cblxuLnNpZGViYXItYnJhbmQtdGl0bGUsXG4uc2lkZWJhci1icmFuZC1zdWJ0aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zaWRlYmFyLWJyYW5kLXRpdGxlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjFlbTtcbn1cblxuLnNpZGViYXItYnJhbmQtc3VidGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBjb2xvcjogIzkxYjVkYztcbiAgICBmb250LXNpemU6IDhweDtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMTRlbTtcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xufVxuXG4uc2lkZWJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBtaW4taGVpZ2h0OiA0NnB4O1xuICAgIHBhZGRpbmc6IDExcHggMTNweDtcbiAgICBjb2xvcjogI2M1ZDhlZDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uc2lkZWJhci1uYXYgLm5hdi1saW5rIGkge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBjb2xvcjogIzhkYjRkZjtcbiAgICBmb250LXNpemU6IDE3cHg7XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWxpbmsuY29sbGFwc2VkIHtcbiAgICBjb2xvcjogI2M1ZDhlZDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtbGluazpob3Zlcixcbi5zaWRlYmFyLW5hdiAubmF2LWxpbms6bm90KC5jb2xsYXBzZWQpIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMzEsIDExMSwgMjM1LCAuNjgpLCByZ2JhKDMxLCAxMTEsIDIzNSwgLjIpKTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTQxLCAxOTAsIDI1NSwgLjI0KTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAzcHggMCAwIHZhcigtLW5iYS1vcmFuZ2UpO1xufVxuXG4uc2lkZWJhci1uYXYgLm5hdi1saW5rOmhvdmVyIGksXG4uc2lkZWJhci1uYXYgLm5hdi1saW5rOm5vdCguY29sbGFwc2VkKSBpIHtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLnNpZGViYXItbmF2IC5uYXYtY29udGVudCB7XG4gICAgcGFkZGluZzogNnB4IDAgNHB4IDEycHg7XG4gICAgbWFyZ2luLWxlZnQ6IDE4cHg7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDE0MSwgMTkwLCAyNTUsIC4yNSk7XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYSB7XG4gICAgcGFkZGluZzogOXB4IDhweCA5cHggMTJweDtcbiAgICBjb2xvcjogI2E5YzFkYztcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYSBpIHtcbiAgICBjb2xvcjogdmFyKC0tbmJhLW9yYW5nZSk7XG59XG5cbi5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYTpob3Zlcixcbi5zaWRlYmFyLW5hdiAubmF2LWNvbnRlbnQgYS5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpO1xufVxuXG4jbWFpbiB7XG4gICAgbWFyZ2luLXRvcDogNzRweDtcbiAgICBwYWRkaW5nOiAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgI21haW4sXG4gICAgI2Zvb3RlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyODBweDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAjbWFpbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDc0cHg7XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMjBweDtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5zZWFyY2gtYmFyIHtcbiAgICAgICAgdG9wOiA3NHB4O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgICB9XG59XG5cbi8qIFByaW9yaWRhZCBmaW5hbCBkZWwgbmF2YmFyIHNvYnJlIGN1YWxxdWllciBlc3RpbG8gZGUgcGxhbnRpbGxhIGFudGVyaW9yLiAqL1xuI2hlYWRlci5oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMTVkZWcsICMwMzEyMjUgMCUsICMwODI2NGIgNTglLCAjMGMzNTY0IDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEyKSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgzLCAxOCwgMzcsIC4yOCkgIWltcG9ydGFudDtcbn1cblxuI2hlYWRlciAubG9nbyBzcGFuLFxuI2hlYWRlciAuaGVhZGVyLW5hdiAubmF2LXByb2ZpbGUsXG4jaGVhZGVyIC5oZWFkZXItbmF2IC5uYXYtcHJvZmlsZSBzcGFuLFxuI2hlYWRlciAudG9nZ2xlLXNpZGViYXItYnRuIHtcbiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4jaGVhZGVyIC5sb2dvIHNwYW4gc21hbGwge1xuICAgIGNvbG9yOiAjOWJiOWQ5ICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLnNlYXJjaC1iYXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbiNoZWFkZXIgLnNlYXJjaC1mb3JtIGlucHV0IHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjI4KSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjEpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuI2hlYWRlciAuc2VhcmNoLWZvcm0gaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2I5Y2RlNCAhaW1wb3J0YW50O1xufVxuXG4jaGVhZGVyIC5zZWFyY2gtZm9ybSBidXR0b24gaSB7XG4gICAgY29sb3I6ICM4ZGQ1ZmYgIWltcG9ydGFudDtcbn1cbiIsIi8qIEVzdGlsb3MgZ2VuZXJhbGVzIHBhcmEgbGEgdGFibGEgKi9cclxuLmVzdGlsb3NfZ2VuZXJhbGVzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgb3ZlcmZsb3cteDogYXV0bztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjlmYmZjO1xyXG4gICAgY29sb3I6ICMwMDNFNTE7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzllN2YwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG59XHJcblxyXG4uZXN0aWxvc19nZW5lcmFsZXMgdGgge1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBwYWRkaW5nOiAxMnB4IDEzcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZTJmNGY5O1xyXG4gICAgY29sb3I6ICMwMDRiNjA7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2MwZTBlYTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4uZXN0aWxvc19nZW5lcmFsZXMgdGQge1xyXG4gICAgcGFkZGluZzogOHB4O1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcclxuICAgIGNvbG9yOiAjMDAzRTUxO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMGYwZjA7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG4uZXN0aWxvc19nZW5lcmFsZXMgdGJvZHkgdHI6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZmJmZjtcclxufVxyXG5cclxuLmVzdGlsb3NfZ2VuZXJhbGVzIHRyIHtcclxuICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCByZ2IoMjAxLCAyMzEsIDI0MCkgIWltcG9ydGFudDsgLyogbMOtbmVhIGZ1ZXJ0ZSAqL1xyXG59XHJcblxyXG4vKiBTY3JvbGwgcGFyYSBlbCB0b29sYmFyICovXHJcbltpZF49XCJ0b29sYmFyX1wiXSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xyXG4gICAgZ2FwOiA4cHg7XHJcbiAgICBwYWRkaW5nOiA2cHggMDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcclxuICAgIHNjcm9sbGJhci1jb2xvcjogI2NjYyB0cmFuc3BhcmVudDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbltpZF49XCJ0b29sYmFyX1wiXSA+ICoge1xyXG4gICAgZmxleDogMCAwIGF1dG87IC8qIGV2aXRhIHF1ZSBzZSBleHBhbmRhbiAqL1xyXG59XHJcblxyXG5baWRePVwidG9vbGJhcl9cIl06Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgIGhlaWdodDogNnB4O1xyXG59XHJcblxyXG5baWRePVwidG9vbGJhcl9cIl06Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgIGJhY2tncm91bmQ6ICNjY2M7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbn1cclxuXHJcblxyXG4vKiBQYXJhIHBhbnRhbGxhcyBwZXF1ZcOxYXMgKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICBbaWRePVwidG9vbGJhcl9cIl0ge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICBbaWRePVwidG9vbGJhcl9cIl0gYnV0dG9uIHtcclxuICAgICAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmVzdGlsb3NfZ2VuZXJhbGVzIHtcclxuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5lc3RpbG9zX2dlbmVyYWxlcyB0aCxcclxuICAgIC5lc3RpbG9zX2dlbmVyYWxlcyB0ZCB7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIEJvdG9uZXMgZ2VuZXJhbGVzIHBlcnNvbmFsaXphZG9zICovXHJcbi5idG4tY3VzdG9tLCAuYnRuLWN1c3RvbS10ZXh0LCAuYnRuIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4vKiBFc3RpbG8gY29tw7puIHBhcmEgdG9kb3MgbG9zIGJvdG9uZXMgKi9cclxuLmJ0bi1jdXN0b20sXHJcbi5idG4tY3VzdG9tLXRleHQsXHJcbi5idG4uYnRuLXByaW1hcnksXHJcbi5idG4uYnRuLXNlY29uZGFyeSxcclxuLmJ0bi5idG4tc3VjY2VzcyxcclxuLmJ0bi5idG4td2FybmluZyxcclxuLmJ0bi5idG4tZGFuZ2VyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWY4ZmIgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAjMDA1YzcwICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjdlM2VkICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIEhvdmVyIGRlIGJvdG9uZXMgKi9cclxuLmJ0bi1jdXN0b206aG92ZXIsXHJcbi5idG4tY3VzdG9tLXRleHQ6aG92ZXIsXHJcbi5idG4uYnRuLXByaW1hcnk6aG92ZXIsXHJcbi5idG4uYnRuLXNlY29uZGFyeTpob3ZlcixcclxuLmJ0bi5idG4tc3VjY2Vzczpob3ZlcixcclxuLmJ0bi5idG4td2FybmluZzpob3ZlcixcclxuLmJ0bi5idG4tZGFuZ2VyOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNWYxZjcgIWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggcmdiYSgwLCA5NCwgMTEyLCAwLjE1KTtcclxuICAgIGNvbG9yOiAjMDAzZTUxICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIEJvdG9uZXMgZGVzaGFiaWxpdGFkb3MgKi9cclxuLmJ0bjpkaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmOGZhICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogI2ExYmNjNSAhaW1wb3J0YW50O1xyXG4gICAgb3BhY2l0eTogMC42ICFpbXBvcnRhbnQ7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIEJvdMOzbiBwZWxpZ3JvICovXHJcbi5idG4uYnRuLWRhbmdlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlNWU5ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogI2QzM2M1MCAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YyYjNiZCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYnRuLmJ0bi1kYW5nZXI6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZDJkYSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBCb3TDs24gw6l4aXRvICovXHJcbi5idG4uYnRuLXN1Y2Nlc3Mge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjdlZCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICMwMDg3NWEgIWltcG9ydGFudDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhNmUyYzYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJ0bi5idG4tc3VjY2Vzczpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzlmMGRkICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIEJvdMOzbiBhZHZlcnRlbmNpYSAqL1xyXG4uYnRuLmJ0bi13YXJuaW5nIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY0ZTAgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAjYjg3ZjAwICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZlM2IzICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5idG4uYnRuLXdhcm5pbmc6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWJjMiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBCb3TDs24gc2VjdW5kYXJpbyAqL1xyXG4uYnRuLmJ0bi1zZWNvbmRhcnkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjRmNiAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICMwMDZjOGMgIWltcG9ydGFudDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjOGRmZTUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJ0bi5idG4tc2Vjb25kYXJ5OmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMmVlZjMgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogVGV4dG8gcHJpbmNpcGFsICovXHJcbi50ZXh0LXByaW5jaXBhbCB7XHJcbiAgICBjb2xvcjogIzAwNWM3MCAhaW1wb3J0YW50O1xyXG59XHJcbiIsIi8qIEVzdGlsb3MgcGFyYSBlbCBjb250ZW5lZG9yIGRlIFdoYXRzQXBwICovXG4ud2hhdHNhcHAtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAyMHB4O1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNUQzNjY7IC8qIENvbG9yIGRlIGZvbmRvIGRlIFdoYXRzQXBwICovXG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIHotaW5kZXg6IDI7IC8qIEFzZWd1cmEgcXVlIFdoYXRzQXBwIGVzdMOpIGVuY2ltYSBkZSBUZWxlZ3JhbSAqL1xufVxuXG4vKiBFc3RpbG9zIHBhcmEgZWwgY29udGVuZWRvciBkZSBUZWxlZ3JhbSAqL1xuLnRlbGVncmFtLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogNjVweDsgLyogQWp1c3RhIGxhIHBvc2ljacOzbiBwYXJhIHF1ZSBlc3TDqSBkZWJham8gZGUgV2hhdHNBcHAgKi9cbiAgICByaWdodDogMTZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4OGNjOyAvKiBDb2xvciBkZSBmb25kbyBkZSBUZWxlZ3JhbSAqL1xuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICB6LWluZGV4OiAxOyAvKiBBc2VndXJhIHF1ZSBUZWxlZ3JhbSBlc3TDqSBkZWJham8gZGUgV2hhdHNBcHAgKi9cbn1cblxuLyogRXN0aWxvcyBwYXJhIGVsIGVubGFjZSBkZSBXaGF0c0FwcCB5IFRlbGVncmFtICovXG4ud2hhdHNhcHAtbGluaywgLnRlbGVncmFtLWxpbmsge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogI2ZmZjsgLyogQ29sb3IgZGVsIHRleHRvICovXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiBFc3RpbG9zIHBhcmEgZWwgw61jb25vIGRlIFdoYXRzQXBwIHkgVGVsZWdyYW0gKi9cbi53aGF0c2FwcC1pY29uLCAudGVsZWdyYW0taWNvbiB7XG4gICAgZm9udC1zaXplOiAyNHB4OyAvKiBUYW1hw7FvIGRlbCDDrWNvbm8gKi9cbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgQ29sb3I6I2ZmZjtcbn1cblxuLyogRXN0aWxvcyBwYXJhIGVsIHRleHRvIGRlIFdoYXRzQXBwIHkgVGVsZWdyYW0gKi9cbi53aGF0c2FwcC10ZXh0LCAudGVsZWdyYW0tdGV4dCB7XG4gICAgZm9udC1zaXplOjE0cHg7XG59XG5cbi53aGF0c2FwcC10ZXh0e1xuICAgIGNvbG9yOiNmZmYgIWltcG9ydGFudDtcbn1cblxuLyogT2N1bHRhciBsb3MgY29udHJvbGVzIGRlIG7Dum1lcm8gZW4gQ2hyb21lLCBTYWZhcmksIEVkZ2UgeSBPcGVyYSAqL1xuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIE9jdWx0YXIgbG9zIGNvbnRyb2xlcyBkZSBuw7ptZXJvIGVuIEZpcmVmb3ggKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxuXG5cbi5lbXByZXNhIHtcbiAgICBmb250LWZhbWlseTogJ0JyYWRsZXkgSGFuZCBJVEMnLCBjdXJzaXZlO1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbn1cblxuLmlkSW5ncmVkaWVudGVzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gIFRoaW4nLCBjdXJzaXZlO1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbn1cblxuLmlkQ29udGVuaWRvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICdhcmlhbCAgVGhpbicsIGN1cnNpdmU7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuXG59XG5cbi5iYW5uZXJJdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDUwMHB4O1xufVxuLmJhbm5lckl0ZW0gaW1nIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5pbWctbm9ybWFsaXphZGF7XG4gICAgd2lkdGg6IDM1MHB4O1xuICAgIGhlaWdodDogMjgwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLmlkUHJlY2lvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICdhcmlhbCAgVGhpbicsIGN1cnNpdmU7XG4gICAgZm9udC1zaXplOiAzNXB4O1xuICAgIGFuaW1hdGlvbjogYmxpbmsgMS41cyBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBibGluayB7XG4gICAgMCUsIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbn0iLCIvKkFQUC5TQ1NTKi9cbkBpbXBvcnQgXCJib290c3RyYXBcIjtcbkBpbXBvcnQgXCJib290c3RyYXAtaWNvbnMvZm9udC9ib290c3RyYXAtaWNvbnMuY3NzXCI7XG5AaW1wb3J0IFwiQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvY3NzL2FsbC5taW4uY3NzXCI7XG5cbkBpbXBvcnQgXCJib290c3RyYXAtdGFibGUvZGlzdC9ib290c3RyYXAtdGFibGUubWluLmNzc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC10YWJsZS9kaXN0L2V4dGVuc2lvbnMvcmVvcmRlci1yb3dzL2Jvb3RzdHJhcC10YWJsZS1yZW9yZGVyLXJvd3MubWluLmNzc1wiO1xuXG5AaW1wb3J0IFwianF1ZXJ5LXVpL3RoZW1lcy9iYXNlL2FsbC5jc3NcIjtcbkBpbXBvcnQgXCJzd2VldGFsZXJ0Mi9kaXN0L3N3ZWV0YWxlcnQyLm1pbi5jc3NcIjtcbkBpbXBvcnQgXCJ0b2FzdHIvYnVpbGQvdG9hc3RyLm1pbi5jc3NcIjtcbkBpbXBvcnQgXCJqcXVlcnktY29uZmlybS9jc3MvanF1ZXJ5LWNvbmZpcm0uY3NzXCI7XG5AaW1wb3J0IFwiYm94aWNvbnMvY3NzL2JveGljb25zLm1pbi5jc3NcIjtcbkBpbXBvcnQgXCJyZW1peGljb24vZm9udHMvcmVtaXhpY29uLmNzc1wiO1xuXG5cbkBpbXBvcnQgXCJzdHlsZS5jc3NcIjtcbkBpbXBvcnQgXCJ0YWJsZXMuY3NzXCI7XG5AaW1wb3J0IFwidmlzdGFzLmNzc1wiO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==*/