/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/map.css ***!
  \**************************************************************************************************************/
/* Современные стили для indoor карты */

/* ── Full-screen map page layout ── */
.map-page {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.map-wrapper {
    position: relative;
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.map-wrapper .leaflet-container {
    flex: 1;
    min-height: 0;
}

/* ── Shop header bar ── */
.shop-header-bar {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    background: rgba(255, 255, 255, 0.97);
    border-bottom: 1px solid rgba(226, 232, 240, 0.8);
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06);
    z-index: 10;
}

.shop-header-name {
    font-size: 15px;
    font-weight: 700;
    color: #1a202c;
    white-space: nowrap;
}

.shop-header-address {
    font-size: 13px;
    color: #718096;
    display: flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.shop-header-icon {
    color: #667eea;
    font-size: 12px;
    flex-shrink: 0;
}

/* ── Route info bar (above map, not overlapping) ── */
.route-info-bar {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.95);
    border-bottom: 1px solid rgba(226, 232, 240, 0.6);
    flex-wrap: wrap;
    animation: slideDown 0.3s ease-out;
}

/* Кастомные маркеры */
.custom-shop-marker {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    width: 40px;
    height: 40px;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
    border: 3px solid #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.custom-shop-marker:hover {
    transform: rotate(-45deg) scale(1.15);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}

.custom-shop-marker .icon {
    transform: rotate(45deg);
    font-size: 20px;
    color: white;
}

/* Target marker (search/route result) */
.target-marker {
    background: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
}

/* Маркер входа/выхода */
.entrance-marker {
    background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
}

.exit-marker {
    background: linear-gradient(135deg, #ee0979 0%, #ff6a00 100%);
}

/* Tooltip для комнат */
.room-tooltip {
    background: white;
    border-radius: 8px;
    padding: 12px 16px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    border: none;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.room-tooltip h3 {
    margin: 0 0 8px 0;
    font-size: 16px;
    font-weight: 600;
    color: #1a202c;
}

.room-tooltip p {
    margin: 0;
    font-size: 14px;
    color: #718096;
}

/* Анимированный маршрут */
.animated-route {
    stroke: #4285F4;
    stroke-width: 5;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
    stroke-dasharray: 10, 5;
    animation: dash 1s linear infinite;
    filter: drop-shadow(0 2px 4px rgba(66, 133, 244, 0.3));
}

@keyframes dash {
    to {
        stroke-dashoffset: -15;
    }
}

/* Подсветка комнаты при hover */
.room-highlight {
    fill: rgba(66, 133, 244, 0.2);
    stroke: #4285F4;
    stroke-width: 3;
    transition: all 0.3s ease;
    cursor: pointer;
}

.room-highlight:hover {
    fill: rgba(66, 133, 244, 0.35);
    stroke-width: 4;
}

/* Zoom controls */
.custom-zoom-controls {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.zoom-button {
    width: 44px;
    height: 44px;
    background: white;
    border: none;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 300;
    color: #4a5568;
    transition: all 0.2s ease;
}

.zoom-button:hover {
    background: #f7fafc;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    transform: translateY(-2px);
}

.zoom-button:active {
    transform: translateY(0);
}

/* ── Bottom Navigation Bar ── */
.bottom-nav-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1100;
    display: flex;
    justify-content: space-around;
    align-items: center;
    height: 56px;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-top: 1px solid rgba(226, 232, 240, 0.6);
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.08);
}

.bottom-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 6px 16px;
    border: none;
    background: transparent;
    cursor: pointer;
    transition: all 0.2s ease;
    border-radius: 12px;
    color: #718096;
}

.bottom-nav-item:hover {
    background: rgba(102, 126, 234, 0.08);
}

.bottom-nav-item--active {
    color: #667eea;
}

.bottom-nav-item--active .bottom-nav-icon {
    transform: scale(1.15);
}

.bottom-nav-icon {
    font-size: 22px;
    line-height: 1;
    transition: transform 0.2s ease;
}

.bottom-nav-label {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.02em;
}

/* ── Bottom Sheet ── */
.bottom-sheet {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 56px; /* sits above the nav bar */
    z-index: 1050;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.12);
    display: flex;
    flex-direction: column;
    transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

/* Height is now controlled via inline style from JS (drag-to-resize) */
/* Transition is applied unless dragging (JS removes it during drag) */

.bottom-sheet__header {
    display: flex;
    align-items: center;
    padding: 10px 16px 8px;
    flex-shrink: 0;
    position: relative;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    touch-action: none; /* prevent mobile page scroll during drag */
}

.bottom-sheet__header:active {
    cursor: grabbing;
}

.bottom-sheet__handle {
    position: absolute;
    top: 6px;
    left: 50%;
    transform: translateX(-50%);
    width: 36px;
    height: 4px;
    background: #cbd5e0;
    border-radius: 2px;
}

.bottom-sheet__title {
    flex: 1;
    font-size: 16px;
    font-weight: 700;
    color: #1a202c;
    padding-top: 4px;
}

.bottom-sheet__close {
    width: 32px;
    height: 32px;
    border: none;
    background: rgba(0, 0, 0, 0.06);
    border-radius: 50%;
    font-size: 16px;
    color: #718096;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    flex-shrink: 0;
}

.bottom-sheet__close:hover {
    background: rgba(0, 0, 0, 0.12);
    color: #2d3748;
}

.bottom-sheet__content {
    flex: 1;
    overflow-y: auto;
    padding: 0 16px 16px;
    min-height: 0;
}

/* ── Search Switcher (inside search sheet) ── */
.search-switcher {
    display: flex;
    gap: 0;
    background: #edf2f7;
    border-radius: 10px;
    padding: 3px;
    margin-bottom: 12px;
}

.search-switcher-btn {
    flex: 1;
    padding: 8px 12px;
    border: none;
    background: transparent;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    color: #718096;
    cursor: pointer;
    transition: all 0.2s ease;
}

.search-switcher-btn--active {
    background: white;
    color: #667eea;
    font-weight: 600;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

.search-input-wrapper {
    position: relative;
}

/* Поиск */
.map-search-container {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 1000;
    width: 300px;
}

.map-search-input {
    width: 100%;
    padding: 12px 16px 12px 44px;
    border: none;
    border-radius: 24px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
    font-size: 15px;
    outline: none;
    transition: all 0.3s ease;
}

.map-search-input:focus {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.search-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #a0aec0;
}

.search-results {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    margin-top: 8px;
    max-height: 400px;
    overflow-y: auto;
}

.search-result-item {
    padding: 12px 16px;
    cursor: pointer;
    border-bottom: 1px solid #e2e8f0;
    transition: background 0.2s ease;
}

.search-result-item:hover {
    background: #f7fafc;
}

.search-result-item:last-child {
    border-bottom: none;
}

.search-result-name {
    font-weight: 500;
    color: #2d3748;
    margin-bottom: 4px;
}

.search-result-category {
    font-size: 13px;
    color: #718096;
}

/* AI Assistant — chat layout */
.ai-assistant-wrapper {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    gap: 0;
}

.ai-chat-body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 0 0 8px 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ai-chat-empty {
    color: #718096;
    font-size: 13px;
    text-align: center;
    padding: 20px 8px;
}

.ai-chat-message {
    display: flex;
}

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

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

.ai-chat-bubble {
    max-width: 90%;
    padding: 8px 12px;
    border-radius: 12px;
    font-size: 13px;
    line-height: 1.45;
    word-break: break-word;
}

.ai-chat-bubble-user {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-bottom-right-radius: 4px;
}

.ai-chat-bubble-ai {
    background: rgba(240, 244, 255, 0.85);
    color: #2d3748;
    border-bottom-left-radius: 4px;
}

.ai-answer-text {
    margin-bottom: 4px;
}

.ai-chat-system {
    width: 100%;
    text-align: center;
    font-size: 11px;
    color: #667eea;
    padding: 4px 0;
}

.ai-input-group {
    display: flex;
    gap: 6px;
    align-items: center;
    padding-top: 8px;
    border-top: 1px solid #e2e8f0;
}

.ai-attach-button {
    width: 36px;
    height: 36px;
    background: transparent;
    border: 1.5px solid #cbd5e0;
    border-radius: 8px;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.2s ease;
}

.ai-attach-button:hover:not(:disabled) {
    border-color: #667eea;
    background: rgba(102, 126, 234, 0.08);
}

.ai-attach-button:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.ai-input-group .map-search-input {
    flex: 1;
    margin: 0;
}

.ai-send-button {
    width: 44px;
    height: 44px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border: none;
    border-radius: 8px;
    color: white;
    font-size: 20px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ai-send-button:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.ai-send-button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.ai-loading {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #667eea;
}

.spinner-small {
    width: 16px;
    height: 16px;
    border: 2px solid #e2e8f0;
    border-top-color: #667eea;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

.ai-question {
    margin-bottom: 8px;
    padding: 8px;
    background: white;
    border-radius: 6px;
    border-left: 3px solid #667eea;
}

.ai-answer {
    margin-bottom: 8px;
    padding: 8px;
    background: white;
    border-radius: 6px;
    border-left: 3px solid #38b2ac;
}

.ai-categories {
    margin-top: 12px;
    padding: 10px;
    background: white;
    border-radius: 6px;
}

.ai-categories-title {
    font-weight: 600;
    margin-bottom: 8px;
    color: #2d3748;
}

.ai-category-item {
    padding: 4px 0;
    color: #4a5568;
    font-size: 13px;
}

.ai-build-route-button {
    margin-top: 12px;
    width: 100%;
    padding: 10px 16px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.ai-build-route-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

/* Route markers and visualization */
.animated-route-line {
    animation: dash 1s linear infinite;
}

.route-marker {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.route-marker-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    animation: bounce 1s ease-in-out infinite;
}

.route-marker-icon.start {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
}

.route-marker-icon.end {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
}

.route-marker-icon.waypoint {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    font-weight: bold;
    font-size: 16px;
}

.route-marker-label {
    background: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    white-space: nowrap;
}

.target-label-tooltip {
    background: white;
    border: none;
    border-radius: 4px;
    padding: 4px 8px;
    font-size: 12px;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    white-space: nowrap;
    color: #1a202c;
}

.target-label-tooltip::before {
    display: none;
}

@keyframes dash {
    to {
        stroke-dashoffset: -20;
    }
}

@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-5px);
    }
}

/* .route-info-panel is now replaced by .route-info-bar rendered by React above the map */

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.route-chip {
    display: inline-flex;
    align-items: center;
    background: rgba(102, 126, 234, 0.1);
    color: #2d3748;
    font-size: 12px;
    font-weight: 500;
    padding: 4px 10px;
    border-radius: 12px;
    white-space: nowrap;
}

.route-reset-btn {
    width: 28px;
    height: 28px;
    border: none;
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
    border-radius: 50%;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.2s;
}

.route-reset-btn:hover {
    background: #ef4444;
    color: white;
}

/* Current Location Marker */
.current-location-marker {
    position: relative;
}

.current-location-pulse {
    position: relative;
    width: 40px;
    height: 40px;
}

.current-location-dot {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 16px;
    height: 16px;
    background: #4285f4;
    border-radius: 50%;
    border: 3px solid white;
    box-shadow: 0 2px 8px rgba(66, 133, 244, 0.6);
    z-index: 2;
}

.current-location-ring {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    background: rgba(66, 133, 244, 0.3);
    border-radius: 50%;
    animation: pulse-ring 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulse-ring {
    0% {
        transform: translate(-50%, -50%) scale(0.8);
        opacity: 1;
    }
    100% {
        transform: translate(-50%, -50%) scale(2);
        opacity: 0;
    }
}

.current-location-label {
    position: absolute;
    top: 45px;
    left: 50%;
    transform: translateX(-50%);
    background: white;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
    color: #4285f4;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    white-space: nowrap;
    pointer-events: none;
}

/* Popup для деталей магазина */
.leaflet-popup-content-wrapper {
    border-radius: 12px;
    padding: 0;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.leaflet-container {
    background: #ffffff;
}

.leaflet-container img,
.leaflet-container svg,
.leaflet-image-layer,
.leaflet-overlay-pane svg,
.map-image-overlay {
    max-width: none !important;
    max-height: none !important;
}

.map-image-overlay {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
}

.shop-popup {
    padding: 20px;
    min-width: 250px;
}

.shop-popup h3 {
    margin: 0 0 12px 0;
    font-size: 18px;
    font-weight: 600;
    color: #1a202c;
}

.shop-popup-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.shop-popup-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #4a5568;
}

.shop-popup-icon {
    width: 20px;
    color: #667eea;
}

.shop-popup-button {
    margin-top: 12px;
    padding: 10px 16px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    border-radius: 8px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
}

.shop-popup-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

/* Товары в popup маркера */
.shop-popup-commodities {
    margin-top: 10px;
    padding: 8px 10px;
    background: #f0f4ff;
    border-radius: 8px;
    border-left: 3px solid #667eea;
}

.shop-popup-commodities-title {
    font-size: 12px;
    font-weight: 600;
    color: #4a5568;
    margin-bottom: 4px;
}

.shop-popup-commodities-list {
    margin: 0;
    padding: 0 0 0 18px;
    list-style: disc;
}

.shop-popup-commodities-list li {
    font-size: 13px;
    color: #2d3748;
    padding: 1px 0;
}

/* Товары в AI чате */
.ai-category-item {
    margin-bottom: 6px;
}

.ai-category-name {
    font-weight: 500;
    color: #2d3748;
}

.ai-commodity-list {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 3px;
    padding-left: 22px;
}

.ai-commodity-tag {
    display: inline-block;
    background: #edf2f7;
    color: #4a5568;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
}

/* Индикатор загрузки маршрута */
.route-loading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: white;
    padding: 20px 30px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    z-index: 2000;
    display: flex;
    align-items: center;
    gap: 12px;
}

.spinner {
    width: 24px;
    height: 24px;
    border: 3px solid #e2e8f0;
    border-top-color: #667eea;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

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


/* Маркер "Вы здесь" */
.you-are-here {
    width: 20px;
    height: 20px;
    background: #4285F4;
    border: 4px solid white;
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(66, 133, 244, 0.3);
    animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
    0%, 100% {
        box-shadow: 0 0 0 4px rgba(66, 133, 244, 0.3);
    }
    50% {
        box-shadow: 0 0 0 8px rgba(66, 133, 244, 0.1);
    }
}

/* AI highlighted markers */
.ai-highlighted {
    filter: drop-shadow(0 0 20px rgba(255, 215, 0, 1)) 
            drop-shadow(0 0 10px rgba(255, 140, 0, 0.8))
            brightness(1.3);
    z-index: 1000 !important;
}

.ai-highlighted .custom-shop-marker {
    border: 3px solid #FFD700 !important;
    box-shadow: 0 0 20px rgba(255, 215, 0, 0.8), 
                0 0 40px rgba(255, 140, 0, 0.6) !important;
}

@keyframes pulse-marker {
    0%, 100% {
        transform: scale(1);
        filter: drop-shadow(0 0 20px rgba(255, 215, 0, 1));
    }
    50% {
        transform: scale(1.15);
        filter: drop-shadow(0 0 30px rgba(255, 215, 0, 1)) 
                drop-shadow(0 0 15px rgba(255, 140, 0, 1));
    }
}

/* ── Mobile / PWA responsive ── */
@media (max-width: 480px) {
    .bottom-nav-bar {
        height: 52px;
    }

    .bottom-nav-icon {
        font-size: 20px;
    }

    .bottom-nav-label {
        font-size: 9px;
    }

    .bottom-sheet {
        bottom: 52px;
    }

    .ai-chat-bubble {
        font-size: 12px;
        padding: 6px 10px;
    }

    .ai-input-group .map-search-input {
        font-size: 14px;
        padding: 10px 12px;
    }

    .ai-send-button {
        width: 38px;
        height: 38px;
        font-size: 16px;
    }

    .shop-popup {
        padding: 12px;
        min-width: 180px;
    }

    .shop-popup h3 {
        font-size: 15px;
    }

    .route-info-bar {
        padding: 6px 10px;
        gap: 6px;
    }

    .route-info-bar .route-chip {
        font-size: 11px;
        padding: 3px 8px;
    }

    .custom-shop-marker {
        width: 32px !important;
        height: 32px !important;
    }

    .custom-shop-marker .icon {
        font-size: 16px;
    }
}

/* Collection Picker */
.collection-picker {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 4px 0;
}

.collection-loading,
.collection-empty {
    text-align: center;
    color: #a0aec0;
    padding: 24px 12px;
    font-size: 13px;
}

.collection-card {
    background: rgba(102, 126, 234, 0.08);
    border: 1px solid rgba(102, 126, 234, 0.2);
    border-radius: 10px;
    overflow: hidden;
    transition: all 0.2s ease;
}

.collection-card:hover {
    border-color: rgba(102, 126, 234, 0.5);
    background: rgba(102, 126, 234, 0.14);
}

.collection-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
}

.collection-card-emoji {
    font-size: 28px;
    flex-shrink: 0;
    width: 40px;
    text-align: center;
}

.collection-card-info {
    flex: 1;
    min-width: 0;
}

.collection-card-title {
    font-weight: 600;
    font-size: 14px;
    color: #2d3748;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.collection-card-desc {
    font-size: 11px;
    color: #718096;
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.collection-card-items {
    border-top: 1px solid rgba(102, 126, 234, 0.15);
    padding: 6px 12px;
}

.collection-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 2px 0;
    font-size: 12px;
}

.collection-item-dot {
    color: #667eea;
    font-size: 8px;
    flex-shrink: 0;
}

.collection-item-name {
    color: #4a5568;
}

.collection-build-route-btn {
    display: block;
    margin: 8px auto 4px;
    padding: 6px 20px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.collection-build-route-btn:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}

/* Category quick-tap list (inside search sheet) */
.category-quick-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 8px;
}

.category-quick-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.15s ease;
}

.category-quick-item:hover {
    background: rgba(102, 126, 234, 0.08);
}

.category-quick-item:active {
    background: rgba(102, 126, 234, 0.16);
}

.category-quick-icon {
    font-size: 16px;
    flex-shrink: 0;
}

.category-quick-name {
    font-size: 14px;
    color: #2d3748;
    font-weight: 500;
}

/*!**********************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/js/components/Shop/Map3D/Map3D.css ***!
  \**********************************************************************************************************************************/
.map3d-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.map3d-wrapper canvas {
    flex: 1;
    touch-action: none;
}

/* ── 3D Marker labels ── */
.marker3d-label {
    display: flex;
    align-items: center;
    gap: 4px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 8px;
    padding: 4px 9px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    white-space: nowrap;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    user-select: none;
}

.marker3d-label:hover {
    transform: scale(1.08);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.marker3d-label-active {
    position: relative;
    z-index: 100001;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.28);
}

.marker3d-label-active + .marker3d-popup {
    z-index: 100002;
}

.marker3d-emoji {
    font-size: 14px;
    line-height: 1;
}

.marker3d-title {
    font-size: 12px;
    font-weight: 600;
    color: #1e293b;
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.marker3d-special {
    border-left: 3px solid #22c55e;
}

.marker3d-target {
    background: rgba(239, 68, 68, 0.95);
    color: white;
    border-radius: 10px;
    padding: 4px 10px;
    font-size: 13px;
    animation: targetPulse 1.5s ease-in-out infinite;
}

.marker3d-target .marker3d-title {
    color: white;
    font-weight: 700;
}

@keyframes targetPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.08); }
}

.marker3d-waypoint {
    background: rgba(102, 126, 234, 0.95);
    color: white;
}

.marker3d-waypoint .marker3d-title {
    color: white;
}

.marker3d-banner {
    border-left: 3px solid #f97316;
    padding: 5px 10px;
    box-shadow: 0 3px 10px rgba(249, 115, 22, 0.26);
}

.marker3d-banner-thumb {
    width: 21px;
    height: 21px;
    border-radius: 4px;
    object-fit: cover;
    border: 1px solid #fdba74;
    flex-shrink: 0;
}

.marker3d-index {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: white;
    color: #667eea;
    font-size: 11px;
    font-weight: 700;
    flex-shrink: 0;
}

/* ── Marker popup (click-to-open) ── */
.marker3d-popup {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 6px;
    background: white;
    border-radius: 12px;
    padding: 12px 14px;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
    min-width: 180px;
    max-width: 260px;
    z-index: 100;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    animation: popupFadeIn 0.15s ease-out;
}

@keyframes popupFadeIn {
    from { opacity: 0; transform: translateX(-50%) translateY(-4px); }
    to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}

.marker3d-popup-title {
    font-size: 14px;
    font-weight: 700;
    color: #1a202c;
    margin-bottom: 8px;
}

.marker3d-popup-commodities {
    background: #f0f4ff;
    border-radius: 8px;
    padding: 8px 10px;
    border-left: 3px solid #667eea;
    margin-bottom: 10px;
}

.marker3d-popup-commodities-title {
    font-size: 12px;
    font-weight: 600;
    color: #4a5568;
    margin-bottom: 4px;
}

.marker3d-popup-commodities ul {
    margin: 0;
    padding: 0 0 0 16px;
    list-style: disc;
}

.marker3d-popup-commodities li {
    font-size: 12px;
    color: #2d3748;
    padding: 1px 0;
}

.marker3d-popup-image-wrap {
    margin-bottom: 10px;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

.marker3d-popup-image {
    display: block;
    width: 100%;
    max-height: 140px;
    object-fit: cover;
}

.marker3d-popup-btn {
    display: block;
    width: 100%;
    padding: 8px 12px;
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
}

.marker3d-popup-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(34, 197, 94, 0.4);
}

.marker3d-passed-btn {
    background: linear-gradient(135deg, #6b7280 0%, #4b5563 100%);
    margin-top: 6px;
}

.marker3d-passed-btn:hover {
    box-shadow: 0 4px 12px rgba(107, 114, 128, 0.4);
}

.marker3d-banner-btn {
    background: linear-gradient(135deg, #f97316 0%, #ea580c 100%);
}

.marker3d-banner-btn:hover {
    box-shadow: 0 4px 12px rgba(249, 115, 22, 0.45);
}

/* ── Compass reset button ── */
.map3d-compass-btn {
    position: absolute;
    bottom: 80px;
    right: 16px;
    z-index: 200;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    border: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.22);
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.map3d-compass-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28);
}

.map3d-compass-btn:active {
    transform: scale(0.95);
}

/*!*****************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/js/components/UserProfile/UserProfile.css ***!
  \*****************************************************************************************************************************************/
.user-profile {
    min-height: calc(100vh - 200px);
    padding: 2rem 0 4rem;
    background: #f8f9fa;
}

.profile-header {
    text-align: center;
    margin-bottom: 3rem;
}

.profile-header h1 {
    font-size: 2.5rem;
    color: #1a1a1a;
    margin-bottom: 0.5rem;
}

.profile-username {
    color: #6c757d;
    font-size: 1.1rem;
}

.profile-username i {
    margin-right: 0.5rem;
}

.profile-tabs {
    display: flex;
    gap: 1rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
    justify-content: center;
}

.profile-tab {
    padding: 0.75rem 1.5rem;
    border: 1px solid #dee2e6;
    background: #fff;
    color: #6c757d;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.profile-tab i {
    font-size: 1.1rem;
}

.profile-tab:hover {
    background: #e8f5e9;
    border-color: #4CAF50;
    color: #2e7d32;
}

.profile-tab.active {
    background: #4CAF50;
    border-color: #4CAF50;
    color: #fff;
}

.profile-message {
    padding: 1rem 1.5rem;
    border-radius: 12px;
    margin-bottom: 2rem;
    text-align: center;
}

.profile-message.success {
    background: rgba(34, 197, 94, 0.1);
    border: 1px solid rgba(34, 197, 94, 0.3);
    color: #4ade80;
}

.profile-message.error {
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.3);
    color: #f87171;
}

.profile-content {
    max-width: 900px;
    margin: 0 auto;
}

.profile-loading {
    text-align: center;
    padding: 4rem 2rem;
    color: #6c757d;
    font-size: 1.2rem;
}

.profile-loading i {
    margin-right: 0.5rem;
}

.profile-section h2 {
    font-size: 1.8rem;
    color: #1a1a1a;
    margin-bottom: 1rem;
}

.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
    gap: 1rem;
}

.section-description {
    color: #6c757d;
    margin-bottom: 1.5rem;
    line-height: 1.6;
}

.btn-create-collection {
    padding: 0.6rem 1.5rem;
    background: #4CAF50;
    border: none;
    border-radius: 8px;
    color: #fff;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.btn-create-collection:hover {
    background: #45a049;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(76, 175, 80, 0.3);
}

.create-collection-form {
    background: #fff;
    border: 2px solid #4CAF50;
    border-radius: 12px;
    padding: 2rem;
    margin-bottom: 2rem;
}

.create-collection-form h3 {
    color: #1a1a1a;
    margin-bottom: 1.5rem;
    font-size: 1.3rem;
}

.form-group {
    margin-bottom: 1.5rem;
}

.form-group label {
    display: block;
    color: #495057;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.form-control {
    width: 100%;
    padding: 0.75rem;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    color: #1a1a1a;
    font-family: inherit;
    font-size: 1rem;
}

.form-control select,
select.form-control {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    cursor: pointer;
    padding: 0.78rem 2.7rem 0.78rem 0.85rem;
    border: 1px solid #c9d8cc;
    border-radius: 10px;
    background-color: #fdfefd;
    background-image:
        linear-gradient(180deg, #ffffff 0%, #f4faf5 100%),
        url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 14 14%27%3E%3Cpath d=%27M3 5.25L7 9l4-3.75%27 fill=%27none%27 stroke=%27%235f7a65%27 stroke-width=%271.8%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E");
    background-repeat: no-repeat, no-repeat;
    background-position: 0 0, right 0.85rem center;
    background-size: 100% 100%, 14px 14px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

select.form-control:hover {
    border-color: #9ebea4;
}

select.form-control:focus {
    outline: none;
    border-color: #4CAF50;
    box-shadow: 0 0 0 0.2rem rgba(76, 175, 80, 0.2);
}

select.form-control::-ms-expand {
    display: none;
}

.select-modern-wrap {
    position: relative;
}

.select-modern-wrap::after {
    content: '';
    position: absolute;
    right: 0.95rem;
    top: 50%;
    width: 0.55rem;
    height: 0.55rem;
    border-right: 2px solid #5f7a65;
    border-bottom: 2px solid #5f7a65;
    transform: translateY(-60%) rotate(45deg);
    pointer-events: none;
}

.select-modern-wrap .form-control--select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    border: 1px solid #c9d8cc !important;
    border-radius: 10px !important;
    padding: 0.78rem 2.7rem 0.78rem 0.85rem !important;
    background: linear-gradient(180deg, #ffffff 0%, #f4faf5 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.select-modern-wrap .form-control--select:hover {
    border-color: #9ebea4 !important;
}

.select-modern-wrap .form-control--select:focus {
    border-color: #4CAF50 !important;
    box-shadow: 0 0 0 0.2rem rgba(76, 175, 80, 0.2) !important;
}

.commodity-search {
    margin-bottom: 0.5rem;
}

.commodity-picker {
    max-height: 250px;
    overflow-y: auto;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    background: #f8f9fa;
}

.commodity-picker-empty {
    padding: 1.5rem;
    text-align: center;
    color: #6c757d;
}

.commodity-picker-item {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
    padding: 0.6rem 0.75rem;
    cursor: pointer;
    border-bottom: 1px solid #e9ecef;
    transition: background 0.15s;
    margin: 0;
}

.commodity-picker-item:last-child {
    border-bottom: none;
}

.commodity-picker-item:hover {
    background: #e8f5e9;
}

.commodity-picker-item.selected {
    background: #e8f5e9;
}

.commodity-picker-item input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    margin: 0;
    border: 2px solid #9ab7a0;
    border-radius: 5px;
    background: #fff;
    display: grid;
    place-content: center;
    cursor: pointer;
    transition: all 0.18s ease;
    flex-shrink: 0;
    align-self: flex-start;
    margin-top: 0.1rem;
}

.commodity-main {
    flex: 1;
    min-width: 0;
    display: grid;
    row-gap: 0.3rem;
}

.commodity-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.45rem;
    align-items: center;
}

.commodity-picker-item input[type="checkbox"]::before {
    content: '';
    width: 9px;
    height: 5px;
    border: 2px solid #fff;
    border-top: 0;
    border-right: 0;
    transform: rotate(-45deg) scale(0);
    transform-origin: center;
    transition: transform 0.14s ease;
    margin-top: -1px;
}

.commodity-picker-item input[type="checkbox"]:hover {
    border-color: #4CAF50;
    box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.12);
}

.commodity-picker-item input[type="checkbox"]:focus-visible {
    outline: none;
    border-color: #4CAF50;
    box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.22);
}

.commodity-picker-item input[type="checkbox"]:checked {
    background: #4CAF50;
    border-color: #4CAF50;
}

.commodity-picker-item input[type="checkbox"]:checked::before {
    transform: rotate(-45deg) scale(1);
}

.commodity-title {
    font-size: 0.95rem;
    color: #1a1a1a;
    line-height: 1.125rem;
    min-width: 0;
    word-break: break-word;
}

.commodity-category {
    font-size: 0.8rem;
    color: #6c757d;
    background: #e9ecef;
    padding: 0.15rem 0.5rem;
    border-radius: 4px;
}

.commodity-price {
    font-size: 0.85rem;
    color: #4CAF50;
    font-weight: 600;
    white-space: nowrap;
}

.commodity-picker-item > .commodity-title {
    flex: 1;
    min-width: 0;
    margin-top: 0.1rem;
}

.commodity-picker-item > .commodity-category,
.commodity-picker-item > .commodity-price {
    margin-left: calc(18px + 0.7rem);
    margin-top: 0.25rem;
}

.form-control:focus {
    outline: none;
    border-color: #4CAF50;
    box-shadow: 0 0 0 0.2rem rgba(76, 175, 80, 0.25);
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 1rem;
}

.form-actions {
    display: flex;
    gap: 1rem;
    margin-top: 1.5rem;
}

.btn-cancel {
    padding: 0.75rem 2rem;
    background: #6c757d;
    border: none;
    border-radius: 12px;
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-cancel:hover {
    background: #5a6268;
}

.context-input {
    width: 100%;
    padding: 1rem;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 12px;
    color: #1a1a1a;
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.6;
    resize: vertical;
    margin-bottom: 1.5rem;
}

.context-input:focus {
    outline: none;
    border-color: #4CAF50;
    background: #fff;
    box-shadow: 0 0 0 0.2rem rgba(76, 175, 80, 0.25);
}

.btn-save {
    padding: 0.75rem 2rem;
    background: #4CAF50;
    border: none;
    border-radius: 12px;
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-save:hover:not(:disabled) {
    background: #45a049;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(76, 175, 80, 0.3);
}

.btn-save:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.empty-state {
    text-align: center;
    padding: 3rem 2rem;
    color: #6c757d;
    font-size: 1.1rem;
}

/* History */
.history-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.history-item {
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 12px;
    padding: 1.5rem;
    transition: all 0.3s ease;
}

.history-item:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.history-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.75rem;
}

.history-shop {
    font-weight: 600;
    color: #4CAF50;
    font-size: 1.05rem;
    text-decoration: none;
}

.history-shop:hover {
    color: #388E3C;
    text-decoration: underline;
}

.history-date {
    color: #6c757d;
    font-size: 0.9rem;
}

.history-query {
    color: #495057;
    margin-bottom: 0.5rem;
    padding: 0.5rem;
    background: #f8f9fa;
    border-radius: 6px;
}

.history-query i {
    color: #4CAF50;
    margin-right: 0.5rem;
}

.history-route {
    color: #6c757d;
    margin-bottom: 0.5rem;
    font-size: 0.95rem;
}

.history-route i {
    color: #4CAF50;
    margin-right: 0.5rem;
}

.history-products {
    color: #495057;
    margin-bottom: 0.75rem;
    font-size: 0.95rem;
    padding: 0.5rem;
    background: #f8f9fa;
    border-radius: 6px;
}

.history-products i {
    color: #4CAF50;
    margin-right: 0.5rem;
}

.history-stats {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    color: #6c757d;
    font-size: 0.9rem;
}

.history-stats span {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.history-stats i {
    color: #4CAF50;
}

.history-actions {
    margin-top: 0.85rem;
}

.btn-view-route {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    border: none;
    border-radius: 8px;
    background: #4CAF50;
    color: #fff;
    padding: 0.55rem 0.85rem;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn-view-route:hover:not(:disabled) {
    background: #45a049;
    transform: translateY(-1px);
}

.btn-view-route:disabled {
    background: #a9b8a9;
    cursor: not-allowed;
    opacity: 0.85;
}

/* Collections */
.collections-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 1.5rem;
}

.collection-card {
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 12px;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    min-width: 0;
    transition: all 0.3s ease;
}

.collection-card:hover {
    border-color: #4CAF50;
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.collection-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.collection-emoji {
    font-size: 2rem;
}

.collection-card h3 {
    color: #1a1a1a;
    font-size: 1.2rem;
    margin: 0;
}

.collection-description {
    color: #6c757d;
    margin-bottom: 1rem;
    font-size: 0.95rem;
}

.collection-meta {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    color: #6c757d;
    font-size: 0.9rem;
}

.collection-meta span {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.collection-meta i {
    color: #4CAF50;
}

.collection-items-preview {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-bottom: 0.9rem;
    padding: 0.55rem 0.65rem;
    border-radius: 8px;
    background: #f8f9fa;
    color: #495057;
    font-size: 0.9rem;
}

.collection-items-preview i {
    color: #4CAF50;
    margin-top: 0.1rem;
}

.collection-items-preview span {
    min-width: 0;
    word-break: break-word;
}

.collection-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 0.5rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #dee2e6;
}

.btn-edit, .btn-delete {
    min-width: 0;
    padding: 0.55rem 0.75rem;
    border: none;
    border-radius: 8px;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    line-height: 1.2;
    white-space: normal;
    text-align: center;
    overflow-wrap: anywhere;
}

.btn-edit {
    background: #4CAF50;
    color: #fff;
}

.btn-edit:hover {
    background: #45a049;
}

.btn-delete {
    background: #dc3545;
    color: #fff;
}

.btn-delete:hover {
    background: #c82333;
}

.edit-collection-form {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.edit-collection-form .form-control {
    margin-bottom: 0;
}

.collection-edit-actions {
    display: flex;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.btn-save-small, .btn-cancel-small {
    flex: 1;
    padding: 0.5rem 1rem;
    border: none;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-save-small {
    background: #4CAF50;
    color: #fff;
}

.btn-save-small:hover:not(:disabled) {
    background: #45a049;
}

.btn-save-small:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-cancel-small {
    background: #6c757d;
    color: #fff;
}

.btn-cancel-small:hover {
    background: #5a6268;
}

/* Stats */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1.5rem;
}

.stat-card {
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 12px;
    padding: 1.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    transition: all 0.3s ease;
}

.stat-card:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.stat-icon {
    width: 60px;
    height: 60px;
    background: #e8f5e9;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: #4CAF50;
    flex-shrink: 0;
}

.stat-content {
    flex: 1;
}

.stat-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 0.25rem;
}

.stat-label {
    color: #6c757d;
    font-size: 0.9rem;
}

@media (max-width: 1280px) {
    .collection-actions {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .profile-header h1 {
        font-size: 2rem;
    }

    .profile-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.55rem;
        width: 100%;
    }

    .profile-tab {
        width: 100%;
        justify-content: center;
        padding: 0.65rem 0.6rem;
        font-size: 0.84rem;
        line-height: 1.2;
        min-height: 52px;
    }

    .history-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    .history-actions {
        width: 100%;
    }

    .btn-view-route {
        width: 100%;
        justify-content: center;
    }

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

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


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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Q0ksaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2Qsc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksY0FBYztJQUNkLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJO1FBQ0ksMEJBQTBCO0lBQzlCO0FBQ0o7O0FBRUE7SUFDSTtRQUNJLGVBQWU7SUFDbkI7O0lBRUE7UUFDSSxhQUFhO1FBQ2IsZ0RBQWdEO1FBQ2hELFlBQVk7UUFDWixXQUFXO0lBQ2Y7O0lBRUE7UUFDSSxXQUFXO1FBQ1gsdUJBQXVCO1FBQ3ZCLHVCQUF1QjtRQUN2QixrQkFBa0I7UUFDbEIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtJQUNwQjs7SUFFQTtRQUNJLHNCQUFzQjtRQUN0Qix1QkFBdUI7UUFDdkIsV0FBVztJQUNmOztJQUVBO1FBQ0ksV0FBVztJQUNmOztJQUVBO1FBQ0ksV0FBVztRQUNYLHVCQUF1QjtJQUMzQjs7SUFFQTtRQUNJLDBCQUEwQjtJQUM5Qjs7SUFFQTtRQUNJLDBCQUEwQjtJQUM5QjtBQUNKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9tYXAuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9qcy9jb21wb25lbnRzL1Nob3AvTWFwM0QvTWFwM0QuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9qcy9jb21wb25lbnRzL1VzZXJQcm9maWxlL1VzZXJQcm9maWxlLmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiDQodC+0LLRgNC10LzQtdC90L3Ri9C1INGB0YLQuNC70Lgg0LTQu9GPIGluZG9vciDQutCw0YDRgtGLICovXG5cbi8qIOKUgOKUgCBGdWxsLXNjcmVlbiBtYXAgcGFnZSBsYXlvdXQg4pSA4pSAICovXG4ubWFwLXBhZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1hcC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMTtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubWFwLXdyYXBwZXIgLmxlYWZsZXQtY29udGFpbmVyIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG59XG5cbi8qIOKUgOKUgCBTaG9wIGhlYWRlciBiYXIg4pSA4pSAICovXG4uc2hvcC1oZWFkZXItYmFyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTcpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIyNiwgMjMyLCAyNDAsIDAuOCk7XG4gICAgYm94LXNoYWRvdzogMCAxcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gICAgei1pbmRleDogMTA7XG59XG5cbi5zaG9wLWhlYWRlci1uYW1lIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzFhMjAyYztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uc2hvcC1oZWFkZXItYWRkcmVzcyB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNzE4MDk2O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDVweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5zaG9wLWhlYWRlci1pY29uIHtcbiAgICBjb2xvcjogIzY2N2VlYTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi8qIOKUgOKUgCBSb3V0ZSBpbmZvIGJhciAoYWJvdmUgbWFwLCBub3Qgb3ZlcmxhcHBpbmcpIOKUgOKUgCAqL1xuLnJvdXRlLWluZm8tYmFyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyMjYsIDIzMiwgMjQwLCAwLjYpO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbmltYXRpb246IHNsaWRlRG93biAwLjNzIGVhc2Utb3V0O1xufVxuXG4vKiDQmtCw0YHRgtC+0LzQvdGL0LUg0LzQsNGA0LrQtdGA0YsgKi9cbi5jdXN0b20tc2hvcC1tYXJrZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2NjdlZWEgMCUsICM3NjRiYTIgMTAwJSk7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJSA1MCUgNTAlIDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmN1c3RvbS1zaG9wLW1hcmtlcjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgxLjE1KTtcbiAgICBib3gtc2hhZG93OiAwIDZweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cblxuLmN1c3RvbS1zaG9wLW1hcmtlciAuaWNvbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogd2hpdGU7XG59XG5cbi8qIFRhcmdldCBtYXJrZXIgKHNlYXJjaC9yb3V0ZSByZXN1bHQpICovXG4udGFyZ2V0LW1hcmtlciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y1OWUwYiAwJSwgI2VmNDQ0NCAxMDAlKTtcbn1cblxuLyog0JzQsNGA0LrQtdGAINCy0YXQvtC00LAv0LLRi9GF0L7QtNCwICovXG4uZW50cmFuY2UtbWFya2VyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMTE5OThlIDAlLCAjMzhlZjdkIDEwMCUpO1xufVxuXG4uZXhpdC1tYXJrZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNlZTA5NzkgMCUsICNmZjZhMDAgMTAwJSk7XG59XG5cbi8qIFRvb2x0aXAg0LTQu9GPINC60L7QvNC90LDRgiAqL1xuLnJvb20tdG9vbHRpcCB7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZjtcbn1cblxuLnJvb20tdG9vbHRpcCBoMyB7XG4gICAgbWFyZ2luOiAwIDAgOHB4IDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMxYTIwMmM7XG59XG5cbi5yb29tLXRvb2x0aXAgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzcxODA5Njtcbn1cblxuLyog0JDQvdC40LzQuNGA0L7QstCw0L3QvdGL0Lkg0LzQsNGA0YjRgNGD0YIgKi9cbi5hbmltYXRlZC1yb3V0ZSB7XG4gICAgc3Ryb2tlOiAjNDI4NUY0O1xuICAgIHN0cm9rZS13aWR0aDogNTtcbiAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG4gICAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDtcbiAgICBmaWxsOiBub25lO1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDEwLCA1O1xuICAgIGFuaW1hdGlvbjogZGFzaCAxcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDJweCA0cHggcmdiYSg2NiwgMTMzLCAyNDQsIDAuMykpO1xufVxuXG5Aa2V5ZnJhbWVzIGRhc2gge1xuICAgIHRvIHtcbiAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IC0xNTtcbiAgICB9XG59XG5cbi8qINCf0L7QtNGB0LLQtdGC0LrQsCDQutC+0LzQvdCw0YLRiyDQv9GA0LggaG92ZXIgKi9cbi5yb29tLWhpZ2hsaWdodCB7XG4gICAgZmlsbDogcmdiYSg2NiwgMTMzLCAyNDQsIDAuMik7XG4gICAgc3Ryb2tlOiAjNDI4NUY0O1xuICAgIHN0cm9rZS13aWR0aDogMztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnJvb20taGlnaGxpZ2h0OmhvdmVyIHtcbiAgICBmaWxsOiByZ2JhKDY2LCAxMzMsIDI0NCwgMC4zNSk7XG4gICAgc3Ryb2tlLXdpZHRoOiA0O1xufVxuXG4vKiBab29tIGNvbnRyb2xzICovXG4uY3VzdG9tLXpvb20tY29udHJvbHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIwcHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA4cHg7XG59XG5cbi56b29tLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjb2xvcjogIzRhNTU2ODtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uem9vbS1idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmN2ZhZmM7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4uem9vbS1idXR0b246YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi8qIOKUgOKUgCBCb3R0b20gTmF2aWdhdGlvbiBCYXIg4pSA4pSAICovXG4uYm90dG9tLW5hdi1iYXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAxMTAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDU2cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkyKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTZweCk7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTZweCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjI2LCAyMzIsIDI0MCwgMC42KTtcbiAgICBib3gtc2hhZG93OiAwIC0ycHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuXG4uYm90dG9tLW5hdi1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDJweDtcbiAgICBwYWRkaW5nOiA2cHggMTZweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBjb2xvcjogIzcxODA5Njtcbn1cblxuLmJvdHRvbS1uYXYtaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMDIsIDEyNiwgMjM0LCAwLjA4KTtcbn1cblxuLmJvdHRvbS1uYXYtaXRlbS0tYWN0aXZlIHtcbiAgICBjb2xvcjogIzY2N2VlYTtcbn1cblxuLmJvdHRvbS1uYXYtaXRlbS0tYWN0aXZlIC5ib3R0b20tbmF2LWljb24ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSk7XG59XG5cbi5ib3R0b20tbmF2LWljb24ge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xufVxuXG4uYm90dG9tLW5hdi1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbn1cblxuLyog4pSA4pSAIEJvdHRvbSBTaGVldCDilIDilIAgKi9cbi5ib3R0b20tc2hlZXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogNTZweDsgLyogc2l0cyBhYm92ZSB0aGUgbmF2IGJhciAqL1xuICAgIHotaW5kZXg6IDEwNTA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk2KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTZweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTZweDtcbiAgICBib3gtc2hhZG93OiAwIC00cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBIZWlnaHQgaXMgbm93IGNvbnRyb2xsZWQgdmlhIGlubGluZSBzdHlsZSBmcm9tIEpTIChkcmFnLXRvLXJlc2l6ZSkgKi9cbi8qIFRyYW5zaXRpb24gaXMgYXBwbGllZCB1bmxlc3MgZHJhZ2dpbmcgKEpTIHJlbW92ZXMgaXQgZHVyaW5nIGRyYWcpICovXG5cbi5ib3R0b20tc2hlZXRfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEwcHggMTZweCA4cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogZ3JhYjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIHRvdWNoLWFjdGlvbjogbm9uZTsgLyogcHJldmVudCBtb2JpbGUgcGFnZSBzY3JvbGwgZHVyaW5nIGRyYWcgKi9cbn1cblxuLmJvdHRvbS1zaGVldF9faGVhZGVyOmFjdGl2ZSB7XG4gICAgY3Vyc29yOiBncmFiYmluZztcbn1cblxuLmJvdHRvbS1zaGVldF9faGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA2cHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiAjY2JkNWUwO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cblxuLmJvdHRvbS1zaGVldF9fdGl0bGUge1xuICAgIGZsZXg6IDE7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMxYTIwMmM7XG4gICAgcGFkZGluZy10b3A6IDRweDtcbn1cblxuLmJvdHRvbS1zaGVldF9fY2xvc2Uge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjNzE4MDk2O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5ib3R0b20tc2hlZXRfX2Nsb3NlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIGNvbG9yOiAjMmQzNzQ4O1xufVxuXG4uYm90dG9tLXNoZWV0X19jb250ZW50IHtcbiAgICBmbGV4OiAxO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcGFkZGluZzogMCAxNnB4IDE2cHg7XG4gICAgbWluLWhlaWdodDogMDtcbn1cblxuLyog4pSA4pSAIFNlYXJjaCBTd2l0Y2hlciAoaW5zaWRlIHNlYXJjaCBzaGVldCkg4pSA4pSAICovXG4uc2VhcmNoLXN3aXRjaGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZWRmMmY3O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgcGFkZGluZzogM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5zZWFyY2gtc3dpdGNoZXItYnRuIHtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICM3MTgwOTY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5zZWFyY2gtc3dpdGNoZXItYnRuLS1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGNvbG9yOiAjNjY3ZWVhO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLnNlYXJjaC1pbnB1dC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qINCf0L7QuNGB0LogKi9cbi5tYXAtc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjBweDtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgd2lkdGg6IDMwMHB4O1xufVxuXG4ubWFwLXNlYXJjaC1pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTJweCAxNnB4IDEycHggNDRweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLm1hcC1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4uc2VhcmNoLWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAxNnB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBjb2xvcjogI2EwYWVjMDtcbn1cblxuLnNlYXJjaC1yZXN1bHRzIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgbWF4LWhlaWdodDogNDAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnNlYXJjaC1yZXN1bHQtaXRlbSB7XG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZThmMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZTtcbn1cblxuLnNlYXJjaC1yZXN1bHQtaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Y3ZmFmYztcbn1cblxuLnNlYXJjaC1yZXN1bHQtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uc2VhcmNoLXJlc3VsdC1uYW1lIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjMmQzNzQ4O1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLnNlYXJjaC1yZXN1bHQtY2F0ZWdvcnkge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogIzcxODA5Njtcbn1cblxuLyogQUkgQXNzaXN0YW50IOKAlCBjaGF0IGxheW91dCAqL1xuLmFpLWFzc2lzdGFudC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMTtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIGdhcDogMDtcbn1cblxuLmFpLWNoYXQtYm9keSB7XG4gICAgZmxleDogMTtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcGFkZGluZzogMCAwIDhweCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbn1cblxuLmFpLWNoYXQtZW1wdHkge1xuICAgIGNvbG9yOiAjNzE4MDk2O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMjBweCA4cHg7XG59XG5cbi5haS1jaGF0LW1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5haS1jaGF0LXVzZXIge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5haS1jaGF0LWFpIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5haS1jaGF0LWJ1YmJsZSB7XG4gICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLmFpLWNoYXQtYnViYmxlLXVzZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2NjdlZWEgMCUsICM3NjRiYTIgMTAwJSk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG59XG5cbi5haS1jaGF0LWJ1YmJsZS1haSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNDAsIDI0NCwgMjU1LCAwLjg1KTtcbiAgICBjb2xvcjogIzJkMzc0ODtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG59XG5cbi5haS1hbnN3ZXItdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4uYWktY2hhdC1zeXN0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICM2NjdlZWE7XG4gICAgcGFkZGluZzogNHB4IDA7XG59XG5cbi5haS1pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDZweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMmU4ZjA7XG59XG5cbi5haS1hdHRhY2gtYnV0dG9uIHtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxLjVweCBzb2xpZCAjY2JkNWUwO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uYWktYXR0YWNoLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNjY3ZWVhO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTAyLCAxMjYsIDIzNCwgMC4wOCk7XG59XG5cbi5haS1hdHRhY2gtYnV0dG9uOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmFpLWlucHV0LWdyb3VwIC5tYXAtc2VhcmNoLWlucHV0IHtcbiAgICBmbGV4OiAxO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmFpLXNlbmQtYnV0dG9uIHtcbiAgICB3aWR0aDogNDRweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzY2N2VlYSAwJSwgIzc2NGJhMiAxMDAlKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uYWktc2VuZC1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMTAyLCAxMjYsIDIzNCwgMC40KTtcbn1cblxuLmFpLXNlbmQtYnV0dG9uOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmFpLWxvYWRpbmcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBjb2xvcjogIzY2N2VlYTtcbn1cblxuLnNwaW5uZXItc21hbGwge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM2NjdlZWE7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGFuaW1hdGlvbjogc3BpbiAwLjhzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLmFpLXF1ZXN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICM2NjdlZWE7XG59XG5cbi5haS1hbnN3ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzM4YjJhYztcbn1cblxuLmFpLWNhdGVnb3JpZXMge1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG5cbi5haS1jYXRlZ29yaWVzLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBjb2xvcjogIzJkMzc0ODtcbn1cblxuLmFpLWNhdGVnb3J5LWl0ZW0ge1xuICAgIHBhZGRpbmc6IDRweCAwO1xuICAgIGNvbG9yOiAjNGE1NTY4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLmFpLWJ1aWxkLXJvdXRlLWJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzY2N2VlYSAwJSwgIzc2NGJhMiAxMDAlKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5haS1idWlsZC1yb3V0ZS1idXR0b246aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMTAyLCAxMjYsIDIzNCwgMC40KTtcbn1cblxuLyogUm91dGUgbWFya2VycyBhbmQgdmlzdWFsaXphdGlvbiAqL1xuLmFuaW1hdGVkLXJvdXRlLWxpbmUge1xuICAgIGFuaW1hdGlvbjogZGFzaCAxcyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi5yb3V0ZS1tYXJrZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNHB4O1xufVxuXG4ucm91dGUtbWFya2VyLWljb24ge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBhbmltYXRpb246IGJvdW5jZSAxcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuLnJvdXRlLW1hcmtlci1pY29uLnN0YXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMTBiOTgxIDAlLCAjMDU5NjY5IDEwMCUpO1xufVxuXG4ucm91dGUtbWFya2VyLWljb24uZW5kIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZWY0NDQ0IDAlLCAjZGMyNjI2IDEwMCUpO1xufVxuXG4ucm91dGUtbWFya2VyLWljb24ud2F5cG9pbnQge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2NjdlZWEgMCUsICM3NjRiYTIgMTAwJSk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLnJvdXRlLW1hcmtlci1sYWJlbCB7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRhcmdldC1sYWJlbC10b29sdGlwIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogIzFhMjAyYztcbn1cblxuLnRhcmdldC1sYWJlbC10b29sdGlwOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBrZXlmcmFtZXMgZGFzaCB7XG4gICAgdG8ge1xuICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogLTIwO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAgIDAlLCAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XG4gICAgfVxufVxuXG4vKiAucm91dGUtaW5mby1wYW5lbCBpcyBub3cgcmVwbGFjZWQgYnkgLnJvdXRlLWluZm8tYmFyIHJlbmRlcmVkIGJ5IFJlYWN0IGFib3ZlIHRoZSBtYXAgKi9cblxuQGtleWZyYW1lcyBzbGlkZURvd24ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLnJvdXRlLWNoaXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMDIsIDEyNiwgMjM0LCAwLjEpO1xuICAgIGNvbG9yOiAjMmQzNzQ4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHBhZGRpbmc6IDRweCAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnJvdXRlLXJlc2V0LWJ0biB7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEpO1xuICAgIGNvbG9yOiAjZWY0NDQ0O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cblxuLnJvdXRlLXJlc2V0LWJ0bjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2VmNDQ0NDtcbiAgICBjb2xvcjogd2hpdGU7XG59XG5cbi8qIEN1cnJlbnQgTG9jYXRpb24gTWFya2VyICovXG4uY3VycmVudC1sb2NhdGlvbi1tYXJrZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmN1cnJlbnQtbG9jYXRpb24tcHVsc2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG59XG5cbi5jdXJyZW50LWxvY2F0aW9uLWRvdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgYmFja2dyb3VuZDogIzQyODVmNDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiAzcHggc29saWQgd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoNjYsIDEzMywgMjQ0LCAwLjYpO1xuICAgIHotaW5kZXg6IDI7XG59XG5cbi5jdXJyZW50LWxvY2F0aW9uLXJpbmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNjYsIDEzMywgMjQ0LCAwLjMpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBhbmltYXRpb246IHB1bHNlLXJpbmcgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBwdWxzZS1yaW5nIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDAuOCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgyKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbi5jdXJyZW50LWxvY2F0aW9uLWxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0NXB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgcGFkZGluZzogNHB4IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzQyODVmNDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBQb3B1cCDQtNC70Y8g0LTQtdGC0LDQu9C10Lkg0LzQsNCz0LDQt9C40L3QsCAqL1xuLmxlYWZsZXQtcG9wdXAtY29udGVudC13cmFwcGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuXG4ubGVhZmxldC1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG5cbi5sZWFmbGV0LWNvbnRhaW5lciBpbWcsXG4ubGVhZmxldC1jb250YWluZXIgc3ZnLFxuLmxlYWZsZXQtaW1hZ2UtbGF5ZXIsXG4ubGVhZmxldC1vdmVybGF5LXBhbmUgc3ZnLFxuLm1hcC1pbWFnZS1vdmVybGF5IHtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5tYXAtaW1hZ2Utb3ZlcmxheSB7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0O1xuICAgIGltYWdlLXJlbmRlcmluZzogY3Jpc3AtZWRnZXM7XG59XG5cbi5zaG9wLXBvcHVwIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIG1pbi13aWR0aDogMjUwcHg7XG59XG5cbi5zaG9wLXBvcHVwIGgzIHtcbiAgICBtYXJnaW46IDAgMCAxMnB4IDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMxYTIwMmM7XG59XG5cbi5zaG9wLXBvcHVwLWluZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbn1cblxuLnNob3AtcG9wdXAtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjNGE1NTY4O1xufVxuXG4uc2hvcC1wb3B1cC1pY29uIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBjb2xvcjogIzY2N2VlYTtcbn1cblxuLnNob3AtcG9wdXAtYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNjY3ZWVhIDAlLCAjNzY0YmEyIDEwMCUpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG5cbi5zaG9wLXBvcHVwLWJ1dHRvbjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgxMDIsIDEyNiwgMjM0LCAwLjQpO1xufVxuXG4vKiDQotC+0LLQsNGA0Ysg0LIgcG9wdXAg0LzQsNGA0LrQtdGA0LAgKi9cbi5zaG9wLXBvcHVwLWNvbW1vZGl0aWVzIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICNmMGY0ZmY7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzY2N2VlYTtcbn1cblxuLnNob3AtcG9wdXAtY29tbW9kaXRpZXMtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjNGE1NTY4O1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLnNob3AtcG9wdXAtY29tbW9kaXRpZXMtbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAwIDE4cHg7XG4gICAgbGlzdC1zdHlsZTogZGlzYztcbn1cblxuLnNob3AtcG9wdXAtY29tbW9kaXRpZXMtbGlzdCBsaSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjMmQzNzQ4O1xuICAgIHBhZGRpbmc6IDFweCAwO1xufVxuXG4vKiDQotC+0LLQsNGA0Ysg0LIgQUkg0YfQsNGC0LUgKi9cbi5haS1jYXRlZ29yeS1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG5cbi5haS1jYXRlZ29yeS1uYW1lIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjMmQzNzQ4O1xufVxuXG4uYWktY29tbW9kaXR5LWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogNHB4O1xuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIycHg7XG59XG5cbi5haS1jb21tb2RpdHktdGFnIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZDogI2VkZjJmNztcbiAgICBjb2xvcjogIzRhNTU2ODtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgcGFkZGluZzogMnB4IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG59XG5cbi8qINCY0L3QtNC40LrQsNGC0L7RgCDQt9Cw0LPRgNGD0LfQutC4INC80LDRgNGI0YDRg9GC0LAgKi9cbi5yb3V0ZS1sb2FkaW5nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDIwcHggMzBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICB6LWluZGV4OiAyMDAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG59XG5cbi5zcGlubmVyIHtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2UyZThmMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNjY3ZWVhO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBhbmltYXRpb246IHNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuXG4vKiDQnNCw0YDQutC10YAgXCLQktGLINC30LTQtdGB0YxcIiAqL1xuLnlvdS1hcmUtaGVyZSB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJhY2tncm91bmQ6ICM0Mjg1RjQ7XG4gICAgYm9yZGVyOiA0cHggc29saWQgd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDY2LCAxMzMsIDI0NCwgMC4zKTtcbiAgICBhbmltYXRpb246IHB1bHNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgICAwJSwgMTAwJSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDY2LCAxMzMsIDI0NCwgMC4zKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgOHB4IHJnYmEoNjYsIDEzMywgMjQ0LCAwLjEpO1xuICAgIH1cbn1cblxuLyogQUkgaGlnaGxpZ2h0ZWQgbWFya2VycyAqL1xuLmFpLWhpZ2hsaWdodGVkIHtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAyMHB4IHJnYmEoMjU1LCAyMTUsIDAsIDEpKSBcbiAgICAgICAgICAgIGRyb3Atc2hhZG93KDAgMCAxMHB4IHJnYmEoMjU1LCAxNDAsIDAsIDAuOCkpXG4gICAgICAgICAgICBicmlnaHRuZXNzKDEuMyk7XG4gICAgei1pbmRleDogMTAwMCAhaW1wb3J0YW50O1xufVxuXG4uYWktaGlnaGxpZ2h0ZWQgLmN1c3RvbS1zaG9wLW1hcmtlciB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI0ZGRDcwMCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMjU1LCAyMTUsIDAsIDAuOCksIFxuICAgICAgICAgICAgICAgIDAgMCA0MHB4IHJnYmEoMjU1LCAxNDAsIDAsIDAuNikgIWltcG9ydGFudDtcbn1cblxuQGtleWZyYW1lcyBwdWxzZS1tYXJrZXIge1xuICAgIDAlLCAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMjBweCByZ2JhKDI1NSwgMjE1LCAwLCAxKSk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSk7XG4gICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDMwcHggcmdiYSgyNTUsIDIxNSwgMCwgMSkpIFxuICAgICAgICAgICAgICAgIGRyb3Atc2hhZG93KDAgMCAxNXB4IHJnYmEoMjU1LCAxNDAsIDAsIDEpKTtcbiAgICB9XG59XG5cbi8qIOKUgOKUgCBNb2JpbGUgLyBQV0EgcmVzcG9uc2l2ZSDilIDilIAgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5ib3R0b20tbmF2LWJhciB7XG4gICAgICAgIGhlaWdodDogNTJweDtcbiAgICB9XG5cbiAgICAuYm90dG9tLW5hdi1pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgIH1cblxuICAgIC5ib3R0b20tbmF2LWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiA5cHg7XG4gICAgfVxuXG4gICAgLmJvdHRvbS1zaGVldCB7XG4gICAgICAgIGJvdHRvbTogNTJweDtcbiAgICB9XG5cbiAgICAuYWktY2hhdC1idWJibGUge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICAgIH1cblxuICAgIC5haS1pbnB1dC1ncm91cCAubWFwLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgIH1cblxuICAgIC5haS1zZW5kLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAzOHB4O1xuICAgICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG5cbiAgICAuc2hvcC1wb3B1cCB7XG4gICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgIG1pbi13aWR0aDogMTgwcHg7XG4gICAgfVxuXG4gICAgLnNob3AtcG9wdXAgaDMge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgfVxuXG4gICAgLnJvdXRlLWluZm8tYmFyIHtcbiAgICAgICAgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgICAgIGdhcDogNnB4O1xuICAgIH1cblxuICAgIC5yb3V0ZS1pbmZvLWJhciAucm91dGUtY2hpcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgcGFkZGluZzogM3B4IDhweDtcbiAgICB9XG5cbiAgICAuY3VzdG9tLXNob3AtbWFya2VyIHtcbiAgICAgICAgd2lkdGg6IDMycHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmN1c3RvbS1zaG9wLW1hcmtlciAuaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG59XG5cbi8qIENvbGxlY3Rpb24gUGlja2VyICovXG4uY29sbGVjdGlvbi1waWNrZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbiAgICBwYWRkaW5nOiA0cHggMDtcbn1cblxuLmNvbGxlY3Rpb24tbG9hZGluZyxcbi5jb2xsZWN0aW9uLWVtcHR5IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNhMGFlYzA7XG4gICAgcGFkZGluZzogMjRweCAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLmNvbGxlY3Rpb24tY2FyZCB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMDIsIDEyNiwgMjM0LCAwLjA4KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEwMiwgMTI2LCAyMzQsIDAuMik7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5jb2xsZWN0aW9uLWNhcmQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMDIsIDEyNiwgMjM0LCAwLjUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTAyLCAxMjYsIDIzNCwgMC4xNCk7XG59XG5cbi5jb2xsZWN0aW9uLWNhcmQtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbn1cblxuLmNvbGxlY3Rpb24tY2FyZC1lbW9qaSB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNvbGxlY3Rpb24tY2FyZC1pbmZvIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmNvbGxlY3Rpb24tY2FyZC10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICMyZDM3NDg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uY29sbGVjdGlvbi1jYXJkLWRlc2Mge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBjb2xvcjogIzcxODA5NjtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uY29sbGVjdGlvbi1jYXJkLWl0ZW1zIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMDIsIDEyNiwgMjM0LCAwLjE1KTtcbiAgICBwYWRkaW5nOiA2cHggMTJweDtcbn1cblxuLmNvbGxlY3Rpb24taXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIHBhZGRpbmc6IDJweCAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLmNvbGxlY3Rpb24taXRlbS1kb3Qge1xuICAgIGNvbG9yOiAjNjY3ZWVhO1xuICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uY29sbGVjdGlvbi1pdGVtLW5hbWUge1xuICAgIGNvbG9yOiAjNGE1NTY4O1xufVxuXG4uY29sbGVjdGlvbi1idWlsZC1yb3V0ZS1idG4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogOHB4IGF1dG8gNHB4O1xuICAgIHBhZGRpbmc6IDZweCAyMHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2NjdlZWEgMCUsICM3NjRiYTIgMTAwJSk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5jb2xsZWN0aW9uLWJ1aWxkLXJvdXRlLWJ0bjpob3ZlciB7XG4gICAgb3BhY2l0eTogMC45O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLyogQ2F0ZWdvcnkgcXVpY2stdGFwIGxpc3QgKGluc2lkZSBzZWFyY2ggc2hlZXQpICovXG4uY2F0ZWdvcnktcXVpY2stbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMnB4O1xuICAgIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLmNhdGVnb3J5LXF1aWNrLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7XG59XG5cbi5jYXRlZ29yeS1xdWljay1pdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEwMiwgMTI2LCAyMzQsIDAuMDgpO1xufVxuXG4uY2F0ZWdvcnktcXVpY2staXRlbTphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTAyLCAxMjYsIDIzNCwgMC4xNik7XG59XG5cbi5jYXRlZ29yeS1xdWljay1pY29uIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5jYXRlZ29yeS1xdWljay1uYW1lIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICMyZDM3NDg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbiIsIi5tYXAzZC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tYXAzZC13cmFwcGVyIGNhbnZhcyB7XG4gICAgZmxleDogMTtcbiAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8qIOKUgOKUgCAzRCBNYXJrZXIgbGFiZWxzIOKUgOKUgCAqL1xuLm1hcmtlcjNkLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogNHB4IDlweDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZSwgYm94LXNoYWRvdyAwLjE1cyBlYXNlO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ubWFya2VyM2QtbGFiZWw6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wOCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuXG4ubWFya2VyM2QtbGFiZWwtYWN0aXZlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTAwMDAxO1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjI4KTtcbn1cblxuLm1hcmtlcjNkLWxhYmVsLWFjdGl2ZSArIC5tYXJrZXIzZC1wb3B1cCB7XG4gICAgei1pbmRleDogMTAwMDAyO1xufVxuXG4ubWFya2VyM2QtZW1vamkge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbn1cblxuLm1hcmtlcjNkLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzFlMjkzYjtcbiAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5tYXJrZXIzZC1zcGVjaWFsIHtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICMyMmM1NWU7XG59XG5cbi5tYXJrZXIzZC10YXJnZXQge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuOTUpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBhZGRpbmc6IDRweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBhbmltYXRpb246IHRhcmdldFB1bHNlIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbi5tYXJrZXIzZC10YXJnZXQgLm1hcmtlcjNkLXRpdGxlIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuQGtleWZyYW1lcyB0YXJnZXRQdWxzZSB7XG4gICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgNTAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KTsgfVxufVxuXG4ubWFya2VyM2Qtd2F5cG9pbnQge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTAyLCAxMjYsIDIzNCwgMC45NSk7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4ubWFya2VyM2Qtd2F5cG9pbnQgLm1hcmtlcjNkLXRpdGxlIHtcbiAgICBjb2xvcjogd2hpdGU7XG59XG5cbi5tYXJrZXIzZC1iYW5uZXIge1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2Y5NzMxNjtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICBib3gtc2hhZG93OiAwIDNweCAxMHB4IHJnYmEoMjQ5LCAxMTUsIDIyLCAwLjI2KTtcbn1cblxuLm1hcmtlcjNkLWJhbm5lci10aHVtYiB7XG4gICAgd2lkdGg6IDIxcHg7XG4gICAgaGVpZ2h0OiAyMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmRiYTc0O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ubWFya2VyM2QtaW5kZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGNvbG9yOiAjNjY3ZWVhO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiDilIDilIAgTWFya2VyIHBvcHVwIChjbGljay10by1vcGVuKSDilIDilIAgKi9cbi5tYXJrZXIzZC1wb3B1cCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDEycHggMTRweDtcbiAgICBib3gtc2hhZG93OiAwIDZweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG4gICAgbWluLXdpZHRoOiAxODBweDtcbiAgICBtYXgtd2lkdGg6IDI2MHB4O1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gICAgYW5pbWF0aW9uOiBwb3B1cEZhZGVJbiAwLjE1cyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyBwb3B1cEZhZGVJbiB7XG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC00cHgpOyB9XG4gICAgdG8gICB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDApOyB9XG59XG5cbi5tYXJrZXIzZC1wb3B1cC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMxYTIwMmM7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4ubWFya2VyM2QtcG9wdXAtY29tbW9kaXRpZXMge1xuICAgIGJhY2tncm91bmQ6ICNmMGY0ZmY7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzY2N2VlYTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ubWFya2VyM2QtcG9wdXAtY29tbW9kaXRpZXMtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjNGE1NTY4O1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLm1hcmtlcjNkLXBvcHVwLWNvbW1vZGl0aWVzIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDAgMTZweDtcbiAgICBsaXN0LXN0eWxlOiBkaXNjO1xufVxuXG4ubWFya2VyM2QtcG9wdXAtY29tbW9kaXRpZXMgbGkge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzJkMzc0ODtcbiAgICBwYWRkaW5nOiAxcHggMDtcbn1cblxuLm1hcmtlcjNkLXBvcHVwLWltYWdlLXdyYXAge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbn1cblxuLm1hcmtlcjNkLXBvcHVwLWltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxNDBweDtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLm1hcmtlcjNkLXBvcHVwLWJ0biB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzIyYzU1ZSAwJSwgIzE2YTM0YSAxMDAlKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tYXJrZXIzZC1wb3B1cC1idG46aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMzQsIDE5NywgOTQsIDAuNCk7XG59XG5cbi5tYXJrZXIzZC1wYXNzZWQtYnRuIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNmI3MjgwIDAlLCAjNGI1NTYzIDEwMCUpO1xuICAgIG1hcmdpbi10b3A6IDZweDtcbn1cblxuLm1hcmtlcjNkLXBhc3NlZC1idG46aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgxMDcsIDExNCwgMTI4LCAwLjQpO1xufVxuXG4ubWFya2VyM2QtYmFubmVyLWJ0biB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y5NzMxNiAwJSwgI2VhNTgwYyAxMDAlKTtcbn1cblxuLm1hcmtlcjNkLWJhbm5lci1idG46aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgyNDksIDExNSwgMjIsIDAuNDUpO1xufVxuXG4vKiDilIDilIAgQ29tcGFzcyByZXNldCBidXR0b24g4pSA4pSAICovXG4ubWFwM2QtY29tcGFzcy1idG4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDgwcHg7XG4gICAgcmlnaHQ6IDE2cHg7XG4gICAgei1pbmRleDogMjAwO1xuICAgIHdpZHRoOiA0NHB4O1xuICAgIGhlaWdodDogNDRweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4yMik7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGVhc2UsIGJveC1zaGFkb3cgMC4xNXMgZWFzZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubWFwM2QtY29tcGFzcy1idG46aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNHB4IHJnYmEoMCwgMCwgMCwgMC4yOCk7XG59XG5cbi5tYXAzZC1jb21wYXNzLWJ0bjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG59XG4iLCIudXNlci1wcm9maWxlIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjAwcHgpO1xuICAgIHBhZGRpbmc6IDJyZW0gMCA0cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmOGY5ZmE7XG59XG5cbi5wcm9maWxlLWhlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG59XG5cbi5wcm9maWxlLWhlYWRlciBoMSB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgY29sb3I6ICMxYTFhMWE7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4ucHJvZmlsZS11c2VybmFtZSB7XG4gICAgY29sb3I6ICM2Yzc1N2Q7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG59XG5cbi5wcm9maWxlLXVzZXJuYW1lIGkge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuXG4ucHJvZmlsZS10YWJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnByb2ZpbGUtdGFiIHtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICM2Yzc1N2Q7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC41cmVtO1xufVxuXG4ucHJvZmlsZS10YWIgaSB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG59XG5cbi5wcm9maWxlLXRhYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2U4ZjVlOTtcbiAgICBib3JkZXItY29sb3I6ICM0Q0FGNTA7XG4gICAgY29sb3I6ICMyZTdkMzI7XG59XG5cbi5wcm9maWxlLXRhYi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICM0Q0FGNTA7XG4gICAgYm9yZGVyLWNvbG9yOiAjNENBRjUwO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4ucHJvZmlsZS1tZXNzYWdlIHtcbiAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucHJvZmlsZS1tZXNzYWdlLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMTk3LCA5NCwgMC4zKTtcbiAgICBjb2xvcjogIzRhZGU4MDtcbn1cblxuLnByb2ZpbGUtbWVzc2FnZS5lcnJvciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIzOSwgNjgsIDY4LCAwLjMpO1xuICAgIGNvbG9yOiAjZjg3MTcxO1xufVxuXG4ucHJvZmlsZS1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ucHJvZmlsZS1sb2FkaW5nIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNHJlbSAycmVtO1xuICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuXG4ucHJvZmlsZS1sb2FkaW5nIGkge1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuXG4ucHJvZmlsZS1zZWN0aW9uIGgyIHtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBjb2xvcjogIzFhMWExYTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4uc2VjdGlvbi1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDFyZW07XG59XG5cbi5zZWN0aW9uLWRlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogIzZjNzU3ZDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLmJ0bi1jcmVhdGUtY29sbGVjdGlvbiB7XG4gICAgcGFkZGluZzogMC42cmVtIDEuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjNENBRjUwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC41cmVtO1xufVxuXG4uYnRuLWNyZWF0ZS1jb2xsZWN0aW9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNDVhMDQ5O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoNzYsIDE3NSwgODAsIDAuMyk7XG59XG5cbi5jcmVhdGUtY29sbGVjdGlvbi1mb3JtIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM0Q0FGNTA7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5cbi5jcmVhdGUtY29sbGVjdGlvbi1mb3JtIGgzIHtcbiAgICBjb2xvcjogIzFhMWExYTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG59XG5cbi5mb3JtLWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5cbi5mb3JtLWdyb3VwIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogIzQ5NTA1NztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMC43NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGNvbG9yOiAjMWExYTFhO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLmZvcm0tY29udHJvbCBzZWxlY3QsXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICBhcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDAuNzhyZW0gMi43cmVtIDAuNzhyZW0gMC44NXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzlkOGNjO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZmVmZDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOlxuICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZmZmZmZmIDAlLCAjZjRmYWY1IDEwMCUpLFxuICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE0JyBoZWlnaHQ9JzE0JyB2aWV3Qm94PScwIDAgMTQgMTQnJTNFJTNDcGF0aCBkPSdNMyA1LjI1TDcgOWw0LTMuNzUnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzNWY3YTY1JyBzdHJva2Utd2lkdGg9JzEuOCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAsIHJpZ2h0IDAuODVyZW0gY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlLCAxNHB4IDE0cHg7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2w6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzllYmVhNDtcbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICM0Q0FGNTA7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNzYsIDE3NSwgODAsIDAuMik7XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2w6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zZWxlY3QtbW9kZXJuLXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNlbGVjdC1tb2Rlcm4td3JhcDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMC45NXJlbTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogMC41NXJlbTtcbiAgICBoZWlnaHQ6IDAuNTVyZW07XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgIzVmN2E2NTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzVmN2E2NTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTYwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnNlbGVjdC1tb2Rlcm4td3JhcCAuZm9ybS1jb250cm9sLS1zZWxlY3Qge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzlkOGNjICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAuNzhyZW0gMi43cmVtIDAuNzhyZW0gMC44NXJlbSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmZmZmZmYgMCUsICNmNGZhZjUgMTAwJSkgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cblxuLnNlbGVjdC1tb2Rlcm4td3JhcCAuZm9ybS1jb250cm9sLS1zZWxlY3Q6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzllYmVhNCAhaW1wb3J0YW50O1xufVxuXG4uc2VsZWN0LW1vZGVybi13cmFwIC5mb3JtLWNvbnRyb2wtLXNlbGVjdDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNENBRjUwICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNzYsIDE3NSwgODAsIDAuMikgIWltcG9ydGFudDtcbn1cblxuLmNvbW1vZGl0eS1zZWFyY2gge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLmNvbW1vZGl0eS1waWNrZXIge1xuICAgIG1heC1oZWlnaHQ6IDI1MHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RlZTJlNjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjlmYTtcbn1cblxuLmNvbW1vZGl0eS1waWNrZXItZW1wdHkge1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICM2Yzc1N2Q7XG59XG5cbi5jb21tb2RpdHktcGlja2VyLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAwLjdyZW07XG4gICAgcGFkZGluZzogMC42cmVtIDAuNzVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTllY2VmO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXM7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uY29tbW9kaXR5LXBpY2tlci1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5jb21tb2RpdHktcGlja2VyLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNlOGY1ZTk7XG59XG5cbi5jb21tb2RpdHktcGlja2VyLWl0ZW0uc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6ICNlOGY1ZTk7XG59XG5cbi5jb21tb2RpdHktcGlja2VyLWl0ZW0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM5YWI3YTA7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE4cyBlYXNlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLXRvcDogMC4xcmVtO1xufVxuXG4uY29tbW9kaXR5LW1haW4ge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcm93LWdhcDogMC4zcmVtO1xufVxuXG4uY29tbW9kaXR5LW1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMC4zNXJlbSAwLjQ1cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jb21tb2RpdHktcGlja2VyLWl0ZW0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiA5cHg7XG4gICAgaGVpZ2h0OiA1cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNHMgZWFzZTtcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuXG4uY29tbW9kaXR5LXBpY2tlci1pdGVtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNENBRjUwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDc2LCAxNzUsIDgwLCAwLjEyKTtcbn1cblxuLmNvbW1vZGl0eS1waWNrZXItaXRlbSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICM0Q0FGNTA7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoNzYsIDE3NSwgODAsIDAuMjIpO1xufVxuXG4uY29tbW9kaXR5LXBpY2tlci1pdGVtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kOiAjNENBRjUwO1xuICAgIGJvcmRlci1jb2xvcjogIzRDQUY1MDtcbn1cblxuLmNvbW1vZGl0eS1waWNrZXItaXRlbSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZDo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDEpO1xufVxuXG4uY29tbW9kaXR5LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgY29sb3I6ICMxYTFhMWE7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4uY29tbW9kaXR5LWNhdGVnb3J5IHtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBjb2xvcjogIzZjNzU3ZDtcbiAgICBiYWNrZ3JvdW5kOiAjZTllY2VmO1xuICAgIHBhZGRpbmc6IDAuMTVyZW0gMC41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmNvbW1vZGl0eS1wcmljZSB7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGNvbG9yOiAjNENBRjUwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNvbW1vZGl0eS1waWNrZXItaXRlbSA+IC5jb21tb2RpdHktdGl0bGUge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1hcmdpbi10b3A6IDAuMXJlbTtcbn1cblxuLmNvbW1vZGl0eS1waWNrZXItaXRlbSA+IC5jb21tb2RpdHktY2F0ZWdvcnksXG4uY29tbW9kaXR5LXBpY2tlci1pdGVtID4gLmNvbW1vZGl0eS1wcmljZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMThweCArIDAuN3JlbSk7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbn1cblxuLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICM0Q0FGNTA7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNzYsIDE3NSwgODAsIDAuMjUpO1xufVxuXG4uZm9ybS1yb3cge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMmZyO1xuICAgIGdhcDogMXJlbTtcbn1cblxuLmZvcm0tYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xufVxuXG4uYnRuLWNhbmNlbCB7XG4gICAgcGFkZGluZzogMC43NXJlbSAycmVtO1xuICAgIGJhY2tncm91bmQ6ICM2Yzc1N2Q7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG5cbi5idG4tY2FuY2VsOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNWE2MjY4O1xufVxuXG4uY29udGV4dC1pbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBjb2xvcjogIzFhMWExYTtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cblxuLmNvbnRleHQtaW5wdXQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjNENBRjUwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoNzYsIDE3NSwgODAsIDAuMjUpO1xufVxuXG4uYnRuLXNhdmUge1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMnJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjNENBRjUwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuXG4uYnRuLXNhdmU6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6ICM0NWEwNDk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSg3NiwgMTc1LCA4MCwgMC4zKTtcbn1cblxuLmJ0bi1zYXZlOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmVtcHR5LXN0YXRlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogM3JlbSAycmVtO1xuICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xufVxuXG4vKiBIaXN0b3J5ICovXG4uaGlzdG9yeS1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxcmVtO1xufVxuXG4uaGlzdG9yeS1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLmhpc3RvcnktaXRlbTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLmhpc3RvcnktaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG59XG5cbi5oaXN0b3J5LXNob3Age1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICM0Q0FGNTA7XG4gICAgZm9udC1zaXplOiAxLjA1cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmhpc3Rvcnktc2hvcDpob3ZlciB7XG4gICAgY29sb3I6ICMzODhFM0M7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5oaXN0b3J5LWRhdGUge1xuICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xufVxuXG4uaGlzdG9yeS1xdWVyeSB7XG4gICAgY29sb3I6ICM0OTUwNTc7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOWZhO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cblxuLmhpc3RvcnktcXVlcnkgaSB7XG4gICAgY29sb3I6ICM0Q0FGNTA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG5cbi5oaXN0b3J5LXJvdXRlIHtcbiAgICBjb2xvcjogIzZjNzU3ZDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xufVxuXG4uaGlzdG9yeS1yb3V0ZSBpIHtcbiAgICBjb2xvcjogIzRDQUY1MDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cblxuLmhpc3RvcnktcHJvZHVjdHMge1xuICAgIGNvbG9yOiAjNDk1MDU3O1xuICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOWZhO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cblxuLmhpc3RvcnktcHJvZHVjdHMgaSB7XG4gICAgY29sb3I6ICM0Q0FGNTA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG59XG5cbi5oaXN0b3J5LXN0YXRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMS41cmVtO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBjb2xvcjogIzZjNzU3ZDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLmhpc3Rvcnktc3RhdHMgc3BhbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC40cmVtO1xufVxuXG4uaGlzdG9yeS1zdGF0cyBpIHtcbiAgICBjb2xvcjogIzRDQUY1MDtcbn1cblxuLmhpc3RvcnktYWN0aW9ucyB7XG4gICAgbWFyZ2luLXRvcDogMC44NXJlbTtcbn1cblxuLmJ0bi12aWV3LXJvdXRlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC40NXJlbTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6ICM0Q0FGNTA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMC41NXJlbSAwLjg1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uYnRuLXZpZXctcm91dGU6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6ICM0NWEwNDk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4uYnRuLXZpZXctcm91dGU6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6ICNhOWI4YTk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjg1O1xufVxuXG4vKiBDb2xsZWN0aW9ucyAqL1xuLmNvbGxlY3Rpb25zLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMzIwcHgsIDFmcikpO1xuICAgIGdhcDogMS41cmVtO1xufVxuXG4uY29sbGVjdGlvbi1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZWUyZTY7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuXG4uY29sbGVjdGlvbi1jYXJkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM0Q0FGNTA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4uY29sbGVjdGlvbi1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbn1cblxuLmNvbGxlY3Rpb24tZW1vamkge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbn1cblxuLmNvbGxlY3Rpb24tY2FyZCBoMyB7XG4gICAgY29sb3I6ICMxYTFhMWE7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uY29sbGVjdGlvbi1kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6ICM2Yzc1N2Q7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG59XG5cbi5jb2xsZWN0aW9uLW1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBjb2xvcjogIzZjNzU3ZDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLmNvbGxlY3Rpb24tbWV0YSBzcGFuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjVyZW07XG59XG5cbi5jb2xsZWN0aW9uLW1ldGEgaSB7XG4gICAgY29sb3I6ICM0Q0FGNTA7XG59XG5cbi5jb2xsZWN0aW9uLWl0ZW1zLXByZXZpZXcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45cmVtO1xuICAgIHBhZGRpbmc6IDAuNTVyZW0gMC42NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjlmYTtcbiAgICBjb2xvcjogIzQ5NTA1NztcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLmNvbGxlY3Rpb24taXRlbXMtcHJldmlldyBpIHtcbiAgICBjb2xvcjogIzRDQUY1MDtcbiAgICBtYXJnaW4tdG9wOiAwLjFyZW07XG59XG5cbi5jb2xsZWN0aW9uLWl0ZW1zLXByZXZpZXcgc3BhbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi5jb2xsZWN0aW9uLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGdhcDogMC41cmVtO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZWUyZTY7XG59XG5cbi5idG4tZWRpdCwgLmJ0bi1kZWxldGUge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBwYWRkaW5nOiAwLjU1cmVtIDAuNzVyZW07XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDAuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xufVxuXG4uYnRuLWVkaXQge1xuICAgIGJhY2tncm91bmQ6ICM0Q0FGNTA7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi5idG4tZWRpdDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzQ1YTA0OTtcbn1cblxuLmJ0bi1kZWxldGUge1xuICAgIGJhY2tncm91bmQ6ICNkYzM1NDU7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi5idG4tZGVsZXRlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjYzgyMzMzO1xufVxuXG4uZWRpdC1jb2xsZWN0aW9uLWZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDAuNzVyZW07XG59XG5cbi5lZGl0LWNvbGxlY3Rpb24tZm9ybSAuZm9ybS1jb250cm9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY29sbGVjdGlvbi1lZGl0LWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xufVxuXG4uYnRuLXNhdmUtc21hbGwsIC5idG4tY2FuY2VsLXNtYWxsIHtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG59XG5cbi5idG4tc2F2ZS1zbWFsbCB7XG4gICAgYmFja2dyb3VuZDogIzRDQUY1MDtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLmJ0bi1zYXZlLXNtYWxsOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiAjNDVhMDQ5O1xufVxuXG4uYnRuLXNhdmUtc21hbGw6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uYnRuLWNhbmNlbC1zbWFsbCB7XG4gICAgYmFja2dyb3VuZDogIzZjNzU3ZDtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLmJ0bi1jYW5jZWwtc21hbGw6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICM1YTYyNjg7XG59XG5cbi8qIFN0YXRzICovXG4uc3RhdHMtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwMHB4LCAxZnIpKTtcbiAgICBnYXA6IDEuNXJlbTtcbn1cblxuLnN0YXQtY2FyZCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGVlMmU2O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDFyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLnN0YXQtY2FyZDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLnN0YXQtaWNvbiB7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIGJhY2tncm91bmQ6ICNlOGY1ZTk7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgY29sb3I6ICM0Q0FGNTA7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5zdGF0LWNvbnRlbnQge1xuICAgIGZsZXg6IDE7XG59XG5cbi5zdGF0LXZhbHVlIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMWExYTFhO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG59XG5cbi5zdGF0LWxhYmVsIHtcbiAgICBjb2xvcjogIzZjNzU3ZDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyODBweCkge1xuICAgIC5jb2xsZWN0aW9uLWFjdGlvbnMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5wcm9maWxlLWhlYWRlciBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICB9XG5cbiAgICAucHJvZmlsZS10YWJzIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgICAgICBnYXA6IDAuNTVyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5wcm9maWxlLXRhYiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMC42NXJlbSAwLjZyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NHJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWluLWhlaWdodDogNTJweDtcbiAgICB9XG5cbiAgICAuaGlzdG9yeS1oZWFkZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgfVxuXG4gICAgLmhpc3RvcnktYWN0aW9ucyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5idG4tdmlldy1yb3V0ZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY29sbGVjdGlvbnMtZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cblxuICAgIC5zdGF0cy1ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/