/* sw:src/styles/globals.css */
:root {
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 20px;
  --radius-full: 9999px;
  --font-sans:
    "DM Sans",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  --font-mono:
    "JetBrains Mono",
    "SF Mono",
    "Fira Code",
    monospace;
  --font-xs: 0.75rem;
  --font-sm: 0.875rem;
  --font-base: 1rem;
  --font-lg: 1.125rem;
  --font-xl: 1.25rem;
  --font-2xl: 1.5rem;
  --font-3xl: 1.875rem;
  --font-4xl: 2.25rem;
  --transition-fast: 150ms ease;
  --transition-normal: 200ms ease;
}
:root,
[data-theme=light] {
  --color-bg: #FAFAF8;
  --color-bg-raised: #ffffff;
  --color-bg-input: #ffffff;
  --color-bg-hover: #F3F2EE;
  --color-border: #E8E6DF;
  --color-border-focus: #C7C4BA;
  --color-text: #1A1A1A;
  --color-text-muted: #4A4A4A;
  --color-text-dim: #8B8A84;
  --color-accent: #0055D4;
  --color-accent-hover: #0044AA;
  --color-danger: #D73030;
  --color-danger-hover: #B01F1F;
  --color-success: #18A957;
  --color-status-ontime: #18A957;
  --color-status-ontime-bg: rgba(24, 169, 87, 0.1);
  --color-status-delayed: #E8871E;
  --color-status-delayed-bg: rgba(232, 135, 30, 0.12);
  --color-status-cancelled: #D73030;
  --color-status-cancelled-bg: rgba(215, 48, 48, 0.1);
  --color-bubble-user: #0055D4;
  --color-bubble-user-text: #ffffff;
  --color-bubble-assistant: #ffffff;
  --color-bubble-assistant-text: #1A1A1A;
  --shadow-card: 0 4px 16px rgba(26, 26, 26, 0.05);
  --shadow-lift: 0 12px 32px rgba(26, 26, 26, 0.08);
  --overlay-hero:
    linear-gradient(
      
      180deg,
      rgba(250, 250, 248, 0.2) 0%,
      rgba(250, 250, 248, 0.7) 70%,
      rgba(250, 250, 248, 0.95) 100% );
}
[data-theme=dark] {
  --color-bg: #0E0C09;
  --color-bg-raised: #181410;
  --color-bg-input: #221D17;
  --color-bg-hover: #2C261F;
  --color-border: rgba(255, 255, 255, 0.14);
  --color-border-focus: rgba(255, 255, 255, 0.85);
  --color-text: #FFFFFF;
  --color-text-muted: rgba(255, 255, 255, 0.72);
  --color-text-dim: rgba(255, 255, 255, 0.48);
  --color-accent: #FFFFFF;
  --color-accent-hover: rgba(255, 255, 255, 0.85);
  --color-danger: #FF6A4A;
  --color-danger-hover: #FF8567;
  --color-success: #6EE36E;
  --color-status-ontime: #6EE36E;
  --color-status-ontime-bg: rgba(110, 227, 110, 0.14);
  --color-status-delayed: #FFB000;
  --color-status-delayed-bg: rgba(255, 176, 0, 0.16);
  --color-status-cancelled: #FF6A4A;
  --color-status-cancelled-bg: rgba(255, 106, 74, 0.16);
  --color-bubble-user: #2C261F;
  --color-bubble-user-text: #FFFFFF;
  --color-bubble-assistant: #181410;
  --color-bubble-assistant-text: #FFFFFF;
  --shadow-card: 0 4px 16px rgba(0, 0, 0, 0.55);
  --shadow-lift: 0 12px 32px rgba(0, 0, 0, 0.7);
  --overlay-hero:
    linear-gradient(
      
      180deg,
      rgba(14, 12, 9, 0.3) 0%,
      rgba(14, 12, 9, 0.85) 70%,
      rgba(14, 12, 9, 0.98) 100% );
  color-scheme: dark;
}
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body {
  font-family: var(--font-sans);
  background-color: var(--color-bg);
  color: var(--color-text);
  line-height: 1.6;
  min-height: 100dvh;
  transition: background-color var(--transition-normal), color var(--transition-normal);
}
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
}
button {
  cursor: pointer;
  border: none;
  background: none;
}
a {
  color: var(--color-accent);
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
ul,
ol {
  list-style: none;
}
::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar-track {
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: var(--color-border);
  border-radius: var(--radius-full);
}
:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}
@keyframes fade-in {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* sw:src/styles/utilities.css */
.flex {
  display: flex;
}
.flex-col {
  flex-direction: column;
}
.flex-row {
  flex-direction: row;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-1 {
  flex: 1;
}
.items-center {
  align-items: center;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.justify-end {
  justify-content: flex-end;
}
.gap-xs {
  gap: var(--space-xs);
}
.gap-sm {
  gap: var(--space-sm);
}
.gap-md {
  gap: var(--space-md);
}
.gap-lg {
  gap: var(--space-lg);
}
.gap-xl {
  gap: var(--space-xl);
}
.grid {
  display: grid;
}
.p-xs {
  padding: var(--space-xs);
}
.p-sm {
  padding: var(--space-sm);
}
.p-md {
  padding: var(--space-md);
}
.p-lg {
  padding: var(--space-lg);
}
.p-xl {
  padding: var(--space-xl);
}
.px-sm {
  padding-left: var(--space-sm);
  padding-right: var(--space-sm);
}
.px-md {
  padding-left: var(--space-md);
  padding-right: var(--space-md);
}
.px-lg {
  padding-left: var(--space-lg);
  padding-right: var(--space-lg);
}
.py-sm {
  padding-top: var(--space-sm);
  padding-bottom: var(--space-sm);
}
.py-md {
  padding-top: var(--space-md);
  padding-bottom: var(--space-md);
}
.py-lg {
  padding-top: var(--space-lg);
  padding-bottom: var(--space-lg);
}
.mt-sm {
  margin-top: var(--space-sm);
}
.mt-md {
  margin-top: var(--space-md);
}
.mt-lg {
  margin-top: var(--space-lg);
}
.mt-xl {
  margin-top: var(--space-xl);
}
.mb-sm {
  margin-bottom: var(--space-sm);
}
.mb-md {
  margin-bottom: var(--space-md);
}
.mb-lg {
  margin-bottom: var(--space-lg);
}
.text-xs {
  font-size: var(--font-xs);
}
.text-sm {
  font-size: var(--font-sm);
}
.text-base {
  font-size: var(--font-base);
}
.text-lg {
  font-size: var(--font-lg);
}
.text-xl {
  font-size: var(--font-xl);
}
.text-2xl {
  font-size: var(--font-2xl);
}
.text-3xl {
  font-size: var(--font-3xl);
}
.font-medium {
  font-weight: 500;
}
.font-semibold {
  font-weight: 600;
}
.font-bold {
  font-weight: 700;
}
.text-center {
  text-align: center;
}
.text-muted {
  color: var(--color-text-muted);
}
.text-dim {
  color: var(--color-text-dim);
}
.text-accent {
  color: var(--color-accent);
}
.text-danger {
  color: var(--color-danger);
}
.uppercase {
  text-transform: uppercase;
}
.tracking-wide {
  letter-spacing: 0.05em;
}
.leading-tight {
  line-height: 1.25;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.w-full {
  width: 100%;
}
.max-w-sm {
  max-width: 400px;
}
.max-w-md {
  max-width: 520px;
}
.max-w-lg {
  max-width: 640px;
}
.min-h-screen {
  min-height: 100dvh;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.rounded-sm {
  border-radius: var(--radius-sm);
}
.rounded-md {
  border-radius: var(--radius-md);
}
.rounded-lg {
  border-radius: var(--radius-lg);
}
.rounded-full {
  border-radius: var(--radius-full);
}
.border {
  border: 1px solid var(--color-border);
}
.border-b {
  border-bottom: 1px solid var(--color-border);
}
.bg-base {
  background-color: var(--color-bg);
}
.bg-raised {
  background-color: var(--color-bg-raised);
}
.bg-input {
  background-color: var(--color-bg-input);
}
.bg-accent {
  background-color: var(--color-accent);
}
.bg-danger {
  background-color: var(--color-danger);
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  padding: 10px 18px;
  font-size: var(--font-sm);
  font-weight: 500;
  border-radius: var(--radius-sm);
  transition: background-color var(--transition-fast), opacity var(--transition-fast);
  white-space: nowrap;
  user-select: none;
}
.btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.btn-primary {
  background-color: var(--color-accent);
  color: #fff;
}
.btn-primary:hover:not(:disabled) {
  background-color: var(--color-accent-hover);
}
.btn-ghost {
  background-color: transparent;
  color: var(--color-text-muted);
}
.btn-ghost:hover:not(:disabled) {
  background-color: var(--color-bg-hover);
  color: var(--color-text);
}
.btn-danger {
  background-color: transparent;
  color: var(--color-danger);
}
.btn-danger:hover:not(:disabled) {
  background-color: var(--color-danger);
  color: #fff;
}
.btn-sm {
  padding: 6px 12px;
  font-size: var(--font-xs);
}
.btn-lg {
  padding: 14px 24px;
  font-size: var(--font-base);
}
.input {
  display: block;
  width: 100%;
  padding: 10px 14px;
  font-size: var(--font-sm);
  background-color: var(--color-bg-input);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  color: var(--color-text);
  transition: border-color var(--transition-fast);
}
.input::placeholder {
  color: var(--color-text-dim);
}
.input:focus {
  outline: none;
  border-color: var(--color-accent);
}
.card {
  background-color: var(--color-bg-raised);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
}
.relative {
  position: relative;
}
.absolute {
  position: absolute;
}
.fixed {
  position: fixed;
}
.inset-0 {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-auto {
  overflow: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.hidden {
  display: none;
}
.opacity-0 {
  opacity: 0;
}
.opacity-100 {
  opacity: 1;
}
.transition {
  transition: all var(--transition-normal);
}
.cursor-pointer {
  cursor: pointer;
}
.select-none {
  user-select: none;
}
.pointer-events-none {
  pointer-events: none;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.container {
  width: 100%;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--space-md);
  padding-right: var(--space-md);
}
.label {
  display: block;
  font-size: var(--font-sm);
  font-weight: 500;
  color: var(--color-text-muted);
  margin-bottom: var(--space-xs);
}
.divider {
  height: 1px;
  background-color: var(--color-border);
  margin: var(--space-lg) 0;
}
.dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 20;
  background-color: var(--color-bg-raised);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  margin-top: var(--space-xs);
  max-height: 220px;
  overflow-y: auto;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}
.dropdown-item {
  padding: 10px 14px;
  font-size: var(--font-sm);
  cursor: pointer;
  transition: background-color var(--transition-fast);
}
.dropdown-item:hover,
.dropdown-item.active {
  background-color: var(--color-bg-hover);
}
.dropdown-item .crs-badge {
  display: inline-block;
  font-size: var(--font-xs);
  font-family: var(--font-mono);
  color: var(--color-accent);
  background-color: rgba(37, 99, 235, 0.15);
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  margin-right: var(--space-sm);
}
@keyframes fade-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.animate-fade-in {
  animation: fade-in 200ms ease forwards;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 800ms linear infinite;
}
.spinner {
  width: 20px;
  height: 20px;
  border: 2px solid var(--color-border);
  border-top-color: var(--color-accent);
  border-radius: 50%;
  animation: spin 800ms linear infinite;
}

/* sw:src/styles/railtime.css */
:root {
  --chat-max-w: 720px;
  --composer-max-w: 640px;
  --lp-max-w: 640px;
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-top: env(safe-area-inset-top, 0px);
}
.lp {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background-color: var(--color-bg);
  color: var(--color-text);
}
.lp-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: calc(var(--safe-top) + 20px) 28px 0 28px;
  max-width: 1120px;
  width: 100%;
  margin: 0 auto;
}
.lp-nav-brand {
  font-weight: 600;
  font-size: var(--font-base);
  letter-spacing: -0.01em;
  color: var(--color-text);
}
.lp-nav-user,
.lp-nav-login {
  background: transparent;
  border: none;
  font-family: inherit;
  font-size: var(--font-sm);
  color: var(--color-text-muted);
  padding: 6px 10px;
  cursor: pointer;
  border-radius: var(--radius-sm);
  transition: color var(--transition-fast), background-color var(--transition-fast);
}
.lp-nav-login:hover {
  color: var(--color-text);
  background-color: var(--color-bg-hover);
}
.lp-main {
  width: 100%;
  max-width: var(--lp-max-w);
  margin: 0 auto;
  padding: clamp(48px, 10vh, 96px) 24px calc(var(--safe-bottom) + 56px);
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.lp-brand {
  font-weight: 700;
  font-size: clamp(2.5rem, 6vw, 3.75rem);
  letter-spacing: -0.025em;
  line-height: 1.05;
  margin: 0;
  color: var(--color-text);
}
.lp-tagline {
  font-size: clamp(1.1rem, 2.5vw, 1.35rem);
  line-height: 1.4;
  color: var(--color-text-muted);
  margin: 0 0 4px;
}
.tt-board {
  display: flex;
  max-width: 100%;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: center;
  gap: 2px;
  padding: 6px 8px;
  border-radius: 10px;
  background-color: #070707;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
  margin: 0 0 4px;
  min-height: 64px;
  box-sizing: border-box;
}
@media (min-width: 640px) {
  .tt-board {
    min-height: 68px;
  }
}
.tt-word {
  display: inline-flex;
  flex-wrap: nowrap;
  white-space: nowrap;
  gap: 1px;
}
.tt-tile {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 22px;
  width: 15px;
  overflow: hidden;
  border-radius: 3px;
  background-color: #111;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
  font-family:
    "Barlow Condensed",
    "Inter Tight",
    "Roboto Condensed",
    "Arial Narrow",
    system-ui,
    sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}
@media (min-width: 640px) {
  .tt-tile {
    height: 26px;
    width: 17px;
    font-size: 1.05rem;
  }
}
.tt-tile-locked {
  color: #ffffff;
}
.tt-tile-shuffling {
  color: #a3a3a3;
}
.tt-tile-space {
  opacity: 0.35;
}
.tt-tile-split {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 1;
}
.tt-tile-gloss {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 50%;
  background-color: rgba(255, 255, 255, 0.035);
  z-index: 1;
}
.tt-tile-char {
  position: relative;
  z-index: 2;
}
.lp-search {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  background-color: var(--color-bg-input, #ffffff);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: 12px 12px 12px 18px;
  box-shadow: var(--shadow-card);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.lp-search:focus-within {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px rgba(0, 85, 212, 0.12);
}
.lp-search-input {
  flex: 1;
  min-width: 0;
  border: none;
  outline: none;
  background: transparent;
  color: var(--color-text);
  font-family: inherit;
  font-size: var(--font-base);
  line-height: 1.5;
  padding: 4px 0;
  resize: none;
}
.lp-search-input::placeholder {
  color: var(--color-text-dim);
}
.lp-search-send {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--radius-md);
  background-color: var(--color-accent);
  color: #ffffff;
  border: none;
  cursor: pointer;
  flex-shrink: 0;
  transition: background-color var(--transition-fast), transform var(--transition-fast);
}
.lp-search-send:hover:not(:disabled) {
  background-color: var(--color-accent-hover);
}
.lp-search-send:active:not(:disabled) {
  transform: scale(0.95);
}
.lp-search-send:disabled {
  background-color: var(--color-border);
  opacity: 0.7;
  cursor: not-allowed;
}
.lp-card {
  background-color: var(--color-bg-raised, #ffffff);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}
.lp-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--color-border);
  background-color: var(--color-bg-subtle, rgba(0, 0, 0, 0.02));
}
.lp-card-title {
  font-family:
    var(--font-sans, "DM Sans"),
    system-ui,
    sans-serif;
  font-size: var(--font-base);
  font-weight: 600;
  color: var(--color-text);
  letter-spacing: -0.01em;
}
.lp-card-live {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--font-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-status-ontime);
  flex-shrink: 0;
}
.lp-card-live-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color-status-ontime);
  animation: lp-pulse 1.8s ease-in-out infinite;
}
@keyframes lp-pulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.4;
    transform: scale(1.25);
  }
}
.lp-status-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.lp-status-list {
  animation: lp-page-fade 360ms ease;
}
.lp-status-pager {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  border-top: 1px solid var(--color-border);
}
.lp-status-pager-label {
  text-align: center;
  font-size: 0.72rem;
  color: var(--color-text-muted);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.08em;
}
.lp-status-nav {
  background: transparent;
  border: none;
  color: var(--color-text-muted);
  cursor: pointer;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 120ms ease, color 120ms ease;
}
.lp-status-nav:hover:not(:disabled),
.lp-status-nav:focus-visible:not(:disabled) {
  color: var(--color-text);
  background-color: var(--color-surface-hover, rgba(0, 0, 0, 0.03));
  outline: none;
}
.lp-status-nav:disabled {
  opacity: 0.3;
  cursor: default;
}
@keyframes lp-page-fade {
  from {
    opacity: 0;
    transform: translateY(3px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.lp-status-row {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr) minmax(0, 1.3fr);
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--color-border);
  font-size: var(--font-sm);
}
.lp-status-list > li:last-child > .lp-status-row,
.lp-status-row:last-child {
  border-bottom: none;
}
button.lp-status-row {
  width: 100%;
  background: transparent;
  border-left: none;
  border-right: none;
  border-top: none;
  text-align: left;
  color: inherit;
  font: inherit;
  cursor: pointer;
  transition: background-color 120ms ease;
  grid-template-columns: 16px minmax(0, 1fr) minmax(0, 1.3fr) 14px;
}
button.lp-status-row:hover,
button.lp-status-row:focus-visible {
  background-color: var(--color-surface-hover, rgba(0, 0, 0, 0.03));
  outline: none;
}
.lp-status-chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-muted);
  opacity: 0.5;
  transition: opacity 120ms ease, transform 120ms ease;
}
button.lp-status-row:hover .lp-status-chevron,
button.lp-status-row:focus-visible .lp-status-chevron {
  opacity: 1;
  transform: translateX(2px);
}
.lp-status-label {
  font-family:
    var(--font-sans, "DM Sans"),
    system-ui,
    sans-serif;
  font-weight: 500;
  color: var(--color-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lp-status-detail {
  font-family:
    var(--font-mono, "JetBrains Mono"),
    ui-monospace,
    monospace;
  font-size: var(--font-xs);
  color: var(--color-text-muted);
  text-align: right;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lp-status-ontime .lp-status-detail {
  color: var(--color-status-ontime);
}
.lp-status-delayed .lp-status-detail {
  color: var(--color-status-delayed);
}
.lp-status-cancelled .lp-status-detail {
  color: var(--color-status-cancelled);
}
.lp-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.lp-dot-ontime {
  background-color: var(--color-status-ontime, #10b981);
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.18);
}
.lp-dot-delayed {
  background-color: var(--color-status-delayed, #f59e0b);
  box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.18);
}
.lp-dot-cancelled {
  background-color: var(--color-status-cancelled, #dc2626);
  box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.18);
}
.lp-dot-closed {
  background-color: var(--color-text-muted, #9ca3af);
  box-shadow: 0 0 0 2px rgba(156, 163, 175, 0.2);
}
.lp-status-closed .lp-status-detail {
  color: var(--color-text-muted);
}
.lp-status-empty {
  padding: 18px 20px;
  font-size: var(--font-sm);
  color: var(--color-text-muted);
  text-align: center;
}
.lp-card-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 12px 16px;
  border-top: 1px solid var(--color-border);
}
.lp-card-pager-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  background: transparent;
  color: var(--color-text-muted);
  cursor: pointer;
  transition:
    color var(--transition-fast),
    background-color var(--transition-fast),
    border-color var(--transition-fast);
}
.lp-card-pager-btn:hover:not(:disabled) {
  color: var(--color-text);
  border-color: var(--color-text-muted);
}
.lp-card-pager-btn:disabled {
  opacity: 0.4;
  cursor: default;
}
.lp-card-pager-info {
  font-size: var(--font-xs, 12px);
  color: var(--color-text-muted);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}
.lp-telegram {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 22px;
  border-radius: var(--radius-lg);
  background-color: #1A1A1A;
  color: #FAFAF8;
  text-decoration: none;
  font-size: var(--font-base);
  line-height: 1.4;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}
.lp-telegram:hover {
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}
.lp-telegram strong {
  font-weight: 600;
  color: #ffffff;
}
.lp-telegram-arrow {
  font-size: 1.1rem;
  color: rgba(250, 250, 248, 0.7);
  flex-shrink: 0;
  transition: transform var(--transition-fast), color var(--transition-fast);
}
.lp-telegram:hover .lp-telegram-arrow {
  color: #ffffff;
  transform: translateX(3px);
}
.composer {
  display: flex;
  align-items: flex-end;
  gap: var(--space-sm);
  background-color: var(--color-bg-input);
  border: 1.5px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: 14px 14px 14px 18px;
  min-height: 64px;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.composer:hover {
  border-color: rgba(255, 255, 255, 0.30);
}
.composer:focus-within {
  border-color: var(--color-border-focus);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.10);
}
.composer-hero {
  padding: 18px 18px 16px 22px;
  gap: 12px;
  font-size: var(--font-xl);
  border-radius: var(--radius-xl);
  min-height: 104px;
  box-shadow: var(--shadow-lift);
}
[data-theme=light] .composer-hero {
  background-color: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(8px) saturate(1.3);
  -webkit-backdrop-filter: blur(8px) saturate(1.3);
}
[data-theme=dark] .composer-hero {
  background-color: var(--color-bg-input);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.composer-input {
  flex: 1;
  resize: none;
  background: transparent;
  border: none;
  outline: none;
  color: var(--color-text);
  font-size: var(--font-md);
  line-height: 1.5;
  min-height: 32px;
  max-height: 200px;
  padding: 4px 0;
}
.composer-hero .composer-input {
  font-size: 18px;
  line-height: 1.45;
  min-height: 56px;
  padding: 6px 0;
}
.composer-input::placeholder {
  color: var(--color-text-dim);
}
.composer-send {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--radius-full);
  background-color: var(--color-accent);
  color: #fff;
  transition: background-color var(--transition-fast), transform var(--transition-fast);
  flex-shrink: 0;
}
.composer-hero .composer-send {
  width: 48px;
  height: 48px;
}
.composer-send:hover:not(:disabled) {
  background-color: var(--color-accent-hover);
}
.composer-send:active:not(:disabled) {
  transform: scale(0.95);
}
.composer-send:disabled {
  background-color: var(--color-border);
  opacity: 0.7;
  cursor: not-allowed;
}
.chat {
  display: flex;
  flex-direction: column;
  height: 100dvh;
  max-height: 100dvh;
}
.chat-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  padding: calc(var(--safe-top) + var(--space-sm)) var(--space-md) var(--space-sm);
  border-bottom: 1px solid var(--color-border);
  background-color: var(--color-bg);
  position: sticky;
  top: 0;
  z-index: 10;
}
.chat-header-right {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.chat-brand-wrap {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  color: var(--color-text);
}
.chat-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--radius-sm);
  background: var(--color-accent);
  color: #ffffff;
}
.chat-brand {
  font-weight: 600;
  font-size: var(--font-lg);
  letter-spacing: -0.01em;
}
.chat-login {
  font-size: var(--font-sm);
  color: var(--color-accent);
  background-color: rgba(0, 85, 212, 0.10);
  padding: 6px 12px;
  border-radius: var(--radius-full);
  font-weight: 500;
  transition: background-color var(--transition-fast);
  white-space: nowrap;
}
.chat-login:hover {
  background-color: rgba(0, 85, 212, 0.18);
}
.chat-scroll {
  flex: 1;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.chat-inner {
  max-width: var(--chat-max-w);
  margin: 0 auto;
  padding: var(--space-md) var(--space-md) var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.chat-welcome {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  margin-bottom: var(--space-md);
  animation: fade-in 250ms ease;
}
.chat-welcome-card {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  width: 100%;
  padding: var(--space-md);
  border-radius: var(--radius-lg);
  text-align: left;
  text-decoration: none;
  background-color: var(--color-bg-raised);
  border: 1px solid var(--color-border);
  color: var(--color-text);
  transition:
    transform var(--transition-fast),
    box-shadow var(--transition-fast),
    border-color var(--transition-fast);
}
.chat-welcome-card:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-card);
  text-decoration: none;
}
.chat-welcome-login {
  border-color: rgba(0, 85, 212, 0.28);
  background:
    linear-gradient(
      135deg,
      rgba(0, 85, 212, 0.06) 0%,
      rgba(0, 85, 212, 0.01) 100%);
}
.chat-welcome-login:hover {
  border-color: var(--color-accent);
}
.chat-welcome-telegram {
  background:
    linear-gradient(
      135deg,
      #0088cc 0%,
      #006699 100%);
  color: #ffffff;
  border-color: transparent;
}
.chat-welcome-telegram:hover {
  box-shadow: 0 8px 20px rgba(0, 136, 204, 0.35);
}
.chat-welcome-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--radius-full);
  flex-shrink: 0;
}
.chat-welcome-login .chat-welcome-icon {
  background: rgba(0, 85, 212, 0.14);
  color: var(--color-accent);
}
.chat-welcome-telegram .chat-welcome-icon {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
}
.chat-welcome-body {
  flex: 1;
  min-width: 0;
}
.chat-welcome-title {
  font-size: var(--font-base);
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.chat-welcome-sub {
  margin-top: 2px;
  font-size: var(--font-sm);
  line-height: 1.4;
  opacity: 0.85;
}
.chat-welcome-telegram .chat-welcome-sub strong {
  color: #ffffff;
  font-weight: 700;
}
.chat-welcome-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  opacity: 0.6;
}
.chat-welcome-card:hover .chat-welcome-arrow {
  opacity: 1;
}
.chat-composer {
  padding: var(--space-sm) var(--space-md) calc(var(--safe-bottom) + var(--space-sm));
  background-color: var(--color-bg);
  border-top: 1px solid var(--color-border);
}
.chat-composer .composer {
  max-width: var(--composer-max-w);
  margin: 0 auto;
}
.chat-quick-actions {
  max-width: var(--composer-max-w);
  margin: 0 auto var(--space-sm);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs, 6px);
}
.chat-quick-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  font-family: inherit;
  font-size: var(--font-xs);
  font-weight: 500;
  color: var(--color-text);
  background-color: var(--color-surface, rgba(0, 0, 0, 0.04));
  border: 1px solid var(--color-border);
  border-radius: var(--radius-full);
  cursor: pointer;
  transition: background-color 120ms ease, border-color 120ms ease;
}
.chat-quick-chip:hover,
.chat-quick-chip:focus-visible {
  background-color: var(--color-surface-hover, rgba(0, 0, 0, 0.08));
  border-color: var(--color-text-muted);
  outline: none;
}
.chat-quick-chip-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: var(--color-status-delayed, #f59e0b);
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.15);
}
.msg {
  display: flex;
  width: 100%;
  animation: fade-in 200ms ease;
}
.msg-user {
  justify-content: flex-end;
}
.msg-assistant {
  justify-content: flex-start;
  align-items: flex-end;
  gap: 6px;
}
.msg-flag {
  background: transparent;
  border: none;
  padding: 4px;
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
  opacity: 0.25;
  transition: opacity var(--transition-fast), transform var(--transition-fast);
  align-self: flex-end;
  margin-bottom: 4px;
}
.msg-flag:hover:not(:disabled) {
  opacity: 0.85;
  transform: scale(1.1);
}
.msg-flag-on {
  opacity: 1;
  filter: hue-rotate(-15deg) saturate(1.3);
}
.msg-flag:disabled {
  cursor: default;
}
.msg-bubble {
  max-width: 85%;
  padding: 10px 14px;
  border-radius: var(--radius-lg);
  font-size: var(--font-base);
  line-height: 1.5;
  word-wrap: break-word;
}
.msg-user .msg-bubble {
  background-color: var(--color-bubble-user);
  color: var(--color-bubble-user-text);
  border-bottom-right-radius: var(--radius-sm);
}
.msg-assistant .msg-bubble {
  background-color: var(--color-bubble-assistant);
  color: var(--color-bubble-assistant-text);
  border: 1px solid var(--color-border);
  border-bottom-left-radius: var(--radius-sm);
}
.msg-error .msg-bubble {
  border-color: rgba(220, 38, 38, 0.4);
  color: var(--color-danger);
}
.msg-text {
  white-space: pre-wrap;
}
.msg-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.msg-link:hover {
  opacity: 0.8;
}
.msg-dots {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 0;
}
.msg-dots span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color-text-muted);
  animation: msg-dot 1.2s infinite ease-in-out;
}
.msg-dots span:nth-child(2) {
  animation-delay: 0.15s;
}
.msg-dots span:nth-child(3) {
  animation-delay: 0.3s;
}
@keyframes msg-dot {
  0%, 80%, 100% {
    opacity: 0.25;
    transform: translateY(0);
  }
  40% {
    opacity: 1;
    transform: translateY(-3px);
  }
}
.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--radius-full);
  background-color: var(--color-bg-raised);
  border: 1px solid var(--color-border);
  color: var(--color-text);
  transition: background-color var(--transition-fast), transform var(--transition-fast);
}
.theme-toggle:hover {
  background-color: var(--color-bg-hover);
}
.theme-toggle:active {
  transform: scale(0.92);
}
.user-menu {
  position: relative;
}
.user-pill {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: 4px 10px 4px 4px;
  border-radius: var(--radius-full);
  background-color: var(--color-bg-raised);
  border: 1px solid var(--color-border);
  transition: background-color var(--transition-fast);
}
.user-pill:hover {
  background-color: var(--color-bg-hover);
}
.user-avatar {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  object-fit: cover;
  background-color: var(--color-accent);
  color: #fff;
  flex-shrink: 0;
}
.user-avatar-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.user-name {
  font-size: var(--font-sm);
  color: var(--color-text);
  max-width: 140px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.user-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 200px;
  background-color: var(--color-bg-raised);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lift);
  overflow: hidden;
  animation: fade-in 150ms ease;
  z-index: 30;
}
.user-dropdown-head {
  padding: var(--space-sm) var(--space-md);
  border-bottom: 1px solid var(--color-border);
}
.user-dropdown-name {
  font-size: var(--font-sm);
  font-weight: 600;
  color: var(--color-text);
}
.user-dropdown-email {
  font-size: var(--font-xs);
  color: var(--color-text-muted);
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.user-dropdown-item {
  display: block;
  width: 100%;
  text-align: left;
  padding: 10px var(--space-md);
  font-size: var(--font-sm);
  color: var(--color-text);
  transition: background-color var(--transition-fast);
}
.user-dropdown-item:hover {
  background-color: var(--color-bg-hover);
}
@media (max-width: 720px) {
  .lp-nav {
    padding: calc(var(--safe-top) + 16px) 20px 0 20px;
  }
  .lp-main {
    padding: clamp(32px, 6vh, 64px) 20px calc(var(--safe-bottom) + 48px);
    gap: 22px;
  }
  .lp-card-head {
    padding: 12px 14px;
  }
  .lp-status-row {
    padding: 12px 14px;
    gap: 10px;
  }
}
@media (max-width: 480px) {
  .lp-nav {
    padding: calc(var(--safe-top) + 14px) 16px 0 16px;
  }
  .lp-main {
    padding: 32px 16px calc(var(--safe-bottom) + 40px);
    gap: 20px;
  }
  .lp-search {
    padding: 6px 6px 6px 14px;
  }
  .lp-search-send {
    width: 36px;
    height: 36px;
  }
  .lp-card-head {
    padding: 10px 12px;
  }
  .lp-status-row {
    grid-template-columns: 14px minmax(0, 1fr);
    gap: 10px;
    padding: 12px;
  }
  .lp-status-detail {
    grid-column: 1 / -1;
    text-align: left;
    padding-left: 24px;
  }
  .lp-telegram {
    padding: 14px 16px;
    font-size: var(--font-sm);
  }
  .composer-hero {
    padding: var(--space-sm) 6px var(--space-sm) var(--space-md);
    gap: 6px;
    border-radius: var(--radius-lg);
  }
  .composer-hero .composer-input {
    font-size: var(--font-base);
    padding: 10px 0;
  }
  .composer-hero .composer-send {
    width: 40px;
    height: 40px;
  }
  .composer-hero .composer-send svg {
    width: 16px;
    height: 16px;
  }
  .msg-bubble {
    max-width: 88%;
    font-size: var(--font-base);
  }
  .chat-header {
    padding-left: var(--space-sm);
    padding-right: var(--space-sm);
  }
  .chat-inner {
    padding-left: var(--space-sm);
    padding-right: var(--space-sm);
  }
  .chat-composer {
    padding-left: var(--space-sm);
    padding-right: var(--space-sm);
  }
  .chat-login {
    padding: 6px 10px;
    font-size: var(--font-xs);
  }
  .chat-mark {
    width: 28px;
    height: 28px;
  }
  .chat-mark svg {
    width: 18px;
    height: 18px;
  }
  .chat-brand {
    font-size: var(--font-base);
  }
}
.settings-page {
  min-height: 100dvh;
  background-color: var(--color-bg);
  color: var(--color-text);
  display: flex;
  flex-direction: column;
}
.settings-back {
  background: transparent;
  border: none;
  font: inherit;
  font-size: var(--font-sm);
  color: var(--color-text-muted);
  cursor: pointer;
  padding: 6px 10px;
  border-radius: var(--radius-sm);
  transition: color var(--transition-fast), background-color var(--transition-fast);
}
.settings-back:hover {
  color: var(--color-text);
  background-color: var(--color-bg-hover);
}
.settings-main {
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  padding: 32px 24px calc(var(--safe-bottom) + 48px);
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.settings-title {
  font-size: clamp(1.5rem, 4vw, 2rem);
  letter-spacing: -0.02em;
  margin: 0;
}
.settings-empty {
  color: var(--color-text-muted);
  font-size: var(--font-base);
}
.settings-section {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px 18px 20px;
  background-color: var(--color-bg-elevated, transparent);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
}
.settings-section-title {
  font-size: var(--font-base);
  font-weight: 600;
  margin: 0;
}
.settings-hint {
  color: var(--color-text-muted);
  font-size: var(--font-sm);
  margin: 0 0 6px;
}
.settings-label {
  display: block;
  font-size: var(--font-xs);
  color: var(--color-text-muted);
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.settings-input {
  width: 100%;
  font: inherit;
  font-size: var(--font-base);
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  background-color: var(--color-bg);
  color: var(--color-text);
  outline: none;
  transition: border-color var(--transition-fast);
}
.settings-input:focus {
  border-color: var(--color-text-muted);
}
.settings-select {
  appearance: none;
  padding-right: 28px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/></svg>");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 12px;
}
.settings-station {
  position: relative;
  display: flex;
  flex-direction: column;
  margin-top: 10px;
}
.settings-station-row {
  position: relative;
  display: flex;
  align-items: center;
}
.settings-clear {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  font: inherit;
  font-size: 18px;
  line-height: 1;
  color: var(--color-text-muted);
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 999px;
}
.settings-clear:hover {
  color: var(--color-text);
  background-color: var(--color-bg-hover);
}
.settings-suggest {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  list-style: none;
  margin: 0;
  padding: 4px;
  background-color: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  z-index: 50;
  max-height: 280px;
  overflow-y: auto;
}
.settings-suggest-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 8px 10px;
  background: transparent;
  border: none;
  font: inherit;
  font-size: var(--font-sm);
  text-align: left;
  color: var(--color-text);
  cursor: pointer;
  border-radius: 6px;
}
.settings-suggest-item:hover {
  background-color: var(--color-bg-hover);
}
.settings-suggest-crs {
  font-family: var(--font-mono, monospace);
  font-size: var(--font-xs);
  color: var(--color-text-muted);
  margin-left: 12px;
}
.settings-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.settings-save {
  font: inherit;
  font-size: var(--font-sm);
  font-weight: 600;
  padding: 10px 18px;
  border-radius: var(--radius-sm);
  background-color: var(--color-text);
  color: var(--color-bg);
  border: none;
  cursor: pointer;
  transition: opacity var(--transition-fast);
}
.settings-save:hover {
  opacity: 0.85;
}
.settings-save:disabled {
  opacity: 0.5;
  cursor: default;
}
.settings-saved-note {
  font-size: var(--font-sm);
  color: var(--color-text-muted);
}
.settings-link-tg {
  font: inherit;
  font-size: var(--font-sm);
  font-weight: 500;
  padding: 10px 16px;
  border-radius: var(--radius-sm);
  background-color: #229ED9;
  color: #fff;
  border: none;
  cursor: pointer;
  align-self: flex-start;
  transition: opacity var(--transition-fast);
}
.settings-link-tg:hover {
  opacity: 0.9;
}
.settings-link-tg:disabled {
  opacity: 0.6;
  cursor: default;
}
.settings-link-followup {
  margin-top: 8px;
}
.settings-error {
  color: #c0392b;
  font-size: var(--font-sm);
}
.msg-buy-ticket {
  display: flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-top: 12px;
  padding: 10px 16px;
  border-radius: 10px;
  background-color: #1e63d3;
  color: #fff;
  font-weight: 600;
  font-size: var(--font-sm);
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background-color var(--transition-fast), transform var(--transition-fast);
  box-shadow: 0 2px 6px rgba(30, 99, 211, 0.25);
}
.msg-buy-ticket:hover {
  background-color: #1850b5;
  transform: translateY(-1px);
}
.msg-buy-ticket:active {
  transform: translateY(0);
}
[data-theme=dark] .composer,
[data-theme=dark] .lp-search {
  background-color: var(--color-bg-input);
  border-color: var(--color-border);
}
[data-theme=dark] .composer:focus-within,
[data-theme=dark] .lp-search:focus-within {
  border-color: var(--color-border-focus);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.10);
}
[data-theme=dark] .composer-hero {
  background-color: var(--color-bg-input);
  border: 1.5px solid var(--color-border);
}
[data-theme=dark] .lp-telegram {
  background-color: var(--color-bg-raised);
  border: 1px solid var(--color-border);
}
[data-theme=dark] .msg-buy-ticket {
  background-color: var(--color-accent);
  color: var(--color-bg);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
}
[data-theme=dark] .msg-buy-ticket:hover {
  background-color: var(--color-accent-hover);
}
[data-theme=dark] .settings-save {
  background-color: var(--color-accent);
  color: var(--color-bg);
}
[data-theme=dark] .chat-login {
  color: var(--color-text);
  background-color: rgba(255, 255, 255, 0.08);
}
[data-theme=dark] .chat-login:hover {
  background-color: rgba(255, 255, 255, 0.14);
}
[data-theme=dark] .chat-welcome-login {
  border-color: var(--color-border);
  background: var(--color-bg-raised);
}
[data-theme=dark] .chat-welcome-login:hover {
  border-color: var(--color-border-focus);
}
[data-theme=dark] .chat-welcome-login .chat-welcome-icon {
  background: rgba(255, 255, 255, 0.10);
  color: var(--color-text);
}
[data-theme=dark] .chat-mark {
  background: #FFB000;
  color: #0E0C09;
}
[data-theme=dark] .lp-status-detail,
[data-theme=dark] .msg-bubble,
[data-theme=dark] .lp-card-pager-info {
  font-variant-numeric: tabular-nums;
}
[data-theme=dark] .lp-status-detail {
  font-family: var(--font-mono);
  font-size: var(--font-xs);
}
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3c6c3JjL3N0eWxlcy9nbG9iYWxzLmNzcyIsICJzdzpzcmMvc3R5bGVzL3V0aWxpdGllcy5jc3MiLCAic3c6c3JjL3N0eWxlcy9yYWlsdGltZS5jc3MiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qIFx1MjUwMFx1MjUwMCBDU1MgVmFyaWFibGVzICYgR2xvYmFsIFJlc2V0IFx1MjUwMFx1MjUwMCAqL1xuXG46cm9vdCB7XG4gIC8qIFNwYWNpbmcgKi9cbiAgLS1zcGFjZS14czogNHB4O1xuICAtLXNwYWNlLXNtOiA4cHg7XG4gIC0tc3BhY2UtbWQ6IDE2cHg7XG4gIC0tc3BhY2UtbGc6IDI0cHg7XG4gIC0tc3BhY2UteGw6IDMycHg7XG4gIC0tc3BhY2UtMnhsOiA0OHB4O1xuXG4gIC8qIFJhZGl1cyAqL1xuICAtLXJhZGl1cy1zbTogNnB4O1xuICAtLXJhZGl1cy1tZDogMTBweDtcbiAgLS1yYWRpdXMtbGc6IDE0cHg7XG4gIC0tcmFkaXVzLXhsOiAyMHB4O1xuICAtLXJhZGl1cy1mdWxsOiA5OTk5cHg7XG5cbiAgLyogRm9udCAqL1xuICAtLWZvbnQtc2FuczogXCJETSBTYW5zXCIsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBzYW5zLXNlcmlmO1xuICAtLWZvbnQtbW9ubzogXCJKZXRCcmFpbnMgTW9ub1wiLCBcIlNGIE1vbm9cIiwgXCJGaXJhIENvZGVcIiwgbW9ub3NwYWNlO1xuXG4gIC8qIFNpemVzICovXG4gIC0tZm9udC14czogMC43NXJlbTtcbiAgLS1mb250LXNtOiAwLjg3NXJlbTtcbiAgLS1mb250LWJhc2U6IDFyZW07XG4gIC0tZm9udC1sZzogMS4xMjVyZW07XG4gIC0tZm9udC14bDogMS4yNXJlbTtcbiAgLS1mb250LTJ4bDogMS41cmVtO1xuICAtLWZvbnQtM3hsOiAxLjg3NXJlbTtcbiAgLS1mb250LTR4bDogMi4yNXJlbTtcblxuICAvKiBUcmFuc2l0aW9ucyAqL1xuICAtLXRyYW5zaXRpb24tZmFzdDogMTUwbXMgZWFzZTtcbiAgLS10cmFuc2l0aW9uLW5vcm1hbDogMjAwbXMgZWFzZTtcbn1cblxuLyogXHUyNTAwXHUyNTAwIExpZ2h0IHRoZW1lIChkZWZhdWx0KSBcdTI1MDBcdTI1MDAgKi9cblxuOnJvb3QsXG5bZGF0YS10aGVtZT1cImxpZ2h0XCJdIHtcbiAgLS1jb2xvci1iZzogI0ZBRkFGODtcbiAgLS1jb2xvci1iZy1yYWlzZWQ6ICNmZmZmZmY7XG4gIC0tY29sb3ItYmctaW5wdXQ6ICNmZmZmZmY7XG4gIC0tY29sb3ItYmctaG92ZXI6ICNGM0YyRUU7XG4gIC0tY29sb3ItYm9yZGVyOiAjRThFNkRGO1xuICAtLWNvbG9yLWJvcmRlci1mb2N1czogI0M3QzRCQTtcbiAgLS1jb2xvci10ZXh0OiAjMUExQTFBO1xuICAtLWNvbG9yLXRleHQtbXV0ZWQ6ICM0QTRBNEE7XG4gIC0tY29sb3ItdGV4dC1kaW06ICM4QjhBODQ7XG4gIC0tY29sb3ItYWNjZW50OiAjMDA1NUQ0O1xuICAtLWNvbG9yLWFjY2VudC1ob3ZlcjogIzAwNDRBQTtcbiAgLS1jb2xvci1kYW5nZXI6ICNENzMwMzA7XG4gIC0tY29sb3ItZGFuZ2VyLWhvdmVyOiAjQjAxRjFGO1xuICAtLWNvbG9yLXN1Y2Nlc3M6ICMxOEE5NTc7XG5cbiAgLyogVHJhaW4gc3RhdHVzIHBhbGV0dGUgKi9cbiAgLS1jb2xvci1zdGF0dXMtb250aW1lOiAjMThBOTU3O1xuICAtLWNvbG9yLXN0YXR1cy1vbnRpbWUtYmc6IHJnYmEoMjQsIDE2OSwgODcsIDAuMSk7XG4gIC0tY29sb3Itc3RhdHVzLWRlbGF5ZWQ6ICNFODg3MUU7XG4gIC0tY29sb3Itc3RhdHVzLWRlbGF5ZWQtYmc6IHJnYmEoMjMyLCAxMzUsIDMwLCAwLjEyKTtcbiAgLS1jb2xvci1zdGF0dXMtY2FuY2VsbGVkOiAjRDczMDMwO1xuICAtLWNvbG9yLXN0YXR1cy1jYW5jZWxsZWQtYmc6IHJnYmEoMjE1LCA0OCwgNDgsIDAuMSk7XG5cbiAgLS1jb2xvci1idWJibGUtdXNlcjogIzAwNTVENDtcbiAgLS1jb2xvci1idWJibGUtdXNlci10ZXh0OiAjZmZmZmZmO1xuICAtLWNvbG9yLWJ1YmJsZS1hc3Npc3RhbnQ6ICNmZmZmZmY7XG4gIC0tY29sb3ItYnViYmxlLWFzc2lzdGFudC10ZXh0OiAjMUExQTFBO1xuXG4gIC0tc2hhZG93LWNhcmQ6IDAgNHB4IDE2cHggcmdiYSgyNiwgMjYsIDI2LCAwLjA1KTtcbiAgLS1zaGFkb3ctbGlmdDogMCAxMnB4IDMycHggcmdiYSgyNiwgMjYsIDI2LCAwLjA4KTtcbiAgLS1vdmVybGF5LWhlcm86IGxpbmVhci1ncmFkaWVudChcbiAgICAxODBkZWcsXG4gICAgcmdiYSgyNTAsIDI1MCwgMjQ4LCAwLjIpIDAlLFxuICAgIHJnYmEoMjUwLCAyNTAsIDI0OCwgMC43KSA3MCUsXG4gICAgcmdiYSgyNTAsIDI1MCwgMjQ4LCAwLjk1KSAxMDAlXG4gICk7XG59XG5cbi8qIFx1MjUwMFx1MjUwMCBEYXJrIHRoZW1lIChEZXBhcnR1cmUgQm9hcmQpIFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFxuICAgQW1iZXIgcGhvc3Bob3Igb24gbmVhci1ibGFjaywgbW9ub3NwYWNlIHByaW1hcnkuIE1pcnJvcnMgdGhlIGxvb2sgb2YgYVxuICAgcmVhbCBzdGF0aW9uIGRlcGFydHVyZSBib2FyZCBcdTIwMTQgd2hhdCB5b3Ugc2VlIHdoZW4geW91IGFzayB0aGUgcXVlc3Rpb24uXG4gICBUaGUgY2hhdCBzdXJmYWNlIGl0c2VsZiB1c2VzIGxpZ2h0ZXIgaW5rIHNvIG1lc3NhZ2VzIHN0YXkgcmVhZGFibGUuXG4gICBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDAgKi9cblxuLyogQm9keSB0ZXh0IHN0YXlzIGluIERNIFNhbnMgZm9yIHJlYWRhYmlsaXR5OyBtb25vIGlzIG9wdC1pbiB2aWEgLS1mb250LW1vbm8uXG4gICBXaGl0ZSB0ZXh0IG9uIHdhcm0gbmVhci1ibGFjay4gQW1iZXIgc3RheXMgaGVsZCBiYWNrIGFzIHRoZSBvbmUgZGVjb3JhdGl2ZVxuICAgbW9tZW50IChsaXZlIEVUQSwgYnJhbmQgbWFyaykgXHUyMDE0IGNocm9tZS90ZXh0L2FjdGlvbnMgYXJlIG5ldXRyYWwgd2hpdGUuICovXG5cbltkYXRhLXRoZW1lPVwiZGFya1wiXSB7XG4gIC8qIFN1cmZhY2VzIFx1MjAxNCB3YXJtIG5lYXItYmxhY2sgKi9cbiAgLS1jb2xvci1iZzogIzBFMEMwOTtcbiAgLS1jb2xvci1iZy1yYWlzZWQ6ICMxODE0MTA7XG4gIC0tY29sb3ItYmctaW5wdXQ6ICMyMjFEMTc7XG4gIC0tY29sb3ItYmctaG92ZXI6ICMyQzI2MUY7XG4gIC0tY29sb3ItYm9yZGVyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpO1xuICAtLWNvbG9yLWJvcmRlci1mb2N1czogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcblxuICAvKiBJbmsgXHUyMDE0IHB1cmUgd2hpdGUgYm9keSAqL1xuICAtLWNvbG9yLXRleHQ6ICNGRkZGRkY7XG4gIC0tY29sb3ItdGV4dC1tdXRlZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcyKTtcbiAgLS1jb2xvci10ZXh0LWRpbTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ4KTtcblxuICAvKiBBY2NlbnQgXHUyMDE0IHdoaXRlIGZvciBwcmltYXJ5IGFjdGlvbnMgYW5kIGZvY3VzIHJpbmdzLlxuICAgICBBbWJlciAoI0ZGQjAwMCkgaXMgcmVmZXJlbmNlZCBpbmxpbmUgb25seSB3aGVyZSBpdCBlYXJucyBpdHMga2VlcDpcbiAgICAgdGhlIGxpdmUgRVRBIG5leHQgdG8gdGhlIG5leHQgZGVwYXJ0dXJlIGFuZCB0aGUgYnJhbmQgc3F1YXJlLiAqL1xuICAtLWNvbG9yLWFjY2VudDogI0ZGRkZGRjtcbiAgLS1jb2xvci1hY2NlbnQtaG92ZXI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7XG4gIC0tY29sb3ItZGFuZ2VyOiAjRkY2QTRBO1xuICAtLWNvbG9yLWRhbmdlci1ob3ZlcjogI0ZGODU2NztcbiAgLS1jb2xvci1zdWNjZXNzOiAjNkVFMzZFO1xuXG4gIC8qIFN0YXR1cyBwYWxldHRlIFx1MjAxNCBzZW1hbnRpYywgZGlzdGluY3QgZnJvbSBjaHJvbWUgKi9cbiAgLS1jb2xvci1zdGF0dXMtb250aW1lOiAjNkVFMzZFO1xuICAtLWNvbG9yLXN0YXR1cy1vbnRpbWUtYmc6IHJnYmEoMTEwLCAyMjcsIDExMCwgMC4xNCk7XG4gIC0tY29sb3Itc3RhdHVzLWRlbGF5ZWQ6ICNGRkIwMDA7XG4gIC0tY29sb3Itc3RhdHVzLWRlbGF5ZWQtYmc6IHJnYmEoMjU1LCAxNzYsIDAsIDAuMTYpO1xuICAtLWNvbG9yLXN0YXR1cy1jYW5jZWxsZWQ6ICNGRjZBNEE7XG4gIC0tY29sb3Itc3RhdHVzLWNhbmNlbGxlZC1iZzogcmdiYSgyNTUsIDEwNiwgNzQsIDAuMTYpO1xuXG4gIC8qIEJ1YmJsZXMgXHUyMDE0IGFzc2lzdGFudCBvbiByYWlzZWQgZGFyayBwYW5lbCwgdXNlciBvbiBhIHJhaXNlZCBkYXJrIGNoaXBcbiAgICAgd2l0aCB3aGl0ZSB0ZXh0LiBObyB5ZWxsb3cuICovXG4gIC0tY29sb3ItYnViYmxlLXVzZXI6ICMyQzI2MUY7XG4gIC0tY29sb3ItYnViYmxlLXVzZXItdGV4dDogI0ZGRkZGRjtcbiAgLS1jb2xvci1idWJibGUtYXNzaXN0YW50OiAjMTgxNDEwO1xuICAtLWNvbG9yLWJ1YmJsZS1hc3Npc3RhbnQtdGV4dDogI0ZGRkZGRjtcblxuICAtLXNoYWRvdy1jYXJkOiAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC41NSk7XG4gIC0tc2hhZG93LWxpZnQ6IDAgMTJweCAzMnB4IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgLS1vdmVybGF5LWhlcm86IGxpbmVhci1ncmFkaWVudChcbiAgICAxODBkZWcsXG4gICAgcmdiYSgxNCwgMTIsIDksIDAuMykgMCUsXG4gICAgcmdiYSgxNCwgMTIsIDksIDAuODUpIDcwJSxcbiAgICByZ2JhKDE0LCAxMiwgOSwgMC45OCkgMTAwJVxuICApO1xuXG4gIGNvbG9yLXNjaGVtZTogZGFyaztcbn1cblxuLyogXHUyNTAwXHUyNTAwIFJlc2V0IFx1MjUwMFx1MjUwMCAqL1xuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmh0bWwge1xuICBmb250LXNpemU6IDE2cHg7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBtaW4taGVpZ2h0OiAxMDBkdmg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1ub3JtYWwpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLW5vcm1hbCk7XG59XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbmEge1xuICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5hOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbnVsLFxub2wge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKiBcdTI1MDBcdTI1MDAgU2Nyb2xsYmFyIFx1MjUwMFx1MjUwMCAqL1xuXG46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDZweDtcbn1cblxuOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWZ1bGwpO1xufVxuXG4vKiBcdTI1MDBcdTI1MDAgRm9jdXMgcmluZyBcdTI1MDBcdTI1MDAgKi9cblxuOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuQGtleWZyYW1lcyBmYWRlLWluIHtcbiAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpOyB9XG4gIHRvICAgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cbiIsICIvKiBcdTI1MDBcdTI1MDAgTGF5b3V0IFx1MjUwMFx1MjUwMCAqL1xuXG4uZmxleCB7IGRpc3BsYXk6IGZsZXg7IH1cbi5mbGV4LWNvbCB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbi5mbGV4LXJvdyB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbi5mbGV4LXdyYXAgeyBmbGV4LXdyYXA6IHdyYXA7IH1cbi5mbGV4LTEgeyBmbGV4OiAxOyB9XG4uaXRlbXMtY2VudGVyIHsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuLml0ZW1zLXN0YXJ0IHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbi5pdGVtcy1lbmQgeyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbi5qdXN0aWZ5LWNlbnRlciB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4uanVzdGlmeS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4uanVzdGlmeS1lbmQgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4uZ2FwLXhzIHsgZ2FwOiB2YXIoLS1zcGFjZS14cyk7IH1cbi5nYXAtc20geyBnYXA6IHZhcigtLXNwYWNlLXNtKTsgfVxuLmdhcC1tZCB7IGdhcDogdmFyKC0tc3BhY2UtbWQpOyB9XG4uZ2FwLWxnIHsgZ2FwOiB2YXIoLS1zcGFjZS1sZyk7IH1cbi5nYXAteGwgeyBnYXA6IHZhcigtLXNwYWNlLXhsKTsgfVxuLmdyaWQgeyBkaXNwbGF5OiBncmlkOyB9XG5cbi8qIFx1MjUwMFx1MjUwMCBTcGFjaW5nIFx1MjUwMFx1MjUwMCAqL1xuXG4ucC14cyB7IHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKTsgfVxuLnAtc20geyBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSk7IH1cbi5wLW1kIHsgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpOyB9XG4ucC1sZyB7IHBhZGRpbmc6IHZhcigtLXNwYWNlLWxnKTsgfVxuLnAteGwgeyBwYWRkaW5nOiB2YXIoLS1zcGFjZS14bCk7IH1cbi5weC1zbSB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2Utc20pOyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1zbSk7IH1cbi5weC1tZCB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtbWQpOyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1tZCk7IH1cbi5weC1sZyB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtbGcpOyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1sZyk7IH1cbi5weS1zbSB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1zbSk7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7IH1cbi5weS1tZCB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1tZCk7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7IH1cbi5weS1sZyB7IHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1sZyk7IHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS1sZyk7IH1cbi5tdC1zbSB7IG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXNtKTsgfVxuLm10LW1kIHsgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbWQpOyB9XG4ubXQtbGcgeyBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1sZyk7IH1cbi5tdC14bCB7IG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXhsKTsgfVxuLm1iLXNtIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2Utc20pOyB9XG4ubWItbWQgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7IH1cbi5tYi1sZyB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLWxnKTsgfVxuXG4vKiBcdTI1MDBcdTI1MDAgVHlwb2dyYXBoeSBcdTI1MDBcdTI1MDAgKi9cblxuLnRleHQteHMgeyBmb250LXNpemU6IHZhcigtLWZvbnQteHMpOyB9XG4udGV4dC1zbSB7IGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zbSk7IH1cbi50ZXh0LWJhc2UgeyBmb250LXNpemU6IHZhcigtLWZvbnQtYmFzZSk7IH1cbi50ZXh0LWxnIHsgZm9udC1zaXplOiB2YXIoLS1mb250LWxnKTsgfVxuLnRleHQteGwgeyBmb250LXNpemU6IHZhcigtLWZvbnQteGwpOyB9XG4udGV4dC0yeGwgeyBmb250LXNpemU6IHZhcigtLWZvbnQtMnhsKTsgfVxuLnRleHQtM3hsIHsgZm9udC1zaXplOiB2YXIoLS1mb250LTN4bCk7IH1cbi5mb250LW1lZGl1bSB7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cbi5mb250LXNlbWlib2xkIHsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuLmZvbnQtYm9sZCB7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cbi50ZXh0LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuLnRleHQtbXV0ZWQgeyBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7IH1cbi50ZXh0LWRpbSB7IGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRpbSk7IH1cbi50ZXh0LWFjY2VudCB7IGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpOyB9XG4udGV4dC1kYW5nZXIgeyBjb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTsgfVxuLnVwcGVyY2FzZSB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbi50cmFja2luZy13aWRlIHsgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsgfVxuLmxlYWRpbmctdGlnaHQgeyBsaW5lLWhlaWdodDogMS4yNTsgfVxuLnRydW5jYXRlIHsgb3ZlcmZsb3c6IGhpZGRlbjsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyogXHUyNTAwXHUyNTAwIFdpZHRoICYgSGVpZ2h0IFx1MjUwMFx1MjUwMCAqL1xuXG4udy1mdWxsIHsgd2lkdGg6IDEwMCU7IH1cbi5tYXgtdy1zbSB7IG1heC13aWR0aDogNDAwcHg7IH1cbi5tYXgtdy1tZCB7IG1heC13aWR0aDogNTIwcHg7IH1cbi5tYXgtdy1sZyB7IG1heC13aWR0aDogNjQwcHg7IH1cbi5taW4taC1zY3JlZW4geyBtaW4taGVpZ2h0OiAxMDBkdmg7IH1cbi5teC1hdXRvIHsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4vKiBcdTI1MDBcdTI1MDAgQm9yZGVycyAmIFJhZGl1cyBcdTI1MDBcdTI1MDAgKi9cblxuLnJvdW5kZWQtc20geyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pOyB9XG4ucm91bmRlZC1tZCB7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7IH1cbi5yb3VuZGVkLWxnIHsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTsgfVxuLnJvdW5kZWQtZnVsbCB7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1mdWxsKTsgfVxuLmJvcmRlciB7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7IH1cbi5ib3JkZXItYiB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpOyB9XG5cbi8qIFx1MjUwMFx1MjUwMCBCYWNrZ3JvdW5kcyBcdTI1MDBcdTI1MDAgKi9cblxuLmJnLWJhc2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZyk7IH1cbi5iZy1yYWlzZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1yYWlzZWQpOyB9XG4uYmctaW5wdXQgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1pbnB1dCk7IH1cbi5iZy1hY2NlbnQgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpOyB9XG4uYmctZGFuZ2VyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTsgfVxuXG4vKiBcdTI1MDBcdTI1MDAgQnV0dG9ucyBcdTI1MDBcdTI1MDAgKi9cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gIHBhZGRpbmc6IDEwcHggMThweDtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNtKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLFxuICAgICAgICAgICAgICBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uYnRuOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uYnRuLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmJ0bi1wcmltYXJ5OmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50LWhvdmVyKTtcbn1cblxuLmJ0bi1naG9zdCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5idG4tZ2hvc3Q6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuLmJ0bi1kYW5nZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7XG59XG5cbi5idG4tZGFuZ2VyOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5idG4tc20ge1xuICBwYWRkaW5nOiA2cHggMTJweDtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXhzKTtcbn1cblxuLmJ0bi1sZyB7XG4gIHBhZGRpbmc6IDE0cHggMjRweDtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LWJhc2UpO1xufVxuXG4vKiBcdTI1MDBcdTI1MDAgSW5wdXRzIFx1MjUwMFx1MjUwMCAqL1xuXG4uaW5wdXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNtKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaW5wdXQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGltKTtcbn1cblxuLmlucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4vKiBcdTI1MDBcdTI1MDAgQ2FyZCBcdTI1MDBcdTI1MDAgKi9cblxuLmNhcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1yYWlzZWQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1sZyk7XG59XG5cbi8qIFx1MjUwMFx1MjUwMCBQb3NpdGlvbmluZyBcdTI1MDBcdTI1MDAgKi9cblxuLnJlbGF0aXZlIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4uYWJzb2x1dGUgeyBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbi5maXhlZCB7IHBvc2l0aW9uOiBmaXhlZDsgfVxuLmluc2V0LTAgeyB0b3A6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IGxlZnQ6IDA7IH1cbi56LTEwIHsgei1pbmRleDogMTA7IH1cbi56LTIwIHsgei1pbmRleDogMjA7IH1cblxuLyogXHUyNTAwXHUyNTAwIE92ZXJmbG93IFx1MjUwMFx1MjUwMCAqL1xuXG4ub3ZlcmZsb3ctaGlkZGVuIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuLm92ZXJmbG93LWF1dG8geyBvdmVyZmxvdzogYXV0bzsgfVxuLm92ZXJmbG93LXktYXV0byB7IG92ZXJmbG93LXk6IGF1dG87IH1cblxuLyogXHUyNTAwXHUyNTAwIFZpc2liaWxpdHkgXHUyNTAwXHUyNTAwICovXG5cbi5oaWRkZW4geyBkaXNwbGF5OiBub25lOyB9XG4ub3BhY2l0eS0wIHsgb3BhY2l0eTogMDsgfVxuLm9wYWNpdHktMTAwIHsgb3BhY2l0eTogMTsgfVxuXG4vKiBcdTI1MDBcdTI1MDAgVHJhbnNpdGlvbnMgXHUyNTAwXHUyNTAwICovXG5cbi50cmFuc2l0aW9uIHsgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tbm9ybWFsKTsgfVxuXG4vKiBcdTI1MDBcdTI1MDAgTWlzYyBcdTI1MDBcdTI1MDAgKi9cblxuLmN1cnNvci1wb2ludGVyIHsgY3Vyc29yOiBwb2ludGVyOyB9XG4uc2VsZWN0LW5vbmUgeyB1c2VyLXNlbGVjdDogbm9uZTsgfVxuLnBvaW50ZXItZXZlbnRzLW5vbmUgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuLndoaXRlc3BhY2Utbm93cmFwIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKiBcdTI1MDBcdTI1MDAgQ29udGFpbmVyIFx1MjUwMFx1MjUwMCAqL1xuXG4uY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNTIwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtbWQpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi8qIFx1MjUwMFx1MjUwMCBMYWJlbCBcdTI1MDBcdTI1MDAgKi9cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zbSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4vKiBcdTI1MDBcdTI1MDAgRGl2aWRlciBcdTI1MDBcdTI1MDAgKi9cblxuLmRpdmlkZXIge1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgbWFyZ2luOiB2YXIoLS1zcGFjZS1sZykgMDtcbn1cblxuLyogXHUyNTAwXHUyNTAwIERyb3Bkb3duIC8gQXV0b2NvbXBsZXRlIFx1MjUwMFx1MjUwMCAqL1xuXG4uZHJvcGRvd24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDIwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1yYWlzZWQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS14cyk7XG4gIG1heC1oZWlnaHQ6IDIyMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cblxuLmRyb3Bkb3duLWl0ZW0ge1xuICBwYWRkaW5nOiAxMHB4IDE0cHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zbSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uZHJvcGRvd24taXRlbTpob3Zlcixcbi5kcm9wZG93bi1pdGVtLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLmRyb3Bkb3duLWl0ZW0gLmNycy1iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXhzKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM3LCA5OSwgMjM1LCAwLjE1KTtcbiAgcGFkZGluZzogMnB4IDZweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi8qIFx1MjUwMFx1MjUwMCBBbmltYXRpb25zIFx1MjUwMFx1MjUwMCAqL1xuXG5Aa2V5ZnJhbWVzIGZhZGUtaW4ge1xuICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cbiAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuLmFuaW1hdGUtZmFkZS1pbiB7XG4gIGFuaW1hdGlvbjogZmFkZS1pbiAyMDBtcyBlYXNlIGZvcndhcmRzO1xufVxuXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cblxuLmFuaW1hdGUtc3BpbiB7XG4gIGFuaW1hdGlvbjogc3BpbiA4MDBtcyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi8qIFx1MjUwMFx1MjUwMCBTcGlubmVyIFx1MjUwMFx1MjUwMCAqL1xuXG4uc3Bpbm5lciB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiBzcGluIDgwMG1zIGxpbmVhciBpbmZpbml0ZTtcbn1cbiIsICIvKiBcdTI1MDBcdTI1MDAgUmFpbFRpbWUgbGF5b3V0OiBsYW5kaW5nICsgY2hhdCBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDAgKi9cblxuOnJvb3Qge1xuICAtLWNoYXQtbWF4LXc6IDcyMHB4O1xuICAtLWNvbXBvc2VyLW1heC13OiA2NDBweDtcbiAgLS1scC1tYXgtdzogNjQwcHg7XG4gIC0tc2FmZS1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwcHgpO1xuICAtLXNhZmUtdG9wOiBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMHB4KTtcbn1cblxuLyogXHUyNTAwXHUyNTAwIExhbmRpbmcgcGFnZSAoY2xlYW4sIG1pbmltYWwpIFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMCAqL1xuXG4ubHAge1xuICBtaW4taGVpZ2h0OiAxMDBkdmg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4ubHAtbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXNhZmUtdG9wKSArIDIwcHgpIDI4cHggMCAyOHB4O1xuICBtYXgtd2lkdGg6IDExMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ubHAtbmF2LWJyYW5kIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LWJhc2UpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4ubHAtbmF2LXVzZXIsXG4ubHAtbmF2LWxvZ2luIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zbSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4ubHAtbmF2LWxvZ2luOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5scC1tYWluIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogdmFyKC0tbHAtbWF4LXcpO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogY2xhbXAoNDhweCwgMTB2aCwgOTZweCkgMjRweCBjYWxjKHZhcigtLXNhZmUtYm90dG9tKSArIDU2cHgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDI4cHg7XG59XG5cbi5scC1icmFuZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMi41cmVtLCA2dncsIDMuNzVyZW0pO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjA1O1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuLmxwLXRhZ2xpbmUge1xuICBmb250LXNpemU6IGNsYW1wKDEuMXJlbSwgMi41dncsIDEuMzVyZW0pO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIG1hcmdpbjogMCAwIDRweDtcbn1cblxuLyogQW5pbWF0ZWQgc3BsaXQtZmxhcCB0aW1ldGFibGUgYm9hcmQgXHUyMDE0IGFsd2F5cyBkYXJrIHJlZ2FyZGxlc3Mgb2YgdGhlbWUsXG4gICBzbyBpdCByZWFkcyBsaWtlIGEgcmVhbCBzdGF0aW9uIGRlcGFydHVyZSBib2FyZC4gKi9cbi50dC1ib2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgLyogR2FwIGFwcGxpZXMgYmV0d2VlbiB3b3JkLWdyb3Vwczsgc3BhY2VzIGFyZSByZWFsIHRpbGVzIGluc2lkZSBncm91cHMuICovXG4gIGdhcDogMnB4O1xuICBwYWRkaW5nOiA2cHggOHB4O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcwNzA3O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgbWFyZ2luOiAwIDAgNHB4O1xuICAvKiBSZXNlcnZlIGVub3VnaCBoZWlnaHQgZm9yIDIgd3JhcHBlZCByb3dzIHNvIGxheW91dCBkb2Vzbid0IHNoYWtlIHdoZW4gYVxuICAgICBsb25nZXIgbWVzc2FnZSBidW1wcyB0byBhIHNlY29uZCBsaW5lLiB0aWxlKDIyKSAqIDIgKyByb3cgZ2FwKDQpICsgcGFkKDEyKSAqL1xuICBtaW4taGVpZ2h0OiA2NHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnR0LWJvYXJkIHtcbiAgICAvKiB0aWxlKDI2KSAqIDIgKyByb3cgZ2FwKDQpICsgcGFkKDEyKSAqL1xuICAgIG1pbi1oZWlnaHQ6IDY4cHg7XG4gIH1cbn1cblxuLyogQSBydW4gb2Ygbm9uLXNwYWNlIGNoYXJzOiB0aWxlcyBidXR0IHVwIGFnYWluc3QgZWFjaCBvdGhlciBhbmQgdGhlIHJ1blxuICAgbmV2ZXIgd3JhcHMgbWlkLXdvcmQuICovXG4udHQtd29yZCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZ2FwOiAxcHg7XG59XG5cbi50dC10aWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogMjJweDtcbiAgd2lkdGg6IDE1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzExMTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gIGZvbnQtZmFtaWx5OiBcIkJhcmxvdyBDb25kZW5zZWRcIiwgXCJJbnRlciBUaWdodFwiLCBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJBcmlhbCBOYXJyb3dcIiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC50dC10aWxlIHtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgd2lkdGg6IDE3cHg7XG4gICAgZm9udC1zaXplOiAxLjA1cmVtO1xuICB9XG59XG5cbi50dC10aWxlLWxvY2tlZCAgIHsgY29sb3I6ICNmZmZmZmY7IH1cbi50dC10aWxlLXNodWZmbGluZyB7IGNvbG9yOiAjYTNhM2EzOyB9XG4udHQtdGlsZS1zcGFjZSAgICB7IG9wYWNpdHk6IDAuMzU7IH1cblxuLnR0LXRpbGUtc3BsaXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDUwJTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgei1pbmRleDogMTtcbn1cblxuLnR0LXRpbGUtZ2xvc3Mge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGhlaWdodDogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDM1KTtcbiAgei1pbmRleDogMTtcbn1cblxuLnR0LXRpbGUtY2hhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbn1cblxuLmxwLXNlYXJjaCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgZ2FwOiA4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWlucHV0LCAjZmZmZmZmKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgcGFkZGluZzogMTJweCAxMnB4IDEycHggMThweDtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWNhcmQpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4ubHAtc2VhcmNoOmZvY3VzLXdpdGhpbiB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMCwgODUsIDIxMiwgMC4xMik7XG59XG5cbi5scC1zZWFyY2gtaW5wdXQge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1iYXNlKTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgcGFkZGluZzogNHB4IDA7XG4gIHJlc2l6ZTogbm9uZTtcbn1cblxuLmxwLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kaW0pO1xufVxuXG4ubHAtc2VhcmNoLXNlbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5scC1zZWFyY2gtc2VuZDpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudC1ob3Zlcik7XG59XG5cbi5scC1zZWFyY2gtc2VuZDphY3RpdmU6bm90KDpkaXNhYmxlZCkge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xufVxuXG4ubHAtc2VhcmNoLXNlbmQ6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBvcGFjaXR5OiAwLjc7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8qIEV4YW1wbGUgcmVwbHkgY2FyZCAqL1xuLmxwLWNhcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1yYWlzZWQsICNmZmZmZmYpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctY2FyZCk7XG59XG5cbi5scC1jYXJkLWhlYWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogMTRweCAxOHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctc3VidGxlLCByZ2JhKDAsIDAsIDAsIDAuMDIpKTtcbn1cblxuLmxwLWNhcmQtdGl0bGUge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zLCBcIkRNIFNhbnNcIiksIHN5c3RlbS11aSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LWJhc2UpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xufVxuXG4ubHAtY2FyZC1saXZlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICBmb250LXNpemU6IHZhcigtLWZvbnQteHMpO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICBjb2xvcjogdmFyKC0tY29sb3Itc3RhdHVzLW9udGltZSk7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ubHAtY2FyZC1saXZlLWRvdCB7XG4gIHdpZHRoOiA2cHg7XG4gIGhlaWdodDogNnB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN0YXR1cy1vbnRpbWUpO1xuICBhbmltYXRpb246IGxwLXB1bHNlIDEuOHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgbHAtcHVsc2Uge1xuICAwJSwgMTAwJSB7IG9wYWNpdHk6IDE7ICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICA1MCUgICAgICB7IG9wYWNpdHk6IDAuNDsgdHJhbnNmb3JtOiBzY2FsZSgxLjI1KTsgfVxufVxuXG4ubHAtc3RhdHVzLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5scC1zdGF0dXMtbGlzdCB7XG4gIGFuaW1hdGlvbjogbHAtcGFnZS1mYWRlIDM2MG1zIGVhc2U7XG59XG5cbi5scC1zdGF0dXMtcGFnZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQ0cHggMWZyIDQ0cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuXG4ubHAtc3RhdHVzLXBhZ2VyLWxhYmVsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDAuNzJyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbn1cblxuLmxwLXN0YXR1cy1uYXYge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiAzNnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMjBtcyBlYXNlLCBjb2xvciAxMjBtcyBlYXNlO1xufVxuXG4ubHAtc3RhdHVzLW5hdjpob3Zlcjpub3QoOmRpc2FibGVkKSxcbi5scC1zdGF0dXMtbmF2OmZvY3VzLXZpc2libGU6bm90KDpkaXNhYmxlZCkge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UtaG92ZXIsIHJnYmEoMCwgMCwgMCwgMC4wMykpO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4ubHAtc3RhdHVzLW5hdjpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMztcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5Aa2V5ZnJhbWVzIGxwLXBhZ2UtZmFkZSB7XG4gIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTsgfVxuICB0byAgIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5cbi5scC1zdGF0dXMtcm93IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxNnB4IG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAxLjNmcik7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogMTRweCAxOHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNtKTtcbn1cblxuLmxwLXN0YXR1cy1saXN0ID4gbGk6bGFzdC1jaGlsZCA+IC5scC1zdGF0dXMtcm93LFxuLmxwLXN0YXR1cy1yb3c6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbmJ1dHRvbi5scC1zdGF0dXMtcm93IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItdG9wOiBub25lO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udDogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2U7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTZweCBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMS4zZnIpIDE0cHg7XG59XG5cbmJ1dHRvbi5scC1zdGF0dXMtcm93OmhvdmVyLFxuYnV0dG9uLmxwLXN0YXR1cy1yb3c6Zm9jdXMtdmlzaWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UtaG92ZXIsIHJnYmEoMCwgMCwgMCwgMC4wMykpO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4ubHAtc3RhdHVzLWNoZXZyb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zIGVhc2UsIHRyYW5zZm9ybSAxMjBtcyBlYXNlO1xufVxuXG5idXR0b24ubHAtc3RhdHVzLXJvdzpob3ZlciAubHAtc3RhdHVzLWNoZXZyb24sXG5idXR0b24ubHAtc3RhdHVzLXJvdzpmb2N1cy12aXNpYmxlIC5scC1zdGF0dXMtY2hldnJvbiB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpO1xufVxuXG4ubHAtc3RhdHVzLWxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2FucywgXCJETSBTYW5zXCIpLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5scC1zdGF0dXMtZGV0YWlsIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubywgXCJKZXRCcmFpbnMgTW9ub1wiKSwgdWktbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC14cyk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubHAtc3RhdHVzLW9udGltZSAubHAtc3RhdHVzLWRldGFpbCB7IGNvbG9yOiB2YXIoLS1jb2xvci1zdGF0dXMtb250aW1lKTsgfVxuLmxwLXN0YXR1cy1kZWxheWVkIC5scC1zdGF0dXMtZGV0YWlsIHsgY29sb3I6IHZhcigtLWNvbG9yLXN0YXR1cy1kZWxheWVkKTsgfVxuLmxwLXN0YXR1cy1jYW5jZWxsZWQgLmxwLXN0YXR1cy1kZXRhaWwgeyBjb2xvcjogdmFyKC0tY29sb3Itc3RhdHVzLWNhbmNlbGxlZCk7IH1cblxuLmxwLWRvdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5scC1kb3Qtb250aW1lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3RhdHVzLW9udGltZSwgIzEwYjk4MSk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDE2LCAxODUsIDEyOSwgMC4xOCk7XG59XG5cbi5scC1kb3QtZGVsYXllZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN0YXR1cy1kZWxheWVkLCAjZjU5ZTBiKTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMjQ1LCAxNTgsIDExLCAwLjE4KTtcbn1cblxuLmxwLWRvdC1jYW5jZWxsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdGF0dXMtY2FuY2VsbGVkLCAjZGMyNjI2KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMjIwLCAzOCwgMzgsIDAuMTgpO1xufVxuXG4ubHAtZG90LWNsb3NlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQsICM5Y2EzYWYpO1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgxNTYsIDE2MywgMTc1LCAwLjIpO1xufVxuXG4ubHAtc3RhdHVzLWNsb3NlZCAubHAtc3RhdHVzLWRldGFpbCB7IGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTsgfVxuXG4ubHAtc3RhdHVzLWVtcHR5IHtcbiAgcGFkZGluZzogMThweCAyMHB4O1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc20pO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmxwLWNhcmQtcGFnZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiAxMnB4O1xuICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuXG4ubHAtY2FyZC1wYWdlci1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyOHB4O1xuICBoZWlnaHQ6IDI4cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmxwLWNhcmQtcGFnZXItYnRuOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4ubHAtY2FyZC1wYWdlci1idG46ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLmxwLWNhcmQtcGFnZXItaW5mbyB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC14cywgMTJweCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbn1cblxuLyogVGVsZWdyYW0gQ1RBIFx1MjAxNCBkYXJrIGNhcmQsIHNpbmdsZSBsaW5lICovXG4ubHAtdGVsZWdyYW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogMThweCAyMnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUExQTFBO1xuICBjb2xvcjogI0ZBRkFGODtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtYmFzZSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3gtc2hhZG93IHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5scC10ZWxlZ3JhbTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICBib3gtc2hhZG93OiAwIDEwcHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xufVxuXG4ubHAtdGVsZWdyYW0gc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5scC10ZWxlZ3JhbS1hcnJvdyB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBjb2xvcjogcmdiYSgyNTAsIDI1MCwgMjQ4LCAwLjcpO1xuICBmbGV4LXNocmluazogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5scC10ZWxlZ3JhbTpob3ZlciAubHAtdGVsZWdyYW0tYXJyb3cge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG59XG5cbi8qIFx1MjUwMFx1MjUwMCBDb21wb3NlciAodXNlZCBieSBjaGF0IHZpZXcpIFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMCAqL1xuXG4uY29tcG9zZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAvKiBCaWdnZXIsIGNsZWFybHktYm9yZGVyZWQgaW5wdXQgXHUyMDE0IGl0IG11c3QgcmVhZCBhcyBcInR5cGUgaGVyZVwiLCBub3QgYVxuICAgICBkZWNvcmF0aXZlIGJhbmQuIFNvbGlkIHN1cmZhY2UsIDEuNXB4IGJvcmRlciB0aGF0IGxpZnRzIHRvIHdoaXRlIG9uXG4gICAgIGZvY3VzLCBwbHVzIGEgM3B4IGZvY3VzIGdsb3cuICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWlucHV0KTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBwYWRkaW5nOiAxNHB4IDE0cHggMTRweCAxOHB4O1xuICBtaW4taGVpZ2h0OiA2NHB4O1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uY29tcG9zZXI6aG92ZXIge1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zMCk7XG59XG5cbi5jb21wb3Nlcjpmb2N1cy13aXRoaW4ge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1mb2N1cyk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTApO1xufVxuXG4uY29tcG9zZXItaGVybyB7XG4gIC8qIFRoZSBoZXJvIGNvbXBvc2VyIGlzIHRoZSBwcmltYXJ5IGNhbGwtdG8tYWN0aW9uIG9uIHRoZSBsYW5kaW5nIHBhZ2UgXHUyMDE0XG4gICAgIHNjYWxlZCB1cCBzbyBpdCdzIHVuYW1iaWd1b3VzbHkgdGhlIGlucHV0LiAqL1xuICBwYWRkaW5nOiAxOHB4IDE4cHggMTZweCAyMnB4O1xuICBnYXA6IDEycHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC14bCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy14bCk7XG4gIG1pbi1oZWlnaHQ6IDEwNHB4O1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGlmdCk7XG59XG5cbltkYXRhLXRoZW1lPVwibGlnaHRcIl0gLmNvbXBvc2VyLWhlcm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTQpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KSBzYXR1cmF0ZSgxLjMpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpIHNhdHVyYXRlKDEuMyk7XG59XG5cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAuY29tcG9zZXItaGVybyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWlucHV0KTtcbiAgLyogRHJvcCB0aGUgYmFja2Ryb3AgYmx1ciBpbiBkYXJrIFx1MjAxNCB0cmFuc2x1Y2VudCBwYW5lbHMgbXVkZHkgdGhlIGJvcmRlclxuICAgICBhbmQgdW5kZXJjdXQgdGhlIFwidGhpcyBpcyBhIHRleHQgZmllbGRcIiBzaWduYWwuICovXG4gIGJhY2tkcm9wLWZpbHRlcjogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IG5vbmU7XG59XG5cbi5jb21wb3Nlci1pbnB1dCB7XG4gIGZsZXg6IDE7XG4gIHJlc2l6ZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtbWQpO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtaW4taGVpZ2h0OiAzMnB4O1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgcGFkZGluZzogNHB4IDA7XG59XG5cbi5jb21wb3Nlci1oZXJvIC5jb21wb3Nlci1pbnB1dCB7XG4gIC8qIEJpZ2dlciB0eXBlIGZvciB0aGUgbGFuZGluZy1wYWdlIGlucHV0IFx1MjAxNCBhdCAxOHB4IHRoZSBmaWVsZCByZWFkcyBhcyBhXG4gICAgIGhlYWRsaW5lLXNpemVkIHByb21wdCwgaGFyZCB0byBtaXNzLiAqL1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICBtaW4taGVpZ2h0OiA1NnB4O1xuICBwYWRkaW5nOiA2cHggMDtcbn1cblxuLmNvbXBvc2VyLWlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRpbSk7XG59XG5cbi5jb21wb3Nlci1zZW5kIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMzZweDtcbiAgaGVpZ2h0OiAzNnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtZnVsbCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gIGNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLmNvbXBvc2VyLWhlcm8gLmNvbXBvc2VyLXNlbmQge1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiA0OHB4O1xufVxuXG4uY29tcG9zZXItc2VuZDpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudC1ob3Zlcik7XG59XG5cbi5jb21wb3Nlci1zZW5kOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG59XG5cbi5jb21wb3Nlci1zZW5kOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgb3BhY2l0eTogMC43O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vKiBcdTI1MDBcdTI1MDAgQ2hhdCB2aWV3IFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMCAqL1xuXG4uY2hhdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwZHZoO1xuICBtYXgtaGVpZ2h0OiAxMDBkdmg7XG59XG5cbi5jaGF0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tc2FmZS10b3ApICsgdmFyKC0tc3BhY2Utc20pKSB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2Utc20pO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmcpO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4uY2hhdC1oZWFkZXItcmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLmNoYXQtYnJhbmQtd3JhcCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4uY2hhdC1tYXJrIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmNoYXQtYnJhbmQge1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtbGcpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbn1cblxuLmNoYXQtbG9naW4ge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc20pO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCA4NSwgMjEyLCAwLjEwKTtcbiAgcGFkZGluZzogNnB4IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1mdWxsKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY2hhdC1sb2dpbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgODUsIDIxMiwgMC4xOCk7XG59XG5cbi5jaGF0LXNjcm9sbCB7XG4gIGZsZXg6IDE7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLmNoYXQtaW5uZXIge1xuICBtYXgtd2lkdGg6IHZhcigtLWNoYXQtbWF4LXcpO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS1sZyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4vKiBcdTI1MDBcdTI1MDAgQ2hhdCB3ZWxjb21lIHByZWFtYmxlIFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMCAqL1xuXG4uY2hhdC13ZWxjb21lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgYW5pbWF0aW9uOiBmYWRlLWluIDI1MG1zIGVhc2U7XG59XG5cbi5jaGF0LXdlbGNvbWUtY2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXJhaXNlZCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCksXG4gICAgICAgICAgICAgIGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSxcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5jaGF0LXdlbGNvbWUtY2FyZDpob3ZlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWNhcmQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jaGF0LXdlbGNvbWUtbG9naW4ge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgODUsIDIxMiwgMC4yOCk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAxMzVkZWcsXG4gICAgcmdiYSgwLCA4NSwgMjEyLCAwLjA2KSAwJSxcbiAgICByZ2JhKDAsIDg1LCAyMTIsIDAuMDEpIDEwMCVcbiAgKTtcbn1cblxuLmNoYXQtd2VsY29tZS1sb2dpbjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLmNoYXQtd2VsY29tZS10ZWxlZ3JhbSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMDg4Y2MgMCUsICMwMDY2OTkgMTAwJSk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uY2hhdC13ZWxjb21lLXRlbGVncmFtOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCA4cHggMjBweCByZ2JhKDAsIDEzNiwgMjA0LCAwLjM1KTtcbn1cblxuLmNoYXQtd2VsY29tZS1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtZnVsbCk7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uY2hhdC13ZWxjb21lLWxvZ2luIC5jaGF0LXdlbGNvbWUtaWNvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgODUsIDIxMiwgMC4xNCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4uY2hhdC13ZWxjb21lLXRlbGVncmFtIC5jaGF0LXdlbGNvbWUtaWNvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5jaGF0LXdlbGNvbWUtYm9keSB7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLmNoYXQtd2VsY29tZS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1iYXNlKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5jaGF0LXdlbGNvbWUtc3ViIHtcbiAgbWFyZ2luLXRvcDogMnB4O1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc20pO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBvcGFjaXR5OiAwLjg1O1xufVxuXG4uY2hhdC13ZWxjb21lLXRlbGVncmFtIC5jaGF0LXdlbGNvbWUtc3ViIHN0cm9uZyB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uY2hhdC13ZWxjb21lLWFycm93IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBmbGV4LXNocmluazogMDtcbiAgb3BhY2l0eTogMC42O1xufVxuXG4uY2hhdC13ZWxjb21lLWNhcmQ6aG92ZXIgLmNoYXQtd2VsY29tZS1hcnJvdyB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5jaGF0LWNvbXBvc2VyIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKVxuICAgICAgICAgICBjYWxjKHZhcigtLXNhZmUtYm90dG9tKSArIHZhcigtLXNwYWNlLXNtKSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG59XG5cbi5jaGF0LWNvbXBvc2VyIC5jb21wb3NlciB7XG4gIG1heC13aWR0aDogdmFyKC0tY29tcG9zZXItbWF4LXcpO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmNoYXQtcXVpY2stYWN0aW9ucyB7XG4gIG1heC13aWR0aDogdmFyKC0tY29tcG9zZXItbWF4LXcpO1xuICBtYXJnaW46IDAgYXV0byB2YXIoLS1zcGFjZS1zbSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS14cywgNnB4KTtcbn1cblxuLmNoYXQtcXVpY2stY2hpcCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgcGFkZGluZzogNnB4IDEycHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IHZhcigtLWZvbnQteHMpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UsIHJnYmEoMCwgMCwgMCwgMC4wNCkpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtZnVsbCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMjBtcyBlYXNlLCBib3JkZXItY29sb3IgMTIwbXMgZWFzZTtcbn1cblxuLmNoYXQtcXVpY2stY2hpcDpob3Zlcixcbi5jaGF0LXF1aWNrLWNoaXA6Zm9jdXMtdmlzaWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UtaG92ZXIsIHJnYmEoMCwgMCwgMCwgMC4wOCkpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uY2hhdC1xdWljay1jaGlwLWRvdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDdweDtcbiAgaGVpZ2h0OiA3cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3RhdHVzLWRlbGF5ZWQsICNmNTllMGIpO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgyNDUsIDE1OCwgMTEsIDAuMTUpO1xufVxuXG4vKiBcdTI1MDBcdTI1MDAgTWVzc2FnZSBidWJibGVzIFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMCAqL1xuXG4ubXNnIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGFuaW1hdGlvbjogZmFkZS1pbiAyMDBtcyBlYXNlO1xufVxuXG4ubXNnLXVzZXIgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4ubXNnLWFzc2lzdGFudCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBnYXA6IDZweDtcbn1cblxuLyogU21hbGwgZmxhZyBidXR0b24gbmV4dCB0byBhc3Npc3RhbnQgbWVzc2FnZXMuIE9uZS1jbGljayBjYXB0dXJlcyB0aGVcbiAgIHJlcXVlc3RfaWQ7IHRvZ2dsZXMgdG8gYSBcImZsYWdnZWRcIiByZWQgc3RhdGUgc28gdGhlIHVzZXIgaGFzIHZpc3VhbFxuICAgZmVlZGJhY2sgdGhhdCB0aGUgcmVwb3J0IGxhbmRlZC4gKi9cbi5tc2ctZmxhZyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDRweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwLjI1O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZmFzdCksIHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuLm1zZy1mbGFnOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgb3BhY2l0eTogMC44NTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuLm1zZy1mbGFnLW9uIHtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBodWUtcm90YXRlKC0xNWRlZykgc2F0dXJhdGUoMS4zKTtcbn1cbi5tc2ctZmxhZzpkaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLm1zZy1idWJibGUge1xuICBtYXgtd2lkdGg6IDg1JTtcbiAgcGFkZGluZzogMTBweCAxNHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtYmFzZSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLm1zZy11c2VyIC5tc2ctYnViYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnViYmxlLXVzZXIpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYnViYmxlLXVzZXItdGV4dCk7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xufVxuXG4ubXNnLWFzc2lzdGFudCAubXNnLWJ1YmJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ1YmJsZS1hc3Npc3RhbnQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYnViYmxlLWFzc2lzdGFudC10ZXh0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbn1cblxuLm1zZy1lcnJvciAubXNnLWJ1YmJsZSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyMjAsIDM4LCAzOCwgMC40KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7XG59XG5cbi5tc2ctdGV4dCB7IHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgfVxuLm1zZy1saW5rIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDtcbn1cbi5tc2ctbGluazpob3ZlciB7IG9wYWNpdHk6IDAuODsgfVxuXG4vKiBcdTI1MDBcdTI1MDAgVHlwaW5nIGRvdHMgXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwICovXG5cbi5tc2ctZG90cyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgcGFkZGluZzogNHB4IDA7XG59XG5cbi5tc2ctZG90cyBzcGFuIHtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGFuaW1hdGlvbjogbXNnLWRvdCAxLjJzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xufVxuXG4ubXNnLWRvdHMgc3BhbjpudGgtY2hpbGQoMikgeyBhbmltYXRpb24tZGVsYXk6IDAuMTVzOyB9XG4ubXNnLWRvdHMgc3BhbjpudGgtY2hpbGQoMykgeyBhbmltYXRpb24tZGVsYXk6IDAuM3M7IH1cblxuQGtleWZyYW1lcyBtc2ctZG90IHtcbiAgMCUsIDgwJSwgMTAwJSB7IG9wYWNpdHk6IDAuMjU7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA0MCUgICAgICAgICAgeyBvcGFjaXR5OiAxOyAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7IH1cbn1cblxuLyogXHUyNTAwXHUyNTAwIFRoZW1lIHRvZ2dsZSBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDBcdTI1MDAgKi9cblxuLnRoZW1lLXRvZ2dsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzZweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWZ1bGwpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1yYWlzZWQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi50aGVtZS10b2dnbGU6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7IH1cbi50aGVtZS10b2dnbGU6YWN0aXZlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjkyKTsgfVxuXG4vKiBcdTI1MDBcdTI1MDAgVXNlciBtZW51IC8gYXV0aCBwaWxsIFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMCAqL1xuXG4udXNlci1tZW51IHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi51c2VyLXBpbGwge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gIHBhZGRpbmc6IDRweCAxMHB4IDRweCA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1mdWxsKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctcmFpc2VkKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udXNlci1waWxsOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpOyB9XG5cbi51c2VyLWF2YXRhciB7XG4gIHdpZHRoOiAyNnB4O1xuICBoZWlnaHQ6IDI2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gIGNvbG9yOiAjZmZmO1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLnVzZXItYXZhdGFyLWZhbGxiYWNrIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG59XG5cbi51c2VyLW5hbWUge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc20pO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIG1heC13aWR0aDogMTQwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udXNlci1kcm9wZG93biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyA2cHgpO1xuICByaWdodDogMDtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctcmFpc2VkKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWxpZnQpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBhbmltYXRpb246IGZhZGUtaW4gMTUwbXMgZWFzZTtcbiAgei1pbmRleDogMzA7XG59XG5cbi51c2VyLWRyb3Bkb3duLWhlYWQge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbn1cblxuLnVzZXItZHJvcGRvd24tbmFtZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zbSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuLnVzZXItZHJvcGRvd24tZW1haWwge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQteHMpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIG1hcmdpbi10b3A6IDJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi51c2VyLWRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDEwcHggdmFyKC0tc3BhY2UtbWQpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc20pO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnVzZXItZHJvcGRvd24taXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLyogXHUyNTAwXHUyNTAwIFJlc3BvbnNpdmUgXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwICovXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3MjBweCkge1xuICAubHAtbmF2IHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXNhZmUtdG9wKSArIDE2cHgpIDIwcHggMCAyMHB4O1xuICB9XG4gIC5scC1tYWluIHtcbiAgICBwYWRkaW5nOiBjbGFtcCgzMnB4LCA2dmgsIDY0cHgpIDIwcHggY2FsYyh2YXIoLS1zYWZlLWJvdHRvbSkgKyA0OHB4KTtcbiAgICBnYXA6IDIycHg7XG4gIH1cbiAgLmxwLWNhcmQtaGVhZCB7XG4gICAgcGFkZGluZzogMTJweCAxNHB4O1xuICB9XG4gIC5scC1zdGF0dXMtcm93IHtcbiAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gICAgZ2FwOiAxMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAubHAtbmF2IHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXNhZmUtdG9wKSArIDE0cHgpIDE2cHggMCAxNnB4O1xuICB9XG4gIC5scC1tYWluIHtcbiAgICBwYWRkaW5nOiAzMnB4IDE2cHggY2FsYyh2YXIoLS1zYWZlLWJvdHRvbSkgKyA0MHB4KTtcbiAgICBnYXA6IDIwcHg7XG4gIH1cbiAgLmxwLXNlYXJjaCB7XG4gICAgcGFkZGluZzogNnB4IDZweCA2cHggMTRweDtcbiAgfVxuICAubHAtc2VhcmNoLXNlbmQge1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgfVxuICAubHAtY2FyZC1oZWFkIHtcbiAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gIH1cbiAgLmxwLXN0YXR1cy1yb3cge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTRweCBtaW5tYXgoMCwgMWZyKTtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogMTJweDtcbiAgfVxuICAubHAtc3RhdHVzLWRldGFpbCB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgfVxuICAubHAtdGVsZWdyYW0ge1xuICAgIHBhZGRpbmc6IDE0cHggMTZweDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc20pO1xuICB9XG5cbiAgLyogQ2hhdCB2aWV3IHR3ZWFrcyBwcmVzZXJ2ZWQgKi9cbiAgLmNvbXBvc2VyLWhlcm8ge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSA2cHggdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBnYXA6IDZweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICB9XG4gIC5jb21wb3Nlci1oZXJvIC5jb21wb3Nlci1pbnB1dCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LWJhc2UpO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgfVxuICAuY29tcG9zZXItaGVybyAuY29tcG9zZXItc2VuZCB7IHdpZHRoOiA0MHB4OyBoZWlnaHQ6IDQwcHg7IH1cbiAgLmNvbXBvc2VyLWhlcm8gLmNvbXBvc2VyLXNlbmQgc3ZnIHsgd2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsgfVxuXG4gIC5tc2ctYnViYmxlIHsgbWF4LXdpZHRoOiA4OCU7IGZvbnQtc2l6ZTogdmFyKC0tZm9udC1iYXNlKTsgfVxuICAuY2hhdC1oZWFkZXIgeyBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLXNtKTsgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2Utc20pOyB9XG4gIC5jaGF0LWlubmVyIHsgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS1zbSk7IHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXNtKTsgfVxuICAuY2hhdC1jb21wb3NlciB7IHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2Utc20pOyBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1zbSk7IH1cbiAgLmNoYXQtbG9naW4geyBwYWRkaW5nOiA2cHggMTBweDsgZm9udC1zaXplOiB2YXIoLS1mb250LXhzKTsgfVxuICAuY2hhdC1tYXJrIHsgd2lkdGg6IDI4cHg7IGhlaWdodDogMjhweDsgfVxuICAuY2hhdC1tYXJrIHN2ZyB7IHdpZHRoOiAxOHB4OyBoZWlnaHQ6IDE4cHg7IH1cbiAgLmNoYXQtYnJhbmQgeyBmb250LXNpemU6IHZhcigtLWZvbnQtYmFzZSk7IH1cbn1cblxuLyogXHUyNTAwXHUyNTAwIFNldHRpbmdzIHBhZ2UgXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwICovXG5cbi5zZXR0aW5ncy1wYWdlIHtcbiAgbWluLWhlaWdodDogMTAwZHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZyk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnNldHRpbmdzLWJhY2sge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBmb250OiBpbmhlcml0O1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc20pO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cbi5zZXR0aW5ncy1iYWNrOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5zZXR0aW5ncy1tYWluIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNjQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAzMnB4IDI0cHggY2FsYyh2YXIoLS1zYWZlLWJvdHRvbSkgKyA0OHB4KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAyOHB4O1xufVxuXG4uc2V0dGluZ3MtdGl0bGUge1xuICBmb250LXNpemU6IGNsYW1wKDEuNXJlbSwgNHZ3LCAycmVtKTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIG1hcmdpbjogMDtcbn1cblxuLnNldHRpbmdzLWVtcHR5IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtYmFzZSk7XG59XG5cbi5zZXR0aW5ncy1zZWN0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxMHB4O1xuICBwYWRkaW5nOiAxOHB4IDE4cHggMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctZWxldmF0ZWQsIHRyYW5zcGFyZW50KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbn1cblxuLnNldHRpbmdzLXNlY3Rpb24tdGl0bGUge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtYmFzZSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLnNldHRpbmdzLWhpbnQge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zbSk7XG4gIG1hcmdpbjogMCAwIDZweDtcbn1cblxuLnNldHRpbmdzLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC14cyk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xufVxuXG4uc2V0dGluZ3MtaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgZm9udDogaW5oZXJpdDtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LWJhc2UpO1xuICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBvdXRsaW5lOiBub25lO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cbi5zZXR0aW5ncy1pbnB1dDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5zZXR0aW5ncy1zZWxlY3Qge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBwYWRkaW5nLXJpZ2h0OiAyOHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEyIDEyJz48cGF0aCBkPSdNMiA0bDQgNCA0LTQnIHN0cm9rZT0nJTIzODg4JyBzdHJva2Utd2lkdGg9JzEuNScgZmlsbD0nbm9uZScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJy8+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMHB4IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMnB4O1xufVxuXG4uc2V0dGluZ3Mtc3RhdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLnNldHRpbmdzLXN0YXRpb24tcm93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uc2V0dGluZ3MtY2xlYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiA4cHg7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAycHggNnB4O1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbn1cbi5zZXR0aW5ncy1jbGVhcjpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4uc2V0dGluZ3Mtc3VnZ2VzdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyA0cHgpO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xuICB6LWluZGV4OiA1MDtcbiAgbWF4LWhlaWdodDogMjgwcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5zZXR0aW5ncy1zdWdnZXN0LWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA4cHggMTBweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udDogaW5oZXJpdDtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNtKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbn1cbi5zZXR0aW5ncy1zdWdnZXN0LWl0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG4uc2V0dGluZ3Mtc3VnZ2VzdC1jcnMge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vLCBtb25vc3BhY2UpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQteHMpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gIG1hcmdpbi1sZWZ0OiAxMnB4O1xufVxuXG4uc2V0dGluZ3MtYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbn1cblxuLnNldHRpbmdzLXNhdmUge1xuICBmb250OiBpbmhlcml0O1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc20pO1xuICBmb250LXdlaWdodDogNjAwO1xuICBwYWRkaW5nOiAxMHB4IDE4cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmcpO1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuLnNldHRpbmdzLXNhdmU6aG92ZXIgeyBvcGFjaXR5OiAwLjg1OyB9XG4uc2V0dGluZ3Mtc2F2ZTpkaXNhYmxlZCB7IG9wYWNpdHk6IDAuNTsgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5zZXR0aW5ncy1zYXZlZC1ub3RlIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNtKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uc2V0dGluZ3MtbGluay10ZyB7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zbSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyOUVEOTtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG4uc2V0dGluZ3MtbGluay10Zzpob3ZlciB7IG9wYWNpdHk6IDAuOTsgfVxuLnNldHRpbmdzLWxpbmstdGc6ZGlzYWJsZWQgeyBvcGFjaXR5OiAwLjY7IGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uc2V0dGluZ3MtbGluay1mb2xsb3d1cCB7XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLnNldHRpbmdzLWVycm9yIHtcbiAgY29sb3I6ICNjMDM5MmI7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zbSk7XG59XG5cbi8qIFx1MjUwMFx1MjUwMCBCdXkgdGlja2V0IGJ1dHRvbiAoaW5zaWRlIGFzc2lzdGFudCBtZXNzYWdlIGJ1YmJsZSkgXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwXHUyNTAwICovXG5cbi5tc2ctYnV5LXRpY2tldCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIG1hcmdpbi10b3A6IDEycHg7XG4gIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlNjNkMztcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zbSk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDMwLCA5OSwgMjExLCAwLjI1KTtcbn1cbi5tc2ctYnV5LXRpY2tldDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxODUwYjU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cbi5tc2ctYnV5LXRpY2tldDphY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi8qIFx1MjUwMFx1MjUwMFx1MjUwMCBEYXJrLXRoZW1lIHJlZmluZW1lbnRzIFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFxuICAgVGFyZ2V0ZWQgb3ZlcnJpZGVzIGZvciBzZWxlY3RvcnMgdGhhdCBwcmV2aW91c2x5IGhhcmRjb2RlZCBibHVlIChsaWdodC1cbiAgIHRoZW1lIGFjY2VudCkgb3IgYW1iZXIgKHRoZSBcImRlcGFydHVyZSBib2FyZFwiIG92ZXJsYXkpLiBUaGUgZGFyayB0aGVtZSBpc1xuICAgbm93IFdISVRFLW9uLW5lYXItYmxhY2sgZm9yIGNocm9tZTsgYW1iZXIgaXMgcmVzZXJ2ZWQgZm9yIHRoZSBsaXZlIEVUQVxuICAgYmVzaWRlIHRoZSBuZXh0IGRlcGFydHVyZSBhbmQgdGhlIGJyYW5kIHNxdWFyZS4gRXZlcnl3aGVyZSBlbHNlIHVzZXMgdGhlXG4gICBuZXV0cmFsIHRva2Vucy5cbiAgIFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMFx1MjUwMCAqL1xuXG4vKiBDb21wb3NlciArIGxwLXNlYXJjaCByZWFkIGNsZWFybHkgYXMgaW5wdXRzOiBsaWZ0ZWQgc3VyZmFjZSwgdmlzaWJsZVxuICAgYm9yZGVyLCB3aGl0ZSBmb2N1cyByaW5nLiAqL1xuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5jb21wb3NlcixcbltkYXRhLXRoZW1lPVwiZGFya1wiXSAubHAtc2VhcmNoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaW5wdXQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcik7XG59XG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLmNvbXBvc2VyOmZvY3VzLXdpdGhpbixcbltkYXRhLXRoZW1lPVwiZGFya1wiXSAubHAtc2VhcmNoOmZvY3VzLXdpdGhpbiB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWZvY3VzKTtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMCk7XG59XG5cbi8qIGNvbXBvc2VyLWhlcm8gaW5oZXJpdHMgdGhlIHNhbWUgXHUyMDE0IHNvbGlkIHJhaXNlZCBzdXJmYWNlLCBubyBmcm9zdGVkIGJsdXJcbiAgIGluIGRhcmsgKHRoZSB0cmFuc2x1Y2VuY3kgd2FzIHVuZGVyY3V0dGluZyB0aGUgXCJ0aGlzIGlzIGFuIGlucHV0XCIgY3VlKS4gKi9cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAuY29tcG9zZXItaGVybyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWlucHV0KTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuXG4vKiBUZWxlZ3JhbSBDVEEgXHUyMDE0IGRhcmsgcGFuZWwsIG5vIGFjY2VudCB0aW50ICovXG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLmxwLXRlbGVncmFtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctcmFpc2VkKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbn1cblxuLyogQnV5LXRpY2tldCBDVEEgXHUyMDE0IHNvbGlkIHdoaXRlIHByaW1hcnkgb24gZGFyaywgcmVhZHMgYXMgdGhlIGFjdGlvbiAqL1xuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5tc2ctYnV5LXRpY2tldCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1iZyk7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbn1cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAubXNnLWJ1eS10aWNrZXQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBTZXR0aW5ncyBzYXZlIGJ1dHRvbiBcdTIwMTQgc2FtZSBuZXV0cmFsIHByaW1hcnkgKi9cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAuc2V0dGluZ3Mtc2F2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1iZyk7XG59XG5cbi8qIENoYXQgbG9naW4gcGlsbCBcdTIwMTQgbmV1dHJhbCBjaGlwLCBubyBhY2NlbnQgZmlsbCAqL1xuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5jaGF0LWxvZ2luIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xufVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5jaGF0LWxvZ2luOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KTtcbn1cblxuLyogTG9naW4gd2VsY29tZSBjYXJkIFx1MjAxNCBuZXV0cmFsIGJvcmRlciArIHN1YnRsZSBob3ZlciBsaWZ0ICovXG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLmNoYXQtd2VsY29tZS1sb2dpbiB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctcmFpc2VkKTtcbn1cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAuY2hhdC13ZWxjb21lLWxvZ2luOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItZm9jdXMpO1xufVxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5jaGF0LXdlbGNvbWUtbG9naW4gLmNoYXQtd2VsY29tZS1pY29uIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEwKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4vKiBCcmFuZCBtYXJrIFx1MjAxNCBhbWJlciBzcXVhcmUgKHRoZSBvbmUgcGxhY2Ugd2Uga2VlcCB0aGUgY29sb3VyIGZvclxuICAgaW5zdGFudCBicmFuZCByZWNvZ25pdGlvbiwgXHUwMEUwIGxhIHRoZSBkZXNpZ24ncyBmbGFwIHRhZ2xpbmUpICovXG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLmNoYXQtbWFyayB7XG4gIGJhY2tncm91bmQ6ICNGRkIwMDA7XG4gIGNvbG9yOiAjMEUwQzA5O1xufVxuXG4vKiBOdW1lcmFscyBcdTIwMTQga2VlcCB0aGVtIGFsaWduZWQgYW5kIGNyaXNwIHdoZXJldmVyIHRoZXkgYXBwZWFyICovXG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLmxwLXN0YXR1cy1kZXRhaWwsXG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLm1zZy1idWJibGUsXG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLmxwLWNhcmQtcGFnZXItaW5mbyB7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi8qIFRoZSBzdGF0dXMtZGV0YWlsIChlLmcuIFwiT24gdGltZVwiLCBcIiszIG1pblwiKSBvbiB0aGUgZGlzcnVwdGlvbnMgY2FyZFxuICAgcmVhZHMgYXMgYSBjb2RlLCBzbyBrZWVwIGl0IG1vbm8gXHUyMDE0IHRoYXQncyB0aGUgb25lIHBsYWNlIG1vbm8gZWFybnNcbiAgIGl0cyBrZWVwIGluIHRoZSBjaHJvbWUuICovXG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLmxwLXN0YXR1cy1kZXRhaWwge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXhzKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7QUFFQTtBQUVFLGNBQVk7QUFDWixjQUFZO0FBQ1osY0FBWTtBQUNaLGNBQVk7QUFDWixjQUFZO0FBQ1osZUFBYTtBQUdiLGVBQWE7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 */
