@charset "UTF-8";
:root {
  --color-bg: #f7f3ee;
  --color-surface: #ffffff;
  --color-surface-alt: #f2ece4;
  --color-border: #e2d9cf;
  --color-border-light: #efe7de;
  --color-text: #2b241d;
  --color-text-muted: #7e7366;
  --color-primary: #3f6b5b;
  --color-primary-strong: #325648;
  --color-secondary: #9b7b56;
  --color-success: #4f7a68;
  --color-danger: #b85b56;
  --color-warning: #c2a04d;
  --color-info: #6f8aa5;
  --color-overlay: rgba(40, 32, 24, 0.4);
  --color-correct: #4f7a68;
  --color-correct-text: #f7f3ee;
  --color-present: #c2a04d;
  --color-present-text: #3a2a14;
  --color-absent: #d1c8bd;
  --color-absent-text: #695f55;
  --color-absent-border: #c4bbaf;
  --color-key: #e8e1d8;
  --color-key-hover: #ded6cc;
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --shadow-soft: 0 10px 30px rgba(58, 46, 33, 0.08);
  --shadow-strong: 0 18px 50px rgba(58, 46, 33, 0.16);
  --font-base: "Source Sans 3", "Helvetica Neue", Arial, sans-serif;
  --font-display: "Fraunces", "Georgia", "Times New Roman", serif;
  --font-size-base: 16px;
  --font-size-sm: 0.9rem;
  --font-size-lg: 1.15rem;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: var(--font-size-base);
  background-color: var(--color-bg);
  touch-action: manipulation;
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--font-base);
  background-color: var(--color-bg);
  color: var(--color-text);
  line-height: 1.5;
}

body.turbo-native-body {
  padding-bottom: calc(72px + env(safe-area-inset-bottom));
}

h1,
h2,
h3,
h4,
.heading-lg,
.heading-md,
.heading-sm {
  font-family: var(--font-display);
  letter-spacing: 0.01em;
}

body.modal-open {
  overflow: hidden;
}

a {
  color: var(--color-secondary);
  text-decoration: none;
  transition: color 0.2s ease;
}
a:hover {
  color: var(--color-primary);
}

img {
  max-width: 100%;
  display: block;
}

button,
input,
select,
textarea {
  font-family: inherit;
}

.app-container, .container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-4);
}
@media (max-width: 768px) {
  .app-container, .container {
    padding: 0 var(--space-3);
  }
}
@media (max-width: 480px) {
  .app-container, .container {
    padding: 0 var(--space-2);
  }
}

.panel {
  background-color: var(--color-surface);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
  border: 1px solid var(--color-border);
  padding: var(--space-5);
}

.panel-header {
  margin-bottom: var(--space-4);
  border-bottom: 1px solid var(--color-border-light);
  padding-bottom: var(--space-3);
}

.panel-body {
  padding-top: var(--space-3);
}

.result-page {
  min-height: 100vh;
  min-height: 100dvh;
  overflow: hidden;
  position: relative;
  color: #fff;
}

.result-page--wordle {
  --result-accent: #f5d878;
  --result-card-bg: rgba(238, 255, 248, 0.12);
  --result-card-border: rgba(255, 255, 255, 0.2);
  background: linear-gradient(165deg, #3f6e5a 0%, #23463a 54%, #122b26 100%);
}

.result-page--bee {
  --result-accent: #ffd27a;
  --result-card-bg: rgba(255, 240, 218, 0.12);
  --result-card-border: rgba(255, 255, 255, 0.22);
  background: linear-gradient(165deg, #b97f2b 0%, #7f4719 54%, #502a0c 100%);
}

.result-page--connections {
  --result-accent: #9bb1ff;
  --result-card-bg: rgba(227, 232, 255, 0.13);
  --result-card-border: rgba(255, 255, 255, 0.2);
  background: linear-gradient(165deg, #4f61b2 0%, #3b356f 54%, #231d49 100%);
}

.result-page--sudoku {
  --result-accent: #8fe3ea;
  --result-card-bg: rgba(220, 252, 255, 0.12);
  --result-card-border: rgba(255, 255, 255, 0.2);
  background: linear-gradient(165deg, #1c767b 0%, #103952 54%, #061a2c 100%);
}

.result-page::before,
.result-page::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
  z-index: 0;
}

.result-page::before {
  width: clamp(280px, 58vw, 420px);
  height: clamp(280px, 58vw, 420px);
  top: clamp(-150px, -16vw, -70px);
  left: clamp(-190px, -22vw, -90px);
  background: rgba(255, 255, 255, 0.11);
}

.result-page::after {
  width: clamp(200px, 40vw, 320px);
  height: clamp(200px, 40vw, 320px);
  right: clamp(-90px, -12vw, -36px);
  bottom: clamp(24px, 5vw, 74px);
  background: rgba(255, 255, 255, 0.06);
}

.result-shell {
  position: relative;
  z-index: 1;
  height: 100%;
  display: grid;
  grid-template-rows: auto auto minmax(72px, 1fr) auto auto auto;
  gap: clamp(8px, 1.5vh, 16px);
  padding: calc(env(safe-area-inset-top, 0) + 10px) clamp(14px, 4vw, 24px) calc(env(safe-area-inset-bottom, 0) + 12px);
}

.result-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}

.result-date {
  font-size: clamp(0.86rem, 3.2vw, 1rem);
  color: rgba(255, 255, 255, 0.86);
  font-weight: 600;
  letter-spacing: 0.01em;
}

.result-close {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.26);
  background: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.94);
  display: inline-grid;
  place-items: center;
  text-decoration: none;
  font-size: 1rem;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: background 0.15s ease;
}
.result-close:hover, .result-close:active {
  background: rgba(255, 255, 255, 0.2);
}

.result-header {
  display: grid;
  gap: var(--space-2);
  max-width: 100%;
}

.result-status-badge {
  width: -moz-fit-content;
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0.32rem 0.72rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.27);
  background: rgba(255, 255, 255, 0.13);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.result-title {
  margin: 0;
  color: #fff;
  font-size: clamp(2rem, 8.6vw, 3.35rem);
  line-height: 0.98;
  letter-spacing: -0.02em;
  text-wrap: balance;
}

.result-subtitle {
  margin: 0;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.66);
}

.result-visual {
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.result-wordle-grid {
  display: grid;
  gap: 5px;
}

.result-wordle-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 5px;
}

.result-wordle-tile {
  width: clamp(25px, 6.2vw, 34px);
  aspect-ratio: 1;
  border-radius: 7px;
  border: 1px solid rgba(255, 255, 255, 0.17);
  background: rgba(255, 255, 255, 0.08);
}
.result-wordle-tile.is-correct {
  background: #5a8f74;
  border-color: rgba(255, 255, 255, 0.35);
}
.result-wordle-tile.is-present {
  background: #b9923a;
  border-color: rgba(255, 255, 255, 0.32);
}
.result-wordle-tile.is-absent {
  background: rgba(255, 255, 255, 0.2);
}
.result-wordle-tile.is-empty {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
}

.result-bee-visual {
  width: min(320px, 86vw);
  display: grid;
  gap: var(--space-2);
  justify-items: center;
}

.result-bee-icon {
  font-size: clamp(2.4rem, 8vw, 3.35rem);
  line-height: 1;
}

.result-bee-rank {
  font-family: var(--font-display);
  font-size: clamp(1rem, 4.1vw, 1.35rem);
  line-height: 1.06;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.92);
}

.result-bee-bar-track {
  width: 100%;
  height: 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.15);
  overflow: hidden;
}

.result-bee-bar-fill {
  height: 100%;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
}

.result-bee-progress-label {
  font-size: 0.74rem;
  text-align: center;
  letter-spacing: 0.03em;
  color: rgba(255, 255, 255, 0.76);
}

.result-connections-visual {
  width: min(340px, 88vw);
  display: grid;
  gap: var(--space-2);
  justify-items: center;
}

.result-connections-count {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 6vw, 2.15rem);
  line-height: 1;
  color: #fff;
}

.result-connections-label {
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.68);
}

.result-conn-groups {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2);
}

.result-conn-group {
  min-height: 54px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.36);
  display: grid;
  place-items: center;
  font-size: 0.66rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.9);
}
.result-conn-group.is-unsolved {
  opacity: 0.35;
}
.result-conn-group.cat-1 {
  background: rgba(245, 214, 100, 0.33);
}
.result-conn-group.cat-2 {
  background: rgba(100, 185, 125, 0.33);
}
.result-conn-group.cat-3 {
  background: rgba(110, 155, 220, 0.33);
}
.result-conn-group.cat-4 {
  background: rgba(195, 100, 110, 0.33);
}

.result-sudoku-grid {
  width: min(224px, 58vw);
  aspect-ratio: 1;
  display: grid;
  grid-template-columns: repeat(9, 1fr);
  gap: 2px;
}

.result-sudoku-cell {
  border-radius: 2px;
  border: 0;
  background: rgba(255, 255, 255, 0.08);
}
.result-sudoku-cell.is-given {
  background: rgba(255, 255, 255, 0.32);
}
.result-sudoku-cell.is-solved {
  background: rgba(255, 255, 255, 0.17);
}
.result-sudoku-cell.box-right {
  border-right: 2px solid rgba(255, 255, 255, 0.2);
}
.result-sudoku-cell.box-bottom {
  border-bottom: 2px solid rgba(255, 255, 255, 0.2);
}

.result-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(8px, 1.2vh, 12px);
}

.result-stat {
  min-height: clamp(68px, 10.4vh, 88px);
  border-radius: 16px;
  border: 1px solid var(--result-card-border);
  background: var(--result-card-bg);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: clamp(8px, 1.5vh, 14px) 8px;
}

.result-stat__label {
  font-size: 0.63rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.68);
}

.result-stat__value {
  font-family: var(--font-display);
  font-size: clamp(1.65rem, 7.2vw, 2.5rem);
  line-height: 0.95;
  color: #fff;
  text-wrap: balance;
}
.result-stat__value.is-xp {
  color: var(--result-accent);
}

.result-stat__value--small {
  font-size: clamp(1.05rem, 4.8vw, 1.75rem);
}

.result-actions {
  display: grid;
}

.result-share-btn,
.result-detail-btn {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.34);
  background: rgba(255, 255, 255, 0.17);
  padding: clamp(0.72rem, 2.2vh, 0.88rem) 1rem;
  color: #fff;
  font-size: clamp(0.95rem, 4vw, 1.12rem);
  font-weight: 700;
  text-decoration: none;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: background 0.15s ease;
}
.result-share-btn:hover, .result-share-btn:active,
.result-detail-btn:hover,
.result-detail-btn:active {
  background: rgba(255, 255, 255, 0.25);
}

.result-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}

.result-footer-url {
  font-size: clamp(0.95rem, 3.5vw, 1.08rem);
  font-weight: 700;
  color: rgba(255, 255, 255, 0.85);
}

.result-xp-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.32);
  background: rgba(255, 255, 255, 0.12);
  color: var(--result-accent);
  padding: 0.28rem 0.7rem;
  font-size: clamp(0.72rem, 3vw, 0.86rem);
  font-weight: 800;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

@media (max-height: 760px) {
  .result-shell {
    gap: 8px;
    grid-template-rows: auto auto minmax(50px, 1fr) auto auto auto;
  }
  .result-title {
    font-size: clamp(1.82rem, 8.4vw, 2.72rem);
  }
  .result-wordle-tile {
    width: clamp(21px, 5.4vw, 29px);
  }
  .result-stat {
    min-height: 64px;
  }
}
@media (max-height: 680px) {
  .result-shell {
    padding-top: calc(env(safe-area-inset-top, 0) + 6px);
    padding-bottom: calc(env(safe-area-inset-bottom, 0) + 8px);
  }
  .result-close {
    width: 36px;
    height: 36px;
  }
  .result-subtitle {
    display: none;
  }
  .result-bee-icon {
    font-size: 2rem;
  }
  .result-sudoku-grid {
    width: min(178px, 50vw);
  }
  .result-stat__value {
    font-size: clamp(1.32rem, 6.2vw, 2rem);
  }
}
.layout-row {
  display: flex;
  flex-direction: row;
}

.layout-col {
  display: flex;
  flex-direction: column;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.justify-end {
  justify-content: flex-end;
}

.align-center {
  align-items: center;
}

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

.align-end {
  align-items: flex-end;
}

.gap-xs {
  gap: var(--space-2);
}

.gap-sm {
  gap: var(--space-3);
}

.gap-md {
  gap: var(--space-4);
}

.gap-lg {
  gap: var(--space-5);
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-muted {
  color: var(--color-text-muted);
}

.text-gradient {
  background: linear-gradient(135deg, var(--color-secondary), var(--color-primary));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.heading-lg {
  font-size: 2rem;
  font-weight: 600;
  margin: 0 0 var(--space-4);
}

.heading-md {
  font-size: 1.4rem;
  font-weight: 600;
  margin: 0 0 var(--space-3);
}

.heading-sm {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 0 0 var(--space-2);
}

.mt-sm {
  margin-top: var(--space-3);
}

.mt-md {
  margin-top: var(--space-4);
}

.mt-lg {
  margin-top: var(--space-6);
}

.mb-sm {
  margin-bottom: var(--space-3);
}

.mb-md {
  margin-bottom: var(--space-4);
}

.mb-lg {
  margin-bottom: var(--space-6);
}

.px-md {
  padding-left: var(--space-4);
  padding-right: var(--space-4);
}

.py-md {
  padding-top: var(--space-4);
  padding-bottom: var(--space-4);
}

@media (max-width: 768px) {
  .hide-mobile {
    display: none !important;
  }
}

.turbo-native-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: calc(44px + env(safe-area-inset-top));
  padding: env(safe-area-inset-top) var(--space-4) 0;
  display: flex;
  align-items: center;
  background: transparent;
  z-index: 1100;
  border-bottom: 0;
}

.turbo-native-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--color-text);
  box-shadow: 0 6px 18px rgba(35, 28, 22, 0.08);
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.turbo-native-back:active {
  transform: translateY(1px);
}

.turbo-native-help {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--color-text);
  box-shadow: 0 6px 18px rgba(35, 28, 22, 0.08);
  cursor: pointer;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.turbo-native-help:active {
  transform: translateY(1px);
}

.turbo-native-tabbar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 10px 28px calc(12px + env(safe-area-inset-bottom));
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: var(--space-3);
  background: rgba(255, 255, 255, 0.92);
  border-top: 1px solid rgba(48, 38, 28, 0.08);
  box-shadow: 0 -8px 18px rgba(35, 28, 22, 0.05);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transform: translateZ(0);
  will-change: transform;
  z-index: 1100;
}

.turbo-native-tabbar__item {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  font-size: 0.7rem;
  letter-spacing: 0.04em;
  text-transform: none;
  font-weight: 500;
  color: var(--color-text-muted);
  text-decoration: none;
  position: relative;
}

.turbo-native-tabbar__item i {
  font-size: 1.15rem;
}

.turbo-native-tabbar__item.is-active {
  color: var(--color-text);
}

.turbo-native-tabbar__item.is-active::after {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--color-secondary);
  position: absolute;
  bottom: -6px;
}

@media (min-width: 769px) {
  .hide-desktop {
    display: none !important;
  }
}

.btn, .btn-outline-primary,
.btn-outline-secondary,
.btn-outline-success,
.btn-outline-danger,
.btn-outline-warning,
.btn-outline-info, .btn-info, .btn-danger, .btn-warning, .btn-success {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: 0.65rem 1.5rem;
  border-radius: var(--radius-md);
  font-weight: 600;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
  text-transform: none;
  text-decoration: none;
}
.btn:hover, .btn-outline-primary:hover,
.btn-outline-secondary:hover,
.btn-outline-success:hover,
.btn-outline-danger:hover,
.btn-outline-warning:hover,
.btn-outline-info:hover, .btn-info:hover, .btn-danger:hover, .btn-warning:hover, .btn-success:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-soft);
}
.btn:active, .btn-outline-primary:active,
.btn-outline-secondary:active,
.btn-outline-success:active,
.btn-outline-danger:active,
.btn-outline-warning:active,
.btn-outline-info:active, .btn-info:active, .btn-danger:active, .btn-warning:active, .btn-success:active {
  transform: translateY(0);
  box-shadow: none;
}

.btn-primary {
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-strong));
  color: #ffffff;
  border-color: var(--color-primary-strong);
}

.btn-secondary {
  background: linear-gradient(135deg, var(--color-secondary), #7f6041);
  color: #ffffff;
  border-color: #7f6041;
}

.btn-outline, .btn-outline-primary,
.btn-outline-secondary,
.btn-outline-success,
.btn-outline-danger,
.btn-outline-warning,
.btn-outline-info {
  background: transparent;
  border: 1px solid var(--color-border-light);
  color: var(--color-text);
}
.btn-outline:hover, .btn-outline-primary:hover,
.btn-outline-secondary:hover,
.btn-outline-success:hover,
.btn-outline-danger:hover,
.btn-outline-warning:hover,
.btn-outline-info:hover {
  background-color: var(--color-border-light);
}

.btn-google {
  background: #ffffff;
  border: 1px solid #dadce0;
  color: #1f1f1f;
  box-shadow: 0 1px 2px rgba(60, 64, 67, 0.2);
}
.btn-google:hover {
  background-color: #f8f9fa;
  border-color: #c6c6c6;
}

.btn-apple {
  background: #000000;
  border: 1px solid #000000;
  color: #ffffff;
}
.btn-apple:hover {
  background: #1a1a1a;
  border-color: #1a1a1a;
}

.auth-social {
  margin-bottom: var(--space-3);
}

.auth-provider-btn {
  font-weight: 600;
  min-height: 2.8rem;
}

.auth-provider-icon {
  width: 1.2rem;
  height: 1.2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.auth-provider-icon svg {
  display: block;
}

.auth-divider {
  margin: var(--space-4) 0 var(--space-3);
  font-size: 0.85rem;
  color: var(--color-text-muted);
  display: flex;
  align-items: center;
  gap: var(--space-3);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.auth-divider::before,
.auth-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background-color: var(--color-border-light);
}

.auth-divider-tight {
  margin-top: var(--space-2);
}

.btn-link {
  background: none;
  border: none;
  color: var(--color-secondary);
  padding: 0;
}
.btn-link:hover {
  color: var(--color-primary);
}

.btn-lg {
  padding: 0.9rem 2rem;
  font-size: 1.1rem;
}

.btn-sm {
  padding: 0.45rem 1rem;
  font-size: 0.85rem;
}

.btn-full {
  width: 100%;
}

.alert {
  border-radius: var(--radius-md);
  padding: var(--space-3) var(--space-4);
  margin-bottom: var(--space-3);
  border: 1px solid transparent;
  font-weight: 500;
}

.alert-success {
  background-color: rgba(79, 122, 104, 0.14);
  border-color: rgba(79, 122, 104, 0.35);
  color: #2f4c3e;
}

.alert-danger {
  background-color: rgba(184, 91, 86, 0.14);
  border-color: rgba(184, 91, 86, 0.35);
  color: #6e2f2b;
}

.alert-warning {
  background-color: rgba(194, 160, 77, 0.16);
  border-color: rgba(194, 160, 77, 0.35);
  color: #5b4521;
}

.alert-info {
  background-color: rgba(111, 138, 165, 0.16);
  border-color: rgba(111, 138, 165, 0.35);
  color: #314254;
}

.alert-dismissible {
  position: relative;
  padding-right: 2.5rem;
}

.btn-close {
  position: absolute;
  top: 50%;
  right: 0.9rem;
  transform: translateY(-50%);
  width: 1.1rem;
  height: 1.1rem;
  border: none;
  background: none;
  color: inherit;
  cursor: pointer;
  opacity: 0.8;
}
.btn-close:after {
  content: "✕";
  display: block;
  line-height: 1;
  font-size: 1rem;
}
.btn-close:hover, .btn-close:focus {
  opacity: 1;
}

.form-field {
  margin-bottom: var(--space-4);
}

.form-label {
  display: block;
  margin-bottom: var(--space-2);
  font-weight: 500;
  font-size: 0.95rem;
}

.input, .form-control,
.select,
.form-select,
.textarea {
  width: 100%;
  padding: 0.65rem 0.85rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border-light);
  background-color: var(--color-surface-alt);
  color: var(--color-text);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.input:focus, .form-control:focus,
.select:focus,
.form-select:focus,
.textarea:focus {
  outline: none;
  border-color: var(--color-secondary);
  box-shadow: 0 0 0 2px rgba(155, 123, 86, 0.35);
}

.textarea {
  min-height: 140px;
  resize: vertical;
}

.helper-text {
  font-size: 0.85rem;
  color: var(--color-text-muted);
  margin-top: var(--space-1);
}

.modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: var(--space-4);
  z-index: 1000;
}
.modal.is-open {
  display: flex;
}

.modal__backdrop {
  position: absolute;
  inset: 0;
  background-color: var(--color-overlay);
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}

.modal__dialog {
  position: relative;
  background-color: var(--color-surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-strong);
  width: min(640px, 95vw);
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.modal__header,
.modal__footer {
  padding: var(--space-4);
  border-bottom: 1px solid var(--color-border-light);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal__footer {
  border-top: 1px solid var(--color-border-light);
  border-bottom: none;
  gap: var(--space-2);
}

.modal__body {
  padding: var(--space-4);
  overflow-y: auto;
}

.modal__close {
  background: none;
  border: none;
  color: var(--color-text-muted);
  font-size: 1.4rem;
  cursor: pointer;
}

.badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  font-size: 0.75rem;
  background-color: var(--color-border-light);
  color: var(--color-text);
}

.progress {
  width: 100%;
  height: 12px;
  background-color: var(--color-border-light);
  border-radius: 999px;
  overflow: hidden;
}

.progress__bar {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(135deg, var(--color-secondary), var(--color-primary));
  transition: width 0.4s ease;
}

/* Legacy layout + utility compatibility */
.row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

[class*=col-] {
  flex: 1 0 100%;
}

@media (min-width: 576px) {
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media (min-width: 768px) {
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-10 {
    flex: 0 0 83.333%;
    max-width: 83.333%;
  }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media (min-width: 992px) {
  .col-lg-4 {
    flex: 0 0 33.333%;
    max-width: 33.333%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-8 {
    flex: 0 0 66.666%;
    max-width: 66.666%;
  }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
.d-flex {
  display: flex;
}

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

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

.justify-content-between {
  justify-content: space-between;
}

.justify-content-center {
  justify-content: center;
}

.align-items-center {
  align-items: center;
}

.align-items-end {
  align-items: flex-end;
}

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

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.w-100 {
  width: 100%;
}

.h-100 {
  height: 100%;
}

.text-center {
  text-align: center;
}

.text-end {
  text-align: right;
}

.mt-2 {
  margin-top: var(--space-2);
}

.mt-3 {
  margin-top: var(--space-3);
}

.mt-4 {
  margin-top: var(--space-4);
}

.mt-5 {
  margin-top: var(--space-6);
}

.mb-2 {
  margin-bottom: var(--space-2);
}

.mb-3 {
  margin-bottom: var(--space-3);
}

.mb-4 {
  margin-bottom: var(--space-4);
}

.mb-5 {
  margin-bottom: var(--space-6);
}

.me-1 {
  margin-right: var(--space-2);
}

.me-2 {
  margin-right: var(--space-3);
}

.me-3 {
  margin-right: var(--space-4);
}

.ms-1 {
  margin-left: var(--space-2);
}

.ms-2 {
  margin-left: var(--space-3);
}

.py-4 {
  padding-top: var(--space-4);
  padding-bottom: var(--space-4);
}

.px-3 {
  padding-left: var(--space-3);
  padding-right: var(--space-3);
}

.g-3 {
  gap: var(--space-3);
}

.g-4 {
  gap: var(--space-4);
}

.card {
  background-color: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
  margin-bottom: var(--space-4);
}

.card-header {
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--color-border-light);
}

.card-body {
  padding: var(--space-4);
}

.card-title {
  margin: 0;
  font-size: 1.25rem;
}

.shadow {
  box-shadow: var(--shadow-soft);
}

.table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--color-border);
}

.table th,
.table td {
  padding: var(--space-3);
  border-bottom: 1px solid var(--color-border);
  text-align: left;
}

.table-striped tbody tr:nth-child(odd) {
  background-color: #faf7f2;
}

.table-responsive {
  width: 100%;
  overflow-x: auto;
}

.pagination {
  display: flex;
  gap: var(--space-2);
  list-style: none;
  padding: 0;
  justify-content: center;
}

.page-item {
  list-style: none;
}

.page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem 0.8rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border-light);
  color: var(--color-text);
  text-decoration: none;
}

.page-item.active .page-link {
  background-color: var(--color-secondary);
  border-color: var(--color-secondary);
  color: #fff;
}

.btn-success {
  background: linear-gradient(135deg, var(--color-success), #3c6253);
  color: #ffffff;
}

.btn-warning {
  background: linear-gradient(135deg, #b18d3f, #8f6a2b);
  color: #ffffff;
}

.btn-danger {
  background: linear-gradient(135deg, var(--color-danger), #994743);
  color: #ffffff;
}

.btn-info {
  background: linear-gradient(135deg, var(--color-info), #56728e);
  color: #ffffff;
}

.btn-outline-primary {
  border-color: var(--color-secondary);
  color: var(--color-secondary);
}

.btn-outline-secondary {
  border-color: var(--color-border-light);
  color: var(--color-text);
}

.btn-outline-success {
  border-color: var(--color-success);
  color: var(--color-success);
}

.btn-outline-danger {
  border-color: var(--color-danger);
  color: var(--color-danger);
}

.btn-outline-warning {
  border-color: var(--color-warning);
  color: var(--color-warning);
}

.btn-outline-info {
  border-color: var(--color-info);
  color: var(--color-info);
}

.btn-outline-secondary:hover {
  background-color: var(--color-border-light);
}

.bg-primary {
  background-color: var(--color-secondary);
}

.bg-success {
  background-color: var(--color-success);
}

.bg-danger {
  background-color: var(--color-danger);
}

.bg-warning {
  background-color: var(--color-warning);
}

.bg-info {
  background-color: var(--color-info);
}

.bg-secondary {
  background-color: var(--color-surface-alt);
}

.text-success {
  color: var(--color-success);
}

.text-danger {
  color: var(--color-danger);
}

.home-page {
  position: relative;
  background: radial-gradient(circle at 20% 10%, rgba(79, 122, 104, 0.15), transparent 50%), radial-gradient(circle at 82% 20%, rgba(194, 160, 77, 0.13), transparent 45%), linear-gradient(180deg, rgba(255, 255, 255, 0.55), transparent 60%), var(--color-bg);
  padding-bottom: calc(var(--space-7) + env(safe-area-inset-bottom));
  min-height: 100vh;
  overflow: hidden;
}

.home-page::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 10% 80%, rgba(63, 107, 91, 0.05), transparent 50%), radial-gradient(circle at 92% 65%, rgba(155, 123, 86, 0.08), transparent 50%);
  pointer-events: none;
}

.home-native-bar {
  position: relative;
  z-index: 10;
  padding-top: env(safe-area-inset-top);
}

.home-native-bar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-3) var(--space-4);
}

.home-native-date {
  display: inline-flex;
  align-items: center;
  padding: 0.38rem 0.95rem;
  border-radius: 999px;
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  color: #fff;
  background: var(--color-primary);
  border: 1px solid var(--color-primary-strong);
}

.home-native-bar__right {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.home-xp-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.32rem 0.75rem;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 700;
  color: #7a5a14;
  background: rgba(194, 160, 77, 0.18);
  border: 1.5px solid rgba(194, 160, 77, 0.55);
  letter-spacing: 0.01em;
}

.home-native-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--color-secondary), var(--color-primary));
  color: #fff;
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-decoration: none;
  flex-shrink: 0;
}

.home-hero {
  position: relative;
  padding: var(--space-5) 0 var(--space-6);
}

.home-intro {
  margin-bottom: var(--space-5);
}

.home-date-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.85rem;
  border-radius: 999px;
  font-size: 0.72rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  font-weight: 700;
  color: #3b2f22;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid rgba(63, 107, 91, 0.18);
  box-shadow: var(--shadow-soft);
  margin-bottom: var(--space-3);
}

.home-hero-title {
  margin: 0 0 var(--space-2);
  font-family: var(--font-display);
  font-size: clamp(3rem, 10vw, 4.2rem);
  font-weight: 700;
  line-height: 0.98;
  color: var(--color-text);
  letter-spacing: -0.025em;
}

.home-hero-accent {
  color: var(--color-primary);
  font-style: italic;
}

.home-hero-sub {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 1rem;
  line-height: 1.5;
}
.home-hero-sub strong {
  color: #7a5a14;
  font-weight: 700;
}

.home-section-label {
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--color-text-muted);
  margin: 0 0 var(--space-3);
}

.home-games {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.home-game-card {
  background: var(--color-surface);
  border-radius: 20px;
  border: 1px solid var(--color-border);
  box-shadow: 0 2px 12px rgba(58, 46, 33, 0.07), 0 1px 3px rgba(58, 46, 33, 0.05);
  overflow: hidden;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.home-game-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(58, 46, 33, 0.12), 0 2px 6px rgba(58, 46, 33, 0.07);
}
.home-game-card.is-upcoming {
  opacity: 0.5;
  pointer-events: none;
}

.home-game-card__top {
  display: grid;
  grid-template-columns: 68px 1fr auto;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-4) var(--space-4) var(--space-3);
}

.home-game-icon {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  font-size: 2.1rem;
  flex-shrink: 0;
  border: 1px solid transparent;
}

.home-game-card[data-game=wordle] .home-game-icon {
  background: rgba(63, 107, 91, 0.13);
  border-color: rgba(63, 107, 91, 0.25);
}

.home-game-card[data-game=spelling_bee] .home-game-icon {
  background: rgba(194, 160, 77, 0.16);
  border-color: rgba(194, 160, 77, 0.3);
}

.home-game-card[data-game=connections] .home-game-icon {
  background: rgba(111, 138, 165, 0.15);
  border-color: rgba(111, 138, 165, 0.28);
}

.home-game-card[data-game=sudoku] .home-game-icon {
  background: rgba(155, 123, 86, 0.14);
  border-color: rgba(155, 123, 86, 0.27);
}

.home-game-info {
  min-width: 0;
}

.home-game-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--color-text);
}

.home-game-desc {
  margin: 0.2rem 0 0;
  font-size: 0.87rem;
  color: var(--color-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.home-game-status {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 5px;
  flex-shrink: 0;
}

.home-status-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.26rem 0.65rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  background: rgba(79, 122, 104, 0.12);
  color: var(--color-success);
  border: 1px solid rgba(79, 122, 104, 0.28);
}
.home-status-badge.is-soon {
  background: rgba(155, 123, 86, 0.1);
  color: var(--color-secondary);
  border-color: rgba(155, 123, 86, 0.28);
}

.home-game-xp {
  font-size: 0.85rem;
  font-weight: 700;
  color: #7a5a14;
  letter-spacing: 0.01em;
}

.home-game-card.is-completed .home-game-title {
  color: var(--color-text-muted);
}

.home-game-stats {
  display: flex;
  align-items: stretch;
  border-top: 1px solid var(--color-border-light);
  border-bottom: 1px solid var(--color-border-light);
  margin: 0;
}

.home-game-stat {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: var(--space-3) var(--space-2);
  text-align: center;
}

.home-game-stat__val {
  font-family: var(--font-display);
  font-size: 1.45rem;
  font-weight: 600;
  color: var(--color-text);
  line-height: 1;
}

.home-game-stat__lbl {
  font-size: 0.64rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  font-weight: 600;
}

.home-game-stat__sep {
  width: 1px;
  background: var(--color-border-light);
  flex-shrink: 0;
  align-self: stretch;
}

.home-game-actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4) var(--space-4);
}

.home-game-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.9rem 1rem;
  border-radius: var(--radius-md);
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: opacity 0.15s ease, transform 0.12s ease;
  text-align: center;
}
.home-game-btn:active {
  transform: scale(0.985);
  opacity: 0.9;
}

.home-game-btn.is-primary {
  color: #fff;
  background: var(--color-primary);
}

.home-game-card[data-game=wordle] .home-game-btn.is-primary {
  background: #3a6453;
}

.home-game-card[data-game=spelling_bee] .home-game-btn.is-primary {
  background: #9b6e26;
}

.home-game-card[data-game=connections] .home-game-btn.is-primary {
  background: #476685;
}

.home-game-card[data-game=sudoku] .home-game-btn.is-primary {
  background: #8c6e4a;
}

.home-game-btn.is-ghost {
  background: var(--color-surface-alt);
  color: var(--color-text-muted);
  font-weight: 600;
  font-size: 0.93rem;
  border: 1px solid var(--color-border-light);
}

.home-game-btn.is-disabled {
  background: var(--color-border-light);
  color: var(--color-text-muted);
  cursor: not-allowed;
  font-size: 0.93rem;
}

@media (prefers-reduced-motion: no-preference) {
  .home-game-card {
    animation: home-card-rise 0.5s cubic-bezier(0.22, 0.61, 0.36, 1) both;
  }
  .home-game-card:nth-child(2) {
    animation-delay: 0.09s;
  }
  .home-game-card:nth-child(3) {
    animation-delay: 0.18s;
  }
  .home-game-card:nth-child(4) {
    animation-delay: 0.27s;
  }
  .home-hero-title {
    animation: home-card-rise 0.45s cubic-bezier(0.22, 0.61, 0.36, 1) both;
  }
  .home-hero-sub {
    animation: home-card-rise 0.45s cubic-bezier(0.22, 0.61, 0.36, 1) 0.06s both;
  }
}
@keyframes home-card-rise {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.home-page .app-container, .home-page .container {
  max-width: 680px;
}

@media (min-width: 900px) {
  .home-game-card__top {
    padding: var(--space-5) var(--space-5) var(--space-3);
  }
  .home-game-icon {
    width: 72px;
    height: 72px;
    font-size: 2.3rem;
  }
  .home-game-title {
    font-size: 1.5rem;
  }
  .home-game-actions {
    padding: var(--space-3) var(--space-5) var(--space-5);
  }
}
.wordle-page {
  padding: var(--space-5) 0 var(--space-7);
}

.wordle-panel {
  max-width: 720px;
  margin: 0 auto;
  padding: var(--space-4);
  background: var(--color-surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-soft);
}

.game-message {
  min-height: 36px;
  margin-bottom: var(--space-3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
}

.wordle-board {
  display: grid;
  gap: var(--space-2);
  margin: 0 auto var(--space-4);
  max-width: 420px;
}

.wordle-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--space-2);
}

.wordle-tile {
  width: 70px;
  height: 70px;
  border-radius: var(--radius-sm);
  border: 2px solid var(--color-border-light);
  display: flex;
  font-size: 2rem;
  font-weight: 700;
  text-transform: uppercase;
  align-items: center;
  justify-content: center;
  background-color: var(--color-surface-alt);
  transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.wordle-tile.is-filled {
  border-color: var(--color-secondary);
}
.wordle-tile.filled-box {
  border-color: var(--color-secondary);
}
.wordle-tile.correct {
  background-color: var(--color-correct);
  color: var(--color-correct-text);
  border-color: var(--color-primary-strong);
}
.wordle-tile.present {
  background-color: var(--color-present);
  color: var(--color-present-text);
  border-color: #b28a44;
}
.wordle-tile.absent {
  background-color: var(--color-absent);
  color: var(--color-absent-text);
  border-color: var(--color-absent-border);
}
.wordle-tile.animating {
  transform: rotateX(90deg);
}
.wordle-tile.reveal {
  transform: rotateX(0);
}

@media (max-width: 520px) {
  .wordle-tile {
    width: 54px;
    height: 54px;
    font-size: 1.6rem;
  }
}
.wordle-keyboard {
  margin-top: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.keyboard-row {
  display: flex;
  justify-content: center;
  gap: var(--space-2);
}

.key-button {
  flex: 1;
  max-width: 52px;
  padding: 0.85rem 0.3rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  background-color: var(--color-key);
  color: var(--color-text);
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.1s ease;
  -webkit-tap-highlight-color: transparent;
}
.key-button:hover {
  transform: translateY(-1px);
  background-color: var(--color-key-hover);
}
.key-button.correct {
  background-color: var(--color-correct);
  color: var(--color-correct-text);
  border-color: var(--color-primary-strong);
}
.key-button.present {
  background-color: var(--color-present);
  color: var(--color-present-text);
  border-color: #b28a44;
}
.key-button.absent {
  background-color: var(--color-absent);
  color: var(--color-absent-text);
  border-color: var(--color-absent-border);
}

.key-button--wide {
  flex: 1.4;
  max-width: 84px;
}

.wordle-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}

.wordle-meta-item {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.xp-section {
  background: var(--color-surface-alt);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  border: 1px solid var(--color-border);
  margin-top: var(--space-5);
}

.xp-breakdown-grid {
  display: grid;
  gap: var(--space-3);
}

.xp-breakdown-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-3);
  border-radius: var(--radius-md);
  background-color: #f7f2ec;
  border: 1px solid var(--color-border-light);
}

.xp-label {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-weight: 500;
}

.xp-value {
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--color-secondary);
}

.xp-total {
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--color-primary);
}

.xp-progress-display {
  margin-top: var(--space-3);
}

.xp-level-meta {
  display: flex;
  justify-content: space-between;
  font-size: 0.9rem;
  color: var(--color-text-muted);
  margin-top: var(--space-2);
}

.modal-xp .xp-breakdown-grid {
  max-height: 60vh;
  overflow-y: auto;
  padding-right: var(--space-2);
}

.game-modal .modal__dialog {
  width: min(720px, 92vw);
}
.game-modal .modal__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.game-modal__header {
  align-items: flex-start;
  gap: var(--space-4);
  background: linear-gradient(135deg, #f6efe6, #fdfaf6);
}

.game-modal__title {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.result-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-display);
  font-size: 1.4rem;
  letter-spacing: 0.02em;
  color: var(--color-primary-strong);
}

.result-subtitle {
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.7rem;
  color: var(--color-text-muted);
}

.completed-results {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
}

.target-word-display {
  font-size: clamp(1.5rem, 4vw, 2rem);
  font-weight: 600;
  letter-spacing: 0.2em;
  background-color: var(--color-surface-alt);
  padding: var(--space-3);
  border-radius: var(--radius-md);
  text-align: center;
}

.summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: var(--space-3);
}

.summary-card {
  background-color: var(--color-surface-alt);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  padding: var(--space-3);
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  text-align: center;
}

.summary-label {
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.summary-value {
  font-family: var(--font-display);
  font-size: 1.35rem;
  color: var(--color-primary-strong);
}

.keyboard-hint {
  margin-top: var(--space-2);
  font-size: 0.85rem;
  color: var(--color-text-muted);
  text-align: center;
}

.challenges-page {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  padding-bottom: calc(var(--space-7) + env(safe-area-inset-bottom));
}

.challenges-page[data-game=wordle] {
  background: radial-gradient(circle at 20% 10%, rgba(63, 107, 91, 0.16), transparent 50%), radial-gradient(circle at 80% 25%, rgba(194, 160, 77, 0.1), transparent 45%), linear-gradient(180deg, rgba(255, 255, 255, 0.55), transparent 60%), var(--color-bg);
}

.challenges-page[data-game=spelling_bee] {
  background: radial-gradient(circle at 25% 12%, rgba(194, 160, 77, 0.18), transparent 50%), radial-gradient(circle at 78% 22%, rgba(155, 123, 86, 0.1), transparent 45%), linear-gradient(180deg, rgba(255, 255, 255, 0.55), transparent 60%), var(--color-bg);
}

.challenges-page[data-game=connections] {
  background: radial-gradient(circle at 22% 10%, rgba(111, 138, 165, 0.16), transparent 50%), radial-gradient(circle at 82% 20%, rgba(63, 107, 91, 0.08), transparent 45%), linear-gradient(180deg, rgba(255, 255, 255, 0.55), transparent 60%), var(--color-bg);
}

.challenges-page[data-game=sudoku] {
  background: radial-gradient(circle at 20% 12%, rgba(155, 123, 86, 0.16), transparent 50%), radial-gradient(circle at 80% 18%, rgba(194, 160, 77, 0.1), transparent 45%), linear-gradient(180deg, rgba(255, 255, 255, 0.55), transparent 60%), var(--color-bg);
}

.challenges-page .app-container, .challenges-page .container {
  max-width: 680px;
}

.challenges-hero {
  position: relative;
  padding: var(--space-5) 0 var(--space-6);
}

.challenges-intro {
  text-align: center;
  margin-bottom: var(--space-5);
}

.challenges-icon-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: var(--space-3);
}

.challenges-icon {
  width: 72px;
  height: 72px;
  border-radius: 20px;
  display: grid;
  place-items: center;
  font-size: 2.3rem;
  border: 1px solid transparent;
}

.challenges-page[data-game=wordle] .challenges-icon {
  background: rgba(63, 107, 91, 0.13);
  border-color: rgba(63, 107, 91, 0.25);
}

.challenges-page[data-game=spelling_bee] .challenges-icon {
  background: rgba(194, 160, 77, 0.16);
  border-color: rgba(194, 160, 77, 0.3);
}

.challenges-page[data-game=connections] .challenges-icon {
  background: rgba(111, 138, 165, 0.15);
  border-color: rgba(111, 138, 165, 0.28);
}

.challenges-page[data-game=sudoku] .challenges-icon {
  background: rgba(155, 123, 86, 0.14);
  border-color: rgba(155, 123, 86, 0.27);
}

.challenges-title {
  margin: 0 0 var(--space-2);
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 8vw, 3.2rem);
  font-weight: 700;
  line-height: 1;
  color: var(--color-text);
  letter-spacing: -0.02em;
}

.challenges-subtitle {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 1rem;
  line-height: 1.5;
}

.challenges-section-label {
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--color-text-muted);
  margin: 0 0 var(--space-3);
}

.challenges-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--space-3);
}

.archive-card {
  background: var(--color-surface);
  border-radius: 16px;
  border: 1px solid var(--color-border);
  box-shadow: 0 2px 12px rgba(58, 46, 33, 0.07), 0 1px 3px rgba(58, 46, 33, 0.05);
  overflow: hidden;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.archive-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(58, 46, 33, 0.12), 0 2px 6px rgba(58, 46, 33, 0.07);
}

.archive-card__top {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
}

.archive-date {
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
}

.date-day {
  font-family: var(--font-display);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  color: var(--color-text);
}

.date-month {
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-text-muted);
}

.archive-info {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-width: 0;
}

.archive-weekday {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--color-text);
}

.archive-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.18rem 0.55rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  background: rgba(155, 123, 86, 0.12);
  color: #6f5235;
  border: 1px solid rgba(155, 123, 86, 0.25);
}

.archive-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  flex-shrink: 0;
}
.archive-badge.is-won {
  background: rgba(79, 122, 104, 0.14);
  color: var(--color-success);
  border: 1px solid rgba(79, 122, 104, 0.3);
}
.archive-badge.is-lost {
  background: rgba(184, 91, 86, 0.12);
  color: var(--color-danger);
  border: 1px solid rgba(184, 91, 86, 0.25);
}
.archive-badge.is-pending {
  background: rgba(194, 160, 77, 0.12);
  color: #7a5a14;
  border: 1px solid rgba(194, 160, 77, 0.25);
  font-size: 0.85rem;
}
.archive-badge.is-locked {
  background: var(--color-surface-alt);
  color: var(--color-text-muted);
  border: 1px solid var(--color-border-light);
  font-size: 0.85rem;
}

.archive-card__actions {
  padding: 0 var(--space-4) var(--space-3);
}

.archive-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.65rem 1rem;
  border-radius: var(--radius-md);
  font-weight: 700;
  font-size: 0.88rem;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: opacity 0.15s ease, transform 0.12s ease;
  text-align: center;
}
.archive-btn:active {
  transform: scale(0.985);
  opacity: 0.9;
}

.archive-btn.is-primary {
  color: #fff;
  background: var(--color-primary);
}

.challenges-page[data-game=wordle] .archive-btn.is-primary {
  background: #3a6453;
}

.challenges-page[data-game=spelling_bee] .archive-btn.is-primary {
  background: #9b6e26;
}

.challenges-page[data-game=connections] .archive-btn.is-primary {
  background: #476685;
}

.challenges-page[data-game=sudoku] .archive-btn.is-primary {
  background: #8c6e4a;
}

.archive-btn.is-secondary {
  background: var(--color-surface-alt);
  color: var(--color-text-muted);
  font-weight: 600;
  border: 1px solid var(--color-border-light);
}

.challenges-pagination {
  margin-top: var(--space-5);
}

.pagination-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  flex-wrap: wrap;
}

.pagination-pages {
  display: flex;
  align-items: center;
  gap: 2px;
}

.pagination-page {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  border-radius: var(--radius-sm);
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-text-muted);
  text-decoration: none;
  transition: background 0.15s ease;
}
.pagination-page:hover {
  background: rgba(0, 0, 0, 0.05);
}
.pagination-page.is-active {
  background: var(--color-surface);
  color: var(--color-text);
  box-shadow: 0 1px 4px rgba(58, 46, 33, 0.12);
  border: 1px solid var(--color-border);
}

.pagination-dots {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 36px;
  font-size: 0.85rem;
  color: var(--color-text-muted);
}

.pagination-btn {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.85rem;
  border-radius: var(--radius-sm);
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--color-text-muted);
  text-decoration: none;
  transition: background 0.15s ease;
}
.pagination-btn:hover {
  background: rgba(0, 0, 0, 0.05);
}

.challenges-footer {
  margin-top: var(--space-6);
  display: flex;
  justify-content: center;
}

.challenges-back-btn {
  display: inline-flex;
  align-items: center;
  padding: 0.7rem 1.4rem;
  border-radius: var(--radius-md);
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--color-text-muted);
  text-decoration: none;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-soft);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.challenges-back-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(58, 46, 33, 0.1);
}

@media (prefers-reduced-motion: no-preference) {
  .archive-card {
    animation: challenges-card-rise 0.5s cubic-bezier(0.22, 0.61, 0.36, 1) both;
  }
  .archive-card:nth-child(1) {
    animation-delay: 0s;
  }
  .archive-card:nth-child(2) {
    animation-delay: 0.04s;
  }
  .archive-card:nth-child(3) {
    animation-delay: 0.08s;
  }
  .archive-card:nth-child(4) {
    animation-delay: 0.12s;
  }
  .archive-card:nth-child(5) {
    animation-delay: 0.16s;
  }
  .archive-card:nth-child(6) {
    animation-delay: 0.2s;
  }
  .archive-card:nth-child(7) {
    animation-delay: 0.24s;
  }
  .archive-card:nth-child(8) {
    animation-delay: 0.28s;
  }
  .archive-card:nth-child(9) {
    animation-delay: 0.32s;
  }
  .archive-card:nth-child(10) {
    animation-delay: 0.36s;
  }
  .archive-card:nth-child(11) {
    animation-delay: 0.4s;
  }
  .archive-card:nth-child(12) {
    animation-delay: 0.44s;
  }
  .archive-card:nth-child(13) {
    animation-delay: 0.48s;
  }
  .archive-card:nth-child(14) {
    animation-delay: 0.52s;
  }
  .archive-card:nth-child(15) {
    animation-delay: 0.56s;
  }
  .archive-card:nth-child(16) {
    animation-delay: 0.6s;
  }
  .archive-card:nth-child(17) {
    animation-delay: 0.64s;
  }
  .archive-card:nth-child(18) {
    animation-delay: 0.68s;
  }
  .archive-card:nth-child(19) {
    animation-delay: 0.72s;
  }
  .archive-card:nth-child(20) {
    animation-delay: 0.76s;
  }
  .challenges-intro {
    animation: challenges-card-rise 0.45s cubic-bezier(0.22, 0.61, 0.36, 1) both;
  }
}
@keyframes challenges-card-rise {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 639px) {
  .challenges-grid {
    grid-template-columns: 1fr;
  }
}
.spelling-bee-page {
  padding: var(--space-5) 0 var(--space-7);
}

.spelling-bee-panel {
  max-width: 760px;
  margin: 0 auto;
  padding: var(--space-4);
  background: var(--color-surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-soft);
  display: grid;
  gap: var(--space-4);
}

.bee-score-strip {
  border: 1px solid var(--color-border-light);
  background: linear-gradient(180deg, #fffcf5 0%, #f8f1df 100%);
  border-radius: 14px;
  padding: var(--space-3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.bee-score-left {
  display: inline-flex;
  align-items: baseline;
  gap: 0.4rem;
  font-size: 0.95rem;
  color: var(--color-text-muted);
}

.bee-score-left strong {
  font-size: 1.1rem;
  color: var(--color-text);
}

.bee-score-right {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
}

.bee-rank-name {
  font-size: 0.82rem;
  font-weight: 700;
  color: #654810;
  background: rgba(242, 185, 59, 0.2);
  border: 1px solid rgba(242, 185, 59, 0.38);
  border-radius: 999px;
  padding: 0.2rem 0.5rem;
}

.bee-rank-progress-track {
  width: 62px;
  height: 6px;
  border-radius: 999px;
  background: rgba(42, 33, 20, 0.14);
  overflow: hidden;
}

.bee-rank-progress-fill {
  display: block;
  height: 100%;
  width: 0%;
  border-radius: inherit;
  background: linear-gradient(90deg, #f2b93b 0%, #f7d070 100%);
  transition: width 220ms ease;
}

.bee-word-capsule {
  position: relative;
  background: #fff9ec;
  border: 1px solid #f0dfb8;
  border-radius: 18px;
  padding: 0.8rem 1rem;
  text-align: center;
  box-shadow: 0 6px 14px rgba(59, 44, 12, 0.08);
}

.bee-current-word {
  font-size: 2rem;
  letter-spacing: 0.16em;
  font-weight: 800;
  color: #33240f;
  min-height: 2.2rem;
}

.bee-feedback-line {
  margin-top: 0.2rem;
  min-height: 1.1rem;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--color-text-muted);
}

.bee-feedback-line.message-warning {
  color: var(--color-danger);
}

.bee-feedback-line.message-success {
  color: var(--color-success);
}

.bee-feedback-line.message-info {
  color: var(--color-text-muted);
}

.bee-score-float {
  position: absolute;
  top: 4px;
  right: 12px;
  opacity: 0;
  transform: translateY(0);
  color: var(--color-success);
  font-weight: 800;
  pointer-events: none;
}

.bee-score-float.is-visible {
  animation: bee-score-float-up 520ms ease-out forwards;
}

.bee-word-capsule.is-glow {
  animation: bee-capsule-glow 360ms ease-out;
}

.bee-word-capsule.is-shake {
  animation: bee-capsule-shake 360ms ease-in-out;
}

.bee-honeycomb {
  display: grid;
  gap: var(--space-2);
  justify-content: center;
  margin-top: var(--space-1);
  filter: drop-shadow(0 7px 12px rgba(62, 46, 15, 0.14));
}

.bee-row {
  display: flex;
  justify-content: center;
  gap: var(--space-2);
}

.bee-letter {
  width: 98px;
  height: 86px;
  border: none;
  background: #f6e39a;
  color: #362c14;
  font-size: 1.78rem;
  font-weight: 700;
  cursor: pointer;
  clip-path: polygon(25% 6%, 75% 6%, 100% 50%, 75% 94%, 25% 94%, 0 50%);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bee-letter:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}

.bee-letter.is-center {
  background: #f2b93b;
}

.bee-controls {
  display: flex;
  justify-content: center;
  gap: var(--space-2);
}

.bee-icon-btn {
  min-width: 44px;
  width: 44px;
  height: 44px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.bee-found-trigger {
  width: 100%;
  border: 1px solid var(--color-border-light);
  border-radius: 12px;
  background: #faf6ee;
  padding: 0.75rem 0.9rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 700;
  color: var(--color-text);
  cursor: pointer;
}

.bee-found-trigger-right {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-text-muted);
}

.bee-found-count {
  font-weight: 600;
  color: var(--color-text-muted);
}

.bee-found-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.bee-found-word {
  padding: 0.3rem 0.6rem;
  background: #fff5d6;
  border-radius: var(--radius-sm);
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.85rem;
  border: 1px solid #f0dca2;
}

.bee-bottom-sheet {
  position: fixed;
  inset: 0;
  z-index: 55;
  pointer-events: none;
}

.bee-sheet-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(22, 16, 9, 0.36);
  opacity: 0;
  transition: opacity 180ms ease;
}

.bee-sheet {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  transform: translateY(104%);
  transition: transform 220ms ease;
  background: var(--color-surface);
  border-radius: 18px 18px 0 0;
  border-top: 1px solid var(--color-border);
  padding: var(--space-4);
  max-height: 72vh;
  overflow: auto;
}

.bee-bottom-sheet.is-open {
  pointer-events: auto;
}

.bee-bottom-sheet.is-open .bee-sheet-backdrop {
  opacity: 1;
}

.bee-bottom-sheet.is-open .bee-sheet {
  transform: translateY(0);
}

.bee-sheet h3 {
  margin: 0 0 var(--space-3);
}

.bee-sheet-handle {
  width: 42px;
  height: 5px;
  border-radius: 999px;
  border: 0;
  background: var(--color-border);
  display: block;
  margin: 0 auto var(--space-3);
}

.bee-sheet-score-line {
  display: inline-flex;
  align-items: baseline;
  gap: 0.4rem;
  font-size: 1rem;
  color: var(--color-text-muted);
}

.bee-sheet-score-line strong {
  font-size: 1.4rem;
  color: var(--color-text);
}

.bee-sheet-rank-line {
  margin: var(--space-2) 0 var(--space-3);
  color: var(--color-text-muted);
}

.bee-points-breakdown {
  display: grid;
  gap: var(--space-2);
  margin-bottom: var(--space-3);
}

.bee-breakdown-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border-light);
  border-radius: 10px;
  padding: 0.5rem 0.7rem;
  color: var(--color-text-muted);
}

.bee-breakdown-row strong {
  color: var(--color-text);
}

.bee-rank-ladder {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--space-2);
}

.bee-rank-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border-light);
  border-radius: 10px;
  padding: 0.55rem 0.7rem;
  font-weight: 600;
}

.bee-sheet-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-2);
}

.bee-modal .modal__dialog {
  max-width: 460px;
}

.bee-summary {
  display: grid;
  gap: var(--space-2);
  margin-top: var(--space-3);
}

.bee-summary-label {
  display: block;
  font-size: 0.85rem;
  color: var(--color-text-muted);
}

.bee-summary-value {
  font-size: 1.4rem;
  font-weight: 700;
}

.bee-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: var(--space-3);
  margin-bottom: var(--space-3);
}

.bee-stat-card {
  padding: var(--space-3);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border-light);
  background: var(--color-surface-alt);
  display: grid;
  gap: var(--space-2);
}

.bee-stat-number {
  font-size: 2rem;
  font-weight: 700;
}

.recent-games-list {
  display: grid;
  gap: var(--space-3);
}

.recent-game-card {
  padding: var(--space-3);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.recent-game-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3);
}

.recent-game-date {
  margin: 0;
  font-size: 0.9rem;
  color: var(--color-text-muted);
}

.recent-game-label {
  margin: var(--space-1) 0 0;
  font-weight: 600;
}

.recent-game-mode {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: wrap;
  justify-content: flex-end;
}

.mode-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  background: rgba(63, 107, 91, 0.12);
  color: #3b6c5a;
  border: 1px solid rgba(63, 107, 91, 0.25);
}

.mode-link {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--color-primary-strong);
  text-decoration: none;
}

.mode-link:hover {
  text-decoration: underline;
}

.recent-game-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: var(--space-2);
}

.recent-game-stat {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.recent-game-stat .stat-label {
  font-size: 0.75rem;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.recent-game-stat .stat-value {
  font-weight: 600;
}

@media (max-width: 640px) {
  .spelling-bee-panel {
    padding: var(--space-4);
  }
  .bee-letter {
    width: 80px;
    height: 70px;
    font-size: 1.45rem;
  }
  .bee-controls {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
  .bee-current-word {
    font-size: 1.7rem;
  }
}
@keyframes bee-score-float-up {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  20% {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translateY(-16px);
  }
}
@keyframes bee-capsule-glow {
  0% {
    box-shadow: 0 6px 14px rgba(59, 44, 12, 0.08);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(79, 122, 104, 0.16), 0 10px 24px rgba(79, 122, 104, 0.16);
  }
  100% {
    box-shadow: 0 6px 14px rgba(59, 44, 12, 0.08);
  }
}
@keyframes bee-capsule-shake {
  0%, 100% {
    transform: translateX(0);
  }
  20% {
    transform: translateX(-6px);
  }
  40% {
    transform: translateX(6px);
  }
  60% {
    transform: translateX(-4px);
  }
  80% {
    transform: translateX(4px);
  }
}
.connections-page {
  padding: var(--space-3) 0 var(--space-6);
}
.connections-page.is-native {
  padding-top: calc(44px + env(safe-area-inset-top) + var(--space-2));
}

.connections-panel {
  max-width: 820px;
  margin: 0 auto;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  display: grid;
  gap: var(--space-3);
}

.connections-toast-lane {
  min-height: 0;
  display: flex;
  align-items: center;
}

.connections-message {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.86rem;
  color: transparent;
  background: transparent;
  opacity: 0;
  transform: translateY(-6px);
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.15s ease;
}

.connections-message.message-warning,
.connections-message.message-success,
.connections-message.message-error,
.connections-message.message-info {
  padding: 0.4rem 0.75rem;
  opacity: 1;
  transform: translateY(0);
}

.connections-message.message-warning {
  color: #8d4a10;
  background: #fff1d9;
  border: 1px solid #efd4aa;
}

.connections-message.message-success {
  color: #245d4a;
  background: #e9f6ef;
  border: 1px solid #bddfcf;
}

.connections-message.message-error {
  color: #872f2c;
  background: #fee9e8;
  border: 1px solid #efc0bd;
}

.connections-message.message-info {
  color: var(--color-text-muted);
  background: #f3f0ea;
  border: 1px solid var(--color-border-light);
}

.connections-solved-area {
  display: grid;
  gap: var(--space-2);
}
.connections-solved-area:empty {
  display: none;
}

.connections-attempts-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.45rem;
}

.connections-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  transition: background-color 0.25s ease, transform 0.25s ease, opacity 0.25s ease;
}
.connections-dot.is-filled {
  background: var(--color-warning);
  box-shadow: 0 0 6px rgba(194, 160, 77, 0.3);
}
.connections-dot.is-empty {
  background: var(--color-border-light);
  opacity: 0.6;
  transform: scale(0.85);
}

.connections-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.6rem;
}

.connections-tile {
  min-height: 56px;
  padding: 0.65rem 0.35rem;
  border-radius: 12px;
  border: 1.5px solid #e4d9cb;
  background: linear-gradient(180deg, #ffffff 0%, #f9f5ef 100%);
  box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.8) inset, 0 2px 4px rgba(44, 31, 18, 0.06), 0 4px 8px rgba(44, 31, 18, 0.04);
  font-size: clamp(0.6rem, 1rem - var(--char-count, 6) * 0.026rem, 0.9rem);
  font-weight: 700;
  color: #2a231a;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: 1.2;
  overflow-wrap: break-word;
  word-break: break-word;
  -webkit-hyphens: auto;
          hyphens: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.15s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.connections-tile:hover {
  border-color: #d0c1ae;
  box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.8) inset, 0 3px 8px rgba(44, 31, 18, 0.09), 0 5px 12px rgba(44, 31, 18, 0.05);
}

.connections-tile:active {
  transform: scale(0.97);
  border-color: #c5af92;
}

.connections-tile:focus-visible {
  outline: 2px solid rgba(194, 160, 77, 0.48);
  outline-offset: 1px;
}

.connections-tile.is-selected {
  background: linear-gradient(180deg, #f5e6c8 0%, #ebdabc 100%);
  border-color: #c4a460;
  box-shadow: 0 0 0 2.5px rgba(194, 160, 77, 0.25), 0 1px 0 0 rgba(255, 255, 255, 0.5) inset, 0 4px 12px rgba(44, 31, 18, 0.12);
  transform: scale(1.03);
  color: #3a2a14;
}

.connections-tile.is-entering {
  animation: connections-tile-in 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.connections-tile.is-shaking {
  animation: connections-shake 0.4s ease;
}

.connections-tile.is-pulsing {
  animation: connections-pulse 0.32s ease;
}

.connections-sticky-bar {
  position: sticky;
  bottom: calc(env(safe-area-inset-bottom) + 8px);
  z-index: 15;
  background: rgba(247, 243, 238, 0.92);
  border: 1px solid var(--color-border-light);
  border-radius: 20px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 -2px 16px rgba(42, 32, 20, 0.05), 0 8px 24px rgba(42, 32, 20, 0.1);
  padding: 0.55rem;
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  gap: 0.55rem;
}

.connections-sticky-bar .btn, .connections-sticky-bar .btn-success, .connections-sticky-bar .btn-warning, .connections-sticky-bar .btn-danger, .connections-sticky-bar .btn-info, .connections-sticky-bar .btn-outline-primary,
.connections-sticky-bar .btn-outline-secondary,
.connections-sticky-bar .btn-outline-success,
.connections-sticky-bar .btn-outline-danger,
.connections-sticky-bar .btn-outline-warning,
.connections-sticky-bar .btn-outline-info {
  min-height: 44px;
}

.connections-sticky-bar .btn-primary:not([disabled]) {
  box-shadow: 0 2px 12px rgba(63, 107, 91, 0.3);
}

.connections-icon-btn {
  width: 44px;
  min-width: 44px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.connections-clear-btn {
  min-height: 44px;
  min-width: 44px;
  font-size: 1rem;
  padding: 0;
}

.connections-clear-btn:focus-visible {
  outline: 2px solid rgba(63, 107, 91, 0.35);
  outline-offset: 2px;
  border-radius: 8px;
}

.connections-solved,
.connections-reveal-row {
  border-radius: 12px;
  padding: 0.85rem 1rem;
  border: 1px solid transparent;
  box-shadow: 0 4px 10px rgba(35, 24, 14, 0.06);
}

.connections-solved {
  animation: connections-solved-in 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.connections-solved-header,
.connections-reveal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: 0.45rem;
}

.connections-category {
  font-size: 0.86rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.connections-difficulty-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border-radius: 999px;
  padding: 0.2rem 0.5rem;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.connections-difficulty-pill::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: currentColor;
}

.connections-words {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.connections-word-chip {
  border-radius: 999px;
  padding: 0.2rem 0.45rem;
  font-size: 0.74rem;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.7);
  color: #3a3024;
}

.connections-reveal {
  display: none;
  gap: var(--space-2);
}

.connections-reveal.is-visible {
  display: grid;
}

.difficulty-yellow {
  background: linear-gradient(135deg, rgba(247, 223, 132, 0.45) 0%, rgba(240, 210, 100, 0.3) 100%);
  border-color: rgba(194, 160, 77, 0.45);
}

.connections-difficulty-yellow {
  color: #7e640f;
  background: rgba(247, 223, 132, 0.5);
}

.difficulty-green {
  background: linear-gradient(135deg, rgba(168, 205, 185, 0.45) 0%, rgba(140, 190, 165, 0.3) 100%);
  border-color: rgba(79, 122, 104, 0.4);
}

.connections-difficulty-green {
  color: #245a45;
  background: rgba(168, 205, 185, 0.5);
}

.difficulty-blue {
  background: linear-gradient(135deg, rgba(160, 186, 215, 0.45) 0%, rgba(140, 170, 205, 0.3) 100%);
  border-color: rgba(111, 138, 165, 0.4);
}

.connections-difficulty-blue {
  color: #244f79;
  background: rgba(160, 186, 215, 0.5);
}

.difficulty-purple {
  background: linear-gradient(135deg, rgba(196, 175, 214, 0.45) 0%, rgba(180, 155, 200, 0.3) 100%);
  border-color: rgba(130, 106, 162, 0.4);
}

.connections-difficulty-purple {
  color: #5b3f7e;
  background: rgba(196, 175, 214, 0.55);
}

@keyframes connections-tile-in {
  0% {
    opacity: 0;
    transform: scale(0.9) translateY(8px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
@keyframes connections-solved-in {
  0% {
    opacity: 0;
    transform: translateY(-8px) scale(0.96);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes connections-shake {
  0%, 100% {
    transform: translateX(0) rotate(0);
  }
  15% {
    transform: translateX(-5px) rotate(-1deg);
  }
  30% {
    transform: translateX(4px) rotate(0.5deg);
  }
  45% {
    transform: translateX(-3px) rotate(-0.5deg);
  }
  60% {
    transform: translateX(2px) rotate(0.3deg);
  }
  75% {
    transform: translateX(-1px);
  }
}
@keyframes connections-pulse {
  0% {
    transform: scale(1);
  }
  30% {
    transform: scale(1.08);
  }
  60% {
    transform: scale(0.97);
  }
  100% {
    transform: scale(1);
  }
}
@media (max-width: 768px) {
  .connections-page .app-container, .connections-page .container {
    padding: 0 16px;
  }
  .connections-grid {
    gap: 0.45rem;
  }
  .connections-tile {
    min-height: 50px;
    padding: 0.55rem 0.25rem;
  }
}
.sudoku-page .sudoku-play {
  min-height: calc(100svh - 130px);
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 0.5rem;
}
.sudoku-page .sudoku-message {
  min-height: 1.2rem;
  margin-bottom: 0.1rem;
  text-align: center;
  font-size: 0.88rem;
  font-weight: 600;
  color: transparent;
}
.sudoku-page .sudoku-message.message-warning {
  color: #8d4a10;
}
.sudoku-page .sudoku-message.message-success {
  color: #245d4a;
}
.sudoku-page .sudoku-message.message-error {
  color: #9f2b29;
}
.sudoku-page .sudoku-message.message-info {
  color: var(--color-text-muted);
}
.sudoku-page .sudoku-board-wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin: 0;
  padding: 0;
}
.sudoku-page .sudoku-board {
  display: grid;
  grid-template-columns: repeat(9, 1fr);
  width: min(100%, min(92vw, 62svh));
  max-width: 620px;
  aspect-ratio: 1;
  border: 1.5px solid #b7bfc9;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(32, 27, 20, 0.06);
}
.sudoku-page .sudoku-cell {
  position: relative;
  border: 1px solid #e5e9ef;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: clamp(1rem, 3.8vw, 1.45rem);
  color: #35507a;
  background: #fff;
  transition: background-color 120ms ease, box-shadow 120ms ease;
}
.sudoku-page .sudoku-cell[data-col="2"],
.sudoku-page .sudoku-cell[data-col="5"] {
  border-right: 2px solid #c2cad5;
}
.sudoku-page .sudoku-cell[data-row="2"],
.sudoku-page .sudoku-cell[data-row="5"] {
  border-bottom: 2px solid #c2cad5;
}
.sudoku-page .sudoku-cell.is-given {
  background: #f7f9fc;
  color: #1f2937;
}
.sudoku-page .sudoku-given-value {
  font-weight: 800;
  color: #1f2937;
}
.sudoku-page .sudoku-cell.is-related {
  background: #f4f8ff;
}
.sudoku-page .sudoku-cell.is-related-box {
  background: #edf3fe;
}
.sudoku-page .sudoku-cell.is-same-number {
  background: #e8f0ff;
}
.sudoku-page .sudoku-cell.is-active {
  background: #deebff;
  box-shadow: inset 0 0 0 2px #4c78ba;
  z-index: 2;
}
.sudoku-page .sudoku-cell.is-given.is-conflict {
  background: #feeaec;
  color: #b63034;
}
.sudoku-page .sudoku-cell.is-conflict {
  background: #fff0f1;
  color: #b63034;
  box-shadow: inset 0 0 0 1px rgba(182, 48, 52, 0.32);
}
.sudoku-page .sudoku-cell.is-conflict-shake {
  animation: sudoku-cell-shake 260ms ease;
}
.sudoku-page .sudoku-cell input {
  width: 100%;
  height: 100%;
  border: 0;
  text-align: center;
  font-size: inherit;
  font-weight: 650;
  color: #35507a;
  background: transparent;
  outline: none;
  caret-color: transparent;
  position: relative;
  z-index: 2;
}
.sudoku-page .sudoku-cell.is-conflict input {
  color: #b63034;
}
.sudoku-page .sudoku-note-layer {
  position: absolute;
  inset: 2px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  pointer-events: none;
  z-index: 1;
}
.sudoku-page .sudoku-note {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(0.48rem, 1.7vw, 0.64rem);
  line-height: 1;
  color: #7b8796;
  font-weight: 600;
}
.sudoku-page .sudoku-bottom-controls {
  position: sticky;
  bottom: calc(env(safe-area-inset-bottom) + 4px);
  background: rgba(247, 243, 238, 0.94);
  border: 1px solid var(--color-border-light);
  border-radius: 16px;
  padding: 0.55rem;
  box-shadow: 0 10px 24px rgba(32, 27, 20, 0.08);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.sudoku-page .sudoku-tools-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr) auto;
  gap: 0.45rem;
  margin-bottom: 0.5rem;
}
.sudoku-page .sudoku-tool-btn {
  min-height: 44px;
  border: 1px solid #d6dde7;
  border-radius: 11px;
  background: #fff;
  color: #2d3d54;
  font-size: 0.82rem;
  font-weight: 650;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  transition: transform 90ms ease, border-color 120ms ease, background-color 120ms ease;
}
.sudoku-page .sudoku-tool-btn i {
  font-size: 0.95rem;
}
.sudoku-page .sudoku-tool-btn:hover {
  border-color: #4c78ba;
  background: #e8f0ff;
  color: #214673;
}
.sudoku-page .sudoku-tool-btn.is-active {
  border-color: #4c78ba;
  background: #e8f0ff;
  color: #214673;
}
.sudoku-page .sudoku-tool-btn:active {
  transform: scale(0.98);
  border-color: #9eaec2;
}
.sudoku-page .sudoku-check-btn {
  min-height: 44px;
  padding: 0 0.9rem;
  font-size: 0.84rem;
  white-space: nowrap;
}
.sudoku-page .sudoku-keyboard {
  margin: 0 auto;
  max-width: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.sudoku-page .sudoku-keyboard-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.35rem;
}
.sudoku-page .sudoku-key-button {
  border: 1px solid #d9e0e9;
  border-radius: 11px;
  background: #ffffff;
  color: #22354d;
  font-weight: 700;
  font-size: 1.18rem;
  min-height: 46px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.1s ease, background-color 0.15s ease, border-color 0.15s ease;
}
.sudoku-page .sudoku-key-button:hover {
  background: #f8fbff;
}
.sudoku-page .sudoku-key-button:active {
  transform: scale(0.98);
  border-color: #9eaec2;
}
.sudoku-page .sudoku-key-button.is-complete {
  background: #e1e8f2;
  border-color: #b8c4d4;
  color: #1b2e45;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}
.sudoku-page .sudoku-key-button.is-placeholder {
  visibility: hidden;
  pointer-events: none;
}
.sudoku-page .sudoku-board.is-readonly .sudoku-cell {
  background: #f9fafb;
  color: #111827;
}
@media (max-width: 768px) {
  .sudoku-page .app-container, .sudoku-page .container {
    padding: 0 16px;
  }
  .sudoku-page .sudoku-play {
    min-height: calc(100svh - 120px);
    gap: 0.35rem;
  }
  .sudoku-page .sudoku-board {
    width: min(100%, min(92vw, 64svh));
  }
  .sudoku-page .sudoku-tools-row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    gap: 0.35rem;
  }
  .sudoku-page .sudoku-tool-btn {
    font-size: 0.74rem;
  }
}
body.turbo-native-body .sudoku-page .sudoku-play {
  padding-top: 1.5rem;
}
@media (min-width: 900px) {
  .sudoku-page .sudoku-board {
    width: min(72vh, 620px);
  }
}
@keyframes sudoku-cell-shake {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-3px);
  }
  50% {
    transform: translateX(3px);
  }
  75% {
    transform: translateX(-2px);
  }
  100% {
    transform: translateX(0);
  }
}
.sudoku-page .share-card--sudoku .share-card__backdrop {
  background: linear-gradient(135deg, #0f766e, #0f172a);
}

.app-header {
  background-color: var(--color-surface);
  border-bottom: 1px solid var(--color-border);
  padding: var(--space-3) 0;
  position: sticky;
  top: 0;
  z-index: 200;
}

.app-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.app-nav__left,
.app-nav__right {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.app-nav__auth {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.app-brand {
  font-weight: 700;
  font-size: 1.3rem;
  letter-spacing: 0.08em;
  text-decoration: none;
}

.nav-back-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border);
  color: var(--color-text);
  text-decoration: none;
  font-size: 0.85rem;
  transition: background 0.15s ease;
}
.nav-back-btn:hover {
  background: var(--color-border-light);
  color: var(--color-text);
}

.nav-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: none;
  cursor: pointer;
  color: var(--color-text-muted);
  padding: 0;
  transition: color 0.15s ease;
}
.nav-icon-btn:hover {
  color: var(--color-text);
}

.nav-links {
  display: flex;
  gap: var(--space-3);
  flex-wrap: wrap;
}

.nav-link {
  color: var(--color-text-muted);
  text-decoration: none;
  font-weight: 500;
  font-size: 0.95rem;
  padding: 0.4rem 0.6rem;
  border-radius: var(--radius-sm);
  transition: color 0.2s ease, background-color 0.2s ease;
}
.nav-link.is-active, .nav-link:hover {
  color: var(--color-text);
  background-color: var(--color-surface-alt);
}

.help-link {
  border: none;
  background: none;
  cursor: pointer;
}

.help-link__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid var(--color-border);
  color: var(--color-text);
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1;
  background: var(--color-surface-alt);
}

.nav-avatar-wrapper {
  position: relative;
}

.nav-avatar-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--color-secondary), var(--color-primary));
  border: none;
  color: #fff;
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: opacity 0.15s ease, transform 0.15s ease;
}
.nav-avatar-btn:hover {
  opacity: 0.88;
  transform: scale(1.06);
}
.nav-avatar-btn:active {
  transform: scale(1);
}

.nav-dropdown__menu {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 210px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-strong);
  z-index: 300;
  overflow: hidden;
}
.nav-dropdown__menu.is-open {
  display: block;
}

.nav-dropdown__header {
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--color-border-light);
  background: var(--color-surface-alt);
}

.nav-dropdown__name {
  display: block;
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--color-text);
  line-height: 1.3;
}

.nav-dropdown__handle {
  display: block;
  font-size: 0.8rem;
  color: var(--color-text-muted);
  margin-top: 2px;
}

.nav-dropdown__items {
  padding: var(--space-2) 0;
}

.nav-dropdown__item {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  color: var(--color-text);
  text-decoration: none;
  font-size: 0.95rem;
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: background 0.15s ease;
}
.nav-dropdown__item i {
  width: 16px;
  font-size: 0.85rem;
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.nav-dropdown__item:hover {
  background: var(--color-surface-alt);
  color: var(--color-text);
}
.nav-dropdown__item.is-danger {
  color: var(--color-danger);
}
.nav-dropdown__item.is-danger i {
  color: var(--color-danger);
}
.nav-dropdown__item.is-danger:hover {
  background: rgba(184, 91, 86, 0.08);
}

.nav-dropdown__divider {
  height: 1px;
  background: var(--color-border-light);
  margin: var(--space-2) 0;
}

.admin-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
  margin-top: var(--space-5);
}

.data-table {
  width: 100%;
  border-collapse: collapse;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--color-border);
  background-color: var(--color-surface);
}

.data-table thead {
  background-color: rgba(255, 255, 255, 0.04);
}

.data-table th,
.data-table td {
  text-align: left;
  padding: var(--space-3);
  border-bottom: 1px solid var(--color-border);
}

.data-table th {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.data-table tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.02);
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--space-4);
}

.form-group {
  display: flex;
  flex-direction: column;
}

.pager {
  display: flex;
  justify-content: center;
  gap: var(--space-2);
  margin-top: var(--space-4);
}

.pager__link {
  padding: 0.45rem 0.9rem;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border-light);
  color: var(--color-text);
  text-decoration: none;
  font-size: 0.9rem;
}
.pager__link.is-active {
  background-color: var(--color-secondary);
  border-color: var(--color-secondary);
  color: white;
}

.auth-card {
  max-width: 440px;
  margin: var(--space-6) auto;
  padding: var(--space-5);
  background-color: var(--color-surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-soft);
}

.auth-title {
  margin-bottom: var(--space-4);
  text-align: center;
}

.flash-stack {
  position: fixed;
  top: var(--space-3);
  right: var(--space-3);
  max-width: 320px;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  z-index: 999;
}

.help-modal .modal__dialog {
  width: min(680px, 95vw);
}
.help-modal .modal__title {
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0;
}

.help-lead {
  font-size: 1rem;
  margin-bottom: var(--space-3);
  color: var(--color-text);
}

.help-steps {
  margin: 0 0 var(--space-4);
  padding-left: 1.2rem;
  display: grid;
  gap: var(--space-2);
  color: var(--color-text);
}
.help-steps li {
  line-height: 1.5;
}

.help-example {
  background: var(--color-surface-alt);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  padding: var(--space-3);
  display: grid;
  gap: var(--space-2);
}

.help-label {
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.help-caption {
  font-size: 0.9rem;
  color: var(--color-text-muted);
  margin: 0;
}

.help-wordle-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(36px, 48px));
  gap: var(--space-6);
  justify-content: start;
}

.help-bee-demo {
  display: flex;
  justify-content: center;
}

.help-bee-demo .bee-honeycomb {
  gap: var(--space-2);
}

.help-bee-demo .bee-row {
  gap: var(--space-2);
}

.help-bee-demo .bee-letter {
  width: 54px;
  height: 48px;
  font-size: 1rem;
  cursor: default;
  pointer-events: none;
  box-shadow: none;
  transition: none;
}

.help-bee-word {
  font-weight: 700;
  letter-spacing: 0.08em;
}

.help-highlight {
  color: var(--color-secondary);
}

.help-connections-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2);
}

.help-connections-row .connections-tile {
  pointer-events: none;
}

/* PWA-specific styles */
/* Hide browser UI elements when running as PWA */
@media (display-mode: standalone) {
  body {
    /* Ensure full screen experience */
    margin: 0;
    padding: 0;
    overflow-x: hidden;
  }
  /* Hide scrollbars on mobile */
  ::-webkit-scrollbar {
    display: none;
  }
  /* Prevent text selection on buttons */
  .btn, .btn-success, .btn-warning, .btn-danger, .btn-info, .btn-outline-primary,
  .btn-outline-secondary,
  .btn-outline-success,
  .btn-outline-danger,
  .btn-outline-warning,
  .btn-outline-info {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
  }
}
/* Offline indicator styles */
body.offline {
  position: relative;
}

body.offline::before {
  content: "Sin conexión";
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: #ff6b6b;
  color: white;
  text-align: center;
  padding: 4px;
  font-size: 12px;
  z-index: 9999;
}

/* PWA mode specific styles */
body.pwa-mode {
  /* Add any PWA-specific styling */
}

/* Better touch targets for mobile */
@media (max-width: 768px) {
  .btn, .btn-success, .btn-warning, .btn-danger, .btn-info, .btn-outline-primary,
  .btn-outline-secondary,
  .btn-outline-success,
  .btn-outline-danger,
  .btn-outline-warning,
  .btn-outline-info {
    min-height: 44px;
    min-width: 44px;
  }
  input, select, textarea {
    font-size: 16px; /* Prevents zoom on iOS */
  }
}
/* Safe area insets for notched devices */
@supports (padding: max(0px)) {
  body {
    padding-left: max(0px, env(safe-area-inset-left));
    padding-right: max(0px, env(safe-area-inset-right));
    padding-top: max(0px, env(safe-area-inset-top));
    padding-bottom: max(0px, env(safe-area-inset-bottom));
  }
}
.policy-page {
  padding: var(--space-6) 0 var(--space-7);
}

.policy-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}

.policy-header {
  padding: var(--space-5) var(--space-5) var(--space-4);
  border-bottom: 1px solid var(--color-border-light);
  background: linear-gradient(180deg, #fbf7f1 0%, #fff 100%);
}

.policy-title {
  font-family: var(--font-display);
  font-size: 2.1rem;
  margin: 0 0 var(--space-2);
}

.policy-meta {
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}

.policy-body {
  padding: var(--space-5);
}

.policy-content {
  font-size: 1.05rem;
  line-height: 1.75;
  color: var(--color-text);
}
.policy-content p {
  margin: 0 0 var(--space-3);
}
.policy-content h2 {
  font-family: var(--font-display);
  font-size: 1.4rem;
  margin: var(--space-5) 0 var(--space-2);
}
.policy-content h3 {
  font-family: var(--font-display);
  font-size: 1.15rem;
  margin: var(--space-4) 0 var(--space-2);
}
.policy-content ul {
  margin: 0 0 var(--space-3);
  padding-left: var(--space-5);
}
.policy-content li {
  margin-bottom: var(--space-2);
}
.policy-content strong {
  color: var(--color-text);
}

@media (max-width: 768px) {
  .policy-page {
    padding: var(--space-5) 0 var(--space-6);
  }
  .policy-header,
  .policy-body {
    padding: var(--space-4);
  }
  .policy-title {
    font-size: 1.75rem;
  }
}
.profile-page {
  min-height: 100vh;
  background: var(--color-bg);
  padding-bottom: calc(var(--space-7) + env(safe-area-inset-bottom));
}

.profile-hero {
  background: radial-gradient(circle at 20% 0%, rgba(79, 122, 104, 0.2), transparent 50%), radial-gradient(circle at 82% 10%, rgba(194, 160, 77, 0.18), transparent 42%), var(--color-surface);
  border-bottom: 1px solid var(--color-border);
  padding: var(--space-5) 0 var(--space-5);
}

.profile-native-topbar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: var(--space-2);
}

.native-settings-btn {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid var(--color-border);
  background: rgba(255, 255, 255, 0.7);
  color: var(--color-text-muted);
  display: grid;
  place-items: center;
  font-size: 0.92rem;
  text-decoration: none;
  box-shadow: 0 1px 4px rgba(58, 46, 33, 0.08);
  transition: color 0.15s ease, background 0.15s ease;
}
.native-settings-btn:hover {
  color: var(--color-text);
  background: var(--color-surface);
}

.profile-identity {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-1);
}

.profile-avatar {
  width: 88px;
  height: 88px;
  border-radius: 999px;
  background: linear-gradient(145deg, var(--color-secondary), var(--color-primary));
  color: #fff;
  font-family: var(--font-display);
  font-size: 1.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  display: grid;
  place-items: center;
  box-shadow: 0 6px 20px rgba(63, 107, 91, 0.28);
  margin-bottom: var(--space-2);
}

.profile-name {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 5vw, 2.1rem);
  font-weight: 700;
  line-height: 1.1;
  color: var(--color-text);
}

.profile-handle {
  margin: 0;
  font-size: 0.9rem;
  color: var(--color-text-muted);
  font-weight: 500;
}

.profile-row-card {
  display: flex;
  align-items: stretch;
  margin-top: var(--space-4);
  background: var(--color-surface);
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-border);
  overflow: hidden;
  box-shadow: 0 1px 6px rgba(58, 46, 33, 0.06);
}
.profile-row-card.profile-row-card--stats {
  margin-top: var(--space-2);
}

.profile-row-cell {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: var(--space-3) var(--space-4);
  text-decoration: none;
  color: inherit;
}
.profile-row-cell.is-link {
  transition: background 0.12s ease;
  cursor: pointer;
}
.profile-row-cell.is-link:hover {
  background: var(--color-surface-alt);
}

.profile-row-num {
  font-family: var(--font-display);
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1;
  color: var(--color-text);
}
.profile-row-num.is-xp {
  color: #7a5a14;
}

.profile-row-lbl {
  font-size: 0.67rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--color-text-muted);
}

.profile-row-sep {
  width: 1px;
  background: var(--color-border-light);
  align-self: stretch;
  flex-shrink: 0;
}

.profile-action {
  margin-top: var(--space-4);
}

.profile-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.8rem 1.5rem;
  border-radius: 999px;
  font-size: 0.95rem;
  font-weight: 700;
  text-decoration: none;
  border: none;
  cursor: pointer;
  background: var(--color-primary);
  color: #fff;
  transition: background 0.15s ease, transform 0.12s ease;
}
.profile-btn:hover {
  background: var(--color-primary-strong);
  transform: translateY(-1px);
}
.profile-btn:active {
  transform: translateY(0);
}

.profile-btn--following {
  background: rgba(184, 91, 86, 0.1);
  color: var(--color-danger);
}
.profile-btn--following:hover {
  background: rgba(184, 91, 86, 0.18);
  color: var(--color-danger);
}

.profile-section-label {
  margin: var(--space-5) 0 var(--space-3);
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--color-text-muted);
}

.profile-games {
  display: grid;
  gap: var(--space-3);
  padding-bottom: var(--space-4);
}

.profile-game-card {
  background: var(--color-surface);
  border-radius: 18px;
  border: 1px solid var(--color-border);
  padding: var(--space-4);
  box-shadow: 0 2px 8px rgba(58, 46, 33, 0.05);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.profile-game-card__header {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.profile-game-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  font-size: 1.6rem;
  flex-shrink: 0;
  background: rgba(63, 107, 91, 0.12);
  border: 1px solid rgba(63, 107, 91, 0.22);
}

.profile-game-card[data-game=wordle] .profile-game-icon {
  background: rgba(63, 107, 91, 0.14);
  border-color: rgba(63, 107, 91, 0.26);
}

.profile-game-card[data-game=spelling_bee] .profile-game-icon {
  background: rgba(194, 160, 77, 0.18);
  border-color: rgba(194, 160, 77, 0.32);
}

.profile-game-card[data-game=connections] .profile-game-icon {
  background: rgba(71, 102, 133, 0.16);
  border-color: rgba(71, 102, 133, 0.28);
}

.profile-game-card[data-game=sudoku] .profile-game-icon {
  background: rgba(140, 110, 74, 0.15);
  border-color: rgba(140, 110, 74, 0.27);
}

.profile-game-meta {
  min-width: 0;
}

.profile-game-title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.2;
}

.profile-game-sub {
  margin: 0.2rem 0 0;
  font-size: 0.8rem;
  color: var(--color-text-muted);
  line-height: 1.3;
}

.profile-game-stats {
  display: flex;
  align-items: center;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-border-light);
}

.profile-game-stat {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
}

.profile-game-stat__val {
  font-family: var(--font-display);
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1;
  color: var(--color-text);
}

.profile-game-stat__unit {
  font-size: 0.95rem;
  color: var(--color-text-muted);
  margin-left: 1px;
}

.profile-game-stat__lbl {
  font-size: 0.65rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--color-text-muted);
}

.profile-game-stat__sep {
  width: 1px;
  height: 38px;
  background: var(--color-border-light);
  flex-shrink: 0;
}

.profile-game-empty {
  font-size: 0.85rem;
  color: var(--color-text-muted);
  margin: 0;
  padding: var(--space-2) 0 var(--space-1);
  text-align: center;
  font-style: italic;
}

.profile-seg-control {
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: var(--space-4) 0 0;
}
.profile-seg-control .seg-control__option {
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--font-base);
}

.history-feed {
  padding-bottom: var(--space-4);
}

.history-day-label {
  margin: var(--space-4) 0 var(--space-2);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--color-text-muted);
}
.history-day-label:first-child {
  margin-top: var(--space-3);
}

.history-day-date {
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--color-text-muted);
  opacity: 0.7;
}

.history-day-group {
  background: var(--color-surface);
  border-radius: 18px;
  border: 1px solid var(--color-border);
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(58, 46, 33, 0.05);
}

.history-row {
  display: grid;
  grid-template-columns: 48px 1fr auto;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--color-border-light);
}
.history-row:last-child {
  border-bottom: none;
}

.history-icon {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-size: 1.45rem;
  flex-shrink: 0;
  background: rgba(63, 107, 91, 0.12);
  border: 1px solid rgba(63, 107, 91, 0.22);
}
.history-icon[data-game=wordle] {
  background: rgba(63, 107, 91, 0.14);
  border-color: rgba(63, 107, 91, 0.26);
}
.history-icon[data-game=spelling_bee] {
  background: rgba(194, 160, 77, 0.18);
  border-color: rgba(194, 160, 77, 0.32);
}
.history-icon[data-game=connections] {
  background: rgba(71, 102, 133, 0.16);
  border-color: rgba(71, 102, 133, 0.28);
}
.history-icon[data-game=sudoku] {
  background: rgba(140, 110, 74, 0.15);
  border-color: rgba(140, 110, 74, 0.27);
}

.history-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.history-game-name {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--color-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.history-stat-line {
  font-size: 0.8rem;
  color: var(--color-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.history-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
  flex-shrink: 0;
}

.history-xp {
  font-size: 0.92rem;
  font-weight: 700;
  color: #7a5a14;
  white-space: nowrap;
}

.history-result {
  font-size: 0.74rem;
  font-weight: 600;
  white-space: nowrap;
}
.history-result.is-won {
  color: var(--color-primary);
}
.history-result.is-perfect {
  color: var(--color-warning);
}
.history-result.is-lost {
  color: var(--color-text-muted);
}

.history-empty {
  text-align: center;
  padding: var(--space-7) var(--space-4);
}

.history-empty__icon {
  font-size: 3rem;
  margin-bottom: var(--space-3);
  line-height: 1;
}

.history-empty__title {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--color-text);
  margin: 0 0 var(--space-2);
}

.history-empty__sub {
  font-size: 0.88rem;
  color: var(--color-text-muted);
  margin: 0;
}

@media (prefers-reduced-motion: no-preference) {
  .profile-avatar {
    animation: profile-rise 0.5s cubic-bezier(0.22, 0.61, 0.36, 1) both;
  }
  .profile-row-card:nth-of-type(1) {
    animation: profile-rise 0.48s cubic-bezier(0.22, 0.61, 0.36, 1) 0.05s both;
  }
  .profile-row-card:nth-of-type(2) {
    animation: profile-rise 0.48s cubic-bezier(0.22, 0.61, 0.36, 1) 0.09s both;
  }
  .profile-action {
    animation: profile-rise 0.48s cubic-bezier(0.22, 0.61, 0.36, 1) 0.13s both;
  }
  .profile-game-card:nth-child(1) {
    animation: profile-rise 0.45s cubic-bezier(0.22, 0.61, 0.36, 1) 0.16s both;
  }
  .profile-game-card:nth-child(2) {
    animation: profile-rise 0.45s cubic-bezier(0.22, 0.61, 0.36, 1) 0.23s both;
  }
  .profile-game-card:nth-child(3) {
    animation: profile-rise 0.45s cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s both;
  }
  .profile-game-card:nth-child(4) {
    animation: profile-rise 0.45s cubic-bezier(0.22, 0.61, 0.36, 1) 0.37s both;
  }
}
@keyframes profile-rise {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.profile-page .app-container, .profile-page .container {
  max-width: 680px;
}

@media (min-width: 560px) {
  .profile-btn {
    width: auto;
    min-width: 220px;
  }
  .profile-action {
    display: flex;
    justify-content: center;
  }
}
@media (min-width: 640px) {
  .profile-seg-control {
    width: 100%;
    max-width: none;
    min-width: 0;
  }
}
@media (min-width: 720px) {
  .profile-games {
    grid-template-columns: repeat(2, 1fr);
  }
  .profile-avatar {
    width: 100px;
    height: 100px;
    font-size: 1.85rem;
  }
}
.friends-page {
  position: relative;
  background: radial-gradient(circle at 15% 10%, rgba(63, 107, 91, 0.2), transparent 45%), radial-gradient(circle at 85% 15%, rgba(111, 138, 165, 0.18), transparent 35%), var(--color-bg);
  min-height: calc(100vh - 70px);
}

.friends-hero {
  padding: var(--space-6) 0 var(--space-7);
}

.friends-intro {
  text-align: center;
  margin-bottom: var(--space-5);
}

.friends-badge {
  display: inline-block;
  margin-bottom: var(--space-2);
  padding: 0.25rem 0.75rem;
  border: 1px solid rgba(63, 107, 91, 0.25);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  font-weight: 700;
}

.friends-title {
  margin: 0;
  font-size: 2rem;
}

.friends-subtitle {
  margin: var(--space-2) auto 0;
  max-width: 640px;
  color: var(--color-text-muted);
}

.friends-panel,
.friends-list-wrapper {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
  padding: var(--space-4);
}

.friends-list-wrapper {
  margin-top: var(--space-4);
}

.friends-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  flex-wrap: wrap;
}

.friends-link-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0.45rem 0.8rem;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  text-decoration: none;
  font-weight: 600;
  color: var(--color-text);
  background: #fff;
}

.friends-link-btn.is-primary {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
}

.friends-form {
  margin-top: var(--space-3);
}

.friends-label {
  display: block;
  font-weight: 600;
}

.friends-form-row {
  display: flex;
  gap: var(--space-2);
  margin-top: var(--space-2);
}
@media (max-width: 640px) {
  .friends-form-row {
    flex-direction: column;
  }
}

.friends-input {
  flex: 1;
  min-height: 44px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 0.65rem 0.8rem;
  font-size: 1rem;
}

.friends-submit {
  min-height: 44px;
  border: 0;
  border-radius: var(--radius-md);
  background: var(--color-primary);
  color: #fff;
  font-weight: 700;
  padding: 0.65rem 1rem;
  cursor: pointer;
}

.friends-list {
  display: grid;
  gap: var(--space-3);
  margin-top: var(--space-3);
}

.friends-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--space-3);
  align-items: center;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  padding: var(--space-3);
  background: #fff;
}
@media (max-width: 720px) {
  .friends-card {
    grid-template-columns: 1fr;
    align-items: start;
  }
}

.friends-card-profile {
  text-decoration: none;
  color: inherit;
}

.friends-name {
  margin: 0;
  font-weight: 700;
}

.friends-username {
  margin: 0.1rem 0 0;
  color: var(--color-text-muted);
}

.friends-email {
  margin: 0.2rem 0 0;
  font-size: 0.84rem;
  color: var(--color-text-muted);
}

.friends-stats {
  display: flex;
  gap: var(--space-3);
  color: var(--color-text-muted);
}
@media (max-width: 720px) {
  .friends-stats {
    gap: var(--space-2);
  }
}

.friends-remove {
  border: 0;
  border-radius: var(--radius-md);
  background: #f8ebe9;
  color: var(--color-danger);
  font-weight: 700;
  padding: 0.55rem 0.8rem;
  cursor: pointer;
}

.friends-empty {
  margin-top: var(--space-3);
  border: 1px dashed var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-4);
  background: rgba(255, 255, 255, 0.8);
}

.friends-empty-title {
  margin: 0;
  font-weight: 700;
}

.friends-empty-copy {
  margin: var(--space-2) 0 0;
  color: var(--color-text-muted);
}

.standings-page {
  min-height: 100vh;
  background: var(--color-bg);
  padding-bottom: calc(var(--space-7) + env(safe-area-inset-bottom));
}

.standings-hero {
  background: radial-gradient(circle at 15% 0%, rgba(194, 160, 77, 0.18), transparent 55%), radial-gradient(circle at 85% 10%, rgba(63, 107, 91, 0.14), transparent 50%), var(--color-surface);
  border-bottom: 1px solid var(--color-border);
  padding: var(--space-5) 0 var(--space-4);
}

.standings-hero__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
}

.standings-title {
  margin: 0 0 var(--space-1);
  font-family: var(--font-display);
  font-size: clamp(2rem, 6vw, 2.6rem);
  font-weight: 700;
  line-height: 1.1;
  color: var(--color-text);
}

.standings-week-label {
  margin: 0;
  font-size: 0.75rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--color-text-muted);
}

.standings-my-position {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
  flex-shrink: 0;
}

.standings-my-position__rank {
  font-family: var(--font-display);
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--color-text);
  line-height: 1;
}

.standings-my-position__xp {
  font-size: 0.77rem;
  font-weight: 700;
  color: #7a5a14;
  background: rgba(194, 160, 77, 0.18);
  border: 1.5px solid rgba(194, 160, 77, 0.4);
  border-radius: 999px;
  padding: 0.18rem 0.6rem;
  white-space: nowrap;
}

.standings-my-position--empty .standings-my-position__rank {
  color: var(--color-text-muted);
  font-size: 1.4rem;
}

.standings-my-position--empty .standings-my-position__xp {
  color: var(--color-text-muted);
  background: var(--color-surface-alt);
  border-color: var(--color-border);
}

.standings-filters {
  background: rgba(247, 243, 238, 0.88);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  padding: var(--space-3) 0;
  position: sticky;
  top: 58px;
  z-index: 50;
}

.seg-control {
  display: flex;
  width: 100%;
  background: rgba(58, 46, 33, 0.09);
  border-radius: 999px;
  padding: 3px;
  gap: 2px;
  margin-bottom: var(--space-2);
}

.seg-control__option {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35em;
  padding: 0.48rem 1rem;
  border-radius: 999px;
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none;
  text-align: center;
  color: var(--color-text-muted);
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
.seg-control__option.is-active {
  background: var(--color-surface);
  color: var(--color-text);
  box-shadow: 0 1px 4px rgba(58, 46, 33, 0.14), 0 0 0 0.5px rgba(58, 46, 33, 0.06);
}

.seg-control__icon {
  font-size: 0.95em;
}

.filter-row {
  display: flex;
  gap: var(--space-2);
}
.filter-row.filter-row--scroll {
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: 1px;
}
.filter-row.filter-row--scroll::-webkit-scrollbar {
  display: none;
}

.filter-tab {
  display: inline-flex;
  align-items: center;
  gap: 0.35em;
  padding: 0.42rem 1rem;
  border-radius: 999px;
  font-size: 0.87rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  border: 1.5px solid transparent;
  color: var(--color-text-muted);
  background: transparent;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  flex-shrink: 0;
  cursor: pointer;
}
.filter-tab:hover {
  background: var(--color-surface-alt);
  color: var(--color-text);
}
.filter-tab.is-active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
}

.filter-tab__icon {
  font-size: 0.95em;
}

.standings-podium {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-6) var(--space-4) 0;
  max-width: 420px;
  margin: 0 auto;
}

.podium-slot {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  max-width: 130px;
  min-width: 90px;
}
.podium-slot.is-first {
  order: 2;
}
.podium-slot.is-second {
  order: 1;
}
.podium-slot.is-third {
  order: 3;
}

.podium-crown {
  font-size: 1.3rem;
  margin-bottom: 4px;
  animation: crown-float 2.4s ease-in-out infinite;
}

@keyframes crown-float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}
.podium-avatar {
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.04em;
  margin-bottom: var(--space-2);
  background: linear-gradient(135deg, var(--color-secondary), var(--color-primary));
  border: 2px solid transparent;
  transition: box-shadow 0.15s ease;
}
.podium-avatar.is-me {
  outline: 3px solid var(--color-primary);
  outline-offset: 3px;
}

.podium-slot.is-first .podium-avatar {
  width: 62px;
  height: 62px;
  font-size: 1.05rem;
}

.podium-slot.is-second .podium-avatar {
  width: 50px;
  height: 50px;
  font-size: 0.87rem;
}

.podium-slot.is-third .podium-avatar {
  width: 44px;
  height: 44px;
  font-size: 0.78rem;
}

.podium-slot.is-first .podium-avatar {
  background: linear-gradient(135deg, #f5d86b, #c2a04d);
  color: #3a2a14;
}

.podium-slot.is-second .podium-avatar {
  background: linear-gradient(135deg, #d4dde4, #9eaab6);
  color: #3a3f45;
}

.podium-slot.is-third .podium-avatar {
  background: linear-gradient(135deg, #e8c09b, #c97a3f);
  color: #3a2a14;
}

.podium-name {
  margin: 0 0 2px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--color-text);
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.podium-xp {
  margin: 0 0 var(--space-2);
  font-size: 0.68rem;
  color: var(--color-text-muted);
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
}

.podium-bar {
  width: 100%;
  border-radius: 8px 8px 0 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: var(--space-2);
}

.podium-slot.is-first .podium-bar {
  height: 90px;
  background: linear-gradient(180deg, rgba(194, 160, 77, 0.28), rgba(194, 160, 77, 0.08));
  border: 1px solid rgba(194, 160, 77, 0.38);
  border-bottom: none;
}

.podium-slot.is-second .podium-bar {
  height: 64px;
  background: linear-gradient(180deg, rgba(158, 170, 182, 0.22), rgba(158, 170, 182, 0.06));
  border: 1px solid rgba(158, 170, 182, 0.32);
  border-bottom: none;
}

.podium-slot.is-third .podium-bar {
  height: 46px;
  background: linear-gradient(180deg, rgba(201, 122, 63, 0.18), rgba(201, 122, 63, 0.04));
  border: 1px solid rgba(201, 122, 63, 0.28);
  border-bottom: none;
}

.podium-medal {
  font-size: 1.15rem;
}

.standings-list {
  margin-top: var(--space-4);
  background: var(--color-surface);
  border-radius: 20px;
  border: 1px solid var(--color-border);
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(58, 46, 33, 0.06);
}

.standings-row {
  display: grid;
  grid-template-columns: 46px 40px 1fr auto;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--color-border-light);
  transition: background 0.12s ease;
}
.standings-row:last-child {
  border-bottom: none;
}
.standings-row:hover {
  background: var(--color-surface-alt);
}
.standings-row.is-me {
  background: rgba(63, 107, 91, 0.05);
  border-left: 3px solid var(--color-primary);
  padding-left: calc(var(--space-4) - 3px);
}
.standings-row.is-me:hover {
  background: rgba(63, 107, 91, 0.08);
}

.standings-rank-col {
  display: flex;
  align-items: center;
  justify-content: center;
}

.standings-medal {
  font-size: 1.3rem;
  line-height: 1;
}

.standings-rank-num {
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-text-muted);
}

.standings-avatar {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--color-secondary), var(--color-primary));
  color: #fff;
  font-weight: 700;
  font-size: 0.7rem;
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.standings-avatar.rank-1 {
  background: linear-gradient(135deg, #f5d86b, #c2a04d);
  color: #3a2a14;
}
.standings-avatar.rank-2 {
  background: linear-gradient(135deg, #d4dde4, #9eaab6);
  color: #3a3f45;
}
.standings-avatar.rank-3 {
  background: linear-gradient(135deg, #e8c09b, #c97a3f);
  color: #3a2a14;
}

.standings-info {
  min-width: 0;
}

.standings-player-name {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--color-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.standings-you-tag {
  display: inline-flex;
  align-items: center;
  padding: 1px 7px;
  border-radius: 999px;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(63, 107, 91, 0.14);
  color: var(--color-primary);
  border: 1px solid rgba(63, 107, 91, 0.28);
  flex-shrink: 0;
}

.standings-player-handle {
  display: block;
  font-size: 0.76rem;
  color: var(--color-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.standings-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  flex-shrink: 0;
}

.standings-xp-val {
  font-size: 0.9rem;
  font-weight: 700;
  color: #7a5a14;
  white-space: nowrap;
}

.standings-sessions-val {
  font-size: 0.72rem;
  color: var(--color-text-muted);
  font-weight: 500;
  white-space: nowrap;
}

.standings-empty {
  text-align: center;
  padding: var(--space-7) var(--space-4);
}

.standings-empty__icon {
  font-size: 3.5rem;
  margin-bottom: var(--space-3);
  line-height: 1;
}

.standings-empty__title {
  font-family: var(--font-display);
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--color-text);
  margin: 0 0 var(--space-2);
}

.standings-empty__sub {
  font-size: 0.93rem;
  color: var(--color-text-muted);
  margin: 0;
}

@media (prefers-reduced-motion: no-preference) {
  .standings-podium .podium-slot {
    animation: standings-rise 0.5s cubic-bezier(0.22, 0.61, 0.36, 1) both;
  }
  .podium-slot.is-second {
    animation-delay: 0.06s;
  }
  .podium-slot.is-first {
    animation-delay: 0.13s;
  }
  .podium-slot.is-third {
    animation-delay: 0.19s;
  }
  .standings-row {
    animation: standings-rise 0.35s cubic-bezier(0.22, 0.61, 0.36, 1) both;
  }
  .standings-row:nth-child(1) {
    animation-delay: 0.04s;
  }
  .standings-row:nth-child(2) {
    animation-delay: 0.08s;
  }
  .standings-row:nth-child(3) {
    animation-delay: 0.12s;
  }
  .standings-row:nth-child(4) {
    animation-delay: 0.16s;
  }
  .standings-row:nth-child(5) {
    animation-delay: 0.2s;
  }
  .standings-row:nth-child(6) {
    animation-delay: 0.24s;
  }
  .standings-row:nth-child(7) {
    animation-delay: 0.28s;
  }
  .standings-row:nth-child(8) {
    animation-delay: 0.32s;
  }
  .standings-row:nth-child(9) {
    animation-delay: 0.36s;
  }
  .standings-row:nth-child(10) {
    animation-delay: 0.4s;
  }
  .standings-row:nth-child(11) {
    animation-delay: 0.44s;
  }
  .standings-row:nth-child(12) {
    animation-delay: 0.48s;
  }
  .standings-row:nth-child(13) {
    animation-delay: 0.52s;
  }
  .standings-row:nth-child(14) {
    animation-delay: 0.56s;
  }
  .standings-row:nth-child(15) {
    animation-delay: 0.6s;
  }
  .standings-row:nth-child(16) {
    animation-delay: 0.64s;
  }
  .standings-row:nth-child(17) {
    animation-delay: 0.68s;
  }
  .standings-row:nth-child(18) {
    animation-delay: 0.72s;
  }
  .standings-row:nth-child(19) {
    animation-delay: 0.76s;
  }
  .standings-row:nth-child(20) {
    animation-delay: 0.8s;
  }
}
@keyframes standings-rise {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (min-width: 640px) {
  .seg-control {
    width: auto;
    min-width: 280px;
    max-width: 360px;
  }
  .standings-list {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
  }
  .standings-podium {
    gap: var(--space-4);
  }
  .podium-slot.is-first .podium-avatar {
    width: 72px;
    height: 72px;
    font-size: 1.15rem;
  }
  .podium-slot.is-second .podium-avatar {
    width: 58px;
    height: 58px;
    font-size: 0.95rem;
  }
  .podium-slot.is-third .podium-avatar {
    width: 52px;
    height: 52px;
    font-size: 0.88rem;
  }
  .podium-slot.is-first .podium-bar {
    height: 100px;
  }
  .podium-slot.is-second .podium-bar {
    height: 74px;
  }
  .podium-slot.is-third .podium-bar {
    height: 54px;
  }
}
@media (min-width: 900px) {
  .standings-filters {
    top: 66px;
  }
  .standings-row {
    grid-template-columns: 52px 44px 1fr auto;
    gap: var(--space-4);
    padding: var(--space-3) var(--space-5);
  }
  .standings-row.is-me {
    padding-left: calc(var(--space-5) - 3px);
  }
  .standings-avatar {
    width: 42px;
    height: 42px;
    font-size: 0.75rem;
  }
  .standings-player-name {
    font-size: 0.97rem;
  }
}

/*# sourceMappingURL=data:application/json;base64,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YXBwbGljYXRpb24uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuOnJvb3Qge1xuICAtLWNvbG9yLWJnOiAjZjdmM2VlO1xuICAtLWNvbG9yLXN1cmZhY2U6ICNmZmZmZmY7XG4gIC0tY29sb3Itc3VyZmFjZS1hbHQ6ICNmMmVjZTQ7XG4gIC0tY29sb3ItYm9yZGVyOiAjZTJkOWNmO1xuICAtLWNvbG9yLWJvcmRlci1saWdodDogI2VmZTdkZTtcbiAgLS1jb2xvci10ZXh0OiAjMmIyNDFkO1xuICAtLWNvbG9yLXRleHQtbXV0ZWQ6ICM3ZTczNjY7XG4gIC0tY29sb3ItcHJpbWFyeTogIzNmNmI1YjtcbiAgLS1jb2xvci1wcmltYXJ5LXN0cm9uZzogIzMyNTY0ODtcbiAgLS1jb2xvci1zZWNvbmRhcnk6ICM5YjdiNTY7XG4gIC0tY29sb3Itc3VjY2VzczogIzRmN2E2ODtcbiAgLS1jb2xvci1kYW5nZXI6ICNiODViNTY7XG4gIC0tY29sb3Itd2FybmluZzogI2MyYTA0ZDtcbiAgLS1jb2xvci1pbmZvOiAjNmY4YWE1O1xuICAtLWNvbG9yLW92ZXJsYXk6IHJnYmEoNDAsIDMyLCAyNCwgMC40KTtcbiAgLS1jb2xvci1jb3JyZWN0OiAjNGY3YTY4O1xuICAtLWNvbG9yLWNvcnJlY3QtdGV4dDogI2Y3ZjNlZTtcbiAgLS1jb2xvci1wcmVzZW50OiAjYzJhMDRkO1xuICAtLWNvbG9yLXByZXNlbnQtdGV4dDogIzNhMmExNDtcbiAgLS1jb2xvci1hYnNlbnQ6ICNkMWM4YmQ7XG4gIC0tY29sb3ItYWJzZW50LXRleHQ6ICM2OTVmNTU7XG4gIC0tY29sb3ItYWJzZW50LWJvcmRlcjogI2M0YmJhZjtcbiAgLS1jb2xvci1rZXk6ICNlOGUxZDg7XG4gIC0tY29sb3Ita2V5LWhvdmVyOiAjZGVkNmNjO1xuICAtLXNwYWNlLTE6IDAuMjVyZW07XG4gIC0tc3BhY2UtMjogMC41cmVtO1xuICAtLXNwYWNlLTM6IDAuNzVyZW07XG4gIC0tc3BhY2UtNDogMXJlbTtcbiAgLS1zcGFjZS01OiAxLjVyZW07XG4gIC0tc3BhY2UtNjogMnJlbTtcbiAgLS1zcGFjZS03OiAzcmVtO1xuICAtLXJhZGl1cy14czogNHB4O1xuICAtLXJhZGl1cy1zbTogNnB4O1xuICAtLXJhZGl1cy1tZDogMTBweDtcbiAgLS1yYWRpdXMtbGc6IDE2cHg7XG4gIC0tc2hhZG93LXNvZnQ6IDAgMTBweCAzMHB4IHJnYmEoNTgsIDQ2LCAzMywgMC4wOCk7XG4gIC0tc2hhZG93LXN0cm9uZzogMCAxOHB4IDUwcHggcmdiYSg1OCwgNDYsIDMzLCAwLjE2KTtcbiAgLS1mb250LWJhc2U6IFwiU291cmNlIFNhbnMgM1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAtLWZvbnQtZGlzcGxheTogXCJGcmF1bmNlc1wiLCBcIkdlb3JnaWFcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2VyaWY7XG4gIC0tZm9udC1zaXplLWJhc2U6IDE2cHg7XG4gIC0tZm9udC1zaXplLXNtOiAwLjlyZW07XG4gIC0tZm9udC1zaXplLWxnOiAxLjE1cmVtO1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnKTtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1iYXNlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmcpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbmJvZHkudHVyYm8tbmF0aXZlLWJvZHkge1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyg3MnB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG4uaGVhZGluZy1sZyxcbi5oZWFkaW5nLW1kLFxuLmhlYWRpbmctc20ge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbn1cblxuYm9keS5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuYSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbn1cbmE6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxuLmFwcC1jb250YWluZXIsIC5jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLTQpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5hcHAtY29udGFpbmVyLCAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLTMpO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLmFwcC1jb250YWluZXIsIC5jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UtMik7XG4gIH1cbn1cblxuLnBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNSk7XG59XG5cbi5wYW5lbC1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLnBhbmVsLWJvZHkge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5yZXN1bHQtcGFnZSB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtaW4taGVpZ2h0OiAxMDBkdmg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5yZXN1bHQtcGFnZS0td29yZGxlIHtcbiAgLS1yZXN1bHQtYWNjZW50OiAjZjVkODc4O1xuICAtLXJlc3VsdC1jYXJkLWJnOiByZ2JhKDIzOCwgMjU1LCAyNDgsIDAuMTIpO1xuICAtLXJlc3VsdC1jYXJkLWJvcmRlcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTY1ZGVnLCAjM2Y2ZTVhIDAlLCAjMjM0NjNhIDU0JSwgIzEyMmIyNiAxMDAlKTtcbn1cblxuLnJlc3VsdC1wYWdlLS1iZWUge1xuICAtLXJlc3VsdC1hY2NlbnQ6ICNmZmQyN2E7XG4gIC0tcmVzdWx0LWNhcmQtYmc6IHJnYmEoMjU1LCAyNDAsIDIxOCwgMC4xMik7XG4gIC0tcmVzdWx0LWNhcmQtYm9yZGVyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjIpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTY1ZGVnLCAjYjk3ZjJiIDAlLCAjN2Y0NzE5IDU0JSwgIzUwMmEwYyAxMDAlKTtcbn1cblxuLnJlc3VsdC1wYWdlLS1jb25uZWN0aW9ucyB7XG4gIC0tcmVzdWx0LWFjY2VudDogIzliYjFmZjtcbiAgLS1yZXN1bHQtY2FyZC1iZzogcmdiYSgyMjcsIDIzMiwgMjU1LCAwLjEzKTtcbiAgLS1yZXN1bHQtY2FyZC1ib3JkZXI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2NWRlZywgIzRmNjFiMiAwJSwgIzNiMzU2ZiA1NCUsICMyMzFkNDkgMTAwJSk7XG59XG5cbi5yZXN1bHQtcGFnZS0tc3Vkb2t1IHtcbiAgLS1yZXN1bHQtYWNjZW50OiAjOGZlM2VhO1xuICAtLXJlc3VsdC1jYXJkLWJnOiByZ2JhKDIyMCwgMjUyLCAyNTUsIDAuMTIpO1xuICAtLXJlc3VsdC1jYXJkLWJvcmRlcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTY1ZGVnLCAjMWM3NjdiIDAlLCAjMTAzOTUyIDU0JSwgIzA2MWEyYyAxMDAlKTtcbn1cblxuLnJlc3VsdC1wYWdlOjpiZWZvcmUsXG4ucmVzdWx0LXBhZ2U6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDA7XG59XG5cbi5yZXN1bHQtcGFnZTo6YmVmb3JlIHtcbiAgd2lkdGg6IGNsYW1wKDI4MHB4LCA1OHZ3LCA0MjBweCk7XG4gIGhlaWdodDogY2xhbXAoMjgwcHgsIDU4dncsIDQyMHB4KTtcbiAgdG9wOiBjbGFtcCgtMTUwcHgsIC0xNnZ3LCAtNzBweCk7XG4gIGxlZnQ6IGNsYW1wKC0xOTBweCwgLTIydncsIC05MHB4KTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjExKTtcbn1cblxuLnJlc3VsdC1wYWdlOjphZnRlciB7XG4gIHdpZHRoOiBjbGFtcCgyMDBweCwgNDB2dywgMzIwcHgpO1xuICBoZWlnaHQ6IGNsYW1wKDIwMHB4LCA0MHZ3LCAzMjBweCk7XG4gIHJpZ2h0OiBjbGFtcCgtOTBweCwgLTEydncsIC0zNnB4KTtcbiAgYm90dG9tOiBjbGFtcCgyNHB4LCA1dncsIDc0cHgpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpO1xufVxuXG4ucmVzdWx0LXNoZWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIG1pbm1heCg3MnB4LCAxZnIpIGF1dG8gYXV0byBhdXRvO1xuICBnYXA6IGNsYW1wKDhweCwgMS41dmgsIDE2cHgpO1xuICBwYWRkaW5nOiBjYWxjKGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwKSArIDEwcHgpIGNsYW1wKDE0cHgsIDR2dywgMjRweCkgY2FsYyhlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMCkgKyAxMnB4KTtcbn1cblxuLnJlc3VsdC10b3BiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5yZXN1bHQtZGF0ZSB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC44NnJlbSwgMy4ydncsIDFyZW0pO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg2KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbn1cblxuLnJlc3VsdC1jbG9zZSB7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjYpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk0KTtcbiAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7XG59XG4ucmVzdWx0LWNsb3NlOmhvdmVyLCAucmVzdWx0LWNsb3NlOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cblxuLnJlc3VsdC1oZWFkZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5yZXN1bHQtc3RhdHVzLWJhZGdlIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gIHBhZGRpbmc6IDAuMzJyZW0gMC43MnJlbTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNyk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMyk7XG4gIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbn1cblxuLnJlc3VsdC10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMnJlbSwgOC42dncsIDMuMzVyZW0pO1xuICBsaW5lLWhlaWdodDogMC45ODtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIHRleHQtd3JhcDogYmFsYW5jZTtcbn1cblxuLnJlc3VsdC1zdWJ0aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjcycmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY2KTtcbn1cblxuLnJlc3VsdC12aXN1YWwge1xuICBtaW4taGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnJlc3VsdC13b3JkbGUtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogNXB4O1xufVxuXG4ucmVzdWx0LXdvcmRsZS1yb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdhcDogNXB4O1xufVxuXG4ucmVzdWx0LXdvcmRsZS10aWxlIHtcbiAgd2lkdGg6IGNsYW1wKDI1cHgsIDYuMnZ3LCAzNHB4KTtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNyk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG59XG4ucmVzdWx0LXdvcmRsZS10aWxlLmlzLWNvcnJlY3Qge1xuICBiYWNrZ3JvdW5kOiAjNWE4Zjc0O1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSk7XG59XG4ucmVzdWx0LXdvcmRsZS10aWxlLmlzLXByZXNlbnQge1xuICBiYWNrZ3JvdW5kOiAjYjk5MjNhO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zMik7XG59XG4ucmVzdWx0LXdvcmRsZS10aWxlLmlzLWFic2VudCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cbi5yZXN1bHQtd29yZGxlLXRpbGUuaXMtZW1wdHkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cblxuLnJlc3VsdC1iZWUtdmlzdWFsIHtcbiAgd2lkdGg6IG1pbigzMjBweCwgODZ2dyk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbn1cblxuLnJlc3VsdC1iZWUtaWNvbiB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMi40cmVtLCA4dncsIDMuMzVyZW0pO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLnJlc3VsdC1iZWUtcmFuayB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IGNsYW1wKDFyZW0sIDQuMXZ3LCAxLjM1cmVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuMDY7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTIpO1xufVxuXG4ucmVzdWx0LWJlZS1iYXItdHJhY2sge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMnB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnJlc3VsdC1iZWUtYmFyLWZpbGwge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzgpO1xufVxuXG4ucmVzdWx0LWJlZS1wcm9ncmVzcy1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC43NHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc2KTtcbn1cblxuLnJlc3VsdC1jb25uZWN0aW9ucy12aXN1YWwge1xuICB3aWR0aDogbWluKDM0MHB4LCA4OHZ3KTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAganVzdGlmeS1pdGVtczogY2VudGVyO1xufVxuXG4ucmVzdWx0LWNvbm5lY3Rpb25zLWNvdW50IHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMS41cmVtLCA2dncsIDIuMTVyZW0pO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5yZXN1bHQtY29ubmVjdGlvbnMtbGFiZWwge1xuICBmb250LXNpemU6IDAuNzJyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjE2ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjgpO1xufVxuXG4ucmVzdWx0LWNvbm4tZ3JvdXBzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLnJlc3VsdC1jb25uLWdyb3VwIHtcbiAgbWluLWhlaWdodDogNTRweDtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM2KTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjY2cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnJlc3VsdC1jb25uLWdyb3VwLmlzLXVuc29sdmVkIHtcbiAgb3BhY2l0eTogMC4zNTtcbn1cbi5yZXN1bHQtY29ubi1ncm91cC5jYXQtMSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjQ1LCAyMTQsIDEwMCwgMC4zMyk7XG59XG4ucmVzdWx0LWNvbm4tZ3JvdXAuY2F0LTIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEwMCwgMTg1LCAxMjUsIDAuMzMpO1xufVxuLnJlc3VsdC1jb25uLWdyb3VwLmNhdC0zIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxMTAsIDE1NSwgMjIwLCAwLjMzKTtcbn1cbi5yZXN1bHQtY29ubi1ncm91cC5jYXQtNCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTk1LCAxMDAsIDExMCwgMC4zMyk7XG59XG5cbi5yZXN1bHQtc3Vkb2t1LWdyaWQge1xuICB3aWR0aDogbWluKDIyNHB4LCA1OHZ3KTtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg5LCAxZnIpO1xuICBnYXA6IDJweDtcbn1cblxuLnJlc3VsdC1zdWRva3UtY2VsbCB7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xufVxuLnJlc3VsdC1zdWRva3UtY2VsbC5pcy1naXZlbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zMik7XG59XG4ucmVzdWx0LXN1ZG9rdS1jZWxsLmlzLXNvbHZlZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNyk7XG59XG4ucmVzdWx0LXN1ZG9rdS1jZWxsLmJveC1yaWdodCB7XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cbi5yZXN1bHQtc3Vkb2t1LWNlbGwuYm94LWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5cbi5yZXN1bHQtc3RhdHMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdhcDogY2xhbXAoOHB4LCAxLjJ2aCwgMTJweCk7XG59XG5cbi5yZXN1bHQtc3RhdCB7XG4gIG1pbi1oZWlnaHQ6IGNsYW1wKDY4cHgsIDEwLjR2aCwgODhweCk7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJlc3VsdC1jYXJkLWJvcmRlcik7XG4gIGJhY2tncm91bmQ6IHZhcigtLXJlc3VsdC1jYXJkLWJnKTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogNHB4O1xuICBwYWRkaW5nOiBjbGFtcCg4cHgsIDEuNXZoLCAxNHB4KSA4cHg7XG59XG5cbi5yZXN1bHQtc3RhdF9fbGFiZWwge1xuICBmb250LXNpemU6IDAuNjNyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjE2ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjgpO1xufVxuXG4ucmVzdWx0LXN0YXRfX3ZhbHVlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMS42NXJlbSwgNy4ydncsIDIuNXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiAwLjk1O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC13cmFwOiBiYWxhbmNlO1xufVxuLnJlc3VsdC1zdGF0X192YWx1ZS5pcy14cCB7XG4gIGNvbG9yOiB2YXIoLS1yZXN1bHQtYWNjZW50KTtcbn1cblxuLnJlc3VsdC1zdGF0X192YWx1ZS0tc21hbGwge1xuICBmb250LXNpemU6IGNsYW1wKDEuMDVyZW0sIDQuOHZ3LCAxLjc1cmVtKTtcbn1cblxuLnJlc3VsdC1hY3Rpb25zIHtcbiAgZGlzcGxheTogZ3JpZDtcbn1cblxuLnJlc3VsdC1zaGFyZS1idG4sXG4ucmVzdWx0LWRldGFpbC1idG4ge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM0KTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE3KTtcbiAgcGFkZGluZzogY2xhbXAoMC43MnJlbSwgMi4ydmgsIDAuODhyZW0pIDFyZW07XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IGNsYW1wKDAuOTVyZW0sIDR2dywgMS4xMnJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTtcbn1cbi5yZXN1bHQtc2hhcmUtYnRuOmhvdmVyLCAucmVzdWx0LXNoYXJlLWJ0bjphY3RpdmUsXG4ucmVzdWx0LWRldGFpbC1idG46aG92ZXIsXG4ucmVzdWx0LWRldGFpbC1idG46YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbn1cblxuLnJlc3VsdC1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5yZXN1bHQtZm9vdGVyLXVybCB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC45NXJlbSwgMy41dncsIDEuMDhyZW0pO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbn1cblxuLnJlc3VsdC14cC1iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zMik7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gIGNvbG9yOiB2YXIoLS1yZXN1bHQtYWNjZW50KTtcbiAgcGFkZGluZzogMC4yOHJlbSAwLjdyZW07XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC43MnJlbSwgM3Z3LCAwLjg2cmVtKTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuQG1lZGlhIChtYXgtaGVpZ2h0OiA3NjBweCkge1xuICAucmVzdWx0LXNoZWxsIHtcbiAgICBnYXA6IDhweDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0byBtaW5tYXgoNTBweCwgMWZyKSBhdXRvIGF1dG8gYXV0bztcbiAgfVxuICAucmVzdWx0LXRpdGxlIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDEuODJyZW0sIDguNHZ3LCAyLjcycmVtKTtcbiAgfVxuICAucmVzdWx0LXdvcmRsZS10aWxlIHtcbiAgICB3aWR0aDogY2xhbXAoMjFweCwgNS40dncsIDI5cHgpO1xuICB9XG4gIC5yZXN1bHQtc3RhdCB7XG4gICAgbWluLWhlaWdodDogNjRweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtaGVpZ2h0OiA2ODBweCkge1xuICAucmVzdWx0LXNoZWxsIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyhlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMCkgKyA2cHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwKSArIDhweCk7XG4gIH1cbiAgLnJlc3VsdC1jbG9zZSB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICB9XG4gIC5yZXN1bHQtc3VidGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnJlc3VsdC1iZWUtaWNvbiB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG4gIC5yZXN1bHQtc3Vkb2t1LWdyaWQge1xuICAgIHdpZHRoOiBtaW4oMTc4cHgsIDUwdncpO1xuICB9XG4gIC5yZXN1bHQtc3RhdF9fdmFsdWUge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS4zMnJlbSwgNi4ydncsIDJyZW0pO1xuICB9XG59XG4ubGF5b3V0LXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi5sYXlvdXQtY29sIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmp1c3RpZnktY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5qdXN0aWZ5LWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5qdXN0aWZ5LWVuZCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5hbGlnbi1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYWxpZ24tc3RhcnQge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLmFsaWduLWVuZCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmdhcC14cyB7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5nYXAtc20ge1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4uZ2FwLW1kIHtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmdhcC1sZyB7XG4gIGdhcDogdmFyKC0tc3BhY2UtNSk7XG59XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRleHQtbXV0ZWQge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi50ZXh0LWdyYWRpZW50IHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY29sb3Itc2Vjb25kYXJ5KSwgdmFyKC0tY29sb3ItcHJpbWFyeSkpO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uaGVhZGluZy1sZyB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5oZWFkaW5nLW1kIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTMpO1xufVxuXG4uaGVhZGluZy1zbSB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLm10LXNtIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5tdC1tZCB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTQpO1xufVxuXG4ubXQtbGcge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS02KTtcbn1cblxuLm1iLXNtIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5tYi1tZCB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG4ubWItbGcge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS02KTtcbn1cblxuLnB4LW1kIHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS00KTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5weS1tZCB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS00KTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmhpZGUtbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnR1cmJvLW5hdGl2ZS1uYXYge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogY2FsYyg0NHB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC10b3ApKTtcbiAgcGFkZGluZzogZW52KHNhZmUtYXJlYS1pbnNldC10b3ApIHZhcigtLXNwYWNlLTQpIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB6LWluZGV4OiAxMTAwO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4udHVyYm8tbmF0aXZlLWJhY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Mik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgYm94LXNoYWRvdzogMCA2cHggMThweCByZ2JhKDM1LCAyOCwgMjIsIDAuMDgpO1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTtcbn1cbi50dXJiby1uYXRpdmUtYmFjazphY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTtcbn1cblxuLnR1cmJvLW5hdGl2ZS1oZWxwIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkyKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBib3gtc2hhZG93OiAwIDZweCAxOHB4IHJnYmEoMzUsIDI4LCAyMiwgMC4wOCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTtcbn1cbi50dXJiby1uYXRpdmUtaGVscDphY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTtcbn1cblxuLnR1cmJvLW5hdGl2ZS10YWJiYXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHBhZGRpbmc6IDEwcHggMjhweCBjYWxjKDEycHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkyKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoNDgsIDM4LCAyOCwgMC4wOCk7XG4gIGJveC1zaGFkb3c6IDAgLThweCAxOHB4IHJnYmEoMzUsIDI4LCAyMiwgMC4wNSk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxOHB4KTtcbiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMThweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgei1pbmRleDogMTEwMDtcbn1cblxuLnR1cmJvLW5hdGl2ZS10YWJiYXJfX2l0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnR1cmJvLW5hdGl2ZS10YWJiYXJfX2l0ZW0gaSB7XG4gIGZvbnQtc2l6ZTogMS4xNXJlbTtcbn1cblxuLnR1cmJvLW5hdGl2ZS10YWJiYXJfX2l0ZW0uaXMtYWN0aXZlIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4udHVyYm8tbmF0aXZlLXRhYmJhcl9faXRlbS5pcy1hY3RpdmU6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTZweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gIC5oaWRlLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYnRuLCAuYnRuLW91dGxpbmUtcHJpbWFyeSxcbi5idG4tb3V0bGluZS1zZWNvbmRhcnksXG4uYnRuLW91dGxpbmUtc3VjY2Vzcyxcbi5idG4tb3V0bGluZS1kYW5nZXIsXG4uYnRuLW91dGxpbmUtd2FybmluZyxcbi5idG4tb3V0bGluZS1pbmZvLCAuYnRuLWluZm8sIC5idG4tZGFuZ2VyLCAuYnRuLXdhcm5pbmcsIC5idG4tc3VjY2VzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgcGFkZGluZzogMC42NXJlbSAxLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlLCBib3gtc2hhZG93IDAuMTVzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5idG46aG92ZXIsIC5idG4tb3V0bGluZS1wcmltYXJ5OmhvdmVyLFxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpob3Zlcixcbi5idG4tb3V0bGluZS1zdWNjZXNzOmhvdmVyLFxuLmJ0bi1vdXRsaW5lLWRhbmdlcjpob3Zlcixcbi5idG4tb3V0bGluZS13YXJuaW5nOmhvdmVyLFxuLmJ0bi1vdXRsaW5lLWluZm86aG92ZXIsIC5idG4taW5mbzpob3ZlciwgLmJ0bi1kYW5nZXI6aG92ZXIsIC5idG4td2FybmluZzpob3ZlciwgLmJ0bi1zdWNjZXNzOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc29mdCk7XG59XG4uYnRuOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlLFxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTphY3RpdmUsXG4uYnRuLW91dGxpbmUtc3VjY2VzczphY3RpdmUsXG4uYnRuLW91dGxpbmUtZGFuZ2VyOmFjdGl2ZSxcbi5idG4tb3V0bGluZS13YXJuaW5nOmFjdGl2ZSxcbi5idG4tb3V0bGluZS1pbmZvOmFjdGl2ZSwgLmJ0bi1pbmZvOmFjdGl2ZSwgLmJ0bi1kYW5nZXI6YWN0aXZlLCAuYnRuLXdhcm5pbmc6YWN0aXZlLCAuYnRuLXN1Y2Nlc3M6YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uYnRuLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5KSwgdmFyKC0tY29sb3ItcHJpbWFyeS1zdHJvbmcpKTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1zdHJvbmcpO1xufVxuXG4uYnRuLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLXNlY29uZGFyeSksICM3ZjYwNDEpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjN2Y2MDQxO1xufVxuXG4uYnRuLW91dGxpbmUsIC5idG4tb3V0bGluZS1wcmltYXJ5LFxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSxcbi5idG4tb3V0bGluZS1zdWNjZXNzLFxuLmJ0bi1vdXRsaW5lLWRhbmdlcixcbi5idG4tb3V0bGluZS13YXJuaW5nLFxuLmJ0bi1vdXRsaW5lLWluZm8ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuLmJ0bi1vdXRsaW5lOmhvdmVyLCAuYnRuLW91dGxpbmUtcHJpbWFyeTpob3Zlcixcbi5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXIsXG4uYnRuLW91dGxpbmUtc3VjY2Vzczpob3Zlcixcbi5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXIsXG4uYnRuLW91dGxpbmUtd2FybmluZzpob3Zlcixcbi5idG4tb3V0bGluZS1pbmZvOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLmJ0bi1nb29nbGUge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGFkY2UwO1xuICBjb2xvcjogIzFmMWYxZjtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoNjAsIDY0LCA2NywgMC4yKTtcbn1cbi5idG4tZ29vZ2xlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYTtcbiAgYm9yZGVyLWNvbG9yOiAjYzZjNmM2O1xufVxuXG4uYnRuLWFwcGxlIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uYnRuLWFwcGxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzFhMWExYTtcbiAgYm9yZGVyLWNvbG9yOiAjMWExYTFhO1xufVxuXG4uYXV0aC1zb2NpYWwge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmF1dGgtcHJvdmlkZXItYnRuIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWluLWhlaWdodDogMi44cmVtO1xufVxuXG4uYXV0aC1wcm92aWRlci1pY29uIHtcbiAgd2lkdGg6IDEuMnJlbTtcbiAgaGVpZ2h0OiAxLjJyZW07XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5hdXRoLXByb3ZpZGVyLWljb24gc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5hdXRoLWRpdmlkZXIge1xuICBtYXJnaW46IHZhcigtLXNwYWNlLTQpIDAgdmFyKC0tc3BhY2UtMyk7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xufVxuXG4uYXV0aC1kaXZpZGVyOjpiZWZvcmUsXG4uYXV0aC1kaXZpZGVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGZsZXg6IDE7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4uYXV0aC1kaXZpZGVyLXRpZ2h0IHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5idG4tbGluayB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gIHBhZGRpbmc6IDA7XG59XG4uYnRuLWxpbms6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi5idG4tbGcge1xuICBwYWRkaW5nOiAwLjlyZW0gMnJlbTtcbiAgZm9udC1zaXplOiAxLjFyZW07XG59XG5cbi5idG4tc20ge1xuICBwYWRkaW5nOiAwLjQ1cmVtIDFyZW07XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbn1cblxuLmJ0bi1mdWxsIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hbGVydCB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5hbGVydC1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3OSwgMTIyLCAxMDQsIDAuMTQpO1xuICBib3JkZXItY29sb3I6IHJnYmEoNzksIDEyMiwgMTA0LCAwLjM1KTtcbiAgY29sb3I6ICMyZjRjM2U7XG59XG5cbi5hbGVydC1kYW5nZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4NCwgOTEsIDg2LCAwLjE0KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDE4NCwgOTEsIDg2LCAwLjM1KTtcbiAgY29sb3I6ICM2ZTJmMmI7XG59XG5cbi5hbGVydC13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxOTQsIDE2MCwgNzcsIDAuMTYpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMTk0LCAxNjAsIDc3LCAwLjM1KTtcbiAgY29sb3I6ICM1YjQ1MjE7XG59XG5cbi5hbGVydC1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMTEsIDEzOCwgMTY1LCAwLjE2KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDExMSwgMTM4LCAxNjUsIDAuMzUpO1xuICBjb2xvcjogIzMxNDI1NDtcbn1cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG59XG5cbi5idG4tY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMC45cmVtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiAxLjFyZW07XG4gIGhlaWdodDogMS4xcmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDAuODtcbn1cbi5idG4tY2xvc2U6YWZ0ZXIge1xuICBjb250ZW50OiBcIuKclVwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi5idG4tY2xvc2U6aG92ZXIsIC5idG4tY2xvc2U6Zm9jdXMge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uZm9ybS1maWVsZCB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG4uZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xufVxuXG4uaW5wdXQsIC5mb3JtLWNvbnRyb2wsXG4uc2VsZWN0LFxuLmZvcm0tc2VsZWN0LFxuLnRleHRhcmVhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuNjVyZW0gMC44NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzIGVhc2UsIGJveC1zaGFkb3cgMC4ycyBlYXNlO1xufVxuLmlucHV0OmZvY3VzLCAuZm9ybS1jb250cm9sOmZvY3VzLFxuLnNlbGVjdDpmb2N1cyxcbi5mb3JtLXNlbGVjdDpmb2N1cyxcbi50ZXh0YXJlYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMTU1LCAxMjMsIDg2LCAwLjM1KTtcbn1cblxuLnRleHRhcmVhIHtcbiAgbWluLWhlaWdodDogMTQwcHg7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi5oZWxwZXItdGV4dCB7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0xKTtcbn1cblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICB6LWluZGV4OiAxMDAwO1xufVxuLm1vZGFsLmlzLW9wZW4ge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ubW9kYWxfX2JhY2tkcm9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itb3ZlcmxheSk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xufVxuXG4ubW9kYWxfX2RpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zdHJvbmcpO1xuICB3aWR0aDogbWluKDY0MHB4LCA5NXZ3KTtcbiAgbWF4LWhlaWdodDogOTB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLm1vZGFsX19oZWFkZXIsXG4ubW9kYWxfX2Zvb3RlciB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubW9kYWxfX2Zvb3RlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ubW9kYWxfX2JvZHkge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLm1vZGFsX19jbG9zZSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC4ycmVtIDAuNnJlbTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4ucHJvZ3Jlc3Mge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnByb2dyZXNzX19iYXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLXNlY29uZGFyeSksIHZhcigtLWNvbG9yLXByaW1hcnkpKTtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC40cyBlYXNlO1xufVxuXG4vKiBMZWdhY3kgbGF5b3V0ICsgdXRpbGl0eSBjb21wYXRpYmlsaXR5ICovXG4ucm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuXG5bY2xhc3MqPWNvbC1dIHtcbiAgZmxleDogMSAwIDEwMCU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuY29sLXNtLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbiAgLmNvbC1zbS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbC1tZC02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG4gIC5jb2wtbWQtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzJTtcbiAgfVxuICAuY29sLW1kLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29sLWxnLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzJTtcbiAgfVxuICAuY29sLWxnLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbiAgLmNvbC1sZy04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NiU7XG4gIH1cbiAgLmNvbC1sZy0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG4uZC1mbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmZsZXgtY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmZsZXgtcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLmp1c3RpZnktY29udGVudC1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uanVzdGlmeS1jb250ZW50LWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYWxpZ24taXRlbXMtY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmFsaWduLWl0ZW1zLWVuZCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmFsaWduLWl0ZW1zLXN0YXJ0IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5teC1hdXRvIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLnctMTAwIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5oLTEwMCB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGV4dC1lbmQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm10LTIge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLm10LTMge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLm10LTQge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLm10LTUge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS02KTtcbn1cblxuLm1iLTIge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLm1iLTMge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLm1iLTQge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLm1iLTUge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS02KTtcbn1cblxuLm1lLTEge1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ubWUtMiB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5tZS0zIHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLm1zLTEge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5tcy0yIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4ucHktNCB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS00KTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG4ucHgtMyB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtMyk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4uZy0zIHtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmctNCB7XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5jYXJkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTQpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLmNhcmQtYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xufVxuXG4uY2FyZC10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuXG4uc2hhZG93IHtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNvZnQpO1xufVxuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbn1cblxuLnRhYmxlIHRoLFxuLnRhYmxlIHRkIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMyk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWY3ZjI7XG59XG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5wYWdlLWl0ZW0ge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ucGFnZS1saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjRyZW0gMC44cmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5idG4tc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLXN1Y2Nlc3MpLCAjM2M2MjUzKTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5idG4td2FybmluZyB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNiMThkM2YsICM4ZjZhMmIpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmJ0bi1kYW5nZXIge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci1kYW5nZXIpLCAjOTk0NzQzKTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5idG4taW5mbyB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLWluZm8pLCAjNTY3MjhlKTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5idG4tb3V0bGluZS1wcmltYXJ5IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbn1cblxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4uYnRuLW91dGxpbmUtc3VjY2VzcyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cblxuLmJ0bi1vdXRsaW5lLWRhbmdlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7XG59XG5cbi5idG4tb3V0bGluZS13YXJuaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpO1xufVxuXG4uYnRuLW91dGxpbmUtaW5mbyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaW5mbyk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1pbmZvKTtcbn1cblxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5iZy1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbn1cblxuLmJnLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cblxuLmJnLWRhbmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7XG59XG5cbi5iZy13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG5cbi5iZy1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaW5mbyk7XG59XG5cbi5iZy1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlLWFsdCk7XG59XG5cbi50ZXh0LXN1Y2Nlc3Mge1xuICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG5cbi50ZXh0LWRhbmdlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xufVxuXG4uaG9tZS1wYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDIwJSAxMCUsIHJnYmEoNzksIDEyMiwgMTA0LCAwLjE1KSwgdHJhbnNwYXJlbnQgNTAlKSwgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA4MiUgMjAlLCByZ2JhKDE5NCwgMTYwLCA3NywgMC4xMyksIHRyYW5zcGFyZW50IDQ1JSksIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSksIHRyYW5zcGFyZW50IDYwJSksIHZhcigtLWNvbG9yLWJnKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tc3BhY2UtNykgKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmhvbWUtcGFnZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAxMCUgODAlLCByZ2JhKDYzLCAxMDcsIDkxLCAwLjA1KSwgdHJhbnNwYXJlbnQgNTAlKSwgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA5MiUgNjUlLCByZ2JhKDE1NSwgMTIzLCA4NiwgMC4wOCksIHRyYW5zcGFyZW50IDUwJSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uaG9tZS1uYXRpdmUtYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKTtcbn1cblxuLmhvbWUtbmF0aXZlLWJhcl9faW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTQpO1xufVxuXG4uaG9tZS1uYXRpdmUtZGF0ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjM4cmVtIDAuOTVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBmb250LXNpemU6IDAuNzJyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjE4ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS1zdHJvbmcpO1xufVxuXG4uaG9tZS1uYXRpdmUtYmFyX19yaWdodCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5ob21lLXhwLWJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuMzJyZW0gMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGZvbnQtc2l6ZTogMC44MnJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICM3YTVhMTQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTk0LCAxNjAsIDc3LCAwLjE4KTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCByZ2JhKDE5NCwgMTYwLCA3NywgMC41NSk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG59XG5cbi5ob21lLW5hdGl2ZS1hdmF0YXIge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAzOHB4O1xuICBoZWlnaHQ6IDM4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci1zZWNvbmRhcnkpLCB2YXIoLS1jb2xvci1wcmltYXJ5KSk7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuNzhyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5ob21lLWhlcm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTUpIDAgdmFyKC0tc3BhY2UtNik7XG59XG5cbi5ob21lLWludHJvIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNSk7XG59XG5cbi5ob21lLWRhdGUtcGlsbCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjNyZW0gMC44NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGZvbnQtc2l6ZTogMC43MnJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM2VtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzNiMmYyMjtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg2MywgMTA3LCA5MSwgMC4xOCk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5ob21lLWhlcm8tdGl0bGUge1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS0yKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoM3JlbSwgMTB2dywgNC4ycmVtKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDAuOTg7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtO1xufVxuXG4uaG9tZS1oZXJvLWFjY2VudCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uaG9tZS1oZXJvLXN1YiB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG4uaG9tZS1oZXJvLXN1YiBzdHJvbmcge1xuICBjb2xvcjogIzdhNWExNDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmhvbWUtc2VjdGlvbi1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4yMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTMpO1xufVxuXG4uaG9tZS1nYW1lcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5ob21lLWdhbWUtY2FyZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBib3gtc2hhZG93OiAwIDJweCAxMnB4IHJnYmEoNTgsIDQ2LCAzMywgMC4wNyksIDAgMXB4IDNweCByZ2JhKDU4LCA0NiwgMzMsIDAuMDUpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xOHMgZWFzZSwgYm94LXNoYWRvdyAwLjE4cyBlYXNlO1xufVxuLmhvbWUtZ2FtZS1jYXJkOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICBib3gtc2hhZG93OiAwIDhweCAyOHB4IHJnYmEoNTgsIDQ2LCAzMywgMC4xMiksIDAgMnB4IDZweCByZ2JhKDU4LCA0NiwgMzMsIDAuMDcpO1xufVxuLmhvbWUtZ2FtZS1jYXJkLmlzLXVwY29taW5nIHtcbiAgb3BhY2l0eTogMC41O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmhvbWUtZ2FtZS1jYXJkX190b3Age1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDY4cHggMWZyIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpIHZhcigtLXNwYWNlLTQpIHZhcigtLXNwYWNlLTMpO1xufVxuXG4uaG9tZS1nYW1lLWljb24ge1xuICB3aWR0aDogNjRweDtcbiAgaGVpZ2h0OiA2NHB4O1xuICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDIuMXJlbTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4uaG9tZS1nYW1lLWNhcmRbZGF0YS1nYW1lPXdvcmRsZV0gLmhvbWUtZ2FtZS1pY29uIHtcbiAgYmFja2dyb3VuZDogcmdiYSg2MywgMTA3LCA5MSwgMC4xMyk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg2MywgMTA3LCA5MSwgMC4yNSk7XG59XG5cbi5ob21lLWdhbWUtY2FyZFtkYXRhLWdhbWU9c3BlbGxpbmdfYmVlXSAuaG9tZS1nYW1lLWljb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE5NCwgMTYwLCA3NywgMC4xNik7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxOTQsIDE2MCwgNzcsIDAuMyk7XG59XG5cbi5ob21lLWdhbWUtY2FyZFtkYXRhLWdhbWU9Y29ubmVjdGlvbnNdIC5ob21lLWdhbWUtaWNvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTExLCAxMzgsIDE2NSwgMC4xNSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxMTEsIDEzOCwgMTY1LCAwLjI4KTtcbn1cblxuLmhvbWUtZ2FtZS1jYXJkW2RhdGEtZ2FtZT1zdWRva3VdIC5ob21lLWdhbWUtaWNvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTU1LCAxMjMsIDg2LCAwLjE0KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1NSwgMTIzLCA4NiwgMC4yNyk7XG59XG5cbi5ob21lLWdhbWUtaW5mbyB7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLmhvbWUtZ2FtZS10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4uaG9tZS1nYW1lLWRlc2Mge1xuICBtYXJnaW46IDAuMnJlbSAwIDA7XG4gIGZvbnQtc2l6ZTogMC44N3JlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmhvbWUtZ2FtZS1zdGF0dXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGdhcDogNXB4O1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLmhvbWUtc3RhdHVzLWJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuMjZyZW0gMC42NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGZvbnQtc2l6ZTogMC42OHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgYmFja2dyb3VuZDogcmdiYSg3OSwgMTIyLCAxMDQsIDAuMTIpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNzksIDEyMiwgMTA0LCAwLjI4KTtcbn1cbi5ob21lLXN0YXR1cy1iYWRnZS5pcy1zb29uIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxNTUsIDEyMywgODYsIDAuMSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMTU1LCAxMjMsIDg2LCAwLjI4KTtcbn1cblxuLmhvbWUtZ2FtZS14cCB7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICM3YTVhMTQ7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG59XG5cbi5ob21lLWdhbWUtY2FyZC5pcy1jb21wbGV0ZWQgLmhvbWUtZ2FtZS10aXRsZSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmhvbWUtZ2FtZS1zdGF0cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIG1hcmdpbjogMDtcbn1cblxuLmhvbWUtZ2FtZS1zdGF0IHtcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogNHB4O1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS0yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaG9tZS1nYW1lLXN0YXRfX3ZhbCB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEuNDVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5ob21lLWdhbWUtc3RhdF9fbGJsIHtcbiAgZm9udC1zaXplOiAwLjY0cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5ob21lLWdhbWUtc3RhdF9fc2VwIHtcbiAgd2lkdGg6IDFweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi5ob21lLWdhbWUtYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTQpIHZhcigtLXNwYWNlLTQpO1xufVxuXG4uaG9tZS1nYW1lLWJ0biB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC45cmVtIDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlLCB0cmFuc2Zvcm0gMC4xMnMgZWFzZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmhvbWUtZ2FtZS1idG46YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4NSk7XG4gIG9wYWNpdHk6IDAuOTtcbn1cblxuLmhvbWUtZ2FtZS1idG4uaXMtcHJpbWFyeSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLmhvbWUtZ2FtZS1jYXJkW2RhdGEtZ2FtZT13b3JkbGVdIC5ob21lLWdhbWUtYnRuLmlzLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjM2E2NDUzO1xufVxuXG4uaG9tZS1nYW1lLWNhcmRbZGF0YS1nYW1lPXNwZWxsaW5nX2JlZV0gLmhvbWUtZ2FtZS1idG4uaXMtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICM5YjZlMjY7XG59XG5cbi5ob21lLWdhbWUtY2FyZFtkYXRhLWdhbWU9Y29ubmVjdGlvbnNdIC5ob21lLWdhbWUtYnRuLmlzLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjNDc2Njg1O1xufVxuXG4uaG9tZS1nYW1lLWNhcmRbZGF0YS1nYW1lPXN1ZG9rdV0gLmhvbWUtZ2FtZS1idG4uaXMtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICM4YzZlNGE7XG59XG5cbi5ob21lLWdhbWUtYnRuLmlzLWdob3N0IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMC45M3JlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLmhvbWUtZ2FtZS1idG4uaXMtZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIGZvbnQtc2l6ZTogMC45M3JlbTtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gIC5ob21lLWdhbWUtY2FyZCB7XG4gICAgYW5pbWF0aW9uOiBob21lLWNhcmQtcmlzZSAwLjVzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSBib3RoO1xuICB9XG4gIC5ob21lLWdhbWUtY2FyZDpudGgtY2hpbGQoMikge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4wOXM7XG4gIH1cbiAgLmhvbWUtZ2FtZS1jYXJkOm50aC1jaGlsZCgzKSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjE4cztcbiAgfVxuICAuaG9tZS1nYW1lLWNhcmQ6bnRoLWNoaWxkKDQpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMjdzO1xuICB9XG4gIC5ob21lLWhlcm8tdGl0bGUge1xuICAgIGFuaW1hdGlvbjogaG9tZS1jYXJkLXJpc2UgMC40NXMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpIGJvdGg7XG4gIH1cbiAgLmhvbWUtaGVyby1zdWIge1xuICAgIGFuaW1hdGlvbjogaG9tZS1jYXJkLXJpc2UgMC40NXMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpIDAuMDZzIGJvdGg7XG4gIH1cbn1cbkBrZXlmcmFtZXMgaG9tZS1jYXJkLXJpc2Uge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cbi5ob21lLXBhZ2UgLmFwcC1jb250YWluZXIsIC5ob21lLXBhZ2UgLmNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNjgwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAuaG9tZS1nYW1lLWNhcmRfX3RvcCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtNSkgdmFyKC0tc3BhY2UtNSkgdmFyKC0tc3BhY2UtMyk7XG4gIH1cbiAgLmhvbWUtZ2FtZS1pY29uIHtcbiAgICB3aWR0aDogNzJweDtcbiAgICBoZWlnaHQ6IDcycHg7XG4gICAgZm9udC1zaXplOiAyLjNyZW07XG4gIH1cbiAgLmhvbWUtZ2FtZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbiAgLmhvbWUtZ2FtZS1hY3Rpb25zIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS01KSB2YXIoLS1zcGFjZS01KTtcbiAgfVxufVxuLndvcmRsZS1wYWdlIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNSkgMCB2YXIoLS1zcGFjZS03KTtcbn1cblxuLndvcmRsZS1wYW5lbCB7XG4gIG1heC13aWR0aDogNzIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbn1cblxuLmdhbWUtbWVzc2FnZSB7XG4gIG1pbi1oZWlnaHQ6IDM2cHg7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLndvcmRsZS1ib2FyZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIG1hcmdpbjogMCBhdXRvIHZhcigtLXNwYWNlLTQpO1xuICBtYXgtd2lkdGg6IDQyMHB4O1xufVxuXG4ud29yZGxlLXJvdyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIG1pbm1heCgwLCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLndvcmRsZS10aWxlIHtcbiAgd2lkdGg6IDcwcHg7XG4gIGhlaWdodDogNzBweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZTtcbn1cbi53b3JkbGUtdGlsZS5pcy1maWxsZWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG59XG4ud29yZGxlLXRpbGUuZmlsbGVkLWJveCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbn1cbi53b3JkbGUtdGlsZS5jb3JyZWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItY29ycmVjdCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1jb3JyZWN0LXRleHQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktc3Ryb25nKTtcbn1cbi53b3JkbGUtdGlsZS5wcmVzZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJlc2VudCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmVzZW50LXRleHQpO1xuICBib3JkZXItY29sb3I6ICNiMjhhNDQ7XG59XG4ud29yZGxlLXRpbGUuYWJzZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWJzZW50KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWFic2VudC10ZXh0KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1hYnNlbnQtYm9yZGVyKTtcbn1cbi53b3JkbGUtdGlsZS5hbmltYXRpbmcge1xuICB0cmFuc2Zvcm06IHJvdGF0ZVgoOTBkZWcpO1xufVxuLndvcmRsZS10aWxlLnJldmVhbCB7XG4gIHRyYW5zZm9ybTogcm90YXRlWCgwKTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7XG4gIC53b3JkbGUtdGlsZSB7XG4gICAgd2lkdGg6IDU0cHg7XG4gICAgaGVpZ2h0OiA1NHB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICB9XG59XG4ud29yZGxlLWtleWJvYXJkIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5rZXlib2FyZC1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmtleS1idXR0b24ge1xuICBmbGV4OiAxO1xuICBtYXgtd2lkdGg6IDUycHg7XG4gIHBhZGRpbmc6IDAuODVyZW0gMC4zcmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1rZXkpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjFzIGVhc2U7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ua2V5LWJ1dHRvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Ita2V5LWhvdmVyKTtcbn1cbi5rZXktYnV0dG9uLmNvcnJlY3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1jb3JyZWN0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWNvcnJlY3QtdGV4dCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1zdHJvbmcpO1xufVxuLmtleS1idXR0b24ucHJlc2VudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByZXNlbnQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJlc2VudC10ZXh0KTtcbiAgYm9yZGVyLWNvbG9yOiAjYjI4YTQ0O1xufVxuLmtleS1idXR0b24uYWJzZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWJzZW50KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWFic2VudC10ZXh0KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1hYnNlbnQtYm9yZGVyKTtcbn1cblxuLmtleS1idXR0b24tLXdpZGUge1xuICBmbGV4OiAxLjQ7XG4gIG1heC13aWR0aDogODRweDtcbn1cblxuLndvcmRsZS1tZXRhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG4ud29yZGxlLW1ldGEtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2UtMSk7XG59XG5cbi54cC1zZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNSk7XG59XG5cbi54cC1icmVha2Rvd24tZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi54cC1icmVha2Rvd24tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjJlYztcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLnhwLWxhYmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnhwLXZhbHVlIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xufVxuXG4ueHAtdG90YWwge1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4ueHAtcHJvZ3Jlc3MtZGlzcGxheSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4ueHAtbGV2ZWwtbWV0YSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5tb2RhbC14cCAueHAtYnJlYWtkb3duLWdyaWQge1xuICBtYXgtaGVpZ2h0OiA2MHZoO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmdhbWUtbW9kYWwgLm1vZGFsX19kaWFsb2cge1xuICB3aWR0aDogbWluKDcyMHB4LCA5MnZ3KTtcbn1cbi5nYW1lLW1vZGFsIC5tb2RhbF9fYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5nYW1lLW1vZGFsX19oZWFkZXIge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y2ZWZlNiwgI2ZkZmFmNik7XG59XG5cbi5nYW1lLW1vZGFsX190aXRsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5yZXN1bHQtYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1zdHJvbmcpO1xufVxuXG4ucmVzdWx0LXN1YnRpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTZlbTtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmNvbXBsZXRlZC1yZXN1bHRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi50YXJnZXQtd29yZC1kaXNwbGF5IHtcbiAgZm9udC1zaXplOiBjbGFtcCgxLjVyZW0sIDR2dywgMnJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc3VtbWFyeS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNDBweCwgMWZyKSk7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5zdW1tYXJ5LWNhcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlLWFsdCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNwYWNlLTEpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zdW1tYXJ5LWxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5zdW1tYXJ5LXZhbHVlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMS4zNXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktc3Ryb25nKTtcbn1cblxuLmtleWJvYXJkLWhpbnQge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yKTtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNoYWxsZW5nZXMtcGFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXNwYWNlLTcpICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTtcbn1cblxuLmNoYWxsZW5nZXMtcGFnZVtkYXRhLWdhbWU9d29yZGxlXSB7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMjAlIDEwJSwgcmdiYSg2MywgMTA3LCA5MSwgMC4xNiksIHRyYW5zcGFyZW50IDUwJSksIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgODAlIDI1JSwgcmdiYSgxOTQsIDE2MCwgNzcsIDAuMSksIHRyYW5zcGFyZW50IDQ1JSksIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSksIHRyYW5zcGFyZW50IDYwJSksIHZhcigtLWNvbG9yLWJnKTtcbn1cblxuLmNoYWxsZW5nZXMtcGFnZVtkYXRhLWdhbWU9c3BlbGxpbmdfYmVlXSB7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMjUlIDEyJSwgcmdiYSgxOTQsIDE2MCwgNzcsIDAuMTgpLCB0cmFuc3BhcmVudCA1MCUpLCByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDc4JSAyMiUsIHJnYmEoMTU1LCAxMjMsIDg2LCAwLjEpLCB0cmFuc3BhcmVudCA0NSUpLCBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTUpLCB0cmFuc3BhcmVudCA2MCUpLCB2YXIoLS1jb2xvci1iZyk7XG59XG5cbi5jaGFsbGVuZ2VzLXBhZ2VbZGF0YS1nYW1lPWNvbm5lY3Rpb25zXSB7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMjIlIDEwJSwgcmdiYSgxMTEsIDEzOCwgMTY1LCAwLjE2KSwgdHJhbnNwYXJlbnQgNTAlKSwgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA4MiUgMjAlLCByZ2JhKDYzLCAxMDcsIDkxLCAwLjA4KSwgdHJhbnNwYXJlbnQgNDUlKSwgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KSwgdHJhbnNwYXJlbnQgNjAlKSwgdmFyKC0tY29sb3ItYmcpO1xufVxuXG4uY2hhbGxlbmdlcy1wYWdlW2RhdGEtZ2FtZT1zdWRva3VdIHtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAyMCUgMTIlLCByZ2JhKDE1NSwgMTIzLCA4NiwgMC4xNiksIHRyYW5zcGFyZW50IDUwJSksIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgODAlIDE4JSwgcmdiYSgxOTQsIDE2MCwgNzcsIDAuMSksIHRyYW5zcGFyZW50IDQ1JSksIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSksIHRyYW5zcGFyZW50IDYwJSksIHZhcigtLWNvbG9yLWJnKTtcbn1cblxuLmNoYWxsZW5nZXMtcGFnZSAuYXBwLWNvbnRhaW5lciwgLmNoYWxsZW5nZXMtcGFnZSAuY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiA2ODBweDtcbn1cblxuLmNoYWxsZW5nZXMtaGVybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNSkgMCB2YXIoLS1zcGFjZS02KTtcbn1cblxuLmNoYWxsZW5nZXMtaW50cm8ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTUpO1xufVxuXG4uY2hhbGxlbmdlcy1pY29uLXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5jaGFsbGVuZ2VzLWljb24ge1xuICB3aWR0aDogNzJweDtcbiAgaGVpZ2h0OiA3MnB4O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDIuM3JlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5jaGFsbGVuZ2VzLXBhZ2VbZGF0YS1nYW1lPXdvcmRsZV0gLmNoYWxsZW5nZXMtaWNvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoNjMsIDEwNywgOTEsIDAuMTMpO1xuICBib3JkZXItY29sb3I6IHJnYmEoNjMsIDEwNywgOTEsIDAuMjUpO1xufVxuXG4uY2hhbGxlbmdlcy1wYWdlW2RhdGEtZ2FtZT1zcGVsbGluZ19iZWVdIC5jaGFsbGVuZ2VzLWljb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE5NCwgMTYwLCA3NywgMC4xNik7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxOTQsIDE2MCwgNzcsIDAuMyk7XG59XG5cbi5jaGFsbGVuZ2VzLXBhZ2VbZGF0YS1nYW1lPWNvbm5lY3Rpb25zXSAuY2hhbGxlbmdlcy1pY29uIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxMTEsIDEzOCwgMTY1LCAwLjE1KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDExMSwgMTM4LCAxNjUsIDAuMjgpO1xufVxuXG4uY2hhbGxlbmdlcy1wYWdlW2RhdGEtZ2FtZT1zdWRva3VdIC5jaGFsbGVuZ2VzLWljb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE1NSwgMTIzLCA4NiwgMC4xNCk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxNTUsIDEyMywgODYsIDAuMjcpO1xufVxuXG4uY2hhbGxlbmdlcy10aXRsZSB7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTIpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgyLjRyZW0sIDh2dywgMy4ycmVtKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG59XG5cbi5jaGFsbGVuZ2VzLXN1YnRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmNoYWxsZW5nZXMtc2VjdGlvbi1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4yMmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTMpO1xufVxuXG4uY2hhbGxlbmdlcy1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjgwcHgsIDFmcikpO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4uYXJjaGl2ZS1jYXJkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDEycHggcmdiYSg1OCwgNDYsIDMzLCAwLjA3KSwgMCAxcHggM3B4IHJnYmEoNTgsIDQ2LCAzMywgMC4wNSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE4cyBlYXNlLCBib3gtc2hhZG93IDAuMThzIGVhc2U7XG59XG4uYXJjaGl2ZS1jYXJkOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICBib3gtc2hhZG93OiAwIDhweCAyOHB4IHJnYmEoNTgsIDQ2LCAzMywgMC4xMiksIDAgMnB4IDZweCByZ2JhKDU4LCA0NiwgMzMsIDAuMDcpO1xufVxuXG4uYXJjaGl2ZS1jYXJkX190b3Age1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTQpO1xufVxuXG4uYXJjaGl2ZS1kYXRlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBnYXA6IDAuMzVyZW07XG59XG5cbi5kYXRlLWRheSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuLmRhdGUtbW9udGgge1xuICBmb250LXNpemU6IDAuNzJyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmFyY2hpdmUtaW5mbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLmFyY2hpdmUtd2Vla2RheSB7XG4gIGZvbnQtc2l6ZTogMC45MnJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4uYXJjaGl2ZS1waWxsIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuMThyZW0gMC41NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGZvbnQtc2l6ZTogMC42OHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgYmFja2dyb3VuZDogcmdiYSgxNTUsIDEyMywgODYsIDAuMTIpO1xuICBjb2xvcjogIzZmNTIzNTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNTUsIDEyMywgODYsIDAuMjUpO1xufVxuXG4uYXJjaGl2ZS1iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4uYXJjaGl2ZS1iYWRnZS5pcy13b24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDc5LCAxMjIsIDEwNCwgMC4xNCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg3OSwgMTIyLCAxMDQsIDAuMyk7XG59XG4uYXJjaGl2ZS1iYWRnZS5pcy1sb3N0IHtcbiAgYmFja2dyb3VuZDogcmdiYSgxODQsIDkxLCA4NiwgMC4xMik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE4NCwgOTEsIDg2LCAwLjI1KTtcbn1cbi5hcmNoaXZlLWJhZGdlLmlzLXBlbmRpbmcge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE5NCwgMTYwLCA3NywgMC4xMik7XG4gIGNvbG9yOiAjN2E1YTE0O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE5NCwgMTYwLCA3NywgMC4yNSk7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbn1cbi5hcmNoaXZlLWJhZGdlLmlzLWxvY2tlZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UtYWx0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBmb250LXNpemU6IDAuODVyZW07XG59XG5cbi5hcmNoaXZlLWNhcmRfX2FjdGlvbnMge1xuICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLTQpIHZhcigtLXNwYWNlLTMpO1xufVxuXG4uYXJjaGl2ZS1idG4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuNjVyZW0gMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjg4cmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2UsIHRyYW5zZm9ybSAwLjEycyBlYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYXJjaGl2ZS1idG46YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4NSk7XG4gIG9wYWNpdHk6IDAuOTtcbn1cblxuLmFyY2hpdmUtYnRuLmlzLXByaW1hcnkge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi5jaGFsbGVuZ2VzLXBhZ2VbZGF0YS1nYW1lPXdvcmRsZV0gLmFyY2hpdmUtYnRuLmlzLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjM2E2NDUzO1xufVxuXG4uY2hhbGxlbmdlcy1wYWdlW2RhdGEtZ2FtZT1zcGVsbGluZ19iZWVdIC5hcmNoaXZlLWJ0bi5pcy1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzliNmUyNjtcbn1cblxuLmNoYWxsZW5nZXMtcGFnZVtkYXRhLWdhbWU9Y29ubmVjdGlvbnNdIC5hcmNoaXZlLWJ0bi5pcy1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzQ3NjY4NTtcbn1cblxuLmNoYWxsZW5nZXMtcGFnZVtkYXRhLWdhbWU9c3Vkb2t1XSAuYXJjaGl2ZS1idG4uaXMtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICM4YzZlNGE7XG59XG5cbi5hcmNoaXZlLWJ0bi5pcy1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlLWFsdCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLmNoYWxsZW5nZXMtcGFnaW5hdGlvbiB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTUpO1xufVxuXG4ucGFnaW5hdGlvbi1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ucGFnaW5hdGlvbi1wYWdlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMnB4O1xufVxuXG4ucGFnaW5hdGlvbi1wYWdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4td2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzZweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlO1xufVxuLnBhZ2luYXRpb24tcGFnZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG4ucGFnaW5hdGlvbi1wYWdlLmlzLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDU4LCA0NiwgMzMsIDAuMTIpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuXG4ucGFnaW5hdGlvbi1kb3RzIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4td2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMzZweDtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5wYWdpbmF0aW9uLWJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjQ1cmVtIDAuODVyZW07XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIGZvbnQtc2l6ZTogMC44MnJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTtcbn1cbi5wYWdpbmF0aW9uLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi5jaGFsbGVuZ2VzLWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTYpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmNoYWxsZW5nZXMtYmFjay1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC43cmVtIDEuNHJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNvZnQpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZSwgYm94LXNoYWRvdyAwLjE1cyBlYXNlO1xufVxuLmNoYWxsZW5nZXMtYmFjay1idG46aG92ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSg1OCwgNDYsIDMzLCAwLjEpO1xufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgLmFyY2hpdmUtY2FyZCB7XG4gICAgYW5pbWF0aW9uOiBjaGFsbGVuZ2VzLWNhcmQtcmlzZSAwLjVzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSBib3RoO1xuICB9XG4gIC5hcmNoaXZlLWNhcmQ6bnRoLWNoaWxkKDEpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDBzO1xuICB9XG4gIC5hcmNoaXZlLWNhcmQ6bnRoLWNoaWxkKDIpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMDRzO1xuICB9XG4gIC5hcmNoaXZlLWNhcmQ6bnRoLWNoaWxkKDMpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMDhzO1xuICB9XG4gIC5hcmNoaXZlLWNhcmQ6bnRoLWNoaWxkKDQpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMTJzO1xuICB9XG4gIC5hcmNoaXZlLWNhcmQ6bnRoLWNoaWxkKDUpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMTZzO1xuICB9XG4gIC5hcmNoaXZlLWNhcmQ6bnRoLWNoaWxkKDYpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMnM7XG4gIH1cbiAgLmFyY2hpdmUtY2FyZDpudGgtY2hpbGQoNykge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4yNHM7XG4gIH1cbiAgLmFyY2hpdmUtY2FyZDpudGgtY2hpbGQoOCkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4yOHM7XG4gIH1cbiAgLmFyY2hpdmUtY2FyZDpudGgtY2hpbGQoOSkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4zMnM7XG4gIH1cbiAgLmFyY2hpdmUtY2FyZDpudGgtY2hpbGQoMTApIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMzZzO1xuICB9XG4gIC5hcmNoaXZlLWNhcmQ6bnRoLWNoaWxkKDExKSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjRzO1xuICB9XG4gIC5hcmNoaXZlLWNhcmQ6bnRoLWNoaWxkKDEyKSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjQ0cztcbiAgfVxuICAuYXJjaGl2ZS1jYXJkOm50aC1jaGlsZCgxMykge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC40OHM7XG4gIH1cbiAgLmFyY2hpdmUtY2FyZDpudGgtY2hpbGQoMTQpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuNTJzO1xuICB9XG4gIC5hcmNoaXZlLWNhcmQ6bnRoLWNoaWxkKDE1KSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjU2cztcbiAgfVxuICAuYXJjaGl2ZS1jYXJkOm50aC1jaGlsZCgxNikge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC42cztcbiAgfVxuICAuYXJjaGl2ZS1jYXJkOm50aC1jaGlsZCgxNykge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC42NHM7XG4gIH1cbiAgLmFyY2hpdmUtY2FyZDpudGgtY2hpbGQoMTgpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuNjhzO1xuICB9XG4gIC5hcmNoaXZlLWNhcmQ6bnRoLWNoaWxkKDE5KSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjcycztcbiAgfVxuICAuYXJjaGl2ZS1jYXJkOm50aC1jaGlsZCgyMCkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC43NnM7XG4gIH1cbiAgLmNoYWxsZW5nZXMtaW50cm8ge1xuICAgIGFuaW1hdGlvbjogY2hhbGxlbmdlcy1jYXJkLXJpc2UgMC40NXMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpIGJvdGg7XG4gIH1cbn1cbkBrZXlmcmFtZXMgY2hhbGxlbmdlcy1jYXJkLXJpc2Uge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAuY2hhbGxlbmdlcy1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxufVxuLnNwZWxsaW5nLWJlZS1wYWdlIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNSkgMCB2YXIoLS1zcGFjZS03KTtcbn1cblxuLnNwZWxsaW5nLWJlZS1wYW5lbCB7XG4gIG1heC13aWR0aDogNzYwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmJlZS1zY29yZS1zdHJpcCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmZmZjZjUgMCUsICNmOGYxZGYgMTAwJSk7XG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuXG4uYmVlLXNjb3JlLWxlZnQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBnYXA6IDAuNHJlbTtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5iZWUtc2NvcmUtbGVmdCBzdHJvbmcge1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4uYmVlLXNjb3JlLXJpZ2h0IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5iZWUtcmFuay1uYW1lIHtcbiAgZm9udC1zaXplOiAwLjgycmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzY1NDgxMDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNDIsIDE4NSwgNTksIDAuMik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjQyLCAxODUsIDU5LCAwLjM4KTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIHBhZGRpbmc6IDAuMnJlbSAwLjVyZW07XG59XG5cbi5iZWUtcmFuay1wcm9ncmVzcy10cmFjayB7XG4gIHdpZHRoOiA2MnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoNDIsIDMzLCAyMCwgMC4xNCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5iZWUtcmFuay1wcm9ncmVzcy1maWxsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDAlO1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNmMmI5M2IgMCUsICNmN2QwNzAgMTAwJSk7XG4gIHRyYW5zaXRpb246IHdpZHRoIDIyMG1zIGVhc2U7XG59XG5cbi5iZWUtd29yZC1jYXBzdWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZmZmOWVjO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjBkZmI4O1xuICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICBwYWRkaW5nOiAwLjhyZW0gMXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3gtc2hhZG93OiAwIDZweCAxNHB4IHJnYmEoNTksIDQ0LCAxMiwgMC4wOCk7XG59XG5cbi5iZWUtY3VycmVudC13b3JkIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xNmVtO1xuICBmb250LXdlaWdodDogODAwO1xuICBjb2xvcjogIzMzMjQwZjtcbiAgbWluLWhlaWdodDogMi4ycmVtO1xufVxuXG4uYmVlLWZlZWRiYWNrLWxpbmUge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1pbi1oZWlnaHQ6IDEuMXJlbTtcbiAgZm9udC1zaXplOiAwLjg2cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5iZWUtZmVlZGJhY2stbGluZS5tZXNzYWdlLXdhcm5pbmcge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbn1cblxuLmJlZS1mZWVkYmFjay1saW5lLm1lc3NhZ2Utc3VjY2VzcyB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cblxuLmJlZS1mZWVkYmFjay1saW5lLm1lc3NhZ2UtaW5mbyB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmJlZS1zY29yZS1mbG9hdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0cHg7XG4gIHJpZ2h0OiAxMnB4O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5iZWUtc2NvcmUtZmxvYXQuaXMtdmlzaWJsZSB7XG4gIGFuaW1hdGlvbjogYmVlLXNjb3JlLWZsb2F0LXVwIDUyMG1zIGVhc2Utb3V0IGZvcndhcmRzO1xufVxuXG4uYmVlLXdvcmQtY2Fwc3VsZS5pcy1nbG93IHtcbiAgYW5pbWF0aW9uOiBiZWUtY2Fwc3VsZS1nbG93IDM2MG1zIGVhc2Utb3V0O1xufVxuXG4uYmVlLXdvcmQtY2Fwc3VsZS5pcy1zaGFrZSB7XG4gIGFuaW1hdGlvbjogYmVlLWNhcHN1bGUtc2hha2UgMzYwbXMgZWFzZS1pbi1vdXQ7XG59XG5cbi5iZWUtaG9uZXljb21iIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTEpO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgN3B4IDEycHggcmdiYSg2MiwgNDYsIDE1LCAwLjE0KSk7XG59XG5cbi5iZWUtcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5iZWUtbGV0dGVyIHtcbiAgd2lkdGg6IDk4cHg7XG4gIGhlaWdodDogODZweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZjZlMzlhO1xuICBjb2xvcjogIzM2MmMxNDtcbiAgZm9udC1zaXplOiAxLjc4cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNsaXAtcGF0aDogcG9seWdvbigyNSUgNiUsIDc1JSA2JSwgMTAwJSA1MCUsIDc1JSA5NCUsIDI1JSA5NCUsIDAgNTAlKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2U7XG59XG5cbi5iZWUtbGV0dGVyOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICBib3gtc2hhZG93OiAwIDhweCAxOHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5iZWUtbGV0dGVyLmlzLWNlbnRlciB7XG4gIGJhY2tncm91bmQ6ICNmMmI5M2I7XG59XG5cbi5iZWUtY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmJlZS1pY29uLWJ0biB7XG4gIG1pbi13aWR0aDogNDRweDtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYmVlLWZvdW5kLXRyaWdnZXIge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgYmFja2dyb3VuZDogI2ZhZjZlZTtcbiAgcGFkZGluZzogMC43NXJlbSAwLjlyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5iZWUtZm91bmQtdHJpZ2dlci1yaWdodCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uYmVlLWZvdW5kLWNvdW50IHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uYmVlLWZvdW5kLWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5iZWUtZm91bmQtd29yZCB7XG4gIHBhZGRpbmc6IDAuM3JlbSAwLjZyZW07XG4gIGJhY2tncm91bmQ6ICNmZmY1ZDY7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2YwZGNhMjtcbn1cblxuLmJlZS1ib3R0b20tc2hlZXQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICB6LWluZGV4OiA1NTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5iZWUtc2hlZXQtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjIsIDE2LCA5LCAwLjM2KTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxODBtcyBlYXNlO1xufVxuXG4uYmVlLXNoZWV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTA0JSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMjBtcyBlYXNlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgYm9yZGVyLXJhZGl1czogMThweCAxOHB4IDAgMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICBtYXgtaGVpZ2h0OiA3MnZoO1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLmJlZS1ib3R0b20tc2hlZXQuaXMtb3BlbiB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4uYmVlLWJvdHRvbS1zaGVldC5pcy1vcGVuIC5iZWUtc2hlZXQtYmFja2Ryb3Age1xuICBvcGFjaXR5OiAxO1xufVxuXG4uYmVlLWJvdHRvbS1zaGVldC5pcy1vcGVuIC5iZWUtc2hlZXQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5iZWUtc2hlZXQgaDMge1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmJlZS1zaGVldC1oYW5kbGUge1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0byB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmJlZS1zaGVldC1zY29yZS1saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgZ2FwOiAwLjRyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uYmVlLXNoZWV0LXNjb3JlLWxpbmUgc3Ryb25nIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuLmJlZS1zaGVldC1yYW5rLWxpbmUge1xuICBtYXJnaW46IHZhcigtLXNwYWNlLTIpIDAgdmFyKC0tc3BhY2UtMyk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmJlZS1wb2ludHMtYnJlYWtkb3duIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5iZWUtYnJlYWtkb3duLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwYWRkaW5nOiAwLjVyZW0gMC43cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5iZWUtYnJlYWtkb3duLXJvdyBzdHJvbmcge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG5cbi5iZWUtcmFuay1sYWRkZXIge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5iZWUtcmFuay1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlLWFsdCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBhZGRpbmc6IDAuNTVyZW0gMC43cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uYmVlLXNoZWV0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5iZWUtbW9kYWwgLm1vZGFsX19kaWFsb2cge1xuICBtYXgtd2lkdGg6IDQ2MHB4O1xufVxuXG4uYmVlLXN1bW1hcnkge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmJlZS1zdW1tYXJ5LWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uYmVlLXN1bW1hcnktdmFsdWUge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmJlZS1zdGF0cy1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNjBweCwgMWZyKSk7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xufVxuXG4uYmVlLXN0YXQtY2FyZCB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlLWFsdCk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5iZWUtc3RhdC1udW1iZXIge1xuICBmb250LXNpemU6IDJyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5yZWNlbnQtZ2FtZXMtbGlzdCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5yZWNlbnQtZ2FtZS1jYXJkIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc29mdCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5yZWNlbnQtZ2FtZS1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4ucmVjZW50LWdhbWUtZGF0ZSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnJlY2VudC1nYW1lLWxhYmVsIHtcbiAgbWFyZ2luOiB2YXIoLS1zcGFjZS0xKSAwIDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5yZWNlbnQtZ2FtZS1tb2RlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4ubW9kZS1iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjJyZW0gMC42cmVtO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDYzLCAxMDcsIDkxLCAwLjEyKTtcbiAgY29sb3I6ICMzYjZjNWE7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNjMsIDEwNywgOTEsIDAuMjUpO1xufVxuXG4ubW9kZS1saW5rIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1zdHJvbmcpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5tb2RlLWxpbms6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnJlY2VudC1nYW1lLXN0YXRzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxMjBweCwgMWZyKSk7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5yZWNlbnQtZ2FtZS1zdGF0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjJyZW07XG59XG5cbi5yZWNlbnQtZ2FtZS1zdGF0IC5zdGF0LWxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG59XG5cbi5yZWNlbnQtZ2FtZS1zdGF0IC5zdGF0LXZhbHVlIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC5zcGVsbGluZy1iZWUtcGFuZWwge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICB9XG4gIC5iZWUtbGV0dGVyIHtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgZm9udC1zaXplOiAxLjQ1cmVtO1xuICB9XG4gIC5iZWUtY29udHJvbHMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC5iZWUtY3VycmVudC13b3JkIHtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgfVxufVxuQGtleWZyYW1lcyBiZWUtc2NvcmUtZmxvYXQtdXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xuICB9XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE2cHgpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJlZS1jYXBzdWxlLWdsb3cge1xuICAwJSB7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMTRweCByZ2JhKDU5LCA0NCwgMTIsIDAuMDgpO1xuICB9XG4gIDUwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNnB4IHJnYmEoNzksIDEyMiwgMTA0LCAwLjE2KSwgMCAxMHB4IDI0cHggcmdiYSg3OSwgMTIyLCAxMDQsIDAuMTYpO1xuICB9XG4gIDEwMCUge1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDE0cHggcmdiYSg1OSwgNDQsIDEyLCAwLjA4KTtcbiAgfVxufVxuQGtleWZyYW1lcyBiZWUtY2Fwc3VsZS1zaGFrZSB7XG4gIDAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCk7XG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNnB4KTtcbiAgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNHB4KTtcbiAgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xuICB9XG59XG4uY29ubmVjdGlvbnMtcGFnZSB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIDAgdmFyKC0tc3BhY2UtNik7XG59XG4uY29ubmVjdGlvbnMtcGFnZS5pcy1uYXRpdmUge1xuICBwYWRkaW5nLXRvcDogY2FsYyg0NHB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC10b3ApICsgdmFyKC0tc3BhY2UtMikpO1xufVxuXG4uY29ubmVjdGlvbnMtcGFuZWwge1xuICBtYXgtd2lkdGg6IDgyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmNvbm5lY3Rpb25zLXRvYXN0LWxhbmUge1xuICBtaW4taGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uY29ubmVjdGlvbnMtbWVzc2FnZSB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMC44NnJlbTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC42NCwgMSksIG9wYWNpdHkgMC4xNXMgZWFzZTtcbn1cblxuLmNvbm5lY3Rpb25zLW1lc3NhZ2UubWVzc2FnZS13YXJuaW5nLFxuLmNvbm5lY3Rpb25zLW1lc3NhZ2UubWVzc2FnZS1zdWNjZXNzLFxuLmNvbm5lY3Rpb25zLW1lc3NhZ2UubWVzc2FnZS1lcnJvcixcbi5jb25uZWN0aW9ucy1tZXNzYWdlLm1lc3NhZ2UtaW5mbyB7XG4gIHBhZGRpbmc6IDAuNHJlbSAwLjc1cmVtO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5jb25uZWN0aW9ucy1tZXNzYWdlLm1lc3NhZ2Utd2FybmluZyB7XG4gIGNvbG9yOiAjOGQ0YTEwO1xuICBiYWNrZ3JvdW5kOiAjZmZmMWQ5O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWZkNGFhO1xufVxuXG4uY29ubmVjdGlvbnMtbWVzc2FnZS5tZXNzYWdlLXN1Y2Nlc3Mge1xuICBjb2xvcjogIzI0NWQ0YTtcbiAgYmFja2dyb3VuZDogI2U5ZjZlZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2JkZGZjZjtcbn1cblxuLmNvbm5lY3Rpb25zLW1lc3NhZ2UubWVzc2FnZS1lcnJvciB7XG4gIGNvbG9yOiAjODcyZjJjO1xuICBiYWNrZ3JvdW5kOiAjZmVlOWU4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWZjMGJkO1xufVxuXG4uY29ubmVjdGlvbnMtbWVzc2FnZS5tZXNzYWdlLWluZm8ge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGJhY2tncm91bmQ6ICNmM2YwZWE7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5jb25uZWN0aW9ucy1zb2x2ZWQtYXJlYSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG4uY29ubmVjdGlvbnMtc29sdmVkLWFyZWE6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY29ubmVjdGlvbnMtYXR0ZW1wdHMtZG90cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNDVyZW07XG59XG5cbi5jb25uZWN0aW9ucy1kb3Qge1xuICB3aWR0aDogOXB4O1xuICBoZWlnaHQ6IDlweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZSwgdHJhbnNmb3JtIDAuMjVzIGVhc2UsIG9wYWNpdHkgMC4yNXMgZWFzZTtcbn1cbi5jb25uZWN0aW9ucy1kb3QuaXMtZmlsbGVkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2FybmluZyk7XG4gIGJveC1zaGFkb3c6IDAgMCA2cHggcmdiYSgxOTQsIDE2MCwgNzcsIDAuMyk7XG59XG4uY29ubmVjdGlvbnMtZG90LmlzLWVtcHR5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgb3BhY2l0eTogMC42O1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuODUpO1xufVxuXG4uY29ubmVjdGlvbnMtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcbiAgZ2FwOiAwLjZyZW07XG59XG5cbi5jb25uZWN0aW9ucy10aWxlIHtcbiAgbWluLWhlaWdodDogNTZweDtcbiAgcGFkZGluZzogMC42NXJlbSAwLjM1cmVtO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBib3JkZXI6IDEuNXB4IHNvbGlkICNlNGQ5Y2I7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmZmZmZmYgMCUsICNmOWY1ZWYgMTAwJSk7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkgaW5zZXQsIDAgMnB4IDRweCByZ2JhKDQ0LCAzMSwgMTgsIDAuMDYpLCAwIDRweCA4cHggcmdiYSg0NCwgMzEsIDE4LCAwLjA0KTtcbiAgZm9udC1zaXplOiBjbGFtcCgwLjZyZW0sIDFyZW0gLSB2YXIoLS1jaGFyLWNvdW50LCA2KSAqIDAuMDI2cmVtLCAwLjlyZW0pO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzJhMjMxYTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgaHlwaGVuczogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjM0LCAxLjU2LCAwLjY0LCAxKSwgYm94LXNoYWRvdyAwLjE1cyBlYXNlLCBib3JkZXItY29sb3IgMC4xNXMgZWFzZSwgYmFja2dyb3VuZCAwLjE1cyBlYXNlO1xufVxuXG4uY29ubmVjdGlvbnMtdGlsZTpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2QwYzFhZTtcbiAgYm94LXNoYWRvdzogMCAxcHggMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSBpbnNldCwgMCAzcHggOHB4IHJnYmEoNDQsIDMxLCAxOCwgMC4wOSksIDAgNXB4IDEycHggcmdiYSg0NCwgMzEsIDE4LCAwLjA1KTtcbn1cblxuLmNvbm5lY3Rpb25zLXRpbGU6YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjk3KTtcbiAgYm9yZGVyLWNvbG9yOiAjYzVhZjkyO1xufVxuXG4uY29ubmVjdGlvbnMtdGlsZTpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkIHJnYmEoMTk0LCAxNjAsIDc3LCAwLjQ4KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbn1cblxuLmNvbm5lY3Rpb25zLXRpbGUuaXMtc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZjVlNmM4IDAlLCAjZWJkYWJjIDEwMCUpO1xuICBib3JkZXItY29sb3I6ICNjNGE0NjA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDIuNXB4IHJnYmEoMTk0LCAxNjAsIDc3LCAwLjI1KSwgMCAxcHggMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldCwgMCA0cHggMTJweCByZ2JhKDQ0LCAzMSwgMTgsIDAuMTIpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICBjb2xvcjogIzNhMmExNDtcbn1cblxuLmNvbm5lY3Rpb25zLXRpbGUuaXMtZW50ZXJpbmcge1xuICBhbmltYXRpb246IGNvbm5lY3Rpb25zLXRpbGUtaW4gMC4zcyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC42NCwgMSkgYm90aDtcbn1cblxuLmNvbm5lY3Rpb25zLXRpbGUuaXMtc2hha2luZyB7XG4gIGFuaW1hdGlvbjogY29ubmVjdGlvbnMtc2hha2UgMC40cyBlYXNlO1xufVxuXG4uY29ubmVjdGlvbnMtdGlsZS5pcy1wdWxzaW5nIHtcbiAgYW5pbWF0aW9uOiBjb25uZWN0aW9ucy1wdWxzZSAwLjMycyBlYXNlO1xufVxuXG4uY29ubmVjdGlvbnMtc3RpY2t5LWJhciB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIGJvdHRvbTogY2FsYyhlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkgKyA4cHgpO1xuICB6LWluZGV4OiAxNTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNDcsIDI0MywgMjM4LCAwLjkyKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgYm94LXNoYWRvdzogMCAtMnB4IDE2cHggcmdiYSg0MiwgMzIsIDIwLCAwLjA1KSwgMCA4cHggMjRweCByZ2JhKDQyLCAzMiwgMjAsIDAuMSk7XG4gIHBhZGRpbmc6IDAuNTVyZW07XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNDRweCAxZnIgNDRweDtcbiAgZ2FwOiAwLjU1cmVtO1xufVxuXG4uY29ubmVjdGlvbnMtc3RpY2t5LWJhciAuYnRuLCAuY29ubmVjdGlvbnMtc3RpY2t5LWJhciAuYnRuLXN1Y2Nlc3MsIC5jb25uZWN0aW9ucy1zdGlja3ktYmFyIC5idG4td2FybmluZywgLmNvbm5lY3Rpb25zLXN0aWNreS1iYXIgLmJ0bi1kYW5nZXIsIC5jb25uZWN0aW9ucy1zdGlja3ktYmFyIC5idG4taW5mbywgLmNvbm5lY3Rpb25zLXN0aWNreS1iYXIgLmJ0bi1vdXRsaW5lLXByaW1hcnksXG4uY29ubmVjdGlvbnMtc3RpY2t5LWJhciAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LFxuLmNvbm5lY3Rpb25zLXN0aWNreS1iYXIgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MsXG4uY29ubmVjdGlvbnMtc3RpY2t5LWJhciAuYnRuLW91dGxpbmUtZGFuZ2VyLFxuLmNvbm5lY3Rpb25zLXN0aWNreS1iYXIgLmJ0bi1vdXRsaW5lLXdhcm5pbmcsXG4uY29ubmVjdGlvbnMtc3RpY2t5LWJhciAuYnRuLW91dGxpbmUtaW5mbyB7XG4gIG1pbi1oZWlnaHQ6IDQ0cHg7XG59XG5cbi5jb25uZWN0aW9ucy1zdGlja3ktYmFyIC5idG4tcHJpbWFyeTpub3QoW2Rpc2FibGVkXSkge1xuICBib3gtc2hhZG93OiAwIDJweCAxMnB4IHJnYmEoNjMsIDEwNywgOTEsIDAuMyk7XG59XG5cbi5jb25uZWN0aW9ucy1pY29uLWJ0biB7XG4gIHdpZHRoOiA0NHB4O1xuICBtaW4td2lkdGg6IDQ0cHg7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmNvbm5lY3Rpb25zLWNsZWFyLWJ0biB7XG4gIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gIG1pbi13aWR0aDogNDRweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uY29ubmVjdGlvbnMtY2xlYXItYnRuOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgcmdiYSg2MywgMTA3LCA5MSwgMC4zNSk7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLmNvbm5lY3Rpb25zLXNvbHZlZCxcbi5jb25uZWN0aW9ucy1yZXZlYWwtcm93IHtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgcGFkZGluZzogMC44NXJlbSAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCA0cHggMTBweCByZ2JhKDM1LCAyNCwgMTQsIDAuMDYpO1xufVxuXG4uY29ubmVjdGlvbnMtc29sdmVkIHtcbiAgYW5pbWF0aW9uOiBjb25uZWN0aW9ucy1zb2x2ZWQtaW4gMC4zNXMgY3ViaWMtYmV6aWVyKDAuMzQsIDEuNTYsIDAuNjQsIDEpIGJvdGg7XG59XG5cbi5jb25uZWN0aW9ucy1zb2x2ZWQtaGVhZGVyLFxuLmNvbm5lY3Rpb25zLXJldmVhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIG1hcmdpbi1ib3R0b206IDAuNDVyZW07XG59XG5cbi5jb25uZWN0aW9ucy1jYXRlZ29yeSB7XG4gIGZvbnQtc2l6ZTogMC44NnJlbTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmNvbm5lY3Rpb25zLWRpZmZpY3VsdHktcGlsbCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuMzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBwYWRkaW5nOiAwLjJyZW0gMC41cmVtO1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbn1cblxuLmNvbm5lY3Rpb25zLWRpZmZpY3VsdHktcGlsbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG59XG5cbi5jb25uZWN0aW9ucy13b3JkcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAwLjRyZW07XG59XG5cbi5jb25uZWN0aW9ucy13b3JkLWNoaXAge1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgcGFkZGluZzogMC4ycmVtIDAuNDVyZW07XG4gIGZvbnQtc2l6ZTogMC43NHJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICBjb2xvcjogIzNhMzAyNDtcbn1cblxuLmNvbm5lY3Rpb25zLXJldmVhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5jb25uZWN0aW9ucy1yZXZlYWwuaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG59XG5cbi5kaWZmaWN1bHR5LXllbGxvdyB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMjQ3LCAyMjMsIDEzMiwgMC40NSkgMCUsIHJnYmEoMjQwLCAyMTAsIDEwMCwgMC4zKSAxMDAlKTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDE5NCwgMTYwLCA3NywgMC40NSk7XG59XG5cbi5jb25uZWN0aW9ucy1kaWZmaWN1bHR5LXllbGxvdyB7XG4gIGNvbG9yOiAjN2U2NDBmO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0NywgMjIzLCAxMzIsIDAuNSk7XG59XG5cbi5kaWZmaWN1bHR5LWdyZWVuIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxNjgsIDIwNSwgMTg1LCAwLjQ1KSAwJSwgcmdiYSgxNDAsIDE5MCwgMTY1LCAwLjMpIDEwMCUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoNzksIDEyMiwgMTA0LCAwLjQpO1xufVxuXG4uY29ubmVjdGlvbnMtZGlmZmljdWx0eS1ncmVlbiB7XG4gIGNvbG9yOiAjMjQ1YTQ1O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE2OCwgMjA1LCAxODUsIDAuNSk7XG59XG5cbi5kaWZmaWN1bHR5LWJsdWUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDE2MCwgMTg2LCAyMTUsIDAuNDUpIDAlLCByZ2JhKDE0MCwgMTcwLCAyMDUsIDAuMykgMTAwJSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxMTEsIDEzOCwgMTY1LCAwLjQpO1xufVxuXG4uY29ubmVjdGlvbnMtZGlmZmljdWx0eS1ibHVlIHtcbiAgY29sb3I6ICMyNDRmNzk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTYwLCAxODYsIDIxNSwgMC41KTtcbn1cblxuLmRpZmZpY3VsdHktcHVycGxlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxOTYsIDE3NSwgMjE0LCAwLjQ1KSAwJSwgcmdiYSgxODAsIDE1NSwgMjAwLCAwLjMpIDEwMCUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMTMwLCAxMDYsIDE2MiwgMC40KTtcbn1cblxuLmNvbm5lY3Rpb25zLWRpZmZpY3VsdHktcHVycGxlIHtcbiAgY29sb3I6ICM1YjNmN2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTk2LCAxNzUsIDIxNCwgMC41NSk7XG59XG5cbkBrZXlmcmFtZXMgY29ubmVjdGlvbnMtdGlsZS1pbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KSB0cmFuc2xhdGVZKDhweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgY29ubmVjdGlvbnMtc29sdmVkLWluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpIHNjYWxlKDAuOTYpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGNvbm5lY3Rpb25zLXNoYWtlIHtcbiAgMCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKSByb3RhdGUoMCk7XG4gIH1cbiAgMTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCkgcm90YXRlKC0xZGVnKTtcbiAgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpIHJvdGF0ZSgwLjVkZWcpO1xuICB9XG4gIDQ1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMC41ZGVnKTtcbiAgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgwLjNkZWcpO1xuICB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGNvbm5lY3Rpb25zLXB1bHNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpO1xuICB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk3KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmNvbm5lY3Rpb25zLXBhZ2UgLmFwcC1jb250YWluZXIsIC5jb25uZWN0aW9ucy1wYWdlIC5jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgfVxuICAuY29ubmVjdGlvbnMtZ3JpZCB7XG4gICAgZ2FwOiAwLjQ1cmVtO1xuICB9XG4gIC5jb25uZWN0aW9ucy10aWxlIHtcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIHBhZGRpbmc6IDAuNTVyZW0gMC4yNXJlbTtcbiAgfVxufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtcGxheSB7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwc3ZoIC0gMTMwcHgpO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyIGF1dG87XG4gIGdhcDogMC41cmVtO1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtbWVzc2FnZSB7XG4gIG1pbi1oZWlnaHQ6IDEuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC4xcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC44OHJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtbWVzc2FnZS5tZXNzYWdlLXdhcm5pbmcge1xuICBjb2xvcjogIzhkNGExMDtcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LW1lc3NhZ2UubWVzc2FnZS1zdWNjZXNzIHtcbiAgY29sb3I6ICMyNDVkNGE7XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1tZXNzYWdlLm1lc3NhZ2UtZXJyb3Ige1xuICBjb2xvcjogIzlmMmIyOTtcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LW1lc3NhZ2UubWVzc2FnZS1pbmZvIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtYm9hcmQtd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtYm9hcmQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg5LCAxZnIpO1xuICB3aWR0aDogbWluKDEwMCUsIG1pbig5MnZ3LCA2MnN2aCkpO1xuICBtYXgtd2lkdGg6IDYyMHB4O1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIGJvcmRlcjogMS41cHggc29saWQgI2I3YmZjOTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogMCA4cHggMjBweCByZ2JhKDMyLCAyNywgMjAsIDAuMDYpO1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtY2VsbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTllZjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMXJlbSwgMy44dncsIDEuNDVyZW0pO1xuICBjb2xvcjogIzM1NTA3YTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMjBtcyBlYXNlLCBib3gtc2hhZG93IDEyMG1zIGVhc2U7XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1jZWxsW2RhdGEtY29sPVwiMlwiXSxcbi5zdWRva3UtcGFnZSAuc3Vkb2t1LWNlbGxbZGF0YS1jb2w9XCI1XCJdIHtcbiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI2MyY2FkNTtcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LWNlbGxbZGF0YS1yb3c9XCIyXCJdLFxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtY2VsbFtkYXRhLXJvdz1cIjVcIl0ge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2MyY2FkNTtcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LWNlbGwuaXMtZ2l2ZW4ge1xuICBiYWNrZ3JvdW5kOiAjZjdmOWZjO1xuICBjb2xvcjogIzFmMjkzNztcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LWdpdmVuLXZhbHVlIHtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgY29sb3I6ICMxZjI5Mzc7XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1jZWxsLmlzLXJlbGF0ZWQge1xuICBiYWNrZ3JvdW5kOiAjZjRmOGZmO1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtY2VsbC5pcy1yZWxhdGVkLWJveCB7XG4gIGJhY2tncm91bmQ6ICNlZGYzZmU7XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1jZWxsLmlzLXNhbWUtbnVtYmVyIHtcbiAgYmFja2dyb3VuZDogI2U4ZjBmZjtcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LWNlbGwuaXMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2RlZWJmZjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4ICM0Yzc4YmE7XG4gIHotaW5kZXg6IDI7XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1jZWxsLmlzLWdpdmVuLmlzLWNvbmZsaWN0IHtcbiAgYmFja2dyb3VuZDogI2ZlZWFlYztcbiAgY29sb3I6ICNiNjMwMzQ7XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1jZWxsLmlzLWNvbmZsaWN0IHtcbiAgYmFja2dyb3VuZDogI2ZmZjBmMTtcbiAgY29sb3I6ICNiNjMwMzQ7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDE4MiwgNDgsIDUyLCAwLjMyKTtcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LWNlbGwuaXMtY29uZmxpY3Qtc2hha2Uge1xuICBhbmltYXRpb246IHN1ZG9rdS1jZWxsLXNoYWtlIDI2MG1zIGVhc2U7XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1jZWxsIGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDY1MDtcbiAgY29sb3I6ICMzNTUwN2E7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBvdXRsaW5lOiBub25lO1xuICBjYXJldC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LWNlbGwuaXMtY29uZmxpY3QgaW5wdXQge1xuICBjb2xvcjogI2I2MzAzNDtcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LW5vdGUtbGF5ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAycHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDMsIDFmcik7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxO1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3Utbm90ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXNpemU6IGNsYW1wKDAuNDhyZW0sIDEuN3Z3LCAwLjY0cmVtKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjN2I4Nzk2O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtYm90dG9tLWNvbnRyb2xzIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgYm90dG9tOiBjYWxjKGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSArIDRweCk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjQ3LCAyNDMsIDIzOCwgMC45NCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIHBhZGRpbmc6IDAuNTVyZW07XG4gIGJveC1zaGFkb3c6IDAgMTBweCAyNHB4IHJnYmEoMzIsIDI3LCAyMCwgMC4wOCk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtdG9vbHMtcm93IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKSBhdXRvO1xuICBnYXA6IDAuNDVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LXRvb2wtYnRuIHtcbiAgbWluLWhlaWdodDogNDRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q2ZGRlNztcbiAgYm9yZGVyLXJhZGl1czogMTFweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICMyZDNkNTQ7XG4gIGZvbnQtc2l6ZTogMC44MnJlbTtcbiAgZm9udC13ZWlnaHQ6IDY1MDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMC4zcmVtO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gOTBtcyBlYXNlLCBib3JkZXItY29sb3IgMTIwbXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAxMjBtcyBlYXNlO1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtdG9vbC1idG4gaSB7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LXRvb2wtYnRuOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjNGM3OGJhO1xuICBiYWNrZ3JvdW5kOiAjZThmMGZmO1xuICBjb2xvcjogIzIxNDY3Mztcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LXRvb2wtYnRuLmlzLWFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogIzRjNzhiYTtcbiAgYmFja2dyb3VuZDogI2U4ZjBmZjtcbiAgY29sb3I6ICMyMTQ2NzM7XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS10b29sLWJ0bjphY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpO1xuICBib3JkZXItY29sb3I6ICM5ZWFlYzI7XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1jaGVjay1idG4ge1xuICBtaW4taGVpZ2h0OiA0NHB4O1xuICBwYWRkaW5nOiAwIDAuOXJlbTtcbiAgZm9udC1zaXplOiAwLjg0cmVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3Uta2V5Ym9hcmQge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjM1cmVtO1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3Uta2V5Ym9hcmQtcm93IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICBnYXA6IDAuMzVyZW07XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1rZXktYnV0dG9uIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q5ZTBlOTtcbiAgYm9yZGVyLXJhZGl1czogMTFweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgY29sb3I6ICMyMjM1NGQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4xOHJlbTtcbiAgbWluLWhlaWdodDogNDZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsIGJvcmRlci1jb2xvciAwLjE1cyBlYXNlO1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3Uta2V5LWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmOGZiZmY7XG59XG4uc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1rZXktYnV0dG9uOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7XG4gIGJvcmRlci1jb2xvcjogIzllYWVjMjtcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LWtleS1idXR0b24uaXMtY29tcGxldGUge1xuICBiYWNrZ3JvdW5kOiAjZTFlOGYyO1xuICBib3JkZXItY29sb3I6ICNiOGM0ZDQ7XG4gIGNvbG9yOiAjMWIyZTQ1O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbn1cbi5zdWRva3UtcGFnZSAuc3Vkb2t1LWtleS1idXR0b24uaXMtcGxhY2Vob2xkZXIge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN1ZG9rdS1wYWdlIC5zdWRva3UtYm9hcmQuaXMtcmVhZG9ubHkgLnN1ZG9rdS1jZWxsIHtcbiAgYmFja2dyb3VuZDogI2Y5ZmFmYjtcbiAgY29sb3I6ICMxMTE4Mjc7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnN1ZG9rdS1wYWdlIC5hcHAtY29udGFpbmVyLCAuc3Vkb2t1LXBhZ2UgLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCAxNnB4O1xuICB9XG4gIC5zdWRva3UtcGFnZSAuc3Vkb2t1LXBsYXkge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwc3ZoIC0gMTIwcHgpO1xuICAgIGdhcDogMC4zNXJlbTtcbiAgfVxuICAuc3Vkb2t1LXBhZ2UgLnN1ZG9rdS1ib2FyZCB7XG4gICAgd2lkdGg6IG1pbigxMDAlLCBtaW4oOTJ2dywgNjRzdmgpKTtcbiAgfVxuICAuc3Vkb2t1LXBhZ2UgLnN1ZG9rdS10b29scy1yb3cge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKSBhdXRvO1xuICAgIGdhcDogMC4zNXJlbTtcbiAgfVxuICAuc3Vkb2t1LXBhZ2UgLnN1ZG9rdS10b29sLWJ0biB7XG4gICAgZm9udC1zaXplOiAwLjc0cmVtO1xuICB9XG59XG5ib2R5LnR1cmJvLW5hdGl2ZS1ib2R5IC5zdWRva3UtcGFnZSAuc3Vkb2t1LXBsYXkge1xuICBwYWRkaW5nLXRvcDogMS41cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5zdWRva3UtcGFnZSAuc3Vkb2t1LWJvYXJkIHtcbiAgICB3aWR0aDogbWluKDcydmgsIDYyMHB4KTtcbiAgfVxufVxuQGtleWZyYW1lcyBzdWRva3UtY2VsbC1zaGFrZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgMjUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbiAgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cbi5zdWRva3UtcGFnZSAuc2hhcmUtY2FyZC0tc3Vkb2t1IC5zaGFyZS1jYXJkX19iYWNrZHJvcCB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwZjc2NmUsICMwZjE3MmEpO1xufVxuXG4uYXBwLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMykgMDtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAyMDA7XG59XG5cbi5hcHAtbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4uYXBwLW5hdl9fbGVmdCxcbi5hcHAtbmF2X19yaWdodCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5hcHAtbmF2X19hdXRoIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmFwcC1icmFuZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5uYXYtYmFjay1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAzNHB4O1xuICBoZWlnaHQ6IDM0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlLWFsdCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTtcbn1cbi5uYXYtYmFjay1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG5cbi5uYXYtaWNvbi1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIHBhZGRpbmc6IDA7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2U7XG59XG4ubmF2LWljb24tYnRuOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4ubmF2LWxpbmtzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ubmF2LWxpbmsge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICBwYWRkaW5nOiAwLjRyZW0gMC42cmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuLm5hdi1saW5rLmlzLWFjdGl2ZSwgLm5hdi1saW5rOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlLWFsdCk7XG59XG5cbi5oZWxwLWxpbmsge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmhlbHAtbGlua19faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMjhweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xufVxuXG4ubmF2LWF2YXRhci13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubmF2LWF2YXRhci1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci1zZWNvbmRhcnkpLCB2YXIoLS1jb2xvci1wcmltYXJ5KSk7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2UsIHRyYW5zZm9ybSAwLjE1cyBlYXNlO1xufVxuLm5hdi1hdmF0YXItYnRuOmhvdmVyIHtcbiAgb3BhY2l0eTogMC44ODtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA2KTtcbn1cbi5uYXYtYXZhdGFyLWJ0bjphY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuXG4ubmF2LWRyb3Bkb3duX19tZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDhweCk7XG4gIHJpZ2h0OiAwO1xuICBtaW4td2lkdGg6IDIxMHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXN0cm9uZyk7XG4gIHotaW5kZXg6IDMwMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5uYXYtZHJvcGRvd25fX21lbnUuaXMtb3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubmF2LWRyb3Bkb3duX19oZWFkZXIge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS00KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UtYWx0KTtcbn1cblxuLm5hdi1kcm9wZG93bl9fbmFtZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLm5hdi1kcm9wZG93bl9faGFuZGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIG1hcmdpbi10b3A6IDJweDtcbn1cblxuLm5hdi1kcm9wZG93bl9faXRlbXMge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKSAwO1xufVxuXG4ubmF2LWRyb3Bkb3duX19pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMykgdmFyKC0tc3BhY2UtNCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlO1xufVxuLm5hdi1kcm9wZG93bl9faXRlbSBpIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBmbGV4LXNocmluazogMDtcbn1cbi5uYXYtZHJvcGRvd25fX2l0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlLWFsdCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cbi5uYXYtZHJvcGRvd25fX2l0ZW0uaXMtZGFuZ2VyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7XG59XG4ubmF2LWRyb3Bkb3duX19pdGVtLmlzLWRhbmdlciBpIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7XG59XG4ubmF2LWRyb3Bkb3duX19pdGVtLmlzLWRhbmdlcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTg0LCA5MSwgODYsIDAuMDgpO1xufVxuXG4ubmF2LWRyb3Bkb3duX19kaXZpZGVyIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIG1hcmdpbjogdmFyKC0tc3BhY2UtMikgMDtcbn1cblxuLmFkbWluLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xuICBnYXA6IHZhcigtLXNwYWNlLTUpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS01KTtcbn1cblxuLmRhdGEtdGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG59XG5cbi5kYXRhLXRhYmxlIHRoZWFkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA0KTtcbn1cblxuLmRhdGEtdGFibGUgdGgsXG4uZGF0YS10YWJsZSB0ZCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbn1cblxuLmRhdGEtdGFibGUgdGgge1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbn1cblxuLmRhdGEtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDIpO1xufVxuXG4uZm9ybS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyNjBweCwgMWZyKSk7XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5mb3JtLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnBhZ2VyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTQpO1xufVxuXG4ucGFnZXJfX2xpbmsge1xuICBwYWRkaW5nOiAwLjQ1cmVtIDAuOXJlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xufVxuLnBhZ2VyX19saW5rLmlzLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uYXV0aC1jYXJkIHtcbiAgbWF4LXdpZHRoOiA0NDBweDtcbiAgbWFyZ2luOiB2YXIoLS1zcGFjZS02KSBhdXRvO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS01KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbn1cblxuLmF1dGgtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZmxhc2gtc3RhY2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogdmFyKC0tc3BhY2UtMyk7XG4gIHJpZ2h0OiB2YXIoLS1zcGFjZS0zKTtcbiAgbWF4LXdpZHRoOiAzMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgei1pbmRleDogOTk5O1xufVxuXG4uaGVscC1tb2RhbCAubW9kYWxfX2RpYWxvZyB7XG4gIHdpZHRoOiBtaW4oNjgwcHgsIDk1dncpO1xufVxuLmhlbHAtbW9kYWwgLm1vZGFsX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5oZWxwLWxlYWQge1xuICBmb250LXNpemU6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG5cbi5oZWxwLXN0ZXBzIHtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtNCk7XG4gIHBhZGRpbmctbGVmdDogMS4ycmVtO1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG4uaGVscC1zdGVwcyBsaSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5oZWxwLWV4YW1wbGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlLWFsdCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uaGVscC1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uaGVscC1jYXB0aW9uIHtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uaGVscC13b3JkbGUtcm93IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgbWlubWF4KDM2cHgsIDQ4cHgpKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS02KTtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbn1cblxuLmhlbHAtYmVlLWRlbW8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmhlbHAtYmVlLWRlbW8gLmJlZS1ob25leWNvbWIge1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uaGVscC1iZWUtZGVtbyAuYmVlLXJvdyB7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5oZWxwLWJlZS1kZW1vIC5iZWUtbGV0dGVyIHtcbiAgd2lkdGg6IDU0cHg7XG4gIGhlaWdodDogNDhweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4uaGVscC1iZWUtd29yZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG59XG5cbi5oZWxwLWhpZ2hsaWdodCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xufVxuXG4uaGVscC1jb25uZWN0aW9ucy1yb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5oZWxwLWNvbm5lY3Rpb25zLXJvdyAuY29ubmVjdGlvbnMtdGlsZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBQV0Etc3BlY2lmaWMgc3R5bGVzICovXG4vKiBIaWRlIGJyb3dzZXIgVUkgZWxlbWVudHMgd2hlbiBydW5uaW5nIGFzIFBXQSAqL1xuQG1lZGlhIChkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIHtcbiAgYm9keSB7XG4gICAgLyogRW5zdXJlIGZ1bGwgc2NyZWVuIGV4cGVyaWVuY2UgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIH1cbiAgLyogSGlkZSBzY3JvbGxiYXJzIG9uIG1vYmlsZSAqL1xuICA6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC8qIFByZXZlbnQgdGV4dCBzZWxlY3Rpb24gb24gYnV0dG9ucyAqL1xuICAuYnRuLCAuYnRuLXN1Y2Nlc3MsIC5idG4td2FybmluZywgLmJ0bi1kYW5nZXIsIC5idG4taW5mbywgLmJ0bi1vdXRsaW5lLXByaW1hcnksXG4gIC5idG4tb3V0bGluZS1zZWNvbmRhcnksXG4gIC5idG4tb3V0bGluZS1zdWNjZXNzLFxuICAuYnRuLW91dGxpbmUtZGFuZ2VyLFxuICAuYnRuLW91dGxpbmUtd2FybmluZyxcbiAgLmJ0bi1vdXRsaW5lLWluZm8ge1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbn1cbi8qIE9mZmxpbmUgaW5kaWNhdG9yIHN0eWxlcyAqL1xuYm9keS5vZmZsaW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5ib2R5Lm9mZmxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiU2luIGNvbmV4acOzblwiO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjZiNmI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiA0cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgei1pbmRleDogOTk5OTtcbn1cblxuLyogUFdBIG1vZGUgc3BlY2lmaWMgc3R5bGVzICovXG5ib2R5LnB3YS1tb2RlIHtcbiAgLyogQWRkIGFueSBQV0Etc3BlY2lmaWMgc3R5bGluZyAqL1xufVxuXG4vKiBCZXR0ZXIgdG91Y2ggdGFyZ2V0cyBmb3IgbW9iaWxlICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmJ0biwgLmJ0bi1zdWNjZXNzLCAuYnRuLXdhcm5pbmcsIC5idG4tZGFuZ2VyLCAuYnRuLWluZm8sIC5idG4tb3V0bGluZS1wcmltYXJ5LFxuICAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LFxuICAuYnRuLW91dGxpbmUtc3VjY2VzcyxcbiAgLmJ0bi1vdXRsaW5lLWRhbmdlcixcbiAgLmJ0bi1vdXRsaW5lLXdhcm5pbmcsXG4gIC5idG4tb3V0bGluZS1pbmZvIHtcbiAgICBtaW4taGVpZ2h0OiA0NHB4O1xuICAgIG1pbi13aWR0aDogNDRweDtcbiAgfVxuICBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7XG4gICAgZm9udC1zaXplOiAxNnB4OyAvKiBQcmV2ZW50cyB6b29tIG9uIGlPUyAqL1xuICB9XG59XG4vKiBTYWZlIGFyZWEgaW5zZXRzIGZvciBub3RjaGVkIGRldmljZXMgKi9cbkBzdXBwb3J0cyAocGFkZGluZzogbWF4KDBweCkpIHtcbiAgYm9keSB7XG4gICAgcGFkZGluZy1sZWZ0OiBtYXgoMHB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBtYXgoMHB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSk7XG4gICAgcGFkZGluZy10b3A6IG1heCgwcHgsIGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKSk7XG4gICAgcGFkZGluZy1ib3R0b206IG1heCgwcHgsIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG4gIH1cbn1cbi5wb2xpY3ktcGFnZSB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTYpIDAgdmFyKC0tc3BhY2UtNyk7XG59XG5cbi5wb2xpY3ktY2FyZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc29mdCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wb2xpY3ktaGVhZGVyIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNSkgdmFyKC0tc3BhY2UtNSkgdmFyKC0tc3BhY2UtNCk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZmJmN2YxIDAlLCAjZmZmIDEwMCUpO1xufVxuXG4ucG9saWN5LXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMi4xcmVtO1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLnBvbGljeS1tZXRhIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG59XG5cbi5wb2xpY3ktYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTUpO1xufVxuXG4ucG9saWN5LWNvbnRlbnQge1xuICBmb250LXNpemU6IDEuMDVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG4ucG9saWN5LWNvbnRlbnQgcCB7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTMpO1xufVxuLnBvbGljeS1jb250ZW50IGgyIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBtYXJnaW46IHZhcigtLXNwYWNlLTUpIDAgdmFyKC0tc3BhY2UtMik7XG59XG4ucG9saWN5LWNvbnRlbnQgaDMge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxLjE1cmVtO1xuICBtYXJnaW46IHZhcigtLXNwYWNlLTQpIDAgdmFyKC0tc3BhY2UtMik7XG59XG4ucG9saWN5LWNvbnRlbnQgdWwge1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS0zKTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS01KTtcbn1cbi5wb2xpY3ktY29udGVudCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xufVxuLnBvbGljeS1jb250ZW50IHN0cm9uZyB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5wb2xpY3ktcGFnZSB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtNSkgMCB2YXIoLS1zcGFjZS02KTtcbiAgfVxuICAucG9saWN5LWhlYWRlcixcbiAgLnBvbGljeS1ib2R5IHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgfVxuICAucG9saWN5LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gIH1cbn1cbi5wcm9maWxlLXBhZ2Uge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmcpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjZS03KSArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG59XG5cbi5wcm9maWxlLWhlcm8ge1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDIwJSAwJSwgcmdiYSg3OSwgMTIyLCAxMDQsIDAuMiksIHRyYW5zcGFyZW50IDUwJSksIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgODIlIDEwJSwgcmdiYSgxOTQsIDE2MCwgNzcsIDAuMTgpLCB0cmFuc3BhcmVudCA0MiUpLCB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTUpIDAgdmFyKC0tc3BhY2UtNSk7XG59XG5cbi5wcm9maWxlLW5hdGl2ZS10b3BiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLm5hdGl2ZS1zZXR0aW5ncy1idG4ge1xuICB3aWR0aDogMzhweDtcbiAgaGVpZ2h0OiAzOHB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC45MnJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSg1OCwgNDYsIDMzLCAwLjA4KTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZSwgYmFja2dyb3VuZCAwLjE1cyBlYXNlO1xufVxuLm5hdGl2ZS1zZXR0aW5ncy1idG46aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xufVxuXG4ucHJvZmlsZS1pZGVudGl0eSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0xKTtcbn1cblxuLnByb2ZpbGUtYXZhdGFyIHtcbiAgd2lkdGg6IDg4cHg7XG4gIGhlaWdodDogODhweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDVkZWcsIHZhcigtLWNvbG9yLXNlY29uZGFyeSksIHZhcigtLWNvbG9yLXByaW1hcnkpKTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEuNjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgNnB4IDIwcHggcmdiYSg2MywgMTA3LCA5MSwgMC4yOCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ucHJvZmlsZS1uYW1lIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgxLjZyZW0sIDV2dywgMi4xcmVtKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4ucHJvZmlsZS1oYW5kbGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5wcm9maWxlLXJvdy1jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogMCAxcHggNnB4IHJnYmEoNTgsIDQ2LCAzMywgMC4wNik7XG59XG4ucHJvZmlsZS1yb3ctY2FyZC5wcm9maWxlLXJvdy1jYXJkLS1zdGF0cyB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ucHJvZmlsZS1yb3ctY2VsbCB7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMykgdmFyKC0tc3BhY2UtNCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4ucHJvZmlsZS1yb3ctY2VsbC5pcy1saW5rIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjEycyBlYXNlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucHJvZmlsZS1yb3ctY2VsbC5pcy1saW5rOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xufVxuXG4ucHJvZmlsZS1yb3ctbnVtIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMS41NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cbi5wcm9maWxlLXJvdy1udW0uaXMteHAge1xuICBjb2xvcjogIzdhNWExNDtcbn1cblxuLnByb2ZpbGUtcm93LWxibCB7XG4gIGZvbnQtc2l6ZTogMC42N3JlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4ucHJvZmlsZS1yb3ctc2VwIHtcbiAgd2lkdGg6IDFweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5wcm9maWxlLWFjdGlvbiB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTQpO1xufVxuXG4ucHJvZmlsZS1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjhyZW0gMS41cmVtO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZSwgdHJhbnNmb3JtIDAuMTJzIGVhc2U7XG59XG4ucHJvZmlsZS1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LXN0cm9uZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cbi5wcm9maWxlLWJ0bjphY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5wcm9maWxlLWJ0bi0tZm9sbG93aW5nIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxODQsIDkxLCA4NiwgMC4xKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7XG59XG4ucHJvZmlsZS1idG4tLWZvbGxvd2luZzpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTg0LCA5MSwgODYsIDAuMTgpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbn1cblxuLnByb2ZpbGUtc2VjdGlvbi1sYWJlbCB7XG4gIG1hcmdpbjogdmFyKC0tc3BhY2UtNSkgMCB2YXIoLS1zcGFjZS0zKTtcbiAgZm9udC1zaXplOiAwLjY4cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xNmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5wcm9maWxlLWdhbWVzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG4ucHJvZmlsZS1nYW1lLWNhcmQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDU4LCA0NiwgMzMsIDAuMDUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4ucHJvZmlsZS1nYW1lLWNhcmRfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5wcm9maWxlLWdhbWUtaWNvbiB7XG4gIHdpZHRoOiA1MnB4O1xuICBoZWlnaHQ6IDUycHg7XG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBmbGV4LXNocmluazogMDtcbiAgYmFja2dyb3VuZDogcmdiYSg2MywgMTA3LCA5MSwgMC4xMik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNjMsIDEwNywgOTEsIDAuMjIpO1xufVxuXG4ucHJvZmlsZS1nYW1lLWNhcmRbZGF0YS1nYW1lPXdvcmRsZV0gLnByb2ZpbGUtZ2FtZS1pY29uIHtcbiAgYmFja2dyb3VuZDogcmdiYSg2MywgMTA3LCA5MSwgMC4xNCk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg2MywgMTA3LCA5MSwgMC4yNik7XG59XG5cbi5wcm9maWxlLWdhbWUtY2FyZFtkYXRhLWdhbWU9c3BlbGxpbmdfYmVlXSAucHJvZmlsZS1nYW1lLWljb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE5NCwgMTYwLCA3NywgMC4xOCk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxOTQsIDE2MCwgNzcsIDAuMzIpO1xufVxuXG4ucHJvZmlsZS1nYW1lLWNhcmRbZGF0YS1nYW1lPWNvbm5lY3Rpb25zXSAucHJvZmlsZS1nYW1lLWljb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDcxLCAxMDIsIDEzMywgMC4xNik7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg3MSwgMTAyLCAxMzMsIDAuMjgpO1xufVxuXG4ucHJvZmlsZS1nYW1lLWNhcmRbZGF0YS1nYW1lPXN1ZG9rdV0gLnByb2ZpbGUtZ2FtZS1pY29uIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxNDAsIDExMCwgNzQsIDAuMTUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMTQwLCAxMTAsIDc0LCAwLjI3KTtcbn1cblxuLnByb2ZpbGUtZ2FtZS1tZXRhIHtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4ucHJvZmlsZS1nYW1lLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDEuMDVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLnByb2ZpbGUtZ2FtZS1zdWIge1xuICBtYXJnaW46IDAuMnJlbSAwIDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5wcm9maWxlLWdhbWUtc3RhdHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMyk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4ucHJvZmlsZS1nYW1lLXN0YXQge1xuICBmbGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDNweDtcbn1cblxuLnByb2ZpbGUtZ2FtZS1zdGF0X192YWwge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxLjU1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4ucHJvZmlsZS1nYW1lLXN0YXRfX3VuaXQge1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgbWFyZ2luLWxlZnQ6IDFweDtcbn1cblxuLnByb2ZpbGUtZ2FtZS1zdGF0X19sYmwge1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4ucHJvZmlsZS1nYW1lLXN0YXRfX3NlcCB7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMzhweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5wcm9maWxlLWdhbWUtZW1wdHkge1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKSAwIHZhcigtLXNwYWNlLTEpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnByb2ZpbGUtc2VnLWNvbnRyb2wge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIG1hcmdpbjogdmFyKC0tc3BhY2UtNCkgMCAwO1xufVxuLnByb2ZpbGUtc2VnLWNvbnRyb2wgLnNlZy1jb250cm9sX19vcHRpb24ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYmFzZSk7XG59XG5cbi5oaXN0b3J5LWZlZWQge1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5oaXN0b3J5LWRheS1sYWJlbCB7XG4gIG1hcmdpbjogdmFyKC0tc3BhY2UtNCkgMCB2YXIoLS1zcGFjZS0yKTtcbiAgZm9udC1zaXplOiAwLjY4cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4xNGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG4uaGlzdG9yeS1kYXktbGFiZWw6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmhpc3RvcnktZGF5LWRhdGUge1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLmhpc3RvcnktZGF5LWdyb3VwIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDU4LCA0NiwgMzMsIDAuMDUpO1xufVxuXG4uaGlzdG9yeS1yb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQ4cHggMWZyIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTQpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cbi5oaXN0b3J5LXJvdzpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmhpc3RvcnktaWNvbiB7XG4gIHdpZHRoOiA0NnB4O1xuICBoZWlnaHQ6IDQ2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS40NXJlbTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoNjMsIDEwNywgOTEsIDAuMTIpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDYzLCAxMDcsIDkxLCAwLjIyKTtcbn1cbi5oaXN0b3J5LWljb25bZGF0YS1nYW1lPXdvcmRsZV0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDYzLCAxMDcsIDkxLCAwLjE0KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDYzLCAxMDcsIDkxLCAwLjI2KTtcbn1cbi5oaXN0b3J5LWljb25bZGF0YS1nYW1lPXNwZWxsaW5nX2JlZV0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE5NCwgMTYwLCA3NywgMC4xOCk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxOTQsIDE2MCwgNzcsIDAuMzIpO1xufVxuLmhpc3RvcnktaWNvbltkYXRhLWdhbWU9Y29ubmVjdGlvbnNdIHtcbiAgYmFja2dyb3VuZDogcmdiYSg3MSwgMTAyLCAxMzMsIDAuMTYpO1xuICBib3JkZXItY29sb3I6IHJnYmEoNzEsIDEwMiwgMTMzLCAwLjI4KTtcbn1cbi5oaXN0b3J5LWljb25bZGF0YS1nYW1lPXN1ZG9rdV0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE0MCwgMTEwLCA3NCwgMC4xNSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxNDAsIDExMCwgNzQsIDAuMjcpO1xufVxuXG4uaGlzdG9yeS1pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAzcHg7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLmhpc3RvcnktZ2FtZS1uYW1lIHtcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uaGlzdG9yeS1zdGF0LWxpbmUge1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmhpc3RvcnktcmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGdhcDogM3B4O1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLmhpc3RvcnkteHAge1xuICBmb250LXNpemU6IDAuOTJyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjN2E1YTE0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uaGlzdG9yeS1yZXN1bHQge1xuICBmb250LXNpemU6IDAuNzRyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uaGlzdG9yeS1yZXN1bHQuaXMtd29uIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLmhpc3RvcnktcmVzdWx0LmlzLXBlcmZlY3Qge1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG4uaGlzdG9yeS1yZXN1bHQuaXMtbG9zdCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmhpc3RvcnktZW1wdHkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTcpIHZhcigtLXNwYWNlLTQpO1xufVxuXG4uaGlzdG9yeS1lbXB0eV9faWNvbiB7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uaGlzdG9yeS1lbXB0eV9fdGl0bGUge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxLjE1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTIpO1xufVxuXG4uaGlzdG9yeS1lbXB0eV9fc3ViIHtcbiAgZm9udC1zaXplOiAwLjg4cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIG1hcmdpbjogMDtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gIC5wcm9maWxlLWF2YXRhciB7XG4gICAgYW5pbWF0aW9uOiBwcm9maWxlLXJpc2UgMC41cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSkgYm90aDtcbiAgfVxuICAucHJvZmlsZS1yb3ctY2FyZDpudGgtb2YtdHlwZSgxKSB7XG4gICAgYW5pbWF0aW9uOiBwcm9maWxlLXJpc2UgMC40OHMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpIDAuMDVzIGJvdGg7XG4gIH1cbiAgLnByb2ZpbGUtcm93LWNhcmQ6bnRoLW9mLXR5cGUoMikge1xuICAgIGFuaW1hdGlvbjogcHJvZmlsZS1yaXNlIDAuNDhzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSAwLjA5cyBib3RoO1xuICB9XG4gIC5wcm9maWxlLWFjdGlvbiB7XG4gICAgYW5pbWF0aW9uOiBwcm9maWxlLXJpc2UgMC40OHMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpIDAuMTNzIGJvdGg7XG4gIH1cbiAgLnByb2ZpbGUtZ2FtZS1jYXJkOm50aC1jaGlsZCgxKSB7XG4gICAgYW5pbWF0aW9uOiBwcm9maWxlLXJpc2UgMC40NXMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpIDAuMTZzIGJvdGg7XG4gIH1cbiAgLnByb2ZpbGUtZ2FtZS1jYXJkOm50aC1jaGlsZCgyKSB7XG4gICAgYW5pbWF0aW9uOiBwcm9maWxlLXJpc2UgMC40NXMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpIDAuMjNzIGJvdGg7XG4gIH1cbiAgLnByb2ZpbGUtZ2FtZS1jYXJkOm50aC1jaGlsZCgzKSB7XG4gICAgYW5pbWF0aW9uOiBwcm9maWxlLXJpc2UgMC40NXMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpIDAuM3MgYm90aDtcbiAgfVxuICAucHJvZmlsZS1nYW1lLWNhcmQ6bnRoLWNoaWxkKDQpIHtcbiAgICBhbmltYXRpb246IHByb2ZpbGUtcmlzZSAwLjQ1cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSkgMC4zN3MgYm90aDtcbiAgfVxufVxuQGtleWZyYW1lcyBwcm9maWxlLXJpc2Uge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNHB4KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cbi5wcm9maWxlLXBhZ2UgLmFwcC1jb250YWluZXIsIC5wcm9maWxlLXBhZ2UgLmNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNjgwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NjBweCkge1xuICAucHJvZmlsZS1idG4ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1pbi13aWR0aDogMjIwcHg7XG4gIH1cbiAgLnByb2ZpbGUtYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnByb2ZpbGUtc2VnLWNvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkge1xuICAucHJvZmlsZS1nYW1lcyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgfVxuICAucHJvZmlsZS1hdmF0YXIge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIGZvbnQtc2l6ZTogMS44NXJlbTtcbiAgfVxufVxuLmZyaWVuZHMtcGFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAxNSUgMTAlLCByZ2JhKDYzLCAxMDcsIDkxLCAwLjIpLCB0cmFuc3BhcmVudCA0NSUpLCByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDg1JSAxNSUsIHJnYmEoMTExLCAxMzgsIDE2NSwgMC4xOCksIHRyYW5zcGFyZW50IDM1JSksIHZhcigtLWNvbG9yLWJnKTtcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDcwcHgpO1xufVxuXG4uZnJpZW5kcy1oZXJvIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNikgMCB2YXIoLS1zcGFjZS03KTtcbn1cblxuLmZyaWVuZHMtaW50cm8ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTUpO1xufVxuXG4uZnJpZW5kcy1iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMik7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC43NXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg2MywgMTA3LCA5MSwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGZvbnQtc2l6ZTogMC43MnJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMThlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmZyaWVuZHMtdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cblxuLmZyaWVuZHMtc3VidGl0bGUge1xuICBtYXJnaW46IHZhcigtLXNwYWNlLTIpIGF1dG8gMDtcbiAgbWF4LXdpZHRoOiA2NDBweDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uZnJpZW5kcy1wYW5lbCxcbi5mcmllbmRzLWxpc3Qtd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zb2Z0KTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5mcmllbmRzLWxpc3Qtd3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTQpO1xufVxuXG4uZnJpZW5kcy1zZWN0aW9uLWhlYWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmZyaWVuZHMtbGluay1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDAuNDVyZW0gMC44cmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLmZyaWVuZHMtbGluay1idG4uaXMtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmZyaWVuZHMtZm9ybSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4uZnJpZW5kcy1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uZnJpZW5kcy1mb3JtLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTIpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC5mcmllbmRzLWZvcm0tcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5cbi5mcmllbmRzLWlucHV0IHtcbiAgZmxleDogMTtcbiAgbWluLWhlaWdodDogNDRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgcGFkZGluZzogMC42NXJlbSAwLjhyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLmZyaWVuZHMtc3VibWl0IHtcbiAgbWluLWhlaWdodDogNDRweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDAuNjVyZW0gMXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZnJpZW5kcy1saXN0IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5mcmllbmRzLWNhcmQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICAuZnJpZW5kcy1jYXJkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gIH1cbn1cblxuLmZyaWVuZHMtY2FyZC1wcm9maWxlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLmZyaWVuZHMtbmFtZSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmZyaWVuZHMtdXNlcm5hbWUge1xuICBtYXJnaW46IDAuMXJlbSAwIDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmZyaWVuZHMtZW1haWwge1xuICBtYXJnaW46IDAuMnJlbSAwIDA7XG4gIGZvbnQtc2l6ZTogMC44NHJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uZnJpZW5kcy1zdGF0cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICAuZnJpZW5kcy1zdGF0cyB7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgfVxufVxuXG4uZnJpZW5kcy1yZW1vdmUge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIGJhY2tncm91bmQ6ICNmOGViZTk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1kYW5nZXIpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAwLjU1cmVtIDAuOHJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZnJpZW5kcy1lbXB0eSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTMpO1xuICBib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cblxuLmZyaWVuZHMtZW1wdHktdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5mcmllbmRzLWVtcHR5LWNvcHkge1xuICBtYXJnaW46IHZhcigtLXNwYWNlLTIpIDAgMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uc3RhbmRpbmdzLXBhZ2Uge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmcpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjZS03KSArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG59XG5cbi5zdGFuZGluZ3MtaGVybyB7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMTUlIDAlLCByZ2JhKDE5NCwgMTYwLCA3NywgMC4xOCksIHRyYW5zcGFyZW50IDU1JSksIHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgODUlIDEwJSwgcmdiYSg2MywgMTA3LCA5MSwgMC4xNCksIHRyYW5zcGFyZW50IDUwJSksIHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNSkgMCB2YXIoLS1zcGFjZS00KTtcbn1cblxuLnN0YW5kaW5ncy1oZXJvX19pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLnN0YW5kaW5ncy10aXRsZSB7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTEpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgycmVtLCA2dncsIDIuNnJlbSk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuLnN0YW5kaW5ncy13ZWVrLWxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnN0YW5kaW5ncy1teS1wb3NpdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgZ2FwOiAzcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc3RhbmRpbmdzLW15LXBvc2l0aW9uX19yYW5rIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uc3RhbmRpbmdzLW15LXBvc2l0aW9uX194cCB7XG4gIGZvbnQtc2l6ZTogMC43N3JlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICM3YTVhMTQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTk0LCAxNjAsIDc3LCAwLjE4KTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCByZ2JhKDE5NCwgMTYwLCA3NywgMC40KTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIHBhZGRpbmc6IDAuMThyZW0gMC42cmVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uc3RhbmRpbmdzLW15LXBvc2l0aW9uLS1lbXB0eSAuc3RhbmRpbmdzLW15LXBvc2l0aW9uX19yYW5rIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBmb250LXNpemU6IDEuNHJlbTtcbn1cblxuLnN0YW5kaW5ncy1teS1wb3NpdGlvbi0tZW1wdHkgLnN0YW5kaW5ncy1teS1wb3NpdGlvbl9feHAge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UtYWx0KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuXG4uc3RhbmRpbmdzLWZpbHRlcnMge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0NywgMjQzLCAyMzgsIDAuODgpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTRweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE0cHgpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSAwO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDU4cHg7XG4gIHotaW5kZXg6IDUwO1xufVxuXG4uc2VnLWNvbnRyb2wge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSg1OCwgNDYsIDMzLCAwLjA5KTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIHBhZGRpbmc6IDNweDtcbiAgZ2FwOiAycHg7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uc2VnLWNvbnRyb2xfX29wdGlvbiB7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDAuMzVlbTtcbiAgcGFkZGluZzogMC40OHJlbSAxcmVtO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgZm9udC1zaXplOiAwLjg4cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlLCBib3gtc2hhZG93IDAuMnMgZWFzZTtcbn1cbi5zZWctY29udHJvbF9fb3B0aW9uLmlzLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDU4LCA0NiwgMzMsIDAuMTQpLCAwIDAgMCAwLjVweCByZ2JhKDU4LCA0NiwgMzMsIDAuMDYpO1xufVxuXG4uc2VnLWNvbnRyb2xfX2ljb24ge1xuICBmb250LXNpemU6IDAuOTVlbTtcbn1cblxuLmZpbHRlci1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuLmZpbHRlci1yb3cuZmlsdGVyLXJvdy0tc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICBwYWRkaW5nLWJvdHRvbTogMXB4O1xufVxuLmZpbHRlci1yb3cuZmlsdGVyLXJvdy0tc2Nyb2xsOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5maWx0ZXItdGFiIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC4zNWVtO1xuICBwYWRkaW5nOiAwLjQycmVtIDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBmb250LXNpemU6IDAuODdyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlLCBjb2xvciAwLjE1cyBlYXNlLCBib3JkZXItY29sb3IgMC4xNXMgZWFzZTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5maWx0ZXItdGFiOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG4uZmlsdGVyLXRhYi5pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5maWx0ZXItdGFiX19pY29uIHtcbiAgZm9udC1zaXplOiAwLjk1ZW07XG59XG5cbi5zdGFuZGluZ3MtcG9kaXVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNikgdmFyKC0tc3BhY2UtNCkgMDtcbiAgbWF4LXdpZHRoOiA0MjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5wb2RpdW0tc2xvdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXg6IDE7XG4gIG1heC13aWR0aDogMTMwcHg7XG4gIG1pbi13aWR0aDogOTBweDtcbn1cbi5wb2RpdW0tc2xvdC5pcy1maXJzdCB7XG4gIG9yZGVyOiAyO1xufVxuLnBvZGl1bS1zbG90LmlzLXNlY29uZCB7XG4gIG9yZGVyOiAxO1xufVxuLnBvZGl1bS1zbG90LmlzLXRoaXJkIHtcbiAgb3JkZXI6IDM7XG59XG5cbi5wb2RpdW0tY3Jvd24ge1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICBhbmltYXRpb246IGNyb3duLWZsb2F0IDIuNHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgY3Jvd24tZmxvYXQge1xuICAwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuICB9XG59XG4ucG9kaXVtLWF2YXRhciB7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNmZmY7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jb2xvci1zZWNvbmRhcnkpLCB2YXIoLS1jb2xvci1wcmltYXJ5KSk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMTVzIGVhc2U7XG59XG4ucG9kaXVtLWF2YXRhci5pcy1tZSB7XG4gIG91dGxpbmU6IDNweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDNweDtcbn1cblxuLnBvZGl1bS1zbG90LmlzLWZpcnN0IC5wb2RpdW0tYXZhdGFyIHtcbiAgd2lkdGg6IDYycHg7XG4gIGhlaWdodDogNjJweDtcbiAgZm9udC1zaXplOiAxLjA1cmVtO1xufVxuXG4ucG9kaXVtLXNsb3QuaXMtc2Vjb25kIC5wb2RpdW0tYXZhdGFyIHtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgZm9udC1zaXplOiAwLjg3cmVtO1xufVxuXG4ucG9kaXVtLXNsb3QuaXMtdGhpcmQgLnBvZGl1bS1hdmF0YXIge1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBmb250LXNpemU6IDAuNzhyZW07XG59XG5cbi5wb2RpdW0tc2xvdC5pcy1maXJzdCAucG9kaXVtLWF2YXRhciB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmNWQ4NmIsICNjMmEwNGQpO1xuICBjb2xvcjogIzNhMmExNDtcbn1cblxuLnBvZGl1bS1zbG90LmlzLXNlY29uZCAucG9kaXVtLWF2YXRhciB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNkNGRkZTQsICM5ZWFhYjYpO1xuICBjb2xvcjogIzNhM2Y0NTtcbn1cblxuLnBvZGl1bS1zbG90LmlzLXRoaXJkIC5wb2RpdW0tYXZhdGFyIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2U4YzA5YiwgI2M5N2EzZik7XG4gIGNvbG9yOiAjM2EyYTE0O1xufVxuXG4ucG9kaXVtLW5hbWUge1xuICBtYXJnaW46IDAgMCAycHg7XG4gIGZvbnQtc2l6ZTogMC43OHJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5wb2RpdW0teHAge1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS0yKTtcbiAgZm9udC1zaXplOiAwLjY4cmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnBvZGl1bS1iYXIge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ucG9kaXVtLXNsb3QuaXMtZmlyc3QgLnBvZGl1bS1iYXIge1xuICBoZWlnaHQ6IDkwcHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMTk0LCAxNjAsIDc3LCAwLjI4KSwgcmdiYSgxOTQsIDE2MCwgNzcsIDAuMDgpKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxOTQsIDE2MCwgNzcsIDAuMzgpO1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ucG9kaXVtLXNsb3QuaXMtc2Vjb25kIC5wb2RpdW0tYmFyIHtcbiAgaGVpZ2h0OiA2NHB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDE1OCwgMTcwLCAxODIsIDAuMjIpLCByZ2JhKDE1OCwgMTcwLCAxODIsIDAuMDYpKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNTgsIDE3MCwgMTgyLCAwLjMyKTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnBvZGl1bS1zbG90LmlzLXRoaXJkIC5wb2RpdW0tYmFyIHtcbiAgaGVpZ2h0OiA0NnB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDIwMSwgMTIyLCA2MywgMC4xOCksIHJnYmEoMjAxLCAxMjIsIDYzLCAwLjA0KSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjAxLCAxMjIsIDYzLCAwLjI4KTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnBvZGl1bS1tZWRhbCB7XG4gIGZvbnQtc2l6ZTogMS4xNXJlbTtcbn1cblxuLnN0YW5kaW5ncy1saXN0IHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3gtc2hhZG93OiAwIDJweCAxMnB4IHJnYmEoNTgsIDQ2LCAzMywgMC4wNik7XG59XG5cbi5zdGFuZGluZ3Mtcm93IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0NnB4IDQwcHggMWZyIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTQpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjEycyBlYXNlO1xufVxuLnN0YW5kaW5ncy1yb3c6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4uc3RhbmRpbmdzLXJvdzpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UtYWx0KTtcbn1cbi5zdGFuZGluZ3Mtcm93LmlzLW1lIHtcbiAgYmFja2dyb3VuZDogcmdiYSg2MywgMTA3LCA5MSwgMC4wNSk7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1zcGFjZS00KSAtIDNweCk7XG59XG4uc3RhbmRpbmdzLXJvdy5pcy1tZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoNjMsIDEwNywgOTEsIDAuMDgpO1xufVxuXG4uc3RhbmRpbmdzLXJhbmstY29sIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5zdGFuZGluZ3MtbWVkYWwge1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5zdGFuZGluZ3MtcmFuay1udW0ge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5zdGFuZGluZ3MtYXZhdGFyIHtcbiAgd2lkdGg6IDM4cHg7XG4gIGhlaWdodDogMzhweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNvbG9yLXNlY29uZGFyeSksIHZhcigtLWNvbG9yLXByaW1hcnkpKTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4uc3RhbmRpbmdzLWF2YXRhci5yYW5rLTEge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjVkODZiLCAjYzJhMDRkKTtcbiAgY29sb3I6ICMzYTJhMTQ7XG59XG4uc3RhbmRpbmdzLWF2YXRhci5yYW5rLTIge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZDRkZGU0LCAjOWVhYWI2KTtcbiAgY29sb3I6ICMzYTNmNDU7XG59XG4uc3RhbmRpbmdzLWF2YXRhci5yYW5rLTMge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZThjMDliLCAjYzk3YTNmKTtcbiAgY29sb3I6ICMzYTJhMTQ7XG59XG5cbi5zdGFuZGluZ3MtaW5mbyB7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLnN0YW5kaW5ncy1wbGF5ZXItbmFtZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIGZvbnQtc2l6ZTogMC45MnJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnN0YW5kaW5ncy15b3UtdGFnIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDFweCA3cHg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBmb250LXNpemU6IDAuNjJyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQ6IHJnYmEoNjMsIDEwNywgOTEsIDAuMTQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNjMsIDEwNywgOTEsIDAuMjgpO1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLnN0YW5kaW5ncy1wbGF5ZXItaGFuZGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC43NnJlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnN0YW5kaW5ncy1yaWdodCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgZ2FwOiAycHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc3RhbmRpbmdzLXhwLXZhbCB7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzdhNWExNDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnN0YW5kaW5ncy1zZXNzaW9ucy12YWwge1xuICBmb250LXNpemU6IDAuNzJyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnN0YW5kaW5ncy1lbXB0eSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNykgdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5zdGFuZGluZ3MtZW1wdHlfX2ljb24ge1xuICBmb250LXNpemU6IDMuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uc3RhbmRpbmdzLWVtcHR5X190aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLnN0YW5kaW5ncy1lbXB0eV9fc3ViIHtcbiAgZm9udC1zaXplOiAwLjkzcmVtO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIG1hcmdpbjogMDtcbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gIC5zdGFuZGluZ3MtcG9kaXVtIC5wb2RpdW0tc2xvdCB7XG4gICAgYW5pbWF0aW9uOiBzdGFuZGluZ3MtcmlzZSAwLjVzIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKSBib3RoO1xuICB9XG4gIC5wb2RpdW0tc2xvdC5pcy1zZWNvbmQge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4wNnM7XG4gIH1cbiAgLnBvZGl1bS1zbG90LmlzLWZpcnN0IHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMTNzO1xuICB9XG4gIC5wb2RpdW0tc2xvdC5pcy10aGlyZCB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjE5cztcbiAgfVxuICAuc3RhbmRpbmdzLXJvdyB7XG4gICAgYW5pbWF0aW9uOiBzdGFuZGluZ3MtcmlzZSAwLjM1cyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSkgYm90aDtcbiAgfVxuICAuc3RhbmRpbmdzLXJvdzpudGgtY2hpbGQoMSkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4wNHM7XG4gIH1cbiAgLnN0YW5kaW5ncy1yb3c6bnRoLWNoaWxkKDIpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMDhzO1xuICB9XG4gIC5zdGFuZGluZ3Mtcm93Om50aC1jaGlsZCgzKSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjEycztcbiAgfVxuICAuc3RhbmRpbmdzLXJvdzpudGgtY2hpbGQoNCkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4xNnM7XG4gIH1cbiAgLnN0YW5kaW5ncy1yb3c6bnRoLWNoaWxkKDUpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMnM7XG4gIH1cbiAgLnN0YW5kaW5ncy1yb3c6bnRoLWNoaWxkKDYpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMjRzO1xuICB9XG4gIC5zdGFuZGluZ3Mtcm93Om50aC1jaGlsZCg3KSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjI4cztcbiAgfVxuICAuc3RhbmRpbmdzLXJvdzpudGgtY2hpbGQoOCkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4zMnM7XG4gIH1cbiAgLnN0YW5kaW5ncy1yb3c6bnRoLWNoaWxkKDkpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMzZzO1xuICB9XG4gIC5zdGFuZGluZ3Mtcm93Om50aC1jaGlsZCgxMCkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC40cztcbiAgfVxuICAuc3RhbmRpbmdzLXJvdzpudGgtY2hpbGQoMTEpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuNDRzO1xuICB9XG4gIC5zdGFuZGluZ3Mtcm93Om50aC1jaGlsZCgxMikge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC40OHM7XG4gIH1cbiAgLnN0YW5kaW5ncy1yb3c6bnRoLWNoaWxkKDEzKSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjUycztcbiAgfVxuICAuc3RhbmRpbmdzLXJvdzpudGgtY2hpbGQoMTQpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuNTZzO1xuICB9XG4gIC5zdGFuZGluZ3Mtcm93Om50aC1jaGlsZCgxNSkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC42cztcbiAgfVxuICAuc3RhbmRpbmdzLXJvdzpudGgtY2hpbGQoMTYpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuNjRzO1xuICB9XG4gIC5zdGFuZGluZ3Mtcm93Om50aC1jaGlsZCgxNykge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC42OHM7XG4gIH1cbiAgLnN0YW5kaW5ncy1yb3c6bnRoLWNoaWxkKDE4KSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwLjcycztcbiAgfVxuICAuc3RhbmRpbmdzLXJvdzpudGgtY2hpbGQoMTkpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuNzZzO1xuICB9XG4gIC5zdGFuZGluZ3Mtcm93Om50aC1jaGlsZCgyMCkge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC44cztcbiAgfVxufVxuQGtleWZyYW1lcyBzdGFuZGluZ3MtcmlzZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE0cHgpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5zZWctY29udHJvbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWluLXdpZHRoOiAyODBweDtcbiAgICBtYXgtd2lkdGg6IDM2MHB4O1xuICB9XG4gIC5zdGFuZGluZ3MtbGlzdCB7XG4gICAgbWF4LXdpZHRoOiA2NDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnN0YW5kaW5ncy1wb2RpdW0ge1xuICAgIGdhcDogdmFyKC0tc3BhY2UtNCk7XG4gIH1cbiAgLnBvZGl1bS1zbG90LmlzLWZpcnN0IC5wb2RpdW0tYXZhdGFyIHtcbiAgICB3aWR0aDogNzJweDtcbiAgICBoZWlnaHQ6IDcycHg7XG4gICAgZm9udC1zaXplOiAxLjE1cmVtO1xuICB9XG4gIC5wb2RpdW0tc2xvdC5pcy1zZWNvbmQgLnBvZGl1bS1hdmF0YXIge1xuICAgIHdpZHRoOiA1OHB4O1xuICAgIGhlaWdodDogNThweDtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gIH1cbiAgLnBvZGl1bS1zbG90LmlzLXRoaXJkIC5wb2RpdW0tYXZhdGFyIHtcbiAgICB3aWR0aDogNTJweDtcbiAgICBoZWlnaHQ6IDUycHg7XG4gICAgZm9udC1zaXplOiAwLjg4cmVtO1xuICB9XG4gIC5wb2RpdW0tc2xvdC5pcy1maXJzdCAucG9kaXVtLWJhciB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgfVxuICAucG9kaXVtLXNsb3QuaXMtc2Vjb25kIC5wb2RpdW0tYmFyIHtcbiAgICBoZWlnaHQ6IDc0cHg7XG4gIH1cbiAgLnBvZGl1bS1zbG90LmlzLXRoaXJkIC5wb2RpdW0tYmFyIHtcbiAgICBoZWlnaHQ6IDU0cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAuc3RhbmRpbmdzLWZpbHRlcnMge1xuICAgIHRvcDogNjZweDtcbiAgfVxuICAuc3RhbmRpbmdzLXJvdyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MnB4IDQ0cHggMWZyIGF1dG87XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS01KTtcbiAgfVxuICAuc3RhbmRpbmdzLXJvdy5pcy1tZSB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXNwYWNlLTUpIC0gM3B4KTtcbiAgfVxuICAuc3RhbmRpbmdzLWF2YXRhciB7XG4gICAgd2lkdGg6IDQycHg7XG4gICAgaGVpZ2h0OiA0MnB4O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgfVxuICAuc3RhbmRpbmdzLXBsYXllci1uYW1lIHtcbiAgICBmb250LXNpemU6IDAuOTdyZW07XG4gIH1cbn1cbiJdfQ== */