/* web/src/app.css */
:root {
  --bg: #f5f5f1;
  --surface: #ffffff;
  --side: #eeeee8;
  --ink: #1e2328;
  --ink-soft: #3d444c;
  --muted: #6a727b;
  --line: #deded6;
  --accent: #254c75;
  --accent-ink: #ffffff;
  --accent-soft: #e2eaf3;
  --gold: #d9a52f;
  --ok: #2c7a4b;
  --ok-soft: #e1f1e7;
  --warn: #9a6200;
  --warn-soft: #fbefd8;
  --bad: #b3261e;
  --bad-soft: #f9e2e0;
  --shadow: 0 10px 30px rgba(20, 30, 45, .14);
  --ui:
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    Arial,
    sans-serif;
  --serif:
    "Iowan Old Style",
    "Charter",
    "Bitstream Charter",
    "Sitka Text",
    Cambria,
    Georgia,
    serif;
  --mono:
    ui-monospace,
    "SF Mono",
    Menlo,
    Consolas,
    monospace;
  --top: calc(52px + env(safe-area-inset-top, 0px));
  --editor-size: 19px;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #15171a;
    --surface: #1b1e22;
    --side: #121417;
    --ink: #e6e6e1;
    --ink-soft: #c7c9c4;
    --muted: #949ba3;
    --line: #2b3036;
    --accent: #8db3da;
    --accent-ink: #10202f;
    --accent-soft: #1f2d3b;
    --gold: #e2b54d;
    --ok: #7fcf9b;
    --ok-soft: #16301f;
    --warn: #e8b55a;
    --warn-soft: #33270f;
    --bad: #f08a83;
    --bad-soft: #3a1a18;
    --shadow: 0 10px 30px rgba(0, 0, 0, .45);
    color-scheme: dark;
  }
}
* {
  box-sizing: border-box;
}
html,
body,
#app {
  height: 100%;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 15px/1.5 var(--ui);
  -webkit-text-size-adjust: 100%;
}
button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}
[hidden] {
  display: none !important;
}
:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
.boot {
  display: grid;
  place-items: center;
  height: 100vh;
  color: var(--muted);
}
.muted {
  color: var(--muted);
}
.pad {
  padding: 8px 12px;
}
.hint {
  color: var(--muted);
  font-size: 13px;
  margin: 6px 0 0;
}
.btn {
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 8px;
  padding: 8px 14px;
  cursor: pointer;
  line-height: 1.2;
}
.btn:hover {
  border-color: var(--muted);
}
.btn.primary {
  background: var(--accent);
  color: var(--accent-ink);
  border-color: var(--accent);
}
.btn.danger {
  color: var(--bad);
}
.btn.primary.danger,
.dialog .btn.danger[type=submit] {
  background: var(--bad);
  color: #fff;
  border-color: var(--bad);
}
.btn.small {
  padding: 5px 10px;
  font-size: 13px;
}
.btn.wide {
  width: 100%;
}
.btn:disabled {
  opacity: .6;
  cursor: default;
}
.icon-btn {
  border: 0;
  background: transparent;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 18px;
  color: var(--ink-soft);
  flex: 0 0 auto;
}
.icon-btn:hover {
  background: var(--accent-soft);
}
.link-btn {
  border: 0;
  background: none;
  color: var(--accent);
  cursor: pointer;
  padding: 0 4px;
  font-size: 13px;
}
.input {
  width: 100%;
  border: 1px solid var(--line);
  background: var(--surface);
  border-radius: 8px;
  padding: 8px 10px;
  min-width: 0;
}
.input:focus {
  border-color: var(--accent);
  outline: none;
  box-shadow: 0 0 0 3px var(--accent-soft);
}
textarea.code {
  font-family: var(--mono);
  font-size: 12px;
  white-space: pre;
}
.chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--accent-soft);
  color: var(--accent);
  white-space: nowrap;
}
.chip.ok {
  background: var(--ok-soft);
  color: var(--ok);
}
.chip.warn {
  background: var(--warn-soft);
  color: var(--warn);
}
.chip.bad {
  background: var(--bad-soft);
  color: var(--bad);
}
.chip.muted {
  background: transparent;
  color: var(--muted);
  border: 1px solid var(--line);
}
.field {
  display: grid;
  gap: 4px;
}
.field > span {
  font-size: 13px;
  color: var(--ink-soft);
  font-weight: 600;
}
.field-label {
  display: block;
  font-size: 13px;
  color: var(--ink-soft);
  margin-bottom: 4px;
}
.form-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin-bottom: 12px;
}
.row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.switch {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0 12px;
}
.days {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.day {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 4px 8px;
  font-size: 13px;
}
.auth {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px 16px;
}
.auth-card {
  width: min(420px, 100%);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 28px;
  display: grid;
  gap: 14px;
  box-shadow: var(--shadow);
}
.auth-card h1 {
  margin: 0;
  font-family: var(--serif);
  font-size: 28px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  color: var(--accent);
}
.brand img {
  border-radius: 10px;
}
.error {
  color: var(--bad);
  margin: 0;
  min-height: 1em;
}
.shell {
  height: 100%;
  height: 100dvh;
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: minmax(0, 1fr);
  overflow: hidden;
}
.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: calc(8px + env(safe-area-inset-top, 0px)) 12px 8px;
  background: var(--bg);
  border-bottom: 1px solid var(--line);
  min-height: var(--top);
}
.doc-title {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
  overflow: hidden;
}
.doc-name {
  font-weight: 650;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.doc-folder {
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 30vw;
}
.spacer {
  flex: 1;
}
.words {
  font-size: 12.5px;
  color: var(--muted);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.tabs {
  display: flex;
  gap: 2px;
  background: var(--side);
  padding: 3px;
  border-radius: 10px;
}
.tab {
  border: 0;
  background: transparent;
  padding: 5px 10px;
  border-radius: 7px;
  cursor: pointer;
  font-size: 13px;
  color: var(--ink-soft);
}
.tab.active {
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 1px 2px rgba(0, 0, 0, .08);
}
.body {
  position: relative;
  display: flex;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}
.sidebar {
  width: 300px;
  flex: 0 0 300px;
  background: var(--side);
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  min-height: 0;
  transition: margin .18s ease;
}
body:not(.sidebar-open) .sidebar {
  margin-left: -301px;
}
.side-head {
  display: flex;
  gap: 4px;
  padding: 10px;
  align-items: center;
}
.search {
  height: 34px;
}
.tree {
  overflow-y: auto;
  padding: 0 4px 24px;
  flex: 1;
  -webkit-overflow-scrolling: touch;
}
.row {
  display: flex;
  align-items: center;
  gap: 4px;
  min-height: 32px;
  padding: 2px 6px 2px 8px;
  border-radius: 7px;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  color: var(--ink-soft);
}
.row:hover {
  background: rgba(127, 127, 127, .1);
}
.row .name {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.row.dir .name {
  font-weight: 600;
  color: var(--ink);
}
.row .caret {
  width: 12px;
  color: var(--muted);
  font-size: 11px;
}
.row.current {
  background: var(--accent-soft);
  color: var(--accent);
  font-weight: 600;
}
.row.other .name {
  color: var(--muted);
  font-style: italic;
}
.row.local .name::after {
  content: " \b7";
  color: var(--warn);
}
.row-more {
  border: 0;
  background: none;
  color: var(--muted);
  opacity: 0;
  cursor: pointer;
  width: 26px;
  height: 26px;
  border-radius: 6px;
}
.row:hover .row-more,
.row:focus-within .row-more,
.row.current .row-more {
  opacity: 1;
}
@media (hover: none) {
  .row-more {
    opacity: .7;
  }
}
.hit {
  padding: 4px 6px 8px;
  border-bottom: 1px solid var(--line);
}
.hit-file {
  display: grid;
  text-align: left;
  width: 100%;
  border: 0;
  background: none;
  cursor: pointer;
  font-weight: 600;
  padding: 4px;
  color: var(--ink);
}
.hit-file small {
  color: var(--muted);
  font-weight: 400;
  font-size: 11px;
}
.hit-line {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  background: none;
  cursor: pointer;
  padding: 3px 4px;
  font-size: 13px;
  color: var(--ink-soft);
  border-radius: 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.hit-line:hover {
  background: rgba(127, 127, 127, .1);
}
.hit-line .ln {
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}
.main {
  flex: 1;
  min-width: 0;
  position: relative;
  display: flex;
}
.view {
  flex: 1;
  min-width: 0;
  min-height: 0;
}
.view-editor {
  display: flex;
  flex-direction: column;
  position: relative;
}
.view-other {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.scrim {
  display: none;
}
.editor-wrap {
  flex: 1;
  min-height: 0;
  min-width: 0;
  display: flex;
}
.editor-wrap .cm-editor {
  flex: 1;
  min-width: 0;
}
.cm-wikilink {
  color: var(--accent);
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--accent) 35%, transparent);
  text-underline-offset: 3px;
}
.cm-placeholder {
  color: var(--muted);
  font-style: italic;
}
.cm-panels {
  background: var(--surface);
  color: var(--ink);
  border-color: var(--line) !important;
  font-family: var(--ui);
  font-size: 13px;
}
.cm-panel.cm-search input,
.cm-panel.cm-search button {
  font-family: var(--ui);
}
.cm-textfield {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--bg);
  padding: 3px 6px;
}
.cm-button {
  background-image: none !important;
  background: var(--surface) !important;
  border: 1px solid var(--line) !important;
  border-radius: 6px !important;
}
.cm-searchMatch {
  background: color-mix(in srgb, var(--gold) 30%, transparent);
}
.empty {
  margin: auto;
  text-align: center;
  padding: 40px 20px;
  color: var(--muted);
}
.empty h2 {
  font-family: var(--serif);
  color: var(--ink);
  font-size: 26px;
  margin: 0 0 6px;
}
.linkbar {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  z-index: 5;
  box-shadow: var(--shadow);
  border-radius: 10px;
}
.page {
  max-width: 980px;
  margin: 0 auto;
  padding: 24px 16px 80px;
  display: grid;
  gap: 18px;
}
.page h1 {
  font-family: var(--serif);
  font-size: 30px;
  margin: 0;
}
.page-head {
  display: flex;
  align-items: center;
  gap: 12px;
}
.panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 18px;
  min-width: 0;
}
.panel h2 {
  margin: 0 0 12px;
  font-size: 17px;
}
.panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.panel-head h2 {
  margin: 0;
}
.cards {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}
.card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px 16px;
}
.card-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--muted);
  font-weight: 600;
}
.card-value {
  font-family: var(--serif);
  font-size: 32px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  margin-top: 2px;
}
.card-sub {
  color: var(--muted);
  font-size: 13px;
}
.bar {
  height: 6px;
  background: var(--side);
  border-radius: 99px;
  overflow: hidden;
  margin-top: 10px;
}
.bar > div {
  height: 100%;
  background: var(--gold);
  border-radius: 99px;
}
.bar.big {
  height: 10px;
}
.bar.big > div {
  background: var(--accent);
}
.chart-wrap {
  overflow-x: auto;
}
.chart {
  width: 100%;
  min-width: 480px;
  height: auto;
  display: block;
}
.chart .grid {
  stroke: var(--line);
  stroke-width: 1;
}
.chart .axis {
  fill: var(--muted);
  font-size: 10px;
  font-family: var(--ui);
}
.chart .pos {
  fill: var(--accent);
  opacity: .75;
}
.chart .today {
  fill: var(--gold);
}
.chart .neg {
  fill: var(--bad);
  opacity: .6;
}
.plans {
  display: grid;
  gap: 12px;
}
.plan {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 14px;
}
.plan-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.plan-head h3 {
  margin: 0;
  font-size: 16px;
}
.plan-path {
  font-size: 12.5px;
  margin: 2px 0 8px;
}
.plan-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.plan-grid .k {
  font-size: 12px;
  color: var(--muted);
}
.plan-grid .v {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}
.plan-actions {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}
.token-list,
.people {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.token,
.person {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px 12px;
  display: grid;
  gap: 4px;
}
.token.revoked {
  opacity: .55;
}
.token .btn {
  justify-self: start;
}
.memberships {
  margin: 4px 0;
  padding-left: 18px;
  font-size: 13px;
}
.steps {
  padding-left: 20px;
  margin: 8px 0 12px;
}
.copy-row {
  display: grid;
  grid-template-columns: 9em 1fr auto;
  gap: 8px;
  align-items: center;
  margin: 8px 0;
}
.copy-row code {
  font-family: var(--mono);
  font-size: 12px;
  background: var(--side);
  padding: 6px 8px;
  border-radius: 6px;
  overflow-wrap: anywhere;
}
.copy-row .k {
  font-size: 13px;
  color: var(--muted);
}
.overlay {
  position: fixed;
  inset: 0;
  background: rgba(10, 14, 20, .38);
  display: grid;
  place-items: center;
  z-index: 100;
  padding: 16px;
}
.dialog {
  width: min(560px, 100%);
  max-height: calc(100vh - 32px);
  overflow-y: auto;
  background: var(--surface);
  border-radius: 14px;
  padding: 20px;
  box-shadow: var(--shadow);
  display: grid;
  gap: 12px;
}
.dialog h2 {
  margin: 0;
  font-size: 18px;
}
.dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.menu {
  position: fixed;
  z-index: 110;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: var(--shadow);
  padding: 4px;
  min-width: 220px;
  display: grid;
}
.menu button {
  border: 0;
  background: none;
  text-align: left;
  padding: 9px 12px;
  border-radius: 7px;
  cursor: pointer;
}
.menu button:hover,
.menu button:focus {
  background: var(--accent-soft);
  outline: none;
}
.menu button.danger {
  color: var(--bad);
}
.toast {
  position: fixed;
  left: 50%;
  bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  transform: translate(-50%, 20px);
  background: var(--ink);
  color: var(--bg);
  padding: 10px 16px;
  border-radius: 10px;
  opacity: 0;
  pointer-events: none;
  transition: .2s ease;
  z-index: 200;
  max-width: min(560px, calc(100vw - 32px));
  box-shadow: var(--shadow);
}
.toast.show {
  opacity: 1;
  transform: translate(-50%, 0);
  pointer-events: auto;
  cursor: pointer;
}
.toast.bad {
  background: var(--bad);
  color: #fff;
}
.toast.warn {
  background: var(--warn);
  color: #fff;
}
.history {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 12px;
  min-height: 300px;
}
.version-list {
  display: grid;
  gap: 4px;
  align-content: start;
  max-height: 50vh;
  overflow-y: auto;
}
.version {
  display: grid;
  text-align: left;
  border: 1px solid var(--line);
  background: var(--bg);
  border-radius: 8px;
  padding: 6px 8px;
  cursor: pointer;
  font-size: 12.5px;
}
.version.active {
  border-color: var(--accent);
  background: var(--accent-soft);
}
.version small {
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.version-preview {
  margin: 0;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  white-space: pre-wrap;
  overflow: auto;
  max-height: 50vh;
  font-family: var(--serif);
  font-size: 14px;
}
.dialog:has(.history) {
  width: min(960px, 100%);
}
@media (max-width: 900px) {
  .sidebar {
    position: absolute;
    z-index: 30;
    top: 0;
    bottom: 0;
    left: 0;
    width: min(86vw, 340px);
    box-shadow: var(--shadow);
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  body:not(.sidebar-open) .sidebar {
    margin-left: calc(-1 * min(86vw, 340px) - 10px);
  }
  body.sidebar-open .scrim {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 25;
    background: rgba(10, 14, 20, .3);
  }
  .tabs {
    position: fixed;
    z-index: 15;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 0;
    justify-content: space-around;
    padding: 6px 6px calc(6px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--line);
  }
  .tab {
    flex: 1;
    padding: 8px 4px;
  }
  .main {
    padding-bottom: calc(50px + env(safe-area-inset-bottom, 0px));
  }
  .doc-folder {
    display: none;
  }
  :root {
    --editor-size: 18px;
    --editor-pad-top: 16px;
    --editor-pad-x: 18px;
  }
  .words {
    font-size: 11px;
  }
  .w-file,
  .w-sep {
    display: none;
  }
  .w-today {
    white-space: nowrap;
  }
  .doc-title {
    flex: 1 1 auto;
  }
  #sync-status {
    font-size: 0;
    padding: 0;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--ok);
  }
  #sync-status.warn {
    background: var(--warn);
  }
  #sync-status.bad {
    background: var(--bad);
  }
  #sync-status.muted {
    background: var(--muted);
    border: 0;
  }
  .history {
    grid-template-columns: 1fr;
  }
  .copy-row {
    grid-template-columns: 1fr auto;
  }
  .copy-row .k {
    grid-column: 1 / -1;
  }
  .linkbar {
    bottom: calc(66px + env(safe-area-inset-bottom, 0px));
  }
  .toast {
    bottom: calc(66px + env(safe-area-inset-bottom, 0px));
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    transition: none !important;
  }
}
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vYXBwL3dlYi9zcmMvYXBwLmNzcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogU2NocmVpYndlcmtzdGF0dDogcnVoaWdlIFNjaHJlaWJ1bWdlYnVuZy4gUGFwaWVydG9uLCBUaW50ZW5ibGF1LCBlaW4gd2FybWVyIEFremVudCAoQ3Vyc29yLUdlbGIpLiAqL1xuOnJvb3Qge1xuICAtLWJnOiAjZjVmNWYxO1xuICAtLXN1cmZhY2U6ICNmZmZmZmY7XG4gIC0tc2lkZTogI2VlZWVlODtcbiAgLS1pbms6ICMxZTIzMjg7XG4gIC0taW5rLXNvZnQ6ICMzZDQ0NGM7XG4gIC0tbXV0ZWQ6ICM2YTcyN2I7XG4gIC0tbGluZTogI2RlZGVkNjtcbiAgLS1hY2NlbnQ6ICMyNTRjNzU7XG4gIC0tYWNjZW50LWluazogI2ZmZmZmZjtcbiAgLS1hY2NlbnQtc29mdDogI2UyZWFmMztcbiAgLS1nb2xkOiAjZDlhNTJmO1xuICAtLW9rOiAjMmM3YTRiO1xuICAtLW9rLXNvZnQ6ICNlMWYxZTc7XG4gIC0td2FybjogIzlhNjIwMDtcbiAgLS13YXJuLXNvZnQ6ICNmYmVmZDg7XG4gIC0tYmFkOiAjYjMyNjFlO1xuICAtLWJhZC1zb2Z0OiAjZjllMmUwO1xuICAtLXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgyMCwgMzAsIDQ1LCAuMTQpO1xuICAtLXVpOiBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAtLXNlcmlmOiBcIklvd2FuIE9sZCBTdHlsZVwiLCBcIkNoYXJ0ZXJcIiwgXCJCaXRzdHJlYW0gQ2hhcnRlclwiLCBcIlNpdGthIFRleHRcIiwgQ2FtYnJpYSwgR2VvcmdpYSwgc2VyaWY7XG4gIC0tbW9ubzogdWktbW9ub3NwYWNlLCBcIlNGIE1vbm9cIiwgTWVubG8sIENvbnNvbGFzLCBtb25vc3BhY2U7XG4gIC0tdG9wOiBjYWxjKDUycHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMHB4KSk7XG4gIC0tZWRpdG9yLXNpemU6IDE5cHg7XG4gIGNvbG9yLXNjaGVtZTogbGlnaHQ7XG59XG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gIDpyb290IHtcbiAgICAtLWJnOiAjMTUxNzFhOyAtLXN1cmZhY2U6ICMxYjFlMjI7IC0tc2lkZTogIzEyMTQxNzsgLS1pbms6ICNlNmU2ZTE7IC0taW5rLXNvZnQ6ICNjN2M5YzQ7IC0tbXV0ZWQ6ICM5NDliYTM7IC0tbGluZTogIzJiMzAzNjtcbiAgICAtLWFjY2VudDogIzhkYjNkYTsgLS1hY2NlbnQtaW5rOiAjMTAyMDJmOyAtLWFjY2VudC1zb2Z0OiAjMWYyZDNiOyAtLWdvbGQ6ICNlMmI1NGQ7XG4gICAgLS1vazogIzdmY2Y5YjsgLS1vay1zb2Z0OiAjMTYzMDFmOyAtLXdhcm46ICNlOGI1NWE7IC0td2Fybi1zb2Z0OiAjMzMyNzBmOyAtLWJhZDogI2YwOGE4MzsgLS1iYWQtc29mdDogIzNhMWExODtcbiAgICAtLXNoYWRvdzogMCAxMHB4IDMwcHggcmdiYSgwLCAwLCAwLCAuNDUpO1xuICAgIGNvbG9yLXNjaGVtZTogZGFyaztcbiAgfVxufVxuXG4qIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuaHRtbCwgYm9keSwgI2FwcCB7IGhlaWdodDogMTAwJTsgfVxuYm9keSB7IG1hcmdpbjogMDsgYmFja2dyb3VuZDogdmFyKC0tYmcpOyBjb2xvcjogdmFyKC0taW5rKTsgZm9udDogMTVweC8xLjUgdmFyKC0tdWkpOyAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IH1cbmJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEgeyBmb250OiBpbmhlcml0OyBjb2xvcjogaW5oZXJpdDsgfVxuW2hpZGRlbl0geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbjpmb2N1cy12aXNpYmxlIHsgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWFjY2VudCk7IG91dGxpbmUtb2Zmc2V0OiAycHg7IH1cbi5ib290IHsgZGlzcGxheTogZ3JpZDsgcGxhY2UtaXRlbXM6IGNlbnRlcjsgaGVpZ2h0OiAxMDB2aDsgY29sb3I6IHZhcigtLW11dGVkKTsgfVxuLm11dGVkIHsgY29sb3I6IHZhcigtLW11dGVkKTsgfVxuLnBhZCB7IHBhZGRpbmc6IDhweCAxMnB4OyB9XG4uaGludCB7IGNvbG9yOiB2YXIoLS1tdXRlZCk7IGZvbnQtc2l6ZTogMTNweDsgbWFyZ2luOiA2cHggMCAwOyB9XG5cbi8qIC0tLS0tLS0tLS0gQmF1c3RlaW5lIC0tLS0tLS0tLS0gKi9cbi5idG4geyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYmFja2dyb3VuZDogdmFyKC0tc3VyZmFjZSk7IGJvcmRlci1yYWRpdXM6IDhweDsgcGFkZGluZzogOHB4IDE0cHg7IGN1cnNvcjogcG9pbnRlcjsgbGluZS1oZWlnaHQ6IDEuMjsgfVxuLmJ0bjpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tbXV0ZWQpOyB9XG4uYnRuLnByaW1hcnkgeyBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpOyBjb2xvcjogdmFyKC0tYWNjZW50LWluayk7IGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTsgfVxuLmJ0bi5kYW5nZXIgeyBjb2xvcjogdmFyKC0tYmFkKTsgfVxuLmJ0bi5wcmltYXJ5LmRhbmdlciwgLmRpYWxvZyAuYnRuLmRhbmdlclt0eXBlPXN1Ym1pdF0geyBiYWNrZ3JvdW5kOiB2YXIoLS1iYWQpOyBjb2xvcjogI2ZmZjsgYm9yZGVyLWNvbG9yOiB2YXIoLS1iYWQpOyB9XG4uYnRuLnNtYWxsIHsgcGFkZGluZzogNXB4IDEwcHg7IGZvbnQtc2l6ZTogMTNweDsgfVxuLmJ0bi53aWRlIHsgd2lkdGg6IDEwMCU7IH1cbi5idG46ZGlzYWJsZWQgeyBvcGFjaXR5OiAuNjsgY3Vyc29yOiBkZWZhdWx0OyB9XG4uaWNvbi1idG4geyBib3JkZXI6IDA7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB3aWR0aDogMzZweDsgaGVpZ2h0OiAzNnB4OyBib3JkZXItcmFkaXVzOiA4cHg7IGN1cnNvcjogcG9pbnRlcjsgZm9udC1zaXplOiAxOHB4OyBjb2xvcjogdmFyKC0taW5rLXNvZnQpOyBmbGV4OiAwIDAgYXV0bzsgfVxuLmljb24tYnRuOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LXNvZnQpOyB9XG4ubGluay1idG4geyBib3JkZXI6IDA7IGJhY2tncm91bmQ6IG5vbmU7IGNvbG9yOiB2YXIoLS1hY2NlbnQpOyBjdXJzb3I6IHBvaW50ZXI7IHBhZGRpbmc6IDAgNHB4OyBmb250LXNpemU6IDEzcHg7IH1cbi5pbnB1dCB7IHdpZHRoOiAxMDAlOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYmFja2dyb3VuZDogdmFyKC0tc3VyZmFjZSk7IGJvcmRlci1yYWRpdXM6IDhweDsgcGFkZGluZzogOHB4IDEwcHg7IG1pbi13aWR0aDogMDsgfVxuLmlucHV0OmZvY3VzIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpOyBvdXRsaW5lOiBub25lOyBib3gtc2hhZG93OiAwIDAgMCAzcHggdmFyKC0tYWNjZW50LXNvZnQpOyB9XG50ZXh0YXJlYS5jb2RlIHsgZm9udC1mYW1pbHk6IHZhcigtLW1vbm8pOyBmb250LXNpemU6IDEycHg7IHdoaXRlLXNwYWNlOiBwcmU7IH1cbi5jaGlwIHsgZGlzcGxheTogaW5saW5lLWZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogNHB4OyBmb250LXNpemU6IDEycHg7IHBhZGRpbmc6IDJweCA4cHg7IGJvcmRlci1yYWRpdXM6IDk5OXB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtc29mdCk7IGNvbG9yOiB2YXIoLS1hY2NlbnQpOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4uY2hpcC5vayB7IGJhY2tncm91bmQ6IHZhcigtLW9rLXNvZnQpOyBjb2xvcjogdmFyKC0tb2spOyB9XG4uY2hpcC53YXJuIHsgYmFja2dyb3VuZDogdmFyKC0td2Fybi1zb2Z0KTsgY29sb3I6IHZhcigtLXdhcm4pOyB9XG4uY2hpcC5iYWQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iYWQtc29mdCk7IGNvbG9yOiB2YXIoLS1iYWQpOyB9XG4uY2hpcC5tdXRlZCB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0tbXV0ZWQpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgfVxuLmZpZWxkIHsgZGlzcGxheTogZ3JpZDsgZ2FwOiA0cHg7IH1cbi5maWVsZCA+IHNwYW4geyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS1pbmstc29mdCk7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbi5maWVsZC1sYWJlbCB7IGRpc3BsYXk6IGJsb2NrOyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS1pbmstc29mdCk7IG1hcmdpbi1ib3R0b206IDRweDsgfVxuLmZvcm0tZ3JpZCB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogMTJweDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMjBweCwgMWZyKSk7IG1hcmdpbi1ib3R0b206IDEycHg7IH1cbi5yb3ctYWN0aW9ucyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgZ2FwOiA4cHg7IG1hcmdpbi10b3A6IDhweDsgfVxuLnN3aXRjaCB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OyBtYXJnaW46IDhweCAwIDEycHg7IH1cbi5kYXlzIHsgZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDZweDsgfVxuLmRheSB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDRweDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7IGJvcmRlci1yYWRpdXM6IDhweDsgcGFkZGluZzogNHB4IDhweDsgZm9udC1zaXplOiAxM3B4OyB9XG5cbi8qIC0tLS0tLS0tLS0gQW5tZWxkdW5nIC0tLS0tLS0tLS0gKi9cbi5hdXRoIHsgbWluLWhlaWdodDogMTAwdmg7IGRpc3BsYXk6IGdyaWQ7IHBsYWNlLWl0ZW1zOiBjZW50ZXI7IHBhZGRpbmc6IDI0cHggMTZweDsgfVxuLmF1dGgtY2FyZCB7IHdpZHRoOiBtaW4oNDIwcHgsIDEwMCUpOyBiYWNrZ3JvdW5kOiB2YXIoLS1zdXJmYWNlKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7IGJvcmRlci1yYWRpdXM6IDE0cHg7IHBhZGRpbmc6IDI4cHg7IGRpc3BsYXk6IGdyaWQ7IGdhcDogMTRweDsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTsgfVxuLmF1dGgtY2FyZCBoMSB7IG1hcmdpbjogMDsgZm9udC1mYW1pbHk6IHZhcigtLXNlcmlmKTsgZm9udC1zaXplOiAyOHB4OyB9XG4uYnJhbmQgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEwcHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS1hY2NlbnQpOyB9XG4uYnJhbmQgaW1nIHsgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuLmVycm9yIHsgY29sb3I6IHZhcigtLWJhZCk7IG1hcmdpbjogMDsgbWluLWhlaWdodDogMWVtOyB9XG5cbi8qIC0tLS0tLS0tLS0gR3J1bmRnZXJcdTAwRkNzdCAtLS0tLS0tLS0tICovXG4uc2hlbGwgeyBoZWlnaHQ6IDEwMCU7IGhlaWdodDogMTAwZHZoOyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpOyBvdmVyZmxvdzogaGlkZGVuOyB9XG4udG9wYmFyIHsgcG9zaXRpb246IHN0aWNreTsgdG9wOiAwOyB6LWluZGV4OiAyMDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7IHBhZGRpbmc6IGNhbGMoOHB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC10b3AsIDBweCkpIDEycHggOHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgbWluLWhlaWdodDogdmFyKC0tdG9wKTsgfVxuLmRvYy10aXRsZSB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgZ2FwOiA4cHg7IG1pbi13aWR0aDogMDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuLmRvYy1uYW1lIHsgZm9udC13ZWlnaHQ6IDY1MDsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cbi5kb2MtZm9sZGVyIHsgY29sb3I6IHZhcigtLW11dGVkKTsgZm9udC1zaXplOiAxMnB4OyB3aGl0ZS1zcGFjZTogbm93cmFwOyBvdmVyZmxvdzogaGlkZGVuOyB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgbWF4LXdpZHRoOiAzMHZ3OyB9XG4uc3BhY2VyIHsgZmxleDogMTsgfVxuLndvcmRzIHsgZm9udC1zaXplOiAxMi41cHg7IGNvbG9yOiB2YXIoLS1tdXRlZCk7IHdoaXRlLXNwYWNlOiBub3dyYXA7IGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7IH1cbi50YWJzIHsgZGlzcGxheTogZmxleDsgZ2FwOiAycHg7IGJhY2tncm91bmQ6IHZhcigtLXNpZGUpOyBwYWRkaW5nOiAzcHg7IGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbi50YWIgeyBib3JkZXI6IDA7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBwYWRkaW5nOiA1cHggMTBweDsgYm9yZGVyLXJhZGl1czogN3B4OyBjdXJzb3I6IHBvaW50ZXI7IGZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHZhcigtLWluay1zb2Z0KTsgfVxuLnRhYi5hY3RpdmUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1zdXJmYWNlKTsgY29sb3I6IHZhcigtLWluayk7IGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsMCwwLC4wOCk7IH1cbi5ib2R5IHsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBmbGV4OyBtaW4taGVpZ2h0OiAwOyBtaW4td2lkdGg6IDA7IG92ZXJmbG93OiBoaWRkZW47IH1cbi5zaWRlYmFyIHsgd2lkdGg6IDMwMHB4OyBmbGV4OiAwIDAgMzAwcHg7IGJhY2tncm91bmQ6IHZhcigtLXNpZGUpOyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgbWluLWhlaWdodDogMDsgdHJhbnNpdGlvbjogbWFyZ2luIC4xOHMgZWFzZTsgfVxuYm9keTpub3QoLnNpZGViYXItb3BlbikgLnNpZGViYXIgeyBtYXJnaW4tbGVmdDogLTMwMXB4OyB9XG4uc2lkZS1oZWFkIHsgZGlzcGxheTogZmxleDsgZ2FwOiA0cHg7IHBhZGRpbmc6IDEwcHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbi5zZWFyY2ggeyBoZWlnaHQ6IDM0cHg7IH1cbi50cmVlIHsgb3ZlcmZsb3cteTogYXV0bzsgcGFkZGluZzogMCA0cHggMjRweDsgZmxleDogMTsgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG4ucm93IHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA0cHg7IG1pbi1oZWlnaHQ6IDMycHg7IHBhZGRpbmc6IDJweCA2cHggMnB4IDhweDsgYm9yZGVyLXJhZGl1czogN3B4OyBjdXJzb3I6IHBvaW50ZXI7IHVzZXItc2VsZWN0OiBub25lOyBjb2xvcjogdmFyKC0taW5rLXNvZnQpOyB9XG4ucm93OmhvdmVyIHsgYmFja2dyb3VuZDogcmdiYSgxMjcsMTI3LDEyNywuMSk7IH1cbi5yb3cgLm5hbWUgeyBmbGV4OiAxOyBtaW4td2lkdGg6IDA7IHdoaXRlLXNwYWNlOiBub3dyYXA7IG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XG4ucm93LmRpciAubmFtZSB7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiB2YXIoLS1pbmspOyB9XG4ucm93IC5jYXJldCB7IHdpZHRoOiAxMnB4OyBjb2xvcjogdmFyKC0tbXV0ZWQpOyBmb250LXNpemU6IDExcHg7IH1cbi5yb3cuY3VycmVudCB7IGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1zb2Z0KTsgY29sb3I6IHZhcigtLWFjY2VudCk7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbi5yb3cub3RoZXIgLm5hbWUgeyBjb2xvcjogdmFyKC0tbXV0ZWQpOyBmb250LXN0eWxlOiBpdGFsaWM7IH1cbi5yb3cubG9jYWwgLm5hbWU6OmFmdGVyIHsgY29udGVudDogXCIgXHUwMEI3XCI7IGNvbG9yOiB2YXIoLS13YXJuKTsgfVxuLnJvdy1tb3JlIHsgYm9yZGVyOiAwOyBiYWNrZ3JvdW5kOiBub25lOyBjb2xvcjogdmFyKC0tbXV0ZWQpOyBvcGFjaXR5OiAwOyBjdXJzb3I6IHBvaW50ZXI7IHdpZHRoOiAyNnB4OyBoZWlnaHQ6IDI2cHg7IGJvcmRlci1yYWRpdXM6IDZweDsgfVxuLnJvdzpob3ZlciAucm93LW1vcmUsIC5yb3c6Zm9jdXMtd2l0aGluIC5yb3ctbW9yZSwgLnJvdy5jdXJyZW50IC5yb3ctbW9yZSB7IG9wYWNpdHk6IDE7IH1cbkBtZWRpYSAoaG92ZXI6IG5vbmUpIHsgLnJvdy1tb3JlIHsgb3BhY2l0eTogLjc7IH0gfVxuLmhpdCB7IHBhZGRpbmc6IDRweCA2cHggOHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7IH1cbi5oaXQtZmlsZSB7IGRpc3BsYXk6IGdyaWQ7IHRleHQtYWxpZ246IGxlZnQ7IHdpZHRoOiAxMDAlOyBib3JkZXI6IDA7IGJhY2tncm91bmQ6IG5vbmU7IGN1cnNvcjogcG9pbnRlcjsgZm9udC13ZWlnaHQ6IDYwMDsgcGFkZGluZzogNHB4OyBjb2xvcjogdmFyKC0taW5rKTsgfVxuLmhpdC1maWxlIHNtYWxsIHsgY29sb3I6IHZhcigtLW11dGVkKTsgZm9udC13ZWlnaHQ6IDQwMDsgZm9udC1zaXplOiAxMXB4OyB9XG4uaGl0LWxpbmUgeyBkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IHRleHQtYWxpZ246IGxlZnQ7IGJvcmRlcjogMDsgYmFja2dyb3VuZDogbm9uZTsgY3Vyc29yOiBwb2ludGVyOyBwYWRkaW5nOiAzcHggNHB4OyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS1pbmstc29mdCk7IGJvcmRlci1yYWRpdXM6IDZweDsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbi5oaXQtbGluZTpob3ZlciB7IGJhY2tncm91bmQ6IHJnYmEoMTI3LDEyNywxMjcsLjEpOyB9XG4uaGl0LWxpbmUgLmxuIHsgY29sb3I6IHZhcigtLW11dGVkKTsgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsgfVxuLm1haW4geyBmbGV4OiAxOyBtaW4td2lkdGg6IDA7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogZmxleDsgfVxuLnZpZXcgeyBmbGV4OiAxOyBtaW4td2lkdGg6IDA7IG1pbi1oZWlnaHQ6IDA7IH1cbi52aWV3LWVkaXRvciB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuLnZpZXctb3RoZXIgeyBvdmVyZmxvdy15OiBhdXRvOyAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbi5zY3JpbSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLyogLS0tLS0tLS0tLSBFZGl0b3IgLS0tLS0tLS0tLSAqL1xuLmVkaXRvci13cmFwIHsgZmxleDogMTsgbWluLWhlaWdodDogMDsgbWluLXdpZHRoOiAwOyBkaXNwbGF5OiBmbGV4OyB9XG4uZWRpdG9yLXdyYXAgLmNtLWVkaXRvciB7IGZsZXg6IDE7IG1pbi13aWR0aDogMDsgfVxuLmNtLXdpa2lsaW5rIHsgY29sb3I6IHZhcigtLWFjY2VudCk7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1hY2NlbnQpIDM1JSwgdHJhbnNwYXJlbnQpOyB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDNweDsgfVxuLmNtLXBsYWNlaG9sZGVyIHsgY29sb3I6IHZhcigtLW11dGVkKTsgZm9udC1zdHlsZTogaXRhbGljOyB9XG4uY20tcGFuZWxzIHsgYmFja2dyb3VuZDogdmFyKC0tc3VyZmFjZSk7IGNvbG9yOiB2YXIoLS1pbmspOyBib3JkZXItY29sb3I6IHZhcigtLWxpbmUpICFpbXBvcnRhbnQ7IGZvbnQtZmFtaWx5OiB2YXIoLS11aSk7IGZvbnQtc2l6ZTogMTNweDsgfVxuLmNtLXBhbmVsLmNtLXNlYXJjaCBpbnB1dCwgLmNtLXBhbmVsLmNtLXNlYXJjaCBidXR0b24geyBmb250LWZhbWlseTogdmFyKC0tdWkpOyB9XG4uY20tdGV4dGZpZWxkIHsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7IGJvcmRlci1yYWRpdXM6IDZweDsgYmFja2dyb3VuZDogdmFyKC0tYmcpOyBwYWRkaW5nOiAzcHggNnB4OyB9XG4uY20tYnV0dG9uIHsgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOiB2YXIoLS1zdXJmYWNlKSAhaW1wb3J0YW50OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKSAhaW1wb3J0YW50OyBib3JkZXItcmFkaXVzOiA2cHggIWltcG9ydGFudDsgfVxuLmNtLXNlYXJjaE1hdGNoIHsgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWdvbGQpIDMwJSwgdHJhbnNwYXJlbnQpOyB9XG4uZW1wdHkgeyBtYXJnaW46IGF1dG87IHRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzogNDBweCAyMHB4OyBjb2xvcjogdmFyKC0tbXV0ZWQpOyB9XG4uZW1wdHkgaDIgeyBmb250LWZhbWlseTogdmFyKC0tc2VyaWYpOyBjb2xvcjogdmFyKC0taW5rKTsgZm9udC1zaXplOiAyNnB4OyBtYXJnaW46IDAgMCA2cHg7IH1cbi5saW5rYmFyIHsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA1MCU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgYm90dG9tOiBjYWxjKDE2cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMHB4KSk7IHotaW5kZXg6IDU7IGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7IGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cblxuLyogLS0tLS0tLS0tLSBTZWl0ZW4gKFN0YXRpc3RpaywgRWluc3RlbGx1bmdlbikgLS0tLS0tLS0tLSAqL1xuLnBhZ2UgeyBtYXgtd2lkdGg6IDk4MHB4OyBtYXJnaW46IDAgYXV0bzsgcGFkZGluZzogMjRweCAxNnB4IDgwcHg7IGRpc3BsYXk6IGdyaWQ7IGdhcDogMThweDsgfVxuLnBhZ2UgaDEgeyBmb250LWZhbWlseTogdmFyKC0tc2VyaWYpOyBmb250LXNpemU6IDMwcHg7IG1hcmdpbjogMDsgfVxuLnBhZ2UtaGVhZCB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTJweDsgfVxuLnBhbmVsIHsgYmFja2dyb3VuZDogdmFyKC0tc3VyZmFjZSk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBib3JkZXItcmFkaXVzOiAxMnB4OyBwYWRkaW5nOiAxOHB4OyBtaW4td2lkdGg6IDA7IH1cbi5wYW5lbCBoMiB7IG1hcmdpbjogMCAwIDEycHg7IGZvbnQtc2l6ZTogMTdweDsgfVxuLnBhbmVsLWhlYWQgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGdhcDogMTJweDsgbWFyZ2luLWJvdHRvbTogMTJweDsgfVxuLnBhbmVsLWhlYWQgaDIgeyBtYXJnaW46IDA7IH1cbi5jYXJkcyB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogMTJweDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNzBweCwgMWZyKSk7IH1cbi5jYXJkIHsgYmFja2dyb3VuZDogdmFyKC0tc3VyZmFjZSk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBib3JkZXItcmFkaXVzOiAxMnB4OyBwYWRkaW5nOiAxNHB4IDE2cHg7IH1cbi5jYXJkLWxhYmVsIHsgZm9udC1zaXplOiAxMnB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBsZXR0ZXItc3BhY2luZzogLjA2ZW07IGNvbG9yOiB2YXIoLS1tdXRlZCk7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbi5jYXJkLXZhbHVlIHsgZm9udC1mYW1pbHk6IHZhcigtLXNlcmlmKTsgZm9udC1zaXplOiAzMnB4OyBmb250LXdlaWdodDogNzAwOyBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOyBsaW5lLWhlaWdodDogMS4yOyBtYXJnaW4tdG9wOiAycHg7IH1cbi5jYXJkLXN1YiB7IGNvbG9yOiB2YXIoLS1tdXRlZCk7IGZvbnQtc2l6ZTogMTNweDsgfVxuLmJhciB7IGhlaWdodDogNnB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1zaWRlKTsgYm9yZGVyLXJhZGl1czogOTlweDsgb3ZlcmZsb3c6IGhpZGRlbjsgbWFyZ2luLXRvcDogMTBweDsgfVxuLmJhciA+IGRpdiB7IGhlaWdodDogMTAwJTsgYmFja2dyb3VuZDogdmFyKC0tZ29sZCk7IGJvcmRlci1yYWRpdXM6IDk5cHg7IH1cbi5iYXIuYmlnIHsgaGVpZ2h0OiAxMHB4OyB9XG4uYmFyLmJpZyA+IGRpdiB7IGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7IH1cbi5jaGFydC13cmFwIHsgb3ZlcmZsb3cteDogYXV0bzsgfVxuLmNoYXJ0IHsgd2lkdGg6IDEwMCU7IG1pbi13aWR0aDogNDgwcHg7IGhlaWdodDogYXV0bzsgZGlzcGxheTogYmxvY2s7IH1cbi5jaGFydCAuZ3JpZCB7IHN0cm9rZTogdmFyKC0tbGluZSk7IHN0cm9rZS13aWR0aDogMTsgfVxuLmNoYXJ0IC5heGlzIHsgZmlsbDogdmFyKC0tbXV0ZWQpOyBmb250LXNpemU6IDEwcHg7IGZvbnQtZmFtaWx5OiB2YXIoLS11aSk7IH1cbi5jaGFydCAucG9zIHsgZmlsbDogdmFyKC0tYWNjZW50KTsgb3BhY2l0eTogLjc1OyB9XG4uY2hhcnQgLnRvZGF5IHsgZmlsbDogdmFyKC0tZ29sZCk7IH1cbi5jaGFydCAubmVnIHsgZmlsbDogdmFyKC0tYmFkKTsgb3BhY2l0eTogLjY7IH1cbi5wbGFucyB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogMTJweDsgfVxuLnBsYW4geyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYm9yZGVyLXJhZGl1czogMTBweDsgcGFkZGluZzogMTRweDsgfVxuLnBsYW4taGVhZCB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4OyB9XG4ucGxhbi1oZWFkIGgzIHsgbWFyZ2luOiAwOyBmb250LXNpemU6IDE2cHg7IH1cbi5wbGFuLXBhdGggeyBmb250LXNpemU6IDEyLjVweDsgbWFyZ2luOiAycHggMCA4cHg7IH1cbi5wbGFuLWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE3MHB4LCAxZnIpKTsgZ2FwOiAxMHB4OyBtYXJnaW4tdG9wOiAxMnB4OyB9XG4ucGxhbi1ncmlkIC5rIHsgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogdmFyKC0tbXV0ZWQpOyB9XG4ucGxhbi1ncmlkIC52IHsgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuLnBsYW4tYWN0aW9ucyB7IGRpc3BsYXk6IGZsZXg7IGdhcDogOHB4OyBtYXJnaW4tdG9wOiAxMnB4OyB9XG4udG9rZW4tbGlzdCwgLnBlb3BsZSB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogMTBweDsgbWFyZ2luLXRvcDogMTJweDsgfVxuLnRva2VuLCAucGVyc29uIHsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7IGJvcmRlci1yYWRpdXM6IDEwcHg7IHBhZGRpbmc6IDEwcHggMTJweDsgZGlzcGxheTogZ3JpZDsgZ2FwOiA0cHg7IH1cbi50b2tlbi5yZXZva2VkIHsgb3BhY2l0eTogLjU1OyB9XG4udG9rZW4gLmJ0biB7IGp1c3RpZnktc2VsZjogc3RhcnQ7IH1cbi5tZW1iZXJzaGlwcyB7IG1hcmdpbjogNHB4IDA7IHBhZGRpbmctbGVmdDogMThweDsgZm9udC1zaXplOiAxM3B4OyB9XG4uc3RlcHMgeyBwYWRkaW5nLWxlZnQ6IDIwcHg7IG1hcmdpbjogOHB4IDAgMTJweDsgfVxuLmNvcHktcm93IHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA5ZW0gMWZyIGF1dG87IGdhcDogOHB4OyBhbGlnbi1pdGVtczogY2VudGVyOyBtYXJnaW46IDhweCAwOyB9XG4uY29weS1yb3cgY29kZSB7IGZvbnQtZmFtaWx5OiB2YXIoLS1tb25vKTsgZm9udC1zaXplOiAxMnB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1zaWRlKTsgcGFkZGluZzogNnB4IDhweDsgYm9yZGVyLXJhZGl1czogNnB4OyBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTsgfVxuLmNvcHktcm93IC5rIHsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tbXV0ZWQpOyB9XG5cbi8qIC0tLS0tLS0tLS0gRGlhbG9nZSwgTWVuXHUwMEZDcywgSGlud2Vpc2UgLS0tLS0tLS0tLSAqL1xuLm92ZXJsYXkgeyBwb3NpdGlvbjogZml4ZWQ7IGluc2V0OiAwOyBiYWNrZ3JvdW5kOiByZ2JhKDEwLCAxNCwgMjAsIC4zOCk7IGRpc3BsYXk6IGdyaWQ7IHBsYWNlLWl0ZW1zOiBjZW50ZXI7IHotaW5kZXg6IDEwMDsgcGFkZGluZzogMTZweDsgfVxuLmRpYWxvZyB7IHdpZHRoOiBtaW4oNTYwcHgsIDEwMCUpOyBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzJweCk7IG92ZXJmbG93LXk6IGF1dG87IGJhY2tncm91bmQ6IHZhcigtLXN1cmZhY2UpOyBib3JkZXItcmFkaXVzOiAxNHB4OyBwYWRkaW5nOiAyMHB4OyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpOyBkaXNwbGF5OiBncmlkOyBnYXA6IDEycHg7IH1cbi5kaWFsb2cgaDIgeyBtYXJnaW46IDA7IGZvbnQtc2l6ZTogMThweDsgfVxuLmRpYWxvZy1hY3Rpb25zIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgZ2FwOiA4cHg7IGZsZXgtd3JhcDogd3JhcDsgfVxuLm1lbnUgeyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDExMDsgYmFja2dyb3VuZDogdmFyKC0tc3VyZmFjZSk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBib3JkZXItcmFkaXVzOiAxMHB4OyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpOyBwYWRkaW5nOiA0cHg7IG1pbi13aWR0aDogMjIwcHg7IGRpc3BsYXk6IGdyaWQ7IH1cbi5tZW51IGJ1dHRvbiB7IGJvcmRlcjogMDsgYmFja2dyb3VuZDogbm9uZTsgdGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZzogOXB4IDEycHg7IGJvcmRlci1yYWRpdXM6IDdweDsgY3Vyc29yOiBwb2ludGVyOyB9XG4ubWVudSBidXR0b246aG92ZXIsIC5tZW51IGJ1dHRvbjpmb2N1cyB7IGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1zb2Z0KTsgb3V0bGluZTogbm9uZTsgfVxuLm1lbnUgYnV0dG9uLmRhbmdlciB7IGNvbG9yOiB2YXIoLS1iYWQpOyB9XG4udG9hc3QgeyBwb3NpdGlvbjogZml4ZWQ7IGxlZnQ6IDUwJTsgYm90dG9tOiBjYWxjKDI0cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMHB4KSk7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDIwcHgpOyBiYWNrZ3JvdW5kOiB2YXIoLS1pbmspOyBjb2xvcjogdmFyKC0tYmcpOyBwYWRkaW5nOiAxMHB4IDE2cHg7IGJvcmRlci1yYWRpdXM6IDEwcHg7IG9wYWNpdHk6IDA7IHBvaW50ZXItZXZlbnRzOiBub25lOyB0cmFuc2l0aW9uOiAuMnMgZWFzZTsgei1pbmRleDogMjAwOyBtYXgtd2lkdGg6IG1pbig1NjBweCwgY2FsYygxMDB2dyAtIDMycHgpKTsgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTsgfVxuLnRvYXN0LnNob3cgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTsgcG9pbnRlci1ldmVudHM6IGF1dG87IGN1cnNvcjogcG9pbnRlcjsgfVxuLnRvYXN0LmJhZCB7IGJhY2tncm91bmQ6IHZhcigtLWJhZCk7IGNvbG9yOiAjZmZmOyB9XG4udG9hc3Qud2FybiB7IGJhY2tncm91bmQ6IHZhcigtLXdhcm4pOyBjb2xvcjogI2ZmZjsgfVxuLmhpc3RvcnkgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIyMHB4IDFmcjsgZ2FwOiAxMnB4OyBtaW4taGVpZ2h0OiAzMDBweDsgfVxuLnZlcnNpb24tbGlzdCB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogNHB4OyBhbGlnbi1jb250ZW50OiBzdGFydDsgbWF4LWhlaWdodDogNTB2aDsgb3ZlcmZsb3cteTogYXV0bzsgfVxuLnZlcnNpb24geyBkaXNwbGF5OiBncmlkOyB0ZXh0LWFsaWduOiBsZWZ0OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgYmFja2dyb3VuZDogdmFyKC0tYmcpOyBib3JkZXItcmFkaXVzOiA4cHg7IHBhZGRpbmc6IDZweCA4cHg7IGN1cnNvcjogcG9pbnRlcjsgZm9udC1zaXplOiAxMi41cHg7IH1cbi52ZXJzaW9uLmFjdGl2ZSB7IGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTsgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LXNvZnQpOyB9XG4udmVyc2lvbiBzbWFsbCB7IGNvbG9yOiB2YXIoLS1tdXRlZCk7IG92ZXJmbG93OiBoaWRkZW47IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4udmVyc2lvbi1wcmV2aWV3IHsgbWFyZ2luOiAwOyBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpOyBib3JkZXItcmFkaXVzOiA4cHg7IHBhZGRpbmc6IDEwcHg7IHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgb3ZlcmZsb3c6IGF1dG87IG1heC1oZWlnaHQ6IDUwdmg7IGZvbnQtZmFtaWx5OiB2YXIoLS1zZXJpZik7IGZvbnQtc2l6ZTogMTRweDsgfVxuLmRpYWxvZzpoYXMoLmhpc3RvcnkpIHsgd2lkdGg6IG1pbig5NjBweCwgMTAwJSk7IH1cblxuLyogLS0tLS0tLS0tLSBTY2htYWwgKGlQaG9uZSkgLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5zaWRlYmFyIHsgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAzMDsgdG9wOiAwOyBib3R0b206IDA7IGxlZnQ6IDA7IHdpZHRoOiBtaW4oODZ2dywgMzQwcHgpOyBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpOyBwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDBweCk7IH1cbiAgYm9keTpub3QoLnNpZGViYXItb3BlbikgLnNpZGViYXIgeyBtYXJnaW4tbGVmdDogY2FsYygtMSAqIG1pbig4NnZ3LCAzNDBweCkgLSAxMHB4KTsgfVxuICBib2R5LnNpZGViYXItb3BlbiAuc2NyaW0geyBkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgei1pbmRleDogMjU7IGJhY2tncm91bmQ6IHJnYmEoMTAsIDE0LCAyMCwgLjMpOyB9XG4gIC50YWJzIHsgcG9zaXRpb246IGZpeGVkOyB6LWluZGV4OiAxNTsgbGVmdDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDsgYm9yZGVyLXJhZGl1czogMDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IHBhZGRpbmc6IDZweCA2cHggY2FsYyg2cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMHB4KSk7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1saW5lKTsgfVxuICAudGFiIHsgZmxleDogMTsgcGFkZGluZzogOHB4IDRweDsgfVxuICAubWFpbiB7IHBhZGRpbmctYm90dG9tOiBjYWxjKDUwcHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMHB4KSk7IH1cbiAgLmRvYy1mb2xkZXIgeyBkaXNwbGF5OiBub25lOyB9XG4gIDpyb290IHsgLS1lZGl0b3Itc2l6ZTogMThweDsgLS1lZGl0b3ItcGFkLXRvcDogMTZweDsgLS1lZGl0b3ItcGFkLXg6IDE4cHg7IH1cbiAgLndvcmRzIHsgZm9udC1zaXplOiAxMXB4OyB9XG4gIC53LWZpbGUsIC53LXNlcCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgLnctdG9kYXkgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5kb2MtdGl0bGUgeyBmbGV4OiAxIDEgYXV0bzsgfVxuICAjc3luYy1zdGF0dXMgeyBmb250LXNpemU6IDA7IHBhZGRpbmc6IDA7IHdpZHRoOiAxMnB4OyBoZWlnaHQ6IDEycHg7IGJvcmRlci1yYWRpdXM6IDUwJTsgYmFja2dyb3VuZDogdmFyKC0tb2spOyB9XG4gICNzeW5jLXN0YXR1cy53YXJuIHsgYmFja2dyb3VuZDogdmFyKC0td2Fybik7IH1cbiAgI3N5bmMtc3RhdHVzLmJhZCB7IGJhY2tncm91bmQ6IHZhcigtLWJhZCk7IH1cbiAgI3N5bmMtc3RhdHVzLm11dGVkIHsgYmFja2dyb3VuZDogdmFyKC0tbXV0ZWQpOyBib3JkZXI6IDA7IH1cbiAgLmhpc3RvcnkgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxuICAuY29weS1yb3cgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvOyB9XG4gIC5jb3B5LXJvdyAuayB7IGdyaWQtY29sdW1uOiAxIC8gLTE7IH1cbiAgLmxpbmtiYXIgeyBib3R0b206IGNhbGMoNjZweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwcHgpKTsgfVxuICAudG9hc3QgeyBib3R0b206IGNhbGMoNjZweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwcHgpKTsgfVxufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHsgKiB7IHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsgfSB9XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQ0E7QUFDRSxRQUFNO0FBQ04sYUFBVztBQUNYLFVBQVE7QUFDUixTQUFPO0FBQ1AsY0FBWTtBQUNaLFdBQVM7QUFDVCxVQUFRO0FBQ1IsWUFBVTtBQUNWLGdCQUFjO0FBQ2QsaUJBQWU7QUFDZixVQUFRO0FBQ1IsUUFBTTtBQUNOLGFBQVc7QUFDWCxVQUFRO0FBQ1IsZUFBYTtBQUNiLFNBQU87QUFDUCxjQUFZO0FBQ1osWUFBVSxFQUFFLEtBQUssS0FBSyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO0FBQ3ZDO0FBQUEsSUFBTSxTQUFTO0FBQUEsSUFBRSxhQUFhO0FBQUEsSUFBRSxVQUFVO0FBQUEsSUFBRSxNQUFNO0FBQUEsSUFBRSxnQkFBZ0I7QUFBQSxJQUFFLEtBQUs7QUFBQSxJQUFFO0FBQzdFO0FBQUEsSUFBUyxpQkFBaUI7QUFBQSxJQUFFLFNBQVM7QUFBQSxJQUFFLG1CQUFtQjtBQUFBLElBQUUsWUFBWTtBQUFBLElBQUUsT0FBTztBQUFBLElBQUUsT0FBTztBQUFBLElBQUU7QUFDNUY7QUFBQSxJQUFRLFlBQVk7QUFBQSxJQUFFLFNBQVM7QUFBQSxJQUFFLEtBQUs7QUFBQSxJQUFFLFFBQVE7QUFBQSxJQUFFO0FBQ2xELFNBQU8sS0FBSyxLQUFLLEVBQUUsSUFBSSxtQkFBbUIsRUFBRTtBQUM1QyxpQkFBZTtBQUNmLGdCQUFjO0FBQ2hCO0FBQ0EsUUFBTyxzQkFBdUI7QUFDNUI7QUFDRSxVQUFNO0FBQVMsZUFB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 */
