/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/app.css ***!
  \**************************************************************************************************************/
:root {
    --bg: #ffffff;
    --card: rgba(255, 255, 255, 0.06);
    --card-border: rgba(255, 255, 255, 0.14);
    --text: rgba(23, 31, 60, 0.92);
    --muted: rgba(16, 22, 62, 0.66);
    --soft: rgba(255, 255, 255, 0.10);
    --shadow: 0 30px 80px rgba(78, 94, 113, 0.45);
    --radius: 22px;
}

body {
    margin: 0;
    font-family: Arial, sans-serif;
    color: #192b3e;
    overflow-x: hidden;
    overflow-y: auto;
    min-height: 100vh;
    background: var(--bg);
}
body .pilot{
    overflow: scroll;
    background-color: #2c2a2a;
}
.black_sjbd{
    min-height: 100vh;
    background-color: #161414;
}
.black_sjbd_edit{
    min-height: 100vh;
    background-color: #161414;
    overflow: scroll;
}
text {
font-family: Arial, sans-serif;
font-size: 14px;
fill: white;
}
.sjdb-home {
    background: radial-gradient(1200px 700px at 20% 10%, rgba(91, 143, 255, .18), transparent 55%), radial-gradient(900px 600px at 80% 30%, rgba(180, 84, 255, .16), transparent 60%), radial-gradient(900px 600px at 50% 90%, rgba(0, 242, 255, .12), transparent 55%), var(--bg);
    color: var(--text);
    display: flex;
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, Apple Color Emoji, Segoe UI Emoji;
    /*min-height: 100vh;
    overflow: auto;*/
    padding: 25px 18px;
    place-items: center;
    position: relative;
    justify-content: center;
    align-items: flex-start;
}

.sjdb-bg {
    position: absolute;
    inset: -40px;
    background-image:
            radial-gradient(circle at 12% 18%, rgba(255, 255, 255, 0.10) 1px, transparent 2px),
            radial-gradient(circle at 72% 30%, rgba(255, 255, 255, 0.08) 1px, transparent 2px),
            radial-gradient(circle at 42% 78%, rgba(255, 255, 255, 0.06) 1px, transparent 2px);
    background-size: 220px 220px, 260px 260px, 300px 300px;
    opacity: 0.55;
    filter: blur(0.1px);
    pointer-events: none;
}

.sjdb-card {
    width: min(920px, 100%);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.04));
    border: 1px solid var(--card-border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 26px;
    position: relative;
    backdrop-filter: blur(10px);
}
.sjdb-card--wide {
    width: min(1100px, 100%);
}
.sjdb-header {
    display: flex;
    gap: 18px;
    align-items: center;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--soft);
}

.sjdb-logo {
    width: 150px;
    height: 150px;
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.35);
    background: rgba(255, 255, 255, 0.05);
    object-fit: cover;
}

.sjdb-brand {
    display: grid;
    gap: 6px;
}

.sjdb-domain {
    font-weight: 800;
    letter-spacing: 0.5px;
    font-size: 22px;
}

.sjdb-tagline {
    color: var(--muted);
    font-size: 14px;
}

.sjdb-content {
    padding: 18px 4px 8px;
}
.sjdb-title {
    font-size: clamp(22px, 3vw, 34px);
    margin: 0 0 10px 0;
    line-height: 1.15;
}

.sjdb-muted {
    color: var(--muted);
    font-weight: 600;
}

.sjdb-lead {
    margin: 0 0 14px 0;
    color: rgba(255, 255, 255, 0.84);
    line-height: 1.6;
    font-size: 16px;
}

.sjdb-bullets {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 10px;
}

.sjdb-bullets li {
    padding: 10px 12px;
    border: 1px solid var(--soft);
    border-radius: 14px;
    background: rgba(0, 0, 0, 0.16);
    color: rgba(255, 255, 255, 0.86);
}

.sjdb-footer {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--soft);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}
.sjdb-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.sjdb-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: linear-gradient(180deg, rgb(91 143 255 / 88%), rgb(180 84 255 / 82%));
    color: rgba(255, 255, 255, 0.95);
    text-decoration: none;
    font-weight: 700;
    transition: transform 160ms ease, filter 160ms ease, border-color 160ms ease;
}
.sjdb-btn--danger {
    border-color: rgba(255, 120, 120, 0.45);
    background: linear-gradient(180deg, rgba(255, 120, 120, 0.38), rgba(255, 80, 80, 0.22));
}
.sjdb-btn:hover {
    transform: translateY(-1px);
    filter: brightness(1.08);
    border-color: rgba(255, 255, 255, 0.32);
}

.sjdb-btn:active {
    transform: translateY(0px);
}

.sjdb-btn-arrow {
    opacity: 0.9;
    font-weight: 900;
}

.sjdb-meta {
    display: inline-flex;
    gap: 8px;
    flex-wrap: wrap;
}

.sjdb-pill {
    font-size: 14px;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid var(--soft);
    background: rgb(19 58 91 / 63%);
    color: rgb(255 255 255 / 91%);
    text-decoration: none;
}
.sjdb-table-wrap {
    margin-top: 16px;
    border-radius: 16px;
    border: 1px solid var(--soft);
    overflow: hidden;
    background: rgba(0, 0, 0, 0.2);
}
.sjdb-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.sjdb-table th,
.sjdb-table td {
    text-align: left;
    padding: 12px 14px;
    border-bottom: 1px solid var(--soft);
}
.sjdb-table th {
    color: var(--muted);
    font-weight: 600;
    letter-spacing: 0.02em;
}
.sjdb-table tbody tr:hover {
    background: rgba(255, 255, 255, 0.04);
}
.sjdb-dl {
    display: grid;
    grid-template-columns: minmax(0, 140px) minmax(0, 1fr);
    gap: 8px 16px;
    margin: 0;
}
.sjdb-dl dt {
    font-weight: 700;
    color: var(--muted);
}
.sjdb-dl dd {
    margin: 0;
}
.admin-form {
    display: grid;
    gap: 12px;
    margin: 12px 0 0;
}
.admin-form h2 {
    margin: 16px 0 6px;
    font-size: clamp(18px, 3.2vw, 22px);
}
.admin-form h3 {
    margin: 12px 0 6px;
    font-size: clamp(16px, 2.8vw, 18px);
}
.admin-form label {
    display: block;
    font-weight: 600;
    margin-bottom: 4px;
    color: rgba(255, 255, 255, 0.82);
}
.admin-form input,
.admin-form select,
.admin-form textarea {
    width: 100%;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(0, 0, 0, 0.35);
    color: rgba(255, 255, 255, 0.94);
    outline: none;
}
.admin-form textarea {
    min-height: 120px;
}
.admin-form button {
    justify-self: flex-start;
}
.qr-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 24px;
    margin-top: 16px;
}
.qr-card {
    background: #fff;
    border: 1px solid #e4e6eb;
    border-radius: 12px;
    padding: 16px;
    text-align: center;
}
.qr-card img {
    width: 180px;
    height: 180px;
    object-fit: contain;
    margin: 12px auto;
}
.qr-label {
    display: block;
    font-weight: 600;
    margin-top: 6px;
}
.qr-code {
    font-size: 0.85rem;
    color: #4b5563;
    word-break: break-all;
}
.qr-missing {
    padding: 40px 12px;
    background: #f8f8f9;
    border-radius: 10px;
    color: #9ca3af;
}
@media (max-width: 520px) {
    .sjdb-card { padding: 18px; }
    .sjdb-logo { width: 74px; height: 74px; border-radius: 16px; }
    .sjdb-domain { font-size: 20px; }
}
@media (max-width: 720px) {
    .sjdb-home {
        padding: 18px 14px 28px;
        align-items: stretch;
    }
    .sjdb-card {
        width: 100%;
    }
    .sjdb-header {
        flex-direction: column;
        align-items: flex-start;
    }
    .sjdb-logo {
        width: 96px;
        height: 96px;
    }
    .sjdb-footer {
        flex-direction: column;
        align-items: stretch;
    }
    .sjdb-btn {
        /*width: 100%;*/
        justify-content: center;
    }
    .sjdb-meta {
        width: 100%;
    }
    .sjdb-table-wrap {
        overflow-x: auto;
    }
    .sjdb-table th,
    .sjdb-table td {
        white-space: nowrap;
    }
    .sjdb-dl {
        grid-template-columns: 1fr;
    }
    .admin-form {
        gap: 10px;
    }
    .qr-card img {
        width: 150px;
        height: 150px;
    }
}
.o_blk_1{
padding: 15px;
display: flex;
justify-content: center;
align-items: center;
}
.o_blk_1 h1{
color: #FFFFFF;
}
#chat-box {
border: 1px solid #ccc;
padding: 10px;
margin-bottom: 10px;
height: 300px;
overflow-y: scroll;
}

#send-button svg {
pointer-events: none; /* Empêche D3.js de capter les clics ici */
}
#controls {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 10;
}

#chat-interface {
    display: flex;
    flex-direction: column;
    height: 80vh;
    width: 300px;
    background: linear-gradient(to bottom, #f9f9f9, #ececec);
    font-family: 'Arial', sans-serif;
    border-left: 2px solid #ccc;
}

.chat-message {
    display: flex;
    margin-bottom: 10px;
}

.chat-message.user {
    justify-content: flex-end;
}

.chat-message.ai {
    justify-content: flex-start;
}

.chat-bubble {
    max-width: 60%;
    padding: 10px;
    border-radius: 10px;
    font-size: 0.9em;
    line-height: 1.4;
}

.chat-bubble.user {
    background-color: #4caf50;
    color: white;
    border-bottom-right-radius: 0;
}

.chat-bubble.ai {
    background-color: #2196f3;
    color: white;
    border-bottom-left-radius: 0;
}

#chat-input button:hover {
    background: #45a047;
}

#chat-input button svg {
    fill: white;
    width: 20px;
    height: 20px;
}
#visualization{
    display: block;
    flex: 2; /* Le SVG prend le reste */
    position: relative; /* Important pour calculer la taille du SVG */
    overflow: hidden;
}
#visualization svg {
    width: 100%; /* Remplit son conteneur */
    height: 100%; /* Adapte sa hauteur à celle du conteneur */
    display: block; /* Supprime les marges implicites du SVG */
}
#statistics-visualization{
    height: 70px;
    position: relative;
}
#keywords-cluster{
    position: relative;
}
#cluster-visualization{
    position: relative;
}
#main-container {
    display: flex;
    height: 100vh;
    overflow: hidden;
}

#chat-section {
    flex: 1; /* Une moitié de l'écran */
    display: flex;
    flex-direction: column;
    border-right: 1px solid #ccc;
    overflow-y: auto;
    max-width: 350px;
    position: relative;
    height: 90%;
    background: #f1f1f1;
}

#chat-container {
    flex: 1; /* Occupation de l'espace pour les messages */
    padding: 10px;
    overflow-y: auto;
    position: relative;
}

#chat-input {
    display: flex;
    align-items: center;
    padding: 10px;
    background: #f9f9f9;
    border-top: 1px solid #ccc;
}

#chat-input input {
    flex: 1;
    padding: 10px;
    font-size: 1em;
    border: 1px solid #ccc;
    border-radius: 20px;
    margin-right: 10px;
}

#chat-input button {
    background: #4caf50;
    color: white;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

#visualization-section {
    flex: 2; /* L'autre moitié de l'écran */
    display: flex;
    flex-direction: column;
    position: relative;
    background: #202040;
    color: white;
}
#visualization-controls {
    display: flex;
    justify-content: space-around;
    padding: 10px;
    background: #333;
    color: white;
    border-bottom: 1px solid #444;
    height: 50px;
}

#visualization-controls button {
    background: #555;
    color: white;
    border: none;
    padding: 10px 15px;
    font-size: 14px;
    cursor: pointer;
    border-radius: 4px;
}

#visualization-controls button:hover {
    background: #777;
}
.page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    padding: 24px 20px 32px;
    gap: 24px;
}
.page_fix {
    min-height: 100vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    padding: 24px 20px 32px;
    gap: 24px;
}
.first_title{
    display: flex;
    flex-direction: column;
    margin: auto;
    justify-content: center;
    align-items: center;
}
.first_title h1{
    font-size: 4.5rem;
    margin: 0;
    padding-top: 15px;
}
header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.badge {
    background: #101e4a;
    color: #fff;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 0.85rem;
}
.badge2 {
    background: #101e4a;
    color: #fff;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 0.85rem;
    position: absolute;
}
.card {
    background: #fff;
    border-radius: 18px;
    padding: 20px;
    box-shadow: 0 12px 28px rgba(16, 30, 74, 0.08);
}
.card h2{
    color:#1f3b73;
    text-align: center;
}
.soli{
    background-color: #085da2;
    height: 174px;
    left: 0;
    padding: 10px;
    position: absolute;
    right: 0;
    bottom: 97px;
    width: 509px;
    justify-content: center;
    align-items: center;
}
.info{
    padding: 20px;
}
.card h2{
    color:#1f3b73;
    text-align: center;
}
.lien_jeu{
    font-weight: bold;
    color :darkblue;
}
.stack {
    display: flex;
    gap: 16px;
    margin: auto;
}
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    padding: 14px 18px;
    border-radius: 14px;
    border: none;
    background: #101e4a;
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}
.btn-outline {
    background: transparent;
    border: 1px solid #101e4a;
    color: #101e4a;
}
.input {
    width: 100%;
    padding: 14px 16px;
    border-radius: 12px;
    border: 1px solid #d3d8e6;
    font-size: 1rem;
}
.hint {
    font-size: 0.9rem;
    color: #4b5563;
}
.hint2{
    font-size: 3rem;
    color: #8a0609;
    font-weight: 600;
    margin-block: 0;
}
.status {
    padding: 10px 14px;
    border-radius: 12px;
    font-weight: 600;
    font-size: 0.9rem;
    background: #e9efff;
    color: #1d3a8a;
}
.status:empty {
    display: none;
}
.status.closed {
    background: #ffe8e8;
    color: #a32424;
}
.info_link{
    background: #085da2;
    border-radius: 12px;
    color: #f2f4f9;
    display: flex;
    flex-direction: column;
    font-size: .9rem;
    font-weight: 600;
    padding: 10px 14px;
    justify-content: space-evenly;
    align-items: center;
    height: 100px;
}
.link{
    color: #e2e6ee;
}
.scoreboard-winner {
    background: #3db62e;
}
.scoreboard-winner td:first-child::before {
    content: '🏆 ';
}
.scoreboard-finished {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 8px;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(21, 128, 61, 0.2);
    color: #15803d;
    font-size: 0.8rem;
    font-weight: 600;
    white-space: nowrap;
}
.progress {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 8px;
}
.progress span {
    padding: 10px 0;
    text-align: center;
    border-radius: 10px;
    background: #f1f4ff;
    font-weight: 600;
}
.progress span.completed {
    background: #d7f5e1;
    color: #166534;
}
footer {
    margin-top: auto;
    text-align: center;
    font-size: 0.85rem;
    color: #6b7280;
}
.pilot-page,
.scoreboard-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px 16px 40px;
}

.pilot-header {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
}

.pilot-summary {
    display: grid;
    gap: 12px;
    font-size: 1.05rem;
}

.pilot-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 24px;
}

.pilot-actions {
    display: grid;
    gap: 12px;
}

.pilot-actions form,
.pilot-actions a {
    width: 100%;
}

.pilot-actions button,
.pilot-actions a {
    width: 100%;
    padding: 12px 16px;
    border-radius: 12px;
    border: none;
    background: #2c2c5a;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    text-align: center;
}

.pilot-actions button:hover,
.pilot-actions a:hover {
    background: #3c3c7a;
}
.pilot-finish-dialog {
    border: none;
    border-radius: 16px;
    padding: 0;
    width: min(90vw, 420px);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
}

.pilot-finish-dialog::backdrop {
    background: rgba(5, 7, 20, 0.65);
}

.pilot-finish-dialog__content {
    display: grid;
    gap: 12px;
    padding: 20px;
    color: #1f2937;
}

.pilot-finish-dialog__label {
    display: grid;
    gap: 8px;
    font-weight: 600;
}

.pilot-finish-dialog__label select {
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid #d1d5db;
    background: #fff;
}

.pilot-finish-dialog__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.pilot-finish-dialog__actions button {
    padding: 10px 14px;
    border-radius: 10px;
    border: none;
    background: #2c2c5a;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

.pilot-finish-dialog__actions button[disabled] {
    cursor: not-allowed;
    opacity: 0.6;
}

.pilot-finish-dialog__actions button:last-child {
    background: #64748b;
}

.pilot-teams {
    background: rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 16px;
}

.pilot-teams header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 12px;
}

.pilot-teams__count {
    font-size: 1.4rem;
    font-weight: 700;
}

.team-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 10px;
}

.team-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(16, 16, 32, 0.75);
}

.team-list__code {
    font-size: 0.95rem;
    opacity: 0.85;
}

.team-list__state {
    font-size: 0.85rem;
    padding: 4px 10px;
    border-radius: 999px;
    background: #1f3b73;
}
.team-list__qr {
    font-size: 0.85rem;
    opacity: 0.85;
}

.scoreboard-page {
    max-width: 1400px;
}

.scoreboard-header {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
    background-color: #66b7fd;
    padding: 10px;
    border-radius: 25px;
}

.scoreboard-status {
    padding: 6px 14px;
    border-radius: 999px;
    background: #1f3b73;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.85rem;
}

.scoreboard-meta {
    display: flex;
    gap: 16px;
    align-items: center;
    font-size: 1rem;
}

.scoreboard-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 24px;
    background: rgb(12 84 146);
    border-radius: 16px;
    overflow: hidden;
}

.scoreboard-table th,
.scoreboard-table td {
    padding: 14px 16px;
    text-align: left;
}

.scoreboard-table thead {
    background: rgba(255, 255, 255, 0.08);
}

.scoreboard-table tbody tr:nth-child(even) {
    background: rgba(255, 255, 255, 0.04);
}

.scoreboard-progress {
    position: relative;
    height: 10px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 999px;
    overflow: hidden;
}

.scoreboard-progress span {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    background: linear-gradient(90deg, #3ab5ff, #8bf7d3);
    border-radius: 999px;
}

.scoreboard-progress-meta {
    font-size: 0.85rem;
    margin-top: 6px;
    opacity: 0.8;
}

.scoreboard-empty {
    text-align: center;
    padding: 20px;
    font-style: italic;
    opacity: 0.8;
}

@media (max-width: 1024px) {
    .pilot-layout {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 720px) {
    .page {
        padding: 20px 16px 28px;
    }

    .page_fix {
        padding: 20px 16px 28px;
    }

    .first_title h1 {
        font-size: 2.2rem;
    }

    .badge2 {
        position: static;
    }

    .pilot-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .pilot-actions {
        width: 100%;
    }

    .pilot-actions form,
    .pilot-actions a {
        width: 100%;
    }

    .team-list li {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    .scoreboard-header {
        align-items: flex-start;
    }

    .scoreboard-meta {
        flex-direction: column;
        align-items: flex-start;
    }

    .scoreboard-table {
        display: block;
        overflow-x: auto;
    }
}
#keywords-visualization, #analysis-visualization {
    flex: 1;
    /*border-bottom: 1px solid #ccc;*/
    overflow: hidden;
}
/* Onglets */
#tabs {
    display: flex;
    background: #333;
    border-bottom: 1px solid #444;
}

#tabs .tab-button {
    flex: 1;
    padding: 10px;
    cursor: pointer;
    background: #444;
    border: none;
    color: white;
    font-size: 14px;
    text-align: center;
}

#tabs .tab-button.active {
    background: #202040;
    border-bottom: 2px solid #00bcd4;
}

/* Contenu des onglets */
#tabs-content {
    flex: 1;
    position: relative;
}
/*
.tab-content {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background: #202040;
}

 */

#keywords-cluster, #statistics-visualization, #response-analysis {
    display: block;
    margin: auto;
    width: 100%;
    height: 100%;
}

.tab-content {
    display: none;
    justify-content: center;
    align-items: center;
    position: relative;
    height: 100%;
}

.tab-content.active {
    display: flex;
}

#statistics-visualization,
#keywords-visualization, #reponse_visualisation {
    width: 100%;
    height: 100%;
}
.back_head_desk {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    min-height: 100vh;
}
.home-countdown {
    margin-top: 12px;
    font-size: 3.5rem;
    font-weight: 800;
    color: #fff;
    text-shadow: 0 8px 18px rgba(0, 0, 0, 0.35);
    animation: homePulse 1s infinite;
}

.home-qr {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.home-qr img {
    width: 150px;
    height: 150px;
    border-radius: 16px;
    background: #fff;
    padding: 12px;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
}

.winner-screen {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.winner-header {
    text-align: center;
}
.winner-card{
    align-items: center;
    background: #183d73;
    border-radius: 16px;
    box-shadow: 0 12px 28px rgba(16, 30, 74, .08);
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: auto;
    padding: 24px;
    width: 500px;
}

.winner-card h2 {
    font-size: 2.4rem;
    margin: 0;
    text-align: center;
}
.hint_win{
    color: #ffffff;
    font-size: 1.5rem;
    padding: 25px;
    margin: 0;
}

@keyframes homePulse {
    0%,
    100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
}
/* === Countdown overlay - style BD === */
.countdownOverlay {
    position: fixed;
    inset: 0;
    display: grid;
    place-items: center;
    z-index: 9999;

    /* voile léger pour lisibilité tout en gardant le background visible */
    background: rgba(0,0,0,0.25);
    backdrop-filter: blur(2px);
}
.countdownOverlay[hidden] {
    display: none;
}

.countdownCard {
    position: relative;
    width: min(86vw, 520px);
    padding: 22px 18px 18px;
    border-radius: 18px;

    /* look BD */
    background: rgba(255,255,255,0.92);
    border: 4px solid rgba(0,0,0,0.85);
    box-shadow: 0 14px 40px rgba(0,0,0,0.25);

    text-align: center;
}

.countdownBurst {
    position: absolute;
    inset: -18px;
    border-radius: 26px;
    background:
            radial-gradient(circle at 30% 30%, rgba(255, 214, 0, 0.9), transparent 45%),
            radial-gradient(circle at 70% 30%, rgba(255, 0, 92, 0.85), transparent 45%),
            radial-gradient(circle at 50% 75%, rgba(0, 194, 255, 0.8), transparent 50%);
    filter: saturate(1.1);
    z-index: -1;

    /* effet “éclat” */
    transform: rotate(-2deg);
}

.countdownNumber {
    font-size: clamp(64px, 18vw, 140px);
    font-weight: 900;
    letter-spacing: -0.04em;

    /* contour façon BD (simulé) */
    text-shadow:
            3px 0 0 rgba(0,0,0,0.85),
            -3px 0 0 rgba(0,0,0,0.85),
            0 3px 0 rgba(0,0,0,0.85),
            0 -3px 0 rgba(0,0,0,0.85),
            6px 10px 0 rgba(0,0,0,0.12);

    /* couleur par défaut (sera changée via JS) */
    color: #ff2d55;

    /* animation “pop” */
    animation: countdownPop 900ms ease-in-out both;
}

.countdownSub {
    margin-top: 4px;
    font-weight: 800;
    font-size: 1rem;
    color: rgba(0,0,0,0.78);
}

/* Pop + petit wobble */
@keyframes countdownPop {
    0%   { transform: scale(0.5) rotate(-6deg); opacity: 0; }
    45%  { transform: scale(1.15) rotate(2deg); opacity: 1; }
    70%  { transform: scale(0.96) rotate(-1deg); }
    100% { transform: scale(1) rotate(0deg); }
}

/* Transition de sortie */
.countdownOverlay.is-out {
    animation: fadeOut 220ms ease-in forwards;
}
@keyframes fadeOut {
    to { opacity: 0; }
}
/* --- Auth (login) --- */
.sjdb-card--auth {
    width: min(760px, 100%);
}

.sjdb-auth {
    padding-top: 18px;
    display: grid;
    gap: 16px;
}

.sjdb-auth-head {
    display: grid;
    gap: 6px;
}

.sjdb-auth-title {
    margin: 0;
    font-size: clamp(20px, 2.6vw, 28px);
    line-height: 1.15;
}

.sjdb-auth-subtitle {
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.5;
    font-size: 14px;
}

.sjdb-alert {
    border: 1px solid rgba(255, 120, 120, 0.35);
    background: rgba(255, 80, 80, 0.12);
    padding: 12px 12px;
    border-radius: 14px;
}

.sjdb-alert-text {
    margin-top: 6px;
    color: rgba(255, 255, 255, 0.86);
    font-size: 14px;
    line-height: 1.45;
}

.sjdb-form {
    display: grid;
    gap: 12px;
    margin: 0;
}

.sjdb-field {
    display: grid;
    gap: 6px;
}

.sjdb-label {
    font-size: 13px;
    color: rgb(68 95 201 / 78%);
    font-weight: 650;
}

.sjdb-input {
    width: 100%;
    padding: 12px 12px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(0, 0, 0, 0.22);
    color: rgb(68 95 201 / 78%);
    outline: none;
    transition: border-color 160ms ease, transform 160ms ease, filter 160ms ease;
}

.sjdb-input::placeholder {
    color: rgba(255, 255, 255, 0.38);
}

.sjdb-input:focus {
    border-color: rgba(120, 190, 255, 0.45);
    filter: brightness(1.06);
}

.sjdb-actions {
    display: grid;
    gap: 10px;
    margin-top: 4px;
}

.sjdb-btn--full {
    width: 100%;
    justify-content: center;
    padding: 13px 16px;
}

.sjdb-auth-foot {
    padding-top: 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.10);
}

.sjdb-foot-note {
    color: rgb(40 67 222 / 80%);
    font-size: 12.5px;
    line-height: 1.45;
}

/* Responsive: sur très petit écran on resserre un peu */
@media (max-width: 420px) {
    .sjdb-auth { gap: 14px; }
    .sjdb-input { padding: 11px 11px; border-radius: 13px; }
    .sjdb-btn--full { padding: 12px 14px; }
}
/* --- Formulaire centré & largeur maîtrisée --- */
.sjdb-form {
    max-width: 420px;
    margin: 0 auto;
}

/* Champs alignés proprement */
.sjdb-field {
    width: 100%;
}

/* Inputs avec largeur cohérente */
.sjdb-input {
    width: 100%;
    max-width: 100%;
}

/* Bouton aligné avec les champs */
.sjdb-actions {
    max-width: 420px;
    margin: 8px auto 0;
}

/* Sur très grands écrans on évite l'effet "perdu au milieu" */
@media (min-width: 1024px) {
    .sjdb-form,
    .sjdb-actions {
        max-width: 380px;
    }
}

/* Mobile : pleine largeur (confort tactile) */
@media (max-width: 480px) {
    .sjdb-form,
    .sjdb-actions {
        max-width: 100%;
    }
}
.sjdb-auth {
    align-items: center;
    text-align: center;
}

.sjdb-label {
    text-align: left;
}
@media (max-width: 520px) {
    .sjdb-pill{
        font-size: 20px;
        padding: 11px 18px;
        border-radius: 999px;
        border: 1px solid var(--soft);
        background: rgba(0, 0, 0, 0.14);
        color: rgb(68 95 201 / 78%);
        text-decoration: none !important;
    }
    .sjdb-bullets li {
        border: none;
        border-radius: 0;
        background: none;
    }
}

.fullscreen-toggle {
    margin-top: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    background: rgb(15 23 42 / 0%);
    color: rgb(68 95 201 / 78%);
    font-weight: 600;
    cursor: pointer;
}

.fullscreen-toggle:hover {
    background: rgba(15, 23, 42, 0.8);
}
.sheet-home-menu,
.sheet-categories,
.sheet-toolbar,
.sheet-search,
.sheet-card-footer,
.sheet-related .sjdb-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
.sheet-home-menu {
    margin: 18px 0;
}
.sheet-home-link {
    flex: 1 1 180px;
    padding: 16px;
    border: 1px solid rgb(18 87 204 / 22%);
    border-radius: 18px;
    background: rgb(8 47 182 / 20%);
    color: rgb(23 72 169 / 92%);
    text-decoration: none;
    font-weight: 800;
    text-align: center;
}
.sheet-home-link:hover,
.sjdb-pill.is-active {
    border-color: rgba(91, 143, 255, 0.65);
    background: rgba(91, 143, 255, 0.22);
    color: rgba(23, 31, 60, 0.92);
}
.sheet-page .sjdb-card {
    overflow: hidden;
}
.sheet-search {
    margin: 18px 0;
}
.sheet-search input,
.sheet-search select {
    min-width: min(320px, 100%);
    flex: 1 1 220px;
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(0, 0, 0, 0.35);
    color: rgba(16, 22, 62, 0.66);
}
.sheet-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 16px;
    margin-top: 18px;
}
.sheet-card,
.sheet-row,
.sheet-related {
    border: 1px solid var(--soft);
    border-radius: 18px;
    background: rgba(0, 0, 0, 0.18);
}
.sheet-card {
    display: grid;
    gap: 12px;
    padding: 16px;
}
.sheet-card img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 14px;
}
.sheet-card h2 {
    margin: 0;
    font-size: 22px;
}
.sheet-card p {
    margin: 0;
    color: rgb(68 95 201 / 78%);
    line-height: 1.5;
}
.sheet-card-footer {
    justify-content: space-between;
    margin-top: 8px;
}
.sheet-card-footer time {
    color: var(--muted);
    font-size: 13px;
}
.sheet-hero,
.sheet-image-preview img {
    width: 100%;
    max-height: 420px;
    object-fit: cover;
    border-radius: 18px;
    border: 1px solid var(--soft);
    margin: 12px 0 18px;
}
.sheet-markdown {
    color: rgb(25, 43, 62);
    line-height: 1.72;
    font-size: 17px;
}
.sheet-markdown h2,
.sheet-markdown h3,
.sheet-markdown h4 {
    margin: 24px 0 8px;
    color: rgba(23, 31, 60, 0.92);
}
.sheet-markdown a {
    color: rgba(16, 22, 62, 0.66);
}
.sheet-markdown p {
    margin: 0 0 14px;
}
.sheet-markdown ul {
    display: grid;
    gap: 8px;
    padding-left: 22px;
}
.sheet-related {
    margin: 18px 4px;
    padding: 16px;
}
.sheet-related h2 {
    margin-top: 0;
    font-size: 18px;
}
.sheet-list-mobile {
    display: grid;
    gap: 10px;
}
.sheet-row {
    display: grid;
    gap: 5px;
    padding: 14px;
    color: rgb(25, 43, 62);
    text-decoration: none;
}
.sheet-row span,
.sheet-row small {
    color: var(--muted);
}
.sheet-page--mobile .sjdb-card {
    padding: 16px;
}
.sheet-detail--mobile .sheet-markdown {
    font-size: 16px;
}
.sheet-image-preview {
    max-width: 420px;
}
@media (max-width: 720px) {
    .sheet-search,
    .sheet-search--mobile {
        align-items: stretch;
        flex-direction: column;
    }
    .sheet-search input,
    .sheet-search select {
        min-width: 0;
        width: auto;
    }
    .sheet-home-link {
        flex-basis: 100%;
    }
    .sheet-card-footer {
        align-items: stretch;
        flex-direction: column;
    }
}
.sheet-account-actions,
.sheet-workspace-actions {
    margin-top: 1rem;
    flex-wrap: wrap;
}

.sheet-workspace-actions form {
    margin: 0;
}

.workspace-section {
    margin-top: 2rem;
}

.workspace-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.8fr);
    gap: 1.5rem;
    align-items: start;
}

.workspace-panel,
.workspace-section {
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 1.25rem;
    background: rgb(59 96 154 / 42%);
    padding: 1.25rem;
}

.workspace-list,
.workspace-messages,
.workspace-attachments {
    display: grid;
    gap: 0.9rem;
}

.workspace-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 1rem;
    border-radius: 0.9rem;
    color: inherit;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.08);
}

.workspace-attachments {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.workspace-attachments a {
    color: inherit;
    text-decoration: none;
}

.workspace-attachments img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 0.8rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
}

.workspace-message {
    padding: 1rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.08);
}

.workspace-message.is-admin {
    background: rgba(88, 166, 255, 0.18);
    border: 1px solid rgba(88, 166, 255, 0.32);
}

.workspace-message time {
    display: block;
    opacity: 0.72;
    font-size: 0.86rem;
    margin-top: 0.2rem;
}

.workspace-message-form {
    margin-top: 1rem;
}

.sjdb-input-file {
    width: 100%;
    color: inherit;
}

@media (max-width: 900px) {
    .workspace-layout {
        grid-template-columns: 1fr;
    }

    .workspace-row {
        flex-direction: column;
    }
}

.team-list { display: grid; gap: 12px; }
.team-card { border: 1px solid var(--soft); border-radius: 18px; padding: 16px; color: var(--text); text-decoration: none; background: rgba(255,255,255,.07); display: grid; gap: 6px; }
.team-card span { color: var(--muted); }
.messenger-page {
    min-height: 100vh;
    background: radial-gradient(900px 550px at 20% 0%, rgba(91, 143, 255, .24), transparent 60%), #070a12;
    color: var(--text);
    display: flex;
    justify-content: center;
}
.messenger-shell {
    width: min(980px, 100%);
    height: 100vh;
    display: grid;
    grid-template-rows: auto 1fr auto;
    background: rgb(255, 255, 255);
    border-inline: 1px solid var(--soft);
}
.messenger-header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 18px clamp(16px, 3vw, 28px);
    border-bottom: 1px solid var(--soft);
    background: rgb(84 134 196 / 71%);
    backdrop-filter: blur(14px);
}
.messenger-header h1 { margin: 4px 0; font-size: clamp(22px, 4vw, 34px); }
.messenger-header p { margin: 0; color: var(--muted); }
.messenger-back { color: rgba(255,255,255,.76); text-decoration: none; font-weight: 700; }
.messenger-avatars { display: flex; align-items: center; }
.messenger-avatars span { width: 38px; height: 38px; margin-left: -8px; border-radius: 999px; display: grid; place-items: center; background: linear-gradient(135deg, #5b8fff, #b454ff); border: 2px solid #111827; font-weight: 900; }
.messenger-thread { overflow-y: auto; padding: 24px clamp(12px, 3vw, 28px); display: flex; flex-direction: column; gap: 12px; }
.chat-bubble { max-width: min(72%, 620px); padding: 10px 12px; border-radius: 20px; background: rgba(255,255,255,.11); box-shadow: 0 10px 28px rgba(0,0,0,.22); }
.chat-bubble.is-me {
    align-self: flex-end;
    background: linear-gradient(135deg, rgb(13 80 224 / 55%), rgb(17 18 231 / 42%));
    border-bottom-right-radius: 6px;
}
.chat-bubble.is-them { align-self: flex-start; border-bottom-left-radius: 6px; }
.chat-meta {
    display: flex;
    gap: 10px;
    align-items: baseline;
    color: rgb(80 86 132);
    font-size: 12px;
    margin-bottom: 5px;
}
.chat-meta time { color: var(--muted); }
.chat-bubble p { margin: 0; line-height: 1.45; white-space: normal; }
.chat-image { display: block; max-width: 100%; max-height: 360px; border-radius: 15px; margin-bottom: 8px; object-fit: cover; }
.empty-thread { margin: auto; color: var(--muted); }
.composer { display: flex; align-items: end; gap: 10px; padding: 12px clamp(12px, 3vw, 24px); border-top: 1px solid var(--soft); background: rgba(255,255,255,.07); }
.composer-input { flex: 1; min-height: 42px; max-height: 140px; resize: vertical; border: 1px solid var(--soft); border-radius: 18px; padding: 12px 14px; background: rgba(0,0,0,.24); color: var(--text); font: inherit; }
.photo-button, .send-button { border: 1px solid rgba(255,255,255,.22); border-radius: 16px; min-height: 44px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; background: rgba(255,255,255,.12); color: var(--text); font-weight: 800; cursor: pointer; }
.send-button {
    background: linear-gradient(135deg, rgba(91,143,255,.7), rgba(180,84,255,.55));
}
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 640px) { .messenger-shell { height: 100dvh; } .messenger-header { padding: 14px; } .messenger-avatars { display: none; } .chat-bubble { max-width: 88%; } .composer { gap: 8px; padding: 10px; } .send-button { padding-inline: 12px; } .photo-button { width: 44px; padding: 0; overflow: hidden; } }
.admin-profile-menu { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0; }
.sjdb-section-title { margin: 0 0 12px; font-size: 20px; }
.admin-group-card { border: 1px solid var(--soft); border-radius: 18px; padding: 16px; margin-top: 16px; background: rgba(255,255,255,.07); }
.admin-group-card__header { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 12px; }
.admin-group-card__header div { display: grid; gap: 4px; }
.admin-group-card__header span { color: var(--muted); font-size: 14px; }
.admin-inline-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; }
.admin-actions-cell { display: flex; flex-wrap: wrap; gap: 8px; }
.admin-actions-cell form { margin: 0; }
.admin-actions-cell button { cursor: pointer; }
.admin-danger { background: rgba(150, 32, 32, .78); }
@media (max-width: 720px) { .admin-inline-form { grid-template-columns: 1fr; } .admin-group-card__header { align-items: flex-start; flex-direction: column; } }

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQTtJQUNJLGFBQWE7SUFDYixpQ0FBaUM7SUFDakMsd0NBQXdDO0lBQ3hDLDhCQUE4QjtJQUM5QiwrQkFBK0I7SUFDL0IsaUNBQWlDO0lBQ2pDLDZDQUE2QztJQUM3QyxjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksU0FBUztJQUNULDhCQUE4QjtJQUM5QixjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIscUJBQXFCO0FBQ3pCO0FBQ0E7SUFDSSxnQkFBZ0I7SUFDaEIseUJBQXlCO0FBQzdCO0FBQ0E7SUFDSSxpQkFBaUI7SUFDakIseUJBQXlCO0FBQzdCO0FBQ0E7SUFDSSxpQkFBaUI7SUFDakIseUJBQXlCO0lBQ3pCLGdCQUFnQjtBQUNwQjtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCLGVBQWU7QUFDZixXQUFXO0FBQ1g7QUFDQTtJQUNJLDhRQUE4UTtJQUM5USxrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLGdIQUFnSDtJQUNoSDtvQkFDZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1o7Ozs4RkFHMEY7SUFDMUYsc0RBQXNEO0lBQ3RELGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsb0JBQW9CO0FBQ3hCOztBQUVBO0lBQ0ksdUJBQXVCO0lBQ3ZCLHlGQUF5RjtJQUN6RixvQ0FBb0M7SUFDcEMsNEJBQTRCO0lBQzVCLHlCQUF5QjtJQUN6QixhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLDJCQUEyQjtBQUMvQjtBQUNBO0lBQ0ksd0JBQXdCO0FBQzVCO0FBQ0E7SUFDSSxhQUFhO0lBQ2IsU0FBUztJQUNULG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsb0NBQW9DO0FBQ3hDOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsMkNBQTJDO0lBQzNDLHFDQUFxQztJQUNyQyxpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsUUFBUTtBQUNaOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLHFCQUFxQjtJQUNyQixlQUFlO0FBQ25COztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxxQkFBcUI7QUFDekI7QUFDQTtJQUNJLGlDQUFpQztJQUNqQyxrQkFBa0I7SUFDbEIsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixnQ0FBZ0M7SUFDaEMsZ0JBQWdCO0lBQ2hCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsVUFBVTtJQUNWLFNBQVM7SUFDVCxhQUFhO0lBQ2IsU0FBUztBQUNiOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLDZCQUE2QjtJQUM3QixtQkFBbUI7SUFDbkIsK0JBQStCO0lBQy9CLGdDQUFnQztBQUNwQzs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsaUNBQWlDO0lBQ2pDLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsOEJBQThCO0lBQzlCLFNBQVM7SUFDVCxlQUFlO0FBQ25CO0FBQ0E7SUFDSSxhQUFhO0lBQ2IsZUFBZTtJQUNmLFFBQVE7SUFDUixtQkFBbUI7QUFDdkI7QUFDQTtJQUNJLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsU0FBUztJQUNULGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsMkNBQTJDO0lBQzNDLGlGQUFpRjtJQUNqRixnQ0FBZ0M7SUFDaEMscUJBQXFCO0lBQ3JCLGdCQUFnQjtJQUNoQiw0RUFBNEU7QUFDaEY7QUFDQTtJQUNJLHVDQUF1QztJQUN2Qyx1RkFBdUY7QUFDM0Y7QUFDQTtJQUNJLDJCQUEyQjtJQUMzQix3QkFBd0I7SUFDeEIsdUNBQXVDO0FBQzNDOztBQUVBO0lBQ0ksMEJBQTBCO0FBQzlCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixRQUFRO0lBQ1IsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLDZCQUE2QjtJQUM3QiwrQkFBK0I7SUFDL0IsNkJBQTZCO0lBQzdCLHFCQUFxQjtBQUN6QjtBQUNBO0lBQ0ksZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQiw2QkFBNkI7SUFDN0IsZ0JBQWdCO0lBQ2hCLDhCQUE4QjtBQUNsQztBQUNBO0lBQ0ksV0FBVztJQUNYLHlCQUF5QjtJQUN6QixlQUFlO0FBQ25CO0FBQ0E7O0lBRUksZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixvQ0FBb0M7QUFDeEM7QUFDQTtJQUNJLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsc0JBQXNCO0FBQzFCO0FBQ0E7SUFDSSxxQ0FBcUM7QUFDekM7QUFDQTtJQUNJLGFBQWE7SUFDYixzREFBc0Q7SUFDdEQsYUFBYTtJQUNiLFNBQVM7QUFDYjtBQUNBO0lBQ0ksZ0JBQWdCO0lBQ2hCLG1CQUFtQjtBQUN2QjtBQUNBO0lBQ0ksU0FBUztBQUNiO0FBQ0E7SUFDSSxhQUFhO0lBQ2IsU0FBUztJQUNULGdCQUFnQjtBQUNwQjtBQUNBO0lBQ0ksa0JBQWtCO0lBQ2xCLG1DQUFtQztBQUN2QztBQUNBO0lBQ0ksa0JBQWtCO0lBQ2xCLG1DQUFtQztBQUN2QztBQUNBO0lBQ0ksY0FBYztJQUNkLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsZ0NBQWdDO0FBQ3BDO0FBQ0E7OztJQUdJLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLDBDQUEwQztJQUMxQywrQkFBK0I7SUFDL0IsZ0NBQWdDO0lBQ2hDLGFBQWE7QUFDakI7QUFDQTtJQUNJLGlCQUFpQjtBQUNyQjtBQUNBO0lBQ0ksd0JBQXdCO0FBQzVCO0FBQ0E7SUFDSSxhQUFhO0lBQ2IsMkRBQTJEO0lBQzNELFNBQVM7SUFDVCxnQkFBZ0I7QUFDcEI7QUFDQTtJQUNJLGdCQUFnQjtJQUNoQix5QkFBeUI7SUFDekIsbUJBQW1CO0lBQ25CLGFBQWE7SUFDYixrQkFBa0I7QUFDdEI7QUFDQTtJQUNJLFlBQVk7SUFDWixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGlCQUFpQjtBQUNyQjtBQUNBO0lBQ0ksY0FBYztJQUNkLGdCQUFnQjtJQUNoQixlQUFlO0FBQ25CO0FBQ0E7SUFDSSxrQkFBa0I7SUFDbEIsY0FBYztJQUNkLHFCQUFxQjtBQUN6QjtBQUNBO0lBQ0ksa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsY0FBYztBQUNsQjtBQUNBO0lBQ0ksYUFBYSxhQUFhLEVBQUU7SUFDNUIsYUFBYSxXQUFXLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFO0lBQzdELGVBQWUsZUFBZSxFQUFFO0FBQ3BDO0FBQ0E7SUFDSTtRQUNJLHVCQUF1QjtRQUN2QixvQkFBb0I7SUFDeEI7SUFDQTtRQUNJLFdBQVc7SUFDZjtJQUNBO1FBQ0ksc0JBQXNCO1FBQ3RCLHVCQUF1QjtJQUMzQjtJQUNBO1FBQ0ksV0FBVztRQUNYLFlBQVk7SUFDaEI7SUFDQTtRQUNJLHNCQUFzQjtRQUN0QixvQkFBb0I7SUFDeEI7SUFDQTtRQUNJLGVBQWU7UUFDZix1QkFBdUI7SUFDM0I7SUFDQTtRQUNJLFdBQVc7SUFDZjtJQUNBO1FBQ0ksZ0JBQWdCO0lBQ3BCO0lBQ0E7O1FBRUksbUJBQW1CO0lBQ3ZCO0lBQ0E7UUFDSSwwQkFBMEI7SUFDOUI7SUFDQTtRQUNJLFNBQVM7SUFDYjtJQUNBO1FBQ0ksWUFBWTtRQUNaLGFBQWE7SUFDakI7QUFDSjtBQUNBO0FBQ0EsYUFBYTtBQUNiLGFBQWE7QUFDYix1QkFBdUI7QUFDdkIsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QixhQUFhO0FBQ2IsbUJBQW1CO0FBQ25CLGFBQWE7QUFDYixrQkFBa0I7QUFDbEI7O0FBRUE7QUFDQSxvQkFBb0IsRUFBRSwwQ0FBMEM7QUFDaEU7QUFDQTtJQUNJLGtCQUFrQjtJQUNsQixTQUFTO0lBQ1QsVUFBVTtJQUNWLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsWUFBWTtJQUNaLFlBQVk7SUFDWix3REFBd0Q7SUFDeEQsZ0NBQWdDO0lBQ2hDLDJCQUEyQjtBQUMvQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSx5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSwyQkFBMkI7QUFDL0I7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWiw2QkFBNkI7QUFDakM7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsWUFBWTtJQUNaLDRCQUE0QjtBQUNoQzs7QUFFQTtJQUNJLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxXQUFXO0lBQ1gsWUFBWTtBQUNoQjtBQUNBO0lBQ0ksY0FBYztJQUNkLE9BQU8sRUFBRSwwQkFBMEI7SUFDbkMsa0JBQWtCLEVBQUUsNkNBQTZDO0lBQ2pFLGdCQUFnQjtBQUNwQjtBQUNBO0lBQ0ksV0FBVyxFQUFFLDBCQUEwQjtJQUN2QyxZQUFZLEVBQUUsMkNBQTJDO0lBQ3pELGNBQWMsRUFBRSwwQ0FBMEM7QUFDOUQ7QUFDQTtJQUNJLFlBQVk7SUFDWixrQkFBa0I7QUFDdEI7QUFDQTtJQUNJLGtCQUFrQjtBQUN0QjtBQUNBO0lBQ0ksa0JBQWtCO0FBQ3RCO0FBQ0E7SUFDSSxhQUFhO0lBQ2IsYUFBYTtJQUNiLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLE9BQU8sRUFBRSwwQkFBMEI7SUFDbkMsYUFBYTtJQUNiLHNCQUFzQjtJQUN0Qiw0QkFBNEI7SUFDNUIsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsV0FBVztJQUNYLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLE9BQU8sRUFBRSw2Q0FBNkM7SUFDdEQsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsMEJBQTBCO0FBQzlCOztBQUVBO0lBQ0ksT0FBTztJQUNQLGFBQWE7SUFDYixjQUFjO0lBQ2Qsc0JBQXNCO0lBQ3RCLG1CQUFtQjtJQUNuQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsV0FBVztJQUNYLFlBQVk7SUFDWixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixlQUFlO0FBQ25COztBQUVBO0lBQ0ksT0FBTyxFQUFFLDhCQUE4QjtJQUN2QyxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsWUFBWTtBQUNoQjtBQUNBO0lBQ0ksYUFBYTtJQUNiLDZCQUE2QjtJQUM3QixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWiw2QkFBNkI7SUFDN0IsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsZUFBZTtJQUNmLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjtBQUNBO0lBQ0ksaUJBQWlCO0lBQ2pCLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsdUJBQXVCO0lBQ3ZCLFNBQVM7QUFDYjtBQUNBO0lBQ0ksaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLHVCQUF1QjtJQUN2QixTQUFTO0FBQ2I7QUFDQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsWUFBWTtJQUNaLHVCQUF1QjtJQUN2QixtQkFBbUI7QUFDdkI7QUFDQTtJQUNJLGlCQUFpQjtJQUNqQixTQUFTO0lBQ1QsaUJBQWlCO0FBQ3JCO0FBQ0E7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLDhCQUE4QjtBQUNsQztBQUNBO0lBQ0ksbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLGtCQUFrQjtBQUN0QjtBQUNBO0lBQ0ksbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLGtCQUFrQjtJQUNsQixrQkFBa0I7QUFDdEI7QUFDQTtJQUNJLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLDhDQUE4QztBQUNsRDtBQUNBO0lBQ0ksYUFBYTtJQUNiLGtCQUFrQjtBQUN0QjtBQUNBO0lBQ0kseUJBQXlCO0lBQ3pCLGFBQWE7SUFDYixPQUFPO0lBQ1AsYUFBYTtJQUNiLGtCQUFrQjtJQUNsQixRQUFRO0lBQ1IsWUFBWTtJQUNaLFlBQVk7SUFDWix1QkFBdUI7SUFDdkIsbUJBQW1CO0FBQ3ZCO0FBQ0E7SUFDSSxhQUFhO0FBQ2pCO0FBQ0E7SUFDSSxhQUFhO0lBQ2Isa0JBQWtCO0FBQ3RCO0FBQ0E7SUFDSSxpQkFBaUI7SUFDakIsZUFBZTtBQUNuQjtBQUNBO0lBQ0ksYUFBYTtJQUNiLFNBQVM7SUFDVCxZQUFZO0FBQ2hCO0FBQ0E7SUFDSSxvQkFBb0I7SUFDcEIsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLHFCQUFxQjtJQUNyQixlQUFlO0FBQ25CO0FBQ0E7SUFDSSx1QkFBdUI7SUFDdkIseUJBQXlCO0lBQ3pCLGNBQWM7QUFDbEI7QUFDQTtJQUNJLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLHlCQUF5QjtJQUN6QixlQUFlO0FBQ25CO0FBQ0E7SUFDSSxpQkFBaUI7SUFDakIsY0FBYztBQUNsQjtBQUNBO0lBQ0ksZUFBZTtJQUNmLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsZUFBZTtBQUNuQjtBQUNBO0lBQ0ksa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQixjQUFjO0FBQ2xCO0FBQ0E7SUFDSSxhQUFhO0FBQ2pCO0FBQ0E7SUFDSSxtQkFBbUI7SUFDbkIsY0FBYztBQUNsQjtBQUNBO0lBQ0ksbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixjQUFjO0lBQ2QsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQiw2QkFBNkI7SUFDN0IsbUJBQW1CO0lBQ25CLGFBQWE7QUFDakI7QUFDQTtJQUNJLGNBQWM7QUFDbEI7QUFDQTtJQUNJLG1CQUFtQjtBQUN2QjtBQUNBO0lBQ0ksY0FBYztBQUNsQjtBQUNBO0lBQ0ksb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixRQUFRO0lBQ1IsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixvQkFBb0I7SUFDcEIsa0NBQWtDO0lBQ2xDLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtBQUN2QjtBQUNBO0lBQ0ksYUFBYTtJQUNiLHFDQUFxQztJQUNyQyxRQUFRO0lBQ1IsZUFBZTtBQUNuQjtBQUNBO0lBQ0ksZUFBZTtJQUNmLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLGdCQUFnQjtBQUNwQjtBQUNBO0lBQ0ksbUJBQW1CO0lBQ25CLGNBQWM7QUFDbEI7QUFDQTtJQUNJLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLGNBQWM7QUFDbEI7QUFDQTs7SUFFSSxpQkFBaUI7SUFDakIsY0FBYztJQUNkLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixlQUFlO0lBQ2YsU0FBUztJQUNULG1CQUFtQjtJQUNuQiw4QkFBOEI7SUFDOUIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLFNBQVM7SUFDVCxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isd0RBQXdEO0lBQ3hELFNBQVM7QUFDYjs7QUFFQTtJQUNJLGFBQWE7SUFDYixTQUFTO0FBQ2I7O0FBRUE7O0lBRUksV0FBVztBQUNmOztBQUVBOztJQUVJLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YscUJBQXFCO0lBQ3JCLGtCQUFrQjtBQUN0Qjs7QUFFQTs7SUFFSSxtQkFBbUI7QUFDdkI7QUFDQTtJQUNJLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsVUFBVTtJQUNWLHVCQUF1QjtJQUN2QiwyQ0FBMkM7QUFDL0M7O0FBRUE7SUFDSSxnQ0FBZ0M7QUFDcEM7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsU0FBUztJQUNULGFBQWE7SUFDYixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLFFBQVE7SUFDUixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLHlCQUF5QjtJQUN6QixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsZUFBZTtJQUNmLFNBQVM7SUFDVCx5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixlQUFlO0FBQ25COztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxxQ0FBcUM7SUFDckMsbUJBQW1CO0lBQ25CLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsOEJBQThCO0lBQzlCLHFCQUFxQjtJQUNyQixTQUFTO0lBQ1QsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixVQUFVO0lBQ1YsU0FBUztJQUNULGFBQWE7SUFDYixTQUFTO0FBQ2I7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLDhCQUE4QjtJQUM5QixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGtDQUFrQztBQUN0Qzs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsbUJBQW1CO0FBQ3ZCO0FBQ0E7SUFDSSxrQkFBa0I7SUFDbEIsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixlQUFlO0lBQ2YsU0FBUztJQUNULG1CQUFtQjtJQUNuQiw4QkFBOEI7SUFDOUIseUJBQXlCO0lBQ3pCLGFBQWE7SUFDYixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIseUJBQXlCO0lBQ3pCLHNCQUFzQjtJQUN0QixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsU0FBUztJQUNULG1CQUFtQjtJQUNuQixlQUFlO0FBQ25COztBQUVBO0lBQ0ksV0FBVztJQUNYLHlCQUF5QjtJQUN6QixnQkFBZ0I7SUFDaEIsMEJBQTBCO0lBQzFCLG1CQUFtQjtJQUNuQixnQkFBZ0I7QUFDcEI7O0FBRUE7O0lBRUksa0JBQWtCO0lBQ2xCLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLHFDQUFxQztBQUN6Qzs7QUFFQTtJQUNJLHFDQUFxQztBQUN6Qzs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osb0NBQW9DO0lBQ3BDLG9CQUFvQjtJQUNwQixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsT0FBTztJQUNQLE1BQU07SUFDTixZQUFZO0lBQ1osb0RBQW9EO0lBQ3BELG9CQUFvQjtBQUN4Qjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLFlBQVk7QUFDaEI7O0FBRUE7SUFDSTtRQUNJLDBCQUEwQjtJQUM5QjtBQUNKO0FBQ0E7SUFDSTtRQUNJLHVCQUF1QjtJQUMzQjs7SUFFQTtRQUNJLHVCQUF1QjtJQUMzQjs7SUFFQTtRQUNJLGlCQUFpQjtJQUNyQjs7SUFFQTtRQUNJLGdCQUFnQjtJQUNwQjs7SUFFQTtRQUNJLHNCQUFzQjtRQUN0Qix1QkFBdUI7SUFDM0I7O0lBRUE7UUFDSSxXQUFXO0lBQ2Y7O0lBRUE7O1FBRUksV0FBVztJQUNmOztJQUVBO1FBQ0ksc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUN2QixRQUFRO0lBQ1o7O0lBRUE7UUFDSSx1QkFBdUI7SUFDM0I7O0lBRUE7UUFDSSxzQkFBc0I7UUFDdEIsdUJBQXVCO0lBQzNCOztJQUVBO1FBQ0ksY0FBYztRQUNkLGdCQUFnQjtJQUNwQjtBQUNKO0FBQ0E7SUFDSSxPQUFPO0lBQ1AsaUNBQWlDO0lBQ2pDLGdCQUFnQjtBQUNwQjtBQUNBLFlBQVk7QUFDWjtJQUNJLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsNkJBQTZCO0FBQ2pDOztBQUVBO0lBQ0ksT0FBTztJQUNQLGFBQWE7SUFDYixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWixZQUFZO0lBQ1osZUFBZTtJQUNmLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQixnQ0FBZ0M7QUFDcEM7O0FBRUEsd0JBQXdCO0FBQ3hCO0lBQ0ksT0FBTztJQUNQLGtCQUFrQjtBQUN0QjtBQUNBOzs7Ozs7Ozs7Ozs7RUFZRTs7QUFFRjtJQUNJLGNBQWM7SUFDZCxZQUFZO0lBQ1osV0FBVztJQUNYLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGFBQWE7QUFDakI7O0FBRUE7O0lBRUksV0FBVztJQUNYLFlBQVk7QUFDaEI7QUFDQTtJQUNJLDRCQUE0QjtJQUM1QixzQkFBc0I7SUFDdEIsMkJBQTJCO0lBQzNCLGlCQUFpQjtBQUNyQjtBQUNBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLDJDQUEyQztJQUMzQyxnQ0FBZ0M7QUFDcEM7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLG1CQUFtQjtJQUNuQixRQUFRO0FBQ1o7O0FBRUE7SUFDSSxZQUFZO0lBQ1osYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLDBDQUEwQztBQUM5Qzs7QUFFQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsU0FBUztBQUNiOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCO0FBQ0E7SUFDSSxtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQiw2Q0FBNkM7SUFDN0MsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixTQUFTO0lBQ1QsWUFBWTtJQUNaLGFBQWE7SUFDYixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLFNBQVM7SUFDVCxrQkFBa0I7QUFDdEI7QUFDQTtJQUNJLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsYUFBYTtJQUNiLFNBQVM7QUFDYjs7QUFFQTtJQUNJOztRQUVJLG1CQUFtQjtJQUN2QjtJQUNBO1FBQ0ksc0JBQXNCO0lBQzFCO0FBQ0o7QUFDQSx5Q0FBeUM7QUFDekM7SUFDSSxlQUFlO0lBQ2YsUUFBUTtJQUNSLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsYUFBYTs7SUFFYixzRUFBc0U7SUFDdEUsNEJBQTRCO0lBQzVCLDBCQUEwQjtBQUM5QjtBQUNBO0lBQ0ksYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQix1QkFBdUI7SUFDdkIsdUJBQXVCO0lBQ3ZCLG1CQUFtQjs7SUFFbkIsWUFBWTtJQUNaLGtDQUFrQztJQUNsQyxrQ0FBa0M7SUFDbEMsd0NBQXdDOztJQUV4QyxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQjs7O3VGQUdtRjtJQUNuRixxQkFBcUI7SUFDckIsV0FBVzs7SUFFWCxrQkFBa0I7SUFDbEIsd0JBQXdCO0FBQzVCOztBQUVBO0lBQ0ksbUNBQW1DO0lBQ25DLGdCQUFnQjtJQUNoQix1QkFBdUI7O0lBRXZCLDhCQUE4QjtJQUM5Qjs7Ozs7dUNBS21DOztJQUVuQyw2Q0FBNkM7SUFDN0MsY0FBYzs7SUFFZCxvQkFBb0I7SUFDcEIsOENBQThDO0FBQ2xEOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsdUJBQXVCO0FBQzNCOztBQUVBLHVCQUF1QjtBQUN2QjtJQUNJLE9BQU8sbUNBQW1DLEVBQUUsVUFBVSxFQUFFO0lBQ3hELE9BQU8sbUNBQW1DLEVBQUUsVUFBVSxFQUFFO0lBQ3hELE9BQU8sb0NBQW9DLEVBQUU7SUFDN0MsT0FBTyxnQ0FBZ0MsRUFBRTtBQUM3Qzs7QUFFQSx5QkFBeUI7QUFDekI7SUFDSSx5Q0FBeUM7QUFDN0M7QUFDQTtJQUNJLEtBQUssVUFBVSxFQUFFO0FBQ3JCO0FBQ0EseUJBQXlCO0FBQ3pCO0lBQ0ksdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGFBQWE7SUFDYixTQUFTO0FBQ2I7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsUUFBUTtBQUNaOztBQUVBO0lBQ0ksU0FBUztJQUNULG1DQUFtQztJQUNuQyxpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxTQUFTO0lBQ1QsZ0NBQWdDO0lBQ2hDLGdCQUFnQjtJQUNoQixlQUFlO0FBQ25COztBQUVBO0lBQ0ksMkNBQTJDO0lBQzNDLG1DQUFtQztJQUNuQyxrQkFBa0I7SUFDbEIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGdDQUFnQztJQUNoQyxlQUFlO0lBQ2YsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLFNBQVM7SUFDVCxTQUFTO0FBQ2I7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsUUFBUTtBQUNaOztBQUVBO0lBQ0ksZUFBZTtJQUNmLDJCQUEyQjtJQUMzQixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQiwyQ0FBMkM7SUFDM0MsK0JBQStCO0lBQy9CLDJCQUEyQjtJQUMzQixhQUFhO0lBQ2IsNEVBQTRFO0FBQ2hGOztBQUVBO0lBQ0ksZ0NBQWdDO0FBQ3BDOztBQUVBO0lBQ0ksdUNBQXVDO0lBQ3ZDLHdCQUF3QjtBQUM1Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixTQUFTO0lBQ1QsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCx1QkFBdUI7SUFDdkIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLCtDQUErQztBQUNuRDs7QUFFQTtJQUNJLDJCQUEyQjtJQUMzQixpQkFBaUI7SUFDakIsaUJBQWlCO0FBQ3JCOztBQUVBLHdEQUF3RDtBQUN4RDtJQUNJLGFBQWEsU0FBUyxFQUFFO0lBQ3hCLGNBQWMsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUU7SUFDdkQsa0JBQWtCLGtCQUFrQixFQUFFO0FBQzFDO0FBQ0Esa0RBQWtEO0FBQ2xEO0lBQ0ksZ0JBQWdCO0lBQ2hCLGNBQWM7QUFDbEI7O0FBRUEsOEJBQThCO0FBQzlCO0lBQ0ksV0FBVztBQUNmOztBQUVBLGtDQUFrQztBQUNsQztJQUNJLFdBQVc7SUFDWCxlQUFlO0FBQ25COztBQUVBLGtDQUFrQztBQUNsQztJQUNJLGdCQUFnQjtJQUNoQixrQkFBa0I7QUFDdEI7O0FBRUEsOERBQThEO0FBQzlEO0lBQ0k7O1FBRUksZ0JBQWdCO0lBQ3BCO0FBQ0o7O0FBRUEsOENBQThDO0FBQzlDO0lBQ0k7O1FBRUksZUFBZTtJQUNuQjtBQUNKO0FBQ0E7SUFDSSxtQkFBbUI7SUFDbkIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCO0FBQ0E7SUFDSTtRQUNJLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLDZCQUE2QjtRQUM3QiwrQkFBK0I7UUFDL0IsMkJBQTJCO1FBQzNCLGdDQUFnQztJQUNwQztJQUNBO1FBQ0ksWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixnQkFBZ0I7SUFDcEI7QUFDSjs7QUFFQTtJQUNJLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLDBDQUEwQztJQUMxQyw4QkFBOEI7SUFDOUIsMkJBQTJCO0lBQzNCLGdCQUFnQjtJQUNoQixlQUFlO0FBQ25COztBQUVBO0lBQ0ksaUNBQWlDO0FBQ3JDO0FBQ0E7Ozs7OztJQU1JLGFBQWE7SUFDYixlQUFlO0lBQ2YsU0FBUztJQUNULG1CQUFtQjtBQUN2QjtBQUNBO0lBQ0ksY0FBYztBQUNsQjtBQUNBO0lBQ0ksZUFBZTtJQUNmLGFBQWE7SUFDYixzQ0FBc0M7SUFDdEMsbUJBQW1CO0lBQ25CLCtCQUErQjtJQUMvQiwyQkFBMkI7SUFDM0IscUJBQXFCO0lBQ3JCLGdCQUFnQjtJQUNoQixrQkFBa0I7QUFDdEI7QUFDQTs7SUFFSSxzQ0FBc0M7SUFDdEMsb0NBQW9DO0lBQ3BDLDZCQUE2QjtBQUNqQztBQUNBO0lBQ0ksZ0JBQWdCO0FBQ3BCO0FBQ0E7SUFDSSxjQUFjO0FBQ2xCO0FBQ0E7O0lBRUksMkJBQTJCO0lBQzNCLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLDBDQUEwQztJQUMxQywrQkFBK0I7SUFDL0IsNkJBQTZCO0FBQ2pDO0FBQ0E7SUFDSSxhQUFhO0lBQ2IsMkRBQTJEO0lBQzNELFNBQVM7SUFDVCxnQkFBZ0I7QUFDcEI7QUFDQTs7O0lBR0ksNkJBQTZCO0lBQzdCLG1CQUFtQjtJQUNuQiwrQkFBK0I7QUFDbkM7QUFDQTtJQUNJLGFBQWE7SUFDYixTQUFTO0lBQ1QsYUFBYTtBQUNqQjtBQUNBO0lBQ0ksV0FBVztJQUNYLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIsbUJBQW1CO0FBQ3ZCO0FBQ0E7SUFDSSxTQUFTO0lBQ1QsZUFBZTtBQUNuQjtBQUNBO0lBQ0ksU0FBUztJQUNULDJCQUEyQjtJQUMzQixnQkFBZ0I7QUFDcEI7QUFDQTtJQUNJLDhCQUE4QjtJQUM5QixlQUFlO0FBQ25CO0FBQ0E7SUFDSSxtQkFBbUI7SUFDbkIsZUFBZTtBQUNuQjtBQUNBOztJQUVJLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQiw2QkFBNkI7SUFDN0IsbUJBQW1CO0FBQ3ZCO0FBQ0E7SUFDSSxzQkFBc0I7SUFDdEIsaUJBQWlCO0lBQ2pCLGVBQWU7QUFDbkI7QUFDQTs7O0lBR0ksa0JBQWtCO0lBQ2xCLDZCQUE2QjtBQUNqQztBQUNBO0lBQ0ksNkJBQTZCO0FBQ2pDO0FBQ0E7SUFDSSxnQkFBZ0I7QUFDcEI7QUFDQTtJQUNJLGFBQWE7SUFDYixRQUFRO0lBQ1Isa0JBQWtCO0FBQ3RCO0FBQ0E7SUFDSSxnQkFBZ0I7SUFDaEIsYUFBYTtBQUNqQjtBQUNBO0lBQ0ksYUFBYTtJQUNiLGVBQWU7QUFDbkI7QUFDQTtJQUNJLGFBQWE7SUFDYixTQUFTO0FBQ2I7QUFDQTtJQUNJLGFBQWE7SUFDYixRQUFRO0lBQ1IsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixxQkFBcUI7QUFDekI7QUFDQTs7SUFFSSxtQkFBbUI7QUFDdkI7QUFDQTtJQUNJLGFBQWE7QUFDakI7QUFDQTtJQUNJLGVBQWU7QUFDbkI7QUFDQTtJQUNJLGdCQUFnQjtBQUNwQjtBQUNBO0lBQ0k7O1FBRUksb0JBQW9CO1FBQ3BCLHNCQUFzQjtJQUMxQjtJQUNBOztRQUVJLFlBQVk7UUFDWixXQUFXO0lBQ2Y7SUFDQTtRQUNJLGdCQUFnQjtJQUNwQjtJQUNBO1FBQ0ksb0JBQW9CO1FBQ3BCLHNCQUFzQjtJQUMxQjtBQUNKO0FBQ0E7O0lBRUksZ0JBQWdCO0lBQ2hCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxTQUFTO0FBQ2I7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsMERBQTBEO0lBQzFELFdBQVc7SUFDWCxrQkFBa0I7QUFDdEI7O0FBRUE7O0lBRUksMkNBQTJDO0lBQzNDLHNCQUFzQjtJQUN0QixnQ0FBZ0M7SUFDaEMsZ0JBQWdCO0FBQ3BCOztBQUVBOzs7SUFHSSxhQUFhO0lBQ2IsV0FBVztBQUNmOztBQUVBO0lBQ0ksYUFBYTtJQUNiLDhCQUE4QjtJQUM5QixTQUFTO0lBQ1Qsb0JBQW9CO0lBQ3BCLHFCQUFxQjtJQUNyQixjQUFjO0lBQ2QscUJBQXFCO0lBQ3JCLHFDQUFxQztBQUN6Qzs7QUFFQTtJQUNJLDJEQUEyRDtBQUMvRDs7QUFFQTtJQUNJLGNBQWM7SUFDZCxxQkFBcUI7QUFDekI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLGlCQUFpQjtJQUNqQixxQkFBcUI7SUFDckIsMkNBQTJDO0FBQy9DOztBQUVBO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixxQ0FBcUM7QUFDekM7O0FBRUE7SUFDSSxvQ0FBb0M7SUFDcEMsMENBQTBDO0FBQzlDOztBQUVBO0lBQ0ksY0FBYztJQUNkLGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksV0FBVztJQUNYLGNBQWM7QUFDbEI7O0FBRUE7SUFDSTtRQUNJLDBCQUEwQjtJQUM5Qjs7SUFFQTtRQUNJLHNCQUFzQjtJQUMxQjtBQUNKOztBQUVBLGFBQWEsYUFBYSxFQUFFLFNBQVMsRUFBRTtBQUN2QyxhQUFhLDZCQUE2QixFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxpQ0FBaUMsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFO0FBQ3ZMLGtCQUFrQixtQkFBbUIsRUFBRTtBQUN2QztJQUNJLGlCQUFpQjtJQUNqQixxR0FBcUc7SUFDckcsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYix1QkFBdUI7QUFDM0I7QUFDQTtJQUNJLHVCQUF1QjtJQUN2QixhQUFhO0lBQ2IsYUFBYTtJQUNiLGlDQUFpQztJQUNqQyw4QkFBOEI7SUFDOUIsb0NBQW9DO0FBQ3hDO0FBQ0E7SUFDSSxhQUFhO0lBQ2IsOEJBQThCO0lBQzlCLFNBQVM7SUFDVCxvQ0FBb0M7SUFDcEMsb0NBQW9DO0lBQ3BDLGlDQUFpQztJQUNqQywyQkFBMkI7QUFDL0I7QUFDQSx1QkFBdUIsYUFBYSxFQUFFLGlDQUFpQyxFQUFFO0FBQ3pFLHNCQUFzQixTQUFTLEVBQUUsbUJBQW1CLEVBQUU7QUFDdEQsa0JBQWtCLDRCQUE0QixFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixFQUFFO0FBQ3pGLHFCQUFxQixhQUFhLEVBQUUsbUJBQW1CLEVBQUU7QUFDekQsMEJBQTBCLFdBQVcsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLHFEQUFxRCxFQUFFLHlCQUF5QixFQUFFLGdCQUFnQixFQUFFO0FBQ3RPLG9CQUFvQixnQkFBZ0IsRUFBRSxvQ0FBb0MsRUFBRSxhQUFhLEVBQUUsc0JBQXNCLEVBQUUsU0FBUyxFQUFFO0FBQzlILGVBQWUsMEJBQTBCLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsaUNBQWlDLEVBQUUsdUNBQXVDLEVBQUU7QUFDaEs7SUFDSSxvQkFBb0I7SUFDcEIsK0VBQStFO0lBQy9FLCtCQUErQjtBQUNuQztBQUNBLHVCQUF1QixzQkFBc0IsRUFBRSw4QkFBOEIsRUFBRTtBQUMvRTtJQUNJLGFBQWE7SUFDYixTQUFTO0lBQ1QscUJBQXFCO0lBQ3JCLHFCQUFxQjtJQUNyQixlQUFlO0lBQ2Ysa0JBQWtCO0FBQ3RCO0FBQ0Esa0JBQWtCLG1CQUFtQixFQUFFO0FBQ3ZDLGlCQUFpQixTQUFTLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUU7QUFDcEUsY0FBYyxjQUFjLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFO0FBQzlILGdCQUFnQixZQUFZLEVBQUUsbUJBQW1CLEVBQUU7QUFDbkQsWUFBWSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLG9DQUFvQyxFQUFFLGlDQUFpQyxFQUFFLGlDQUFpQyxFQUFFO0FBQ3BLLGtCQUFrQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsNkJBQTZCLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsMkJBQTJCLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxFQUFFO0FBQzFOLDhCQUE4Qix1Q0FBdUMsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUsaUNBQWlDLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFO0FBQzdSO0lBQ0ksOEVBQThFO0FBQ2xGO0FBQ0EsV0FBVyxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFO0FBQ3pKLDRCQUE0QixtQkFBbUIsY0FBYyxFQUFFLEVBQUUsb0JBQW9CLGFBQWEsRUFBRSxFQUFFLHFCQUFxQixhQUFhLEVBQUUsRUFBRSxlQUFlLGNBQWMsRUFBRSxFQUFFLFlBQVksUUFBUSxFQUFFLGFBQWEsRUFBRSxFQUFFLGVBQWUsb0JBQW9CLEVBQUUsRUFBRSxnQkFBZ0IsV0FBVyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFO0FBQ3hULHNCQUFzQixhQUFhLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7QUFDakYsc0JBQXNCLGdCQUFnQixFQUFFLGVBQWUsRUFBRTtBQUN6RCxvQkFBb0IsNkJBQTZCLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGlDQUFpQyxFQUFFO0FBQzVJLDRCQUE0QixhQUFhLEVBQUUsOEJBQThCLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFO0FBQ2hJLGdDQUFnQyxhQUFhLEVBQUUsUUFBUSxFQUFFO0FBQ3pELGlDQUFpQyxtQkFBbUIsRUFBRSxlQUFlLEVBQUU7QUFDdkUscUJBQXFCLGFBQWEsRUFBRSwwQ0FBMEMsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUU7QUFDaEgsc0JBQXNCLGFBQWEsRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFO0FBQ2hFLDJCQUEyQixTQUFTLEVBQUU7QUFDdEMsNkJBQTZCLGVBQWUsRUFBRTtBQUM5QyxnQkFBZ0Isa0NBQWtDLEVBQUU7QUFDcEQsNEJBQTRCLHFCQUFxQiwwQkFBMEIsRUFBRSxFQUFFLDRCQUE0Qix1QkFBdUIsRUFBRSxzQkFBc0IsRUFBRSxFQUFFLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2FwcC5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiOnJvb3Qge1xuICAgIC0tYmc6ICNmZmZmZmY7XG4gICAgLS1jYXJkOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpO1xuICAgIC0tY2FyZC1ib3JkZXI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNCk7XG4gICAgLS10ZXh0OiByZ2JhKDIzLCAzMSwgNjAsIDAuOTIpO1xuICAgIC0tbXV0ZWQ6IHJnYmEoMTYsIDIyLCA2MiwgMC42Nik7XG4gICAgLS1zb2Z0OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTApO1xuICAgIC0tc2hhZG93OiAwIDMwcHggODBweCByZ2JhKDc4LCA5NCwgMTEzLCAwLjQ1KTtcbiAgICAtLXJhZGl1czogMjJweDtcbn1cblxuYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBjb2xvcjogIzE5MmIzZTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XG59XG5ib2R5IC5waWxvdHtcbiAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyYzJhMmE7XG59XG4uYmxhY2tfc2piZHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNDE0O1xufVxuLmJsYWNrX3NqYmRfZWRpdHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNDE0O1xuICAgIG92ZXJmbG93OiBzY3JvbGw7XG59XG50ZXh0IHtcbmZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbmZvbnQtc2l6ZTogMTRweDtcbmZpbGw6IHdoaXRlO1xufVxuLnNqZGItaG9tZSB7XG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KDEyMDBweCA3MDBweCBhdCAyMCUgMTAlLCByZ2JhKDkxLCAxNDMsIDI1NSwgLjE4KSwgdHJhbnNwYXJlbnQgNTUlKSwgcmFkaWFsLWdyYWRpZW50KDkwMHB4IDYwMHB4IGF0IDgwJSAzMCUsIHJnYmEoMTgwLCA4NCwgMjU1LCAuMTYpLCB0cmFuc3BhcmVudCA2MCUpLCByYWRpYWwtZ3JhZGllbnQoOTAwcHggNjAwcHggYXQgNTAlIDkwJSwgcmdiYSgwLCAyNDIsIDI1NSwgLjEyKSwgdHJhbnNwYXJlbnQgNTUlKSwgdmFyKC0tYmcpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtZmFtaWx5OiB1aS1zYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFNlZ29lIFVJLCBSb2JvdG8sIEFyaWFsLCBBcHBsZSBDb2xvciBFbW9qaSwgU2Vnb2UgVUkgRW1vamk7XG4gICAgLyptaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdzogYXV0bzsqL1xuICAgIHBhZGRpbmc6IDI1cHggMThweDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLnNqZGItYmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogLTQwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTpcbiAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMTIlIDE4JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEwKSAxcHgsIHRyYW5zcGFyZW50IDJweCksXG4gICAgICAgICAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDcyJSAzMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCkgMXB4LCB0cmFuc3BhcmVudCAycHgpLFxuICAgICAgICAgICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA0MiUgNzglLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpIDFweCwgdHJhbnNwYXJlbnQgMnB4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIyMHB4IDIyMHB4LCAyNjBweCAyNjBweCwgMzAwcHggMzAwcHg7XG4gICAgb3BhY2l0eTogMC41NTtcbiAgICBmaWx0ZXI6IGJsdXIoMC4xcHgpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc2pkYi1jYXJkIHtcbiAgICB3aWR0aDogbWluKDkyMHB4LCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jYXJkLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICAgIHBhZGRpbmc6IDI2cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbn1cbi5zamRiLWNhcmQtLXdpZGUge1xuICAgIHdpZHRoOiBtaW4oMTEwMHB4LCAxMDAlKTtcbn1cbi5zamRiLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDE4cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTRweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tc29mdCk7XG59XG5cbi5zamRiLWxvZ28ge1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBoZWlnaHQ6IDE1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgYm94LXNoYWRvdzogMCAxOHB4IDQ1cHggcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uc2pkYi1icmFuZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDZweDtcbn1cblxuLnNqZGItZG9tYWluIHtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICBmb250LXNpemU6IDIycHg7XG59XG5cbi5zamRiLXRhZ2xpbmUge1xuICAgIGNvbG9yOiB2YXIoLS1tdXRlZCk7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uc2pkYi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAxOHB4IDRweCA4cHg7XG59XG4uc2pkYi10aXRsZSB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgyMnB4LCAzdncsIDM0cHgpO1xuICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICBsaW5lLWhlaWdodDogMS4xNTtcbn1cblxuLnNqZGItbXV0ZWQge1xuICAgIGNvbG9yOiB2YXIoLS1tdXRlZCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnNqZGItbGVhZCB7XG4gICAgbWFyZ2luOiAwIDAgMTRweCAwO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4uc2pkYi1idWxsZXRzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAxMHB4O1xufVxuXG4uc2pkYi1idWxsZXRzIGxpIHtcbiAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc29mdCk7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTYpO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODYpO1xufVxuXG4uc2pkYi1mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgcGFkZGluZy10b3A6IDE4cHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXNvZnQpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAxNHB4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zamRiLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uc2pkYi1idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMik7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiKDkxIDE0MyAyNTUgLyA4OCUpLCByZ2IoMTgwIDg0IDI1NSAvIDgyJSkpO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNjBtcyBlYXNlLCBmaWx0ZXIgMTYwbXMgZWFzZSwgYm9yZGVyLWNvbG9yIDE2MG1zIGVhc2U7XG59XG4uc2pkYi1idG4tLWRhbmdlciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMTIwLCAxMjAsIDAuNDUpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LCAxMjAsIDEyMCwgMC4zOCksIHJnYmEoMjU1LCA4MCwgODAsIDAuMjIpKTtcbn1cbi5zamRiLWJ0bjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxLjA4KTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zMik7XG59XG5cbi5zamRiLWJ0bjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xufVxuXG4uc2pkYi1idG4tYXJyb3cge1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgICBmb250LXdlaWdodDogOTAwO1xufVxuXG4uc2pkYi1tZXRhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBnYXA6IDhweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5zamRiLXBpbGwge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zb2Z0KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMTkgNTggOTEgLyA2MyUpO1xuICAgIGNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyA5MSUpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5zamRiLXRhYmxlLXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zb2Z0KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbi5zamRiLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cbi5zamRiLXRhYmxlIHRoLFxuLnNqZGItdGFibGUgdGQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogMTJweCAxNHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1zb2Z0KTtcbn1cbi5zamRiLXRhYmxlIHRoIHtcbiAgICBjb2xvcjogdmFyKC0tbXV0ZWQpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbn1cbi5zamRiLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpO1xufVxuLnNqZGItZGwge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMTQwcHgpIG1pbm1heCgwLCAxZnIpO1xuICAgIGdhcDogOHB4IDE2cHg7XG4gICAgbWFyZ2luOiAwO1xufVxuLnNqZGItZGwgZHQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IHZhcigtLW11dGVkKTtcbn1cbi5zamRiLWRsIGRkIHtcbiAgICBtYXJnaW46IDA7XG59XG4uYWRtaW4tZm9ybSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDEycHg7XG4gICAgbWFyZ2luOiAxMnB4IDAgMDtcbn1cbi5hZG1pbi1mb3JtIGgyIHtcbiAgICBtYXJnaW46IDE2cHggMCA2cHg7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxOHB4LCAzLjJ2dywgMjJweCk7XG59XG4uYWRtaW4tZm9ybSBoMyB7XG4gICAgbWFyZ2luOiAxMnB4IDAgNnB4O1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMTZweCwgMi44dncsIDE4cHgpO1xufVxuLmFkbWluLWZvcm0gbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODIpO1xufVxuLmFkbWluLWZvcm0gaW5wdXQsXG4uYWRtaW4tZm9ybSBzZWxlY3QsXG4uYWRtaW4tZm9ybSB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NCk7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cbi5hZG1pbi1mb3JtIHRleHRhcmVhIHtcbiAgICBtaW4taGVpZ2h0OiAxMjBweDtcbn1cbi5hZG1pbi1mb3JtIGJ1dHRvbiB7XG4gICAganVzdGlmeS1zZWxmOiBmbGV4LXN0YXJ0O1xufVxuLnFyLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMjBweCwgMWZyKSk7XG4gICAgZ2FwOiAyNHB4O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG59XG4ucXItY2FyZCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTRlNmViO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ucXItY2FyZCBpbWcge1xuICAgIHdpZHRoOiAxODBweDtcbiAgICBoZWlnaHQ6IDE4MHB4O1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgbWFyZ2luOiAxMnB4IGF1dG87XG59XG4ucXItbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLXRvcDogNnB4O1xufVxuLnFyLWNvZGUge1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBjb2xvcjogIzRiNTU2MztcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG59XG4ucXItbWlzc2luZyB7XG4gICAgcGFkZGluZzogNDBweCAxMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjk7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBjb2xvcjogIzljYTNhZjtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAgIC5zamRiLWNhcmQgeyBwYWRkaW5nOiAxOHB4OyB9XG4gICAgLnNqZGItbG9nbyB7IHdpZHRoOiA3NHB4OyBoZWlnaHQ6IDc0cHg7IGJvcmRlci1yYWRpdXM6IDE2cHg7IH1cbiAgICAuc2pkYi1kb21haW4geyBmb250LXNpemU6IDIwcHg7IH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICAgIC5zamRiLWhvbWUge1xuICAgICAgICBwYWRkaW5nOiAxOHB4IDE0cHggMjhweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuICAgIC5zamRiLWNhcmQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLnNqZGItaGVhZGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIC5zamRiLWxvZ28ge1xuICAgICAgICB3aWR0aDogOTZweDtcbiAgICAgICAgaGVpZ2h0OiA5NnB4O1xuICAgIH1cbiAgICAuc2pkYi1mb290ZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG4gICAgLnNqZGItYnRuIHtcbiAgICAgICAgLyp3aWR0aDogMTAwJTsqL1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgLnNqZGItbWV0YSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuc2pkYi10YWJsZS13cmFwIHtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB9XG4gICAgLnNqZGItdGFibGUgdGgsXG4gICAgLnNqZGItdGFibGUgdGQge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgICAuc2pkYi1kbCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbiAgICAuYWRtaW4tZm9ybSB7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICB9XG4gICAgLnFyLWNhcmQgaW1nIHtcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgIH1cbn1cbi5vX2Jsa18xe1xucGFkZGluZzogMTVweDtcbmRpc3BsYXk6IGZsZXg7XG5qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbmFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ub19ibGtfMSBoMXtcbmNvbG9yOiAjRkZGRkZGO1xufVxuI2NoYXQtYm94IHtcbmJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG5wYWRkaW5nOiAxMHB4O1xubWFyZ2luLWJvdHRvbTogMTBweDtcbmhlaWdodDogMzAwcHg7XG5vdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbiNzZW5kLWJ1dHRvbiBzdmcge1xucG9pbnRlci1ldmVudHM6IG5vbmU7IC8qIEVtcMOqY2hlIEQzLmpzIGRlIGNhcHRlciBsZXMgY2xpY3MgaWNpICovXG59XG4jY29udHJvbHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwcHg7XG4gICAgbGVmdDogMTBweDtcbiAgICB6LWluZGV4OiAxMDtcbn1cblxuI2NoYXQtaW50ZXJmYWNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaGVpZ2h0OiA4MHZoO1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjlmOWY5LCAjZWNlY2VjKTtcbiAgICBmb250LWZhbWlseTogJ0FyaWFsJywgc2Fucy1zZXJpZjtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNjY2M7XG59XG5cbi5jaGF0LW1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmNoYXQtbWVzc2FnZS51c2VyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uY2hhdC1tZXNzYWdlLmFpIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5jaGF0LWJ1YmJsZSB7XG4gICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLmNoYXQtYnViYmxlLnVzZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0Y2FmNTA7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4uY2hhdC1idWJibGUuYWkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTk2ZjM7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG5cbiNjaGF0LWlucHV0IGJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzQ1YTA0Nztcbn1cblxuI2NoYXQtaW5wdXQgYnV0dG9uIHN2ZyB7XG4gICAgZmlsbDogd2hpdGU7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xufVxuI3Zpc3VhbGl6YXRpb257XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMjsgLyogTGUgU1ZHIHByZW5kIGxlIHJlc3RlICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvKiBJbXBvcnRhbnQgcG91ciBjYWxjdWxlciBsYSB0YWlsbGUgZHUgU1ZHICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiN2aXN1YWxpemF0aW9uIHN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7IC8qIFJlbXBsaXQgc29uIGNvbnRlbmV1ciAqL1xuICAgIGhlaWdodDogMTAwJTsgLyogQWRhcHRlIHNhIGhhdXRldXIgw6AgY2VsbGUgZHUgY29udGVuZXVyICovXG4gICAgZGlzcGxheTogYmxvY2s7IC8qIFN1cHByaW1lIGxlcyBtYXJnZXMgaW1wbGljaXRlcyBkdSBTVkcgKi9cbn1cbiNzdGF0aXN0aWNzLXZpc3VhbGl6YXRpb257XG4gICAgaGVpZ2h0OiA3MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiNrZXl3b3Jkcy1jbHVzdGVye1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiNjbHVzdGVyLXZpc3VhbGl6YXRpb257XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuI21haW4tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuI2NoYXQtc2VjdGlvbiB7XG4gICAgZmxleDogMTsgLyogVW5lIG1vaXRpw6kgZGUgbCfDqWNyYW4gKi9cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC13aWR0aDogMzUwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogOTAlO1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG59XG5cbiNjaGF0LWNvbnRhaW5lciB7XG4gICAgZmxleDogMTsgLyogT2NjdXBhdGlvbiBkZSBsJ2VzcGFjZSBwb3VyIGxlcyBtZXNzYWdlcyAqL1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiNjaGF0LWlucHV0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xufVxuXG4jY2hhdC1pbnB1dCBpbnB1dCB7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbiNjaGF0LWlucHV0IGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogIzRjYWY1MDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuI3Zpc3VhbGl6YXRpb24tc2VjdGlvbiB7XG4gICAgZmxleDogMjsgLyogTCdhdXRyZSBtb2l0acOpIGRlIGwnw6ljcmFuICovXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAjMjAyMDQwO1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cbiN2aXN1YWxpemF0aW9uLWNvbnRyb2xzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogIzMzMztcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0NDQ7XG4gICAgaGVpZ2h0OiA1MHB4O1xufVxuXG4jdmlzdWFsaXphdGlvbi1jb250cm9scyBidXR0b24ge1xuICAgIGJhY2tncm91bmQ6ICM1NTU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbiN2aXN1YWxpemF0aW9uLWNvbnRyb2xzIGJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzc3Nztcbn1cbi5wYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMjRweCAyMHB4IDMycHg7XG4gICAgZ2FwOiAyNHB4O1xufVxuLnBhZ2VfZml4IHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAyNHB4IDIwcHggMzJweDtcbiAgICBnYXA6IDI0cHg7XG59XG4uZmlyc3RfdGl0bGV7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmZpcnN0X3RpdGxlIGgxe1xuICAgIGZvbnQtc2l6ZTogNC41cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbn1cbmhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbi5iYWRnZSB7XG4gICAgYmFja2dyb3VuZDogIzEwMWU0YTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG59XG4uYmFkZ2UyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTAxZTRhO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uY2FyZCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYm94LXNoYWRvdzogMCAxMnB4IDI4cHggcmdiYSgxNiwgMzAsIDc0LCAwLjA4KTtcbn1cbi5jYXJkIGgye1xuICAgIGNvbG9yOiMxZjNiNzM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnNvbGl7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA4NWRhMjtcbiAgICBoZWlnaHQ6IDE3NHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiA5N3B4O1xuICAgIHdpZHRoOiA1MDlweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmluZm97XG4gICAgcGFkZGluZzogMjBweDtcbn1cbi5jYXJkIGgye1xuICAgIGNvbG9yOiMxZjNiNzM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmxpZW5famV1e1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yIDpkYXJrYmx1ZTtcbn1cbi5zdGFjayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDE2cHg7XG4gICAgbWFyZ2luOiBhdXRvO1xufVxuLmJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAxNHB4IDE4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogIzEwMWU0YTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmJ0bi1vdXRsaW5lIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTAxZTRhO1xuICAgIGNvbG9yOiAjMTAxZTRhO1xufVxuLmlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxNHB4IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDNkOGU2O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi5oaW50IHtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBjb2xvcjogIzRiNTU2Mztcbn1cbi5oaW50MntcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgY29sb3I6ICM4YTA2MDk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYmxvY2s6IDA7XG59XG4uc3RhdHVzIHtcbiAgICBwYWRkaW5nOiAxMHB4IDE0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGJhY2tncm91bmQ6ICNlOWVmZmY7XG4gICAgY29sb3I6ICMxZDNhOGE7XG59XG4uc3RhdHVzOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLnN0YXR1cy5jbG9zZWQge1xuICAgIGJhY2tncm91bmQ6ICNmZmU4ZTg7XG4gICAgY29sb3I6ICNhMzI0MjQ7XG59XG4uaW5mb19saW5re1xuICAgIGJhY2tncm91bmQ6ICMwODVkYTI7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBjb2xvcjogI2YyZjRmOTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZm9udC1zaXplOiAuOXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMTAwcHg7XG59XG4ubGlua3tcbiAgICBjb2xvcjogI2UyZTZlZTtcbn1cbi5zY29yZWJvYXJkLXdpbm5lciB7XG4gICAgYmFja2dyb3VuZDogIzNkYjYyZTtcbn1cbi5zY29yZWJvYXJkLXdpbm5lciB0ZDpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAn8J+PhiAnO1xufVxuLnNjb3JlYm9hcmQtZmluaXNoZWQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICBwYWRkaW5nOiAycHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjEsIDEyOCwgNjEsIDAuMik7XG4gICAgY29sb3I6ICMxNTgwM2Q7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnByb2dyZXNzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xufVxuLnByb2dyZXNzIHNwYW4ge1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjFmNGZmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4ucHJvZ3Jlc3Mgc3Bhbi5jb21wbGV0ZWQge1xuICAgIGJhY2tncm91bmQ6ICNkN2Y1ZTE7XG4gICAgY29sb3I6ICMxNjY1MzQ7XG59XG5mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBjb2xvcjogIzZiNzI4MDtcbn1cbi5waWxvdC1wYWdlLFxuLnNjb3JlYm9hcmQtcGFnZSB7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMjRweCAxNnB4IDQwcHg7XG59XG5cbi5waWxvdC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMTJweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4ucGlsb3Qtc3VtbWFyeSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDEycHg7XG4gICAgZm9udC1zaXplOiAxLjA1cmVtO1xufVxuXG4ucGlsb3QtbGF5b3V0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDEuMWZyKSBtaW5tYXgoMCwgMC45ZnIpO1xuICAgIGdhcDogMjRweDtcbn1cblxuLnBpbG90LWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAxMnB4O1xufVxuXG4ucGlsb3QtYWN0aW9ucyBmb3JtLFxuLnBpbG90LWFjdGlvbnMgYSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5waWxvdC1hY3Rpb25zIGJ1dHRvbixcbi5waWxvdC1hY3Rpb25zIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjMmMyYzVhO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5waWxvdC1hY3Rpb25zIGJ1dHRvbjpob3Zlcixcbi5waWxvdC1hY3Rpb25zIGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMzYzNjN2E7XG59XG4ucGlsb3QtZmluaXNoLWRpYWxvZyB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogbWluKDkwdncsIDQyMHB4KTtcbiAgICBib3gtc2hhZG93OiAwIDIwcHggNjBweCByZ2JhKDAsIDAsIDAsIDAuMzUpO1xufVxuXG4ucGlsb3QtZmluaXNoLWRpYWxvZzo6YmFja2Ryb3Age1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNSwgNywgMjAsIDAuNjUpO1xufVxuXG4ucGlsb3QtZmluaXNoLWRpYWxvZ19fY29udGVudCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDEycHg7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBjb2xvcjogIzFmMjkzNztcbn1cblxuLnBpbG90LWZpbmlzaC1kaWFsb2dfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5waWxvdC1maW5pc2gtZGlhbG9nX19sYWJlbCBzZWxlY3Qge1xuICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkMWQ1ZGI7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLnBpbG90LWZpbmlzaC1kaWFsb2dfX2FjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMTBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4ucGlsb3QtZmluaXNoLWRpYWxvZ19fYWN0aW9ucyBidXR0b24ge1xuICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjMmMyYzVhO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucGlsb3QtZmluaXNoLWRpYWxvZ19fYWN0aW9ucyBidXR0b25bZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNjtcbn1cblxuLnBpbG90LWZpbmlzaC1kaWFsb2dfX2FjdGlvbnMgYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgIGJhY2tncm91bmQ6ICM2NDc0OGI7XG59XG5cbi5waWxvdC10ZWFtcyB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIHBhZGRpbmc6IDE2cHg7XG59XG5cbi5waWxvdC10ZWFtcyBoZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IDEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cblxuLnBpbG90LXRlYW1zX19jb3VudCB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLnRlYW0tbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMTBweDtcbn1cblxuLnRlYW0tbGlzdCBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE2LCAxNiwgMzIsIDAuNzUpO1xufVxuXG4udGVhbS1saXN0X19jb2RlIHtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgb3BhY2l0eTogMC44NTtcbn1cblxuLnRlYW0tbGlzdF9fc3RhdGUge1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiAjMWYzYjczO1xufVxuLnRlYW0tbGlzdF9fcXIge1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBvcGFjaXR5OiAwLjg1O1xufVxuXG4uc2NvcmVib2FyZC1wYWdlIHtcbiAgICBtYXgtd2lkdGg6IDE0MDBweDtcbn1cblxuLnNjb3JlYm9hcmQtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDE2cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY2YjdmZDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG59XG5cbi5zY29yZWJvYXJkLXN0YXR1cyB7XG4gICAgcGFkZGluZzogNnB4IDE0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogIzFmM2I3MztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG59XG5cbi5zY29yZWJvYXJkLW1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxNnB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4uc2NvcmVib2FyZC10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYigxMiA4NCAxNDYpO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNjb3JlYm9hcmQtdGFibGUgdGgsXG4uc2NvcmVib2FyZC10YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogMTRweCAxNnB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5zY29yZWJvYXJkLXRhYmxlIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xufVxuXG4uc2NvcmVib2FyZC10YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNCk7XG59XG5cbi5zY29yZWJvYXJkLXByb2dyZXNzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2NvcmVib2FyZC1wcm9ncmVzcyBzcGFuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzNhYjVmZiwgIzhiZjdkMyk7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG59XG5cbi5zY29yZWJvYXJkLXByb2dyZXNzLW1ldGEge1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgb3BhY2l0eTogMC44O1xufVxuXG4uc2NvcmVib2FyZC1lbXB0eSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIG9wYWNpdHk6IDAuODtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5waWxvdC1sYXlvdXQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzIwcHgpIHtcbiAgICAucGFnZSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMTZweCAyOHB4O1xuICAgIH1cblxuICAgIC5wYWdlX2ZpeCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMTZweCAyOHB4O1xuICAgIH1cblxuICAgIC5maXJzdF90aXRsZSBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgIH1cblxuICAgIC5iYWRnZTIge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cblxuICAgIC5waWxvdC1oZWFkZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAucGlsb3QtYWN0aW9ucyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5waWxvdC1hY3Rpb25zIGZvcm0sXG4gICAgLnBpbG90LWFjdGlvbnMgYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC50ZWFtLWxpc3QgbGkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiA2cHg7XG4gICAgfVxuXG4gICAgLnNjb3JlYm9hcmQtaGVhZGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLnNjb3JlYm9hcmQtbWV0YSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC5zY29yZWJvYXJkLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgfVxufVxuI2tleXdvcmRzLXZpc3VhbGl6YXRpb24sICNhbmFseXNpcy12aXN1YWxpemF0aW9uIHtcbiAgICBmbGV4OiAxO1xuICAgIC8qYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7Ki9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLyogT25nbGV0cyAqL1xuI3RhYnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYmFja2dyb3VuZDogIzMzMztcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzQ0NDtcbn1cblxuI3RhYnMgLnRhYi1idXR0b24ge1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogIzQ0NDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiN0YWJzIC50YWItYnV0dG9uLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogIzIwMjA0MDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwYmNkNDtcbn1cblxuLyogQ29udGVudSBkZXMgb25nbGV0cyAqL1xuI3RhYnMtY29udGVudCB7XG4gICAgZmxleDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4vKlxuLnRhYi1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgYmFja2dyb3VuZDogIzIwMjA0MDtcbn1cblxuICovXG5cbiNrZXl3b3Jkcy1jbHVzdGVyLCAjc3RhdGlzdGljcy12aXN1YWxpemF0aW9uLCAjcmVzcG9uc2UtYW5hbHlzaXMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi50YWItY29udGVudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi50YWItY29udGVudC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbiNzdGF0aXN0aWNzLXZpc3VhbGl6YXRpb24sXG4ja2V5d29yZHMtdmlzdWFsaXphdGlvbiwgI3JlcG9uc2VfdmlzdWFsaXNhdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuLmJhY2tfaGVhZF9kZXNrIHtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuLmhvbWUtY291bnRkb3duIHtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1zaGFkb3c6IDAgOHB4IDE4cHggcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgICBhbmltYXRpb246IGhvbWVQdWxzZSAxcyBpbmZpbml0ZTtcbn1cblxuLmhvbWUtcXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xufVxuXG4uaG9tZS1xciBpbWcge1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBoZWlnaHQ6IDE1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMTJweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLndpbm5lci1zY3JlZW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDI0cHg7XG59XG5cbi53aW5uZXItaGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ud2lubmVyLWNhcmR7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjMTgzZDczO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgYm94LXNoYWRvdzogMCAxMnB4IDI4cHggcmdiYSgxNiwgMzAsIDc0LCAuMDgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEycHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgd2lkdGg6IDUwMHB4O1xufVxuXG4ud2lubmVyLWNhcmQgaDIge1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uaGludF93aW57XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgcGFkZGluZzogMjVweDtcbiAgICBtYXJnaW46IDA7XG59XG5cbkBrZXlmcmFtZXMgaG9tZVB1bHNlIHtcbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICB9XG59XG4vKiA9PT0gQ291bnRkb3duIG92ZXJsYXkgLSBzdHlsZSBCRCA9PT0gKi9cbi5jb3VudGRvd25PdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgaW5zZXQ6IDA7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIHotaW5kZXg6IDk5OTk7XG5cbiAgICAvKiB2b2lsZSBsw6lnZXIgcG91ciBsaXNpYmlsaXTDqSB0b3V0IGVuIGdhcmRhbnQgbGUgYmFja2dyb3VuZCB2aXNpYmxlICovXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjI1KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnB4KTtcbn1cbi5jb3VudGRvd25PdmVybGF5W2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb3VudGRvd25DYXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IG1pbig4NnZ3LCA1MjBweCk7XG4gICAgcGFkZGluZzogMjJweCAxOHB4IDE4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMThweDtcblxuICAgIC8qIGxvb2sgQkQgKi9cbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuOTIpO1xuICAgIGJvcmRlcjogNHB4IHNvbGlkIHJnYmEoMCwwLDAsMC44NSk7XG4gICAgYm94LXNoYWRvdzogMCAxNHB4IDQwcHggcmdiYSgwLDAsMCwwLjI1KTtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNvdW50ZG93bkJ1cnN0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IC0xOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDI2cHg7XG4gICAgYmFja2dyb3VuZDpcbiAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMzAlIDMwJSwgcmdiYSgyNTUsIDIxNCwgMCwgMC45KSwgdHJhbnNwYXJlbnQgNDUlKSxcbiAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgNzAlIDMwJSwgcmdiYSgyNTUsIDAsIDkyLCAwLjg1KSwgdHJhbnNwYXJlbnQgNDUlKSxcbiAgICAgICAgICAgIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgNTAlIDc1JSwgcmdiYSgwLCAxOTQsIDI1NSwgMC44KSwgdHJhbnNwYXJlbnQgNTAlKTtcbiAgICBmaWx0ZXI6IHNhdHVyYXRlKDEuMSk7XG4gICAgei1pbmRleDogLTE7XG5cbiAgICAvKiBlZmZldCDigJzDqWNsYXTigJ0gKi9cbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMmRlZyk7XG59XG5cbi5jb3VudGRvd25OdW1iZXIge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoNjRweCwgMTh2dywgMTQwcHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0ZW07XG5cbiAgICAvKiBjb250b3VyIGZhw6dvbiBCRCAoc2ltdWzDqSkgKi9cbiAgICB0ZXh0LXNoYWRvdzpcbiAgICAgICAgICAgIDNweCAwIDAgcmdiYSgwLDAsMCwwLjg1KSxcbiAgICAgICAgICAgIC0zcHggMCAwIHJnYmEoMCwwLDAsMC44NSksXG4gICAgICAgICAgICAwIDNweCAwIHJnYmEoMCwwLDAsMC44NSksXG4gICAgICAgICAgICAwIC0zcHggMCByZ2JhKDAsMCwwLDAuODUpLFxuICAgICAgICAgICAgNnB4IDEwcHggMCByZ2JhKDAsMCwwLDAuMTIpO1xuXG4gICAgLyogY291bGV1ciBwYXIgZMOpZmF1dCAoc2VyYSBjaGFuZ8OpZSB2aWEgSlMpICovXG4gICAgY29sb3I6ICNmZjJkNTU7XG5cbiAgICAvKiBhbmltYXRpb24g4oCccG9w4oCdICovXG4gICAgYW5pbWF0aW9uOiBjb3VudGRvd25Qb3AgOTAwbXMgZWFzZS1pbi1vdXQgYm90aDtcbn1cblxuLmNvdW50ZG93blN1YiB7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiByZ2JhKDAsMCwwLDAuNzgpO1xufVxuXG4vKiBQb3AgKyBwZXRpdCB3b2JibGUgKi9cbkBrZXlmcmFtZXMgY291bnRkb3duUG9wIHtcbiAgICAwJSAgIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjUpIHJvdGF0ZSgtNmRlZyk7IG9wYWNpdHk6IDA7IH1cbiAgICA0NSUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjE1KSByb3RhdGUoMmRlZyk7IG9wYWNpdHk6IDE7IH1cbiAgICA3MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjk2KSByb3RhdGUoLTFkZWcpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDBkZWcpOyB9XG59XG5cbi8qIFRyYW5zaXRpb24gZGUgc29ydGllICovXG4uY291bnRkb3duT3ZlcmxheS5pcy1vdXQge1xuICAgIGFuaW1hdGlvbjogZmFkZU91dCAyMjBtcyBlYXNlLWluIGZvcndhcmRzO1xufVxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgICB0byB7IG9wYWNpdHk6IDA7IH1cbn1cbi8qIC0tLSBBdXRoIChsb2dpbikgLS0tICovXG4uc2pkYi1jYXJkLS1hdXRoIHtcbiAgICB3aWR0aDogbWluKDc2MHB4LCAxMDAlKTtcbn1cblxuLnNqZGItYXV0aCB7XG4gICAgcGFkZGluZy10b3A6IDE4cHg7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDE2cHg7XG59XG5cbi5zamRiLWF1dGgtaGVhZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDZweDtcbn1cblxuLnNqZGItYXV0aC10aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMjBweCwgMi42dncsIDI4cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xufVxuXG4uc2pkYi1hdXRoLXN1YnRpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43Mik7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5zamRiLWFsZXJ0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMTIwLCAxMjAsIDAuMzUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCA4MCwgODAsIDAuMTIpO1xuICAgIHBhZGRpbmc6IDEycHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xufVxuXG4uc2pkYi1hbGVydC10ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44Nik7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xufVxuXG4uc2pkYi1mb3JtIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMTJweDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5zamRiLWZpZWxkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogNnB4O1xufVxuXG4uc2pkYi1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiByZ2IoNjggOTUgMjAxIC8gNzglKTtcbiAgICBmb250LXdlaWdodDogNjUwO1xufVxuXG4uc2pkYi1pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTJweCAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjIpO1xuICAgIGNvbG9yOiByZ2IoNjggOTUgMjAxIC8gNzglKTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxNjBtcyBlYXNlLCB0cmFuc2Zvcm0gMTYwbXMgZWFzZSwgZmlsdGVyIDE2MG1zIGVhc2U7XG59XG5cbi5zamRiLWlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zOCk7XG59XG5cbi5zamRiLWlucHV0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTIwLCAxOTAsIDI1NSwgMC40NSk7XG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKDEuMDYpO1xufVxuXG4uc2pkYi1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi5zamRiLWJ0bi0tZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTNweCAxNnB4O1xufVxuXG4uc2pkYi1hdXRoLWZvb3Qge1xuICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMCk7XG59XG5cbi5zamRiLWZvb3Qtbm90ZSB7XG4gICAgY29sb3I6IHJnYig0MCA2NyAyMjIgLyA4MCUpO1xuICAgIGZvbnQtc2l6ZTogMTIuNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xufVxuXG4vKiBSZXNwb25zaXZlOiBzdXIgdHLDqHMgcGV0aXQgw6ljcmFuIG9uIHJlc3NlcnJlIHVuIHBldSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDQyMHB4KSB7XG4gICAgLnNqZGItYXV0aCB7IGdhcDogMTRweDsgfVxuICAgIC5zamRiLWlucHV0IHsgcGFkZGluZzogMTFweCAxMXB4OyBib3JkZXItcmFkaXVzOiAxM3B4OyB9XG4gICAgLnNqZGItYnRuLS1mdWxsIHsgcGFkZGluZzogMTJweCAxNHB4OyB9XG59XG4vKiAtLS0gRm9ybXVsYWlyZSBjZW50csOpICYgbGFyZ2V1ciBtYcOudHJpc8OpZSAtLS0gKi9cbi5zamRiLWZvcm0ge1xuICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8qIENoYW1wcyBhbGlnbsOpcyBwcm9wcmVtZW50ICovXG4uc2pkYi1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIElucHV0cyBhdmVjIGxhcmdldXIgY29ow6lyZW50ZSAqL1xuLnNqZGItaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogQm91dG9uIGFsaWduw6kgYXZlYyBsZXMgY2hhbXBzICovXG4uc2pkYi1hY3Rpb25zIHtcbiAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICAgIG1hcmdpbjogOHB4IGF1dG8gMDtcbn1cblxuLyogU3VyIHRyw6hzIGdyYW5kcyDDqWNyYW5zIG9uIMOpdml0ZSBsJ2VmZmV0IFwicGVyZHUgYXUgbWlsaWV1XCIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuc2pkYi1mb3JtLFxuICAgIC5zamRiLWFjdGlvbnMge1xuICAgICAgICBtYXgtd2lkdGg6IDM4MHB4O1xuICAgIH1cbn1cblxuLyogTW9iaWxlIDogcGxlaW5lIGxhcmdldXIgKGNvbmZvcnQgdGFjdGlsZSkgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5zamRiLWZvcm0sXG4gICAgLnNqZGItYWN0aW9ucyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG4uc2pkYi1hdXRoIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNqZGItbGFiZWwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgICAuc2pkYi1waWxse1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDExcHggMThweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNvZnQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTQpO1xuICAgICAgICBjb2xvcjogcmdiKDY4IDk1IDIwMSAvIDc4JSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuc2pkYi1idWxsZXRzIGxpIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cbn1cblxuLmZ1bGxzY3JlZW4tdG9nZ2xlIHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgcGFkZGluZzogOHB4IDE0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICAgIGJhY2tncm91bmQ6IHJnYigxNSAyMyA0MiAvIDAlKTtcbiAgICBjb2xvcjogcmdiKDY4IDk1IDIwMSAvIDc4JSk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5mdWxsc2NyZWVuLXRvZ2dsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxNSwgMjMsIDQyLCAwLjgpO1xufVxuLnNoZWV0LWhvbWUtbWVudSxcbi5zaGVldC1jYXRlZ29yaWVzLFxuLnNoZWV0LXRvb2xiYXIsXG4uc2hlZXQtc2VhcmNoLFxuLnNoZWV0LWNhcmQtZm9vdGVyLFxuLnNoZWV0LXJlbGF0ZWQgLnNqZGItYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxMHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uc2hlZXQtaG9tZS1tZW51IHtcbiAgICBtYXJnaW46IDE4cHggMDtcbn1cbi5zaGVldC1ob21lLWxpbmsge1xuICAgIGZsZXg6IDEgMSAxODBweDtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYigxOCA4NyAyMDQgLyAyMiUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgYmFja2dyb3VuZDogcmdiKDggNDcgMTgyIC8gMjAlKTtcbiAgICBjb2xvcjogcmdiKDIzIDcyIDE2OSAvIDkyJSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnNoZWV0LWhvbWUtbGluazpob3Zlcixcbi5zamRiLXBpbGwuaXMtYWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoOTEsIDE0MywgMjU1LCAwLjY1KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDkxLCAxNDMsIDI1NSwgMC4yMik7XG4gICAgY29sb3I6IHJnYmEoMjMsIDMxLCA2MCwgMC45Mik7XG59XG4uc2hlZXQtcGFnZSAuc2pkYi1jYXJkIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnNoZWV0LXNlYXJjaCB7XG4gICAgbWFyZ2luOiAxOHB4IDA7XG59XG4uc2hlZXQtc2VhcmNoIGlucHV0LFxuLnNoZWV0LXNlYXJjaCBzZWxlY3Qge1xuICAgIG1pbi13aWR0aDogbWluKDMyMHB4LCAxMDAlKTtcbiAgICBmbGV4OiAxIDEgMjIwcHg7XG4gICAgcGFkZGluZzogMTJweCAxNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG4gICAgY29sb3I6IHJnYmEoMTYsIDIyLCA2MiwgMC42Nik7XG59XG4uc2hlZXQtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI1MHB4LCAxZnIpKTtcbiAgICBnYXA6IDE2cHg7XG4gICAgbWFyZ2luLXRvcDogMThweDtcbn1cbi5zaGVldC1jYXJkLFxuLnNoZWV0LXJvdyxcbi5zaGVldC1yZWxhdGVkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zb2Z0KTtcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG59XG4uc2hlZXQtY2FyZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDEycHg7XG4gICAgcGFkZGluZzogMTZweDtcbn1cbi5zaGVldC1jYXJkIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbn1cbi5zaGVldC1jYXJkIGgyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAyMnB4O1xufVxuLnNoZWV0LWNhcmQgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiByZ2IoNjggOTUgMjAxIC8gNzglKTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuLnNoZWV0LWNhcmQtZm9vdGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLXRvcDogOHB4O1xufVxuLnNoZWV0LWNhcmQtZm9vdGVyIHRpbWUge1xuICAgIGNvbG9yOiB2YXIoLS1tdXRlZCk7XG4gICAgZm9udC1zaXplOiAxM3B4O1xufVxuLnNoZWV0LWhlcm8sXG4uc2hlZXQtaW1hZ2UtcHJldmlldyBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDQyMHB4O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc29mdCk7XG4gICAgbWFyZ2luOiAxMnB4IDAgMThweDtcbn1cbi5zaGVldC1tYXJrZG93biB7XG4gICAgY29sb3I6IHJnYigyNSwgNDMsIDYyKTtcbiAgICBsaW5lLWhlaWdodDogMS43MjtcbiAgICBmb250LXNpemU6IDE3cHg7XG59XG4uc2hlZXQtbWFya2Rvd24gaDIsXG4uc2hlZXQtbWFya2Rvd24gaDMsXG4uc2hlZXQtbWFya2Rvd24gaDQge1xuICAgIG1hcmdpbjogMjRweCAwIDhweDtcbiAgICBjb2xvcjogcmdiYSgyMywgMzEsIDYwLCAwLjkyKTtcbn1cbi5zaGVldC1tYXJrZG93biBhIHtcbiAgICBjb2xvcjogcmdiYSgxNiwgMjIsIDYyLCAwLjY2KTtcbn1cbi5zaGVldC1tYXJrZG93biBwIHtcbiAgICBtYXJnaW46IDAgMCAxNHB4O1xufVxuLnNoZWV0LW1hcmtkb3duIHVsIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogOHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjJweDtcbn1cbi5zaGVldC1yZWxhdGVkIHtcbiAgICBtYXJnaW46IDE4cHggNHB4O1xuICAgIHBhZGRpbmc6IDE2cHg7XG59XG4uc2hlZXQtcmVsYXRlZCBoMiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG59XG4uc2hlZXQtbGlzdC1tb2JpbGUge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAxMHB4O1xufVxuLnNoZWV0LXJvdyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDVweDtcbiAgICBwYWRkaW5nOiAxNHB4O1xuICAgIGNvbG9yOiByZ2IoMjUsIDQzLCA2Mik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnNoZWV0LXJvdyBzcGFuLFxuLnNoZWV0LXJvdyBzbWFsbCB7XG4gICAgY29sb3I6IHZhcigtLW11dGVkKTtcbn1cbi5zaGVldC1wYWdlLS1tb2JpbGUgLnNqZGItY2FyZCB7XG4gICAgcGFkZGluZzogMTZweDtcbn1cbi5zaGVldC1kZXRhaWwtLW1vYmlsZSAuc2hlZXQtbWFya2Rvd24ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbn1cbi5zaGVldC1pbWFnZS1wcmV2aWV3IHtcbiAgICBtYXgtd2lkdGg6IDQyMHB4O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDcyMHB4KSB7XG4gICAgLnNoZWV0LXNlYXJjaCxcbiAgICAuc2hlZXQtc2VhcmNoLS1tb2JpbGUge1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgLnNoZWV0LXNlYXJjaCBpbnB1dCxcbiAgICAuc2hlZXQtc2VhcmNoIHNlbGVjdCB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIC5zaGVldC1ob21lLWxpbmsge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIH1cbiAgICAuc2hlZXQtY2FyZC1mb290ZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG59XG4uc2hlZXQtYWNjb3VudC1hY3Rpb25zLFxuLnNoZWV0LXdvcmtzcGFjZS1hY3Rpb25zIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnNoZWV0LXdvcmtzcGFjZS1hY3Rpb25zIGZvcm0ge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLndvcmtzcGFjZS1zZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xufVxuXG4ud29ya3NwYWNlLWxheW91dCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgzMjBweCwgMC44ZnIpO1xuICAgIGdhcDogMS41cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbn1cblxuLndvcmtzcGFjZS1wYW5lbCxcbi53b3Jrc3BhY2Utc2VjdGlvbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KTtcbiAgICBib3JkZXItcmFkaXVzOiAxLjI1cmVtO1xuICAgIGJhY2tncm91bmQ6IHJnYig1OSA5NiAxNTQgLyA0MiUpO1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG59XG5cbi53b3Jrc3BhY2UtbGlzdCxcbi53b3Jrc3BhY2UtbWVzc2FnZXMsXG4ud29ya3NwYWNlLWF0dGFjaG1lbnRzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMC45cmVtO1xufVxuXG4ud29ya3NwYWNlLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAxcmVtO1xuICAgIHBhZGRpbmc6IDAuOXJlbSAxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuOXJlbTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbn1cblxuLndvcmtzcGFjZS1hdHRhY2htZW50cyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNDBweCwgMWZyKSk7XG59XG5cbi53b3Jrc3BhY2UtYXR0YWNobWVudHMgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ud29ya3NwYWNlLWF0dGFjaG1lbnRzIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYXNwZWN0LXJhdGlvOiA0IC8gMztcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjhyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTtcbn1cblxuLndvcmtzcGFjZS1tZXNzYWdlIHtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbn1cblxuLndvcmtzcGFjZS1tZXNzYWdlLmlzLWFkbWluIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDg4LCAxNjYsIDI1NSwgMC4xOCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg4OCwgMTY2LCAyNTUsIDAuMzIpO1xufVxuXG4ud29ya3NwYWNlLW1lc3NhZ2UgdGltZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMC43MjtcbiAgICBmb250LXNpemU6IDAuODZyZW07XG4gICAgbWFyZ2luLXRvcDogMC4ycmVtO1xufVxuXG4ud29ya3NwYWNlLW1lc3NhZ2UtZm9ybSB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLnNqZGItaW5wdXQtZmlsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgIC53b3Jrc3BhY2UtbGF5b3V0IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxuXG4gICAgLndvcmtzcGFjZS1yb3cge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbn1cblxuLnRlYW0tbGlzdCB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogMTJweDsgfVxuLnRlYW0tY2FyZCB7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNvZnQpOyBib3JkZXItcmFkaXVzOiAxOHB4OyBwYWRkaW5nOiAxNnB4OyBjb2xvcjogdmFyKC0tdGV4dCk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDcpOyBkaXNwbGF5OiBncmlkOyBnYXA6IDZweDsgfVxuLnRlYW0tY2FyZCBzcGFuIHsgY29sb3I6IHZhcigtLW11dGVkKTsgfVxuLm1lc3Nlbmdlci1wYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoOTAwcHggNTUwcHggYXQgMjAlIDAlLCByZ2JhKDkxLCAxNDMsIDI1NSwgLjI0KSwgdHJhbnNwYXJlbnQgNjAlKSwgIzA3MGExMjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5tZXNzZW5nZXItc2hlbGwge1xuICAgIHdpZHRoOiBtaW4oOTgwcHgsIDEwMCUpO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyIGF1dG87XG4gICAgYmFja2dyb3VuZDogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICAgIGJvcmRlci1pbmxpbmU6IDFweCBzb2xpZCB2YXIoLS1zb2Z0KTtcbn1cbi5tZXNzZW5nZXItaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDE2cHg7XG4gICAgcGFkZGluZzogMThweCBjbGFtcCgxNnB4LCAzdncsIDI4cHgpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1zb2Z0KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoODQgMTM0IDE5NiAvIDcxJSk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE0cHgpO1xufVxuLm1lc3Nlbmdlci1oZWFkZXIgaDEgeyBtYXJnaW46IDRweCAwOyBmb250LXNpemU6IGNsYW1wKDIycHgsIDR2dywgMzRweCk7IH1cbi5tZXNzZW5nZXItaGVhZGVyIHAgeyBtYXJnaW46IDA7IGNvbG9yOiB2YXIoLS1tdXRlZCk7IH1cbi5tZXNzZW5nZXItYmFjayB7IGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC43Nik7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuLm1lc3Nlbmdlci1hdmF0YXJzIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuLm1lc3Nlbmdlci1hdmF0YXJzIHNwYW4geyB3aWR0aDogMzhweDsgaGVpZ2h0OiAzOHB4OyBtYXJnaW4tbGVmdDogLThweDsgYm9yZGVyLXJhZGl1czogOTk5cHg7IGRpc3BsYXk6IGdyaWQ7IHBsYWNlLWl0ZW1zOiBjZW50ZXI7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM1YjhmZmYsICNiNDU0ZmYpOyBib3JkZXI6IDJweCBzb2xpZCAjMTExODI3OyBmb250LXdlaWdodDogOTAwOyB9XG4ubWVzc2VuZ2VyLXRocmVhZCB7IG92ZXJmbG93LXk6IGF1dG87IHBhZGRpbmc6IDI0cHggY2xhbXAoMTJweCwgM3Z3LCAyOHB4KTsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxMnB4OyB9XG4uY2hhdC1idWJibGUgeyBtYXgtd2lkdGg6IG1pbig3MiUsIDYyMHB4KTsgcGFkZGluZzogMTBweCAxMnB4OyBib3JkZXItcmFkaXVzOiAyMHB4OyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4xMSk7IGJveC1zaGFkb3c6IDAgMTBweCAyOHB4IHJnYmEoMCwwLDAsLjIyKTsgfVxuLmNoYXQtYnViYmxlLmlzLW1lIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2IoMTMgODAgMjI0IC8gNTUlKSwgcmdiKDE3IDE4IDIzMSAvIDQyJSkpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA2cHg7XG59XG4uY2hhdC1idWJibGUuaXMtdGhlbSB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZweDsgfVxuLmNoYXQtbWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDEwcHg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGNvbG9yOiByZ2IoODAgODYgMTMyKTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLmNoYXQtbWV0YSB0aW1lIHsgY29sb3I6IHZhcigtLW11dGVkKTsgfVxuLmNoYXQtYnViYmxlIHAgeyBtYXJnaW46IDA7IGxpbmUtaGVpZ2h0OiAxLjQ1OyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG4uY2hhdC1pbWFnZSB7IGRpc3BsYXk6IGJsb2NrOyBtYXgtd2lkdGg6IDEwMCU7IG1heC1oZWlnaHQ6IDM2MHB4OyBib3JkZXItcmFkaXVzOiAxNXB4OyBtYXJnaW4tYm90dG9tOiA4cHg7IG9iamVjdC1maXQ6IGNvdmVyOyB9XG4uZW1wdHktdGhyZWFkIHsgbWFyZ2luOiBhdXRvOyBjb2xvcjogdmFyKC0tbXV0ZWQpOyB9XG4uY29tcG9zZXIgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogZW5kOyBnYXA6IDEwcHg7IHBhZGRpbmc6IDEycHggY2xhbXAoMTJweCwgM3Z3LCAyNHB4KTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXNvZnQpOyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wNyk7IH1cbi5jb21wb3Nlci1pbnB1dCB7IGZsZXg6IDE7IG1pbi1oZWlnaHQ6IDQycHg7IG1heC1oZWlnaHQ6IDE0MHB4OyByZXNpemU6IHZlcnRpY2FsOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zb2Z0KTsgYm9yZGVyLXJhZGl1czogMThweDsgcGFkZGluZzogMTJweCAxNHB4OyBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC4yNCk7IGNvbG9yOiB2YXIoLS10ZXh0KTsgZm9udDogaW5oZXJpdDsgfVxuLnBob3RvLWJ1dHRvbiwgLnNlbmQtYnV0dG9uIHsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMjIpOyBib3JkZXItcmFkaXVzOiAxNnB4OyBtaW4taGVpZ2h0OiA0NHB4OyBwYWRkaW5nOiAwIDE0cHg7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMTIpOyBjb2xvcjogdmFyKC0tdGV4dCk7IGZvbnQtd2VpZ2h0OiA4MDA7IGN1cnNvcjogcG9pbnRlcjsgfVxuLnNlbmQtYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDkxLDE0MywyNTUsLjcpLCByZ2JhKDE4MCw4NCwyNTUsLjU1KSk7XG59XG4uc3Itb25seSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDFweDsgaGVpZ2h0OiAxcHg7IHBhZGRpbmc6IDA7IG1hcmdpbjogLTFweDsgb3ZlcmZsb3c6IGhpZGRlbjsgY2xpcDogcmVjdCgwLDAsMCwwKTsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgYm9yZGVyOiAwOyB9XG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHsgLm1lc3Nlbmdlci1zaGVsbCB7IGhlaWdodDogMTAwZHZoOyB9IC5tZXNzZW5nZXItaGVhZGVyIHsgcGFkZGluZzogMTRweDsgfSAubWVzc2VuZ2VyLWF2YXRhcnMgeyBkaXNwbGF5OiBub25lOyB9IC5jaGF0LWJ1YmJsZSB7IG1heC13aWR0aDogODglOyB9IC5jb21wb3NlciB7IGdhcDogOHB4OyBwYWRkaW5nOiAxMHB4OyB9IC5zZW5kLWJ1dHRvbiB7IHBhZGRpbmctaW5saW5lOiAxMnB4OyB9IC5waG90by1idXR0b24geyB3aWR0aDogNDRweDsgcGFkZGluZzogMDsgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4uYWRtaW4tcHJvZmlsZS1tZW51IHsgZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDEwcHg7IG1hcmdpbjogMThweCAwOyB9XG4uc2pkYi1zZWN0aW9uLXRpdGxlIHsgbWFyZ2luOiAwIDAgMTJweDsgZm9udC1zaXplOiAyMHB4OyB9XG4uYWRtaW4tZ3JvdXAtY2FyZCB7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNvZnQpOyBib3JkZXItcmFkaXVzOiAxOHB4OyBwYWRkaW5nOiAxNnB4OyBtYXJnaW4tdG9wOiAxNnB4OyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4wNyk7IH1cbi5hZG1pbi1ncm91cC1jYXJkX19oZWFkZXIgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGdhcDogMTJweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgbWFyZ2luLWJvdHRvbTogMTJweDsgfVxuLmFkbWluLWdyb3VwLWNhcmRfX2hlYWRlciBkaXYgeyBkaXNwbGF5OiBncmlkOyBnYXA6IDRweDsgfVxuLmFkbWluLWdyb3VwLWNhcmRfX2hlYWRlciBzcGFuIHsgY29sb3I6IHZhcigtLW11dGVkKTsgZm9udC1zaXplOiAxNHB4OyB9XG4uYWRtaW4taW5saW5lLWZvcm0geyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIGF1dG87IGdhcDogMTBweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuLmFkbWluLWFjdGlvbnMtY2VsbCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiA4cHg7IH1cbi5hZG1pbi1hY3Rpb25zLWNlbGwgZm9ybSB7IG1hcmdpbjogMDsgfVxuLmFkbWluLWFjdGlvbnMtY2VsbCBidXR0b24geyBjdXJzb3I6IHBvaW50ZXI7IH1cbi5hZG1pbi1kYW5nZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDE1MCwgMzIsIDMyLCAuNzgpOyB9XG5AbWVkaWEgKG1heC13aWR0aDogNzIwcHgpIHsgLmFkbWluLWlubGluZS1mb3JtIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0gLmFkbWluLWdyb3VwLWNhcmRfX2hlYWRlciB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/