/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/app.css ***!
  \**************************************************************************************************************/
:root {
    --brand: #003366;
    --accent: #0066cc;
    --accent-secondary: #0d6efd;
    --bg: #f5f7fb;
    /* Height offset for sticky header under a11y toolbar */
    --header-top: 0px;
}

body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif;
    background: var(--bg);
    color: #1b1b1b;
}

h1 {
    font-size: 40px;
    margin: 0 0 12px;
    color: var(--brand);
    letter-spacing: .2px;
}

.btn {
    appearance: none;
    border: none;
    border-radius: 10px;
    padding: 12px 18px;
    font-weight: 600;
    cursor: pointer;
    transition: transform .05s ease, box-shadow .2s ease;
    text-decoration: none;
    display: inline-flex;
    align-items:center;
    gap: 10px;
}

.btn.primary {
    background: var(--accent);
    color: #fff;
    box-shadow: 0 6px 16px rgba(0,102,204,.25);
}

.btn.primary:hover {
    box-shadow: 0 8px 20px rgba(0,102,204,.32);
    transform: translateY(-1px);
}

.btn.secondary {
    background: var(--accent);
    color: #fff;
    padding: 11px 17px;
    border-radius: 4px;
}

.btn.ghost {
    background: transparent;
    color: #000;
    border: 2px solid #000;
}

.img-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.background-img-middle {
    position: absolute;
    /* top: 350px; */
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    z-index: 0;
    pointer-events: none;
}

.background-img-left {
    position: absolute;
    top: 0;
    left: 0;
    min-height: 2000px;
    height: 100%;
    width: auto;
    /* max-width: 560px; */
    object-fit: cover;
    object-position: left top;
    z-index: 0;
    pointer-events: none;
}

.background-img-down {
    position: absolute;
    bottom: 0;
    right: 0;
    width: auto;
    height: auto;
    z-index: 0;
    pointer-events: none;
}

/* Sticky footer layout */
html { height: 100%; }
body {
    margin: 0;
    /* height: 100%; */
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.site-main {
    flex: 1 0 auto;
    background-image: url(/build/images/bg.cd04d5e8.svg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
}

.site-footer {
    flex-shrink: 0;
    margin-top: auto; /* push footer to bottom when content is short */
}

input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type="number"] {
    -moz-appearance: textfield;
}

.tox-tinymce {
    width: 100%;
    border: 1px solid #D9D9D9 !important;
    border-radius: 20px !important;
}

.generic-button {
    background-color: hsl(0, 0%, 60%);
    border: none;
    border-radius: 30px;
    color: #f7f7f7;
    font-weight: 700;
    font-size: 1.3em;
    padding: 20px 30px;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: 0.2s;
}

.generic-button:hover {
    background-color: hsl(0, 0%, 65%);
    box-shadow: 0 0 3pt hsl(0, 0%, 80%);
}

.button-small {
    font-size: 0.8em;
    padding: 5px 10px
}

.content-container {
    position: relative;
    z-index: 10;
}

/* Homepage spacing: add horizontal margins for main content */
.home-container .content-container {
    max-width: 1765px; /* ~75% gutter reduction vs 1300px baseline on 1920px screens */
    margin: 0 auto;    /* center the container */
    padding-left: 6px; /* small left/right breathing room */
    padding-right: 6px;
}

/* Mobile optimizations */
@media (max-width: 768px) {
    .background-img-left,
    .background-img-down {
        display: none;
    }
    .background-img-middle {
        opacity: 0.35;
    }
}

/* Scroll-to-top button */
.scroll-top {
    position: fixed;
    right: 18px;
    bottom: 28px;
    z-index: 1000;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    border: none;
    background: var(--accent);
    color: #fff;
    box-shadow: 0 8px 20px rgba(0, 102, 204, 0.35);
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity .25s ease, transform .25s ease, box-shadow .2s ease;
}

.scroll-top.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.scroll-top:hover {
    box-shadow: 0 10px 24px rgba(0, 102, 204, 0.45);
}

.scroll-top svg { display: block; }

.clamp-4 {
    display: -webkit-box;
    -webkit-line-clamp: 4; /* Limit to 4 lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    .scroll-top { transition: none; }
}

/*!******************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/contact.css ***!
  \******************************************************************************************************************/
.contact-container {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 48px 16px;
    gap: 16px;
}

.contact-subcontainer {
    text-align: left;
}

.contact-header {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.contact-info {
    font-size: 1.1em;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
}

.contact-single {
    margin: 20px 0;
    line-height: 150%;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    border-radius: 10px;
    background: inherit;
    transition: transform 0.3s ease, color 0.3s ease, opacity 0.3s ease;
}

a.contact-single {
    text-decoration: none;
    color: inherit;
}

a.contact-single:focus {
    outline: none !important;
    outline-offset: 2px;
}

a.contact-single.contact-mail {
    color: inherit;
}

.contact-single:hover {
    transform: translateY(-3px);
    
}

.contact-icon {
    width: 22px;
    height: 22px;
    justify-self: center;
    align-self: center;
    margin-right: 0;
}

.contact-icon svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
    opacity: 0.8;
}

/* macOS glassmorphism card */
.glass-card {
    position: relative;
    width: min(92vw, 560px);
    padding: 24px 28px;
    border-radius: 18px;
    /* Make the card background more transparent while keeping the frosted look */
    background: linear-gradient(180deg, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0.06) 100%);
    border: hsl(0, 0%, 40%) 2pt solid;
    box-shadow:
        0 10px 30px rgba(0, 0, 0, 0.12),
        0 1px 0 rgba(255,255,255,0.18) inset;
    backdrop-filter: saturate(180%) blur(32px);
    -webkit-backdrop-filter: saturate(180%) blur(32px);
    color: rgba(20,20,20,0.9);
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.glass-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.16);
    border: hsl(0, 0%, 70%) 2pt solid;
}

/* subtle light reflection */
.glass-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    /* Subtler reflection for a clearer, more transparent glass */
    background: linear-gradient( to bottom right, rgba(255,255,255,0.25), rgba(255,255,255,0) 30% );
    mix-blend-mode: overlay;
    pointer-events: none;
}

/* Better spacing on small screens */
@media (max-width: 420px) {
    .glass-card {
        padding: 20px 18px;
        border-radius: 16px;
    }
    .contact-header {
        font-size: 1.4rem;
        margin-bottom: 14px;
    }
}

/* Fallback when blur isn’t supported */
@supports not ((-webkit-backdrop-filter: blur(10px)) or (backdrop-filter: blur(10px))) {
    .glass-card {
        /* Slightly lower opacity fallback to match the more transparent look */
        background: rgba(255,255,255,0.5);
    }
}

/*!***************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/home.css ***!
  \***************************************************************************************************************/
.home-container {
    position: relative;
    min-height: 70vh;
    padding: 40px 20px;
    overflow: hidden;
    min-height: 2000px;
}

.hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

header.home-header {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    color: #fff;
    background: linear-gradient(135deg, var(--brand), #002448 60%);
    box-shadow: 0 4px 18px rgba(0, 0, 0, .08);
}

header.home-header .title {
    font-weight: 700;
    letter-spacing: .4px;
}

header.home-header .title strong {
    color: #fff;
}

.logo {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    display: inline-grid;
    place-items: center;
    margin-right: 10px;
    background: #fff1;
    border: 1px solid #ffffff22;
    color: #fff;
    font-weight: 700;
}

footer.home-footer {
    text-align: center;
    color: #7a7a7a;
    font-size: 13px;
    padding: 18px;
}

.card {
    background: #fff;
    border-radius: 16px;
    padding: 40px 28px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
    max-width: 820px;
    width: 100%;
}

.subtitle {
    font-size: 18px;
    color: #444;
    margin: 0 0 24px;
}

.actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 8px;
}

.meta {
    margin-top: 22px;
    color: #666;
    font-size: 14px;
}

.card-materials {
    margin-top: 20px;
    width: 100%;
    max-width: 1100px;
}

.card-materials h2 {
    margin-top: 0;
}

.card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 18px;
}

.card-tile {
    text-decoration: none;
    color: inherit;
    display: block;
    border-radius: 14px;
    background: #fff;
    border: 1px solid #e6e6e6;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .04);
    overflow: hidden;
}

.card-container-head {
    position: relative;
    height: 160px;
    background: #f7f9fc;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

/* Pegging/pin decoration for home cards */
.card-peg {
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 16px;
    height: 16px;
    background: #e11d48; /* rose-600 */
    border-radius: 50%;
    box-shadow: 0 2px 0 rgba(0,0,0,.2), 0 8px 14px rgba(0,0,0,.18);
    z-index: 2;
}
.card-peg::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 14px;
    transform: translateX(-50%);
    width: 2px;
    height: 10px;
    background: rgba(0,0,0,.2); /* small shadow like a pin */
    border-radius: 1px;
}
.card-container-head::before {
    content: '';
    position: absolute;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 8px;
    background: rgba(0,0,0,.04);
    filter: blur(2px);
    border-radius: 999px;
    z-index: 1;
}

.card-thumbnail {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.card-no-thumbnail {
    font-weight: 700;
    color: #4a77c9;
    background: #e8f0fe;
    padding: 6px 10px;
    border-radius: 999px;
    position: absolute;
    top: 12px;
    left: 12px;
}

.card-duration {
    position: absolute;
    top: 12px;
    right: 12px;
    background: #e8f0fe;
    color: #1e3a8a;
    border-radius: 999px;
    padding: 6px 10px;
    font-weight: 600;
    font-size: 12px;
}

.card-container-body {
    padding: 12px 14px 14px;
}

.card-category-container {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
    color: #2563eb;
    font-weight: 600;
}

.card-category-type {
    margin-left: auto;
    background: #FEF3C7; /* solid pale yellow to avoid transparency */
    border: 1px solid #FDE68A;
    color: #92400e;
    font-size: 12px;
    padding: 2px 8px;
    border-radius: 999px;
}

.card-body-title {
    margin: 0 0 6px;
    font-size: 18px;
    line-height: 1.25;
}

.card-body-desc {
    margin: 0;
    color: #6b7280;
    font-size: 14px;
}

.card-owner-contaniner {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    color: #6b7280;
    font-size: 13px;
}

.card-owner {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.card-details {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
    color: #2563eb;
    font-weight: 600;
}

.card-button-container {
    margin-top: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    align-items: center;
}

@media (max-width: 480px) {
    .card-button-container .btn {
        padding: 10px 14px;
        font-size: 14px;
    }
}

/* Home page centering adjustments */
.home-logo-banner {
    display: flex;
    align-items: center;
    justify-content: center;
    /* gap: 18px; */
    width: 100%;
    max-width: 1100px;
    margin: 0 auto 20px;
    text-align: center;
    flex-direction: column;
    gap: 1rem;
    position: relative;
    z-index: 10;
}

.home-logo-banner-img {
    max-height: 80px;
    height: auto;
    width: auto;
}

.home-logo-banner-text {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;

}

.home-logo-banner-img-container {
    margin-bottom: 0.5rem;
}


/* Ensure cards are centered within the hero */
.card,
.card-materials {
    margin-left: auto;
    margin-right: auto;

    width: 100%;
    max-width: 1200px;
}

/* Make the materials section container transparent on the home page */
.card.card-materials {
    background: transparent;
}

/*!********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/materials.css ***!
  \********************************************************************************************************************/
.materials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
}

.materials-tile {
    border: 1px solid #ddd;
    padding: 12px;
    text-decoration: none;
    color: inherit;
    border-radius: 8px;
    display: block;
}

.materials-thumbnail-container {
    height: 120px;
    background: #f7f7f7;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 8px;
}

.materials-thumbnail {
    max-width: 100%;
    max-height: 100%;
}

.materials-title {
    margin:8px 0 4px;
}

.materials-desc {
    margin: 0;
    color: #666;
}

.player {
    margin-top: 16px;
}

.player-img {
    max-width: 100%;
}

.materials-download-button-container {
    margin-top: 12px;
}

.addMaterialFormContainer {
    display: flex;
    flex-direction: column;
    width: 100%;
    justify-content: center;
    align-items: center;
    padding: 50px 0;
}

.addMaterialFormContainer form {
    width: 90%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #fbfbfb;
    padding: 3vh 0;
    border-radius: 30px;
}

.addMaterialFormContainer form > div {
    width: 90%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}


.addMaterialLabel {
    font-size: 1em;
    text-align: left;
    margin: 25px 0 5px 0;
    color: #969696;
}

input.addMaterialInput,
select.addMaterialInput {
    width: 100%;
    min-height: 50px;
    border: none;
    border-bottom: hsl(0, 0%, 40%) 2pt solid;
    border-radius: 4pt 4pt 0 0;

    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    outline: none;

    font-size: 1.2em;
    text-indent: 15px;
    text-align: left;
}

select.addMaterialInput {
    background-image: url(/build/images/select-down.f8677461.png);
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem;
    padding-right: 2rem;
}

input.addMaterialInput:hover,
select.addMaterialInput:hover {
    border-bottom: hsl(0, 0%, 50%) 2pt solid;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

input.addMaterialInput:focus,
select.addMaterialInput:focus,
input.addMaterialInput:active,
select.addMaterialInput:active {
    border-bottom: hsl(0, 0%, 50%) 2pt solid;
    box-shadow: 0 0 5pt hsl(0, 0%, 40%);
    outline: 0;
}

.addMaterialFormButton {
    width: 100%;
    background-color: hsl(0, 0%, 80%);
    margin: 50px 0;
    border: none;
    border-radius: 30px;
    color: #f7f7f7;
    font-weight: 700;
    font-size: 1.3em;
    padding: 10pt 0;
    text-align: center;
    cursor: pointer;
    transition: 0.2s;
}

.addMaterialFormButton:hover {
    background-color: hsl(0, 0%, 85%);
    box-shadow: 0 0 3pt hsl(0, 0%, 80%);
}

.uploadInput {
    display: none;
}

.thumbnailPreviewContainer {
    display: block;
    justify-content: center;
    align-items: center;
}

.thumbnailPreview {
    width: 100%;
    height: 500px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border: 1px solid #ccc;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.materialFileList {
    max-height: 420px;
    overflow-y: auto;
    list-style: none;
    padding: 0;
    margin: 0;
}

.materialFileList::-webkit-scrollbar {
    width: 6px;
}

.materialFileList::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,0.25);
    border-radius: 3px;
}

.materialFileList a {
    color: black;
    text-decoration: none !important;
    outline: none !important;
}

.materialFileList li {
    color: black;
    text-decoration: none;
    font-size: 1.2em;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 6px 0;
    font-size: 0.9rem;

    border-bottom: 1px dashed rgba(0,0,0,0.2);
}

.materialFileList li:last-child {
    border-bottom: none;
}

.materialFileList a:hover {
    color: hsl(0, 0%, 20%);
    text-decoration: none;
    transition: 0.2s;
}

.materialFileList button {
    background-color: hsl(0, 0%, 80%);
    border: none;
    border-radius: 10px;
    color: #f7f7f7;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    margin-left: 5px;
    cursor: pointer;
    transition: 0.2s;
}

.materialFileList button svg {
    width: 20px;
    height: 20px;
}

.materialFileList button:hover {
    background-color: hsl(0, 0%, 85%);
    box-shadow: 0 0 3pt hsl(0, 0%, 80%);
}

.ddBox {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 200px;
    background-color: hsl(0, 0%, 95%);
    border: hsl(0, 0%, 40%) 2pt solid;
    border-radius: 4pt;
    text-align: center;
    font-size: 2em;
    font-weight: 700;
}

.dragover {
    background-color: hsl(0, 0%, 98%);
}

.materialToolbar {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 20px;
}

.materialShowContainer {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
    margin: 5vh 0;
    padding: 0 5vw;
}

.materialShowInfoContainer {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 32px;

    border: 2px solid hsl(0, 0%, 70%);
    padding: 50px 20px;
    border-radius: 30px;

    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(1px);

    flex: 2.5;
}

.materialShowDataContainer {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    gap: 32px;

    border: none;

    padding-bottom: 5vh;
    margin-left: 2vw;
}

.materialShowInfoTitleContainer {
    width: 90%;
    font-size: 2.5em;
    font-weight: 700;
    text-align: center;

    padding: 15px 25px;
    
    border: 2px solid hsl(0, 0%, 60%);
    border-radius: 15px;
    
    background: rgba(255,255,255,0.05);

    box-shadow:
        0 6px 18px rgba(0,0,0,0.18),
        inset 0 1px 0 rgba(255,255,255,0.18);
}

.materialShowInfoDescContainer {
    width: 90%;
    padding: 15px 25px;

    border: 2px solid hsl(0, 0%, 60%);
    border-radius: 15px;

    background: rgba(255,255,255,0.05);
    
    box-shadow:
        0 6px 12px rgba(0,0,0,0.12),
        inset 0 1px 0 rgba(255,255,255,0.12);
}

/*
  Ensure rich HTML inserted into the description HTML container scales to the
  actual container size and does not overflow. We scope the rules narrowly to
  the additional HTML block with id "htmlContainer" used on the material page.
*/
#htmlContainer {
    /* Allow scrolling for exceptionally large content while keeping layout intact */
    height: 750px; /* Match .materialShowInfoFileShowcaseContainer height */
    overflow: auto;
}

/* Images and videos should not exceed the container width */
#htmlContainer img,
#htmlContainer video {
    max-width: 100% !important;
    height: auto !important;
}

/* Iframes and other embedded objects should fit the width; limit height */
#htmlContainer iframe,
#htmlContainer embed,
#htmlContainer object {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    /* Constrain height to viewport while still allowing internal scrollbars if needed */
    max-height: 70vh;
    border: none;
}

/* Tables: let them fill width and scroll horizontally if needed */
#htmlContainer table {
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: collapse;
}

#htmlContainer .table-responsive,
#htmlContainer .table-wrapper {
    overflow-x: auto;
}

/* Avoid long words/URLs breaking layout */
#htmlContainer,
#htmlContainer p,
#htmlContainer div,
#htmlContainer li,
#htmlContainer code,
#htmlContainer pre {
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* Preserve code formatting but allow wrap to prevent overflow */
#htmlContainer pre {
    white-space: pre-wrap;
}

.materialShowInfoFileShowcaseContainer {
    width: calc(90% + 50px);
    height: 750px;
    border: 2px solid hsl(0, 0%, 60%);
    border-radius: 15px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(255,255,255,0.05);

    box-shadow:
        0 12px 32px rgba(0,0,0,0.12),
        inset 0 1px 0 rgba(255,255,255,0.12);
}

.materialShowInfoFileShowcaseContainer.text-preview {
    overflow: auto; /* only enabled for text files */
}

.materialShowInfoFileShowcaseContainer pre {
    margin: 0;
    white-space: pre-wrap;
    word-break: break-word;
}

.materialShowDataSubContainer {
    display: flex;
    flex-direction: column;
    width: 100%;
    /* Removed background color as per design: panels should be transparent */
    border: 2px solid hsl(0, 0%, 70%);
    border-radius: 12px;
    padding: 18px 12px;

    background: rgba(255, 255, 255, 0.02);
    backdrop-filter: blur(1px);

    box-shadow:
        0 6px 18px rgba(0, 0, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
    
}

.materialImg {
    width: 100%;
    height: 220px;
    display: block;
    border: 2px solid hsl(0, 0%, 60%);
    object-fit: cover;
    border-radius: 12px;
}

.banner-material {
    width: 100%;
    transform: none;
    height: 3vh;
    box-shadow: 0 0 0 2px hsl(0, 0%, 70%);
    margin-top: 2vh;

    background: linear-gradient(
        to right,
        #F15A24 0%,
        #F36D22 18.78%,
        #F58220 46.94%,
        #F78F1E 74.36%,
        #F7931E 100%
    );
    z-index: 3;
}

/* Make banners span the entire width of the right panel, ignoring the panel's inner padding */
.materialShowDataSubContainer .banner-material {
    margin-left: -12px;
    margin-right: -12px;
    width: calc(100% + 24px);
}

.materialShowDataCategory {
    font-size: 1.5em;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-bottom: 12px;
}

.materialMetadataList {
    font-weight: 400;
    font-size: 1em;
}

.materialMetadataListTitle {
    font-weight: 600;
    font-size: 1em;
}

.materialFileList.materialShowDataFileList li,
.materialFileList.materialShowDataFileList button {
    font-size: 1em !important;
}

.filePreviewDownload {
    align-self: center;
    justify-self: center;
    display: flex;
    align-items: center;
    justify-content: center;
}


.wizard {
    margin-top: 1rem;
}

.wizard-steps {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin: 0 0 1rem 0;
    gap: .5rem;
}

.wizard-step {
    cursor: pointer;
    padding: .5rem .75rem;
    border-radius: 5px;
    background: #fbfbfb;
    border: 1pt solid hsl(0, 0%, 40%);
    text-align: center;
    font-weight: 600;
    flex: 1;
}

.wizard-step:hover {
    background-color: #ebebeb;
    box-shadow: 0 0 3pt #ebebeb;
}

.wizard-step.active {
    background: hsl(0, 0%, 80%);
    color: #f7f7f7;
    border-color: hsl(0, 0%, 40%)
}

.wizard-content {
    width: 100%;
    padding: 1rem;
    border-radius: 6px;
}

.wizard-pane {
    display: none;
}

.wizard-pane.active {
    display: flex;
    flex-direction: column;
}

.wizard-pane.active > div {
    margin: 10px 0;
}

.wizard-nav {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    margin-top: 1rem;
}

.addMaterialFormButton.secondary {
    background: #e5e7eb;
    color: #111827;
}

.wizard-hint {
    font-size: .875rem;
    color: #6b7280;
    margin-top: .25rem;
}


/* Right panel: download button should be icon-only with specific color and transparent background */
.materialFileList.materialShowDataFileList button {
    background-color: transparent;
    color: #274268; /* icon color via currentColor */
    box-shadow: none;
}

.materialFileList.materialShowDataFileList button:hover,
.materialFileList.materialShowDataFileList button:focus {
    background-color: transparent;
    color: #274268;
    box-shadow: none;
}

/*!*******************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/partials.css ***!
  \*******************************************************************************************************************/
/* Header */
.site-header {
    /* Sticky header: keep the main menu visible at the top */
    position: sticky;
    /* Offset by toolbar height if present */
    top: var(--header-top, 0);
    /* Keep above all page content but below a11y toolbar (1000) and search modal (3000) */
    z-index: 950;
    /* background: #0b1e39; */
    background: #274268;
    color: #e4f4fa;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .08);
}

/* Homepage header background override */
.home-header {
    background: #274268;
}

/* Homepage main menu text color */
.home-header .main-nav a {
    color: #e4f4fa;
}

.home-header .main-nav a:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.12);
}

.site-header .container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    position: relative;
}

.brand {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    /* color: #e6eefc; */
    color: #e4f4fa;
}

.brand:hover {
    color: #fff;
}

.brand svg {
    width: 28px;
    height: 28px;
}

.brand .name {
    font: 600 16px/1.2 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    letter-spacing: .2px;
}

/* Mobile menu toggle */
.menu-toggle {
    display: none;
    width: 40px;
    height: 36px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 8px;
    background: transparent;
    cursor: pointer;
    align-items: center;
    justify-content: center;
}

.menu-toggle__bar {
    display: block;
    width: 20px;
    height: 2px;
    background: #000000;
    margin: 3px 0;
}

.main-nav {
    display: flex;
    gap: 12px;
    align-items: center;
    flex: 1 1 auto;
    justify-content: center;
}

.main-nav a {
    /* color: #b7d1ff; */
    color: #e4f4fa;
    text-decoration: none;
    padding: 8px 12px;
    border-radius: 8px;
    white-space: nowrap;
    font-size: 18px;
}

.main-nav a:hover {
    /* color: #fff; */
    /* background: #10284d; */
    color: #ffffff;
    background: rgba(255, 255, 255, 0.12);
    transition: 0.2s;
}

.site-header [data-lang-dropdown] {
    position: relative;
    margin-left: 0;
}

.site-header [data-lang-dropdown] .lang-dropdown__button {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-radius: 8px;
    border: 1px solid #000000;
    background: #CDCDCD;
    /* color: #0b1e39; */
    color: #000000;
    font: 600 14px/1.2 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    white-space: nowrap;
    cursor: pointer;
}

.site-header [data-lang-dropdown] .lang-dropdown__label {
    white-space: nowrap;
}

.site-header [data-lang-dropdown] .lang-dropdown__button:hover {
    background: #E2E2E2;
}

.site-header [data-lang-dropdown] .lang-dropdown__icon {
    font-size: 16px;
}

.site-header [data-lang-dropdown] .lang-dropdown__caret {
    color: #000000;
}

.site-header [data-lang-dropdown] .lang-dropdown__menu {
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    min-width: 180px;
    background: #CDCDCD;
    border: 1px solid #cfe3ff;
    border-radius: 8px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .08);
    padding: 6px 0;
    list-style: none;
    margin: 0;
    display: none;
    z-index: 200;
}

.site-header [data-lang-dropdown] .lang-dropdown__menu.is-open {
    display: block;
    border: 1px solid #000000;
}

.site-header [data-lang-dropdown] .lang-dropdown__menu a {
    display: block;
    padding: 8px 12px;
    color: #0b1e39;
    text-decoration: none;
}

.site-header [data-lang-dropdown] .lang-dropdown__menu a:hover {
    background: #E2E2E2;
}

/* === PKS 04.11.2025 */
.site-header .header-grid {
    display: grid;
    grid-template-columns: auto 1fr auto; /* lewa | środek | prawa */
    align-items: center;
    gap: 16px;
    min-height: 64px; /* wg potrzeby */
    padding-inline: 16px; /* wg potrzeby */
}

.header-grid__left,
.header-grid__right {
    display: flex;
    align-items: center;
}

.header-grid__center {
    display: flex;
    justify-content: center; /* środek jest faktycznie na środku */
}

.header-grid__center .center-wrap {
    display: flex;
    align-items: center;
    gap: 16px;
}

/* Dodatkowe dopracowanie */
.brand-logo img,
.ced-logo img {
    height: 40px;
    width: auto;
}

/* Responsywność: na małych ekranach ułóż w 3 rzędy, jeśli potrzebne */
@media (max-width: 768px) {
    .site-header .header-grid {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .header-grid__center {
        grid-column: 1 / 4; /* środek w osobnym wierszu */
        order: 2;
        justify-content: center;
        margin-top: 8px;
    }

    .header-grid__left {
        order: 1;
        justify-content: flex-start;
    }

    .header-grid__right {
        order: 3;
        justify-content: flex-end;
    }
}

/* === */

/* Footer */
.site-footer {
    /* background: #0b1e39; */
    background: #478bd9;
    color: #000000;
    font: 14px/1.6 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.site-footer a {
    color: #404040;
    text-decoration: none;
}

.site-footer a:hover {
    color: #fff;
    text-decoration: underline;
}

.site-footer .container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 24px 16px;
}

.footer-columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    padding: 16px 0;
}

.footer-col h3,
.footer-col h4 {
    margin: 0 0 8px;
}

.footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-bottom p {
    margin: 0;
    padding: 12px 0;
    color: #000000;
    font-size: 13px;
    text-align: center;
}

.footer-img-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.footer-img {
    width: 300px;
    max-width: 100%;
    height: auto;
    margin: 0 10px;
}

.footer-funding-text {
    text-align: center;
    margin: 8px 0 16px;
    color: #000000;
}

.footer-funding-text p {
    margin: 2px 0;
    font-size: 20px;
}

/* Search modal overlay */
.search-modal[hidden] {
    display: none !important;
}

.search-modal {
    position: fixed;
    inset: 0;
    z-index: 3000; /* above sticky header */
}

.search-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .5);
}

.search-modal__dialog {
    position: relative;
    max-width: 75%;
    margin: 12vh auto 0;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .25);
    padding: 30px;
}

.visually-hidden {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 1px, 1px);
    white-space: nowrap;
    border: 0;
}

/* Reuse top-search form styles inside modal */
.top-search__form {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

/* Ensure children lay out on one row */
.top-search__input-wrap {
    position: relative;
    width: 40%;
}

.top-search__btn {
    position: relative;
    align-items: center;
    white-space: nowrap;
    border: 1px solid #000;
    background: #e0e0e0;
    color: #000;
    font-size: 16px;
    padding: 15px 20px;
    margin-left: 20px;
}

.top-search__close {
    background: none;
    border: 1px solid #ddd;
    color: #333;
    cursor: pointer;
    border-radius: 10px;
    padding: 8px 10px;
    position: absolute;
    top: 5%;
    right: 1%;
}

.top-search__icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    color: #555;
    margin-left: -75px;
}

.top-search__input {
    width: 100%;
    padding: 15px 15px 15px 40px;
    margin-left: -75px;
    border: 1px solid #000;
    border-radius: 999px;
    font-size: 16px;
    outline: none;
    background-clip: padding-box;
    overflow: hidden;
}

.top-search__input:focus {
    border-color: #000 !important;
    outline: none !important;
    box-shadow: none !important;
}

.top-search__spinner {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid #fff;
    border-top-color: rgba(255, 255, 255, 0.2);
    display: none;
    animation: spin 0.8s linear infinite;
}

.top-search__form.is-loading .top-search__spinner {
    display: inline-block;
}

.top-search__form.is-loading .top-search__btn-label {
    opacity: .8;
}

.search-toggle {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    border: 1px solid transparent;
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #e4f4fa;
}

.search-toggle:hover {
    background: rgba(255, 255, 255, 0.12);
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* Right-side header controls wrapper */
.right-controls {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Prevent background scroll when modal open */
body.modal-open {
    overflow: hidden;
}

@media (max-width: 720px) {
    .menu-toggle {
        display: inline-flex;
    }

    .main-nav {
        position: static;
        transform: none;
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
        display: none;
        width: 100%;
        background: #EDEDED;
        border: 1px solid #000000;
        border-radius: 8px;
        padding: 8px;
    }

    .main-nav.is-open {
        display: flex;
    }

    .main-nav a[aria-current="page"] {
        color: #000000 !important;
    }

    .main-nav a {
        padding: 10px 12px;
        color: #333;
    }

    .main-nav a:hover {
        color: #000000;
    }

    .site-header [data-lang-dropdown] {
        margin-left: 0;
    }

    .footer-columns {
        grid-template-columns: 1fr;
    }

    .footer-img {
        max-width: 45%;
    }
}

/* Keep single-row layout also on narrow phones */
@media (max-width: 520px) {
    .top-search__input-wrap {
        flex: 1 1 70%;
        max-width: 70%;
    }
}


/* Override: make search toggle transparent within right controls (main page header) */
.right-controls .search-toggle {
    background: transparent;
    border-color: transparent;
}

.right-controls .search-toggle:hover {
    background: rgba(255, 255, 255, 0.12);
    transition: 0.2s;
}


/* Search toggle icon color should match main menu text */
.home-header .search-toggle {
    color: #e4f4fa;
}

.home-header .search-toggle:hover {
    color: #ffffff;
}


/* Accessibility floating dropdown (right-center with human icon) */
[data-a11y-dropdown] {
    position: fixed;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1200; /* above sticky header and toolbar */
}

[data-a11y-dropdown] .lang-dropdown__button {
    width: 64px;
    height: 64px;
    padding: 0;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    background: #f3f8ff;
    border: 1px solid #cfe3ff;
    color: #0b1e39;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .12);
}

[data-a11y-dropdown] .lang-dropdown__button:hover {
    background: #e7f1ff;
}

[data-a11y-dropdown] .lang-dropdown__icon {
    font-size: 20px;
    width: 20px;
    height: 20px;
}

[data-a11y-dropdown] .lang-dropdown__label,
[data-a11y-dropdown] .lang-dropdown__caret {
    display: none;
}

/* Menu opens to the left, vertically centered */
[data-a11y-dropdown] .lang-dropdown__menu {
    position: absolute;
    right: calc(100% + 8px);
    top: 50%;
    transform: translateY(-50%);
    min-width: 220px;
    max-height: min(80vh, 360px);
    overflow-y: auto;
    background: #CDCDCD;
    border: 1px solid #000000;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
    padding: 6px 0;
    list-style: none;
    margin: 0;
    display: none;
}

[data-a11y-dropdown] .lang-dropdown__menu.is-open {
    display: block;
}

/* Mobile adjustments: dock near bottom-right, open upward */
@media (max-width: 720px) {
    [data-a11y-dropdown] {
        top: auto;
        bottom: 16px;
        transform: none;
    }

    [data-a11y-dropdown] .lang-dropdown__menu {
        right: 0;
        bottom: calc(100% + 8px);
        top: auto;
        transform: none;
    }
}

/* Readability and responsiveness tweaks for floating a11y dropdown */
[data-a11y-dropdown] .lang-dropdown__menu {
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.45;
    color: #111;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

[data-a11y-dropdown] .lang-dropdown__menu li { /* ensure items don't collapse */
    padding: 0;
}

[data-a11y-dropdown] .a11y-btn {
    font-size: 14px;
    min-height: 36px;
    padding: 8px 12px;
    border-radius: 8px;
}

@media (max-width: 720px) {
    [data-a11y-dropdown] .lang-dropdown__menu {
        font-size: 16px;
        line-height: 1.5;
    }

    [data-a11y-dropdown] .a11y-btn {
        min-height: 40px;
        padding: 10px 14px;
    }
}

.main-nav a[aria-current="page"] {
    background: rgba(255, 255, 255, 0.18);
    color: #ffffff;
    font-weight: 600;
}

.home-header .main-nav a[aria-current="page"] {
    background: rgba(255, 255, 255, 0.18);
    color: #ffffff;
}

/* Global container width to match home page */
.container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 16px;
}

/* Footer */
.site-footer {
    /* background: #0b1e39; */
    background: #478bd9;
    color: #000000;
    font: 14px/1.6 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.site-footer a {
    color: #404040;
    text-decoration: none;
}

.site-footer a:hover {
    color: #fff;
    text-decoration: underline;
}

.site-footer .container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 24px 16px;
}

.footer-columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    padding: 16px 0;
}

.footer-col h3,
.footer-col h4 {
    margin: 0 0 8px;
}

.footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-bottom p {
    margin: 0;
    padding: 12px 0;
    color: #000000;
    font-size: 13px;
    text-align: center;
}

.footer-img-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.footer-img {
    width: 300px;
    max-width: 100%;
    height: auto;
    margin: 0 10px;
}

.top-search__filters {
    display: flex;
    flex-direction: row;
    align-items:center;
    justify-content: center;
    width: 40%;
}

.select-wrapper {
    border: 1px solid #d0d0d0;
    border-radius: 10px;
    overflow: hidden;      /* fixes the scrollbar bleeding */
    background: #fafafa;
    display: inline-block; /* fits the width naturally */
}

.select-wrapper select {
    border: none;
    width: 100%;
    height: 100%;
    padding: 6px;
    background: transparent;
    box-sizing: border-box;
}


.top-search__filters-container {
    display:flex;
    flex-direction:column;
    font-size:13px;
    color: #000000;
}

.top-search__filters-container label {
    margin-bottom: 5px;
}

.top-search__filters-container .form-multi-select {
    width: 220px;                       /* adjust freely */
    min-height: 110px;                  /* good height for multi-select */
    border-radius: 10px;
    padding: 6px;
    box-sizing: border-box;
    font-size: 16px;
    color: #333;
    background-color: #fafafa;
    cursor: pointer;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

/* On focus */
.top-search__filters-container .form-multi-select:focus {
    border-color: #0066cc;              /* nice blue focus */
    box-shadow: 0 0 0 3px rgba(59,130,246,0.2);
    background-color: #fff;
}

/* Style the options */
.top-search__filters-container .form-multi-select option {
    padding: 4px 6px;
    border-radius: 5px;
    margin: 1px 0;
}

/* Highlight selected option(s) */
.top-search__filters-container .form-multi-select option:checked {
    background-color: #0066cc !important;
    color: white;
}

/* Parent containers spacing */
.top-search__filters-container {
    margin-right: 25px;
}

.top-search__filters-container:last-child {
    margin-right: 0;
}


@media (max-width: 1440px) {
    .top-search__form {
        flex-direction: column;
    }

    .top-search__input-wrap {
        width: 60%;
    }

    .top-search__input,
    .top-search__icon {
        margin-left: -40px;
    }

    .top-search__filters {
        margin: 20px 0;
    }

    .top-search__btn {
        margin: 0;
    }
}

@media (max-width: 768px) {
    .top-search__filters {
        flex-direction: column;
    }

    .top-search__filters-container {
        margin: 10px 0;
    }
}

/* Accessibility floating dropdown (right-center with human icon) */
[data-a11y-dropdown] {
    position: fixed;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1200; /* above sticky header and toolbar */
}

[data-a11y-dropdown] .lang-dropdown__button {
    width: 64px;
    height: 64px;
    padding: 0;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    background: #f3f8ff;
    border: 1px solid #cfe3ff;
    color: #0b1e39;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .12);
}

[data-a11y-dropdown] .lang-dropdown__button:hover {
    background: #e7f1ff;
}

[data-a11y-dropdown] .lang-dropdown__icon {
    font-size: 20px;
    width: 20px;
    height: 20px;
}

[data-a11y-dropdown] .lang-dropdown__label,
[data-a11y-dropdown] .lang-dropdown__caret {
    display: none;
}

/* Menu opens to the left, vertically centered */
[data-a11y-dropdown] .lang-dropdown__menu {
    position: absolute;
    right: calc(100% + 8px);
    top: 50%;
    transform: translateY(-50%);
    min-width: 220px;
    max-height: min(80vh, 360px);
    overflow-y: auto;
    background: #CDCDCD;
    border: 1px solid #000000;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
    padding: 6px 0;
    list-style: none;
    margin: 0;
    display: none;
}

[data-a11y-dropdown] .lang-dropdown__menu.is-open {
    display: block;
}

/* Mobile adjustments: dock near bottom-right, open upward */
@media (max-width: 720px) {
    [data-a11y-dropdown] {
        top: auto;
        bottom: 16px;
        transform: none;
    }

    [data-a11y-dropdown] .lang-dropdown__menu {
        right: 0;
        bottom: calc(100% + 8px);
        top: auto;
        transform: none;
    }
}

/* Readability and responsiveness tweaks for floating a11y dropdown */
[data-a11y-dropdown] .lang-dropdown__menu {
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.45;
    color: #111;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

[data-a11y-dropdown] .lang-dropdown__menu li { /* ensure items don't collapse */
    padding: 0;
}

[data-a11y-dropdown] .a11y-btn {
    font-size: 14px;
    min-height: 36px;
    padding: 8px 12px;
    border-radius: 8px;
}

@media (max-width: 720px) {
    [data-a11y-dropdown] .lang-dropdown__menu {
        font-size: 16px;
        line-height: 1.5;
    }

    [data-a11y-dropdown] .a11y-btn {
        min-height: 40px;
        padding: 10px 14px;
    }
}

.main-nav a[aria-current="page"] {
    background: rgba(255, 255, 255, 0.18);
    color: #ffffff;
    font-weight: 600;
}

.home-header .main-nav a[aria-current="page"] {
    background: rgba(255, 255, 255, 0.18);
    color: #ffffff;
}


/* Ensure consistent header height across all pages */
.site-header .container {
    min-height: 60px;
}


/* Utility: visually hide content but keep it accessible for screen readers */
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important; /* prevent line breaks */
    border: 0 !important;
}


/* Footer overrides: first row back to #274268, bottom row white */
.site-footer {
    background: #274268;
    color: #e4f4fa;
}

.site-footer a {
    color: #e4f4fa;
    text-decoration: none;
}

.site-footer a:hover {
    color: #ffffff;
    text-decoration: underline;
}

.footer-funding-text {
    color: #e4f4fa;
}

/* Keep full-width via parent; no shadow hack required */
.footer-img-container {
    background: transparent;
    color: inherit;
    padding: 12px 0;
    box-shadow: none;
    clip-path: none;
}

.footer-bottom {
    background: #ffffff;
    color: #000000;
}

.footer-bottom a {
    color: #404040;
}


/* Footer: align partner logos left, center, and right */
.footer-img-container {
    justify-content: space-between;
}


/* Header logos: PK on the left as brand, CED integrated into right controls */
.brand-logo {
    display: inline-flex;
    align-items: center;
    /* Place the PK logo flush to the left edge of the header container */
    margin-left: 0;
    /* Keep a little spacing from the rest of the content */
    margin-right: 8px;
}

/* Keep the CED logo snug to the right edge of the header container */
.ced-logo {
    margin-right: 0;
}

.brand-logo img {
    height: 80px;
    max-height: 80px;
    width: auto;
    display: block;
}

.ced-logo img {
    height: 48px;
    max-height: 48px;
    width: auto;
    display: block;
}

@media (max-width: 720px) {
    .brand-logo {
        margin-left: 0;
        margin-right: 6px;
    }

    .ced-logo {
        margin-right: 0;
    }

    .brand-logo img {
        height: 40px;
        max-height: 40px;
    }

    .ced-logo img {
        height: 40px;
        max-height: 40px;
    }
}


/* Footer: make the second row (logos only) white */
.footer-logos-row {
    background: #ffffff;
}

.footer-logos-row .container {
    padding-top: 12px;
    padding-bottom: 12px;
}


/* Top menu font: use Lato for main navigation links */
.site-header .main-nav a {
    font-family: 'Lato', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}


/* Header edge-flush logos override: push PK to viewport left and CED to viewport right
   without changing the container padding for the rest of the content. */
.site-header .container {
    --header-side-padding: 16px;
}

/* Visually extend logos to the viewport edges by offsetting container side padding */
.brand-logo {
    margin-left: calc(-1 * var(--header-side-padding, 16px));
}

.right-controls {
    margin-right: calc(-1 * var(--header-side-padding, 16px));
}

.ced-logo {
    margin-right: 0;
}

/* Keep behavior on small screens */
@media (max-width: 720px) {
    .site-header .container {
        --header-side-padding: 16px;
    }

    .brand-logo {
        margin-left: calc(-1 * var(--header-side-padding, 16px));
    }

    .right-controls {
        margin-right: calc(-1 * var(--header-side-padding, 16px));
    }

    .ced-logo {
        margin-right: 0;
    }
}

/*!*******************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/security.css ***!
  \*******************************************************************************************************************/
.login-error-message {
    color: #b00;
    margin-bottom: 1em;
}

.login-form-section {
    margin-bottom: 15px;
}

.login-logout {
    margin-top: 1em;
}

.register-container {
    max-width: 980px;
    margin: 24px auto;
    padding: 0 16px;
    font: 16px/1.6 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    position: relative;
    z-index: 10;
}

.register-title {
    margin: 0 0 8px;
}

.register-text {
    margin-top: 0;
    color: #555;
}

.register-form {
    display: block;
    width: 100%;
    background: #fbfbfb;
    border: hsl(0, 0%, 40%) 2pt solid;
    border-radius: 12px;
    padding: 16px;
}

.register-form-email-section {
    margin-bottom: 15px;
}

.register-form-password-section {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
}

.register-form-section {
    margin: 15px 0;
}

.register-form label {
    font-size: 12pt;
    font-weight: 500;
    color: #000000;
}

input.register-form-input,
select.register-form-input {
    width: 100%;
    height: 24px; /* 24 for padding and border-bottom - to make selects have the same on-page height */
    padding: 10px 0;
    border: hsl(0, 0%, 40%) 1pt solid;
    border-radius: 10px;

    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    outline: none;

    font-size: 1.1em;
    text-indent: 10px;
    text-align: left;

    background: rgba(255, 255, 255, 0.65);
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

select.register-form-input {
    height: 45px;
    background-image: url(/build/images/select-down.f8677461.png);
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 0.9rem;
    padding-right: 2rem;
}

input.register-form-input:hover,
select.register-form-input:hover {
    border: hsl(0, 0%, 70%) 1pt solid;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

input.register-form-input:focus,
select.register-form-input:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 4px rgba(37,99,235,0.15);
    /* box-shadow: 0 0 0 4px rgba(160, 160, 160, 0.25); */
    outline: none;
}

select.register-form-input option {
    padding: 5px 10px;
    text-indent: 10px;
}

.register-form-terms {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.register-form-no-captcha {
    padding: 10px;
    border: 1px dashed #999;
    border-radius: 6px;
    background: #fcfcfc;
    color: #555;
}

.register-already-has-acc {
    margin-top: 16px;
}

/* Login page specific */
/* Glassmorphism redesign (scoped to login only) */
.login-page {
    position: relative;
    min-height: 100vh;
    display: block;
    /* Gradient background */
    background: radial-gradient(1200px 600px at 10% 0%, rgba(37,99,235,0.18), transparent 60%),
                radial-gradient(900px 500px at 100% 20%, rgba(16,185,129,0.18), transparent 60%),
                linear-gradient(180deg, #f0f4f9 0%, #e9eef6 100%);
}

.login-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 16px;
}

.login-card {
    position: relative;
    border-radius: 16px;
    padding: 20px;
    background: rgba(255, 255, 255, 0.16);
    border: hsl(0, 0%, 40%) 2pt solid;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.10), inset 0 1px 0 rgba(255,255,255,0.25);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    backdrop-filter: blur(14px) saturate(140%);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.login-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.16);
    border: hsl(0, 0%, 70%) 2pt solid;
}

.login-card-title {
    margin: 0 0 8px;
    font-weight: 600;
}

.login-card-desc {
    margin: 0 0 16px;
    color: #5b6470;
    font-size: .9rem;
}

.login-card-sso {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.login-card-sso .btn.btn-microsoft {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 12px;
    text-decoration: none;
    background: #ffffff;
    color: #111827;
    border: 1px solid #e5e7eb;
    box-shadow: 0 6px 16px rgba(0,0,0,0.08);
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.login-card-sso .btn.btn-microsoft:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(0,0,0,0.12);
    border-color: #d1d5db;
}

.login-card-sso .btn.btn-microsoft:focus-visible {
    outline: 3px solid rgba(59,130,246,0.4);
    outline-offset: 2px;
}

.login-card-sso .ms-icon {
    display: inline-flex;
    width: 20px;
    height: 20px;
}

.login-card-form .register-form {
    background: transparent;
    border: none;
    border-radius: 12px;
    padding: 0;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

.login-form-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 12px 0 4px;
}

.remember-me {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    user-select: none;
}

.login-forgot-access {
    color: #2563eb;
    text-decoration: none;
}

.login-forgot-access:hover,
.login-forgot-access:focus-visible {
    text-decoration: underline;
}

.login-card-btn {
    width: 90%;
    background-color: hsl(0, 0%, 80%);
    margin: 25px 0;
    border: none;
    border-radius: 30px;
    color: #f7f7f7;
    font-weight: 700;
    font-size: 1.3em;
    padding: 10pt 0;
    text-align: center;
    cursor: pointer;
    transition: 0.2s;
}

.login-card-btn:hover {
    background-color: hsl(0, 0%, 85%);
    box-shadow: 0 0 3pt hsl(0, 0%, 80%);
}

.login-card-btn,
.login-card-form .btn.btn-primary,
.login-card-form button[type="submit"],
.login-card-sso .btn.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 12px;
    border: 1px solid #2563eb;
    background: linear-gradient(180deg, #3b82f6 0%, #2563eb 100%);
    color: #fff;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(37,99,235,0.28);
    transition: transform .15s ease, box-shadow .15s ease;
}

.login-card-btn:hover,
.login-card-form .btn.btn-primary:hover,
.login-card-form button[type="submit"]:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(37,99,235,0.35);
}

.login-card-btn:focus-visible,
.login-card-form .btn.btn-primary:focus-visible,
.login-card-form button[type="submit"]:focus-visible {
    outline: 3px solid rgba(37,99,235,0.45);
    outline-offset: 2px;
}

/* Reduce to single column on smaller screens */
@media (max-width: 860px) {
    .login-cards { grid-template-columns: 1fr; }
}

/*!****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/tiles.css ***!
  \****************************************************************************************************************/
.tiles-container {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    margin: 0 0 20px 0;
}

.tiles-container-left {
    margin: 0;
}

.tile {
    display: flex;
    flex-direction: column;
    border: hsl(0, 0%, 40%) 2pt solid;
    text-align: justify;
    margin: 0;
    height: 540px;
    text-decoration: none;
    border-radius: 12px;
    overflow: hidden;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.tile:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.16);
    border: hsl(0, 0%, 70%) 2pt solid;
}

.tile-img-wrapper {
    margin: 10px;
    border-bottom: 1pt solid hsl(0, 0%, 40%);
}

.tile-img {
    width: calc(100% - 20px);
    height: 30%;
    display: block;
    padding: 10px;
    border-bottom: hsl(0, 0%, 40%) 2pt solid;
    object-fit: cover;
}

.tile-text {
    color: #000;
    font-weight: 400;
    font-size: 12pt;
    padding: 10px;
}

.tile-text-padding {
    color: #000;
    font-weight: 400;
    font-size: 12pt;
    padding: 10px 10px 0 10px;
}

.tile-text-border {
    width: calc(100% - 20px);
    border-bottom: hsl(0, 0%, 40%) 2pt solid;
}

.tile-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid hsl(0, 0%, 40%);
    background: #fff;
    display: block;
    color: #6b7280;
}

.tile-avatar--placeholder {
    border: none !important;
}

.tile-no-materials {
    display: flex;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 0 20px 0;
}

.tile-banner-container {
    position: relative;
}

.tile-banner {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    width: 115%;
    transform: translateX(-6.7%);
    height: 3vh;
    box-shadow: 0 0 0 2px hsl(0, 0%, 40%);
    margin-top: auto;

    background: linear-gradient(
        to right,
        #F15A24 0%,
        #F36D22 18.78%,
        #F58220 46.94%,
        #F78F1E 74.36%,
        #F7931E 100%
    );

    z-index: 3;
}

.tile-banner2 {
    width: 115%;
    transform: translateX(-7.1%);
    height: 2.5vh;

    z-index: -1;
}

.tile-banner-item {
    position: relative;
    margin: 0 3px;
    height: 26px;
    transform: translateY(-20%);
}

.tile-banner-item:first-child {
    margin: 0 3px;
}

.tile-banner-text {
    color: #000;
    font-weight: 400;
    font-size: 15pt;
    margin: 0 8px 0 5px;
}

/* Clamp material title to two lines on home tiles */
.tile-title strong {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.25; /* consistent line height */
    min-height: 2.5em; /* reserve space for two lines even if only one line present */
    max-height: 2.5em; /* keep two-line cap consistent */
}

/* Responsive adjustments for tiles */
@media (max-width: 600px) {
    .tiles-container {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .tile {
        margin: 0;
        height: auto;
    }
    .tile-img {
        width: 100%;
        height: auto;
        padding: 0;
    }
    .tile-text {
        font-size: 14px;
    }
    .tile-banner {
        width: 100%;
        transform: none;
        height: auto;
        flex-wrap: wrap;
        padding: 6px 8px;
        box-shadow: 0 0 0 1px hsl(0, 0%, 40%);
    }
    .tile-banner2 {
        display: none;
    }
    .tile-banner-item {
        height: 22px;
        transform: none;
        margin: 4px 6px;
    }
    .tile-banner-text {
        font-size: 14px;
        margin: 0 6px;
    }
}

@media (min-width: 601px) and (max-width: 768px) {
    .tiles-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }
    .tile {
        margin: 0;
        height: auto;
    }
    .tile-img {
        width: 100%;
        height: 180px;
        padding: 0;
    }
    .tile-banner {
        width: 100%;
        transform: none;
        height: auto;
        flex-wrap: wrap;
        padding: 6px 8px;
        box-shadow: 0 0 0 1px hsl(0, 0%, 40%);
    }
    .tile-banner2 {
        display: none;
    }
    .tile-banner-item {
        height: 26px;
        transform: none;
        margin: 4px 6px;
    }
    .tile-banner-text {
        font-size: 16px;
    }
}

/* New breakpoint for 3 columns on medium-large screens */
@media (min-width: 769px) and (max-width: 1199px) {
    .tiles-container {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 22px;
    }
}

/*!******************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/account.css ***!
  \******************************************************************************************************************/
/* Styles scoped to the My Account page */
.account-page .account-summary {
  margin-bottom: 1rem;
}

.account-page .account-summary-inner {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.account-page .account-avatar {
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid hsl(0, 0%, 40%);
  background: #fff;
  display: block;
  color: #6b7280;
}

.account-page .account-avatar--sm {
  width: 64px;
  height: 64px;
}

.account-page .account-avatar--lg {
  width: 96px;
  height: 96px;
}

.account-page .account-avatar--placeholder {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  background: #fff;
  display: block;
  color: #6b7280;
  border: none !important;
}

.account-page .account-grid {
  display: grid;
  grid-template-columns: 380px 1fr; /* wider panels so controls fit comfortably */
  gap: 2rem;
  align-items: start;
}

.account-page .account-section h2 {
  font-size: 1.25rem;
  margin: 0 0 .5rem;
  color: var(--brand);
}

/* Make the primary buttons look consistent with the top menu button */
.account-page .btn.btn-primary {
  background: transparent;
  color: #000;
  border: 3px solid #000;
  border-radius: 10px;
  padding: 12px 18px;
  font-weight: 600;
  text-align: center;
  transition: transform .05s ease, box-shadow .2s ease, background-color .15s ease;
  box-shadow: none;
}

.account-page .btn.btn-primary:hover,
.account-page .btn.btn-primary:focus-visible {
  background: transparent;
  box-shadow: none;
  transform: translateY(-1px);
}

.account-page .btn.btn-primary:disabled,
.account-page .btn.btn-primary.disabled {
  opacity: .65;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* Responsiveness tweaks */
@media (max-width: 480px) {
  .account-page .account-grid {
    gap: 1.25rem;
  }
}

/* minor spacing helpers */
.account-page .account-avatar-wrap { margin-bottom: .5rem; }

/* Card layout for account panels (avatar) */
.account-page .account-card {
    background: transparent;
    border: hsl(0, 0%, 40%) 2pt solid;
    border-radius: 14px;
    padding: 16px;
    box-shadow: 0 8px 24px rgba(31, 41, 55, 0.06);
    overflow: hidden; /* prevent any child overflow from showing outside card */
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.account-page .account-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.16);
    border: hsl(0, 0%, 70%) 2pt solid;
}

.account-page .account-card__header {
  margin-bottom: 12px;
}

.account-page .account-card__subtitle {
  margin: 4px 0 0;
  color: #6b7280;
  font-size: .95rem;
}

.account-page .avatar-panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .5rem;
}

.account-page .account-avatar--xl {
  width: 132px;
  height: 132px;
}

.account-page .avatar-panel__name {
  font-weight: 600;
  text-align: center;
  margin-top: .5rem;
}

.account-page .avatar-panel__email {
  color: #6b7280;
  font-size: .9rem;
  text-align: center;
}

.account-page .upload-row {
  margin-top: .75rem;
}

.account-page .file-chosen {
  color: #6b7280;
  font-size: .875rem;
  margin-top: .5rem;
}

.account-page .btn-block {
  width: 100%;
  margin-top: .5rem;
  text-align: center;
}

/* Style native file input to look like a button */
.account-page input[type="file"].file-input {
  font-size: .95rem;
}
.account-page input[type="file"].file-input::file-selector-button {
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: .5rem .75rem;
  background: #fff;
  color: #111827;
  cursor: pointer;
  margin-right: .75rem;
}
.account-page input[type="file"].file-input::file-selector-button:hover {
  background: #f3f4f6;
}

/* Tweak checkbox area */
.account-page .remove-row {
  margin: .5rem 0 .75rem;
  align-self: stretch;
}


/* Form grids for Profile and Password cards */
.account-page .account-card .account-form { margin-top: 4px; }
.account-page .account-form .form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.account-page .account-form .form-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
}
@media (max-width: 640px) {
  .account-page .account-form .form-grid { grid-template-columns: 1fr; }
}


/* Stack column for Profile + Password */
.account-page .account-stack {
  display: grid;
  gap: 2rem;
}

/* Center the account page content container */
.account-page .content-container {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}


/* Form controls: labels and inputs styling for /account */
.account-page .account-form label {
  display: block;
  font-weight: 600;
  margin-bottom: .35rem;
  color: #111827;
}

.account-page .account-form input[type="text"],
.account-page .account-form input[type="email"],
.account-page .account-form input[type="password"],
.account-page .account-form select,
.account-page .account-form textarea {
    width: 100%;
    max-width: 100%;
    padding: .625rem .75rem;
    border: hsl(0, 0%, 40%) 1pt solid;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.65);
    color: #111827; /* gray-900 */
    font-size: 1.1em;
    line-height: 1.25rem;
    box-sizing: border-box; /* ensure padding + border don't cause overflow */
    transition: box-shadow .15s ease, border-color .15s ease, background-color .15s ease;

    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    outline: none;
}

.account-page .account-form select {
    background-image: url(/build/images/select-down.f8677461.png);
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 0.9rem;
    padding-right: 2rem;
}

.account-page .account-form input:hover,
.account-page .account-form select:hover,
.account-page .account-form textarea:hover {
    border: hsl(0, 0%, 70%) 1pt solid;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.account-page .account-form input::placeholder,
.account-page .account-form textarea::placeholder {
  color: #9ca3af; /* gray-400 */
}

.account-page .account-form input:focus,
.account-page .account-form select:focus,
.account-page .account-form textarea:focus {
  outline: none;
  border-color: #2563eb; /* blue-600 */
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

/* Disabled state */
.account-page .account-form input:disabled,
.account-page .account-form select:disabled,
.account-page .account-form textarea:disabled {
  background: #f9fafb;
  color: #6b7280;
}

/* Checkbox alignment & accent */
.account-page .account-form input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
  vertical-align: middle;
  accent-color: #2563eb;
}

/* Space between auto-rendered form rows */
.account-page .account-form .form-col > div,
.account-page .account-form > div:not(.form-grid):not(.form-actions) {
  margin-bottom: .5rem;
}


/* Ensure panels stack on smaller screens so controls don't overflow */
@media (max-width: 900px) {
  .account-page .account-grid { grid-template-columns: 1fr; }
}

/*!***************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/a11y.css ***!
  \***************************************************************************************************************/
/* Accessibility toolbar styles and feature classes (WCAG 2.2 AA-oriented) */
:root {
  --a11y-scale: 1; /* font scale multiplier */
  --a11y-base-font-size: 100%;
}

html { font-size: calc(var(--a11y-base-font-size) * var(--a11y-scale)); }

/* Toolbar container */
.a11y-toolbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  align-items: center;
  padding: .5rem .75rem;
  background: #f3f4f6; /* light gray */
  border-bottom: 1px solid rgba(0,0,0,.1);
}

@media (prefers-color-scheme: dark) {
  .a11y-toolbar { background: #111827; border-color: #374151; }
  .a11y-toolbar .a11y-btn { border-color: #374151; color: #e5e7eb; }
}

.a11y-toolbar[hidden] { display: none !important; }

.a11y-toolbar .a11y-label { font-weight: 600; margin-right: .25rem; }

.a11y-btn {
  appearance: none;
  -webkit-appearance: none;
  background: white;
  color: #111827;
  border: 1px solid #d1d5db;
  border-radius: .375rem;
  padding: .35rem .5rem;
  font: inherit;
  line-height: 1;
  cursor: pointer;
}
.a11y-btn:hover { background: #f9fafb; }
.a11y-btn:focus { outline: 3px solid #2563eb; outline-offset: 2px; }
.a11y-btn[aria-pressed="true"],
.a11y-btn.is-active {
  background: #111827;
  color: #fff;
  border-color: #111827;
}

/* Feature classes applied to <html> or <body> */
/* Underline links everywhere */
.a11y-underline-links a, .a11y-underline-links a:link, .a11y-underline-links a:visited {
  text-decoration: underline !important;
}

/* Readable Typeface: prefer Atkinson/OpenDyslexic if present, then highly legible fallbacks */
.a11y-readable-font {
  font-family: "Atkinson Hyperlegible", "OpenDyslexic", "Inter", "Segoe UI", Verdana, Arial, sans-serif !important;
}

/* Grayscale: avoid affecting selection/focus outlines */
.a11y-grayscale body, .a11y-grayscale .site-main, .a11y-grayscale img, .a11y-grayscale video, .a11y-grayscale picture, .a11y-grayscale svg {
  filter: grayscale(100%) !important;
}

/* Invert (Negative) */
.a11y-invert {
  filter: invert(1) hue-rotate(180deg) !important;
}
/* Try to correct images/logos getting inverted: re-invert media inside */
.a11y-invert img, .a11y-invert video, .a11y-invert picture, .a11y-invert svg { filter: invert(1) hue-rotate(180deg) !important; }

/* High Contrast: increase color contrast, force background/text colors */
.a11y-contrast,
.a11y-contrast body {
  background: #000 !important;
  color: #fff !important;
}
.a11y-contrast a { color: #00ffff !important; text-decoration: underline !important; }
.a11y-contrast * { border-color: #fff !important; }

/* Light Background: white bg and dark text */
.a11y-light-bg,
.a11y-light-bg body {
  background: #ffffff !important;
  color: #000000 !important;
}
.a11y-light-bg a { color: #0645AD !important; }

/* Utilities to ensure outlines are visible */
:where(a, button, input, select, textarea):focus { outline: 3px solid #2563eb; outline-offset: 2px; }

/* Keep toolbar readable under transforms/filters */
html.a11y-invert .a11y-toolbar { filter: invert(1) hue-rotate(180deg) !important; }
html.a11y-grayscale .a11y-toolbar { filter: none !important; }

/* Print safeguard */
@media print {
  .a11y-toolbar { display: none !important; }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQTtJQUNJLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsMkJBQTJCO0lBQzNCLGFBQWE7SUFDYix1REFBdUQ7SUFDdkQsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksU0FBUztJQUNULDJKQUEySjtJQUMzSixxQkFBcUI7SUFDckIsY0FBYztBQUNsQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLG9CQUFvQjtBQUN4Qjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLG9EQUFvRDtJQUNwRCxxQkFBcUI7SUFDckIsb0JBQW9CO0lBQ3BCLGtCQUFrQjtJQUNsQixTQUFTO0FBQ2I7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsV0FBVztJQUNYLDBDQUEwQztBQUM5Qzs7QUFFQTtJQUNJLDBDQUEwQztJQUMxQywyQkFBMkI7QUFDL0I7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSx1QkFBdUI7SUFDdkIsV0FBVztJQUNYLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sT0FBTztJQUNQLFdBQVc7SUFDWCxZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixNQUFNO0lBQ04sT0FBTztJQUNQLFdBQVc7SUFDWCxZQUFZO0lBQ1osVUFBVTtJQUNWLG9CQUFvQjtBQUN4Qjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sT0FBTztJQUNQLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osV0FBVztJQUNYLHNCQUFzQjtJQUN0QixpQkFBaUI7SUFDakIseUJBQXlCO0lBQ3pCLFVBQVU7SUFDVixvQkFBb0I7QUFDeEI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsU0FBUztJQUNULFFBQVE7SUFDUixXQUFXO0lBQ1gsWUFBWTtJQUNaLFVBQVU7SUFDVixvQkFBb0I7QUFDeEI7O0FBRUEseUJBQXlCO0FBQ3pCLE9BQU8sWUFBWSxFQUFFO0FBQ3JCO0lBQ0ksU0FBUztJQUNULGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsYUFBYTtJQUNiLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLGNBQWM7SUFDZCx5REFBc0Q7SUFDdEQsNEJBQTRCO0lBQzVCLCtCQUErQjtJQUMvQixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsZ0JBQWdCLEVBQUUsZ0RBQWdEO0FBQ3RFOztBQUVBO0lBQ0ksd0JBQXdCO0lBQ3hCLFNBQVM7QUFDYjs7QUFFQSxZQUFZO0FBQ1o7SUFDSSwwQkFBMEI7QUFDOUI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsb0NBQW9DO0lBQ3BDLDhCQUE4QjtBQUNsQzs7QUFFQTtJQUNJLGlDQUFpQztJQUNqQyxZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIscUJBQXFCO0lBQ3JCLGVBQWU7SUFDZixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxpQ0FBaUM7SUFDakMsbUNBQW1DO0FBQ3ZDOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCO0FBQ0o7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsV0FBVztBQUNmOztBQUVBLDhEQUE4RDtBQUM5RDtJQUNJLGlCQUFpQixFQUFFLCtEQUErRDtJQUNsRixjQUFjLEtBQUsseUJBQXlCO0lBQzVDLGlCQUFpQixFQUFFLG9DQUFvQztJQUN2RCxrQkFBa0I7QUFDdEI7O0FBRUEseUJBQXlCO0FBQ3pCO0lBQ0k7O1FBRUksYUFBYTtJQUNqQjtJQUNBO1FBQ0ksYUFBYTtJQUNqQjtBQUNKOztBQUVBLHlCQUF5QjtBQUN6QjtJQUNJLGVBQWU7SUFDZixXQUFXO0lBQ1gsWUFBWTtJQUNaLGFBQWE7SUFDYixvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixXQUFXO0lBQ1gsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCw4Q0FBOEM7SUFDOUMsZUFBZTtJQUNmLFVBQVU7SUFDVixvQkFBb0I7SUFDcEIsMEJBQTBCO0lBQzFCLHVFQUF1RTtBQUMzRTs7QUFFQTtJQUNJLFVBQVU7SUFDVixvQkFBb0I7SUFDcEIsd0JBQXdCO0FBQzVCOztBQUVBO0lBQ0ksK0NBQStDO0FBQ25EOztBQUVBLGtCQUFrQixjQUFjLEVBQUU7O0FBRWxDO0lBQ0ksb0JBQW9CO0lBQ3BCLHFCQUFxQixFQUFFLHFCQUFxQjtJQUM1Qyw0QkFBNEI7SUFDNUIsZ0JBQWdCO0lBQ2hCLHVCQUF1QjtBQUMzQjs7QUFFQSwyQkFBMkI7QUFDM0I7SUFDSSxjQUFjLGdCQUFnQixFQUFFO0FBQ3BDOzs7OztBQzdPQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsU0FBUztBQUNiOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksU0FBUztJQUNULGdJQUFnSTtJQUNoSSxnQkFBZ0I7SUFDaEIsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsOEJBQThCO0lBQzlCLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsU0FBUztJQUNULG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsbUVBQW1FO0FBQ3ZFOztBQUVBO0lBQ0kscUJBQXFCO0lBQ3JCLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSx3QkFBd0I7SUFDeEIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksY0FBYztBQUNsQjs7QUFFQTtJQUNJLDJCQUEyQjs7QUFFL0I7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsWUFBWTtJQUNaLG9CQUFvQjtJQUNwQixrQkFBa0I7SUFDbEIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLFlBQVk7QUFDaEI7O0FBRUEsNkJBQTZCO0FBQzdCO0lBQ0ksa0JBQWtCO0lBQ2xCLHVCQUF1QjtJQUN2QixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLDZFQUE2RTtJQUM3RSwyRkFBMkY7SUFDM0YsaUNBQWlDO0lBQ2pDOzs0Q0FFd0M7SUFDeEMsMENBQTBDO0lBQzFDLGtEQUFrRDtJQUNsRCx5QkFBeUI7SUFDekIsZ0lBQWdJO0lBQ2hJLDBFQUEwRTtBQUM5RTs7QUFFQTtJQUNJLDJCQUEyQjtJQUMzQiwyQ0FBMkM7SUFDM0MsaUNBQWlDO0FBQ3JDOztBQUVBLDRCQUE0QjtBQUM1QjtJQUNJLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsUUFBUTtJQUNSLHNCQUFzQjtJQUN0Qiw2REFBNkQ7SUFDN0QsK0ZBQStGO0lBQy9GLHVCQUF1QjtJQUN2QixvQkFBb0I7QUFDeEI7O0FBRUEsb0NBQW9DO0FBQ3BDO0lBQ0k7UUFDSSxrQkFBa0I7UUFDbEIsbUJBQW1CO0lBQ3ZCO0lBQ0E7UUFDSSxpQkFBaUI7UUFDakIsbUJBQW1CO0lBQ3ZCO0FBQ0o7O0FBRUEsdUNBQXVDO0FBQ3ZDO0lBQ0k7UUFDSSx1RUFBdUU7UUFDdkUsaUNBQWlDO0lBQ3JDO0FBQ0o7Ozs7O0FDaklBO0lBQ0ksa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixhQUFhO0lBQ2IsV0FBVztJQUNYLDhEQUE4RDtJQUM5RCx5Q0FBeUM7QUFDN0M7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsb0JBQW9CO0FBQ3hCOztBQUVBO0lBQ0ksV0FBVztBQUNmOztBQUVBO0lBQ0ksV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLDJCQUEyQjtJQUMzQixXQUFXO0lBQ1gsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCxlQUFlO0lBQ2YsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLDBDQUEwQztJQUMxQyxnQkFBZ0I7SUFDaEIsV0FBVztBQUNmOztBQUVBO0lBQ0ksZUFBZTtJQUNmLFdBQVc7SUFDWCxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsU0FBUztJQUNULGVBQWU7SUFDZix1QkFBdUI7SUFDdkIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGFBQWE7SUFDYiw0REFBNEQ7SUFDNUQsU0FBUztBQUNiOztBQUVBO0lBQ0kscUJBQXFCO0lBQ3JCLGNBQWM7SUFDZCxjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQix5QkFBeUI7SUFDekIseUNBQXlDO0lBQ3pDLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLGdCQUFnQjtBQUNwQjs7QUFFQSwwQ0FBMEM7QUFDMUM7SUFDSSxrQkFBa0I7SUFDbEIsUUFBUTtJQUNSLFNBQVM7SUFDVCwyQkFBMkI7SUFDM0IsV0FBVztJQUNYLFlBQVk7SUFDWixtQkFBbUIsRUFBRSxhQUFhO0lBQ2xDLGtCQUFrQjtJQUNsQiw4REFBOEQ7SUFDOUQsVUFBVTtBQUNkO0FBQ0E7SUFDSSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLFNBQVM7SUFDVCxTQUFTO0lBQ1QsMkJBQTJCO0lBQzNCLFVBQVU7SUFDVixZQUFZO0lBQ1osMEJBQTBCLEVBQUUsNEJBQTRCO0lBQ3hELGtCQUFrQjtBQUN0QjtBQUNBO0lBQ0ksV0FBVztJQUNYLGtCQUFrQjtJQUNsQixTQUFTO0lBQ1QsU0FBUztJQUNULDJCQUEyQjtJQUMzQixVQUFVO0lBQ1YsV0FBVztJQUNYLDJCQUEyQjtJQUMzQixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLFVBQVU7QUFDZDs7QUFFQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0lBQ1osaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQixrQkFBa0I7SUFDbEIsU0FBUztJQUNULFVBQVU7QUFDZDs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixTQUFTO0lBQ1QsV0FBVztJQUNYLG1CQUFtQjtJQUNuQixjQUFjO0lBQ2Qsb0JBQW9CO0lBQ3BCLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsUUFBUTtJQUNSLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2QsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLG1CQUFtQixFQUFFLDRDQUE0QztJQUNqRSx5QkFBeUI7SUFDekIsY0FBYztJQUNkLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsb0JBQW9CO0FBQ3hCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGVBQWU7SUFDZixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxTQUFTO0lBQ1QsY0FBYztJQUNkLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLFNBQVM7SUFDVCxnQkFBZ0I7SUFDaEIsY0FBYztJQUNkLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLFFBQVE7QUFDWjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsUUFBUTtJQUNSLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2QsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYixlQUFlO0lBQ2YsUUFBUTtJQUNSLHVCQUF1QjtJQUN2QixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSTtRQUNJLGtCQUFrQjtRQUNsQixlQUFlO0lBQ25CO0FBQ0o7O0FBRUEsb0NBQW9DO0FBQ3BDO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsZUFBZTtJQUNmLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixzQkFBc0I7SUFDdEIsU0FBUztJQUNULGtCQUFrQjtJQUNsQixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLG1CQUFtQjs7QUFFdkI7O0FBRUE7SUFDSSxxQkFBcUI7QUFDekI7OztBQUdBLDhDQUE4QztBQUM5Qzs7SUFFSSxpQkFBaUI7SUFDakIsa0JBQWtCOztJQUVsQixXQUFXO0lBQ1gsaUJBQWlCO0FBQ3JCOztBQUVBLHNFQUFzRTtBQUN0RTtJQUNJLHVCQUF1QjtBQUMzQjs7Ozs7QUN2VEE7SUFDSSxhQUFhO0lBQ2IsNERBQTREO0lBQzVELFNBQVM7QUFDYjs7QUFFQTtJQUNJLHNCQUFzQjtJQUN0QixhQUFhO0lBQ2IscUJBQXFCO0lBQ3JCLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsY0FBYztBQUNsQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGVBQWU7SUFDZixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxTQUFTO0lBQ1QsV0FBVztBQUNmOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsV0FBVztJQUNYLHVCQUF1QjtJQUN2QixtQkFBbUI7SUFDbkIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLFVBQVU7SUFDVixhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLHVCQUF1QjtJQUN2QixtQkFBbUI7SUFDbkIseUJBQXlCO0lBQ3pCLGNBQWM7SUFDZCxtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxVQUFVO0lBQ1YsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QiwyQkFBMkI7SUFDM0IsdUJBQXVCO0FBQzNCOzs7QUFHQTtJQUNJLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsb0JBQW9CO0lBQ3BCLGNBQWM7QUFDbEI7O0FBRUE7O0lBRUksV0FBVztJQUNYLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osd0NBQXdDO0lBQ3hDLDBCQUEwQjs7SUFFMUIsZ0JBQWdCO0lBQ2hCLHdCQUF3QjtJQUN4QixxQkFBcUI7SUFDckIsYUFBYTs7SUFFYixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLHlEQUE0RDtJQUM1RCw0QkFBNEI7SUFDNUIseUNBQXlDO0lBQ3pDLHFCQUFxQjtJQUNyQixtQkFBbUI7QUFDdkI7O0FBRUE7O0lBRUksd0NBQXdDO0lBQ3hDLHdDQUF3QztBQUM1Qzs7QUFFQTs7OztJQUlJLHdDQUF3QztJQUN4QyxtQ0FBbUM7SUFDbkMsVUFBVTtBQUNkOztBQUVBO0lBQ0ksV0FBVztJQUNYLGlDQUFpQztJQUNqQyxjQUFjO0lBQ2QsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxpQ0FBaUM7SUFDakMsbUNBQW1DO0FBQ3ZDOztBQUVBO0lBQ0ksYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGNBQWM7SUFDZCx1QkFBdUI7SUFDdkIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksV0FBVztJQUNYLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsMkJBQTJCO0lBQzNCLDRCQUE0QjtJQUM1QixzQkFBc0I7SUFDdEIsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLFVBQVU7SUFDVixTQUFTO0FBQ2I7O0FBRUE7SUFDSSxVQUFVO0FBQ2Q7O0FBRUE7SUFDSSw0QkFBNEI7SUFDNUIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGdDQUFnQztJQUNoQyx3QkFBd0I7QUFDNUI7O0FBRUE7SUFDSSxZQUFZO0lBQ1oscUJBQXFCO0lBQ3JCLGdCQUFnQjs7SUFFaEIsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQiw4QkFBOEI7O0lBRTlCLGNBQWM7SUFDZCxpQkFBaUI7O0lBRWpCLHlDQUF5QztBQUM3Qzs7QUFFQTtJQUNJLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLHNCQUFzQjtJQUN0QixxQkFBcUI7SUFDckIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksaUNBQWlDO0lBQ2pDLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsY0FBYztJQUNkLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLFdBQVc7SUFDWCxZQUFZO0lBQ1osVUFBVTtJQUNWLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksV0FBVztJQUNYLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxpQ0FBaUM7SUFDakMsbUNBQW1DO0FBQ3ZDOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHVCQUF1QjtJQUN2QixtQkFBbUI7SUFDbkIsV0FBVztJQUNYLGFBQWE7SUFDYixpQ0FBaUM7SUFDakMsaUNBQWlDO0lBQ2pDLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsY0FBYztJQUNkLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGlDQUFpQztBQUNyQzs7QUFFQTtJQUNJLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2Qix1QkFBdUI7SUFDdkIsYUFBYTtJQUNiLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsU0FBUzs7SUFFVCxpQ0FBaUM7SUFDakMsa0JBQWtCO0lBQ2xCLG1CQUFtQjs7SUFFbkIsb0NBQW9DO0lBQ3BDLDBCQUEwQjs7SUFFMUIsU0FBUztBQUNiOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLE9BQU87SUFDUCxTQUFTOztJQUVULFlBQVk7O0lBRVosbUJBQW1CO0lBQ25CLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLFVBQVU7SUFDVixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjs7SUFFbEIsa0JBQWtCOztJQUVsQixpQ0FBaUM7SUFDakMsbUJBQW1COztJQUVuQixrQ0FBa0M7O0lBRWxDOzs0Q0FFd0M7QUFDNUM7O0FBRUE7SUFDSSxVQUFVO0lBQ1Ysa0JBQWtCOztJQUVsQixpQ0FBaUM7SUFDakMsbUJBQW1COztJQUVuQixrQ0FBa0M7O0lBRWxDOzs0Q0FFd0M7QUFDNUM7O0FBRUE7Ozs7Q0FJQztBQUNEO0lBQ0ksZ0ZBQWdGO0lBQ2hGLGFBQWEsRUFBRSx3REFBd0Q7SUFDdkUsY0FBYztBQUNsQjs7QUFFQSw0REFBNEQ7QUFDNUQ7O0lBRUksMEJBQTBCO0lBQzFCLHVCQUF1QjtBQUMzQjs7QUFFQSwwRUFBMEU7QUFDMUU7OztJQUdJLGNBQWM7SUFDZCxzQkFBc0I7SUFDdEIsMEJBQTBCO0lBQzFCLG9GQUFvRjtJQUNwRixnQkFBZ0I7SUFDaEIsWUFBWTtBQUNoQjs7QUFFQSxrRUFBa0U7QUFDbEU7SUFDSSxzQkFBc0I7SUFDdEIsMEJBQTBCO0lBQzFCLHlCQUF5QjtBQUM3Qjs7QUFFQTs7SUFFSSxnQkFBZ0I7QUFDcEI7O0FBRUEsMENBQTBDO0FBQzFDOzs7Ozs7SUFNSSx1QkFBdUI7SUFDdkIsc0JBQXNCO0FBQzFCOztBQUVBLGdFQUFnRTtBQUNoRTtJQUNJLHFCQUFxQjtBQUN6Qjs7QUFFQTtJQUNJLHVCQUF1QjtJQUN2QixhQUFhO0lBQ2IsaUNBQWlDO0lBQ2pDLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix1QkFBdUI7O0lBRXZCLGtDQUFrQzs7SUFFbEM7OzRDQUV3QztBQUM1Qzs7QUFFQTtJQUNJLGNBQWMsRUFBRSxnQ0FBZ0M7QUFDcEQ7O0FBRUE7SUFDSSxTQUFTO0lBQ1QscUJBQXFCO0lBQ3JCLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsV0FBVztJQUNYLHlFQUF5RTtJQUN6RSxpQ0FBaUM7SUFDakMsbUJBQW1CO0lBQ25CLGtCQUFrQjs7SUFFbEIscUNBQXFDO0lBQ3JDLDBCQUEwQjs7SUFFMUI7OytDQUUyQzs7QUFFL0M7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsYUFBYTtJQUNiLGNBQWM7SUFDZCxpQ0FBaUM7SUFDakMsaUJBQWlCO0lBQ2pCLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxlQUFlO0lBQ2YsV0FBVztJQUNYLHFDQUFxQztJQUNyQyxlQUFlOztJQUVmOzs7Ozs7O0tBT0M7SUFDRCxVQUFVO0FBQ2Q7O0FBRUEsOEZBQThGO0FBQzlGO0lBQ0ksa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQix3QkFBd0I7QUFDNUI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLHNCQUFzQjtJQUN0QixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsY0FBYztBQUNsQjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixjQUFjO0FBQ2xCOztBQUVBOztJQUVJLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix1QkFBdUI7QUFDM0I7OztBQUdBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksV0FBVztJQUNYLGFBQWE7SUFDYixlQUFlO0lBQ2YsVUFBVTtJQUNWLGtCQUFrQjtJQUNsQixVQUFVO0FBQ2Q7O0FBRUE7SUFDSSxlQUFlO0lBQ2YscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsaUNBQWlDO0lBQ2pDLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsT0FBTztBQUNYOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLDJCQUEyQjtBQUMvQjs7QUFFQTtJQUNJLDJCQUEyQjtJQUMzQixjQUFjO0lBQ2Q7QUFDSjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxhQUFhO0lBQ2Isa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksV0FBVztJQUNYLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLFVBQVU7SUFDVixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsY0FBYztBQUNsQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2Qsa0JBQWtCO0FBQ3RCOzs7QUFHQSxvR0FBb0c7QUFDcEc7SUFDSSw2QkFBNkI7SUFDN0IsY0FBYyxFQUFFLGdDQUFnQztJQUNoRCxnQkFBZ0I7QUFDcEI7O0FBRUE7O0lBRUksNkJBQTZCO0lBQzdCLGNBQWM7SUFDZCxnQkFBZ0I7QUFDcEI7Ozs7O0FDdGxCQSxXQUFXO0FBQ1g7SUFDSSx5REFBeUQ7SUFDekQsZ0JBQWdCO0lBQ2hCLHdDQUF3QztJQUN4Qyx5QkFBeUI7SUFDekIsc0ZBQXNGO0lBQ3RGLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsbUJBQW1CO0lBQ25CLGNBQWM7SUFDZCx3Q0FBd0M7QUFDNUM7O0FBRUEsd0NBQXdDO0FBQ3hDO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUVBLGtDQUFrQztBQUNsQztJQUNJLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QscUNBQXFDO0FBQ3pDOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQiw4QkFBOEI7SUFDOUIsU0FBUztJQUNULGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsU0FBUztJQUNULHFCQUFxQjtJQUNyQixvQkFBb0I7SUFDcEIsY0FBYztBQUNsQjs7QUFFQTtJQUNJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksZ0ZBQWdGO0lBQ2hGLG9CQUFvQjtBQUN4Qjs7QUFFQSx1QkFBdUI7QUFDdkI7SUFDSSxhQUFhO0lBQ2IsV0FBVztJQUNYLFlBQVk7SUFDWiwyQ0FBMkM7SUFDM0Msa0JBQWtCO0lBQ2xCLHVCQUF1QjtJQUN2QixlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxXQUFXO0lBQ1gsV0FBVztJQUNYLG1CQUFtQjtJQUNuQixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLFNBQVM7SUFDVCxtQkFBbUI7SUFDbkIsY0FBYztJQUNkLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixjQUFjO0lBQ2QscUJBQXFCO0lBQ3JCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIseUJBQXlCO0lBQ3pCLGNBQWM7SUFDZCxxQ0FBcUM7SUFDckMsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLFFBQVE7SUFDUixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLHlCQUF5QjtJQUN6QixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLGNBQWM7SUFDZCxnRkFBZ0Y7SUFDaEYsbUJBQW1CO0lBQ25CLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxlQUFlO0FBQ25COztBQUVBO0lBQ0ksY0FBYztBQUNsQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixRQUFRO0lBQ1IscUJBQXFCO0lBQ3JCLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIseUJBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQix5Q0FBeUM7SUFDekMsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixTQUFTO0lBQ1QsYUFBYTtJQUNiLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksY0FBYztJQUNkLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2QscUJBQXFCO0FBQ3pCOztBQUVBO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUVBLHVCQUF1QjtBQUN2QjtJQUNJLGFBQWE7SUFDYixvQ0FBb0MsRUFBRSwwQkFBMEI7SUFDaEUsbUJBQW1CO0lBQ25CLFNBQVM7SUFDVCxnQkFBZ0IsRUFBRSxnQkFBZ0I7SUFDbEMsb0JBQW9CLEVBQUUsZ0JBQWdCO0FBQzFDOztBQUVBOztJQUVJLGFBQWE7SUFDYixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsdUJBQXVCLEVBQUUscUNBQXFDO0FBQ2xFOztBQUVBO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixTQUFTO0FBQ2I7O0FBRUEsMkJBQTJCO0FBQzNCOztJQUVJLFlBQVk7SUFDWixXQUFXO0FBQ2Y7O0FBRUEsc0VBQXNFO0FBQ3RFO0lBQ0k7UUFDSSxrQ0FBa0M7SUFDdEM7O0lBRUE7UUFDSSxrQkFBa0IsRUFBRSw2QkFBNkI7UUFDakQsUUFBUTtRQUNSLHVCQUF1QjtRQUN2QixlQUFlO0lBQ25COztJQUVBO1FBQ0ksUUFBUTtRQUNSLDJCQUEyQjtJQUMvQjs7SUFFQTtRQUNJLFFBQVE7UUFDUix5QkFBeUI7SUFDN0I7QUFDSjs7QUFFQSxRQUFROztBQUVSLFdBQVc7QUFDWDtJQUNJLHlCQUF5QjtJQUN6QixtQkFBbUI7SUFDbkIsY0FBYztJQUNkLDRFQUE0RTtBQUNoRjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxxQkFBcUI7QUFDekI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsMEJBQTBCO0FBQzlCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IscUNBQXFDO0lBQ3JDLFNBQVM7SUFDVCxlQUFlO0FBQ25COztBQUVBOztJQUVJLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsU0FBUztJQUNULFVBQVU7QUFDZDs7QUFFQTtJQUNJLFNBQVM7SUFDVCxlQUFlO0lBQ2YsY0FBYztJQUNkLGVBQWU7SUFDZixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixtQkFBbUI7SUFDbkIsU0FBUztJQUNULGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osZUFBZTtJQUNmLFlBQVk7SUFDWixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLGVBQWU7QUFDbkI7O0FBRUEseUJBQXlCO0FBQ3pCO0lBQ0ksd0JBQXdCO0FBQzVCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLFFBQVE7SUFDUixhQUFhLEVBQUUsd0JBQXdCO0FBQzNDOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLFFBQVE7SUFDUiw2QkFBNkI7QUFDakM7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsY0FBYztJQUNkLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLDBDQUEwQztJQUMxQyxhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksNkJBQTZCO0lBQzdCLFVBQVU7SUFDVixXQUFXO0lBQ1gsVUFBVTtJQUNWLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsMEJBQTBCO0lBQzFCLG1CQUFtQjtJQUNuQixTQUFTO0FBQ2I7O0FBRUEsOENBQThDO0FBQzlDO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsdUJBQXVCO0FBQzNCOztBQUVBLHVDQUF1QztBQUN2QztJQUNJLGtCQUFrQjtJQUNsQixVQUFVO0FBQ2Q7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixzQkFBc0I7SUFDdEIsbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixzQkFBc0I7SUFDdEIsV0FBVztJQUNYLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixPQUFPO0lBQ1AsU0FBUztBQUNiOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixRQUFRO0lBQ1IsMkJBQTJCO0lBQzNCLFdBQVc7SUFDWCxZQUFZO0lBQ1osV0FBVztJQUNYLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLFdBQVc7SUFDWCw0QkFBNEI7SUFDNUIsa0JBQWtCO0lBQ2xCLHNCQUFzQjtJQUN0QixvQkFBb0I7SUFDcEIsZUFBZTtJQUNmLGFBQWE7SUFDYiw0QkFBNEI7SUFDNUIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksNkJBQTZCO0lBQzdCLHdCQUF3QjtJQUN4QiwyQkFBMkI7QUFDL0I7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixzQkFBc0I7SUFDdEIsMENBQTBDO0lBQzFDLGFBQWE7SUFDYixvQ0FBb0M7QUFDeEM7O0FBRUE7SUFDSSxxQkFBcUI7QUFDekI7O0FBRUE7SUFDSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQiw2QkFBNkI7SUFDN0IsdUJBQXVCO0lBQ3ZCLGVBQWU7SUFDZixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixjQUFjO0FBQ2xCOztBQUVBO0lBQ0kscUNBQXFDO0FBQ3pDOztBQUVBO0lBQ0k7UUFDSSx5QkFBeUI7SUFDN0I7QUFDSjs7QUFFQSx1Q0FBdUM7QUFDdkM7SUFDSSxpQkFBaUI7SUFDakIsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixTQUFTO0FBQ2I7O0FBRUEsOENBQThDO0FBQzlDO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0k7UUFDSSxvQkFBb0I7SUFDeEI7O0lBRUE7UUFDSSxnQkFBZ0I7UUFDaEIsZUFBZTtRQUNmLHNCQUFzQjtRQUN0QixvQkFBb0I7UUFDcEIsUUFBUTtRQUNSLGFBQWE7UUFDYixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLHlCQUF5QjtRQUN6QixrQkFBa0I7UUFDbEIsWUFBWTtJQUNoQjs7SUFFQTtRQUNJLGFBQWE7SUFDakI7O0lBRUE7UUFDSSx5QkFBeUI7SUFDN0I7O0lBRUE7UUFDSSxrQkFBa0I7UUFDbEIsV0FBVztJQUNmOztJQUVBO1FBQ0ksY0FBYztJQUNsQjs7SUFFQTtRQUNJLGNBQWM7SUFDbEI7O0lBRUE7UUFDSSwwQkFBMEI7SUFDOUI7O0lBRUE7UUFDSSxjQUFjO0lBQ2xCO0FBQ0o7O0FBRUEsaURBQWlEO0FBQ2pEO0lBQ0k7UUFDSSxhQUFhO1FBQ2IsY0FBYztJQUNsQjtBQUNKOzs7QUFHQSxzRkFBc0Y7QUFDdEY7SUFDSSx1QkFBdUI7SUFDdkIseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0kscUNBQXFDO0lBQ3JDLGdCQUFnQjtBQUNwQjs7O0FBR0EseURBQXlEO0FBQ3pEO0lBQ0ksY0FBYztBQUNsQjs7QUFFQTtJQUNJLGNBQWM7QUFDbEI7OztBQUdBLG1FQUFtRTtBQUNuRTtJQUNJLGVBQWU7SUFDZixXQUFXO0lBQ1gsUUFBUTtJQUNSLDJCQUEyQjtJQUMzQixhQUFhLEVBQUUsb0NBQW9DO0FBQ3ZEOztBQUVBO0lBQ0ksV0FBVztJQUNYLFlBQVk7SUFDWixVQUFVO0lBQ1YscUJBQXFCO0lBQ3JCLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLE1BQU07SUFDTixtQkFBbUI7SUFDbkIseUJBQXlCO0lBQ3pCLGNBQWM7SUFDZCx5Q0FBeUM7QUFDN0M7O0FBRUE7SUFDSSxtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsV0FBVztJQUNYLFlBQVk7QUFDaEI7O0FBRUE7O0lBRUksYUFBYTtBQUNqQjs7QUFFQSxnREFBZ0Q7QUFDaEQ7SUFDSSxrQkFBa0I7SUFDbEIsdUJBQXVCO0lBQ3ZCLFFBQVE7SUFDUiwyQkFBMkI7SUFDM0IsZ0JBQWdCO0lBQ2hCLDRCQUE0QjtJQUM1QixnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLHlCQUF5QjtJQUN6QixtQkFBbUI7SUFDbkIsMENBQTBDO0lBQzFDLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsU0FBUztJQUNULGFBQWE7QUFDakI7O0FBRUE7SUFDSSxjQUFjO0FBQ2xCOztBQUVBLDREQUE0RDtBQUM1RDtJQUNJO1FBQ0ksU0FBUztRQUNULFlBQVk7UUFDWixlQUFlO0lBQ25COztJQUVBO1FBQ0ksUUFBUTtRQUNSLHdCQUF3QjtRQUN4QixTQUFTO1FBQ1QsZUFBZTtJQUNuQjtBQUNKOztBQUVBLHFFQUFxRTtBQUNyRTtJQUNJLDBFQUEwRTtJQUMxRSxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLFdBQVc7SUFDWCxpQ0FBaUM7SUFDakMsNEJBQTRCO0FBQ2hDOztBQUVBLCtDQUErQyxnQ0FBZ0M7SUFDM0UsVUFBVTtBQUNkOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0k7UUFDSSxlQUFlO1FBQ2YsZ0JBQWdCO0lBQ3BCOztJQUVBO1FBQ0ksZ0JBQWdCO1FBQ2hCLGtCQUFrQjtJQUN0QjtBQUNKOztBQUVBO0lBQ0kscUNBQXFDO0lBQ3JDLGNBQWM7SUFDZCxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxxQ0FBcUM7SUFDckMsY0FBYztBQUNsQjs7QUFFQSw4Q0FBOEM7QUFDOUM7SUFDSSxpQkFBaUI7SUFDakIsY0FBYztJQUNkLGVBQWU7QUFDbkI7O0FBRUEsV0FBVztBQUNYO0lBQ0kseUJBQXlCO0lBQ3pCLG1CQUFtQjtJQUNuQixjQUFjO0lBQ2QsNEVBQTRFO0FBQ2hGOztBQUVBO0lBQ0ksY0FBYztJQUNkLHFCQUFxQjtBQUN6Qjs7QUFFQTtJQUNJLFdBQVc7SUFDWCwwQkFBMEI7QUFDOUI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsY0FBYztJQUNkLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixxQ0FBcUM7SUFDckMsU0FBUztJQUNULGVBQWU7QUFDbkI7O0FBRUE7O0lBRUksZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixTQUFTO0lBQ1QsVUFBVTtBQUNkOztBQUVBO0lBQ0ksU0FBUztJQUNULGVBQWU7SUFDZixjQUFjO0lBQ2QsZUFBZTtJQUNmLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQixTQUFTO0lBQ1QsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLFlBQVk7SUFDWixlQUFlO0lBQ2YsWUFBWTtJQUNaLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQix1QkFBdUI7SUFDdkIsVUFBVTtBQUNkOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLG1CQUFtQjtJQUNuQixnQkFBZ0IsT0FBTyxpQ0FBaUM7SUFDeEQsbUJBQW1CO0lBQ25CLHFCQUFxQixFQUFFLDZCQUE2QjtBQUN4RDs7QUFFQTtJQUNJLFlBQVk7SUFDWixXQUFXO0lBQ1gsWUFBWTtJQUNaLFlBQVk7SUFDWix1QkFBdUI7SUFDdkIsc0JBQXNCO0FBQzFCOzs7QUFHQTtJQUNJLFlBQVk7SUFDWixxQkFBcUI7SUFDckIsY0FBYztJQUNkLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxZQUFZLHdCQUF3QixrQkFBa0I7SUFDdEQsaUJBQWlCLG1CQUFtQixpQ0FBaUM7SUFDckUsbUJBQW1CO0lBQ25CLFlBQVk7SUFDWixzQkFBc0I7SUFDdEIsZUFBZTtJQUNmLFdBQVc7SUFDWCx5QkFBeUI7SUFDekIsZUFBZTtJQUNmLGFBQWE7SUFDYixzREFBc0Q7QUFDMUQ7O0FBRUEsYUFBYTtBQUNiO0lBQ0kscUJBQXFCLGVBQWUsb0JBQW9CO0lBQ3hELDBDQUEwQztJQUMxQyxzQkFBc0I7QUFDMUI7O0FBRUEsc0JBQXNCO0FBQ3RCO0lBQ0ksZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixhQUFhO0FBQ2pCOztBQUVBLGlDQUFpQztBQUNqQztJQUNJLG9DQUFvQztJQUNwQyxZQUFZO0FBQ2hCOztBQUVBLDhCQUE4QjtBQUM5QjtJQUNJLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGVBQWU7QUFDbkI7OztBQUdBO0lBQ0k7UUFDSSxzQkFBc0I7SUFDMUI7O0lBRUE7UUFDSSxVQUFVO0lBQ2Q7O0lBRUE7O1FBRUksa0JBQWtCO0lBQ3RCOztJQUVBO1FBQ0ksY0FBYztJQUNsQjs7SUFFQTtRQUNJLFNBQVM7SUFDYjtBQUNKOztBQUVBO0lBQ0k7UUFDSSxzQkFBc0I7SUFDMUI7O0lBRUE7UUFDSSxjQUFjO0lBQ2xCO0FBQ0o7O0FBRUEsbUVBQW1FO0FBQ25FO0lBQ0ksZUFBZTtJQUNmLFdBQVc7SUFDWCxRQUFRO0lBQ1IsMkJBQTJCO0lBQzNCLGFBQWEsRUFBRSxvQ0FBb0M7QUFDdkQ7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsWUFBWTtJQUNaLFVBQVU7SUFDVixxQkFBcUI7SUFDckIsb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsTUFBTTtJQUNOLG1CQUFtQjtJQUNuQix5QkFBeUI7SUFDekIsY0FBYztJQUNkLHlDQUF5QztBQUM3Qzs7QUFFQTtJQUNJLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGVBQWU7SUFDZixXQUFXO0lBQ1gsWUFBWTtBQUNoQjs7QUFFQTs7SUFFSSxhQUFhO0FBQ2pCOztBQUVBLGdEQUFnRDtBQUNoRDtJQUNJLGtCQUFrQjtJQUNsQix1QkFBdUI7SUFDdkIsUUFBUTtJQUNSLDJCQUEyQjtJQUMzQixnQkFBZ0I7SUFDaEIsNEJBQTRCO0lBQzVCLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIseUJBQXlCO0lBQ3pCLG1CQUFtQjtJQUNuQiwwQ0FBMEM7SUFDMUMsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixTQUFTO0lBQ1QsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGNBQWM7QUFDbEI7O0FBRUEsNERBQTREO0FBQzVEO0lBQ0k7UUFDSSxTQUFTO1FBQ1QsWUFBWTtRQUNaLGVBQWU7SUFDbkI7O0lBRUE7UUFDSSxRQUFRO1FBQ1Isd0JBQXdCO1FBQ3hCLFNBQVM7UUFDVCxlQUFlO0lBQ25CO0FBQ0o7O0FBRUEscUVBQXFFO0FBQ3JFO0lBQ0ksMEVBQTBFO0lBQzFFLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsV0FBVztJQUNYLGlDQUFpQztJQUNqQyw0QkFBNEI7QUFDaEM7O0FBRUEsK0NBQStDLGdDQUFnQztJQUMzRSxVQUFVO0FBQ2Q7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSTtRQUNJLGVBQWU7UUFDZixnQkFBZ0I7SUFDcEI7O0lBRUE7UUFDSSxnQkFBZ0I7UUFDaEIsa0JBQWtCO0lBQ3RCO0FBQ0o7O0FBRUE7SUFDSSxxQ0FBcUM7SUFDckMsY0FBYztJQUNkLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLHFDQUFxQztJQUNyQyxjQUFjO0FBQ2xCOzs7QUFHQSxxREFBcUQ7QUFDckQ7SUFDSSxnQkFBZ0I7QUFDcEI7OztBQUdBLDZFQUE2RTtBQUM3RTtJQUNJLDZCQUE2QjtJQUM3QixxQkFBcUI7SUFDckIsc0JBQXNCO0lBQ3RCLHFCQUFxQjtJQUNyQix1QkFBdUI7SUFDdkIsMkJBQTJCO0lBQzNCLGlDQUFpQztJQUNqQyw4QkFBOEIsRUFBRSx3QkFBd0I7SUFDeEQsb0JBQW9CO0FBQ3hCOzs7QUFHQSxrRUFBa0U7QUFDbEU7SUFDSSxtQkFBbUI7SUFDbkIsY0FBYztBQUNsQjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxxQkFBcUI7QUFDekI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsMEJBQTBCO0FBQzlCOztBQUVBO0lBQ0ksY0FBYztBQUNsQjs7QUFFQSx3REFBd0Q7QUFDeEQ7SUFDSSx1QkFBdUI7SUFDdkIsY0FBYztJQUNkLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksY0FBYztBQUNsQjs7O0FBR0Esd0RBQXdEO0FBQ3hEO0lBQ0ksOEJBQThCO0FBQ2xDOzs7QUFHQSw4RUFBOEU7QUFDOUU7SUFDSSxvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLHFFQUFxRTtJQUNyRSxjQUFjO0lBQ2QsdURBQXVEO0lBQ3ZELGlCQUFpQjtBQUNyQjs7QUFFQSxxRUFBcUU7QUFDckU7SUFDSSxlQUFlO0FBQ25COztBQUVBO0lBQ0ksWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixXQUFXO0lBQ1gsY0FBYztBQUNsQjs7QUFFQTtJQUNJLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLGNBQWM7QUFDbEI7O0FBRUE7SUFDSTtRQUNJLGNBQWM7UUFDZCxpQkFBaUI7SUFDckI7O0lBRUE7UUFDSSxlQUFlO0lBQ25COztJQUVBO1FBQ0ksWUFBWTtRQUNaLGdCQUFnQjtJQUNwQjs7SUFFQTtRQUNJLFlBQVk7UUFDWixnQkFBZ0I7SUFDcEI7QUFDSjs7O0FBR0EsbURBQW1EO0FBQ25EO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLG9CQUFvQjtBQUN4Qjs7O0FBR0Esc0RBQXNEO0FBQ3REO0lBQ0ksa0ZBQWtGO0FBQ3RGOzs7QUFHQTt3RUFDd0U7QUFDeEU7SUFDSSwyQkFBMkI7QUFDL0I7O0FBRUEscUZBQXFGO0FBQ3JGO0lBQ0ksd0RBQXdEO0FBQzVEOztBQUVBO0lBQ0kseURBQXlEO0FBQzdEOztBQUVBO0lBQ0ksZUFBZTtBQUNuQjs7QUFFQSxtQ0FBbUM7QUFDbkM7SUFDSTtRQUNJLDJCQUEyQjtJQUMvQjs7SUFFQTtRQUNJLHdEQUF3RDtJQUM1RDs7SUFFQTtRQUNJLHlEQUF5RDtJQUM3RDs7SUFFQTtRQUNJLGVBQWU7SUFDbkI7QUFDSjs7Ozs7QUNwb0NBO0lBQ0ksV0FBVztJQUNYLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZiw0RUFBNEU7SUFDNUUsa0JBQWtCO0lBQ2xCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsV0FBVztBQUNmOztBQUVBO0lBQ0ksY0FBYztJQUNkLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsaUNBQWlDO0lBQ2pDLG1CQUFtQjtJQUNuQixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLDBCQUEwQjtJQUMxQixTQUFTO0FBQ2I7O0FBRUE7SUFDSSxjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixjQUFjO0FBQ2xCOztBQUVBOztJQUVJLFdBQVc7SUFDWCxZQUFZLEVBQUUsb0ZBQW9GO0lBQ2xHLGVBQWU7SUFDZixpQ0FBaUM7SUFDakMsbUJBQW1COztJQUVuQixnQkFBZ0I7SUFDaEIsd0JBQXdCO0lBQ3hCLHFCQUFxQjtJQUNyQixhQUFhOztJQUViLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsZ0JBQWdCOztJQUVoQixxQ0FBcUM7SUFDckMsb0ZBQW9GO0FBQ3hGOztBQUVBO0lBQ0ksWUFBWTtJQUNaLHlEQUE0RDtJQUM1RCw0QkFBNEI7SUFDNUIseUNBQXlDO0lBQ3pDLHVCQUF1QjtJQUN2QixtQkFBbUI7QUFDdkI7O0FBRUE7O0lBRUksaUNBQWlDO0lBQ2pDLHdDQUF3QztBQUM1Qzs7QUFFQTs7SUFFSSxxQkFBcUI7SUFDckIsMENBQTBDO0lBQzFDLHFEQUFxRDtJQUNyRCxhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsUUFBUTtBQUNaOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHVCQUF1QjtJQUN2QixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQSx3QkFBd0I7QUFDeEIsa0RBQWtEO0FBQ2xEO0lBQ0ksa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixjQUFjO0lBQ2Qsd0JBQXdCO0lBQ3hCOztpRUFFNkQ7QUFDakU7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsZ0RBQWdEO0lBQ2hELFNBQVM7SUFDVCxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGFBQWE7SUFDYixxQ0FBcUM7SUFDckMsaUNBQWlDO0lBQ2pDLGlGQUFpRjtJQUNqRixrREFBa0Q7SUFDbEQsMENBQTBDO0lBQzFDLDBFQUEwRTtBQUM5RTs7QUFFQTtJQUNJLDJCQUEyQjtJQUMzQiwyQ0FBMkM7SUFDM0MsaUNBQWlDO0FBQ3JDOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixtQkFBbUI7SUFDbkIsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixTQUFTO0lBQ1Qsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLGNBQWM7SUFDZCx5QkFBeUI7SUFDekIsdUNBQXVDO0lBQ3ZDLDZFQUE2RTtBQUNqRjs7QUFFQTtJQUNJLDJCQUEyQjtJQUMzQix3Q0FBd0M7SUFDeEMscUJBQXFCO0FBQ3pCOztBQUVBO0lBQ0ksdUNBQXVDO0lBQ3ZDLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixXQUFXO0lBQ1gsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLHVCQUF1QjtJQUN2QixZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLFVBQVU7SUFDVixtQ0FBbUM7SUFDbkMsMkJBQTJCO0FBQy9COztBQUVBO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQiw4QkFBOEI7SUFDOUIsU0FBUztJQUNULGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsUUFBUTtJQUNSLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxxQkFBcUI7QUFDekI7O0FBRUE7O0lBRUksMEJBQTBCO0FBQzlCOztBQUVBO0lBQ0ksVUFBVTtJQUNWLGlDQUFpQztJQUNqQyxjQUFjO0lBQ2QsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxpQ0FBaUM7SUFDakMsbUNBQW1DO0FBQ3ZDOztBQUVBOzs7O0lBSUksb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsUUFBUTtJQUNSLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIseUJBQXlCO0lBQ3pCLDZEQUE2RDtJQUM3RCxXQUFXO0lBQ1gsZUFBZTtJQUNmLDJDQUEyQztJQUMzQyxxREFBcUQ7QUFDekQ7O0FBRUE7OztJQUdJLDJCQUEyQjtJQUMzQiw0Q0FBNEM7QUFDaEQ7O0FBRUE7OztJQUdJLHVDQUF1QztJQUN2QyxtQkFBbUI7QUFDdkI7O0FBRUEsK0NBQStDO0FBQy9DO0lBQ0ksZUFBZSwwQkFBMEIsRUFBRTtBQUMvQzs7Ozs7QUM5U0E7SUFDSSxhQUFhO0lBQ2IsZ0RBQWdEO0lBQ2hELFNBQVM7SUFDVCxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxTQUFTO0FBQ2I7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLGlDQUFpQztJQUNqQyxtQkFBbUI7SUFDbkIsU0FBUztJQUNULGFBQWE7SUFDYixxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQiwwRUFBMEU7QUFDOUU7O0FBRUE7SUFDSSwyQkFBMkI7SUFDM0IsMkNBQTJDO0lBQzNDLGlDQUFpQztBQUNyQzs7QUFFQTtJQUNJLFlBQVk7SUFDWix3Q0FBd0M7QUFDNUM7O0FBRUE7SUFDSSx3QkFBd0I7SUFDeEIsV0FBVztJQUNYLGNBQWM7SUFDZCxhQUFhO0lBQ2Isd0NBQXdDO0lBQ3hDLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZix5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSx3QkFBd0I7SUFDeEIsd0NBQXdDO0FBQzVDOztBQUVBO0lBQ0ksV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLGlDQUFpQztJQUNqQyxnQkFBZ0I7SUFDaEIsY0FBYztJQUNkLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSx1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixlQUFlO0lBQ2Ysa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsdUJBQXVCO0lBQ3ZCLFdBQVc7SUFDWCw0QkFBNEI7SUFDNUIsV0FBVztJQUNYLHFDQUFxQztJQUNyQyxnQkFBZ0I7O0lBRWhCOzs7Ozs7O0tBT0M7O0lBRUQsVUFBVTtBQUNkOztBQUVBO0lBQ0ksV0FBVztJQUNYLDRCQUE0QjtJQUM1QixhQUFhOztJQUViLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsWUFBWTtJQUNaLDJCQUEyQjtBQUMvQjs7QUFFQTtJQUNJLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixtQkFBbUI7QUFDdkI7O0FBRUEsb0RBQW9EO0FBQ3BEO0lBQ0ksb0JBQW9CO0lBQ3BCLHFCQUFxQjtJQUNyQiw0QkFBNEI7SUFDNUIsZ0JBQWdCO0lBQ2hCLGlCQUFpQixFQUFFLDJCQUEyQjtJQUM5QyxpQkFBaUIsRUFBRSw4REFBOEQ7SUFDakYsaUJBQWlCLEVBQUUsaUNBQWlDO0FBQ3hEOztBQUVBLHFDQUFxQztBQUNyQztJQUNJO1FBQ0ksMEJBQTBCO1FBQzFCLFNBQVM7SUFDYjtJQUNBO1FBQ0ksU0FBUztRQUNULFlBQVk7SUFDaEI7SUFDQTtRQUNJLFdBQVc7UUFDWCxZQUFZO1FBQ1osVUFBVTtJQUNkO0lBQ0E7UUFDSSxlQUFlO0lBQ25CO0lBQ0E7UUFDSSxXQUFXO1FBQ1gsZUFBZTtRQUNmLFlBQVk7UUFDWixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLHFDQUFxQztJQUN6QztJQUNBO1FBQ0ksYUFBYTtJQUNqQjtJQUNBO1FBQ0ksWUFBWTtRQUNaLGVBQWU7UUFDZixlQUFlO0lBQ25CO0lBQ0E7UUFDSSxlQUFlO1FBQ2YsYUFBYTtJQUNqQjtBQUNKOztBQUVBO0lBQ0k7UUFDSSxnREFBZ0Q7UUFDaEQsU0FBUztJQUNiO0lBQ0E7UUFDSSxTQUFTO1FBQ1QsWUFBWTtJQUNoQjtJQUNBO1FBQ0ksV0FBVztRQUNYLGFBQWE7UUFDYixVQUFVO0lBQ2Q7SUFDQTtRQUNJLFdBQVc7UUFDWCxlQUFlO1FBQ2YsWUFBWTtRQUNaLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIscUNBQXFDO0lBQ3pDO0lBQ0E7UUFDSSxhQUFhO0lBQ2pCO0lBQ0E7UUFDSSxZQUFZO1FBQ1osZUFBZTtRQUNmLGVBQWU7SUFDbkI7SUFDQTtRQUNJLGVBQWU7SUFDbkI7QUFDSjs7QUFFQSx5REFBeUQ7QUFDekQ7SUFDSTtRQUNJLGdEQUFnRDtRQUNoRCxTQUFTO0lBQ2I7QUFDSjs7Ozs7QUN2T0EseUNBQXlDO0FBQ3pDO0VBQ0UsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixTQUFTO0FBQ1g7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsaUJBQWlCO0VBQ2pCLGlDQUFpQztFQUNqQyxnQkFBZ0I7RUFDaEIsY0FBYztFQUNkLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsWUFBWTtBQUNkOztBQUVBO0VBQ0UsV0FBVztFQUNYLFlBQVk7QUFDZDs7QUFFQTtFQUNFLFdBQVc7RUFDWCxZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsY0FBYztFQUNkLGNBQWM7RUFDZCx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsZ0NBQWdDLEVBQUUsNkNBQTZDO0VBQy9FLFNBQVM7RUFDVCxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsaUJBQWlCO0VBQ2pCLG1CQUFtQjtBQUNyQjs7QUFFQSxzRUFBc0U7QUFDdEU7RUFDRSx1QkFBdUI7RUFDdkIsV0FBVztFQUNYLHNCQUFzQjtFQUN0QixtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsZ0ZBQWdGO0VBQ2hGLGdCQUFnQjtBQUNsQjs7QUFFQTs7RUFFRSx1QkFBdUI7RUFDdkIsZ0JBQWdCO0VBQ2hCLDJCQUEyQjtBQUM3Qjs7QUFFQTs7RUFFRSxZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLGVBQWU7RUFDZixnQkFBZ0I7QUFDbEI7O0FBRUEsMEJBQTBCO0FBQzFCO0VBQ0U7SUFDRSxZQUFZO0VBQ2Q7QUFDRjs7QUFFQSwwQkFBMEI7QUFDMUIscUNBQXFDLG9CQUFvQixFQUFFOztBQUUzRCw0Q0FBNEM7QUFDNUM7SUFDSSx1QkFBdUI7SUFDdkIsaUNBQWlDO0lBQ2pDLG1CQUFtQjtJQUNuQixhQUFhO0lBQ2IsNkNBQTZDO0lBQzdDLGdCQUFnQixFQUFFLHlEQUF5RDtJQUMzRSwwRUFBMEU7QUFDOUU7O0FBRUE7SUFDSSwyQkFBMkI7SUFDM0IsMkNBQTJDO0lBQzNDLGlDQUFpQztBQUNyQzs7QUFFQTtFQUNFLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLGVBQWU7RUFDZixjQUFjO0VBQ2QsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixtQkFBbUI7RUFDbkIsVUFBVTtBQUNaOztBQUVBO0VBQ0UsWUFBWTtFQUNaLGFBQWE7QUFDZjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsY0FBYztFQUNkLGdCQUFnQjtFQUNoQixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxpQkFBaUI7RUFDakIsa0JBQWtCO0FBQ3BCOztBQUVBLGtEQUFrRDtBQUNsRDtFQUNFLGlCQUFpQjtBQUNuQjtBQUNBO0VBQ0UseUJBQXlCO0VBQ3pCLGtCQUFrQjtFQUNsQixxQkFBcUI7RUFDckIsZ0JBQWdCO0VBQ2hCLGNBQWM7RUFDZCxlQUFlO0VBQ2Ysb0JBQW9CO0FBQ3RCO0FBQ0E7RUFDRSxtQkFBbUI7QUFDckI7O0FBRUEsd0JBQXdCO0FBQ3hCO0VBQ0Usc0JBQXNCO0VBQ3RCLG1CQUFtQjtBQUNyQjs7O0FBR0EsOENBQThDO0FBQzlDLDRDQUE0QyxlQUFlLEVBQUU7QUFDN0Q7RUFDRSxhQUFhO0VBQ2IsZ0RBQWdEO0VBQ2hELFNBQVM7QUFDWDtBQUNBO0VBQ0UsYUFBYTtFQUNiLHlCQUF5QjtFQUN6QixnQkFBZ0I7QUFDbEI7QUFDQTtFQUNFLHlDQUF5QywwQkFBMEIsRUFBRTtBQUN2RTs7O0FBR0Esd0NBQXdDO0FBQ3hDO0VBQ0UsYUFBYTtFQUNiLFNBQVM7QUFDWDs7QUFFQSw4Q0FBOEM7QUFDOUM7RUFDRSxpQkFBaUI7RUFDakIsaUJBQWlCO0VBQ2pCLGtCQUFrQjtBQUNwQjs7O0FBR0EsMERBQTBEO0FBQzFEO0VBQ0UsY0FBYztFQUNkLGdCQUFnQjtFQUNoQixxQkFBcUI7RUFDckIsY0FBYztBQUNoQjs7QUFFQTs7Ozs7SUFLSSxXQUFXO0lBQ1gsZUFBZTtJQUNmLHVCQUF1QjtJQUN2QixpQ0FBaUM7SUFDakMsbUJBQW1CO0lBQ25CLHFDQUFxQztJQUNyQyxjQUFjLEVBQUUsYUFBYTtJQUM3QixnQkFBZ0I7SUFDaEIsb0JBQW9CO0lBQ3BCLHNCQUFzQixFQUFFLGlEQUFpRDtJQUN6RSxvRkFBb0Y7O0lBRXBGLGdCQUFnQjtJQUNoQix3QkFBd0I7SUFDeEIscUJBQXFCO0lBQ3JCLGFBQWE7QUFDakI7O0FBRUE7SUFDSSx5REFBNEQ7SUFDNUQsNEJBQTRCO0lBQzVCLHlDQUF5QztJQUN6Qyx1QkFBdUI7SUFDdkIsbUJBQW1CO0FBQ3ZCOztBQUVBOzs7SUFHSSxpQ0FBaUM7SUFDakMsd0NBQXdDO0FBQzVDOztBQUVBOztFQUVFLGNBQWMsRUFBRSxhQUFhO0FBQy9COztBQUVBOzs7RUFHRSxhQUFhO0VBQ2IscUJBQXFCLEVBQUUsYUFBYTtFQUNwQyw2Q0FBNkM7QUFDL0M7O0FBRUEsbUJBQW1CO0FBQ25COzs7RUFHRSxtQkFBbUI7RUFDbkIsY0FBYztBQUNoQjs7QUFFQSxnQ0FBZ0M7QUFDaEM7RUFDRSxXQUFXO0VBQ1gsWUFBWTtFQUNaLHNCQUFzQjtFQUN0QixxQkFBcUI7QUFDdkI7O0FBRUEsMENBQTBDO0FBQzFDOztFQUVFLG9CQUFvQjtBQUN0Qjs7O0FBR0Esc0VBQXNFO0FBQ3RFO0VBQ0UsOEJBQThCLDBCQUEwQixFQUFFO0FBQzVEOzs7OztBQzNTQSw0RUFBNEU7QUFDNUU7RUFDRSxlQUFlLEVBQUUsMEJBQTBCO0VBQzNDLDJCQUEyQjtBQUM3Qjs7QUFFQSxPQUFPLCtEQUErRCxFQUFFOztBQUV4RSxzQkFBc0I7QUFDdEI7RUFDRSxnQkFBZ0I7RUFDaEIsTUFBTTtFQUNOLGFBQWE7RUFDYixhQUFhO0VBQ2IsVUFBVTtFQUNWLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIscUJBQXFCO0VBQ3JCLG1CQUFtQixFQUFFLGVBQWU7RUFDcEMsdUNBQXVDO0FBQ3pDOztBQUVBO0VBQ0UsZ0JBQWdCLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFO0VBQzVELDBCQUEwQixxQkFBcUIsRUFBRSxjQUFjLEVBQUU7QUFDbkU7O0FBRUEsd0JBQXdCLHdCQUF3QixFQUFFOztBQUVsRCw0QkFBNEIsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUU7O0FBRXBFO0VBQ0UsZ0JBQWdCO0VBQ2hCLHdCQUF3QjtFQUN4QixpQkFBaUI7RUFDakIsY0FBYztFQUNkLHlCQUF5QjtFQUN6QixzQkFBc0I7RUFDdEIscUJBQXFCO0VBQ3JCLGFBQWE7RUFDYixjQUFjO0VBQ2QsZUFBZTtBQUNqQjtBQUNBLGtCQUFrQixtQkFBbUIsRUFBRTtBQUN2QyxrQkFBa0IsMEJBQTBCLEVBQUUsbUJBQW1CLEVBQUU7QUFDbkU7O0VBRUUsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCxxQkFBcUI7QUFDdkI7O0FBRUEsZ0RBQWdEO0FBQ2hELCtCQUErQjtBQUMvQjtFQUNFLHFDQUFxQztBQUN2Qzs7QUFFQSw4RkFBOEY7QUFDOUY7RUFDRSxnSEFBZ0g7QUFDbEg7O0FBRUEsd0RBQXdEO0FBQ3hEO0VBQ0Usa0NBQWtDO0FBQ3BDOztBQUVBLHNCQUFzQjtBQUN0QjtFQUNFLCtDQUErQztBQUNqRDtBQUNBLHlFQUF5RTtBQUN6RSwrRUFBK0UsK0NBQStDLEVBQUU7O0FBRWhJLHlFQUF5RTtBQUN6RTs7RUFFRSwyQkFBMkI7RUFDM0Isc0JBQXNCO0FBQ3hCO0FBQ0EsbUJBQW1CLHlCQUF5QixFQUFFLHFDQUFxQyxFQUFFO0FBQ3JGLG1CQUFtQiw2QkFBNkIsRUFBRTs7QUFFbEQsNkNBQTZDO0FBQzdDOztFQUVFLDhCQUE4QjtFQUM5Qix5QkFBeUI7QUFDM0I7QUFDQSxtQkFBbUIseUJBQXlCLEVBQUU7O0FBRTlDLDZDQUE2QztBQUM3QyxtREFBbUQsMEJBQTBCLEVBQUUsbUJBQW1CLEVBQUU7O0FBRXBHLG1EQUFtRDtBQUNuRCxpQ0FBaUMsK0NBQStDLEVBQUU7QUFDbEYsb0NBQW9DLHVCQUF1QixFQUFFOztBQUU3RCxvQkFBb0I7QUFDcEI7RUFDRSxnQkFBZ0Isd0JBQXdCLEVBQUU7QUFDNUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2FwcC5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9jb250YWN0LmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2hvbWUuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvbWF0ZXJpYWxzLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3BhcnRpYWxzLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3NlY3VyaXR5LmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3RpbGVzLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2FjY291bnQuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvYTExeS5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiOnJvb3Qge1xuICAgIC0tYnJhbmQ6ICMwMDMzNjY7XG4gICAgLS1hY2NlbnQ6ICMwMDY2Y2M7XG4gICAgLS1hY2NlbnQtc2Vjb25kYXJ5OiAjMGQ2ZWZkO1xuICAgIC0tYmc6ICNmNWY3ZmI7XG4gICAgLyogSGVpZ2h0IG9mZnNldCBmb3Igc3RpY2t5IGhlYWRlciB1bmRlciBhMTF5IHRvb2xiYXIgKi9cbiAgICAtLWhlYWRlci10b3A6IDBweDtcbn1cblxuYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnKTtcbiAgICBjb2xvcjogIzFiMWIxYjtcbn1cblxuaDEge1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBtYXJnaW46IDAgMCAxMnB4O1xuICAgIGNvbG9yOiB2YXIoLS1icmFuZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4ycHg7XG59XG5cbi5idG4ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgcGFkZGluZzogMTJweCAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMDVzIGVhc2UsIGJveC1zaGFkb3cgLjJzIGVhc2U7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi5idG4ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDZweCAxNnB4IHJnYmEoMCwxMDIsMjA0LC4yNSk7XG59XG5cbi5idG4ucHJpbWFyeTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMjBweCByZ2JhKDAsMTAyLDIwNCwuMzIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLmJ0bi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMTFweCAxN3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmJ0bi5naG9zdCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcbn1cblxuLmltZy13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYmFja2dyb3VuZC1pbWctbWlkZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLyogdG9wOiAzNTBweDsgKi9cbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmJhY2tncm91bmQtaW1nLWxlZnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBtaW4taGVpZ2h0OiAyMDAwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIC8qIG1heC13aWR0aDogNTYwcHg7ICovXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBsZWZ0IHRvcDtcbiAgICB6LWluZGV4OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uYmFja2dyb3VuZC1pbWctZG93biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogU3RpY2t5IGZvb3RlciBsYXlvdXQgKi9cbmh0bWwgeyBoZWlnaHQ6IDEwMCU7IH1cbmJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiBoZWlnaHQ6IDEwMCU7ICovXG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uc2l0ZS1tYWluIHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL3B1YmxpYy9pbWFnZXMvYmcvYmcuc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5zaXRlLWZvb3RlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLXRvcDogYXV0bzsgLyogcHVzaCBmb290ZXIgdG8gYm90dG9tIHdoZW4gY29udGVudCBpcyBzaG9ydCAqL1xufVxuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKiBGaXJlZm94ICovXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn1cblxuLnRveC10aW55bWNlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRDlEOUQ5ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweCAhaW1wb3J0YW50O1xufVxuXG4uZ2VuZXJpYy1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGhzbCgwLCAwJSwgNjAlKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICBjb2xvcjogI2Y3ZjdmNztcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgcGFkZGluZzogMjBweCAzMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IDAuMnM7XG59XG5cbi5nZW5lcmljLWJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDAsIDAlLCA2NSUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAzcHQgaHNsKDAsIDAlLCA4MCUpO1xufVxuXG4uYnV0dG9uLXNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIHBhZGRpbmc6IDVweCAxMHB4XG59XG5cbi5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwO1xufVxuXG4vKiBIb21lcGFnZSBzcGFjaW5nOiBhZGQgaG9yaXpvbnRhbCBtYXJnaW5zIGZvciBtYWluIGNvbnRlbnQgKi9cbi5ob21lLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTc2NXB4OyAvKiB+NzUlIGd1dHRlciByZWR1Y3Rpb24gdnMgMTMwMHB4IGJhc2VsaW5lIG9uIDE5MjBweCBzY3JlZW5zICovXG4gICAgbWFyZ2luOiAwIGF1dG87ICAgIC8qIGNlbnRlciB0aGUgY29udGFpbmVyICovXG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7IC8qIHNtYWxsIGxlZnQvcmlnaHQgYnJlYXRoaW5nIHJvb20gKi9cbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG59XG5cbi8qIE1vYmlsZSBvcHRpbWl6YXRpb25zICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuYmFja2dyb3VuZC1pbWctbGVmdCxcbiAgICAuYmFja2dyb3VuZC1pbWctZG93biB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5iYWNrZ3JvdW5kLWltZy1taWRkbGUge1xuICAgICAgICBvcGFjaXR5OiAwLjM1O1xuICAgIH1cbn1cblxuLyogU2Nyb2xsLXRvLXRvcCBidXR0b24gKi9cbi5zY3JvbGwtdG9wIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDE4cHg7XG4gICAgYm90dG9tOiAyOHB4O1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogNjRweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDIwcHggcmdiYSgwLCAxMDIsIDIwNCwgMC4zNSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzIGVhc2UsIHRyYW5zZm9ybSAuMjVzIGVhc2UsIGJveC1zaGFkb3cgLjJzIGVhc2U7XG59XG5cbi5zY3JvbGwtdG9wLmlzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4uc2Nyb2xsLXRvcDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDI0cHggcmdiYSgwLCAxMDIsIDIwNCwgMC40NSk7XG59XG5cbi5zY3JvbGwtdG9wIHN2ZyB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jbGFtcC00IHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDQ7IC8qIExpbWl0IHRvIDQgbGluZXMgKi9cbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8qIFJlc3BlY3QgcmVkdWNlZCBtb3Rpb24gKi9cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLnNjcm9sbC10b3AgeyB0cmFuc2l0aW9uOiBub25lOyB9XG59XG4iLCIuY29udGFjdC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDQ4cHggMTZweDtcbiAgICBnYXA6IDE2cHg7XG59XG5cbi5jb250YWN0LXN1YmNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmNvbnRhY3QtaGVhZGVyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTRiBQcm8gVGV4dFwiLCBcIlNGIFByb1wiLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xufVxuXG4uY29udGFjdC1pbmZvIHtcbiAgICBmb250LXNpemU6IDEuMWVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5jb250YWN0LXNpbmdsZSB7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLCBjb2xvciAwLjNzIGVhc2UsIG9wYWNpdHkgMC4zcyBlYXNlO1xufVxuXG5hLmNvbnRhY3Qtc2luZ2xlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbmEuY29udGFjdC1zaW5nbGU6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG5hLmNvbnRhY3Qtc2luZ2xlLmNvbnRhY3QtbWFpbCB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5jb250YWN0LXNpbmdsZTpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xuICAgIFxufVxuXG4uY29udGFjdC1pY29uIHtcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmNvbnRhY3QtaWNvbiBzdmcge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgb3BhY2l0eTogMC44O1xufVxuXG4vKiBtYWNPUyBnbGFzc21vcnBoaXNtIGNhcmQgKi9cbi5nbGFzcy1jYXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IG1pbig5MnZ3LCA1NjBweCk7XG4gICAgcGFkZGluZzogMjRweCAyOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgLyogTWFrZSB0aGUgY2FyZCBiYWNrZ3JvdW5kIG1vcmUgdHJhbnNwYXJlbnQgd2hpbGUga2VlcGluZyB0aGUgZnJvc3RlZCBsb29rICovXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsMjU1LDI1NSwwLjEyKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwwLjA2KSAxMDAlKTtcbiAgICBib3JkZXI6IGhzbCgwLCAwJSwgNDAlKSAycHQgc29saWQ7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAxMHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjEyKSxcbiAgICAgICAgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LDAuMTgpIGluc2V0O1xuICAgIGJhY2tkcm9wLWZpbHRlcjogc2F0dXJhdGUoMTgwJSkgYmx1cigzMnB4KTtcbiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogc2F0dXJhdGUoMTgwJSkgYmx1cigzMnB4KTtcbiAgICBjb2xvcjogcmdiYSgyMCwyMCwyMCwwLjkpO1xuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU0YgUHJvIFRleHRcIiwgXCJTRiBQcm9cIiwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLCBib3gtc2hhZG93IC4zcyBlYXNlLCBib3JkZXItY29sb3IgLjNzIGVhc2U7XG59XG5cbi5nbGFzcy1jYXJkOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XG4gICAgYm94LXNoYWRvdzogMCAxNnB4IDQycHggcmdiYSgwLCAwLCAwLCAwLjE2KTtcbiAgICBib3JkZXI6IGhzbCgwLCAwJSwgNzAlKSAycHQgc29saWQ7XG59XG5cbi8qIHN1YnRsZSBsaWdodCByZWZsZWN0aW9uICovXG4uZ2xhc3MtY2FyZDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgIC8qIFN1YnRsZXIgcmVmbGVjdGlvbiBmb3IgYSBjbGVhcmVyLCBtb3JlIHRyYW5zcGFyZW50IGdsYXNzICovXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCB0byBib3R0b20gcmlnaHQsIHJnYmEoMjU1LDI1NSwyNTUsMC4yNSksIHJnYmEoMjU1LDI1NSwyNTUsMCkgMzAlICk7XG4gICAgbWl4LWJsZW5kLW1vZGU6IG92ZXJsYXk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIEJldHRlciBzcGFjaW5nIG9uIHNtYWxsIHNjcmVlbnMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA0MjBweCkge1xuICAgIC5nbGFzcy1jYXJkIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAxOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIH1cbiAgICAuY29udGFjdC1oZWFkZXIge1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICB9XG59XG5cbi8qIEZhbGxiYWNrIHdoZW4gYmx1ciBpc27igJl0IHN1cHBvcnRlZCAqL1xuQHN1cHBvcnRzIG5vdCAoKC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpKSBvciAoYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpKSkge1xuICAgIC5nbGFzcy1jYXJkIHtcbiAgICAgICAgLyogU2xpZ2h0bHkgbG93ZXIgb3BhY2l0eSBmYWxsYmFjayB0byBtYXRjaCB0aGUgbW9yZSB0cmFuc3BhcmVudCBsb29rICovXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC41KTtcbiAgICB9XG59XG4iLCIuaG9tZS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiA3MHZoO1xuICAgIHBhZGRpbmc6IDQwcHggMjBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1pbi1oZWlnaHQ6IDIwMDBweDtcbn1cblxuLmhlcm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuaGVhZGVyLmhvbWUtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMThweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1icmFuZCksICMwMDI0NDggNjAlKTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxOHB4IHJnYmEoMCwgMCwgMCwgLjA4KTtcbn1cblxuaGVhZGVyLmhvbWUtaGVhZGVyIC50aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjRweDtcbn1cblxuaGVhZGVyLmhvbWUtaGVhZGVyIC50aXRsZSBzdHJvbmcge1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4ubG9nbyB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmMjI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuZm9vdGVyLmhvbWUtZm9vdGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICM3YTdhN2E7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIHBhZGRpbmc6IDE4cHg7XG59XG5cbi5jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgcGFkZGluZzogNDBweCAyOHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMCwgMCwgMCwgLjA2KTtcbiAgICBtYXgtd2lkdGg6IDgyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogIzQ0NDtcbiAgICBtYXJnaW46IDAgMCAyNHB4O1xufVxuXG4uYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDEycHg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLm1ldGEge1xuICAgIG1hcmdpbi10b3A6IDIycHg7XG4gICAgY29sb3I6ICM2NjY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uY2FyZC1tYXRlcmlhbHMge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMTAwcHg7XG59XG5cbi5jYXJkLW1hdGVyaWFscyBoMiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmNhcmQtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyODBweCwgMWZyKSk7XG4gICAgZ2FwOiAxOHB4O1xufVxuXG4uY2FyZC10aWxlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIC4wNCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmNhcmQtY29udGFpbmVyLWhlYWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDE2MHB4O1xuICAgIGJhY2tncm91bmQ6ICNmN2Y5ZmM7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIFBlZ2dpbmcvcGluIGRlY29yYXRpb24gZm9yIGhvbWUgY2FyZHMgKi9cbi5jYXJkLXBlZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogOHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJhY2tncm91bmQ6ICNlMTFkNDg7IC8qIHJvc2UtNjAwICovXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDAgcmdiYSgwLDAsMCwuMiksIDAgOHB4IDE0cHggcmdiYSgwLDAsMCwuMTgpO1xuICAgIHotaW5kZXg6IDI7XG59XG4uY2FyZC1wZWc6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogMTRweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2lkdGg6IDJweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuMik7IC8qIHNtYWxsIHNoYWRvdyBsaWtlIGEgcGluICovXG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xufVxuLmNhcmQtY29udGFpbmVyLWhlYWQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTRweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHdpZHRoOiA2MCU7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuMDQpO1xuICAgIGZpbHRlcjogYmx1cigycHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5jYXJkLXRodW1ibmFpbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uY2FyZC1uby10aHVtYm5haWwge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICM0YTc3Yzk7XG4gICAgYmFja2dyb3VuZDogI2U4ZjBmZTtcbiAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMnB4O1xuICAgIGxlZnQ6IDEycHg7XG59XG5cbi5jYXJkLWR1cmF0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMnB4O1xuICAgIHJpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQ6ICNlOGYwZmU7XG4gICAgY29sb3I6ICMxZTNhOGE7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG59XG5cbi5jYXJkLWNvbnRhaW5lci1ib2R5IHtcbiAgICBwYWRkaW5nOiAxMnB4IDE0cHggMTRweDtcbn1cblxuLmNhcmQtY2F0ZWdvcnktY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgIGNvbG9yOiAjMjU2M2ViO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5jYXJkLWNhdGVnb3J5LXR5cGUge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGJhY2tncm91bmQ6ICNGRUYzQzc7IC8qIHNvbGlkIHBhbGUgeWVsbG93IHRvIGF2b2lkIHRyYW5zcGFyZW5jeSAqL1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNGREU2OEE7XG4gICAgY29sb3I6ICM5MjQwMGU7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDJweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG59XG5cbi5jYXJkLWJvZHktdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDZweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG59XG5cbi5jYXJkLWJvZHktZGVzYyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjNmI3MjgwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmNhcmQtb3duZXItY29udGFuaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGNvbG9yOiAjNmI3MjgwO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLmNhcmQtb3duZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG59XG5cbi5jYXJkLWRldGFpbHMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgY29sb3I6ICMyNTYzZWI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmNhcmQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuY2FyZC1idXR0b24tY29udGFpbmVyIC5idG4ge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDE0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG59XG5cbi8qIEhvbWUgcGFnZSBjZW50ZXJpbmcgYWRqdXN0bWVudHMgKi9cbi5ob21lLWxvZ28tYmFubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLyogZ2FwOiAxOHB4OyAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTEwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxcmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbn1cblxuLmhvbWUtbG9nby1iYW5uZXItaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiA4MHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLmhvbWUtbG9nby1iYW5uZXItdGV4dCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG59XG5cbi5ob21lLWxvZ28tYmFubmVyLWltZy1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuXG4vKiBFbnN1cmUgY2FyZHMgYXJlIGNlbnRlcmVkIHdpdGhpbiB0aGUgaGVybyAqL1xuLmNhcmQsXG4uY2FyZC1tYXRlcmlhbHMge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTIwMHB4O1xufVxuXG4vKiBNYWtlIHRoZSBtYXRlcmlhbHMgc2VjdGlvbiBjb250YWluZXIgdHJhbnNwYXJlbnQgb24gdGhlIGhvbWUgcGFnZSAqL1xuLmNhcmQuY2FyZC1tYXRlcmlhbHMge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuIiwiLm1hdGVyaWFscy1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIyMHB4LCAxZnIpKTtcbiAgICBnYXA6IDE2cHg7XG59XG5cbi5tYXRlcmlhbHMtdGlsZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tYXRlcmlhbHMtdGh1bWJuYWlsLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMjBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLm1hdGVyaWFscy10aHVtYm5haWwge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xufVxuXG4ubWF0ZXJpYWxzLXRpdGxlIHtcbiAgICBtYXJnaW46OHB4IDAgNHB4O1xufVxuXG4ubWF0ZXJpYWxzLWRlc2Mge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzY2Njtcbn1cblxuLnBsYXllciB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLnBsYXllci1pbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLm1hdGVyaWFscy1kb3dubG9hZC1idXR0b24tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xufVxuXG4uYWRkTWF0ZXJpYWxGb3JtQ29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG59XG5cbi5hZGRNYXRlcmlhbEZvcm1Db250YWluZXIgZm9ybSB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmYmZiO1xuICAgIHBhZGRpbmc6IDN2aCAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG59XG5cbi5hZGRNYXRlcmlhbEZvcm1Db250YWluZXIgZm9ybSA+IGRpdiB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG5cbi5hZGRNYXRlcmlhbExhYmVsIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbjogMjVweCAwIDVweCAwO1xuICAgIGNvbG9yOiAjOTY5Njk2O1xufVxuXG5pbnB1dC5hZGRNYXRlcmlhbElucHV0LFxuc2VsZWN0LmFkZE1hdGVyaWFsSW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IGhzbCgwLCAwJSwgNDAlKSAycHQgc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB0IDRwdCAwIDA7XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgdGV4dC1pbmRlbnQ6IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuc2VsZWN0LmFkZE1hdGVyaWFsSW5wdXQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vcHVibGljL2ltYWdlcy9zZWxlY3QtZG93bi5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuNzVyZW0gY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xufVxuXG5pbnB1dC5hZGRNYXRlcmlhbElucHV0OmhvdmVyLFxuc2VsZWN0LmFkZE1hdGVyaWFsSW5wdXQ6aG92ZXIge1xuICAgIGJvcmRlci1ib3R0b206IGhzbCgwLCAwJSwgNTAlKSAycHQgc29saWQ7XG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuaW5wdXQuYWRkTWF0ZXJpYWxJbnB1dDpmb2N1cyxcbnNlbGVjdC5hZGRNYXRlcmlhbElucHV0OmZvY3VzLFxuaW5wdXQuYWRkTWF0ZXJpYWxJbnB1dDphY3RpdmUsXG5zZWxlY3QuYWRkTWF0ZXJpYWxJbnB1dDphY3RpdmUge1xuICAgIGJvcmRlci1ib3R0b206IGhzbCgwLCAwJSwgNTAlKSAycHQgc29saWQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDVwdCBoc2woMCwgMCUsIDQwJSk7XG4gICAgb3V0bGluZTogMDtcbn1cblxuLmFkZE1hdGVyaWFsRm9ybUJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDAsIDAlLCA4MCUpO1xuICAgIG1hcmdpbjogNTBweCAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgIGNvbG9yOiAjZjdmN2Y3O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICBwYWRkaW5nOiAxMHB0IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiAwLjJzO1xufVxuXG4uYWRkTWF0ZXJpYWxGb3JtQnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMCwgMCUsIDg1JSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDNwdCBoc2woMCwgMCUsIDgwJSk7XG59XG5cbi51cGxvYWRJbnB1dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRodW1ibmFpbFByZXZpZXdDb250YWluZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50aHVtYm5haWxQcmV2aWV3IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDUwMHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm1hdGVyaWFsRmlsZUxpc3Qge1xuICAgIG1heC1oZWlnaHQ6IDQyMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLm1hdGVyaWFsRmlsZUxpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogNnB4O1xufVxuXG4ubWF0ZXJpYWxGaWxlTGlzdDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4yNSk7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4ubWF0ZXJpYWxGaWxlTGlzdCBhIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubWF0ZXJpYWxGaWxlTGlzdCBsaSB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIHBhZGRpbmc6IDZweCAwO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCByZ2JhKDAsMCwwLDAuMik7XG59XG5cbi5tYXRlcmlhbEZpbGVMaXN0IGxpOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5tYXRlcmlhbEZpbGVMaXN0IGE6aG92ZXIge1xuICAgIGNvbG9yOiBoc2woMCwgMCUsIDIwJSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IDAuMnM7XG59XG5cbi5tYXRlcmlhbEZpbGVMaXN0IGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaHNsKDAsIDAlLCA4MCUpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGNvbG9yOiAjZjdmN2Y3O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogMC4ycztcbn1cblxuLm1hdGVyaWFsRmlsZUxpc3QgYnV0dG9uIHN2ZyB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xufVxuXG4ubWF0ZXJpYWxGaWxlTGlzdCBidXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGhzbCgwLCAwJSwgODUlKTtcbiAgICBib3gtc2hhZG93OiAwIDAgM3B0IGhzbCgwLCAwJSwgODAlKTtcbn1cblxuLmRkQm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMCwgMCUsIDk1JSk7XG4gICAgYm9yZGVyOiBoc2woMCwgMCUsIDQwJSkgMnB0IHNvbGlkO1xuICAgIGJvcmRlci1yYWRpdXM6IDRwdDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmRyYWdvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMCwgMCUsIDk4JSk7XG59XG5cbi5tYXRlcmlhbFRvb2xiYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDIwcHg7XG59XG5cbi5tYXRlcmlhbFNob3dDb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDV2aCAwO1xuICAgIHBhZGRpbmc6IDAgNXZ3O1xufVxuXG4ubWF0ZXJpYWxTaG93SW5mb0NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAzMnB4O1xuXG4gICAgYm9yZGVyOiAycHggc29saWQgaHNsKDAsIDAlLCA3MCUpO1xuICAgIHBhZGRpbmc6IDUwcHggMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuXG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxcHgpO1xuXG4gICAgZmxleDogMi41O1xufVxuXG4ubWF0ZXJpYWxTaG93RGF0YUNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleDogMTtcbiAgICBnYXA6IDMycHg7XG5cbiAgICBib3JkZXI6IG5vbmU7XG5cbiAgICBwYWRkaW5nLWJvdHRvbTogNXZoO1xuICAgIG1hcmdpbi1sZWZ0OiAydnc7XG59XG5cbi5tYXRlcmlhbFNob3dJbmZvVGl0bGVDb250YWluZXIge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgZm9udC1zaXplOiAyLjVlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgICBcbiAgICBib3JkZXI6IDJweCBzb2xpZCBoc2woMCwgMCUsIDYwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICBcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDUpO1xuXG4gICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCA2cHggMThweCByZ2JhKDAsMCwwLDAuMTgpLFxuICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsMC4xOCk7XG59XG5cbi5tYXRlcmlhbFNob3dJbmZvRGVzY0NvbnRhaW5lciB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBwYWRkaW5nOiAxNXB4IDI1cHg7XG5cbiAgICBib3JkZXI6IDJweCBzb2xpZCBoc2woMCwgMCUsIDYwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcblxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4wNSk7XG4gICAgXG4gICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCA2cHggMTJweCByZ2JhKDAsMCwwLDAuMTIpLFxuICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsMC4xMik7XG59XG5cbi8qXG4gIEVuc3VyZSByaWNoIEhUTUwgaW5zZXJ0ZWQgaW50byB0aGUgZGVzY3JpcHRpb24gSFRNTCBjb250YWluZXIgc2NhbGVzIHRvIHRoZVxuICBhY3R1YWwgY29udGFpbmVyIHNpemUgYW5kIGRvZXMgbm90IG92ZXJmbG93LiBXZSBzY29wZSB0aGUgcnVsZXMgbmFycm93bHkgdG9cbiAgdGhlIGFkZGl0aW9uYWwgSFRNTCBibG9jayB3aXRoIGlkIFwiaHRtbENvbnRhaW5lclwiIHVzZWQgb24gdGhlIG1hdGVyaWFsIHBhZ2UuXG4qL1xuI2h0bWxDb250YWluZXIge1xuICAgIC8qIEFsbG93IHNjcm9sbGluZyBmb3IgZXhjZXB0aW9uYWxseSBsYXJnZSBjb250ZW50IHdoaWxlIGtlZXBpbmcgbGF5b3V0IGludGFjdCAqL1xuICAgIGhlaWdodDogNzUwcHg7IC8qIE1hdGNoIC5tYXRlcmlhbFNob3dJbmZvRmlsZVNob3djYXNlQ29udGFpbmVyIGhlaWdodCAqL1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKiBJbWFnZXMgYW5kIHZpZGVvcyBzaG91bGQgbm90IGV4Y2VlZCB0aGUgY29udGFpbmVyIHdpZHRoICovXG4jaHRtbENvbnRhaW5lciBpbWcsXG4jaHRtbENvbnRhaW5lciB2aWRlbyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi8qIElmcmFtZXMgYW5kIG90aGVyIGVtYmVkZGVkIG9iamVjdHMgc2hvdWxkIGZpdCB0aGUgd2lkdGg7IGxpbWl0IGhlaWdodCAqL1xuI2h0bWxDb250YWluZXIgaWZyYW1lLFxuI2h0bWxDb250YWluZXIgZW1iZWQsXG4jaHRtbENvbnRhaW5lciBvYmplY3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgLyogQ29uc3RyYWluIGhlaWdodCB0byB2aWV3cG9ydCB3aGlsZSBzdGlsbCBhbGxvd2luZyBpbnRlcm5hbCBzY3JvbGxiYXJzIGlmIG5lZWRlZCAqL1xuICAgIG1heC1oZWlnaHQ6IDcwdmg7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4vKiBUYWJsZXM6IGxldCB0aGVtIGZpbGwgd2lkdGggYW5kIHNjcm9sbCBob3Jpem9udGFsbHkgaWYgbmVlZGVkICovXG4jaHRtbENvbnRhaW5lciB0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG4jaHRtbENvbnRhaW5lciAudGFibGUtcmVzcG9uc2l2ZSxcbiNodG1sQ29udGFpbmVyIC50YWJsZS13cmFwcGVyIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vKiBBdm9pZCBsb25nIHdvcmRzL1VSTHMgYnJlYWtpbmcgbGF5b3V0ICovXG4jaHRtbENvbnRhaW5lcixcbiNodG1sQ29udGFpbmVyIHAsXG4jaHRtbENvbnRhaW5lciBkaXYsXG4jaHRtbENvbnRhaW5lciBsaSxcbiNodG1sQ29udGFpbmVyIGNvZGUsXG4jaHRtbENvbnRhaW5lciBwcmUge1xuICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi8qIFByZXNlcnZlIGNvZGUgZm9ybWF0dGluZyBidXQgYWxsb3cgd3JhcCB0byBwcmV2ZW50IG92ZXJmbG93ICovXG4jaHRtbENvbnRhaW5lciBwcmUge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cblxuLm1hdGVyaWFsU2hvd0luZm9GaWxlU2hvd2Nhc2VDb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKDkwJSArIDUwcHgpO1xuICAgIGhlaWdodDogNzUwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgaHNsKDAsIDAlLCA2MCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDUpO1xuXG4gICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAxMnB4IDMycHggcmdiYSgwLDAsMCwwLjEyKSxcbiAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LDAuMTIpO1xufVxuXG4ubWF0ZXJpYWxTaG93SW5mb0ZpbGVTaG93Y2FzZUNvbnRhaW5lci50ZXh0LXByZXZpZXcge1xuICAgIG92ZXJmbG93OiBhdXRvOyAvKiBvbmx5IGVuYWJsZWQgZm9yIHRleHQgZmlsZXMgKi9cbn1cblxuLm1hdGVyaWFsU2hvd0luZm9GaWxlU2hvd2Nhc2VDb250YWluZXIgcHJlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi5tYXRlcmlhbFNob3dEYXRhU3ViQ29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogUmVtb3ZlZCBiYWNrZ3JvdW5kIGNvbG9yIGFzIHBlciBkZXNpZ246IHBhbmVscyBzaG91bGQgYmUgdHJhbnNwYXJlbnQgKi9cbiAgICBib3JkZXI6IDJweCBzb2xpZCBoc2woMCwgMCUsIDcwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nOiAxOHB4IDEycHg7XG5cbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDIpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxcHgpO1xuXG4gICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCA2cHggMThweCByZ2JhKDAsIDAsIDAsIDAuMTgpLFxuICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xOCk7XG4gICAgXG59XG5cbi5tYXRlcmlhbEltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAyMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IDJweCBzb2xpZCBoc2woMCwgMCUsIDYwJSk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbn1cblxuLmJhbm5lci1tYXRlcmlhbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIGhlaWdodDogM3ZoO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCBoc2woMCwgMCUsIDcwJSk7XG4gICAgbWFyZ2luLXRvcDogMnZoO1xuXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICB0byByaWdodCxcbiAgICAgICAgI0YxNUEyNCAwJSxcbiAgICAgICAgI0YzNkQyMiAxOC43OCUsXG4gICAgICAgICNGNTgyMjAgNDYuOTQlLFxuICAgICAgICAjRjc4RjFFIDc0LjM2JSxcbiAgICAgICAgI0Y3OTMxRSAxMDAlXG4gICAgKTtcbiAgICB6LWluZGV4OiAzO1xufVxuXG4vKiBNYWtlIGJhbm5lcnMgc3BhbiB0aGUgZW50aXJlIHdpZHRoIG9mIHRoZSByaWdodCBwYW5lbCwgaWdub3JpbmcgdGhlIHBhbmVsJ3MgaW5uZXIgcGFkZGluZyAqL1xuLm1hdGVyaWFsU2hvd0RhdGFTdWJDb250YWluZXIgLmJhbm5lci1tYXRlcmlhbCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xuICAgIG1hcmdpbi1yaWdodDogLTEycHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDI0cHgpO1xufVxuXG4ubWF0ZXJpYWxTaG93RGF0YUNhdGVnb3J5IHtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4ubWF0ZXJpYWxNZXRhZGF0YUxpc3Qge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxZW07XG59XG5cbi5tYXRlcmlhbE1ldGFkYXRhTGlzdFRpdGxlIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4ubWF0ZXJpYWxGaWxlTGlzdC5tYXRlcmlhbFNob3dEYXRhRmlsZUxpc3QgbGksXG4ubWF0ZXJpYWxGaWxlTGlzdC5tYXRlcmlhbFNob3dEYXRhRmlsZUxpc3QgYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDFlbSAhaW1wb3J0YW50O1xufVxuXG4uZmlsZVByZXZpZXdEb3dubG9hZCB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuXG4ud2l6YXJkIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4ud2l6YXJkLXN0ZXBzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICBnYXA6IC41cmVtO1xufVxuXG4ud2l6YXJkLXN0ZXAge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiAuNXJlbSAuNzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJhY2tncm91bmQ6ICNmYmZiZmI7XG4gICAgYm9yZGVyOiAxcHQgc29saWQgaHNsKDAsIDAlLCA0MCUpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZsZXg6IDE7XG59XG5cbi53aXphcmQtc3RlcDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcbiAgICBib3gtc2hhZG93OiAwIDAgM3B0ICNlYmViZWI7XG59XG5cbi53aXphcmQtc3RlcC5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IGhzbCgwLCAwJSwgODAlKTtcbiAgICBjb2xvcjogI2Y3ZjdmNztcbiAgICBib3JkZXItY29sb3I6IGhzbCgwLCAwJSwgNDAlKVxufVxuXG4ud2l6YXJkLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG4ud2l6YXJkLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi53aXphcmQtcGFuZS5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLndpemFyZC1wYW5lLmFjdGl2ZSA+IGRpdiB7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbi53aXphcmQtbmF2IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAuNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4uYWRkTWF0ZXJpYWxGb3JtQnV0dG9uLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogI2U1ZTdlYjtcbiAgICBjb2xvcjogIzExMTgyNztcbn1cblxuLndpemFyZC1oaW50IHtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgY29sb3I6ICM2YjcyODA7XG4gICAgbWFyZ2luLXRvcDogLjI1cmVtO1xufVxuXG5cbi8qIFJpZ2h0IHBhbmVsOiBkb3dubG9hZCBidXR0b24gc2hvdWxkIGJlIGljb24tb25seSB3aXRoIHNwZWNpZmljIGNvbG9yIGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kICovXG4ubWF0ZXJpYWxGaWxlTGlzdC5tYXRlcmlhbFNob3dEYXRhRmlsZUxpc3QgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzI3NDI2ODsgLyogaWNvbiBjb2xvciB2aWEgY3VycmVudENvbG9yICovXG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLm1hdGVyaWFsRmlsZUxpc3QubWF0ZXJpYWxTaG93RGF0YUZpbGVMaXN0IGJ1dHRvbjpob3Zlcixcbi5tYXRlcmlhbEZpbGVMaXN0Lm1hdGVyaWFsU2hvd0RhdGFGaWxlTGlzdCBidXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjMjc0MjY4O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG4iLCIvKiBIZWFkZXIgKi9cbi5zaXRlLWhlYWRlciB7XG4gICAgLyogU3RpY2t5IGhlYWRlcjoga2VlcCB0aGUgbWFpbiBtZW51IHZpc2libGUgYXQgdGhlIHRvcCAqL1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgLyogT2Zmc2V0IGJ5IHRvb2xiYXIgaGVpZ2h0IGlmIHByZXNlbnQgKi9cbiAgICB0b3A6IHZhcigtLWhlYWRlci10b3AsIDApO1xuICAgIC8qIEtlZXAgYWJvdmUgYWxsIHBhZ2UgY29udGVudCBidXQgYmVsb3cgYTExeSB0b29sYmFyICgxMDAwKSBhbmQgc2VhcmNoIG1vZGFsICgzMDAwKSAqL1xuICAgIHotaW5kZXg6IDk1MDtcbiAgICAvKiBiYWNrZ3JvdW5kOiAjMGIxZTM5OyAqL1xuICAgIGJhY2tncm91bmQ6ICMyNzQyNjg7XG4gICAgY29sb3I6ICNlNGY0ZmE7XG4gICAgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgLjA4KTtcbn1cblxuLyogSG9tZXBhZ2UgaGVhZGVyIGJhY2tncm91bmQgb3ZlcnJpZGUgKi9cbi5ob21lLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogIzI3NDI2ODtcbn1cblxuLyogSG9tZXBhZ2UgbWFpbiBtZW51IHRleHQgY29sb3IgKi9cbi5ob21lLWhlYWRlciAubWFpbi1uYXYgYSB7XG4gICAgY29sb3I6ICNlNGY0ZmE7XG59XG5cbi5ob21lLWhlYWRlciAubWFpbi1uYXYgYTpob3ZlciB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbn1cblxuLnNpdGUtaGVhZGVyIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTEwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMTZweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5icmFuZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgLyogY29sb3I6ICNlNmVlZmM7ICovXG4gICAgY29sb3I6ICNlNGY0ZmE7XG59XG5cbi5icmFuZDpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi5icmFuZCBzdmcge1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbn1cblxuLmJyYW5kIC5uYW1lIHtcbiAgICBmb250OiA2MDAgMTZweC8xLjIgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBsZXR0ZXItc3BhY2luZzogLjJweDtcbn1cblxuLyogTW9iaWxlIG1lbnUgdG9nZ2xlICovXG4ubWVudS10b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSk7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubWVudS10b2dnbGVfX2JhciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICBtYXJnaW46IDNweCAwO1xufVxuXG4ubWFpbi1uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxMnB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5tYWluLW5hdiBhIHtcbiAgICAvKiBjb2xvcjogI2I3ZDFmZjsgKi9cbiAgICBjb2xvcjogI2U0ZjRmYTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ubWFpbi1uYXYgYTpob3ZlciB7XG4gICAgLyogY29sb3I6ICNmZmY7ICovXG4gICAgLyogYmFja2dyb3VuZDogIzEwMjg0ZDsgKi9cbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgIHRyYW5zaXRpb246IDAuMnM7XG59XG5cbi5zaXRlLWhlYWRlciBbZGF0YS1sYW5nLWRyb3Bkb3duXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uc2l0ZS1oZWFkZXIgW2RhdGEtbGFuZy1kcm9wZG93bl0gLmxhbmctZHJvcGRvd25fX2J1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwO1xuICAgIGJhY2tncm91bmQ6ICNDRENEQ0Q7XG4gICAgLyogY29sb3I6ICMwYjFlMzk7ICovXG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udDogNjAwIDE0cHgvMS4yIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zaXRlLWhlYWRlciBbZGF0YS1sYW5nLWRyb3Bkb3duXSAubGFuZy1kcm9wZG93bl9fbGFiZWwge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5zaXRlLWhlYWRlciBbZGF0YS1sYW5nLWRyb3Bkb3duXSAubGFuZy1kcm9wZG93bl9fYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRTJFMkUyO1xufVxuXG4uc2l0ZS1oZWFkZXIgW2RhdGEtbGFuZy1kcm9wZG93bl0gLmxhbmctZHJvcGRvd25fX2ljb24ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLnNpdGUtaGVhZGVyIFtkYXRhLWxhbmctZHJvcGRvd25dIC5sYW5nLWRyb3Bkb3duX19jYXJldCB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi5zaXRlLWhlYWRlciBbZGF0YS1sYW5nLWRyb3Bkb3duXSAubGFuZy1kcm9wZG93bl9fbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogY2FsYygxMDAlICsgNnB4KTtcbiAgICBtaW4td2lkdGg6IDE4MHB4O1xuICAgIGJhY2tncm91bmQ6ICNDRENEQ0Q7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NmZTNmZjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMThweCByZ2JhKDAsIDAsIDAsIC4wOCk7XG4gICAgcGFkZGluZzogNnB4IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB6LWluZGV4OiAyMDA7XG59XG5cbi5zaXRlLWhlYWRlciBbZGF0YS1sYW5nLWRyb3Bkb3duXSAubGFuZy1kcm9wZG93bl9fbWVudS5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwO1xufVxuXG4uc2l0ZS1oZWFkZXIgW2RhdGEtbGFuZy1kcm9wZG93bl0gLmxhbmctZHJvcGRvd25fX21lbnUgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgY29sb3I6ICMwYjFlMzk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uc2l0ZS1oZWFkZXIgW2RhdGEtbGFuZy1kcm9wZG93bl0gLmxhbmctZHJvcGRvd25fX21lbnUgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI0UyRTJFMjtcbn1cblxuLyogPT09IFBLUyAwNC4xMS4yMDI1ICovXG4uc2l0ZS1oZWFkZXIgLmhlYWRlci1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnIgYXV0bzsgLyogbGV3YSB8IMWbcm9kZWsgfCBwcmF3YSAqL1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxNnB4O1xuICAgIG1pbi1oZWlnaHQ6IDY0cHg7IC8qIHdnIHBvdHJ6ZWJ5ICovXG4gICAgcGFkZGluZy1pbmxpbmU6IDE2cHg7IC8qIHdnIHBvdHJ6ZWJ5ICovXG59XG5cbi5oZWFkZXItZ3JpZF9fbGVmdCxcbi5oZWFkZXItZ3JpZF9fcmlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmhlYWRlci1ncmlkX19jZW50ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8qIMWbcm9kZWsgamVzdCBmYWt0eWN6bmllIG5hIMWbcm9ka3UgKi9cbn1cblxuLmhlYWRlci1ncmlkX19jZW50ZXIgLmNlbnRlci13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxNnB4O1xufVxuXG4vKiBEb2RhdGtvd2UgZG9wcmFjb3dhbmllICovXG4uYnJhbmQtbG9nbyBpbWcsXG4uY2VkLWxvZ28gaW1nIHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi8qIFJlc3BvbnN5d25vxZvEhzogbmEgbWHFgnljaCBla3JhbmFjaCB1xYLDs8W8IHcgMyByesSZZHksIGplxZtsaSBwb3RyemVibmUgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5zaXRlLWhlYWRlciAuaGVhZGVyLWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgIH1cblxuICAgIC5oZWFkZXItZ3JpZF9fY2VudGVyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyA0OyAvKiDFm3JvZGVrIHcgb3NvYm55bSB3aWVyc3p1ICovXG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIH1cblxuICAgIC5oZWFkZXItZ3JpZF9fbGVmdCB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLmhlYWRlci1ncmlkX19yaWdodCB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cbn1cblxuLyogPT09ICovXG5cbi8qIEZvb3RlciAqL1xuLnNpdGUtZm9vdGVyIHtcbiAgICAvKiBiYWNrZ3JvdW5kOiAjMGIxZTM5OyAqL1xuICAgIGJhY2tncm91bmQ6ICM0NzhiZDk7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udDogMTRweC8xLjYgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLnNpdGUtZm9vdGVyIGEge1xuICAgIGNvbG9yOiAjNDA0MDQwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNpdGUtZm9vdGVyIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uc2l0ZS1mb290ZXIgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMjRweCAxNnB4O1xufVxuXG4uZm9vdGVyLWNvbHVtbnMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICBnYXA6IDI0cHg7XG4gICAgcGFkZGluZzogMTZweCAwO1xufVxuXG4uZm9vdGVyLWNvbCBoMyxcbi5mb290ZXItY29sIGg0IHtcbiAgICBtYXJnaW46IDAgMCA4cHg7XG59XG5cbi5mb290ZXItY29sIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uZm9vdGVyLWJvdHRvbSBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTJweCAwO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mb290ZXItaW1nLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmZvb3Rlci1pbWcge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMCAxMHB4O1xufVxuXG4uZm9vdGVyLWZ1bmRpbmctdGV4dCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogOHB4IDAgMTZweDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLmZvb3Rlci1mdW5kaW5nLXRleHQgcCB7XG4gICAgbWFyZ2luOiAycHggMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG59XG5cbi8qIFNlYXJjaCBtb2RhbCBvdmVybGF5ICovXG4uc2VhcmNoLW1vZGFsW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnNlYXJjaC1tb2RhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IDMwMDA7IC8qIGFib3ZlIHN0aWNreSBoZWFkZXIgKi9cbn1cblxuLnNlYXJjaC1tb2RhbF9fYmFja2Ryb3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC41KTtcbn1cblxuLnNlYXJjaC1tb2RhbF9fZGlhbG9nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgbWFyZ2luOiAxMnZoIGF1dG8gMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm94LXNoYWRvdzogMCAyMHB4IDYwcHggcmdiYSgwLCAwLCAwLCAuMjUpO1xuICAgIHBhZGRpbmc6IDMwcHg7XG59XG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDFweCwgMXB4KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJvcmRlcjogMDtcbn1cblxuLyogUmV1c2UgdG9wLXNlYXJjaCBmb3JtIHN0eWxlcyBpbnNpZGUgbW9kYWwgKi9cbi50b3Atc2VhcmNoX19mb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogRW5zdXJlIGNoaWxkcmVuIGxheSBvdXQgb24gb25lIHJvdyAqL1xuLnRvcC1zZWFyY2hfX2lucHV0LXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNDAlO1xufVxuXG4udG9wLXNlYXJjaF9fYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgYmFja2dyb3VuZDogI2UwZTBlMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuXG4udG9wLXNlYXJjaF9fY2xvc2Uge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICBjb2xvcjogIzMzMztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1JTtcbiAgICByaWdodDogMSU7XG59XG5cbi50b3Atc2VhcmNoX19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMTJweDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGNvbG9yOiAjNTU1O1xuICAgIG1hcmdpbi1sZWZ0OiAtNzVweDtcbn1cblxuLnRvcC1zZWFyY2hfX2lucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxNXB4IDE1cHggMTVweCA0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtNzVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRvcC1zZWFyY2hfX2lucHV0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udG9wLXNlYXJjaF9fc3Bpbm5lciB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGFuaW1hdGlvbjogc3BpbiAwLjhzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLnRvcC1zZWFyY2hfX2Zvcm0uaXMtbG9hZGluZyAudG9wLXNlYXJjaF9fc3Bpbm5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4udG9wLXNlYXJjaF9fZm9ybS5pcy1sb2FkaW5nIC50b3Atc2VhcmNoX19idG4tbGFiZWwge1xuICAgIG9wYWNpdHk6IC44O1xufVxuXG4uc2VhcmNoLXRvZ2dsZSB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiAjZTRmNGZhO1xufVxuXG4uc2VhcmNoLXRvZ2dsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbn1cblxuQGtleWZyYW1lcyBzcGluIHtcbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG4vKiBSaWdodC1zaWRlIGhlYWRlciBjb250cm9scyB3cmFwcGVyICovXG4ucmlnaHQtY29udHJvbHMge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi8qIFByZXZlbnQgYmFja2dyb3VuZCBzY3JvbGwgd2hlbiBtb2RhbCBvcGVuICovXG5ib2R5Lm1vZGFsLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICAgIC5tZW51LXRvZ2dsZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIH1cblxuICAgIC5tYWluLW5hdiB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGdhcDogNHB4O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogI0VERURFRDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgfVxuXG4gICAgLm1haW4tbmF2LmlzLW9wZW4ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC5tYWluLW5hdiBhW2FyaWEtY3VycmVudD1cInBhZ2VcIl0ge1xuICAgICAgICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tYWluLW5hdiBhIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgICAgICBjb2xvcjogIzMzMztcbiAgICB9XG5cbiAgICAubWFpbi1uYXYgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIH1cblxuICAgIC5zaXRlLWhlYWRlciBbZGF0YS1sYW5nLWRyb3Bkb3duXSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5mb290ZXItY29sdW1ucyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cblxuICAgIC5mb290ZXItaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0NSU7XG4gICAgfVxufVxuXG4vKiBLZWVwIHNpbmdsZS1yb3cgbGF5b3V0IGFsc28gb24gbmFycm93IHBob25lcyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7XG4gICAgLnRvcC1zZWFyY2hfX2lucHV0LXdyYXAge1xuICAgICAgICBmbGV4OiAxIDEgNzAlO1xuICAgICAgICBtYXgtd2lkdGg6IDcwJTtcbiAgICB9XG59XG5cblxuLyogT3ZlcnJpZGU6IG1ha2Ugc2VhcmNoIHRvZ2dsZSB0cmFuc3BhcmVudCB3aXRoaW4gcmlnaHQgY29udHJvbHMgKG1haW4gcGFnZSBoZWFkZXIpICovXG4ucmlnaHQtY29udHJvbHMgLnNlYXJjaC10b2dnbGUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5yaWdodC1jb250cm9scyAuc2VhcmNoLXRvZ2dsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgICB0cmFuc2l0aW9uOiAwLjJzO1xufVxuXG5cbi8qIFNlYXJjaCB0b2dnbGUgaWNvbiBjb2xvciBzaG91bGQgbWF0Y2ggbWFpbiBtZW51IHRleHQgKi9cbi5ob21lLWhlYWRlciAuc2VhcmNoLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNlNGY0ZmE7XG59XG5cbi5ob21lLWhlYWRlciAuc2VhcmNoLXRvZ2dsZTpob3ZlciB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG59XG5cblxuLyogQWNjZXNzaWJpbGl0eSBmbG9hdGluZyBkcm9wZG93biAocmlnaHQtY2VudGVyIHdpdGggaHVtYW4gaWNvbikgKi9cbltkYXRhLWExMXktZHJvcGRvd25dIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDE2cHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHotaW5kZXg6IDEyMDA7IC8qIGFib3ZlIHN0aWNreSBoZWFkZXIgYW5kIHRvb2xiYXIgKi9cbn1cblxuW2RhdGEtYTExeS1kcm9wZG93bl0gLmxhbmctZHJvcGRvd25fX2J1dHRvbiB7XG4gICAgd2lkdGg6IDY0cHg7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmM2Y4ZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NmZTNmZjtcbiAgICBjb2xvcjogIzBiMWUzOTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNHB4IHJnYmEoMCwgMCwgMCwgLjEyKTtcbn1cblxuW2RhdGEtYTExeS1kcm9wZG93bl0gLmxhbmctZHJvcGRvd25fX2J1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2U3ZjFmZjtcbn1cblxuW2RhdGEtYTExeS1kcm9wZG93bl0gLmxhbmctZHJvcGRvd25fX2ljb24ge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG59XG5cbltkYXRhLWExMXktZHJvcGRvd25dIC5sYW5nLWRyb3Bkb3duX19sYWJlbCxcbltkYXRhLWExMXktZHJvcGRvd25dIC5sYW5nLWRyb3Bkb3duX19jYXJldCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTWVudSBvcGVucyB0byB0aGUgbGVmdCwgdmVydGljYWxseSBjZW50ZXJlZCAqL1xuW2RhdGEtYTExeS1kcm9wZG93bl0gLmxhbmctZHJvcGRvd25fX21lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogY2FsYygxMDAlICsgOHB4KTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgbWluLXdpZHRoOiAyMjBweDtcbiAgICBtYXgtaGVpZ2h0OiBtaW4oODB2aCwgMzYwcHgpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgYmFja2dyb3VuZDogI0NEQ0RDRDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgwLCAwLCAwLCAuMTgpO1xuICAgIHBhZGRpbmc6IDZweCAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbltkYXRhLWExMXktZHJvcGRvd25dIC5sYW5nLWRyb3Bkb3duX19tZW51LmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBNb2JpbGUgYWRqdXN0bWVudHM6IGRvY2sgbmVhciBib3R0b20tcmlnaHQsIG9wZW4gdXB3YXJkICovXG5AbWVkaWEgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgICBbZGF0YS1hMTF5LWRyb3Bkb3duXSB7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiAxNnB4O1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgW2RhdGEtYTExeS1kcm9wZG93bl0gLmxhbmctZHJvcGRvd25fX21lbnUge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgKyA4cHgpO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbi8qIFJlYWRhYmlsaXR5IGFuZCByZXNwb25zaXZlbmVzcyB0d2Vha3MgZm9yIGZsb2F0aW5nIGExMXkgZHJvcGRvd24gKi9cbltkYXRhLWExMXktZHJvcGRvd25dIC5sYW5nLWRyb3Bkb3duX19tZW51IHtcbiAgICBmb250LWZhbWlseTogc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgY29sb3I6ICMxMTE7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG59XG5cbltkYXRhLWExMXktZHJvcGRvd25dIC5sYW5nLWRyb3Bkb3duX19tZW51IGxpIHsgLyogZW5zdXJlIGl0ZW1zIGRvbid0IGNvbGxhcHNlICovXG4gICAgcGFkZGluZzogMDtcbn1cblxuW2RhdGEtYTExeS1kcm9wZG93bl0gLmExMXktYnRuIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWluLWhlaWdodDogMzZweDtcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICAgIFtkYXRhLWExMXktZHJvcGRvd25dIC5sYW5nLWRyb3Bkb3duX19tZW51IHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cblxuICAgIFtkYXRhLWExMXktZHJvcGRvd25dIC5hMTF5LWJ0biB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICB9XG59XG5cbi5tYWluLW5hdiBhW2FyaWEtY3VycmVudD1cInBhZ2VcIl0ge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xOCk7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmhvbWUtaGVhZGVyIC5tYWluLW5hdiBhW2FyaWEtY3VycmVudD1cInBhZ2VcIl0ge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xOCk7XG4gICAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi8qIEdsb2JhbCBjb250YWluZXIgd2lkdGggdG8gbWF0Y2ggaG9tZSBwYWdlICovXG4uY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDExMDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAwIDE2cHg7XG59XG5cbi8qIEZvb3RlciAqL1xuLnNpdGUtZm9vdGVyIHtcbiAgICAvKiBiYWNrZ3JvdW5kOiAjMGIxZTM5OyAqL1xuICAgIGJhY2tncm91bmQ6ICM0NzhiZDk7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udDogMTRweC8xLjYgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLnNpdGUtZm9vdGVyIGEge1xuICAgIGNvbG9yOiAjNDA0MDQwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNpdGUtZm9vdGVyIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uc2l0ZS1mb290ZXIgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMjRweCAxNnB4O1xufVxuXG4uZm9vdGVyLWNvbHVtbnMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICBnYXA6IDI0cHg7XG4gICAgcGFkZGluZzogMTZweCAwO1xufVxuXG4uZm9vdGVyLWNvbCBoMyxcbi5mb290ZXItY29sIGg0IHtcbiAgICBtYXJnaW46IDAgMCA4cHg7XG59XG5cbi5mb290ZXItY29sIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uZm9vdGVyLWJvdHRvbSBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTJweCAwO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mb290ZXItaW1nLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmZvb3Rlci1pbWcge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMCAxMHB4O1xufVxuXG4udG9wLXNlYXJjaF9fZmlsdGVycyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogNDAlO1xufVxuXG4uc2VsZWN0LXdyYXBwZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkMGQwZDA7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAgICAgIC8qIGZpeGVzIHRoZSBzY3JvbGxiYXIgYmxlZWRpbmcgKi9cbiAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogZml0cyB0aGUgd2lkdGggbmF0dXJhbGx5ICovXG59XG5cbi5zZWxlY3Qtd3JhcHBlciBzZWxlY3Qge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogNnB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cblxuLnRvcC1zZWFyY2hfX2ZpbHRlcnMtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246Y29sdW1uO1xuICAgIGZvbnQtc2l6ZToxM3B4O1xuICAgIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4udG9wLXNlYXJjaF9fZmlsdGVycy1jb250YWluZXIgbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLnRvcC1zZWFyY2hfX2ZpbHRlcnMtY29udGFpbmVyIC5mb3JtLW11bHRpLXNlbGVjdCB7XG4gICAgd2lkdGg6IDIyMHB4OyAgICAgICAgICAgICAgICAgICAgICAgLyogYWRqdXN0IGZyZWVseSAqL1xuICAgIG1pbi1oZWlnaHQ6IDExMHB4OyAgICAgICAgICAgICAgICAgIC8qIGdvb2QgaGVpZ2h0IGZvciBtdWx0aS1zZWxlY3QgKi9cbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBhZGRpbmc6IDZweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzMzMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMnMgZWFzZSwgYm94LXNoYWRvdyAuMnMgZWFzZTtcbn1cblxuLyogT24gZm9jdXMgKi9cbi50b3Atc2VhcmNoX19maWx0ZXJzLWNvbnRhaW5lciAuZm9ybS1tdWx0aS1zZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzAwNjZjYzsgICAgICAgICAgICAgIC8qIG5pY2UgYmx1ZSBmb2N1cyAqL1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDU5LDEzMCwyNDYsMC4yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4vKiBTdHlsZSB0aGUgb3B0aW9ucyAqL1xuLnRvcC1zZWFyY2hfX2ZpbHRlcnMtY29udGFpbmVyIC5mb3JtLW11bHRpLXNlbGVjdCBvcHRpb24ge1xuICAgIHBhZGRpbmc6IDRweCA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIG1hcmdpbjogMXB4IDA7XG59XG5cbi8qIEhpZ2hsaWdodCBzZWxlY3RlZCBvcHRpb24ocykgKi9cbi50b3Atc2VhcmNoX19maWx0ZXJzLWNvbnRhaW5lciAuZm9ybS1tdWx0aS1zZWxlY3Qgb3B0aW9uOmNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDY2Y2MgIWltcG9ydGFudDtcbiAgICBjb2xvcjogd2hpdGU7XG59XG5cbi8qIFBhcmVudCBjb250YWluZXJzIHNwYWNpbmcgKi9cbi50b3Atc2VhcmNoX19maWx0ZXJzLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xufVxuXG4udG9wLXNlYXJjaF9fZmlsdGVycy1jb250YWluZXI6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxNDQwcHgpIHtcbiAgICAudG9wLXNlYXJjaF9fZm9ybSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLnRvcC1zZWFyY2hfX2lucHV0LXdyYXAge1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgIH1cblxuICAgIC50b3Atc2VhcmNoX19pbnB1dCxcbiAgICAudG9wLXNlYXJjaF9faWNvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgICB9XG5cbiAgICAudG9wLXNlYXJjaF9fZmlsdGVycyB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgIH1cblxuICAgIC50b3Atc2VhcmNoX19idG4ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wLXNlYXJjaF9fZmlsdGVycyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLnRvcC1zZWFyY2hfX2ZpbHRlcnMtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgfVxufVxuXG4vKiBBY2Nlc3NpYmlsaXR5IGZsb2F0aW5nIGRyb3Bkb3duIChyaWdodC1jZW50ZXIgd2l0aCBodW1hbiBpY29uKSAqL1xuW2RhdGEtYTExeS1kcm9wZG93bl0ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMTZweDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgei1pbmRleDogMTIwMDsgLyogYWJvdmUgc3RpY2t5IGhlYWRlciBhbmQgdG9vbGJhciAqL1xufVxuXG5bZGF0YS1hMTF5LWRyb3Bkb3duXSAubGFuZy1kcm9wZG93bl9fYnV0dG9uIHtcbiAgICB3aWR0aDogNjRweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDA7XG4gICAgYmFja2dyb3VuZDogI2YzZjhmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2ZlM2ZmO1xuICAgIGNvbG9yOiAjMGIxZTM5O1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE0cHggcmdiYSgwLCAwLCAwLCAuMTIpO1xufVxuXG5bZGF0YS1hMTF5LWRyb3Bkb3duXSAubGFuZy1kcm9wZG93bl9fYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTdmMWZmO1xufVxuXG5bZGF0YS1hMTF5LWRyb3Bkb3duXSAubGFuZy1kcm9wZG93bl9faWNvbiB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbn1cblxuW2RhdGEtYTExeS1kcm9wZG93bl0gLmxhbmctZHJvcGRvd25fX2xhYmVsLFxuW2RhdGEtYTExeS1kcm9wZG93bl0gLmxhbmctZHJvcGRvd25fX2NhcmV0IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBNZW51IG9wZW5zIHRvIHRoZSBsZWZ0LCB2ZXJ0aWNhbGx5IGNlbnRlcmVkICovXG5bZGF0YS1hMTF5LWRyb3Bkb3duXSAubGFuZy1kcm9wZG93bl9fbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiBjYWxjKDEwMCUgKyA4cHgpO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBtaW4td2lkdGg6IDIyMHB4O1xuICAgIG1heC1oZWlnaHQ6IG1pbig4MHZoLCAzNjBweCk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiAjQ0RDRENEO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDAsIDAsIDAsIC4xOCk7XG4gICAgcGFkZGluZzogNnB4IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuW2RhdGEtYTExeS1kcm9wZG93bl0gLmxhbmctZHJvcGRvd25fX21lbnUuaXMtb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIE1vYmlsZSBhZGp1c3RtZW50czogZG9jayBuZWFyIGJvdHRvbS1yaWdodCwgb3BlbiB1cHdhcmQgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICAgIFtkYXRhLWExMXktZHJvcGRvd25dIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IDE2cHg7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICBbZGF0YS1hMTF5LWRyb3Bkb3duXSAubGFuZy1kcm9wZG93bl9fbWVudSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IGNhbGMoMTAwJSArIDhweCk7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbn1cblxuLyogUmVhZGFiaWxpdHkgYW5kIHJlc3BvbnNpdmVuZXNzIHR3ZWFrcyBmb3IgZmxvYXRpbmcgYTExeSBkcm9wZG93biAqL1xuW2RhdGEtYTExeS1kcm9wZG93bl0gLmxhbmctZHJvcGRvd25fX21lbnUge1xuICAgIGZvbnQtZmFtaWx5OiBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICBjb2xvcjogIzExMTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbn1cblxuW2RhdGEtYTExeS1kcm9wZG93bl0gLmxhbmctZHJvcGRvd25fX21lbnUgbGkgeyAvKiBlbnN1cmUgaXRlbXMgZG9uJ3QgY29sbGFwc2UgKi9cbiAgICBwYWRkaW5nOiAwO1xufVxuXG5bZGF0YS1hMTF5LWRyb3Bkb3duXSAuYTExeS1idG4ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtaW4taGVpZ2h0OiAzNnB4O1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gICAgW2RhdGEtYTExeS1kcm9wZG93bl0gLmxhbmctZHJvcGRvd25fX21lbnUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgfVxuXG4gICAgW2RhdGEtYTExeS1kcm9wZG93bl0gLmExMXktYnRuIHtcbiAgICAgICAgbWluLWhlaWdodDogNDBweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAxNHB4O1xuICAgIH1cbn1cblxuLm1haW4tbmF2IGFbYXJpYS1jdXJyZW50PVwicGFnZVwiXSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE4KTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uaG9tZS1oZWFkZXIgLm1haW4tbmF2IGFbYXJpYS1jdXJyZW50PVwicGFnZVwiXSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE4KTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuXG4vKiBFbnN1cmUgY29uc2lzdGVudCBoZWFkZXIgaGVpZ2h0IGFjcm9zcyBhbGwgcGFnZXMgKi9cbi5zaXRlLWhlYWRlciAuY29udGFpbmVyIHtcbiAgICBtaW4taGVpZ2h0OiA2MHB4O1xufVxuXG5cbi8qIFV0aWxpdHk6IHZpc3VhbGx5IGhpZGUgY29udGVudCBidXQga2VlcCBpdCBhY2Nlc3NpYmxlIGZvciBzY3JlZW4gcmVhZGVycyAqL1xuLnNyLW9ubHkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgLyogcHJldmVudCBsaW5lIGJyZWFrcyAqL1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8qIEZvb3RlciBvdmVycmlkZXM6IGZpcnN0IHJvdyBiYWNrIHRvICMyNzQyNjgsIGJvdHRvbSByb3cgd2hpdGUgKi9cbi5zaXRlLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZDogIzI3NDI2ODtcbiAgICBjb2xvcjogI2U0ZjRmYTtcbn1cblxuLnNpdGUtZm9vdGVyIGEge1xuICAgIGNvbG9yOiAjZTRmNGZhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNpdGUtZm9vdGVyIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uZm9vdGVyLWZ1bmRpbmctdGV4dCB7XG4gICAgY29sb3I6ICNlNGY0ZmE7XG59XG5cbi8qIEtlZXAgZnVsbC13aWR0aCB2aWEgcGFyZW50OyBubyBzaGFkb3cgaGFjayByZXF1aXJlZCAqL1xuLmZvb3Rlci1pbWctY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiAxMnB4IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjbGlwLXBhdGg6IG5vbmU7XG59XG5cbi5mb290ZXItYm90dG9tIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4uZm9vdGVyLWJvdHRvbSBhIHtcbiAgICBjb2xvcjogIzQwNDA0MDtcbn1cblxuXG4vKiBGb290ZXI6IGFsaWduIHBhcnRuZXIgbG9nb3MgbGVmdCwgY2VudGVyLCBhbmQgcmlnaHQgKi9cbi5mb290ZXItaW1nLWNvbnRhaW5lciB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG5cbi8qIEhlYWRlciBsb2dvczogUEsgb24gdGhlIGxlZnQgYXMgYnJhbmQsIENFRCBpbnRlZ3JhdGVkIGludG8gcmlnaHQgY29udHJvbHMgKi9cbi5icmFuZC1sb2dvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIFBsYWNlIHRoZSBQSyBsb2dvIGZsdXNoIHRvIHRoZSBsZWZ0IGVkZ2Ugb2YgdGhlIGhlYWRlciBjb250YWluZXIgKi9cbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAvKiBLZWVwIGEgbGl0dGxlIHNwYWNpbmcgZnJvbSB0aGUgcmVzdCBvZiB0aGUgY29udGVudCAqL1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4vKiBLZWVwIHRoZSBDRUQgbG9nbyBzbnVnIHRvIHRoZSByaWdodCBlZGdlIG9mIHRoZSBoZWFkZXIgY29udGFpbmVyICovXG4uY2VkLWxvZ28ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmJyYW5kLWxvZ28gaW1nIHtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgbWF4LWhlaWdodDogODBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNlZC1sb2dvIGltZyB7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIG1heC1oZWlnaHQ6IDQ4cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICAgIC5icmFuZC1sb2dvIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgIH1cblxuICAgIC5jZWQtbG9nbyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAuYnJhbmQtbG9nbyBpbWcge1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgfVxuXG4gICAgLmNlZC1sb2dvIGltZyB7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgbWF4LWhlaWdodDogNDBweDtcbiAgICB9XG59XG5cblxuLyogRm9vdGVyOiBtYWtlIHRoZSBzZWNvbmQgcm93IChsb2dvcyBvbmx5KSB3aGl0ZSAqL1xuLmZvb3Rlci1sb2dvcy1yb3cge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG5cbi5mb290ZXItbG9nb3Mtcm93IC5jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xufVxuXG5cbi8qIFRvcCBtZW51IGZvbnQ6IHVzZSBMYXRvIGZvciBtYWluIG5hdmlnYXRpb24gbGlua3MgKi9cbi5zaXRlLWhlYWRlciAubWFpbi1uYXYgYSB7XG4gICAgZm9udC1mYW1pbHk6ICdMYXRvJywgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBTZWdvZSBVSSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuXG4vKiBIZWFkZXIgZWRnZS1mbHVzaCBsb2dvcyBvdmVycmlkZTogcHVzaCBQSyB0byB2aWV3cG9ydCBsZWZ0IGFuZCBDRUQgdG8gdmlld3BvcnQgcmlnaHRcbiAgIHdpdGhvdXQgY2hhbmdpbmcgdGhlIGNvbnRhaW5lciBwYWRkaW5nIGZvciB0aGUgcmVzdCBvZiB0aGUgY29udGVudC4gKi9cbi5zaXRlLWhlYWRlciAuY29udGFpbmVyIHtcbiAgICAtLWhlYWRlci1zaWRlLXBhZGRpbmc6IDE2cHg7XG59XG5cbi8qIFZpc3VhbGx5IGV4dGVuZCBsb2dvcyB0byB0aGUgdmlld3BvcnQgZWRnZXMgYnkgb2Zmc2V0dGluZyBjb250YWluZXIgc2lkZSBwYWRkaW5nICovXG4uYnJhbmQtbG9nbyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1oZWFkZXItc2lkZS1wYWRkaW5nLCAxNnB4KSk7XG59XG5cbi5yaWdodC1jb250cm9scyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0taGVhZGVyLXNpZGUtcGFkZGluZywgMTZweCkpO1xufVxuXG4uY2VkLWxvZ28ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLyogS2VlcCBiZWhhdmlvciBvbiBzbWFsbCBzY3JlZW5zICovXG5AbWVkaWEgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgICAuc2l0ZS1oZWFkZXIgLmNvbnRhaW5lciB7XG4gICAgICAgIC0taGVhZGVyLXNpZGUtcGFkZGluZzogMTZweDtcbiAgICB9XG5cbiAgICAuYnJhbmQtbG9nbyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0taGVhZGVyLXNpZGUtcGFkZGluZywgMTZweCkpO1xuICAgIH1cblxuICAgIC5yaWdodC1jb250cm9scyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqIHZhcigtLWhlYWRlci1zaWRlLXBhZGRpbmcsIDE2cHgpKTtcbiAgICB9XG5cbiAgICAuY2VkLWxvZ28ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxufVxuIiwiLmxvZ2luLWVycm9yLW1lc3NhZ2Uge1xuICAgIGNvbG9yOiAjYjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuLmxvZ2luLWZvcm0tc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLmxvZ2luLWxvZ291dCB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xufVxuXG4ucmVnaXN0ZXItY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDk4MHB4O1xuICAgIG1hcmdpbjogMjRweCBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICBmb250OiAxNnB4LzEuNiBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbn1cblxuLnJlZ2lzdGVyLXRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCA4cHg7XG59XG5cbi5yZWdpc3Rlci10ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGNvbG9yOiAjNTU1O1xufVxuXG4ucmVnaXN0ZXItZm9ybSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI2ZiZmJmYjtcbiAgICBib3JkZXI6IGhzbCgwLCAwJSwgNDAlKSAycHQgc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nOiAxNnB4O1xufVxuXG4ucmVnaXN0ZXItZm9ybS1lbWFpbC1zZWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4ucmVnaXN0ZXItZm9ybS1wYXNzd29yZC1zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdhcDogMTVweDtcbn1cblxuLnJlZ2lzdGVyLWZvcm0tc2VjdGlvbiB7XG4gICAgbWFyZ2luOiAxNXB4IDA7XG59XG5cbi5yZWdpc3Rlci1mb3JtIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbn1cblxuaW5wdXQucmVnaXN0ZXItZm9ybS1pbnB1dCxcbnNlbGVjdC5yZWdpc3Rlci1mb3JtLWlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDI0cHg7IC8qIDI0IGZvciBwYWRkaW5nIGFuZCBib3JkZXItYm90dG9tIC0gdG8gbWFrZSBzZWxlY3RzIGhhdmUgdGhlIHNhbWUgb24tcGFnZSBoZWlnaHQgKi9cbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgYm9yZGVyOiBoc2woMCwgMCUsIDQwJSkgMXB0IHNvbGlkO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgdGV4dC1pbmRlbnQ6IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSk7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4xNXMgZWFzZSwgYm94LXNoYWRvdyAuMTVzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlO1xufVxuXG5zZWxlY3QucmVnaXN0ZXItZm9ybS1pbnB1dCB7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vcHVibGljL2ltYWdlcy9zZWxlY3QtZG93bi5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuNzVyZW0gY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMC45cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG59XG5cbmlucHV0LnJlZ2lzdGVyLWZvcm0taW5wdXQ6aG92ZXIsXG5zZWxlY3QucmVnaXN0ZXItZm9ybS1pbnB1dDpob3ZlciB7XG4gICAgYm9yZGVyOiBoc2woMCwgMCUsIDcwJSkgMXB0IHNvbGlkO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbmlucHV0LnJlZ2lzdGVyLWZvcm0taW5wdXQ6Zm9jdXMsXG5zZWxlY3QucmVnaXN0ZXItZm9ybS1pbnB1dDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjU2M2ViO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDM3LDk5LDIzNSwwLjE1KTtcbiAgICAvKiBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgxNjAsIDE2MCwgMTYwLCAwLjI1KTsgKi9cbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG5zZWxlY3QucmVnaXN0ZXItZm9ybS1pbnB1dCBvcHRpb24ge1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIHRleHQtaW5kZW50OiAxMHB4O1xufVxuXG4ucmVnaXN0ZXItZm9ybS10ZXJtcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDhweDtcbn1cblxuLnJlZ2lzdGVyLWZvcm0tbm8tY2FwdGNoYSB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgIzk5OTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYmFja2dyb3VuZDogI2ZjZmNmYztcbiAgICBjb2xvcjogIzU1NTtcbn1cblxuLnJlZ2lzdGVyLWFscmVhZHktaGFzLWFjYyB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLyogTG9naW4gcGFnZSBzcGVjaWZpYyAqL1xuLyogR2xhc3Ntb3JwaGlzbSByZWRlc2lnbiAoc2NvcGVkIHRvIGxvZ2luIG9ubHkpICovXG4ubG9naW4tcGFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIEdyYWRpZW50IGJhY2tncm91bmQgKi9cbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoMTIwMHB4IDYwMHB4IGF0IDEwJSAwJSwgcmdiYSgzNyw5OSwyMzUsMC4xOCksIHRyYW5zcGFyZW50IDYwJSksXG4gICAgICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KDkwMHB4IDUwMHB4IGF0IDEwMCUgMjAlLCByZ2JhKDE2LDE4NSwxMjksMC4xOCksIHRyYW5zcGFyZW50IDYwJSksXG4gICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2YwZjRmOSAwJSwgI2U5ZWVmNiAxMDAlKTtcbn1cblxuLmxvZ2luLWNhcmRzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBnYXA6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLmxvZ2luLWNhcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTtcbiAgICBib3JkZXI6IGhzbCgwLCAwJSwgNDAlKSAycHQgc29saWQ7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjEwKSwgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LDAuMjUpO1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE0cHgpIHNhdHVyYXRlKDE0MCUpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxNHB4KSBzYXR1cmF0ZSgxNDAlKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2UsIGJveC1zaGFkb3cgLjNzIGVhc2UsIGJvcmRlci1jb2xvciAuM3MgZWFzZTtcbn1cblxuLmxvZ2luLWNhcmQ6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDE2cHggNDJweCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xuICAgIGJvcmRlcjogaHNsKDAsIDAlLCA3MCUpIDJwdCBzb2xpZDtcbn1cblxuLmxvZ2luLWNhcmQtdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ubG9naW4tY2FyZC1kZXNjIHtcbiAgICBtYXJnaW46IDAgMCAxNnB4O1xuICAgIGNvbG9yOiAjNWI2NDcwO1xuICAgIGZvbnQtc2l6ZTogLjlyZW07XG59XG5cbi5sb2dpbi1jYXJkLXNzbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5sb2dpbi1jYXJkLXNzbyAuYnRuLmJ0bi1taWNyb3NvZnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMTExODI3O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMTZweCByZ2JhKDAsMCwwLDAuMDgpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMTVzIGVhc2UsIGJveC1zaGFkb3cgLjE1cyBlYXNlLCBib3JkZXItY29sb3IgLjE1cyBlYXNlO1xufVxuXG4ubG9naW4tY2FyZC1zc28gLmJ0bi5idG4tbWljcm9zb2Z0OmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDIycHggcmdiYSgwLDAsMCwwLjEyKTtcbiAgICBib3JkZXItY29sb3I6ICNkMWQ1ZGI7XG59XG5cbi5sb2dpbi1jYXJkLXNzbyAuYnRuLmJ0bi1taWNyb3NvZnQ6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogM3B4IHNvbGlkIHJnYmEoNTksMTMwLDI0NiwwLjQpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi5sb2dpbi1jYXJkLXNzbyAubXMtaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xufVxuXG4ubG9naW4tY2FyZC1mb3JtIC5yZWdpc3Rlci1mb3JtIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbn1cblxuLmxvZ2luLWZvcm0tcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMTJweDtcbiAgICBtYXJnaW46IDEycHggMCA0cHg7XG59XG5cbi5yZW1lbWJlci1tZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLmxvZ2luLWZvcmdvdC1hY2Nlc3Mge1xuICAgIGNvbG9yOiAjMjU2M2ViO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmxvZ2luLWZvcmdvdC1hY2Nlc3M6aG92ZXIsXG4ubG9naW4tZm9yZ290LWFjY2Vzczpmb2N1cy12aXNpYmxlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmxvZ2luLWNhcmQtYnRuIHtcbiAgICB3aWR0aDogOTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGhzbCgwLCAwJSwgODAlKTtcbiAgICBtYXJnaW46IDI1cHggMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICBjb2xvcjogI2Y3ZjdmNztcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgcGFkZGluZzogMTBwdCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogMC4ycztcbn1cblxuLmxvZ2luLWNhcmQtYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMCwgMCUsIDg1JSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDNwdCBoc2woMCwgMCUsIDgwJSk7XG59XG5cbi5sb2dpbi1jYXJkLWJ0bixcbi5sb2dpbi1jYXJkLWZvcm0gLmJ0bi5idG4tcHJpbWFyeSxcbi5sb2dpbi1jYXJkLWZvcm0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sXG4ubG9naW4tY2FyZC1zc28gLmJ0bi5idG4tcHJpbWFyeSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMjU2M2ViO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMzYjgyZjYgMCUsICMyNTYzZWIgMTAwJSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDE4cHggcmdiYSgzNyw5OSwyMzUsMC4yOCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4xNXMgZWFzZSwgYm94LXNoYWRvdyAuMTVzIGVhc2U7XG59XG5cbi5sb2dpbi1jYXJkLWJ0bjpob3Zlcixcbi5sb2dpbi1jYXJkLWZvcm0gLmJ0bi5idG4tcHJpbWFyeTpob3Zlcixcbi5sb2dpbi1jYXJkLWZvcm0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl06aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDEycHggMjZweCByZ2JhKDM3LDk5LDIzNSwwLjM1KTtcbn1cblxuLmxvZ2luLWNhcmQtYnRuOmZvY3VzLXZpc2libGUsXG4ubG9naW4tY2FyZC1mb3JtIC5idG4uYnRuLXByaW1hcnk6Zm9jdXMtdmlzaWJsZSxcbi5sb2dpbi1jYXJkLWZvcm0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogM3B4IHNvbGlkIHJnYmEoMzcsOTksMjM1LDAuNDUpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi8qIFJlZHVjZSB0byBzaW5nbGUgY29sdW1uIG9uIHNtYWxsZXIgc2NyZWVucyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDg2MHB4KSB7XG4gICAgLmxvZ2luLWNhcmRzIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cbn1cbiIsIi50aWxlcy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpO1xuICAgIGdhcDogMjRweDtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG59XG5cbi50aWxlcy1jb250YWluZXItbGVmdCB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4udGlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJvcmRlcjogaHNsKDAsIDAlLCA0MCUpIDJwdCBzb2xpZDtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgIG1hcmdpbjogMDtcbiAgICBoZWlnaHQ6IDU0MHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLCBib3gtc2hhZG93IC4zcyBlYXNlLCBib3JkZXItY29sb3IgLjNzIGVhc2U7XG59XG5cbi50aWxlOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XG4gICAgYm94LXNoYWRvdzogMCAxNnB4IDQycHggcmdiYSgwLCAwLCAwLCAwLjE2KTtcbiAgICBib3JkZXI6IGhzbCgwLCAwJSwgNzAlKSAycHQgc29saWQ7XG59XG5cbi50aWxlLWltZy13cmFwcGVyIHtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB0IHNvbGlkIGhzbCgwLCAwJSwgNDAlKTtcbn1cblxuLnRpbGUtaW1nIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgaGVpZ2h0OiAzMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXItYm90dG9tOiBoc2woMCwgMCUsIDQwJSkgMnB0IHNvbGlkO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4udGlsZS10ZXh0IHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMTJwdDtcbiAgICBwYWRkaW5nOiAxMHB4O1xufVxuXG4udGlsZS10ZXh0LXBhZGRpbmcge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxMnB0O1xuICAgIHBhZGRpbmc6IDEwcHggMTBweCAwIDEwcHg7XG59XG5cbi50aWxlLXRleHQtYm9yZGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgYm9yZGVyLWJvdHRvbTogaHNsKDAsIDAlLCA0MCUpIDJwdCBzb2xpZDtcbn1cblxuLnRpbGUtYXZhdGFyIHtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGhzbCgwLCAwJSwgNDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjNmI3MjgwO1xufVxuXG4udGlsZS1hdmF0YXItLXBsYWNlaG9sZGVyIHtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnRpbGUtbm8tbWF0ZXJpYWxzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbn1cblxuLnRpbGUtYmFubmVyLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udGlsZS1iYW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMTUlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNi43JSk7XG4gICAgaGVpZ2h0OiAzdmg7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IGhzbCgwLCAwJSwgNDAlKTtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICB0byByaWdodCxcbiAgICAgICAgI0YxNUEyNCAwJSxcbiAgICAgICAgI0YzNkQyMiAxOC43OCUsXG4gICAgICAgICNGNTgyMjAgNDYuOTQlLFxuICAgICAgICAjRjc4RjFFIDc0LjM2JSxcbiAgICAgICAgI0Y3OTMxRSAxMDAlXG4gICAgKTtcblxuICAgIHotaW5kZXg6IDM7XG59XG5cbi50aWxlLWJhbm5lcjIge1xuICAgIHdpZHRoOiAxMTUlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNy4xJSk7XG4gICAgaGVpZ2h0OiAyLjV2aDtcblxuICAgIHotaW5kZXg6IC0xO1xufVxuXG4udGlsZS1iYW5uZXItaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCAzcHg7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAlKTtcbn1cblxuLnRpbGUtYmFubmVyLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMCAzcHg7XG59XG5cbi50aWxlLWJhbm5lci10ZXh0IHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMTVwdDtcbiAgICBtYXJnaW46IDAgOHB4IDAgNXB4O1xufVxuXG4vKiBDbGFtcCBtYXRlcmlhbCB0aXRsZSB0byB0d28gbGluZXMgb24gaG9tZSB0aWxlcyAqL1xuLnRpbGUtdGl0bGUgc3Ryb25nIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1OyAvKiBjb25zaXN0ZW50IGxpbmUgaGVpZ2h0ICovXG4gICAgbWluLWhlaWdodDogMi41ZW07IC8qIHJlc2VydmUgc3BhY2UgZm9yIHR3byBsaW5lcyBldmVuIGlmIG9ubHkgb25lIGxpbmUgcHJlc2VudCAqL1xuICAgIG1heC1oZWlnaHQ6IDIuNWVtOyAvKiBrZWVwIHR3by1saW5lIGNhcCBjb25zaXN0ZW50ICovXG59XG5cbi8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgZm9yIHRpbGVzICovXG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAudGlsZXMtY29udGFpbmVyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdhcDogMTZweDtcbiAgICB9XG4gICAgLnRpbGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gICAgLnRpbGUtaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLnRpbGUtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gICAgLnRpbGUtYmFubmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCBoc2woMCwgMCUsIDQwJSk7XG4gICAgfVxuICAgIC50aWxlLWJhbm5lcjIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAudGlsZS1iYW5uZXItaXRlbSB7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBtYXJnaW46IDRweCA2cHg7XG4gICAgfVxuICAgIC50aWxlLWJhbm5lci10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBtYXJnaW46IDAgNnB4O1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwMXB4KSBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAudGlsZXMtY29udGFpbmVyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgICAgICBnYXA6IDIwcHg7XG4gICAgfVxuICAgIC50aWxlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICAgIC50aWxlLWltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDE4MHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICAudGlsZS1iYW5uZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgcGFkZGluZzogNnB4IDhweDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IGhzbCgwLCAwJSwgNDAlKTtcbiAgICB9XG4gICAgLnRpbGUtYmFubmVyMiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC50aWxlLWJhbm5lci1pdGVtIHtcbiAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIG1hcmdpbjogNHB4IDZweDtcbiAgICB9XG4gICAgLnRpbGUtYmFubmVyLXRleHQge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxufVxuXG4vKiBOZXcgYnJlYWtwb2ludCBmb3IgMyBjb2x1bW5zIG9uIG1lZGl1bS1sYXJnZSBzY3JlZW5zICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAudGlsZXMtY29udGFpbmVyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICAgICAgICBnYXA6IDIycHg7XG4gICAgfVxufVxuIiwiLyogU3R5bGVzIHNjb3BlZCB0byB0aGUgTXkgQWNjb3VudCBwYWdlICovXG4uYWNjb3VudC1wYWdlIC5hY2NvdW50LXN1bW1hcnkge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4uYWNjb3VudC1wYWdlIC5hY2NvdW50LXN1bW1hcnktaW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDFyZW07XG59XG5cbi5hY2NvdW50LXBhZ2UgLmFjY291bnQtYXZhdGFyIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgYm9yZGVyOiAzcHggc29saWQgaHNsKDAsIDAlLCA0MCUpO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICM2YjcyODA7XG59XG5cbi5hY2NvdW50LXBhZ2UgLmFjY291bnQtYXZhdGFyLS1zbSB7XG4gIHdpZHRoOiA2NHB4O1xuICBoZWlnaHQ6IDY0cHg7XG59XG5cbi5hY2NvdW50LXBhZ2UgLmFjY291bnQtYXZhdGFyLS1sZyB7XG4gIHdpZHRoOiA5NnB4O1xuICBoZWlnaHQ6IDk2cHg7XG59XG5cbi5hY2NvdW50LXBhZ2UgLmFjY291bnQtYXZhdGFyLS1wbGFjZWhvbGRlciB7XG4gIHdpZHRoOiA2NHB4O1xuICBoZWlnaHQ6IDY0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzZiNzI4MDtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5hY2NvdW50LXBhZ2UgLmFjY291bnQtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzgwcHggMWZyOyAvKiB3aWRlciBwYW5lbHMgc28gY29udHJvbHMgZml0IGNvbWZvcnRhYmx5ICovXG4gIGdhcDogMnJlbTtcbiAgYWxpZ24taXRlbXM6IHN0YXJ0O1xufVxuXG4uYWNjb3VudC1wYWdlIC5hY2NvdW50LXNlY3Rpb24gaDIge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIG1hcmdpbjogMCAwIC41cmVtO1xuICBjb2xvcjogdmFyKC0tYnJhbmQpO1xufVxuXG4vKiBNYWtlIHRoZSBwcmltYXJ5IGJ1dHRvbnMgbG9vayBjb25zaXN0ZW50IHdpdGggdGhlIHRvcCBtZW51IGJ1dHRvbiAqL1xuLmFjY291bnQtcGFnZSAuYnRuLmJ0bi1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDAwO1xuICBib3JkZXI6IDNweCBzb2xpZCAjMDAwO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwYWRkaW5nOiAxMnB4IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4wNXMgZWFzZSwgYm94LXNoYWRvdyAuMnMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2U7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5hY2NvdW50LXBhZ2UgLmJ0bi5idG4tcHJpbWFyeTpob3Zlcixcbi5hY2NvdW50LXBhZ2UgLmJ0bi5idG4tcHJpbWFyeTpmb2N1cy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLmFjY291bnQtcGFnZSAuYnRuLmJ0bi1wcmltYXJ5OmRpc2FibGVkLFxuLmFjY291bnQtcGFnZSAuYnRuLmJ0bi1wcmltYXJ5LmRpc2FibGVkIHtcbiAgb3BhY2l0eTogLjY1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIFJlc3BvbnNpdmVuZXNzIHR3ZWFrcyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIC5hY2NvdW50LXBhZ2UgLmFjY291bnQtZ3JpZCB7XG4gICAgZ2FwOiAxLjI1cmVtO1xuICB9XG59XG5cbi8qIG1pbm9yIHNwYWNpbmcgaGVscGVycyAqL1xuLmFjY291bnQtcGFnZSAuYWNjb3VudC1hdmF0YXItd3JhcCB7IG1hcmdpbi1ib3R0b206IC41cmVtOyB9XG5cbi8qIENhcmQgbGF5b3V0IGZvciBhY2NvdW50IHBhbmVscyAoYXZhdGFyKSAqL1xuLmFjY291bnQtcGFnZSAuYWNjb3VudC1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IGhzbCgwLCAwJSwgNDAlKSAycHQgc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgzMSwgNDEsIDU1LCAwLjA2KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAvKiBwcmV2ZW50IGFueSBjaGlsZCBvdmVyZmxvdyBmcm9tIHNob3dpbmcgb3V0c2lkZSBjYXJkICovXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLCBib3gtc2hhZG93IC4zcyBlYXNlLCBib3JkZXItY29sb3IgLjNzIGVhc2U7XG59XG5cbi5hY2NvdW50LXBhZ2UgLmFjY291bnQtY2FyZDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuICAgIGJveC1zaGFkb3c6IDAgMTZweCA0MnB4IHJnYmEoMCwgMCwgMCwgMC4xNik7XG4gICAgYm9yZGVyOiBoc2woMCwgMCUsIDcwJSkgMnB0IHNvbGlkO1xufVxuXG4uYWNjb3VudC1wYWdlIC5hY2NvdW50LWNhcmRfX2hlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5hY2NvdW50LXBhZ2UgLmFjY291bnQtY2FyZF9fc3VidGl0bGUge1xuICBtYXJnaW46IDRweCAwIDA7XG4gIGNvbG9yOiAjNmI3MjgwO1xuICBmb250LXNpemU6IC45NXJlbTtcbn1cblxuLmFjY291bnQtcGFnZSAuYXZhdGFyLXBhbmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAuNXJlbTtcbn1cblxuLmFjY291bnQtcGFnZSAuYWNjb3VudC1hdmF0YXItLXhsIHtcbiAgd2lkdGg6IDEzMnB4O1xuICBoZWlnaHQ6IDEzMnB4O1xufVxuXG4uYWNjb3VudC1wYWdlIC5hdmF0YXItcGFuZWxfX25hbWUge1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IC41cmVtO1xufVxuXG4uYWNjb3VudC1wYWdlIC5hdmF0YXItcGFuZWxfX2VtYWlsIHtcbiAgY29sb3I6ICM2YjcyODA7XG4gIGZvbnQtc2l6ZTogLjlyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmFjY291bnQtcGFnZSAudXBsb2FkLXJvdyB7XG4gIG1hcmdpbi10b3A6IC43NXJlbTtcbn1cblxuLmFjY291bnQtcGFnZSAuZmlsZS1jaG9zZW4ge1xuICBjb2xvcjogIzZiNzI4MDtcbiAgZm9udC1zaXplOiAuODc1cmVtO1xuICBtYXJnaW4tdG9wOiAuNXJlbTtcbn1cblxuLmFjY291bnQtcGFnZSAuYnRuLWJsb2NrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IC41cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIFN0eWxlIG5hdGl2ZSBmaWxlIGlucHV0IHRvIGxvb2sgbGlrZSBhIGJ1dHRvbiAqL1xuLmFjY291bnQtcGFnZSBpbnB1dFt0eXBlPVwiZmlsZVwiXS5maWxlLWlucHV0IHtcbiAgZm9udC1zaXplOiAuOTVyZW07XG59XG4uYWNjb3VudC1wYWdlIGlucHV0W3R5cGU9XCJmaWxlXCJdLmZpbGUtaW5wdXQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QxZDVkYjtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAuNXJlbSAuNzVyZW07XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjMTExODI3O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbi1yaWdodDogLjc1cmVtO1xufVxuLmFjY291bnQtcGFnZSBpbnB1dFt0eXBlPVwiZmlsZVwiXS5maWxlLWlucHV0OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmM2Y0ZjY7XG59XG5cbi8qIFR3ZWFrIGNoZWNrYm94IGFyZWEgKi9cbi5hY2NvdW50LXBhZ2UgLnJlbW92ZS1yb3cge1xuICBtYXJnaW46IC41cmVtIDAgLjc1cmVtO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuXG5cbi8qIEZvcm0gZ3JpZHMgZm9yIFByb2ZpbGUgYW5kIFBhc3N3b3JkIGNhcmRzICovXG4uYWNjb3VudC1wYWdlIC5hY2NvdW50LWNhcmQgLmFjY291bnQtZm9ybSB7IG1hcmdpbi10b3A6IDRweDsgfVxuLmFjY291bnQtcGFnZSAuYWNjb3VudC1mb3JtIC5mb3JtLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdhcDogMTJweDtcbn1cbi5hY2NvdW50LXBhZ2UgLmFjY291bnQtZm9ybSAuZm9ybS1hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgbWFyZ2luLXRvcDogMTJweDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAuYWNjb3VudC1wYWdlIC5hY2NvdW50LWZvcm0gLmZvcm0tZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG59XG5cblxuLyogU3RhY2sgY29sdW1uIGZvciBQcm9maWxlICsgUGFzc3dvcmQgKi9cbi5hY2NvdW50LXBhZ2UgLmFjY291bnQtc3RhY2sge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDJyZW07XG59XG5cbi8qIENlbnRlciB0aGUgYWNjb3VudCBwYWdlIGNvbnRlbnQgY29udGFpbmVyICovXG4uYWNjb3VudC1wYWdlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTEwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG5cbi8qIEZvcm0gY29udHJvbHM6IGxhYmVscyBhbmQgaW5wdXRzIHN0eWxpbmcgZm9yIC9hY2NvdW50ICovXG4uYWNjb3VudC1wYWdlIC5hY2NvdW50LWZvcm0gbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLWJvdHRvbTogLjM1cmVtO1xuICBjb2xvcjogIzExMTgyNztcbn1cblxuLmFjY291bnQtcGFnZSAuYWNjb3VudC1mb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLmFjY291bnQtcGFnZSAuYWNjb3VudC1mb3JtIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi5hY2NvdW50LXBhZ2UgLmFjY291bnQtZm9ybSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4uYWNjb3VudC1wYWdlIC5hY2NvdW50LWZvcm0gc2VsZWN0LFxuLmFjY291bnQtcGFnZSAuYWNjb3VudC1mb3JtIHRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogLjYyNXJlbSAuNzVyZW07XG4gICAgYm9yZGVyOiBoc2woMCwgMCUsIDQwJSkgMXB0IHNvbGlkO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY1KTtcbiAgICBjb2xvcjogIzExMTgyNzsgLyogZ3JheS05MDAgKi9cbiAgICBmb250LXNpemU6IDEuMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIGVuc3VyZSBwYWRkaW5nICsgYm9yZGVyIGRvbid0IGNhdXNlIG92ZXJmbG93ICovXG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuMTVzIGVhc2UsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlO1xuXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5hY2NvdW50LXBhZ2UgLmFjY291bnQtZm9ybSBzZWxlY3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vcHVibGljL2ltYWdlcy9zZWxlY3QtZG93bi5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuNzVyZW0gY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMC45cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG59XG5cbi5hY2NvdW50LXBhZ2UgLmFjY291bnQtZm9ybSBpbnB1dDpob3Zlcixcbi5hY2NvdW50LXBhZ2UgLmFjY291bnQtZm9ybSBzZWxlY3Q6aG92ZXIsXG4uYWNjb3VudC1wYWdlIC5hY2NvdW50LWZvcm0gdGV4dGFyZWE6aG92ZXIge1xuICAgIGJvcmRlcjogaHNsKDAsIDAlLCA3MCUpIDFwdCBzb2xpZDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4uYWNjb3VudC1wYWdlIC5hY2NvdW50LWZvcm0gaW5wdXQ6OnBsYWNlaG9sZGVyLFxuLmFjY291bnQtcGFnZSAuYWNjb3VudC1mb3JtIHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOWNhM2FmOyAvKiBncmF5LTQwMCAqL1xufVxuXG4uYWNjb3VudC1wYWdlIC5hY2NvdW50LWZvcm0gaW5wdXQ6Zm9jdXMsXG4uYWNjb3VudC1wYWdlIC5hY2NvdW50LWZvcm0gc2VsZWN0OmZvY3VzLFxuLmFjY291bnQtcGFnZSAuYWNjb3VudC1mb3JtIHRleHRhcmVhOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiAjMjU2M2ViOyAvKiBibHVlLTYwMCAqL1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgzNywgOTksIDIzNSwgMC4xNSk7XG59XG5cbi8qIERpc2FibGVkIHN0YXRlICovXG4uYWNjb3VudC1wYWdlIC5hY2NvdW50LWZvcm0gaW5wdXQ6ZGlzYWJsZWQsXG4uYWNjb3VudC1wYWdlIC5hY2NvdW50LWZvcm0gc2VsZWN0OmRpc2FibGVkLFxuLmFjY291bnQtcGFnZSAuYWNjb3VudC1mb3JtIHRleHRhcmVhOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZDogI2Y5ZmFmYjtcbiAgY29sb3I6ICM2YjcyODA7XG59XG5cbi8qIENoZWNrYm94IGFsaWdubWVudCAmIGFjY2VudCAqL1xuLmFjY291bnQtcGFnZSAuYWNjb3VudC1mb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGFjY2VudC1jb2xvcjogIzI1NjNlYjtcbn1cblxuLyogU3BhY2UgYmV0d2VlbiBhdXRvLXJlbmRlcmVkIGZvcm0gcm93cyAqL1xuLmFjY291bnQtcGFnZSAuYWNjb3VudC1mb3JtIC5mb3JtLWNvbCA+IGRpdixcbi5hY2NvdW50LXBhZ2UgLmFjY291bnQtZm9ybSA+IGRpdjpub3QoLmZvcm0tZ3JpZCk6bm90KC5mb3JtLWFjdGlvbnMpIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG59XG5cblxuLyogRW5zdXJlIHBhbmVscyBzdGFjayBvbiBzbWFsbGVyIHNjcmVlbnMgc28gY29udHJvbHMgZG9uJ3Qgb3ZlcmZsb3cgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAuYWNjb3VudC1wYWdlIC5hY2NvdW50LWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxufVxuIiwiLyogQWNjZXNzaWJpbGl0eSB0b29sYmFyIHN0eWxlcyBhbmQgZmVhdHVyZSBjbGFzc2VzIChXQ0FHIDIuMiBBQS1vcmllbnRlZCkgKi9cbjpyb290IHtcbiAgLS1hMTF5LXNjYWxlOiAxOyAvKiBmb250IHNjYWxlIG11bHRpcGxpZXIgKi9cbiAgLS1hMTF5LWJhc2UtZm9udC1zaXplOiAxMDAlO1xufVxuXG5odG1sIHsgZm9udC1zaXplOiBjYWxjKHZhcigtLWExMXktYmFzZS1mb250LXNpemUpICogdmFyKC0tYTExeS1zY2FsZSkpOyB9XG5cbi8qIFRvb2xiYXIgY29udGFpbmVyICovXG4uYTExeS10b29sYmFyIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IC41cmVtO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IC41cmVtIC43NXJlbTtcbiAgYmFja2dyb3VuZDogI2YzZjRmNjsgLyogbGlnaHQgZ3JheSAqL1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7XG59XG5cbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgLmExMXktdG9vbGJhciB7IGJhY2tncm91bmQ6ICMxMTE4Mjc7IGJvcmRlci1jb2xvcjogIzM3NDE1MTsgfVxuICAuYTExeS10b29sYmFyIC5hMTF5LWJ0biB7IGJvcmRlci1jb2xvcjogIzM3NDE1MTsgY29sb3I6ICNlNWU3ZWI7IH1cbn1cblxuLmExMXktdG9vbGJhcltoaWRkZW5dIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5hMTF5LXRvb2xiYXIgLmExMXktbGFiZWwgeyBmb250LXdlaWdodDogNjAwOyBtYXJnaW4tcmlnaHQ6IC4yNXJlbTsgfVxuXG4uYTExeS1idG4ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBjb2xvcjogIzExMTgyNztcbiAgYm9yZGVyOiAxcHggc29saWQgI2QxZDVkYjtcbiAgYm9yZGVyLXJhZGl1czogLjM3NXJlbTtcbiAgcGFkZGluZzogLjM1cmVtIC41cmVtO1xuICBmb250OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmExMXktYnRuOmhvdmVyIHsgYmFja2dyb3VuZDogI2Y5ZmFmYjsgfVxuLmExMXktYnRuOmZvY3VzIHsgb3V0bGluZTogM3B4IHNvbGlkICMyNTYzZWI7IG91dGxpbmUtb2Zmc2V0OiAycHg7IH1cbi5hMTF5LWJ0blthcmlhLXByZXNzZWQ9XCJ0cnVlXCJdLFxuLmExMXktYnRuLmlzLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICMxMTE4Mjc7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICMxMTE4Mjc7XG59XG5cbi8qIEZlYXR1cmUgY2xhc3NlcyBhcHBsaWVkIHRvIDxodG1sPiBvciA8Ym9keT4gKi9cbi8qIFVuZGVybGluZSBsaW5rcyBldmVyeXdoZXJlICovXG4uYTExeS11bmRlcmxpbmUtbGlua3MgYSwgLmExMXktdW5kZXJsaW5lLWxpbmtzIGE6bGluaywgLmExMXktdW5kZXJsaW5lLWxpbmtzIGE6dmlzaXRlZCB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG59XG5cbi8qIFJlYWRhYmxlIFR5cGVmYWNlOiBwcmVmZXIgQXRraW5zb24vT3BlbkR5c2xleGljIGlmIHByZXNlbnQsIHRoZW4gaGlnaGx5IGxlZ2libGUgZmFsbGJhY2tzICovXG4uYTExeS1yZWFkYWJsZS1mb250IHtcbiAgZm9udC1mYW1pbHk6IFwiQXRraW5zb24gSHlwZXJsZWdpYmxlXCIsIFwiT3BlbkR5c2xleGljXCIsIFwiSW50ZXJcIiwgXCJTZWdvZSBVSVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xufVxuXG4vKiBHcmF5c2NhbGU6IGF2b2lkIGFmZmVjdGluZyBzZWxlY3Rpb24vZm9jdXMgb3V0bGluZXMgKi9cbi5hMTF5LWdyYXlzY2FsZSBib2R5LCAuYTExeS1ncmF5c2NhbGUgLnNpdGUtbWFpbiwgLmExMXktZ3JheXNjYWxlIGltZywgLmExMXktZ3JheXNjYWxlIHZpZGVvLCAuYTExeS1ncmF5c2NhbGUgcGljdHVyZSwgLmExMXktZ3JheXNjYWxlIHN2ZyB7XG4gIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpICFpbXBvcnRhbnQ7XG59XG5cbi8qIEludmVydCAoTmVnYXRpdmUpICovXG4uYTExeS1pbnZlcnQge1xuICBmaWx0ZXI6IGludmVydCgxKSBodWUtcm90YXRlKDE4MGRlZykgIWltcG9ydGFudDtcbn1cbi8qIFRyeSB0byBjb3JyZWN0IGltYWdlcy9sb2dvcyBnZXR0aW5nIGludmVydGVkOiByZS1pbnZlcnQgbWVkaWEgaW5zaWRlICovXG4uYTExeS1pbnZlcnQgaW1nLCAuYTExeS1pbnZlcnQgdmlkZW8sIC5hMTF5LWludmVydCBwaWN0dXJlLCAuYTExeS1pbnZlcnQgc3ZnIHsgZmlsdGVyOiBpbnZlcnQoMSkgaHVlLXJvdGF0ZSgxODBkZWcpICFpbXBvcnRhbnQ7IH1cblxuLyogSGlnaCBDb250cmFzdDogaW5jcmVhc2UgY29sb3IgY29udHJhc3QsIGZvcmNlIGJhY2tncm91bmQvdGV4dCBjb2xvcnMgKi9cbi5hMTF5LWNvbnRyYXN0LFxuLmExMXktY29udHJhc3QgYm9keSB7XG4gIGJhY2tncm91bmQ6ICMwMDAgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cbi5hMTF5LWNvbnRyYXN0IGEgeyBjb2xvcjogIzAwZmZmZiAhaW1wb3J0YW50OyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50OyB9XG4uYTExeS1jb250cmFzdCAqIHsgYm9yZGVyLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cblxuLyogTGlnaHQgQmFja2dyb3VuZDogd2hpdGUgYmcgYW5kIGRhcmsgdGV4dCAqL1xuLmExMXktbGlnaHQtYmcsXG4uYTExeS1saWdodC1iZyBib2R5IHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xufVxuLmExMXktbGlnaHQtYmcgYSB7IGNvbG9yOiAjMDY0NUFEICFpbXBvcnRhbnQ7IH1cblxuLyogVXRpbGl0aWVzIHRvIGVuc3VyZSBvdXRsaW5lcyBhcmUgdmlzaWJsZSAqL1xuOndoZXJlKGEsIGJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpOmZvY3VzIHsgb3V0bGluZTogM3B4IHNvbGlkICMyNTYzZWI7IG91dGxpbmUtb2Zmc2V0OiAycHg7IH1cblxuLyogS2VlcCB0b29sYmFyIHJlYWRhYmxlIHVuZGVyIHRyYW5zZm9ybXMvZmlsdGVycyAqL1xuaHRtbC5hMTF5LWludmVydCAuYTExeS10b29sYmFyIHsgZmlsdGVyOiBpbnZlcnQoMSkgaHVlLXJvdGF0ZSgxODBkZWcpICFpbXBvcnRhbnQ7IH1cbmh0bWwuYTExeS1ncmF5c2NhbGUgLmExMXktdG9vbGJhciB7IGZpbHRlcjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIFByaW50IHNhZmVndWFyZCAqL1xuQG1lZGlhIHByaW50IHtcbiAgLmExMXktdG9vbGJhciB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/