/* app:src/styles.css */
:root {
  --night: #081712;
  --pine: #0c2620;
  --cream: #fdf7ea;
  --paper: #fbf3e2;
  --ink: #2a1e16;
  --ink-soft: #4a3a2c;
  --red: #c8343f;
  --red-d: #9e2430;
  --gold: #e8c46c;
  --gold-l: #f6e2a6;
  --gold-d: #a8822e;
  --muted: #c9dcd2;
  --spring: cubic-bezier(0.2, 1.3, 0.4, 1);
  --smooth: cubic-bezier(0.2, 0.8, 0.2, 1);
  color-scheme: dark;
}
* {
  box-sizing: border-box;
}
html {
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}
body {
  margin: 0;
  min-height: 100vh;
  font-family:
    "Nunito",
    system-ui,
    -apple-system,
    sans-serif;
  color: var(--cream);
  background:
    radial-gradient(
      900px 520px at 50% -8%,
      rgba(46, 112, 92, 0.55),
      transparent 65%),
    radial-gradient(
      600px 400px at 100% 100%,
      rgba(200, 52, 63, 0.14),
      transparent 70%),
    linear-gradient(
      180deg,
      var(--pine) 0%,
      var(--night) 75%);
  background-attachment: fixed;
  overflow-x: hidden;
}
button {
  font: inherit;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.snow {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.lights {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 50px;
  z-index: 3;
  overflow: hidden;
  display: flex;
  justify-content: space-around;
  pointer-events: none;
}
.lights::before {
  content: "";
  position: absolute;
  left: -2%;
  right: -2%;
  top: -14px;
  height: 30px;
  border-bottom: 2px solid rgba(20, 40, 32, 0.9);
  border-radius: 0 0 50% 50% / 0 0 100% 100%;
}
.bulb {
  position: relative;
  width: 9px;
  height: 15px;
  margin-top: 10px;
  transform-origin: 50% -6px;
  border-radius: 50% 50% 50% 50% / 40% 40% 60% 60%;
  animation: glow 1.6s ease-in-out infinite alternate, swing 3.4s ease-in-out infinite alternate;
}
.bulb::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 2px;
  width: 5px;
  height: 5px;
  background: #1d2b25;
  border-radius: 1px;
}
.bulb:nth-child(odd) {
  margin-top: 16px;
}
.bulb:nth-child(4n+2) {
  margin-top: 20px;
}
.bulb-0 {
  background: #ff4d5a;
  --g: rgba(255, 77, 90, 0.8);
}
.bulb-1 {
  background: #ffd36b;
  --g: rgba(255, 211, 107, 0.8);
}
.bulb-2 {
  background: #6be39a;
  --g: rgba(107, 227, 154, 0.8);
}
.bulb-3 {
  background: #74b8ff;
  --g: rgba(116, 184, 255, 0.8);
}
.bulb:nth-child(n+14) {
  display: none;
}
@media (min-width: 640px) {
  .bulb:nth-child(n+14) {
    display: block;
  }
}
@keyframes glow {
  from {
    opacity: 0.45;
    box-shadow: 0 0 2px var(--g);
  }
  to {
    opacity: 1;
    box-shadow: 0 0 14px 4px var(--g);
  }
}
@keyframes swing {
  from {
    transform: rotate(-7deg);
  }
  to {
    transform: rotate(7deg);
  }
}
.wrap {
  position: relative;
  z-index: 2;
  max-width: 880px;
  margin: 0 auto;
  padding: 76px 16px calc(40px + env(safe-area-inset-bottom));
}
.hero {
  text-align: center;
}
.kicker {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--gold);
}
.title {
  position: relative;
  display: inline-block;
  margin: 0.15em 0 0.12em;
  font-family:
    "Playfair Display",
    Georgia,
    serif;
  font-style: italic;
  font-weight: 700;
  font-size: clamp(2.9rem, 12vw, 5.2rem);
  line-height: 1.05;
  color: var(--gold);
  animation: titleGlow 4s ease-in-out infinite;
}
@keyframes titleGlow {
  0%, 100% {
    text-shadow: 0 2px 30px rgba(232, 196, 108, 0.3);
  }
  50% {
    text-shadow: 0 2px 44px rgba(246, 226, 166, 0.6);
  }
}
.twinkle {
  position: absolute;
  font-style: normal;
  color: var(--gold-l);
  font-size: 0.32em;
  animation: twinkle 2.6s ease-in-out infinite;
  pointer-events: none;
}
.t1 {
  left: -0.5em;
  top: 0.1em;
}
.t2 {
  right: -0.45em;
  top: -0.1em;
  font-size: 0.24em;
  animation-delay: 0.9s;
}
.t3 {
  right: 0.6em;
  bottom: -0.25em;
  font-size: 0.2em;
  animation-delay: 1.7s;
}
@keyframes twinkle {
  0%, 100% {
    opacity: 0.2;
    transform: scale(0.6) rotate(0deg);
  }
  50% {
    opacity: 1;
    transform: scale(1.15) rotate(25deg);
  }
}
.lede {
  margin: 0 auto;
  max-width: 30rem;
  color: var(--muted);
  font-size: 1.06rem;
  line-height: 1.5;
}
.split .word {
  display: inline-block;
  white-space: nowrap;
}
.ch {
  display: inline-block;
  opacity: 0;
  animation: chIn 0.75s var(--spring) forwards;
}
@keyframes chIn {
  from {
    opacity: 0;
    transform: translateY(0.55em) rotate(8deg) scale(0.6);
    filter: blur(6px);
  }
  to {
    opacity: 1;
    transform: none;
    filter: none;
  }
}
.cd {
  margin-top: 24px;
}
.cd-caption {
  margin: 0 0 10px;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
.cd-row {
  display: inline-flex;
  gap: 10px;
}
.cd-item {
  min-width: 76px;
  padding: 10px 12px;
  border-radius: 16px;
  overflow: hidden;
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.08),
      rgba(255, 255, 255, 0.02));
  border: 1px solid rgba(232, 196, 108, 0.3);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.cd-num {
  font-family:
    "Playfair Display",
    Georgia,
    serif;
  font-size: 1.9rem;
  font-weight: 700;
  color: var(--cream);
  line-height: 1.1;
  animation: tick 0.6s var(--spring);
}
@keyframes tick {
  from {
    transform: translateY(-60%) rotateX(80deg);
    opacity: 0;
  }
  to {
    transform: none;
    opacity: 1;
  }
}
.cd-label {
  font-size: 0.76rem;
  color: var(--muted);
}
.panel {
  position: relative;
  margin-top: 36px;
  padding: 28px 18px 24px;
  border-radius: 26px;
  text-align: center;
  background: rgba(6, 22, 17, 0.62);
  border: 1px solid rgba(232, 196, 108, 0.24);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.4);
  animation: rise 0.9s var(--smooth) 0.35s both;
}
.panel::before {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  top: -1px;
  height: 2px;
  border-radius: 2px;
  background:
    linear-gradient(
      90deg,
      transparent,
      var(--gold-l),
      transparent);
}
@media (min-width: 640px) {
  .panel {
    padding: 34px 32px 30px;
  }
}
h2 {
  margin: 0 0 8px;
  text-align: center;
  font-family:
    "Playfair Display",
    Georgia,
    serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--cream);
  line-height: 1.2;
}
.panel-sub {
  margin: 0 auto;
  max-width: 32rem;
  color: var(--muted);
  line-height: 1.55;
}
.me-title {
  font-style: italic;
  font-size: clamp(2rem, 9vw, 2.8rem);
  color: var(--gold);
  margin-top: 6px;
}
.waiting-icon {
  display: block;
  font-size: 3rem;
  margin-bottom: 6px;
  animation: bob 3s ease-in-out infinite;
}
@keyframes bob {
  50% {
    transform: translateY(-6px) rotate(-4deg);
  }
}
@keyframes rise {
  from {
    opacity: 0;
    transform: translateY(26px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.cta-wrap {
  margin-top: 22px;
  display: flex;
  justify-content: center;
}
.progress-wrap {
  margin: 18px auto 0;
  max-width: 360px;
}
.progress {
  height: 8px;
  border-radius: 99px;
  background: rgba(255, 255, 255, 0.1);
  overflow: hidden;
}
.progress span {
  display: block;
  height: 100%;
  border-radius: 99px;
  background:
    linear-gradient(
      90deg,
      var(--gold),
      var(--gold-l));
  transition: width 0.8s var(--smooth);
}
.progress-text {
  margin: 8px 0 0;
  font-size: 0.9rem;
  color: var(--muted);
}
.my-wish {
  margin-top: 26px;
  padding: 18px 16px 16px;
  border-radius: 20px;
  text-align: left;
  background: var(--paper);
  color: var(--ink);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.3);
}
.my-wish h3 {
  margin: 0 0 10px;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--red);
}
.my-wish .btn {
  margin-top: 12px;
}
.steps {
  list-style: none;
  padding: 0;
  margin: 26px 0 0;
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr;
}
@media (min-width: 680px) {
  .steps {
    grid-template-columns: repeat(3, 1fr);
  }
}
.step {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 18px;
  text-align: left;
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(255, 255, 255, 0.08);
  line-height: 1.35;
}
.step-num {
  flex: none;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--red);
  color: #fff;
  font-weight: 800;
  box-shadow: 0 0 0 4px rgba(200, 52, 63, 0.2);
}
[data-reveal] {
  opacity: 0;
  transform: translateY(26px) scale(0.98);
  transition: opacity 0.7s var(--smooth), transform 0.8s var(--smooth);
  transition-delay: calc(var(--i, 0) * 80ms);
}
[data-reveal].is-in {
  opacity: 1;
  transform: none;
}
.section-title {
  margin: 56px 0 8px;
  font-size: clamp(1.7rem, 6vw, 2.2rem);
}
.section-title span {
  color: var(--gold);
  font-size: 0.8em;
}
.section-sub {
  margin: 0 auto 16px;
  max-width: 34rem;
  text-align: center;
  color: var(--muted);
  line-height: 1.5;
}
.rules {
  display: grid;
  gap: 14px;
  grid-template-columns: 1fr;
  margin-top: 18px;
}
@media (min-width: 640px) {
  .rules {
    grid-template-columns: repeat(2, 1fr);
  }
}
.rule {
  position: relative;
  padding: 18px;
  border-radius: 20px;
  background: var(--paper);
  color: var(--ink);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.25);
}
.rule.is-in {
  transition: opacity 0.7s var(--smooth), transform 0.35s var(--smooth);
  transition-delay: 0s;
}
.rule.is-in:hover {
  transform: translateY(-4px) rotate(-0.4deg);
}
.rule-icon {
  font-size: 1.7rem;
  line-height: 1;
  display: inline-block;
}
.rule.is-in .rule-icon {
  animation: pop 0.6s var(--spring) 0.2s both;
}
.rule h3 {
  margin: 8px 0 4px;
  font-size: 1.08rem;
  font-weight: 800;
}
.rule p {
  margin: 0;
  color: var(--ink-soft);
  line-height: 1.55;
}
.rule--hero {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px 20px;
  padding: 22px;
  color: var(--cream);
  overflow: hidden;
  background:
    radial-gradient(
      260px 160px at 100% 0%,
      rgba(232, 196, 108, 0.3),
      transparent 70%),
    linear-gradient(
      135deg,
      var(--red),
      var(--red-d));
}
.rule--hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(
      105deg,
      transparent 35%,
      rgba(255, 255, 255, 0.18) 50%,
      transparent 65%);
  transform: translateX(-120%);
  animation: shine 5s ease-in-out 1.5s infinite;
}
.rule--hero h3 {
  margin-top: 0;
  font-size: 0.85rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #ffe2dd;
}
.rule--hero p {
  color: #ffeeea;
}
.rule--hero .budget {
  margin: 0;
  font-family:
    "Playfair Display",
    Georgia,
    serif;
  font-style: italic;
  font-weight: 700;
  font-size: clamp(2.6rem, 12vw, 3.6rem);
  line-height: 1;
  color: var(--gold);
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.25);
}
@keyframes shine {
  0% {
    transform: translateX(-120%);
  }
  30%, 100% {
    transform: translateX(120%);
  }
}
.chips {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
.chip {
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 0.93rem;
  background: rgba(232, 196, 108, 0.1);
  border: 1px solid rgba(232, 196, 108, 0.35);
  color: #f6e7c1;
}
.foot {
  margin-top: 56px;
  text-align: center;
  font-size: 0.88rem;
  color: var(--muted);
  line-height: 1.5;
}
.foot p {
  margin: 0 auto 6px;
  max-width: 30rem;
}
.link-btn {
  display: inline-block;
  margin-top: 8px;
  background: none;
  border: 0;
  padding: 10px;
  color: var(--gold);
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  min-height: 44px;
}
.foot-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px 18px;
}
.link-btn--dark {
  color: var(--red-d);
  display: block;
  margin: 12px auto 0;
}
.btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 22px;
  border-radius: 999px;
  border: 0;
  font-weight: 800;
  cursor: pointer;
  transition:
    background 0.15s,
    transform 0.2s var(--spring),
    box-shadow 0.2s;
  touch-action: manipulation;
}
.btn:active {
  transform: scale(0.96);
}
.btn:disabled {
  opacity: 0.5;
  cursor: default;
}
.btn:focus-visible,
.link-btn:focus-visible,
.stage-hit:focus-visible,
.wtag:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 3px;
}
.btn-primary {
  background: var(--red);
  color: #fff;
}
.btn-primary:not(:disabled):hover {
  background: var(--red-d);
}
.btn-ghost {
  background: transparent;
  color: var(--ink);
  box-shadow: inset 0 0 0 2px #cdbb98;
}
.btn-ghost:hover {
  background: rgba(0, 0, 0, 0.04);
}
.btn-light {
  background: rgba(255, 255, 255, 0.1);
  color: var(--cream);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
}
.btn-light:hover {
  background: rgba(255, 255, 255, 0.18);
}
.btn-small {
  min-height: 40px;
  padding: 0 14px;
  font-size: 0.9rem;
}
.btn-big {
  min-height: 60px;
  padding: 0 32px;
  font-size: 1.15rem;
  overflow: hidden;
  background:
    linear-gradient(
      135deg,
      #d63b47,
      var(--red-d));
  animation: pulse 2.4s ease-in-out infinite;
}
.btn-big::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    linear-gradient(
      105deg,
      transparent 30%,
      rgba(255, 255, 255, 0.35) 50%,
      transparent 70%);
  transform: translateX(-120%);
  animation: shine 3.2s ease-in-out 1s infinite;
}
@keyframes pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(232, 196, 108, 0.55), 0 10px 30px rgba(200, 52, 63, 0.45);
  }
  50% {
    box-shadow: 0 0 0 12px rgba(232, 196, 108, 0), 0 10px 40px rgba(200, 52, 63, 0.6);
  }
}
.overlay {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: flex;
  flex-direction: column;
  padding: 16px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-top: calc(16px + env(safe-area-inset-top));
  padding-bottom: calc(16px + env(safe-area-inset-bottom));
  background: rgba(3, 11, 8, 0.76);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  animation: fade 0.25s ease;
}
.overlay > * {
  margin: auto;
}
.overlay--reveal {
  background:
    radial-gradient(
      circle at 50% 38%,
      rgba(90, 60, 15, 0.55),
      rgba(3, 11, 8, 0.94) 70%);
}
.dialog {
  position: relative;
  width: 100%;
  max-width: 440px;
  padding: 26px 20px 20px;
  border-radius: 24px;
  background: var(--paper);
  color: var(--ink);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.55);
  animation: pop 0.35s var(--spring);
}
.dialog--wide {
  max-width: 680px;
}
.dialog::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 8px;
  border-radius: 24px 24px 0 0;
  background:
    repeating-linear-gradient(
      45deg,
      var(--red) 0 8px,
      #fff 8px 16px);
}
.dialog h2 {
  color: var(--ink);
  text-align: left;
  font-size: 1.6rem;
}
.dlg-kicker {
  margin: 0 0 4px;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--red);
}
.dlg-text {
  margin: 4px 0 16px;
  color: var(--ink-soft);
  line-height: 1.55;
}
.field {
  display: grid;
  gap: 6px;
  margin-top: 12px;
  font-weight: 700;
  font-size: 0.92rem;
}
.text-input {
  width: 100%;
  padding: 12px 14px;
  border: 2px solid #d9c9a8;
  border-radius: 14px;
  background: #fff;
  color: var(--ink);
  font-family: inherit;
  font-size: 16px;
}
.text-input:focus {
  outline: none;
  border-color: var(--gold-d);
  box-shadow: 0 0 0 3px rgba(232, 196, 108, 0.45);
}
.textarea {
  min-height: 96px;
  resize: vertical;
  line-height: 1.45;
}
.textarea--short {
  min-height: 64px;
}
.actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 20px;
}
.actions .btn {
  flex: 1 1 auto;
}
@media (min-width: 480px) {
  .actions .btn {
    flex: 0 0 auto;
  }
}
.err {
  margin: 12px 0 0;
  color: #a3202b;
  font-weight: 700;
  line-height: 1.45;
}
.ok {
  margin: 10px 0 0;
  color: #2f6b45;
  font-weight: 800;
}
.wish-fieldset {
  border: 0;
  padding: 0;
  margin: 0 0 4px;
}
.wish-fieldset legend {
  padding: 0;
  margin-bottom: 8px;
  font-weight: 700;
  font-size: 0.92rem;
}
.wish-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.wtag {
  min-height: 40px;
  padding: 6px 13px;
  border-radius: 999px;
  cursor: pointer;
  touch-action: manipulation;
  border: 1.5px solid #d9c9a8;
  background: #fff;
  color: var(--ink);
  font-size: 0.92rem;
  font-weight: 600;
  transition:
    background 0.15s,
    color 0.15s,
    border-color 0.15s,
    transform 0.2s var(--spring);
}
.wtag:active {
  transform: scale(0.94);
}
.wtag[aria-pressed=true] {
  background: var(--red);
  border-color: var(--red);
  color: #fff;
}
.wchips {
  list-style: none;
  margin: 0 0 8px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.wchips li {
  padding: 4px 10px;
  border-radius: 999px;
  background: #f4e7c6;
  color: #5a4220;
  font-size: 0.85rem;
  font-weight: 700;
}
.wish-text {
  margin: 0 0 6px;
  color: var(--ink-soft);
  line-height: 1.5;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.wish-text:last-child {
  margin-bottom: 0;
}
.wish-avoid strong {
  color: var(--ink);
}
.wish-empty {
  font-style: italic;
}
.reveal-wrap {
  width: 100%;
  max-width: 460px;
  text-align: center;
}
.reveal {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.reveal-hi {
  margin: 0 0 4px;
  font-family:
    "Playfair Display",
    Georgia,
    serif;
  font-style: italic;
  font-weight: 700;
  font-size: clamp(1.8rem, 8vw, 2.3rem);
  color: var(--gold);
}
.stage {
  position: relative;
  width: 100%;
  height: min(50vh, 380px);
  transition: height 0.7s var(--smooth);
}
.is-shown .stage {
  height: min(28vh, 220px);
}
.gift3d {
  position: absolute;
  inset: 0;
  -webkit-mask-image:
    radial-gradient(
      ellipse 72% 70% at 50% 52%,
      #000 62%,
      transparent 100%);
  mask-image:
    radial-gradient(
      ellipse 72% 70% at 50% 52%,
      #000 62%,
      transparent 100%);
}
.gift3d canvas {
  display: block;
  width: 100%;
  height: 100%;
}
.stage-hit {
  position: absolute;
  inset: 8% 15%;
  background: none;
  border: 0;
  border-radius: 24px;
  cursor: pointer;
  touch-action: manipulation;
}
.reveal-hint {
  margin: 0;
  color: var(--gold-l);
  font-weight: 800;
  letter-spacing: 0.04em;
  animation: hint 1.8s ease-in-out infinite;
}
@keyframes hint {
  0%, 100% {
    opacity: 0.55;
    transform: translateY(0);
  }
  50% {
    opacity: 1;
    transform: translateY(-3px);
  }
}
.reveal-card {
  width: 100%;
  margin-top: 8px;
  padding: 22px 18px 18px;
  border-radius: 22px;
  background: var(--paper);
  color: var(--ink);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5), 0 0 60px rgba(232, 196, 108, 0.25);
  animation: pop 0.6s var(--spring) both;
}
.reveal-name {
  margin: 2px 0 6px;
  font-family:
    "Playfair Display",
    Georgia,
    serif;
  font-weight: 700;
  font-size: clamp(2.1rem, 10vw, 2.9rem);
  line-height: 1.1;
  color: var(--red);
}
.wish-box {
  margin: 12px 0 12px;
  padding: 12px 14px;
  text-align: left;
  border-radius: 14px;
  background: #fff;
  border: 1.5px dashed #d9c9a8;
}
.wish-box h3 {
  margin: 0 0 8px;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--red);
}
.reveal-meta {
  margin: 0;
  color: var(--ink-soft);
  font-weight: 600;
  font-size: 0.95rem;
}
.shh {
  margin: 10px 0 0;
  font-weight: 800;
}
.reveal-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 16px;
}
.css-gift {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 170px;
  height: 170px;
  transform: translate(-50%, -50%);
}
.reveal:not(.is-open) .css-gift {
  animation: wiggle 2.6s ease-in-out infinite;
}
.gift-box {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 6px;
  height: 104px;
  border-radius: 8px;
  background:
    linear-gradient(
      90deg,
      transparent calc(50% - 10px),
      var(--gold) calc(50% - 10px),
      var(--gold) calc(50% + 10px),
      transparent calc(50% + 10px)),
    linear-gradient(
      180deg,
      var(--red),
      var(--red-d));
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
}
.gift-lid {
  position: absolute;
  left: 6px;
  right: 6px;
  top: 34px;
  height: 34px;
  z-index: 2;
  border-radius: 8px;
  background:
    linear-gradient(
      90deg,
      transparent calc(50% - 10px),
      #f2d488 calc(50% - 10px),
      #f2d488 calc(50% + 10px),
      transparent calc(50% + 10px)),
    linear-gradient(
      180deg,
      #d9454f,
      var(--red));
  transition: transform 0.75s var(--spring), opacity 0.6s ease 0.25s;
}
.gift-bow {
  position: absolute;
  left: 50%;
  top: -22px;
  width: 0;
  height: 0;
}
.gift-bow::before,
.gift-bow::after {
  content: "";
  position: absolute;
  top: 0;
  width: 38px;
  height: 24px;
  border: 7px solid var(--gold);
  border-radius: 50%;
}
.gift-bow::before {
  right: 2px;
  transform: rotate(18deg);
}
.gift-bow::after {
  left: 2px;
  transform: rotate(-18deg);
}
.is-open .gift-lid {
  transform: translate(46px, -110px) rotate(32deg);
  opacity: 0;
}
.burst {
  position: absolute;
  left: 50%;
  top: 55%;
  width: 0;
  height: 0;
  pointer-events: none;
}
.burst span {
  position: absolute;
  left: -4px;
  top: -4px;
  width: 9px;
  height: 9px;
  border-radius: 2px;
  background: var(--c);
  opacity: 0;
}
.is-open .burst span {
  animation: burst 1.1s cubic-bezier(0.2, 0.8, 0.3, 1) forwards;
}
.preview-note {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #fff3cd;
  color: #6b4e00;
  font-weight: 600;
  font-size: 0.9rem;
}
.adm-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 6px 0 14px;
}
.adm-stats div {
  padding: 12px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid #e7dcc4;
  display: grid;
}
.adm-stats strong {
  font-family:
    "Playfair Display",
    Georgia,
    serif;
  font-size: 1.6rem;
  color: var(--red);
}
.adm-stats span {
  font-size: 0.85rem;
  color: var(--ink-soft);
}
.adm-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  font-weight: 700;
  font-size: 0.9rem;
  cursor: pointer;
}
.toggle input {
  width: 20px;
  height: 20px;
  accent-color: var(--red);
}
.adm-list {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
.adm-row {
  padding: 12px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid #e7dcc4;
}
.adm-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.adm-head strong {
  margin-right: auto;
  font-size: 1.02rem;
}
.badge {
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 800;
  background: #efe6d2;
  color: #6b5844;
}
.badge.on {
  background: #dcefe2;
  color: #2f6b45;
}
.adm-to {
  margin: 8px 0 0;
  color: var(--ink-soft);
}
.adm-to strong {
  color: var(--red);
}
.adm-link {
  display: flex;
  gap: 6px;
  margin-top: 8px;
}
.adm-link input {
  flex: 1;
  min-width: 0;
  padding: 8px 10px;
  border: 1.5px solid #e1d4b8;
  border-radius: 10px;
  font: inherit;
  font-size: 0.82rem;
  color: var(--ink-soft);
  background: #fbf8f1;
}
.adm-wish {
  margin-top: 8px;
}
.adm-wish summary {
  cursor: pointer;
  font-weight: 800;
  color: var(--red-d);
  min-height: 32px;
  display: flex;
  align-items: center;
}
.adm-wish[open] summary {
  margin-bottom: 6px;
}
@keyframes fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes pop {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.9);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes wiggle {
  0%, 78%, 100% {
    transform: translate(-50%, -50%) rotate(0);
  }
  84% {
    transform: translate(-50%, -50%) rotate(-6deg);
  }
  90% {
    transform: translate(-50%, -50%) rotate(6deg);
  }
  96% {
    transform: translate(-50%, -50%) rotate(-3deg);
  }
}
@keyframes burst {
  0% {
    opacity: 1;
    transform: rotate(var(--a)) translateY(0) scale(1);
  }
  100% {
    opacity: 0;
    transform: rotate(var(--a)) translateY(-150px) rotate(220deg) scale(0.6);
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  [data-reveal] {
    opacity: 1;
    transform: none;
  }
}
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiYXBwOnNyYy9zdHlsZXMuY3NzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyI6cm9vdCB7XG4gIC0tbmlnaHQ6ICMwODE3MTI7XG4gIC0tcGluZTogIzBjMjYyMDtcbiAgLS1jcmVhbTogI2ZkZjdlYTtcbiAgLS1wYXBlcjogI2ZiZjNlMjtcbiAgLS1pbms6ICMyYTFlMTY7XG4gIC0taW5rLXNvZnQ6ICM0YTNhMmM7XG4gIC0tcmVkOiAjYzgzNDNmO1xuICAtLXJlZC1kOiAjOWUyNDMwO1xuICAtLWdvbGQ6ICNlOGM0NmM7XG4gIC0tZ29sZC1sOiAjZjZlMmE2O1xuICAtLWdvbGQtZDogI2E4ODIyZTtcbiAgLS1tdXRlZDogI2M5ZGNkMjtcbiAgLS1zcHJpbmc6IGN1YmljLWJlemllcigwLjIsIDEuMywgMC40LCAxKTtcbiAgLS1zbW9vdGg6IGN1YmljLWJlemllcigwLjIsIDAuOCwgMC4yLCAxKTtcbiAgY29sb3Itc2NoZW1lOiBkYXJrO1xufVxuXG4qIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuaHRtbCB7IC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgZm9udC1mYW1pbHk6ICdOdW5pdG8nLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiB2YXIoLS1jcmVhbSk7XG4gIGJhY2tncm91bmQ6XG4gICAgcmFkaWFsLWdyYWRpZW50KDkwMHB4IDUyMHB4IGF0IDUwJSAtOCUsIHJnYmEoNDYsIDExMiwgOTIsIDAuNTUpLCB0cmFuc3BhcmVudCA2NSUpLFxuICAgIHJhZGlhbC1ncmFkaWVudCg2MDBweCA0MDBweCBhdCAxMDAlIDEwMCUsIHJnYmEoMjAwLCA1MiwgNjMsIDAuMTQpLCB0cmFuc3BhcmVudCA3MCUpLFxuICAgIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLXBpbmUpIDAlLCB2YXIoLS1uaWdodCkgNzUlKTtcbiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG5idXR0b24geyBmb250OiBpbmhlcml0OyB9XG4uc3Itb25seSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDFweDsgaGVpZ2h0OiAxcHg7IHBhZGRpbmc6IDA7IG1hcmdpbjogLTFweDsgb3ZlcmZsb3c6IGhpZGRlbjsgY2xpcDogcmVjdCgwIDAgMCAwKTsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgYm9yZGVyOiAwOyB9XG5cbi5zbm93IHsgcG9zaXRpb246IGZpeGVkOyBpbnNldDogMDsgei1pbmRleDogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLyogc3bEm3TDvWxrYSAqL1xuLmxpZ2h0cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgaGVpZ2h0OiA1MHB4OyB6LWluZGV4OiAzOyBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ubGlnaHRzOjpiZWZvcmUge1xuICBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtMiU7IHJpZ2h0OiAtMiU7IHRvcDogLTE0cHg7IGhlaWdodDogMzBweDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJnYmEoMjAsIDQwLCAzMiwgMC45KTsgYm9yZGVyLXJhZGl1czogMCAwIDUwJSA1MCUgLyAwIDAgMTAwJSAxMDAlO1xufVxuLmJ1bGIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiA5cHg7IGhlaWdodDogMTVweDsgbWFyZ2luLXRvcDogMTBweDsgdHJhbnNmb3JtLW9yaWdpbjogNTAlIC02cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJSA1MCUgNTAlIDUwJSAvIDQwJSA0MCUgNjAlIDYwJTtcbiAgYW5pbWF0aW9uOiBnbG93IDEuNnMgZWFzZS1pbi1vdXQgaW5maW5pdGUgYWx0ZXJuYXRlLCBzd2luZyAzLjRzIGVhc2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZTtcbn1cbi5idWxiOjpiZWZvcmUgeyBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IC00cHg7IGxlZnQ6IDJweDsgd2lkdGg6IDVweDsgaGVpZ2h0OiA1cHg7IGJhY2tncm91bmQ6ICMxZDJiMjU7IGJvcmRlci1yYWRpdXM6IDFweDsgfVxuLmJ1bGI6bnRoLWNoaWxkKG9kZCkgeyBtYXJnaW4tdG9wOiAxNnB4OyB9XG4uYnVsYjpudGgtY2hpbGQoNG4gKyAyKSB7IG1hcmdpbi10b3A6IDIwcHg7IH1cbi5idWxiLTAgeyBiYWNrZ3JvdW5kOiAjZmY0ZDVhOyAtLWc6IHJnYmEoMjU1LCA3NywgOTAsIDAuOCk7IH1cbi5idWxiLTEgeyBiYWNrZ3JvdW5kOiAjZmZkMzZiOyAtLWc6IHJnYmEoMjU1LCAyMTEsIDEwNywgMC44KTsgfVxuLmJ1bGItMiB7IGJhY2tncm91bmQ6ICM2YmUzOWE7IC0tZzogcmdiYSgxMDcsIDIyNywgMTU0LCAwLjgpOyB9XG4uYnVsYi0zIHsgYmFja2dyb3VuZDogIzc0YjhmZjsgLS1nOiByZ2JhKDExNiwgMTg0LCAyNTUsIDAuOCk7IH1cbi5idWxiOm50aC1jaGlsZChuICsgMTQpIHsgZGlzcGxheTogbm9uZTsgfVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7IC5idWxiOm50aC1jaGlsZChuICsgMTQpIHsgZGlzcGxheTogYmxvY2s7IH0gfVxuQGtleWZyYW1lcyBnbG93IHsgZnJvbSB7IG9wYWNpdHk6IDAuNDU7IGJveC1zaGFkb3c6IDAgMCAycHggdmFyKC0tZyk7IH0gdG8geyBvcGFjaXR5OiAxOyBib3gtc2hhZG93OiAwIDAgMTRweCA0cHggdmFyKC0tZyk7IH0gfVxuQGtleWZyYW1lcyBzd2luZyB7IGZyb20geyB0cmFuc2Zvcm06IHJvdGF0ZSgtN2RlZyk7IH0gdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTsgfSB9XG5cbi53cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAyO1xuICBtYXgtd2lkdGg6IDg4MHB4OyBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogNzZweCAxNnB4IGNhbGMoNDBweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG59XG5cbi8qIGhsYXZpxI1rYSAqL1xuLmhlcm8geyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbi5raWNrZXIgeyBtYXJnaW46IDA7IGZvbnQtc2l6ZTogMC43OHJlbTsgZm9udC13ZWlnaHQ6IDgwMDsgbGV0dGVyLXNwYWNpbmc6IDAuMjhlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLWdvbGQpOyB9XG4udGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwLjE1ZW0gMCAwLjEyZW07XG4gIGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIEdlb3JnaWEsIHNlcmlmOyBmb250LXN0eWxlOiBpdGFsaWM7IGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMi45cmVtLCAxMnZ3LCA1LjJyZW0pOyBsaW5lLWhlaWdodDogMS4wNTtcbiAgY29sb3I6IHZhcigtLWdvbGQpO1xuICBhbmltYXRpb246IHRpdGxlR2xvdyA0cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cbkBrZXlmcmFtZXMgdGl0bGVHbG93IHtcbiAgMCUsIDEwMCUgeyB0ZXh0LXNoYWRvdzogMCAycHggMzBweCByZ2JhKDIzMiwgMTk2LCAxMDgsIDAuMyk7IH1cbiAgNTAlIHsgdGV4dC1zaGFkb3c6IDAgMnB4IDQ0cHggcmdiYSgyNDYsIDIyNiwgMTY2LCAwLjYpOyB9XG59XG4udHdpbmtsZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgZm9udC1zdHlsZTogbm9ybWFsOyBjb2xvcjogdmFyKC0tZ29sZC1sKTsgZm9udC1zaXplOiAwLjMyZW07IGFuaW1hdGlvbjogdHdpbmtsZSAyLjZzIGVhc2UtaW4tb3V0IGluZmluaXRlOyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuLnQxIHsgbGVmdDogLTAuNWVtOyB0b3A6IDAuMWVtOyB9XG4udDIgeyByaWdodDogLTAuNDVlbTsgdG9wOiAtMC4xZW07IGZvbnQtc2l6ZTogMC4yNGVtOyBhbmltYXRpb24tZGVsYXk6IDAuOXM7IH1cbi50MyB7IHJpZ2h0OiAwLjZlbTsgYm90dG9tOiAtMC4yNWVtOyBmb250LXNpemU6IDAuMmVtOyBhbmltYXRpb24tZGVsYXk6IDEuN3M7IH1cbkBrZXlmcmFtZXMgdHdpbmtsZSB7IDAlLCAxMDAlIHsgb3BhY2l0eTogMC4yOyB0cmFuc2Zvcm06IHNjYWxlKDAuNikgcm90YXRlKDBkZWcpOyB9IDUwJSB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogc2NhbGUoMS4xNSkgcm90YXRlKDI1ZGVnKTsgfSB9XG4ubGVkZSB7IG1hcmdpbjogMCBhdXRvOyBtYXgtd2lkdGg6IDMwcmVtOyBjb2xvcjogdmFyKC0tbXV0ZWQpOyBmb250LXNpemU6IDEuMDZyZW07IGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLnNwbGl0IC53b3JkIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4uY2ggeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG9wYWNpdHk6IDA7IGFuaW1hdGlvbjogY2hJbiAwLjc1cyB2YXIoLS1zcHJpbmcpIGZvcndhcmRzOyB9XG5Aa2V5ZnJhbWVzIGNoSW4ge1xuICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAuNTVlbSkgcm90YXRlKDhkZWcpIHNjYWxlKDAuNik7IGZpbHRlcjogYmx1cig2cHgpOyB9XG4gIHRvIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiBub25lOyBmaWx0ZXI6IG5vbmU7IH1cbn1cblxuLmNkIHsgbWFyZ2luLXRvcDogMjRweDsgfVxuLmNkLWNhcHRpb24geyBtYXJnaW46IDAgMCAxMHB4OyBmb250LXNpemU6IDAuOHJlbTsgZm9udC13ZWlnaHQ6IDcwMDsgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLW11dGVkKTsgfVxuLmNkLXJvdyB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBnYXA6IDEwcHg7IH1cbi5jZC1pdGVtIHtcbiAgbWluLXdpZHRoOiA3NnB4OyBwYWRkaW5nOiAxMHB4IDEycHg7IGJvcmRlci1yYWRpdXM6IDE2cHg7IG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMikpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIzMiwgMTk2LCAxMDgsIDAuMyk7XG4gIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uY2QtbnVtIHsgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5JywgR2VvcmdpYSwgc2VyaWY7IGZvbnQtc2l6ZTogMS45cmVtOyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogdmFyKC0tY3JlYW0pOyBsaW5lLWhlaWdodDogMS4xOyBhbmltYXRpb246IHRpY2sgMC42cyB2YXIoLS1zcHJpbmcpOyB9XG5Aa2V5ZnJhbWVzIHRpY2sgeyBmcm9tIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02MCUpIHJvdGF0ZVgoODBkZWcpOyBvcGFjaXR5OiAwOyB9IHRvIHsgdHJhbnNmb3JtOiBub25lOyBvcGFjaXR5OiAxOyB9IH1cbi5jZC1sYWJlbCB7IGZvbnQtc2l6ZTogMC43NnJlbTsgY29sb3I6IHZhcigtLW11dGVkKTsgfVxuXG4vKiBwYW5lbCAqL1xuLnBhbmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyBtYXJnaW4tdG9wOiAzNnB4OyBwYWRkaW5nOiAyOHB4IDE4cHggMjRweDsgYm9yZGVyLXJhZGl1czogMjZweDsgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDYsIDIyLCAxNywgMC42Mik7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjMyLCAxOTYsIDEwOCwgMC4yNCk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpOyAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xuICBib3gtc2hhZG93OiAwIDI0cHggNzBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGFuaW1hdGlvbjogcmlzZSAwLjlzIHZhcigtLXNtb290aCkgMC4zNXMgYm90aDtcbn1cbi5wYW5lbDo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMTIlOyByaWdodDogMTIlOyB0b3A6IC0xcHg7IGhlaWdodDogMnB4OyBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIHZhcigtLWdvbGQtbCksIHRyYW5zcGFyZW50KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkgeyAucGFuZWwgeyBwYWRkaW5nOiAzNHB4IDMycHggMzBweDsgfSB9XG5oMiB7IG1hcmdpbjogMCAwIDhweDsgdGV4dC1hbGlnbjogY2VudGVyOyBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBHZW9yZ2lhLCBzZXJpZjsgZm9udC1zaXplOiAxLjhyZW07IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS1jcmVhbSk7IGxpbmUtaGVpZ2h0OiAxLjI7IH1cbi5wYW5lbC1zdWIgeyBtYXJnaW46IDAgYXV0bzsgbWF4LXdpZHRoOiAzMnJlbTsgY29sb3I6IHZhcigtLW11dGVkKTsgbGluZS1oZWlnaHQ6IDEuNTU7IH1cbi5tZS10aXRsZSB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgZm9udC1zaXplOiBjbGFtcCgycmVtLCA5dncsIDIuOHJlbSk7IGNvbG9yOiB2YXIoLS1nb2xkKTsgbWFyZ2luLXRvcDogNnB4OyB9XG4ud2FpdGluZy1pY29uIHsgZGlzcGxheTogYmxvY2s7IGZvbnQtc2l6ZTogM3JlbTsgbWFyZ2luLWJvdHRvbTogNnB4OyBhbmltYXRpb246IGJvYiAzcyBlYXNlLWluLW91dCBpbmZpbml0ZTsgfVxuQGtleWZyYW1lcyBib2IgeyA1MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCkgcm90YXRlKC00ZGVnKTsgfSB9XG5Aa2V5ZnJhbWVzIHJpc2UgeyBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI2cHgpIHNjYWxlKDAuOTgpOyB9IHRvIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuLmN0YS13cmFwIHsgbWFyZ2luLXRvcDogMjJweDsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLnByb2dyZXNzLXdyYXAgeyBtYXJnaW46IDE4cHggYXV0byAwOyBtYXgtd2lkdGg6IDM2MHB4OyB9XG4ucHJvZ3Jlc3MgeyBoZWlnaHQ6IDhweDsgYm9yZGVyLXJhZGl1czogOTlweDsgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpOyBvdmVyZmxvdzogaGlkZGVuOyB9XG4ucHJvZ3Jlc3Mgc3BhbiB7IGRpc3BsYXk6IGJsb2NrOyBoZWlnaHQ6IDEwMCU7IGJvcmRlci1yYWRpdXM6IDk5cHg7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tZ29sZCksIHZhcigtLWdvbGQtbCkpOyB0cmFuc2l0aW9uOiB3aWR0aCAwLjhzIHZhcigtLXNtb290aCk7IH1cbi5wcm9ncmVzcy10ZXh0IHsgbWFyZ2luOiA4cHggMCAwOyBmb250LXNpemU6IDAuOXJlbTsgY29sb3I6IHZhcigtLW11dGVkKTsgfVxuXG4ubXktd2lzaCB7XG4gIG1hcmdpbi10b3A6IDI2cHg7IHBhZGRpbmc6IDE4cHggMTZweCAxNnB4OyBib3JkZXItcmFkaXVzOiAyMHB4OyB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1wYXBlcik7IGNvbG9yOiB2YXIoLS1pbmspOyBib3gtc2hhZG93OiAwIDEycHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG4ubXktd2lzaCBoMyB7IG1hcmdpbjogMCAwIDEwcHg7IGZvbnQtc2l6ZTogMC43NXJlbTsgZm9udC13ZWlnaHQ6IDgwMDsgbGV0dGVyLXNwYWNpbmc6IDAuMTZlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLXJlZCk7IH1cbi5teS13aXNoIC5idG4geyBtYXJnaW4tdG9wOiAxMnB4OyB9XG5cbi8qIGtyb2t5ICovXG4uc3RlcHMgeyBsaXN0LXN0eWxlOiBub25lOyBwYWRkaW5nOiAwOyBtYXJnaW46IDI2cHggMCAwOyBkaXNwbGF5OiBncmlkOyBnYXA6IDEwcHg7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG5AbWVkaWEgKG1pbi13aWR0aDogNjgwcHgpIHsgLnN0ZXBzIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfSB9XG4uc3RlcCB7XG4gIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTJweDsgcGFkZGluZzogMTRweCAxNnB4OyBib3JkZXItcmFkaXVzOiAxOHB4OyB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQ1KTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTsgbGluZS1oZWlnaHQ6IDEuMzU7XG59XG4uc3RlcC1udW0geyBmbGV4OiBub25lOyB3aWR0aDogMzRweDsgaGVpZ2h0OiAzNHB4OyBkaXNwbGF5OiBncmlkOyBwbGFjZS1pdGVtczogY2VudGVyOyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLXJlZCk7IGNvbG9yOiAjZmZmOyBmb250LXdlaWdodDogODAwOyBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgyMDAsIDUyLCA2MywgMC4yKTsgfVxuXG4vKiBzY3JvbGwgYW5pbWFjZSAqL1xuW2RhdGEtcmV2ZWFsXSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNnB4KSBzY2FsZSgwLjk4KTsgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjdzIHZhcigtLXNtb290aCksIHRyYW5zZm9ybSAwLjhzIHZhcigtLXNtb290aCk7IHRyYW5zaXRpb24tZGVsYXk6IGNhbGModmFyKC0taSwgMCkgKiA4MG1zKTsgfVxuW2RhdGEtcmV2ZWFsXS5pcy1pbiB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKiBwcmF2aWRsYSAqL1xuLnNlY3Rpb24tdGl0bGUgeyBtYXJnaW46IDU2cHggMCA4cHg7IGZvbnQtc2l6ZTogY2xhbXAoMS43cmVtLCA2dncsIDIuMnJlbSk7IH1cbi5zZWN0aW9uLXRpdGxlIHNwYW4geyBjb2xvcjogdmFyKC0tZ29sZCk7IGZvbnQtc2l6ZTogMC44ZW07IH1cbi5zZWN0aW9uLXN1YiB7IG1hcmdpbjogMCBhdXRvIDE2cHg7IG1heC13aWR0aDogMzRyZW07IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6IHZhcigtLW11dGVkKTsgbGluZS1oZWlnaHQ6IDEuNTsgfVxuLnJ1bGVzIHsgZGlzcGxheTogZ3JpZDsgZ2FwOiAxNHB4OyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgbWFyZ2luLXRvcDogMThweDsgfVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7IC5ydWxlcyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0gfVxuLnJ1bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IHBhZGRpbmc6IDE4cHg7IGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyKTsgY29sb3I6IHZhcigtLWluayk7XG4gIGJveC1zaGFkb3c6IDAgMTBweCAyNnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG4ucnVsZS5pcy1pbiB7IHRyYW5zaXRpb246IG9wYWNpdHkgMC43cyB2YXIoLS1zbW9vdGgpLCB0cmFuc2Zvcm0gMC4zNXMgdmFyKC0tc21vb3RoKTsgdHJhbnNpdGlvbi1kZWxheTogMHM7IH1cbi5ydWxlLmlzLWluOmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpIHJvdGF0ZSgtMC40ZGVnKTsgfVxuLnJ1bGUtaWNvbiB7IGZvbnQtc2l6ZTogMS43cmVtOyBsaW5lLWhlaWdodDogMTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4ucnVsZS5pcy1pbiAucnVsZS1pY29uIHsgYW5pbWF0aW9uOiBwb3AgMC42cyB2YXIoLS1zcHJpbmcpIDAuMnMgYm90aDsgfVxuLnJ1bGUgaDMgeyBtYXJnaW46IDhweCAwIDRweDsgZm9udC1zaXplOiAxLjA4cmVtOyBmb250LXdlaWdodDogODAwOyB9XG4ucnVsZSBwIHsgbWFyZ2luOiAwOyBjb2xvcjogdmFyKC0taW5rLXNvZnQpOyBsaW5lLWhlaWdodDogMS41NTsgfVxuLnJ1bGUtLWhlcm8ge1xuICBncmlkLWNvbHVtbjogMSAvIC0xOyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgZ2FwOiA2cHggMjBweDtcbiAgcGFkZGluZzogMjJweDsgY29sb3I6IHZhcigtLWNyZWFtKTsgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDpcbiAgICByYWRpYWwtZ3JhZGllbnQoMjYwcHggMTYwcHggYXQgMTAwJSAwJSwgcmdiYSgyMzIsIDE5NiwgMTA4LCAwLjMpLCB0cmFuc3BhcmVudCA3MCUpLFxuICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLXJlZCksIHZhcigtLXJlZC1kKSk7XG59XG4ucnVsZS0taGVybzo6YWZ0ZXIge1xuICBjb250ZW50OiAnJzsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMDVkZWcsIHRyYW5zcGFyZW50IDM1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE4KSA1MCUsIHRyYW5zcGFyZW50IDY1JSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTIwJSk7IGFuaW1hdGlvbjogc2hpbmUgNXMgZWFzZS1pbi1vdXQgMS41cyBpbmZpbml0ZTtcbn1cbi5ydWxlLS1oZXJvIGgzIHsgbWFyZ2luLXRvcDogMDsgZm9udC1zaXplOiAwLjg1cmVtOyBsZXR0ZXItc3BhY2luZzogMC4yZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiAjZmZlMmRkOyB9XG4ucnVsZS0taGVybyBwIHsgY29sb3I6ICNmZmVlZWE7IH1cbi5ydWxlLS1oZXJvIC5idWRnZXQge1xuICBtYXJnaW46IDA7IGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIEdlb3JnaWEsIHNlcmlmOyBmb250LXN0eWxlOiBpdGFsaWM7IGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMi42cmVtLCAxMnZ3LCAzLjZyZW0pOyBsaW5lLWhlaWdodDogMTsgY29sb3I6IHZhcigtLWdvbGQpOyB0ZXh0LXNoYWRvdzogMCAycHggMTRweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuQGtleWZyYW1lcyBzaGluZSB7IDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMjAlKTsgfSAzMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTIwJSk7IH0gfVxuXG4uY2hpcHMgeyBsaXN0LXN0eWxlOiBub25lOyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGdhcDogOHB4OyB9XG4uY2hpcCB7IHBhZGRpbmc6IDhweCAxNHB4OyBib3JkZXItcmFkaXVzOiA5OTlweDsgZm9udC1zaXplOiAwLjkzcmVtOyBiYWNrZ3JvdW5kOiByZ2JhKDIzMiwgMTk2LCAxMDgsIDAuMSk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjMyLCAxOTYsIDEwOCwgMC4zNSk7IGNvbG9yOiAjZjZlN2MxOyB9XG5cbi5mb290IHsgbWFyZ2luLXRvcDogNTZweDsgdGV4dC1hbGlnbjogY2VudGVyOyBmb250LXNpemU6IDAuODhyZW07IGNvbG9yOiB2YXIoLS1tdXRlZCk7IGxpbmUtaGVpZ2h0OiAxLjU7IH1cbi5mb290IHAgeyBtYXJnaW46IDAgYXV0byA2cHg7IG1heC13aWR0aDogMzByZW07IH1cbi5saW5rLWJ0biB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luLXRvcDogOHB4OyBiYWNrZ3JvdW5kOiBub25lOyBib3JkZXI6IDA7IHBhZGRpbmc6IDEwcHg7IGNvbG9yOiB2YXIoLS1nb2xkKTsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4OyBjdXJzb3I6IHBvaW50ZXI7IG1pbi1oZWlnaHQ6IDQ0cHg7IH1cbi5mb290LWxpbmtzIHsgZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiA0cHggMThweDsgfVxuLmxpbmstYnRuLS1kYXJrIHsgY29sb3I6IHZhcigtLXJlZC1kKTsgZGlzcGxheTogYmxvY2s7IG1hcmdpbjogMTJweCBhdXRvIDA7IH1cblxuLyogdGxhxI3DrXRrYSAqL1xuLmJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBnYXA6IDhweDsgbWluLWhlaWdodDogNDZweDsgcGFkZGluZzogMCAyMnB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDsgYm9yZGVyOiAwOyBmb250LXdlaWdodDogODAwOyBjdXJzb3I6IHBvaW50ZXI7IHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMsIHRyYW5zZm9ybSAwLjJzIHZhcigtLXNwcmluZyksIGJveC1zaGFkb3cgMC4ycztcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG4uYnRuOmFjdGl2ZSB7IHRyYW5zZm9ybTogc2NhbGUoMC45Nik7IH1cbi5idG46ZGlzYWJsZWQgeyBvcGFjaXR5OiAwLjU7IGN1cnNvcjogZGVmYXVsdDsgfVxuLmJ0bjpmb2N1cy12aXNpYmxlLCAubGluay1idG46Zm9jdXMtdmlzaWJsZSwgLnN0YWdlLWhpdDpmb2N1cy12aXNpYmxlLCAud3RhZzpmb2N1cy12aXNpYmxlIHsgb3V0bGluZTogM3B4IHNvbGlkIHZhcigtLWdvbGQpOyBvdXRsaW5lLW9mZnNldDogM3B4OyB9XG4uYnRuLXByaW1hcnkgeyBiYWNrZ3JvdW5kOiB2YXIoLS1yZWQpOyBjb2xvcjogI2ZmZjsgfVxuLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tcmVkLWQpOyB9XG4uYnRuLWdob3N0IHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNvbG9yOiB2YXIoLS1pbmspOyBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggI2NkYmI5ODsgfVxuLmJ0bi1naG9zdDpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNCk7IH1cbi5idG4tbGlnaHQgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7IGNvbG9yOiB2YXIoLS1jcmVhbSk7IGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpOyB9XG4uYnRuLWxpZ2h0OmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE4KTsgfVxuLmJ0bi1zbWFsbCB7IG1pbi1oZWlnaHQ6IDQwcHg7IHBhZGRpbmc6IDAgMTRweDsgZm9udC1zaXplOiAwLjlyZW07IH1cbi5idG4tYmlnIHtcbiAgbWluLWhlaWdodDogNjBweDsgcGFkZGluZzogMCAzMnB4OyBmb250LXNpemU6IDEuMTVyZW07IG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNkNjNiNDcsIHZhcigtLXJlZC1kKSk7XG4gIGFuaW1hdGlvbjogcHVsc2UgMi40cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cbi5idG4tYmlnOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyBib3JkZXItcmFkaXVzOiBpbmhlcml0OyBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEwNWRlZywgdHJhbnNwYXJlbnQgMzAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpIDUwJSwgdHJhbnNwYXJlbnQgNzAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMjAlKTsgYW5pbWF0aW9uOiBzaGluZSAzLjJzIGVhc2UtaW4tb3V0IDFzIGluZmluaXRlO1xufVxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIDAlLCAxMDAlIHsgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDIzMiwgMTk2LCAxMDgsIDAuNTUpLCAwIDEwcHggMzBweCByZ2JhKDIwMCwgNTIsIDYzLCAwLjQ1KTsgfVxuICA1MCUgeyBib3gtc2hhZG93OiAwIDAgMCAxMnB4IHJnYmEoMjMyLCAxOTYsIDEwOCwgMCksIDAgMTBweCA0MHB4IHJnYmEoMjAwLCA1MiwgNjMsIDAuNik7IH1cbn1cblxuLyogZGlhbG9neSAqL1xuLm92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7IGluc2V0OiAwOyB6LWluZGV4OiA1MDsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgcGFkZGluZzogMTZweDsgb3ZlcmZsb3cteTogYXV0bzsgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgcGFkZGluZy10b3A6IGNhbGMoMTZweCArIGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKSk7IHBhZGRpbmctYm90dG9tOiBjYWxjKDE2cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDMsIDExLCA4LCAwLjc2KTsgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDZweCk7IC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDZweCk7XG4gIGFuaW1hdGlvbjogZmFkZSAwLjI1cyBlYXNlO1xufVxuLm92ZXJsYXkgPiAqIHsgbWFyZ2luOiBhdXRvOyB9XG4ub3ZlcmxheS0tcmV2ZWFsIHsgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA1MCUgMzglLCByZ2JhKDkwLCA2MCwgMTUsIDAuNTUpLCByZ2JhKDMsIDExLCA4LCAwLjk0KSA3MCUpOyB9XG4uZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMTAwJTsgbWF4LXdpZHRoOiA0NDBweDsgcGFkZGluZzogMjZweCAyMHB4IDIwcHg7IGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBhcGVyKTsgY29sb3I6IHZhcigtLWluayk7IGJveC1zaGFkb3c6IDAgMzBweCA4MHB4IHJnYmEoMCwgMCwgMCwgMC41NSk7XG4gIGFuaW1hdGlvbjogcG9wIDAuMzVzIHZhcigtLXNwcmluZyk7XG59XG4uZGlhbG9nLS13aWRlIHsgbWF4LXdpZHRoOiA2ODBweDsgfVxuLmRpYWxvZzo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMDsgcmlnaHQ6IDA7IHRvcDogMDsgaGVpZ2h0OiA4cHg7IGJvcmRlci1yYWRpdXM6IDI0cHggMjRweCAwIDA7XG4gIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHZhcigtLXJlZCkgMCA4cHgsICNmZmYgOHB4IDE2cHgpO1xufVxuLmRpYWxvZyBoMiB7IGNvbG9yOiB2YXIoLS1pbmspOyB0ZXh0LWFsaWduOiBsZWZ0OyBmb250LXNpemU6IDEuNnJlbTsgfVxuLmRsZy1raWNrZXIgeyBtYXJnaW46IDAgMCA0cHg7IGZvbnQtc2l6ZTogMC43NnJlbTsgZm9udC13ZWlnaHQ6IDgwMDsgbGV0dGVyLXNwYWNpbmc6IDAuMThlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLXJlZCk7IH1cbi5kbGctdGV4dCB7IG1hcmdpbjogNHB4IDAgMTZweDsgY29sb3I6IHZhcigtLWluay1zb2Z0KTsgbGluZS1oZWlnaHQ6IDEuNTU7IH1cbi5maWVsZCB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogNnB4OyBtYXJnaW4tdG9wOiAxMnB4OyBmb250LXdlaWdodDogNzAwOyBmb250LXNpemU6IDAuOTJyZW07IH1cbi50ZXh0LWlucHV0IHtcbiAgd2lkdGg6IDEwMCU7IHBhZGRpbmc6IDEycHggMTRweDsgYm9yZGVyOiAycHggc29saWQgI2Q5YzlhODsgYm9yZGVyLXJhZGl1czogMTRweDsgYmFja2dyb3VuZDogI2ZmZjsgY29sb3I6IHZhcigtLWluayk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyBmb250LXNpemU6IDE2cHg7XG59XG4udGV4dC1pbnB1dDpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IGJvcmRlci1jb2xvcjogdmFyKC0tZ29sZC1kKTsgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMjMyLCAxOTYsIDEwOCwgMC40NSk7IH1cbi50ZXh0YXJlYSB7IG1pbi1oZWlnaHQ6IDk2cHg7IHJlc2l6ZTogdmVydGljYWw7IGxpbmUtaGVpZ2h0OiAxLjQ1OyB9XG4udGV4dGFyZWEtLXNob3J0IHsgbWluLWhlaWdodDogNjRweDsgfVxuLmFjdGlvbnMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IGdhcDogMTBweDsgbWFyZ2luLXRvcDogMjBweDsgfVxuLmFjdGlvbnMgLmJ0biB7IGZsZXg6IDEgMSBhdXRvOyB9XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHsgLmFjdGlvbnMgLmJ0biB7IGZsZXg6IDAgMCBhdXRvOyB9IH1cbi5lcnIgeyBtYXJnaW46IDEycHggMCAwOyBjb2xvcjogI2EzMjAyYjsgZm9udC13ZWlnaHQ6IDcwMDsgbGluZS1oZWlnaHQ6IDEuNDU7IH1cbi5vayB7IG1hcmdpbjogMTBweCAwIDA7IGNvbG9yOiAjMmY2YjQ1OyBmb250LXdlaWdodDogODAwOyB9XG5cbi8qIHDFmcOhbsOtICovXG4ud2lzaC1maWVsZHNldCB7IGJvcmRlcjogMDsgcGFkZGluZzogMDsgbWFyZ2luOiAwIDAgNHB4OyB9XG4ud2lzaC1maWVsZHNldCBsZWdlbmQgeyBwYWRkaW5nOiAwOyBtYXJnaW4tYm90dG9tOiA4cHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMC45MnJlbTsgfVxuLndpc2gtdGFncyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiA3cHg7IH1cbi53dGFnIHtcbiAgbWluLWhlaWdodDogNDBweDsgcGFkZGluZzogNnB4IDEzcHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBjdXJzb3I6IHBvaW50ZXI7IHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBib3JkZXI6IDEuNXB4IHNvbGlkICNkOWM5YTg7IGJhY2tncm91bmQ6ICNmZmY7IGNvbG9yOiB2YXIoLS1pbmspOyBmb250LXNpemU6IDAuOTJyZW07IGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMsIGNvbG9yIDAuMTVzLCBib3JkZXItY29sb3IgMC4xNXMsIHRyYW5zZm9ybSAwLjJzIHZhcigtLXNwcmluZyk7XG59XG4ud3RhZzphY3RpdmUgeyB0cmFuc2Zvcm06IHNjYWxlKDAuOTQpOyB9XG4ud3RhZ1thcmlhLXByZXNzZWQ9J3RydWUnXSB7IGJhY2tncm91bmQ6IHZhcigtLXJlZCk7IGJvcmRlci1jb2xvcjogdmFyKC0tcmVkKTsgY29sb3I6ICNmZmY7IH1cbi53Y2hpcHMgeyBsaXN0LXN0eWxlOiBub25lOyBtYXJnaW46IDAgMCA4cHg7IHBhZGRpbmc6IDA7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiA2cHg7IH1cbi53Y2hpcHMgbGkgeyBwYWRkaW5nOiA0cHggMTBweDsgYm9yZGVyLXJhZGl1czogOTk5cHg7IGJhY2tncm91bmQ6ICNmNGU3YzY7IGNvbG9yOiAjNWE0MjIwOyBmb250LXNpemU6IDAuODVyZW07IGZvbnQtd2VpZ2h0OiA3MDA7IH1cbi53aXNoLXRleHQgeyBtYXJnaW46IDAgMCA2cHg7IGNvbG9yOiB2YXIoLS1pbmstc29mdCk7IGxpbmUtaGVpZ2h0OiAxLjU7IHdoaXRlLXNwYWNlOiBwcmUtbGluZTsgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7IH1cbi53aXNoLXRleHQ6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbi53aXNoLWF2b2lkIHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1pbmspOyB9XG4ud2lzaC1lbXB0eSB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKiBvZGtyeXTDrSAqL1xuLnJldmVhbC13cmFwIHsgd2lkdGg6IDEwMCU7IG1heC13aWR0aDogNDYwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuLnJldmVhbCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbi5yZXZlYWwtaGkgeyBtYXJnaW46IDAgMCA0cHg7IGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIEdlb3JnaWEsIHNlcmlmOyBmb250LXN0eWxlOiBpdGFsaWM7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogY2xhbXAoMS44cmVtLCA4dncsIDIuM3JlbSk7IGNvbG9yOiB2YXIoLS1nb2xkKTsgfVxuLnN0YWdlIHsgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiBtaW4oNTB2aCwgMzgwcHgpOyB0cmFuc2l0aW9uOiBoZWlnaHQgMC43cyB2YXIoLS1zbW9vdGgpOyB9XG4uaXMtc2hvd24gLnN0YWdlIHsgaGVpZ2h0OiBtaW4oMjh2aCwgMjIwcHgpOyB9XG4uZ2lmdDNkIHtcbiAgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSA3MiUgNzAlIGF0IDUwJSA1MiUsICMwMDAgNjIlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgbWFzay1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgNzIlIDcwJSBhdCA1MCUgNTIlLCAjMDAwIDYyJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG59XG4uZ2lmdDNkIGNhbnZhcyB7IGRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyB9XG4uc3RhZ2UtaGl0IHsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogOCUgMTUlOyBiYWNrZ3JvdW5kOiBub25lOyBib3JkZXI6IDA7IGJvcmRlci1yYWRpdXM6IDI0cHg7IGN1cnNvcjogcG9pbnRlcjsgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cbi5yZXZlYWwtaGludCB7IG1hcmdpbjogMDsgY29sb3I6IHZhcigtLWdvbGQtbCk7IGZvbnQtd2VpZ2h0OiA4MDA7IGxldHRlci1zcGFjaW5nOiAwLjA0ZW07IGFuaW1hdGlvbjogaGludCAxLjhzIGVhc2UtaW4tb3V0IGluZmluaXRlOyB9XG5Aa2V5ZnJhbWVzIGhpbnQgeyAwJSwgMTAwJSB7IG9wYWNpdHk6IDAuNTU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSA1MCUgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7IH0gfVxuXG4ucmV2ZWFsLWNhcmQge1xuICB3aWR0aDogMTAwJTsgbWFyZ2luLXRvcDogOHB4OyBwYWRkaW5nOiAyMnB4IDE4cHggMThweDsgYm9yZGVyLXJhZGl1czogMjJweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXIpOyBjb2xvcjogdmFyKC0taW5rKTsgYm94LXNoYWRvdzogMCAyNHB4IDYwcHggcmdiYSgwLCAwLCAwLCAwLjUpLCAwIDAgNjBweCByZ2JhKDIzMiwgMTk2LCAxMDgsIDAuMjUpO1xuICBhbmltYXRpb246IHBvcCAwLjZzIHZhcigtLXNwcmluZykgYm90aDtcbn1cbi5yZXZlYWwtbmFtZSB7IG1hcmdpbjogMnB4IDAgNnB4OyBmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknLCBHZW9yZ2lhLCBzZXJpZjsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiBjbGFtcCgyLjFyZW0sIDEwdncsIDIuOXJlbSk7IGxpbmUtaGVpZ2h0OiAxLjE7IGNvbG9yOiB2YXIoLS1yZWQpOyB9XG4ud2lzaC1ib3ggeyBtYXJnaW46IDEycHggMCAxMnB4OyBwYWRkaW5nOiAxMnB4IDE0cHg7IHRleHQtYWxpZ246IGxlZnQ7IGJvcmRlci1yYWRpdXM6IDE0cHg7IGJhY2tncm91bmQ6ICNmZmY7IGJvcmRlcjogMS41cHggZGFzaGVkICNkOWM5YTg7IH1cbi53aXNoLWJveCBoMyB7IG1hcmdpbjogMCAwIDhweDsgZm9udC1zaXplOiAwLjc0cmVtOyBmb250LXdlaWdodDogODAwOyBsZXR0ZXItc3BhY2luZzogMC4xNmVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tcmVkKTsgfVxuLnJldmVhbC1tZXRhIHsgbWFyZ2luOiAwOyBjb2xvcjogdmFyKC0taW5rLXNvZnQpOyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDAuOTVyZW07IH1cbi5zaGggeyBtYXJnaW46IDEwcHggMCAwOyBmb250LXdlaWdodDogODAwOyB9XG4ucmV2ZWFsLWFjdGlvbnMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBnYXA6IDEwcHg7IG1hcmdpbi10b3A6IDE2cHg7IH1cblxuLyogesOhbG/Fvm7DrSBDU1MgZMOhcmVrLCBrZHnFviBuZWZ1bmd1amUgV2ViR0wgKi9cbi5jc3MtZ2lmdCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogNTAlOyB0b3A6IDUwJTsgd2lkdGg6IDE3MHB4OyBoZWlnaHQ6IDE3MHB4OyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuLnJldmVhbDpub3QoLmlzLW9wZW4pIC5jc3MtZ2lmdCB7IGFuaW1hdGlvbjogd2lnZ2xlIDIuNnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7IH1cbi5naWZ0LWJveCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMTRweDsgcmlnaHQ6IDE0cHg7IGJvdHRvbTogNnB4OyBoZWlnaHQ6IDEwNHB4OyBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJhY2tncm91bmQ6XG4gICAgbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCBjYWxjKDUwJSAtIDEwcHgpLCB2YXIoLS1nb2xkKSBjYWxjKDUwJSAtIDEwcHgpLCB2YXIoLS1nb2xkKSBjYWxjKDUwJSArIDEwcHgpLCB0cmFuc3BhcmVudCBjYWxjKDUwJSArIDEwcHgpKSxcbiAgICBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB2YXIoLS1yZWQpLCB2YXIoLS1yZWQtZCkpO1xuICBib3gtc2hhZG93OiAwIDE4cHggNDBweCByZ2JhKDAsIDAsIDAsIDAuNDUpO1xufVxuLmdpZnQtbGlkIHtcbiAgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA2cHg7IHJpZ2h0OiA2cHg7IHRvcDogMzRweDsgaGVpZ2h0OiAzNHB4OyB6LWluZGV4OiAyOyBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJhY2tncm91bmQ6XG4gICAgbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCBjYWxjKDUwJSAtIDEwcHgpLCAjZjJkNDg4IGNhbGMoNTAlIC0gMTBweCksICNmMmQ0ODggY2FsYyg1MCUgKyAxMHB4KSwgdHJhbnNwYXJlbnQgY2FsYyg1MCUgKyAxMHB4KSksXG4gICAgbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2Q5NDU0ZiwgdmFyKC0tcmVkKSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjc1cyB2YXIoLS1zcHJpbmcpLCBvcGFjaXR5IDAuNnMgZWFzZSAwLjI1cztcbn1cbi5naWZ0LWJvdyB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogNTAlOyB0b3A6IC0yMnB4OyB3aWR0aDogMDsgaGVpZ2h0OiAwOyB9XG4uZ2lmdC1ib3c6OmJlZm9yZSwgLmdpZnQtYm93OjphZnRlciB7IGNvbnRlbnQ6ICcnOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgd2lkdGg6IDM4cHg7IGhlaWdodDogMjRweDsgYm9yZGVyOiA3cHggc29saWQgdmFyKC0tZ29sZCk7IGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuLmdpZnQtYm93OjpiZWZvcmUgeyByaWdodDogMnB4OyB0cmFuc2Zvcm06IHJvdGF0ZSgxOGRlZyk7IH1cbi5naWZ0LWJvdzo6YWZ0ZXIgeyBsZWZ0OiAycHg7IHRyYW5zZm9ybTogcm90YXRlKC0xOGRlZyk7IH1cbi5pcy1vcGVuIC5naWZ0LWxpZCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDQ2cHgsIC0xMTBweCkgcm90YXRlKDMyZGVnKTsgb3BhY2l0eTogMDsgfVxuLmJ1cnN0IHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA1MCU7IHRvcDogNTUlOyB3aWR0aDogMDsgaGVpZ2h0OiAwOyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuLmJ1cnN0IHNwYW4geyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC00cHg7IHRvcDogLTRweDsgd2lkdGg6IDlweDsgaGVpZ2h0OiA5cHg7IGJvcmRlci1yYWRpdXM6IDJweDsgYmFja2dyb3VuZDogdmFyKC0tYyk7IG9wYWNpdHk6IDA7IH1cbi5pcy1vcGVuIC5idXJzdCBzcGFuIHsgYW5pbWF0aW9uOiBidXJzdCAxLjFzIGN1YmljLWJlemllcigwLjIsIDAuOCwgMC4zLCAxKSBmb3J3YXJkczsgfVxuXG4vKiBzcHLDoXZjZSAqL1xuLnByZXZpZXctbm90ZSB7IG1hcmdpbjogMCAwIDEycHg7IHBhZGRpbmc6IDEwcHggMTJweDsgYm9yZGVyLXJhZGl1czogMTJweDsgYmFja2dyb3VuZDogI2ZmZjNjZDsgY29sb3I6ICM2YjRlMDA7IGZvbnQtd2VpZ2h0OiA2MDA7IGZvbnQtc2l6ZTogMC45cmVtOyB9XG4uYWRtLXN0YXRzIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDEwcHg7IG1hcmdpbjogNnB4IDAgMTRweDsgfVxuLmFkbS1zdGF0cyBkaXYgeyBwYWRkaW5nOiAxMnB4OyBib3JkZXItcmFkaXVzOiAxNHB4OyBiYWNrZ3JvdW5kOiAjZmZmOyBib3JkZXI6IDFweCBzb2xpZCAjZTdkY2M0OyBkaXNwbGF5OiBncmlkOyB9XG4uYWRtLXN0YXRzIHN0cm9uZyB7IGZvbnQtZmFtaWx5OiAnUGxheWZhaXIgRGlzcGxheScsIEdlb3JnaWEsIHNlcmlmOyBmb250LXNpemU6IDEuNnJlbTsgY29sb3I6IHZhcigtLXJlZCk7IH1cbi5hZG0tc3RhdHMgc3BhbiB7IGZvbnQtc2l6ZTogMC44NXJlbTsgY29sb3I6IHZhcigtLWluay1zb2Z0KTsgfVxuLmFkbS10b29scyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7IH1cbi50b2dnbGUgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7IG1pbi1oZWlnaHQ6IDQwcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtc2l6ZTogMC45cmVtOyBjdXJzb3I6IHBvaW50ZXI7IH1cbi50b2dnbGUgaW5wdXQgeyB3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4OyBhY2NlbnQtY29sb3I6IHZhcigtLXJlZCk7IH1cbi5hZG0tbGlzdCB7IGxpc3Qtc3R5bGU6IG5vbmU7IG1hcmdpbjogMTRweCAwIDA7IHBhZGRpbmc6IDA7IGRpc3BsYXk6IGdyaWQ7IGdhcDogMTBweDsgfVxuLmFkbS1yb3cgeyBwYWRkaW5nOiAxMnB4OyBib3JkZXItcmFkaXVzOiAxNHB4OyBiYWNrZ3JvdW5kOiAjZmZmOyBib3JkZXI6IDFweCBzb2xpZCAjZTdkY2M0OyB9XG4uYWRtLWhlYWQgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LXdyYXA6IHdyYXA7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNnB4OyB9XG4uYWRtLWhlYWQgc3Ryb25nIHsgbWFyZ2luLXJpZ2h0OiBhdXRvOyBmb250LXNpemU6IDEuMDJyZW07IH1cbi5iYWRnZSB7IHBhZGRpbmc6IDNweCA5cHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBmb250LXNpemU6IDAuNzZyZW07IGZvbnQtd2VpZ2h0OiA4MDA7IGJhY2tncm91bmQ6ICNlZmU2ZDI7IGNvbG9yOiAjNmI1ODQ0OyB9XG4uYmFkZ2Uub24geyBiYWNrZ3JvdW5kOiAjZGNlZmUyOyBjb2xvcjogIzJmNmI0NTsgfVxuLmFkbS10byB7IG1hcmdpbjogOHB4IDAgMDsgY29sb3I6IHZhcigtLWluay1zb2Z0KTsgfVxuLmFkbS10byBzdHJvbmcgeyBjb2xvcjogdmFyKC0tcmVkKTsgfVxuLmFkbS1saW5rIHsgZGlzcGxheTogZmxleDsgZ2FwOiA2cHg7IG1hcmdpbi10b3A6IDhweDsgfVxuLmFkbS1saW5rIGlucHV0IHsgZmxleDogMTsgbWluLXdpZHRoOiAwOyBwYWRkaW5nOiA4cHggMTBweDsgYm9yZGVyOiAxLjVweCBzb2xpZCAjZTFkNGI4OyBib3JkZXItcmFkaXVzOiAxMHB4OyBmb250OiBpbmhlcml0OyBmb250LXNpemU6IDAuODJyZW07IGNvbG9yOiB2YXIoLS1pbmstc29mdCk7IGJhY2tncm91bmQ6ICNmYmY4ZjE7IH1cbi5hZG0td2lzaCB7IG1hcmdpbi10b3A6IDhweDsgfVxuLmFkbS13aXNoIHN1bW1hcnkgeyBjdXJzb3I6IHBvaW50ZXI7IGZvbnQtd2VpZ2h0OiA4MDA7IGNvbG9yOiB2YXIoLS1yZWQtZCk7IG1pbi1oZWlnaHQ6IDMycHg7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbi5hZG0td2lzaFtvcGVuXSBzdW1tYXJ5IHsgbWFyZ2luLWJvdHRvbTogNnB4OyB9XG5cbkBrZXlmcmFtZXMgZmFkZSB7IGZyb20geyBvcGFjaXR5OiAwOyB9IHRvIHsgb3BhY2l0eTogMTsgfSB9XG5Aa2V5ZnJhbWVzIHBvcCB7IGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTRweCkgc2NhbGUoMC45KTsgfSB0byB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogbm9uZTsgfSB9XG5Aa2V5ZnJhbWVzIHdpZ2dsZSB7XG4gIDAlLCA3OCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoMCk7IH1cbiAgODQlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC02ZGVnKTsgfVxuICA5MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNmRlZyk7IH1cbiAgOTYlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKC0zZGVnKTsgfVxufVxuQGtleWZyYW1lcyBidXJzdCB7XG4gIDAlIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiByb3RhdGUodmFyKC0tYSkpIHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7IH1cbiAgMTAwJSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogcm90YXRlKHZhcigtLWEpKSB0cmFuc2xhdGVZKC0xNTBweCkgcm90YXRlKDIyMGRlZykgc2NhbGUoMC42KTsgfVxufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAqLCAqOjpiZWZvcmUsICo6OmFmdGVyIHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50OyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDsgfVxuICBbZGF0YS1yZXZlYWxdIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiBub25lOyB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQUE7QUFDRSxXQUFTO0FBQ1QsVUFBUTtBQUNSLFdBQVM7QUFDVCxXQUFTO0FBQ1QsU0FBTztBQUNQLGNBQVk7QUFDWixTQUFPO0FBQ1AsV0FBUztBQUNULFVBQVE7QUFDUixZQUFVO0FBQ1YsWUFBVTtBQUNWLFdBQVM7QUFDVCxZQUFVLGFBQWEsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUU7QUFDdEMsWUFBVSxhQUFhLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFO0FBQ3RDLGdCQUFjO0FBQ2hCO0FBRUE7QUFBSSxjQUFZO0FBQVk7QUFDNUI7QUFBTyw0QkFBMEI7QUFBTSwrQkFBNkI7QUFBYTtBQUVqRjtBQUNFLFVBQVE7QUFDUixjQUFZO0FBQ1o7QUFBQSxJQUFhLFFBQVE7QUFBQSxJQUFFLFNBQVM7QUFBQSxJQUFFLGFBQWE7QUFBQSxJQUFFO0FBQ2pELFNBQU8sSUFBSTtBQUNYO0FBQUEsSUFDRTtBQUFBLE1BQWdCLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRztBQUFBLE1BQUUsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxLQUFLO0FBQUEsTUFBRSxZQUFZLElBQUk7QUFBQSxJQUNqRjtBQUFBLE1BQWdCLE1BQU0sTUFBTSxHQUFHLEtBQUssSUFBSTtBQUFBLE1BQUUsS0FBSyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLO0FBQUEsTUFBRSxZQUFZLElBQUk7QUFBQSxJQUNuRjtBQUFBLE1BQWdCLE1BQU07QUFBQSxNQUFFLElBQUksUUFBUSxFQUFFO0FBQUEsTUFBRSxJQUFJLFNBQVM7QUFDdkQseUJBQXVCO0FBQ3ZCLGNBQVk7QUFDZDtBQUVBO0FBQVMsUUFBTTtBQUFTO0FBQ3hCLENBQUM7QUFBVSxZQUFVO0FBQVUs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 */
