@charset "UTF-8";
/*
 * LiquorTX design tokens — keep in sync with app-react/src/utils/constants.ts
 */
:root {
  /* Colors */
  --lt-cobalt: #4291d4;
  --lt-cobalt-dark: #2e6fa8;
  --lt-cobalt-dark-hover: #255a8a;
  /* Brand cobalt is 3.4:1 against white, under WCAG AA for text. Use these
     for blue text on light surfaces and for filled controls with white text;
     keep --lt-cobalt for large brand surfaces (nav, pins, auth background). */
  --lt-link: var(--lt-cobalt-dark);
  --lt-link-hover: var(--lt-cobalt-dark-hover);
  --lt-fill: var(--lt-cobalt-dark);
  --lt-fill-hover: var(--lt-cobalt-dark-hover);
  --lt-off-white: #f5f5f5;
  --lt-white: #ffffff;
  --lt-black: #000000;
  --lt-dark-gray: #313131;
  --lt-light-gray: #e0e0e0;
  --lt-list-divider: #b0b0b4;
  --lt-red: #ff3b30;
  --lt-red-text: #d70015;
  --lt-green: #34c759;
  --lt-text-secondary: #666666;
  --lt-text-tertiary: #8e8e93;
  --lt-placeholder: #999999;
  --lt-grouped-bg: #f2f2f7;
  --lt-grouped-label: #6d6d72;
  --lt-input-border: #c6c6c8;
  --lt-chevron: #c7c7cc;
  --lt-search-chrome-bg: #fffaf5;
  --lt-search-chrome-bg-underlay: rgba(255, 250, 245, 0.85);
  /* Aliases */
  --lt-text: var(--lt-black);
  --lt-border: var(--lt-list-divider);
  /* Radius */
  --lt-radius-control: 8px;
  --lt-radius-card: 12px;
  --lt-radius-sheet: 14px;
  --lt-radius-pill: 999px;
  /* Type scale */
  --lt-type-title: 28px;
  --lt-type-heading: 22px;
  --lt-type-subheading: 19px;
  --lt-type-body: 17px;
  --lt-type-callout: 15px;
  --lt-type-caption: 13px;
  /* Font weights */
  --lt-weight-regular: 400;
  --lt-weight-medium: 500;
  --lt-weight-semibold: 600;
  --lt-weight-bold: 700;
  /* Shadows */
  --lt-shadow-card: 0 4px 24px rgba(0, 0, 0, 0.08);
  --lt-shadow-dropdown: 0 2px 6px rgba(0, 0, 0, 0.15);
  /* Interaction */
  --lt-focus-ring: 0 0 0 3px rgba(66, 145, 212, 0.25);
  --lt-focus-ring-strong: 0 0 0 3px rgba(66, 145, 212, 0.45);
  --lt-disabled-opacity: 0.6;
  --lt-press-scale: 0.99;
  --lt-overlay-on-cobalt: rgba(255, 255, 255, 0.12);
  --lt-overlay-on-cobalt-strong: rgba(255, 255, 255, 0.18);
  --lt-link-on-cobalt: rgba(255, 255, 255, 0.9);
  /* Layout (web) */
  --lt-topbar-height: 56px;
  --lt-sidebar-rail-width: 92px;
  --lt-auth-max-width: 440px;
  /* Typography */
  --lt-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --lt-letter-spacing-tight: -0.02em;
  --lt-letter-spacing-wide: 0.3px;
}

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

body.app-body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--lt-font-family);
  -webkit-font-smoothing: antialiased;
  color: var(--lt-text);
  background-color: var(--lt-off-white);
}

.app-topbar {
  position: sticky;
  top: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--lt-topbar-height);
  padding: 0 20px;
  background-color: var(--lt-cobalt);
}

.app-topbar-brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.app-topbar-logo {
  height: 40px;
  width: auto;
}

.app-topbar-bare {
  justify-content: center;
}

.app-body-bare {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.app-main-bare {
  flex: 1;
  min-width: 0;
  padding: 24px;
}

.app-shell {
  display: flex;
  min-height: 100vh;
}

.app-sidebar {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  width: var(--lt-sidebar-rail-width);
  height: 100vh;
  background-color: var(--lt-cobalt);
  /* Above page content so the user menu pop-out is never painted beneath it. */
  z-index: 100;
}

/* Clip the shrinking rows themselves, not the sidebar, so the user menu can pop out beside it. */
.app-sidebar-top,
.app-sidebar-nav {
  overflow: hidden;
}

.app-sidebar-link-label {
  white-space: nowrap;
}

.app-sidebar-top {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 8px 8px 4px;
}

.app-sidebar-brand {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: 6px 4px;
}

.app-sidebar-mark {
  display: block;
  width: 64px;
  height: 64px;
}

/* Labels sit under their icon and fold away (height and opacity) when the rail collapses. */
.app-sidebar-link-label {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.app-sidebar-nav {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  gap: 2px;
  padding: 4px 8px 8px;
}

.app-sidebar-link-bottom {
  margin-top: auto;
}

.app-nav-icon {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  opacity: 0.85;
}

.app-sidebar-link:hover .app-nav-icon,
.app-sidebar-link-active .app-nav-icon {
  opacity: 1;
}

.app-sidebar-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 10px 4px;
  border-radius: var(--lt-radius-control);
  font-size: 12px;
  font-weight: var(--lt-weight-medium);
  line-height: 16px;
  color: var(--lt-link-on-cobalt);
  text-align: center;
  text-decoration: none;
}

.app-sidebar-link:hover {
  background-color: var(--lt-overlay-on-cobalt);
  color: var(--lt-white);
}

.app-sidebar-link-active {
  background-color: var(--lt-overlay-on-cobalt-strong);
  color: var(--lt-white);
}

.app-main {
  flex: 1;
  min-width: 0;
  padding: 24px;
}

.app-flash {
  margin-bottom: 16px;
  padding: 12px 14px;
  border-radius: var(--lt-radius-control);
  font-size: var(--lt-type-callout);
}

.app-flash-notice {
  background-color: rgba(66, 145, 212, 0.12);
  color: var(--lt-cobalt-dark);
}

.app-flash-alert {
  background-color: rgba(255, 59, 48, 0.12);
  color: var(--lt-red-text);
}

.app-flash-standing {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  align-items: baseline;
}

.app-flash-action {
  color: inherit;
  font-weight: var(--lt-weight-semibold);
  text-decoration: underline;
}

/* Once-only profession details prompt (web parity with mobile Alert). */
.app-modal {
  border: none;
  border-radius: var(--lt-radius-sheet, 12px);
  padding: 0;
  max-width: 360px;
  width: calc(100% - 32px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
}

.app-modal::backdrop {
  background: rgba(0, 0, 0, 0.4);
}

/* Fallback when showModal() is unavailable: still obscure/block the shell. */
html.app-modal-fallback-open .app-shell {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

html.app-modal-fallback-open .app-modal {
  pointer-events: auto;
  position: fixed;
  inset: 0;
  margin: auto;
  z-index: 1000;
}

html.app-modal-fallback-open::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 999;
}

.app-modal-panel {
  padding: 20px 16px 12px;
}

.app-modal-title {
  margin: 0;
  font-size: var(--lt-type-body, 1rem);
  font-weight: var(--lt-weight-semibold);
  text-align: center;
  color: var(--lt-black, #111);
}

.app-modal-body {
  margin: 8px 0 0;
  font-size: var(--lt-type-caption, 0.875rem);
  text-align: center;
  color: var(--lt-text-secondary, #666);
}

.app-modal-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 16px;
}

.app-modal-action-form {
  display: inline;
  margin: 0;
}

.app-flash-success {
  background-color: rgba(52, 199, 89, 0.12);
  color: #248a3d;
}

.app-user-menu {
  position: relative;
  padding: 8px 8px 10px;
  white-space: nowrap;
  border-top: 1px solid rgba(255, 255, 255, 0.25);
}

.app-user-menu-trigger {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  list-style: none;
  cursor: pointer;
  padding: 8px 4px;
  border-radius: var(--lt-radius-control);
  font-size: 12px;
  font-weight: var(--lt-weight-medium);
  line-height: 16px;
  color: var(--lt-white);
  text-align: center;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.app-user-menu-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: var(--lt-overlay-on-cobalt-strong);
  font-size: var(--lt-type-caption);
  font-weight: var(--lt-weight-bold);
}

.app-user-menu-trigger::-webkit-details-marker {
  display: none;
}

.app-user-menu-trigger:hover {
  background-color: var(--lt-overlay-on-cobalt);
}

/* The name is in the tooltip and on the Profile page; keep it for screen readers only. */
.app-user-menu-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.app-user-menu-dropdown {
  position: absolute;
  bottom: 8px;
  left: calc(100% + 4px);
  min-width: 180px;
  padding: 6px;
  background-color: var(--lt-white);
  border: 1px solid var(--lt-border);
  border-radius: var(--lt-radius-control);
  box-shadow: var(--lt-shadow-dropdown);
}

.app-user-menu-item {
  display: block;
  width: 100%;
  padding: 10px 12px;
  border: none;
  border-radius: 6px;
  background: none;
  color: var(--lt-text);
  font-size: var(--lt-type-callout);
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.app-user-menu-item:hover {
  background-color: var(--lt-off-white);
}

.app-user-menu-item-button {
  font-family: inherit;
}

.app-page {
  max-width: 640px;
}

.app-page-wide {
  max-width: 720px;
}

.app-page-billing {
  max-width: 960px;
}

.app-lead {
  margin: 0 0 24px;
  font-size: var(--lt-type-callout);
  line-height: 1.5;
  color: var(--lt-text-secondary);
}

.billing-plans {
  display: grid;
  gap: 16px;
}

@media (min-width: 600px) {
  .billing-plans {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.billing-plan-card {
  padding: 24px;
  border: 1px solid var(--lt-border);
  border-radius: var(--lt-radius-control);
  background-color: var(--lt-white);
}

.billing-plan-name {
  margin: 0 0 8px;
  font-size: var(--lt-type-heading);
  font-weight: var(--lt-weight-bold);
}

.billing-plan-price {
  margin: 0 0 20px;
  font-size: var(--lt-type-callout);
  color: var(--lt-text-secondary);
}

.billing-plan-button {
  width: 100%;
}

.billing-details {
  margin: 0 0 24px;
}

/* Premium upgrade pitch — mirrors the mobile PremiumInfo modal. */
.premium-pitch {
  max-width: 560px;
  margin: 0 auto 24px;
}

.premium-pitch-headline-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding-bottom: 8px;
  margin-bottom: 16px;
  border-bottom: 1px solid rgba(66, 145, 212, 0.35);
  text-align: center;
}

.premium-pitch-star {
  font-size: 22px;
  line-height: 1;
}

.premium-pitch-headline {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  font-weight: var(--lt-weight-bold);
  line-height: 36px;
  color: var(--lt-link);
}

.premium-pitch-subhead {
  margin: 0 0 20px;
  font-size: var(--lt-type-body);
  line-height: 24px;
  color: var(--lt-text-secondary);
}

.premium-pitch-features {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.premium-pitch-feature {
  display: flex;
  align-items: flex-start;
  font-size: var(--lt-type-body);
  line-height: 24px;
  color: var(--lt-black);
}

.premium-pitch-check {
  flex-shrink: 0;
  margin-right: 10px;
  font-weight: var(--lt-weight-bold);
  color: var(--lt-link);
}

.premium-pitch-also-included {
  margin: 16px 0 12px;
  font-size: var(--lt-type-callout);
  font-weight: var(--lt-weight-semibold);
  color: var(--lt-text-secondary);
}

.premium-pitch-plans {
  max-width: 560px;
  margin: 0 auto;
  padding-top: 16px;
  border-top: 1px solid var(--lt-list-divider);
}

.premium-pitch-savings {
  margin: 12px 0 0;
  font-size: var(--lt-type-callout);
  font-weight: var(--lt-weight-medium);
  color: var(--lt-link);
  text-align: center;
}

.premium-pitch-legal-note {
  margin: 12px 0 8px;
  font-size: var(--lt-type-caption);
  color: var(--lt-text-secondary);
  text-align: center;
}

.premium-pitch-legal-links {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 0;
  font-size: var(--lt-type-caption);
  color: var(--lt-text-secondary);
}
.premium-pitch-legal-links a {
  color: var(--lt-link);
}

.billing-payment-history {
  margin-top: 24px;
}

.billing-payment-history .app-panel-title {
  margin-bottom: 20px;
}

.billing-payment-history-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--lt-type-callout);
}

.billing-payment-history-table th,
.billing-payment-history-table td {
  padding: 16px 0;
  border-bottom: 1px solid var(--lt-border);
  text-align: left;
  vertical-align: middle;
}

.billing-payment-history-table tbody tr:last-child td {
  border-bottom: none;
}

.billing-payment-history-table th {
  padding-top: 0;
  padding-bottom: 12px;
  font-size: var(--lt-type-caption);
  font-weight: var(--lt-weight-semibold);
  color: var(--lt-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.billing-payment-history-table th:nth-child(1),
.billing-payment-history-table td:nth-child(1) {
  padding-right: 32px;
  white-space: nowrap;
}

.billing-payment-history-table th:nth-child(2),
.billing-payment-history-table td:nth-child(2) {
  padding-right: 40px;
  width: 100%;
}

.billing-payment-history-table th:nth-child(3),
.billing-payment-history-table td:nth-child(3) {
  padding-right: 32px;
  white-space: nowrap;
  text-align: right;
}

.billing-payment-history-table th:nth-child(4),
.billing-payment-history-table td:nth-child(4) {
  padding-right: 32px;
  white-space: nowrap;
}

.billing-payment-history-table th:nth-child(5),
.billing-payment-history-table td:nth-child(5) {
  text-align: right;
  white-space: nowrap;
}

@media (max-width: 599px) {
  .billing-payment-history-table .billing-team-table-actions-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}

.billing-detail {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 8px 16px;
  padding: 10px 0;
  border-bottom: 1px solid var(--lt-border);
  font-size: var(--lt-type-callout);
}

.billing-detail dt {
  margin: 0;
  font-weight: var(--lt-weight-semibold);
  color: var(--lt-text-secondary);
}

.billing-detail dd {
  margin: 0;
}

.billing-team-table-seat {
  white-space: nowrap;
}

.billing-team-table-seat form {
  display: inline-block;
  margin-left: 8px;
}

.billing-detail-note {
  display: block;
  margin-top: 2px;
  font-size: var(--lt-type-caption);
  color: var(--lt-text-secondary);
}

.app-section-title {
  margin: 28px 0 12px;
  font-size: var(--lt-type-title3);
  font-weight: var(--lt-weight-semibold);
}

.app-panel {
  margin-bottom: 24px;
  padding: 24px;
  border: 1px solid var(--lt-border);
  border-radius: var(--lt-radius-control);
  background-color: var(--lt-white);
}

.app-panel-title {
  margin: 0 0 16px;
  font-size: var(--lt-type-title3);
  font-weight: var(--lt-weight-semibold);
}

.app-panel-empty {
  margin: 0;
  font-size: var(--lt-type-callout);
  color: var(--lt-text-secondary);
}

.team-form-grid {
  display: grid;
  gap: 0 16px;
}

@media (min-width: 600px) {
  .team-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.team-form-note {
  margin: 0 0 20px;
  font-size: var(--lt-type-caption);
  line-height: 1.5;
  color: var(--lt-text-secondary);
}

.team-form-actions {
  margin-top: 8px;
}

.billing-team-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--lt-type-callout);
}

.billing-team-table th,
.billing-team-table td {
  padding: 12px 0;
  border-bottom: 1px solid var(--lt-border);
  text-align: left;
  vertical-align: middle;
}

.billing-team-table tbody tr:last-child td {
  border-bottom: none;
}

.billing-team-table th {
  padding-top: 0;
  font-size: var(--lt-type-caption);
  font-weight: var(--lt-weight-semibold);
  color: var(--lt-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

@media (max-width: 599px) {
  .billing-team-table-actions-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}

.billing-team-table-actions {
  text-align: right;
  white-space: nowrap;
}

.app-button-compact {
  padding: 6px 12px;
  font-size: var(--lt-type-caption);
}

.billing-setup-list {
  margin: 0;
  padding-left: 20px;
  font-size: var(--lt-type-callout);
  color: var(--lt-text-secondary);
}

.billing-setup-list li + li {
  margin-top: 6px;
}

.billing-setup-list code {
  font-size: 0.9em;
}

.billing-checkout {
  padding: 24px;
  border: 1px solid var(--lt-border);
  border-radius: var(--lt-radius-control);
  background-color: var(--lt-white);
}

.billing-checkout-form {
  margin: 0;
}

.app-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.billing-payment-slot {
  position: relative;
  min-height: 290px;
  margin-bottom: 16px;
  transition: min-height 200ms ease-out;
}

.billing-payment-slot[data-payment-state=ready] {
  min-height: 0;
}

.billing-payment-element {
  opacity: 0;
  transition: opacity 150ms ease-out;
}

.billing-payment-slot[data-payment-state=ready] .billing-payment-element {
  opacity: 1;
}

.billing-payment-skeleton {
  position: absolute;
  inset: 0;
  transition: opacity 150ms ease-out;
}

.billing-payment-slot[data-payment-state=ready] .billing-payment-skeleton,
.billing-payment-slot[data-payment-state=failed] .billing-payment-skeleton {
  opacity: 0;
  visibility: hidden;
}

.billing-skeleton {
  display: block;
  border-radius: var(--lt-radius-control);
  background-color: var(--lt-light-gray);
  background-image: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.65), transparent);
  background-repeat: no-repeat;
  background-size: 200px 100%;
  animation: billing-skeleton-shimmer 1.4s ease-in-out infinite;
}

.billing-skeleton-label {
  width: 96px;
  height: 12px;
  margin-bottom: 8px;
}

.billing-skeleton-input {
  height: 44px;
  margin-bottom: 20px;
}

.billing-skeleton-row {
  display: flex;
  gap: 12px;
}

.billing-skeleton-col {
  flex: 1;
  min-width: 0;
}

@keyframes billing-skeleton-shimmer {
  from {
    background-position: -200px 0;
  }
  to {
    background-position: calc(100% + 200px) 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .billing-payment-slot,
  .billing-payment-element,
  .billing-payment-skeleton {
    transition: none;
  }
  .billing-skeleton {
    animation: none;
  }
}
.billing-payment-errors {
  min-height: 1.25rem;
  margin: 0 0 16px;
  color: var(--lt-red-text);
  font-size: var(--lt-type-callout);
}

.app-page-title {
  margin: 0 0 24px;
  font-size: var(--lt-type-heading);
  font-weight: var(--lt-weight-bold);
  letter-spacing: var(--lt-letter-spacing-tight);
}

.app-page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}

.app-page-header .app-page-title {
  margin-bottom: 0;
}

.app-page-header-lead {
  margin: 8px 0 0;
}

.app-form-errors {
  margin-bottom: 20px;
  padding: 12px 14px;
  border-radius: var(--lt-radius-control);
  background-color: rgba(255, 59, 48, 0.12);
  color: var(--lt-red-text);
  font-size: var(--lt-type-callout);
}

.app-form-errors p {
  margin: 0;
}

.app-form-errors p + p {
  margin-top: 4px;
}

.app-field {
  margin-bottom: 16px;
}

.app-field label {
  display: block;
  margin-bottom: 6px;
  font-size: var(--lt-type-caption);
  font-weight: var(--lt-weight-semibold);
  color: var(--lt-text-secondary);
}

.app-field input {
  width: 100%;
  padding: 12px 14px;
  font-size: 16px;
  border: 1px solid var(--lt-input-border);
  border-radius: var(--lt-radius-control);
  background-color: var(--lt-white);
  color: var(--lt-black);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.app-field input::-moz-placeholder {
  color: var(--lt-placeholder);
}

.app-field input::placeholder {
  color: var(--lt-placeholder);
}

.app-field input:hover {
  border-color: var(--lt-chevron);
}

.app-field input:focus {
  outline: none;
  border-color: var(--lt-cobalt);
  box-shadow: var(--lt-focus-ring);
}

.app-form-actions {
  display: flex;
  gap: 12px;
  margin-top: 24px;
}

.app-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: var(--lt-radius-control);
  font-size: var(--lt-type-callout);
  font-weight: var(--lt-weight-semibold);
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: background-color 0.15s ease, transform 0.1s ease;
}

.app-button:active:not(:disabled) {
  transform: scale(var(--lt-press-scale));
}

.app-button:disabled {
  opacity: var(--lt-disabled-opacity);
  cursor: not-allowed;
}

.app-button-primary {
  background-color: var(--lt-fill);
  color: var(--lt-white);
}

.app-button-primary:hover:not(:disabled) {
  background-color: var(--lt-fill-hover);
}

.app-button-secondary {
  background-color: var(--lt-white);
  color: var(--lt-text);
  border: 1px solid var(--lt-border);
}

.app-button-secondary:hover:not(:disabled) {
  background-color: var(--lt-off-white);
}

@media (max-width: 768px) {
  .app-shell {
    flex-direction: column;
  }
  .app-sidebar {
    position: static;
    flex-direction: row;
    align-items: center;
    width: 100%;
    height: auto;
    overflow-x: auto;
  }
  .app-sidebar-top {
    flex-direction: row;
    height: 48px;
    padding: 0 8px;
  }
  .app-sidebar-brand {
    width: auto;
    padding: 0 4px;
  }
  .app-sidebar-mark {
    width: 36px;
    height: 36px;
  }
  .app-sidebar-link {
    padding: 8px 6px;
  }
  .app-user-menu-trigger {
    padding: 4px;
  }
  .app-sidebar-nav {
    flex-direction: row;
    align-items: center;
    padding: 6px 4px;
  }
  .app-sidebar-link-label {
    display: none;
  }
  .app-sidebar-divider {
    width: 1px;
    height: 24px;
    margin: 0 4px;
    border-top: none;
    border-left: 1px solid rgba(255, 255, 255, 0.25);
  }
  .app-sidebar-link-bottom {
    margin-top: 0;
  }
  .app-user-menu {
    margin-left: auto;
    padding: 0 8px;
    border-top: none;
  }
  .app-user-menu-dropdown {
    top: calc(100% + 4px);
    bottom: auto;
    left: auto;
    right: 0;
  }
  .app-main {
    padding: 16px;
  }
  /* The map page must stay one viewport tall so the results list scrolls
     inside it and the map keeps its height. In the column shell the flex
     item would otherwise grow to the list's full content height and the
     absolutely positioned map would collapse to nothing. */
  .app-shell:has(.app-main-flush) {
    height: 100vh;
    height: 100dvh;
  }
  .app-main-flush {
    flex: 1 1 0;
    height: auto;
    min-height: 0;
  }
}
.stripe-secured {
  display: flex;
  justify-content: center;
  margin: 0 0 16px;
}

.stripe-secured-badge {
  display: block;
  width: 120px;
  height: auto;
}

/* Map search page (React, see app/javascript/map). */
.app-main-flush {
  display: flex;
  flex-direction: column;
  height: 100vh;
  padding: 0;
  overflow: hidden;
}

.app-main-flush .app-flash {
  margin: 12px 16px 0;
}

.lt-search-mount,
.lt-search {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

/* Header: search + filters */
.lt-search-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  padding: 12px 16px;
  background-color: var(--lt-search-chrome-bg);
  border-bottom: 1px solid var(--lt-light-gray);
  z-index: 20;
}

.lt-search-bar {
  position: relative;
  flex: 1 1 320px;
  max-width: 480px;
}

/* Nearby view ("Show Nearby Businesses"): back button + title in place of the search bar. */
.lt-nearby-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1 1 320px;
  max-width: 480px;
  min-width: 0;
}

.lt-nearby-back {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 6px;
  padding: 8px 10px 8px 4px;
  font-family: inherit;
  font-size: var(--lt-type-callout);
  font-weight: var(--lt-weight-semibold);
  color: var(--lt-link);
  background: none;
  border: none;
  border-radius: var(--lt-radius-control);
  cursor: pointer;
}

.lt-nearby-back:hover {
  color: var(--lt-link-hover);
  background-color: var(--lt-grouped-bg);
}

.lt-nearby-back:focus-visible {
  outline: none;
  box-shadow: var(--lt-focus-ring);
}

.lt-nearby-title {
  margin: 0;
  min-width: 0;
  overflow: hidden;
  font-size: var(--lt-type-body);
  font-weight: var(--lt-weight-semibold);
  color: var(--lt-black);
  white-space: nowrap;
  text-overflow: ellipsis;
}

.lt-search-icon {
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translateY(-50%);
  color: var(--lt-black);
  pointer-events: none;
}

.lt-search-input {
  width: 100%;
  padding: 9px 12px 9px 34px;
  font-size: var(--lt-type-callout);
  font-family: inherit;
  border: 1px solid var(--lt-input-border);
  border-radius: var(--lt-radius-control);
  background-color: var(--lt-white);
  color: var(--lt-black);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lt-search-input::-moz-placeholder {
  color: var(--lt-placeholder);
}

.lt-search-input::placeholder {
  color: var(--lt-placeholder);
}

.lt-search-input:focus {
  outline: none;
  border-color: var(--lt-cobalt);
  box-shadow: var(--lt-focus-ring);
}

.lt-typeahead {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  max-height: 60vh;
  overflow-y: auto;
  background-color: var(--lt-white);
  border: 1px solid var(--lt-light-gray);
  border-radius: var(--lt-radius-control);
  box-shadow: var(--lt-shadow-dropdown);
  z-index: 30;
}

.lt-typeahead-show,
.lt-typeahead-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  padding: 10px 12px;
  text-align: left;
  font-family: inherit;
  background: none;
  border: none;
  border-bottom: 1px solid var(--lt-light-gray);
  cursor: pointer;
}

.lt-typeahead-show {
  font-size: var(--lt-type-callout);
  font-weight: var(--lt-weight-semibold);
  color: var(--lt-link);
}

.lt-typeahead-item:last-child {
  border-bottom: none;
}

.lt-typeahead-show:hover,
.lt-typeahead-item:hover {
  background-color: var(--lt-grouped-bg);
}

.lt-typeahead-name {
  font-size: var(--lt-type-callout);
  font-weight: var(--lt-weight-semibold);
  color: var(--lt-black);
}

.lt-typeahead-meta,
.lt-typeahead-empty {
  font-size: var(--lt-type-caption);
  color: var(--lt-text-secondary);
}

.lt-typeahead-empty {
  padding: 10px 12px;
}

/* Filter chips */
.lt-filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.lt-chip {
  display: inline-flex;
  align-items: center;
  padding: 7px 14px;
  font-family: inherit;
  font-size: var(--lt-type-callout);
  font-weight: var(--lt-weight-semibold);
  color: var(--lt-link);
  background-color: var(--lt-white);
  border: 1px solid var(--lt-cobalt);
  border-radius: var(--lt-radius-control);
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.lt-chip:hover {
  background-color: #eaf2fa;
}

.lt-chip-active {
  color: var(--lt-white);
  background-color: var(--lt-fill);
}

.lt-chip-active:hover {
  background-color: var(--lt-fill-hover);
}

.lt-chip-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  margin-left: 6px;
  padding: 0 5px;
  font-size: 11px;
  font-weight: var(--lt-weight-bold);
  color: var(--lt-white);
  background-color: var(--lt-fill);
  border-radius: 4px;
}

/* Body: list + map */
.lt-search-body {
  display: flex;
  flex: 1;
  min-height: 0;
}

.lt-results {
  flex: 0 0 380px;
  overflow-y: auto;
  background-color: var(--lt-white);
  border-right: 1px solid var(--lt-light-gray);
}

.lt-results-empty {
  margin: 0;
  padding: 24px 16px;
  font-size: var(--lt-type-callout);
  color: var(--lt-text-secondary);
}

.lt-card {
  position: relative;
  padding: 12px 32px 8px 12px;
  border-bottom: 1px solid var(--lt-light-gray);
  border-left: 3px solid transparent;
  cursor: pointer;
  transition: background-color 0.15s ease;
}

.lt-card:hover {
  background-color: var(--lt-grouped-bg);
}

.lt-card:focus-visible {
  outline: none;
  box-shadow: inset var(--lt-focus-ring-strong);
}

.lt-card-selected {
  border-left-color: var(--lt-red);
  background-color: rgba(66, 145, 212, 0.08);
}

.lt-card-header {
  display: flex;
  align-items: flex-start;
}

.lt-card-pin {
  flex-shrink: 0;
  margin-right: 8px;
}

.lt-pin {
  display: inline-block;
  line-height: 0;
}

.lt-card-info {
  flex: 1;
  min-width: 0;
  margin-right: 8px;
}

.lt-card-name {
  font-size: 14px;
  font-weight: var(--lt-weight-semibold);
  color: var(--lt-black);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lt-card-meta {
  margin-top: 2px;
  font-size: 12px;
  color: var(--lt-text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lt-card-address {
  white-space: pre-line;
}

.lt-card-favorite {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 26px;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
}

.lt-card-sales {
  margin: 8px 0 0;
}

.lt-card-sales-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 4px;
  font-size: 13px;
}

.lt-card-sales-row dt {
  flex: 1;
  color: var(--lt-text-secondary);
}

.lt-card-sales-row dd {
  margin: 0 0 0 12px;
  font-weight: var(--lt-weight-semibold);
  color: var(--lt-black);
  text-align: right;
}

.lt-card-chevron {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 32px;
}

.lt-card-chevron::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 14px;
  width: 8px;
  height: 8px;
  border-top: 2px solid var(--lt-chevron);
  border-right: 2px solid var(--lt-chevron);
  transform: translateY(-50%) rotate(45deg);
}

.lt-card-details-link:hover::after {
  border-color: var(--lt-cobalt);
}

.lt-card-list {
  display: block;
  color: inherit;
  text-decoration: none;
  background-color: var(--lt-white);
}

/* Details panel beside the list */
/* The slot animates its width; the panel inside keeps a fixed width so its
   contents do not reflow while it slides. */
.lt-details-slot {
  display: flex;
  flex: 0 0 0px;
  min-width: 0;
  overflow: hidden;
  transition: flex-basis 240ms ease;
}

.lt-details-slot-open {
  flex-basis: 420px;
}

.lt-details-panel {
  position: relative;
  flex: 0 0 420px;
  width: 420px;
  overflow-y: auto;
  padding: 16px 20px 24px;
  background-color: var(--lt-white);
  border-right: 1px solid var(--lt-light-gray);
}

.lt-details-close {
  position: absolute;
  top: 12px;
  right: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  padding: 0;
  color: var(--lt-text-secondary);
  background: none;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  z-index: 1;
}

.lt-details-close:hover {
  color: var(--lt-black);
  background-color: var(--lt-grouped-bg);
}

.lt-details-panel .lt-details-header {
  padding-right: 32px;
  margin-bottom: 12px;
}

.lt-details-panel .lt-details-title {
  font-size: var(--lt-type-subheading);
  font-weight: var(--lt-weight-semibold);
  line-height: 1.25;
}

.lt-details-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 4px;
}

.lt-details-actions .app-button {
  text-decoration: none;
}

.lt-details-panel .lt-details-row {
  font-size: 14px;
}

.lt-details-panel .lt-details-row dt {
  flex: 0 0 110px;
}

.lt-details-panel .lt-details-section-title {
  font-size: var(--lt-type-body);
}

.lt-details-panel .lt-sales-grid {
  font-size: 13px;
}

/* Map */
.lt-map-wrap {
  position: relative;
  flex: 1;
  min-width: 0;
}

.lt-map-shell,
.lt-map {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.lt-map-unavailable {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  text-align: center;
  font-size: var(--lt-type-callout);
  color: var(--lt-text-secondary);
  background-color: var(--lt-grouped-bg);
}

.lt-map-unavailable code {
  font-size: 13px;
}

.lt-map-controls {
  position: absolute;
  top: 12px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  pointer-events: none;
  z-index: 10;
}

.lt-map-search-area {
  padding: 8px 16px;
  font-family: inherit;
  font-size: var(--lt-type-callout);
  font-weight: var(--lt-weight-semibold);
  color: var(--lt-link);
  background-color: var(--lt-white);
  border: 1px solid var(--lt-cobalt);
  border-radius: var(--lt-radius-pill);
  box-shadow: var(--lt-shadow-dropdown);
  cursor: pointer;
  pointer-events: auto;
}

.lt-map-search-area:hover {
  background-color: #eaf2fa;
}

.lt-map-locate {
  position: absolute;
  right: 10px;
  bottom: 110px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  color: var(--lt-link);
  background-color: var(--lt-white);
  border: 2px solid rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  cursor: pointer;
  z-index: 10;
}

.lt-map-locate:hover {
  background-color: #f4f4f4;
}

.lt-map-locate:not(.lt-map-locate-active) {
  color: var(--lt-text-secondary);
}

.lt-map-locate-hint {
  position: absolute;
  right: 52px;
  bottom: 112px;
  max-width: 280px;
  padding: 8px 12px;
  font-size: var(--lt-type-caption);
  color: var(--lt-black);
  background-color: var(--lt-white);
  border-radius: var(--lt-radius-control);
  box-shadow: var(--lt-shadow-dropdown);
  z-index: 10;
}

.lt-map-loading {
  position: absolute;
  left: 12px;
  bottom: 12px;
  padding: 6px 10px;
  font-size: var(--lt-type-caption);
  color: var(--lt-text-secondary);
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: var(--lt-radius-control);
  z-index: 10;
}

/* Refine panel */
.lt-refine-backdrop {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0.35);
  z-index: 200;
}

.lt-refine {
  display: flex;
  flex-direction: column;
  width: min(480px, 100vw - 32px);
  max-height: calc(100vh - 64px);
  background-color: var(--lt-white);
  border-radius: var(--lt-radius-sheet);
  box-shadow: var(--lt-shadow-card);
  overflow: hidden;
}

.lt-refine-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid var(--lt-light-gray);
}

.lt-refine-title {
  margin: 0;
  font-size: var(--lt-type-body);
  font-weight: var(--lt-weight-semibold);
}

.lt-refine-link {
  padding: 4px 0;
  font-family: inherit;
  font-size: var(--lt-type-callout);
  color: var(--lt-link);
  background: none;
  border: none;
  cursor: pointer;
}

.lt-refine-body {
  flex: 1;
  overflow-y: auto;
  padding: 8px 16px 16px;
  background-color: var(--lt-grouped-bg);
}

.lt-refine-section {
  margin-top: 16px;
}

.lt-refine-label {
  margin: 0 0 6px;
  font-size: var(--lt-type-caption);
  font-weight: var(--lt-weight-semibold);
  text-transform: uppercase;
  letter-spacing: var(--lt-letter-spacing-wide);
  color: var(--lt-grouped-label);
}

.lt-refine-options {
  background-color: var(--lt-white);
  border-radius: var(--lt-radius-control);
  overflow: hidden;
}

.lt-refine-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  font-size: var(--lt-type-callout);
  border-bottom: 1px solid var(--lt-light-gray);
  cursor: pointer;
}

.lt-refine-option:last-child {
  border-bottom: none;
}

.lt-refine-option input {
  accent-color: var(--lt-cobalt);
}

.lt-refine-fields {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.lt-input {
  width: 100%;
  padding: 10px 14px;
  font-size: var(--lt-type-callout);
  font-family: inherit;
  border: 1px solid var(--lt-input-border);
  border-radius: var(--lt-radius-control);
  background-color: var(--lt-white);
  color: var(--lt-black);
}

.lt-input:focus {
  outline: none;
  border-color: var(--lt-cobalt);
  box-shadow: var(--lt-focus-ring);
}

.lt-refine-footer {
  padding: 12px 16px;
  border-top: 1px solid var(--lt-light-gray);
}

.lt-refine-footer .app-button {
  width: 100%;
}

@media (max-width: 900px) {
  .lt-search-body {
    flex-direction: column-reverse;
  }
  .lt-details-slot {
    transition: none;
  }
  .lt-details-slot-open {
    flex-basis: 50%;
  }
  .lt-details-panel {
    flex: 1 1 auto;
    width: 100%;
    border-right: none;
    border-top: 1px solid var(--lt-light-gray);
  }
  .lt-results {
    flex: 0 0 40%;
    border-right: none;
    border-top: 1px solid var(--lt-light-gray);
  }
}
/* Sidebar divider */
.app-sidebar-divider {
  margin: 8px 12px;
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.25);
}

/* List pages (favorites, recents) */
.lt-list-page .app-page-title {
  margin: 0;
}

.lt-list-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.lt-sort-control {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: var(--lt-type-callout);
  color: var(--lt-text-secondary);
}

.lt-select {
  padding: 7px 10px;
  font-family: inherit;
  font-size: var(--lt-type-callout);
  color: var(--lt-black);
  background-color: var(--lt-white);
  border: 1px solid var(--lt-input-border);
  border-radius: var(--lt-radius-control);
}

.lt-select:focus {
  outline: none;
  border-color: var(--lt-cobalt);
  box-shadow: var(--lt-focus-ring);
}

.lt-list-hint {
  margin: -8px 0 12px;
  font-size: var(--lt-type-caption);
  color: var(--lt-text-tertiary);
}

.lt-list {
  background-color: var(--lt-white);
  border: 1px solid var(--lt-light-gray);
  border-radius: var(--lt-radius-card);
  overflow: hidden;
}

.lt-list-empty {
  margin: 0;
  padding: 32px 16px;
  text-align: center;
  font-size: var(--lt-type-callout);
  color: var(--lt-text-tertiary);
}

.lt-list-row {
  display: flex;
  align-items: stretch;
  border-bottom: 1px solid var(--lt-light-gray);
}

.lt-list-row:last-child {
  border-bottom: none;
}

.lt-list-row .lt-card {
  border-bottom: none;
  border-left: none;
}

.lt-list-row-card {
  flex: 1;
  min-width: 0;
}

.lt-list-row-draggable {
  cursor: grab;
}

.lt-list-row-dragging {
  opacity: 0.4;
}

.lt-list-row-over {
  box-shadow: inset 0 3px 0 var(--lt-cobalt);
}

.lt-drag-handle {
  flex: 0 0 28px;
  position: relative;
  background-color: var(--lt-grouped-bg);
  border-right: 1px solid var(--lt-light-gray);
}

.lt-drag-handle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 10px;
  transform: translate(-50%, -50%);
  background-image: repeating-linear-gradient(to bottom, var(--lt-chevron) 0 2px, transparent 2px 4px);
}

/* Business details */
.lt-details-loading {
  padding: 32px 0;
  color: var(--lt-text-secondary);
}

/* Premium gate inside the details panel, styled like the upgrade page. */
.lt-details-gate {
  padding: 28px 0 8px;
  text-align: center;
}

.lt-details-gate-eyebrow {
  margin: 0 0 8px;
  font-size: var(--lt-type-caption);
  font-weight: var(--lt-weight-semibold);
  letter-spacing: var(--lt-letter-spacing-wide);
  text-transform: uppercase;
  color: var(--lt-link);
}

.lt-details-gate-headline {
  margin: 0 0 8px;
  font-size: 26px;
  font-weight: var(--lt-weight-bold);
  line-height: 1.15;
  letter-spacing: var(--lt-letter-spacing-tight);
}

.lt-details-gate-subhead {
  margin: 0 0 20px;
  font-size: var(--lt-type-callout);
  line-height: 1.4;
  color: var(--lt-text-secondary);
}

.lt-details-gate-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 20px;
  padding: 16px 12px;
  color: var(--lt-white);
  background-color: var(--lt-fill);
  border-radius: var(--lt-radius-card);
}

.lt-details-gate-stat-number {
  display: block;
  font-size: 24px;
  font-weight: var(--lt-weight-bold);
  letter-spacing: var(--lt-letter-spacing-tight);
  line-height: 1.1;
}

.lt-details-gate-stat-label {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  color: var(--lt-link-on-cobalt);
}

.lt-details-gate-features {
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
  text-align: left;
}

.lt-details-gate-features li {
  display: flex;
  gap: 10px;
  padding: 9px 12px;
  font-size: 14px;
  line-height: 1.4;
  background-color: var(--lt-white);
  border: 1px solid var(--lt-light-gray);
  border-radius: var(--lt-radius-control);
  margin-bottom: 6px;
}

.lt-details-gate-check {
  flex-shrink: 0;
  color: var(--lt-green);
  font-weight: var(--lt-weight-bold);
}

.lt-details-gate-cta {
  width: 100%;
  padding: 14px 20px;
  font-size: var(--lt-type-body);
  text-decoration: none;
}

.lt-details-gate-ask-admin {
  margin: 0;
  font-size: var(--lt-type-body);
  font-weight: 600;
  color: var(--lt-text-secondary);
  text-align: center;
}

.lt-details-gate-note {
  margin: 10px 0 0;
  font-size: var(--lt-type-caption);
  color: var(--lt-text-tertiary);
}

.lt-details-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.lt-details-title {
  margin: 0;
}

.lt-details-favorite {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
}

.lt-details-table {
  margin: 16px 0 0;
}

.lt-details-row {
  display: flex;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid var(--lt-light-gray);
  font-size: var(--lt-type-callout);
}

.lt-details-row dt {
  flex: 0 0 140px;
  font-weight: var(--lt-weight-semibold);
  color: var(--lt-text-secondary);
}

.lt-details-row dd {
  flex: 1;
  margin: 0;
  color: var(--lt-black);
}

.lt-pre-line {
  white-space: pre-line;
}

.lt-details-link {
  color: var(--lt-link);
  font-weight: var(--lt-weight-semibold);
  text-decoration: none;
}

.lt-details-link:hover {
  text-decoration: underline;
}

.lt-details-section {
  margin-top: 24px;
}

.lt-details-section-title {
  margin: 0 0 12px;
  font-size: var(--lt-type-subheading);
  font-weight: var(--lt-weight-semibold);
}

.lt-details-section-subtitle {
  font-size: var(--lt-type-caption);
  font-weight: var(--lt-weight-regular);
  color: var(--lt-text-secondary);
}

.lt-details-no-data {
  margin: 0;
  color: var(--lt-text-secondary);
}

.lt-sales-grid-scroll {
  overflow-x: auto;
}

.lt-sales-grid {
  border-collapse: collapse;
  font-size: 14px;
  white-space: nowrap;
}

.lt-sales-grid th,
.lt-sales-grid td {
  padding: 6px 8px;
  text-align: right;
  border-bottom: 1px solid var(--lt-light-gray);
}

.lt-sales-grid th[scope=row],
.lt-sales-grid thead th:first-child,
.lt-sales-grid tfoot th:first-child {
  text-align: left;
}

.lt-sales-grid th {
  font-weight: var(--lt-weight-semibold);
}

.lt-sales-grid tfoot th {
  border-bottom: none;
  border-top: 2px solid var(--lt-list-divider);
}

.lt-product-mix {
  max-width: 320px;
  margin: 0;
}

.lt-product-mix > div {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  border-bottom: 1px solid var(--lt-light-gray);
  font-size: var(--lt-type-callout);
}

.lt-product-mix dt {
  color: var(--lt-text-secondary);
}

.lt-product-mix dd {
  margin: 0;
  font-weight: var(--lt-weight-semibold);
}

/* Profile (grouped list like the mobile Profile tab) */
.lt-profile .app-page-title {
  margin-bottom: 8px;
}

.lt-group-title {
  margin: 24px 0 6px;
  padding: 0 16px;
  font-size: var(--lt-type-caption);
  font-weight: var(--lt-weight-regular);
  text-transform: uppercase;
  color: var(--lt-grouped-label);
}

.lt-group {
  margin: 12px 0 0;
  background-color: var(--lt-white);
  border: 1px solid var(--lt-light-gray);
  border-radius: var(--lt-radius-card);
  overflow: hidden;
}

.lt-group-title + .lt-group {
  margin-top: 0;
}

.lt-group-spaced {
  margin-top: 24px;
}

.lt-group-row {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 48px;
  padding: 11px 16px;
  font-size: var(--lt-type-callout);
  color: var(--lt-black);
  text-align: left;
  border-bottom: 1px solid var(--lt-light-gray);
  text-decoration: none;
}

.lt-group > .lt-group-row:last-child,
.lt-group > form > .lt-group-row:last-child {
  border-bottom: none;
}

.lt-group-row-link {
  cursor: pointer;
}

.lt-group-row-link:hover {
  background-color: var(--lt-grouped-bg);
}

.lt-group-row-button {
  font-family: inherit;
  background: none;
  border-top: none;
  border-left: none;
  border-right: none;
}

.lt-group-row-main {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}

.lt-profile-identity .lt-group-row-main {
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}

.lt-group-chevron {
  width: 8px;
  height: 8px;
  flex-shrink: 0;
  border-top: 2px solid var(--lt-chevron);
  border-right: 2px solid var(--lt-chevron);
  transform: rotate(45deg);
}

.lt-profile-identity {
  min-height: 64px;
}

.lt-profile-name {
  font-size: var(--lt-type-body);
  font-weight: var(--lt-weight-semibold);
  color: var(--lt-dark-gray);
}

.lt-profile-email {
  margin-top: 3px;
  font-size: var(--lt-type-callout);
  color: var(--lt-dark-gray);
}

.lt-star {
  color: var(--lt-cobalt);
}

.lt-group-row-switch {
  cursor: pointer;
}

.lt-switch {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  flex-shrink: 0;
  position: relative;
  width: 51px;
  height: 31px;
  margin: 0;
  border-radius: var(--lt-radius-pill);
  background-color: var(--lt-light-gray);
  transition: background-color 0.2s ease;
  cursor: pointer;
}

.lt-switch::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  background-color: var(--lt-white);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
  transition: transform 0.2s ease;
}

.lt-switch:checked {
  background-color: var(--lt-cobalt);
}

.lt-switch:checked::after {
  transform: translateX(20px);
}

.lt-switch:focus-visible {
  outline: none;
  box-shadow: var(--lt-focus-ring-strong);
}

.lt-input-plain {
  border: none;
  padding: 0;
  border-radius: 0;
}

.lt-input-plain:focus {
  box-shadow: none;
}

.lt-group-footnote,
.lt-field-hint {
  margin: 8px 16px 0;
  font-size: var(--lt-type-caption);
  color: var(--lt-text-tertiary);
}

.lt-field-hint {
  margin: 6px 0 0;
  color: var(--lt-link);
}

.lt-search-input-plain {
  padding-left: 14px;
}

.lt-profile-danger {
  margin-top: 24px;
  text-align: center;
}

.lt-danger-link {
  font-size: var(--lt-type-callout);
  color: var(--lt-red-text);
  text-decoration: none;
}

.lt-danger-link:hover {
  text-decoration: underline;
}

.app-button-danger {
  color: var(--lt-white);
  background-color: var(--lt-red-text);
}

.app-button-danger:hover:not(:disabled) {
  background-color: #b30012;
}

.lt-textarea {
  width: 100%;
  padding: 12px 14px;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.4;
  color: var(--lt-black);
  background-color: var(--lt-white);
  border: 1px solid var(--lt-input-border);
  border-radius: var(--lt-radius-control);
  resize: vertical;
}

.lt-textarea:focus {
  outline: none;
  border-color: var(--lt-cobalt);
  box-shadow: var(--lt-focus-ring);
}

.lt-support-alt {
  margin: 24px 0 0;
}

.lt-support-alt a {
  color: var(--lt-link);
}

/* Premium upgrade page */
.app-main-upgrade {
  padding: 0 0 48px;
}

.upgrade {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 24px;
}

.upgrade-section-title {
  margin: 0 0 20px;
  font-size: var(--lt-type-heading);
  font-weight: var(--lt-weight-bold);
  letter-spacing: var(--lt-letter-spacing-tight);
  text-align: center;
}

/* Hero */
.upgrade-hero {
  padding: 56px 0 40px;
  text-align: center;
}

.upgrade-eyebrow {
  margin: 0 0 12px;
  font-size: var(--lt-type-caption);
  font-weight: var(--lt-weight-semibold);
  letter-spacing: var(--lt-letter-spacing-wide);
  text-transform: uppercase;
  color: var(--lt-link);
}

.upgrade-headline {
  max-width: 640px;
  margin: 0 auto 12px;
  font-size: 40px;
  font-weight: var(--lt-weight-bold);
  line-height: 1.1;
  letter-spacing: var(--lt-letter-spacing-tight);
}

.upgrade-subhead {
  max-width: 560px;
  margin: 0 auto 28px;
  font-size: var(--lt-type-subheading);
  line-height: 1.4;
  color: var(--lt-text-secondary);
}

.upgrade-hero-features {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 18px;
  max-width: 720px;
  margin: 0 auto 28px;
  padding: 0;
  list-style: none;
  font-size: var(--lt-type-callout);
  color: var(--lt-text);
}

.upgrade-cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

.upgrade-cta .app-button {
  padding: 14px 24px;
  font-size: var(--lt-type-body);
}

.upgrade-ask-admin {
  margin: 0;
  font-size: var(--lt-type-body);
  font-weight: 600;
  color: var(--lt-text-secondary);
}

.upgrade-cta-note {
  margin: 14px 0 0;
  font-size: var(--lt-type-caption);
  color: var(--lt-text-tertiary);
}

/* Stats strip */
.upgrade-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 0 0 56px;
  padding: 24px;
  color: var(--lt-white);
  background-color: var(--lt-fill);
  border-radius: var(--lt-radius-card);
}

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

.upgrade-stat-number {
  display: block;
  font-size: 32px;
  font-weight: var(--lt-weight-bold);
  letter-spacing: var(--lt-letter-spacing-tight);
  line-height: 1.1;
}

.upgrade-stat-label {
  display: block;
  margin-top: 4px;
  font-size: var(--lt-type-callout);
  color: var(--lt-link-on-cobalt);
}

/* Feature grid */
.upgrade-features {
  margin-bottom: 56px;
}

.upgrade-feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
}

.upgrade-feature {
  padding: 20px;
  background-color: var(--lt-white);
  border: 1px solid var(--lt-light-gray);
  border-radius: var(--lt-radius-card);
}

.upgrade-feature-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin-bottom: 12px;
  color: var(--lt-cobalt);
  background-color: rgba(66, 145, 212, 0.12);
  border-radius: 10px;
}

.upgrade-feature-icon .app-nav-icon {
  width: 20px;
  height: 20px;
  opacity: 1;
}

.upgrade-feature h3 {
  margin: 0 0 6px;
  font-size: var(--lt-type-body);
  font-weight: var(--lt-weight-semibold);
  line-height: 1.3;
}

.upgrade-feature p {
  margin: 0;
  font-size: var(--lt-type-callout);
  line-height: 1.45;
  color: var(--lt-text-secondary);
}

/* Comparison table */
.upgrade-compare {
  margin-bottom: 56px;
}

.upgrade-compare-scroll {
  overflow-x: auto;
}

.upgrade-compare-table {
  width: 100%;
  border-collapse: collapse;
  background-color: var(--lt-white);
  border: 1px solid var(--lt-light-gray);
  border-radius: var(--lt-radius-card);
  overflow: hidden;
  font-size: var(--lt-type-callout);
}

.upgrade-compare-table th,
.upgrade-compare-table td {
  padding: 14px 16px;
  text-align: center;
  border-bottom: 1px solid var(--lt-light-gray);
}

.upgrade-compare-table th[scope=row] {
  text-align: left;
  font-weight: var(--lt-weight-medium);
}

.upgrade-compare-table thead th {
  font-size: var(--lt-type-caption);
  font-weight: var(--lt-weight-semibold);
  text-transform: uppercase;
  letter-spacing: var(--lt-letter-spacing-wide);
  color: var(--lt-text-secondary);
}

.upgrade-compare-table tbody tr:last-child th,
.upgrade-compare-table tbody tr:last-child td {
  border-bottom: none;
}

.upgrade-compare-premium {
  font-weight: var(--lt-weight-semibold);
  background-color: rgba(66, 145, 212, 0.08);
}

.upgrade-compare-table thead .upgrade-compare-premium {
  color: var(--lt-link);
}

.upgrade-check {
  color: var(--lt-green);
  font-weight: var(--lt-weight-bold);
}

.upgrade-dash {
  color: var(--lt-chevron);
}

/* Plans */
.upgrade-plans {
  margin-bottom: 56px;
}

.upgrade-plan-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
  max-width: 640px;
  margin: 0 auto;
}

.upgrade-plan {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 28px 20px 24px;
  text-align: center;
  background-color: var(--lt-white);
  border: 1px solid var(--lt-light-gray);
  border-radius: var(--lt-radius-card);
}

.upgrade-plan-featured {
  border: 2px solid var(--lt-cobalt);
  box-shadow: var(--lt-shadow-card);
}

.upgrade-plan-badge {
  position: absolute;
  top: -12px;
  padding: 3px 10px;
  font-size: 11px;
  font-weight: var(--lt-weight-bold);
  letter-spacing: var(--lt-letter-spacing-wide);
  text-transform: uppercase;
  color: var(--lt-white);
  background-color: var(--lt-fill);
  border-radius: var(--lt-radius-pill);
}

.upgrade-plan-name {
  margin: 0 0 6px;
  font-size: var(--lt-type-body);
  font-weight: var(--lt-weight-semibold);
}

.upgrade-plan-price {
  margin: 0;
  font-size: 34px;
  font-weight: var(--lt-weight-bold);
  letter-spacing: var(--lt-letter-spacing-tight);
}

.upgrade-plan-note {
  margin: 4px 0 18px;
  font-size: var(--lt-type-caption);
  color: var(--lt-text-secondary);
}

.upgrade-plan-button {
  width: 100%;
}

.upgrade-fineprint {
  margin: 20px 0 0;
  text-align: center;
  font-size: var(--lt-type-caption);
  color: var(--lt-text-tertiary);
}

.upgrade-fineprint a {
  color: var(--lt-text-secondary);
}

/* FAQ */
.upgrade-faq-list {
  max-width: 640px;
  margin: 0 auto;
}

.upgrade-faq-list > div {
  padding: 14px 0;
  border-bottom: 1px solid var(--lt-light-gray);
}

.upgrade-faq-list > div:last-child {
  border-bottom: none;
}

.upgrade-faq-list dt {
  margin-bottom: 4px;
  font-size: var(--lt-type-callout);
  font-weight: var(--lt-weight-semibold);
}

.upgrade-faq-list dd {
  margin: 0;
  font-size: var(--lt-type-callout);
  line-height: 1.45;
  color: var(--lt-text-secondary);
}

.upgrade-faq-list dd a {
  color: var(--lt-link);
}

/* Nav entry for free users */
.app-sidebar-link-upgrade {
  color: #ffd166;
}

.app-sidebar-link-upgrade .app-nav-icon {
  opacity: 1;
}

/* User menu entry */
.app-user-menu-item-upgrade {
  color: var(--lt-link);
  font-weight: var(--lt-weight-semibold);
}

@media (max-width: 640px) {
  .upgrade-hero {
    padding: 32px 0 28px;
  }
  .upgrade-headline {
    font-size: 30px;
  }
  .upgrade-stats {
    grid-template-columns: 1fr;
  }
}

/*# sourceMappingURL=data:application/json;base64,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QztBQUN4Qzs7QUFFQTtFQUNFO0lBQ0Usb0JBQW9CO0VBQ3RCO0VBQ0E7SUFDRSxlQUFlO0VBQ2pCO0VBQ0E7SUFDRSwwQkFBMEI7RUFDNUI7QUFDRiIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLypcbiAqIExpcXVvclRYIGRlc2lnbiB0b2tlbnMg4oCUIGtlZXAgaW4gc3luYyB3aXRoIGFwcC1yZWFjdC9zcmMvdXRpbHMvY29uc3RhbnRzLnRzXG4gKi9cbjpyb290IHtcbiAgLyogQ29sb3JzICovXG4gIC0tbHQtY29iYWx0OiAjNDI5MWQ0O1xuICAtLWx0LWNvYmFsdC1kYXJrOiAjMmU2ZmE4O1xuICAtLWx0LWNvYmFsdC1kYXJrLWhvdmVyOiAjMjU1YThhO1xuICAvKiBCcmFuZCBjb2JhbHQgaXMgMy40OjEgYWdhaW5zdCB3aGl0ZSwgdW5kZXIgV0NBRyBBQSBmb3IgdGV4dC4gVXNlIHRoZXNlXG4gICAgIGZvciBibHVlIHRleHQgb24gbGlnaHQgc3VyZmFjZXMgYW5kIGZvciBmaWxsZWQgY29udHJvbHMgd2l0aCB3aGl0ZSB0ZXh0O1xuICAgICBrZWVwIC0tbHQtY29iYWx0IGZvciBsYXJnZSBicmFuZCBzdXJmYWNlcyAobmF2LCBwaW5zLCBhdXRoIGJhY2tncm91bmQpLiAqL1xuICAtLWx0LWxpbms6IHZhcigtLWx0LWNvYmFsdC1kYXJrKTtcbiAgLS1sdC1saW5rLWhvdmVyOiB2YXIoLS1sdC1jb2JhbHQtZGFyay1ob3Zlcik7XG4gIC0tbHQtZmlsbDogdmFyKC0tbHQtY29iYWx0LWRhcmspO1xuICAtLWx0LWZpbGwtaG92ZXI6IHZhcigtLWx0LWNvYmFsdC1kYXJrLWhvdmVyKTtcbiAgLS1sdC1vZmYtd2hpdGU6ICNmNWY1ZjU7XG4gIC0tbHQtd2hpdGU6ICNmZmZmZmY7XG4gIC0tbHQtYmxhY2s6ICMwMDAwMDA7XG4gIC0tbHQtZGFyay1ncmF5OiAjMzEzMTMxO1xuICAtLWx0LWxpZ2h0LWdyYXk6ICNlMGUwZTA7XG4gIC0tbHQtbGlzdC1kaXZpZGVyOiAjYjBiMGI0O1xuICAtLWx0LXJlZDogI2ZmM2IzMDtcbiAgLS1sdC1yZWQtdGV4dDogI2Q3MDAxNTtcbiAgLS1sdC1ncmVlbjogIzM0Yzc1OTtcbiAgLS1sdC10ZXh0LXNlY29uZGFyeTogIzY2NjY2NjtcbiAgLS1sdC10ZXh0LXRlcnRpYXJ5OiAjOGU4ZTkzO1xuICAtLWx0LXBsYWNlaG9sZGVyOiAjOTk5OTk5O1xuICAtLWx0LWdyb3VwZWQtYmc6ICNmMmYyZjc7XG4gIC0tbHQtZ3JvdXBlZC1sYWJlbDogIzZkNmQ3MjtcbiAgLS1sdC1pbnB1dC1ib3JkZXI6ICNjNmM2Yzg7XG4gIC0tbHQtY2hldnJvbjogI2M3YzdjYztcbiAgLS1sdC1zZWFyY2gtY2hyb21lLWJnOiAjZmZmYWY1O1xuICAtLWx0LXNlYXJjaC1jaHJvbWUtYmctdW5kZXJsYXk6IHJnYmEoMjU1LCAyNTAsIDI0NSwgMC44NSk7XG4gIC8qIEFsaWFzZXMgKi9cbiAgLS1sdC10ZXh0OiB2YXIoLS1sdC1ibGFjayk7XG4gIC0tbHQtYm9yZGVyOiB2YXIoLS1sdC1saXN0LWRpdmlkZXIpO1xuICAvKiBSYWRpdXMgKi9cbiAgLS1sdC1yYWRpdXMtY29udHJvbDogOHB4O1xuICAtLWx0LXJhZGl1cy1jYXJkOiAxMnB4O1xuICAtLWx0LXJhZGl1cy1zaGVldDogMTRweDtcbiAgLS1sdC1yYWRpdXMtcGlsbDogOTk5cHg7XG4gIC8qIFR5cGUgc2NhbGUgKi9cbiAgLS1sdC10eXBlLXRpdGxlOiAyOHB4O1xuICAtLWx0LXR5cGUtaGVhZGluZzogMjJweDtcbiAgLS1sdC10eXBlLXN1YmhlYWRpbmc6IDE5cHg7XG4gIC0tbHQtdHlwZS1ib2R5OiAxN3B4O1xuICAtLWx0LXR5cGUtY2FsbG91dDogMTVweDtcbiAgLS1sdC10eXBlLWNhcHRpb246IDEzcHg7XG4gIC8qIEZvbnQgd2VpZ2h0cyAqL1xuICAtLWx0LXdlaWdodC1yZWd1bGFyOiA0MDA7XG4gIC0tbHQtd2VpZ2h0LW1lZGl1bTogNTAwO1xuICAtLWx0LXdlaWdodC1zZW1pYm9sZDogNjAwO1xuICAtLWx0LXdlaWdodC1ib2xkOiA3MDA7XG4gIC8qIFNoYWRvd3MgKi9cbiAgLS1sdC1zaGFkb3ctY2FyZDogMCA0cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAtLWx0LXNoYWRvdy1kcm9wZG93bjogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIC8qIEludGVyYWN0aW9uICovXG4gIC0tbHQtZm9jdXMtcmluZzogMCAwIDAgM3B4IHJnYmEoNjYsIDE0NSwgMjEyLCAwLjI1KTtcbiAgLS1sdC1mb2N1cy1yaW5nLXN0cm9uZzogMCAwIDAgM3B4IHJnYmEoNjYsIDE0NSwgMjEyLCAwLjQ1KTtcbiAgLS1sdC1kaXNhYmxlZC1vcGFjaXR5OiAwLjY7XG4gIC0tbHQtcHJlc3Mtc2NhbGU6IDAuOTk7XG4gIC0tbHQtb3ZlcmxheS1vbi1jb2JhbHQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gIC0tbHQtb3ZlcmxheS1vbi1jb2JhbHQtc3Ryb25nOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTgpO1xuICAtLWx0LWxpbmstb24tY29iYWx0OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIC8qIExheW91dCAod2ViKSAqL1xuICAtLWx0LXRvcGJhci1oZWlnaHQ6IDU2cHg7XG4gIC0tbHQtc2lkZWJhci1yYWlsLXdpZHRoOiA5MnB4O1xuICAtLWx0LWF1dGgtbWF4LXdpZHRoOiA0NDBweDtcbiAgLyogVHlwb2dyYXBoeSAqL1xuICAtLWx0LWZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAtLWx0LWxldHRlci1zcGFjaW5nLXRpZ2h0OiAtMC4wMmVtO1xuICAtLWx0LWxldHRlci1zcGFjaW5nLXdpZGU6IDAuM3B4O1xufVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5ib2R5LmFwcC1ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWx0LWZvbnQtZmFtaWx5KTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGNvbG9yOiB2YXIoLS1sdC10ZXh0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHQtb2ZmLXdoaXRlKTtcbn1cblxuLmFwcC10b3BiYXIge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBoZWlnaHQ6IHZhcigtLWx0LXRvcGJhci1oZWlnaHQpO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx0LWNvYmFsdCk7XG59XG5cbi5hcHAtdG9wYmFyLWJyYW5kIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmFwcC10b3BiYXItbG9nbyB7XG4gIGhlaWdodDogNDBweDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5hcHAtdG9wYmFyLWJhcmUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmFwcC1ib2R5LWJhcmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxuLmFwcC1tYWluLWJhcmUge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIHBhZGRpbmc6IDI0cHg7XG59XG5cbi5hcHAtc2hlbGwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxuLmFwcC1zaWRlYmFyIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IHZhcigtLWx0LXNpZGViYXItcmFpbC13aWR0aCk7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx0LWNvYmFsdCk7XG4gIC8qIEFib3ZlIHBhZ2UgY29udGVudCBzbyB0aGUgdXNlciBtZW51IHBvcC1vdXQgaXMgbmV2ZXIgcGFpbnRlZCBiZW5lYXRoIGl0LiAqL1xuICB6LWluZGV4OiAxMDA7XG59XG5cbi8qIENsaXAgdGhlIHNocmlua2luZyByb3dzIHRoZW1zZWx2ZXMsIG5vdCB0aGUgc2lkZWJhciwgc28gdGhlIHVzZXIgbWVudSBjYW4gcG9wIG91dCBiZXNpZGUgaXQuICovXG4uYXBwLXNpZGViYXItdG9wLFxuLmFwcC1zaWRlYmFyLW5hdiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5hcHAtc2lkZWJhci1saW5rLWxhYmVsIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmFwcC1zaWRlYmFyLXRvcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDhweCA4cHggNHB4O1xufVxuXG4uYXBwLXNpZGViYXItYnJhbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDZweCA0cHg7XG59XG5cbi5hcHAtc2lkZWJhci1tYXJrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA2NHB4O1xuICBoZWlnaHQ6IDY0cHg7XG59XG5cbi8qIExhYmVscyBzaXQgdW5kZXIgdGhlaXIgaWNvbiBhbmQgZm9sZCBhd2F5IChoZWlnaHQgYW5kIG9wYWNpdHkpIHdoZW4gdGhlIHJhaWwgY29sbGFwc2VzLiAqL1xuLmFwcC1zaWRlYmFyLWxpbmstbGFiZWwge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uYXBwLXNpZGViYXItbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleDogMTtcbiAgbWluLWhlaWdodDogMDtcbiAgZ2FwOiAycHg7XG4gIHBhZGRpbmc6IDRweCA4cHggOHB4O1xufVxuXG4uYXBwLXNpZGViYXItbGluay1ib3R0b20ge1xuICBtYXJnaW4tdG9wOiBhdXRvO1xufVxuXG4uYXBwLW5hdi1pY29uIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIG9wYWNpdHk6IDAuODU7XG59XG5cbi5hcHAtc2lkZWJhci1saW5rOmhvdmVyIC5hcHAtbmF2LWljb24sXG4uYXBwLXNpZGViYXItbGluay1hY3RpdmUgLmFwcC1uYXYtaWNvbiB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5hcHAtc2lkZWJhci1saW5rIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG4gIHBhZGRpbmc6IDEwcHggNHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1sdC1yYWRpdXMtY29udHJvbCk7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWx0LXdlaWdodC1tZWRpdW0pO1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgY29sb3I6IHZhcigtLWx0LWxpbmstb24tY29iYWx0KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5hcHAtc2lkZWJhci1saW5rOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHQtb3ZlcmxheS1vbi1jb2JhbHQpO1xuICBjb2xvcjogdmFyKC0tbHQtd2hpdGUpO1xufVxuXG4uYXBwLXNpZGViYXItbGluay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdC1vdmVybGF5LW9uLWNvYmFsdC1zdHJvbmcpO1xuICBjb2xvcjogdmFyKC0tbHQtd2hpdGUpO1xufVxuXG4uYXBwLW1haW4ge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIHBhZGRpbmc6IDI0cHg7XG59XG5cbi5hcHAtZmxhc2gge1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWx0LXJhZGl1cy1jb250cm9sKTtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhbGxvdXQpO1xufVxuXG4uYXBwLWZsYXNoLW5vdGljZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjYsIDE0NSwgMjEyLCAwLjEyKTtcbiAgY29sb3I6IHZhcigtLWx0LWNvYmFsdC1kYXJrKTtcbn1cblxuLmFwcC1mbGFzaC1hbGVydCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCA1OSwgNDgsIDAuMTIpO1xuICBjb2xvcjogdmFyKC0tbHQtcmVkLXRleHQpO1xufVxuXG4uYXBwLWZsYXNoLXN0YW5kaW5nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDRweCAxMHB4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG59XG5cbi5hcHAtZmxhc2gtYWN0aW9uIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtc2VtaWJvbGQpO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLyogT25jZS1vbmx5IHByb2Zlc3Npb24gZGV0YWlscyBwcm9tcHQgKHdlYiBwYXJpdHkgd2l0aCBtb2JpbGUgQWxlcnQpLiAqL1xuLmFwcC1tb2RhbCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tbHQtcmFkaXVzLXNoZWV0LCAxMnB4KTtcbiAgcGFkZGluZzogMDtcbiAgbWF4LXdpZHRoOiAzNjBweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDMycHgpO1xuICBib3gtc2hhZG93OiAwIDEycHggNDBweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuXG4uYXBwLW1vZGFsOjpiYWNrZHJvcCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cblxuLyogRmFsbGJhY2sgd2hlbiBzaG93TW9kYWwoKSBpcyB1bmF2YWlsYWJsZTogc3RpbGwgb2JzY3VyZS9ibG9jayB0aGUgc2hlbGwuICovXG5odG1sLmFwcC1tb2RhbC1mYWxsYmFjay1vcGVuIC5hcHAtc2hlbGwge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbmh0bWwuYXBwLW1vZGFsLWZhbGxiYWNrLW9wZW4gLmFwcC1tb2RhbCB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICBtYXJnaW46IGF1dG87XG4gIHotaW5kZXg6IDEwMDA7XG59XG5cbmh0bWwuYXBwLW1vZGFsLWZhbGxiYWNrLW9wZW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgei1pbmRleDogOTk5O1xufVxuXG4uYXBwLW1vZGFsLXBhbmVsIHtcbiAgcGFkZGluZzogMjBweCAxNnB4IDEycHg7XG59XG5cbi5hcHAtbW9kYWwtdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1ib2R5LCAxcmVtKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWx0LXdlaWdodC1zZW1pYm9sZCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWx0LWJsYWNrLCAjMTExKTtcbn1cblxuLmFwcC1tb2RhbC1ib2R5IHtcbiAgbWFyZ2luOiA4cHggMCAwO1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtY2FwdGlvbiwgMC44NzVyZW0pO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1sdC10ZXh0LXNlY29uZGFyeSwgIzY2Nik7XG59XG5cbi5hcHAtbW9kYWwtYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogOHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG4uYXBwLW1vZGFsLWFjdGlvbi1mb3JtIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXJnaW46IDA7XG59XG5cbi5hcHAtZmxhc2gtc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTIsIDE5OSwgODksIDAuMTIpO1xuICBjb2xvcjogIzI0OGEzZDtcbn1cblxuLmFwcC11c2VyLW1lbnUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDhweCA4cHggMTBweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG59XG5cbi5hcHAtdXNlci1tZW51LXRyaWdnZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiA4cHggNHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1sdC1yYWRpdXMtY29udHJvbCk7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWx0LXdlaWdodC1tZWRpdW0pO1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgY29sb3I6IHZhcigtLWx0LXdoaXRlKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLmFwcC11c2VyLW1lbnUtYXZhdGFyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdC1vdmVybGF5LW9uLWNvYmFsdC1zdHJvbmcpO1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtY2FwdGlvbik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtYm9sZCk7XG59XG5cbi5hcHAtdXNlci1tZW51LXRyaWdnZXI6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYXBwLXVzZXItbWVudS10cmlnZ2VyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHQtb3ZlcmxheS1vbi1jb2JhbHQpO1xufVxuXG4vKiBUaGUgbmFtZSBpcyBpbiB0aGUgdG9vbHRpcCBhbmQgb24gdGhlIFByb2ZpbGUgcGFnZTsga2VlcCBpdCBmb3Igc2NyZWVuIHJlYWRlcnMgb25seS4gKi9cbi5hcHAtdXNlci1tZW51LXNyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmFwcC11c2VyLW1lbnUtZHJvcGRvd24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogOHB4O1xuICBsZWZ0OiBjYWxjKDEwMCUgKyA0cHgpO1xuICBtaW4td2lkdGg6IDE4MHB4O1xuICBwYWRkaW5nOiA2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx0LXdoaXRlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbHQtYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tbHQtcmFkaXVzLWNvbnRyb2wpO1xuICBib3gtc2hhZG93OiB2YXIoLS1sdC1zaGFkb3ctZHJvcGRvd24pO1xufVxuXG4uYXBwLXVzZXItbWVudS1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogdmFyKC0tbHQtdGV4dCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1jYWxsb3V0KTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5hcHAtdXNlci1tZW51LWl0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdC1vZmYtd2hpdGUpO1xufVxuXG4uYXBwLXVzZXItbWVudS1pdGVtLWJ1dHRvbiB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG4uYXBwLXBhZ2Uge1xuICBtYXgtd2lkdGg6IDY0MHB4O1xufVxuXG4uYXBwLXBhZ2Utd2lkZSB7XG4gIG1heC13aWR0aDogNzIwcHg7XG59XG5cbi5hcHAtcGFnZS1iaWxsaW5nIHtcbiAgbWF4LXdpZHRoOiA5NjBweDtcbn1cblxuLmFwcC1sZWFkIHtcbiAgbWFyZ2luOiAwIDAgMjRweDtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhbGxvdXQpO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogdmFyKC0tbHQtdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uYmlsbGluZy1wbGFucyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMTZweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5iaWxsaW5nLXBsYW5zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gIH1cbn1cbi5iaWxsaW5nLXBsYW4tY2FyZCB7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWx0LWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWx0LXJhZGl1cy1jb250cm9sKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHQtd2hpdGUpO1xufVxuXG4uYmlsbGluZy1wbGFuLW5hbWUge1xuICBtYXJnaW46IDAgMCA4cHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1oZWFkaW5nKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWx0LXdlaWdodC1ib2xkKTtcbn1cblxuLmJpbGxpbmctcGxhbi1wcmljZSB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1jYWxsb3V0KTtcbiAgY29sb3I6IHZhcigtLWx0LXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLmJpbGxpbmctcGxhbi1idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmJpbGxpbmctZGV0YWlscyB7XG4gIG1hcmdpbjogMCAwIDI0cHg7XG59XG5cbi8qIFByZW1pdW0gdXBncmFkZSBwaXRjaCDigJQgbWlycm9ycyB0aGUgbW9iaWxlIFByZW1pdW1JbmZvIG1vZGFsLiAqL1xuLnByZW1pdW0tcGl0Y2gge1xuICBtYXgtd2lkdGg6IDU2MHB4O1xuICBtYXJnaW46IDAgYXV0byAyNHB4O1xufVxuXG4ucHJlbWl1bS1waXRjaC1oZWFkbGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoNjYsIDE0NSwgMjEyLCAwLjM1KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucHJlbWl1bS1waXRjaC1zdGFyIHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLnByZW1pdW0tcGl0Y2gtaGVhZGxpbmUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBmb250LXdlaWdodDogdmFyKC0tbHQtd2VpZ2h0LWJvbGQpO1xuICBsaW5lLWhlaWdodDogMzZweDtcbiAgY29sb3I6IHZhcigtLWx0LWxpbmspO1xufVxuXG4ucHJlbWl1bS1waXRjaC1zdWJoZWFkIHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWJvZHkpO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgY29sb3I6IHZhcigtLWx0LXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnByZW1pdW0tcGl0Y2gtZmVhdHVyZXMge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDEwcHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnByZW1pdW0tcGl0Y2gtZmVhdHVyZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtYm9keSk7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBjb2xvcjogdmFyKC0tbHQtYmxhY2spO1xufVxuXG4ucHJlbWl1bS1waXRjaC1jaGVjayB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtYm9sZCk7XG4gIGNvbG9yOiB2YXIoLS1sdC1saW5rKTtcbn1cblxuLnByZW1pdW0tcGl0Y2gtYWxzby1pbmNsdWRlZCB7XG4gIG1hcmdpbjogMTZweCAwIDEycHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1jYWxsb3V0KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWx0LXdlaWdodC1zZW1pYm9sZCk7XG4gIGNvbG9yOiB2YXIoLS1sdC10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5wcmVtaXVtLXBpdGNoLXBsYW5zIHtcbiAgbWF4LXdpZHRoOiA1NjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctdG9wOiAxNnB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbHQtbGlzdC1kaXZpZGVyKTtcbn1cblxuLnByZW1pdW0tcGl0Y2gtc2F2aW5ncyB7XG4gIG1hcmdpbjogMTJweCAwIDA7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1jYWxsb3V0KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWx0LXdlaWdodC1tZWRpdW0pO1xuICBjb2xvcjogdmFyKC0tbHQtbGluayk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnByZW1pdW0tcGl0Y2gtbGVnYWwtbm90ZSB7XG4gIG1hcmdpbjogMTJweCAwIDhweDtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhcHRpb24pO1xuICBjb2xvcjogdmFyKC0tbHQtdGV4dC1zZWNvbmRhcnkpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wcmVtaXVtLXBpdGNoLWxlZ2FsLWxpbmtzIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1jYXB0aW9uKTtcbiAgY29sb3I6IHZhcigtLWx0LXRleHQtc2Vjb25kYXJ5KTtcbn1cbi5wcmVtaXVtLXBpdGNoLWxlZ2FsLWxpbmtzIGEge1xuICBjb2xvcjogdmFyKC0tbHQtbGluayk7XG59XG5cbi5iaWxsaW5nLXBheW1lbnQtaGlzdG9yeSB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbi5iaWxsaW5nLXBheW1lbnQtaGlzdG9yeSAuYXBwLXBhbmVsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmJpbGxpbmctcGF5bWVudC1oaXN0b3J5LXRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1jYWxsb3V0KTtcbn1cblxuLmJpbGxpbmctcGF5bWVudC1oaXN0b3J5LXRhYmxlIHRoLFxuLmJpbGxpbmctcGF5bWVudC1oaXN0b3J5LXRhYmxlIHRkIHtcbiAgcGFkZGluZzogMTZweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbHQtYm9yZGVyKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmJpbGxpbmctcGF5bWVudC1oaXN0b3J5LXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uYmlsbGluZy1wYXltZW50LWhpc3RvcnktdGFibGUgdGgge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1jYXB0aW9uKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWx0LXdlaWdodC1zZW1pYm9sZCk7XG4gIGNvbG9yOiB2YXIoLS1sdC10ZXh0LXNlY29uZGFyeSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG59XG5cbi5iaWxsaW5nLXBheW1lbnQtaGlzdG9yeS10YWJsZSB0aDpudGgtY2hpbGQoMSksXG4uYmlsbGluZy1wYXltZW50LWhpc3RvcnktdGFibGUgdGQ6bnRoLWNoaWxkKDEpIHtcbiAgcGFkZGluZy1yaWdodDogMzJweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmJpbGxpbmctcGF5bWVudC1oaXN0b3J5LXRhYmxlIHRoOm50aC1jaGlsZCgyKSxcbi5iaWxsaW5nLXBheW1lbnQtaGlzdG9yeS10YWJsZSB0ZDpudGgtY2hpbGQoMikge1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmJpbGxpbmctcGF5bWVudC1oaXN0b3J5LXRhYmxlIHRoOm50aC1jaGlsZCgzKSxcbi5iaWxsaW5nLXBheW1lbnQtaGlzdG9yeS10YWJsZSB0ZDpudGgtY2hpbGQoMykge1xuICBwYWRkaW5nLXJpZ2h0OiAzMnB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmJpbGxpbmctcGF5bWVudC1oaXN0b3J5LXRhYmxlIHRoOm50aC1jaGlsZCg0KSxcbi5iaWxsaW5nLXBheW1lbnQtaGlzdG9yeS10YWJsZSB0ZDpudGgtY2hpbGQoNCkge1xuICBwYWRkaW5nLXJpZ2h0OiAzMnB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uYmlsbGluZy1wYXltZW50LWhpc3RvcnktdGFibGUgdGg6bnRoLWNoaWxkKDUpLFxuLmJpbGxpbmctcGF5bWVudC1oaXN0b3J5LXRhYmxlIHRkOm50aC1jaGlsZCg1KSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLmJpbGxpbmctcGF5bWVudC1oaXN0b3J5LXRhYmxlIC5iaWxsaW5nLXRlYW0tdGFibGUtYWN0aW9ucy1sYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbi5iaWxsaW5nLWRldGFpbCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTYwcHggMWZyO1xuICBnYXA6IDhweCAxNnB4O1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1sdC1ib3JkZXIpO1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtY2FsbG91dCk7XG59XG5cbi5iaWxsaW5nLWRldGFpbCBkdCB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWx0LXdlaWdodC1zZW1pYm9sZCk7XG4gIGNvbG9yOiB2YXIoLS1sdC10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5iaWxsaW5nLWRldGFpbCBkZCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmJpbGxpbmctdGVhbS10YWJsZS1zZWF0IHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmJpbGxpbmctdGVhbS10YWJsZS1zZWF0IGZvcm0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG5cbi5iaWxsaW5nLWRldGFpbC1ub3RlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDJweDtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhcHRpb24pO1xuICBjb2xvcjogdmFyKC0tbHQtdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uYXBwLXNlY3Rpb24tdGl0bGUge1xuICBtYXJnaW46IDI4cHggMCAxMnB4O1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtdGl0bGUzKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWx0LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbi5hcHAtcGFuZWwge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICBwYWRkaW5nOiAyNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1sdC1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1sdC1yYWRpdXMtY29udHJvbCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx0LXdoaXRlKTtcbn1cblxuLmFwcC1wYW5lbC10aXRsZSB7XG4gIG1hcmdpbjogMCAwIDE2cHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS10aXRsZTMpO1xuICBmb250LXdlaWdodDogdmFyKC0tbHQtd2VpZ2h0LXNlbWlib2xkKTtcbn1cblxuLmFwcC1wYW5lbC1lbXB0eSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhbGxvdXQpO1xuICBjb2xvcjogdmFyKC0tbHQtdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4udGVhbS1mb3JtLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDAgMTZweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC50ZWFtLWZvcm0tZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICB9XG59XG4udGVhbS1mb3JtLW5vdGUge1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtY2FwdGlvbik7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiB2YXIoLS1sdC10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi50ZWFtLWZvcm0tYWN0aW9ucyB7XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLmJpbGxpbmctdGVhbS10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtY2FsbG91dCk7XG59XG5cbi5iaWxsaW5nLXRlYW0tdGFibGUgdGgsXG4uYmlsbGluZy10ZWFtLXRhYmxlIHRkIHtcbiAgcGFkZGluZzogMTJweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbHQtYm9yZGVyKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmJpbGxpbmctdGVhbS10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmJpbGxpbmctdGVhbS10YWJsZSB0aCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtY2FwdGlvbik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtc2VtaWJvbGQpO1xuICBjb2xvcjogdmFyKC0tbHQtdGV4dC1zZWNvbmRhcnkpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLmJpbGxpbmctdGVhbS10YWJsZS1hY3Rpb25zLWxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLmJpbGxpbmctdGVhbS10YWJsZS1hY3Rpb25zIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5hcHAtYnV0dG9uLWNvbXBhY3Qge1xuICBwYWRkaW5nOiA2cHggMTJweDtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhcHRpb24pO1xufVxuXG4uYmlsbGluZy1zZXR1cC1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1jYWxsb3V0KTtcbiAgY29sb3I6IHZhcigtLWx0LXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLmJpbGxpbmctc2V0dXAtbGlzdCBsaSArIGxpIHtcbiAgbWFyZ2luLXRvcDogNnB4O1xufVxuXG4uYmlsbGluZy1zZXR1cC1saXN0IGNvZGUge1xuICBmb250LXNpemU6IDAuOWVtO1xufVxuXG4uYmlsbGluZy1jaGVja291dCB7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWx0LWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWx0LXJhZGl1cy1jb250cm9sKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHQtd2hpdGUpO1xufVxuXG4uYmlsbGluZy1jaGVja291dC1mb3JtIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYXBwLXZpc3VhbGx5LWhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi5iaWxsaW5nLXBheW1lbnQtc2xvdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMjkwcHg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIHRyYW5zaXRpb246IG1pbi1oZWlnaHQgMjAwbXMgZWFzZS1vdXQ7XG59XG5cbi5iaWxsaW5nLXBheW1lbnQtc2xvdFtkYXRhLXBheW1lbnQtc3RhdGU9cmVhZHldIHtcbiAgbWluLWhlaWdodDogMDtcbn1cblxuLmJpbGxpbmctcGF5bWVudC1lbGVtZW50IHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBlYXNlLW91dDtcbn1cblxuLmJpbGxpbmctcGF5bWVudC1zbG90W2RhdGEtcGF5bWVudC1zdGF0ZT1yZWFkeV0gLmJpbGxpbmctcGF5bWVudC1lbGVtZW50IHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmJpbGxpbmctcGF5bWVudC1za2VsZXRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgZWFzZS1vdXQ7XG59XG5cbi5iaWxsaW5nLXBheW1lbnQtc2xvdFtkYXRhLXBheW1lbnQtc3RhdGU9cmVhZHldIC5iaWxsaW5nLXBheW1lbnQtc2tlbGV0b24sXG4uYmlsbGluZy1wYXltZW50LXNsb3RbZGF0YS1wYXltZW50LXN0YXRlPWZhaWxlZF0gLmJpbGxpbmctcGF5bWVudC1za2VsZXRvbiB7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmJpbGxpbmctc2tlbGV0b24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tbHQtcmFkaXVzLWNvbnRyb2wpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdC1saWdodC1ncmF5KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY1KSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDIwMHB4IDEwMCU7XG4gIGFuaW1hdGlvbjogYmlsbGluZy1za2VsZXRvbi1zaGltbWVyIDEuNHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbi5iaWxsaW5nLXNrZWxldG9uLWxhYmVsIHtcbiAgd2lkdGg6IDk2cHg7XG4gIGhlaWdodDogMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4uYmlsbGluZy1za2VsZXRvbi1pbnB1dCB7XG4gIGhlaWdodDogNDRweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmJpbGxpbmctc2tlbGV0b24tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxMnB4O1xufVxuXG4uYmlsbGluZy1za2VsZXRvbi1jb2wge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG59XG5cbkBrZXlmcmFtZXMgYmlsbGluZy1za2VsZXRvbi1zaGltbWVyIHtcbiAgZnJvbSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwMHB4IDA7XG4gIH1cbiAgdG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSArIDIwMHB4KSAwO1xuICB9XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuYmlsbGluZy1wYXltZW50LXNsb3QsXG4gIC5iaWxsaW5nLXBheW1lbnQtZWxlbWVudCxcbiAgLmJpbGxpbmctcGF5bWVudC1za2VsZXRvbiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuICAuYmlsbGluZy1za2VsZXRvbiB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICB9XG59XG4uYmlsbGluZy1wYXltZW50LWVycm9ycyB7XG4gIG1pbi1oZWlnaHQ6IDEuMjVyZW07XG4gIG1hcmdpbjogMCAwIDE2cHg7XG4gIGNvbG9yOiB2YXIoLS1sdC1yZWQtdGV4dCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1jYWxsb3V0KTtcbn1cblxuLmFwcC1wYWdlLXRpdGxlIHtcbiAgbWFyZ2luOiAwIDAgMjRweDtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWhlYWRpbmcpO1xuICBmb250LXdlaWdodDogdmFyKC0tbHQtd2VpZ2h0LWJvbGQpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbHQtbGV0dGVyLXNwYWNpbmctdGlnaHQpO1xufVxuXG4uYXBwLXBhZ2UtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4uYXBwLXBhZ2UtaGVhZGVyIC5hcHAtcGFnZS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5hcHAtcGFnZS1oZWFkZXItbGVhZCB7XG4gIG1hcmdpbjogOHB4IDAgMDtcbn1cblxuLmFwcC1mb3JtLWVycm9ycyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmc6IDEycHggMTRweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tbHQtcmFkaXVzLWNvbnRyb2wpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgNTksIDQ4LCAwLjEyKTtcbiAgY29sb3I6IHZhcigtLWx0LXJlZC10ZXh0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhbGxvdXQpO1xufVxuXG4uYXBwLWZvcm0tZXJyb3JzIHAge1xuICBtYXJnaW46IDA7XG59XG5cbi5hcHAtZm9ybS1lcnJvcnMgcCArIHAge1xuICBtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi5hcHAtZmllbGQge1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG4uYXBwLWZpZWxkIGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDZweDtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhcHRpb24pO1xuICBmb250LXdlaWdodDogdmFyKC0tbHQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgY29sb3I6IHZhcigtLWx0LXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLmFwcC1maWVsZCBpbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbHQtaW5wdXQtYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tbHQtcmFkaXVzLWNvbnRyb2wpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdC13aGl0ZSk7XG4gIGNvbG9yOiB2YXIoLS1sdC1ibGFjayk7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLCBib3gtc2hhZG93IDAuMTVzIGVhc2U7XG59XG5cbi5hcHAtZmllbGQgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHZhcigtLWx0LXBsYWNlaG9sZGVyKTtcbn1cblxuLmFwcC1maWVsZCBpbnB1dDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbHQtY2hldnJvbik7XG59XG5cbi5hcHAtZmllbGQgaW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItY29sb3I6IHZhcigtLWx0LWNvYmFsdCk7XG4gIGJveC1zaGFkb3c6IHZhcigtLWx0LWZvY3VzLXJpbmcpO1xufVxuXG4uYXBwLWZvcm0tYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTJweDtcbiAgbWFyZ2luLXRvcDogMjRweDtcbn1cblxuLmFwcC1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tbHQtcmFkaXVzLWNvbnRyb2wpO1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtY2FsbG91dCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtc2VtaWJvbGQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsIHRyYW5zZm9ybSAwLjFzIGVhc2U7XG59XG5cbi5hcHAtYnV0dG9uOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG4gIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tbHQtcHJlc3Mtc2NhbGUpKTtcbn1cblxuLmFwcC1idXR0b246ZGlzYWJsZWQge1xuICBvcGFjaXR5OiB2YXIoLS1sdC1kaXNhYmxlZC1vcGFjaXR5KTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmFwcC1idXR0b24tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx0LWZpbGwpO1xuICBjb2xvcjogdmFyKC0tbHQtd2hpdGUpO1xufVxuXG4uYXBwLWJ1dHRvbi1wcmltYXJ5OmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHQtZmlsbC1ob3Zlcik7XG59XG5cbi5hcHAtYnV0dG9uLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx0LXdoaXRlKTtcbiAgY29sb3I6IHZhcigtLWx0LXRleHQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1sdC1ib3JkZXIpO1xufVxuXG4uYXBwLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdC1vZmYtd2hpdGUpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmFwcC1zaGVsbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAuYXBwLXNpZGViYXIge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICB9XG4gIC5hcHAtc2lkZWJhci10b3Age1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIHBhZGRpbmc6IDAgOHB4O1xuICB9XG4gIC5hcHAtc2lkZWJhci1icmFuZCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogMCA0cHg7XG4gIH1cbiAgLmFwcC1zaWRlYmFyLW1hcmsge1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgfVxuICAuYXBwLXNpZGViYXItbGluayB7XG4gICAgcGFkZGluZzogOHB4IDZweDtcbiAgfVxuICAuYXBwLXVzZXItbWVudS10cmlnZ2VyIHtcbiAgICBwYWRkaW5nOiA0cHg7XG4gIH1cbiAgLmFwcC1zaWRlYmFyLW5hdiB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDZweCA0cHg7XG4gIH1cbiAgLmFwcC1zaWRlYmFyLWxpbmstbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmFwcC1zaWRlYmFyLWRpdmlkZXIge1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIG1hcmdpbjogMCA0cHg7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIH1cbiAgLmFwcC1zaWRlYmFyLWxpbmstYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5hcHAtdXNlci1tZW51IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICB9XG4gIC5hcHAtdXNlci1tZW51LWRyb3Bkb3duIHtcbiAgICB0b3A6IGNhbGMoMTAwJSArIDRweCk7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgLmFwcC1tYWluIHtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICB9XG4gIC8qIFRoZSBtYXAgcGFnZSBtdXN0IHN0YXkgb25lIHZpZXdwb3J0IHRhbGwgc28gdGhlIHJlc3VsdHMgbGlzdCBzY3JvbGxzXG4gICAgIGluc2lkZSBpdCBhbmQgdGhlIG1hcCBrZWVwcyBpdHMgaGVpZ2h0LiBJbiB0aGUgY29sdW1uIHNoZWxsIHRoZSBmbGV4XG4gICAgIGl0ZW0gd291bGQgb3RoZXJ3aXNlIGdyb3cgdG8gdGhlIGxpc3QncyBmdWxsIGNvbnRlbnQgaGVpZ2h0IGFuZCB0aGVcbiAgICAgYWJzb2x1dGVseSBwb3NpdGlvbmVkIG1hcCB3b3VsZCBjb2xsYXBzZSB0byBub3RoaW5nLiAqL1xuICAuYXBwLXNoZWxsOmhhcyguYXBwLW1haW4tZmx1c2gpIHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGhlaWdodDogMTAwZHZoO1xuICB9XG4gIC5hcHAtbWFpbi1mbHVzaCB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cbn1cbi5zdHJpcGUtc2VjdXJlZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDAgMCAxNnB4O1xufVxuXG4uc3RyaXBlLXNlY3VyZWQtYmFkZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qIE1hcCBzZWFyY2ggcGFnZSAoUmVhY3QsIHNlZSBhcHAvamF2YXNjcmlwdC9tYXApLiAqL1xuLmFwcC1tYWluLWZsdXNoIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmFwcC1tYWluLWZsdXNoIC5hcHAtZmxhc2gge1xuICBtYXJnaW46IDEycHggMTZweCAwO1xufVxuXG4ubHQtc2VhcmNoLW1vdW50LFxuLmx0LXNlYXJjaCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IDE7XG4gIG1pbi1oZWlnaHQ6IDA7XG59XG5cbi8qIEhlYWRlcjogc2VhcmNoICsgZmlsdGVycyAqL1xuLmx0LXNlYXJjaC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4IDE2cHg7XG4gIHBhZGRpbmc6IDEycHggMTZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHQtc2VhcmNoLWNocm9tZS1iZyk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1sdC1saWdodC1ncmF5KTtcbiAgei1pbmRleDogMjA7XG59XG5cbi5sdC1zZWFyY2gtYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAxIDEgMzIwcHg7XG4gIG1heC13aWR0aDogNDgwcHg7XG59XG5cbi8qIE5lYXJieSB2aWV3IChcIlNob3cgTmVhcmJ5IEJ1c2luZXNzZXNcIik6IGJhY2sgYnV0dG9uICsgdGl0bGUgaW4gcGxhY2Ugb2YgdGhlIHNlYXJjaCBiYXIuICovXG4ubHQtbmVhcmJ5LWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBmbGV4OiAxIDEgMzIwcHg7XG4gIG1heC13aWR0aDogNDgwcHg7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLmx0LW5lYXJieS1iYWNrIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbiAgcGFkZGluZzogOHB4IDEwcHggOHB4IDRweDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1jYWxsb3V0KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWx0LXdlaWdodC1zZW1pYm9sZCk7XG4gIGNvbG9yOiB2YXIoLS1sdC1saW5rKTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1sdC1yYWRpdXMtY29udHJvbCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmx0LW5lYXJieS1iYWNrOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWx0LWxpbmstaG92ZXIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdC1ncm91cGVkLWJnKTtcbn1cblxuLmx0LW5lYXJieS1iYWNrOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiB2YXIoLS1sdC1mb2N1cy1yaW5nKTtcbn1cblxuLmx0LW5lYXJieS10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtYm9keSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtc2VtaWJvbGQpO1xuICBjb2xvcjogdmFyKC0tbHQtYmxhY2spO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmx0LXNlYXJjaC1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMTJweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBjb2xvcjogdmFyKC0tbHQtYmxhY2spO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmx0LXNlYXJjaC1pbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA5cHggMTJweCA5cHggMzRweDtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhbGxvdXQpO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbHQtaW5wdXQtYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tbHQtcmFkaXVzLWNvbnRyb2wpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdC13aGl0ZSk7XG4gIGNvbG9yOiB2YXIoLS1sdC1ibGFjayk7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLCBib3gtc2hhZG93IDAuMTVzIGVhc2U7XG59XG5cbi5sdC1zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHZhcigtLWx0LXBsYWNlaG9sZGVyKTtcbn1cblxuLmx0LXNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbHQtY29iYWx0KTtcbiAgYm94LXNoYWRvdzogdmFyKC0tbHQtZm9jdXMtcmluZyk7XG59XG5cbi5sdC10eXBlYWhlYWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgNHB4KTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIG1heC1oZWlnaHQ6IDYwdmg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx0LXdoaXRlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbHQtbGlnaHQtZ3JheSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWx0LXJhZGl1cy1jb250cm9sKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tbHQtc2hhZG93LWRyb3Bkb3duKTtcbiAgei1pbmRleDogMzA7XG59XG5cbi5sdC10eXBlYWhlYWQtc2hvdyxcbi5sdC10eXBlYWhlYWQtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTBweCAxMnB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbHQtbGlnaHQtZ3JheSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmx0LXR5cGVhaGVhZC1zaG93IHtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhbGxvdXQpO1xuICBmb250LXdlaWdodDogdmFyKC0tbHQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgY29sb3I6IHZhcigtLWx0LWxpbmspO1xufVxuXG4ubHQtdHlwZWFoZWFkLWl0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5sdC10eXBlYWhlYWQtc2hvdzpob3Zlcixcbi5sdC10eXBlYWhlYWQtaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx0LWdyb3VwZWQtYmcpO1xufVxuXG4ubHQtdHlwZWFoZWFkLW5hbWUge1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtY2FsbG91dCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtc2VtaWJvbGQpO1xuICBjb2xvcjogdmFyKC0tbHQtYmxhY2spO1xufVxuXG4ubHQtdHlwZWFoZWFkLW1ldGEsXG4ubHQtdHlwZWFoZWFkLWVtcHR5IHtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhcHRpb24pO1xuICBjb2xvcjogdmFyKC0tbHQtdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4ubHQtdHlwZWFoZWFkLWVtcHR5IHtcbiAgcGFkZGluZzogMTBweCAxMnB4O1xufVxuXG4vKiBGaWx0ZXIgY2hpcHMgKi9cbi5sdC1maWx0ZXItYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbn1cblxuLmx0LWNoaXAge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogN3B4IDE0cHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtY2FsbG91dCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtc2VtaWJvbGQpO1xuICBjb2xvcjogdmFyKC0tbHQtbGluayk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx0LXdoaXRlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbHQtY29iYWx0KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tbHQtcmFkaXVzLWNvbnRyb2wpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSwgY29sb3IgMC4xNXMgZWFzZTtcbn1cblxuLmx0LWNoaXA6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFmMmZhO1xufVxuXG4ubHQtY2hpcC1hY3RpdmUge1xuICBjb2xvcjogdmFyKC0tbHQtd2hpdGUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdC1maWxsKTtcbn1cblxuLmx0LWNoaXAtYWN0aXZlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHQtZmlsbC1ob3Zlcik7XG59XG5cbi5sdC1jaGlwLWJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4td2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgcGFkZGluZzogMCA1cHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWx0LXdlaWdodC1ib2xkKTtcbiAgY29sb3I6IHZhcigtLWx0LXdoaXRlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHQtZmlsbCk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLyogQm9keTogbGlzdCArIG1hcCAqL1xuLmx0LXNlYXJjaC1ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgbWluLWhlaWdodDogMDtcbn1cblxuLmx0LXJlc3VsdHMge1xuICBmbGV4OiAwIDAgMzgwcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx0LXdoaXRlKTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tbHQtbGlnaHQtZ3JheSk7XG59XG5cbi5sdC1yZXN1bHRzLWVtcHR5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAyNHB4IDE2cHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1jYWxsb3V0KTtcbiAgY29sb3I6IHZhcigtLWx0LXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLmx0LWNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEycHggMzJweCA4cHggMTJweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWx0LWxpZ2h0LWdyYXkpO1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcbn1cblxuLmx0LWNhcmQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdC1ncm91cGVkLWJnKTtcbn1cblxuLmx0LWNhcmQ6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IGluc2V0IHZhcigtLWx0LWZvY3VzLXJpbmctc3Ryb25nKTtcbn1cblxuLmx0LWNhcmQtc2VsZWN0ZWQge1xuICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tbHQtcmVkKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2NiwgMTQ1LCAyMTIsIDAuMDgpO1xufVxuXG4ubHQtY2FyZC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLmx0LWNhcmQtcGluIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4ubHQtcGluIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbn1cblxuLmx0LWNhcmQtaW5mbyB7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5sdC1jYXJkLW5hbWUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtc2VtaWJvbGQpO1xuICBjb2xvcjogdmFyKC0tbHQtYmxhY2spO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmx0LWNhcmQtbWV0YSB7XG4gIG1hcmdpbi10b3A6IDJweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogdmFyKC0tbHQtdGV4dC1zZWNvbmRhcnkpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmx0LWNhcmQtYWRkcmVzcyB7XG4gIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbn1cblxuLmx0LWNhcmQtZmF2b3JpdGUge1xuICBmbGV4LXNocmluazogMDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyNnB4O1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmx0LWNhcmQtc2FsZXMge1xuICBtYXJnaW46IDhweCAwIDA7XG59XG5cbi5sdC1jYXJkLXNhbGVzLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuXG4ubHQtY2FyZC1zYWxlcy1yb3cgZHQge1xuICBmbGV4OiAxO1xuICBjb2xvcjogdmFyKC0tbHQtdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4ubHQtY2FyZC1zYWxlcy1yb3cgZGQge1xuICBtYXJnaW46IDAgMCAwIDEycHg7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtc2VtaWJvbGQpO1xuICBjb2xvcjogdmFyKC0tbHQtYmxhY2spO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmx0LWNhcmQtY2hldnJvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMzJweDtcbn1cblxuLmx0LWNhcmQtY2hldnJvbjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMTRweDtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCB2YXIoLS1sdC1jaGV2cm9uKTtcbiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgdmFyKC0tbHQtY2hldnJvbik7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xufVxuXG4ubHQtY2FyZC1kZXRhaWxzLWxpbms6aG92ZXI6OmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1sdC1jb2JhbHQpO1xufVxuXG4ubHQtY2FyZC1saXN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx0LXdoaXRlKTtcbn1cblxuLyogRGV0YWlscyBwYW5lbCBiZXNpZGUgdGhlIGxpc3QgKi9cbi8qIFRoZSBzbG90IGFuaW1hdGVzIGl0cyB3aWR0aDsgdGhlIHBhbmVsIGluc2lkZSBrZWVwcyBhIGZpeGVkIHdpZHRoIHNvIGl0c1xuICAgY29udGVudHMgZG8gbm90IHJlZmxvdyB3aGlsZSBpdCBzbGlkZXMuICovXG4ubHQtZGV0YWlscy1zbG90IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIDBweDtcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBmbGV4LWJhc2lzIDI0MG1zIGVhc2U7XG59XG5cbi5sdC1kZXRhaWxzLXNsb3Qtb3BlbiB7XG4gIGZsZXgtYmFzaXM6IDQyMHB4O1xufVxuXG4ubHQtZGV0YWlscy1wYW5lbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMCAwIDQyMHB4O1xuICB3aWR0aDogNDIwcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBhZGRpbmc6IDE2cHggMjBweCAyNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdC13aGl0ZSk7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWx0LWxpZ2h0LWdyYXkpO1xufVxuXG4ubHQtZGV0YWlscy1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMnB4O1xuICByaWdodDogMTJweDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogdmFyKC0tbHQtdGV4dC1zZWNvbmRhcnkpO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxO1xufVxuXG4ubHQtZGV0YWlscy1jbG9zZTpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1sdC1ibGFjayk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx0LWdyb3VwZWQtYmcpO1xufVxuXG4ubHQtZGV0YWlscy1wYW5lbCAubHQtZGV0YWlscy1oZWFkZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAzMnB4O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4ubHQtZGV0YWlscy1wYW5lbCAubHQtZGV0YWlscy10aXRsZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1zdWJoZWFkaW5nKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWx0LXdlaWdodC1zZW1pYm9sZCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xufVxuXG4ubHQtZGV0YWlscy1hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4ubHQtZGV0YWlscy1hY3Rpb25zIC5hcHAtYnV0dG9uIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubHQtZGV0YWlscy1wYW5lbCAubHQtZGV0YWlscy1yb3cge1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5sdC1kZXRhaWxzLXBhbmVsIC5sdC1kZXRhaWxzLXJvdyBkdCB7XG4gIGZsZXg6IDAgMCAxMTBweDtcbn1cblxuLmx0LWRldGFpbHMtcGFuZWwgLmx0LWRldGFpbHMtc2VjdGlvbi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1ib2R5KTtcbn1cblxuLmx0LWRldGFpbHMtcGFuZWwgLmx0LXNhbGVzLWdyaWQge1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbi8qIE1hcCAqL1xuLmx0LW1hcC13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5sdC1tYXAtc2hlbGwsXG4ubHQtbWFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgei1pbmRleDogMDtcbn1cblxuLmx0LW1hcC11bmF2YWlsYWJsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAyNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1jYWxsb3V0KTtcbiAgY29sb3I6IHZhcigtLWx0LXRleHQtc2Vjb25kYXJ5KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHQtZ3JvdXBlZC1iZyk7XG59XG5cbi5sdC1tYXAtdW5hdmFpbGFibGUgY29kZSB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLmx0LW1hcC1jb250cm9scyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMnB4O1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDtcbn1cblxuLmx0LW1hcC1zZWFyY2gtYXJlYSB7XG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhbGxvdXQpO1xuICBmb250LXdlaWdodDogdmFyKC0tbHQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgY29sb3I6IHZhcigtLWx0LWxpbmspO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdC13aGl0ZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWx0LWNvYmFsdCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWx0LXJhZGl1cy1waWxsKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tbHQtc2hhZG93LWRyb3Bkb3duKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLmx0LW1hcC1zZWFyY2gtYXJlYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYWYyZmE7XG59XG5cbi5sdC1tYXAtbG9jYXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTBweDtcbiAgYm90dG9tOiAxMTBweDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMzRweDtcbiAgaGVpZ2h0OiAzNHB4O1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogdmFyKC0tbHQtbGluayk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx0LXdoaXRlKTtcbiAgYm9yZGVyOiAycHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogMTA7XG59XG5cbi5sdC1tYXAtbG9jYXRlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbn1cblxuLmx0LW1hcC1sb2NhdGU6bm90KC5sdC1tYXAtbG9jYXRlLWFjdGl2ZSkge1xuICBjb2xvcjogdmFyKC0tbHQtdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4ubHQtbWFwLWxvY2F0ZS1oaW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogNTJweDtcbiAgYm90dG9tOiAxMTJweDtcbiAgbWF4LXdpZHRoOiAyODBweDtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1jYXB0aW9uKTtcbiAgY29sb3I6IHZhcigtLWx0LWJsYWNrKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHQtd2hpdGUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1sdC1yYWRpdXMtY29udHJvbCk7XG4gIGJveC1zaGFkb3c6IHZhcigtLWx0LXNoYWRvdy1kcm9wZG93bik7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4ubHQtbWFwLWxvYWRpbmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDEycHg7XG4gIGJvdHRvbTogMTJweDtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1jYXB0aW9uKTtcbiAgY29sb3I6IHZhcigtLWx0LXRleHQtc2Vjb25kYXJ5KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1sdC1yYWRpdXMtY29udHJvbCk7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4vKiBSZWZpbmUgcGFuZWwgKi9cbi5sdC1yZWZpbmUtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgei1pbmRleDogMjAwO1xufVxuXG4ubHQtcmVmaW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IG1pbig0ODBweCwgMTAwdncgLSAzMnB4KTtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDY0cHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdC13aGl0ZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWx0LXJhZGl1cy1zaGVldCk7XG4gIGJveC1zaGFkb3c6IHZhcigtLWx0LXNoYWRvdy1jYXJkKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmx0LXJlZmluZS1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDEycHggMTZweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWx0LWxpZ2h0LWdyYXkpO1xufVxuXG4ubHQtcmVmaW5lLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtYm9keSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4ubHQtcmVmaW5lLWxpbmsge1xuICBwYWRkaW5nOiA0cHggMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1jYWxsb3V0KTtcbiAgY29sb3I6IHZhcigtLWx0LWxpbmspO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmx0LXJlZmluZS1ib2R5IHtcbiAgZmxleDogMTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcGFkZGluZzogOHB4IDE2cHggMTZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHQtZ3JvdXBlZC1iZyk7XG59XG5cbi5sdC1yZWZpbmUtc2VjdGlvbiB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbi5sdC1yZWZpbmUtbGFiZWwge1xuICBtYXJnaW46IDAgMCA2cHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1jYXB0aW9uKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWx0LXdlaWdodC1zZW1pYm9sZCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sdC1sZXR0ZXItc3BhY2luZy13aWRlKTtcbiAgY29sb3I6IHZhcigtLWx0LWdyb3VwZWQtbGFiZWwpO1xufVxuXG4ubHQtcmVmaW5lLW9wdGlvbnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdC13aGl0ZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWx0LXJhZGl1cy1jb250cm9sKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmx0LXJlZmluZS1vcHRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEwcHg7XG4gIHBhZGRpbmc6IDExcHggMTRweDtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhbGxvdXQpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbHQtbGlnaHQtZ3JheSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmx0LXJlZmluZS1vcHRpb246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5sdC1yZWZpbmUtb3B0aW9uIGlucHV0IHtcbiAgYWNjZW50LWNvbG9yOiB2YXIoLS1sdC1jb2JhbHQpO1xufVxuXG4ubHQtcmVmaW5lLWZpZWxkcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogOHB4O1xufVxuXG4ubHQtaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTBweCAxNHB4O1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtY2FsbG91dCk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1sdC1pbnB1dC1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1sdC1yYWRpdXMtY29udHJvbCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx0LXdoaXRlKTtcbiAgY29sb3I6IHZhcigtLWx0LWJsYWNrKTtcbn1cblxuLmx0LWlucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1sdC1jb2JhbHQpO1xuICBib3gtc2hhZG93OiB2YXIoLS1sdC1mb2N1cy1yaW5nKTtcbn1cblxuLmx0LXJlZmluZS1mb290ZXIge1xuICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1sdC1saWdodC1ncmF5KTtcbn1cblxuLmx0LXJlZmluZS1mb290ZXIgLmFwcC1idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5sdC1zZWFyY2gtYm9keSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG4gIC5sdC1kZXRhaWxzLXNsb3Qge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbiAgLmx0LWRldGFpbHMtc2xvdC1vcGVuIHtcbiAgICBmbGV4LWJhc2lzOiA1MCU7XG4gIH1cbiAgLmx0LWRldGFpbHMtcGFuZWwge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbHQtbGlnaHQtZ3JheSk7XG4gIH1cbiAgLmx0LXJlc3VsdHMge1xuICAgIGZsZXg6IDAgMCA0MCU7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1sdC1saWdodC1ncmF5KTtcbiAgfVxufVxuLyogU2lkZWJhciBkaXZpZGVyICovXG4uYXBwLXNpZGViYXItZGl2aWRlciB7XG4gIG1hcmdpbjogOHB4IDEycHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG59XG5cbi8qIExpc3QgcGFnZXMgKGZhdm9yaXRlcywgcmVjZW50cykgKi9cbi5sdC1saXN0LXBhZ2UgLmFwcC1wYWdlLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4ubHQtbGlzdC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLmx0LXNvcnQtY29udHJvbCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhbGxvdXQpO1xuICBjb2xvcjogdmFyKC0tbHQtdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4ubHQtc2VsZWN0IHtcbiAgcGFkZGluZzogN3B4IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtY2FsbG91dCk7XG4gIGNvbG9yOiB2YXIoLS1sdC1ibGFjayk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx0LXdoaXRlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbHQtaW5wdXQtYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tbHQtcmFkaXVzLWNvbnRyb2wpO1xufVxuXG4ubHQtc2VsZWN0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1sdC1jb2JhbHQpO1xuICBib3gtc2hhZG93OiB2YXIoLS1sdC1mb2N1cy1yaW5nKTtcbn1cblxuLmx0LWxpc3QtaGludCB7XG4gIG1hcmdpbjogLThweCAwIDEycHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1jYXB0aW9uKTtcbiAgY29sb3I6IHZhcigtLWx0LXRleHQtdGVydGlhcnkpO1xufVxuXG4ubHQtbGlzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx0LXdoaXRlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbHQtbGlnaHQtZ3JheSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWx0LXJhZGl1cy1jYXJkKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmx0LWxpc3QtZW1wdHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDMycHggMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtY2FsbG91dCk7XG4gIGNvbG9yOiB2YXIoLS1sdC10ZXh0LXRlcnRpYXJ5KTtcbn1cblxuLmx0LWxpc3Qtcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1sdC1saWdodC1ncmF5KTtcbn1cblxuLmx0LWxpc3Qtcm93Omxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ubHQtbGlzdC1yb3cgLmx0LWNhcmQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLmx0LWxpc3Qtcm93LWNhcmQge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5sdC1saXN0LXJvdy1kcmFnZ2FibGUge1xuICBjdXJzb3I6IGdyYWI7XG59XG5cbi5sdC1saXN0LXJvdy1kcmFnZ2luZyB7XG4gIG9wYWNpdHk6IDAuNDtcbn1cblxuLmx0LWxpc3Qtcm93LW92ZXIge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDNweCAwIHZhcigtLWx0LWNvYmFsdCk7XG59XG5cbi5sdC1kcmFnLWhhbmRsZSB7XG4gIGZsZXg6IDAgMCAyOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx0LWdyb3VwZWQtYmcpO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1sdC1saWdodC1ncmF5KTtcbn1cblxuLmx0LWRyYWctaGFuZGxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdmFyKC0tbHQtY2hldnJvbikgMCAycHgsIHRyYW5zcGFyZW50IDJweCA0cHgpO1xufVxuXG4vKiBCdXNpbmVzcyBkZXRhaWxzICovXG4ubHQtZGV0YWlscy1sb2FkaW5nIHtcbiAgcGFkZGluZzogMzJweCAwO1xuICBjb2xvcjogdmFyKC0tbHQtdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4vKiBQcmVtaXVtIGdhdGUgaW5zaWRlIHRoZSBkZXRhaWxzIHBhbmVsLCBzdHlsZWQgbGlrZSB0aGUgdXBncmFkZSBwYWdlLiAqL1xuLmx0LWRldGFpbHMtZ2F0ZSB7XG4gIHBhZGRpbmc6IDI4cHggMCA4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmx0LWRldGFpbHMtZ2F0ZS1leWVicm93IHtcbiAgbWFyZ2luOiAwIDAgOHB4O1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtY2FwdGlvbik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtc2VtaWJvbGQpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbHQtbGV0dGVyLXNwYWNpbmctd2lkZSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS1sdC1saW5rKTtcbn1cblxuLmx0LWRldGFpbHMtZ2F0ZS1oZWFkbGluZSB7XG4gIG1hcmdpbjogMCAwIDhweDtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBmb250LXdlaWdodDogdmFyKC0tbHQtd2VpZ2h0LWJvbGQpO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWx0LWxldHRlci1zcGFjaW5nLXRpZ2h0KTtcbn1cblxuLmx0LWRldGFpbHMtZ2F0ZS1zdWJoZWFkIHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhbGxvdXQpO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogdmFyKC0tbHQtdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4ubHQtZGV0YWlscy1nYXRlLXN0YXRzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICBnYXA6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmc6IDE2cHggMTJweDtcbiAgY29sb3I6IHZhcigtLWx0LXdoaXRlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHQtZmlsbCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWx0LXJhZGl1cy1jYXJkKTtcbn1cblxuLmx0LWRldGFpbHMtZ2F0ZS1zdGF0LW51bWJlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtYm9sZCk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sdC1sZXR0ZXItc3BhY2luZy10aWdodCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG59XG5cbi5sdC1kZXRhaWxzLWdhdGUtc3RhdC1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6IHZhcigtLWx0LWxpbmstb24tY29iYWx0KTtcbn1cblxuLmx0LWRldGFpbHMtZ2F0ZS1mZWF0dXJlcyB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5sdC1kZXRhaWxzLWdhdGUtZmVhdHVyZXMgbGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEwcHg7XG4gIHBhZGRpbmc6IDlweCAxMnB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx0LXdoaXRlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbHQtbGlnaHQtZ3JheSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWx0LXJhZGl1cy1jb250cm9sKTtcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xufVxuXG4ubHQtZGV0YWlscy1nYXRlLWNoZWNrIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGNvbG9yOiB2YXIoLS1sdC1ncmVlbik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtYm9sZCk7XG59XG5cbi5sdC1kZXRhaWxzLWdhdGUtY3RhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDE0cHggMjBweDtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWJvZHkpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5sdC1kZXRhaWxzLWdhdGUtYXNrLWFkbWluIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtYm9keSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1sdC10ZXh0LXNlY29uZGFyeSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmx0LWRldGFpbHMtZ2F0ZS1ub3RlIHtcbiAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhcHRpb24pO1xuICBjb2xvcjogdmFyKC0tbHQtdGV4dC10ZXJ0aWFyeSk7XG59XG5cbi5sdC1kZXRhaWxzLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLmx0LWRldGFpbHMtdGl0bGUge1xuICBtYXJnaW46IDA7XG59XG5cbi5sdC1kZXRhaWxzLWZhdm9yaXRlIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDM2cHg7XG59XG5cbi5sdC1kZXRhaWxzLXRhYmxlIHtcbiAgbWFyZ2luOiAxNnB4IDAgMDtcbn1cblxuLmx0LWRldGFpbHMtcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxNnB4O1xuICBwYWRkaW5nOiAxMnB4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1sdC1saWdodC1ncmF5KTtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhbGxvdXQpO1xufVxuXG4ubHQtZGV0YWlscy1yb3cgZHQge1xuICBmbGV4OiAwIDAgMTQwcHg7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtc2VtaWJvbGQpO1xuICBjb2xvcjogdmFyKC0tbHQtdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4ubHQtZGV0YWlscy1yb3cgZGQge1xuICBmbGV4OiAxO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiB2YXIoLS1sdC1ibGFjayk7XG59XG5cbi5sdC1wcmUtbGluZSB7XG4gIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbn1cblxuLmx0LWRldGFpbHMtbGluayB7XG4gIGNvbG9yOiB2YXIoLS1sdC1saW5rKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWx0LXdlaWdodC1zZW1pYm9sZCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmx0LWRldGFpbHMtbGluazpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ubHQtZGV0YWlscy1zZWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogMjRweDtcbn1cblxuLmx0LWRldGFpbHMtc2VjdGlvbi10aXRsZSB7XG4gIG1hcmdpbjogMCAwIDEycHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1zdWJoZWFkaW5nKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWx0LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbi5sdC1kZXRhaWxzLXNlY3Rpb24tc3VidGl0bGUge1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtY2FwdGlvbik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtcmVndWxhcik7XG4gIGNvbG9yOiB2YXIoLS1sdC10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5sdC1kZXRhaWxzLW5vLWRhdGEge1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiB2YXIoLS1sdC10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5sdC1zYWxlcy1ncmlkLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi5sdC1zYWxlcy1ncmlkIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubHQtc2FsZXMtZ3JpZCB0aCxcbi5sdC1zYWxlcy1ncmlkIHRkIHtcbiAgcGFkZGluZzogNnB4IDhweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1sdC1saWdodC1ncmF5KTtcbn1cblxuLmx0LXNhbGVzLWdyaWQgdGhbc2NvcGU9cm93XSxcbi5sdC1zYWxlcy1ncmlkIHRoZWFkIHRoOmZpcnN0LWNoaWxkLFxuLmx0LXNhbGVzLWdyaWQgdGZvb3QgdGg6Zmlyc3QtY2hpbGQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ubHQtc2FsZXMtZ3JpZCB0aCB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4ubHQtc2FsZXMtZ3JpZCB0Zm9vdCB0aCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCB2YXIoLS1sdC1saXN0LWRpdmlkZXIpO1xufVxuXG4ubHQtcHJvZHVjdC1taXgge1xuICBtYXgtd2lkdGg6IDMyMHB4O1xuICBtYXJnaW46IDA7XG59XG5cbi5sdC1wcm9kdWN0LW1peCA+IGRpdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogOHB4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1sdC1saWdodC1ncmF5KTtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhbGxvdXQpO1xufVxuXG4ubHQtcHJvZHVjdC1taXggZHQge1xuICBjb2xvcjogdmFyKC0tbHQtdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4ubHQtcHJvZHVjdC1taXggZGQge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4vKiBQcm9maWxlIChncm91cGVkIGxpc3QgbGlrZSB0aGUgbW9iaWxlIFByb2ZpbGUgdGFiKSAqL1xuLmx0LXByb2ZpbGUgLmFwcC1wYWdlLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4ubHQtZ3JvdXAtdGl0bGUge1xuICBtYXJnaW46IDI0cHggMCA2cHg7XG4gIHBhZGRpbmc6IDAgMTZweDtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhcHRpb24pO1xuICBmb250LXdlaWdodDogdmFyKC0tbHQtd2VpZ2h0LXJlZ3VsYXIpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0tbHQtZ3JvdXBlZC1sYWJlbCk7XG59XG5cbi5sdC1ncm91cCB7XG4gIG1hcmdpbjogMTJweCAwIDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx0LXdoaXRlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbHQtbGlnaHQtZ3JheSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWx0LXJhZGl1cy1jYXJkKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmx0LWdyb3VwLXRpdGxlICsgLmx0LWdyb3VwIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmx0LWdyb3VwLXNwYWNlZCB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbi5sdC1ncm91cC1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiA0OHB4O1xuICBwYWRkaW5nOiAxMXB4IDE2cHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1jYWxsb3V0KTtcbiAgY29sb3I6IHZhcigtLWx0LWJsYWNrKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWx0LWxpZ2h0LWdyYXkpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5sdC1ncm91cCA+IC5sdC1ncm91cC1yb3c6bGFzdC1jaGlsZCxcbi5sdC1ncm91cCA+IGZvcm0gPiAubHQtZ3JvdXAtcm93Omxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ubHQtZ3JvdXAtcm93LWxpbmsge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5sdC1ncm91cC1yb3ctbGluazpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx0LWdyb3VwZWQtYmcpO1xufVxuXG4ubHQtZ3JvdXAtcm93LWJ1dHRvbiB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4ubHQtZ3JvdXAtcm93LW1haW4ge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xufVxuXG4ubHQtcHJvZmlsZS1pZGVudGl0eSAubHQtZ3JvdXAtcm93LW1haW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAwO1xufVxuXG4ubHQtZ3JvdXAtY2hldnJvbiB7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBmbGV4LXNocmluazogMDtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLWx0LWNoZXZyb24pO1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCB2YXIoLS1sdC1jaGV2cm9uKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4ubHQtcHJvZmlsZS1pZGVudGl0eSB7XG4gIG1pbi1oZWlnaHQ6IDY0cHg7XG59XG5cbi5sdC1wcm9maWxlLW5hbWUge1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtYm9keSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtc2VtaWJvbGQpO1xuICBjb2xvcjogdmFyKC0tbHQtZGFyay1ncmF5KTtcbn1cblxuLmx0LXByb2ZpbGUtZW1haWwge1xuICBtYXJnaW4tdG9wOiAzcHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1jYWxsb3V0KTtcbiAgY29sb3I6IHZhcigtLWx0LWRhcmstZ3JheSk7XG59XG5cbi5sdC1zdGFyIHtcbiAgY29sb3I6IHZhcigtLWx0LWNvYmFsdCk7XG59XG5cbi5sdC1ncm91cC1yb3ctc3dpdGNoIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubHQtc3dpdGNoIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDUxcHg7XG4gIGhlaWdodDogMzFweDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1sdC1yYWRpdXMtcGlsbCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx0LWxpZ2h0LWdyYXkpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubHQtc3dpdGNoOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAycHg7XG4gIGxlZnQ6IDJweDtcbiAgd2lkdGg6IDI3cHg7XG4gIGhlaWdodDogMjdweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdC13aGl0ZSk7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xufVxuXG4ubHQtc3dpdGNoOmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdC1jb2JhbHQpO1xufVxuXG4ubHQtc3dpdGNoOmNoZWNrZWQ6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xufVxuXG4ubHQtc3dpdGNoOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiB2YXIoLS1sdC1mb2N1cy1yaW5nLXN0cm9uZyk7XG59XG5cbi5sdC1pbnB1dC1wbGFpbiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLmx0LWlucHV0LXBsYWluOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmx0LWdyb3VwLWZvb3Rub3RlLFxuLmx0LWZpZWxkLWhpbnQge1xuICBtYXJnaW46IDhweCAxNnB4IDA7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1jYXB0aW9uKTtcbiAgY29sb3I6IHZhcigtLWx0LXRleHQtdGVydGlhcnkpO1xufVxuXG4ubHQtZmllbGQtaGludCB7XG4gIG1hcmdpbjogNnB4IDAgMDtcbiAgY29sb3I6IHZhcigtLWx0LWxpbmspO1xufVxuXG4ubHQtc2VhcmNoLWlucHV0LXBsYWluIHtcbiAgcGFkZGluZy1sZWZ0OiAxNHB4O1xufVxuXG4ubHQtcHJvZmlsZS1kYW5nZXIge1xuICBtYXJnaW4tdG9wOiAyNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5sdC1kYW5nZXItbGluayB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1jYWxsb3V0KTtcbiAgY29sb3I6IHZhcigtLWx0LXJlZC10ZXh0KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubHQtZGFuZ2VyLWxpbms6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmFwcC1idXR0b24tZGFuZ2VyIHtcbiAgY29sb3I6IHZhcigtLWx0LXdoaXRlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHQtcmVkLXRleHQpO1xufVxuXG4uYXBwLWJ1dHRvbi1kYW5nZXI6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjMwMDEyO1xufVxuXG4ubHQtdGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTJweCAxNHB4O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogdmFyKC0tbHQtYmxhY2spO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdC13aGl0ZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWx0LWlucHV0LWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWx0LXJhZGl1cy1jb250cm9sKTtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLmx0LXRleHRhcmVhOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1sdC1jb2JhbHQpO1xuICBib3gtc2hhZG93OiB2YXIoLS1sdC1mb2N1cy1yaW5nKTtcbn1cblxuLmx0LXN1cHBvcnQtYWx0IHtcbiAgbWFyZ2luOiAyNHB4IDAgMDtcbn1cblxuLmx0LXN1cHBvcnQtYWx0IGEge1xuICBjb2xvcjogdmFyKC0tbHQtbGluayk7XG59XG5cbi8qIFByZW1pdW0gdXBncmFkZSBwYWdlICovXG4uYXBwLW1haW4tdXBncmFkZSB7XG4gIHBhZGRpbmc6IDAgMCA0OHB4O1xufVxuXG4udXBncmFkZSB7XG4gIG1heC13aWR0aDogOTYwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDI0cHg7XG59XG5cbi51cGdyYWRlLXNlY3Rpb24tdGl0bGUge1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtaGVhZGluZyk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtYm9sZCk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sdC1sZXR0ZXItc3BhY2luZy10aWdodCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogSGVybyAqL1xuLnVwZ3JhZGUtaGVybyB7XG4gIHBhZGRpbmc6IDU2cHggMCA0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi51cGdyYWRlLWV5ZWJyb3cge1xuICBtYXJnaW46IDAgMCAxMnB4O1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtY2FwdGlvbik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtc2VtaWJvbGQpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbHQtbGV0dGVyLXNwYWNpbmctd2lkZSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS1sdC1saW5rKTtcbn1cblxuLnVwZ3JhZGUtaGVhZGxpbmUge1xuICBtYXgtd2lkdGg6IDY0MHB4O1xuICBtYXJnaW46IDAgYXV0byAxMnB4O1xuICBmb250LXNpemU6IDQwcHg7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtYm9sZCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sdC1sZXR0ZXItc3BhY2luZy10aWdodCk7XG59XG5cbi51cGdyYWRlLXN1YmhlYWQge1xuICBtYXgtd2lkdGg6IDU2MHB4O1xuICBtYXJnaW46IDAgYXV0byAyOHB4O1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtc3ViaGVhZGluZyk7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiB2YXIoLS1sdC10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi51cGdyYWRlLWhlcm8tZmVhdHVyZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDZweCAxOHB4O1xuICBtYXgtd2lkdGg6IDcyMHB4O1xuICBtYXJnaW46IDAgYXV0byAyOHB4O1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtY2FsbG91dCk7XG4gIGNvbG9yOiB2YXIoLS1sdC10ZXh0KTtcbn1cblxuLnVwZ3JhZGUtY3RhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiAxMnB4O1xufVxuXG4udXBncmFkZS1jdGEgLmFwcC1idXR0b24ge1xuICBwYWRkaW5nOiAxNHB4IDI0cHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1ib2R5KTtcbn1cblxuLnVwZ3JhZGUtYXNrLWFkbWluIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtYm9keSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1sdC10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi51cGdyYWRlLWN0YS1ub3RlIHtcbiAgbWFyZ2luOiAxNHB4IDAgMDtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhcHRpb24pO1xuICBjb2xvcjogdmFyKC0tbHQtdGV4dC10ZXJ0aWFyeSk7XG59XG5cbi8qIFN0YXRzIHN0cmlwICovXG4udXBncmFkZS1zdGF0cyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIGdhcDogMTZweDtcbiAgbWFyZ2luOiAwIDAgNTZweDtcbiAgcGFkZGluZzogMjRweDtcbiAgY29sb3I6IHZhcigtLWx0LXdoaXRlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHQtZmlsbCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWx0LXJhZGl1cy1jYXJkKTtcbn1cblxuLnVwZ3JhZGUtc3RhdCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnVwZ3JhZGUtc3RhdC1udW1iZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAzMnB4O1xuICBmb250LXdlaWdodDogdmFyKC0tbHQtd2VpZ2h0LWJvbGQpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbHQtbGV0dGVyLXNwYWNpbmctdGlnaHQpO1xuICBsaW5lLWhlaWdodDogMS4xO1xufVxuXG4udXBncmFkZS1zdGF0LWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhbGxvdXQpO1xuICBjb2xvcjogdmFyKC0tbHQtbGluay1vbi1jb2JhbHQpO1xufVxuXG4vKiBGZWF0dXJlIGdyaWQgKi9cbi51cGdyYWRlLWZlYXR1cmVzIHtcbiAgbWFyZ2luLWJvdHRvbTogNTZweDtcbn1cblxuLnVwZ3JhZGUtZmVhdHVyZS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyNjBweCwgMWZyKSk7XG4gIGdhcDogMTZweDtcbn1cblxuLnVwZ3JhZGUtZmVhdHVyZSB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWx0LXdoaXRlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbHQtbGlnaHQtZ3JheSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWx0LXJhZGl1cy1jYXJkKTtcbn1cblxuLnVwZ3JhZGUtZmVhdHVyZS1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICBjb2xvcjogdmFyKC0tbHQtY29iYWx0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2NiwgMTQ1LCAyMTIsIDAuMTIpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuXG4udXBncmFkZS1mZWF0dXJlLWljb24gLmFwcC1uYXYtaWNvbiB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi51cGdyYWRlLWZlYXR1cmUgaDMge1xuICBtYXJnaW46IDAgMCA2cHg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1ib2R5KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWx0LXdlaWdodC1zZW1pYm9sZCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi51cGdyYWRlLWZlYXR1cmUgcCB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhbGxvdXQpO1xuICBsaW5lLWhlaWdodDogMS40NTtcbiAgY29sb3I6IHZhcigtLWx0LXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLyogQ29tcGFyaXNvbiB0YWJsZSAqL1xuLnVwZ3JhZGUtY29tcGFyZSB7XG4gIG1hcmdpbi1ib3R0b206IDU2cHg7XG59XG5cbi51cGdyYWRlLWNvbXBhcmUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLnVwZ3JhZGUtY29tcGFyZS10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdC13aGl0ZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWx0LWxpZ2h0LWdyYXkpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1sdC1yYWRpdXMtY2FyZCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1jYWxsb3V0KTtcbn1cblxuLnVwZ3JhZGUtY29tcGFyZS10YWJsZSB0aCxcbi51cGdyYWRlLWNvbXBhcmUtdGFibGUgdGQge1xuICBwYWRkaW5nOiAxNHB4IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWx0LWxpZ2h0LWdyYXkpO1xufVxuXG4udXBncmFkZS1jb21wYXJlLXRhYmxlIHRoW3Njb3BlPXJvd10ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXdlaWdodDogdmFyKC0tbHQtd2VpZ2h0LW1lZGl1bSk7XG59XG5cbi51cGdyYWRlLWNvbXBhcmUtdGFibGUgdGhlYWQgdGgge1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtY2FwdGlvbik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtc2VtaWJvbGQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbHQtbGV0dGVyLXNwYWNpbmctd2lkZSk7XG4gIGNvbG9yOiB2YXIoLS1sdC10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi51cGdyYWRlLWNvbXBhcmUtdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0aCxcbi51cGdyYWRlLWNvbXBhcmUtdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi51cGdyYWRlLWNvbXBhcmUtcHJlbWl1bSB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtc2VtaWJvbGQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY2LCAxNDUsIDIxMiwgMC4wOCk7XG59XG5cbi51cGdyYWRlLWNvbXBhcmUtdGFibGUgdGhlYWQgLnVwZ3JhZGUtY29tcGFyZS1wcmVtaXVtIHtcbiAgY29sb3I6IHZhcigtLWx0LWxpbmspO1xufVxuXG4udXBncmFkZS1jaGVjayB7XG4gIGNvbG9yOiB2YXIoLS1sdC1ncmVlbik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtYm9sZCk7XG59XG5cbi51cGdyYWRlLWRhc2gge1xuICBjb2xvcjogdmFyKC0tbHQtY2hldnJvbik7XG59XG5cbi8qIFBsYW5zICovXG4udXBncmFkZS1wbGFucyB7XG4gIG1hcmdpbi1ib3R0b206IDU2cHg7XG59XG5cbi51cGdyYWRlLXBsYW4tZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjQwcHgsIDFmcikpO1xuICBnYXA6IDE2cHg7XG4gIG1heC13aWR0aDogNjQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4udXBncmFkZS1wbGFuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAyOHB4IDIwcHggMjRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sdC13aGl0ZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWx0LWxpZ2h0LWdyYXkpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1sdC1yYWRpdXMtY2FyZCk7XG59XG5cbi51cGdyYWRlLXBsYW4tZmVhdHVyZWQge1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1sdC1jb2JhbHQpO1xuICBib3gtc2hhZG93OiB2YXIoLS1sdC1zaGFkb3ctY2FyZCk7XG59XG5cbi51cGdyYWRlLXBsYW4tYmFkZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTEycHg7XG4gIHBhZGRpbmc6IDNweCAxMHB4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtYm9sZCk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sdC1sZXR0ZXItc3BhY2luZy13aWRlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWx0LXdoaXRlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbHQtZmlsbCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWx0LXJhZGl1cy1waWxsKTtcbn1cblxuLnVwZ3JhZGUtcGxhbi1uYW1lIHtcbiAgbWFyZ2luOiAwIDAgNnB4O1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtYm9keSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4udXBncmFkZS1wbGFuLXByaWNlIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDM0cHg7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtYm9sZCk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1sdC1sZXR0ZXItc3BhY2luZy10aWdodCk7XG59XG5cbi51cGdyYWRlLXBsYW4tbm90ZSB7XG4gIG1hcmdpbjogNHB4IDAgMThweDtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhcHRpb24pO1xuICBjb2xvcjogdmFyKC0tbHQtdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4udXBncmFkZS1wbGFuLWJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4udXBncmFkZS1maW5lcHJpbnQge1xuICBtYXJnaW46IDIwcHggMCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbHQtdHlwZS1jYXB0aW9uKTtcbiAgY29sb3I6IHZhcigtLWx0LXRleHQtdGVydGlhcnkpO1xufVxuXG4udXBncmFkZS1maW5lcHJpbnQgYSB7XG4gIGNvbG9yOiB2YXIoLS1sdC10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi8qIEZBUSAqL1xuLnVwZ3JhZGUtZmFxLWxpc3Qge1xuICBtYXgtd2lkdGg6IDY0MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLnVwZ3JhZGUtZmFxLWxpc3QgPiBkaXYge1xuICBwYWRkaW5nOiAxNHB4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1sdC1saWdodC1ncmF5KTtcbn1cblxuLnVwZ3JhZGUtZmFxLWxpc3QgPiBkaXY6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi51cGdyYWRlLWZhcS1saXN0IGR0IHtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICBmb250LXNpemU6IHZhcigtLWx0LXR5cGUtY2FsbG91dCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1sdC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4udXBncmFkZS1mYXEtbGlzdCBkZCB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiB2YXIoLS1sdC10eXBlLWNhbGxvdXQpO1xuICBsaW5lLWhlaWdodDogMS40NTtcbiAgY29sb3I6IHZhcigtLWx0LXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnVwZ3JhZGUtZmFxLWxpc3QgZGQgYSB7XG4gIGNvbG9yOiB2YXIoLS1sdC1saW5rKTtcbn1cblxuLyogTmF2IGVudHJ5IGZvciBmcmVlIHVzZXJzICovXG4uYXBwLXNpZGViYXItbGluay11cGdyYWRlIHtcbiAgY29sb3I6ICNmZmQxNjY7XG59XG5cbi5hcHAtc2lkZWJhci1saW5rLXVwZ3JhZGUgLmFwcC1uYXYtaWNvbiB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qIFVzZXIgbWVudSBlbnRyeSAqL1xuLmFwcC11c2VyLW1lbnUtaXRlbS11cGdyYWRlIHtcbiAgY29sb3I6IHZhcigtLWx0LWxpbmspO1xuICBmb250LXdlaWdodDogdmFyKC0tbHQtd2VpZ2h0LXNlbWlib2xkKTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC51cGdyYWRlLWhlcm8ge1xuICAgIHBhZGRpbmc6IDMycHggMCAyOHB4O1xuICB9XG4gIC51cGdyYWRlLWhlYWRsaW5lIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gIH1cbiAgLnVwZ3JhZGUtc3RhdHMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG59XG4iXX0= */