/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/app.css ***!
  \**************************************************************************************************************/
@import url(https://cdn.datatables.net/2.1.7/css/dataTables.dataTables.css);
/*!******************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/app.css (1) ***!
  \******************************************************************************************************************/
/* =============================
   BASE DARK LAYOUT
   ============================= */

* {
  box-sizing: border-box;
}

body {
  background-color: var(--bg-primary, #0f1117);
  color: var(--text-primary, #e2e8f0);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  min-height: 100vh;
  margin: 0;
}

/* =============================
   SIDEBAR
   ============================= */

.sidebar {
  position: fixed;
  top: 0;
  left: 0;
  width: var(--sidebar-width, 280px);
  height: 100vh;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
}

.sidebar::-webkit-scrollbar {
  width: 4px;
}

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

.sidebar-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 24px 20px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  text-decoration: none;
}

.sidebar-logo img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 2px solid rgba(99, 102, 241, 0.4);
}

.sidebar-logo-text {
  font-size: 1rem;
  font-weight: 700;
  color: var(--text-primary, #e2e8f0);
  background: linear-gradient(135deg, #667eea, #764ba2);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.sidebar-user {
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 0.8rem;
  color: var(--text-muted, #64748b);
}

.sidebar-user strong {
  display: block;
  color: var(--text-secondary, #94a3b8);
  font-size: 0.85rem;
}

.sidebar-nav {
  flex: 1;
  padding: 16px 12px;
}

.sidebar-section-title {
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted, #64748b);
  padding: 8px 8px 4px;
  margin-bottom: 4px;
}

.sidebar-footer {
  padding: 16px 12px 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.sidebar-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px 8px 0;
  font-size: 0.75rem;
}

.sidebar-footer-links a {
  color: var(--text-muted, #64748b) !important;
  text-decoration: none;
  transition: color 0.2s;
}

.sidebar-footer-links a:hover {
  color: var(--text-secondary, #94a3b8) !important;
}

.sidebar-copyright {
  font-size: 0.7rem;
  color: var(--text-muted, #64748b);
  padding: 8px 8px 0;
}

/* =============================
   MAIN CONTENT
   ============================= */

main {
  margin-left: var(--sidebar-width, 280px);
  min-height: 100vh;
  padding: 24px 28px;
  overflow-x: hidden;
}

.guest_content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100vh;
}

/* Mobile toggle button */
.sidebar-toggle {
  display: none;
  position: fixed;
  top: 16px;
  left: 16px;
  z-index: 1100;
  background: var(--bg-glass, rgba(255,255,255,0.05));
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 8px;
  padding: 8px 10px;
  color: var(--text-primary, #e2e8f0);
  cursor: pointer;
  backdrop-filter: blur(10px);
}

.sidebar-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 999;
}

/* =============================
   CARD / BG-DIV (legacy compat)
   ============================= */

.bg-div {
  background: linear-gradient(145deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.4);
  padding: 1.25rem;
  position: relative;
  color: var(--text-primary, #e2e8f0);
  margin-bottom: 1rem;
}

.card {
  background: linear-gradient(145deg, rgba(255,255,255,0.07), rgba(255,255,255,0.02)) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  color: var(--text-primary, #e2e8f0) !important;
}

.card-body {
  color: var(--text-primary, #e2e8f0);
}

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

.btn-primary {
  background-color: var(--accent, #6366f1) !important;
  border-color: var(--accent, #6366f1) !important;
  color: white !important;
}

.btn-primary:hover {
  background-color: var(--accent-hover, #4f52d1) !important;
  border-color: var(--accent-hover, #4f52d1) !important;
}

.badge.text-bg-secondary {
  background-color: rgba(99, 102, 241, 0.2) !important;
  color: #a5b4fc !important;
  border: 1px solid rgba(99, 102, 241, 0.3);
}

/* =============================
   LINKS
   ============================= */

a {
  color: #a5b4fc !important;
  text-decoration: none;
}

a:hover {
  color: #c4b5fd !important;
}

.btn-link {
  color: #a5b4fc !important;
}

/* =============================
   TYPOGRAPHY
   ============================= */

.text-primary {
  color: var(--accent, #6366f1) !important;
}

.text-danger {
  color: #ef4444 !important;
}

.text-success {
  color: #10b981 !important;
}

.text-info {
  color: #06b6d4 !important;
}

.text-muted,
.text-body-secondary {
  color: var(--text-muted, #64748b) !important;
}

.color-grey {
  color: var(--text-muted, #64748b) !important;
}

/* =============================
   FORMS / INPUTS
   ============================= */

.form-control,
.form-select {
  background-color: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: var(--text-primary, #e2e8f0) !important;
  border-radius: 8px;
}

.form-control:focus,
.form-select:focus {
  background-color: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(99, 102, 241, 0.5) !important;
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15) !important;
  color: var(--text-primary, #e2e8f0) !important;
}

.form-control::placeholder {
  color: var(--text-muted, #64748b) !important;
}

/* =============================
   NAVBAR (brand-logo only for legacy)
   ============================= */

.brand-logo {
  width: 40px;
  height: 40px;
  border-radius: 50%;
}

/* =============================
   ALERTS / TOASTS
   ============================= */

.alert-block {
  transition: opacity 0.5s ease-in-out;
}

.alert.fade-out {
  opacity: 0;
}

.toast {
  background: rgba(26, 29, 39, 0.95) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: var(--text-primary, #e2e8f0) !important;
}

.toast-header {
  background: rgba(255, 255, 255, 0.05) !important;
  color: var(--text-primary, #e2e8f0) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* =============================
   DATATABLES
   ============================= */

div.dt-container {
  overflow: auto !important;
  color: var(--text-primary, #e2e8f0);
}

.dt-layout-row select,
.dt-layout-row input,
.dt-paging-button {
  background-color: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: var(--text-primary, #e2e8f0) !important;
  border-radius: 6px;
}

table.dataTable tbody tr {
  background-color: transparent !important;
  color: var(--text-primary, #e2e8f0) !important;
}

table.dataTable tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.05) !important;
}

table.dataTable thead th {
  color: var(--text-secondary, #94a3b8) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* =============================
   AUTOCOMPLETE
   ============================= */

.ui-autocomplete {
  background-color: #1a1d27 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: var(--text-primary, #e2e8f0) !important;
  border-radius: 8px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important;
}

.ui-menu-item-wrapper {
  color: var(--text-primary, #e2e8f0) !important;
}

.ui-state-active,
.ui-widget-content .ui-state-active {
  background-color: rgba(99, 102, 241, 0.2) !important;
  border-color: transparent !important;
}

/* =============================
   DROPDOWN
   ============================= */

.dropdown-menu {
  background-color: #1a1d27 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important;
}

.dropdown-item {
  color: var(--text-secondary, #94a3b8) !important;
}

.dropdown-item:hover {
  background-color: rgba(99, 102, 241, 0.15) !important;
  color: var(--text-primary, #e2e8f0) !important;
}

/* =============================
   MODALS
   ============================= */

.modal-content {
  background: #1a1d27 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 16px !important;
  color: var(--text-primary, #e2e8f0) !important;
}

.modal-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.modal-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.btn-close {
  filter: invert(1);
}

/* =============================
   RESPONSIVE — Mobile
   ============================= */

@media (max-width: 768px) {
  .sidebar {
    transform: translateX(-100%);
    transition: transform 0.3s ease;
  }

  .sidebar.open {
    transform: translateX(0);
  }

  .sidebar-overlay.visible {
    display: block;
  }

  .sidebar-toggle {
    display: block;
  }

  main {
    margin-left: 0;
    padding: 16px;
    padding-top: 60px;
  }
}

@media (max-width: 992px) and (min-width: 769px) {
  .sidebar {
    width: 220px;
  }

  main {
    margin-left: 220px;
  }
}

/* =============================
   SEARCH INPUT
   ============================= */

#search-input {
  background-color: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: var(--text-primary, #e2e8f0) !important;
}

#search-input::placeholder {
  color: var(--text-muted, #64748b) !important;
}

/* =============================
   NAV-LINK ACTIVE
   ============================= */

.nav-link.active {
  font-weight: bold;
}

/* =============================
   CALENDAR
   ============================= */

.fc {
  color: var(--text-primary, #e2e8f0);
}

.fc-theme-standard td,
.fc-theme-standard th {
  border-color: rgba(255, 255, 255, 0.08) !important;
}

.fc-theme-standard .fc-scrollgrid {
  border-color: rgba(255, 255, 255, 0.08) !important;
}

.fc .fc-daygrid-day {
  background: transparent;
}

.fc .fc-daygrid-day:hover {
  background: rgba(255, 255, 255, 0.03);
}

.fc .fc-toolbar-title {
  color: var(--text-primary, #e2e8f0);
  font-size: 1.1rem;
}

.fc .fc-col-header-cell-cushion,
.fc .fc-daygrid-day-number {
  color: var(--text-secondary, #94a3b8);
}

.fc .fc-button {
  background: rgba(99, 102, 241, 0.2) !important;
  border: 1px solid rgba(99, 102, 241, 0.3) !important;
  color: var(--accent, #6366f1) !important;
  border-radius: 6px !important;
}

.fc .fc-button:hover {
  background: rgba(99, 102, 241, 0.3) !important;
}

.fc .fc-button-active {
  background: var(--accent, #6366f1) !important;
  color: white !important;
}

.fc .fc-event {
  background: rgba(99, 102, 241, 0.3) !important;
  border: 1px solid rgba(99, 102, 241, 0.5) !important;
  border-radius: 4px;
  color: var(--text-primary, #e2e8f0) !important;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzX3N0eWxlc19hcHBfY3NzLWFzc2V0c19zdHlsZXNfYXBwX2Nzcy5jc3MiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBOztrQ0FFa0M7O0FBRWxDO0VBQ0Usc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UsNENBQTRDO0VBQzVDLG1DQUFtQztFQUNuQyw4RUFBOEU7RUFDOUUsaUJBQWlCO0VBQ2pCLFNBQVM7QUFDWDs7QUFFQTs7a0NBRWtDOztBQUVsQztFQUNFLGVBQWU7RUFDZixNQUFNO0VBQ04sT0FBTztFQUNQLGtDQUFrQztFQUNsQyxhQUFhO0VBQ2IsYUFBYTtFQUNiLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLFVBQVU7QUFDWjs7QUFFQTtFQUNFLG9DQUFvQztFQUNwQyxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLFNBQVM7RUFDVCx1QkFBdUI7RUFDdkIsa0RBQWtEO0VBQ2xELHFCQUFxQjtBQUN2Qjs7QUFFQTtFQUNFLFdBQVc7RUFDWCxZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLHlDQUF5QztBQUMzQzs7QUFFQTtFQUNFLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsbUNBQW1DO0VBQ25DLHFEQUFxRDtFQUNyRCw2QkFBNkI7RUFDN0Isb0NBQW9DO0VBQ3BDLHFCQUFxQjtBQUN2Qjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixrREFBa0Q7RUFDbEQsaUJBQWlCO0VBQ2pCLGlDQUFpQztBQUNuQzs7QUFFQTtFQUNFLGNBQWM7RUFDZCxxQ0FBcUM7RUFDckMsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsT0FBTztFQUNQLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIseUJBQXlCO0VBQ3pCLHNCQUFzQjtFQUN0QixpQ0FBaUM7RUFDakMsb0JBQW9CO0VBQ3BCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLHVCQUF1QjtF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cEQ7O0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSxxQ0FBcUM7QUFDdkM7O0FBRUE7RUFDRSxtQ0FBbUM7RUFDbkMsaUJBQWlCO0FBQ25COztBQUVBOztFQUVFLHFDQUFxQztBQUN2Qzs7QUFFQTtFQUNFLDhDQUE4QztFQUM5QyxvREFBb0Q7RUFDcEQsd0NBQXdDO0VBQ3hDLDZCQUE2QjtBQUMvQjs7QUFFQTtFQUNFLDhDQUE4QztBQUNoRDs7QUFFQTtFQUNFLDZDQUE2QztFQUM3Qyx1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSw4Q0FBOEM7RUFDOUMsb0RBQW9EO0VBQ3BELGtCQUFrQjtFQUNsQiw4Q0FBOEM7QUFDaEQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2FwcC5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCB1cmwoXCJodHRwczovL2Nkbi5kYXRhdGFibGVzLm5ldC8yLjEuNy9jc3MvZGF0YVRhYmxlcy5kYXRhVGFibGVzLmNzc1wiKTtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJBU0UgREFSSyBMQVlPVVRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctcHJpbWFyeSwgIzBmMTExNyk7XG4gIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnksICNlMmU4ZjApO1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW46IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTSURFQkFSXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc2lkZWJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogdmFyKC0tc2lkZWJhci13aWR0aCwgMjgwcHgpO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB6LWluZGV4OiAxMDAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi5zaWRlYmFyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiA0cHg7XG59XG5cbi5zaWRlYmFyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4uc2lkZWJhci1sb2dvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMnB4O1xuICBwYWRkaW5nOiAyNHB4IDIwcHggMjBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNpZGViYXItbG9nbyBpbWcge1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoOTksIDEwMiwgMjQxLCAwLjQpO1xufVxuXG4uc2lkZWJhci1sb2dvLXRleHQge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnksICNlMmU4ZjApO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNjY3ZWVhLCAjNzY0YmEyKTtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xufVxuXG4uc2lkZWJhci11c2VyIHtcbiAgcGFkZGluZzogMTZweCAyMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkLCAjNjQ3NDhiKTtcbn1cblxuLnNpZGViYXItdXNlciBzdHJvbmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5LCAjOTRhM2I4KTtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xufVxuXG4uc2lkZWJhci1uYXYge1xuICBmbGV4OiAxO1xuICBwYWRkaW5nOiAxNnB4IDEycHg7XG59XG5cbi5zaWRlYmFyLXNlY3Rpb24tdGl0bGUge1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkLCAjNjQ3NDhiKTtcbiAgcGFkZGluZzogOHB4IDhweCA0cHg7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLnNpZGViYXItZm9vdGVyIHtcbiAgcGFkZGluZzogMTZweCAxMnB4IDIwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpO1xufVxuXG4uc2lkZWJhci1mb290ZXItbGlua3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiA4cHggOHB4IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cblxuLnNpZGViYXItZm9vdGVyLWxpbmtzIGEge1xuICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCwgIzY0NzQ4YikgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xufVxuXG4uc2lkZWJhci1mb290ZXItbGlua3MgYTpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSwgIzk0YTNiOCkgIWltcG9ydGFudDtcbn1cblxuLnNpZGViYXItY29weXJpZ2h0IHtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkLCAjNjQ3NDhiKTtcbiAgcGFkZGluZzogOHB4IDhweCAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTUFJTiBDT05URU5UXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5tYWluIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNpZGViYXItd2lkdGgsIDI4MHB4KTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIHBhZGRpbmc6IDI0cHggMjhweDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG4uZ3Vlc3RfY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxuLyogTW9iaWxlIHRvZ2dsZSBidXR0b24gKi9cbi5zaWRlYmFyLXRvZ2dsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAxNnB4O1xuICBsZWZ0OiAxNnB4O1xuICB6LWluZGV4OiAxMTAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1nbGFzcywgcmdiYSgyNTUsMjU1LDI1NSwwLjA1KSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiA4cHggMTBweDtcbiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSwgI2UyZThmMCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xufVxuXG4uc2lkZWJhci1vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICB6LWluZGV4OiA5OTk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDQVJEIC8gQkctRElWIChsZWdhY3kgY29tcGF0KVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmJnLWRpdiB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDVkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMC4wNiksIHJnYmEoMjU1LDI1NSwyNTUsMC4wMikpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBib3gtc2hhZG93OiAwIDhweCAzMnB4IHJnYmEoMCwwLDAsMC40KTtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LCAjZTJlOGYwKTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLmNhcmQge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDAuMDcpLCByZ2JhKDI1NSwyNTUsMjU1LDAuMDIpKSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDgpICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnksICNlMmU4ZjApICFpbXBvcnRhbnQ7XG59XG5cbi5jYXJkLWJvZHkge1xuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LCAjZTJlOGYwKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJVVFRPTlNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5idG4tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudCwgIzYzNjZmMSkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQsICM2MzY2ZjEpICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYnRuLXByaW1hcnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtaG92ZXIsICM0ZjUyZDEpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50LWhvdmVyLCAjNGY1MmQxKSAhaW1wb3J0YW50O1xufVxuXG4uYmFkZ2UudGV4dC1iZy1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk5LCAxMDIsIDI0MSwgMC4yKSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2E1YjRmYyAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDk5LCAxMDIsIDI0MSwgMC4zKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExJTktTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hIHtcbiAgY29sb3I6ICNhNWI0ZmMgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5hOmhvdmVyIHtcbiAgY29sb3I6ICNjNGI1ZmQgIWltcG9ydGFudDtcbn1cblxuLmJ0bi1saW5rIHtcbiAgY29sb3I6ICNhNWI0ZmMgIWltcG9ydGFudDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRZUE9HUkFQSFlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi50ZXh0LXByaW1hcnkge1xuICBjb2xvcjogdmFyKC0tYWNjZW50LCAjNjM2NmYxKSAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1kYW5nZXIge1xuICBjb2xvcjogI2VmNDQ0NCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zdWNjZXNzIHtcbiAgY29sb3I6ICMxMGI5ODEgIWltcG9ydGFudDtcbn1cblxuLnRleHQtaW5mbyB7XG4gIGNvbG9yOiAjMDZiNmQ0ICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LW11dGVkLFxuLnRleHQtYm9keS1zZWNvbmRhcnkge1xuICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCwgIzY0NzQ4YikgIWltcG9ydGFudDtcbn1cblxuLmNvbG9yLWdyZXkge1xuICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCwgIzY0NzQ4YikgIWltcG9ydGFudDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZPUk1TIC8gSU5QVVRTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZm9ybS1jb250cm9sLFxuLmZvcm0tc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkgIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSwgI2UyZThmMCkgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uZm9ybS1jb250cm9sOmZvY3VzLFxuLmZvcm0tc2VsZWN0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IHJnYmEoOTksIDEwMiwgMjQxLCAwLjUpICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDk5LCAxMDIsIDI0MSwgMC4xNSkgIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSwgI2UyZThmMCkgIWltcG9ydGFudDtcbn1cblxuLmZvcm0tY29udHJvbDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCwgIzY0NzQ4YikgIWltcG9ydGFudDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE5BVkJBUiAoYnJhbmQtbG9nbyBvbmx5IGZvciBsZWdhY3kpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYnJhbmQtbG9nbyB7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFMRVJUUyAvIFRPQVNUU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFsZXJ0LWJsb2NrIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UtaW4tb3V0O1xufVxuXG4uYWxlcnQuZmFkZS1vdXQge1xuICBvcGFjaXR5OiAwO1xufVxuXG4udG9hc3Qge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI2LCAyOSwgMzksIDAuOTUpICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSAhaW1wb3J0YW50O1xuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LCAjZTJlOGYwKSAhaW1wb3J0YW50O1xufVxuXG4udG9hc3QtaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSAhaW1wb3J0YW50O1xuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LCAjZTJlOGYwKSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgREFUQVRBQkxFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuZGl2LmR0LWNvbnRhaW5lciB7XG4gIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnksICNlMmU4ZjApO1xufVxuXG4uZHQtbGF5b3V0LXJvdyBzZWxlY3QsXG4uZHQtbGF5b3V0LXJvdyBpbnB1dCxcbi5kdC1wYWdpbmctYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkgIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSwgI2UyZThmMCkgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdHIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LCAjZTJlOGYwKSAhaW1wb3J0YW50O1xufVxuXG50YWJsZS5kYXRhVGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpICFpbXBvcnRhbnQ7XG59XG5cbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0aCB7XG4gIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSwgIzk0YTNiOCkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQVVUT0NPTVBMRVRFXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWktYXV0b2NvbXBsZXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhMWQyNyAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkgIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSwgI2UyZThmMCkgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3gtc2hhZG93OiAwIDhweCAzMnB4IHJnYmEoMCwgMCwgMCwgMC40KSAhaW1wb3J0YW50O1xufVxuXG4udWktbWVudS1pdGVtLXdyYXBwZXIge1xuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LCAjZTJlOGYwKSAhaW1wb3J0YW50O1xufVxuXG4udWktc3RhdGUtYWN0aXZlLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk5LCAxMDIsIDI0MSwgMC4yKSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEUk9QRE9XTlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmRyb3Bkb3duLW1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWExZDI3ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDMycHggcmdiYSgwLCAwLCAwLCAwLjQpICFpbXBvcnRhbnQ7XG59XG5cbi5kcm9wZG93bi1pdGVtIHtcbiAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5LCAjOTRhM2I4KSAhaW1wb3J0YW50O1xufVxuXG4uZHJvcGRvd24taXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTksIDEwMiwgMjQxLCAwLjE1KSAhaW1wb3J0YW50O1xuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LCAjZTJlOGYwKSAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTU9EQUxTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubW9kYWwtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICMxYTFkMjcgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHggIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSwgI2UyZThmMCkgIWltcG9ydGFudDtcbn1cblxuLm1vZGFsLWhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpICFpbXBvcnRhbnQ7XG59XG5cbi5tb2RhbC1mb290ZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSAhaW1wb3J0YW50O1xufVxuXG4uYnRuLWNsb3NlIHtcbiAgZmlsdGVyOiBpbnZlcnQoMSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSRVNQT05TSVZFIOKAlCBNb2JpbGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuc2lkZWJhciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICB9XG5cbiAgLnNpZGViYXIub3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgLnNpZGViYXItb3ZlcmxheS52aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5zaWRlYmFyLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBtYWluIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkgYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gIC5zaWRlYmFyIHtcbiAgICB3aWR0aDogMjIwcHg7XG4gIH1cblxuICBtYWluIHtcbiAgICBtYXJnaW4tbGVmdDogMjIwcHg7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNFQVJDSCBJTlBVVFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuI3NlYXJjaC1pbnB1dCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSkgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnksICNlMmU4ZjApICFpbXBvcnRhbnQ7XG59XG5cbiNzZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQsICM2NDc0OGIpICFpbXBvcnRhbnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBOQVYtTElOSyBBQ1RJVkVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5uYXYtbGluay5hY3RpdmUge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENBTEVOREFSXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZmMge1xuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LCAjZTJlOGYwKTtcbn1cblxuLmZjLXRoZW1lLXN0YW5kYXJkIHRkLFxuLmZjLXRoZW1lLXN0YW5kYXJkIHRoIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpICFpbXBvcnRhbnQ7XG59XG5cbi5mYy10aGVtZS1zdGFuZGFyZCAuZmMtc2Nyb2xsZ3JpZCB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSAhaW1wb3J0YW50O1xufVxuXG4uZmMgLmZjLWRheWdyaWQtZGF5IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5mYyAuZmMtZGF5Z3JpZC1kYXk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDMpO1xufVxuXG4uZmMgLmZjLXRvb2xiYXItdGl0bGUge1xuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LCAjZTJlOGYwKTtcbiAgZm9udC1zaXplOiAxLjFyZW07XG59XG5cbi5mYyAuZmMtY29sLWhlYWRlci1jZWxsLWN1c2hpb24sXG4uZmMgLmZjLWRheWdyaWQtZGF5LW51bWJlciB7XG4gIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSwgIzk0YTNiOCk7XG59XG5cbi5mYyAuZmMtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogcmdiYSg5OSwgMTAyLCAyNDEsIDAuMikgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg5OSwgMTAyLCAyNDEsIDAuMykgIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLWFjY2VudCwgIzYzNjZmMSkgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5mYyAuZmMtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSg5OSwgMTAyLCAyNDEsIDAuMykgIWltcG9ydGFudDtcbn1cblxuLmZjIC5mYy1idXR0b24tYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LCAjNjM2NmYxKSAhaW1wb3J0YW50O1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmZjIC5mYy1ldmVudCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoOTksIDEwMiwgMjQxLCAwLjMpICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoOTksIDEwMiwgMjQxLCAwLjUpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSwgI2UyZThmMCkgIWltcG9ydGFudDtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/