#scr-s1-app {
  --bg: transparent;
  --bg-card: #ffffff;
  --fg: #1a1a1a;
  --fg-muted: #6b6b6b;
  --accent: #b8860b;
  --accent-light: #daa520;
  --primary: #1b4332;
  --primary-light: #2d6a4f;
  --primary-rgb: 27, 67, 50;
  --gold: #ffd700;
  --gold-bg: #fff8dc;
  --silver: #c0c0c0;
  --silver-bg: #f5f5f5;
  --bronze: #cd7f32;
  --bronze-bg: #fff0e0;
  --danger: #c62828;
  --danger-light: #ffebee;
  --success: #2e7d32;
  --success-light: #e8f5e9;
  --border: #e0ded8;
  --shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.1);
  --radius: 12px;
  --radius-sm: 8px;
  --skeleton-base: #e8e6e1;
  --skeleton-shine: #f5f3ee;
}

#scr-s1-app * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

#scr-s1-app {
  font-family: "Sarabun", sans-serif;
  background: transparent;
  color: var(--fg);
  min-height: auto;
  overflow-x: hidden;
}

@keyframes skeletonShimmer {
  0% {
    background-position: -400px 0;
  }

  100% {
    background-position: 400px 0;
  }
}

#scr-s1-app .skeleton {
  background: linear-gradient(90deg,
      var(--skeleton-base) 25%,
      var(--skeleton-shine) 50%,
      var(--skeleton-base) 75%);
  background-size: 800px 100%;
  animation: skeletonShimmer 0.8s ease-in-out infinite;
  border-radius: 6px;
}

#scr-s1-app .skeleton-circle {
  background: linear-gradient(90deg,
      var(--skeleton-base) 25%,
      var(--skeleton-shine) 50%,
      var(--skeleton-base) 75%);
  background-size: 800px 100%;
  animation: skeletonShimmer 0.8s ease-in-out infinite;
  border-radius: 50%;
}

#scr-s1-app .skeleton-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-bottom: 1.5rem;
}

#scr-s1-app .skeleton-stat-card {
  background: var(--bg-card);
  border-radius: var(--radius);
  padding: 1.25rem 1rem;
  box-shadow: var(--shadow);
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 1rem;
}

#scr-s1-app .skeleton-stat-icon {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  flex-shrink: 0;
}

#scr-s1-app .skeleton-stat-text {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  flex: 1;
}

#scr-s1-app .skeleton-stat-number {
  height: 28px;
  width: 50px;
}

#scr-s1-app .skeleton-stat-label {
  height: 14px;
  width: 80px;
}

#scr-s1-app .skeleton-controls {
  background: var(--bg-card);
  border-radius: var(--radius);
  padding: 1.25rem 1.5rem;
  box-shadow: var(--shadow);
  border: 1px solid var(--border);
  margin-bottom: 1.5rem;
  display: flex;
  gap: 0.75rem;
  align-items: center;
  flex-wrap: wrap;
}

#scr-s1-app .skeleton-search {
  flex: 1;
  min-width: 220px;
  height: 38px;
}

#scr-s1-app .skeleton-filter {
  width: 140px;
  height: 38px;
}

#scr-s1-app .skeleton-btn {
  width: 100px;
  height: 38px;
}

#scr-s1-app .skeleton-table-wrapper {
  background: var(--bg-card);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  border: 1px solid var(--border);
  overflow: hidden;
}

#scr-s1-app .skeleton-table-header {
  background: var(--primary);
  height: 48px;
}

#scr-s1-app .skeleton-table-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border-bottom: 1px solid var(--border);
}

#scr-s1-app .skeleton-table-row:last-child {
  border-bottom: none;
}

#scr-s1-app .sk-col-no {
  width: 50px;
}

#scr-s1-app .sk-col-athlete {
  flex: 1.5;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

#scr-s1-app .sk-col-class {
  width: 70px;
}

#scr-s1-app .sk-col-sport {
  flex: 1;
}

#scr-s1-app .sk-col-event {
  flex: 1.5;
}

#scr-s1-app .sk-col-level {
  width: 90px;
}

#scr-s1-app .sk-col-result {
  width: 110px;
}

#scr-s1-app .sk-col-year {
  width: 60px;
}

#scr-s1-app .sk-col-actions {
  width: 70px;
}

#scr-s1-app .sk-avatar {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
}

#scr-s1-app .sk-athlete-text {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  flex: 1;
}

#scr-s1-app .sk-athlete-name {
  height: 16px;
  width: 70%;
}

#scr-s1-app .skeleton-table-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  border-top: 1px solid var(--border);
}

#scr-s1-app .sk-footer-info {
  height: 14px;
  width: 180px;
}

#scr-s1-app .sk-footer-pages {
  display: flex;
  gap: 0.35rem;
}

#scr-s1-app .sk-footer-page {
  width: 36px;
  height: 36px;
}

#scr-s1-app .content-loaded {
  /* animation removed */
}

#scr-s1-app .container {
  max-width: 1300px;
  margin: 0 auto 3rem;
  position: relative;
  z-index: 1;
}

#scr-s1-app .stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  padding: 4px;
  margin: -4px;
  margin-bottom: calc(1.5rem - 4px);
}

#scr-s1-app .stat-card {
  background: var(--bg-card);
  border-radius: var(--radius);
  padding: 1.25rem 1rem;
  box-shadow: var(--shadow);
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 1rem;
  transition:
    transform 0.2s,
    box-shadow 0.2s;
  cursor: default;
}

#scr-s1-app .stat-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}

#scr-s1-app .stat-icon {
  width: 52px;
  height: 52px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

#scr-s1-app .stat-icon.gold {
  background: var(--gold-bg);
  color: var(--accent);
}

#scr-s1-app .stat-icon.silver {
  background: var(--silver-bg);
  color: #757575;
}

#scr-s1-app .stat-icon.bronze {
  background: var(--bronze-bg);
  color: var(--bronze);
}

#scr-s1-app .stat-icon.total {
  background: var(--success-light);
  color: var(--success);
}

#scr-s1-app .stat-icon.athletes {
  background: #e8eaf6;
  color: #283593;
}

#scr-s1-app .stat-icon i {
  font-size: 1.35rem;
}

#scr-s1-app .stat-info .stat-number {
  font-family: "Prompt", sans-serif;
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1;
  color: var(--fg);
}

#scr-s1-app .stat-info .stat-label {
  font-size: 0.82rem;
  color: var(--fg-muted);
  margin-top: 0.2rem;
}

/* === Controls === */
#scr-s1-app .controls-bar {
  background: var(--bg-card);
  border-radius: var(--radius);
  padding: 1.25rem 1.5rem;
  box-shadow: var(--shadow);
  border: 1px solid var(--border);
  margin-bottom: 0.75rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: flex-end;
}

#scr-s1-app .search-box {
  flex: 1;
  min-width: 240px;
  position: relative;
}

#scr-s1-app .search-box>i {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--fg-muted);
  font-size: 0.9rem;
  z-index: 2;
  pointer-events: none;
}

#scr-s1-app .search-box input {
  width: 100%;
  padding: 0.65rem 1rem 0.65rem 36px !important;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-sm);
  font-family: "Sarabun", sans-serif;
  font-size: 0.9rem;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
  background: #f7f6f1;
}

#scr-s1-app .search-box input:focus {
  outline: none;
  border-color: var(--primary-light);
  box-shadow: 0 0 0 3px rgba(var(--primary-rgb), 0.1);
}

#scr-s1-app .clear-search {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  color: var(--fg-muted);
  cursor: pointer;
  font-size: 0.9rem;
  display: none;
  padding: 4px;
  transition: color 0.2s;
  z-index: 5;
}

#scr-s1-app .clear-search:hover {
  color: var(--primary);
}

#scr-s1-app .autocomplete-list {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--bg-card);
  border: 1.5px solid var(--border);
  border-top: none;
  border-radius: 0 0 var(--radius-sm) var(--radius-sm);
  max-height: 260px;
  overflow-y: auto;
  z-index: 100;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  display: none;
}

#scr-s1-app .autocomplete-list.show {
  display: block;
}

#scr-s1-app .autocomplete-item {
  padding: 0.6rem 1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.88rem;
  transition: background 0.1s;
  border-bottom: 1px solid #f0ede8;
}

#scr-s1-app .autocomplete-item:last-child {
  border-bottom: none;
}

#scr-s1-app .autocomplete-item:hover,
#scr-s1-app .autocomplete-item.active {
  background: rgba(var(--primary-rgb), 0.06);
}

#scr-s1-app .autocomplete-item .ac-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  overflow: hidden;
  background: #e8ece8;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

#scr-s1-app .autocomplete-item .ac-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#scr-s1-app .autocomplete-item .ac-avatar svg {
  width: 60%;
  height: 60%;
}

#scr-s1-app .autocomplete-item .ac-info {
  display: flex;
  flex-direction: column;
}

#scr-s1-app .autocomplete-item .ac-name {
  font-weight: 600;
  color: var(--fg);
  line-height: 1.2;
}

#scr-s1-app .autocomplete-item .ac-detail {
  font-size: 0.78rem;
  color: var(--fg-muted);
}

#scr-s1-app .autocomplete-item mark {
  background: #fff3cd;
  color: var(--fg);
  font-weight: 600;
  padding: 0;
  border-radius: 2px;
}

#scr-s1-app .btn {
  padding: 0.65rem 1.4rem;
  border: none;
  border-radius: var(--radius-sm);
  font-family: "Sarabun", sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: all 0.2s;
  white-space: nowrap;
}

#scr-s1-app .btn-primary {
  background: var(--primary);
  color: #fff;
}

#scr-s1-app .btn-primary:hover {
  background: var(--primary-light);
  transform: translateY(-1px);
}

#scr-s1-app .btn-outline {
  background: transparent;
  color: var(--fg-muted);
  border: 1.5px solid var(--border);
}

#scr-s1-app .btn-outline:hover {
  background: #f7f6f1;
  border-color: var(--fg-muted);
}

#scr-s1-app .btn-danger {
  background: var(--danger);
  color: #fff;
}

#scr-s1-app .btn-danger:hover {
  background: #c92a2a;
  transform: translateY(-1px);
}

#scr-s1-app .row-checkbox {
  width: 16px;
  height: 16px;
  cursor: pointer;
  accent-color: var(--primary);
}

#scr-s1-app .controls-spacer {
  display: none;
}

#scr-s1-app .controls-actions {
  display: flex;
  align-items: flex-end;
  gap: 0.75rem;
  flex-shrink: 0;
  margin-left: auto;
}

/* === Searchable Select === */
#scr-s1-app .ss-wrap {
  position: relative;
  flex: 1;
  min-width: 150px;
}

#scr-s1-app .ss-trigger {
  width: 100%;
  padding: 0.65rem 2.5rem 0.65rem 1rem;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-sm);
  background: #f7f6f1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: "Sarabun", sans-serif;
  font-size: 0.9rem;
  color: var(--fg);
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
  user-select: none;
}

#scr-s1-app .ss-trigger:hover {
  border-color: #c0bdb5;
}

#scr-s1-app .ss-trigger.open {
  border-color: var(--primary-light);
  box-shadow: 0 0 0 3px rgba(var(--primary-rgb), 0.1);
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
}

#scr-s1-app .ss-trigger i {
  font-size: 0.65rem;
  color: var(--fg-muted);
  transition: transform 0.2s;
}

#scr-s1-app .ss-trigger.open i {
  transform: rotate(180deg);
}

#scr-s1-app .ss-trigger .ss-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#scr-s1-app .ss-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--bg-card);
  border: 1.5px solid var(--primary-light);
  border-top: none;
  border-radius: 0 0 var(--radius-sm) var(--radius-sm);
  z-index: 90;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  display: none;
  max-height: 280px;
  overflow: hidden;
}

#scr-s1-app .ss-dropdown.show {
  display: flex;
  flex-direction: column;
}

#scr-s1-app .ss-search-wrap {
  padding: 0.5rem;
  border-bottom: 1px solid var(--border);
  position: relative;
  flex-shrink: 0;
}

#scr-s1-app .ss-search-wrap i {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.75rem;
  color: var(--fg-muted);
}

#scr-s1-app .ss-search-wrap input {
  width: 100%;
  padding: 0.45rem 0.6rem 0.45rem 32px !important;
  border: 1.5px solid var(--border);
  border-radius: 6px;
  font-family: "Sarabun", sans-serif;
  font-size: 0.85rem;
  background: #f7f6f1;
  transition: border-color 0.2s;
}

#scr-s1-app .ss-search-wrap input:focus {
  outline: none;
  border-color: var(--primary-light);
}

#scr-s1-app .ss-options {
  overflow-y: auto;
  flex: 1;
  max-height: 215px;
}

#scr-s1-app .ss-option {
  padding: 0.55rem 0.85rem;
  cursor: pointer;
  font-size: 0.88rem;
  transition: background 0.1s;
  color: var(--fg);
  border-bottom: 1px solid #f5f3ee;
}

#scr-s1-app .ss-option:last-child {
  border-bottom: none;
}

#scr-s1-app .ss-option:hover {
  background: rgba(var(--primary-rgb), 0.06);
}

#scr-s1-app .ss-option.selected {
  background: rgba(var(--primary-rgb), 0.08);
  font-weight: 600;
  color: var(--primary);
}

#scr-s1-app .ss-option.hidden {
  display: none;
}

#scr-s1-app .ss-no-result {
  padding: 0.75rem;
  text-align: center;
  font-size: 0.85rem;
  color: var(--fg-muted);
}

/* === View Tabs === */
#scr-s1-app .view-tabs {
  display: flex;
  gap: 0;
  border-bottom: 2px solid var(--border);
  margin-bottom: 1.5rem;
}

#scr-s1-app .view-tab {
  background: none;
  border: none;
  padding: 0.6rem 1.25rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--fg-muted);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: all 0.2s ease;
  font-family: inherit;
}

#scr-s1-app .view-tab:hover {
  color: var(--fg);
}

#scr-s1-app .view-tab.active {
  color: var(--primary);
  border-bottom-color: var(--primary);
}

#scr-s1-app .view-count {
  font-weight: 400;
  font-size: 0.8rem;
  opacity: 0.7;
}

/* === Table Toolbar === */
#scr-s1-app .table-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
  gap: 0.75rem;
}

#scr-s1-app .table-toolbar-left {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}

#scr-s1-app .table-toolbar-right {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

#scr-s1-app .trash-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
  gap: 0.75rem;
}

#scr-s1-app .trash-toolbar.hidden {
  display: none;
}

#scr-s1-app .export-group {
  display: flex;
  gap: 0.5rem;
}

#scr-s1-app .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 0.5rem;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  padding: 0.5rem;
  z-index: 100;
  display: none;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 150px;
}

#scr-s1-app .dropdown-menu.show {
  display: flex;
}

#scr-s1-app .dropdown-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0.5rem;
  cursor: pointer;
  border-radius: var(--radius-sm);
  transition: background 0.2s;
  font-size: 0.85rem;
}

#scr-s1-app .dropdown-item:hover {
  background: #f7f6f1;
}

#scr-s1-app .dropdown-item input {
  accent-color: var(--primary);
  cursor: pointer;
}

#scr-s1-app .col-hidden {
  display: none !important;
}

#scr-s1-app tbody td.col-hidden {
  display: none !important;
}

/* === Table === */
#scr-s1-app .table-wrapper {
  position: relative;
  background: var(--bg-card);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  border: 1px solid var(--border);
}

#scr-s1-app .table-loader {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.7);
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(2px);
  border-radius: var(--radius);
}

#scr-s1-app .spinner {
  width: 40px;
  height: 40px;
  border: 4px solid rgba(var(--primary-rgb), 0.2);
  border-top-color: var(--primary);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

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

#scr-s1-app .table-scroll {
  overflow-x: auto;
  max-height: 65vh;
  overflow-y: auto;
}

#scr-s1-app table {
  width: 100%;
  border-collapse: collapse;
  min-width: 1060px;
}

#scr-s1-app thead {
  background: var(--primary);
  position: sticky;
  top: 0;
  z-index: 10;
}

#scr-s1-app thead th:first-child {
  border-top-left-radius: var(--radius);
}

#scr-s1-app thead th:last-child {
  border-top-right-radius: var(--radius);
}

#scr-s1-app thead th {
  padding: 0.9rem 1rem;
  font-family: "Prompt", sans-serif;
  font-size: 0.8rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.92);
  text-align: left;
  white-space: nowrap;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  user-select: none;
  cursor: pointer;
  transition: background 0.15s;
}

#scr-s1-app thead th:hover {
  background: var(--primary-light);
}

#scr-s1-app thead th .sort-icon {
  margin-left: 4px;
  font-size: 0.65rem;
  opacity: 0.4;
  transition: opacity 0.2s;
}

#scr-s1-app thead th.sorted .sort-icon {
  opacity: 1;
  color: var(--gold);
}

#scr-s1-app tbody tr {
  border-bottom: 1px solid var(--border);
  transition: background 0.15s;
}

#scr-s1-app tbody tr:hover {
  background: rgba(var(--primary-rgb), 0.08);
}

#scr-s1-app tbody tr:last-child {
  border-bottom: none;
}

#scr-s1-app tbody td {
  padding: 0.7rem 1rem;
  font-size: 0.9rem;
  vertical-align: middle;
}

#scr-s1-app .td-number {
  font-family: "Prompt", sans-serif;
  font-weight: 600;
  font-size: 0.82rem;
  width: 50px;
  text-align: center;
}

#scr-s1-app tbody .td-number {
  color: var(--fg-muted);
}

#scr-s1-app .athlete-cell {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

#scr-s1-app .avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  flex-shrink: 0;
  overflow: hidden;
  background: #e8ece8;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--border);
  transition:
    border-color 0.2s,
    transform 0.2s;
}

#scr-s1-app .avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#scr-s1-app .avatar svg {
  width: 55%;
  height: 55%;
}

#scr-s1-app tbody tr:hover .avatar {
  border-color: var(--primary-light);
  transform: scale(1.04);
}

#scr-s1-app .athlete-name {
  font-weight: 600;
  color: var(--fg);
}

#scr-s1-app .td-class {
  font-size: 0.85rem;
  color: var(--fg-muted);
}

#scr-s1-app .sport-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.25rem 0.7rem;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: 500;
  background: #e8f5e9;
  color: var(--primary);
  white-space: nowrap;
}

#scr-s1-app .sport-tag i {
  font-size: 0.7rem;
}

#scr-s1-app .level-badge {
  display: inline-block;
  padding: 0.2rem 0.65rem;
  border-radius: 6px;
  font-size: 0.78rem;
  font-weight: 600;
  white-space: nowrap;
}

#scr-s1-app .level-school {
  background: #e3f2fd;
  color: #1565c0;
}

#scr-s1-app .level-district {
  background: #e8f5e9;
  color: #2e7d32;
}

#scr-s1-app .level-province,
#scr-s1-app .level-provincial {
  background: #fff3e0;
  color: #e65100;
}

#scr-s1-app .level-region {
  background: #f3e5f5;
  color: #7b1fa2;
}

#scr-s1-app .level-national {
  background: #fce4ec;
  color: #c62828;
}

#scr-s1-app .medal-cell {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

#scr-s1-app .medal-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
  flex-shrink: 0;
}

#scr-s1-app .medal-gold {
  background: linear-gradient(135deg, #ffd700, #ffa000);
  color: #5d4037;
  box-shadow: 0 2px 6px rgba(255, 215, 0, 0.35);
}

#scr-s1-app .medal-silver {
  background: linear-gradient(135deg, #e0e0e0, #9e9e9e);
  color: #fff;
  box-shadow: 0 2px 6px rgba(192, 192, 192, 0.35);
}

#scr-s1-app .medal-bronze {
  background: linear-gradient(135deg, #cd7f32, #a0522d);
  color: #fff;
  box-shadow: 0 2px 6px rgba(205, 127, 50, 0.35);
}

#scr-s1-app .medal-none {
  background: #eceff1;
  color: #90a4ae;
}

#scr-s1-app .medal-text {
  font-weight: 600;
  font-size: 0.85rem;
}

#scr-s1-app .medal-text.gold-text {
  color: var(--accent);
}

#scr-s1-app .medal-text.silver-text {
  color: #616161;
}

#scr-s1-app .medal-text.bronze-text {
  color: var(--bronze);
}

#scr-s1-app .medal-text.other-text {
  color: var(--fg-muted);
}

#scr-s1-app .td-year {
  font-family: "Prompt", sans-serif;
  font-weight: 500;
  font-size: 0.85rem;
}

#scr-s1-app .td-actions {
  display: flex;
  gap: 0.25rem;
}

#scr-s1-app .td-actions button {
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  transition: all 0.15s;
}

#scr-s1-app .btn-edit {
  background: #e3f2fd;
  color: #1565c0;
}

#scr-s1-app .btn-edit:hover {
  background: #bbdefb;
}

#scr-s1-app .btn-del {
  background: #ffebee;
  color: #c62828;
}

#scr-s1-app .btn-del:hover {
  background: #ffcdd2;
}

#scr-s1-app .table-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  border-top: 1px solid var(--border);
  flex-wrap: wrap;
  gap: 0.75rem;
}

#scr-s1-app .table-info {
  font-size: 0.85rem;
  color: var(--fg-muted);
  display: flex;
  align-items: center;
  gap: 1rem;
}

#scr-s1-app .per-page-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.85rem;
  color: var(--fg-muted);
  white-space: nowrap;
}

#scr-s1-app .per-page-select {
  padding: 0.4rem 2rem 0.4rem 0.65rem;
  border: 1.5px solid var(--border);
  border-radius: 6px;
  font-family: "Sarabun", sans-serif;
  font-size: 0.85rem;
  background: #f7f6f1;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236B6B6B' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 6px center;
  transition: border-color 0.2s;
}

#scr-s1-app .per-page-select:focus {
  outline: none;
  border-color: var(--primary-light);
}

#scr-s1-app .pagination {
  display: flex;
  gap: 0.35rem;
}

#scr-s1-app .pagination button {
  width: 36px;
  height: 36px;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--bg-card);
  color: var(--fg-muted);
  font-family: "Prompt", sans-serif;
  font-size: 0.82rem;
  font-weight: 500;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
}

#scr-s1-app .pagination button:hover:not(:disabled) {
  border-color: var(--primary-light);
  color: var(--primary);
}

#scr-s1-app .pagination button.active {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}

#scr-s1-app .pagination button:disabled {
  opacity: 0.35;
  cursor: default;
}

#scr-s1-app .no-data {
  text-align: center;
  padding: 3rem 1rem;
}

#scr-s1-app .no-data i {
  font-size: 3rem;
  color: var(--border);
  margin-bottom: 1rem;
}

#scr-s1-app .no-data p {
  color: var(--fg-muted);
  font-size: 0.95rem;
}

#scr-s1-app .modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(4px);
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  animation: fadeIn 0.2s;
}

#scr-s1-app .modal-overlay.active {
  display: flex;
}

#scr-s1-app .modal {
  background: var(--bg-card);
  border-radius: 16px;
  width: 100%;
  max-width: 580px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.2);
  animation: slideUp 0.3s ease-out;
  max-height: 90vh;
  overflow-y: auto;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#scr-s1-app .modal-header {
  padding: 1.5rem 1.75rem;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#scr-s1-app .modal-header h2 {
  font-family: "Prompt", sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
}

#scr-s1-app .modal-close {
  width: 36px;
  height: 36px;
  border: none;
  background: #f7f6f1;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: var(--fg-muted);
  transition: all 0.15s;
}

#scr-s1-app .modal-close:hover {
  background: var(--border);
  color: var(--fg);
}

#scr-s1-app .modal-body {
  padding: 1.5rem 1.75rem;
}

#scr-s1-app .profile-section {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-bottom: 1.5rem;
}

#scr-s1-app .profile-preview {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  overflow: hidden;
  background: #e8ece8;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2.5px solid var(--border);
  flex-shrink: 0;
  cursor: pointer;
  position: relative;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
}

#scr-s1-app .profile-preview:hover {
  border-color: var(--primary-light);
  box-shadow: 0 0 0 4px rgba(var(--primary-rgb), 0.08);
}

#scr-s1-app .profile-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#scr-s1-app .profile-preview svg {
  width: 55%;
  height: 55%;
}

#scr-s1-app .profile-preview .camera-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.2s;
  border-radius: 50%;
}

#scr-s1-app .profile-preview:hover .camera-overlay {
  opacity: 1;
}

#scr-s1-app .camera-overlay i {
  color: #fff;
  font-size: 1.5rem;
}

#scr-s1-app .profile-upload-info {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

#scr-s1-app .profile-upload-info label {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--fg);
}

#scr-s1-app .profile-upload-info .hint {
  font-size: 0.78rem;
  color: var(--fg-muted);
}

#scr-s1-app .profile-url-row {
  display: flex;
  gap: 0.5rem;
}

#scr-s1-app .profile-url-row input {
  flex: 1;
  padding: 0.5rem 0.75rem;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-sm);
  font-family: "Sarabun", sans-serif;
  font-size: 0.85rem;
  background: #f7f6f1;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
}

#scr-s1-app .profile-url-row input:focus {
  outline: none;
  border-color: var(--primary-light);
  box-shadow: 0 0 0 3px rgba(var(--primary-rgb), 0.1);
}

#scr-s1-app .profile-url-row button {
  padding: 0.5rem 0.85rem;
  border: none;
  border-radius: var(--radius-sm);
  background: var(--primary);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  font-family: "Sarabun", sans-serif;
  transition: background 0.15s;
  white-space: nowrap;
}

#scr-s1-app .profile-url-row button:hover {
  background: var(--primary-light);
}

#scr-s1-app .profile-separator {
  height: 1px;
  background: var(--border);
  margin-bottom: 1.25rem;
}

#scr-s1-app .form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

#scr-s1-app .form-group {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

#scr-s1-app .form-group label {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--fg);
}

#scr-s1-app .form-group label .required {
  color: var(--danger);
}

#scr-s1-app .form-group input,
#scr-s1-app .form-group select {
  padding: 0.6rem 0.85rem;
  border: 1.5px solid var(--border);
  border-radius: var(--radius-sm);
  font-family: "Sarabun", sans-serif;
  font-size: 0.9rem;
  transition:
    border-color 0.2s,
    box-shadow 0.2s;
  background: #f7f6f1;
}

#scr-s1-app .form-group input:focus,
#scr-s1-app .form-group select:focus {
  outline: none;
  border-color: var(--primary-light);
  box-shadow: 0 0 0 3px rgba(var(--primary-rgb), 0.1);
}

#scr-s1-app .form-group.has-error input,
#scr-s1-app .form-group.has-error select,
#scr-s1-app .profile-url-row.has-error input {
  border-color: var(--danger);
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1);
}

#scr-s1-app .error-msg {
  color: var(--danger);
  font-size: 0.8rem;
  margin-top: 0.3rem;
  display: none;
  font-weight: 500;
}

#scr-s1-app .has-error .error-msg,
#scr-s1-app .has-error~.error-msg {
  display: block;
}

#scr-s1-app .modal-footer {
  padding: 1.25rem 1.75rem;
  border-top: 1px solid var(--border);
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
}

#scr-s1-app .toast-container {
  position: fixed;
  top: 1.5rem;
  right: 1.5rem;
  z-index: 2000;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

#scr-s1-app .toast {
  background: var(--bg-card);
  border-radius: var(--radius-sm);
  padding: 0.85rem 1.25rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  border-left: 4px solid var(--success);
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.9rem;
  animation: toastIn 0.3s ease-out;
  min-width: 280px;
}

#scr-s1-app .toast.error {
  border-left-color: var(--danger);
}

#scr-s1-app .toast i {
  font-size: 1.1rem;
}

#scr-s1-app .toast.success i {
  color: var(--success);
}

#scr-s1-app .toast.error i {
  color: var(--danger);
}

@keyframes toastIn {
  from {
    opacity: 0;
    transform: translateX(40px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes toastOut {
  from {
    opacity: 1;
    transform: translateX(0);
  }

  to {
    opacity: 0;
    transform: translateX(40px);
  }
}

#scr-s1-app .confirm-body {
  text-align: center;
  padding: 2rem 1.5rem;
}

#scr-s1-app .confirm-body i {
  font-size: 3rem;
  color: var(--danger);
  margin-bottom: 1rem;
}

#scr-s1-app .confirm-body h3 {
  font-family: "Prompt", sans-serif;
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
}

#scr-s1-app .confirm-body p {
  color: var(--fg-muted);
  font-size: 0.9rem;
}

#scr-s1-app .confirm-footer {
  padding: 0 1.5rem 1.5rem;
  display: flex;
  justify-content: center;
  gap: 1rem;
}

#scr-s1-app .btn-accent {
  background: var(--accent);
  color: #fff;
}

#scr-s1-app .btn-accent:hover {
  background: var(--accent-light);
}

#scr-s1-app .hidden {
  display: none !important;
}

@media screen and (max-width: 1024px) {

  #scr-s1-app .stats-grid,
  #scr-s1-app .skeleton-stats {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 768px) {

  #scr-s1-app .stats-grid,
  #scr-s1-app .skeleton-stats {
    grid-template-columns: repeat(2, 1fr);
  }

  #scr-s1-app .controls-bar,
  #scr-s1-app .skeleton-controls {
    flex-direction: column;
  }

  #scr-s1-app .search-box,
  #scr-s1-app .skeleton-search {
    width: 100%;
  }

  #scr-s1-app .ss-wrap {
    width: 100%;
  }

  #scr-s1-app .controls-spacer {
    display: none;
  }

  #scr-s1-app .form-grid {
    grid-template-columns: 1fr;
  }

  #scr-s1-app .profile-section {
    flex-direction: column;
    text-align: center;
  }

  #scr-s1-app .table-toolbar {
    flex-direction: column;
    align-items: flex-start;
  }

  #scr-s1-app .table-toolbar-left,
  #scr-s1-app .table-toolbar-right {
    width: 100%;
    justify-content: flex-start;
  }
}

@media screen and (max-width: 480px) {

  #scr-s1-app .stats-grid,
  #scr-s1-app .skeleton-stats {
    grid-template-columns: 1fr;
  }

  #scr-s1-app .table-footer,
  #scr-s1-app .skeleton-table-footer {
    flex-direction: column;
    gap: 0.75rem;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {

  #scr-s1-app *,
  #scr-s1-app *::before,
  #scr-s1-app *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* PRINT STYLES */
@media print {
  @page {
    size: landscape;
    margin: 1cm;
  }

  body.scr-printing {
    background: #fff !important;
  }

  body.scr-printing #wpadminbar,
  body.scr-printing #adminmenuwrap,
  body.scr-printing #adminmenuback,
  body.scr-printing #wpfooter,
  body.scr-printing .notice,
  body.scr-printing .update-nag,
  body.scr-printing .screen-reader-shortcut {
    display: none !important;
  }

  body.scr-printing #wpcontent,
  body.scr-printing #wpbody,
  body.scr-printing #wpbody-content,
  body.scr-printing .wrap,
  body.scr-printing #wpwrap {
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    background: transparent !important;
    position: static !important;
    overflow: visible !important;
  }

  body.scr-printing>*:not(#wpwrap) {
    display: none !important;
  }

  body.scr-printing #wpwrap>*:not(#wpcontent) {
    display: none !important;
  }

  body.scr-printing #wpcontent>*:not(#wpbody) {
    display: none !important;
  }

  body.scr-printing #wpbody>*:not(#wpbody-content) {
    display: none !important;
  }

  body.scr-printing #wpbody-content>*:not(.wrap) {
    display: none !important;
  }

  body.scr-printing .wrap>*:not(#scr-s1-app):not(.scr-s1-app-wrapper) {
    display: none !important;
  }

  body.scr-printing #scr-s1-app {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #scr-s1-app .container,
  #scr-s1-app .table-container,
  #scr-s1-app .table-wrapper,
  #scr-s1-app .table-scroll,
  #scr-s1-app #contentView {
    background: #fff;
    color: #000;
    overflow: visible !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    position: static !important;
  }

  #scr-s1-app table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    border-collapse: collapse;
    table-layout: auto;
  }

  #scr-s1-app thead th {
    white-space: normal !important;
    word-break: break-word;
  }

  #scr-s1-app tbody td {
    white-space: normal !important;
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  #scr-s1-app .athlete-cell,
  #scr-s1-app .sport-tag,
  #scr-s1-app .level-badge,
  #scr-s1-app .medal-cell,
  #scr-s1-app .medal-text {
    white-space: normal !important;
  }

  #scr-s1-app tr {
    page-break-inside: avoid;
    page-break-after: auto;
  }

  #scr-s1-app thead {
    display: table-header-group;
  }

  #scr-s1-app tfoot {
    display: table-footer-group;
  }

  #scr-s1-app .controls-bar,
  #scr-s1-app .table-toolbar,
  #scr-s1-app .trash-toolbar,
  #scr-s1-app .view-tabs,
  #scr-s1-app .avatar,
  #scr-s1-app .table-footer,
  #scr-s1-app .td-actions-cell,
  #scr-s1-app .actions-th,
  #scr-s1-app .td-select,
  #scr-s1-app .select-th,
  #scr-s1-app .toast-container,
  #scr-s1-app .modal-overlay,
  #scr-s1-app #skeletonView,
  #scr-s1-app .stats-grid {
    display: none !important;
  }

  #scr-s1-app .container {
    box-shadow: none;
    padding: 0;
    margin: 0;
    max-width: 100%;
  }

  #scr-s1-app .table-container,
  #scr-s1-app .table-wrapper {
    box-shadow: none;
    border: none;
    margin-top: 0;
    width: 100% !important;
  }

  #scr-s1-app th,
  #scr-s1-app td {
    border: 1px solid #e2e8f0;
    padding: 8px;
  }

  #scr-s1-app th {
    background: var(--primary) !important;
    color: #fff !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  #scr-s1-app .level-badge,
  #scr-s1-app .medal-icon,
  #scr-s1-app .stat-icon {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

/*# sourceMappingURL=data:application/json;base64,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QzFCO1FBQ0E7VUFDRSxnQkFBZ0I7VUFDaEIsVUFBVTtVQUNWLFNBQVM7VUFDVCxlQUFlO1FBQ2pCO1FBQ0E7VUFDRSxnQkFBZ0I7VUFDaEIsWUFBWTtVQUNaLGFBQWE7VUFDYixzQkFBc0I7UUFDeEI7UUFDQTtVQUNFLFdBQVc7VUFDWCx5QkFBeUI7UUFDM0I7UUFDQTtVQUNFLHlCQUF5QjtVQUN6QixZQUFZO1FBQ2Q7UUFDQTtVQUNFLHFDQUFxQztVQUNyQyxzQkFBc0I7VUFDdEIsaUNBQWlDO1VBQ2pDLHlCQUF5QjtRQUMzQjtRQUNBO1VBQ0UsaUNBQWlDO1VBQ2pDLHlCQUF5QjtRQUMzQjtNQUNGIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpyb290IHtcbiAgICAgICAgLS1iZzogdHJhbnNwYXJlbnQ7XG4gICAgICAgIC0tYmctY2FyZDogI2ZmZmZmZjtcbiAgICAgICAgLS1mZzogIzFhMWExYTtcbiAgICAgICAgLS1mZy1tdXRlZDogIzZiNmI2YjtcbiAgICAgICAgLS1hY2NlbnQ6ICNiODg2MGI7XG4gICAgICAgIC0tYWNjZW50LWxpZ2h0OiAjZGFhNTIwO1xuICAgICAgICAtLXByaW1hcnk6ICMxYjQzMzI7XG4gICAgICAgIC0tcHJpbWFyeS1saWdodDogIzJkNmE0ZjtcbiAgICAgICAgLS1nb2xkOiAjZmZkNzAwO1xuICAgICAgICAtLWdvbGQtYmc6ICNmZmY4ZGM7XG4gICAgICAgIC0tc2lsdmVyOiAjYzBjMGMwO1xuICAgICAgICAtLXNpbHZlci1iZzogI2Y1ZjVmNTtcbiAgICAgICAgLS1icm9uemU6ICNjZDdmMzI7XG4gICAgICAgIC0tYnJvbnplLWJnOiAjZmZmMGUwO1xuICAgICAgICAtLWRhbmdlcjogI2M2MjgyODtcbiAgICAgICAgLS1kYW5nZXItbGlnaHQ6ICNmZmViZWU7XG4gICAgICAgIC0tc3VjY2VzczogIzJlN2QzMjtcbiAgICAgICAgLS1zdWNjZXNzLWxpZ2h0OiAjZThmNWU5O1xuICAgICAgICAtLWJvcmRlcjogI2UwZGVkODtcbiAgICAgICAgLS1zaGFkb3c6IDAgMnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgICAgICAgLS1zaGFkb3ctbGc6IDAgOHB4IDMycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgICAgICAtLXJhZGl1czogMTJweDtcbiAgICAgICAgLS1yYWRpdXMtc206IDhweDtcbiAgICAgICAgLS1za2VsZXRvbi1iYXNlOiAjZThlNmUxO1xuICAgICAgICAtLXNrZWxldG9uLXNoaW5lOiAjZjVmM2VlO1xuICAgICAgfVxuICAgICAgKiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIH1cbiAgICAgIGJvZHkge1xuICAgICAgICBmb250LWZhbWlseTogXCJTYXJhYnVuXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdmFyKC0tZmcpO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgfVxuXG4gICAgICBAa2V5ZnJhbWVzIHNrZWxldG9uU2hpbW1lciB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDAwcHggMDtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0MDBweCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuc2tlbGV0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgOTBkZWcsXG4gICAgICAgICAgdmFyKC0tc2tlbGV0b24tYmFzZSkgMjUlLFxuICAgICAgICAgIHZhcigtLXNrZWxldG9uLXNoaW5lKSA1MCUsXG4gICAgICAgICAgdmFyKC0tc2tlbGV0b24tYmFzZSkgNzUlXG4gICAgICAgICk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogODAwcHggMTAwJTtcbiAgICAgICAgYW5pbWF0aW9uOiBza2VsZXRvblNoaW1tZXIgMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgfVxuICAgICAgLnNrZWxldG9uLWNpcmNsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICA5MGRlZyxcbiAgICAgICAgICB2YXIoLS1za2VsZXRvbi1iYXNlKSAyNSUsXG4gICAgICAgICAgdmFyKC0tc2tlbGV0b24tc2hpbmUpIDUwJSxcbiAgICAgICAgICB2YXIoLS1za2VsZXRvbi1iYXNlKSA3NSVcbiAgICAgICAgKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA4MDBweCAxMDAlO1xuICAgICAgICBhbmltYXRpb246IHNrZWxldG9uU2hpbW1lciAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB9XG4gICAgICAuc2tlbGV0b24tc3RhdHMge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgIH1cbiAgICAgIC5za2VsZXRvbi1zdGF0LWNhcmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgICAgICAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICB9XG4gICAgICAuc2tlbGV0b24tc3RhdC1pY29uIHtcbiAgICAgICAgd2lkdGg6IDUycHg7XG4gICAgICAgIGhlaWdodDogNTJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgICAuc2tlbGV0b24tc3RhdC10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAwLjRyZW07XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG4gICAgICAuc2tlbGV0b24tc3RhdC1udW1iZXIge1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgfVxuICAgICAgLnNrZWxldG9uLXN0YXQtbGFiZWwge1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgfVxuICAgICAgLnNrZWxldG9uLWNvbnRyb2xzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMC43NXJlbTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuICAgICAgLnNrZWxldG9uLXNlYXJjaCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMjIwcHg7XG4gICAgICAgIGhlaWdodDogMzhweDtcbiAgICAgIH1cbiAgICAgIC5za2VsZXRvbi1maWx0ZXIge1xuICAgICAgICB3aWR0aDogMTQwcHg7XG4gICAgICAgIGhlaWdodDogMzhweDtcbiAgICAgIH1cbiAgICAgIC5za2VsZXRvbi1idG4ge1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIGhlaWdodDogMzhweDtcbiAgICAgIH1cbiAgICAgIC5za2VsZXRvbi10YWJsZS13cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG4gICAgICAuc2tlbGV0b24tdGFibGUtaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeSk7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgIH1cbiAgICAgIC5za2VsZXRvbi10YWJsZS1yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgICAgfVxuICAgICAgLnNrZWxldG9uLXRhYmxlLXJvdzpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIH1cbiAgICAgIC5zay1jb2wtbm8ge1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgIH1cbiAgICAgIC5zay1jb2wtYXRobGV0ZSB7XG4gICAgICAgIGZsZXg6IDEuNTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjc1cmVtO1xuICAgICAgfVxuICAgICAgLnNrLWNvbC1jbGFzcyB7XG4gICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgfVxuICAgICAgLnNrLWNvbC1zcG9ydCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG4gICAgICAuc2stY29sLWV2ZW50IHtcbiAgICAgICAgZmxleDogMS41O1xuICAgICAgfVxuICAgICAgLnNrLWNvbC1sZXZlbCB7XG4gICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgfVxuICAgICAgLnNrLWNvbC1yZXN1bHQge1xuICAgICAgICB3aWR0aDogMTEwcHg7XG4gICAgICB9XG4gICAgICAuc2stY29sLXllYXIge1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgIH1cbiAgICAgIC5zay1jb2wtYWN0aW9ucyB7XG4gICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgfVxuICAgICAgLnNrLWF2YXRhciB7XG4gICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgICAgLnNrLWF0aGxldGUtdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMC4zcmVtO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuICAgICAgLnNrLWF0aGxldGUtbmFtZSB7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgIH1cbiAgICAgIC5za2VsZXRvbi10YWJsZS1mb290ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgICAgIH1cbiAgICAgIC5zay1mb290ZXItaW5mbyB7XG4gICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgd2lkdGg6IDE4MHB4O1xuICAgICAgfVxuICAgICAgLnNrLWZvb3Rlci1wYWdlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMC4zNXJlbTtcbiAgICAgIH1cbiAgICAgIC5zay1mb290ZXItcGFnZSB7XG4gICAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICB9XG4gICAgICBAa2V5ZnJhbWVzIGNvbnRlbnRGYWRlSW4ge1xuICAgICAgICBmcm9tIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICAgICAgICB9XG4gICAgICAgIHRvIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNvbnRlbnQtbG9hZGVkIHtcbiAgICAgICAgYW5pbWF0aW9uOiBjb250ZW50RmFkZUluIDAuNHMgZWFzZS1vdXQ7XG4gICAgICB9XG5cbiAgICAgIC5jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEzMDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gM3JlbTtcbiAgICAgICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cbiAgICAgIC5zdGF0cy1ncmlkIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICB9XG4gICAgICAuc3RhdC1jYXJkIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIHRyYW5zZm9ybSAwLjJzLFxuICAgICAgICAgIGJveC1zaGFkb3cgMC4ycztcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgfVxuICAgICAgLnN0YXQtY2FyZDpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWxnKTtcbiAgICAgIH1cbiAgICAgIC5zdGF0LWljb24ge1xuICAgICAgICB3aWR0aDogNTJweDtcbiAgICAgICAgaGVpZ2h0OiA1MnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgICAuc3RhdC1pY29uLmdvbGQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nb2xkLWJnKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWFjY2VudCk7XG4gICAgICB9XG4gICAgICAuc3RhdC1pY29uLnNpbHZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpbHZlci1iZyk7XG4gICAgICAgIGNvbG9yOiAjNzU3NTc1O1xuICAgICAgfVxuICAgICAgLnN0YXQtaWNvbi5icm9uemUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1icm9uemUtYmcpO1xuICAgICAgICBjb2xvcjogdmFyKC0tYnJvbnplKTtcbiAgICAgIH1cbiAgICAgIC5zdGF0LWljb24udG90YWwge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zdWNjZXNzLWxpZ2h0KTtcbiAgICAgICAgY29sb3I6IHZhcigtLXN1Y2Nlc3MpO1xuICAgICAgfVxuICAgICAgLnN0YXQtaWNvbi5hdGhsZXRlcyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlOGVhZjY7XG4gICAgICAgIGNvbG9yOiAjMjgzNTkzO1xuICAgICAgfVxuICAgICAgLnN0YXQtaWNvbiBpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjM1cmVtO1xuICAgICAgfVxuICAgICAgLnN0YXQtaW5mbyAuc3RhdC1udW1iZXIge1xuICAgICAgICBmb250LWZhbWlseTogXCJQcm9tcHRcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY29sb3I6IHZhcigtLWZnKTtcbiAgICAgIH1cbiAgICAgIC5zdGF0LWluZm8gLnN0YXQtbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuODJyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1mZy1tdXRlZCk7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgICAgIH1cblxuICAgICAgLyogPT09IENvbnRyb2xzID09PSAqL1xuICAgICAgLmNvbnRyb2xzLWJhciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IDAuNzVyZW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAuc2VhcmNoLWJveCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMjQwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICAgIC5zZWFyY2gtYm94ID4gaSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMTRweDtcbiAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tZmctbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB9XG4gICAgICAuc2VhcmNoLWJveCBpbnB1dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwLjY1cmVtIDFyZW0gMC42NXJlbSAyLjVyZW07XG4gICAgICAgIGJvcmRlcjogMS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU2FyYWJ1blwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICBib3JkZXItY29sb3IgMC4ycyxcbiAgICAgICAgICBib3gtc2hhZG93IDAuMnM7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmN2Y2ZjE7XG4gICAgICB9XG4gICAgICAuc2VhcmNoLWJveCBpbnB1dDpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS1saWdodCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDI3LCA2NywgNTAsIDAuMSk7XG4gICAgICB9XG4gICAgICAuY2xlYXItc2VhcmNoIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWZnLW11dGVkKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgfVxuICAgICAgLmNsZWFyLXNlYXJjaDpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcbiAgICAgIH1cbiAgICAgIC5hdXRvY29tcGxldGUtbGlzdCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7XG4gICAgICAgIGJvcmRlcjogMS41cHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLXJhZGl1cy1zbSkgdmFyKC0tcmFkaXVzLXNtKTtcbiAgICAgICAgbWF4LWhlaWdodDogMjYwcHg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAuYXV0b2NvbXBsZXRlLWxpc3Quc2hvdyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLmF1dG9jb21wbGV0ZS1pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMC42cmVtIDFyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjc1cmVtO1xuICAgICAgICBmb250LXNpemU6IDAuODhyZW07XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMGVkZTg7XG4gICAgICB9XG4gICAgICAuYXV0b2NvbXBsZXRlLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICB9XG4gICAgICAuYXV0b2NvbXBsZXRlLWl0ZW06aG92ZXIsXG4gICAgICAuYXV0b2NvbXBsZXRlLWl0ZW0uYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNywgNjcsIDUwLCAwLjA2KTtcbiAgICAgIH1cbiAgICAgIC5hdXRvY29tcGxldGUtaXRlbSAuYWMtYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZThlY2U4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgICAuYXV0b2NvbXBsZXRlLWl0ZW0gLmFjLWF2YXRhciBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIH1cbiAgICAgIC5hdXRvY29tcGxldGUtaXRlbSAuYWMtYXZhdGFyIHN2ZyB7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIGhlaWdodDogNjAlO1xuICAgICAgfVxuICAgICAgLmF1dG9jb21wbGV0ZS1pdGVtIC5hYy1pbmZvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cbiAgICAgIC5hdXRvY29tcGxldGUtaXRlbSAuYWMtbmFtZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1mZyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICB9XG4gICAgICAuYXV0b2NvbXBsZXRlLWl0ZW0gLmFjLWRldGFpbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWZnLW11dGVkKTtcbiAgICAgIH1cbiAgICAgIC5hdXRvY29tcGxldGUtaXRlbSBtYXJrIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjNjZDtcbiAgICAgICAgY29sb3I6IHZhcigtLWZnKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgfVxuICAgICAgLmJ0biB7XG4gICAgICAgIHBhZGRpbmc6IDAuNjVyZW0gMS40cmVtO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlNhcmFidW5cIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC41cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIC5idG4tcHJpbWFyeSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkpO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICAgIC5idG4tcHJpbWFyeTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktbGlnaHQpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgICB9XG4gICAgICAuYnRuLW91dGxpbmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHZhcigtLWZnLW11dGVkKTtcbiAgICAgICAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgICAgfVxuICAgICAgLmJ0bi1vdXRsaW5lOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y3ZjZmMTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1mZy1tdXRlZCk7XG4gICAgICB9XG4gICAgICAuYnRuLWRhbmdlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRhbmdlcik7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgICAgLmJ0bi1kYW5nZXI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjYzkyYTJhO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgICB9XG4gICAgICAucm93LWNoZWNrYm94IHtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBhY2NlbnQtY29sb3I6IHZhcigtLXByaW1hcnkpO1xuICAgICAgfVxuICAgICAgLmNvbnRyb2xzLXNwYWNlciB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG5cbiAgICAgIC8qID09PSBTZWFyY2hhYmxlIFNlbGVjdCA9PT0gKi9cbiAgICAgIC5zcy13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgICAgfVxuICAgICAgLnNzLXRyaWdnZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMC42NXJlbSAyLjVyZW0gMC42NXJlbSAxcmVtO1xuICAgICAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmN2Y2ZjE7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmb250LWZhbWlseTogXCJTYXJhYnVuXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tZmcpO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIGJvcmRlci1jb2xvciAwLjJzLFxuICAgICAgICAgIGJveC1zaGFkb3cgMC4ycztcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICB9XG4gICAgICAuc3MtdHJpZ2dlcjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2MwYmRiNTtcbiAgICAgIH1cbiAgICAgIC5zcy10cmlnZ2VyLm9wZW4ge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktbGlnaHQpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgyNywgNjcsIDUwLCAwLjEpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pIHZhcigtLXJhZGl1cy1zbSkgMCAwO1xuICAgICAgfVxuICAgICAgLnNzLXRyaWdnZXIgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWZnLW11dGVkKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnM7XG4gICAgICB9XG4gICAgICAuc3MtdHJpZ2dlci5vcGVuIGkge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgfVxuICAgICAgLnNzLXRyaWdnZXIgLnNzLWxhYmVsIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB9XG4gICAgICAuc3MtZHJvcGRvd24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpO1xuICAgICAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLXByaW1hcnktbGlnaHQpO1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tcmFkaXVzLXNtKSB2YXIoLS1yYWRpdXMtc20pO1xuICAgICAgICB6LWluZGV4OiA5MDtcbiAgICAgICAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXgtaGVpZ2h0OiAyODBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cbiAgICAgIC5zcy1kcm9wZG93bi5zaG93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cbiAgICAgIC5zcy1zZWFyY2gtd3JhcCB7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgICAuc3Mtc2VhcmNoLXdyYXAgaSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMTRweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tZmctbXV0ZWQpO1xuICAgICAgfVxuICAgICAgLnNzLXNlYXJjaC13cmFwIGlucHV0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAuNDVyZW0gMC42cmVtIDAuNDVyZW0gMS44cmVtO1xuICAgICAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU2FyYWJ1blwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICNmN2Y2ZjE7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzO1xuICAgICAgfVxuICAgICAgLnNzLXNlYXJjaC13cmFwIGlucHV0OmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWxpZ2h0KTtcbiAgICAgIH1cbiAgICAgIC5zcy1vcHRpb25zIHtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgICB9XG4gICAgICAuc3Mtb3B0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMC41NXJlbSAwLjg1cmVtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44OHJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzO1xuICAgICAgICBjb2xvcjogdmFyKC0tZmcpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Y1ZjNlZTtcbiAgICAgIH1cbiAgICAgIC5zcy1vcHRpb246bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICB9XG4gICAgICAuc3Mtb3B0aW9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNywgNjcsIDUwLCAwLjA2KTtcbiAgICAgIH1cbiAgICAgIC5zcy1vcHRpb24uc2VsZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI3LCA2NywgNTAsIDAuMDgpO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeSk7XG4gICAgICB9XG4gICAgICAuc3Mtb3B0aW9uLmhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAuc3Mtbm8tcmVzdWx0IHtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1mZy1tdXRlZCk7XG4gICAgICB9XG5cbiAgICAgIC8qID09PSBFeHBvcnQgQmFyID09PSAqL1xuICAgICAgLmV4cG9ydC1iYXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZ2FwOiAwLjc1cmVtO1xuICAgICAgfVxuICAgICAgLmV4cG9ydC1iYXIgLmV4cG9ydC1pbmZvIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tZmctbXV0ZWQpO1xuICAgICAgfVxuICAgICAgLmV4cG9ydC1ncm91cCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMC41cmVtO1xuICAgICAgfVxuICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDAuMjVyZW07XG4gICAgICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgICB9XG4gICAgICAuZHJvcGRvd24tbWVudS5zaG93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICAgIC5kcm9wZG93bi1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuNHJlbSAwLjVyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzO1xuICAgICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICB9XG4gICAgICAuZHJvcGRvd24taXRlbTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmN2Y2ZjE7XG4gICAgICB9XG4gICAgICAuZHJvcGRvd24taXRlbSBpbnB1dCB7XG4gICAgICAgIGFjY2VudC1jb2xvcjogdmFyKC0tcHJpbWFyeSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICAgIC5jb2wtaGlkZGVuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAvKiA9PT0gVGFibGUgPT09ICovXG4gICAgICAudGFibGUtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gICAgICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gICAgICB9XG4gICAgICAudGFibGUtbG9hZGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgICAgei1pbmRleDogMjA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnB4KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgICAgIH1cbiAgICAgIC5zcGlubmVyIHtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgcmdiYSgyNywgNjcsIDUwLCAwLjIpO1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1wcmltYXJ5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBhbmltYXRpb246IHNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICB9XG4gICAgICBAa2V5ZnJhbWVzIHNwaW4ge1xuICAgICAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbiAgICAgIH1cbiAgICAgIC50YWJsZS1zY3JvbGwge1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICBtYXgtaGVpZ2h0OiA2NXZoO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgfVxuICAgICAgdGFibGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICAgICAgbWluLXdpZHRoOiAxMDYwcHg7XG4gICAgICB9XG4gICAgICB0aGVhZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkpO1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgfVxuICAgICAgdGhlYWQgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICAgICAgfVxuICAgICAgdGhlYWQgdGg6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICAgICAgfVxuICAgICAgdGhlYWQgdGgge1xuICAgICAgICBwYWRkaW5nOiAwLjlyZW0gMXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUHJvbXB0XCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkyKTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cztcbiAgICAgIH1cbiAgICAgIHRoZWFkIHRoOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS1saWdodCk7XG4gICAgICB9XG4gICAgICB0aGVhZCB0aCAuc29ydC1pY29uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjY1cmVtO1xuICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgICAgIH1cbiAgICAgIHRoZWFkIHRoLnNvcnRlZCAuc29ydC1pY29uIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgY29sb3I6IHZhcigtLWdvbGQpO1xuICAgICAgfVxuICAgICAgdGJvZHkgdHIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cztcbiAgICAgIH1cbiAgICAgIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNywgNjcsIDUwLCAwLjA4KTtcbiAgICAgIH1cbiAgICAgIHRib2R5IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgfVxuICAgICAgdGJvZHkgdGQge1xuICAgICAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgICAudGQtbnVtYmVyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUHJvbXB0XCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1mZy1tdXRlZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MnJlbTtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIC5hdGhsZXRlLWNlbGwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuODVyZW07XG4gICAgICB9XG4gICAgICAuYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZDogI2U4ZWNlODtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGJvcmRlcjogMi41cHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICBib3JkZXItY29sb3IgMC4ycyxcbiAgICAgICAgICB0cmFuc2Zvcm0gMC4ycztcbiAgICAgIH1cbiAgICAgIC5hdmF0YXIgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLmF2YXRhciBzdmcge1xuICAgICAgICB3aWR0aDogNTUlO1xuICAgICAgICBoZWlnaHQ6IDU1JTtcbiAgICAgIH1cbiAgICAgIHRib2R5IHRyOmhvdmVyIC5hdmF0YXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktbGlnaHQpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDQpO1xuICAgICAgfVxuICAgICAgLmF0aGxldGUtbmFtZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1mZyk7XG4gICAgICB9XG4gICAgICAudGQtY2xhc3Mge1xuICAgICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1mZy1tdXRlZCk7XG4gICAgICB9XG4gICAgICAuc3BvcnQtdGFnIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC4zNXJlbTtcbiAgICAgICAgcGFkZGluZzogMC4yNXJlbSAwLjdyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZThmNWU5O1xuICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeSk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB9XG4gICAgICAuc3BvcnQtdGFnIGkge1xuICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgIH1cbiAgICAgIC5sZXZlbC1iYWRnZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMC4ycmVtIDAuNjVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjc4cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgfVxuICAgICAgLmxldmVsLXNjaG9vbCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlM2YyZmQ7XG4gICAgICAgIGNvbG9yOiAjMTU2NWMwO1xuICAgICAgfVxuICAgICAgLmxldmVsLWRpc3RyaWN0IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2U4ZjVlOTtcbiAgICAgICAgY29sb3I6ICMyZTdkMzI7XG4gICAgICB9XG4gICAgICAubGV2ZWwtcHJvdmluY2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmM2UwO1xuICAgICAgICBjb2xvcjogI2U2NTEwMDtcbiAgICAgIH1cbiAgICAgIC5sZXZlbC1yZWdpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjNlNWY1O1xuICAgICAgICBjb2xvcjogIzdiMWZhMjtcbiAgICAgIH1cbiAgICAgIC5sZXZlbC1uYXRpb25hbCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmY2U0ZWM7XG4gICAgICAgIGNvbG9yOiAjYzYyODI4O1xuICAgICAgfVxuICAgICAgLm1lZGFsLWNlbGwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuNXJlbTtcbiAgICAgIH1cbiAgICAgIC5tZWRhbC1pY29uIHtcbiAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cbiAgICAgIC5tZWRhbC1nb2xkIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2ZmZDcwMCwgI2ZmYTAwMCk7XG4gICAgICAgIGNvbG9yOiAjNWQ0MDM3O1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgyNTUsIDIxNSwgMCwgMC4zNSk7XG4gICAgICB9XG4gICAgICAubWVkYWwtc2lsdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2UwZTBlMCwgIzllOWU5ZSk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgxOTIsIDE5MiwgMTkyLCAwLjM1KTtcbiAgICAgIH1cbiAgICAgIC5tZWRhbC1icm9uemUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjY2Q3ZjMyLCAjYTA1MjJkKTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDIwNSwgMTI3LCA1MCwgMC4zNSk7XG4gICAgICB9XG4gICAgICAubWVkYWwtbm9uZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlY2VmZjE7XG4gICAgICAgIGNvbG9yOiAjOTBhNGFlO1xuICAgICAgfVxuICAgICAgLm1lZGFsLXRleHQge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICB9XG4gICAgICAubWVkYWwtdGV4dC5nb2xkLXRleHQge1xuICAgICAgICBjb2xvcjogdmFyKC0tYWNjZW50KTtcbiAgICAgIH1cbiAgICAgIC5tZWRhbC10ZXh0LnNpbHZlci10ZXh0IHtcbiAgICAgICAgY29sb3I6ICM2MTYxNjE7XG4gICAgICB9XG4gICAgICAubWVkYWwtdGV4dC5icm9uemUtdGV4dCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1icm9uemUpO1xuICAgICAgfVxuICAgICAgLm1lZGFsLXRleHQub3RoZXItdGV4dCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1mZy1tdXRlZCk7XG4gICAgICB9XG4gICAgICAudGQteWVhciB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlByb21wdFwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICB9XG4gICAgICAudGQtYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMC4yNXJlbTtcbiAgICAgIH1cbiAgICAgIC50ZC1hY3Rpb25zIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzO1xuICAgICAgfVxuICAgICAgLmJ0bi1lZGl0IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2UzZjJmZDtcbiAgICAgICAgY29sb3I6ICMxNTY1YzA7XG4gICAgICB9XG4gICAgICAuYnRuLWVkaXQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjYmJkZWZiO1xuICAgICAgfVxuICAgICAgLmJ0bi1kZWwge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZlYmVlO1xuICAgICAgICBjb2xvcjogI2M2MjgyODtcbiAgICAgIH1cbiAgICAgIC5idG4tZGVsOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmY2RkMjtcbiAgICAgIH1cblxuICAgICAgLnRhYmxlLWZvb3RlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogMC43NXJlbTtcbiAgICAgIH1cbiAgICAgIC50YWJsZS1pbmZvIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tZmctbXV0ZWQpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICB9XG4gICAgICAucGVyLXBhZ2UtZ3JvdXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tZmctbXV0ZWQpO1xuICAgICAgfVxuICAgICAgLnBlci1wYWdlLXNlbGVjdCB7XG4gICAgICAgIHBhZGRpbmc6IDAuNHJlbSAycmVtIDAuNHJlbSAwLjY1cmVtO1xuICAgICAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiU2FyYWJ1blwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICNmN2Y2ZjE7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMCcgaGVpZ2h0PScxMCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzZCNkI2Qicgc3Ryb2tlLXdpZHRoPScyJyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nNiA5IDEyIDE1IDE4IDknJTNFJTNDL3BvbHlsaW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgNnB4IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnM7XG4gICAgICB9XG4gICAgICAucGVyLXBhZ2Utc2VsZWN0OmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWxpZ2h0KTtcbiAgICAgIH1cbiAgICAgIC5wYWdpbmF0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAwLjM1cmVtO1xuICAgICAgfVxuICAgICAgLnBhZ2luYXRpb24gYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWZnLW11dGVkKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUHJvbXB0XCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzO1xuICAgICAgfVxuICAgICAgLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWxpZ2h0KTtcbiAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnkpO1xuICAgICAgfVxuICAgICAgLnBhZ2luYXRpb24gYnV0dG9uLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnkpO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuMzU7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cbiAgICAgIC5uby1kYXRhIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAzcmVtIDFyZW07XG4gICAgICB9XG4gICAgICAubm8tZGF0YSBpIHtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tYm9yZGVyKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIH1cbiAgICAgIC5uby1kYXRhIHAge1xuICAgICAgICBjb2xvcjogdmFyKC0tZmctbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgICB9XG5cbiAgICAgIC5tb2RhbC1vdmVybGF5IHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xuICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW4gMC4ycztcbiAgICAgIH1cbiAgICAgIC5tb2RhbC1vdmVybGF5LmFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgICAubW9kYWwge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogNTgwcHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMjRweCA2NHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgYW5pbWF0aW9uOiBzbGlkZVVwIDAuM3MgZWFzZS1vdXQ7XG4gICAgICAgIG1heC1oZWlnaHQ6IDkwdmg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICB9XG4gICAgICBAa2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgICAgIGZyb20ge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgICAgdG8ge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBrZXlmcmFtZXMgc2xpZGVVcCB7XG4gICAgICAgIGZyb20ge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xuICAgICAgICB9XG4gICAgICAgIHRvIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLm1vZGFsLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbSAxLjc1cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgfVxuICAgICAgLm1vZGFsLWhlYWRlciBoMiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlByb21wdFwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEuMTVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG4gICAgICAubW9kYWwtY2xvc2Uge1xuICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmN2Y2ZjE7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tZmctbXV0ZWQpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXM7XG4gICAgICB9XG4gICAgICAubW9kYWwtY2xvc2U6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ib3JkZXIpO1xuICAgICAgICBjb2xvcjogdmFyKC0tZmcpO1xuICAgICAgfVxuICAgICAgLm1vZGFsLWJvZHkge1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW0gMS43NXJlbTtcbiAgICAgIH1cbiAgICAgIC5wcm9maWxlLXNlY3Rpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDEuMjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgIH1cbiAgICAgIC5wcm9maWxlLXByZXZpZXcge1xuICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZDogI2U4ZWNlODtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGJvcmRlcjogMi41cHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIGJvcmRlci1jb2xvciAwLjJzLFxuICAgICAgICAgIGJveC1zaGFkb3cgMC4ycztcbiAgICAgIH1cbiAgICAgIC5wcm9maWxlLXByZXZpZXc6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktbGlnaHQpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgyNywgNjcsIDUwLCAwLjA4KTtcbiAgICAgIH1cbiAgICAgIC5wcm9maWxlLXByZXZpZXcgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLnByb2ZpbGUtcHJldmlldyBzdmcge1xuICAgICAgICB3aWR0aDogNTUlO1xuICAgICAgICBoZWlnaHQ6IDU1JTtcbiAgICAgIH1cbiAgICAgIC5wcm9maWxlLXByZXZpZXcgLmNhbWVyYS1vdmVybGF5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgfVxuICAgICAgLnByb2ZpbGUtcHJldmlldzpob3ZlciAuY2FtZXJhLW92ZXJsYXkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgICAgLmNhbWVyYS1vdmVybGF5IGkge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICB9XG4gICAgICAucHJvZmlsZS11cGxvYWQtaW5mbyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMC4zcmVtO1xuICAgICAgfVxuICAgICAgLnByb2ZpbGUtdXBsb2FkLWluZm8gbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1mZyk7XG4gICAgICB9XG4gICAgICAucHJvZmlsZS11cGxvYWQtaW5mbyAuaGludCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWZnLW11dGVkKTtcbiAgICAgIH1cbiAgICAgIC5wcm9maWxlLXVybC1yb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDAuNXJlbTtcbiAgICAgIH1cbiAgICAgIC5wcm9maWxlLXVybC1yb3cgaW5wdXQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgICAgICAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgICAgICBmb250LWZhbWlseTogXCJTYXJhYnVuXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y3ZjZmMTtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICBib3JkZXItY29sb3IgMC4ycyxcbiAgICAgICAgICBib3gtc2hhZG93IDAuMnM7XG4gICAgICB9XG4gICAgICAucHJvZmlsZS11cmwtcm93IGlucHV0OmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWxpZ2h0KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMjcsIDY3LCA1MCwgMC4xKTtcbiAgICAgIH1cbiAgICAgIC5wcm9maWxlLXVybC1yb3cgYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDAuODVyZW07XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LWZhbWlseTogXCJTYXJhYnVuXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB9XG4gICAgICAucHJvZmlsZS11cmwtcm93IGJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktbGlnaHQpO1xuICAgICAgfVxuICAgICAgLnByb2ZpbGUtc2VwYXJhdG9yIHtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJvcmRlcik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgICB9XG4gICAgICAuZm9ybS1ncmlkIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICB9XG4gICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMC4zNXJlbTtcbiAgICAgIH1cbiAgICAgIC5mb3JtLWdyb3VwIGxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tZmcpO1xuICAgICAgfVxuICAgICAgLmZvcm0tZ3JvdXAgbGFiZWwgLnJlcXVpcmVkIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWRhbmdlcik7XG4gICAgICB9XG4gICAgICAuZm9ybS1ncm91cCBpbnB1dCxcbiAgICAgIC5mb3JtLWdyb3VwIHNlbGVjdCB7XG4gICAgICAgIHBhZGRpbmc6IDAuNnJlbSAwLjg1cmVtO1xuICAgICAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlNhcmFidW5cIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgYm9yZGVyLWNvbG9yIDAuMnMsXG4gICAgICAgICAgYm94LXNoYWRvdyAwLjJzO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjdmNmYxO1xuICAgICAgfVxuICAgICAgLmZvcm0tZ3JvdXAgaW5wdXQ6Zm9jdXMsXG4gICAgICAuZm9ybS1ncm91cCBzZWxlY3Q6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktbGlnaHQpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgyNywgNjcsIDUwLCAwLjEpO1xuICAgICAgfVxuICAgICAgLmZvcm0tZ3JvdXAuaGFzLWVycm9yIGlucHV0LFxuICAgICAgLmZvcm0tZ3JvdXAuaGFzLWVycm9yIHNlbGVjdCxcbiAgICAgIC5wcm9maWxlLXVybC1yb3cuaGFzLWVycm9yIGlucHV0IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kYW5nZXIpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgyMjAsIDM4LCAzOCwgMC4xKTtcbiAgICAgIH1cbiAgICAgIC5lcnJvci1tc2cge1xuICAgICAgICBjb2xvcjogdmFyKC0tZGFuZ2VyKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDAuM3JlbTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIH1cbiAgICAgIC5oYXMtZXJyb3IgLmVycm9yLW1zZyxcbiAgICAgIC5oYXMtZXJyb3IgfiAuZXJyb3ItbXNnIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAubW9kYWwtZm9vdGVyIHtcbiAgICAgICAgcGFkZGluZzogMS4yNXJlbSAxLjc1cmVtO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZ2FwOiAwLjc1cmVtO1xuICAgICAgfVxuXG4gICAgICAudG9hc3QtY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDEuNXJlbTtcbiAgICAgICAgcmlnaHQ6IDEuNXJlbTtcbiAgICAgICAgei1pbmRleDogMjAwMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICB9XG4gICAgICAudG9hc3Qge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICAgICAgcGFkZGluZzogMC44NXJlbSAxLjI1cmVtO1xuICAgICAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tc3VjY2Vzcyk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMC43NXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgIGFuaW1hdGlvbjogdG9hc3RJbiAwLjNzIGVhc2Utb3V0O1xuICAgICAgICBtaW4td2lkdGg6IDI4MHB4O1xuICAgICAgfVxuICAgICAgLnRvYXN0LmVycm9yIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWRhbmdlcik7XG4gICAgICB9XG4gICAgICAudG9hc3QgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgfVxuICAgICAgLnRvYXN0LnN1Y2Nlc3MgaSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zdWNjZXNzKTtcbiAgICAgIH1cbiAgICAgIC50b2FzdC5lcnJvciBpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWRhbmdlcik7XG4gICAgICB9XG4gICAgICBAa2V5ZnJhbWVzIHRvYXN0SW4ge1xuICAgICAgICBmcm9tIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MHB4KTtcbiAgICAgICAgfVxuICAgICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBrZXlmcmFtZXMgdG9hc3RPdXQge1xuICAgICAgICBmcm9tIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgfVxuICAgICAgICB0byB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDBweCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbmZpcm0tYm9keSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMnJlbSAxLjVyZW07XG4gICAgICB9XG4gICAgICAuY29uZmlybS1ib2R5IGkge1xuICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1kYW5nZXIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgfVxuICAgICAgLmNvbmZpcm0tYm9keSBoMyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlByb21wdFwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgfVxuICAgICAgLmNvbmZpcm0tYm9keSBwIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWZnLW11dGVkKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICB9XG4gICAgICAuY29uZmlybS1mb290ZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbSAxLjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICB9XG4gICAgICAuYnRuLWFjY2VudCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgICAgLmJ0bi1hY2NlbnQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtbGlnaHQpO1xuICAgICAgfVxuICAgICAgLmhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAuc3RhdHMtZ3JpZCxcbiAgICAgICAgLnNrZWxldG9uLXN0YXRzIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLnN0YXRzLWdyaWQsXG4gICAgICAgIC5za2VsZXRvbi1zdGF0cyB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgfVxuICAgICAgICAuY29udHJvbHMtYmFyLFxuICAgICAgICAuc2tlbGV0b24tY29udHJvbHMge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICAgICAgLnNlYXJjaC1ib3gsXG4gICAgICAgIC5za2VsZXRvbi1zZWFyY2gge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC5zcy13cmFwIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAuY29udHJvbHMtc3BhY2VyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5mb3JtLWdyaWQge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICB9XG4gICAgICAgIC5wcm9maWxlLXNlY3Rpb24ge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIC5leHBvcnQtYmFyIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgLnN0YXRzLWdyaWQsXG4gICAgICAgIC5za2VsZXRvbi1zdGF0cyB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIH1cbiAgICAgICAgLnRhYmxlLWZvb3RlcixcbiAgICAgICAgLnNrZWxldG9uLXRhYmxlLWZvb3RlciB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBnYXA6IDAuNzVyZW07XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICAqLFxuICAgICAgICAqOjpiZWZvcmUsXG4gICAgICAgICo6OmFmdGVyIHtcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8qIFBSSU5UIFNUWUxFUyAqL1xuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgQHBhZ2Uge1xuICAgICAgICAgIHNpemU6IGxhbmRzY2FwZTtcbiAgICAgICAgICBtYXJnaW46IDFjbTtcbiAgICAgICAgfVxuICAgICAgICBodG1sLCBib2R5LCAuY29udGFpbmVyLCAudGFibGUtY29udGFpbmVyLCAudGFibGUtd3JhcHBlciwgLnRhYmxlLXNjcm9sbCwgI2NvbnRlbnRWaWV3IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgdGFibGUge1xuICAgICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIHRyIHtcbiAgICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICAgICAgcGFnZS1icmVhay1hZnRlcjogYXV0bztcbiAgICAgICAgfVxuICAgICAgICB0aGVhZCB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICAgICAgICB9XG4gICAgICAgIHRmb290IHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1mb290ZXItZ3JvdXA7XG4gICAgICAgIH1cbiAgICAgICAgLmNvbnRyb2xzLWJhciwgLmV4cG9ydC1iYXIsIC5hdmF0YXIsIC50YWJsZS1mb290ZXIsIC50ZC1hY3Rpb25zLWNlbGwsIC5hY3Rpb25zLXRoLCAudG9hc3QtY29udGFpbmVyLCAubW9kYWwtb3ZlcmxheSwgI3NrZWxldG9uVmlldywgLnN0YXRzLWdyaWQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAudGFibGUtY29udGFpbmVyLCAudGFibGUtd3JhcHBlciB7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIHRhYmxlIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoLCB0ZCB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgIH1cbiAgICAgICAgdGgge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgICAtd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7XG4gICAgICAgICAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICAgICAgfVxuICAgICAgICAubGV2ZWwtYmFkZ2UsIC5tZWRhbC1pY29uLCAuc3RhdC1pY29uIHtcbiAgICAgICAgICAtd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7XG4gICAgICAgICAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICAgICAgfVxuICAgICAgfSJdfQ== */
/* ============================================================
   MOBILE RESPONSIVE CARD VIEW
   ============================================================ */
@media screen and (max-width: 768px) {
  #scr-s1-app .table-scroll {
    overflow-x: hidden;
    overflow-y: hidden;
    max-height: none;
  }

  #scr-s1-app table {
    display: block;
    width: 100%;
    min-width: unset;
  }

  #scr-s1-app thead {
    display: none;
  }

  #scr-s1-app tbody,
  #scr-s1-app tr,
  #scr-s1-app td {
    display: block;
    width: 100%;
  }

  #scr-s1-app tbody tr {
    display: flex;
    flex-direction: column;
    margin-bottom: 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 1rem;
    background: var(--bg-card);
    position: relative;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  }

  #scr-s1-app tbody tr:hover {
    background: var(--bg-card);
  }

  #scr-s1-app tbody td {
    text-align: right !important;
    padding: 0.75rem 0;
    border-bottom: 1px dashed var(--border);
    position: relative;
    padding-left: 45%;
    min-height: 40px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }

  #scr-s1-app tbody td:last-child {
    border-bottom: none;
  }

  #scr-s1-app tbody td::before {
    content: attr(data-label);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--fg-muted);
  }

  /* Specific cells handling */
  #scr-s1-app tbody td[data-label="Select"] {
    position: absolute;
    top: 1rem;
    right: 1rem;
    padding: 0;
    width: auto;
    border: none;
    min-height: unset;
  }

  #scr-s1-app tbody td[data-label="Select"]::before {
    display: none;
  }

  #scr-s1-app tbody td.td-actions-cell {
    justify-content: center;
    padding-left: 0;
    padding-top: 1rem;
  }

  #scr-s1-app tbody td.td-actions-cell::before {
    display: none;
  }

  #scr-s1-app tbody td[data-label="Athlete"] {
    order: -1;
    justify-content: center;
    padding-left: 0;
    padding-top: 1.5rem;
    padding-bottom: 1rem;
    text-align: center !important;
  }

  #scr-s1-app tbody td[data-label="Athlete"]::before {
    display: none;
  }

  #scr-s1-app .athlete-cell {
    justify-content: center;
    flex-direction: column;
    text-align: center;
  }

  #scr-s1-app .athlete-cell .avatar {
    margin-right: 0;
    margin-bottom: 0.5rem;
    width: 52px;
    height: 52px;
  }

  #scr-s1-app .controls-bar {
    flex-direction: column;
    align-items: stretch;
  }

  #scr-s1-app .filter-group {
    flex-wrap: wrap;
  }

  #scr-s1-app .filter-group select,
  #scr-s1-app .search-box {
    width: 100%;
    max-width: none;
  }

  #scr-s1-app .table-toolbar {
    flex-direction: column;
    gap: 1rem;
  }

  #scr-s1-app .export-group {
    width: 100%;
    justify-content: space-between;
  }

  #scr-s1-app .table-footer {
    flex-direction: column;
    gap: 1rem;
  }

  #scr-s1-app tbody td.td-number {
    width: 100% !important;
    text-align: right !important;
  }

  #scr-s1-app tbody td.col-hidden {
    display: none !important;
  }

  #scr-s1-app .table-info {
    flex-direction: column;
    gap: 0.5rem;
    text-align: center;
  }

  #scr-s1-app tbody td.no-data {
    display: block !important;
    padding: 3rem 1rem !important;
    text-align: center !important;
    border: none !important;
  }
  
  #scr-s1-app tbody td.no-data::before {
    display: none !important;
  }
}