/* src/main/frontend/css/style.css */
:root {
  --color-bg-gradient-start: #5091DD;
  --color-bg-gradient-end: #030617;
  --color-bg-main: #F4F7F8;
  --color-bg-dark: #36454F;
  --color-bg-light: #FFFFFF;
  --color-bg-hover-dark: #36454F;
  --color-bg-hover-light: #F7F8F9;
  --color-highlight: #60a5fa;
  --color-link: #1d4ed8;
  --color-link-hover: #1e40af;
  --color-link-underline: rgba(29, 78, 216, 0.35);
  --color-pos-first: #FFD700;
  --color-pos-second: #C0C0C0;
  --color-pos-third: #CD7F32;
  --color-pos-four-five: #AABFC9;
  --color-error: #D32F2F;
  --color-error-bg: rgba(220, 38, 38, 0.05);
  --border-color-light: #E5E5E5;
  --border-color-dark: #36454F;
  --border-width-sm: 1px;
  --border-width-md: 2px;
  --border-width-xl: 3px;
  --border-radius: 8px;
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 12px;
  --space-lg: 16px;
  --space-xl: 24px;
  --font-heading:
    "PillGothic300mgBold",
    "Lucida Grande",
    Helvetica,
    Arial,
    sans-serif;
  --font-base: Arial, sans-serif;
  --font-size-sm: 10px;
  --font-size-md: 12px;
  --font-size-lg: 14px;
  --font-weight-bold: 600;
  --font-color-dark: #36454F;
  --font-color-light: #F4F7F8;
  --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(--font-color-dark);
}
body {
  display: grid;
  margin: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}
p {
  margin: 5px 0;
}
h1,
h2,
h3,
h4,
h5 {
  font-family: var(--font-heading);
  color: var(--font-color-dark);
  margin: 20px 0 10px 0;
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a {
  color: inherit;
  text-decoration: none;
  transition: color 0.15s ease;
}
h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover {
  color: var(--color-link);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.footer h1,
.footer h2,
.footer h3,
.footer h4,
.footer h5 {
  color: var(--font-color-light);
}
a,
a:link,
a:visited {
  color: var(--color-link);
  text-decoration: underline;
  text-decoration-color: var(--color-link-underline);
  text-underline-offset: 3px;
  transition: color 0.15s ease, text-decoration-color 0.15s ease;
}
a:hover,
a:active {
  color: var(--color-link-hover);
  text-decoration-color: currentColor;
}
a:focus-visible {
  outline: 2px solid var(--color-link);
  outline-offset: 2px;
  border-radius: 2px;
}
.header a {
  text-decoration: none;
}
.header .patreon {
  font-size: 30px;
}
.header .patreon a,
.header .patreon a:link,
.header .patreon a:visited {
  color: var(--color-bg-dark);
  text-decoration: none;
  transition: color 0.15s ease;
}
.header .patreon a:is(:hover, :focus-visible, :active) {
  color: var(--color-link);
}
.font-bold {
  font-weight: var(--font-weight-bold);
}
.font-muted {
  color: var(--font-color-dark);
}
.font-color-light {
  color: var(--font-color-light);
}
.text-center {
  text-align: center;
}
.hidden {
  display: none !important;
}
.no-list-markers {
  list-style-type: none;
}
input[type=submit],
input[type=file],
select {
  background-color: var(--color-bg-light);
}
textarea,
input[type=password],
input[type=text],
input[type=email] {
  background-color: var(--color-bg-light);
}
textarea,
input[type=submit],
input[type=file],
input[type=password],
input[type=text],
input[type=email],
select {
  border: var(--border-width-md) solid var(--border-color-light);
  border-radius: var(--border-radius);
  color: var(--font-color-dark);
  cursor: pointer;
  padding: var(--space-sm) var(--space-md);
}
input[type=checkbox] {
  margin: 0;
}
table {
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-light);
  width: 100%;
  border-radius: var(--border-radius);
  border: var(--border-width-sm) solid var(--border-color-light);
  overflow: hidden;
}
table thead {
  font-family: var(--font-heading);
  color: var(--color-bg-light);
  text-transform: none;
}
table thead tr th,
table thead tr td {
  padding: var(--space-md) var(--space-lg);
  color: white;
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--border-color-light);
  font-weight: var(--font-weight-bold);
}
table thead a,
table thead a:link,
table thead a:visited {
  color: var(--font-color-light);
}
table thead a:is(:hover, :focus-visible, :active) {
  color: #ffffff;
  text-decoration: underline;
}
table tbody tr th,
table tbody tr td {
  padding: var(--space-sm) var(--space-md);
  white-space: nowrap;
  color: var(--font-color-dark);
  border-bottom: var(--border-width-sm) solid var(--border-color-light);
  text-align: left;
}
table tbody tr:last-child td {
  border-bottom: none;
}
table tbody tr:hover {
  background-color: var(--color-bg-hover-light);
  transition: background-color 0.15s ease;
}
:is(table tbody, dl, .grid-spec, .grid-box-card--highlight-submission, .submission-score-card, .side-area, .side-area-wr-ranking-grid, .side-area-ranking-grid, .table-avatar-wrapper) a {
  color: var(--font-color-dark);
  text-decoration: none;
  transition: color 0.15s ease;
}
:is(table tbody, dl, .grid-spec, .grid-box-card--highlight-submission, .submission-score-card, .side-area, .side-area-wr-ranking-grid, .side-area-ranking-grid, .table-avatar-wrapper) a:is(:hover, :focus-visible, :active) {
  color: var(--color-link);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: currentColor;
}
.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(--font-color-light);
  margin: var(--space-xs);
}
.sticky-table--compare table td {
  background-color: var(--color-bg-light);
}
.sticky-table--hardware-results table tbody tr td:nth-child(even),
.sticky-table--compare table tbody tr td:nth-child(even) {
  background-color: var(--color-bg-hover-light);
}
.sticky-table--compare table thead tr th {
  background-color: var(--color-bg-dark);
  color: #ffffff;
  border-right: var(--border-width-sm) solid var(--border-color-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, 3);
  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, 2);
  background-color: var(--color-bg-light);
  background-clip: padding-box;
  box-shadow: 2px 0 5px rgba(0, 0, 0, 0.08);
}
body.waiting,
body.waiting * {
  cursor: wait !important;
}
.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);
  font-size: 0.825rem;
  font-weight: 500;
  border-radius: var(--border-radius);
  border: var(--border-width-sm) solid var(--border-color-dark);
  background-color: var(--color-bg-light);
  color: var(--font-color-dark);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.table-navigation .pagination .button.button--primary,
.table-navigation .pagination .button.focus {
  background-color: var(--font-color-dark);
  color: #ffffff;
  border-color: var(--font-color-dark);
}
.table-navigation .pagination .button:not(.button--primary):not(.focus):hover {
  background-color: var(--color-bg-hover-light, #f3f4f6);
}
.table-avatar-wrapper {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}
.table-avatar-wrapper img {
  width: 30px;
  height: 30px;
  border-radius: 50%;
}
.table-avatar-wrapper .participant {
  width: 130px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.table-first-pos {
  border-left: 5px solid var(--color-pos-first);
}
.table-second-pos {
  border-left: 5px solid var(--border-color-light);
}
.table-third-pos {
  border-left: 5px solid var(--color-pos-third);
}
.table-pos {
  border-left: 5px solid lightgrey;
}
.info-text-small {
  font-size: var(--font-size-sm);
}
.scrollable-table-wrapper {
  max-height: 200px;
  overflow-y: auto;
  overflow-x: auto;
  border: var(--border-width-sm) solid var(--border-color-light);
  border-radius: var(--border-radius);
  background: var(--color-bg-light);
}
.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 !important;
}
.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, 990);
}
.global-search,
.global-search-wrapper {
  position: relative;
}
.global-search-autocomplete {
  background: #030617;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5);
  overflow: hidden;
}
.global-search-autocomplete-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  background: #030617;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  color: #94a3b8;
  font-size: 0.85rem;
  font-weight: var(--font-weight-bold);
}
.global-search-header-tools {
  display: flex;
  align-items: center;
  gap: 8px;
}
.global-search-spinner {
  display: inline-flex;
  align-items: center;
  color: #38bdf8;
  font-size: 0.95rem;
}
.global-search-content {
  padding: 8px 12px 24px;
  background-color: var(--color-bg-dark);
}
.global-search-content .category-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  color: #cbd5e1;
  font-size: 0.75rem;
  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: 2px 7px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 10px;
  color: #ffffff;
  font-size: 0.7rem;
}
.global-search-content .search-item-list {
  list-style: none;
  padding: 0;
  margin: 4px 0 0;
}
.global-search-content .search-item {
  border-bottom: 1px 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: 10px 12px;
  color: #f8fafc !important;
  text-decoration: none;
  font-size: 0.95rem;
  border-radius: 4px;
  transition:
    background-color 0.15s ease,
    color 0.15s ease,
    transform 0.15s ease;
}
.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: #ffffff !important;
  outline: none;
}
.global-search-content .item-arrow {
  color: #64748b;
  font-size: 0.75rem;
  transition: color 0.15s ease, transform 0.15s ease;
}
.global-search-content .item-link:is(:hover, :focus, :active, .is-active) .item-arrow {
  color: #38bdf8;
  transform: translateX(3px);
}
.global-search-content .search-empty-state,
.global-search-content .search-prompt-state {
  padding: 40px 20px;
  text-align: center;
  color: #94a3b8;
}
.global-search-content .empty-icon,
.global-search-content .prompt-icon {
  margin-bottom: 12px;
  color: #64748b;
  font-size: 2.5rem;
}
.global-search-content .prompt-icon {
  color: var(--color-highlight);
}
.global-search-content .empty-title,
.global-search-content .prompt-title {
  margin-bottom: 6px;
  color: #f1f5f9;
  font-size: 1.1rem;
  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: 0.85rem;
  line-height: 1.4;
}
.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: 6px 16px;
  box-sizing: border-box;
}
.nav__mobile-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}
.nav__dropdown {
  position: relative;
}
.nav__account-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 40px;
  padding: 0 12px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  color: var(--font-color-light);
  font-size: 0.95rem;
  cursor: pointer;
  user-select: none;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}
.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: #ffffff;
}
.nav__account-btn:focus-visible {
  outline: 2px solid var(--font-color-dark, #006ee0);
  outline-offset: 2px;
}
.nav__caret {
  font-size: 0.65rem;
  color: #38bdf8;
  transition: transform 0.2s ease, color 0.2s ease;
}
.nav__dropdown--open .nav__caret {
  transform: rotate(180deg);
  color: #38bdf8;
}
.nav__dropdown-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 200px;
  padding: 6px 0;
  background: var(--color-bg-light);
  border: var(--border-width-sm) solid var(--border-color-light);
  border-radius: var(--border-radius);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  overflow: hidden;
  z-index: var(--z-index-dropdown, 500);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  pointer-events: none;
  transition:
    opacity 0.2s ease,
    transform 0.2s ease,
    visibility 0.2s ease;
}
.nav__dropdown--open .nav__dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.nav__dropdown-header {
  padding: 10px 16px;
  border-bottom: var(--border-width-sm) solid var(--border-color-light);
  background: var(--color-bg-hover-light);
}
.nav__dropdown-user {
  display: block;
  font-weight: var(--font-weight-bold);
  font-size: 0.85rem;
  color: var(--font-color-dark);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nav__dropdown-item,
.nav__dropdown-item:visited {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  color: var(--font-color-dark);
  font-size: 0.9rem;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}
.nav__dropdown-item:is(:hover, :focus-visible, :active) {
  background: var(--color-bg-hover-light);
  color: var(--font-color-dark);
  text-decoration: none;
}
.nav__dropdown-item i {
  width: 16px;
  text-align: center;
  font-size: 0.9rem;
  color: #64748b;
  transition: color 0.15s ease;
}
.nav__dropdown-item:is(:hover, :focus-visible) i {
  color: var(--font-color-dark);
}
.nav__dropdown-divider {
  height: 1px;
  background: var(--border-color-light);
  margin: 4px 0;
}
.nav__dropdown-item--logout,
.nav__dropdown-item--logout:visited {
  color: var(--color-error, #D32F2F);
}
.nav__dropdown-item--logout i {
  color: var(--color-error, #D32F2F);
}
.nav__dropdown-item--logout:is(:hover, :focus-visible, :active) {
  background: #fef2f2;
  color: #b91c1c;
}
.nav__dropdown-item--logout:is(:hover, :focus-visible) i {
  color: #b91c1c;
}
.nav__burger {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: transparent;
  border: none;
  border-radius: 6px;
  color: var(--font-color-light);
  font-size: 1.3rem;
  cursor: pointer;
  user-select: none;
  transition: background 0.2s ease, color 0.2s ease;
}
.nav__burger:is(:hover, :focus-visible) {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}
.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, 990);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.nav__drawer {
  width: 100%;
}
.nav__drawer-header {
  display: none;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.nav__drawer-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: #ffffff;
  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: 6px;
  color: var(--font-color-light);
  font-size: 1.2rem;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
.nav__close:is(:hover, :focus-visible) {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}
.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: 12px 16px;
  color: var(--font-color-light);
  font-size: 0.85rem;
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.3px;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.2s ease, color 0.2s ease;
}
.nav__link:is(:hover, :focus-visible, :active) {
  background: var(--color-bg-hover-dark);
  color: var(--font-color-light);
  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: 10px 18px;
  color: var(--font-color-dark);
  font-size: 0.85rem;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}
.nav__sub-link:is(:hover, :focus-visible, :active) {
  background: var(--color-bg-hover-dark);
  color: var(--font-color-light);
  text-decoration: none;
}
.nav__item--cta {
  display: flex;
  align-items: center;
}
.nav__link--cta {
  gap: 6px;
}
.nav__link--cta i {
  color: #38bdf8;
  transition: color 0.2s ease;
}
.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 {
  background: var(--color-bg-main);
  padding: var(--space-lg) 0;
}
.side-area--tree {
  background: var(--color-bg-light);
}
.footer {
  background: var(--color-bg-hover-dark);
  font-weight: var(--font-weight-bold);
  color: var(--font-color-light);
}
.footer a,
.footer a:link,
.footer a:visited {
  color: var(--font-color-light);
}
.footer a:is(:hover, :focus-visible, :active) {
  color: #ffffff;
  text-decoration: underline;
}
.content {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) 20px;
  font-size: 13px;
  row-gap: 10px;
}
.content > * {
  grid-column: 2;
}
.content > .flex-row--world-records {
  grid-column: 1/-1;
}
.sub-content {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.hero-banner {
  width: 100%;
  box-sizing: border-box;
  background: var(--color-bg-dark);
  border: var(--border-width-md) solid var(--color-highlight);
  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(--font-color-light);
  margin: 0;
}
.hero-subtitle {
  color: var(--font-color-light);
  margin: 0;
}
.hardware-hero-section {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 24px;
}
.hardware-hero-image-card {
  flex: 1 1 300px;
  max-width: 100%;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 16px;
  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: 12px;
}
.hardware-hero-stat-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 16px;
  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: 1.25rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 4px 0;
  text-align: center;
}
.hardware-sub-label {
  font-size: 0.8125rem;
  color: #64748b;
  margin: 0 0 8px 0;
  text-align: center;
}
.hardware-stat-label {
  font-size: 0.875rem;
  color: #64748b;
  margin: 0;
  text-align: center;
}
.hardware-family-link {
  font-size: 0.75rem;
  color: var(--color-link);
  text-decoration: none;
  margin-top: 6px;
  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: 6px;
  margin-top: 8px;
  width: 100%;
}
.hardware-tab-menu .button {
  flex: 1 1 auto;
  text-align: center;
  padding: 6px 12px;
}
.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(--border-color-light);
  border-radius: var(--border-radius);
  width: 100%;
  max-width: 400px;
}
.list li.stage-info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  box-sizing: border-box;
  gap: var(--space-md);
}
.list li.stage-info:last-child {
  border-bottom: none;
}
.list li.stage-info:hover {
  background-color: #f9fafb;
}
.stage-info-title,
.stage-info-rank,
.stage-info-score,
.stage-info-target {
  box-sizing: border-box;
  display: flex;
  align-items: center;
}
.stage-info .text-muted {
  color: #9ca3af;
}
.stage-info .stage-link {
  color: var(--font-color-dark);
  text-decoration: none;
}
.stage-info .stage-link:hover {
  color: var(--color-link);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.stage-info .score-value,
.stage-info .score-link {
  font-family:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    monospace;
  font-size: 13px;
  color: var(--font-color-dark);
}
.stage-info .score-link {
  color: var(--color-link);
  text-decoration: none;
}
.stage-info .score-link:hover {
  color: var(--color-link-hover);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.stage-info .fa-trophy {
  color: #f59e0b;
  margin-right: 4px;
}
.stage-info .target-icon {
  color: #ef4444;
  margin-right: 4px;
}
.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: 1px solid var(--border-color-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(--border-color-light);
  border-radius: var(--border-radius);
  gap: 0;
}
.grid-box--achievement-info {
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
}
.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--compo,
.grid-box--profile,
.grid-box--submission-ranking {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
.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));
}
.grid-box-card {
  display: flex;
  padding: var(--space-md);
  border-radius: var(--border-radius);
  background: var(--color-bg-light);
  border: var(--border-width-sm) solid var(--border-color-light);
}
.grid-box-card--submit-hardware {
  flex-direction: column;
  flex: 1;
}
.grid-box-card--compo-points-info {
  flex-direction: column;
  overflow: auto;
  max-height: 200px;
}
.grid-box-card--sidebar-ranking {
  position: relative;
  flex-direction: column;
  gap: var(--space-md);
}
.grid-box-card--news {
  position: relative;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease;
}
.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;
}
.grid-box-card--news:hover {
  background-color: var(--color-bg-hover-light);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.grid-box-card--wall {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px 20px;
  border: none;
  border-radius: 0;
  white-space: nowrap;
  padding: 0 var(--space-md);
}
.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;
}
.grid-box-card--highlight-submission {
  background: var(--color-bg-light);
  flex-direction: column;
}
.grid-spec {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  width: 100%;
}
.grid-spec-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 0;
  overflow: auto;
  border-bottom: 1px solid var(--border-color-light);
}
.grid-spec-row--stacked {
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  border-bottom: 1px solid var(--border-color-light);
}
.grid-spec-row:last-child {
  border-bottom: none;
}
.grid-spec-row .attribute {
  display: block;
  font-size: 0.8125rem;
  font-weight: var(--font-weight-bold);
  color: var(--font-color-dark);
}
.grid-spec-row .attribute-nowrap,
.grid-spec-row .attribute--nowrap {
  white-space: nowrap;
}
.grid-spec-row .value {
  display: block;
  font-size: 0.9375rem;
  color: var(--font-color-dark);
}
.grid-spec-row--stacked .value {
  text-align: left;
  width: 100%;
  margin: 0;
}
.font-bold--partner {
  color: var(--font-color-dark, #0f172a);
}
.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, 1050);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-md);
}
.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: 0 4px 15px rgba(0, 0, 0, 0.2);
}
.modal-dialog--result-history {
  max-width: 600px;
}
.modal-dialog--result-moderation {
  max-width: 800px;
}
.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(--border-color-light);
}
.modal-body {
  padding: var(--space-md);
  overflow-y: auto;
  flex-grow: 1;
}
.modal-footer {
  padding: var(--space-md) var(--space-lg);
  border-top: var(--border-width-sm) solid var(--border-color-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(--border-color-light);
}
.list li:last-child {
  border-bottom: none;
}
.list--scrollable {
  max-height: 160px;
  overflow-y: auto;
  padding-right: 5px;
}
.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: 4px;
}
.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: 50%;
  border: 3px solid #ffffff;
  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: 50%;
  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: 5px 0;
}
.filter {
}
.filter .list,
.filter ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.filter .list li,
.filter ul li {
  padding: 5px 0 5px 0;
}
.filter .filter-key {
  margin-bottom: 5px;
  font-weight: var(--font-weight-bold);
}
.filter .ranking-filter {
  display: flex;
  flex-wrap: wrap;
  overflow-x: visible;
  white-space: normal;
  gap: 6px;
  padding: 4px 0 8px 0;
  margin-bottom: 10px;
}
.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-light);
  border-radius: var(--border-radius);
  border: var(--border-width-sm) solid var(--border-color-light);
  margin-top: var(--space-xs);
}
.filter-chips-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 8px;
  background: var(--color-bg-main);
  border: var(--border-width-sm) solid var(--border-color-light);
  border-radius: 20px;
  font-size: var(--font-size-xs);
  color: var(--color-text-main);
  line-height: 1.4;
}
.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);
  font-size: 1rem;
  line-height: 1;
  padding: 0;
  margin: 0;
  cursor: pointer;
  border-radius: 50%;
  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: #64748b;
  font-size: var(--font-size-xs);
  cursor: pointer;
  padding: 2px 6px;
  text-decoration: underline;
  line-height: 1.4;
}
.filter-chip-clear-all:hover {
  color: var(--color-error);
}
.progressbar {
  border: 1px solid #999;
  margin: 5px auto;
  width: 100px;
  height: 5px;
}
.progressbar > div {
  background: green;
  height: 100%;
  width: 100%;
}
.comment-container .comment-wrapper {
  width: calc(100% - 60px);
}
.submission-suggestions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  background-color: #f0f7ff;
  border: 1px solid #bae6fd;
  border-left: 4px solid #0284c7;
  padding: 10px 16px;
  border-radius: 6px;
  max-width: 100%;
  box-sizing: border-box;
  overflow: auto;
}
.submission-suggestion {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
  font-weight: var(--font-weight-bold);
  color: #0369a1;
  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: 10px;
  align-items: center;
  padding: 0 10px 0 10px;
  max-width: 100%;
  box-sizing: border-box;
  font-family: var(--font-heading);
  font-size: 2em;
  font-weight: var(--font-weight-bold);
  margin-bottom: 10px;
}
.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: 50%;
  object-fit: cover;
  display: block;
}
.submission-score-card .score-details {
  display: flex;
  gap: 10px;
  flex-direction: column;
}
.submission-score-card .score-details-row {
  display: flex;
  gap: 10px;
  flex-direction: row;
  align-items: center;
}
.submission-score-card .user-info {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
}
.submission-score-card .score-label,
.submission-score-card .connector-text {
  color: gray;
  font-size: 0.8em;
  font-style: italic;
}
.submission-score-card .temp-wrapper {
  display: inline-flex;
  align-items: center;
  font-size: 0.85rem;
  background-color: #f1f5f9;
  padding: 2px 6px;
  border-radius: 4px;
  color: #475569;
}
.submission-sub-score {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-top: 8px;
  padding: 8px 10px;
  background-color: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  box-sizing: border-box;
}
.submission-sub-score .sub-score-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.85rem;
}
.submission-sub-score .sub-score-name {
  color: #64748b;
  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: #0f172a;
}
.form-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  width: 100%;
  margin-bottom: 10px;
}
.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-md);
  flex: 1 1 auto;
  min-width: 0;
}
.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 {
  font-size: 0.8125rem;
  font-weight: var(--font-weight-bold);
  color: var(--font-color-dark);
}
.form-group-checkbox label {
  display: inline-flex;
  align-items: center;
  gap: var(--space-md);
  cursor: pointer;
  user-select: none;
  font-size: 0.8125rem;
  font-weight: var(--font-weight-bold);
  color: var(--font-color-dark);
}
.form-group-checkbox input[type=checkbox] {
  width: 20px;
  height: 20px;
  cursor: pointer;
  accent-color: var(--font-color-dark);
}
.form-group-checkbox input[type=checkbox].field-error {
  outline: 2px solid var(--color-error, #dc2626);
  outline-offset: 1px;
  border-color: var(--color-error, #dc2626);
}
.form-group-checkbox:has(.field-error) {
  padding: var(--space-xs, 0.5rem);
  border: 1px solid var(--color-error, #dc2626);
  border-radius: var(--border-radius, 0.375rem);
  background-color: var(--color-error-bg, rgba(220, 38, 38, 0.03));
}
.form-group-checkbox .binding-error {
  color: var(--color-error, #dc2626);
  font-size: 0.8125rem;
  font-weight: 500;
}
.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: #94a3b8;
  font-size: 0.9rem;
  pointer-events: none;
}
.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(--border-color-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: #6c757d;
  white-space: nowrap;
  user-select: none;
}
.form-input-with-unit.field-error {
  border: var(--border-width-md) solid var(--color-error);
}
.binding-error {
  font-size: 12px;
  color: var(--color-error);
}
.banner-image img {
  width: 100%;
  height: auto;
  min-height: 100px;
  border-radius: var(--border-radius);
}
.flex-column--compo-tree {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.flex-column-item--compo-tree-root {
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  border-left: 4px solid #2563eb;
  border-radius: 6px;
  padding: 12px 16px;
  position: relative;
  z-index: 2;
}
.compo-tree-children {
  position: relative;
  padding-left: 28px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.compo-tree-children::before {
  content: "";
  position: absolute;
  left: 12px;
  top: -12px;
  bottom: 24px;
  width: 2px;
  background-color: #cbd5e1;
}
.flex-column-item--compo-tree {
  position: relative;
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 10px 14px;
}
.flex-column-item--compo-tree::before {
  content: "";
  position: absolute;
  left: -16px;
  top: 50%;
  width: 14px;
  height: 2px;
  background-color: #cbd5e1;
}
.flex-column-item--compo-tree.active {
  border-color: #3b82f6;
  background-color: #eff6ff;
}
.flex-column-item--compo-tree.active::before {
  background-color: #3b82f6;
}
.grid-spec-row--stacked .attribute {
  font-size: 10px;
  color: #6b7280;
  margin-bottom: 2px;
}
.grid-spec-row--stacked .value a {
  font-size: 12px;
  font-weight: 600;
}
.leader-grid {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.leader-grid h2 {
  margin: 0 0 12px 0;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #64748b;
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid #f1f5f9;
  padding-bottom: 8px;
}
.leader-grid .text-gold {
  color: #f59e0b;
  filter: drop-shadow(0 0 4px rgba(245, 158, 11, 0.3));
}
.leader-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.leader-user {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.leader-avatar {
  height: 44px;
  width: 44px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #f59e0b;
  box-shadow: 0 0 6px rgba(245, 158, 11, 0.2);
  flex-shrink: 0;
}
.leader-name {
  font-size: 0.95rem;
  font-weight: 700;
  color: #0f172a;
  letter-spacing: 0.01em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.leader-points {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  background: #0f172a;
  border: 1px solid #1e293b;
  border-radius: 4px;
  color: #fbbf24;
  font-size: 0.85rem;
  font-weight: 800;
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
  white-space: nowrap;
  text-shadow: 0 0 6px rgba(251, 191, 36, 0.3);
}
.leader-empty-state {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 6px;
  width: 100%;
  box-sizing: border-box;
}
.leader-empty-state .empty-icon {
  font-size: 20px;
  color: #0284c7;
  flex-shrink: 0;
}
.leader-empty-state .empty-details {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.leader-empty-state .empty-title {
  font-size: 0.8rem;
  font-weight: 700;
  color: #1e293b;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.leader-empty-state .empty-subtitle {
  font-size: 0.75rem;
  color: #64748b;
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}
.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;
}
.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-weight: var(--font-weight-bold);
  font-size: 16px;
}
.flex-row--wall {
  gap: var(--space-md);
  padding: var(--space-md) 0;
}
.flex-row--action,
.flex-row--info {
  gap: var(--space-md) var(--space-lg);
  padding: var(--space-md);
  background: var(--color-bg-light);
  border: var(--border-width-sm) solid var(--border-color-light);
  border-radius: var(--border-radius);
  font-size: var(--font-size-md);
  color: var(--font-color-dark);
  justify-content: space-between;
  align-items: center;
}
:is(.flex-row--action, .flex-row--info) a {
  color: var(--color-link);
  text-decoration: underline;
  text-decoration-color: var(--color-link-underline);
  text-underline-offset: 3px;
  transition: color 0.15s ease, text-decoration-color 0.15s ease;
}
:is(.flex-row--action, .flex-row--info) a:is(:hover, :active) {
  color: var(--color-link-hover);
  text-decoration-color: currentColor;
}
.flex-row-group {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}
.flex-row-group--meta {
  color: #6b7280;
  font-size: 0.825rem;
}
.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-light);
  border: 1px solid var(--border-color-light);
  width: 100%;
}
.flex-row-item i {
  font-size: 0.9em;
}
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 2px 8px 2px 4px;
  border-radius: 6px;
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.2px;
}
.status-badge i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  font-size: var(--font-size-md);
  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 {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(52, 211, 153, 0.5);
  color: #34d399;
}
.status-success i {
  background-color: rgba(52, 211, 153, 0.2);
}
.status-success i::before {
  content: "\f00c";
}
.status-warning {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(245, 158, 11, 0.5);
  color: #fbbf24;
}
.status-warning i {
  background-color: rgba(245, 158, 11, 0.2);
}
.status-warning i::before {
  content: "\f071";
}
.status-unknown {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(148, 163, 184, 0.4);
  color: #94a3b8;
}
.status-unknown i {
  background-color: rgba(148, 163, 184, 0.2);
}
.status-unknown i::before {
  content: "\f05a";
}
.status-processing {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(96, 165, 250, 0.5);
  color: #60a5fa;
}
.status-processing i {
  background-color: rgba(96, 165, 250, 0.2);
}
.status-processing i::before {
  content: "\f1ce";
}
.status-open {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(52, 211, 153, 0.5);
  color: #34d399;
}
.status-open i {
  background-color: rgba(52, 211, 153, 0.2);
}
.status-open i::before {
  content: "\f3c1";
}
.status-closed {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(239, 68, 68, 0.5);
  color: #f87171;
}
.status-closed i {
  background-color: rgba(239, 68, 68, 0.2);
}
.status-closed i::before {
  content: "\f023";
}
.status-official {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(148, 163, 184, 0.5);
  color: #e2e8f0;
}
.status-official i {
  background-color: rgba(148, 163, 184, 0.2);
}
.status-official i::before {
  content: "\f00c";
}
.status-online {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(56, 189, 248, 0.5);
  color: #38bdf8;
}
.status-online i {
  background-color: rgba(56, 189, 248, 0.2);
}
.status-online i::before {
  content: "\f0ac";
}
.status-live {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(239, 68, 68, 0.5);
  color: #f87171;
}
.status-live i {
  background-color: rgba(239, 68, 68, 0.2);
}
.status-live i::before {
  content: "\f001";
}
.status-active {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(52, 211, 153, 0.5);
  color: #34d399;
}
.status-active i {
  background-color: rgba(52, 211, 153, 0.2);
}
.status-active i::before {
  content: "\f00c";
}
.status-inactive {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(148, 163, 184, 0.4);
  color: #94a3b8;
}
.status-inactive i {
  background-color: rgba(148, 163, 184, 0.2);
}
.status-inactive i::before {
  content: "\f05e";
}
.cooling-air-stock {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(148, 163, 184, 0.4);
  color: #94a3b8;
}
.cooling-air-stock i {
  background-color: rgba(148, 163, 184, 0.2);
}
.cooling-air-stock i::before {
  content: "\f72e";
}
.cooling-air-custom {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(52, 211, 153, 0.4);
  color: #34d399;
}
.cooling-air-custom i {
  background-color: rgba(52, 211, 153, 0.2);
}
.cooling-air-custom i::before {
  content: "\f72e";
}
.cooling-water-custom {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(96, 165, 250, 0.4);
  color: #60a5fa;
}
.cooling-water-custom i {
  background-color: rgba(96, 165, 250, 0.2);
}
.cooling-water-custom i::before {
  content: "\f043";
}
.cooling-aio-water {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(34, 211, 238, 0.4);
  color: #22d3ee;
}
.cooling-aio-water i {
  background-color: rgba(34, 211, 238, 0.2);
}
.cooling-aio-water i::before {
  content: "\f043";
}
.cooling-water-chilled-cold {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(56, 189, 248, 0.4);
  color: #38bdf8;
}
.cooling-water-chilled-cold i {
  background-color: rgba(56, 189, 248, 0.2);
}
.cooling-water-chilled-cold i::before {
  content: "\f2dc";
}
.cooling-dry-ice {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(232, 121, 249, 0.4);
  color: #e879f9;
}
.cooling-dry-ice i {
  background-color: rgba(232, 121, 249, 0.2);
}
.cooling-dry-ice i::before {
  content: "\f1b2";
}
.cooling-single-stage-phase-change {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(45, 212, 191, 0.4);
  color: #2dd4bf;
}
.cooling-single-stage-phase-change i {
  background-color: rgba(45, 212, 191, 0.2);
}
.cooling-single-stage-phase-change i::before {
  content: "\f2dc";
}
.cooling-cascade-phase-change {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(129, 140, 248, 0.4);
  color: #818cf8;
}
.cooling-cascade-phase-change i {
  background-color: rgba(129, 140, 248, 0.2);
}
.cooling-cascade-phase-change i::before {
  content: "\f2dc";
}
.cooling-liquid-nitrogen {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(192, 132, 252, 0.5);
  color: #c084fc;
}
.cooling-liquid-nitrogen i {
  background-color: rgba(192, 132, 252, 0.2);
}
.cooling-liquid-nitrogen i::before {
  content: "\f0c3";
}
.cooling-liquid-helium {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(251, 113, 133, 0.5);
  color: #fb7185;
}
.cooling-liquid-helium i {
  background-color: rgba(251, 113, 133, 0.2);
}
.cooling-liquid-helium i::before {
  content: "\f7a6";
}
.league-elite {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(245, 158, 11, 0.5);
  color: #fbbf24;
}
.league-elite i {
  background-color: rgba(245, 158, 11, 0.2);
}
.league-elite i::before {
  content: "\f521";
}
.league-extreme {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(239, 68, 68, 0.5);
  color: #f87171;
}
.league-extreme i {
  background-color: rgba(239, 68, 68, 0.2);
}
.league-extreme i::before {
  content: "\f06d";
}
.league-apprentice {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(168, 85, 247, 0.5);
  color: #c084fc;
}
.league-apprentice i {
  background-color: rgba(168, 85, 247, 0.2);
}
.league-apprentice i::before {
  content: "\f0d0";
}
.league-enthusiast {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(59, 130, 246, 0.5);
  color: #60a5fa;
}
.league-enthusiast i {
  background-color: rgba(59, 130, 246, 0.2);
}
.league-enthusiast i::before {
  content: "\f0e7";
}
.league-novice {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(16, 185, 129, 0.5);
  color: #34d399;
}
.league-novice i {
  background-color: rgba(16, 185, 129, 0.2);
}
.league-novice i::before {
  content: "\f4d8";
}
.league-rookie {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(148, 163, 184, 0.5);
  color: #cbd5e1;
}
.league-rookie i {
  background-color: rgba(148, 163, 184, 0.2);
}
.league-rookie i::before {
  content: "\f19d";
}
.ref-review {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(56, 189, 248, 0.4);
  color: #38bdf8;
}
.ref-review i {
  background-color: rgba(56, 189, 248, 0.2);
}
.ref-review i::before {
  content: "\f1e5";
}
.ref-news,
.ref-press,
.ref-roundup,
.ref-static-content {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(148, 163, 184, 0.4);
  color: #cbd5e1;
}
.ref-news i,
.ref-press i,
.ref-roundup i,
.ref-static-content i {
  background-color: rgba(148, 163, 184, 0.2);
}
.ref-news i::before,
.ref-press i::before,
.ref-roundup i::before,
.ref-static-content i::before {
  content: "\f1ea";
}
.ref-discussion {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(129, 140, 248, 0.4);
  color: #818cf8;
}
.ref-discussion i {
  background-color: rgba(129, 140, 248, 0.2);
}
.ref-discussion i::before {
  content: "\f086";
}
.ref-rule {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(245, 158, 11, 0.4);
  color: #fbbf24;
}
.ref-rule i {
  background-color: rgba(245, 158, 11, 0.2);
}
.ref-rule i::before {
  content: "\f06a";
}
.ref-esports {
  background-color: #1e293b;
  border: var(--border-width-sm) solid rgba(239, 68, 68, 0.4);
  color: #f87171;
}
.ref-esports i {
  background-color: rgba(239, 68, 68, 0.2);
}
.ref-esports i::before {
  content: "\f2db";
}
.screenshot-box {
  display: flex;
  gap: 10px;
  overflow: auto;
  width: 100%;
}
.screenshot-box a {
  text-decoration: none;
}
.screenshot-box img {
  border-radius: 4px;
}
.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 {
  font-size: 0.9rem;
  line-height: 1.6;
  color: #334155;
}
.rich-text-content h1,
.rich-text-content h2,
.rich-text-content h3,
.rich-text-content h4 {
  color: #0f172a;
  font-weight: var(--font-weight-bold);
  margin-top: 1rem;
  margin-bottom: 0.5rem;
  line-height: 1.3;
}
.rich-text-content strong,
.rich-text-content b {
  color: #0f172a;
  font-weight: var(--font-weight-bold);
}
.rich-text-content p {
  margin-top: 0;
  margin-bottom: 0.75rem;
}
.rich-text-content ul,
.rich-text-content ol {
  padding-left: 1.25rem;
  margin-top: 0.5rem;
  margin-bottom: 0.75rem;
}
.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 0.15s ease, text-decoration-color 0.15s ease;
}
.rich-text-content a:hover {
  color: var(--color-link-hover);
  text-decoration-color: currentColor;
}
.rich-text-content code,
.rich-text-content pre {
  background: #f1f5f9;
  padding: 0.2rem 0.4rem;
  border-radius: var(--border-radius);
  font-family: monospace;
  font-size: 0.85em;
  color: #0f172a;
}
.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: 1rem;
  margin-bottom: 1rem;
}
.rich-text-content th,
.rich-text-content td {
  padding: var(--space-sm) var(--space-md);
  border: var(--border-width-sm) solid var(--border-color-light);
  text-align: left;
}
.rich-text-content th {
  background-color: var(--color-bg-hover-light);
  font-weight: var(--font-weight-bold);
  color: var(--font-color-dark);
}
.rich-text-content tr:hover td {
  background-color: var(--color-bg-hover-light);
}
.rich-text-content iframe {
  width: 100%;
  max-width: 600px;
  aspect-ratio: 16 / 9;
  display: block;
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: none;
  border-radius: var(--border-radius);
}
.comments-section {
}
.comments-title {
  font-size: 1.25rem;
  font-weight: var(--font-weight-bold);
  color: #1e293b;
  margin-bottom: 16px;
}
.submitter-quote-card {
  background-color: #f8fafc;
  border-left: 4px solid #0284c7;
  border-radius: 4px;
  padding: 12px 16px;
  margin-bottom: 20px;
}
.quote-header {
  display: flex;
  gap: 6px;
  font-size: 0.875rem;
  margin-bottom: 6px;
}
.quote-author {
  font-weight: var(--font-weight-bold);
  color: #0284c7;
  text-decoration: none;
}
.quote-author:hover {
  text-decoration: underline;
}
.quote-action {
  color: #64748b;
}
.quote-body {
  margin: 0;
  font-style: italic;
  color: #334155;
  font-size: 0.9rem;
}
.quote-icon {
  color: #94a3b8;
  margin-right: 6px;
}
.comments-thread {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 24px;
}
.comments-empty {
  font-size: 0.875rem;
  color: #64748b;
  font-style: italic;
}
.comment-card {
  display: flex;
  gap: 12px;
  background-color: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  padding: 12px 16px;
}
.comment-avatar-link {
  flex-shrink: 0;
}
.comment-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
}
.comment-body {
  flex: 1;
  min-width: 0;
}
.comment-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 6px;
}
.comment-author {
  font-size: 0.875rem;
  font-weight: var(--font-weight-bold);
  color: #0284c7;
  text-decoration: none;
}
.comment-author:hover {
  text-decoration: underline;
}
.comment-timestamp {
  font-size: 0.75rem;
  color: #64748b;
}
.comment-text {
  font-size: 0.9rem;
  color: #334155;
  line-height: 1.4;
  word-break: break-word;
}
.comment-form-box {
  margin-top: 16px;
}
.comment-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.comment-textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  font-family: inherit;
  font-size: 0.9rem;
  resize: vertical;
  box-sizing: border-box;
}
.comment-textarea:focus {
  outline: none;
  border-color: #0284c7;
  box-shadow: 0 0 0 2px rgba(2, 132, 199, 0.15);
}
.comment-form-actions {
  display: flex;
  justify-content: flex-end;
}
.btn-primary {
  background-color: #0284c7;
  color: #ffffff;
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  font-weight: var(--font-weight-bold);
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.btn-primary:hover {
  background-color: #0369a1;
}
.comment-login-notice {
  font-size: 0.875rem;
  color: #64748b;
  font-style: italic;
}
.comment-text img {
  max-width: 100% !important;
  height: auto !important;
  display: block;
  margin: 10px 0;
  border-radius: 4px;
}
.faint {
  opacity: 0.2;
}
.side-area .content .hardware-tree {
  height: 1200px;
  overflow: auto;
}
.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: 10px;
}
.timer .countdown-wrapper span {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 10px;
}
.timer .countdown-wrapper .count {
  font-size: 30px;
  color: gainsboro;
  background: var(--color-bg-dark);
  margin-bottom: 10px;
  border-radius: 4px;
  padding: 10px;
  text-align: center;
}
.timer .countdown-wrapper .countdownlabel {
  text-transform: uppercase;
  text-align: center;
  color: var(--color-bg-dark);
  font-weight: var(--font-weight-bold);
}
.side-area-ranking-grid {
  display: grid;
  grid-template-columns: 5px 15px auto auto;
  grid-gap: 10px;
  align-items: center;
  justify-items: left;
  max-height: 700px;
  overflow: auto;
}
.side-area-wr-ranking-grid {
  display: grid;
  grid-template-columns: 5px 40px auto auto;
  grid-template-rows: auto auto;
  grid-gap: 10px;
  align-items: center;
  justify-items: left;
}
.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: 10px;
  margin-bottom: 5px;
  background: #F0F0F0;
  border-radius: 4px;
}
.side-area-ranking .row .pos {
  border-radius: 4px;
  border: solid 1px 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;
}
.reset-password .content .grid {
  grid-gap: 10px;
}
.reset-password .content .grid {
  align-items: center;
  justify-items: center;
}
.reset-password .content .grid {
  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: #64748b;
  margin: 0;
  font-size: 0.875rem;
}
.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: 6px;
  cursor: pointer;
  color: #94a3b8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.password-toggle-btn:hover {
  color: var(--font-color-dark);
}
.login-footer {
  text-align: center;
  font-size: 0.875rem;
  color: #64748b;
  padding-top: var(--space-md);
  border-top: 1px solid var(--border-color-light);
}
.side-area .content .article-link {
  margin: 0 0 10px 0;
}
.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: 20px 0 20px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  gap: 20px;
}
.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;
}
.main-area.hw-data .hw-data-overlay {
  background: rgba(0, 0, 0, 0.5);
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: none;
  position: absolute;
  z-index: var(--z-index-loading-overlay, 20);
  cursor: wait;
  animation-name: loading;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}
.hardware-overview .content-type-2 .manufacturer-grid,
.main-area.hw-data .content .manufacturer-grid {
  display: flex;
  align-items: center;
  gap: 5px;
}
.main-area.hw-data .content .manufacturer-grid .manufacturer-headline-grid-cell {
  height: 40px;
  display: flex;
  gap: 5px;
  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: 5px;
  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(--border-color-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 !important;
  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-light);
  border: var(--border-width-sm) solid var(--border-color-dark);
  border-radius: 20px;
  color: var(--font-color-dark);
  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);
  font-size: var(--font-size-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(--font-color-dark);
  color: white;
  border-color: var(--font-color-dark);
}
.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: #dc2626;
  border-color: #fca5a5;
  background-color: #fff5f5;
}
.button--danger:hover {
  background-color: var(--color-bg-hover-light);
  border-color: var(--border-color-light);
  color: var(--font-color-dark);
}
.active,
.button:hover {
  border-color: var(--color-bg-hover-dark);
  box-shadow: rgba(0, 0, 0, .1) 0 1px 1px;
  background: lightgray;
  text-decoration: none;
}
.focus,
.button:focus {
  border-color: #4285f4;
  color: 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 5px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  background-color: var(--font-color-dark);
  color: var(--font-color-light);
  box-sizing: border-box;
}
.button .badge {
  margin-left: calc(-1 * var(--space-xs));
}
.button--primary .badge {
  background-color: var(--color-bg-light);
  color: var(--font-color-dark);
}
.info-message {
  background: #ddffff;
  padding: var(--space-md);
  border-radius: var(--border-radius);
}
.warn-message {
  background: #ffc;
  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(--font-color-light);
}
.error-message a,
.info-message a {
  color: inherit;
  text-decoration: underline;
  font-weight: var(--font-weight-bold);
}
.binding-error {
  color: var(--color-error);
}
.form-input {
  border: var(--border-width-md) solid var(--border-color-light);
  border-radius: var(--border-radius);
  background-color: var(--color-bg-light);
  color: var(--font-color-dark);
  padding: var(--space-sm) var(--space-md);
  box-sizing: border-box;
}
input[type=checkbox].field-error {
  outline: var(--border-width-md) solid var(--border-color-error);
  background-color: var(--color-bg-light);
}
.field-error {
  border: var(--border-width-md) solid var(--border-color-error);
  background-color: var(--color-bg-light);
}
.ui-widget {
  font-family:
    Arial,
    Helvetica,
    sans-serif;
}
.ui-widget-content {
  border: var(--border-width-sm) solid var(--border-color-light);
  border-radius: 0;
  background: var(--color-bg-main);
  color: var(--font-color-dark);
  font-size: 13px;
}
.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(--font-color-dark);
}
.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: #f8f9fa;
  border-left: 4px solid #4a90e2;
  padding: 10px 16px;
  margin: 4px 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: #e9ecef;
}
.result-status-comment .content .event-container::-webkit-scrollbar-thumb,
.reporting-overview .content .sticky-table .event-container::-webkit-scrollbar-thumb {
  background: #adb5bd;
  border-radius: 3px;
}
.result-status-comment .content .event-container::-webkit-scrollbar-thumb:hover,
.reporting-overview .content .sticky-table .event-container::-webkit-scrollbar-thumb:hover {
  background: #6c757d;
}
.result-status-comment .content .event-timeline,
.reporting-overview .content .sticky-table .event-timeline {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.result-status-comment .content .event-item,
.reporting-overview .content .sticky-table .event-item {
  display: flex;
  align-items: flex-start;
  font-size: 13px;
  line-height: 1.4;
}
.result-status-comment .content .event-icon,
.reporting-overview .content .sticky-table .event-icon {
  color: #8c98a4;
  margin-right: 10px;
  font-weight: var(--font-weight-bold);
}
.result-status-comment .content .event-meta,
.reporting-overview .content .sticky-table .event-meta {
  min-width: 160px;
  color: #6c757d;
  font-family: monospace;
}
.result-status-comment .content .event-user,
.reporting-overview .content .sticky-table .event-user {
  min-width: 140px;
  font-weight: var(--font-weight-bold);
  color: #2b303a;
  margin-right: 12px;
}
.result-status-comment .content .event-desc,
.reporting-overview .content .sticky-table .event-desc {
  color: #333;
  flex-grow: 1;
  width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
.reporting-overview .content .sticky-table .nested-row td {
  padding: 0 !important;
  border-bottom: 2px solid #e0e0e0;
}
.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 4px 4px 0;
  cursor: pointer;
}
.reporting-overview .content .sticky-table .event-container {
  padding: 5px 10px;
}
.reporting-overview .content .sticky-table .event-timeline {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.reporting-overview .content .sticky-table .event-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
}
.tab-menu {
  display: flex;
  flex-wrap: wrap;
  overflow-x: visible;
  white-space: normal;
  gap: 5px;
}
.tab-menu--hardware {
  margin-bottom: 10px;
}
.tab-menu > * {
  flex: 0 0 auto;
}
.sidebar-title {
  font-size: 1.15rem;
  font-weight: var(--font-weight-bold);
  color: #1e293b;
  margin-bottom: 12px;
}
.sidebar-title-link {
  color: #0284c7;
  text-decoration: none;
}
.sidebar-title-link:hover {
  text-decoration: underline;
}
.sidebar-empty {
  font-size: 0.875rem;
  color: #64748b;
  font-style: italic;
}
.wr-ranking-card {
  display: flex;
  flex-direction: column;
  border: var(--border-width-sm) solid #f8fafc;
  border-radius: 6px;
  overflow: hidden;
}
.wr-ranking-row {
  display: flex;
  align-items: center;
  position: relative;
  padding: 6px 10px 6px 0;
  gap: 8px;
  border-bottom: 1px solid #f1f5f9;
  transition: background-color 0.15s ease;
}
.wr-ranking-row:last-child {
  border-bottom: none;
}
.wr-ranking-row:hover {
  background-color: #f1f5f9;
}
.wr-ranking-row.is-active {
  background-color: #d8e8ee;
}
.pos-marker {
  width: 4px;
  align-self: stretch;
  flex-shrink: 0;
}
.pos-marker.gold {
  background-color: #eab308;
}
.pos-marker.silver {
  background-color: #94a3b8;
}
.pos-marker.bronze {
  background-color: #d97706;
}
.pos-marker.medal {
  background-color: #38bdf8;
}
.pos-marker.nomedal {
  background-color: transparent;
}
.rank-pos {
  font-size: 0.85rem;
  font-weight: var(--font-weight-bold);
  color: #475569;
  text-align: center;
  flex-shrink: 0;
}
.rank-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
  gap: 2px;
}
.rank-user-line {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.rank-avatar {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.rank-username {
  font-size: 0.85rem;
  font-weight: var(--font-weight-bold);
  color: #0284c7;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rank-username:hover {
  text-decoration: underline;
}
.rank-hardware-line {
  font-size: 0.75rem;
  color: #64748b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rank-hw-link {
  color: #475569;
  text-decoration: none;
}
.rank-hw-link:hover {
  color: #0284c7;
}
.rank-clock {
  color: #64748b;
}
.rank-score {
  flex-shrink: 0;
  text-align: right;
}
.rank-score-link {
  font-size: 0.85rem;
  font-weight: var(--font-weight-bold);
  color: #0f172a;
  text-decoration: none;
}
.rank-score-link:hover {
  color: #0284c7;
}
.history-meta {
  display: flex;
  gap: 6px;
  color: #94a3b8;
  font-weight: var(--font-weight-bold);
  margin-bottom: 2px;
}
.history-meta::after {
  content: "";
}
.history-user {
  color: #38bdf8;
}
.history-desc {
  display: flex;
  align-items: flex-start;
  gap: 6px;
}
.history-icon {
  color: #64748b;
  margin-top: 2px;
}
.hw-tree {
  font-size: var(--font-size-md);
  user-select: none;
}
.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(--border-color-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";
  font-weight: 900;
  font-size: var(--font-size-lg);
  color: #94a3b8;
  transition: transform 0.2s ease;
}
.hw-tree-branch[open] > .hw-tree-summary .hw-tree-summary-content::before {
  transform: rotate(90deg);
  color: var(--font-color-dark);
}
.hw-tree-summary:hover,
.hw-tree-link:hover {
  background: var(--color-bg-hover-light);
  color: var(--font-color-dark);
}
.hw-tree-link {
  display: block;
  padding: var(--space-sm) var(--space-md);
  color: var(--font-color-dark);
  text-decoration: none;
  border-radius: var(--border-radius);
}
.hw-tree-link.is-active,
.hw-tree-summary:has(.hw-tree-link.is-active) {
  background: var(--color-bg-hover-dark);
  color: var(--font-color-light);
  font-weight: var(--font-weight-bold);
}
@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: 10px;
    flex-wrap: wrap;
    gap: 10px 20px;
    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: 5px;
    text-align: center;
    font-size: 14px;
  }
  .header .partner-wrapper,
  .header .account-wrapper {
    color: gainsboro;
    font-family: var(--font-heading);
  }
  .header .partner-wrapper .partner-info {
    font-size: 13px;
  }
  .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;
    font-size: 12px;
    margin: 0;
    padding: 0;
  }
  .header .account li {
    color: gainsboro;
    float: left;
    padding: 10px;
  }
  .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: 6px;
    vertical-align: middle;
    border-top: 4px solid #38bdf8;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    transition: transform 0.2s ease, border-top-color 0.2s ease;
  }
  .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: 6px 0;
    background: var(--color-bg-light);
    border: var(--border-width-sm) solid var(--border-color-light);
    border-radius: 0 0 6px 6px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    z-index: var(--z-index-dropdown, 500);
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    pointer-events: none;
    transition:
      opacity 0.2s ease,
      transform 0.2s ease,
      visibility 0.2s ease;
  }
  .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 14px 0 18px;
    border: var(--border-width-md) solid var(--color-bg-dark);
    border-right: none;
    border-radius: 9999px 0 0 9999px;
    background-color: var(--color-bg-dark);
    color: #ffffff;
    font-size: 14px;
    outline: none;
    transition:
      width 0.25s ease,
      border-color 0.2s ease,
      background-color 0.2s ease;
  }
  .global-search input[type=text]::placeholder,
  .global-search input[type=search]::placeholder,
  .global-search-input::placeholder {
    color: #94a3b8;
  }
  .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 16px 0 10px;
    margin: 0;
    border: var(--border-width-md) solid var(--color-bg-dark);
    border-left: none;
    border-radius: 0 9999px 9999px 0;
    background-color: var(--color-bg-dark);
    color: #94a3b8;
    font-size: 14px;
    cursor: pointer;
    outline: none;
    box-shadow: none;
    vertical-align: top;
    transition:
      background-color 0.2s ease,
      border-color 0.2s ease,
      color 0.2s ease;
  }
  .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: #38bdf8;
  }
  .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: #38bdf8;
  }
  .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, 1050);
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.7);
    overflow: hidden;
  }
  .global-search-autocomplete-header {
    padding: 10px 16px;
    background-color: var(--color-bg-dark);
    border-bottom: var(--border-width-sm) solid var(--border-color-light);
    color: #f8fafc;
  }
  .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: 4px 8px;
    border: none;
    background: transparent;
    color: #ffffff;
    font-size: 16px;
    cursor: pointer;
    outline: none;
    box-shadow: none;
    transition: color 0.2s ease, transform 0.2s ease;
  }
  .global-search-autocomplete-header .button:hover,
  .global-search-desktop-action .button:hover {
    background: transparent;
    color: var(--font-color-dark);
  }
  .global-search-content .search-results-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 16px;
    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 !important;
  }
  .nomobile {
    display: none !important;
  }
  .content {
    grid-template-columns: 10px minmax(0, 1fr) 10px;
  }
  .header {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    align-items: center;
    padding: 10px;
  }
  .header .logo-wrapper {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    align-items: center;
    gap: 30px;
  }
  .header .partner-wrapper {
    grid-column: span 2 !important;
    grid-row: 2 !important;
    display: flex !important;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 8px;
    width: 100%;
    font-family: var(--font-heading);
    color: gainsboro;
  }
  .header .partner-wrapper .partner-info {
    font-size: 13px;
  }
  .header .partner-wrapper .platinum-partner img {
    height: 30px;
  }
  .side-area {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100vw !important;
    height: 100vh !important;
    z-index: var(--z-index-drawer, 1000);
    transform: translateY(100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    overflow-y: auto;
    box-sizing: border-box;
  }
  .side-area.is-open {
    transform: translateY(0);
  }
  .side-area .content {
    padding: 0 15px 30px 15px !important;
  }
  .side-area .content .hardware-tree,
  .side-area .content .hardwareTree,
  .side-area .content .hw-tree {
    height: calc(100vh - 70px);
    overflow-y: auto;
  }
  .hw-tree-summary-content,
  .hw-tree-link {
    padding: 10px 12px;
    font-size: 15px;
  }
  .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, 10);
    padding: 5px;
    background: var(--color-bg-alt);
    color: var(--font-color-dark);
    border-bottom: 2px solid #005bb7;
    margin: 0 -15px 20px -15px;
    text-transform: uppercase;
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: var(--font-weight-bold);
  }
  .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 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    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 .modal-header,
  .modal-dialog--fullscreen-mobile .modal-header {
    flex-shrink: 0;
    background: var(--color-bg-main);
    border-bottom: var(--border-width-sm) solid var(--border-color-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 .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 .modal-footer,
  .modal-dialog--fullscreen-mobile .modal-footer {
    flex-shrink: 0;
    background: var(--color-bg-main);
    border-top: var(--border-width-sm) solid var(--border-color-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 .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 .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, 1000);
    overflow-y: auto;
    overflow-x: hidden;
    box-shadow: none;
    transform: translateX(-100%);
    will-change: transform;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .nav--open .nav__drawer {
    transform: translateX(0);
  }
  .nav__drawer-header {
    display: flex;
  }
  .nav__list {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 8px 0 30px 0;
  }
  .nav__link-row {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  }
  .nav__link,
  .nav__link:link,
  .nav__link:visited {
    flex: 1;
    padding: 14px 20px;
    font-size: 0.95rem;
    color: var(--font-color-light);
  }
  .nav__link-row:is(:hover, :focus-within),
  .nav__link:is(:hover, :focus-visible) {
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
  }
  .nav__sub-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: transparent;
    border: none;
    color: #38bdf8;
    font-size: 0.85rem;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
  }
  .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: 4px 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: 11px 20px 11px 36px;
    font-size: 0.9rem;
    color: var(--font-color-light);
  }
  .nav__sub-link:is(:hover, :focus-visible, :active) {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
  }
  .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: var(--space-md);
    background: var(--color-bg-light);
    border-bottom: var(--border-width-md) solid var(--border-color-light);
  }
  .tab-menu::-webkit-scrollbar {
    display: none;
  }
  .hero-banner {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }
  .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--action,
  .flex-row--info {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin: 10px 0;
  }
  .flex-row--action::-webkit-scrollbar,
  .flex-row--info::-webkit-scrollbar {
    display: none;
  }
  .flex-row--action > *,
  .flex-row--info > * {
    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: #ffffff;
    border: 1px solid #c0c0c0;
    border-radius: 6px;
    margin-bottom: 12px;
    padding: 12px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  }
  .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: 8px 0;
    border-bottom: 1px dashed #e5e5e5;
    white-space: normal;
    font-size: 13px;
  }
  .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(--font-color-dark);
    text-transform: uppercase;
    font-size: 11px;
    padding-right: 12px;
  }
  .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(--font-color-dark);
  }
  .reporting-overview .content .sticky-table tbody tr td.col-hardware {
    order: 4;
    border-top: none;
    padding-top: 2px;
    color: #556b73;
  }
  .result-status-comment .content .event-container,
  .reporting-overview .content .sticky-table .event-container {
    max-height: 200px;
    margin-top: 8px;
    padding: 8px 10px;
    border-left: 3px solid var(--font-color-dark);
  }
  .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: 2px;
    padding-bottom: 6px;
    border-bottom: 1px 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 !important;
    border: none !important;
    box-shadow: none !important;
    padding: 6px 10px;
    color: gainsboro;
    font-size: 1.2rem;
    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;
  }
  .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, 1050);
    background: #030617;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .global-search-autocomplete {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: #030617;
  }
  .global-search-autocomplete-header {
    position: sticky;
    top: 0;
    z-index: var(--z-index-sticky-header, 10);
    padding: 10px 12px;
    background: #030617;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }
  .global-search-mobile-action {
    display: flex;
    align-items: center;
    gap: 10px;
    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: #94a3b8;
    font-size: 1.2rem;
    cursor: pointer;
  }
  .global-search-mobile-action .button:active {
    color: #38bdf8;
  }
  .global-search-mobile-action .global-search-spinner {
    color: #38bdf8;
    font-size: 1.1rem;
    margin-right: 4px;
  }
  .global-search-mobile-action input.input {
    flex: 1;
    min-height: 44px;
    padding: 0 14px;
    border: 1px solid #1e293b;
    border-radius: 8px;
    background: #0b1329;
    color: #f8fafc;
    font-size: 1rem;
    outline: none;
  }
  .global-search-mobile-action input.input:focus {
    border-color: #38bdf8;
  }
  .global-search-content {
    flex: 1;
    padding: 12px 12px 32px;
  }
  .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-widget {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.vote-pill {
  display: inline-flex;
  align-items: center;
  background-color: var(--color-bg-light);
  border: var(--border-width-sm) solid var(--border-color-dark);
  border-radius: 16px;
  padding: 2px 4px;
  font-size: var(--font-size-md);
  line-height: 1;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  transition: border-color 0.15s ease;
}
.vote-pill:hover {
  border-color: var(--color-highlight);
}
.vote-pill__btn {
  background: none;
  border: none;
  padding: 3px 6px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--font-color-dark);
  font-family: inherit;
  font-size: inherit;
  text-decoration: none;
  transition: color 0.15s ease;
}
.vote-pill__btn:hover {
  color: var(--color-highlight);
}
.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(--border-color-light);
  margin: 0 1px;
}
.vote-pill__count {
  font-weight: var(--font-weight-bold);
}
.vote-pill__caret {
  font-size: 10px;
  opacity: 0.7;
}
.vote-dropdown-menu {
  position: fixed;
  min-width: 180px;
  max-width: 240px;
  max-height: 220px;
  overflow-y: auto;
  background-color: var(--color-bg-light);
  border: var(--border-width-sm) solid var(--border-color-dark);
  border-radius: var(--border-radius);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
  z-index: var(--z-index-dropdown, 500);
  text-align: left;
}
.vote-popover-header {
  padding: 8px 12px;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
  border-bottom: var(--border-width-sm) solid var(--border-color-light);
  display: flex;
  align-items: center;
  gap: 6px;
}
.vote-popover-list {
  list-style: none;
  margin: 0;
  padding: 4px 0;
}
.vote-popover-item {
  padding: 0;
}
.vote-user-link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  color: var(--font-color-dark);
  text-decoration: none;
  font-size: var(--font-size-md);
  transition: background-color 0.15s ease, color 0.15s ease;
}
.vote-user-link:hover {
  background-color: var(--color-bg-hover-light);
  color: var(--color-highlight);
}
.vote-user-avatar {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.vote-popover-empty,
.vote-loading,
.vote-popover-error {
  padding: 12px;
  font-size: var(--font-size-md);
  color: #888;
  text-align: center;
}
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vZnJvbnRlbmQvY3NzL3N0eWxlLmNzcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiOnJvb3Qge1xuICAgIC8qIEJvZHkgY29sb3JzICovXG4gICAgLS1jb2xvci1iZy1ncmFkaWVudC1zdGFydDogIzUwOTFERDtcbiAgICAtLWNvbG9yLWJnLWdyYWRpZW50LWVuZDogIzAzMDYxNztcblxuICAgIC8qIEJHIENvbG9ycyAqL1xuICAgIC0tY29sb3ItYmctbWFpbjogI0Y0RjdGODtcbiAgICAtLWNvbG9yLWJnLWRhcms6ICMzNjQ1NEY7XG4gICAgLS1jb2xvci1iZy1saWdodDogI0ZGRkZGRjtcbiAgICAtLWNvbG9yLWJnLWhvdmVyLWRhcms6ICMzNjQ1NEY7XG4gICAgLS1jb2xvci1iZy1ob3Zlci1saWdodDogI0Y3RjhGOTtcblxuICAgIC0tY29sb3ItaGlnaGxpZ2h0OiAjNjBhNWZhO1xuXG4gICAgLyogTGlua3MgKi9cbiAgICAtLWNvbG9yLWxpbms6ICMxZDRlZDg7XG4gICAgLS1jb2xvci1saW5rLWhvdmVyOiAjMWU0MGFmO1xuICAgIC0tY29sb3ItbGluay11bmRlcmxpbmU6IHJnYmEoMjksIDc4LCAyMTYsIDAuMzUpO1xuXG4gICAgLyogUmFua2luZ3MgKi9cbiAgICAtLWNvbG9yLXBvcy1maXJzdDogI0ZGRDcwMDtcbiAgICAtLWNvbG9yLXBvcy1zZWNvbmQ6ICNDMEMwQzA7XG4gICAgLS1jb2xvci1wb3MtdGhpcmQ6ICNDRDdGMzI7XG4gICAgLS1jb2xvci1wb3MtZm91ci1maXZlOiAjQUFCRkM5O1xuXG4gICAgLS1jb2xvci1lcnJvcjogI0QzMkYyRjtcbiAgICAtLWNvbG9yLWVycm9yLWJnOiByZ2JhKDIyMCwgMzgsIDM4LCAwLjA1KTtcblxuICAgIC8qIEJvcmRlciAqL1xuICAgIC0tYm9yZGVyLWNvbG9yLWxpZ2h0OiAjRTVFNUU1O1xuICAgIC0tYm9yZGVyLWNvbG9yLWRhcms6ICMzNjQ1NEY7XG4gICAgLS1ib3JkZXItd2lkdGgtc206IDFweDtcbiAgICAtLWJvcmRlci13aWR0aC1tZDogMnB4O1xuICAgIC0tYm9yZGVyLXdpZHRoLXhsOiAzcHg7XG4gICAgLS1ib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgICAvKiBTcGFjaW5nICovXG4gICAgLS1zcGFjZS14czogIDRweDtcbiAgICAtLXNwYWNlLXNtOiAgOHB4O1xuICAgIC0tc3BhY2UtbWQ6IDEycHg7XG4gICAgLS1zcGFjZS1sZzogMTZweDtcbiAgICAtLXNwYWNlLXhsOiAyNHB4O1xuXG4gICAgLyogRm9udCAqL1xuICAgIC0tZm9udC1oZWFkaW5nOiBcIlBpbGxHb3RoaWMzMDBtZ0JvbGRcIiwgXCJMdWNpZGEgR3JhbmRlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgLS1mb250LWJhc2U6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIC0tZm9udC1zaXplLXNtOiAxMHB4O1xuICAgIC0tZm9udC1zaXplLW1kOiAxMnB4O1xuICAgIC0tZm9udC1zaXplLWxnOiAxNHB4O1xuICAgIC0tZm9udC13ZWlnaHQtYm9sZDogNjAwO1xuICAgIC0tZm9udC1jb2xvci1kYXJrOiAjMzY0NTRGO1xuICAgIC0tZm9udC1jb2xvci1saWdodDogI0Y0RjdGODtcblxuICAgIC8qIFotSW5kZXggU2NhbGUgKi9cbiAgICAtLXotaW5kZXgtdGFibGUtc3RpY2t5OiAyOyAgICAgICAgICAvKiB0Ym9keSBzdGlja3kgY29sdW1ucyAqL1xuICAgIC0tei1pbmRleC10YWJsZS1zdGlja3ktaGVhZDogMzsgICAgIC8qIHRoZWFkIHN0aWNreSBjb2x1bW5zICovXG4gICAgLS16LWluZGV4LXN0aWNreS1oZWFkZXI6IDEwOyAgICAgICAgLyogSW4tcGFnZSBzdGlja3kgaGVhZGVycyAqL1xuICAgIC0tei1pbmRleC1sb2FkaW5nLW92ZXJsYXk6IDIwOyAgICAgIC8qIEluLXBhZ2UvY29tcG9uZW50IGxvYWRlcnMgKi9cbiAgICAtLXotaW5kZXgtZHJvcGRvd246IDUwMDsgICAgICAgICAgICAvKiBNZW51cyBhbmQgZmx5b3V0cyAqL1xuICAgIC0tei1pbmRleC1iYWNrZHJvcDogOTkwOyAgICAgICAgICAgIC8qIERpbW1lciBvdmVybGF5cyAqL1xuICAgIC0tei1pbmRleC1kcmF3ZXI6IDEwMDA7ICAgICAgICAgICAgIC8qIE9mZi1jYW52YXMgbmF2aWdhdGlvbiAmIHNpZGViYXJzICovXG4gICAgLS16LWluZGV4LW1vZGFsOiAxMDUwOyAgICAgICAgICAgICAgLyogU2VhcmNoIG1vZGFsICYgZGlhbG9ncyAqL1xufVxuXG5odG1sIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1iYXNlKTtcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBib3R0b20sIHZhcigtLWNvbG9yLWJnLWdyYWRpZW50LXN0YXJ0KSAwJSwgdmFyKC0tY29sb3ItYmctZ3JhZGllbnQtZW5kKSAxMDAlKSBuby1yZXBlYXQgZml4ZWQ7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItZGFyayk7XG59XG5cbmJvZHkge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxucCB7XG4gICAgbWFyZ2luOiA1cHggMDtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1IHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1kYXJrKTtcbiAgICBtYXJnaW46IDIwcHggMCAxMHB4IDA7XG59XG5cbmgxIGEsIGgyIGEsIGgzIGEsIGg0IGEsIGg1IGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlO1xufVxuXG5oMSBhOmhvdmVyLCBoMiBhOmhvdmVyLCBoMyBhOmhvdmVyLCBoNCBhOmhvdmVyLCBoNSBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAzcHg7XG59XG5cbi5mb290ZXIgaDEsIC5mb290ZXIgaDIsIC5mb290ZXIgaDMsIC5mb290ZXIgaDQsXG4uZm9vdGVyIGg1IHtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1saWdodCk7XG59XG5cbmEsIGE6bGluaywgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1jb2xvci1saW5rLXVuZGVybGluZSk7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAzcHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZSwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yIDAuMTVzIGVhc2U7XG59XG5cbmE6aG92ZXIsIGE6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1ob3Zlcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG5cbmE6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWxpbmspO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4uaGVhZGVyIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmhlYWRlciAucGF0cmVvbiB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xufVxuXG4uaGVhZGVyIC5wYXRyZW9uIGEsXG4uaGVhZGVyIC5wYXRyZW9uIGE6bGluayxcbi5oZWFkZXIgLnBhdHJlb24gYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2U7XG59XG5cbi5oZWFkZXIgLnBhdHJlb24gYTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlLCA6YWN0aXZlKSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xufVxuXG4uZm9udC1ib2xkIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5mb250LW11dGVkIHtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1kYXJrKTtcbn1cblxuLmZvbnQtY29sb3ItbGlnaHQge1xuICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLWxpZ2h0KTtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm5vLWxpc3QtbWFya2VycyB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPXN1Ym1pdF0sXG5pbnB1dFt0eXBlPWZpbGVdLFxuc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1saWdodCk7XG59XG5cbnRleHRhcmVhLFxuaW5wdXRbdHlwZT1wYXNzd29yZF0sXG5pbnB1dFt0eXBlPXRleHRdLFxuaW5wdXRbdHlwZT1lbWFpbF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWxpZ2h0KTtcbn1cblxudGV4dGFyZWEsXG5pbnB1dFt0eXBlPXN1Ym1pdF0sXG5pbnB1dFt0eXBlPWZpbGVdLFxuaW5wdXRbdHlwZT1wYXNzd29yZF0sXG5pbnB1dFt0eXBlPXRleHRdLFxuaW5wdXRbdHlwZT1lbWFpbF0sXG5zZWxlY3Qge1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3ItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLWRhcmspO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xufVxuXG5pbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKiBUYWJsZSAqL1xudGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbGlnaHQpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3ItbGlnaHQpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbnRhYmxlIHRoZWFkIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmctbGlnaHQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG50YWJsZSB0aGVhZCB0ciB0aCxcbnRhYmxlIHRoZWFkIHRyIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3ItbGlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxudGFibGUgdGhlYWQgYSxcbnRhYmxlIHRoZWFkIGE6bGluayxcbnRhYmxlIHRoZWFkIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItbGlnaHQpO1xufVxuXG50YWJsZSB0aGVhZCBhOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUsIDphY3RpdmUpIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxudGFibGUgdGJvZHkgdHIgdGgsXG50YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLWRhcmspO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG50YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG50YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXItbGlnaHQpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcbn1cblxuLyogVGFibGUgYW5kIFN0cnVjdHVyZWQgRGF0YSBMaW5rcyAoZGVmaW5pdGlvbiBsaXN0cywgc3BlYyBncmlkcywgcmFua2luZyB3aWRnZXRzLCBzdWJtaXNzaW9uIGNhcmRzLCBzaWRlIGFyZWEpOlxuICAga2VlcCBjbGVhbiBkYXJrIHRleHQgYXQgcmVzdCB0byBhdm9pZCBvdmVyd2hlbG1pbmcgZGVuc2UgZGF0YS9zcGVjcywgdW5kZXJsaW5lIG9uIGhvdmVyICovXG46aXMoXG4gICAgdGFibGUgdGJvZHksXG4gICAgZGwsXG4gICAgLmdyaWQtc3BlYyxcbiAgICAuZ3JpZC1ib3gtY2FyZC0taGlnaGxpZ2h0LXN1Ym1pc3Npb24sXG4gICAgLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCxcbiAgICAuc2lkZS1hcmVhLFxuICAgIC5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkLFxuICAgIC5zaWRlLWFyZWEtcmFua2luZy1ncmlkLFxuICAgIC50YWJsZS1hdmF0YXItd3JhcHBlclxuKSBhIHtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1kYXJrKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZTtcbn1cblxuOmlzKFxuICAgIHRhYmxlIHRib2R5LFxuICAgIGRsLFxuICAgIC5ncmlkLXNwZWMsXG4gICAgLmdyaWQtYm94LWNhcmQtLWhpZ2hsaWdodC1zdWJtaXNzaW9uLFxuICAgIC5zdWJtaXNzaW9uLXNjb3JlLWNhcmQsXG4gICAgLnNpZGUtYXJlYSxcbiAgICAuc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCxcbiAgICAuc2lkZS1hcmVhLXJhbmtpbmctZ3JpZCxcbiAgICAudGFibGUtYXZhdGFyLXdyYXBwZXJcbikgYTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlLCA6YWN0aXZlKSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMnB4O1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4uc3RpY2t5LXRhYmxlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvci14OiBjb250YWluO1xufVxuXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLnN0aWNreS10YWJsZSB0YWJsZSB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCxcbi5zdGlja3ktdGFibGUgdGFibGUgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cykgLSB2YXIoLS1ib3JkZXItd2lkdGgtc20pKTtcbn1cblxuLnN0aWNreS10YWJsZSB0YWJsZSB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLFxuLnN0aWNreS10YWJsZSB0YWJsZSB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzKSAtIHZhcigtLWJvcmRlci13aWR0aC1zbSkpO1xufVxuXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cykgLSB2YXIoLS1ib3JkZXItd2lkdGgtc20pKTtcbn1cblxuLnN0aWNreS10YWJsZSB0YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cykgLSB2YXIoLS1ib3JkZXItd2lkdGgtc20pKTtcbn1cblxuLnN0aWNreS10YWJsZS0tY29tcGFyZSB0YWJsZSB0aGVhZCBoMyAge1xuICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLWxpZ2h0KTtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLnN0aWNreS10YWJsZS0tY29tcGFyZSB0YWJsZSB0ZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctbGlnaHQpO1xufVxuXG4uc3RpY2t5LXRhYmxlLS1oYXJkd2FyZS1yZXN1bHRzICB0YWJsZSB0Ym9keSB0ciB0ZDpudGgtY2hpbGQoZXZlbiksXG4uc3RpY2t5LXRhYmxlLS1jb21wYXJlIHRhYmxlIHRib2R5IHRyIHRkOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXItbGlnaHQpO1xufVxuXG4uc3RpY2t5LXRhYmxlLS1jb21wYXJlIHRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItcmlnaHQ6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yLWxpZ2h0KTtcbn1cblxuLnN0aWNreS10YWJsZSB0YWJsZSB0aGVhZCB0aC5zdGlja3ktY29sLFxuLnN0aWNreS10YWJsZSB0YWJsZSB0aGVhZCB0ZC5zdGlja3ktY29sLFxuLnN0aWNreS10YWJsZS0tY29tcGFyZSB0YWJsZSB0aGVhZCB0aC5zdGlja3ktY29sIHtcbiAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtdGFibGUtc3RpY2t5LWhlYWQsIDMpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm94LXNoYWRvdzogMnB4IDAgNXB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG5cbi5zdGlja3ktdGFibGUgdGFibGUgdGJvZHkgdGguc3RpY2t5LWNvbCxcbi5zdGlja3ktdGFibGUgdGFibGUgdGJvZHkgdGQuc3RpY2t5LWNvbCxcbi5zdGlja3ktdGFibGUtLWNvbXBhcmUgdGFibGUgdGJvZHkgdGguc3RpY2t5LWNvbCB7XG4gICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LXRhYmxlLXN0aWNreSwgMik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctbGlnaHQpO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm94LXNoYWRvdzogMnB4IDAgNXB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG5cbmJvZHkud2FpdGluZyxcbmJvZHkud2FpdGluZyAqIHtcbiAgICBjdXJzb3I6IHdhaXQgIWltcG9ydGFudDtcbn1cblxuLnRhYmxlLW5hdmlnYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4udGFibGUtbmF2aWdhdGlvbiAucGFnaW5hdGlvbiB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50YWJsZS1uYXZpZ2F0aW9uIC5wYWdpbmF0aW9uIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4udGFibGUtbmF2aWdhdGlvbiAucGFnaW5hdGlvbiAuYnV0dG9uIHtcbiAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UteHMpO1xuICAgIGZvbnQtc2l6ZTogMC44MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yLWRhcmspO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWxpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1kYXJrKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSwgY29sb3IgMC4xNXMgZWFzZTtcbn1cblxuLnRhYmxlLW5hdmlnYXRpb24gLnBhZ2luYXRpb24gLmJ1dHRvbi5idXR0b24tLXByaW1hcnksXG4udGFibGUtbmF2aWdhdGlvbiAucGFnaW5hdGlvbiAuYnV0dG9uLmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mb250LWNvbG9yLWRhcmspO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9udC1jb2xvci1kYXJrKTtcbn1cblxuLnRhYmxlLW5hdmlnYXRpb24gLnBhZ2luYXRpb24gLmJ1dHRvbjpub3QoLmJ1dHRvbi0tcHJpbWFyeSk6bm90KC5mb2N1cyk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyLWxpZ2h0LCAjZjNmNGY2KTtcbn1cblxuLnRhYmxlLWF2YXRhci13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi50YWJsZS1hdmF0YXItd3JhcHBlciBpbWcge1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi50YWJsZS1hdmF0YXItd3JhcHBlciAucGFydGljaXBhbnQge1xuICAgIHdpZHRoOiAxMzBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGFibGUtZmlyc3QtcG9zIHtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG59XG5cbi50YWJsZS1zZWNvbmQtcG9zIHtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvci1saWdodCk7XG59XG5cbi50YWJsZS10aGlyZC1wb3Mge1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbn1cblxuLnRhYmxlLXBvcyB7XG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCBsaWdodGdyZXk7XG59XG5cbi5pbmZvLXRleHQtc21hbGwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbn1cblxuLnNjcm9sbGFibGUtdGFibGUtd3JhcHBlciB7XG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3ItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWxpZ2h0KTtcbn1cblxuLnNjcm9sbGFibGUtdGFibGUtd3JhcHBlciB0YWJsZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uc2Nyb2xsYWJsZS10YWJsZS13cmFwcGVyIHRhYmxlIHRoZWFkIHRyIHRoLFxuLnNjcm9sbGFibGUtdGFibGUtd3JhcHBlciB0YWJsZSB0aGVhZCB0ciB0ZCB7XG4gICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xufVxuXG4vKiBHbG9iYWwgc2VhcmNoICovXG5ib2R5LnNlYXJjaC1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWJhY2tkcm9wIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldDogMDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMsIDYsIDIzLCAwLjc1KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LWJhY2tkcm9wLCA5OTApO1xufVxuXG4uZ2xvYmFsLXNlYXJjaCxcbi5nbG9iYWwtc2VhcmNoLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtYXV0b2NvbXBsZXRlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDMwNjE3O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCA4cHggOHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAyNXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5nbG9iYWwtc2VhcmNoLWF1dG9jb21wbGV0ZS1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgYmFja2dyb3VuZDogIzAzMDYxNztcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgICBjb2xvcjogIzk0YTNiODtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1oZWFkZXItdG9vbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbn1cblxuLmdsb2JhbC1zZWFyY2gtc3Bpbm5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogIzM4YmRmODtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDhweCAxMnB4IDI0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctZGFyayk7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLmNhdGVnb3J5LWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGNvbG9yOiAjY2JkNWUxO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5jYXRlZ29yeS1oZWFkZXIgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLmNhdGVnb3J5LWJhZGdlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBwYWRkaW5nOiAycHggN3B4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDAuN3JlbTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuc2VhcmNoLWl0ZW0tbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogNHB4IDAgMDtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuc2VhcmNoLWl0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5zZWFyY2gtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5pdGVtLWxpbmssXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5pdGVtLWxpbms6bGluayxcbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLml0ZW0tbGluazp2aXNpdGVkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1pbi1oZWlnaHQ6IDI1cHg7XG4gICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgIGNvbG9yOiAjZjhmYWZjICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLCBjb2xvciAwLjE1cyBlYXNlLCB0cmFuc2Zvcm0gMC4xNXMgZWFzZTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuaXRlbS1saW5rOmhvdmVyLFxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuaXRlbS1saW5rOmZvY3VzLFxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuaXRlbS1saW5rOmFjdGl2ZSxcbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLml0ZW0tbGluay5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5pdGVtLWFycm93IHtcbiAgICBjb2xvcjogIzY0NzQ4YjtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZSwgdHJhbnNmb3JtIDAuMTVzIGVhc2U7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLml0ZW0tbGluazppcyg6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSwgLmlzLWFjdGl2ZSkgLml0ZW0tYXJyb3cge1xuICAgIGNvbG9yOiAjMzhiZGY4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5zZWFyY2gtZW1wdHktc3RhdGUsXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5zZWFyY2gtcHJvbXB0LXN0YXRlIHtcbiAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjOTRhM2I4O1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5lbXB0eS1pY29uLFxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAucHJvbXB0LWljb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgY29sb3I6ICM2NDc0OGI7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLnByb21wdC1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuZW1wdHktdGl0bGUsXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5wcm9tcHQtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICBjb2xvcjogI2YxZjVmOTtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLmVtcHR5LXN1YnRpdGxlLFxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAucHJvbXB0LXN1YnRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4vKiBOYXZpZ2F0aW9uICovXG4ubmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuXG4ubmF2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbn1cblxuLm5hdl9fbW9iaWxlLWJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogNnB4IDE2cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLm5hdl9fbW9iaWxlLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi8qIE1vYmlsZSBCYXIgQWNjb3VudCBEcm9wZG93biAqL1xuLm5hdl9fZHJvcGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm5hdl9fYWNjb3VudC1idG4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZzogMCAxMnB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItbGlnaHQpO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2UsIGJvcmRlci1jb2xvciAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLm5hdl9fYWNjb3VudC1idG46aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSksXG4ubmF2X19kcm9wZG93bi0tb3BlbiAubmF2X19hY2NvdW50LWJ0biB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLm5hdl9fYWNjb3VudC1idG46Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWZvbnQtY29sb3ItZGFyaywgIzAwNmVlMCk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLm5hdl9fY2FyZXQge1xuICAgIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgICBjb2xvcjogIzM4YmRmODtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBjb2xvciAwLjJzIGVhc2U7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLS1vcGVuIC5uYXZfX2NhcmV0IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIGNvbG9yOiAjMzhiZGY4O1xufVxuXG4ubmF2X19kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDEwMCUgKyA4cHgpO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgcGFkZGluZzogNnB4IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbGlnaHQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3ItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjE4KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtZHJvcGRvd24sIDUwMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCB0cmFuc2Zvcm0gMC4ycyBlYXNlLCB2aXNpYmlsaXR5IDAuMnMgZWFzZTtcbn1cblxuLm5hdl9fZHJvcGRvd24tLW9wZW4gLm5hdl9fZHJvcGRvd24tbWVudSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLm5hdl9fZHJvcGRvd24taGVhZGVyIHtcbiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3ItbGlnaHQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyLWxpZ2h0KTtcbn1cblxuLm5hdl9fZHJvcGRvd24tdXNlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1kYXJrKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLWl0ZW0sXG4ubmF2X19kcm9wZG93bi1pdGVtOnZpc2l0ZWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogMTBweCAxNnB4O1xuICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLWRhcmspO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2UsIGNvbG9yIDAuMTVzIGVhc2U7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLWl0ZW06aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSwgOmFjdGl2ZSkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyLWxpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1kYXJrKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLWl0ZW0gaSB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2U7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLWl0ZW06aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkgaSB7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItZGFyayk7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLWRpdmlkZXIge1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJvcmRlci1jb2xvci1saWdodCk7XG4gICAgbWFyZ2luOiA0cHggMDtcbn1cblxuLm5hdl9fZHJvcGRvd24taXRlbS0tbG9nb3V0LFxuLm5hdl9fZHJvcGRvd24taXRlbS0tbG9nb3V0OnZpc2l0ZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvciwgI0QzMkYyRik7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLWl0ZW0tLWxvZ291dCBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IsICNEMzJGMkYpO1xufVxuXG4ubmF2X19kcm9wZG93bi1pdGVtLS1sb2dvdXQ6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSwgOmFjdGl2ZSkge1xuICAgIGJhY2tncm91bmQ6ICNmZWYyZjI7XG4gICAgY29sb3I6ICNiOTFjMWM7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLWl0ZW0tLWxvZ291dDppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSBpIHtcbiAgICBjb2xvcjogI2I5MWMxYztcbn1cblxuLm5hdl9fYnVyZ2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItbGlnaHQpO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlO1xufVxuXG4ubmF2X19idXJnZXI6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLm5hdl9fb3ZlcmxheSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgaW5zZXQ6IDA7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzLCA2LCAyMywgMC43KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnB4KTtcbiAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LWJhY2tkcm9wLCA5OTApO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLCB2aXNpYmlsaXR5IDAuM3MgZWFzZTtcbn1cblxuLm5hdl9fZHJhd2VyIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm5hdl9fZHJhd2VyLWhlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiAxNnB4IDIwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cblxuLm5hdl9fZHJhd2VyLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4ubmF2X19jbG9zZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLWxpZ2h0KTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLm5hdl9fY2xvc2U6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLm5hdl9fbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLm5hdl9faXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubmF2X19saW5rLFxuLm5hdl9fbGluazpsaW5rLFxuLm5hdl9fbGluazp2aXNpdGVkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLWxpZ2h0KTtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlO1xufVxuXG4ubmF2X19saW5rOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUsIDphY3RpdmUpIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlci1kYXJrKTtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1saWdodCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubmF2X19saW5rLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm5hdl9fc3ViLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLm5hdl9fc3ViIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ubmF2X19zdWItbGluayxcbi5uYXZfX3N1Yi1saW5rOmxpbmssXG4ubmF2X19zdWItbGluazp2aXNpdGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4IDE4cHg7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItZGFyayk7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZSwgY29sb3IgMC4xNXMgZWFzZTtcbn1cblxuLm5hdl9fc3ViLWxpbms6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSwgOmFjdGl2ZSkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyLWRhcmspO1xuICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLWxpZ2h0KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIFN1Ym1pdCBTY29yZSBMaW5rICovXG4ubmF2X19pdGVtLS1jdGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm5hdl9fbGluay0tY3RhIHtcbiAgICBnYXA6IDZweDtcbn1cblxuLm5hdl9fbGluay0tY3RhIGkge1xuICAgIGNvbG9yOiAjMzhiZGY4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLm5hdl9fbGluay0tY3RhOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4ubWFpbi1hcmVhIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbGcpIDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA5MDBweDtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1sZykgMDtcbiAgICBhbGlnbi1jb250ZW50OiBzdGFydDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoIGVsbGlwc2UgNjUlIDU1JSBhdCA1MCUgNTUlLCByZ2JhKDE5MCwgMjI1LCAyNTUsIDAuNykgMCUsIHJnYmEoMjE1LCAyMzUsIDI1NSwgMC4zNSkgNDUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDc1JSApO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5zaWRlLWFyZWEge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLWxnKSAwO1xufVxuXG4uc2lkZS1hcmVhLS10cmVlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1saWdodCk7XG59XG5cbi5mb290ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyLWRhcmspO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1saWdodCk7XG59XG5cbi5mb290ZXIgYSxcbi5mb290ZXIgYTpsaW5rLFxuLmZvb3RlciBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLWxpZ2h0KTtcbn1cblxuLmZvb3RlciBhOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUsIDphY3RpdmUpIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLyogQ29udGVudCB3cmFwcGVyICovXG4uY29udGVudCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIwcHggbWlubWF4KDAsIDFmcikgMjBweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgcm93LWdhcDogMTBweDtcbn1cblxuLmNvbnRlbnQgPiAqIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbn1cblxuLmNvbnRlbnQgPiAuZmxleC1yb3ctLXdvcmxkLXJlY29yZHMge1xuICAgIGdyaWQtY29sdW1uOiAxLy0xO1xufVxuXG4uc3ViLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi8qIGhlcm8gYmFubmVyICovXG4uaGVyby1iYW5uZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbGcpIHZhcigtLXNwYWNlLW1kKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uaGVyby1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5oZXJvLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItbGlnaHQpO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmhlcm8tc3VidGl0bGUge1xuICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLWxpZ2h0KTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIEhhcmR3YXJlIGhlcm8gc2N0aW9uICovXG4uaGFyZHdhcmUtaGVyby1zZWN0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi5oYXJkd2FyZS1oZXJvLWltYWdlLWNhcmQge1xuICBmbGV4OiAxIDEgMzAwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAxNnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmhhcmR3YXJlLWJlbmNobWFyay1pbWFnZS13cmFwcGVyIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4uaGFyZHdhcmUtaGVyby1zdGF0cy1ncmlkIHtcbiAgZmxleDogMiAxIDMyMHB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIyMHB4LCAxZnIpKTtcbiAgZ2FwOiAxMnB4O1xufVxuXG4uaGFyZHdhcmUtaGVyby1zdGF0LWNhcmQge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5oYXJkd2FyZS1oZXJvLXN0YXQtY2FyZCBoMyB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMwZjE3MmE7XG4gIG1hcmdpbjogMCAwIDRweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oYXJkd2FyZS1zdWItbGFiZWwge1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgY29sb3I6ICM2NDc0OGI7XG4gIG1hcmdpbjogMCAwIDhweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oYXJkd2FyZS1zdGF0LWxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICM2NDc0OGI7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaGFyZHdhcmUtZmFtaWx5LWxpbmsge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmhhcmR3YXJlLWZhbWlseS1saW5rOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi5oYXJkd2FyZS10YWItbWVudSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaGFyZHdhcmUtdGFiLW1lbnUgLmJ1dHRvbiB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xufVxuXG4uaW1hZ2UtbW9kYWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcGFkZGluZzogNTBweCAwIDAgMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDAsIDApO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTtcbn1cblxuLmltYWdlLW1vZGFsLWNvbnRlbnQge1xuICAgIG1hcmdpbjogYXV0byBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogODAlO1xuICAgIG1heC1oZWlnaHQ6IDkwJTtcbn1cblxuLyogaW1hZ2UgKi9cbi5pbWFnZS13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5iZW5jaG1hcmstaW1hZ2Utd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xufVxuXG4uYmVuY2htYXJrLWltYWdlLXdyYXBwZXIgaW1nIHtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xufVxuXG4vKiBDb21wbyBzdGFnZSBpbmZvIGNhcmQgKi9cbi5saXN0IGxpLnN0YWdlLWluZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmxpc3QgbGkuc3RhZ2UtaW5mbzpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ubGlzdCBsaS5zdGFnZS1pbmZvOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmYWZiO1xufVxuXG4uc3RhZ2UtaW5mby10aXRsZSxcbi5zdGFnZS1pbmZvLXJhbmssXG4uc3RhZ2UtaW5mby1zY29yZSxcbi5zdGFnZS1pbmZvLXRhcmdldCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5zdGFnZS1pbmZvIC50ZXh0LW11dGVkIHtcbiAgICBjb2xvcjogIzljYTNhZjtcbn1cblxuLnN0YWdlLWluZm8gLnN0YWdlLWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLWRhcmspO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnN0YWdlLWluZm8gLnN0YWdlLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLnN0YWdlLWluZm8gLnNjb3JlLXZhbHVlLFxuLnN0YWdlLWluZm8gLnNjb3JlLWxpbmsge1xuICAgIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1kYXJrKTtcbn1cblxuLnN0YWdlLWluZm8gLnNjb3JlLWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zdGFnZS1pbmZvIC5zY29yZS1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1ob3Zlcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi5zdGFnZS1pbmZvIC5mYS10cm9waHkge1xuICAgIGNvbG9yOiAjZjU5ZTBiO1xuICAgIG1hcmdpbi1yaWdodDogNHB4O1xufVxuXG4uc3RhZ2UtaW5mbyAudGFyZ2V0LWljb24ge1xuICAgIGNvbG9yOiAjZWY0NDQ0O1xuICAgIG1hcmdpbi1yaWdodDogNHB4O1xufVxuXG4vKiBHcmlkIGJveGVzICovXG4uZ3JpZC1ib3gge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5ncmlkLWJveC0tc3VibWl0LWhhcmR3YXJlIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbn1cblxuLmdyaWQtYm94LS1zdWJtaXQtaGFyZHdhcmUgPiBkaXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmdyaWQtYm94LS1zdWJtaXQtaGFyZHdhcmUgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgIG1heC1oZWlnaHQ6IDEyMHB4O1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3ItbGlnaHQpO1xufVxuXG4uZ3JpZC1ib3gtLWhhcmR3YXJlLXJlc3VsdCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxNDBweCAxMjBweCAyMDBweCBhdXRvO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5ncmlkLWJveC0td2FsbCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgMWZyKTtcbiAgICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3ItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGdhcDogMDtcbn1cblxuLmdyaWQtYm94LS1hY2hpZXZlbWVudC1pbmZvIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbn1cblxuLmdyaWQtYm94LS1hY2hpZXZlbWVudCxcbi5ncmlkLWJveC0tcGFydG5lciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxODBweCwgMWZyKSk7XG59XG5cbi5ncmlkLWJveC0taGlnaGxpZ2h0LXN1Ym1pc3Npb24sXG4uZ3JpZC1ib3gtLXN1Ym1pc3Npb24taGFyZHdhcmUge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpO1xufVxuXG4uZ3JpZC1ib3gtLWNvbXBvLFxuLmdyaWQtYm94LS1wcm9maWxlLFxuLmdyaWQtYm94LS1zdWJtaXNzaW9uLXJhbmtpbmcge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjUwcHgsIDFmcikpO1xufVxuXG4uZ3JpZC1ib3gtLWJlbmNobWFya3MsXG4uZ3JpZC1ib3gtLWhhcmR3YXJlLW92ZXJ2aWV3LFxuLmdyaWQtYm94LS1sZWFndWUtaW5mbyxcbi5ncmlkLWJveC0tbmV3cyxcbi5ncmlkLWJveC0tc2VhcmNoIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDMwMHB4LCAxZnIpKTtcbn1cblxuLmdyaWQtYm94LS1wcm9maWxlLWFjY291bnQtc2V0dGluZ3Mge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgobWluKDI4MHB4LCAxMDAlKSwgNTAwcHgpKTtcbn1cblxuLmdyaWQtYm94LWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWxpZ2h0KTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yLWxpZ2h0KTtcbn1cblxuLmdyaWQtYm94LWNhcmQtLXN1Ym1pdC1oYXJkd2FyZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tY29tcG8tcG9pbnRzLWluZm8ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1zaWRlYmFyLXJhbmtpbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tbmV3cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBib3gtc2hhZG93IDAuMnMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1uZXdzIC5mbGV4LXJvdy0tbmV3cy1mb290ZXIgYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1uZXdzLFxuLmdyaWQtYm94LWNhcmQtLWFjaGlldmVtZW50IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWJlbmNobWFyay1zdGF0cyxcbi5ncmlkLWJveC1jYXJkLS1wYXJ0bmVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1uZXdzOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlci1saWdodCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0td2FsbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4IDIwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWJlbmNobWFya3Mge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tYmVuY2htYXJrcyxcbi5ncmlkLWJveC1jYXJkLS1jb21wbyxcbi5ncmlkLWJveC1jYXJkLS1oYXJkd2FyZS1vdmVydmlldyxcbi5ncmlkLWJveC1jYXJkLS1oaWdobGlnaHQtc3VibWlzc2lvbixcbi5ncmlkLWJveC1jYXJkLS1sZWFndWUtaW5mbyxcbi5ncmlkLWJveC1jYXJkLS1sb2dpbixcbi5ncmlkLWJveC1jYXJkLS1wcm9maWxlLFxuLmdyaWQtYm94LWNhcmQtLXJlZ2lzdGVyLFxuLmdyaWQtYm94LWNhcmQtLXJlc2V0LXBhc3N3b3JkLFxuLmdyaWQtYm94LWNhcmQtLXNlYXJjaCxcbi5ncmlkLWJveC1jYXJkLS1zdWJtaXNzaW9uLWhhcmR3YXJlLFxuLmdyaWQtYm94LWNhcmQtLXRvcC1maWx0ZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5ncmlkLWJveC1jYXJkLS1oaWdobGlnaHQtc3VibWlzc2lvbiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbGlnaHQpO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi8qIFNwZWMgKi9cbi5ncmlkLXNwZWMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5ncmlkLXNwZWMtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3ItbGlnaHQpO1xufVxuXG4uZ3JpZC1zcGVjLXJvdy0tc3RhY2tlZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDVweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yLWxpZ2h0KTtcbn1cblxuLmdyaWQtc3BlYy1yb3c6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmdyaWQtc3BlYy1yb3cgLmF0dHJpYnV0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLWRhcmspO1xufVxuXG4uZ3JpZC1zcGVjLXJvdyAuYXR0cmlidXRlLW5vd3JhcCxcbi5ncmlkLXNwZWMtcm93IC5hdHRyaWJ1dGUtLW5vd3JhcCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmdyaWQtc3BlYy1yb3cgLnZhbHVlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1kYXJrKTtcbn1cblxuLmdyaWQtc3BlYy1yb3ctLXN0YWNrZWQgLnZhbHVlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogRXh0cmEgZm9udCBzZXR0aW5ncyAqL1xuLmZvbnQtYm9sZC0tcGFydG5lciB7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItZGFyaywgIzBmMTcyYSk7XG59XG5cbi8qIE1vZGFsIG92ZXJsYXkgKi9cbi5tb2RhbC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtbW9kYWwsIDEwNTApO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZCk7XG59XG5cbi5tb2RhbC1kaWFsb2cge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgbWF4LWhlaWdodDogODV2aDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLm1vZGFsLWRpYWxvZy0tcmVzdWx0LWhpc3Rvcnkge1xuICAgIG1heC13aWR0aDogNjAwcHg7XG59XG5cbi5tb2RhbC1kaWFsb2ctLXJlc3VsdC1tb2RlcmF0aW9uIHtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xufVxuXG4ubW9kYWwtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3ItbGlnaHQpO1xufVxuXG4ubW9kYWwtYm9keSB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgZmxleC1ncm93OiAxO1xufVxuXG4ubW9kYWwtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLyogTGlzdCAqL1xudWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5saXN0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4ubGlzdCBsaSB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3ItbGlnaHQpO1xufVxuXG4ubGlzdCBsaTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ubGlzdC0tc2Nyb2xsYWJsZSB7XG4gICAgbWF4LWhlaWdodDogMTYwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG59XG5cbi8qIFByb2ZpbGUgYmFubmVyICovXG4ucHJvZmlsZS1iYW5uZXItd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ucHJvZmlsZS1iYW5uZXItd3JhcHBlci5oYXMtYmFubmVyIC5wcm9maWxlLWJhbm5lciBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGFzcGVjdC1yYXRpbzogNiAvIDE7XG4gICAgbWluLWhlaWdodDogMTIwcHg7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4ucHJvZmlsZS1iYW5uZXItd3JhcHBlci5oYXMtYmFubmVyIC5hdmF0YXItd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTJweDtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIHotaW5kZXg6IDI7XG59XG5cbi5wcm9maWxlLWJhbm5lci13cmFwcGVyLmhhcy1iYW5uZXIgLmF2YXRhciB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnByb2ZpbGUtYmFubmVyLXdyYXBwZXIubm8tYmFubmVyIC5hdmF0YXItd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbn1cblxuLnByb2ZpbGUtYmFubmVyLXdyYXBwZXIubm8tYmFubmVyIC5hdmF0YXIge1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBoZWlnaHQ6IDEyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNpZGUtYXJlYSAuY29udGVudC5leGVjdXRvciB1bCxcbi50ZXJtcy1hbmQtY29uZGl0aW9ucyAuY29udGVudCB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLnNpZGUtYXJlYSAuY29udGVudC5leGVjdXRvciB1bCBsaSB7XG4gICAgcGFkZGluZzogNXB4IDA7XG59XG5cbi8qIFN0YXJ0IGZpbHRlciBzZXR0aW5ncyAqL1xuLmZpbHRlciB7fVxuXG4uZmlsdGVyIC5saXN0LFxuLmZpbHRlciB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmZpbHRlciAubGlzdCBsaSxcbi5maWx0ZXIgdWwgbGkge1xuICAgIHBhZGRpbmc6IDVweCAwIDVweCAwO1xufVxuXG4uZmlsdGVyIC5maWx0ZXIta2V5IHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uZmlsdGVyIC5yYW5raW5nLWZpbHRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGdhcDogNnB4O1xuICAgIHBhZGRpbmc6IDRweCAwIDhweCAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cblxuLyogQWN0aXZlIEZpbHRlciBDaGlwcyAqL1xuLmZpbHRlci1jaGlwcy1iYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvci1saWdodCk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uZmlsdGVyLWNoaXBzLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA2cHg7XG59XG5cbi5maWx0ZXItY2hpcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBwYWRkaW5nOiAycHggOHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3ItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW1haW4pO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5maWx0ZXItY2hpcC1sYWJlbCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmZpbHRlci1jaGlwLXJlbW92ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbn1cblxuLmZpbHRlci1jaGlwLXJlbW92ZTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1lcnJvci1iZyk7XG59XG5cbi5maWx0ZXItY2hpcC1jbGVhci1hbGwge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogIzY0NzQ4YjtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDJweCA2cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLmZpbHRlci1jaGlwLWNsZWFyLWFsbDpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbn1cblxuLyogUHJvZ3Jlc3MgKi9cbi5wcm9ncmVzc2JhciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICBtYXJnaW46IDVweCBhdXRvO1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDVweDtcbn1cblxuLnByb2dyZXNzYmFyID4gZGl2IHtcbiAgICBiYWNrZ3JvdW5kOiBncmVlbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5jb21tZW50LWNvbnRhaW5lciAuY29tbWVudC13cmFwcGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG59XG5cbi8qIFN1Ym1pc3Npb24gc3VnZ2VzdGlvbnMgKi9cbi5zdWJtaXNzaW9uLXN1Z2dlc3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDEycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjdmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYmFlNmZkO1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzAyODRjNztcbiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4uc3VibWlzc2lvbi1zdWdnZXN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6ICMwMzY5YTE7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uYnV0dG9uLmJ0bi1wYXJ0aWNpcGF0ZSAuY29udGVzdC1uYW1lIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5idXR0b24uYnRuLXBhcnRpY2lwYXRlIC5zdGFnZS1uYW1lIHtcbiAgICBvcGFjaXR5OiAwLjk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4vKiBTdWJtaXNzaW9uIHNjb3JlICovXG4uc3VibWlzc2lvbi1zY29yZS1jYXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTBweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgMTBweCAwIDEwcHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5zdWJtaXNzaW9uLXNjb3JlLWNhcmQgLmF2YXRhci13cmFwcGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCAuYXZhdGFyLXdyYXBwZXIgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uc3VibWlzc2lvbi1zY29yZS1jYXJkIC5hdmF0YXIge1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBoZWlnaHQ6IDEyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCAuc2NvcmUtZGV0YWlscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDEwcHg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCAuc2NvcmUtZGV0YWlscy1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxMHB4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCAudXNlci1pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi5zdWJtaXNzaW9uLXNjb3JlLWNhcmQgLnNjb3JlLWxhYmVsLFxuLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCAuY29ubmVjdG9yLXRleHQge1xuICAgIGNvbG9yOiBncmF5O1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uc3VibWlzc2lvbi1zY29yZS1jYXJkIC50ZW1wLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWY1Zjk7XG4gICAgcGFkZGluZzogMnB4IDZweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgY29sb3I6ICM0NzU1Njk7XG59XG5cbi8qIFN1Ym1pc3Npb24gc3ViIHNjb3JlICovXG4uc3VibWlzc2lvbi1zdWItc2NvcmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogNnB4IDEycHg7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGZhZmM7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnN1Ym1pc3Npb24tc3ViLXNjb3JlIC5zdWItc2NvcmUtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDRweDtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG59XG5cbi5zdWJtaXNzaW9uLXN1Yi1zY29yZSAuc3ViLXNjb3JlLW5hbWUge1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLnN1Ym1pc3Npb24tc3ViLXNjb3JlIC5zdWItc2NvcmUtbmFtZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiOlwiO1xufVxuXG4uc3VibWlzc2lvbi1zdWItc2NvcmUgLnN1Yi1zY29yZS12YWwge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLyogRm9ybSAqL1xuLmZvcm0tcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDEwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmZvcm0tcm93LmZvcm0tYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmZvcm0tcm93LmZvcm0tbW9kYWwtYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uZm9ybS1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmZvcm0tZ3JvdXAtLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmZvcm0tZ3JvdXAtLXJvdyA+IGxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tZ3JvdXAtLXJvdyA+IGlucHV0IHtcbiAgICBmbGV4OiAxO1xufVxuXG4uZm9ybS1ncm91cC1jaGVja2JveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLmZvcm0tZ3JvdXAgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1kYXJrKTtcbn1cblxuLmZvcm0tZ3JvdXAtY2hlY2tib3ggbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1kYXJrKTtcbn1cblxuLmZvcm0tZ3JvdXAtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGFjY2VudC1jb2xvcjogdmFyKC0tZm9udC1jb2xvci1kYXJrKTtcbn1cblxuLmZvcm0tZ3JvdXAtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmZpZWxkLWVycm9yIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItZXJyb3IsICNkYzI2MjYpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvciwgI2RjMjYyNik7XG59XG5cbi5mb3JtLWdyb3VwLWNoZWNrYm94OmhhcyguZmllbGQtZXJyb3IpIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cywgMC41cmVtKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1lcnJvciwgI2RjMjYyNik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgMC4zNzVyZW0pO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWVycm9yLWJnLCByZ2JhKDIyMCwgMzgsIDM4LCAwLjAzKSk7XG59XG5cbi5mb3JtLWdyb3VwLWNoZWNrYm94IC5iaW5kaW5nLWVycm9yIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IsICNkYzI2MjYpO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5mb3JtLWdyb3VwLmhhcy1lcnJvciBsYWJlbCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbn1cblxuLmZvcm0tZ3JvdXAuaGFzLWVycm9yIGlucHV0IHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci1iZyk7XG59XG5cbi5mb3JtLWZpbHRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuI3JhbmtpbmdfZmlsdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbiNyYW5raW5nX2ZpbHRlciAuZm9ybS1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmZvcm0taW5wdXQtc2VhcmNoLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0taW5wdXQtc2VhcmNoLXdyYXBwZXIgLnNlYXJjaC1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMTJweDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgY29sb3I6ICM5NGEzYjg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5mb3JtLWlucHV0LXNlYXJjaC13cmFwcGVyIGlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDM2cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmZvcm0taW5wdXQtd2l0aC11bml0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uZm9ybS1pbnB1dC13aXRoLXVuaXQgLmZvcm0taW5wdXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmbGV4OiAxO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5mb3JtLWlucHV0LmZpZWxkLWVycm9yIHtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgIHNvbGlkIHZhcigtLWNvbG9yLWVycm9yKTtcbn1cblxuLmZvcm0taW5wdXQtd2l0aC11bml0OmhhcyguZmllbGQtZXJyb3IpIHtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuXG4uZm9ybS1pbnB1dC13aXRoLXVuaXQgLmZvcm0taW5wdXQuZmllbGQtZXJyb3Ige1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmZvcm0taW5wdXQtd2l0aC11bml0IC5maWVsZC1lcnJvciB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5mb3JtLXVuaXQtc3VmZml4IHtcbiAgICBjb2xvcjogIzZjNzU3ZDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uZm9ybS1pbnB1dC13aXRoLXVuaXQuZmllbGQtZXJyb3Ige1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi5iaW5kaW5nLWVycm9yIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbn1cblxuLmJhbm5lci1pbWFnZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLyogQ29tcG8gdHJlZSAqL1xuLmZsZXgtY29sdW1uLS1jb21wby10cmVlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcbn1cblxuLmZsZXgtY29sdW1uLWl0ZW0tLWNvbXBvLXRyZWUtcm9vdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzI1NjNlYjtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xufVxuXG4uY29tcG8tdHJlZS1jaGlsZHJlbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMjhweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4O1xufVxuXG4uY29tcG8tdHJlZS1jaGlsZHJlbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAxMnB4O1xuICAgIHRvcDogLTEycHg7XG4gICAgYm90dG9tOiAyNHB4O1xuICAgIHdpZHRoOiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NiZDVlMTtcbn1cblxuLmZsZXgtY29sdW1uLWl0ZW0tLWNvbXBvLXRyZWUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbn1cblxuLmZsZXgtY29sdW1uLWl0ZW0tLWNvbXBvLXRyZWU6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTE2cHg7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NiZDVlMTtcbn1cblxuLmZsZXgtY29sdW1uLWl0ZW0tLWNvbXBvLXRyZWUuYWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6ICMzYjgyZjY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZjZmZjtcbn1cblxuLmZsZXgtY29sdW1uLWl0ZW0tLWNvbXBvLXRyZWUuYWN0aXZlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYjgyZjY7XG59XG5cbi5ncmlkLXNwZWMtcm93LS1zdGFja2VkIC5hdHRyaWJ1dGUge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBjb2xvcjogIzZiNzI4MDtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG59XG5cbi5ncmlkLXNwZWMtcm93LS1zdGFja2VkIC52YWx1ZSBhIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLyogQ29tcG8gbGVhZGVyIHNpZGViYXIgLSBMaWdodCBUZWNobmljYWwgKi9cbi5sZWFkZXItZ3JpZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubGVhZGVyLWdyaWQgaDIge1xuICAgIG1hcmdpbjogMCAwIDEycHggMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgY29sb3I6ICM2NDc0OGI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjFmNWY5O1xuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG59XG5cbi5sZWFkZXItZ3JpZCAudGV4dC1nb2xkIHtcbiAgICBjb2xvcjogI2Y1OWUwYjtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA0cHggcmdiYSgyNDUsIDE1OCwgMTEsIDAuMykpO1xufVxuXG4ubGVhZGVyLWluZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAxMnB4O1xufVxuXG4ubGVhZGVyLXVzZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4ubGVhZGVyLWF2YXRhciB7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIHdpZHRoOiA0NHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZjU5ZTBiO1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggcmdiYSgyNDUsIDE1OCwgMTEsIDAuMik7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5sZWFkZXItbmFtZSB7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5sZWFkZXItcG9pbnRzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDNweCA4cHg7XG4gICAgYmFja2dyb3VuZDogIzBmMTcyYTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMWUyOTNiO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjb2xvcjogI2ZiYmYyNDtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vLCB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgbW9ub3NwYWNlKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDZweCByZ2JhKDI1MSwgMTkxLCAzNiwgMC4zKTtcbn1cblxuLmxlYWRlci1lbXB0eS1zdGF0ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgI2NiZDVlMTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmxlYWRlci1lbXB0eS1zdGF0ZSAuZW1wdHktaWNvbiB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjMDI4NGM3O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ubGVhZGVyLWVtcHR5LXN0YXRlIC5lbXB0eS1kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAycHg7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4ubGVhZGVyLWVtcHR5LXN0YXRlIC5lbXB0eS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzFlMjkzYjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5sZWFkZXItZW1wdHktc3RhdGUgLmVtcHR5LXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgY29sb3I6ICM2NDc0OGI7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubywgdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIG1vbm9zcGFjZSk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4vKiBGbGV4IHJvd3MgKi9cbi5mbGV4LXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZsZXgtcm93LS1hY2hpZXZlbWVudC1hY3Rpb24ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uZmxleC1yb3ctLWFkZGl0aW9uYWwtaW1hZ2VzIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5mbGV4LXJvdy0td29ybGQtcmVjb3JkcyB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWFsdCk7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmZsZXgtcm93LS1iZW5jaG1hcmstbGlua3Mge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4uZmxleC1yb3ctLXRhYmxlLWNvbXBhcmUtaGVhZGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi5mbGV4LXJvdy0tbmV3cy1oZWFkZXIge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uZmxleC1yb3ctLW5ld3MtZm9vdGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLmZsZXgtcm93LS13YWxsIHtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgMDtcbn1cblxuLmZsZXgtcm93LS1hY3Rpb24sXG4uZmxleC1yb3ctLWluZm8ge1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbGlnaHQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3ItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1kYXJrKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuOmlzKC5mbGV4LXJvdy0tYWN0aW9uLCAuZmxleC1yb3ctLWluZm8pIGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLWNvbG9yLWxpbmstdW5kZXJsaW5lKTtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDNweDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLCB0ZXh0LWRlY29yYXRpb24tY29sb3IgMC4xNXMgZWFzZTtcbn1cblxuOmlzKC5mbGV4LXJvdy0tYWN0aW9uLCAuZmxleC1yb3ctLWluZm8pIGE6aXMoOmhvdmVyLCA6YWN0aXZlKSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4uZmxleC1yb3ctZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmZsZXgtcm93LWdyb3VwLS1tZXRhIHtcbiAgY29sb3I6ICM2YjcyODA7XG4gIGZvbnQtc2l6ZTogMC44MjVyZW07XG59XG5cbi5mbGV4LXJvdy1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uZmxleC1yb3ctaXRlbS0td29ybGQtcmVjb3JkIHtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0bWluLXdpZHRoOiA0MDBweDtcblx0cGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbGlnaHQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3ItbGlnaHQpO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmZsZXgtcm93LWl0ZW0gaSB7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbn1cblxuLyogQmFkZ2UgKi9cbi5zdGF0dXMtYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogMnB4IDhweCAycHggNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbn1cblxuLnN0YXR1cy1iYWRnZSBpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc3RhdHVzLWJhZGdlIGk6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgRnJlZVwiLCBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICBmb250LXdlaWdodDogOTAwO1xufVxuXG4uc3RhdHVzLXZhbHVlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG4uc3RhdHVzLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTI5M2I7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoNTIsIDIxMSwgMTUzLCAwLjUpO1xuICAgIGNvbG9yOiAjMzRkMzk5O1xufVxuLnN0YXR1cy1zdWNjZXNzIGkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTIsIDIxMSwgMTUzLCAwLjIpO1xufVxuLnN0YXR1cy1zdWNjZXNzIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwMGNcIjsgLyogZmEtY2hlY2sgKi9cbn1cblxuLnN0YXR1cy13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUyOTNiO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCByZ2JhKDI0NSwgMTU4LCAxMSwgMC41KTtcbiAgICBjb2xvcjogI2ZiYmYyNDtcbn1cbi5zdGF0dXMtd2FybmluZyBpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NSwgMTU4LCAxMSwgMC4yKTtcbn1cbi5zdGF0dXMtd2FybmluZyBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDcxXCI7IC8qIGZhLXRyaWFuZ2xlLWV4Y2xhbWF0aW9uICovXG59XG5cbi5zdGF0dXMtdW5rbm93biB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMjkzYjtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjQpO1xuICAgIGNvbG9yOiAjOTRhM2I4O1xufVxuLnN0YXR1cy11bmtub3duIGkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4yKTtcbn1cbi5zdGF0dXMtdW5rbm93biBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDVhXCI7IC8qIGZhLWNpcmNsZS1pbmZvICovXG59XG5cbi5zdGF0dXMtcHJvY2Vzc2luZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMjkzYjtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgcmdiYSg5NiwgMTY1LCAyNTAsIDAuNSk7XG4gICAgY29sb3I6ICM2MGE1ZmE7XG59XG4uc3RhdHVzLXByb2Nlc3NpbmcgaSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5NiwgMTY1LCAyNTAsIDAuMik7XG59XG4uc3RhdHVzLXByb2Nlc3NpbmcgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjFjZVwiOyAvKiBmYS1jaXJjbGUtbm90Y2ggKi9cbn1cblxuLnN0YXR1cy1vcGVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUyOTNiO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCByZ2JhKDUyLCAyMTEsIDE1MywgMC41KTtcbiAgICBjb2xvcjogIzM0ZDM5OTtcbn1cbi5zdGF0dXMtb3BlbiBpIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MiwgMjExLCAxNTMsIDAuMik7IC8qIFRpbnRlZCBjaXJjbGUgKi8gfVxuLnN0YXR1cy1vcGVuIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2MxXCI7IC8qIGZhLWxvY2stb3BlbiAqLyB9XG5cbi5zdGF0dXMtY2xvc2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUyOTNiO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCByZ2JhKDIzOSwgNjgsIDY4LCAwLjUpO1xuICAgIGNvbG9yOiAjZjg3MTcxO1xufVxuLnN0YXR1cy1jbG9zZWQgaSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMik7IC8qIFRpbnRlZCBjaXJjbGUgKi8gfVxuLnN0YXR1cy1jbG9zZWQgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMjNcIjsgLyogZmEtbG9jayAqLyB9XG5cbi5zdGF0dXMtb2ZmaWNpYWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTI5M2I7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC41KTtcbiAgICBjb2xvcjogI2UyZThmMDtcbn1cbi5zdGF0dXMtb2ZmaWNpYWwgaSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4yKTsgLyogVGludGVkIGNpcmNsZSAqLyB9XG4uc3RhdHVzLW9mZmljaWFsIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDBjXCI7IC8qIGZhLWNoZWNrICovIH1cblxuLnN0YXR1cy1vbmxpbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTI5M2I7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjUpO1xuICAgIGNvbG9yOiAjMzhiZGY4O1xufVxuLnN0YXR1cy1vbmxpbmUgaSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjIpOyAvKiBUaW50ZWQgY2lyY2xlICovIH1cbi5zdGF0dXMtb25saW5lIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGFjXCI7IC8qIGZhLWdsb2JlICovIH1cblxuLnN0YXR1cy1saXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUyOTNiO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCByZ2JhKDIzOSwgNjgsIDY4LCAwLjUpO1xuICAgIGNvbG9yOiAjZjg3MTcxO1xufVxuLnN0YXR1cy1saXZlIGkgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjIpOyAvKiBUaW50ZWQgY2lyY2xlICovIH1cbi5zdGF0dXMtbGl2ZSBpOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAwMVwiOyAvKiBmYS10b3dlci1icm9hZGNhc3QgKG9yIFxcZjgyOCBmYS11c2Vycy1saW5lKSAqLyB9XG5cbi5zdGF0dXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUyOTNiO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCByZ2JhKDUyLCAyMTEsIDE1MywgMC41KTtcbiAgICBjb2xvcjogIzM0ZDM5OTtcbn1cbi5zdGF0dXMtYWN0aXZlIGkgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDUyLCAyMTEsIDE1MywgMC4yKTsgfVxuLnN0YXR1cy1hY3RpdmUgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMGNcIjsgLyogZmEtY2hlY2sgKFVuaXZlcnNhbCBGQSA1LzYgRnJlZSkgKi8gfVxuXG4uc3RhdHVzLWluYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUyOTNiO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCByZ2JhKDE0OCwgMTYzLCAxODQsIDAuNCk7XG4gICAgY29sb3I6ICM5NGEzYjg7XG59XG4uc3RhdHVzLWluYWN0aXZlIGkgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMik7IH1cbi5zdGF0dXMtaW5hY3RpdmUgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNWVcIjsgLyogZmEtYmFuIChVbml2ZXJzYWwgRkEgNS82IEZyZWUpICovIH1cblxuLyogQ29vbGluZyBCYWRnZXMgLSBEYXJrIFRlY2ggKi9cbi5jb29saW5nLWFpci1zdG9jayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMjkzYjtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjQpO1xuICAgIGNvbG9yOiAjOTRhM2I4O1xufVxuLmNvb2xpbmctYWlyLXN0b2NrIGkgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMik7IH1cbi5jb29saW5nLWFpci1zdG9jayBpOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjcyZVwiOyB9IC8qIGZhLWZhbiAqL1xuXG4uY29vbGluZy1haXItY3VzdG9tIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUyOTNiO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCByZ2JhKDUyLCAyMTEsIDE1MywgMC40KTtcbiAgICBjb2xvcjogIzM0ZDM5OTtcbn1cbi5jb29saW5nLWFpci1jdXN0b20gaSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTIsIDIxMSwgMTUzLCAwLjIpOyB9XG4uY29vbGluZy1haXItY3VzdG9tIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNzJlXCI7IH0gLyogZmEtZmFuICovXG5cbi5jb29saW5nLXdhdGVyLWN1c3RvbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMjkzYjtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgcmdiYSg5NiwgMTY1LCAyNTAsIDAuNCk7XG4gICAgY29sb3I6ICM2MGE1ZmE7XG59XG4uY29vbGluZy13YXRlci1jdXN0b20gaSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTYsIDE2NSwgMjUwLCAwLjIpOyB9XG4uY29vbGluZy13YXRlci1jdXN0b20gaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNDNcIjsgfSAvKiBmYS1kcm9wbGV0ICovXG5cbi5jb29saW5nLWFpby13YXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMjkzYjtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgcmdiYSgzNCwgMjExLCAyMzgsIDAuNCk7XG4gICAgY29sb3I6ICMyMmQzZWU7XG59XG4uY29vbGluZy1haW8td2F0ZXIgaSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDIxMSwgMjM4LCAwLjIpOyB9XG4uY29vbGluZy1haW8td2F0ZXIgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNDNcIjsgfSAvKiBmYS1kcm9wbGV0ICovXG5cbi5jb29saW5nLXdhdGVyLWNoaWxsZWQtY29sZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMjkzYjtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgcmdiYSg1NiwgMTg5LCAyNDgsIDAuNCk7XG4gICAgY29sb3I6ICMzOGJkZjg7XG59XG4uY29vbGluZy13YXRlci1jaGlsbGVkLWNvbGQgaSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjIpOyB9XG4uY29vbGluZy13YXRlci1jaGlsbGVkLWNvbGQgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZGNcIjsgfSAvKiBmYS1zbm93Zmxha2UgKi9cblxuLmNvb2xpbmctZHJ5LWljZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMjkzYjtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgcmdiYSgyMzIsIDEyMSwgMjQ5LCAwLjQpO1xuICAgIGNvbG9yOiAjZTg3OWY5O1xufVxuLmNvb2xpbmctZHJ5LWljZSBpIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzIsIDEyMSwgMjQ5LCAwLjIpOyB9XG4uY29vbGluZy1kcnktaWNlIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWIyXCI7IH0gLyogZmEtY3ViZSAqL1xuXG4uY29vbGluZy1zaW5nbGUtc3RhZ2UtcGhhc2UtY2hhbmdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUyOTNiO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCByZ2JhKDQ1LCAyMTIsIDE5MSwgMC40KTtcbiAgICBjb2xvcjogIzJkZDRiZjtcbn1cbi5jb29saW5nLXNpbmdsZS1zdGFnZS1waGFzZS1jaGFuZ2UgaSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDUsIDIxMiwgMTkxLCAwLjIpOyB9XG4uY29vbGluZy1zaW5nbGUtc3RhZ2UtcGhhc2UtY2hhbmdlIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmRjXCI7IH0gLyogZmEtc25vd2ZsYWtlICovXG5cbi5jb29saW5nLWNhc2NhZGUtcGhhc2UtY2hhbmdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUyOTNiO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCByZ2JhKDEyOSwgMTQwLCAyNDgsIDAuNCk7XG4gICAgY29sb3I6ICM4MThjZjg7XG59XG4uY29vbGluZy1jYXNjYWRlLXBoYXNlLWNoYW5nZSBpIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjksIDE0MCwgMjQ4LCAwLjIpOyB9XG4uY29vbGluZy1jYXNjYWRlLXBoYXNlLWNoYW5nZSBpOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJkY1wiOyB9IC8qIGZhLXNub3dmbGFrZSAqL1xuXG4uY29vbGluZy1saXF1aWQtbml0cm9nZW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTI5M2I7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoMTkyLCAxMzIsIDI1MiwgMC41KTtcbiAgICBjb2xvcjogI2MwODRmYztcbn1cbi5jb29saW5nLWxpcXVpZC1uaXRyb2dlbiBpIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxOTIsIDEzMiwgMjUyLCAwLjIpOyB9XG4uY29vbGluZy1saXF1aWQtbml0cm9nZW4gaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYwYzNcIjsgfSAvKiBmYS1mbGFzayAqL1xuXG4uY29vbGluZy1saXF1aWQtaGVsaXVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUyOTNiO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCByZ2JhKDI1MSwgMTEzLCAxMzMsIDAuNSk7XG4gICAgY29sb3I6ICNmYjcxODU7XG59XG4uY29vbGluZy1saXF1aWQtaGVsaXVtIGkgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1MSwgMTEzLCAxMzMsIDAuMik7IH1cbi5jb29saW5nLWxpcXVpZC1oZWxpdW0gaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGY3YTZcIjsgfSAvKiBmYS1hdG9tICovXG5cbi8qIExlYWd1ZSBCYWRnZXMgLSBEYXJrIFRlY2ggKi9cbi5sZWFndWUtZWxpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTI5M2I7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoMjQ1LCAxNTgsIDExLCAwLjUpO1xuICAgIGNvbG9yOiAjZmJiZjI0O1xufVxuLmxlYWd1ZS1lbGl0ZSBpIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDUsIDE1OCwgMTEsIDAuMik7IH1cbi5sZWFndWUtZWxpdGUgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGY1MjFcIjsgfSAvKiBmYS1jcm93biAqL1xuXG4ubGVhZ3VlLWV4dHJlbWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTI5M2I7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoMjM5LCA2OCwgNjgsIDAuNSk7XG4gICAgY29sb3I6ICNmODcxNzE7XG59XG4ubGVhZ3VlLWV4dHJlbWUgaSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMik7IH1cbi5sZWFndWUtZXh0cmVtZSBpOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA2ZFwiOyB9IC8qIGZhLWZpcmUgKFVuaXZlcnNhbCBpbiBGQSA1ICYgNiBGcmVlKSAqL1xuXG4ubGVhZ3VlLWFwcHJlbnRpY2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTI5M2I7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoMTY4LCA4NSwgMjQ3LCAwLjUpO1xuICAgIGNvbG9yOiAjYzA4NGZjO1xufVxuLmxlYWd1ZS1hcHByZW50aWNlIGkgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE2OCwgODUsIDI0NywgMC4yKTsgfVxuLmxlYWd1ZS1hcHByZW50aWNlIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGQwXCI7IH0gLyogZmEtbWFnaWMgKFVuaXZlcnNhbCBpbiBGQSA1ICYgNiBGcmVlKSAqL1xuXG4ubGVhZ3VlLWVudGh1c2lhc3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTI5M2I7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoNTksIDEzMCwgMjQ2LCAwLjUpO1xuICAgIGNvbG9yOiAjNjBhNWZhO1xufVxuLmxlYWd1ZS1lbnRodXNpYXN0IGkgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKTsgfVxuLmxlYWd1ZS1lbnRodXNpYXN0IGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGU3XCI7IH0gLyogZmEtYm9sdCAqL1xuXG4ubGVhZ3VlLW5vdmljZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMjkzYjtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgcmdiYSgxNiwgMTg1LCAxMjksIDAuNSk7XG4gICAgY29sb3I6ICMzNGQzOTk7XG59XG4ubGVhZ3VlLW5vdmljZSBpIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNiwgMTg1LCAxMjksIDAuMik7IH1cbi5sZWFndWUtbm92aWNlIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNGQ4XCI7IH0gLyogZmEtc2VlZGxpbmcgKi9cblxuLmxlYWd1ZS1yb29raWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTI5M2I7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC41KTtcbiAgICBjb2xvcjogI2NiZDVlMTtcbn1cbi5sZWFndWUtcm9va2llIGkgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMik7IH1cbi5sZWFndWUtcm9va2llIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTlkXCI7IH0gLyogZmEtZ3JhZHVhdGlvbi1jYXAgKi9cblxuLyogUmVmZXJlbmNlIEJhZGdlcyAtIERhcmsgVGVjaCAqL1xuLnJlZi1yZXZpZXcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTI5M2I7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjQpO1xuICAgIGNvbG9yOiAjMzhiZGY4O1xufVxuLnJlZi1yZXZpZXcgaSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjIpOyB9XG4ucmVmLXJldmlldyBpOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlNVwiOyB9IC8qIGZhLWJpbm9jdWxhcnMgKi9cblxuLnJlZi1uZXdzLFxuLnJlZi1wcmVzcyxcbi5yZWYtcm91bmR1cCxcbi5yZWYtc3RhdGljLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTI5M2I7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC40KTtcbiAgICBjb2xvcjogI2NiZDVlMTtcbn1cbi5yZWYtbmV3cyBpLFxuLnJlZi1wcmVzcyBpLFxuLnJlZi1yb3VuZHVwIGksXG4ucmVmLXN0YXRpYy1jb250ZW50IGkgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMik7IH1cbi5yZWYtbmV3cyBpOjpiZWZvcmUsXG4ucmVmLXByZXNzIGk6OmJlZm9yZSxcbi5yZWYtcm91bmR1cCBpOjpiZWZvcmUsXG4ucmVmLXN0YXRpYy1jb250ZW50IGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWVhXCI7IH0gLyogZmEtbmV3c3BhcGVyICovXG5cbi5yZWYtZGlzY3Vzc2lvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMjkzYjtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgcmdiYSgxMjksIDE0MCwgMjQ4LCAwLjQpO1xuICAgIGNvbG9yOiAjODE4Y2Y4O1xufVxuLnJlZi1kaXNjdXNzaW9uIGkgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyOSwgMTQwLCAyNDgsIDAuMik7IH1cbi5yZWYtZGlzY3Vzc2lvbiBpOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA4NlwiOyB9IC8qIGZhLWNvbW1lbnRzICovXG5cbi5yZWYtcnVsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlMjkzYjtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgcmdiYSgyNDUsIDE1OCwgMTEsIDAuNCk7XG4gICAgY29sb3I6ICNmYmJmMjQ7XG59XG4ucmVmLXJ1bGUgaSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ1LCAxNTgsIDExLCAwLjIpOyB9XG4ucmVmLXJ1bGUgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNmFcIjsgfSAvKiBmYS1jaXJjbGUtZXhjbGFtYXRpb24gKi9cblxuLnJlZi1lc3BvcnRzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUyOTNiO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCByZ2JhKDIzOSwgNjgsIDY4LCAwLjQpO1xuICAgIGNvbG9yOiAjZjg3MTcxO1xufVxuLnJlZi1lc3BvcnRzIGkgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjIpOyB9XG4ucmVmLWVzcG9ydHMgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZGJcIjsgfSAvKiBmYS1taWNyb2NoaXAgKi9cblxuLnNjcmVlbnNob3QtYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTBweDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNjcmVlbnNob3QtYm94IGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNjcmVlbnNob3QtYm94IGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uc2NyZWVuc2hvdC1ib3gtLWhpZ2hsaWdodC1zdWJtaXNzaW9uIGltZyB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbn1cblxuLnNjcmVlbnNob3QtYm94LS1zdWJtaXNzaW9uIGltZyB7XG4gICAgaGVpZ2h0OiAyNTBweDtcbn1cblxuLnNjcmVlbnNob3QtYm94LS1uZXdzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAyMDBweFxufVxuXG4uc2NyZWVuc2hvdC1ib3gtLW5ld3MgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xufVxuXG4vKiBFZGl0b3IgdGV4dCBhZGRlZCBieSBtb2RlcmF0b3JzICovXG4ucmljaC10ZXh0LWNvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICMzMzQxNTU7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCBoMSxcbi5yaWNoLXRleHQtY29udGVudCBoMixcbi5yaWNoLXRleHQtY29udGVudCBoMyxcbi5yaWNoLXRleHQtY29udGVudCBoNCB7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCBzdHJvbmcsXG4ucmljaC10ZXh0LWNvbnRlbnQgYiB7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgdWwsXG4ucmljaC10ZXh0LWNvbnRlbnQgb2wge1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjM1cmVtO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgYSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tY29sb3ItbGluay11bmRlcmxpbmUpO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UsIHRleHQtZGVjb3JhdGlvbi1jb2xvciAwLjE1cyBlYXNlO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgY29kZSxcbi5yaWNoLXRleHQtY29udGVudCBwcmUge1xuICAgIGJhY2tncm91bmQ6ICNmMWY1Zjk7XG4gICAgcGFkZGluZzogMC4ycmVtIDAuNHJlbTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgdGFibGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IHRoLFxuLnJpY2gtdGV4dC1jb250ZW50IHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3ItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXItbGlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1kYXJrKTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IHRyOmhvdmVyIHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlci1saWdodCk7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCBpZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLyogU3VibWlzc2lvbiBjb21tZW50cyAqL1xuLmNvbW1lbnRzLXNlY3Rpb24ge1xufVxuXG4uY29tbWVudHMtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6ICMxZTI5M2I7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLnN1Ym1pdHRlci1xdW90ZS1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmYWZjO1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzAyODRjNztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5xdW90ZS1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA2cHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG59XG5cbi5xdW90ZS1hdXRob3Ige1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogIzAyODRjNztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5xdW90ZS1hdXRob3I6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ucXVvdGUtYWN0aW9uIHtcbiAgICBjb2xvcjogIzY0NzQ4Yjtcbn1cblxuLnF1b3RlLWJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6ICMzMzQxNTU7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG59XG5cbi5xdW90ZS1pY29uIHtcbiAgICBjb2xvcjogIzk0YTNiODtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbn1cblxuLmNvbW1lbnRzLXRocmVhZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4uY29tbWVudHMtZW1wdHkge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY29sb3I6ICM2NDc0OGI7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uY29tbWVudC1jYXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmYWZjO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHBhZGRpbmc6IDEycHggMTZweDtcbn1cblxuLmNvbW1lbnQtYXZhdGFyLWxpbmsge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uY29tbWVudC1hdmF0YXIge1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5jb21tZW50LWJvZHkge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY29tbWVudC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xufVxuXG4uY29tbWVudC1hdXRob3Ige1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiAjMDI4NGM3O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmNvbW1lbnQtYXV0aG9yOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmNvbW1lbnQtdGltZXN0YW1wIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgY29sb3I6ICM2NDc0OGI7XG59XG5cbi5jb21tZW50LXRleHQge1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGNvbG9yOiAjMzM0MTU1O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLmNvbW1lbnQtZm9ybS1ib3gge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbi5jb21tZW50LWZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi5jb21tZW50LXRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYmQ1ZTE7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmNvbW1lbnQtdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDI4NGM3O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDIsIDEzMiwgMTk5LCAwLjE1KTtcbn1cblxuLmNvbW1lbnQtZm9ybS1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5idG4tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAyODRjNztcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xufVxuXG4uYnRuLXByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMzY5YTE7XG59XG5cbi5jb21tZW50LWxvZ2luLW5vdGljZSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogIzY0NzQ4YjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5jb21tZW50LXRleHQgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5mYWludCB7XG4gICAgb3BhY2l0eTogMC4yO1xufVxuXG4uc2lkZS1hcmVhIC5jb250ZW50IC5oYXJkd2FyZS10cmVlIHtcbiAgICBoZWlnaHQ6IDEyMDBweDtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLnJlc2V0LXBhc3N3b3JkIC5jb250ZW50IC5ncmlkIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuLnJlc2V0LXBhc3N3b3JkIC5jb250ZW50IC5ncmlkIGlucHV0W3R5cGU9dGV4dF0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ucmVzZXQtcGFzc3dvcmQgLmNvbnRlbnQgLmdyaWQgLnJvdyB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWRlLWFyZWEgLmNvbnRlbnQgLmdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvO1xuICAgIGdyaWQtZ2FwOiAxMHB4O1xufVxuXG4vKiBDb21wZXRpdGlvbiBjbG9jayAqL1xuLnRpbWVyIC5jb3VudGRvd24td3JhcHBlciBzcGFuIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgZ3JpZC1nYXA6IDEwcHg7XG59XG5cbi50aW1lciAuY291bnRkb3duLXdyYXBwZXIgLmNvdW50IHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgY29sb3I6IGdhaW5zYm9ybztcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRpbWVyIC5jb3VudGRvd24td3JhcHBlciAuY291bnRkb3dubGFiZWwge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5zaWRlLWFyZWEtcmFua2luZy1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNXB4IDE1cHggYXV0byBhdXRvO1xuICAgIGdyaWQtZ2FwOiAxMHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1pdGVtczogbGVmdDtcbiAgICBtYXgtaGVpZ2h0OiA3MDBweDtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1cHggNDBweCBhdXRvIGF1dG87XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgZ3JpZC1nYXA6IDEwcHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWl0ZW1zOiBsZWZ0O1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCAuaGFyZHdhcmUge1xuICAgIGdyaWQtY29sdW1uOiAyIC8gLTE7XG59XG5cbi5zaWRlLWFyZWEtcmFua2luZy1ncmlkIC5wb3MtbWFya2VyLFxuLnNpZGUtYXJlYS1yYW5raW5nLWdyaWQgLnBvcyxcbi5zaWRlLWFyZWEtcmFua2luZy1ncmlkIC5uYW1lLFxuLnNpZGUtYXJlYS1yYW5raW5nLWdyaWQgLnBvaW50cyxcbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC5wb3MtbWFya2VyLFxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQgLnBvcyxcbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC5uYW1lLFxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQgLnBvaW50cyxcbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC5zY29yZSxcbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC5oYXJkd2FyZSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQgLnNjb3JlLFxuLnNpZGUtYXJlYS1yYW5raW5nLWdyaWQgLnBvaW50cyxcbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC5wb2ludHMge1xuICAgIGp1c3RpZnktc2VsZjogZW5kO1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCAucG9zLW1hcmtlcixcbi5zaWRlLWFyZWEtcmFua2luZy1ncmlkIC5wb3MtbWFya2VyIHtcbiAgICB3aWR0aDogNXB4O1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQgLnBvcy1tYXJrZXIge1xuICAgIGdyaWQtY29sdW1uOiAxO1xuICAgIGdyaWQtcm93OiAxIC8gLTE7XG59XG5cbi5zaWRlLWFyZWEtcmFua2luZyAucm93IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNzBweCAyMHB4IGF1dG8gMTUwcHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBncmlkLWdhcDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgYmFja2dyb3VuZDogI0YwRjBGMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5zaWRlLWFyZWEtcmFua2luZyAucm93IC5wb3Mge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXI6IHNvbGlkIDFweCB2YXIoLS1jb2xvci1wb3MtZm91ci1maXZlKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWRlLWFyZWEtcmFua2luZyAucm93IC5uYW1lIHtcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmNhcHRjaGEtY2hhbGxlbmdlIC5jb250ZW50LndyYXBwZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jYXB0Y2hhLWNoYWxsZW5nZSAuY29udGVudC53cmFwcGVyIC5yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5yZXNldC1wYXNzd29yZCAuY29udGVudCAuZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG87XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xufVxuXG4ucmVzZXQtcGFzc3dvcmQgLmNvbnRlbnQgLmdyaWQge1xuICAgIGdyaWQtZ2FwOiAxMHB4O1xufVxuXG4ucmVzZXQtcGFzc3dvcmQgLmNvbnRlbnQgLmdyaWQge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1pdGVtczogY2VudGVyO1xufVxuXG4ucmVzZXQtcGFzc3dvcmQgLmNvbnRlbnQgLmdyaWQge1xuICAgIHdpZHRoOiAzMCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1pbi13aWR0aDogMzIwcHg7XG59XG5cbi5yZXNldC1wYXNzd29yZCAuY29udGVudCAuZ3JpZCAuYWN0aW9uIHtcbiAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbn1cblxuLyogQXV0aCBDYXJkczogTG9naW4sIFJlZ2lzdGVyICYgUmVzZXQgUGFzc3dvcmQgKi9cbi5ncmlkLWJveC1jYXJkLS1sb2dpbixcbi5ncmlkLWJveC1jYXJkLS1yZWdpc3Rlcixcbi5ncmlkLWJveC1jYXJkLS1yZXNldC1wYXNzd29yZCB7XG4gICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXhsKSBhdXRvO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWxvZ2luID4gcCxcbi5ncmlkLWJveC1jYXJkLS1yZWdpc3RlciA+IHAsXG4uZ3JpZC1ib3gtY2FyZC0tcmVzZXQtcGFzc3dvcmQgPiBwIHtcbiAgICBjb2xvcjogIzY0NzQ4YjtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWxvZ2luID4gcCBhLFxuLmdyaWQtYm94LWNhcmQtLXJlZ2lzdGVyID4gcCBhLFxuLmdyaWQtYm94LWNhcmQtLXJlc2V0LXBhc3N3b3JkID4gcCBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWxvZ2luIGZvcm0sXG4uZ3JpZC1ib3gtY2FyZC0tcmVnaXN0ZXIgZm9ybSxcbi5ncmlkLWJveC1jYXJkLS1yZXNldC1wYXNzd29yZCBmb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWxvZ2luIGZvcm0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sXG4uZ3JpZC1ib3gtY2FyZC0tcmVnaXN0ZXIgZm9ybSBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSxcbi5ncmlkLWJveC1jYXJkLS1yZXNldC1wYXNzd29yZCBmb3JtIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmdyaWQtYm94LWNhcmQtLXJlZ2lzdGVyIC5yZWNhcHRjaGEtd3JhcHBlcixcbi5ncmlkLWJveC1jYXJkLS1yZXNldC1wYXNzd29yZCAucmVjYXB0Y2hhLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLmZvcm0tbGFiZWwtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5mb3JtLWlucHV0LXBhc3N3b3JkLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mb3JtLWlucHV0LXBhc3N3b3JkLXdyYXBwZXIgLmZvcm0taW5wdXQsXG4uZm9ybS1pbnB1dC1wYXNzd29yZC13cmFwcGVyIGlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MnB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5wYXNzd29yZC10b2dnbGUtYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogNnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogIzk0YTNiODtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucGFzc3dvcmQtdG9nZ2xlLWJ0bjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItZGFyayk7XG59XG5cbi5sb2dpbi1mb290ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvci1saWdodCk7XG59XG5cbi5zaWRlLWFyZWEgLmNvbnRlbnQgLmFydGljbGUtbGluayB7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAwO1xufVxuXG4uZm9vdGVyIC5jb250ZW50IC5pbmZvIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDMyMHB4LCAxZnIpKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbn1cblxuLmZvb3RlciAuaW5mbyB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmZvb3RlciAuc3lzdGVtLWluZm8ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbn1cblxuLmZvb3RlciAucGFydG5lci1pbmZvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mb290ZXIgLmNvbnRlbnQgLnBhcnRuZXItaW5mbyB7XG4gICAgbWFyZ2luOiAyMHB4IDAgMjBweCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBnYXA6IDIwcHg7XG59XG5cbi5mb290ZXIgLmNvbnRlbnQgLnBhcnRuZXItaW5mbyAucGFydG5lci1ib3gge1xuICAgIGhlaWdodDogNzBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5tYWluLWFyZWEuaHctZGF0YSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5tYWluLWFyZWEuaHctZGF0YSAuaHctZGF0YS1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtbG9hZGluZy1vdmVybGF5LCAyMCk7XG4gICAgY3Vyc29yOiB3YWl0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiBsb2FkaW5nO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlO1xufVxuXG4uaGFyZHdhcmUtb3ZlcnZpZXcgLmNvbnRlbnQtdHlwZS0yIC5tYW51ZmFjdHVyZXItZ3JpZCxcbi5tYWluLWFyZWEuaHctZGF0YSAuY29udGVudCAubWFudWZhY3R1cmVyLWdyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDVweDtcbn1cblxuLm1haW4tYXJlYS5ody1kYXRhIC5jb250ZW50IC5tYW51ZmFjdHVyZXItZ3JpZCAubWFudWZhY3R1cmVyLWhlYWRsaW5lLWdyaWQtY2VsbCB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA1cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm1haW4tYXJlYS5ody1kYXRhIC5jb250ZW50IC5tYW51ZmFjdHVyZXItZ3JpZCAubWFudWZhY3R1cmVyLWhlYWRsaW5lLWdyaWQtY2VsbCBpbWcge1xuICAgIGhlaWdodDogNDBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4uaGFyZHdhcmUtb3ZlcnZpZXcgLmNvbnRlbnQtdHlwZS0yIC5tYW51ZmFjdHVyZXItZ3JpZCAubWFudWZhY3R1cmVyLWdyaWQtY2VsbCxcbi5tYWluLWFyZWEuaHctZGF0YSAuY29udGVudCAubWFudWZhY3R1cmVyLWdyaWQgLm1hbnVmYWN0dXJlci1ncmlkLWNlbGwge1xuICAgIGhlaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogNXB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5oYXJkd2FyZS1vdmVydmlldyAuY29udGVudC10eXBlLTIgLm1hbnVmYWN0dXJlci1ncmlkIC5tYW51ZmFjdHVyZXItZ3JpZC1jZWxsIGltZyxcbi5tYWluLWFyZWEuaHctZGF0YSAuY29udGVudCAubWFudWZhY3R1cmVyLWdyaWQgLm1hbnVmYWN0dXJlci1ncmlkLWNlbGwgaW1nIHtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuQGtleWZyYW1lcyBsb2FkaW5nIHtcbiAgICBmcm9tIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgICB9XG59XG5cbi5nb2xkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4uc2lsdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ib3JkZXItY29sb3ItbGlnaHQpO1xufVxuXG4uYnJvbnplIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xufVxuXG4ubWVkYWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1mb3VyLWZpdmUpO1xufVxuXG4ubm9tZWRhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRncmV5O1xufVxuXG4uZ29sZC10cm9waHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4uc2lsdmVyLXRyb3BoeSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xufVxuXG4uYnJvbnplLXRyb3BoeSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG59XG5cbkBrZXlmcmFtZXMgc2hpbW1lciB7XG4gICAgMCUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMDAlIDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjAwJSAwO1xuICAgIH1cbn1cblxuLmlzLWxvYWRpbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5pcy1sb2FkaW5nOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIDkwZGVnLFxuICAgICAgICAgICAgcmdiYSgyMzIsIDIzOCwgMjQxLCAwKSAwJSxcbiAgICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KSA1MCUsXG4gICAgICAgICAgICByZ2JhKDIzMiwgMjM4LCAyNDEsIDApIDEwMCVcbiAgICApO1xuXG4gICAgYmFja2dyb3VuZC1zaXplOiAyMDAlIDEwMCU7XG4gICAgYW5pbWF0aW9uOiBzaGltbWVyIDEuNXMgaW5maW5pdGU7XG4gICAgei1pbmRleDogMjtcbn1cblxuQGtleWZyYW1lcyBzaGltbWVyIHtcbiAgICAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDIwMCUgMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMDAlIDA7XG4gICAgfVxufVxuXG4uYnV0dG9uIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1saWdodCk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvci1kYXJrKTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLWRhcmspO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5idXR0b24tLWluZm8tcm93IHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5idXR0b24tLW1vZGFsLWhlYWRlci1jbG9zZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4uYnV0dG9uLS1tb2RhbC1oZWFkZXItY2xvc2U6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNztcbn1cblxuLmJ1dHRvbi0tbW9kYWwtaGVhZGVyLWNsb3NlOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4uYnV0dG9uLS1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mb250LWNvbG9yLWRhcmspO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWZvbnQtY29sb3ItZGFyayk7XG59XG5cbi5idXR0b24tLXByaW1hcnk6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuOTtcbn1cblxuLmJ1dHRvbi0taW1hZ2Uge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmJ1dHRvbi0tZGFuZ2VyIHtcbiAgICBjb2xvcjogI2RjMjYyNjtcbiAgICBib3JkZXItY29sb3I6ICNmY2E1YTU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjVmNTtcbn1cblxuLmJ1dHRvbi0tZGFuZ2VyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlci1saWdodCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItY29sb3ItbGlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLWRhcmspO1xufVxuXG4uYWN0aXZlLFxuLmJ1dHRvbjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlci1kYXJrKTtcbiAgICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIC4xKSAwIDFweCAxcHg7XG4gICAgYmFja2dyb3VuZDogbGlnaHRncmF5O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmZvY3VzLFxuLmJ1dHRvbjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNDI4NWY0O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyLWRhcmspO1xufVxuXG4uYnV0dG9uOmRpc2FibGVkLFxuLmJ1dHRvbi5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmJhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWZvbnQtY29sb3ItZGFyayk7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItbGlnaHQpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5idXR0b24gLmJhZGdlIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLXNwYWNlLXhzKSk7XG59XG5cbi5idXR0b24tLXByaW1hcnkgLmJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1saWdodCk7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItZGFyayk7XG59XG5cbi5pbmZvLW1lc3NhZ2Uge1xuICAgIGJhY2tncm91bmQ6ICNkZGZmZmY7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4ud2Fybi1tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZjO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmVycm9yLW1lc3NhZ2Uge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItbGlnaHQpO1xufVxuXG4uZXJyb3ItbWVzc2FnZSBhLFxuLmluZm8tbWVzc2FnZSBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5iaW5kaW5nLWVycm9yIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuXG4uZm9ybS1pbnB1dCB7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctbGlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLWRhcmspO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmZpZWxkLWVycm9yIHtcbiAgICBvdXRsaW5lOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvci1lcnJvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctbGlnaHQpO1xufVxuXG4uZmllbGQtZXJyb3Ige1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3ItZXJyb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWxpZ2h0KTtcbn1cblxuLyogSlF1ZXJ5IFVJIG92ZXJ3cml0ZXMgd2lsbCBiZSByZW1vdmVkIGFzIHNvb24gYXMgdGhlIGZyYW1ld29yayBpcyBubyBsb25nZXIgbmVlZGVkICovXG4udWktd2lkZ2V0IHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbn1cblxuLnVpLXdpZGdldC1jb250ZW50IHtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLWRhcmspO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLnVpLXdpZGdldC1jb250ZW50IGEsXG4udWktd2lkZ2V0LWNvbnRlbnQgYTpsaW5rLFxuLnVpLXdpZGdldC1jb250ZW50IGE6aG92ZXIsXG4udWktd2lkZ2V0LWNvbnRlbnQgYTp2aXNpdGVkLFxuLnVpLXdpZGdldC1jb250ZW50IGE6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1kYXJrKTtcbn1cblxuLnVpLXdpZGdldC1jb250ZW50IGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udWktc3RhdGUtaG92ZXIsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXN0YXRlLWZvY3VzLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1mb2N1cyxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1mb2N1cyB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xufVxuXG4udWktc3RhdGUtaG92ZXIsXG4udWktd2lkZ2V0LWNvbnRlbnQgYS51aS1zdGF0ZS1ob3Zlcixcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3Zlcixcbi51aS1zdGF0ZS1mb2N1cyxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZm9jdXMsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXMge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbn1cblxuLnVpLW1lbnUgLnVpLW1lbnUtaXRlbSBhLnVpLXN0YXRlLWhvdmVyIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5yZXN1bHQtc3RhdHVzLWNvbW1lbnQgLmNvbnRlbnQgLmV2ZW50LWNvbnRhaW5lcixcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhO1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzRhOTBlMjtcbiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gICAgbWFyZ2luOiA0cHggMDtcblxuICAgIG1heC1oZWlnaHQ6IDE2MHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5yZXN1bHQtc3RhdHVzLWNvbW1lbnQgLmNvbnRlbnQgLmV2ZW50LWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXIsXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiA2cHg7XG59XG5cbi5yZXN1bHQtc3RhdHVzLWNvbW1lbnQgLmNvbnRlbnQgLmV2ZW50LWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2ssXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICNlOWVjZWY7XG59XG5cbi5yZXN1bHQtc3RhdHVzLWNvbW1lbnQgLmNvbnRlbnQgLmV2ZW50LWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6ICNhZGI1YmQ7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4ucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyLFxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNmM3NTdkO1xufVxuXG4ucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC10aW1lbGluZSxcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtdGltZWxpbmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDZweDtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtaXRlbSxcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtaWNvbixcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtaWNvbiB7XG4gICAgY29sb3I6ICM4Yzk4YTQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtbWV0YSxcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtbWV0YSB7XG4gICAgbWluLXdpZHRoOiAxNjBweDtcbiAgICBjb2xvcjogIzZjNzU3ZDtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xufVxuXG4ucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC11c2VyLFxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC11c2VyIHtcbiAgICBtaW4td2lkdGg6IDE0MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogIzJiMzAzYTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG59XG5cbi5yZXN1bHQtc3RhdHVzLWNvbW1lbnQgLmNvbnRlbnQgLmV2ZW50LWRlc2MsXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWRlc2Mge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xufVxuXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLm5lc3RlZC1yb3cgdGQge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2UwZTBlMDtcbn1cblxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc2VhcmNoLWdyb3VwLW1vYmlsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnNlYXJjaC1pbnB1dC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xufVxuXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zZWFyY2gtaW5wdXQtd3JhcHBlciBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogOTBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zZWFyY2gtaW5wdXQtd3JhcHBlciBidXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMnB4O1xuICAgIHRvcDogMnB4O1xuICAgIGJvdHRvbTogMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xufVxuXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LXRpbWVsaW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA0cHg7XG59XG5cbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICBmb250LXNpemU6IDEycHg7XG59XG5cbi8qIFRhYiBtZW51ICovXG4udGFiLW1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG92ZXJmbG93LXg6IHZpc2libGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICBnYXA6IDVweDtcbn1cblxuLnRhYi1tZW51LS1oYXJkd2FyZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnRhYi1tZW51ID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG59XG5cbi8qIFNpZGViYXIgKi9cbi5zaWRlYmFyLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMTVyZW07XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiAjMWUyOTNiO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5zaWRlYmFyLXRpdGxlLWxpbmsge1xuICAgIGNvbG9yOiAjMDI4NGM3O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNpZGViYXItdGl0bGUtbGluazpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5zaWRlYmFyLWVtcHR5IHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLndyLXJhbmtpbmctY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCAjZjhmYWZjO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ud3ItcmFua2luZy1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogNnB4IDEwcHggNnB4IDA7XG4gICAgZ2FwOiA4cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMWY1Zjk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlO1xufVxuXG4ud3ItcmFua2luZy1yb3c6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLndyLXJhbmtpbmctcm93OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmNWY5O1xufVxuXG4ud3ItcmFua2luZy1yb3cuaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDhlOGVlO1xufVxuXG4ucG9zLW1hcmtlciB7XG4gICAgd2lkdGg6IDRweDtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ucG9zLW1hcmtlci5nb2xkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFiMzA4O1xufVxuXG4ucG9zLW1hcmtlci5zaWx2ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5NGEzYjg7XG59XG5cbi5wb3MtbWFya2VyLmJyb256ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5NzcwNjtcbn1cblxuLnBvcy1tYXJrZXIubWVkYWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzOGJkZjg7XG59XG5cbi5wb3MtbWFya2VyLm5vbWVkYWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ucmFuay1wb3Mge1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6ICM0NzU1Njk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBNYWluIFJvdyBJbmZvICovXG4ucmFuay1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGZsZXg6IDE7XG4gICAgZ2FwOiAycHg7XG59XG5cbi5yYW5rLXVzZXItbGluZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLnJhbmstYXZhdGFyIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ucmFuay11c2VybmFtZSB7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogIzAyODRjNztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ucmFuay11c2VybmFtZTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5yYW5rLWhhcmR3YXJlLWxpbmUge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBjb2xvcjogIzY0NzQ4YjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5yYW5rLWh3LWxpbmsge1xuICAgIGNvbG9yOiAjNDc1NTY5O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnJhbmstaHctbGluazpob3ZlciB7XG4gICAgY29sb3I6ICMwMjg0Yzc7XG59XG5cbi5yYW5rLWNsb2NrIHtcbiAgICBjb2xvcjogIzY0NzQ4Yjtcbn1cblxuLnJhbmstc2NvcmUge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ucmFuay1zY29yZS1saW5rIHtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnJhbmstc2NvcmUtbGluazpob3ZlciB7XG4gICAgY29sb3I6ICMwMjg0Yzc7XG59XG5cbi8qIFJlc3VsdCBoaXN0b3J5ICovXG4uaGlzdG9yeS1tZXRhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogNnB4O1xuICAgIGNvbG9yOiAjOTRhM2I4O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG59XG5cbi5oaXN0b3J5LW1ldGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xufVxuXG4uaGlzdG9yeS11c2VyIHtcbiAgICBjb2xvcjogIzM4YmRmODtcbn1cblxuLmhpc3RvcnktZGVzYyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDZweDtcbn1cblxuLmhpc3RvcnktaWNvbiB7XG4gICAgY29sb3I6ICM2NDc0OGI7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xufVxuXG4vKiBIYXJkd2FyZSB0cmVlICovXG4uaHctdHJlZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uaHctdHJlZS1saXN0LCBcbi5ody10cmVlLXN1Ymxpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5ody10cmVlLXN1Ymxpc3Qge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvci1saWdodCk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLmh3LXRyZWUtc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmh3LXRyZWUtc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmh3LXRyZWUtc3VtbWFyeTo6bWFya2VyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ody10cmVlLXN1bW1hcnktY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5ody10cmVlLXN1bW1hcnktY29udGVudCAuaHctdHJlZS1saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmbGV4OiAxO1xufVxuXG4uaHctdHJlZS1zdW1tYXJ5LWNvbnRlbnQgLmh3LXRyZWUtbGFiZWwge1xuICAgIGZsZXg6IDE7XG59XG5cbi5ody10cmVlLXN1bW1hcnktY29udGVudDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1NFwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA2IEZyZWVcIiwgXCJGb250QXdlc29tZVwiO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGcpO1xuICAgIGNvbG9yOiAjOTRhM2I4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG5cbi5ody10cmVlLWJyYW5jaFtvcGVuXSA+IC5ody10cmVlLXN1bW1hcnkgLmh3LXRyZWUtc3VtbWFyeS1jb250ZW50OjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1kYXJrKTtcbn1cblxuLmh3LXRyZWUtc3VtbWFyeTpob3Zlcixcbi5ody10cmVlLWxpbms6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyLWxpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1kYXJrKTtcbn1cblxuLmh3LXRyZWUtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1kYXJrKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5ody10cmVlLWxpbmsuaXMtYWN0aXZlLFxuLmh3LXRyZWUtc3VtbWFyeTpoYXMoLmh3LXRyZWUtbGluay5pcy1hY3RpdmUpIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlci1kYXJrKTtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4vKiBEZXNrdG9wIHNldHRpbmdzICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcblxuICAgIC5oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLmhlYWRlciAubG9nby13cmFwcGVyLFxuICAgIC5oZWFkZXIgLnBhcnRuZXItd3JhcHBlcixcbiAgICAuaGVhZGVyIC5hY2NvdW50LXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogMTBweCAyMHB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5sb2dvLXdyYXBwZXIsXG4gICAgLmhlYWRlciAucGFydG5lci13cmFwcGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmhlYWRlciAuYWNjb3VudC13cmFwcGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiByaWdodDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgLmhlYWRlciAuYWNjb3VudC13cmFwcGVyIC5ncmlkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5wYXJ0bmVyLXdyYXBwZXIsXG4gICAgLmhlYWRlciAuYWNjb3VudC13cmFwcGVyIHtcbiAgICAgICAgY29sb3I6IGdhaW5zYm9ybztcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gICAgfVxuXG4gICAgLmhlYWRlciAucGFydG5lci13cmFwcGVyIC5wYXJ0bmVyLWluZm8ge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgfVxuXG4gICAgLmhlYWRlciAucGFydG5lci13cmFwcGVyIC5wbGF0aW51bS1wYXJ0bmVyIGltZyB7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICB9XG5cbiAgICAuaGVhZGVyLCAubmF2aWdhdGlvbiwgLmZvb3RlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgfVxuXG4gICAgLmhlYWRlciAuYWNjb3VudCBhLFxuICAgIC5oZWFkZXIgLmFjY291bnQgYTpsaW5rLFxuICAgIC5oZWFkZXIgLmFjY291bnQgYTpob3ZlcixcbiAgICAuaGVhZGVyIC5hY2NvdW50IGE6dmlzaXRlZCxcbiAgICAuaGVhZGVyIC5hY2NvdW50IGE6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6IGdhaW5zYm9ybztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmFjY291bnQge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5hY2NvdW50IGxpIHtcbiAgICAgICAgY29sb3I6IGdhaW5zYm9ybztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgfVxuXG4gICAgLmhlYWRlciAubG9nby13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgIH1cblxuICAgIGJvZHkub25lLWNvbHVtbiB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0bztcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG8gMWZyIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMjAwMHB4O1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuXG4gICAgYm9keS5sZWZ0LXNpZGViYXIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIDFmciBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDIwMDBweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cblxuICAgIGJvZHkucmlnaHQtc2lkZWJhciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogM2ZyIDFmcjtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG8gMWZyIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMjAwMHB4O1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuXG4gICAgLm5hdl9fbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAubmF2X19pdGVtLS1jdGEge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAubmF2X19pdGVtLS1oYXMtc3ViID4gLm5hdl9fbGluay1yb3cgPiAubmF2X19saW5rOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICMzOGJkZjg7XG4gICAgICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBib3JkZXItdG9wLWNvbG9yIDAuMnMgZWFzZTtcbiAgICB9XG5cbiAgICAubmF2X19pdGVtLS1oYXMtc3ViOmlzKDpob3ZlciwgOmZvY3VzLXdpdGhpbikgPiAubmF2X19saW5rLXJvdyA+IC5uYXZfX2xpbms6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICB9XG5cbiAgICAubmF2X19zdWIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWluLXdpZHRoOiAyNDBweDtcbiAgICAgICAgcGFkZGluZzogNnB4IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWxpZ2h0KTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvci1saWdodCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCA2cHggNnB4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LWRyb3Bkb3duLCA1MDApO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2UsIHZpc2liaWxpdHkgMC4ycyBlYXNlO1xuICAgIH1cblxuICAgIC8qIEhvdmVyIGJyaWRnZSBwcmV2ZW50aW5nIGN1cnNvciBkcm9wcyAqL1xuICAgIC5uYXZfX3N1Yjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC02cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICB9XG5cbiAgICAubmF2X19pdGVtLS1oYXMtc3ViOmlzKDpob3ZlciwgOmZvY3VzLXdpdGhpbikgPiAubmF2X19zdWIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cblxuICAgIC5ub2Rlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogR2xvYmFsIHNlYXJjaCAqL1xuICAgIC5nbG9iYWwtc2VhcmNoIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtaW5wdXQtZ3JvdXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIC5nbG9iYWwtc2VhcmNoIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4gICAgLmdsb2JhbC1zZWFyY2gtaW5wdXQsXG4gICAgLmdsb2JhbC1zZWFyY2ggYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgLmdsb2JhbC1zZWFyY2gtYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2ggaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgLmdsb2JhbC1zZWFyY2ggaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbiAgICAuZ2xvYmFsLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgIHdpZHRoOiAxOTBweDtcbiAgICAgICAgcGFkZGluZzogMCAxNHB4IDAgMThweDtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweCAwIDAgOTk5OXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2ggaW5wdXRbdHlwZT1cInRleHRcIl06OnBsYWNlaG9sZGVyLFxuICAgIC5nbG9iYWwtc2VhcmNoIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06OnBsYWNlaG9sZGVyLFxuICAgIC5nbG9iYWwtc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAjOTRhM2I4O1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuICAgIC5nbG9iYWwtc2VhcmNoIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG4gICAgLmdsb2JhbC1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICAgICAgICB3aWR0aDogMjYwcHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg1NiwgMTg5LCAyNDgsIDAuNSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAuZ2xvYmFsLXNlYXJjaC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDE2cHggMCAxMHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgOTk5OXB4IDk5OTlweCAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICAgICAgY29sb3I6ICM5NGEzYjg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoOmhvdmVyIC5nbG9iYWwtc2VhcmNoLWlucHV0LFxuICAgIC5nbG9iYWwtc2VhcmNoOmhvdmVyIC5nbG9iYWwtc2VhcmNoLWJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdOmhvdmVyLFxuICAgIC5nbG9iYWwtc2VhcmNoLWJ1dHRvbjpob3ZlcixcbiAgICAuZ2xvYmFsLXNlYXJjaCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXTpmb2N1cy12aXNpYmxlLFxuICAgIC5nbG9iYWwtc2VhcmNoLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXItZGFyayk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg1NiwgMTg5LCAyNDgsIDAuNSk7XG4gICAgICAgIGNvbG9yOiAjMzhiZGY4O1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoOmZvY3VzLXdpdGhpbiAuZ2xvYmFsLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg1NiwgMTg5LCAyNDgsIDAuNSk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2g6Zm9jdXMtd2l0aGluIC5nbG9iYWwtc2VhcmNoLWJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg1NiwgMTg5LCAyNDgsIDAuNSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICAgICAgY29sb3I6ICMzOGJkZjg7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtYXV0b2NvbXBsZXRlLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogNzVweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIHdpZHRoOiA5MDBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA5MnZ3O1xuICAgICAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LW1vZGFsLCAxMDUwKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDI1cHggNjBweCByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtYXV0b2NvbXBsZXRlLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgY29sb3I6ICNmOGZhZmM7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtZGVza3RvcC1hY3Rpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWF1dG9jb21wbGV0ZS1oZWFkZXIgLmJ1dHRvbixcbiAgICAuZ2xvYmFsLXNlYXJjaC1kZXNrdG9wLWFjdGlvbiAuYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogNHB4IDhweDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtYXV0b2NvbXBsZXRlLWhlYWRlciAuYnV0dG9uOmhvdmVyLFxuICAgIC5nbG9iYWwtc2VhcmNoLWRlc2t0b3AtYWN0aW9uIC5idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItZGFyayk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtY29udGVudCAuc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyODBweCwgMWZyKSk7XG4gICAgICAgIGdhcDogMTZweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgICAgICBtYXgtaGVpZ2h0OiA3MHZoO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLnNlYXJjaC1jYXRlZ29yeS1ncm91cCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcblxuICAgIGJvZHkubGVmdC1zaWRlYmFyLFxuICAgIGJvZHkucmlnaHQtc2lkZWJhciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm5vbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIENvbnRlbnQgc2V0dGluZ3MgKi9cbiAgICAuY29udGVudCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTBweCBtaW5tYXgoMCwgMWZyKSAxMHB4O1xuICAgIH1cblxuICAgIC5oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIGdhcDogMTVweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5sb2dvLXdyYXBwZXIge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMzBweDtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5wYXJ0bmVyLXdyYXBwZXIge1xuICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtcm93OiAyICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICAgICAgY29sb3I6IGdhaW5zYm9ybztcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5wYXJ0bmVyLXdyYXBwZXIgLnBhcnRuZXItaW5mbyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5wYXJ0bmVyLXdyYXBwZXIgLnBsYXRpbnVtLXBhcnRuZXIgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgIH1cblxuICAgIC5zaWRlLWFyZWEge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwdncgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50O1xuICAgICAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LWRyYXdlciwgMTAwMCk7XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbiAgICAuc2lkZS1hcmVhLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuXG4gICAgLnNpZGUtYXJlYSAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweCAzMHB4IDE1cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2lkZS1hcmVhIC5jb250ZW50IC5oYXJkd2FyZS10cmVlLFxuICAgIC5zaWRlLWFyZWEgLmNvbnRlbnQgLmhhcmR3YXJlVHJlZSxcbiAgICAuc2lkZS1hcmVhIC5jb250ZW50IC5ody10cmVlIHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNzBweCk7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuXG4gICAgLmh3LXRyZWUtc3VtbWFyeS1jb250ZW50LFxuICAgIC5ody10cmVlLWxpbmsge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICB9XG5cbiAgICAuc2lkZWJhci1tb2JpbGUtaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogdmFyKC0tei1pbmRleC1zdGlja3ktaGVhZGVyLCAxMCk7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctYWx0KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItZGFyayk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDA1YmI3O1xuICAgICAgICBtYXJnaW46IDAgLTE1cHggMjBweCAtMTVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIH1cblxuICAgIC5tb2RhbC1vdmVybGF5LFxuICAgIC5tb2RhbC1vdmVybGF5LS1mdWxsc2NyZWVuLW1vYmlsZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMGR2aDtcbiAgICB9XG5cbiAgICAubW9kYWwtZGlhbG9nLFxuICAgIC5tb2RhbC1kaWFsb2ctLWZ1bGxzY3JlZW4tbW9iaWxlIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDBkdmg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMGR2aDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMzVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLm1vZGFsLW92ZXJsYXkuaXMtb3BlbiAubW9kYWwtZGlhbG9nLFxuICAgIC5tb2RhbC1vdmVybGF5LS1mdWxsc2NyZWVuLW1vYmlsZS5pcy1vcGVuIC5tb2RhbC1kaWFsb2ctLWZ1bGxzY3JlZW4tbW9iaWxlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cblxuICAgIC5tb2RhbC1kaWFsb2cgLm1vZGFsLWhlYWRlcixcbiAgICAubW9kYWwtZGlhbG9nLS1mdWxsc2NyZWVuLW1vYmlsZSAubW9kYWwtaGVhZGVyIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvci1saWdodCk7XG4gICAgICAgIHBhZGRpbmc6IG1heCgxMHB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMTBweCkpIG1heCgxNXB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0LCAxNXB4KSkgMTBweCBtYXgoMTVweCwgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0LCAxNXB4KSk7XG4gICAgfVxuXG4gICAgLm1vZGFsLWRpYWxvZyAubW9kYWwtYm9keSxcbiAgICAubW9kYWwtZGlhbG9nLS1mdWxsc2NyZWVuLW1vYmlsZSAubW9kYWwtYm9keSB7XG4gICAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXk6IGNvbnRhaW47XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgcGFkZGluZzogMTVweCBtYXgoMTVweCwgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCwgMTVweCkpIDE1cHggbWF4KDE1cHgsIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCwgMTVweCkpO1xuICAgIH1cblxuXG4gICAgLm1vZGFsLWRpYWxvZyAubW9kYWwtZm9vdGVyLFxuICAgIC5tb2RhbC1kaWFsb2ctLWZ1bGxzY3JlZW4tbW9iaWxlIC5tb2RhbC1mb290ZXIge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgcGFkZGluZzogMTJweCBtYXgoMTVweCwgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCwgMTVweCkpIG1heCgxMnB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMTJweCkpIG1heCgxNXB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQsIDE1cHgpKTtcbiAgICB9XG5cbiAgICAubW9kYWwtZGlhbG9nIC5mb3JtLW1vZGFsLWFjdGlvbnMsXG4gICAgLm1vZGFsLWRpYWxvZy0tZnVsbHNjcmVlbi1tb2JpbGUgLmZvcm0tbW9kYWwtYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLm1vZGFsLWRpYWxvZyAubW9kYWwtZm9vdGVyIC5idXR0b24sXG4gICAgLm1vZGFsLWRpYWxvZy0tZnVsbHNjcmVlbi1tb2JpbGUgLmZvcm0tbW9kYWwtYWN0aW9ucyAuYnV0dG9uIHtcbiAgICAgICAgbWluLWhlaWdodDogNDRweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICAubW9kYWwtZGlhbG9nLFxuICAgICAgICAubW9kYWwtZGlhbG9nLm1vZGFsLWRpYWxvZy0tZnVsbHNjcmVlbi1tb2JpbGUge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZfX292ZXJsYXkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAubmF2LS1vcGVuIC5uYXZfX292ZXJsYXkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG5cbiAgICAubmF2X19kcmF3ZXIge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDg1dnc7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtZHJhd2VyLCAxMDAwKTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAgIH1cblxuICAgIC5uYXYtLW9wZW4gLm5hdl9fZHJhd2VyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cblxuICAgIC5uYXZfX2RyYXdlci1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC5uYXZfX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogOHB4IDAgMzBweCAwO1xuICAgIH1cblxuICAgIC5uYXZfX2xpbmstcm93IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gICAgfVxuXG4gICAgLm5hdl9fbGluayxcbiAgICAubmF2X19saW5rOmxpbmssXG4gICAgLm5hdl9fbGluazp2aXNpdGVkIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgcGFkZGluZzogMTRweCAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLWxpZ2h0KTtcbiAgICB9XG5cbiAgICAubmF2X19saW5rLXJvdzppcyg6aG92ZXIsIDpmb2N1cy13aXRoaW4pLFxuICAgIC5uYXZfX2xpbms6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB9XG5cbiAgICAubmF2X19zdWItdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjMzhiZGY4O1xuICAgICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcbiAgICB9XG5cbiAgICAubmF2X19zdWItdG9nZ2xlOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgfVxuXG4gICAgLm5hdl9faXRlbS0tb3BlbiAubmF2X19zdWItdG9nZ2xlIGkge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICB9XG5cbiAgICAubmF2X19zdWIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nOiA0cHggMDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIH1cblxuICAgIC5uYXZfX2l0ZW0tLW9wZW4gLm5hdl9fc3ViIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLm5hdl9fc3ViLWxpbmssXG4gICAgLm5hdl9fc3ViLWxpbms6bGluayxcbiAgICAubmF2X19zdWItbGluazp2aXNpdGVkIHtcbiAgICAgICAgcGFkZGluZzogMTFweCAyMHB4IDExcHggMzZweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLWxpZ2h0KTtcbiAgICB9XG5cbiAgICAubmF2X19zdWItbGluazppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlLCA6YWN0aXZlKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIH1cblxuICAgIC5uYXZfX2xpbmstLWN0YSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5maWx0ZXIgLnJhbmtpbmctZmlsdGVyIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIC5maWx0ZXIgLnJhbmtpbmctZmlsdGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRhYi1tZW51IHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWxpZ2h0KTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3ItbGlnaHQpO1xuICAgIH1cblxuICAgIC50YWItbWVudTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIGhlcm8gYmFubmVyICovXG4gICAgLmhlcm8tYmFubmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAvKiBHcmlkIGJveCovXG4gICAgLmdyaWQtYm94LS1zdWJtaXQtaGFyZHdhcmUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG87XG4gICAgfVxuXG4gICAgLyogU3VibWlzc2lvbiAqL1xuICAgIC5zdWJtaXNzaW9uLXNjb3JlLWNhcmQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAuc3VibWlzc2lvbi1zY29yZS1jYXJkIC5zY29yZS1kZXRhaWxzIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgIC5zdWJtaXNzaW9uLXNjb3JlLWNhcmQgLnNjb3JlLWRldGFpbHMtcm93IHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgIC8qIEZsZXggcm93cyAqL1xuICAgIC5mbGV4LXJvdy0tYWN0aW9uLFxuICAgIC5mbGV4LXJvdy0taW5mbyB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgfVxuXG4gICAuZmxleC1yb3ctLWFjdGlvbjo6LXdlYmtpdC1zY3JvbGxiYXIsXG4gICAuZmxleC1yb3ctLWluZm86Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgIH1cblxuICAgIC5mbGV4LXJvdy0tYWN0aW9uID4gKixcbiAgICAuZmxleC1yb3ctLWluZm8gPiAqIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLyogUHJvZmlsZSBiYW5uZXIgKi9cbiAgICAucHJvZmlsZS1iYW5uZXItd3JhcHBlci5oYXMtYmFubmVyIC5hdmF0YXIge1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgIH1cblxuICAgIC5wcm9maWxlLWJhbm5lci13cmFwcGVyLmhhcy1iYW5uZXIgLmF2YXRhci13cmFwcGVyIHtcbiAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICBsZWZ0OiAxMnB4O1xuICAgIH1cblxuICAgIC8qIFJlcG9ydGluZyAqL1xuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0YWJsZSxcbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHksXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHRkLFxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikgdGQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDhweCAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICNlNWU1ZTU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyIHRkW2RhdGEtbGFiZWxdOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItZGFyayk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTJweDtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgICAgICBvcmRlcjogMjtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItZGFyayk7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSB7XG4gICAgICAgIG9yZGVyOiA0O1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBwYWRkaW5nLXRvcDogMnB4O1xuICAgICAgICBjb2xvcjogIzU1NmI3MztcbiAgICB9XG5cbiAgICAucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC1jb250YWluZXIsXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC1jb250YWluZXIge1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1mb250LWNvbG9yLWRhcmspO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtaXRlbSxcbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWl0ZW0ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAycHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1iZy1ob3Zlci1kYXJrKTtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtbWV0YSxcbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LXVzZXIge1xuICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnNlYXJjaC1pbnB1dC13cmFwcGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuc3RhdHVzLWJhZGdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLyogR2xvYmFsIHNlYXJjaCAqL1xuICAgIC5nbG9iYWwtc2VhcmNoLFxuICAgIC5nbG9iYWwtc2VhcmNoLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAuZ2xvYmFsLXNlYXJjaC1idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgICAgICAgY29sb3I6IGdhaW5zYm9ybztcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2ggYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0gaSxcbiAgICAuZ2xvYmFsLXNlYXJjaC1idXR0b24gaSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXTpob3ZlcixcbiAgICAuZ2xvYmFsLXNlYXJjaC1idXR0b246aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXItZGFyayk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtYXV0b2NvbXBsZXRlLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtbW9kYWwsIDEwNTApO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDMwNjE3O1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtYXV0b2NvbXBsZXRlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMzA2MTc7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtYXV0b2NvbXBsZXRlLWhlYWRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogdmFyKC0tei1pbmRleC1zdGlja3ktaGVhZGVyLCAxMCk7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzAzMDYxNztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1tb2JpbGUtYWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1tb2JpbGUtYWN0aW9uIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiA0NHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA0NHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogIzk0YTNiODtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1tb2JpbGUtYWN0aW9uIC5idXR0b246YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICMzOGJkZjg7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtbW9iaWxlLWFjdGlvbiAuZ2xvYmFsLXNlYXJjaC1zcGlubmVyIHtcbiAgICAgICAgY29sb3I6ICMzOGJkZjg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1tb2JpbGUtYWN0aW9uIGlucHV0LmlucHV0IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLWhlaWdodDogNDRweDtcbiAgICAgICAgcGFkZGluZzogMCAxNHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMWUyOTNiO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwYjEzMjk7XG4gICAgICAgIGNvbG9yOiAjZjhmYWZjO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtbW9iaWxlLWFjdGlvbiBpbnB1dC5pbnB1dDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzM4YmRmODtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1jb250ZW50IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgcGFkZGluZzogMTJweCAxMnB4IDMycHg7XG4gICAgfVxuXG4gICAgLmZvcm0tZmlsdGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAuZm9ybS1maWx0ZXIgPiAqIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHNjcm9sbC1zbmFwLWFsaWduOiBub25lO1xuICAgIH1cblxuICAgIC5tb2RhbC1ib2R5IC5mb3JtLWZpbHRlciB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAubW9kYWwtYm9keSAuZm9ybS1maWx0ZXIgPiAqIHtcbiAgICAgICAgc2Nyb2xsLXNuYXAtYWxpZ246IG5vbmU7XG4gICAgfVxuXG4gICAgLm1vZGFsLWJvZHkgI3JhbmtpbmdfZmlsdGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5maWx0ZXItY2hpcHMtYmFyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAuZmlsdGVyLWNoaXBzLWJhciA+ICoge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuZmlsdGVyLWNoaXBzLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC5maWx0ZXItY2hpcHMtbGlzdCA+ICoge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG59XG5cbi8qIFZvdGUgV2lkZ2V0ICYgUG9wb3ZlciAqL1xuLnZvdGUtY2VsbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi52b3RlLXdpZGdldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi52b3RlLXBpbGwge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctbGlnaHQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3ItZGFyayk7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBwYWRkaW5nOiAycHggNHB4O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZTtcbn1cblxuLnZvdGUtcGlsbDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4udm90ZS1waWxsX19idG4ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItZGFyayk7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlO1xufVxuXG4udm90ZS1waWxsX19idG46aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4udm90ZS1waWxsX19hY3Rpb24uaGFzLXZvdGVkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbn1cblxuLnZvdGUtcGlsbF9fYWN0aW9uLS1kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnZvdGUtcGlsbF9fZGl2aWRlciB7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYm9yZGVyLWNvbG9yLWxpZ2h0KTtcbiAgICBtYXJnaW46IDAgMXB4O1xufVxuXG4udm90ZS1waWxsX19jb3VudCB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4udm90ZS1waWxsX19jYXJldCB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIG9wYWNpdHk6IDAuNztcbn1cblxuLyogRHJvcGRvd24gUG9wb3ZlciAqL1xuLnZvdGUtZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIG1pbi13aWR0aDogMTgwcHg7XG4gICAgbWF4LXdpZHRoOiAyNDBweDtcbiAgICBtYXgtaGVpZ2h0OiAyMjBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWxpZ2h0KTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yLWRhcmspO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LWRyb3Bkb3duLCA1MDApO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi52b3RlLXBvcG92ZXItaGVhZGVyIHtcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yLWxpZ2h0KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG59XG5cbi52b3RlLXBvcG92ZXItbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogNHB4IDA7XG59XG5cbi52b3RlLXBvcG92ZXItaXRlbSB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLnZvdGUtdXNlci1saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItZGFyayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsIGNvbG9yIDAuMTVzIGVhc2U7XG59XG5cbi52b3RlLXVzZXItbGluazpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXItbGlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4udm90ZS11c2VyLWF2YXRhciB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnZvdGUtcG9wb3Zlci1lbXB0eSxcbi52b3RlLWxvYWRpbmcsXG4udm90ZS1wb3BvdmVyLWVycm9yIHtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbiAgICBjb2xvcjogIzg4ODtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQUE7QUFFSSw2QkFBMkI7QUFDM0IsMkJBQXlCO0FBR3pCLG1CQUFpQjtBQUNqQixtQkFBaUI7QUFDakIsb0JBQWtCO0FBQ2xCLHlCQUF1QjtBQUN2QiwwQkFBd0I7QUFFeEIscUJBQW1CO0FBR25CLGdCQUFjO0FBQ2Qsc0JBQW9CO0FBQ3BCLDBCQUF3QixLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFO0FBRzFDLHFCQUFtQjtBQUNuQixzQkFBb0I7QUFDcEIscUJBQW1CO0FBQ25CLHlCQUF1QjtBQUV2QixpQkFBZTtBQUNmLG9CQUFrQixLQUFLLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO0FBR3BDLHdCQUFzQjtBQUN0Qix1QkFBcUI7QUFDckIscUJBQW1CO0FBQ25CLHFCQUFtQjtBQUNuQixxQkFBbUI7QUFDbkIsbUJBQWlCO0FBR2pCLGNBQWE7QUFDYixjQUFhO0FBQ2IsY0FBWTtBQUNaLGNBQVk7QUFDWixjQUFZO0FBR1o7QUFBQSxJQUFnQixxQkFBcUI7QUFBQSxJQUFFLGVBQWU7QUFBQSxJQUFFLFNBQVM7QUFBQSxJQUFFLEtBQUs7QUFBQSxJQUFFO0FBQzFFLGVBQWEsS0FBSyxFQUFFO0FBQ3BCLGtCQUFnQjtBQUNoQixrQkFBZ0I7QUFDaEIsa0JBQWdCO0FBQ2hCLHNCQUFv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 */
