/* src/main/frontend/css/style.css */
:root {
  --color-bg-gradient-start: #5091DD;
  --color-bg-gradient-end: #030617;
  --color-bg-main: #F4F7F8;
  --color-bg-surface: #FFFFFF;
  --color-bg-card: #f8fafc;
  --color-bg-hover: #f1f5f9;
  --color-bg-hover-dark: #36454F;
  --color-bg-dark: #36454F;
  --color-bg-navy: #030617;
  --color-bg-extra: darkslategray;
  --color-text-primary: #36454F;
  --color-text-heading: #0f172a;
  --color-text-secondary: #64748b;
  --color-text-muted: #94a3b8;
  --color-text-inverse: #F4F7F8;
  --color-text-white: #ffffff;
  --color-border-light: #E5E5E5;
  --color-border-subtle: #e2e8f0;
  --color-border-dashed: #cbd5e1;
  --color-border-standard: lightgray;
  --color-border-dark: #36454F;
  --border-width-sm: 1px;
  --border-width-md: 2px;
  --border-width-lg: 4px;
  --border-width-xl: 5px;
  --border-radius-xs: 4px;
  --border-radius-sm: 6px;
  --border-radius: 8px;
  --border-radius-lg: 16px;
  --border-radius-full: 9999px;
  --border-radius-circle: 50%;
  --color-primary: #0284c7;
  --color-primary-hover: #0369a1;
  --color-accent: #38bdf8;
  --color-highlight: #60a5fa;
  --color-link: #1d4ed8;
  --color-link-hover: #1e40af;
  --color-link-underline: rgba(29, 78, 216, 0.35);
  --color-success: #16a34a;
  --color-success-bg: #f0fdf4;
  --color-success-border: #bbf7d0;
  --color-success-text: #166534;
  --color-warning: #d97706;
  --color-warning-bg: #fffbeb;
  --color-warning-border: #fde68a;
  --color-warning-text: #92400e;
  --color-warning-star: #eab308;
  --color-error: #dc2626;
  --color-error-bg: #fef2f2;
  --color-error-border: #fecaca;
  --color-error-text: #991b1b;
  --color-info-bg: #eff6ff;
  --color-info-border: #bfdbfe;
  --color-info-text: #1e40af;
  --color-pos-first: #FFD700;
  --color-pos-second: #C0C0C0;
  --color-pos-third: #CD7F32;
  --color-pos-four-five: #AABFC9;
  --space-2xs: 2px;
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 12px;
  --space-lg: 16px;
  --space-xl: 24px;
  --space-2xl: 32px;
  --font-heading:
    "PillGothic300mgBold",
    "Lucida Grande",
    Helvetica,
    Arial,
    sans-serif;
  --font-base: Arial, sans-serif;
  --font-mono:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    monospace;
  --font-size-3xs: 0.625rem;
  --font-size-2xs: 0.6875rem;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.8125rem;
  --font-size-md: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.875rem;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --line-height-none: 1;
  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.12);
  --shadow-lg: 0 10px 25px -5px rgba(0, 0, 0, 0.3);
  --shadow-xl: 0 25px 60px rgba(0, 0, 0, 0.5);
  --transition-fast: 0.15s ease;
  --transition-base: 0.2s ease;
  --transition-smooth: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  --modal-width-sm: 480px;
  --modal-width-md: 600px;
  --modal-width-lg: 800px;
  --modal-width-xl: 1200px;
  --z-index-table-sticky: 2;
  --z-index-table-sticky-head: 3;
  --z-index-sticky-header: 10;
  --z-index-loading-overlay: 20;
  --z-index-dropdown: 500;
  --z-index-backdrop: 990;
  --z-index-drawer: 1000;
  --z-index-modal: 1050;
}
html {
  font-family: var(--font-base);
  background:
    radial-gradient(
      ellipse at bottom,
      var(--color-bg-gradient-start) 0%,
      var(--color-bg-gradient-end) 100%) no-repeat fixed;
  color: var(--color-text-primary);
}
body {
  font-size: var(--font-size-base);
  display: grid;
  margin: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}
p {
  margin: var(--space-xs) 0;
}
h1,
h2,
h3,
h4,
h5 {
  font-family: var(--font-heading);
  color: var(--color-text-primary);
  margin: var(--space-lg) 0 var(--space-md) 0;
}
.footer h1,
.footer h2,
.footer h3,
.footer h4,
.footer h5 {
  color: var(--color-text-inverse);
}
a,
a:link,
a:visited {
  color: var(--color-link);
  text-decoration: none;
}
a:hover,
a:active {
  color: var(--color-link-hover);
  text-decoration: underline;
}
.header .patreon {
  font-size: var(--font-size-3xl);
}
.header .patreon a,
.header .patreon a:link,
.header .patreon a:visited {
  color: var(--color-bg-dark);
  text-decoration: none;
  transition: color var(--transition-fast);
}
.header .patreon a:is(:hover, :focus-visible, :active) {
  color: var(--color-link);
}
.font-bold {
  font-weight: var(--font-weight-bold);
}
.font-muted {
  color: var(--color-text-primary);
}
.font-color-light {
  color: var(--color-text-inverse);
}
.text-center {
  text-align: center;
}
.hidden {
  display: none !important;
}
input[type=submit],
input[type=file],
select {
  background-color: var(--color-bg-surface);
}
textarea,
input[type=password],
input[type=text],
input[type=email] {
  background-color: var(--color-bg-surface);
}
textarea,
input[type=submit],
input[type=file],
input[type=password],
input[type=text],
input[type=email],
select {
  border: var(--border-width-md) solid var(--color-border-light);
  border-radius: var(--border-radius);
  color: var(--color-text-primary);
  cursor: pointer;
  padding: var(--space-sm) var(--space-md);
}
input[type=checkbox] {
  margin: 0;
}
table {
  font-size: var(--font-size-sm);
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  width: 100%;
  border-radius: var(--border-radius);
  border: var(--border-width-sm) solid var(--color-border-light);
  overflow: hidden;
}
table thead {
  font-family: var(--font-heading);
  color: var(--color-bg-surface);
  text-transform: none;
}
table thead tr th,
table thead tr td {
  padding: var(--space-md) var(--space-lg);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
}
table thead a,
table thead a:is(:link, :visited, :hover, :active, :focus, :focus-visible) {
  color: var(--color-text-inverse);
  text-decoration-color: currentColor;
}
.flex-row-item--world-record a,
.flex-row-item--world-record a:is(:link, :visited, :hover, :active, :focus, :focus-visible),
.flex-row--news-footer a,
.flex-row--news-footer a:is(:link, :visited, :hover, :active, :focus, :focus-visible),
.side-area a,
.side-area a:is(:link, :visited, :hover, :active, :focus, :focus-visible),
table tbody a,
table tbody a:is(:link, :visited, :hover, :active, :focus, :focus-visible) {
  color: var(--color-text-primary);
  text-decoration-color: currentColor;
}
table tbody tr th,
table tbody tr td {
  padding: var(--space-sm) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
}
table tbody tr:last-child td {
  border-bottom: none;
}
table tbody tr:hover {
  background-color: var(--color-bg-hover);
  transition: background-color var(--transition-fast);
}
table tbody tr:nth-child(odd) {
  background-color: var(--color-bg-hover);
}
.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
}
.sticky-table table {
  overflow: visible;
}
.sticky-table table thead tr:first-child th:first-child,
.sticky-table table thead tr:first-child td:first-child {
  border-top-left-radius: calc(var(--border-radius) - var(--border-width-sm));
}
.sticky-table table thead tr:first-child th:last-child,
.sticky-table table thead tr:first-child td:last-child {
  border-top-right-radius: calc(var(--border-radius) - var(--border-width-sm));
}
.sticky-table table tbody tr:last-child th:first-child,
.sticky-table table tbody tr:last-child td:first-child {
  border-bottom-left-radius: calc(var(--border-radius) - var(--border-width-sm));
}
.sticky-table table tbody tr:last-child th:last-child,
.sticky-table table tbody tr:last-child td:last-child {
  border-bottom-right-radius: calc(var(--border-radius) - var(--border-width-sm));
}
.sticky-table--compare table thead h3 {
  color: var(--color-text-inverse);
  margin: var(--space-xs);
}
.sticky-table--compare table td {
  background-color: var(--color-bg-surface);
}
.sticky-table--compare table tbody tr td:nth-child(even) {
  background-color: var(--color-bg-hover);
}
.sticky-table--compare table thead tr th {
  background-color: var(--color-bg-dark);
  color: var(--color-text-white);
  border-right: var(--border-width-sm) solid var(--color-border-light);
}
.sticky-table table thead th.sticky-col,
.sticky-table table thead td.sticky-col,
.sticky-table--compare table thead th.sticky-col {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: var(--z-index-table-sticky-head);
  background-color: var(--color-bg-dark);
  background-clip: padding-box;
  box-shadow: 2px 0 5px rgba(0, 0, 0, 0.08);
}
.sticky-table table tbody th.sticky-col,
.sticky-table table tbody td.sticky-col,
.sticky-table--compare table tbody th.sticky-col {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: var(--z-index-table-sticky);
  background-color: var(--color-bg-surface);
  background-clip: padding-box;
  box-shadow: 2px 0 5px rgba(0, 0, 0, 0.08);
}
body.waiting,
body.waiting * {
  cursor: wait;
}
.table-navigation {
  display: flex;
  justify-content: center;
  margin-top: var(--space-md);
}
.table-navigation .pagination {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}
.table-navigation .pagination li:not(:last-child) {
  margin-right: var(--space-xs);
}
.table-navigation .pagination .button {
  min-width: 32px;
  height: 32px;
  padding: 0 var(--space-xs);
  border-radius: var(--border-radius);
  border: var(--border-width-sm) solid var(--color-border-light);
  background-color: var(--color-bg-surface);
  color: var(--color-text-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}
.table-navigation .pagination .button.button--primary,
.table-navigation .pagination .button.focus {
  background-color: var(--color-text-primary);
  color: var(--color-text-white);
  border-color: var(--color-text-primary);
}
.table-navigation .pagination .button:not(.button--primary):not(.focus):hover {
  background-color: var(--color-bg-hover);
}
.table-avatar-wrapper {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}
.table-avatar-wrapper img {
  width: 30px;
  height: 30px;
  border-radius: var(--border-radius-circle);
}
.table-avatar-wrapper .participant {
  width: 130px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.table-avatar-wrapper--followers {
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  padding: var(--space-xs) var(--space-sm);
  box-sizing: border-box;
  transition: background-color var(--transition-fast), border-color var(--transition-fast);
}
.table-avatar-wrapper--followers:hover {
  background: var(--color-bg-hover);
  border-color: var(--color-border-standard);
}
.table-first-pos {
  border-left: var(--border-width-xl) solid var(--color-pos-first);
}
.table-second-pos {
  border-left: var(--border-width-xl) solid var(--color-border-light);
}
.table-third-pos {
  border-left: var(--border-width-xl) solid var(--color-pos-third);
}
.table-pos {
  border-left: var(--border-width-xl) solid var(--color-pos-four-five);
}
.scrollable-table-wrapper {
  max-height: 200px;
  overflow-y: auto;
  overflow-x: auto;
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  background: var(--color-bg-surface);
}
.scrollable-table-wrapper table {
  border: none;
  border-radius: 0;
  margin: 0;
  overflow: visible;
}
.scrollable-table-wrapper table thead tr th,
.scrollable-table-wrapper table thead tr td {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 10;
  background: var(--color-bg-dark);
}
body.search-open {
  overflow: hidden;
}
.global-search-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(3, 6, 23, 0.75);
  backdrop-filter: blur(4px);
  z-index: var(--z-index-backdrop);
}
.global-search,
.global-search-wrapper {
  position: relative;
}
.global-search-button {
  font-size: var(--font-size-lg);
}
.global-search-autocomplete {
  font-size: var(--font-size-sm);
  background: var(--color-bg-navy);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
}
.global-search-autocomplete-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-sm) var(--space-md);
  background: var(--color-bg-navy);
  border-bottom: var(--border-width-sm) solid rgba(255, 255, 255, 0.08);
  color: var(--color-text-muted);
}
.global-search-header-tools {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.global-search-spinner {
  display: inline-flex;
  align-items: center;
  color: var(--color-accent);
}
.global-search-content {
  padding: var(--space-sm) var(--space-md) var(--space-xl);
  background-color: var(--color-bg-dark);
}
.global-search-content .category-header {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  background: rgba(255, 255, 255, 0.08);
  border-radius: var(--border-radius-sm);
  color: var(--color-border-dashed);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.global-search-content .category-header i {
  color: var(--color-highlight);
}
.global-search-content .category-badge {
  margin-left: auto;
  padding: var(--space-2xs) var(--space-sm);
  background: rgba(255, 255, 255, 0.15);
  border-radius: var(--border-radius-full);
  color: var(--color-text-white);
}
.global-search-content .search-item-list {
  list-style: none;
  padding: 0;
  margin: var(--space-xs) 0 0;
}
.global-search-content .search-item {
  border-bottom: var(--border-width-sm) solid rgba(255, 255, 255, 0.06);
}
.global-search-content .search-item:last-child {
  border-bottom: none;
}
.global-search-content .item-link,
.global-search-content .item-link:link,
.global-search-content .item-link:visited {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 25px;
  padding: var(--space-md);
  color: var(--color-text-inverse);
  text-decoration: none;
  border-radius: var(--border-radius-xs);
  transition:
    background-color var(--transition-fast),
    color var(--transition-fast),
    transform var(--transition-fast);
}
.global-search-content .item-link:hover,
.global-search-content .item-link:focus,
.global-search-content .item-link:active,
.global-search-content .item-link.is-active {
  background-color: rgba(255, 255, 255, 0.12);
  color: var(--color-text-white);
  outline: none;
}
.global-search-content .item-arrow {
  color: var(--color-text-secondary);
  transition: color var(--transition-fast), transform var(--transition-fast);
}
.global-search-content .item-link:is(:hover, :focus, :active, .is-active) .item-arrow {
  color: var(--color-accent);
  transform: translateX(3px);
}
.global-search-content .search-empty-state,
.global-search-content .search-prompt-state {
  padding: 40px var(--space-lg);
  text-align: center;
  color: var(--color-text-muted);
}
.global-search-content .empty-icon,
.global-search-content .prompt-icon {
  margin-bottom: var(--space-md);
  color: var(--color-text-secondary);
}
.global-search-content .prompt-icon {
  color: var(--color-highlight);
}
.global-search-content .empty-title,
.global-search-content .prompt-title {
  margin-bottom: var(--space-sm);
  color: var(--color-text-inverse);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
}
.global-search-content .empty-subtitle,
.global-search-content .prompt-subtitle {
  display: block;
  max-width: 320px;
  margin: 0 auto;
  font-size: var(--font-size-sm);
  line-height: var(--line-height-normal);
}
.navigation {
  display: flex;
  flex-direction: row;
  width: 100%;
  background: var(--color-bg-dark);
  text-transform: capitalize;
}
.nav {
  position: relative;
  display: flex;
  width: 100%;
  font-family: var(--font-heading);
}
.nav__mobile-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  padding: var(--space-sm) var(--space-lg);
  box-sizing: border-box;
}
.nav__mobile-actions {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  margin-left: auto;
}
.nav__dropdown {
  position: relative;
}
.nav__account-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  height: 40px;
  padding: 0 var(--space-md);
  background: rgba(255, 255, 255, 0.08);
  border: var(--border-width-sm) solid rgba(255, 255, 255, 0.15);
  border-radius: var(--border-radius-sm);
  color: var(--color-text-inverse);
  cursor: pointer;
  user-select: none;
  transition:
    background var(--transition-base),
    border-color var(--transition-base),
    color var(--transition-base);
}
.nav__account-btn:is(:hover, :focus-visible),
.nav__dropdown--open .nav__account-btn {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.3);
  color: var(--color-text-white);
}
.nav__account-btn:focus-visible {
  outline: 2px solid var(--color-text-primary);
  outline-offset: 2px;
}
.nav__caret {
  font-size: var(--font-size-3xs);
  color: var(--color-accent);
  transition: transform var(--transition-base), color var(--transition-base);
}
.nav__dropdown--open .nav__caret {
  transform: rotate(180deg);
  color: var(--color-accent);
}
.nav__dropdown-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 200px;
  padding: var(--space-sm) 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-md);
  overflow: hidden;
  z-index: var(--z-index-dropdown);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  pointer-events: none;
  transition:
    opacity var(--transition-base),
    transform var(--transition-base),
    visibility var(--transition-base);
}
.nav__dropdown--open .nav__dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.nav__dropdown-header {
  padding: var(--space-md) var(--space-lg);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  background: var(--color-bg-hover);
}
.nav__dropdown-user {
  display: block;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nav__dropdown-item,
.nav__dropdown-item:visited {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-md) var(--space-lg);
  color: var(--color-text-primary);
  text-decoration: none;
  transition: background var(--transition-fast), color var(--transition-fast);
}
.nav__dropdown-item:is(:hover, :focus-visible, :active) {
  background: var(--color-bg-hover);
  color: var(--color-text-primary);
  text-decoration: none;
}
.nav__dropdown-item i {
  width: 16px;
  text-align: center;
  color: var(--color-text-secondary);
  transition: color var(--transition-fast);
}
.nav__dropdown-item:is(:hover, :focus-visible) i {
  color: var(--color-text-primary);
}
.nav__dropdown-divider {
  height: 1px;
  background: var(--color-border-light);
  margin: var(--space-xs) 0;
}
.nav__dropdown-item--logout,
.nav__dropdown-item--logout:visited {
  color: var(--color-error);
}
.nav__dropdown-item--logout i {
  color: var(--color-error);
}
.nav__dropdown-item--logout:is(:hover, :focus-visible, :active) {
  background: var(--color-error-bg);
  color: var(--color-error-text);
}
.nav__dropdown-item--logout:is(:hover, :focus-visible) i {
  color: var(--color-error-text);
}
.nav__burger {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: transparent;
  border: none;
  border-radius: var(--border-radius-sm);
  color: var(--color-text-inverse);
  font-size: var(--font-size-lg);
  cursor: pointer;
  user-select: none;
  transition: background var(--transition-base), color var(--transition-base);
}
.nav__burger i {
  font-size: inherit;
}
.nav__burger:is(:hover, :focus-visible) {
  background: rgba(255, 255, 255, 0.1);
  color: var(--color-text-white);
}
.nav__overlay {
  display: none;
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(3, 6, 23, 0.7);
  backdrop-filter: blur(2px);
  z-index: var(--z-index-backdrop);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--transition-base), visibility var(--transition-base);
}
.nav__drawer {
  width: 100%;
}
.nav__drawer-header {
  display: none;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-lg);
  border-bottom: var(--border-width-sm) solid rgba(255, 255, 255, 0.1);
}
.nav__drawer-title {
  color: var(--color-text-white);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.nav__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: transparent;
  border: none;
  border-radius: var(--border-radius-sm);
  color: var(--color-text-inverse);
  cursor: pointer;
  transition: background var(--transition-base), color var(--transition-base);
}
.nav__close:is(:hover, :focus-visible) {
  background: rgba(255, 255, 255, 0.1);
  color: var(--color-text-white);
}
.nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav__item {
  position: relative;
}
.nav__link,
.nav__link:link,
.nav__link:visited {
  display: flex;
  align-items: center;
  padding: var(--space-md) var(--space-lg);
  color: var(--color-text-inverse);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.3px;
  text-decoration: none;
  white-space: nowrap;
  transition: background var(--transition-base), color var(--transition-base);
}
.nav__link:is(:hover, :focus-visible, :active) {
  background: var(--color-bg-hover-dark);
  color: var(--color-text-inverse);
  text-decoration: none;
}
.nav__link-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.nav__sub-toggle {
  display: none;
}
.nav__sub {
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav__sub-link,
.nav__sub-link:link,
.nav__sub-link:visited {
  display: block;
  padding: var(--space-md) var(--space-lg);
  color: var(--color-text-primary);
  text-decoration: none;
  transition: background var(--transition-fast), color var(--transition-fast);
}
.nav__sub-link:is(:hover, :focus-visible, :active) {
  background: var(--color-bg-hover-dark);
  color: var(--color-text-inverse);
  text-decoration: none;
}
.nav__item--cta {
  display: flex;
  align-items: center;
}
.nav__link--cta {
  gap: var(--space-sm);
}
.nav__link--cta i {
  color: var(--color-accent);
  transition: color var(--transition-base);
}
.nav__link--cta:is(:hover, :focus-visible) i {
  color: var(--color-highlight);
}
.main-area {
  display: grid;
  gap: var(--space-lg);
  background: var(--color-bg-main);
  overflow: auto;
  min-height: 900px;
  padding: var(--space-lg) 0;
  align-content: start;
  background-image:
    radial-gradient(
      ellipse 65% 55% at 50% 55%,
      rgba(190, 225, 255, 0.7) 0%,
      rgba(215, 235, 255, 0.35) 45%,
      rgba(255, 255, 255, 0) 75%);
  background-repeat: no-repeat;
}
.side-area {
  font-size: var(--font-size-sm);
  background: var(--color-bg-main);
  padding: var(--space-lg) 0;
}
.side-area--tree {
  background: var(--color-bg-surface);
}
.footer {
  background: var(--color-bg-hover-dark);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-inverse);
}
.footer a,
.footer a:link,
.footer a:visited {
  color: var(--color-text-inverse);
}
.footer a:is(:hover, :focus-visible, :active) {
  color: var(--color-text-white);
  text-decoration: underline;
}
.content {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) 20px;
  row-gap: var(--space-sm);
  font-size: var(--font-size-sm);
}
.content > * {
  grid-column: 2;
}
.content > .flex-row--world-records {
  grid-column: 1/-1;
}
.sub-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.hero-banner {
  width: 100%;
  box-sizing: border-box;
  background: var(--color-bg-extra);
  border-radius: var(--border-radius);
  padding: var(--space-lg) var(--space-md);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.hero-title {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-inverse);
  margin: 0;
}
.hero-subtitle {
  color: var(--color-text-inverse);
  margin: 0;
}
.hardware-hero-section {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-lg);
  margin-bottom: var(--space-xl);
}
.hardware-hero-image-card {
  flex: 1 1 300px;
  max-width: 100%;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius);
  padding: var(--space-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.hardware-benchmark-image-wrapper img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
.hardware-hero-stats-grid {
  flex: 2 1 320px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-md);
}
.hardware-hero-stat-card {
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius);
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  box-sizing: border-box;
}
.hardware-hero-stat-card h3 {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  margin: 0 0 var(--space-xs) 0;
  text-align: center;
}
.hardware-sub-label {
  color: var(--color-text-secondary);
  margin: 0 0 var(--space-sm) 0;
  text-align: center;
}
.hardware-stat-label {
  color: var(--color-text-secondary);
  margin: 0;
  text-align: center;
}
.hardware-family-link {
  color: var(--color-link);
  text-decoration: none;
  margin-top: var(--space-sm);
  text-align: center;
}
.hardware-family-link:hover {
  color: var(--color-link-hover);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.hardware-tab-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-sm);
  margin-top: var(--space-sm);
  width: 100%;
}
.hardware-tab-menu .button {
  flex: 1 1 auto;
  text-align: center;
  padding: var(--space-sm) var(--space-md);
}
.image-modal {
  display: none;
  position: fixed;
  z-index: 1;
  padding: 50px 0 0 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(0, 0, 0);
  background-color: rgba(0, 0, 0, 0.9);
}
.image-modal-content {
  margin: auto auto;
  display: block;
  max-width: 80%;
  max-height: 90%;
}
.image-wrapper {
  width: 100%;
  overflow: hidden;
}
.image {
  max-width: 100%;
  height: auto;
  display: block;
}
.benchmark-image-wrapper {
  background: black;
  border-radius: var(--border-radius);
  align-content: center;
}
.benchmark-image-wrapper img {
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  width: 100%;
  max-width: 400px;
}
.list--stages {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  margin: 0;
  padding: 0;
  list-style: none;
}
.list li.stage-info {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding: var(--space-xs) 0;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  box-sizing: border-box;
}
.list li.stage-info:last-child {
  border-bottom: none;
}
.stage-info-main {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  min-width: 0;
  width: 100%;
}
.stage-info-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  width: 100%;
}
.stage-number {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-mono);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-heading);
  background-color: var(--color-border-subtle);
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--border-radius-xs);
  flex-shrink: 0;
}
.stage-info.active .stage-number {
  background-color: var(--color-primary);
  color: var(--color-text-white);
  box-shadow: 0 1px 3px rgba(37, 99, 235, 0.35);
}
.stage-info .stage-link {
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  text-decoration: none;
  display: inline-flex;
  align-items: baseline;
  gap: var(--space-sm);
  width: 100%;
  min-width: 0;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  line-height: var(--line-height-tight);
}
.stage-info .stage-link span {
  min-width: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}
.stage-info .stage-link:hover {
  color: var(--color-link);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.stage-info.active .stage-link {
  color: var(--color-primary);
  font-weight: var(--font-weight-bold);
}
.stage-info .stage-link i {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.stage-info .stage-link:hover i {
  color: var(--color-link);
}
.stage-current-badge {
  margin-left: auto;
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-link);
  background: var(--color-info-bg);
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--border-radius-xs);
  border: var(--border-width-sm) solid var(--color-info-border);
  flex-shrink: 0;
}
.stage-info-status {
  margin-left: auto;
  flex-shrink: 0;
}
.stage-info-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-md);
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}
.stage-meta-item {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
}
.stage-meta-rank {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
}
.stage-meta-rank .fa-trophy {
  color: var(--color-warning);
  margin-right: var(--space-xs);
}
.stage-meta-rank.rank--gold .fa-trophy {
  color: var(--color-warning-star);
}
.stage-meta-rank.rank--silver .fa-trophy {
  color: var(--color-text-muted);
}
.stage-meta-rank.rank--bronze .fa-trophy {
  color: var(--color-warning);
}
.stage-info .text-muted .fa-trophy {
  color: var(--color-border-dashed);
  margin-right: var(--space-xs);
}
.stage-meta-score {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}
.stage-info .text-muted {
  color: var(--color-text-muted);
}
.stage-info .score-link {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  text-decoration: none;
  transition: color var(--transition-fast);
}
.stage-info .score-link:hover {
  color: var(--color-error);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.stage-info .target-icon {
  color: var(--color-error);
  margin-right: var(--space-xs);
}
.grid-box {
  display: grid;
  gap: var(--space-md);
}
.grid-box--submit-hardware {
  grid-template-columns: auto auto;
}
.grid-box--submit-hardware > div {
  display: flex;
  flex-direction: column;
}
.grid-box--submit-hardware img {
  max-width: 120px;
  max-height: 120px;
  object-fit: contain;
  margin: 0 auto;
  border-radius: var(--border-radius);
  border: var(--border-width-sm) solid var(--color-border-light);
}
.grid-box--hardware-result {
  grid-template-columns: 140px 120px 200px auto;
  align-items: center;
}
.grid-box--wall {
  grid-template-rows: repeat(2, 1fr);
  grid-auto-flow: column;
  overflow: auto;
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  gap: 0;
}
.grid-box--sm,
.grid-box--compact,
.grid-box--achievement,
.grid-box--partner {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.grid-box--highlight-submission,
.grid-box--submission-hardware {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.grid-box--md,
.grid-box--standard,
.grid-box--competition,
.grid-box--compo,
.grid-box--profile,
.grid-box--submission-ranking {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
.grid-box--lg,
.grid-box--wide,
.grid-box--benchmarks,
.grid-box--hardware-overview,
.grid-box--league-info,
.grid-box--news,
.grid-box--search {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.grid-box--profile-account-settings {
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 500px));
}
.card,
.grid-box-card {
  display: flex;
  flex-direction: column;
  padding: var(--space-md);
  border-radius: var(--border-radius);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  font-size: var(--font-size-sm);
  min-width: 0;
}
.card__header,
.card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  margin-bottom: var(--space-md);
}
.card__title,
.card-title {
  margin: 0;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
}
.card__body,
.card-body {
  flex: 1;
  min-width: 0;
}
.card__footer,
.card-footer {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  margin-top: var(--space-md);
  padding-top: var(--space-md);
  border-top: var(--border-width-sm) solid var(--color-border-subtle);
}
.card--compact {
  padding: var(--space-sm);
}
.card--hover {
  cursor: pointer;
  transition:
    transform var(--transition-base),
    box-shadow var(--transition-base),
    background-color var(--transition-base);
}
.card--hover:hover {
  background-color: var(--color-bg-hover);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.card--spotlight {
  position: relative;
  border-color: var(--color-border-standard);
  background: var(--color-bg-surface);
  box-shadow: var(--shadow-sm);
}
.grid-box-card--submit-hardware {
  flex-direction: column;
  flex: 1;
}
.grid-box-card--description {
  flex-direction: column;
  white-space: pre-line;
  overflow-wrap: break-word;
}
.card--sidebar-ranking,
.grid-box-card--sidebar-ranking {
  position: relative;
  flex-direction: column;
  gap: var(--space-md);
  background: var(--color-bg-hover);
  border: none;
}
.grid-box-card--news {
  background: var(--color-bg-hover);
  position: relative;
  cursor: pointer;
  transition:
    transform var(--transition-base),
    box-shadow var(--transition-base),
    background-color var(--transition-base);
}
.grid-box-card--news .flex-row--news-footer a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.grid-box-card--news,
.grid-box-card--achievement {
  flex-direction: column;
  text-align: center;
}
.grid-box-card--benchmark-stats,
.grid-box-card--partner {
  flex-direction: column;
  text-align: center;
  justify-content: center;
  align-content: center;
}
.stat-status {
  color: var(--color-warning);
}
.grid-box-card--news:hover {
  background-color: var(--color-bg-hover);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.grid-box-card--wall {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--space-sm) var(--space-lg);
  border: none;
  border-radius: 0;
  white-space: nowrap;
  padding: 0 var(--space-md);
}
.grid-box-card--wall-ranking-info {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--space-xl);
  padding: var(--space-sm) var(--space-md);
  border: none;
  border-radius: 0;
  border-top: var(--border-width-sm) solid var(--color-border-light);
  white-space: nowrap;
}
.grid-box-card--wall-ranking-info .grid-spec {
  width: auto;
  flex: 0 0 auto;
}
.grid-box-card--benchmarks {
  flex-direction: column;
  padding: 0;
  border-radius: 0;
  background: none;
  border: 0;
}
.grid-box-card--benchmarks,
.grid-box-card--compo,
.grid-box-card--hardware-overview,
.grid-box-card--highlight-submission,
.grid-box-card--league-info,
.grid-box-card--login,
.grid-box-card--profile,
.grid-box-card--register,
.grid-box-card--reset-password,
.grid-box-card--search,
.grid-box-card--submission-hardware,
.grid-box-card--top-filter {
  flex-direction: column;
}
.card--competition,
.grid-box-card--compo {
  min-width: 0;
}
.card--competition .card-body,
.card--competition .card__body,
.grid-box-card--compo .card-body {
  min-width: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.card--competition .ranking-empty-card,
.grid-box-card--compo .ranking-empty-card {
  flex: 1;
}
.grid-box-card--highlight-submission {
  background: var(--color-bg-surface);
  flex-direction: column;
}
.grid-spec {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  margin: 0;
  padding: 0;
  width: 100%;
}
.grid-spec-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-xs) 0;
  overflow: auto;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.grid-spec-row .table-avatar-wrapper > a {
  font-size: var(--font-size-lg);
}
.grid-spec-row--stacked {
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-xs);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.grid-spec-row:last-child {
  border-bottom: none;
}
.grid-spec-row .attribute {
  display: block;
  color: var(--color-text-primary);
}
.grid-spec-row .attribute-nowrap {
  white-space: nowrap;
}
.grid-spec-row .value {
  display: block;
  color: var(--color-text-primary);
}
.grid-spec-row--stacked .value {
  text-align: left;
  width: 100%;
  margin: 0;
}
.grid-spec-row .button {
  padding: var(--space-xs) var(--space-sm);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-tight);
}
.card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-sm);
  margin-top: var(--space-md);
  padding-top: var(--space-lg);
  border-top: var(--border-width-sm) solid var(--color-border-light);
}
.card-actions .button {
  padding: var(--space-xs) var(--space-sm);
  font-size: var(--font-size-sm);
  gap: var(--space-xs);
}
.font-bold--partner {
  color: var(--color-text-primary, var(--color-text-heading));
}
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: var(--z-index-modal);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--transition-smooth), visibility var(--transition-smooth);
}
.modal-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.modal-dialog {
  background: var(--color-bg-main);
  width: 90%;
  max-width: 1200px;
  max-height: 85vh;
  border-radius: var(--border-radius);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: var(--shadow-md);
}
.modal-dialog--result-history {
  max-width: var(--modal-width-md);
}
.modal-dialog--result-moderation {
  max-width: var(--modal-width-lg);
}
.modal-dialog--social {
  max-width: var(--modal-width-sm);
}
.modal-dialog__header,
.modal-header {
  padding: var(--space-sm) var(--space-lg);
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.modal-dialog__body,
.modal-body {
  padding: var(--space-md);
  overflow-y: auto;
  flex-grow: 1;
}
.modal-dialog__footer,
.modal-footer {
  padding: var(--space-md) var(--space-lg);
  border-top: var(--border-width-sm) solid var(--color-border-light);
  text-align: right;
}
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.list {
  display: grid;
  gap: var(--space-md);
}
.list li {
  padding: var(--space-md) 0;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.list li:last-child {
  border-bottom: none;
}
.list--scrollable {
  max-height: 160px;
  overflow-y: auto;
  padding-right: var(--space-xs);
}
.profile-banner-wrapper {
  position: relative;
  width: 100%;
}
.profile-banner-wrapper.has-banner .profile-banner img {
  width: 100%;
  aspect-ratio: 6 / 1;
  min-height: 120px;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: var(--border-radius-xs);
}
.profile-banner-wrapper.has-banner .avatar-wrapper {
  position: absolute;
  bottom: 12px;
  left: 20px;
  z-index: 2;
}
.profile-banner-wrapper.has-banner .avatar {
  width: 120px;
  height: 120px;
  border-radius: var(--border-radius-circle);
  border: var(--border-width-md) solid var(--color-text-white);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.7);
  object-fit: cover;
  display: block;
}
.profile-banner-wrapper.no-banner .avatar-wrapper {
  position: static;
}
.profile-banner-wrapper.no-banner .avatar {
  width: 120px;
  height: 120px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  display: block;
}
.side-area .content.executor ul,
.terms-and-conditions .content ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.side-area .content.executor ul li {
  padding: var(--space-xs) 0;
}
.filter .list,
.filter ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.filter .list li,
.filter ul li {
  padding: var(--space-xs) 0;
}
.filter .filter-key {
  margin-bottom: var(--space-xs);
  font-weight: var(--font-weight-bold);
}
.filter .ranking-filter {
  display: flex;
  flex-wrap: wrap;
  overflow-x: visible;
  white-space: normal;
  gap: var(--space-sm);
  padding: var(--space-xs) 0 var(--space-sm) 0;
  margin-bottom: var(--space-md);
}
.filter-chips-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-xs);
  padding: var(--space-xs) var(--space-sm);
  background: var(--color-bg-surface);
  border-radius: var(--border-radius);
  border: var(--border-width-sm) solid var(--color-border-light);
  margin-top: var(--space-xs);
}
.filter-chips-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-sm);
}
.filter-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-2xs) var(--space-sm);
  background: var(--color-bg-main);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius-lg);
  color: var(--color-text-main);
  line-height: var(--line-height-normal);
}
.filter-chip-label {
  white-space: nowrap;
}
.filter-chip-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: var(--color-text-muted);
  line-height: var(--line-height-none);
  padding: 0;
  margin: 0;
  cursor: pointer;
  border-radius: var(--border-radius-circle);
  width: 16px;
  height: 16px;
}
.filter-chip-remove:hover {
  color: var(--color-error);
  background: var(--color-error-bg);
}
.filter-chip-clear-all {
  background: transparent;
  border: none;
  color: var(--color-text-secondary);
  cursor: pointer;
  padding: var(--space-2xs) var(--space-sm);
  text-decoration: underline;
  line-height: var(--line-height-normal);
}
.filter-chip-clear-all:hover {
  color: var(--color-error);
}
.progressbar {
  border: var(--border-width-sm) solid var(--color-border-standard);
  margin: var(--space-xs) auto;
  width: 100px;
  height: 5px;
}
.progressbar > div {
  background: green;
  height: 100%;
  width: 100%;
}
.submission-suggestions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-md);
  background-color: var(--color-info-bg);
  border: var(--border-width-sm) solid var(--color-info-border);
  border-left: var(--border-width-lg) solid var(--color-primary);
  padding: var(--space-md) var(--space-lg);
  border-radius: var(--border-radius-sm);
  max-width: 100%;
  box-sizing: border-box;
  overflow: auto;
}
.submission-suggestion {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  color: var(--color-primary-hover);
  min-width: 0;
}
.button.btn-participate .contest-name {
  font-weight: var(--font-weight-bold);
}
.button.btn-participate .stage-name {
  opacity: 0.9;
  font-weight: var(--font-weight-bold);
}
.submission-score-card {
  display: flex;
  gap: var(--space-sm);
  align-items: center;
  padding: 0 var(--space-md);
  max-width: 100%;
  box-sizing: border-box;
  font-family: var(--font-heading);
  margin-bottom: var(--space-md);
  font-size: var(--font-size-3xl);
}
.submission-score-card .avatar-wrapper {
  flex-shrink: 0;
}
.submission-score-card .avatar-wrapper a {
  text-decoration: none;
}
.submission-score-card .avatar {
  width: 120px;
  height: 120px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  display: block;
}
.submission-score-card .score-details {
  display: flex;
  gap: var(--space-sm);
  flex-direction: column;
}
.submission-score-card .score-details-row {
  display: flex;
  gap: var(--space-sm);
  flex-direction: row;
  align-items: center;
}
.submission-score-card .user-info {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--space-sm);
}
.submission-score-card .score-label,
.submission-score-card .connector-text {
  color: gray;
  font-style: italic;
}
.submission-score-card .temp-wrapper {
  display: inline-flex;
  align-items: center;
  background-color: var(--color-text-inverse);
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-secondary);
}
.submission-sub-score {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm) var(--space-md);
  margin-top: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  background-color: var(--color-text-inverse);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-sm);
  box-sizing: border-box;
}
.submission-sub-score .sub-score-item {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
}
.submission-sub-score .sub-score-name {
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-bold);
}
.submission-sub-score .sub-score-name::after {
  content: ":";
}
.submission-sub-score .sub-score-val {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.form-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  width: 100%;
  margin-bottom: var(--space-md);
}
.form-row.form-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-md);
  margin-top: var(--space-md);
}
.form-row.form-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-md);
}
.form-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  flex: 1 1 auto;
  min-width: 0;
}
.form-group--benchmark {
  max-width: 400px;
}
.form-group--narrow,
.form-group--file-upload {
  max-width: 480px;
}
.form-group--row {
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
}
.form-group--row > label {
  width: 100%;
}
.form-group--row > input {
  flex: 1;
}
.form-group-checkbox {
  display: flex;
  align-items: center;
  margin-top: var(--space-sm);
}
.form-group label {
  color: var(--color-text-primary);
}
.form-group-checkbox label {
  display: inline-flex;
  align-items: center;
  gap: var(--space-md);
  cursor: pointer;
  user-select: none;
  color: var(--color-text-primary);
}
.form-group-checkbox input[type=checkbox] {
  width: 20px;
  height: 20px;
  cursor: pointer;
  accent-color: var(--color-text-primary);
}
.form-group-checkbox input[type=checkbox].field-error {
  outline: 2px solid var(--color-error);
  outline-offset: 1px;
  border-color: var(--color-error);
}
.form-group-checkbox:has(.field-error) {
  padding: var(--space-xs, 0.5rem);
  border: var(--border-width-sm) solid var(--color-error);
  border-radius: var(--border-radius-sm);
  background-color: var(--color-error-bg, rgba(220, 38, 38, 0.03));
}
.form-group-checkbox .binding-error {
  color: var(--color-error);
}
.form-group.has-error label {
  color: var(--color-error);
}
.form-group.has-error input {
  border-color: var(--color-error);
  background-color: var(--color-error-bg);
}
.form-filter {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--space-xs);
}
#ranking_filter {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--space-md) var(--space-lg);
  margin-bottom: var(--space-md);
}
#ranking_filter .form-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  flex: 0 1 auto;
  max-width: 100%;
}
.form-input-search-wrapper {
  position: relative;
  width: 100%;
}
.form-input-search-wrapper .search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-text-muted);
}
.form-input-search-wrapper input {
  width: 100%;
  padding-left: 36px;
  box-sizing: border-box;
}
.form-input-with-unit {
  display: flex;
  align-items: center;
  border: var(--border-width-md) solid var(--color-border-light);
  border-radius: var(--border-radius);
  padding-right: var(--space-md);
}
.form-input-with-unit .form-input {
  border: none;
  flex: 1;
  outline: none;
}
.form-input.field-error {
  border: var(--border-width-md) solid var(--color-error);
}
.form-input-with-unit:has(.field-error) {
  border: var(--border-width-md) solid var(--color-error);
}
.form-input-with-unit .form-input.field-error {
  border: none;
}
.form-input-with-unit .field-error {
  border: none;
  outline: none;
}
.form-unit-suffix {
  color: var(--color-text-secondary);
  white-space: nowrap;
  user-select: none;
}
.form-input-with-unit.field-error {
  border: var(--border-width-md) solid var(--color-error);
}
.binding-error {
  color: var(--color-error);
}
.banner-image {
  margin: var(--space-sm) 0;
}
.banner-image img {
  width: 100%;
  height: auto;
  min-height: 100px;
  border-radius: var(--border-radius);
  display: block;
}
.grid-spec-row--stacked .attribute {
  color: var(--color-text-secondary);
  margin-bottom: var(--space-2xs);
}
.competition-leader,
.leader-spotlight,
.timer,
.timer-spotlight,
.stages-sidebar-grid {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.stages-sidebar-grid h2 {
  margin: 0 0 var(--space-md) 0;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-text-secondary);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
  padding-bottom: var(--space-sm);
}
.text-gold {
  color: var(--color-warning);
  filter: drop-shadow(0 0 4px rgba(245, 158, 11, 0.3));
}
.text-crimson {
  color: var(--color-error);
}
.text-amber {
  color: var(--color-warning);
}
.text-slate {
  color: var(--color-text-muted);
}
.competition-leader__header,
.competition-leader-header,
.leader-spotlight-header,
.timer__header,
.timer-spotlight-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  margin-bottom: var(--space-md);
}
.competition-leader__header h2,
.competition-leader-header h2,
.leader-spotlight-header h2,
.timer__header h2,
.timer-spotlight-header h2 {
  margin: 0;
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.badge--gold,
.leader-badge-rank {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: var(--space-xs) var(--space-md);
  border-radius: var(--border-radius-full);
  background: rgba(234, 179, 8, 0.12);
  color: var(--color-warning);
  border: var(--border-width-sm) solid rgba(234, 179, 8, 0.3);
}
.badge--gold .fa-crown,
.leader-badge-rank .fa-crown {
  color: var(--color-warning-star);
}
.competition-leader__hero,
.leader-hero {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding-bottom: var(--space-md);
  margin-bottom: var(--space-md);
  border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
}
.competition-leader__avatar-wrap,
.leader-avatar-wrapper {
  position: relative;
  flex-shrink: 0;
  display: inline-flex;
}
.competition-leader__avatar,
.leader-avatar-wrapper .leader-avatar {
  width: 52px;
  height: 52px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  border: var(--border-width-md) solid var(--color-warning-star);
  box-shadow: 0 0 10px rgba(234, 179, 8, 0.25);
}
.competition-leader__pos-pill,
.leader-pos-pill {
  position: absolute;
  bottom: -2px;
  right: -4px;
  background: var(--color-warning-star);
  color: var(--color-text-heading);
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-extrabold);
  font-family: var(--font-mono);
  padding: var(--space-2xs) var(--space-xs);
  border-radius: var(--border-radius-full);
  border: var(--border-width-sm) solid var(--color-text-white);
  line-height: var(--line-height-none);
  box-shadow: var(--shadow-sm);
}
.competition-leader__details,
.leader-details {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  min-width: 0;
}
.competition-leader__identity,
.leader-identity {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  flex-wrap: wrap;
}
.competition-leader__name,
.leader-identity .leader-name {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.competition-leader__name:hover,
.leader-identity a.leader-name:hover {
  color: var(--primary, var(--color-primary));
  text-decoration: underline;
}
.competition-leader__subtext,
.leader-subtext {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-medium);
}
.competition-leader__subtext i,
.leader-subtext i {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
}
.competition-leader__stats,
.leader-stats {
  width: 100%;
}
.competition-leader__stat-box,
.leader-stat-box {
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius);
  padding: var(--space-md) var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.competition-leader__stat-label,
.leader-stat-label {
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-semibold);
}
.competition-leader__stat-val,
.leader-stat-value {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-extrabold);
  color: var(--color-text-heading);
  letter-spacing: 0.02em;
}
.competition-leader__stat-val small,
.leader-stat-value small {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-secondary);
  margin-left: var(--space-2xs);
  text-transform: uppercase;
}
.timer-badge,
.timer-badge--running,
.timer-badge--upcoming,
.timer-badge--closed {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: var(--space-xs) var(--space-md);
  border-radius: var(--border-radius-full);
  background: var(--color-bg-hover);
  color: var(--color-text-secondary);
  border: var(--border-width-sm) solid var(--color-border-dashed);
}
.timer-badge i,
.timer-badge--running i,
.timer-badge--upcoming i,
.timer-badge--closed i {
  color: var(--color-text-secondary);
  font-size: var(--font-size-2xs);
}
.timer__clock,
.timer-clock {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-sm);
}
.timer__tile,
.timer-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--color-text-heading);
  border: var(--border-width-sm) solid var(--color-border-dark);
  border-radius: var(--border-radius);
  padding: var(--space-md) var(--space-xs) var(--space-sm);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25);
  min-width: 0;
}
.timer__count,
.timer-count {
  color: var(--color-text-inverse);
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-extrabold);
  line-height: var(--line-height-tight);
  letter-spacing: 0.02em;
}
.timer__unit,
.timer-unit-label {
  text-transform: uppercase;
  text-align: center;
  color: var(--color-text-secondary);
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.08em;
  margin-top: var(--space-xs);
}
.timer__clock--closed .timer__tile,
.timer-clock--closed .timer-tile {
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  box-shadow: none;
}
.timer__clock--closed .timer__count,
.timer-clock--closed .timer-count {
  color: var(--color-text-muted);
}
.timer__clock--closed .timer__unit,
.timer-clock--closed .timer-unit-label {
  color: var(--color-text-muted);
}
.timer__meta,
.timer-meta {
  margin-top: var(--space-md);
  padding-top: var(--space-xs);
  border-top: var(--border-width-sm) solid var(--color-border-subtle);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
}
.timer__meta i,
.timer-meta i {
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
  flex-shrink: 0;
}
.timer__meta strong,
.timer-meta strong {
  color: var(--color-text-heading);
  font-weight: var(--font-weight-semibold);
}
.competition-leader__empty,
.leader-empty-state {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-lg);
  background: var(--color-bg-card);
  border: var(--border-width-sm) dashed var(--color-border-dashed);
  border-radius: var(--border-radius);
  width: 100%;
  box-sizing: border-box;
}
.competition-leader__empty-icon,
.leader-empty-state .empty-icon {
  font-size: var(--font-size-2xl);
  color: var(--color-border-dashed);
  flex-shrink: 0;
}
.competition-leader__empty-details,
.leader-empty-state .empty-details {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  min-width: 0;
}
.competition-leader__empty-title,
.leader-empty-state .empty-title {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.competition-leader__empty-subtitle,
.leader-empty-state .empty-subtitle {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  letter-spacing: 0.02em;
}
.ranking-empty-card {
  display: flex;
  align-items: center;
  gap: var(--space-lg);
  padding: var(--space-xl) var(--space-lg);
  background: var(--color-bg-card);
  border: var(--border-width-sm) dashed var(--color-border-dashed);
  border-radius: var(--border-radius);
  box-sizing: border-box;
  width: 100%;
}
@media (max-width: 600px) {
  .ranking-empty-card {
    flex-direction: column;
    text-align: center;
    gap: var(--space-md);
    padding: var(--space-lg) var(--space-md);
  }
}
.ranking-empty-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: var(--border-radius-circle);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  color: var(--color-text-muted);
  font-size: var(--font-size-2xl);
  flex-shrink: 0;
  box-shadow: var(--shadow-sm);
}
.ranking-empty-icon--upcoming {
  border-color: rgba(2, 132, 199, 0.2);
}
.ranking-empty-icon--open {
  color: var(--color-warning-star);
  background: rgba(234, 179, 8, 0.08);
  border-color: rgba(234, 179, 8, 0.2);
}
.ranking-empty-icon--comments {
  border-color: rgba(99, 102, 241, 0.2);
}
.ranking-empty-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  min-width: 0;
}
.ranking-empty-title {
  margin: 0;
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  letter-spacing: 0.01em;
}
.ranking-empty-subtitle {
  margin: 0;
  font-size: var(--font-size-md);
  color: var(--color-text-secondary);
  line-height: var(--line-height-normal);
}
.ranking-empty-subtitle strong {
  color: var(--color-text-heading);
  font-weight: var(--font-weight-semibold);
}
.flex-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
  align-items: center;
}
.flex-row--achievement-action {
  justify-content: flex-end;
  margin-bottom: var(--space-md);
}
.flex-row--additional-images {
  align-items: flex-end;
}
.flex-row--world-records {
  flex-wrap: nowrap;
  overflow: auto;
  background: var(--color-bg-alt);
  padding: var(--space-md);
}
.flex-row--benchmark-links {
  flex-wrap: nowrap;
}
.flex-row--table-compare-header {
  justify-content: space-between;
  flex-wrap: nowrap;
}
.sticky-table--compare .remove-btn {
  background: transparent;
  border: none;
  color: var(--font-color-muted, var(--color-text-muted));
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-none);
  padding: 0 var(--space-xs);
  cursor: pointer;
  border-radius: var(--border-radius-sm);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color var(--transition-fast), background-color var(--transition-fast);
}
.sticky-table--compare .remove-btn:hover {
  color: var(--color-text-white);
  background-color: var(--color-error);
}
.chart-wrapper {
  width: 100%;
  overflow: hidden;
}
.empty-message {
  margin: 0;
  padding: var(--space-sm) 0;
  color: var(--font-color-muted, var(--color-text-secondary));
  font-size: var(--font-size-md);
}
.flex-row--news-header {
  justify-content: space-between;
  padding: var(--space-md);
  font-weight: var(--font-weight-bold);
}
.flex-row--news-footer {
  justify-content: center;
  padding: var(--space-md);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
}
.flex-row--wall {
  gap: var(--space-md);
  padding: var(--space-md) 0;
}
.flex-row--wall-social {
  justify-content: space-between;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-xs) 0;
  margin-bottom: var(--space-sm);
}
.flex-row--badges {
  gap: var(--space-sm);
  padding: var(--space-xs) 0;
  align-items: center;
}
.modal-member-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-lg);
  align-items: center;
}
.flex-row--info {
  gap: var(--space-md) var(--space-lg);
  padding: var(--space-md);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  color: var(--color-text-primary);
  justify-content: space-between;
  align-items: center;
}
.flex-row-group {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}
.flex-row-item {
  display: inline-flex;
  align-items: center;
  gap: var(--space-md);
}
.flex-row-item--world-record {
  flex-direction: column;
  min-width: 400px;
  padding: var(--space-md);
  border-radius: var(--border-radius);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  width: 100%;
}
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--border-radius-sm);
  border: var(--border-width-sm) solid currentColor;
  background: transparent;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.2px;
  line-height: var(--line-height-none);
}
.status-badge i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  flex-shrink: 0;
}
.status-badge i::before {
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
}
.status-value {
  text-transform: capitalize;
  font-weight: var(--font-weight-bold);
}
.status-success,
.status-green {
  color: var(--color-success);
}
.status-success i::before,
.status-green i::before {
  content: "\f00c";
}
.status-warning {
  color: var(--color-warning);
}
.status-warning i::before {
  content: "\f071";
}
.status-unknown,
.status-gray {
  color: var(--color-text-secondary);
}
.status-unknown i::before,
.status-gray i::before {
  content: "\f05a";
}
.status-processing {
  color: var(--color-primary);
}
.status-processing i::before {
  content: "\f1ce";
}
.status-open {
  color: var(--color-success);
}
.status-open i::before {
  content: "\f3c1";
}
.status-closed {
  color: var(--color-error);
}
.status-closed i::before {
  content: "\f023";
}
.status-official i::before {
  content: "\f00c";
}
.status-online i::before {
  content: "\f0ac";
}
.status-live {
  color: var(--color-error);
}
.status-live i::before {
  content: "\f001";
}
.status-active {
  color: var(--color-success);
}
.status-active i::before {
  content: "\f00c";
}
.status-inactive {
  color: var(--color-text-secondary);
}
.status-inactive i::before {
  content: "\f05e";
}
.status-sponsored i::before {
  content: "\f1cd";
}
.status-banned {
  color: var(--color-error);
}
.status-banned i::before {
  content: "\f05e";
}
.status-admin,
.status-moderator,
.status-student,
.status-student-moderator,
.status-captain,
.status-user,
.status-team,
.status-country,
.status-joined,
.status-sponsored,
.status-online,
.status-official {
  color: var(--color-text-secondary);
}
.status-admin i::before {
  content: "\f4fe";
}
.status-moderator i::before {
  content: "\f508";
}
.status-student i::before {
  content: "\f19d";
}
.status-student-moderator i::before {
  content: "\f508";
}
.status-captain i::before {
  content: "\f4fe";
}
.status-user i::before {
  content: "\f007";
}
.status-team i::before {
  content: "\f0c0";
}
.status-country i::before {
  content: "\f024";
}
.status-joined i::before {
  content: "\f073";
}
.status-joined .status-value {
  text-transform: none;
}
a.status-badge,
a.status-badge:link,
a.status-badge:visited {
  text-decoration: none;
  cursor: pointer;
}
a.status-badge:hover,
a.status-badge:active {
  text-decoration: none;
  opacity: 0.85;
}
.status-badge:is(.status-admin, .status-moderator, .status-student, .status-student-moderator, .status-captain, .status-user, .status-team, .status-country, .status-joined, .status-sponsored, .status-online, .status-official):is(:link, :visited, :hover, :active) {
  color: var(--color-text-secondary);
}
.alert {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: var(--space-md);
  padding: var(--space-md) var(--space-lg);
  border-radius: var(--border-radius);
  border: var(--border-width-sm) solid transparent;
  font-size: var(--font-size-md);
  line-height: var(--line-height-normal);
  width: 100%;
  margin-bottom: var(--space-md);
  box-sizing: border-box;
}
.alert > div {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.alert p {
  margin: 0;
}
.alert a {
  color: inherit;
  text-decoration: underline;
  font-weight: var(--font-weight-bold);
}
.form-row > .alert {
  margin-bottom: 0;
}
.alert i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-lg);
  line-height: var(--line-height-normal);
  flex-shrink: 0;
}
.alert i::before {
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
}
.alert-warning {
  color: var(--color-warning-text);
  background-color: var(--color-warning-bg);
  border-color: var(--color-warning-border);
}
.alert-warning i::before {
  content: "\f071";
}
.alert-danger {
  color: var(--color-error-text);
  background-color: var(--color-error-bg);
  border-color: var(--color-error-border);
}
.alert-danger i::before {
  content: "\f06a";
}
.alert-info {
  color: var(--color-link-hover);
  background-color: var(--color-info-bg);
  border-color: var(--color-info-border);
}
.alert-info i::before {
  content: "\f05a";
}
.cooling-air-stock {
  color: var(--color-text-secondary);
}
.cooling-air-stock i::before {
  content: "\f72e";
}
.cooling-air-custom {
  color: var(--color-success);
}
.cooling-air-custom i::before {
  content: "\f72e";
}
.cooling-water-custom {
  color: var(--color-primary);
}
.cooling-water-custom i::before {
  content: "\f043";
}
.cooling-aio-water {
  color: var(--color-accent);
}
.cooling-aio-water i::before {
  content: "\f043";
}
.cooling-water-chilled-cold {
  color: var(--color-primary);
}
.cooling-water-chilled-cold i::before {
  content: "\f2dc";
}
.cooling-dry-ice {
  color: var(--color-text-secondary);
}
.cooling-dry-ice i::before {
  content: "\f1b2";
}
.cooling-single-stage-phase-change {
  color: var(--color-primary);
}
.cooling-single-stage-phase-change i::before {
  content: "\f2dc";
}
.cooling-cascade-phase-change {
  color: var(--color-primary);
}
.cooling-cascade-phase-change i::before {
  content: "\f2dc";
}
.cooling-liquid-nitrogen {
  color: var(--color-link-hover);
}
.cooling-liquid-nitrogen i::before {
  content: "\f0c3";
}
.cooling-liquid-helium {
  color: var(--color-text-secondary);
}
.cooling-liquid-helium i::before {
  content: "\f7a6";
}
.league-elite {
  color: var(--color-warning);
}
.league-elite i::before {
  content: "\f521";
}
.league-extreme {
  color: var(--color-error);
}
.league-extreme i::before {
  content: "\f06d";
}
.league-apprentice {
  color: var(--color-link-hover);
}
.league-apprentice i::before {
  content: "\f0d0";
}
.league-enthusiast {
  color: var(--color-primary);
}
.league-enthusiast i::before {
  content: "\f0e7";
}
.league-novice {
  color: var(--color-success);
}
.league-novice i::before {
  content: "\f4d8";
}
.league-rookie {
  color: var(--color-text-secondary);
}
.league-rookie i::before {
  content: "\f19d";
}
.ref-review {
  color: var(--color-primary);
}
.ref-review i::before {
  content: "\f1e5";
}
.ref-news,
.ref-press,
.ref-roundup,
.ref-static-content {
  color: var(--color-text-secondary);
}
.ref-news i::before,
.ref-press i::before,
.ref-roundup i::before,
.ref-static-content i::before {
  content: "\f1ea";
}
.ref-discussion {
  color: var(--color-primary);
}
.ref-discussion i::before {
  content: "\f086";
}
.ref-rule {
  color: var(--color-warning);
}
.ref-rule i::before {
  content: "\f06a";
}
.ref-esports {
  color: var(--color-error);
}
.ref-esports i::before {
  content: "\f2db";
}
.screenshot-box {
  display: flex;
  gap: var(--space-sm);
  overflow: auto;
  width: 100%;
}
.screenshot-box a {
  text-decoration: none;
}
.screenshot-box img {
  border-radius: var(--border-radius-xs);
}
.screenshot-box--highlight-submission img {
  height: 100px;
}
.screenshot-box--submission img {
  height: 250px;
}
.screenshot-box--news {
  display: flex;
  justify-content: center;
  overflow: hidden;
  height: 200px;
}
.screenshot-box--news img {
  max-width: 300px;
}
.rich-text-content {
  color: var(--color-text-heading);
}
.rich-text-content h1,
.rich-text-content h2,
.rich-text-content h3,
.rich-text-content h4 {
  color: var(--color-text-heading);
  font-weight: var(--font-weight-bold);
  margin-top: var(--space-lg);
  margin-bottom: var(--space-sm);
  line-height: var(--line-height-tight);
}
.rich-text-content strong,
.rich-text-content b {
  color: var(--color-text-heading);
  font-weight: var(--font-weight-bold);
}
.rich-text-content p {
  margin-top: 0;
  margin-bottom: var(--space-md);
}
.rich-text-content ul,
.rich-text-content ol {
  padding-left: 1.25rem;
  margin-top: var(--space-sm);
  margin-bottom: var(--space-md);
}
.rich-text-content li {
  margin-bottom: 0.35rem;
}
.rich-text-content a {
  color: var(--color-link);
  text-decoration: underline;
  text-decoration-color: var(--color-link-underline);
  text-underline-offset: 3px;
  transition: color var(--transition-fast), text-decoration-color var(--transition-fast);
}
.rich-text-content a:hover {
  color: var(--color-link-hover);
  text-decoration-color: currentColor;
}
.rich-text-content code,
.rich-text-content pre {
  background: var(--color-bg-hover);
  padding: 0.2rem 0.4rem;
  border-radius: var(--border-radius);
  font-family: var(--font-mono);
  color: var(--color-text-heading);
}
.rich-text-content img {
  width: 100%;
  max-width: 600px;
  border-radius: var(--border-radius);
}
.rich-text-content table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-collapse: collapse;
  margin-top: var(--space-lg);
  margin-bottom: var(--space-lg);
}
.rich-text-content th,
.rich-text-content td {
  padding: var(--space-sm) var(--space-md);
  border: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
}
.rich-text-content th {
  background-color: var(--color-bg-hover);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
}
.rich-text-content tr:hover td {
  background-color: var(--color-bg-hover);
}
.rich-text-content iframe {
  width: 100%;
  max-width: 600px;
  aspect-ratio: 16 / 9;
  display: block;
  margin-top: var(--space-lg);
  margin-bottom: var(--space-lg);
  border: none;
  border-radius: var(--border-radius);
}
.comments-title {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  margin-bottom: var(--space-lg);
}
.submitter-quote-card {
  background-color: var(--color-text-inverse);
  border-left: var(--border-width-lg) solid var(--color-primary);
  border-radius: var(--border-radius-xs);
  padding: var(--space-md) var(--space-lg);
  margin-bottom: var(--space-lg);
}
.quote-header {
  display: flex;
  gap: var(--space-sm);
  margin-bottom: var(--space-sm);
}
.quote-author {
  font-weight: var(--font-weight-bold);
  color: var(--color-primary);
  text-decoration: none;
}
.quote-author:hover {
  text-decoration: underline;
}
.quote-action {
  color: var(--color-text-secondary);
}
.quote-body {
  margin: 0;
  font-style: italic;
  color: var(--color-text-heading);
}
.quote-icon {
  color: var(--color-text-muted);
  margin-right: var(--space-sm);
}
.comments-thread {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  margin-bottom: var(--space-xl);
}
.comment-card {
  display: flex;
  gap: var(--space-md);
  background-color: var(--color-text-inverse);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-sm);
  padding: var(--space-md) var(--space-lg);
}
.comment-card__avatar-link,
.comment-avatar-link {
  flex-shrink: 0;
}
.comment-card__avatar,
.comment-avatar {
  width: 36px;
  height: 36px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
}
.comment-card__body,
.comment-body {
  flex: 1;
  min-width: 0;
}
.comment-card__header,
.comment-header {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  margin-bottom: var(--space-sm);
}
.comment-card__author,
.comment-author {
  color: var(--color-primary);
  text-decoration: none;
}
.comment-card__author:hover,
.comment-author:hover {
  text-decoration: underline;
}
.comment-card__timestamp,
.comment-timestamp {
  color: var(--color-text-secondary);
}
.comment-card__text,
.comment-text {
  color: var(--color-text-heading);
  word-break: break-word;
}
.comment-card__text img,
.comment-text img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: var(--space-md) 0;
  border-radius: var(--border-radius-xs);
}
.comment-form-box {
  margin-top: var(--space-lg);
}
.comment-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.comment-form__textarea,
.comment-textarea {
  width: 100%;
  padding: var(--space-md);
  border: var(--border-width-sm) solid var(--color-border-dashed);
  border-radius: var(--border-radius-sm);
  font-family: inherit;
  resize: vertical;
  box-sizing: border-box;
}
.comment-form__textarea:focus,
.comment-textarea:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px rgba(2, 132, 199, 0.15);
}
.comment-form__actions,
.comment-form-actions {
  display: flex;
  justify-content: flex-end;
}
.btn-primary {
  background-color: var(--color-primary);
  color: var(--color-text-white);
  border: none;
  padding: var(--space-sm) var(--space-lg);
  border-radius: var(--border-radius-xs);
  font-weight: var(--font-weight-bold);
  cursor: pointer;
  transition: background-color var(--transition-fast);
}
.btn-primary:hover {
  background-color: var(--color-primary-hover);
}
.comment-form__login-notice,
.comment-login-notice {
  color: var(--color-text-secondary);
  font-style: italic;
}
.faint {
  opacity: 0.2;
}
.reset-password .content .grid input[type=password],
.reset-password .content .grid input[type=text] {
  width: 100%;
  box-sizing: border-box;
  display: inline-block;
}
.reset-password .content .grid .row {
  width: 100%;
}
.side-area .content .grid {
  display: grid;
  grid-template-columns: auto;
  grid-gap: var(--space-sm);
}
.side-area-ranking-grid {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.side-area-ranking-grid > *:not(:last-child) {
  padding-bottom: var(--space-xs);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.side-area-ranking-grid-row {
  display: grid;
  grid-template-columns: 5px 15px auto auto;
  grid-gap: var(--space-sm);
  align-items: center;
  justify-items: left;
  max-height: 700px;
  overflow: auto;
}
.side-area-ranking-grid-row:hover {
  background-color: var(--color-text-inverse);
}
.side-area-wr-ranking-grid {
  display: grid;
  grid-template-columns: 5px 40px auto auto;
  grid-template-rows: auto auto;
  grid-gap: var(--space-sm);
  align-items: center;
  justify-items: left;
}
.card--sidebar-ranking .side-area-wr-ranking-grid:not(:last-child),
.grid-box-card--sidebar-ranking .side-area-wr-ranking-grid:not(:last-child) {
  padding-bottom: var(--space-xs);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.side-area-wr-ranking-grid:hover {
  background-color: var(--color-text-inverse);
}
.side-area-wr-ranking-grid .hardware {
  grid-column: 2 / -1;
}
.side-area-ranking-grid .pos-marker,
.side-area-ranking-grid .pos,
.side-area-ranking-grid .name,
.side-area-ranking-grid .points,
.side-area-wr-ranking-grid .pos-marker,
.side-area-wr-ranking-grid .pos,
.side-area-wr-ranking-grid .name,
.side-area-wr-ranking-grid .points,
.side-area-wr-ranking-grid .score,
.side-area-wr-ranking-grid .hardware {
  white-space: nowrap;
}
.side-area-wr-ranking-grid .score,
.side-area-ranking-grid .points,
.side-area-wr-ranking-grid .points {
  justify-self: end;
}
.side-area-wr-ranking-grid .pos-marker,
.side-area-ranking-grid .pos-marker {
  width: 5px;
  height: 100%;
}
.side-area-wr-ranking-grid .pos-marker {
  grid-column: 1;
  grid-row: 1 / -1;
}
.side-area-ranking .row {
  display: grid;
  grid-template-columns: 70px 20px auto 150px;
  align-items: center;
  grid-gap: var(--space-sm);
  margin-bottom: var(--space-xs);
  background: var(--color-bg-card);
  border-radius: var(--border-radius-xs);
}
.side-area-ranking .row .pos {
  border-radius: var(--border-radius-xs);
  border: var(--border-width-sm) solid var(--color-pos-four-five);
  text-align: center;
  width: 100%;
}
.side-area-ranking .row .name {
  min-width: 100px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.captcha-challenge .content.wrapper {
  display: grid;
  justify-content: center;
}
.captcha-challenge .content.wrapper .row {
  display: flex;
  justify-content: center;
}
.reset-password .content .grid {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: auto;
  grid-gap: var(--space-sm);
  align-items: center;
  justify-items: center;
  width: 30%;
  margin: auto;
  min-width: 320px;
}
.reset-password .content .grid .action {
  justify-self: end;
}
.grid-box-card--login,
.grid-box-card--register,
.grid-box-card--reset-password {
  max-width: 350px;
  width: 100%;
  margin: var(--space-xl) auto;
  gap: var(--space-md);
  text-align: center;
}
.grid-box-card--login > p,
.grid-box-card--register > p,
.grid-box-card--reset-password > p {
  color: var(--color-text-secondary);
  margin: 0;
}
.grid-box-card--login > p a,
.grid-box-card--register > p a,
.grid-box-card--reset-password > p a {
  color: inherit;
  text-decoration: underline;
}
.grid-box-card--login form,
.grid-box-card--register form,
.grid-box-card--reset-password form {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  text-align: left;
}
.grid-box-card--login form button[type=submit],
.grid-box-card--register form button[type=submit],
.grid-box-card--reset-password form button[type=submit] {
  width: 100%;
}
.grid-box-card--register .recaptcha-wrapper,
.grid-box-card--reset-password .recaptcha-wrapper {
  display: flex;
  justify-content: center;
  width: 100%;
  overflow-x: auto;
}
.form-label-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  width: 100%;
}
.form-input-password-wrapper {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
}
.form-input-password-wrapper .form-input,
.form-input-password-wrapper input {
  width: 100%;
  padding-right: 42px;
  box-sizing: border-box;
}
.password-toggle-btn {
  position: absolute;
  right: 8px;
  background: transparent;
  border: none;
  padding: var(--space-sm);
  cursor: pointer;
  color: var(--color-text-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.password-toggle-btn:hover {
  color: var(--color-text-primary);
}
.login-footer {
  text-align: center;
  color: var(--color-text-secondary);
  padding-top: var(--space-md);
  border-top: var(--border-width-sm) solid var(--color-border-light);
}
.footer .content .info {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  font-family: var(--font-heading);
}
.footer .info ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer .system-info {
  text-align: center;
  font-family: var(--font-heading);
}
.footer .partner-info {
  text-align: center;
}
.footer .content .partner-info {
  margin: var(--space-lg) 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  gap: var(--space-lg);
}
.footer .content .partner-info .partner-box {
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.main-area.hw-data {
  position: relative;
  z-index: 1;
}
.hardware-overview .content-type-2 .manufacturer-grid,
.main-area.hw-data .content .manufacturer-grid {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}
.main-area.hw-data .content .manufacturer-grid .manufacturer-headline-grid-cell {
  height: 40px;
  display: flex;
  gap: var(--space-xs);
  align-items: center;
}
.main-area.hw-data .content .manufacturer-grid .manufacturer-headline-grid-cell img {
  height: 40px;
  width: auto;
  display: block;
  object-fit: contain;
}
.hardware-overview .content-type-2 .manufacturer-grid .manufacturer-grid-cell,
.main-area.hw-data .content .manufacturer-grid .manufacturer-grid-cell {
  height: 20px;
  display: flex;
  gap: var(--space-xs);
  align-items: center;
}
.hardware-overview .content-type-2 .manufacturer-grid .manufacturer-grid-cell img,
.main-area.hw-data .content .manufacturer-grid .manufacturer-grid-cell img {
  height: 20px;
  width: auto;
  display: block;
  object-fit: contain;
}
@keyframes loading {
  from {
    background-color: rgba(0, 0, 0, 0.5);
  }
  to {
    background-color: rgba(0, 0, 0, 0.4);
  }
}
.gold {
  background-color: var(--color-pos-first);
}
.silver {
  background-color: var(--color-border-light);
}
.bronze {
  background-color: var(--color-pos-third);
}
.medal {
  background-color: var(--color-pos-four-five);
}
.nomedal {
  background-color: lightgrey;
}
.gold-trophy {
  color: var(--color-pos-first);
}
.silver-trophy {
  color: var(--color-pos-second);
}
.bronze-trophy {
  color: var(--color-pos-third);
}
@keyframes shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.is-loading {
  position: relative;
  overflow: hidden;
  pointer-events: none;
}
.is-loading::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background:
    linear-gradient(
      90deg,
      rgba(232, 238, 241, 0) 0%,
      rgba(255, 255, 255, 0.6) 50%,
      rgba(232, 238, 241, 0) 100%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  z-index: 2;
}
@keyframes shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.button {
  font-family: var(--font-heading);
  background-color: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius-lg);
  color: var(--color-text-primary);
  cursor: pointer;
  padding: var(--space-sm) var(--space-md);
  text-align: center;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  white-space: nowrap;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
}
.button--info-row {
  padding: var(--space-sm) var(--space-md);
  gap: var(--space-xs);
  height: auto;
}
.button--modal-header-close {
  background: transparent;
  border: none;
}
.button--modal-header-close:hover {
  opacity: 0.7;
}
.button--modal-header-close:focus {
  outline: none;
}
.button--primary {
  background-color: var(--color-text-primary);
  color: var(--color-text-white);
  border-color: var(--color-text-primary);
}
.button--primary:hover {
  opacity: 0.9;
}
.button--image {
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  display: block;
  width: 100%;
}
.button--danger {
  color: var(--color-error);
  border-color: var(--color-error-border);
  background-color: var(--color-error-bg);
}
.button--danger:hover {
  background-color: var(--color-bg-hover);
  border-color: var(--color-border-light);
  color: var(--color-text-primary);
}
.button--100 {
  width: 100%;
}
.active,
.button:hover {
  border-color: var(--color-bg-hover-dark);
  box-shadow: var(--shadow-sm);
  background: lightgray;
  text-decoration: none;
}
.focus,
.button:focus {
  border-color: var(--color-primary);
  color: var(--color-text-white);
  outline: none;
  background: var(--color-bg-hover-dark);
}
.button:disabled,
.button.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
  box-shadow: none;
}
.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 var(--space-xs);
  border-radius: var(--border-radius-full);
  line-height: var(--line-height-none);
  background-color: var(--color-text-primary);
  color: var(--color-text-inverse);
  box-sizing: border-box;
}
.button .badge {
  margin-left: calc(-1 * var(--space-xs));
}
.button--primary .badge {
  background-color: var(--color-bg-surface);
  color: var(--color-text-primary);
}
.info-message {
  background: var(--color-info-bg);
  padding: var(--space-md);
  border-radius: var(--border-radius);
}
.warn-message {
  background-color: var(--color-warning-bg);
  border: var(--border-width-sm) solid var(--color-warning-border);
  color: var(--color-warning-text);
  padding: var(--space-md);
  border-radius: var(--border-radius);
}
.error-message {
  background: var(--color-error);
  padding: var(--space-md);
  border-radius: var(--border-radius);
  color: var(--color-text-inverse);
}
.error-message a,
.info-message a,
.warn-message a {
  color: inherit;
  text-decoration: underline;
  font-weight: var(--font-weight-bold);
}
.form-input {
  border: var(--border-width-md) solid var(--color-border-light);
  border-radius: var(--border-radius);
  background-color: var(--color-bg-surface);
  color: var(--color-text-primary);
  padding: var(--space-sm) var(--space-md);
  box-sizing: border-box;
}
input[type=checkbox].field-error {
  outline: var(--border-width-md) solid var(--color-error);
  background-color: var(--color-bg-surface);
}
.field-error {
  border: var(--border-width-md) solid var(--color-error);
  background-color: var(--color-bg-surface);
}
.ui-widget {
  font-family: var(--font-base);
}
.ui-widget-content {
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: 0;
  background: var(--color-bg-main);
  color: var(--color-text-primary);
}
.ui-widget-content a,
.ui-widget-content a:link,
.ui-widget-content a:hover,
.ui-widget-content a:visited,
.ui-widget-content a:active {
  color: var(--color-text-primary);
}
.ui-widget-content a:hover {
  text-decoration: underline;
}
.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
  border: none;
  background: var(--color-bg-main);
}
.ui-state-hover,
.ui-widget-content a.ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
  border: none;
  background: var(--color-bg-main);
}
.ui-menu .ui-menu-item a.ui-state-hover {
  margin: 0;
}
.result-status-comment .content .event-container,
.reporting-overview .content .sticky-table .event-container {
  background-color: var(--color-bg-card);
  border-left: var(--border-width-lg) solid var(--color-primary);
  padding: var(--space-md) var(--space-lg);
  margin: var(--space-xs) 0;
  max-height: 160px;
  overflow-y: auto;
}
.result-status-comment .content .event-container::-webkit-scrollbar,
.reporting-overview .content .sticky-table .event-container::-webkit-scrollbar {
  width: 6px;
}
.result-status-comment .content .event-container::-webkit-scrollbar-track,
.reporting-overview .content .sticky-table .event-container::-webkit-scrollbar-track {
  background: var(--color-bg-hover);
}
.result-status-comment .content .event-container::-webkit-scrollbar-thumb,
.reporting-overview .content .sticky-table .event-container::-webkit-scrollbar-thumb {
  background: var(--color-border-dashed);
  border-radius: var(--border-radius-xs);
}
.result-status-comment .content .event-container::-webkit-scrollbar-thumb:hover,
.reporting-overview .content .sticky-table .event-container::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.result-status-comment .content .event-timeline,
.reporting-overview .content .sticky-table .event-timeline {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.result-status-comment .content .event-item,
.reporting-overview .content .sticky-table .event-item {
  display: flex;
  align-items: flex-start;
}
.result-status-comment .content .event-icon,
.reporting-overview .content .sticky-table .event-icon {
  color: var(--color-text-muted);
  margin-right: var(--space-md);
  font-weight: var(--font-weight-bold);
}
.result-status-comment .content .event-meta,
.reporting-overview .content .sticky-table .event-meta {
  min-width: 160px;
  color: var(--color-text-secondary);
  font-family: var(--font-mono);
}
.result-status-comment .content .event-user,
.reporting-overview .content .sticky-table .event-user {
  min-width: 140px;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  margin-right: var(--space-md);
}
.result-status-comment .content .event-desc,
.reporting-overview .content .sticky-table .event-desc {
  color: var(--color-text-primary);
  flex-grow: 1;
  width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
.reporting-overview .content .sticky-table .nested-row td {
  padding: 0;
  border-bottom: var(--border-width-md) solid var(--color-border-light);
}
.reporting-overview .content .search-group-mobile {
  width: 100%;
}
.reporting-overview .content .search-input-wrapper {
  position: relative;
  display: flex;
  width: 100%;
  max-width: 400px;
}
.reporting-overview .content .search-input-wrapper input[type=text] {
  width: 100%;
  padding-right: 90px;
  box-sizing: border-box;
}
.reporting-overview .content .search-input-wrapper button {
  position: absolute;
  right: 2px;
  top: 2px;
  bottom: 2px;
  border-radius: 0 var(--border-radius-xs) var(--border-radius-xs) 0;
  cursor: pointer;
}
.reporting-overview .content .sticky-table .event-container {
  padding: var(--space-xs) var(--space-md);
}
.reporting-overview .content .sticky-table .event-timeline {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.reporting-overview .content .sticky-table .event-item {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.tab-menu {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--space-xs);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  margin-bottom: var(--space-md);
}
.tab-menu--hardware {
  margin-bottom: var(--space-md);
}
.tab-menu > * {
  flex: 0 0 auto;
}
.tab-menu select {
  margin-bottom: var(--space-xs);
}
.filter.tab-menu {
  border-bottom: none;
  margin-bottom: 0;
}
.tab-menu .button {
  background: transparent;
  border: none;
  border-radius: 0;
  border-bottom: var(--border-width-md) solid transparent;
  margin-bottom: -1px;
  color: var(--color-text-primary);
  font-weight: var(--font-weight-medium);
  padding: var(--space-sm) var(--space-md);
  gap: var(--space-sm);
  box-shadow: none;
  transition: color var(--transition-fast), border-color var(--transition-fast);
}
.tab-menu .button:hover {
  background: transparent;
  border-color: var(--color-border-standard);
  color: var(--color-link);
  box-shadow: none;
}
.tab-menu .button:focus {
  outline: none;
  box-shadow: none;
  background: transparent;
  color: var(--color-text-primary);
}
.tab-menu .button.focus,
.tab-menu .button.active,
.tab-menu .button.focus:hover,
.tab-menu .button.active:hover,
.tab-menu .button.focus:focus,
.tab-menu .button.active:focus {
  background: transparent;
  border-color: var(--color-link);
  color: var(--color-link);
  font-weight: var(--font-weight-bold);
  box-shadow: none;
}
.tab-menu .button:focus-visible {
  outline: 2px solid var(--color-highlight);
  outline-offset: -2px;
}
.tab-menu .table-navigation {
  margin-left: auto;
  margin-top: 0;
  margin-bottom: var(--space-xs);
}
.flex-row > .table-navigation {
  margin-left: auto;
  margin-top: 0;
}
.sidebar-title {
  color: var(--color-text-heading);
  margin-bottom: var(--space-md);
}
.sidebar-title-link {
  color: var(--color-primary);
  text-decoration: none;
}
.sidebar-title-link:hover {
  text-decoration: underline;
}
.sidebar-empty {
  color: var(--color-text-secondary);
  font-style: italic;
}
.wr-ranking-card {
  display: flex;
  flex-direction: column;
  border: var(--border-width-sm) solid var(--color-bg-card);
  border-radius: var(--border-radius-sm);
  overflow: hidden;
}
.wr-ranking-card .wr-ranking-row:not(:last-child) {
  padding-bottom: var(--space-xs);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.wr-ranking-row {
  display: flex;
  align-items: center;
  position: relative;
  padding: var(--space-sm) var(--space-md) var(--space-sm) 0;
  gap: var(--space-sm);
  border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
  transition: background-color var(--transition-fast);
}
.wr-ranking-row:last-child {
  border-bottom: none;
}
.wr-ranking-row:hover {
  background-color: var(--color-text-inverse);
}
.wr-ranking-row.is-active {
  background-color: var(--color-info-bg);
}
.pos-marker {
  width: 4px;
  align-self: stretch;
  flex-shrink: 0;
}
.pos-marker.gold {
  background-color: var(--color-warning-star);
}
.pos-marker.silver {
  background-color: var(--color-text-muted);
}
.pos-marker.bronze {
  background-color: var(--color-warning);
}
.pos-marker.medal {
  background-color: var(--color-accent);
}
.pos-marker.nomedal {
  background-color: transparent;
}
.rank-pos {
  color: var(--color-text-secondary);
  text-align: center;
  flex-shrink: 0;
}
.rank-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
  gap: var(--space-2xs);
}
.rank-label {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-muted);
}
.rank-label i {
  font-size: var(--font-size-2xs);
  color: var(--color-primary);
}
.rank-user-line {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  min-width: 0;
}
.rank-avatar {
  width: 20px;
  height: 20px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  flex-shrink: 0;
}
.rank-username {
  color: var(--color-primary);
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rank-username:hover {
  text-decoration: underline;
}
.rank-hardware-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rank-hw-link {
  color: var(--color-text-secondary);
  text-decoration: none;
}
.rank-hw-link:hover {
  color: var(--color-primary);
}
.rank-clock {
  color: var(--color-text-secondary);
}
.rank-score {
  flex-shrink: 0;
  text-align: right;
}
.rank-score-link {
  color: var(--color-text-heading);
  text-decoration: none;
}
.rank-score-link:hover {
  color: var(--color-primary);
}
.history-meta {
  display: flex;
  gap: var(--space-sm);
  color: var(--color-text-muted);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--space-2xs);
}
.history-meta::after {
  content: "";
}
.history-user {
  color: var(--color-accent);
}
.history-desc {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
}
.history-icon {
  color: var(--color-text-secondary);
  margin-top: var(--space-2xs);
}
.hw-tree-list,
.hw-tree-sublist {
  list-style: none;
  margin: 0;
  padding: 0;
}
.hw-tree-sublist {
  padding-left: var(--space-md);
  border-left: var(--border-width-sm) solid var(--color-border-light);
  margin-left: var(--space-sm);
}
.hw-tree-summary {
  display: list-item;
  cursor: pointer;
  border-radius: var(--border-radius);
}
.hw-tree-summary::-webkit-details-marker {
  display: none;
}
.hw-tree-summary::marker {
  content: "";
  display: none;
}
.hw-tree-summary-content {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
}
.hw-tree-summary-content .hw-tree-link {
  display: inline;
  padding: 0;
  background: transparent;
  color: inherit;
  flex: 1;
}
.hw-tree-summary-content .hw-tree-label {
  flex: 1;
}
.hw-tree-summary-content::before {
  content: "\f054";
  font-family: "Font Awesome 6 Free", "FontAwesome";
  color: var(--color-text-muted);
  transition: transform var(--transition-base);
}
.hw-tree-branch[open] > .hw-tree-summary .hw-tree-summary-content::before {
  transform: rotate(90deg);
  color: var(--color-text-primary);
}
.hw-tree-link {
  display: block;
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-primary);
  text-decoration: none;
  border-radius: var(--border-radius);
}
.hw-tree-summary:not(:has(.hw-tree-link.is-active)):hover,
.hw-tree-link:not(.is-active):hover {
  background: var(--color-bg-hover);
  color: var(--color-text-primary);
}
.hw-tree-summary-content .hw-tree-link:hover {
  background: transparent;
}
.hw-tree-link.is-active,
.hw-tree-summary:has(.hw-tree-link.is-active) {
  background: var(--color-bg-hover-dark);
  font-weight: var(--font-weight-bold);
}
.hw-tree-link.is-active:is(:link, :visited, :hover, :focus, :active),
.hw-tree-summary:has(.hw-tree-link.is-active),
.hw-tree-summary:has(.hw-tree-link.is-active) .hw-tree-link:is(:link, :visited, :hover, :focus, :active),
.hw-tree-summary:has(.hw-tree-link.is-active) .hw-tree-label,
.hw-tree-summary:has(.hw-tree-link.is-active) .hw-tree-summary-content::before {
  color: var(--color-text-inverse);
  text-decoration: none;
}
@media screen and (min-width: 1201px) {
  .header {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
  }
  .header .logo-wrapper,
  .header .partner-wrapper,
  .header .account-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: var(--space-md);
    flex-wrap: wrap;
    gap: var(--space-sm) var(--space-lg);
    justify-content: center;
  }
  .header .logo-wrapper,
  .header .partner-wrapper {
    justify-content: center;
  }
  .header .account-wrapper {
    justify-content: right;
    margin-left: auto;
  }
  .header .account-wrapper .grid {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--space-xs);
    text-align: center;
  }
  .header .partner-wrapper,
  .header .account-wrapper {
    color: gainsboro;
    font-family: var(--font-heading);
  }
  .header .partner-wrapper .platinum-partner img {
    height: 30px;
  }
  .header,
  .navigation,
  .footer {
    grid-column: 1 / -1;
  }
  .header .account a,
  .header .account a:link,
  .header .account a:hover,
  .header .account a:visited,
  .header .account a:active {
    color: gainsboro;
    text-decoration: none;
  }
  .header .account {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .header .account li {
    color: gainsboro;
    float: left;
    padding: var(--space-md);
  }
  .header .logo-wrapper {
    position: relative;
    z-index: 1000;
  }
  body.one-column {
    grid-template-columns: auto;
    grid-template-rows: auto auto 1fr auto;
    max-width: 2000px;
    margin: auto;
  }
  body.left-sidebar {
    grid-template-columns: 1fr 3fr;
    grid-template-rows: auto auto 1fr auto;
    max-width: 2000px;
    margin: auto;
  }
  body.right-sidebar {
    grid-template-columns: 3fr 1fr;
    grid-template-rows: auto auto 1fr auto;
    max-width: 2000px;
    margin: auto;
  }
  .nav__list {
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 100%;
  }
  .nav__item--cta {
    margin-left: auto;
  }
  .nav__item--has-sub > .nav__link-row > .nav__link::after {
    content: "";
    display: inline-block;
    margin-left: var(--space-sm);
    vertical-align: middle;
    border-top: var(--border-width-lg) solid var(--color-accent);
    border-right: var(--border-width-lg) solid transparent;
    border-left: var(--border-width-lg) solid transparent;
    transition: transform var(--transition-base), border-top-color var(--transition-base);
  }
  .nav__item--has-sub:is(:hover, :focus-within) > .nav__link-row > .nav__link::after {
    transform: rotate(180deg);
    border-top-color: var(--color-highlight);
  }
  .nav__sub {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 240px;
    padding: var(--space-sm) 0;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-light);
    border-radius: 0 0 var(--border-radius-sm) var(--border-radius-sm);
    box-shadow: var(--shadow-lg);
    z-index: var(--z-index-dropdown);
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    pointer-events: none;
    transition:
      opacity var(--transition-base),
      transform var(--transition-base),
      visibility var(--transition-base);
  }
  .nav__sub::before {
    content: "";
    position: absolute;
    top: -6px;
    left: 0;
    right: 0;
    height: 6px;
  }
  .nav__item--has-sub:is(:hover, :focus-within) > .nav__sub {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }
  .nodesktop {
    display: none !important;
  }
  .global-search {
    display: flex;
    align-items: center;
    position: relative;
    margin: 0;
  }
  .global-search-input-group {
    display: flex;
    align-items: center;
  }
  .global-search input[type=text],
  .global-search input[type=search],
  .global-search-input,
  .global-search button[type=submit],
  .global-search-button {
    position: relative;
    z-index: 1000;
    height: 40px;
    box-sizing: border-box;
  }
  .global-search input[type=text],
  .global-search input[type=search],
  .global-search-input {
    width: 190px;
    padding: 0 var(--space-lg);
    border: var(--border-width-md) solid var(--color-bg-dark);
    border-right: none;
    border-radius: var(--border-radius-full) 0 0 var(--border-radius-full);
    background-color: var(--color-bg-dark);
    color: var(--color-text-white);
    outline: none;
    transition:
      width var(--transition-base),
      border-color var(--transition-base),
      background-color var(--transition-base);
  }
  .global-search input[type=text]::placeholder,
  .global-search input[type=search]::placeholder,
  .global-search-input::placeholder {
    color: var(--color-text-muted);
  }
  .global-search input[type=text]:focus,
  .global-search input[type=search]:focus,
  .global-search-input:focus {
    width: 260px;
    border-color: rgba(56, 189, 248, 0.5);
    background-color: rgba(255, 255, 255, 0.1);
  }
  .global-search button[type=submit],
  .global-search-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    padding: 0 var(--space-lg) 0 var(--space-md);
    margin: 0;
    border: var(--border-width-md) solid var(--color-bg-dark);
    border-left: none;
    border-radius: 0 var(--border-radius-full) var(--border-radius-full) 0;
    background-color: var(--color-bg-dark);
    color: var(--color-text-muted);
    font-size: var(--font-size-lg);
    cursor: pointer;
    outline: none;
    box-shadow: none;
    vertical-align: top;
    transition:
      background-color var(--transition-base),
      border-color var(--transition-base),
      color var(--transition-base);
  }
  .global-search:hover .global-search-input,
  .global-search:hover .global-search-button {
    border-color: rgba(255, 255, 255, 0.2);
  }
  .global-search button[type=submit]:hover,
  .global-search-button:hover,
  .global-search button[type=submit]:focus-visible,
  .global-search-button:focus-visible {
    background-color: var(--color-bg-hover-dark);
    border-color: rgba(56, 189, 248, 0.5);
    color: var(--color-accent);
  }
  .global-search:focus-within .global-search-input {
    border-color: rgba(56, 189, 248, 0.5);
  }
  .global-search:focus-within .global-search-button {
    border-color: rgba(56, 189, 248, 0.5);
    background-color: rgba(255, 255, 255, 0.1);
    color: var(--color-accent);
  }
  .global-search-autocomplete-wrapper {
    display: none;
    position: fixed;
    top: 75px;
    left: 50%;
    transform: translateX(-50%);
    width: 900px;
    max-width: 92vw;
    z-index: var(--z-index-modal);
    border-radius: var(--border-radius);
    border: var(--border-width-sm) solid rgba(255, 255, 255, 0.12);
    box-shadow: var(--shadow-xl);
    overflow: hidden;
  }
  .global-search-autocomplete-header {
    padding: var(--space-md) var(--space-lg);
    background-color: var(--color-bg-dark);
    border-bottom: var(--border-width-sm) solid var(--color-border-light);
    color: var(--color-text-inverse);
  }
  .global-search-desktop-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }
  .global-search-autocomplete-header .button,
  .global-search-desktop-action .button {
    padding: var(--space-xs) var(--space-sm);
    border: none;
    background: transparent;
    color: var(--color-text-white);
    cursor: pointer;
    outline: none;
    box-shadow: none;
    transition: color var(--transition-base), transform var(--transition-base);
  }
  .global-search-autocomplete-header .button:hover,
  .global-search-desktop-action .button:hover {
    background: transparent;
    color: var(--color-text-primary);
  }
  .global-search-content .search-results-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--space-lg);
    align-items: start;
    max-height: 70vh;
    overflow-y: auto;
  }
  .global-search-content .search-category-group {
    width: 100%;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 1200px) {
  body.left-sidebar,
  body.right-sidebar {
    grid-template-columns: 1fr;
  }
  .nomobile {
    display: none !important;
  }
  .content {
    grid-template-columns: 10px minmax(0, 1fr) 10px;
  }
  .header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-lg);
    align-items: center;
    padding: var(--space-md);
  }
  .header .logo-wrapper {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    align-items: center;
    gap: var(--space-2xl);
  }
  .header .partner-wrapper {
    grid-column: span 2;
    grid-row: 2;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: var(--space-sm);
    width: 100%;
    font-family: var(--font-heading);
    color: gainsboro;
  }
  .header .partner-wrapper .platinum-partner img {
    height: 30px;
  }
  .side-area {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: var(--z-index-drawer);
    transform: translateY(100%);
    transition: transform var(--transition-smooth);
    overflow-y: auto;
    box-sizing: border-box;
  }
  .side-area.is-open {
    transform: translateY(0);
  }
  .side-area .content {
    padding: 0 var(--space-lg) var(--space-2xl) var(--space-lg);
  }
  .side-area .content .hw-tree {
    height: calc(100vh - 70px);
    overflow-y: auto;
  }
  .hw-tree-summary-content,
  .hw-tree-link {
    padding: var(--space-md);
  }
  .sidebar-mobile-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: var(--z-index-sticky-header);
    padding: var(--space-xs);
    background: var(--color-bg-alt);
    color: var(--color-text-primary);
    border-bottom: var(--border-width-md) solid var(--color-primary);
    margin: 0 -15px var(--space-lg) -15px;
    text-transform: uppercase;
    font-family: var(--font-heading);
  }
  .modal-overlay,
  .modal-overlay--fullscreen-mobile {
    padding: 0;
    align-items: stretch;
    justify-content: stretch;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    height: 100dvh;
  }
  .modal-dialog,
  .modal-dialog--fullscreen-mobile {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100dvh;
    max-height: 100dvh;
    border-radius: 0;
    box-shadow: none;
    margin: 0;
    overflow: hidden;
    transform: translateY(100%);
    transition: transform var(--transition-smooth);
    will-change: transform;
    display: flex;
    flex-direction: column;
  }
  .modal-overlay.is-open .modal-dialog,
  .modal-overlay--fullscreen-mobile.is-open .modal-dialog--fullscreen-mobile {
    transform: translateY(0);
  }
  .modal-dialog__header,
  .modal-dialog .modal-header,
  .modal-dialog--fullscreen-mobile .modal-header {
    flex-shrink: 0;
    background: var(--color-bg-main);
    border-bottom: var(--border-width-sm) solid var(--color-border-light);
    padding: max(10px, env(safe-area-inset-top, 10px)) max(15px, env(safe-area-inset-right, 15px)) 10px max(15px, env(safe-area-inset-left, 15px));
  }
  .modal-dialog__body,
  .modal-dialog .modal-body,
  .modal-dialog--fullscreen-mobile .modal-body {
    flex: 1 1 0;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    padding: 15px max(15px, env(safe-area-inset-right, 15px)) 15px max(15px, env(safe-area-inset-left, 15px));
  }
  .modal-dialog__footer,
  .modal-dialog .modal-footer,
  .modal-dialog--fullscreen-mobile .modal-footer {
    flex-shrink: 0;
    background: var(--color-bg-main);
    border-top: var(--border-width-sm) solid var(--color-border-light);
    padding: 12px max(15px, env(safe-area-inset-right, 15px)) max(12px, env(safe-area-inset-bottom, 12px)) max(15px, env(safe-area-inset-left, 15px));
  }
  .modal-dialog__actions,
  .modal-dialog .form-modal-actions,
  .modal-dialog--fullscreen-mobile .form-modal-actions {
    display: flex;
    gap: var(--space-md);
    justify-content: flex-end;
    align-items: center;
    margin: 0;
  }
  .modal-dialog__footer .button,
  .modal-dialog .modal-footer .button,
  .modal-dialog--fullscreen-mobile .form-modal-actions .button {
    min-height: 44px;
  }
  @media (prefers-reduced-motion: reduce) {
    .modal-dialog,
    .modal-dialog.modal-dialog--fullscreen-mobile {
      transition: none;
    }
  }
  .nav__overlay {
    display: block;
  }
  .nav--open .nav__overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .nav__drawer {
    position: fixed;
    top: 0;
    left: 0;
    width: 320px;
    max-width: 85vw;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: var(--color-bg-dark);
    z-index: var(--z-index-drawer);
    overflow-y: auto;
    overflow-x: hidden;
    box-shadow: none;
    transform: translateX(-100%);
    will-change: transform;
    transition: transform var(--transition-smooth);
  }
  .nav--open .nav__drawer {
    transform: translateX(0);
  }
  .nav__drawer-header {
    display: flex;
  }
  .nav__list {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: var(--space-sm) 0 var(--space-2xl) 0;
  }
  .nav__link-row {
    border-bottom: var(--border-width-sm) solid rgba(255, 255, 255, 0.05);
  }
  .nav__link,
  .nav__link:link,
  .nav__link:visited {
    flex: 1;
    padding: var(--space-lg);
  }
  .nav__link-row:is(:hover, :focus-within),
  .nav__link:is(:hover, :focus-visible) {
    background: rgba(255, 255, 255, 0.08);
    color: var(--color-text-white);
  }
  .nav__sub-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: transparent;
    border: none;
    color: var(--color-accent);
    cursor: pointer;
    transition: background var(--transition-base), color var(--transition-base);
  }
  .nav__sub-toggle:is(:hover, :focus-visible) {
    background: rgba(255, 255, 255, 0.12);
    color: var(--color-highlight);
  }
  .nav__item--open .nav__sub-toggle i {
    transform: rotate(180deg);
    color: var(--color-highlight);
  }
  .nav__sub {
    display: none;
    padding: var(--space-xs) 0;
    background: rgba(0, 0, 0, 0.2);
  }
  .nav__item--open .nav__sub {
    display: block;
  }
  .nav__sub-link,
  .nav__sub-link:link,
  .nav__sub-link:visited {
    padding: var(--space-md) var(--space-lg) var(--space-md) var(--space-2xl);
    color: var(--color-text-inverse);
  }
  .nav__sub-link:is(:hover, :focus-visible, :active) {
    background: rgba(255, 255, 255, 0.12);
    color: var(--color-text-white);
  }
  .nav__link--cta {
    justify-content: center;
    text-align: center;
    width: 100%;
  }
  .filter .ranking-filter {
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .filter .ranking-filter::-webkit-scrollbar {
    display: none;
  }
  .tab-menu {
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 0;
  }
  .tab-menu::-webkit-scrollbar {
    display: none;
  }
  .hero-banner {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: var(--space-lg);
  }
  .grid-box--submit-hardware {
    grid-template-columns: auto;
  }
  .submission-score-card {
    flex-direction: column;
    align-items: flex-start;
  }
  .submission-score-card .score-details {
    flex-wrap: wrap;
  }
  .submission-score-card .score-details-row {
    flex-wrap: wrap;
  }
  .flex-row--info,
  .flex-row--badges {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .flex-row--info {
    margin: var(--space-md) 0;
  }
  .flex-row--info::-webkit-scrollbar,
  .flex-row--badges::-webkit-scrollbar {
    display: none;
  }
  .flex-row--info > *,
  .flex-row--badges > * {
    flex-shrink: 0;
  }
  .profile-banner-wrapper.has-banner .avatar {
    width: 60px;
    height: 60px;
  }
  .profile-banner-wrapper.has-banner .avatar-wrapper {
    bottom: 10px;
    left: 12px;
  }
  .reporting-overview .content .sticky-table table,
  .reporting-overview .content .sticky-table tbody,
  .reporting-overview .content .sticky-table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
  .reporting-overview .content .sticky-table thead {
    display: none;
  }
  .reporting-overview .content .sticky-table tbody tr {
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-standard);
    border-radius: var(--border-radius-sm);
    margin-bottom: var(--space-md);
    padding: var(--space-md);
    box-shadow: var(--shadow-sm);
  }
  .reporting-overview .content .sticky-table tbody tr:nth-child(odd) td,
  .reporting-overview .content .sticky-table tbody tr:nth-child(even) td {
    background-color: transparent;
  }
  .reporting-overview .content .sticky-table tbody tr td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-sm) 0;
    border-bottom: var(--border-width-sm) dashed var(--color-border-light);
    white-space: normal;
  }
  .reporting-overview .content .sticky-table tbody tr td:last-child {
    border-bottom: none;
  }
  .reporting-overview .content .sticky-table tbody tr td[data-label]::before {
    content: attr(data-label);
    font-family: var(--font-heading);
    color: var(--color-text-primary);
    text-transform: uppercase;
    padding-right: var(--space-md);
  }
  .reporting-overview .content .sticky-table tbody tr td.col-user {
    order: 2;
  }
  .reporting-overview .content .sticky-table tbody tr td.col-score {
    order: 3;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
  }
  .reporting-overview .content .sticky-table tbody tr td.col-hardware {
    order: 4;
    border-top: none;
    padding-top: var(--space-2xs);
    color: var(--color-text-secondary);
  }
  .result-status-comment .content .event-container,
  .reporting-overview .content .sticky-table .event-container {
    max-height: 200px;
    margin-top: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    border-left: var(--border-width-md) solid var(--color-text-primary);
  }
  .reporting-overview .content .sticky-table .event-container {
    width: 100%;
  }
  .result-status-comment .content .event-item,
  .reporting-overview .content .sticky-table .event-item {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2xs);
    padding-bottom: var(--space-sm);
    border-bottom: var(--border-width-sm) solid var(--color-bg-hover-dark);
  }
  .reporting-overview .content .sticky-table .event-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
  .reporting-overview .content .sticky-table .event-meta,
  .reporting-overview .content .sticky-table .event-user {
    min-width: unset;
  }
  .reporting-overview .content .search-input-wrapper {
    max-width: 100%;
  }
  .reporting-overview .content .sticky-table .status-badge {
    width: 100%;
  }
  .global-search,
  .global-search-wrapper {
    margin-left: auto;
    display: flex;
    justify-content: flex-end;
  }
  .global-search button[type=submit],
  .global-search-button {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: var(--space-sm) var(--space-md);
    color: gainsboro;
    font-size: var(--font-size-lg);
    cursor: pointer;
    outline: none;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .global-search button[type=submit] i,
  .global-search-button i {
    background: transparent;
    color: inherit;
    font-size: inherit;
  }
  .global-search button[type=submit]:hover,
  .global-search-button:hover {
    color: var(--color-bg-hover-dark);
  }
  .global-search-autocomplete-wrapper {
    display: none;
    position: fixed;
    inset: 0;
    top: 0;
    left: 0;
    transform: none;
    width: 100vw;
    height: 100vh;
    max-width: 100vw;
    border: none;
    border-radius: 0;
    box-shadow: none;
    z-index: var(--z-index-modal);
    background: var(--color-bg-navy);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .global-search-autocomplete {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: var(--color-bg-navy);
  }
  .global-search-autocomplete-header {
    position: sticky;
    top: 0;
    z-index: var(--z-index-sticky-header);
    padding: var(--space-md);
    background: var(--color-bg-navy);
    border-bottom: var(--border-width-sm) solid rgba(255, 255, 255, 0.1);
  }
  .global-search-mobile-action {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    width: 100%;
  }
  .global-search-mobile-action .button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--color-text-muted);
    cursor: pointer;
  }
  .global-search-mobile-action .button:active {
    color: var(--color-accent);
  }
  .global-search-mobile-action .global-search-spinner {
    color: var(--color-accent);
    margin-right: var(--space-xs);
  }
  .global-search-mobile-action input.input {
    flex: 1;
    min-height: 44px;
    padding: 0 var(--space-lg);
    border: var(--border-width-sm) solid var(--color-border-dark);
    border-radius: var(--border-radius);
    background: var(--color-bg-navy);
    color: var(--color-text-inverse);
    font-size: inherit;
    outline: none;
  }
  .global-search-mobile-action input.input:focus {
    border-color: var(--color-accent);
  }
  .global-search-content {
    flex: 1;
    padding: var(--space-md) var(--space-md) var(--space-2xl);
  }
  .form-filter {
    flex-direction: row;
    flex-wrap: wrap;
    overflow-x: visible;
    overflow-y: visible;
    gap: var(--space-xs);
  }
  .form-filter > * {
    flex-shrink: 0;
    scroll-snap-align: none;
  }
  .modal-body .form-filter {
    flex-wrap: wrap;
    overflow-x: visible;
  }
  .modal-body .form-filter > * {
    scroll-snap-align: none;
  }
  .modal-body #ranking_filter {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: var(--space-md) var(--space-lg);
    margin-bottom: 0;
  }
  .filter-chips-bar {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    overflow-x: visible;
    overflow-y: visible;
    gap: var(--space-xs);
  }
  .filter-chips-bar > * {
    flex-shrink: 0;
  }
  .filter-chips-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
  }
  .filter-chips-list > * {
    flex-shrink: 0;
  }
}
.vote-cell {
  position: relative;
  white-space: nowrap;
}
.vote-cell .vote-pill {
  font-size: var(--font-size-sm);
}
.vote-widget {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.vote-pill {
  display: inline-flex;
  align-items: center;
  background-color: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-dark);
  border-radius: var(--border-radius-lg);
  padding: var(--space-2xs) var(--space-xs);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-none);
  box-shadow: var(--shadow-sm);
  transition: border-color var(--transition-fast);
}
.vote-pill:hover {
  border-color: var(--color-highlight);
}
.vote-pill__btn {
  background: none;
  border: none;
  padding: var(--space-xs) var(--space-sm);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  color: var(--color-text-primary);
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  text-decoration: none;
  transition: color var(--transition-fast);
}
.vote-pill__btn:hover {
  color: var(--color-highlight);
  text-decoration: none;
}
.vote-pill__action.has-voted {
  color: var(--color-highlight);
}
.vote-pill__action--disabled {
  opacity: 0.6;
  cursor: pointer;
}
.vote-pill__divider {
  width: 1px;
  height: 14px;
  background-color: var(--color-border-light);
  margin: 0 1px;
}
.vote-pill__count {
  font-weight: var(--font-weight-bold);
}
.vote-pill__caret {
  font-size: var(--font-size-3xs);
  opacity: 0.7;
}
.vote-dropdown-menu {
  position: fixed;
  min-width: 180px;
  max-width: 240px;
  max-height: 220px;
  overflow-y: auto;
  font-size: var(--font-size-xs);
  background-color: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-dark);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-md);
  z-index: var(--z-index-dropdown);
  text-align: left;
}
.vote-popover-header {
  padding: var(--space-sm) var(--space-md);
  font-weight: var(--font-weight-bold);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.vote-popover-list {
  list-style: none;
  margin: 0;
  padding: var(--space-xs) 0;
}
.vote-popover-item {
  padding: 0;
}
.vote-user-link {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-primary);
  text-decoration: none;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}
.vote-user-link:hover {
  background-color: var(--color-bg-hover);
  color: var(--color-highlight);
  text-decoration: none;
}
.vote-user-avatar {
  width: 20px;
  height: 20px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  flex-shrink: 0;
}
.vote-popover-empty,
.vote-loading,
.vote-popover-error {
  padding: var(--space-md);
  color: var(--color-text-muted);
  text-align: center;
}
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vZnJvbnRlbmQvY3NzL3N0eWxlLmNzcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiOnJvb3Qge1xuICAgIC8qIEJhY2tncm91bmRzICYgU3VyZmFjZXMgKi9cbiAgICAtLWNvbG9yLWJnLWdyYWRpZW50LXN0YXJ0OiAjNTA5MUREO1xuICAgIC0tY29sb3ItYmctZ3JhZGllbnQtZW5kOiAjMDMwNjE3O1xuICAgIC0tY29sb3ItYmctbWFpbjogI0Y0RjdGODtcbiAgICAtLWNvbG9yLWJnLXN1cmZhY2U6ICNGRkZGRkY7XG4gICAgLS1jb2xvci1iZy1jYXJkOiAjZjhmYWZjO1xuICAgIC0tY29sb3ItYmctaG92ZXI6ICNmMWY1Zjk7XG4gICAgLS1jb2xvci1iZy1ob3Zlci1kYXJrOiAjMzY0NTRGO1xuICAgIC0tY29sb3ItYmctZGFyazogIzM2NDU0RjtcbiAgICAtLWNvbG9yLWJnLW5hdnk6ICMwMzA2MTc7XG4gICAgLS1jb2xvci1iZy1leHRyYTogZGFya3NsYXRlZ3JheTtcblxuICAgIC8qIFRleHQgJiBUeXBvZ3JhcGh5IENvbG9ycyAqL1xuICAgIC0tY29sb3ItdGV4dC1wcmltYXJ5OiAjMzY0NTRGO1xuICAgIC0tY29sb3ItdGV4dC1oZWFkaW5nOiAjMGYxNzJhO1xuICAgIC0tY29sb3ItdGV4dC1zZWNvbmRhcnk6ICM2NDc0OGI7XG4gICAgLS1jb2xvci10ZXh0LW11dGVkOiAjOTRhM2I4O1xuICAgIC0tY29sb3ItdGV4dC1pbnZlcnNlOiAjRjRGN0Y4O1xuICAgIC0tY29sb3ItdGV4dC13aGl0ZTogI2ZmZmZmZjtcblxuICAgIC8qIEJvcmRlcnMgKi9cbiAgICAtLWNvbG9yLWJvcmRlci1saWdodDogI0U1RTVFNTtcbiAgICAtLWNvbG9yLWJvcmRlci1zdWJ0bGU6ICNlMmU4ZjA7XG4gICAgLS1jb2xvci1ib3JkZXItZGFzaGVkOiAjY2JkNWUxO1xuICAgIC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkOiBsaWdodGdyYXk7XG4gICAgLS1jb2xvci1ib3JkZXItZGFyazogIzM2NDU0RjtcbiAgICAtLWJvcmRlci13aWR0aC1zbTogMXB4O1xuICAgIC0tYm9yZGVyLXdpZHRoLW1kOiAycHg7XG4gICAgLS1ib3JkZXItd2lkdGgtbGc6IDRweDtcbiAgICAtLWJvcmRlci13aWR0aC14bDogNXB4O1xuICAgIC0tYm9yZGVyLXJhZGl1cy14czogNHB4O1xuICAgIC0tYm9yZGVyLXJhZGl1cy1zbTogNnB4O1xuICAgIC0tYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIC0tYm9yZGVyLXJhZGl1cy1sZzogMTZweDtcbiAgICAtLWJvcmRlci1yYWRpdXMtZnVsbDogOTk5OXB4O1xuICAgIC0tYm9yZGVyLXJhZGl1cy1jaXJjbGU6IDUwJTtcblxuICAgIC8qIEJyYW5kLCBBY3Rpb25zICYgSGlnaGxpZ2h0cyAqL1xuICAgIC0tY29sb3ItcHJpbWFyeTogIzAyODRjNztcbiAgICAtLWNvbG9yLXByaW1hcnktaG92ZXI6ICMwMzY5YTE7XG4gICAgLS1jb2xvci1hY2NlbnQ6ICMzOGJkZjg7XG4gICAgLS1jb2xvci1oaWdobGlnaHQ6ICM2MGE1ZmE7XG5cbiAgICAvKiBMaW5rcyAqL1xuICAgIC0tY29sb3ItbGluazogIzFkNGVkODtcbiAgICAtLWNvbG9yLWxpbmstaG92ZXI6ICMxZTQwYWY7XG4gICAgLS1jb2xvci1saW5rLXVuZGVybGluZTogcmdiYSgyOSwgNzgsIDIxNiwgMC4zNSk7XG5cbiAgICAvKiBTdGF0dXM6IFN1Y2Nlc3MgKEdyZWVuKSAqL1xuICAgIC0tY29sb3Itc3VjY2VzczogIzE2YTM0YTtcbiAgICAtLWNvbG9yLXN1Y2Nlc3MtYmc6ICNmMGZkZjQ7XG4gICAgLS1jb2xvci1zdWNjZXNzLWJvcmRlcjogI2JiZjdkMDtcbiAgICAtLWNvbG9yLXN1Y2Nlc3MtdGV4dDogIzE2NjUzNDtcblxuICAgIC8qIFN0YXR1czogV2FybmluZyAvIFBlbmRpbmcgKEFtYmVyKSAqL1xuICAgIC0tY29sb3Itd2FybmluZzogI2Q5NzcwNjtcbiAgICAtLWNvbG9yLXdhcm5pbmctYmc6ICNmZmZiZWI7XG4gICAgLS1jb2xvci13YXJuaW5nLWJvcmRlcjogI2ZkZTY4YTtcbiAgICAtLWNvbG9yLXdhcm5pbmctdGV4dDogIzkyNDAwZTtcbiAgICAtLWNvbG9yLXdhcm5pbmctc3RhcjogI2VhYjMwODtcblxuICAgIC8qIFN0YXR1czogRGFuZ2VyIC8gRXJyb3IgKFJlZCkgKi9cbiAgICAtLWNvbG9yLWVycm9yOiAjZGMyNjI2O1xuICAgIC0tY29sb3ItZXJyb3ItYmc6ICNmZWYyZjI7XG4gICAgLS1jb2xvci1lcnJvci1ib3JkZXI6ICNmZWNhY2E7XG4gICAgLS1jb2xvci1lcnJvci10ZXh0OiAjOTkxYjFiO1xuXG4gICAgLyogU3RhdHVzOiBJbmZvIChCbHVlKSAqL1xuICAgIC0tY29sb3ItaW5mby1iZzogI2VmZjZmZjtcbiAgICAtLWNvbG9yLWluZm8tYm9yZGVyOiAjYmZkYmZlO1xuICAgIC0tY29sb3ItaW5mby10ZXh0OiAjMWU0MGFmO1xuXG4gICAgLyogUmFua2luZ3MgLyBNZWRhbHMgKi9cbiAgICAtLWNvbG9yLXBvcy1maXJzdDogI0ZGRDcwMDtcbiAgICAtLWNvbG9yLXBvcy1zZWNvbmQ6ICNDMEMwQzA7XG4gICAgLS1jb2xvci1wb3MtdGhpcmQ6ICNDRDdGMzI7XG4gICAgLS1jb2xvci1wb3MtZm91ci1maXZlOiAjQUFCRkM5O1xuXG4gICAgLyogU3BhY2luZyAqL1xuICAgIC0tc3BhY2UtMnhzOiAycHg7XG4gICAgLS1zcGFjZS14czogIDRweDtcbiAgICAtLXNwYWNlLXNtOiAgOHB4O1xuICAgIC0tc3BhY2UtbWQ6IDEycHg7XG4gICAgLS1zcGFjZS1sZzogMTZweDtcbiAgICAtLXNwYWNlLXhsOiAyNHB4O1xuICAgIC0tc3BhY2UtMnhsOiAzMnB4O1xuXG4gICAgLyogRm9udCAqL1xuICAgIC0tZm9udC1oZWFkaW5nOiBcIlBpbGxHb3RoaWMzMDBtZ0JvbGRcIiwgXCJMdWNpZGEgR3JhbmRlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgLS1mb250LWJhc2U6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIC0tZm9udC1tb25vOiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgbW9ub3NwYWNlO1xuICAgIC0tZm9udC1zaXplLTN4czogIDAuNjI1cmVtO1xuICAgIC0tZm9udC1zaXplLTJ4czogIDAuNjg3NXJlbTtcbiAgICAtLWZvbnQtc2l6ZS14czogICAwLjc1cmVtO1xuICAgIC0tZm9udC1zaXplLXNtOiAgIDAuODEyNXJlbTtcbiAgICAtLWZvbnQtc2l6ZS1tZDogICAwLjg3NXJlbTtcbiAgICAtLWZvbnQtc2l6ZS1iYXNlOiAxcmVtO1xuICAgIC0tZm9udC1zaXplLWxnOiAgIDEuMTI1cmVtO1xuICAgIC0tZm9udC1zaXplLXhsOiAgIDEuMjVyZW07XG4gICAgLS1mb250LXNpemUtMnhsOiAgMS41cmVtO1xuICAgIC0tZm9udC1zaXplLTN4bDogIDEuODc1cmVtO1xuICAgIC0tZm9udC13ZWlnaHQtbm9ybWFsOiAgICA0MDA7XG4gICAgLS1mb250LXdlaWdodC1tZWRpdW06ICAgIDUwMDtcbiAgICAtLWZvbnQtd2VpZ2h0LXNlbWlib2xkOiAgNjAwO1xuICAgIC0tZm9udC13ZWlnaHQtYm9sZDogICAgICA3MDA7XG4gICAgLS1mb250LXdlaWdodC1leHRyYWJvbGQ6IDgwMDtcblxuICAgIC8qIExpbmUgSGVpZ2h0ICovXG4gICAgLS1saW5lLWhlaWdodC1ub25lOiAgIDE7XG4gICAgLS1saW5lLWhlaWdodC10aWdodDogIDEuMjU7XG4gICAgLS1saW5lLWhlaWdodC1ub3JtYWw6IDEuNTtcblxuXG4gICAgLyogRWxldmF0aW9uIC8gU2hhZG93cyAqL1xuICAgIC0tc2hhZG93LXNtOiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIC0tc2hhZG93LW1kOiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgLS1zaGFkb3ctbGc6IDAgMTBweCAyNXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIC0tc2hhZG93LXhsOiAwIDI1cHggNjBweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG5cbiAgICAvKiBUcmFuc2l0aW9ucyAmIE1vdGlvbiAqL1xuICAgIC0tdHJhbnNpdGlvbi1mYXN0OiAgIDAuMTVzIGVhc2U7XG4gICAgLS10cmFuc2l0aW9uLWJhc2U6ICAgMC4ycyBlYXNlO1xuICAgIC0tdHJhbnNpdGlvbi1zbW9vdGg6IDAuMzVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG5cbiAgICAvKiBNb2RhbCAvIERpYWxvZyBXaWR0aHMgKi9cbiAgICAtLW1vZGFsLXdpZHRoLXNtOiA0ODBweDtcbiAgICAtLW1vZGFsLXdpZHRoLW1kOiA2MDBweDtcbiAgICAtLW1vZGFsLXdpZHRoLWxnOiA4MDBweDtcbiAgICAtLW1vZGFsLXdpZHRoLXhsOiAxMjAwcHg7XG5cbiAgICAvKiBTdGFja2luZyBDb250ZXh0ICh6LWluZGV4KSAqL1xuICAgIC0tei1pbmRleC10YWJsZS1zdGlja3k6IDI7ICAgICAgICAgIC8qIHRib2R5IHN0aWNreSBjb2x1bW5zICovXG4gICAgLS16LWluZGV4LXRhYmxlLXN0aWNreS1oZWFkOiAzOyAgICAgLyogdGhlYWQgc3RpY2t5IGNvbHVtbnMgKi9cbiAgICAtLXotaW5kZXgtc3RpY2t5LWhlYWRlcjogMTA7ICAgICAgICAvKiBJbi1wYWdlIHN0aWNreSBoZWFkZXJzICovXG4gICAgLS16LWluZGV4LWxvYWRpbmctb3ZlcmxheTogMjA7ICAgICAgLyogSW4tcGFnZS9jb21wb25lbnQgbG9hZGVycyAqL1xuICAgIC0tei1pbmRleC1kcm9wZG93bjogNTAwOyAgICAgICAgICAgIC8qIE1lbnVzIGFuZCBmbHlvdXRzICovXG4gICAgLS16LWluZGV4LWJhY2tkcm9wOiA5OTA7ICAgICAgICAgICAgLyogRGltbWVyIG92ZXJsYXlzICovXG4gICAgLS16LWluZGV4LWRyYXdlcjogMTAwMDsgICAgICAgICAgICAgLyogT2ZmLWNhbnZhcyBuYXZpZ2F0aW9uICYgc2lkZWJhcnMgKi9cbiAgICAtLXotaW5kZXgtbW9kYWw6IDEwNTA7ICAgICAgICAgICAgICAvKiBTZWFyY2ggbW9kYWwgJiBkaWFsb2dzICovXG59XG5cbmh0bWwge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJhc2UpO1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGJvdHRvbSwgdmFyKC0tY29sb3ItYmctZ3JhZGllbnQtc3RhcnQpIDAlLCB2YXIoLS1jb2xvci1iZy1ncmFkaWVudC1lbmQpIDEwMCUpIG5vLXJlcGVhdCBmaXhlZDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuYm9keSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG5wIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXhzKSAwO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UtbGcpIDAgdmFyKC0tc3BhY2UtbWQpIDA7XG59XG5cbi5mb290ZXIgaDEsIC5mb290ZXIgaDIsIC5mb290ZXIgaDMsIC5mb290ZXIgaDQsXG4uZm9vdGVyIGg1IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbn1cblxuYSwgYTpsaW5rLCBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmE6aG92ZXIsIGE6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1ob3Zlcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5oZWFkZXIgLnBhdHJlb24ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTN4bCk7XG59XG5cbi5oZWFkZXIgLnBhdHJlb24gYSxcbi5oZWFkZXIgLnBhdHJlb24gYTpsaW5rLFxuLmhlYWRlciAucGF0cmVvbiBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmhlYWRlciAucGF0cmVvbiBhOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUsIDphY3RpdmUpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG59XG5cbi5mb250LWJvbGQge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmZvbnQtbXV0ZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uZm9udC1jb2xvci1saWdodCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG59XG5cbi50ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cblxuaW5wdXRbdHlwZT1zdWJtaXRdLFxuaW5wdXRbdHlwZT1maWxlXSxcbnNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG59XG5cbnRleHRhcmVhLFxuaW5wdXRbdHlwZT1wYXNzd29yZF0sXG5pbnB1dFt0eXBlPXRleHRdLFxuaW5wdXRbdHlwZT1lbWFpbF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xufVxuXG50ZXh0YXJlYSxcbmlucHV0W3R5cGU9c3VibWl0XSxcbmlucHV0W3R5cGU9ZmlsZV0sXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSxcbmlucHV0W3R5cGU9dGV4dF0sXG5pbnB1dFt0eXBlPWVtYWlsXSxcbnNlbGVjdCB7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbmlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIFRhYmxlICovXG50YWJsZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxudGFibGUgdGhlYWQge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxudGFibGUgdGhlYWQgdHIgdGgsXG50YWJsZSB0aGVhZCB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbnRhYmxlIHRoZWFkIGEsXG50YWJsZSB0aGVhZCBhOmlzKDpsaW5rLCA6dmlzaXRlZCwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy12aXNpYmxlKSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG5cbi5mbGV4LXJvdy1pdGVtLS13b3JsZC1yZWNvcmQgYSxcbi5mbGV4LXJvdy1pdGVtLS13b3JsZC1yZWNvcmQgYTppcyg6bGluaywgOnZpc2l0ZWQsIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtdmlzaWJsZSksXG4uZmxleC1yb3ctLW5ld3MtZm9vdGVyIGEsXG4uZmxleC1yb3ctLW5ld3MtZm9vdGVyIGE6aXMoOmxpbmssIDp2aXNpdGVkLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXZpc2libGUpLFxuLnNpZGUtYXJlYSBhLFxuLnNpZGUtYXJlYSBhOmlzKDpsaW5rLCA6dmlzaXRlZCwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy12aXNpYmxlKSxcbnRhYmxlIHRib2R5IGEsXG50YWJsZSB0Ym9keSBhOmlzKDpsaW5rLCA6dmlzaXRlZCwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy12aXNpYmxlKSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG5cbnRhYmxlIHRib2R5IHRyIHRoLFxudGFibGUgdGJvZHkgdHIgdGQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxudGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxudGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbnRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5zdGlja3ktdGFibGUge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IGNvbnRhaW47XG59XG5cbi5zdGlja3ktdGFibGUgdGFibGUge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkLFxuLnN0aWNreS10YWJsZSB0YWJsZSB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzKSAtIHZhcigtLWJvcmRlci13aWR0aC1zbSkpO1xufVxuXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRkOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSk7XG59XG5cbi5zdGlja3ktdGFibGUgdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCxcbi5zdGlja3ktdGFibGUgdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzKSAtIHZhcigtLWJvcmRlci13aWR0aC1zbSkpO1xufVxuXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCxcbi5zdGlja3ktdGFibGUgdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzKSAtIHZhcigtLWJvcmRlci13aWR0aC1zbSkpO1xufVxuXG4uc3RpY2t5LXRhYmxlLS1jb21wYXJlIHRhYmxlIHRoZWFkIGgzICB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5zdGlja3ktdGFibGUtLWNvbXBhcmUgdGFibGUgdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xufVxuXG4uc3RpY2t5LXRhYmxlLS1jb21wYXJlIHRhYmxlIHRib2R5IHRyIHRkOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4uc3RpY2t5LXRhYmxlLS1jb21wYXJlIHRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5zdGlja3ktdGFibGUgdGFibGUgdGhlYWQgdGguc3RpY2t5LWNvbCxcbi5zdGlja3ktdGFibGUgdGFibGUgdGhlYWQgdGQuc3RpY2t5LWNvbCxcbi5zdGlja3ktdGFibGUtLWNvbXBhcmUgdGFibGUgdGhlYWQgdGguc3RpY2t5LWNvbCB7XG4gICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LXRhYmxlLXN0aWNreS1oZWFkKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJveC1zaGFkb3c6IDJweCAwIDVweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRib2R5IHRoLnN0aWNreS1jb2wsXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRib2R5IHRkLnN0aWNreS1jb2wsXG4uc3RpY2t5LXRhYmxlLS1jb21wYXJlIHRhYmxlIHRib2R5IHRoLnN0aWNreS1jb2wge1xuICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogdmFyKC0tei1pbmRleC10YWJsZS1zdGlja3kpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm94LXNoYWRvdzogMnB4IDAgNXB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG5cbmJvZHkud2FpdGluZyxcbmJvZHkud2FpdGluZyAqIHtcbiAgICBjdXJzb3I6IHdhaXQ7XG59XG5cbi50YWJsZS1uYXZpZ2F0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLnRhYmxlLW5hdmlnYXRpb24gLnBhZ2luYXRpb24ge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udGFibGUtbmF2aWdhdGlvbiAucGFnaW5hdGlvbiBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLnRhYmxlLW5hdmlnYXRpb24gLnBhZ2luYXRpb24gLmJ1dHRvbiB7XG4gICAgbWluLXdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnRhYmxlLW5hdmlnYXRpb24gLnBhZ2luYXRpb24gLmJ1dHRvbi5idXR0b24tLXByaW1hcnksXG4udGFibGUtbmF2aWdhdGlvbiAucGFnaW5hdGlvbiAuYnV0dG9uLmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi50YWJsZS1uYXZpZ2F0aW9uIC5wYWdpbmF0aW9uIC5idXR0b246bm90KC5idXR0b24tLXByaW1hcnkpOm5vdCguZm9jdXMpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi50YWJsZS1hdmF0YXItd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4udGFibGUtYXZhdGFyLXdyYXBwZXIgaW1nIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xufVxuXG4udGFibGUtYXZhdGFyLXdyYXBwZXIgLnBhcnRpY2lwYW50IHtcbiAgICB3aWR0aDogMTMwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhYmxlLWF2YXRhci13cmFwcGVyLS1mb2xsb3dlcnMge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udGFibGUtYXZhdGFyLXdyYXBwZXItLWZvbGxvd2Vyczpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbn1cblxuLnRhYmxlLWZpcnN0LXBvcyB7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC14bCkgc29saWQgdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbn1cblxuLnRhYmxlLXNlY29uZC1wb3Mge1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgteGwpIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi50YWJsZS10aGlyZC1wb3Mge1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgteGwpIHNvbGlkIHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG59XG5cbi50YWJsZS1wb3Mge1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgteGwpIHNvbGlkIHZhcigtLWNvbG9yLXBvcy1mb3VyLWZpdmUpO1xufVxuXG4uc2Nyb2xsYWJsZS10YWJsZS13cmFwcGVyIHtcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG59XG5cbi5zY3JvbGxhYmxlLXRhYmxlLXdyYXBwZXIgdGFibGUge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLnNjcm9sbGFibGUtdGFibGUtd3JhcHBlciB0YWJsZSB0aGVhZCB0ciB0aCxcbi5zY3JvbGxhYmxlLXRhYmxlLXdyYXBwZXIgdGFibGUgdGhlYWQgdHIgdGQge1xuICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbn1cblxuLyogR2xvYmFsIHNlYXJjaCAqL1xuYm9keS5zZWFyY2gtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmdsb2JhbC1zZWFyY2gtYmFja2Ryb3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGluc2V0OiAwO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMywgNiwgMjMsIDAuNzUpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xuICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtYmFja2Ryb3ApO1xufVxuXG4uZ2xvYmFsLXNlYXJjaCxcbi5nbG9iYWwtc2VhcmNoLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtYnV0dG9uIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWF1dG9jb21wbGV0ZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW5hdnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCB2YXIoLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5nbG9iYWwtc2VhcmNoLWF1dG9jb21wbGV0ZS1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1uYXZ5KTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1oZWFkZXItdG9vbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtc3Bpbm5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS14bCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctZGFyayk7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLmNhdGVnb3J5LWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWRhc2hlZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuY2F0ZWdvcnktaGVhZGVyIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5jYXRlZ29yeS1iYWRnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuc2VhcmNoLWl0ZW0tbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UteHMpIDAgMDtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuc2VhcmNoLWl0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuc2VhcmNoLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuaXRlbS1saW5rLFxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuaXRlbS1saW5rOmxpbmssXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5pdGVtLWxpbms6dmlzaXRlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtaW4taGVpZ2h0OiAyNXB4O1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuaXRlbS1saW5rOmhvdmVyLFxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuaXRlbS1saW5rOmZvY3VzLFxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuaXRlbS1saW5rOmFjdGl2ZSxcbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLml0ZW0tbGluay5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLml0ZW0tYXJyb3cge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLml0ZW0tbGluazppcyg6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSwgLmlzLWFjdGl2ZSkgLml0ZW0tYXJyb3cge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5zZWFyY2gtZW1wdHktc3RhdGUsXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5zZWFyY2gtcHJvbXB0LXN0YXRlIHtcbiAgICBwYWRkaW5nOiA0MHB4IHZhcigtLXNwYWNlLWxnKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5lbXB0eS1pY29uLFxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAucHJvbXB0LWljb24ge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5wcm9tcHQtaWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLmVtcHR5LXRpdGxlLFxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAucHJvbXB0LXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGcpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuZW1wdHktc3VidGl0bGUsXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5wcm9tcHQtc3VidGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMzIwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xufVxuXG4vKiBOYXZpZ2F0aW9uICovXG4ubmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuXG4ubmF2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbn1cblxuLm5hdl9fbW9iaWxlLWJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLWxnKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ubmF2X19tb2JpbGUtYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4vKiBNb2JpbGUgQmFyIEFjY291bnQgRHJvcGRvd24gKi9cbi5uYXZfX2Ryb3Bkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5uYXZfX2FjY291bnQtYnRuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIGNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG59XG5cbi5uYXZfX2FjY291bnQtYnRuOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpLFxuLm5hdl9fZHJvcGRvd24tLW9wZW4gLm5hdl9fYWNjb3VudC1idG4ge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xufVxuXG4ubmF2X19hY2NvdW50LWJ0bjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4ubmF2X19jYXJldCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtM3hzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbn1cblxuLm5hdl9fZHJvcGRvd24tLW9wZW4gLm5hdl9fY2FyZXQge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoMTAwJSArIDhweCk7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbWQpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgei1pbmRleDogdmFyKC0tei1pbmRleC1kcm9wZG93bik7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIHZpc2liaWxpdHkgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbn1cblxuLm5hdl9fZHJvcGRvd24tLW9wZW4gLm5hdl9fZHJvcGRvd24tbWVudSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLm5hdl9fZHJvcGRvd24taGVhZGVyIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLXVzZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLWl0ZW0sXG4ubmF2X19kcm9wZG93bi1pdGVtOnZpc2l0ZWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLWl0ZW06aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSwgOmFjdGl2ZSkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLWl0ZW0gaSB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLm5hdl9fZHJvcGRvd24taXRlbTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLm5hdl9fZHJvcGRvd24tZGl2aWRlciB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXhzKSAwO1xufVxuXG4ubmF2X19kcm9wZG93bi1pdGVtLS1sb2dvdXQsXG4ubmF2X19kcm9wZG93bi1pdGVtLS1sb2dvdXQ6dmlzaXRlZCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbn1cblxuLm5hdl9fZHJvcGRvd24taXRlbS0tbG9nb3V0IGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLWl0ZW0tLWxvZ291dDppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlLCA6YWN0aXZlKSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZXJyb3ItYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci10ZXh0KTtcbn1cblxuLm5hdl9fZHJvcGRvd24taXRlbS0tbG9nb3V0OmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci10ZXh0KTtcbn1cblxuLm5hdl9fYnVyZ2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbn1cblxuLm5hdl9fYnVyZ2VyIGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuLm5hdl9fYnVyZ2VyOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xufVxuXG4ubmF2X19vdmVybGF5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldDogMDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMsIDYsIDIzLCAwLjcpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigycHgpO1xuICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtYmFja2Ryb3ApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgdmlzaWJpbGl0eSB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xufVxuXG4ubmF2X19kcmF3ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubmF2X19kcmF3ZXItaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cblxuLm5hdl9fZHJhd2VyLXRpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi5uYXZfX2Nsb3NlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xufVxuXG4ubmF2X19jbG9zZTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbn1cblxuLm5hdl9fbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLm5hdl9faXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubmF2X19saW5rLFxuLm5hdl9fbGluazpsaW5rLFxuLm5hdl9fbGluazp2aXNpdGVkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbn1cblxuLm5hdl9fbGluazppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlLCA6YWN0aXZlKSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXItZGFyayk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubmF2X19saW5rLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm5hdl9fc3ViLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLm5hdl9fc3ViIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ubmF2X19zdWItbGluayxcbi5uYXZfX3N1Yi1saW5rOmxpbmssXG4ubmF2X19zdWItbGluazp2aXNpdGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5uYXZfX3N1Yi1saW5rOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUsIDphY3RpdmUpIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlci1kYXJrKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIFN1Ym1pdCBTY29yZSBMaW5rICovXG4ubmF2X19pdGVtLS1jdGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm5hdl9fbGluay0tY3RhIHtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLm5hdl9fbGluay0tY3RhIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG59XG5cbi5uYXZfX2xpbmstLWN0YTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLm1haW4tYXJlYSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLWxnKSA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgbWluLWhlaWdodDogOTAwcHg7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbGcpIDA7XG4gICAgYWxpZ24tY29udGVudDogc3RhcnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KCBlbGxpcHNlIDY1JSA1NSUgYXQgNTAlIDU1JSwgcmdiYSgxOTAsIDIyNSwgMjU1LCAwLjcpIDAlLCByZ2JhKDIxNSwgMjM1LCAyNTUsIDAuMzUpIDQ1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA3NSUgKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4uc2lkZS1hcmVhIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbGcpIDA7XG59XG5cbi5zaWRlLWFyZWEtLXRyZWUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xufVxuXG4uZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlci1kYXJrKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG59XG5cbi5mb290ZXIgYSxcbi5mb290ZXIgYTpsaW5rLFxuLmZvb3RlciBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xufVxuXG4uZm9vdGVyIGE6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSwgOmFjdGl2ZSkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLyogQ29udGVudCB3cmFwcGVyICovXG4uY29udGVudCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIwcHggbWlubWF4KDAsIDFmcikgMjBweDtcbiAgICByb3ctZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xufVxuXG4uY29udGVudCA+ICoge1xuICAgIGdyaWQtY29sdW1uOiAyO1xufVxuXG4uY29udGVudCA+IC5mbGV4LXJvdy0td29ybGQtcmVjb3JkcyB7XG4gICAgZ3JpZC1jb2x1bW46IDEvLTE7XG59XG5cbi5zdWItY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4vKiBoZXJvIGJhbm5lciAqL1xuLmhlcm8tYmFubmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWV4dHJhKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1sZykgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5oZXJvLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLmhlcm8tdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5oZXJvLXN1YnRpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIEhhcmR3YXJlIGhlcm8gc2N0aW9uICovXG4uaGFyZHdhcmUtaGVyby1zZWN0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IHZhcigtLXNwYWNlLWxnKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UteGwpO1xufVxuXG4uaGFyZHdhcmUtaGVyby1pbWFnZS1jYXJkIHtcbiAgZmxleDogMSAxIDMwMHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1sZyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uaGFyZHdhcmUtYmVuY2htYXJrLWltYWdlLXdyYXBwZXIgaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi5oYXJkd2FyZS1oZXJvLXN0YXRzLWdyaWQge1xuICBmbGV4OiAyIDEgMzIwcHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjIwcHgsIDFmcikpO1xuICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmhhcmR3YXJlLWhlcm8tc3RhdC1jYXJkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLWxnKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmhhcmR3YXJlLWhlcm8tc3RhdC1jYXJkIGgzIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteGwpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS14cykgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaGFyZHdhcmUtc3ViLWxhYmVsIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2Utc20pIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmhhcmR3YXJlLXN0YXQtbGFiZWwge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmhhcmR3YXJlLWZhbWlseS1saW5rIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXNtKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaGFyZHdhcmUtZmFtaWx5LWxpbms6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1ob3Zlcik7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLmhhcmR3YXJlLXRhYi1tZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXNtKTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5oYXJkd2FyZS10YWItbWVudSAuYnV0dG9uIHtcbiAgZmxleDogMSAxIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmltYWdlLW1vZGFsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBhZGRpbmc6IDUwcHggMCAwIDA7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigwLCAwLCAwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG59XG5cbi5pbWFnZS1tb2RhbC1jb250ZW50IHtcbiAgICBtYXJnaW46IGF1dG8gYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICBtYXgtaGVpZ2h0OiA5MCU7XG59XG5cbi8qIGltYWdlICovXG4uaW1hZ2Utd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYmVuY2htYXJrLWltYWdlLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmJlbmNobWFyay1pbWFnZS13cmFwcGVyIGltZyB7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbn1cblxuLyogQ29tcG8gc3RhZ2UgaW5mbyBjYXJkICovXG4ubGlzdC0tc3RhZ2VzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmxpc3QgbGkuc3RhZ2UtaW5mbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSAwO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ubGlzdCBsaS5zdGFnZS1pbmZvOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5zdGFnZS1pbmZvLW1haW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zdGFnZS1pbmZvLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnN0YWdlLW51bWJlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnN0YWdlLWluZm8uYWN0aXZlIC5zdGFnZS1udW1iZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgzNywgOTksIDIzNSwgMC4zNSk7XG59XG5cbi5zdGFnZS1pbmZvIC5zdGFnZS1saW5rIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG59XG5cbi5zdGFnZS1pbmZvIC5zdGFnZS1saW5rIHNwYW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi5zdGFnZS1pbmZvIC5zdGFnZS1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi5zdGFnZS1pbmZvLmFjdGl2ZSAuc3RhZ2UtbGluayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLnN0YWdlLWluZm8gLnN0YWdlLWxpbmsgaSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnN0YWdlLWluZm8gLnN0YWdlLWxpbms6aG92ZXIgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xufVxuXG4uc3RhZ2UtY3VycmVudC1iYWRnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1pbmZvLWJnKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItaW5mby1ib3JkZXIpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc3RhZ2UtaW5mby1zdGF0dXMge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc3RhZ2UtaW5mby1tZXRhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnN0YWdlLW1ldGEtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLnN0YWdlLW1ldGEtcmFuayB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uc3RhZ2UtbWV0YS1yYW5rIC5mYS10cm9waHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLnN0YWdlLW1ldGEtcmFuay5yYW5rLS1nb2xkIC5mYS10cm9waHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLXN0YXIpO1xufVxuXG4uc3RhZ2UtbWV0YS1yYW5rLnJhbmstLXNpbHZlciAuZmEtdHJvcGh5IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5zdGFnZS1tZXRhLXJhbmsucmFuay0tYnJvbnplIC5mYS10cm9waHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cblxuLnN0YWdlLWluZm8gLnRleHQtbXV0ZWQgLmZhLXRyb3BoeSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1kYXNoZWQpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uc3RhZ2UtbWV0YS1zY29yZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uc3RhZ2UtaW5mbyAudGV4dC1tdXRlZCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uc3RhZ2UtaW5mbyAuc2NvcmUtbGluayB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uc3RhZ2UtaW5mbyAuc2NvcmUtbGluazpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLnN0YWdlLWluZm8gLnRhcmdldC1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4vKiBHcmlkIGJveGVzICovXG4uZ3JpZC1ib3gge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5ncmlkLWJveC0tc3VibWl0LWhhcmR3YXJlIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbn1cblxuLmdyaWQtYm94LS1zdWJtaXQtaGFyZHdhcmUgPiBkaXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmdyaWQtYm94LS1zdWJtaXQtaGFyZHdhcmUgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgIG1heC1oZWlnaHQ6IDEyMHB4O1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXHRib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLmdyaWQtYm94LS1oYXJkd2FyZS1yZXN1bHQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTQwcHggMTIwcHggMjAwcHggYXV0bztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZ3JpZC1ib3gtLXdhbGwge1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDIsIDFmcik7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBnYXA6IDA7XG59XG5cbi8qIEdlbmVyaWMgU2l6ZSBNb2RpZmllcnMgKi9cbi5ncmlkLWJveC0tc20sXG4uZ3JpZC1ib3gtLWNvbXBhY3QsXG4uZ3JpZC1ib3gtLWFjaGlldmVtZW50LFxuLmdyaWQtYm94LS1wYXJ0bmVyIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE4MHB4LCAxZnIpKTtcbn1cblxuLmdyaWQtYm94LS1oaWdobGlnaHQtc3VibWlzc2lvbixcbi5ncmlkLWJveC0tc3VibWlzc2lvbi1oYXJkd2FyZSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7XG59XG5cbi5ncmlkLWJveC0tbWQsXG4uZ3JpZC1ib3gtLXN0YW5kYXJkLFxuLmdyaWQtYm94LS1jb21wZXRpdGlvbixcbi5ncmlkLWJveC0tY29tcG8sXG4uZ3JpZC1ib3gtLXByb2ZpbGUsXG4uZ3JpZC1ib3gtLXN1Ym1pc3Npb24tcmFua2luZyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyNTBweCwgMWZyKSk7XG59XG5cbi5ncmlkLWJveC0tbGcsXG4uZ3JpZC1ib3gtLXdpZGUsXG4uZ3JpZC1ib3gtLWJlbmNobWFya3MsXG4uZ3JpZC1ib3gtLWhhcmR3YXJlLW92ZXJ2aWV3LFxuLmdyaWQtYm94LS1sZWFndWUtaW5mbyxcbi5ncmlkLWJveC0tbmV3cyxcbi5ncmlkLWJveC0tc2VhcmNoIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDMwMHB4LCAxZnIpKTtcbn1cblxuLmdyaWQtYm94LS1wcm9maWxlLWFjY291bnQtc2V0dGluZ3Mge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgobWluKDI4MHB4LCAxMDAlKSwgNTAwcHgpKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdlbmVyaWMgQ2FyZCBTdXJmYWNlIFByaW1pdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jYXJkLFxuLmdyaWQtYm94LWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLyogQ2FyZCBFbGVtZW50cyAqL1xuLmNhcmRfX2hlYWRlcixcbi5jYXJkLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5jYXJkX190aXRsZSxcbi5jYXJkLXRpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uY2FyZF9fYm9keSxcbi5jYXJkLWJvZHkge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY2FyZF9fZm9vdGVyLFxuLmNhcmQtZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbn1cblxuLyogQ2FyZCBNb2RpZmllcnMgKi9cbi5jYXJkLS1jb21wYWN0IHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5jYXJkLS1ob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBib3gtc2hhZG93IHZhcigtLXRyYW5zaXRpb24tYmFzZSksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbn1cblxuLmNhcmQtLWhvdmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW1kKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG59XG5cbi5jYXJkLS1zcG90bGlnaHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcbn1cblxuLmdyaWQtYm94LWNhcmQtLXN1Ym1pdC1oYXJkd2FyZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxO1xufVxuXG5cbi5ncmlkLWJveC1jYXJkLS1kZXNjcmlwdGlvbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbn1cblxuLmNhcmQtLXNpZGViYXItcmFua2luZyxcbi5ncmlkLWJveC1jYXJkLS1zaWRlYmFyLXJhbmtpbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1uZXdzIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1uZXdzIC5mbGV4LXJvdy0tbmV3cy1mb290ZXIgYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1uZXdzLFxuLmdyaWQtYm94LWNhcmQtLWFjaGlldmVtZW50IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWJlbmNobWFyay1zdGF0cyxcbi5ncmlkLWJveC1jYXJkLS1wYXJ0bmVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5zdGF0LXN0YXR1cyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tbmV3czpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tZCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0td2FsbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5ncmlkLWJveC1jYXJkLS13YWxsLXJhbmtpbmctaW5mbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14bCk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmdyaWQtYm94LWNhcmQtLXdhbGwtcmFua2luZy1pbmZvIC5ncmlkLXNwZWMge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tYmVuY2htYXJrcyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDA7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1iZW5jaG1hcmtzLFxuLmdyaWQtYm94LWNhcmQtLWNvbXBvLFxuLmdyaWQtYm94LWNhcmQtLWhhcmR3YXJlLW92ZXJ2aWV3LFxuLmdyaWQtYm94LWNhcmQtLWhpZ2hsaWdodC1zdWJtaXNzaW9uLFxuLmdyaWQtYm94LWNhcmQtLWxlYWd1ZS1pbmZvLFxuLmdyaWQtYm94LWNhcmQtLWxvZ2luLFxuLmdyaWQtYm94LWNhcmQtLXByb2ZpbGUsXG4uZ3JpZC1ib3gtY2FyZC0tcmVnaXN0ZXIsXG4uZ3JpZC1ib3gtY2FyZC0tcmVzZXQtcGFzc3dvcmQsXG4uZ3JpZC1ib3gtY2FyZC0tc2VhcmNoLFxuLmdyaWQtYm94LWNhcmQtLXN1Ym1pc3Npb24taGFyZHdhcmUsXG4uZ3JpZC1ib3gtY2FyZC0tdG9wLWZpbHRlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmNhcmQtLWNvbXBldGl0aW9uLFxuLmdyaWQtYm94LWNhcmQtLWNvbXBvIHtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5jYXJkLS1jb21wZXRpdGlvbiAuY2FyZC1ib2R5LFxuLmNhcmQtLWNvbXBldGl0aW9uIC5jYXJkX19ib2R5LFxuLmdyaWQtYm94LWNhcmQtLWNvbXBvIC5jYXJkLWJvZHkge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMTtcbn1cblxuLmNhcmQtLWNvbXBldGl0aW9uIC5yYW5raW5nLWVtcHR5LWNhcmQsXG4uZ3JpZC1ib3gtY2FyZC0tY29tcG8gLnJhbmtpbmctZW1wdHktY2FyZCB7XG4gICAgZmxleDogMTtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWhpZ2hsaWdodC1zdWJtaXNzaW9uIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4vKiBTcGVjICovXG4uZ3JpZC1zcGVjIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5ncmlkLXNwZWMtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLmdyaWQtc3BlYy1yb3cgLnRhYmxlLWF2YXRhci13cmFwcGVyID4gYSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGcpO1xufVxuXG4uZ3JpZC1zcGVjLXJvdy0tc3RhY2tlZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5ncmlkLXNwZWMtcm93Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5ncmlkLXNwZWMtcm93IC5hdHRyaWJ1dGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uZ3JpZC1zcGVjLXJvdyAuYXR0cmlidXRlLW5vd3JhcCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmdyaWQtc3BlYy1yb3cgLnZhbHVlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLmdyaWQtc3BlYy1yb3ctLXN0YWNrZWQgLnZhbHVlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmdyaWQtc3BlYy1yb3cgLmJ1dHRvbiB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbn1cblxuLmNhcmQtYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLmNhcmQtYWN0aW9ucyAuYnV0dG9uIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLyogRXh0cmEgZm9udCBzZXR0aW5ncyAqL1xuLmZvbnQtYm9sZC0tcGFydG5lciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSwgdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKSk7XG59XG5cbi8qIE1vZGFsIG92ZXJsYXkgKi9cbi5tb2RhbC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtbW9kYWwpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tc21vb3RoKSwgdmlzaWJpbGl0eSB2YXIoLS10cmFuc2l0aW9uLXNtb290aCk7XG59XG5cbi5tb2RhbC1vdmVybGF5LmlzLW9wZW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLm1vZGFsLWRpYWxvZyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICBtYXgtaGVpZ2h0OiA4NXZoO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tZCk7XG59XG5cbi5tb2RhbC1kaWFsb2ctLXJlc3VsdC1oaXN0b3J5IHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1vZGFsLXdpZHRoLW1kKTtcbn1cblxuLm1vZGFsLWRpYWxvZy0tcmVzdWx0LW1vZGVyYXRpb24ge1xuICAgIG1heC13aWR0aDogdmFyKC0tbW9kYWwtd2lkdGgtbGcpO1xufVxuXG4ubW9kYWwtZGlhbG9nLS1zb2NpYWwge1xuICAgIG1heC13aWR0aDogdmFyKC0tbW9kYWwtd2lkdGgtc20pO1xufVxuXG4ubW9kYWwtZGlhbG9nX19oZWFkZXIsXG4ubW9kYWwtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4ubW9kYWwtZGlhbG9nX19ib2R5LFxuLm1vZGFsLWJvZHkge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGZsZXgtZ3JvdzogMTtcbn1cblxuLm1vZGFsLWRpYWxvZ19fZm9vdGVyLFxuLm1vZGFsLWZvb3RlciB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8qIExpc3QgKi9cbnVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ubGlzdCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmxpc3QgbGkge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSAwO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLmxpc3QgbGk6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmxpc3QtLXNjcm9sbGFibGUge1xuICAgIG1heC1oZWlnaHQ6IDE2MHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4vKiBQcm9maWxlIGJhbm5lciAqL1xuLnByb2ZpbGUtYmFubmVyLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnByb2ZpbGUtYmFubmVyLXdyYXBwZXIuaGFzLWJhbm5lciAucHJvZmlsZS1iYW5uZXIgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBhc3BlY3QtcmF0aW86IDYgLyAxO1xuICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4ucHJvZmlsZS1iYW5uZXItd3JhcHBlci5oYXMtYmFubmVyIC5hdmF0YXItd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTJweDtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIHotaW5kZXg6IDI7XG59XG5cbi5wcm9maWxlLWJhbm5lci13cmFwcGVyLmhhcy1iYW5uZXIgLmF2YXRhciB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucHJvZmlsZS1iYW5uZXItd3JhcHBlci5uby1iYW5uZXIgLmF2YXRhci13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xufVxuXG4ucHJvZmlsZS1iYW5uZXItd3JhcHBlci5uby1iYW5uZXIgLmF2YXRhciB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2lkZS1hcmVhIC5jb250ZW50LmV4ZWN1dG9yIHVsLFxuLnRlcm1zLWFuZC1jb25kaXRpb25zIC5jb250ZW50IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uc2lkZS1hcmVhIC5jb250ZW50LmV4ZWN1dG9yIHVsIGxpIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbn1cblxuLyogU3RhcnQgZmlsdGVyIHNldHRpbmdzICovXG5cbi5maWx0ZXIgLmxpc3QsXG4uZmlsdGVyIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uZmlsdGVyIC5saXN0IGxpLFxuLmZpbHRlciB1bCBsaSB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIDA7XG59XG5cbi5maWx0ZXIgLmZpbHRlci1rZXkge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5maWx0ZXIgLnJhbmtpbmctZmlsdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIDAgdmFyKC0tc3BhY2Utc20pIDA7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG5cbi8qIEFjdGl2ZSBGaWx0ZXIgQ2hpcHMgKi9cbi5maWx0ZXItY2hpcHMtYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uZmlsdGVyLWNoaXBzLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5maWx0ZXItY2hpcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tYWluKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9ybWFsKTtcbn1cblxuLmZpbHRlci1jaGlwLWxhYmVsIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZmlsdGVyLWNoaXAtcmVtb3ZlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vbmUpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xufVxuXG4uZmlsdGVyLWNoaXAtcmVtb3ZlOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWVycm9yLWJnKTtcbn1cblxuLmZpbHRlci1jaGlwLWNsZWFyLWFsbCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xufVxuXG4uZmlsdGVyLWNoaXAtY2xlYXItYWxsOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuXG4vKiBQcm9ncmVzcyAqL1xuLnByb2dyZXNzYmFyIHtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXhzKSBhdXRvO1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDVweDtcbn1cblxuLnByb2dyZXNzYmFyID4gZGl2IHtcbiAgICBiYWNrZ3JvdW5kOiBncmVlbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cblxuLyogU3VibWlzc2lvbiBzdWdnZXN0aW9ucyAqL1xuLnN1Ym1pc3Npb24tc3VnZ2VzdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWluZm8tYmcpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1pbmZvLWJvcmRlcik7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC1sZykgc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLnN1Ym1pc3Npb24tc3VnZ2VzdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWhvdmVyKTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5idXR0b24uYnRuLXBhcnRpY2lwYXRlIC5jb250ZXN0LW5hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmJ1dHRvbi5idG4tcGFydGljaXBhdGUgLnN0YWdlLW5hbWUge1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi8qIFN1Ym1pc3Npb24gc2NvcmUgKi9cbi5zdWJtaXNzaW9uLXNjb3JlLWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLW1kKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtM3hsKTtcbn1cblxuLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCAuYXZhdGFyLXdyYXBwZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc3VibWlzc2lvbi1zY29yZS1jYXJkIC5hdmF0YXItd3JhcHBlciBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zdWJtaXNzaW9uLXNjb3JlLWNhcmQgLmF2YXRhciB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc3VibWlzc2lvbi1zY29yZS1jYXJkIC5zY29yZS1kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5zdWJtaXNzaW9uLXNjb3JlLWNhcmQgLnNjb3JlLWRldGFpbHMtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCAudXNlci1pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCAuc2NvcmUtbGFiZWwsXG4uc3VibWlzc2lvbi1zY29yZS1jYXJkIC5jb25uZWN0b3ItdGV4dCB7XG4gICAgY29sb3I6IGdyYXk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uc3VibWlzc2lvbi1zY29yZS1jYXJkIC50ZW1wLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4vKiBTdWJtaXNzaW9uIHN1YiBzY29yZSAqL1xuLnN1Ym1pc3Npb24tc3ViLXNjb3JlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnN1Ym1pc3Npb24tc3ViLXNjb3JlIC5zdWItc2NvcmUtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLnN1Ym1pc3Npb24tc3ViLXNjb3JlIC5zdWItc2NvcmUtbmFtZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5zdWJtaXNzaW9uLXN1Yi1zY29yZSAuc3ViLXNjb3JlLW5hbWU6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIjpcIjtcbn1cblxuLnN1Ym1pc3Npb24tc3ViLXNjb3JlIC5zdWItc2NvcmUtdmFsIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG59XG5cbi8qIEZvcm0gKi9cbi5mb3JtLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uZm9ybS1yb3cuZm9ybS1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uZm9ybS1yb3cuZm9ybS1tb2RhbC1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5mb3JtLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uZm9ybS1ncm91cC0tYmVuY2htYXJrIHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xufVxuXG4uZm9ybS1ncm91cC0tbmFycm93LFxuLmZvcm0tZ3JvdXAtLWZpbGUtdXBsb2FkIHtcbiAgICBtYXgtd2lkdGg6IDQ4MHB4O1xufVxuXG4uZm9ybS1ncm91cC0tcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uZm9ybS1ncm91cC0tcm93ID4gbGFiZWwge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybS1ncm91cC0tcm93ID4gaW5wdXQge1xuICAgIGZsZXg6IDE7XG59XG5cbi5mb3JtLWdyb3VwLWNoZWNrYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uZm9ybS1ncm91cCBsYWJlbCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5mb3JtLWdyb3VwLWNoZWNrYm94IGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLmZvcm0tZ3JvdXAtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGFjY2VudC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLmZvcm0tZ3JvdXAtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmZpZWxkLWVycm9yIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItZXJyb3IpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi5mb3JtLWdyb3VwLWNoZWNrYm94OmhhcyguZmllbGQtZXJyb3IpIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cywgMC41cmVtKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItZXJyb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWVycm9yLWJnLCByZ2JhKDIyMCwgMzgsIDM4LCAwLjAzKSk7XG59XG5cbi5mb3JtLWdyb3VwLWNoZWNrYm94IC5iaW5kaW5nLWVycm9yIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuXG4uZm9ybS1ncm91cC5oYXMtZXJyb3IgbGFiZWwge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi5mb3JtLWdyb3VwLmhhcy1lcnJvciBpbnB1dCB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItYmcpO1xufVxuXG4uZm9ybS1maWx0ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbiNyYW5raW5nX2ZpbHRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4jcmFua2luZ19maWx0ZXIgLmZvcm0tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5mb3JtLWlucHV0LXNlYXJjaC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5mb3JtLWlucHV0LXNlYXJjaC13cmFwcGVyIC5zZWFyY2gtaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDEycHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmZvcm0taW5wdXQtc2VhcmNoLXdyYXBwZXIgaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMzZweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uZm9ybS1pbnB1dC13aXRoLXVuaXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5mb3JtLWlucHV0LXdpdGgtdW5pdCAuZm9ybS1pbnB1dCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZsZXg6IDE7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLmZvcm0taW5wdXQuZmllbGQtZXJyb3Ige1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSAgc29saWQgdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuXG4uZm9ybS1pbnB1dC13aXRoLXVuaXQ6aGFzKC5maWVsZC1lcnJvcikge1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi5mb3JtLWlucHV0LXdpdGgtdW5pdCAuZm9ybS1pbnB1dC5maWVsZC1lcnJvciB7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4uZm9ybS1pbnB1dC13aXRoLXVuaXQgLmZpZWxkLWVycm9yIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLmZvcm0tdW5pdC1zdWZmaXgge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLmZvcm0taW5wdXQtd2l0aC11bml0LmZpZWxkLWVycm9yIHtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuXG4uYmluZGluZy1lcnJvciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbn1cblxuLmJhbm5lci1pbWFnZSB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS1zbSkgMDtcbn1cblxuLmJhbm5lci1pbWFnZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmdyaWQtc3BlYy1yb3ctLXN0YWNrZWQgLmF0dHJpYnV0ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4vKiBDb21wbyBzaWRlYmFyIGNhcmRzIC0gTGlnaHQgVGVjaG5pY2FsICovXG4uY29tcGV0aXRpb24tbGVhZGVyLFxuLmxlYWRlci1zcG90bGlnaHQsXG4udGltZXIsXG4udGltZXItc3BvdGxpZ2h0LFxuLnN0YWdlcy1zaWRlYmFyLWdyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnN0YWdlcy1zaWRlYmFyLWdyaWQgaDIge1xuICAgIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLW1kKSAwO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4udGV4dC1nb2xkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNHB4IHJnYmEoMjQ1LCAxNTgsIDExLCAwLjMpKTtcbn1cblxuLnRleHQtY3JpbXNvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbn1cblxuLnRleHQtYW1iZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cblxuLnRleHQtc2xhdGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLyogU3BvdGxpZ2h0IENhcmRzIChMZWFkZXIgJiBUaW1lcikgKi9cbi5jb21wZXRpdGlvbi1sZWFkZXJfX2hlYWRlcixcbi5jb21wZXRpdGlvbi1sZWFkZXItaGVhZGVyLFxuLmxlYWRlci1zcG90bGlnaHQtaGVhZGVyLFxuLnRpbWVyX19oZWFkZXIsXG4udGltZXItc3BvdGxpZ2h0LWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX2hlYWRlciBoMixcbi5jb21wZXRpdGlvbi1sZWFkZXItaGVhZGVyIGgyLFxuLmxlYWRlci1zcG90bGlnaHQtaGVhZGVyIGgyLFxuLnRpbWVyX19oZWFkZXIgaDIsXG4udGltZXItc3BvdGxpZ2h0LWhlYWRlciBoMiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLmJhZGdlLS1nb2xkLFxuLmxlYWRlci1iYWRnZS1yYW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzNCwgMTc5LCA4LCAwLjEyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoMjM0LCAxNzksIDgsIDAuMyk7XG59XG5cbi5iYWRnZS0tZ29sZCAuZmEtY3Jvd24sXG4ubGVhZGVyLWJhZGdlLXJhbmsgLmZhLWNyb3duIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZy1zdGFyKTtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9faGVybyxcbi5sZWFkZXItaGVybyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX2F2YXRhci13cmFwLFxuLmxlYWRlci1hdmF0YXItd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19hdmF0YXIsXG4ubGVhZGVyLWF2YXRhci13cmFwcGVyIC5sZWFkZXItYXZhdGFyIHtcbiAgICB3aWR0aDogNTJweDtcbiAgICBoZWlnaHQ6IDUycHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci13YXJuaW5nLXN0YXIpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMjM0LCAxNzksIDgsIDAuMjUpO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19wb3MtcGlsbCxcbi5sZWFkZXItcG9zLXBpbGwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0ycHg7XG4gICAgcmlnaHQ6IC00cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2FybmluZy1zdGFyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1leHRyYWJvbGQpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2UteHMpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub25lKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19kZXRhaWxzLFxuLmxlYWRlci1kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19pZGVudGl0eSxcbi5sZWFkZXItaWRlbnRpdHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX25hbWUsXG4ubGVhZGVyLWlkZW50aXR5IC5sZWFkZXItbmFtZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGcpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19uYW1lOmhvdmVyLFxuLmxlYWRlci1pZGVudGl0eSBhLmxlYWRlci1uYW1lOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeSwgdmFyKC0tY29sb3ItcHJpbWFyeSkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19zdWJ0ZXh0LFxuLmxlYWRlci1zdWJ0ZXh0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX3N1YnRleHQgaSxcbi5sZWFkZXItc3VidGV4dCBpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19zdGF0cyxcbi5sZWFkZXItc3RhdHMge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19zdGF0LWJveCxcbi5sZWFkZXItc3RhdC1ib3gge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fc3RhdC1sYWJlbCxcbi5sZWFkZXItc3RhdC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX3N0YXQtdmFsLFxuLmxlYWRlci1zdGF0LXZhbHVlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhsKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtZXh0cmFib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19zdGF0LXZhbCBzbWFsbCxcbi5sZWFkZXItc3RhdC12YWx1ZSBzbWFsbCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vKiBUaW1lciBTcG90bGlnaHQgKi9cbi50aW1lci1iYWRnZSxcbi50aW1lci1iYWRnZS0tcnVubmluZyxcbi50aW1lci1iYWRnZS0tdXBjb21pbmcsXG4udGltZXItYmFkZ2UtLWNsb3NlZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1kYXNoZWQpO1xufVxuXG4udGltZXItYmFkZ2UgaSxcbi50aW1lci1iYWRnZS0tcnVubmluZyBpLFxuLnRpbWVyLWJhZGdlLS11cGNvbWluZyBpLFxuLnRpbWVyLWJhZGdlLS1jbG9zZWQgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xufVxuXG4udGltZXJfX2Nsb2NrLFxuLnRpbWVyLWNsb2NrIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi50aW1lcl9fdGlsZSxcbi50aW1lci10aWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItZGFyayk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4udGltZXJfX2NvdW50LFxuLnRpbWVyLWNvdW50IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhsKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtZXh0cmFib2xkKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG59XG5cbi50aW1lcl9fdW5pdCxcbi50aW1lci11bml0LWxhYmVsIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4udGltZXJfX2Nsb2NrLS1jbG9zZWQgLnRpbWVyX190aWxlLFxuLnRpbWVyLWNsb2NrLS1jbG9zZWQgLnRpbWVyLXRpbGUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4udGltZXJfX2Nsb2NrLS1jbG9zZWQgLnRpbWVyX19jb3VudCxcbi50aW1lci1jbG9jay0tY2xvc2VkIC50aW1lci1jb3VudCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4udGltZXJfX2Nsb2NrLS1jbG9zZWQgLnRpbWVyX191bml0LFxuLnRpbWVyLWNsb2NrLS1jbG9zZWQgLnRpbWVyLXVuaXQtbGFiZWwge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnRpbWVyX19tZXRhLFxuLnRpbWVyLW1ldGEge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4udGltZXJfX21ldGEgaSxcbi50aW1lci1tZXRhIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi50aW1lcl9fbWV0YSBzdHJvbmcsXG4udGltZXItbWV0YSBzdHJvbmcge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX2VtcHR5LFxuLmxlYWRlci1lbXB0eS1zdGF0ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1jYXJkKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1kYXNoZWQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX2VtcHR5LWljb24sXG4ubGVhZGVyLWVtcHR5LXN0YXRlIC5lbXB0eS1pY29uIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeGwpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItZGFzaGVkKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fZW1wdHktZGV0YWlscyxcbi5sZWFkZXItZW1wdHktc3RhdGUgLmVtcHR5LWRldGFpbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19lbXB0eS10aXRsZSxcbi5sZWFkZXItZW1wdHktc3RhdGUgLmVtcHR5LXRpdGxlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fZW1wdHktc3VidGl0bGUsXG4ubGVhZGVyLWVtcHR5LXN0YXRlIC5lbXB0eS1zdWJ0aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4vKiBSYW5raW5nIEVtcHR5IFN0YXRlIENhcmQgKi9cbi5yYW5raW5nLWVtcHR5LWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14bCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhc2hlZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLnJhbmtpbmctZW1wdHktY2FyZCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLWxnKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgfVxufVxuXG4ucmFua2luZy1lbXB0eS1pY29uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDUycHg7XG4gICAgaGVpZ2h0OiA1MnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4bCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcbn1cblxuLnJhbmtpbmctZW1wdHktaWNvbi0tdXBjb21pbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyLCAxMzIsIDE5OSwgMC4yKTtcbn1cblxuLnJhbmtpbmctZW1wdHktaWNvbi0tb3BlbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctc3Rhcik7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzQsIDE3OSwgOCwgMC4wOCk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzNCwgMTc5LCA4LCAwLjIpO1xufVxuXG4ucmFua2luZy1lbXB0eS1pY29uLS1jb21tZW50cyB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDk5LCAxMDIsIDI0MSwgMC4yKTtcbn1cblxuLnJhbmtpbmctZW1wdHktY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLnJhbmtpbmctZW1wdHktdGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG59XG5cbi5yYW5raW5nLWVtcHR5LXN1YnRpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vcm1hbCk7XG59XG5cbi5yYW5raW5nLWVtcHR5LXN1YnRpdGxlIHN0cm9uZyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbn1cblxuLyogRmxleCByb3dzICovXG4uZmxleC1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mbGV4LXJvdy0tYWNoaWV2ZW1lbnQtYWN0aW9uIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmZsZXgtcm93LS1hZGRpdGlvbmFsLWltYWdlcyB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uZmxleC1yb3ctLXdvcmxkLXJlY29yZHMge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1hbHQpO1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5mbGV4LXJvdy0tYmVuY2htYXJrLWxpbmtzIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbn1cblxuLmZsZXgtcm93LS10YWJsZS1jb21wYXJlLWhlYWRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4uc3RpY2t5LXRhYmxlLS1jb21wYXJlIC5yZW1vdmUtYnRuIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItbXV0ZWQsIHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub25lKTtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5zdGlja3ktdGFibGUtLWNvbXBhcmUgLnJlbW92ZS1idG46aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi5jaGFydC13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZW1wdHktbWVzc2FnZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSAwO1xuICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLW11dGVkLCB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbn1cblxuLmZsZXgtcm93LS1uZXdzLWhlYWRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5mbGV4LXJvdy0tbmV3cy1mb290ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uZmxleC1yb3ctLXdhbGwge1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSAwO1xufVxuXG4uZmxleC1yb3ctLXdhbGwtc29jaWFsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5mbGV4LXJvdy0tYmFkZ2VzIHtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubW9kYWwtbWVtYmVyLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mbGV4LXJvdy0taW5mbyB7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZsZXgtcm93LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cblxuLmZsZXgtcm93LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5mbGV4LXJvdy1pdGVtLS13b3JsZC1yZWNvcmQge1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRtaW4td2lkdGg6IDQwMHB4O1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcblx0Ym9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBCYWRnZSAqL1xuLnN0YXR1cy1iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgY3VycmVudENvbG9yO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub25lKTtcbn1cblxuLnN0YXR1cy1iYWRnZSBpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc3RhdHVzLWJhZGdlIGk6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgRnJlZVwiLCBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICBmb250LXdlaWdodDogOTAwO1xufVxuXG4uc3RhdHVzLXZhbHVlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5zdGF0dXMtc3VjY2Vzcyxcbi5zdGF0dXMtZ3JlZW4ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cbi5zdGF0dXMtc3VjY2VzcyBpOjpiZWZvcmUsXG4uc3RhdHVzLWdyZWVuIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwMGNcIjsgLyogZmEtY2hlY2sgKi9cbn1cblxuLnN0YXR1cy13YXJuaW5nIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG4uc3RhdHVzLXdhcm5pbmcgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA3MVwiOyAvKiBmYS10cmlhbmdsZS1leGNsYW1hdGlvbiAqL1xufVxuXG4uc3RhdHVzLXVua25vd24sXG4uc3RhdHVzLWdyYXkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG4uc3RhdHVzLXVua25vd24gaTo6YmVmb3JlLFxuLnN0YXR1cy1ncmF5IGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNWFcIjsgLyogZmEtY2lyY2xlLWluZm8gKi9cbn1cblxuLnN0YXR1cy1wcm9jZXNzaW5nIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4uc3RhdHVzLXByb2Nlc3NpbmcgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjFjZVwiOyAvKiBmYS1jaXJjbGUtbm90Y2ggKi9cbn1cblxuLnN0YXR1cy1vcGVuIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG4uc3RhdHVzLW9wZW4gaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjNjMVwiOyAvKiBmYS1sb2NrLW9wZW4gKi9cbn1cblxuLnN0YXR1cy1jbG9zZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG4uc3RhdHVzLWNsb3NlZCBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDIzXCI7IC8qIGZhLWxvY2sgKi9cbn1cblxuLnN0YXR1cy1vZmZpY2lhbCBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7IC8qIGZhLWNoZWNrICovXG59XG5cbi5zdGF0dXMtb25saW5lIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwYWNcIjsgLyogZmEtZ2xvYmUgKi9cbn1cblxuLnN0YXR1cy1saXZlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuLnN0YXR1cy1saXZlIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwMDFcIjsgLyogZmEtdG93ZXItYnJvYWRjYXN0ICovXG59XG5cbi5zdGF0dXMtYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG4uc3RhdHVzLWFjdGl2ZSBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7IC8qIGZhLWNoZWNrICovXG59XG5cbi5zdGF0dXMtaW5hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG4uc3RhdHVzLWluYWN0aXZlIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNWVcIjsgLyogZmEtYmFuICovXG59XG5cbi5zdGF0dXMtc3BvbnNvcmVkIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYxY2RcIjsgLyogZmEtbGlmZS1yaW5nICovXG59XG5cbi5zdGF0dXMtYmFubmVkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuLnN0YXR1cy1iYW5uZWQgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1ZVwiOyAvKiBmYS1iYW4gKi9cbn1cblxuLnN0YXR1cy1hZG1pbixcbi5zdGF0dXMtbW9kZXJhdG9yLFxuLnN0YXR1cy1zdHVkZW50LFxuLnN0YXR1cy1zdHVkZW50LW1vZGVyYXRvcixcbi5zdGF0dXMtY2FwdGFpbixcbi5zdGF0dXMtdXNlcixcbi5zdGF0dXMtdGVhbSxcbi5zdGF0dXMtY291bnRyeSxcbi5zdGF0dXMtam9pbmVkLFxuLnN0YXR1cy1zcG9uc29yZWQsXG4uc3RhdHVzLW9ubGluZSxcbi5zdGF0dXMtb2ZmaWNpYWwge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5zdGF0dXMtYWRtaW4gaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjRmZVwiOyAvKiBmYS11c2VyLWdlYXIgKi9cbn1cblxuLnN0YXR1cy1tb2RlcmF0b3IgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjUwOFwiOyAvKiBmYS11c2VyLXRpZSAqL1xufVxuXG4uc3RhdHVzLXN0dWRlbnQgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjE5ZFwiOyAvKiBmYS1ncmFkdWF0aW9uLWNhcCAqL1xufVxuXG4uc3RhdHVzLXN0dWRlbnQtbW9kZXJhdG9yIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGY1MDhcIjsgLyogZmEtdXNlci10aWUgKi9cbn1cblxuLnN0YXR1cy1jYXB0YWluIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGY0ZmVcIjsgLyogZmEtdXNlci1nZWFyICovXG59XG5cbi5zdGF0dXMtdXNlciBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDA3XCI7IC8qIGZhLXVzZXIgKi9cbn1cblxuLnN0YXR1cy10ZWFtIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwYzBcIjsgLyogZmEtdXNlcnMgKi9cbn1cblxuLnN0YXR1cy1jb3VudHJ5IGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwMjRcIjsgLyogZmEtZmxhZyAqL1xufVxuXG4uc3RhdHVzLWpvaW5lZCBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDczXCI7IC8qIGZhLWNhbGVuZGFyICovXG59XG5cbi5zdGF0dXMtam9pbmVkIC5zdGF0dXMtdmFsdWUge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5hLnN0YXR1cy1iYWRnZSxcbmEuc3RhdHVzLWJhZGdlOmxpbmssXG5hLnN0YXR1cy1iYWRnZTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuYS5zdGF0dXMtYmFkZ2U6aG92ZXIsXG5hLnN0YXR1cy1iYWRnZTphY3RpdmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjg1O1xufVxuXG4uc3RhdHVzLWJhZGdlOmlzKFxuICAgIC5zdGF0dXMtYWRtaW4sXG4gICAgLnN0YXR1cy1tb2RlcmF0b3IsXG4gICAgLnN0YXR1cy1zdHVkZW50LFxuICAgIC5zdGF0dXMtc3R1ZGVudC1tb2RlcmF0b3IsXG4gICAgLnN0YXR1cy1jYXB0YWluLFxuICAgIC5zdGF0dXMtdXNlcixcbiAgICAuc3RhdHVzLXRlYW0sXG4gICAgLnN0YXR1cy1jb3VudHJ5LFxuICAgIC5zdGF0dXMtam9pbmVkLFxuICAgIC5zdGF0dXMtc3BvbnNvcmVkLFxuICAgIC5zdGF0dXMtb25saW5lLFxuICAgIC5zdGF0dXMtb2ZmaWNpYWxcbik6aXMoOmxpbmssIDp2aXNpdGVkLCA6aG92ZXIsIDphY3RpdmUpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4vKiBBbGVydHMgLyBDYWxsb3V0cyAqL1xuLmFsZXJ0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uYWxlcnQgPiBkaXYge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uYWxlcnQgcCB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uYWxlcnQgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uZm9ybS1yb3cgPiAuYWxlcnQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5hbGVydCBpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9ybWFsKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmFsZXJ0IGk6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgRnJlZVwiLCBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICBmb250LXdlaWdodDogOTAwO1xufVxuXG4uYWxlcnQtd2FybmluZyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctdGV4dCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2FybmluZy1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLWJvcmRlcik7XG59XG4uYWxlcnQtd2FybmluZyBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDcxXCI7IC8qIGZhLXRyaWFuZ2xlLWV4Y2xhbWF0aW9uICovXG59XG5cbi5hbGVydC1kYW5nZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci10ZXh0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci1ib3JkZXIpO1xufVxuLmFsZXJ0LWRhbmdlciBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDZhXCI7IC8qIGZhLWNpcmNsZS1leGNsYW1hdGlvbiAqL1xufVxuXG4uYWxlcnQtaW5mbyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWluZm8tYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaW5mby1ib3JkZXIpO1xufVxuLmFsZXJ0LWluZm8gaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1YVwiOyAvKiBmYS1jaXJjbGUtaW5mbyAqL1xufVxuXG5cbi8qIENvb2xpbmcgQmFkZ2VzICovXG4uY29vbGluZy1haXItc3RvY2sge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG4uY29vbGluZy1haXItc3RvY2sgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGY3MmVcIjsgfSAvKiBmYS1mYW4gKi9cblxuLmNvb2xpbmctYWlyLWN1c3RvbSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xufVxuLmNvb2xpbmctYWlyLWN1c3RvbSBpOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjcyZVwiOyB9IC8qIGZhLWZhbiAqL1xuXG4uY29vbGluZy13YXRlci1jdXN0b20ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5jb29saW5nLXdhdGVyLWN1c3RvbSBpOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA0M1wiOyB9IC8qIGZhLWRyb3BsZXQgKi9cblxuLmNvb2xpbmctYWlvLXdhdGVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cbi5jb29saW5nLWFpby13YXRlciBpOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA0M1wiOyB9IC8qIGZhLWRyb3BsZXQgKi9cblxuLmNvb2xpbmctd2F0ZXItY2hpbGxlZC1jb2xkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4uY29vbGluZy13YXRlci1jaGlsbGVkLWNvbGQgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZGNcIjsgfSAvKiBmYS1zbm93Zmxha2UgKi9cblxuLmNvb2xpbmctZHJ5LWljZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cbi5jb29saW5nLWRyeS1pY2UgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYjJcIjsgfSAvKiBmYS1jdWJlICovXG5cbi5jb29saW5nLXNpbmdsZS1zdGFnZS1waGFzZS1jaGFuZ2Uge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5jb29saW5nLXNpbmdsZS1zdGFnZS1waGFzZS1jaGFuZ2UgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZGNcIjsgfSAvKiBmYS1zbm93Zmxha2UgKi9cblxuLmNvb2xpbmctY2FzY2FkZS1waGFzZS1jaGFuZ2Uge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5jb29saW5nLWNhc2NhZGUtcGhhc2UtY2hhbmdlIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmRjXCI7IH0gLyogZmEtc25vd2ZsYWtlICovXG5cbi5jb29saW5nLWxpcXVpZC1uaXRyb2dlbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xufVxuLmNvb2xpbmctbGlxdWlkLW5pdHJvZ2VuIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGMzXCI7IH0gLyogZmEtZmxhc2sgKi9cblxuLmNvb2xpbmctbGlxdWlkLWhlbGl1bSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cbi5jb29saW5nLWxpcXVpZC1oZWxpdW0gaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGY3YTZcIjsgfSAvKiBmYS1hdG9tICovXG5cbi8qIExlYWd1ZSBCYWRnZXMgKi9cbi5sZWFndWUtZWxpdGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cbi5sZWFndWUtZWxpdGUgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGY1MjFcIjsgfSAvKiBmYS1jcm93biAqL1xuXG4ubGVhZ3VlLWV4dHJlbWUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG4ubGVhZ3VlLWV4dHJlbWUgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNmRcIjsgfSAvKiBmYS1maXJlICovXG5cbi5sZWFndWUtYXBwcmVudGljZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xufVxuLmxlYWd1ZS1hcHByZW50aWNlIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGQwXCI7IH0gLyogZmEtbWFnaWMgKi9cblxuLmxlYWd1ZS1lbnRodXNpYXN0IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4ubGVhZ3VlLWVudGh1c2lhc3QgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZTdcIjsgfSAvKiBmYS1ib2x0ICovXG5cbi5sZWFndWUtbm92aWNlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG4ubGVhZ3VlLW5vdmljZSBpOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjRkOFwiOyB9IC8qIGZhLXNlZWRsaW5nICovXG5cbi5sZWFndWUtcm9va2llIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuLmxlYWd1ZS1yb29raWUgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOWRcIjsgfSAvKiBmYS1ncmFkdWF0aW9uLWNhcCAqL1xuXG4vKiBSZWZlcmVuY2UgQmFkZ2VzICovXG4ucmVmLXJldmlldyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLnJlZi1yZXZpZXcgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZTVcIjsgfSAvKiBmYS1iaW5vY3VsYXJzICovXG5cbi5yZWYtbmV3cyxcbi5yZWYtcHJlc3MsXG4ucmVmLXJvdW5kdXAsXG4ucmVmLXN0YXRpYy1jb250ZW50IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuLnJlZi1uZXdzIGk6OmJlZm9yZSxcbi5yZWYtcHJlc3MgaTo6YmVmb3JlLFxuLnJlZi1yb3VuZHVwIGk6OmJlZm9yZSxcbi5yZWYtc3RhdGljLWNvbnRlbnQgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZWFcIjsgfSAvKiBmYS1uZXdzcGFwZXIgKi9cblxuLnJlZi1kaXNjdXNzaW9uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4ucmVmLWRpc2N1c3Npb24gaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYwODZcIjsgfSAvKiBmYS1jb21tZW50cyAqL1xuXG4ucmVmLXJ1bGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cbi5yZWYtcnVsZSBpOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA2YVwiOyB9IC8qIGZhLWNpcmNsZS1leGNsYW1hdGlvbiAqL1xuXG4ucmVmLWVzcG9ydHMge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG4ucmVmLWVzcG9ydHMgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZGJcIjsgfSAvKiBmYS1taWNyb2NoaXAgKi9cblxuLnNjcmVlbnNob3QtYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2NyZWVuc2hvdC1ib3ggYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uc2NyZWVuc2hvdC1ib3ggaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLnNjcmVlbnNob3QtYm94LS1oaWdobGlnaHQtc3VibWlzc2lvbiBpbWcge1xuICAgIGhlaWdodDogMTAwcHg7XG59XG5cbi5zY3JlZW5zaG90LWJveC0tc3VibWlzc2lvbiBpbWcge1xuICAgIGhlaWdodDogMjUwcHg7XG59XG5cbi5zY3JlZW5zaG90LWJveC0tbmV3cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGhlaWdodDogMjAwcHhcbn1cblxuLnNjcmVlbnNob3QtYm94LS1uZXdzIGltZyB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbn1cblxuLyogRWRpdG9yIHRleHQgYWRkZWQgYnkgbW9kZXJhdG9ycyAqL1xuLnJpY2gtdGV4dC1jb250ZW50IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IGgxLFxuLnJpY2gtdGV4dC1jb250ZW50IGgyLFxuLnJpY2gtdGV4dC1jb250ZW50IGgzLFxuLnJpY2gtdGV4dC1jb250ZW50IGg0IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgc3Ryb25nLFxuLnJpY2gtdGV4dC1jb250ZW50IGIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgdWwsXG4ucmljaC10ZXh0LWNvbnRlbnQgb2wge1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzVyZW07XG59XG5cbi5yaWNoLXRleHQtY29udGVudCBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1jb2xvci1saW5rLXVuZGVybGluZSk7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAzcHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1ob3Zlcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCBjb2RlLFxuLnJpY2gtdGV4dC1jb250ZW50IHByZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIHBhZGRpbmc6IDAuMnJlbSAwLjRyZW07XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCB0YWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IHRoLFxuLnJpY2gtdGV4dC1jb250ZW50IHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IHRyOmhvdmVyIHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCBpZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8qIFN1Ym1pc3Npb24gY29tbWVudHMgKi9cblxuLmNvbW1lbnRzLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbGcpO1xufVxuXG4uc3VibWl0dGVyLXF1b3RlLWNhcmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC1sZykgc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1sZyk7XG59XG5cbi5xdW90ZS1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4ucXVvdGUtYXV0aG9yIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnF1b3RlLWF1dGhvcjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5xdW90ZS1hY3Rpb24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5xdW90ZS1ib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xufVxuXG4ucXVvdGUtaWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uY29tbWVudHMtdGhyZWFkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UteGwpO1xufVxuXG5cbi5jb21tZW50LWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbn1cblxuLmNvbW1lbnQtY2FyZF9fYXZhdGFyLWxpbmssXG4uY29tbWVudC1hdmF0YXItbGluayB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5jb21tZW50LWNhcmRfX2F2YXRhcixcbi5jb21tZW50LWF2YXRhciB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLmNvbW1lbnQtY2FyZF9fYm9keSxcbi5jb21tZW50LWJvZHkge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY29tbWVudC1jYXJkX19oZWFkZXIsXG4uY29tbWVudC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5jb21tZW50LWNhcmRfX2F1dGhvcixcbi5jb21tZW50LWF1dGhvciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmNvbW1lbnQtY2FyZF9fYXV0aG9yOmhvdmVyLFxuLmNvbW1lbnQtYXV0aG9yOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmNvbW1lbnQtY2FyZF9fdGltZXN0YW1wLFxuLmNvbW1lbnQtdGltZXN0YW1wIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uY29tbWVudC1jYXJkX190ZXh0LFxuLmNvbW1lbnQtdGV4dCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLmNvbW1lbnQtY2FyZF9fdGV4dCBpbWcsXG4uY29tbWVudC10ZXh0IGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLW1kKSAwO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4vKiBDb21tZW50IEZvcm0gKi9cbi5jb21tZW50LWZvcm0tYm94IHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1sZyk7XG59XG5cbi5jb21tZW50LWZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLmNvbW1lbnQtZm9ybV9fdGV4dGFyZWEsXG4uY29tbWVudC10ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItZGFzaGVkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5jb21tZW50LWZvcm1fX3RleHRhcmVhOmZvY3VzLFxuLmNvbW1lbnQtdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgyLCAxMzIsIDE5OSwgMC4xNSk7XG59XG5cbi5jb21tZW50LWZvcm1fX2FjdGlvbnMsXG4uY29tbWVudC1mb3JtLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmJ0bi1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5idG4tcHJpbWFyeTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ob3Zlcik7XG59XG5cbi5jb21tZW50LWZvcm1fX2xvZ2luLW5vdGljZSxcbi5jb21tZW50LWxvZ2luLW5vdGljZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5mYWludCB7XG4gICAgb3BhY2l0eTogMC4yO1xufVxuXG5cbi5yZXNldC1wYXNzd29yZCAuY29udGVudCAuZ3JpZCBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbi5yZXNldC1wYXNzd29yZCAuY29udGVudCAuZ3JpZCBpbnB1dFt0eXBlPXRleHRdIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnJlc2V0LXBhc3N3b3JkIC5jb250ZW50IC5ncmlkIC5yb3cge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2lkZS1hcmVhIC5jb250ZW50IC5ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0bztcbiAgICBncmlkLWdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uc2lkZS1hcmVhLXJhbmtpbmctZ3JpZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uc2lkZS1hcmVhLXJhbmtpbmctZ3JpZCA+ICo6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5zaWRlLWFyZWEtcmFua2luZy1ncmlkLXJvdyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDVweCAxNXB4IGF1dG8gYXV0bztcbiAgICBncmlkLWdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1pdGVtczogbGVmdDtcbiAgICBtYXgtaGVpZ2h0OiA3MDBweDtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLnNpZGUtYXJlYS1yYW5raW5nLWdyaWQtcm93OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDVweCA0MHB4IGF1dG8gYXV0bztcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAgICBncmlkLWdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1pdGVtczogbGVmdDtcbn1cblxuLmNhcmQtLXNpZGViYXItcmFua2luZyAuc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZDpub3QoOmxhc3QtY2hpbGQpLFxuLmdyaWQtYm94LWNhcmQtLXNpZGViYXItcmFua2luZyAuc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UteHMpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG59XG5cbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC5oYXJkd2FyZSB7XG4gICAgZ3JpZC1jb2x1bW46IDIgLyAtMTtcbn1cblxuLnNpZGUtYXJlYS1yYW5raW5nLWdyaWQgLnBvcy1tYXJrZXIsXG4uc2lkZS1hcmVhLXJhbmtpbmctZ3JpZCAucG9zLFxuLnNpZGUtYXJlYS1yYW5raW5nLWdyaWQgLm5hbWUsXG4uc2lkZS1hcmVhLXJhbmtpbmctZ3JpZCAucG9pbnRzLFxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQgLnBvcy1tYXJrZXIsXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCAucG9zLFxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQgLm5hbWUsXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCAucG9pbnRzLFxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQgLnNjb3JlLFxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQgLmhhcmR3YXJlIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCAuc2NvcmUsXG4uc2lkZS1hcmVhLXJhbmtpbmctZ3JpZCAucG9pbnRzLFxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQgLnBvaW50cyB7XG4gICAganVzdGlmeS1zZWxmOiBlbmQ7XG59XG5cbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC5wb3MtbWFya2VyLFxuLnNpZGUtYXJlYS1yYW5raW5nLWdyaWQgLnBvcy1tYXJrZXIge1xuICAgIHdpZHRoOiA1cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCAucG9zLW1hcmtlciB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgZ3JpZC1yb3c6IDEgLyAtMTtcbn1cblxuLnNpZGUtYXJlYS1yYW5raW5nIC5yb3cge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA3MHB4IDIwcHggYXV0byAxNTBweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdyaWQtZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UteHMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4uc2lkZS1hcmVhLXJhbmtpbmcgLnJvdyAucG9zIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItcG9zLWZvdXItZml2ZSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2lkZS1hcmVhLXJhbmtpbmcgLnJvdyAubmFtZSB7XG4gICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5jYXB0Y2hhLWNoYWxsZW5nZSAuY29udGVudC53cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uY2FwdGNoYS1jaGFsbGVuZ2UgLmNvbnRlbnQud3JhcHBlciAucm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucmVzZXQtcGFzc3dvcmQgLmNvbnRlbnQgLmdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgICBncmlkLWdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAzMCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1pbi13aWR0aDogMzIwcHg7XG59XG5cbi5yZXNldC1wYXNzd29yZCAuY29udGVudCAuZ3JpZCAuYWN0aW9uIHtcbiAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbn1cblxuLyogQXV0aCBDYXJkczogTG9naW4sIFJlZ2lzdGVyICYgUmVzZXQgUGFzc3dvcmQgKi9cbi5ncmlkLWJveC1jYXJkLS1sb2dpbixcbi5ncmlkLWJveC1jYXJkLS1yZWdpc3Rlcixcbi5ncmlkLWJveC1jYXJkLS1yZXNldC1wYXNzd29yZCB7XG4gICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXhsKSBhdXRvO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWxvZ2luID4gcCxcbi5ncmlkLWJveC1jYXJkLS1yZWdpc3RlciA+IHAsXG4uZ3JpZC1ib3gtY2FyZC0tcmVzZXQtcGFzc3dvcmQgPiBwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWxvZ2luID4gcCBhLFxuLmdyaWQtYm94LWNhcmQtLXJlZ2lzdGVyID4gcCBhLFxuLmdyaWQtYm94LWNhcmQtLXJlc2V0LXBhc3N3b3JkID4gcCBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWxvZ2luIGZvcm0sXG4uZ3JpZC1ib3gtY2FyZC0tcmVnaXN0ZXIgZm9ybSxcbi5ncmlkLWJveC1jYXJkLS1yZXNldC1wYXNzd29yZCBmb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWxvZ2luIGZvcm0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sXG4uZ3JpZC1ib3gtY2FyZC0tcmVnaXN0ZXIgZm9ybSBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSxcbi5ncmlkLWJveC1jYXJkLS1yZXNldC1wYXNzd29yZCBmb3JtIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmdyaWQtYm94LWNhcmQtLXJlZ2lzdGVyIC5yZWNhcHRjaGEtd3JhcHBlcixcbi5ncmlkLWJveC1jYXJkLS1yZXNldC1wYXNzd29yZCAucmVjYXB0Y2hhLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLmZvcm0tbGFiZWwtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5mb3JtLWlucHV0LXBhc3N3b3JkLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mb3JtLWlucHV0LXBhc3N3b3JkLXdyYXBwZXIgLmZvcm0taW5wdXQsXG4uZm9ybS1pbnB1dC1wYXNzd29yZC13cmFwcGVyIGlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MnB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5wYXNzd29yZC10b2dnbGUtYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnBhc3N3b3JkLXRvZ2dsZS1idG46aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4ubG9naW4tZm9vdGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuXG4uZm9vdGVyIC5jb250ZW50IC5pbmZvIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDMyMHB4LCAxZnIpKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbn1cblxuLmZvb3RlciAuaW5mbyB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmZvb3RlciAuc3lzdGVtLWluZm8ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbn1cblxuLmZvb3RlciAucGFydG5lci1pbmZvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mb290ZXIgLmNvbnRlbnQgLnBhcnRuZXItaW5mbyB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS1sZykgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1sZyk7XG59XG5cbi5mb290ZXIgLmNvbnRlbnQgLnBhcnRuZXItaW5mbyAucGFydG5lci1ib3gge1xuICAgIGhlaWdodDogNzBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5tYWluLWFyZWEuaHctZGF0YSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG59XG5cblxuLmhhcmR3YXJlLW92ZXJ2aWV3IC5jb250ZW50LXR5cGUtMiAubWFudWZhY3R1cmVyLWdyaWQsXG4ubWFpbi1hcmVhLmh3LWRhdGEgLmNvbnRlbnQgLm1hbnVmYWN0dXJlci1ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5tYWluLWFyZWEuaHctZGF0YSAuY29udGVudCAubWFudWZhY3R1cmVyLWdyaWQgLm1hbnVmYWN0dXJlci1oZWFkbGluZS1ncmlkLWNlbGwge1xuICAgIGhlaWdodDogNDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5tYWluLWFyZWEuaHctZGF0YSAuY29udGVudCAubWFudWZhY3R1cmVyLWdyaWQgLm1hbnVmYWN0dXJlci1oZWFkbGluZS1ncmlkLWNlbGwgaW1nIHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLmhhcmR3YXJlLW92ZXJ2aWV3IC5jb250ZW50LXR5cGUtMiAubWFudWZhY3R1cmVyLWdyaWQgLm1hbnVmYWN0dXJlci1ncmlkLWNlbGwsXG4ubWFpbi1hcmVhLmh3LWRhdGEgLmNvbnRlbnQgLm1hbnVmYWN0dXJlci1ncmlkIC5tYW51ZmFjdHVyZXItZ3JpZC1jZWxsIHtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uaGFyZHdhcmUtb3ZlcnZpZXcgLmNvbnRlbnQtdHlwZS0yIC5tYW51ZmFjdHVyZXItZ3JpZCAubWFudWZhY3R1cmVyLWdyaWQtY2VsbCBpbWcsXG4ubWFpbi1hcmVhLmh3LWRhdGEgLmNvbnRlbnQgLm1hbnVmYWN0dXJlci1ncmlkIC5tYW51ZmFjdHVyZXItZ3JpZC1jZWxsIGltZyB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbkBrZXlmcmFtZXMgbG9hZGluZyB7XG4gICAgZnJvbSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgfVxufVxuXG4uZ29sZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbn1cblxuLnNpbHZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLmJyb256ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbn1cblxuLm1lZGFsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZm91ci1maXZlKTtcbn1cblxuLm5vbWVkYWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Z3JleTtcbn1cblxuLmdvbGQtdHJvcGh5IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbn1cblxuLnNpbHZlci10cm9waHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbn1cblxuLmJyb256ZS10cm9waHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xufVxuXG5Aa2V5ZnJhbWVzIHNoaW1tZXIge1xuICAgIDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjAwJSAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwMCUgMDtcbiAgICB9XG59XG5cbi5pcy1sb2FkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmlzLWxvYWRpbmc6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgOTBkZWcsXG4gICAgICAgICAgICByZ2JhKDIzMiwgMjM4LCAyNDEsIDApIDAlLFxuICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpIDUwJSxcbiAgICAgICAgICAgIHJnYmEoMjMyLCAyMzgsIDI0MSwgMCkgMTAwJVxuICAgICk7XG5cbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgMTAwJTtcbiAgICBhbmltYXRpb246IHNoaW1tZXIgMS41cyBpbmZpbml0ZTtcbiAgICB6LWluZGV4OiAyO1xufVxuXG5Aa2V5ZnJhbWVzIHNoaW1tZXIge1xuICAgIDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjAwJSAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwMCUgMDtcbiAgICB9XG59XG5cbi5idXR0b24ge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbGcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5idXR0b24tLWluZm8tcm93IHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLmJ1dHRvbi0tbW9kYWwtaGVhZGVyLWNsb3NlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi5idXR0b24tLW1vZGFsLWhlYWRlci1jbG9zZTpob3ZlciB7XG4gICAgb3BhY2l0eTogMC43O1xufVxuXG4uYnV0dG9uLS1tb2RhbC1oZWFkZXItY2xvc2U6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5idXR0b24tLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLmJ1dHRvbi0tcHJpbWFyeTpob3ZlciB7XG4gICAgb3BhY2l0eTogMC45O1xufVxuXG4uYnV0dG9uLS1pbWFnZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uYnV0dG9uLS1kYW5nZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci1ib3JkZXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWVycm9yLWJnKTtcbn1cblxuLmJ1dHRvbi0tZGFuZ2VyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uYnV0dG9uLS0xMDAge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uYWN0aXZlLFxuLmJ1dHRvbjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlci1kYXJrKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pO1xuICAgIGJhY2tncm91bmQ6IGxpZ2h0Z3JheTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5mb2N1cyxcbi5idXR0b246Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXItZGFyayk7XG59XG5cbi5idXR0b246ZGlzYWJsZWQsXG4uYnV0dG9uLmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub25lKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5idXR0b24gLmJhZGdlIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLXNwYWNlLXhzKSk7XG59XG5cbi5idXR0b24tLXByaW1hcnkgLmJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLmluZm8tbWVzc2FnZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItaW5mby1iZyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ud2Fybi1tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLWJnKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3Itd2FybmluZy1ib3JkZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLXRleHQpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmVycm9yLW1lc3NhZ2Uge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG59XG5cbi5lcnJvci1tZXNzYWdlIGEsXG4uaW5mby1tZXNzYWdlIGEsXG4ud2Fybi1tZXNzYWdlIGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmZvcm0taW5wdXQge1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmZpZWxkLWVycm9yIHtcbiAgICBvdXRsaW5lOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbn1cblxuLmZpZWxkLWVycm9yIHtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItZXJyb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xufVxuXG4vKiBKUXVlcnkgVUkgb3ZlcndyaXRlcyB3aWxsIGJlIHJlbW92ZWQgYXMgc29vbiBhcyB0aGUgZnJhbWV3b3JrIGlzIG5vIGxvbmdlciBuZWVkZWQgKi9cbi51aS13aWRnZXQge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJhc2UpO1xufVxuXG4udWktd2lkZ2V0LWNvbnRlbnQge1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi51aS13aWRnZXQtY29udGVudCBhLFxuLnVpLXdpZGdldC1jb250ZW50IGE6bGluayxcbi51aS13aWRnZXQtY29udGVudCBhOmhvdmVyLFxuLnVpLXdpZGdldC1jb250ZW50IGE6dmlzaXRlZCxcbi51aS13aWRnZXQtY29udGVudCBhOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi51aS13aWRnZXQtY29udGVudCBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1ob3Zlcixcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3Zlcixcbi51aS1zdGF0ZS1mb2N1cyxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZm9jdXMsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXMge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbn1cblxuLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1jb250ZW50IGEudWktc3RhdGUtaG92ZXIsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaG92ZXIsXG4udWktc3RhdGUtZm9jdXMsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWZvY3VzLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWZvY3VzIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG59XG5cbi51aS1tZW51IC51aS1tZW51LWl0ZW0gYS51aS1zdGF0ZS1ob3ZlciB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC1jb250YWluZXIsXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctY2FyZCk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC1sZykgc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXhzKSAwO1xuXG4gICAgbWF4LWhlaWdodDogMTYwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhcixcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDZweDtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayxcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4ucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLFxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItZGFzaGVkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3Zlcixcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4ucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC10aW1lbGluZSxcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtdGltZWxpbmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtaXRlbSxcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtaWNvbixcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtaWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtbWV0YSxcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtbWV0YSB7XG4gICAgbWluLXdpZHRoOiAxNjBweDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xufVxuXG4ucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC11c2VyLFxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC11c2VyIHtcbiAgICBtaW4td2lkdGg6IDE0MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtZGVzYyxcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtZGVzYyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG59XG5cbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAubmVzdGVkLXJvdyB0ZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnNlYXJjaC1ncm91cC1tb2JpbGUge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zZWFyY2gtaW5wdXQtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbn1cblxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc2VhcmNoLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDkwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc2VhcmNoLWlucHV0LXdyYXBwZXIgYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDJweDtcbiAgICB0b3A6IDJweDtcbiAgICBib3R0b206IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiAwIHZhcigtLWJvcmRlci1yYWRpdXMteHMpIHZhcigtLWJvcmRlci1yYWRpdXMteHMpIDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC10aW1lbGluZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLyogVGFiIG1lbnUgKi9cbi50YWItbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi50YWItbWVudS0taGFyZHdhcmUge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLnRhYi1tZW51ID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG59XG5cbi50YWItbWVudSBzZWxlY3Qge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLmZpbHRlci50YWItbWVudSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4udGFiLW1lbnUgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnRhYi1tZW51IC5idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnRhYi1tZW51IC5idXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLnRhYi1tZW51IC5idXR0b24uZm9jdXMsXG4udGFiLW1lbnUgLmJ1dHRvbi5hY3RpdmUsXG4udGFiLW1lbnUgLmJ1dHRvbi5mb2N1czpob3Zlcixcbi50YWItbWVudSAuYnV0dG9uLmFjdGl2ZTpob3Zlcixcbi50YWItbWVudSAuYnV0dG9uLmZvY3VzOmZvY3VzLFxuLnRhYi1tZW51IC5idXR0b24uYWN0aXZlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnRhYi1tZW51IC5idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cbi50YWItbWVudSAudGFibGUtbmF2aWdhdGlvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5mbGV4LXJvdyA+IC50YWJsZS1uYXZpZ2F0aW9uIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiBTaWRlYmFyICovXG4uc2lkZWJhci10aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uc2lkZWJhci10aXRsZS1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uc2lkZWJhci10aXRsZS1saW5rOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnNpZGViYXItZW1wdHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4ud3ItcmFua2luZy1jYXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi53ci1yYW5raW5nLWNhcmQgLndyLXJhbmtpbmctcm93Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4ud3ItcmFua2luZy1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS1zbSkgMDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLndyLXJhbmtpbmctcm93Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi53ci1yYW5raW5nLXJvdzpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbn1cblxuLndyLXJhbmtpbmctcm93LmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaW5mby1iZyk7XG59XG5cbi5wb3MtbWFya2VyIHtcbiAgICB3aWR0aDogNHB4O1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5wb3MtbWFya2VyLmdvbGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctc3Rhcik7XG59XG5cbi5wb3MtbWFya2VyLnNpbHZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5wb3MtbWFya2VyLmJyb256ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG5cbi5wb3MtbWFya2VyLm1lZGFsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4ucG9zLW1hcmtlci5ub21lZGFsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnJhbmstcG9zIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLyogTWFpbiBSb3cgSW5mbyAqL1xuLnJhbmstY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4OiAxO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLnJhbmstbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5yYW5rLWxhYmVsIGkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4ucmFuay11c2VyLWxpbmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5yYW5rLWF2YXRhciB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnJhbmstdXNlcm5hbWUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ucmFuay11c2VybmFtZTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5yYW5rLWhhcmR3YXJlLWxpbmUge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnJhbmstaHctbGluayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5yYW5rLWh3LWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLnJhbmstY2xvY2sge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5yYW5rLXNjb3JlIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnJhbmstc2NvcmUtbGluayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ucmFuay1zY29yZS1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi8qIFJlc3VsdCBoaXN0b3J5ICovXG4uaGlzdG9yeS1tZXRhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLmhpc3RvcnktbWV0YTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5oaXN0b3J5LXVzZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4uaGlzdG9yeS1kZXNjIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uaGlzdG9yeS1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi8qIEhhcmR3YXJlIHRyZWUgKi9cbi5ody10cmVlLWxpc3QsIFxuLmh3LXRyZWUtc3VibGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmh3LXRyZWUtc3VibGlzdCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uaHctdHJlZS1zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uaHctdHJlZS1zdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uaHctdHJlZS1zdW1tYXJ5OjptYXJrZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmh3LXRyZWUtc3VtbWFyeS1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmh3LXRyZWUtc3VtbWFyeS1jb250ZW50IC5ody10cmVlLWxpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZsZXg6IDE7XG59XG5cbi5ody10cmVlLXN1bW1hcnktY29udGVudCAuaHctdHJlZS1sYWJlbCB7XG4gICAgZmxleDogMTtcbn1cblxuLmh3LXRyZWUtc3VtbWFyeS1jb250ZW50OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDU0XCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgRnJlZVwiLCBcIkZvbnRBd2Vzb21lXCI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xufVxuXG4uaHctdHJlZS1icmFuY2hbb3Blbl0gPiAuaHctdHJlZS1zdW1tYXJ5IC5ody10cmVlLXN1bW1hcnktY29udGVudDo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5ody10cmVlLWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uaHctdHJlZS1zdW1tYXJ5Om5vdCg6aGFzKC5ody10cmVlLWxpbmsuaXMtYWN0aXZlKSk6aG92ZXIsXG4uaHctdHJlZS1saW5rOm5vdCguaXMtYWN0aXZlKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uaHctdHJlZS1zdW1tYXJ5LWNvbnRlbnQgLmh3LXRyZWUtbGluazpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5ody10cmVlLWxpbmsuaXMtYWN0aXZlLFxuLmh3LXRyZWUtc3VtbWFyeTpoYXMoLmh3LXRyZWUtbGluay5pcy1hY3RpdmUpIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlci1kYXJrKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5ody10cmVlLWxpbmsuaXMtYWN0aXZlOmlzKDpsaW5rLCA6dmlzaXRlZCwgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUpLFxuLmh3LXRyZWUtc3VtbWFyeTpoYXMoLmh3LXRyZWUtbGluay5pcy1hY3RpdmUpLFxuLmh3LXRyZWUtc3VtbWFyeTpoYXMoLmh3LXRyZWUtbGluay5pcy1hY3RpdmUpIC5ody10cmVlLWxpbms6aXMoOmxpbmssIDp2aXNpdGVkLCA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSksXG4uaHctdHJlZS1zdW1tYXJ5OmhhcyguaHctdHJlZS1saW5rLmlzLWFjdGl2ZSkgLmh3LXRyZWUtbGFiZWwsXG4uaHctdHJlZS1zdW1tYXJ5OmhhcyguaHctdHJlZS1saW5rLmlzLWFjdGl2ZSkgLmh3LXRyZWUtc3VtbWFyeS1jb250ZW50OjpiZWZvcmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogRGVza3RvcCBzZXR0aW5ncyAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSB7XG5cbiAgICAuaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmxvZ28td3JhcHBlcixcbiAgICAuaGVhZGVyIC5wYXJ0bmVyLXdyYXBwZXIsXG4gICAgLmhlYWRlciAuYWNjb3VudC13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLWxnKTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmhlYWRlciAubG9nby13cmFwcGVyLFxuICAgIC5oZWFkZXIgLnBhcnRuZXItd3JhcHBlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmFjY291bnQtd3JhcHBlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmFjY291bnQtd3JhcHBlciAuZ3JpZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLnBhcnRuZXItd3JhcHBlcixcbiAgICAuaGVhZGVyIC5hY2NvdW50LXdyYXBwZXIge1xuICAgICAgICBjb2xvcjogZ2FpbnNib3JvO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICB9XG5cblxuICAgIC5oZWFkZXIgLnBhcnRuZXItd3JhcHBlciAucGxhdGludW0tcGFydG5lciBpbWcge1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgLmhlYWRlciwgLm5hdmlnYXRpb24sIC5mb290ZXIge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmFjY291bnQgYSxcbiAgICAuaGVhZGVyIC5hY2NvdW50IGE6bGluayxcbiAgICAuaGVhZGVyIC5hY2NvdW50IGE6aG92ZXIsXG4gICAgLmhlYWRlciAuYWNjb3VudCBhOnZpc2l0ZWQsXG4gICAgLmhlYWRlciAuYWNjb3VudCBhOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiBnYWluc2Jvcm87XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5hY2NvdW50IHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmFjY291bnQgbGkge1xuICAgICAgICBjb2xvcjogZ2FpbnNib3JvO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmxvZ28td3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICB9XG5cbiAgICBib2R5Lm9uZS1jb2x1bW4ge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIDFmciBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDIwMDBweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cblxuICAgIGJvZHkubGVmdC1zaWRlYmFyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgM2ZyO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0byAxZnIgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAyMDAwcHg7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG5cbiAgICBib2R5LnJpZ2h0LXNpZGViYXIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDNmciAxZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIDFmciBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDIwMDBweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cblxuICAgIC5uYXZfX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLm5hdl9faXRlbS0tY3RhIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgLm5hdl9faXRlbS0taGFzLXN1YiA+IC5uYXZfX2xpbmstcm93ID4gLm5hdl9fbGluazo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1sZykgc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1ib3JkZXItd2lkdGgtbGcpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLWxnKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIGJvcmRlci10b3AtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbiAgICB9XG5cbiAgICAubmF2X19pdGVtLS1oYXMtc3ViOmlzKDpob3ZlciwgOmZvY3VzLXdpdGhpbikgPiAubmF2X19saW5rLXJvdyA+IC5uYXZfX2xpbms6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICB9XG5cbiAgICAubmF2X19zdWIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWluLXdpZHRoOiAyNDBweDtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLWJvcmRlci1yYWRpdXMtc20pIHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpO1xuICAgICAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LWRyb3Bkb3duKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIHZpc2liaWxpdHkgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbiAgICB9XG5cbiAgICAvKiBIb3ZlciBicmlkZ2UgcHJldmVudGluZyBjdXJzb3IgZHJvcHMgKi9cbiAgICAubmF2X19zdWI6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtNnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgfVxuXG4gICAgLm5hdl9faXRlbS0taGFzLXN1Yjppcyg6aG92ZXIsIDpmb2N1cy13aXRoaW4pID4gLm5hdl9fc3ViIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG5cbiAgICAubm9kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIEdsb2JhbCBzZWFyY2ggKi9cbiAgICAuZ2xvYmFsLXNlYXJjaCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWlucHV0LWdyb3VwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICAuZ2xvYmFsLXNlYXJjaCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuICAgIC5nbG9iYWwtc2VhcmNoLWlucHV0LFxuICAgIC5nbG9iYWwtc2VhcmNoIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLFxuICAgIC5nbG9iYWwtc2VhcmNoLWJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIC5nbG9iYWwtc2VhcmNoIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4gICAgLmdsb2JhbC1zZWFyY2gtaW5wdXQge1xuICAgICAgICB3aWR0aDogMTkwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UtbGcpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKSAwIDAgdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaCBpbnB1dFt0eXBlPVwidGV4dFwiXTo6cGxhY2Vob2xkZXIsXG4gICAgLmdsb2JhbC1zZWFyY2ggaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6cGxhY2Vob2xkZXIsXG4gICAgLmdsb2JhbC1zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuICAgIC5nbG9iYWwtc2VhcmNoIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG4gICAgLmdsb2JhbC1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICAgICAgICB3aWR0aDogMjYwcHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg1NiwgMTg5LCAyNDgsIDAuNSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAuZ2xvYmFsLXNlYXJjaC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLWxnKSAwIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCkgdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKSAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaDpob3ZlciAuZ2xvYmFsLXNlYXJjaC1pbnB1dCxcbiAgICAuZ2xvYmFsLXNlYXJjaDpob3ZlciAuZ2xvYmFsLXNlYXJjaC1idXR0b24ge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXTpob3ZlcixcbiAgICAuZ2xvYmFsLXNlYXJjaC1idXR0b246aG92ZXIsXG4gICAgLmdsb2JhbC1zZWFyY2ggYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMtdmlzaWJsZSxcbiAgICAuZ2xvYmFsLXNlYXJjaC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyLWRhcmspO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjUpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaDpmb2N1cy13aXRoaW4gLmdsb2JhbC1zZWFyY2gtaW5wdXQge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjUpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoOmZvY3VzLXdpdGhpbiAuZ2xvYmFsLXNlYXJjaC1idXR0b24ge1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWF1dG9jb21wbGV0ZS13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDc1cHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB3aWR0aDogOTAwcHg7XG4gICAgICAgIG1heC13aWR0aDogOTJ2dztcbiAgICAgICAgei1pbmRleDogdmFyKC0tei1pbmRleC1tb2RhbCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXhsKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1hdXRvY29tcGxldGUtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtZGVza3RvcC1hY3Rpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWF1dG9jb21wbGV0ZS1oZWFkZXIgLmJ1dHRvbixcbiAgICAuZ2xvYmFsLXNlYXJjaC1kZXNrdG9wLWFjdGlvbiAuYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWF1dG9jb21wbGV0ZS1oZWFkZXIgLmJ1dHRvbjpob3ZlcixcbiAgICAuZ2xvYmFsLXNlYXJjaC1kZXNrdG9wLWFjdGlvbiAuYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLnNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjgwcHgsIDFmcikpO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLWxnKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgICAgICBtYXgtaGVpZ2h0OiA3MHZoO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLnNlYXJjaC1jYXRlZ29yeS1ncm91cCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcblxuICAgIGJvZHkubGVmdC1zaWRlYmFyLFxuICAgIGJvZHkucmlnaHQtc2lkZWJhciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cblxuICAgIC5ub21vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBDb250ZW50IHNldHRpbmdzICovXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwcHggbWlubWF4KDAsIDFmcikgMTBweDtcbiAgICB9XG5cbiAgICAuaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLWxnKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmxvZ28td3JhcHBlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeGwpO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLnBhcnRuZXItd3JhcHBlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgICAgICBjb2xvcjogZ2FpbnNib3JvO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLnBhcnRuZXItd3JhcHBlciAucGxhdGludW0tcGFydG5lciBpbWcge1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgLnNpZGUtYXJlYSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtZHJhd2VyKTtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLXNtb290aCk7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgLnNpZGUtYXJlYS5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cblxuICAgIC5zaWRlLWFyZWEgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLWxnKSB2YXIoLS1zcGFjZS0yeGwpIHZhcigtLXNwYWNlLWxnKTtcbiAgICB9XG5cbiAgICAuc2lkZS1hcmVhIC5jb250ZW50IC5ody10cmVlIHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNzBweCk7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuXG4gICAgLmh3LXRyZWUtc3VtbWFyeS1jb250ZW50LFxuICAgIC5ody10cmVlLWxpbmsge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgfVxuXG4gICAgLnNpZGViYXItbW9iaWxlLWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtc3RpY2t5LWhlYWRlcik7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctYWx0KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIG1hcmdpbjogMCAtMTVweCB2YXIoLS1zcGFjZS1sZykgLTE1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgIH1cblxuICAgIC5tb2RhbC1vdmVybGF5LFxuICAgIC5tb2RhbC1vdmVybGF5LS1mdWxsc2NyZWVuLW1vYmlsZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMGR2aDtcbiAgICB9XG5cbiAgICAubW9kYWwtZGlhbG9nLFxuICAgIC5tb2RhbC1kaWFsb2ctLWZ1bGxzY3JlZW4tbW9iaWxlIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDBkdmg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMGR2aDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tc21vb3RoKTtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAubW9kYWwtb3ZlcmxheS5pcy1vcGVuIC5tb2RhbC1kaWFsb2csXG4gICAgLm1vZGFsLW92ZXJsYXktLWZ1bGxzY3JlZW4tbW9iaWxlLmlzLW9wZW4gLm1vZGFsLWRpYWxvZy0tZnVsbHNjcmVlbi1tb2JpbGUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuXG4gICAgLm1vZGFsLWRpYWxvZ19faGVhZGVyLFxuICAgIC5tb2RhbC1kaWFsb2cgLm1vZGFsLWhlYWRlcixcbiAgICAubW9kYWwtZGlhbG9nLS1mdWxsc2NyZWVuLW1vYmlsZSAubW9kYWwtaGVhZGVyIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgICAgIHBhZGRpbmc6IG1heCgxMHB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMTBweCkpIG1heCgxNXB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0LCAxNXB4KSkgMTBweCBtYXgoMTVweCwgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0LCAxNXB4KSk7XG4gICAgfVxuXG4gICAgLm1vZGFsLWRpYWxvZ19fYm9keSxcbiAgICAubW9kYWwtZGlhbG9nIC5tb2RhbC1ib2R5LFxuICAgIC5tb2RhbC1kaWFsb2ctLWZ1bGxzY3JlZW4tbW9iaWxlIC5tb2RhbC1ib2R5IHtcbiAgICAgICAgZmxleDogMSAxIDA7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteTogY29udGFpbjtcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IG1heCgxNXB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0LCAxNXB4KSkgMTVweCBtYXgoMTVweCwgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0LCAxNXB4KSk7XG4gICAgfVxuXG5cbiAgICAubW9kYWwtZGlhbG9nX19mb290ZXIsXG4gICAgLm1vZGFsLWRpYWxvZyAubW9kYWwtZm9vdGVyLFxuICAgIC5tb2RhbC1kaWFsb2ctLWZ1bGxzY3JlZW4tbW9iaWxlIC5tb2RhbC1mb290ZXIge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICAgICAgcGFkZGluZzogMTJweCBtYXgoMTVweCwgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCwgMTVweCkpIG1heCgxMnB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMTJweCkpIG1heCgxNXB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQsIDE1cHgpKTtcbiAgICB9XG5cbiAgICAubW9kYWwtZGlhbG9nX19hY3Rpb25zLFxuICAgIC5tb2RhbC1kaWFsb2cgLmZvcm0tbW9kYWwtYWN0aW9ucyxcbiAgICAubW9kYWwtZGlhbG9nLS1mdWxsc2NyZWVuLW1vYmlsZSAuZm9ybS1tb2RhbC1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAubW9kYWwtZGlhbG9nX19mb290ZXIgLmJ1dHRvbixcbiAgICAubW9kYWwtZGlhbG9nIC5tb2RhbC1mb290ZXIgLmJ1dHRvbixcbiAgICAubW9kYWwtZGlhbG9nLS1mdWxsc2NyZWVuLW1vYmlsZSAuZm9ybS1tb2RhbC1hY3Rpb25zIC5idXR0b24ge1xuICAgICAgICBtaW4taGVpZ2h0OiA0NHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIC5tb2RhbC1kaWFsb2csXG4gICAgICAgIC5tb2RhbC1kaWFsb2cubW9kYWwtZGlhbG9nLS1mdWxsc2NyZWVuLW1vYmlsZSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdl9fb3ZlcmxheSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5uYXYtLW9wZW4gLm5hdl9fb3ZlcmxheSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cblxuICAgIC5uYXZfX2RyYXdlciB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMzIwcHg7XG4gICAgICAgIG1heC13aWR0aDogODV2dztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICAgICAgei1pbmRleDogdmFyKC0tei1pbmRleC1kcmF3ZXIpO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLXNtb290aCk7XG4gICAgfVxuXG4gICAgLm5hdi0tb3BlbiAubmF2X19kcmF3ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuXG4gICAgLm5hdl9fZHJhd2VyLWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLm5hdl9fbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgMCB2YXIoLS1zcGFjZS0yeGwpIDA7XG4gICAgfVxuXG4gICAgLm5hdl9fbGluay1yb3cge1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gICAgfVxuXG4gICAgLm5hdl9fbGluayxcbiAgICAubmF2X19saW5rOmxpbmssXG4gICAgLm5hdl9fbGluazp2aXNpdGVkIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbGcpO1xuICAgIH1cblxuICAgIC5uYXZfX2xpbmstcm93OmlzKDpob3ZlciwgOmZvY3VzLXdpdGhpbiksXG4gICAgLm5hdl9fbGluazppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICB9XG5cbiAgICAubmF2X19zdWItdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbiAgICB9XG5cbiAgICAubmF2X19zdWItdG9nZ2xlOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgfVxuXG4gICAgLm5hdl9faXRlbS0tb3BlbiAubmF2X19zdWItdG9nZ2xlIGkge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICB9XG5cbiAgICAubmF2X19zdWIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIH1cblxuICAgIC5uYXZfX2l0ZW0tLW9wZW4gLm5hdl9fc3ViIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLm5hdl9fc3ViLWxpbmssXG4gICAgLm5hdl9fc3ViLWxpbms6bGluayxcbiAgICAubmF2X19zdWItbGluazp2aXNpdGVkIHtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKSB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtMnhsKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgfVxuXG4gICAgLm5hdl9fc3ViLWxpbms6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSwgOmFjdGl2ZSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgfVxuXG4gICAgLm5hdl9fbGluay0tY3RhIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmZpbHRlciAucmFua2luZy1maWx0ZXIge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZpbHRlciAucmFua2luZy1maWx0ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudGFiLW1lbnUge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnRhYi1tZW51Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogaGVybyBiYW5uZXIgKi9cbiAgICAuaGVyby1iYW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLWxnKTtcbiAgICB9XG5cbiAgICAvKiBHcmlkIGJveCovXG4gICAgLmdyaWQtYm94LS1zdWJtaXQtaGFyZHdhcmUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG87XG4gICAgfVxuXG4gICAgLyogU3VibWlzc2lvbiAqL1xuICAgIC5zdWJtaXNzaW9uLXNjb3JlLWNhcmQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAuc3VibWlzc2lvbi1zY29yZS1jYXJkIC5zY29yZS1kZXRhaWxzIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgIC5zdWJtaXNzaW9uLXNjb3JlLWNhcmQgLnNjb3JlLWRldGFpbHMtcm93IHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgIC8qIEZsZXggcm93cyAqL1xuICAgIC5mbGV4LXJvdy0taW5mbyxcbiAgICAuZmxleC1yb3ctLWJhZGdlcyB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICAuZmxleC1yb3ctLWluZm8ge1xuICAgICAgICBtYXJnaW46IHZhcigtLXNwYWNlLW1kKSAwO1xuICAgIH1cblxuICAgIC5mbGV4LXJvdy0taW5mbzo6LXdlYmtpdC1zY3JvbGxiYXIsXG4gICAgLmZsZXgtcm93LS1iYWRnZXM6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZmxleC1yb3ctLWluZm8gPiAqLFxuICAgIC5mbGV4LXJvdy0tYmFkZ2VzID4gKiB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC8qIFByb2ZpbGUgYmFubmVyICovXG4gICAgLnByb2ZpbGUtYmFubmVyLXdyYXBwZXIuaGFzLWJhbm5lciAuYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICB9XG5cbiAgICAucHJvZmlsZS1iYW5uZXItd3JhcHBlci5oYXMtYmFubmVyIC5hdmF0YXItd3JhcHBlciB7XG4gICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgbGVmdDogMTJweDtcbiAgICB9XG5cbiAgICAvKiBSZXBvcnRpbmcgKi9cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGFibGUsXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5LFxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkgdGQsXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB0ZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ciB0ZFtkYXRhLWxhYmVsXTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLWxhYmVsKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtY29udGFpbmVyLFxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5yZXN1bHQtc3RhdHVzLWNvbW1lbnQgLmNvbnRlbnQgLmV2ZW50LWl0ZW0sXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC1pdGVtIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1iZy1ob3Zlci1kYXJrKTtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtbWV0YSxcbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LXVzZXIge1xuICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnNlYXJjaC1pbnB1dC13cmFwcGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuc3RhdHVzLWJhZGdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLyogR2xvYmFsIHNlYXJjaCAqL1xuICAgIC5nbG9iYWwtc2VhcmNoLFxuICAgIC5nbG9iYWwtc2VhcmNoLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAuZ2xvYmFsLXNlYXJjaC1idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBjb2xvcjogZ2FpbnNib3JvO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2ggYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0gaSxcbiAgICAuZ2xvYmFsLXNlYXJjaC1idXR0b24gaSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdOmhvdmVyLFxuICAgIC5nbG9iYWwtc2VhcmNoLWJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlci1kYXJrKTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1hdXRvY29tcGxldGUtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgei1pbmRleDogdmFyKC0tei1pbmRleC1tb2RhbCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW5hdnkpO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtYXV0b2NvbXBsZXRlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW5hdnkpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWF1dG9jb21wbGV0ZS1oZWFkZXIge1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtc3RpY2t5LWhlYWRlcik7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbmF2eSk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLW1vYmlsZS1hY3Rpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtbW9iaWxlLWFjdGlvbiAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogNDRweDtcbiAgICAgICAgbWluLWhlaWdodDogNDRweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtbW9iaWxlLWFjdGlvbiAuYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLW1vYmlsZS1hY3Rpb24gLmdsb2JhbC1zZWFyY2gtc3Bpbm5lciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1tb2JpbGUtYWN0aW9uIGlucHV0LmlucHV0IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLWhlaWdodDogNDRweDtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS1sZyk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItZGFyayk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1uYXZ5KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1tb2JpbGUtYWN0aW9uIGlucHV0LmlucHV0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWNvbnRlbnQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLTJ4bCk7XG4gICAgfVxuXG4gICAgLmZvcm0tZmlsdGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAuZm9ybS1maWx0ZXIgPiAqIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHNjcm9sbC1zbmFwLWFsaWduOiBub25lO1xuICAgIH1cblxuICAgIC5tb2RhbC1ib2R5IC5mb3JtLWZpbHRlciB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAubW9kYWwtYm9keSAuZm9ybS1maWx0ZXIgPiAqIHtcbiAgICAgICAgc2Nyb2xsLXNuYXAtYWxpZ246IG5vbmU7XG4gICAgfVxuXG4gICAgLm1vZGFsLWJvZHkgI3JhbmtpbmdfZmlsdGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5maWx0ZXItY2hpcHMtYmFyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAuZmlsdGVyLWNoaXBzLWJhciA+ICoge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuZmlsdGVyLWNoaXBzLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC5maWx0ZXItY2hpcHMtbGlzdCA+ICoge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG59XG5cbi8qIFZvdGUgV2lkZ2V0ICYgUG9wb3ZlciAqL1xuLnZvdGUtY2VsbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi52b3RlLWNlbGwgLnZvdGUtcGlsbCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xufVxuXG4udm90ZS13aWRnZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udm90ZS1waWxsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItZGFyayk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub25lKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udm90ZS1waWxsOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi52b3RlLXBpbGxfX2J0biB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi52b3RlLXBpbGxfX2J0bjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udm90ZS1waWxsX19hY3Rpb24uaGFzLXZvdGVkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLnZvdGUtcGlsbF9fYWN0aW9uLS1kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnZvdGUtcGlsbF9fZGl2aWRlciB7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBtYXJnaW46IDAgMXB4O1xufVxuXG4udm90ZS1waWxsX19jb3VudCB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4udm90ZS1waWxsX19jYXJldCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtM3hzKTtcbiAgICBvcGFjaXR5OiAwLjc7XG59XG5cbi8qIERyb3Bkb3duIFBvcG92ZXIgKi9cbi52b3RlLWRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBtaW4td2lkdGg6IDE4MHB4O1xuICAgIG1heC13aWR0aDogMjQwcHg7XG4gICAgbWF4LWhlaWdodDogMjIwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1kYXJrKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbWQpO1xuICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtZHJvcGRvd24pO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi52b3RlLXBvcG92ZXItaGVhZGVyIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4udm90ZS1wb3BvdmVyLWxpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSAwO1xufVxuXG4udm90ZS1wb3BvdmVyLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi52b3RlLXVzZXItbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnZvdGUtdXNlci1saW5rOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udm90ZS11c2VyLWF2YXRhciB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnZvdGUtcG9wb3Zlci1lbXB0eSxcbi52b3RlLWxvYWRpbmcsXG4udm90ZS1wb3BvdmVyLWVycm9yIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7QUFBQTtBQUVJLDZCQUEyQjtBQUMzQiwyQkFBeUI7QUFDekIsbUJBQWlCO0FBQ2pCLHNCQUFvQjtBQUNwQixtQkFBaUI7QUFDakIsb0JBQWtCO0FBQ2xCLHlCQUF1QjtBQUN2QixtQkFBaUI7QUFDakIsbUJBQWlCO0FBQ2pCLG9CQUFrQjtBQUdsQix3QkFBc0I7QUFDdEIsd0JBQXNCO0FBQ3RCLDBCQUF3QjtBQUN4QixzQkFBb0I7QUFDcEIsd0JBQXNCO0FBQ3RCLHNCQUFvQjtBQUdwQix3QkFBc0I7QUFDdEIseUJBQXVCO0FBQ3ZCLHlCQUF1QjtBQUN2QiwyQkFBeUI7QUFDekIsdUJBQXFCO0FBQ3JCLHFCQUFtQjtBQUNuQixxQkFBbUI7QUFDbkIscUJBQW1CO0FBQ25CLHFCQUFtQjtBQUNuQixzQkFBb0I7QUFDcEIsc0JBQW9CO0FBQ3BCLG1CQUFpQjtBQUNqQixzQkFBb0I7QUFDcEIsd0JBQXNCO0FBQ3RCLDBCQUF3QjtBQUd4QixtQkFBaUI7QUFDakIseUJBQXVCO0FBQ3ZCLGtCQUFnQjtBQUNoQixxQkFBbUI7QUFHbkIsZ0JBQWM7QUFDZCxzQkFBb0I7QUFDcEIsMEJBQXdCLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUU7QUFHMUMsbUJBQWlCO0FBQ2pCLHNCQUFvQjtBQUNwQiwwQkFBd0I7QUFDeEIsd0JBQXNCO0FBR3RCLG1CQUFpQjtBQUNqQixzQkFBb0I7QUFDcEIsMEJBQXdCO0FBQ3hCLHdCQUFzQjtBQUN0Qix3QkFBc0I7QUFHdEIsaUJBQWU7QUFDZixvQkFBa0I7QUFDbEIsd0JBQXNCO0FBQ3RCLHNCQUFv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 */
