/* src/main/frontend/css/badges.css */
.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 var(--space-xs);
  border-radius: var(--border-radius-full);
  line-height: var(--line-height-none);
  background-color: var(--color-text-primary);
  color: var(--color-text-inverse);
  box-sizing: border-box;
}
.button .badge {
  margin-left: calc(-1 * var(--space-xs));
}
.button--primary .badge {
  background-color: var(--color-bg-surface);
  color: var(--color-text-primary);
}
.member-role-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  padding: var(--border-width-sm) var(--space-xs);
  border-radius: var(--border-radius-xs);
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: var(--line-height-tight);
  border: var(--border-width-sm) solid transparent;
}
.member-role-badge--admin {
  background: var(--color-error-bg);
  border-color: var(--color-error-border);
  color: var(--color-error-text);
}
.member-role-badge--mod {
  background: var(--color-info-bg);
  border-color: var(--color-info-border);
  color: var(--color-info-text);
}
.member-role-badge--captain {
  background: var(--color-warning-bg);
  border-color: var(--color-warning-border);
  color: var(--color-warning-text);
}
.member-role-badge--student,
.member-role-badge--student-mod {
  background: var(--color-team-bg);
  border-color: var(--color-team-border);
  color: var(--color-team-text-dark);
}
.member-role-badge--member {
  background: var(--color-bg-card);
  border-color: var(--color-border-subtle);
  color: var(--color-text-secondary);
}
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--border-radius-sm);
  border: var(--border-width-sm) solid currentColor;
  background: transparent;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.2px;
  line-height: var(--line-height-none);
}
.status-badge i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  flex-shrink: 0;
}
.status-badge i::before {
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
}
.status-value {
  text-transform: capitalize;
  font-weight: var(--font-weight-bold);
}
.status-success,
.status-green {
  color: var(--color-success);
}
.status-success i::before,
.status-green i::before {
  content: "\f00c";
}
.status-warning {
  color: var(--color-warning);
}
.status-warning i::before {
  content: "\f071";
}
.status-unknown,
.status-gray {
  color: var(--color-text-secondary);
}
.status-unknown i::before,
.status-gray i::before {
  content: "\f05a";
}
.status-processing {
  color: var(--color-primary);
}
.status-processing i::before {
  content: "\f1ce";
}
.status-open {
  color: var(--color-success);
}
.status-open i::before {
  content: "\f3c1";
}
.status-closed {
  color: var(--color-error);
}
.status-closed i::before {
  content: "\f023";
}
.status-official i::before {
  content: "\f00c";
}
.status-online i::before {
  content: "\f0ac";
}
.status-live {
  color: var(--color-error);
}
.status-live i::before {
  content: "\f001";
}
.status-active {
  color: var(--color-success);
}
.status-active i::before {
  content: "\f00c";
}
.status-inactive {
  color: var(--color-text-secondary);
}
.status-inactive i::before {
  content: "\f05e";
}
.status-sponsored i::before {
  content: "\f1cd";
}
.status-banned {
  color: var(--color-error);
}
.status-banned i::before {
  content: "\f05e";
}
.status-admin,
.status-moderator,
.status-student,
.status-student-moderator,
.status-captain,
.status-user,
.status-team,
.status-country,
.status-joined,
.status-sponsored,
.status-online,
.status-official {
  color: var(--color-text-secondary);
}
.status-admin i::before {
  content: "\f4fe";
}
.status-moderator i::before {
  content: "\f508";
}
.status-student i::before {
  content: "\f19d";
}
.status-student-moderator i::before {
  content: "\f508";
}
.status-captain i::before {
  content: "\f4fe";
}
.status-user i::before {
  content: "\f007";
}
.status-team i::before {
  content: "\f0c0";
}
.status-country i::before {
  content: "\f024";
}
.status-joined i::before {
  content: "\f073";
}
.status-joined .status-value {
  text-transform: none;
}
a.status-badge,
a.status-badge:link,
a.status-badge:visited {
  text-decoration: none;
  cursor: pointer;
}
a.status-badge:hover,
a.status-badge:active {
  text-decoration: none;
  opacity: 0.85;
}
.status-badge:is(.status-admin, .status-moderator, .status-student, .status-student-moderator, .status-captain, .status-user, .status-team, .status-country, .status-joined, .status-sponsored, .status-online, .status-official):is(:link, :visited, :hover, :active) {
  color: var(--color-text-secondary);
}
.cooling-air-stock {
  color: var(--color-text-secondary);
}
.cooling-air-stock i::before {
  content: "\f72e";
}
.cooling-air-custom {
  color: var(--color-success);
}
.cooling-air-custom i::before {
  content: "\f72e";
}
.cooling-water-custom {
  color: var(--color-primary);
}
.cooling-water-custom i::before {
  content: "\f043";
}
.cooling-aio-water {
  color: var(--color-accent);
}
.cooling-aio-water i::before {
  content: "\f043";
}
.cooling-water-chilled-cold {
  color: var(--color-primary);
}
.cooling-water-chilled-cold i::before {
  content: "\f2dc";
}
.cooling-dry-ice {
  color: var(--color-text-secondary);
}
.cooling-dry-ice i::before {
  content: "\f1b2";
}
.cooling-single-stage-phase-change {
  color: var(--color-primary);
}
.cooling-single-stage-phase-change i::before {
  content: "\f2dc";
}
.cooling-cascade-phase-change {
  color: var(--color-primary);
}
.cooling-cascade-phase-change i::before {
  content: "\f2dc";
}
.cooling-liquid-nitrogen {
  color: var(--color-link-hover);
}
.cooling-liquid-nitrogen i::before {
  content: "\f0c3";
}
.cooling-liquid-helium {
  color: var(--color-text-secondary);
}
.cooling-liquid-helium i::before {
  content: "\f7a6";
}
.league-elite {
  color: var(--color-warning);
}
.league-elite i::before {
  content: "\f521";
}
.league-extreme {
  color: var(--color-error);
}
.league-extreme i::before {
  content: "\f06d";
}
.league-apprentice {
  color: var(--color-link-hover);
}
.league-apprentice i::before {
  content: "\f0d0";
}
.league-enthusiast {
  color: var(--color-primary);
}
.league-enthusiast i::before {
  content: "\f0e7";
}
.league-novice {
  color: var(--color-success);
}
.league-novice i::before {
  content: "\f4d8";
}
.league-rookie {
  color: var(--color-text-secondary);
}
.league-rookie i::before {
  content: "\f19d";
}
.ref-review {
  color: var(--color-primary);
}
.ref-review i::before {
  content: "\f1e5";
}
.ref-news,
.ref-press,
.ref-roundup,
.ref-static-content {
  color: var(--color-text-secondary);
}
.ref-news i::before,
.ref-press i::before,
.ref-roundup i::before,
.ref-static-content i::before {
  content: "\f1ea";
}
.ref-discussion {
  color: var(--color-primary);
}
.ref-discussion i::before {
  content: "\f086";
}
.ref-rule {
  color: var(--color-warning);
}
.ref-rule i::before {
  content: "\f06a";
}
.ref-esports {
  color: var(--color-error);
}
.ref-esports i::before {
  content: "\f2db";
}
.partner-icon {
  color: var(--color-warning-star);
  font-size: var(--font-size-xs);
  margin-right: var(--space-2xs);
  vertical-align: middle;
}
a:is(:hover, :focus, :active) .partner-icon {
  color: var(--color-warning-star);
}

/* src/main/frontend/css/navigation.css */
.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__dropdown {
  position: relative;
}
.nav__dropdown-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 200px;
  padding: var(--space-sm) 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-md);
  overflow: hidden;
  z-index: var(--z-index-dropdown);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  pointer-events: none;
  transition:
    opacity var(--transition-base),
    transform var(--transition-base),
    visibility var(--transition-base);
}
.nav__dropdown--open .nav__dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.nav__dropdown-header {
  padding: var(--space-md) var(--space-lg);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  background: var(--color-bg-hover);
}
.nav__dropdown-user {
  display: block;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nav__dropdown-item,
.nav__dropdown-item:visited {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-md) var(--space-lg);
  color: var(--color-text-primary);
  text-decoration: none;
  transition: background var(--transition-fast), color var(--transition-fast);
}
.nav__dropdown-item:is(:hover, :focus-visible, :active) {
  background: var(--color-bg-hover);
  color: var(--color-text-primary);
  text-decoration: none;
}
.nav__dropdown-item i {
  width: 16px;
  text-align: center;
  color: var(--color-text-secondary);
  transition: color var(--transition-fast);
}
.nav__dropdown-item:is(:hover, :focus-visible) i {
  color: var(--color-text-primary);
}
.nav__dropdown-divider {
  height: 1px;
  background: var(--color-border-light);
  margin: var(--space-xs) 0;
}
.nav__dropdown-item--logout,
.nav__dropdown-item--logout:visited {
  color: var(--color-error);
}
.nav__dropdown-item--logout i {
  color: var(--color-error);
}
.nav__dropdown-item--logout:is(:hover, :focus-visible, :active) {
  background: var(--color-error-bg);
  color: var(--color-error-text);
}
.nav__dropdown-item--logout:is(:hover, :focus-visible) i {
  color: var(--color-error-text);
}
.nav__overlay {
  display: none;
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(3, 6, 23, 0.7);
  backdrop-filter: blur(2px);
  z-index: var(--z-index-backdrop);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--transition-base), visibility var(--transition-base);
}
.nav__drawer {
  width: 100%;
}
.nav__drawer-header {
  display: none;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-lg);
  border-bottom: var(--border-width-sm) solid rgba(255, 255, 255, 0.1);
}
.nav__drawer-title {
  color: var(--color-text-white);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.nav__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: transparent;
  border: none;
  border-radius: var(--border-radius-sm);
  color: var(--color-text-inverse);
  cursor: pointer;
  transition: background var(--transition-base), color var(--transition-base);
}
.nav__close:is(:hover, :focus-visible) {
  background: rgba(255, 255, 255, 0.1);
  color: var(--color-text-white);
}
.nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav__item {
  position: relative;
}
.nav__link,
.nav__link:link,
.nav__link:visited {
  display: flex;
  align-items: center;
  padding: var(--space-md) var(--space-lg);
  color: var(--color-text-muted);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.3px;
  text-decoration: none;
  white-space: nowrap;
  transition: background var(--transition-base), color var(--transition-base);
}
.nav__link:is(:hover, :focus-visible, :active) {
  background: var(--color-bg-hover-dark);
  color: var(--color-text-white);
  text-decoration: none;
}
.nav__link-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.nav__sub-toggle {
  display: none;
}
.nav__sub {
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav__sub-link,
.nav__sub-link:link,
.nav__sub-link:visited {
  display: block;
  padding: var(--space-md) var(--space-lg);
  color: var(--color-text-primary);
  text-decoration: none;
  transition: background var(--transition-fast), color var(--transition-fast);
}
.nav__sub-link:is(:hover, :focus-visible, :active) {
  background: var(--color-bg-hover-dark);
  color: var(--color-text-inverse);
  text-decoration: none;
}
.nav__item--cta {
  display: flex;
  align-items: center;
}
.nav__link--cta {
  gap: var(--space-sm);
}
.nav__link--cta i {
  color: var(--color-accent);
  transition: color var(--transition-base);
}
.nav__link--cta:is(:hover, :focus-visible) i {
  color: var(--color-highlight);
}
@media screen and (min-width: 1201px) {
  .nav__list {
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 100%;
  }
  .nav__item--cta {
    margin-left: auto;
  }
  .nav__item--has-sub > .nav__link-row > .nav__link::after {
    content: "";
    display: inline-block;
    margin-left: var(--space-sm);
    vertical-align: middle;
    border-top: var(--border-width-lg) solid var(--color-accent);
    border-right: var(--border-width-lg) solid transparent;
    border-left: var(--border-width-lg) solid transparent;
    transition: transform var(--transition-base), border-top-color var(--transition-base);
  }
  .nav__item--has-sub:is(:hover, :focus-within) > .nav__link-row > .nav__link::after {
    transform: rotate(180deg);
    border-top-color: var(--color-highlight);
  }
  .nav__sub {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 240px;
    padding: var(--space-sm) 0;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-light);
    border-radius: 0 0 var(--border-radius-sm) var(--border-radius-sm);
    box-shadow: var(--shadow-lg);
    z-index: var(--z-index-dropdown);
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    pointer-events: none;
    transition:
      opacity var(--transition-base),
      transform var(--transition-base),
      visibility var(--transition-base);
  }
  .nav__sub::before {
    content: "";
    position: absolute;
    top: -6px;
    left: 0;
    right: 0;
    height: 6px;
  }
  .nav__item--has-sub:is(:hover, :focus-within) > .nav__sub {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
  }
  .header,
  .navigation {
    grid-column: 1 / -1;
  }
  .header {
    display: block;
    width: 100%;
  }
  .header__top-bar {
    display: grid;
    grid-template-columns: auto minmax(280px, 1fr) auto auto;
    gap: var(--space-md) var(--space-xl);
    align-items: center;
    padding: var(--space-sm) var(--space-lg);
    box-sizing: border-box;
    width: 100%;
  }
  .header .logo-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--space-sm);
    position: relative;
    z-index: 1000;
    white-space: nowrap;
  }
  .header .patreon {
    font-size: var(--font-size-3xl);
  }
  .header .patreon a,
  .header .patreon a:link,
  .header .patreon a:visited {
    color: var(--color-bg-dark);
    text-decoration: none;
    transition: color var(--transition-fast);
  }
  .header .patreon a:is(:hover, :focus-visible, :active) {
    color: var(--color-link);
  }
  .header .global-search-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .header .partner-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--space-sm);
    justify-content: center;
    color: var(--color-text-muted);
    font-family: var(--font-heading);
    font-size: var(--font-size-xs);
    white-space: nowrap;
  }
  .header .partner-wrapper .platinum-partner img {
    height: var(--partner-logo-height);
    max-height: 28px;
    display: block;
  }
  .header .account-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    font-family: var(--font-heading);
    margin-left: auto;
  }
  .header .account-wrapper .grid {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-xs);
    text-align: center;
  }
  .header .account-wrapper .grid i {
    font-size: var(--header-icon-size);
    line-height: 1;
    min-height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .header .account-wrapper .grid .header-avatar-img--desktop {
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-circle);
    object-fit: cover;
    display: block;
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-sizing: border-box;
  }
  .header .account {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: var(--space-2xs);
  }
  .header .account li {
    color: var(--color-text-muted);
    padding: var(--space-s) var(--space-sm);
  }
  .header .account a,
  .header .account a:link,
  .header .account a:visited {
    color: var(--color-text-muted);
    text-decoration: none;
    transition: color var(--transition-fast);
  }
  .header .account a:hover,
  .header .account a:active {
    color: var(--color-text-white);
    text-decoration: none;
  }
}
@media screen and (max-width: 1200px) {
  .navigation {
    display: contents;
  }
  .nav__overlay {
    display: block;
  }
  .nav--open .nav__overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .nav__drawer {
    position: fixed;
    top: 0;
    left: 0;
    width: 320px;
    max-width: 85vw;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: var(--color-bg-dark);
    z-index: var(--z-index-drawer);
    overflow-y: auto;
    overflow-x: hidden;
    box-shadow: none;
    transform: translateX(-100%);
    will-change: transform;
    transition: transform var(--transition-smooth);
  }
  .nav--open .nav__drawer {
    transform: translateX(0);
  }
  .nav__drawer-header {
    display: flex;
  }
  .nav__list {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: var(--space-sm) 0 var(--space-2xl) 0;
  }
  .nav__link-row {
    border-bottom: var(--border-width-sm) solid rgba(255, 255, 255, 0.05);
  }
  .nav__link,
  .nav__link:link,
  .nav__link:visited {
    flex: 1;
    padding: var(--space-lg);
  }
  .nav__link-row:is(:hover, :focus-within),
  .nav__link:is(:hover, :focus-visible) {
    background: rgba(255, 255, 255, 0.08);
    color: var(--color-text-white);
  }
  .nav__sub-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: transparent;
    border: none;
    color: var(--color-accent);
    cursor: pointer;
    transition: background var(--transition-base), color var(--transition-base);
  }
  .nav__sub-toggle:is(:hover, :focus-visible) {
    background: rgba(255, 255, 255, 0.12);
    color: var(--color-highlight);
  }
  .nav__item--open .nav__sub-toggle i {
    transform: rotate(180deg);
    color: var(--color-highlight);
  }
  .nav__sub {
    display: none;
    padding: var(--space-xs) 0;
    background: rgba(0, 0, 0, 0.2);
  }
  .nav__item--open .nav__sub {
    display: block;
  }
  .nav__sub-link,
  .nav__sub-link:link,
  .nav__sub-link:visited {
    padding: var(--space-md) var(--space-lg) var(--space-md) var(--space-2xl);
    color: var(--color-text-inverse);
  }
  .nav__sub-link:is(:hover, :focus-visible, :active) {
    background: rgba(255, 255, 255, 0.12);
    color: var(--color-text-white);
  }
  .nav__link--cta {
    justify-content: center;
    text-align: center;
    width: 100%;
  }
  .header {
    position: sticky;
    top: 0;
    z-index: 900;
    background: var(--color-bg-dark);
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  }
  .header__top-bar {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-xs) var(--space-md);
    width: 100%;
    box-sizing: border-box;
    min-height: 52px;
  }
  .header .logo-wrapper {
    display: flex;
    align-items: center;
  }
  .header .logo img {
    height: 28px;
    width: auto;
    display: block;
  }
  .header__mobile-actions {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
  }
  .header__action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    background: rgba(255, 255, 255, 0.08);
    border: var(--border-width-sm) solid rgba(255, 255, 255, 0.15);
    border-radius: var(--border-radius-circle);
    color: var(--color-text-inverse);
    cursor: pointer;
    user-select: none;
    transition:
      background var(--transition-base),
      border-color var(--transition-base),
      color var(--transition-base);
  }
  .header__action-btn:is(:hover, :focus-visible),
  .nav__dropdown--open .header__action-btn--account {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.35);
    color: var(--color-text-white);
  }
  .header__action-btn:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
  }
  .header__action-btn i {
    font-size: var(--font-size-base);
    line-height: 1;
  }
  .header-avatar-img {
    width: 32px;
    height: 32px;
    border-radius: var(--border-radius-circle);
    object-fit: cover;
    display: block;
  }
  .partner-wrapper--mobile {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: var(--space-xs) var(--space-sm);
    width: 100%;
    box-sizing: border-box;
    padding: 6px var(--space-md);
    background: rgba(0, 0, 0, 0.25);
    border-top: var(--border-width-sm) solid rgba(255, 255, 255, 0.08);
    font-family: var(--font-heading);
    font-size: var(--font-size-2xs);
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    overflow: hidden;
    max-height: 48px;
    opacity: 1;
    transform: translateY(0);
    transition:
      max-height 0.28s cubic-bezier(0.4, 0, 0.2, 1),
      opacity 0.22s ease,
      padding 0.28s cubic-bezier(0.4, 0, 0.2, 1),
      transform 0.28s cubic-bezier(0.4, 0, 0.2, 1),
      border-top-width 0.28s ease;
  }
  .partner-wrapper--mobile .platinum-partner img {
    height: 20px;
    width: auto;
    display: block;
  }
  .header--partner-hidden .partner-wrapper--mobile {
    max-height: 0;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
    border-top-width: 0;
    transform: translateY(-8px);
    pointer-events: none;
  }
}

/* src/main/frontend/css/search.css */
html.search-open,
body.search-open {
  overflow: hidden;
  overflow-x: hidden;
  overscroll-behavior: none;
  touch-action: none;
}
.global-search-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(3, 6, 23, 0.75);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: var(--z-index-backdrop);
  overscroll-behavior: none;
  touch-action: none;
}
.global-search,
.global-search-wrapper {
  position: relative;
}
.global-search-button {
  font-size: var(--font-size-lg);
}
.global-search-autocomplete {
  font-size: var(--font-size-sm);
  background: var(--color-bg-navy);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
}
.global-search-autocomplete-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-sm) var(--space-md);
  background: var(--color-bg-navy);
  border-bottom: var(--border-width-sm) solid rgba(255, 255, 255, 0.08);
  color: var(--color-text-muted);
}
.global-search-header-tools {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.global-search-spinner {
  display: inline-flex;
  align-items: center;
  color: var(--color-accent);
}
.global-search-content {
  box-sizing: border-box;
  padding: var(--space-sm) var(--space-md) var(--space-xl);
  background-color: var(--color-bg-dark);
}
.global-search-content .category-header {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  width: 100%;
  padding: var(--space-sm) var(--space-md);
  background: rgba(255, 255, 255, 0.08);
  border-radius: var(--border-radius-sm);
  color: var(--color-border-dashed);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.global-search-content .category-header i {
  color: var(--color-highlight);
}
.global-search-content .category-badge {
  margin-left: auto;
  padding: var(--space-2xs) var(--space-sm);
  background: rgba(255, 255, 255, 0.15);
  border-radius: var(--border-radius-full);
  color: var(--color-text-white);
}
.global-search-content .search-item-list {
  box-sizing: border-box;
  width: 100%;
  list-style: none;
  padding: 0;
  margin: var(--space-xs) 0 0;
}
.global-search-content .search-item {
  box-sizing: border-box;
  width: 100%;
  border-bottom: var(--border-width-sm) solid rgba(255, 255, 255, 0.06);
}
.global-search-content .search-item:last-child {
  border-bottom: none;
}
.global-search-content .item-link,
.global-search-content .item-link:link,
.global-search-content .item-link:visited {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-width: 0;
  min-height: 25px;
  padding: var(--space-md);
  color: var(--color-text-inverse);
  text-decoration: none;
  border-radius: var(--border-radius-xs);
  transition:
    background-color var(--transition-fast),
    color var(--transition-fast),
    transform var(--transition-fast);
  overflow: hidden;
}
.global-search-content .item-name {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.global-search-content .item-link:hover,
.global-search-content .item-link:focus,
.global-search-content .item-link:active,
.global-search-content .item-link.is-active {
  background-color: rgba(255, 255, 255, 0.12);
  color: var(--color-text-white);
  outline: none;
}
.global-search-content .item-arrow {
  flex-shrink: 0;
  margin-left: var(--space-sm);
  color: var(--color-text-secondary);
  transition: color var(--transition-fast), transform var(--transition-fast);
}
.global-search-content .item-link:is(:hover, :focus, :active, .is-active) .item-arrow {
  color: var(--color-accent);
  transform: translateX(3px);
}
.global-search-content .search-empty-state,
.global-search-content .search-prompt-state {
  box-sizing: border-box;
  width: 100%;
  padding: 40px var(--space-lg);
  text-align: center;
  color: var(--color-text-muted);
}
.global-search-content .empty-icon,
.global-search-content .prompt-icon {
  margin-bottom: var(--space-md);
  color: var(--color-text-secondary);
}
.global-search-content .prompt-icon {
  color: var(--color-highlight);
}
.global-search-content .empty-title,
.global-search-content .prompt-title {
  margin-bottom: var(--space-sm);
  color: var(--color-text-inverse);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
}
.global-search-content .empty-subtitle,
.global-search-content .prompt-subtitle {
  box-sizing: border-box;
  display: block;
  max-width: 320px;
  width: 100%;
  margin: 0 auto;
  font-size: var(--font-size-sm);
  line-height: var(--line-height-normal);
}
@media screen and (min-width: 1201px) {
  .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: 280px;
    padding: 0 var(--space-lg);
    border: var(--border-width-md) solid var(--color-bg-dark);
    border-right: none;
    border-radius: var(--border-radius-full) 0 0 var(--border-radius-full);
    background-color: var(--color-bg-dark);
    color: var(--color-text-white);
    outline: none;
    transition:
      width var(--transition-base),
      border-color var(--transition-base),
      background-color var(--transition-base);
  }
  .global-search input[type=text]::placeholder,
  .global-search input[type=search]::placeholder,
  .global-search-input::placeholder {
    color: var(--color-text-muted);
  }
  .global-search input[type=text]:focus,
  .global-search input[type=search]:focus,
  .global-search-input:focus {
    width: 380px;
    border-color: rgba(56, 189, 248, 0.5);
    background-color: rgba(255, 255, 255, 0.1);
  }
  .global-search button[type=submit],
  .global-search-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    padding: 0 var(--space-lg) 0 var(--space-md);
    margin: 0;
    border: var(--border-width-md) solid var(--color-bg-dark);
    border-left: none;
    border-radius: 0 var(--border-radius-full) var(--border-radius-full) 0;
    background-color: var(--color-bg-dark);
    color: var(--color-text-muted);
    font-size: var(--font-size-lg);
    cursor: pointer;
    outline: none;
    box-shadow: none;
    vertical-align: top;
    transition:
      background-color var(--transition-base),
      border-color var(--transition-base),
      color var(--transition-base);
  }
  .global-search:hover .global-search-input,
  .global-search:hover .global-search-button {
    border-color: rgba(255, 255, 255, 0.2);
  }
  .global-search button[type=submit]:hover,
  .global-search-button:hover,
  .global-search button[type=submit]:focus-visible,
  .global-search-button:focus-visible {
    background-color: var(--color-bg-hover-dark);
    border-color: rgba(56, 189, 248, 0.5);
    color: var(--color-accent);
  }
  .global-search:focus-within .global-search-input {
    border-color: rgba(56, 189, 248, 0.5);
  }
  .global-search:focus-within .global-search-button {
    border-color: rgba(56, 189, 248, 0.5);
    background-color: rgba(255, 255, 255, 0.1);
    color: var(--color-accent);
  }
  .global-search-autocomplete-wrapper {
    display: none;
    position: fixed;
    top: 75px;
    left: 50%;
    transform: translateX(-50%);
    width: 900px;
    max-width: 92vw;
    z-index: var(--z-index-modal);
    border-radius: var(--border-radius);
    border: var(--border-width-sm) solid rgba(255, 255, 255, 0.12);
    box-shadow: var(--shadow-xl);
    overflow: hidden;
  }
  .global-search-autocomplete-header {
    padding: var(--space-md) var(--space-lg);
    background-color: var(--color-bg-dark);
    border-bottom: var(--border-width-sm) solid var(--color-border-light);
    color: var(--color-text-inverse);
  }
  .global-search-desktop-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }
  .global-search-autocomplete-header .button,
  .global-search-desktop-action .button {
    padding: var(--space-xs) var(--space-sm);
    border: none;
    background: transparent;
    color: var(--color-text-white);
    cursor: pointer;
    outline: none;
    box-shadow: none;
    transition: color var(--transition-base), transform var(--transition-base);
  }
  .global-search-autocomplete-header .button:hover,
  .global-search-desktop-action .button:hover {
    background: transparent;
    color: var(--color-text-primary);
  }
  .global-search-content .search-results-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--space-lg);
    align-items: start;
    max-height: 70vh;
    overflow-y: auto;
  }
  .global-search-content .search-category-group {
    width: 100%;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 1200px) {
  .global-search-autocomplete-wrapper {
    display: none;
    position: fixed;
    inset: 0;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transform: none;
    width: 100%;
    max-width: 100%;
    height: 100%;
    height: 100dvh;
    border: none;
    border-radius: 0;
    box-shadow: none;
    z-index: var(--z-index-modal);
    background: var(--color-bg-navy);
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    overscroll-behavior-x: none;
    touch-action: pan-y;
  }
  .global-search-autocomplete {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    min-height: 100dvh;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    background: var(--color-bg-navy);
    overflow-x: hidden;
    touch-action: pan-y;
  }
  .global-search-autocomplete-header {
    position: sticky;
    top: 0;
    z-index: var(--z-index-sticky-header);
    padding: max(var(--space-md), env(safe-area-inset-top, 12px)) max(var(--space-md), env(safe-area-inset-right, 12px)) var(--space-md) max(var(--space-md), env(safe-area-inset-left, 12px));
    background: var(--color-bg-navy);
    border-bottom: var(--border-width-sm) solid rgba(255, 255, 255, 0.1);
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
  }
  .global-search-mobile-action {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .global-search-mobile-action .button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--color-text-muted);
    cursor: pointer;
    flex-shrink: 0;
  }
  .global-search-mobile-action .button:active {
    color: var(--color-accent);
  }
  .global-search-mobile-action .global-search-spinner {
    color: var(--color-accent);
    margin-right: var(--space-xs);
    flex-shrink: 0;
  }
  .global-search-mobile-action input.input {
    flex: 1;
    min-width: 0;
    min-height: 44px;
    padding: 0 var(--space-lg);
    border: var(--border-width-sm) solid var(--color-border-dark);
    border-radius: var(--border-radius);
    background: var(--color-bg-navy);
    color: var(--color-text-inverse);
    font-size: 16px;
    outline: none;
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
  }
  .global-search-mobile-action input.input:focus {
    border-color: var(--color-accent);
  }
  .global-search-content {
    flex: 1;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
    padding: var(--space-md) max(var(--space-md), env(safe-area-inset-right, 12px)) max(var(--space-2xl), env(safe-area-inset-bottom, 32px)) max(var(--space-md), env(safe-area-inset-left, 12px));
    touch-action: pan-y;
  }
  .global-search-content .search-results-container {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
  }
  .global-search-content .search-category-group {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
  }
}

/* src/main/frontend/css/vote.css */
.vote-cell {
  position: relative;
  white-space: nowrap;
}
.vote-cell .vote-pill {
  font-size: var(--font-size-sm);
}
.vote-widget {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.vote-pill {
  display: inline-flex;
  align-items: center;
  background-color: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-dark);
  border-radius: var(--border-radius-lg);
  padding: var(--space-2xs) var(--space-xs);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-none);
  box-shadow: var(--shadow-sm);
  transition: border-color var(--transition-fast);
}
.vote-pill:hover {
  border-color: var(--color-highlight);
}
.vote-pill__btn {
  background: none;
  border: none;
  padding: var(--space-xs) var(--space-sm);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  color: var(--color-text-primary);
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  text-decoration: none;
  transition: color var(--transition-fast);
}
.vote-pill__btn:hover {
  color: var(--color-highlight);
  text-decoration: none;
}
.vote-pill__action.has-voted {
  color: var(--color-highlight);
}
.vote-pill__action--disabled {
  opacity: 0.6;
  cursor: pointer;
}
.vote-pill__divider {
  width: 1px;
  height: 14px;
  background-color: var(--color-border-light);
  margin: 0 1px;
}
.vote-pill__count {
  font-weight: var(--font-weight-bold);
}
.vote-pill__caret {
  font-size: var(--font-size-3xs);
  opacity: 0.7;
}
.vote-dropdown-menu {
  position: fixed;
  min-width: 180px;
  max-width: 240px;
  max-height: 220px;
  overflow-y: auto;
  font-size: var(--font-size-xs);
  background-color: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-dark);
  border-radius: var(--border-radius);
  box-shadow: var(--shadow-md);
  z-index: var(--z-index-dropdown);
  text-align: left;
}
.vote-popover-header {
  padding: var(--space-sm) var(--space-md);
  font-weight: var(--font-weight-bold);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.vote-popover-list {
  list-style: none;
  margin: 0;
  padding: var(--space-xs) 0;
}
.vote-popover-item {
  padding: 0;
}
.vote-user-link {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-primary);
  text-decoration: none;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}
.vote-user-link:hover {
  background-color: var(--color-bg-hover);
  color: var(--color-highlight);
  text-decoration: none;
}
.vote-user-avatar {
  width: 20px;
  height: 20px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  flex-shrink: 0;
}
.vote-popover-empty,
.vote-loading,
.vote-popover-error {
  padding: var(--space-md);
  color: var(--color-text-muted);
  text-align: center;
}

/* src/main/frontend/css/style.css */
:root {
  --color-bg-gradient-start: #5091DD;
  --color-bg-gradient-end: #030617;
  --color-bg-main: #F4F7F8;
  --color-bg-surface: #FFFFFF;
  --color-bg-card: #f8fafc;
  --color-bg-hover: #f1f5f9;
  --color-bg-hover-dark: #36454F;
  --color-bg-dark: #36454F;
  --color-bg-navy: #030617;
  --color-bg-extra: darkslategray;
  --color-text-primary: #36454F;
  --color-text-heading: #0f172a;
  --color-text-secondary: #64748b;
  --color-text-muted: #94a3b8;
  --color-text-inverse: #F4F7F8;
  --color-text-inverse-muted: #DCDCDC;
  --color-text-white: #ffffff;
  --color-border-light: #E5E5E5;
  --color-border-subtle: #e2e8f0;
  --color-border-dashed: #cbd5e1;
  --color-border-standard: lightgray;
  --color-border-dark: #36454F;
  --border-width-sm: 1px;
  --border-width-md: 2px;
  --border-width-lg: 4px;
  --border-width-xl: 5px;
  --border-radius-xs: 4px;
  --border-radius-sm: 6px;
  --border-radius: 8px;
  --border-radius-lg: 16px;
  --border-radius-full: 9999px;
  --border-radius-circle: 50%;
  --color-primary: #0284c7;
  --color-primary-hover: #0369a1;
  --color-accent: #38bdf8;
  --color-highlight: #60a5fa;
  --color-link: #1d4ed8;
  --color-link-hover: #1e40af;
  --color-link-underline: rgba(29, 78, 216, 0.35);
  --color-success: #16a34a;
  --color-success-bg: #f0fdf4;
  --color-success-border: #bbf7d0;
  --color-success-text: #166534;
  --color-warning: #d97706;
  --color-warning-bg: #fffbeb;
  --color-warning-border: #fde68a;
  --color-warning-text: #92400e;
  --color-warning-star: #eab308;
  --color-error: #dc2626;
  --color-error-bg: #fef2f2;
  --color-error-border: #fecaca;
  --color-error-text: #991b1b;
  --color-info-bg: #eff6ff;
  --color-info-border: #bfdbfe;
  --color-info-text: #1e40af;
  --color-team: #7c3aed;
  --color-team-bg: #f5f3ff;
  --color-team-border: #ddd6fe;
  --color-team-text: #7c3aed;
  --color-team-text-dark: #5b21b6;
  --color-pos-first: #FFD700;
  --color-pos-second: #C0C0C0;
  --color-pos-third: #CD7F32;
  --color-pos-four-five: #AABFC9;
  --pos-marker-width: 4px;
  --rank-pos-min-width: 26px;
  --avatar-size-sm: 22px;
  --header-icon-size: 15px;
  --partner-logo-height: 30px;
  --space-2xs: 2px;
  --space-xs: 4px;
  --space-s: 6px;
  --space-sm: 8px;
  --space-md: 12px;
  --space-lg: 16px;
  --space-xl: 24px;
  --space-2xl: 32px;
  --font-heading:
    "PillGothic300mgBold",
    "Lucida Grande",
    Helvetica,
    Arial,
    sans-serif;
  --font-base: Arial, sans-serif;
  --font-mono:
    ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    monospace;
  --font-size-3xs: 0.625rem;
  --font-size-2xs: 0.6875rem;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.8125rem;
  --font-size-md: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.875rem;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --line-height-none: 1;
  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.12);
  --shadow-lg: 0 10px 25px -5px rgba(0, 0, 0, 0.3);
  --shadow-xl: 0 25px 60px rgba(0, 0, 0, 0.5);
  --transition-fast: 0.15s ease;
  --transition-base: 0.2s ease;
  --transition-smooth: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  --layout-max-width: 2000px;
  --sidebar-min-width: 260px;
  --modal-width-sm: 480px;
  --modal-width-md: 600px;
  --modal-width-lg: 800px;
  --modal-width-xl: 1200px;
  --z-index-table-sticky: 2;
  --z-index-table-sticky-head: 3;
  --z-index-sticky-header: 10;
  --z-index-loading-overlay: 20;
  --z-index-dropdown: 500;
  --z-index-backdrop: 990;
  --z-index-drawer: 1000;
  --z-index-modal: 1050;
}
html {
  font-family: var(--font-base);
  background:
    radial-gradient(
      ellipse at bottom,
      var(--color-bg-gradient-start) 0%,
      var(--color-bg-gradient-end) 100%) no-repeat fixed;
  color: var(--color-text-primary);
}
body {
  font-size: var(--font-size-base);
  display: grid;
  margin: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}
p {
  margin: var(--space-xs) 0;
}
h1,
h2,
h3,
h4,
h5 {
  font-family: var(--font-heading);
  color: var(--color-text-primary);
  margin: var(--space-lg) 0 var(--space-md) 0;
}
.footer h1,
.footer h2,
.footer h3,
.footer h4,
.footer h5 {
  color: var(--color-text-inverse);
}
a,
a:link,
a:visited {
  color: var(--color-link);
  text-decoration: none;
}
a:hover,
a:active {
  color: var(--color-link-hover);
  text-decoration: underline;
}
.font-bold {
  font-weight: var(--font-weight-bold);
}
.font-muted {
  color: var(--color-text-primary);
}
.text-center {
  text-align: center;
}
.hidden {
  display: none !important;
}
input[type=submit],
input[type=file],
select {
  background-color: var(--color-bg-surface);
}
textarea,
input[type=password],
input[type=text],
input[type=email] {
  background-color: var(--color-bg-surface);
}
textarea,
input[type=submit],
input[type=file],
input[type=password],
input[type=text],
input[type=email],
select {
  border: var(--border-width-md) solid var(--color-border-light);
  border-radius: var(--border-radius);
  color: var(--color-text-primary);
  cursor: pointer;
  padding: var(--space-sm) var(--space-md);
}
input[type=checkbox] {
  margin: 0;
}
table {
  font-size: var(--font-size-sm);
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  width: 100%;
  border-radius: var(--border-radius);
  border: var(--border-width-sm) solid var(--color-border-light);
  overflow: hidden;
}
table thead {
  font-family: var(--font-heading);
  color: var(--color-bg-surface);
  text-transform: none;
}
table thead tr th,
table thead tr td {
  padding: var(--space-md) var(--space-lg);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
}
table thead a,
table thead a:is(:link, :visited, :hover, :active, :focus, :focus-visible) {
  color: var(--color-text-inverse);
  text-decoration-color: currentColor;
}
.flex-row-item--world-record a,
.flex-row-item--world-record a:is(:link, :visited, :hover, :active, :focus, :focus-visible),
.side-area a,
.side-area a:is(:link, :visited, :hover, :active, :focus, :focus-visible),
table tbody a,
table tbody a:is(:link, :visited, :hover, :active, :focus, :focus-visible) {
  color: var(--color-text-primary);
  text-decoration-color: currentColor;
}
table tbody tr th,
table tbody tr td {
  padding: var(--space-sm) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
}
table tbody tr:last-child td {
  border-bottom: none;
}
table tbody tr:hover {
  background-color: var(--color-bg-hover);
  transition: background-color var(--transition-fast);
}
table tbody tr:nth-child(odd) {
  background-color: var(--color-bg-hover);
}
.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
}
.sticky-table table {
  overflow: visible;
}
.sticky-table table thead tr:first-child th:first-child,
.sticky-table table thead tr:first-child td:first-child {
  border-top-left-radius: calc(var(--border-radius) - var(--border-width-sm));
}
.sticky-table table thead tr:first-child th:last-child,
.sticky-table table thead tr:first-child td:last-child {
  border-top-right-radius: calc(var(--border-radius) - var(--border-width-sm));
}
.sticky-table table tbody tr:last-child th:first-child,
.sticky-table table tbody tr:last-child td:first-child {
  border-bottom-left-radius: calc(var(--border-radius) - var(--border-width-sm));
}
.sticky-table table tbody tr:last-child th:last-child,
.sticky-table table tbody tr:last-child td:last-child {
  border-bottom-right-radius: calc(var(--border-radius) - var(--border-width-sm));
}
.sticky-table--compare table thead h3 {
  color: var(--color-text-inverse);
  margin: var(--space-xs);
}
.sticky-table--compare table td {
  background-color: var(--color-bg-surface);
}
.sticky-table--compare table tbody tr td:nth-child(even) {
  background-color: var(--color-bg-hover);
}
.sticky-table--compare table thead tr th {
  background-color: var(--color-bg-dark);
  color: var(--color-text-white);
  border-right: var(--border-width-sm) solid var(--color-border-light);
}
.sticky-table table thead th.sticky-col,
.sticky-table table thead td.sticky-col,
.sticky-table--compare table thead th.sticky-col {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: var(--z-index-table-sticky-head);
  background-color: var(--color-bg-dark);
  background-clip: padding-box;
  box-shadow: 2px 0 5px rgba(0, 0, 0, 0.08);
}
.sticky-table table tbody th.sticky-col,
.sticky-table table tbody td.sticky-col,
.sticky-table--compare table tbody th.sticky-col {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: var(--z-index-table-sticky);
  background-color: var(--color-bg-surface);
  background-clip: padding-box;
  box-shadow: 2px 0 5px rgba(0, 0, 0, 0.08);
}
.sticky-table table tbody tr:hover th.sticky-col,
.sticky-table table tbody tr:hover td.sticky-col {
  background-color: var(--color-bg-hover);
}
body.waiting,
body.waiting * {
  cursor: wait;
}
.table-navigation {
  display: flex;
  justify-content: center;
  margin-top: var(--space-md);
}
.table-navigation .pagination {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}
.table-navigation .pagination li:not(:last-child) {
  margin-right: var(--space-xs);
}
.table-navigation .pagination .button {
  min-width: 32px;
  height: 32px;
  padding: 0 var(--space-xs);
  border-radius: var(--border-radius);
  border: var(--border-width-sm) solid var(--color-border-light);
  background-color: var(--color-bg-surface);
  color: var(--color-text-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}
.table-navigation .pagination .button.button--primary,
.table-navigation .pagination .button.focus {
  background-color: var(--color-text-primary);
  color: var(--color-text-white);
  border-color: var(--color-text-primary);
}
.table-navigation .pagination .button:not(.button--primary):not(.focus):hover {
  background-color: var(--color-bg-hover);
}
.table-avatar-wrapper {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}
.table-avatar-wrapper img {
  width: 30px;
  height: 30px;
  border-radius: var(--border-radius-circle);
}
.table-avatar-wrapper .participant {
  width: 130px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.table-avatar-wrapper--followers {
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  padding: var(--space-xs) var(--space-sm);
  box-sizing: border-box;
  transition: background-color var(--transition-fast), border-color var(--transition-fast);
}
.table-avatar-wrapper--followers:hover {
  background: var(--color-bg-hover);
  border-color: var(--color-border-standard);
}
.table-first-pos {
  border-left: var(--border-width-xl) solid var(--color-pos-first);
}
.table-second-pos {
  border-left: var(--border-width-xl) solid var(--color-pos-second);
}
.table-third-pos {
  border-left: var(--border-width-xl) solid var(--color-pos-third);
}
.table-pos {
  border-left: var(--border-width-xl) solid var(--color-pos-four-five);
}
.scrollable-table-wrapper {
  max-height: 200px;
  overflow-y: auto;
  overflow-x: auto;
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  background: var(--color-bg-surface);
}
.scrollable-table-wrapper table {
  border: none;
  border-radius: 0;
  margin: 0;
  overflow: visible;
}
.scrollable-table-wrapper table thead tr th,
.scrollable-table-wrapper table thead tr td {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 10;
  background: var(--color-bg-dark);
}
.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;
  min-width: 0;
}
.side-area {
  font-size: var(--font-size-sm);
  background: var(--color-bg-main);
  padding: var(--space-lg) 0;
  min-width: 0;
  box-sizing: border-box;
}
.side-area h1,
.side-area h2,
.side-area h3 {
  font-size: var(--font-size-lg);
  margin: var(--space-sm) 0 var(--space-xs) 0;
  line-height: var(--line-height-tight);
}
.side-area h2 a {
  color: var(--color-text-heading);
  text-decoration: none;
}
.side-area h2 a:hover {
  color: var(--color-primary);
  text-decoration: underline;
}
.side-area--tree {
  background: var(--color-bg-surface);
}
.footer {
  background: var(--color-bg-hover-dark);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-inverse);
}
.footer a,
.footer a:link,
.footer a:visited {
  color: var(--color-text-inverse);
}
.footer a:is(:hover, :focus-visible, :active) {
  color: var(--color-text-white);
  text-decoration: underline;
}
.content {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) 20px;
  row-gap: var(--space-sm);
  font-size: var(--font-size-sm);
}
.content > * {
  grid-column: 2;
}
.content > .flex-row--world-records {
  grid-column: 1/-1;
}
.sub-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.hero-banner {
  width: 100%;
  box-sizing: border-box;
  background: var(--color-bg-extra);
  border-radius: var(--border-radius);
  padding: var(--space-lg) var(--space-md);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.hero-title {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-inverse);
  margin: 0;
}
.hero-subtitle {
  color: var(--color-text-inverse);
  margin: 0;
}
.hardware-hero-section {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-lg);
  margin-bottom: var(--space-xl);
}
.hardware-hero-image-card {
  flex: 1 1 300px;
  max-width: 100%;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius);
  padding: var(--space-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.hardware-benchmark-image-wrapper img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
.hardware-hero-stats-grid {
  flex: 2 1 320px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-md);
}
.hardware-hero-stat-card {
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius);
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  box-sizing: border-box;
}
.hardware-hero-stat-card h3 {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  margin: 0 0 var(--space-xs) 0;
  text-align: center;
}
.hardware-sub-label {
  color: var(--color-text-secondary);
  margin: 0 0 var(--space-sm) 0;
  text-align: center;
}
.hardware-stat-label {
  color: var(--color-text-secondary);
  margin: 0;
  text-align: center;
}
.hardware-family-link {
  color: var(--color-link);
  text-decoration: none;
  margin-top: var(--space-sm);
  text-align: center;
}
.hardware-family-link:hover {
  color: var(--color-link-hover);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.hardware-tab-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-sm);
  margin-top: var(--space-sm);
  width: 100%;
}
.hardware-tab-menu .button {
  flex: 1 1 auto;
  text-align: center;
  padding: var(--space-sm) var(--space-md);
}
.image-modal {
  display: none;
  position: fixed;
  z-index: 1;
  padding: 50px 0 0 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(0, 0, 0);
  background-color: rgba(0, 0, 0, 0.9);
}
.image-modal-content {
  margin: auto auto;
  display: block;
  max-width: 80%;
  max-height: 90%;
}
.image-wrapper {
  width: 100%;
  overflow: hidden;
}
.image {
  max-width: 100%;
  height: auto;
  display: block;
}
.benchmark-image-wrapper {
  background: black;
  border-radius: var(--border-radius);
  align-content: center;
}
.benchmark-image-wrapper img {
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  width: 100%;
  max-width: 400px;
}
.list--stages {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  margin: 0;
  padding: 0;
  list-style: none;
}
.list li.stage-info {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding: var(--space-xs) 0;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  box-sizing: border-box;
}
.list li.stage-info:last-child {
  border-bottom: none;
}
.stage-info-main {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  min-width: 0;
  width: 100%;
}
.stage-info-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  width: 100%;
}
.stage-number {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-family: var(--font-mono);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-heading);
  background-color: var(--color-border-subtle);
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--border-radius-xs);
  border: var(--border-width-sm) solid transparent;
  flex-shrink: 0;
}
.stage-number i {
  font-size: var(--font-size-2xs);
}
.stage-number--running {
  background-color: var(--color-success-bg);
  color: var(--color-success-text);
  border-color: var(--color-success-border);
}
.stage-number--running i {
  color: var(--color-success);
}
.stage-number--closed {
  background-color: var(--color-error-bg);
  color: var(--color-error-text);
  border-color: var(--color-error-border);
}
.stage-number--closed i {
  color: var(--color-error);
}
.stage-number--upcoming {
  background-color: var(--color-border-subtle);
  color: var(--color-text-secondary);
  border-color: var(--color-border-dashed);
}
.stage-number--upcoming i {
  color: var(--color-text-secondary);
}
.stage-info .stage-link {
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  text-decoration: none;
  display: inline-flex;
  align-items: baseline;
  gap: var(--space-sm);
  width: 100%;
  min-width: 0;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  line-height: var(--line-height-tight);
}
.stage-info .stage-link span {
  min-width: 0;
  word-break: break-word;
  overflow-wrap: break-word;
}
.stage-info .stage-link:hover {
  color: var(--color-link);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.stage-info.active {
  background-color: var(--color-info-bg);
}
.stage-info.active .stage-link {
  color: var(--color-primary);
  font-weight: var(--font-weight-bold);
}
.stage-info .stage-link i {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.stage-info .stage-link:hover i {
  color: var(--color-link);
}
.stage-info-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-md);
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}
.stage-meta-item {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
}
.stage-meta-rank {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
}
.stage-meta-rank .fa-trophy {
  color: var(--color-warning);
  margin-right: var(--space-xs);
}
.stage-meta-rank.rank--gold .fa-trophy {
  color: var(--color-warning-star);
}
.stage-meta-rank.rank--silver .fa-trophy {
  color: var(--color-text-muted);
}
.stage-meta-rank.rank--bronze .fa-trophy {
  color: var(--color-warning);
}
.stage-info .text-muted .fa-trophy {
  color: var(--color-border-dashed);
  margin-right: var(--space-xs);
}
.stage-meta-score {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
}
.stage-info .text-muted {
  color: var(--color-text-muted);
}
.stage-info .score-link {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  text-decoration: none;
  transition: color var(--transition-fast);
}
.stage-info .score-link:hover {
  color: var(--color-error);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.stage-info .target-icon {
  color: var(--color-error);
  margin-right: var(--space-xs);
}
.grid-box {
  display: grid;
  gap: var(--space-md);
}
.grid-box--submit-hardware {
  grid-template-columns: auto auto;
}
.grid-box--submit-hardware > div {
  display: flex;
  flex-direction: column;
}
.grid-box--submit-hardware img {
  max-width: 120px;
  max-height: 120px;
  object-fit: contain;
  margin: 0 auto;
  border-radius: var(--border-radius);
  border: var(--border-width-sm) solid var(--color-border-light);
}
.wall-submission-card {
  display: flex;
  flex-direction: column;
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  background: var(--color-bg-surface);
  overflow: hidden;
  gap: 0;
  margin-bottom: var(--space-sm);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.wall-submission-card:hover {
  border-color: var(--color-border-standard);
}
.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));
}
.card,
.grid-box-card {
  display: flex;
  flex-direction: column;
  padding: var(--space-md);
  border-radius: var(--border-radius);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  font-size: var(--font-size-sm);
  min-width: 0;
}
.card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  margin-bottom: var(--space-md);
}
.card__title,
.card-title {
  margin: 0;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
}
.card > :is(h2, h3):first-child,
.grid-box-card > :is(h2, h3):first-child,
.card__body > :is(h2, h3):first-child,
.card-body > :is(h2, h3):first-child {
  margin-top: 0;
  margin-bottom: var(--space-md);
  font-size: var(--font-size-lg);
  line-height: var(--line-height-tight);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.card > :is(h2, h3):last-child,
.grid-box-card > :is(h2, h3):last-child,
.card__body > :is(h2, h3):last-child,
.card-body > :is(h2, h3):last-child {
  margin-bottom: 0;
}
.grid-box-card--benchmark-stats > :is(h2, h3):first-child {
  justify-content: center;
}
.card__body,
.card-body {
  flex: 1;
  min-width: 0;
}
.card__footer {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  margin-top: var(--space-md);
  padding-top: var(--space-md);
  border-top: var(--border-width-sm) solid var(--color-border-subtle);
}
.grid-box-card--submit-hardware {
  flex-direction: column;
  flex: 1;
}
.grid-box-card--description {
  flex-direction: column;
  white-space: pre-line;
  overflow-wrap: break-word;
}
.card--sidebar-ranking,
.grid-box-card--sidebar-ranking,
.grid-box-card.grid-box-card--sidebar-ranking {
  position: relative;
  flex-direction: column;
  gap: var(--space-md);
  background: transparent;
  border: none;
  padding: 0;
  min-width: 0;
  overflow: hidden;
  box-sizing: border-box;
}
.grid-box-card--news {
  background: var(--color-bg-hover);
  position: relative;
  cursor: pointer;
  transition:
    transform var(--transition-base),
    box-shadow var(--transition-base),
    background-color var(--transition-base);
}
.grid-box-card--news .flex-row--news-footer a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.grid-box-card--news {
  flex-direction: column;
  text-align: left;
}
.grid-box-card--achievement {
  flex-direction: column;
  text-align: center;
}
.grid-box-card--benchmark-stats,
.grid-box-card--partner {
  flex-direction: column;
  text-align: center;
  justify-content: center;
  align-content: center;
}
.stat-status {
  color: var(--color-warning);
}
.grid-box-card--news:hover {
  background-color: var(--color-bg-hover);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.wall-card__body {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--space-sm) var(--space-lg);
  padding: var(--space-sm) var(--space-md);
  flex-wrap: wrap;
  min-width: 0;
}
.wall-card__rankings {
  border-top: var(--border-width-sm) solid var(--color-border-light);
  background: var(--color-bg-subtle);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-md);
  padding: var(--space-sm) var(--space-md);
  min-width: 0;
}
.wall-card__rankings .grid-spec {
  width: 100%;
  min-width: 0;
}
.wall-card__rankings .grid-spec-row {
  overflow: visible;
  border-bottom: none;
  padding: 0;
}
.wall-card__date {
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  flex-shrink: 0;
}
.wall-card__user {
  flex-shrink: 0;
}
.wall-card__user a {
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-heading);
}
.wall-card__benchmark a {
  font-weight: var(--font-weight-semibold);
  color: var(--color-link);
}
.wall-card__hardware {
  font-size: var(--font-size-xs);
  color: var(--color-text-primary);
}
.wall-card__hardware a {
  color: var(--color-text-primary);
  text-decoration: none;
}
.wall-card__hardware a:hover {
  color: var(--color-link);
}
.wall-card__cores {
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  background: var(--color-bg-alt);
  padding: var(--space-3xs) var(--space-2xs);
  border-radius: var(--border-radius-sm);
  white-space: nowrap;
  flex-shrink: 0;
}
.wall-card__cooling {
  flex-shrink: 0;
}
.wall-card__score {
  margin-left: auto;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-base);
  white-space: nowrap;
  flex-shrink: 0;
}
.wall-card__score a {
  color: var(--color-link);
  text-decoration: none;
}
.wall-card__score a:hover {
  color: var(--color-link-hover);
  text-decoration: underline;
}
.grid-box-card--benchmarks {
  flex-direction: column;
  padding: 0;
  border-radius: 0;
  background: none;
  border: 0;
}
.grid-box-card--benchmarks,
.grid-box-card--compo,
.grid-box-card--hardware-overview,
.grid-box-card--highlight-submission,
.grid-box-card--league-info,
.grid-box-card--login,
.grid-box-card--profile,
.grid-box-card--register,
.grid-box-card--reset-password,
.grid-box-card--search,
.grid-box-card--submission-hardware,
.grid-box-card--top-filter {
  flex-direction: column;
}
.card--competition,
.grid-box-card--compo {
  min-width: 0;
}
.card--competition .card-body,
.card--competition .card__body,
.grid-box-card--compo .card-body {
  min-width: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.card--competition .ranking-empty-card,
.grid-box-card--compo .ranking-empty-card {
  flex: 1;
}
.grid-box-card--highlight-submission {
  background: var(--color-bg-surface);
  flex-direction: column;
}
.card--hardware-header {
  gap: var(--space-md);
  margin-bottom: var(--space-lg);
}
.card--hardware-header .card__header {
  flex-wrap: wrap;
  gap: var(--space-sm);
  padding-bottom: var(--space-sm);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  margin-bottom: 0;
}
.card--hardware-header .card__title {
  font-size: var(--font-size-xl);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.hardware-icon {
  color: var(--color-text-primary);
  font-size: var(--font-size-lg);
}
.hardware-header__badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs);
}
.hardware-header__badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--border-radius-full);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-light);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-normal);
}
.card--hardware-header .hardware-hero-stats-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--space-sm);
}
.card--hardware-header .hardware-hero-stat-card {
  background: var(--color-bg-card);
  border-color: var(--color-border-light);
  padding: var(--space-md);
}
.card--hardware-header .hardware-hero-stat-card h3 {
  font-size: var(--font-size-2xl);
  line-height: var(--line-height-none);
  margin-bottom: var(--space-2xs);
}
.card--hardware-header .hardware-hero-stat-card .hardware-stat-label {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.card--hardware-header .grid-spec {
  margin-top: var(--space-md);
}
.grid-box--benchmarks {
  align-items: start;
}
.grid-box--benchmarks .card__title {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-size: var(--font-size-md);
}
.benchmark-overview-column {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
}
.grid-spec {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  margin: 0;
  padding: 0;
  width: 100%;
}
.grid-spec-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-xs) 0;
  overflow: auto;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.grid-spec-row .table-avatar-wrapper > a {
  font-size: var(--font-size-lg);
}
.grid-spec-row--stacked {
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-xs);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.grid-spec-row:last-child {
  border-bottom: none;
}
.grid-spec-row .attribute {
  display: block;
  color: var(--color-text-primary);
  flex-shrink: 0;
}
.grid-spec-row .attribute-nowrap {
  white-space: nowrap;
}
.grid-spec-row--stacked .attribute {
  color: var(--color-text-secondary);
  margin-bottom: var(--space-2xs);
}
.grid-spec-row .value {
  display: block;
  color: var(--color-text-primary);
}
.grid-spec-row--stacked .value {
  text-align: left;
  width: 100%;
  margin: 0;
}
.grid-spec-row .button {
  padding: var(--space-xs) var(--space-sm);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-tight);
}
.card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-sm);
  margin-top: var(--space-2xl);
  padding-top: var(--space-lg);
  border-top: var(--border-width-sm) solid var(--color-border-light);
}
.card-actions .button {
  padding: var(--space-xs) var(--space-sm);
  font-size: var(--font-size-sm);
  gap: var(--space-xs);
}
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: var(--z-index-modal);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--transition-smooth), visibility var(--transition-smooth);
}
.modal-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.modal-dialog {
  background: var(--color-bg-main);
  width: 90%;
  max-width: 1200px;
  max-height: 85vh;
  border-radius: var(--border-radius);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: var(--shadow-md);
}
.modal-dialog--result-history {
  max-width: var(--modal-width-md);
}
.modal-dialog--result-moderation {
  max-width: var(--modal-width-lg);
}
.modal-dialog--social {
  max-width: var(--modal-width-sm);
}
.modal-dialog__header,
.modal-header {
  padding: var(--space-sm) var(--space-lg);
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.modal-dialog__body,
.modal-body {
  padding: var(--space-md);
  overflow-y: auto;
  flex-grow: 1;
}
.modal-dialog__footer,
.modal-footer {
  padding: var(--space-md) var(--space-lg);
  border-top: var(--border-width-sm) solid var(--color-border-light);
  text-align: right;
}
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.list {
  display: grid;
  gap: var(--space-md);
}
.list li {
  padding: var(--space-md) 0;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.list li:last-child {
  border-bottom: none;
}
.list--scrollable {
  max-height: 160px;
  overflow-y: auto;
  padding-right: var(--space-xs);
}
.profile-banner-wrapper {
  position: relative;
  width: 100%;
}
.profile-banner-wrapper.has-banner .profile-banner img {
  width: 100%;
  aspect-ratio: 6 / 1;
  min-height: 120px;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: var(--border-radius-xs);
}
.profile-banner-wrapper.has-banner .avatar-wrapper {
  position: absolute;
  bottom: 12px;
  left: 20px;
  z-index: 2;
}
.profile-banner-wrapper.has-banner .avatar {
  width: 120px;
  height: 120px;
  border-radius: var(--border-radius-circle);
  border: var(--border-width-md) solid var(--color-text-white);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.7);
  object-fit: cover;
  display: block;
}
.profile-banner-wrapper.no-banner .avatar-wrapper {
  position: static;
}
.profile-banner-wrapper.no-banner .avatar {
  width: 120px;
  height: 120px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  display: block;
}
.side-area .content.executor ul,
.terms-and-conditions .content ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.side-area .content.executor ul li {
  padding: var(--space-xs) 0;
}
.filter .list,
.filter ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.filter .list li,
.filter ul li {
  padding: var(--space-xs) 0;
}
.filter .filter-key {
  margin-bottom: var(--space-xs);
  font-weight: var(--font-weight-bold);
}
.filter .ranking-filter {
  display: flex;
  flex-wrap: wrap;
  overflow-x: visible;
  white-space: normal;
  gap: var(--space-sm);
  padding: var(--space-xs) 0 var(--space-sm) 0;
  margin-bottom: var(--space-md);
}
.filter-chips-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-xs);
  padding: var(--space-xs) var(--space-sm);
  background: var(--color-bg-surface);
  border-radius: var(--border-radius);
  border: var(--border-width-sm) solid var(--color-border-light);
  margin-top: var(--space-xs);
}
.filter-chips-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-sm);
}
.filter-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-2xs) var(--space-sm);
  background: var(--color-bg-main);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius-lg);
  color: var(--color-text-main);
  line-height: var(--line-height-normal);
}
.filter-chip-label {
  white-space: nowrap;
}
.filter-chip-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: var(--color-text-muted);
  line-height: var(--line-height-none);
  padding: 0;
  margin: 0;
  cursor: pointer;
  border-radius: var(--border-radius-circle);
  width: 16px;
  height: 16px;
}
.filter-chip-remove:hover {
  color: var(--color-error);
  background: var(--color-error-bg);
}
.filter-chip-clear-all {
  background: transparent;
  border: none;
  color: var(--color-text-secondary);
  cursor: pointer;
  padding: var(--space-2xs) var(--space-sm);
  text-decoration: underline;
  line-height: var(--line-height-normal);
}
.filter-chip-clear-all:hover {
  color: var(--color-error);
}
.hardware-chips-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  align-items: center;
  width: 100%;
}
.hardware-chip {
  display: inline-flex;
  align-items: center;
  padding: var(--space-2xs) var(--space-sm);
  background: var(--color-bg-main);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius-lg);
  color: var(--color-text-primary);
  text-decoration: none;
  font-size: var(--font-size-xs);
  line-height: var(--line-height-normal);
  transition:
    background-color var(--transition-fast),
    border-color var(--transition-fast),
    color var(--transition-fast);
}
.hardware-chip:hover,
.hardware-chip:focus-visible {
  background: var(--color-bg-hover);
  border-color: var(--color-border-standard);
  color: var(--color-text-primary);
  text-decoration: none;
}
.hardware-chips-scroll {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  max-height: 220px;
  overflow-y: auto;
  padding: var(--space-xs) 0;
  width: 100%;
  -webkit-overflow-scrolling: touch;
}
.hardware-expand-details {
  width: 100%;
  margin-top: var(--space-xs);
}
.hardware-expand-summary {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-2xs) var(--space-sm);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-primary);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-lg);
  cursor: pointer;
  list-style: none;
  user-select: none;
  transition: background-color var(--transition-fast), border-color var(--transition-fast);
}
.hardware-expand-summary::-webkit-details-marker,
.hardware-expand-summary::marker {
  display: none;
}
.hardware-expand-summary:hover,
.hardware-expand-summary:focus-visible {
  background: var(--color-bg-hover);
  border-color: var(--color-border-standard);
}
.hardware-expand-summary .fa-chevron-down {
  color: var(--color-text-primary);
  font-size: var(--font-size-2xs);
  transition: transform var(--transition-fast);
}
.hardware-expand-details[open] > .hardware-expand-summary .fa-chevron-down {
  transform: rotate(180deg);
}
.hardware-expand-details .expand-text-less {
  display: none;
}
.hardware-expand-details[open] .expand-text-more {
  display: none;
}
.hardware-expand-details[open] .expand-text-less {
  display: inline;
}
.badge--count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--space-xs);
  border-radius: var(--border-radius-full);
  background: var(--color-bg-hover);
  color: var(--color-text-secondary);
  border: var(--border-width-sm) solid var(--color-border-light);
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  min-width: 18px;
  height: 18px;
  line-height: var(--line-height-none);
  margin-left: var(--space-2xs);
}
.progressbar {
  border: var(--border-width-sm) solid var(--color-border-standard);
  margin: var(--space-xs) auto;
  width: 100px;
  height: 5px;
}
.progressbar > div {
  background: green;
  height: 100%;
  width: 100%;
}
.submission-suggestions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-md);
  background-color: var(--color-info-bg);
  border: var(--border-width-sm) solid var(--color-info-border);
  border-left: var(--border-width-lg) solid var(--color-primary);
  padding: var(--space-md) var(--space-lg);
  border-radius: var(--border-radius-sm);
  max-width: 100%;
  box-sizing: border-box;
  overflow: auto;
}
.submission-suggestion {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  color: var(--color-primary-hover);
  min-width: 0;
}
.button.btn-participate .contest-name {
  font-weight: var(--font-weight-bold);
}
.button.btn-participate .stage-name {
  opacity: 0.9;
  font-weight: var(--font-weight-bold);
}
.submission-score-card {
  display: flex;
  gap: var(--space-sm);
  align-items: center;
  padding: 0 var(--space-md);
  max-width: 100%;
  box-sizing: border-box;
  font-family: var(--font-heading);
  margin-bottom: var(--space-md);
  font-size: var(--font-size-3xl);
}
.submission-score-card .avatar-wrapper {
  flex-shrink: 0;
}
.submission-score-card .avatar-wrapper a {
  text-decoration: none;
}
.submission-score-card .avatar {
  width: 120px;
  height: 120px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  display: block;
}
.submission-score-card .score-details {
  display: flex;
  gap: var(--space-sm);
  flex-direction: column;
}
.submission-score-card .score-details-row {
  display: flex;
  gap: var(--space-sm);
  flex-direction: row;
  align-items: center;
}
.submission-score-card .user-info {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--space-sm);
}
.submission-score-card .score-label,
.submission-score-card .connector-text {
  color: gray;
  font-style: italic;
}
.submission-score-card .temp-wrapper {
  display: inline-flex;
  align-items: center;
  background-color: var(--color-text-inverse);
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-secondary);
}
.submission-sub-score {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm) var(--space-md);
  margin-top: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  background-color: var(--color-text-inverse);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-sm);
  box-sizing: border-box;
}
.submission-sub-score .sub-score-item {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
}
.submission-sub-score .sub-score-name {
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-bold);
}
.submission-sub-score .sub-score-name::after {
  content: ":";
}
.submission-sub-score .sub-score-val {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.form-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  width: 100%;
  margin-bottom: var(--space-md);
}
.form-row.form-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-md);
  margin-top: var(--space-md);
}
.form-row.form-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-md);
}
.form-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  flex: 1 1 auto;
  min-width: 0;
}
.form-group--benchmark {
  max-width: 400px;
}
.form-group--narrow,
.form-group--file-upload {
  max-width: 480px;
}
.form-group--row {
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
}
.form-group--row > label {
  width: 100%;
}
.form-group--row > input {
  flex: 1;
}
.form-group-checkbox {
  display: flex;
  align-items: center;
  margin-top: var(--space-sm);
}
.form-group label {
  color: var(--color-text-primary);
}
.form-group-checkbox label {
  display: inline-flex;
  align-items: center;
  gap: var(--space-md);
  cursor: pointer;
  user-select: none;
  color: var(--color-text-primary);
}
.form-group-checkbox input[type=checkbox] {
  width: 20px;
  height: 20px;
  cursor: pointer;
  accent-color: var(--color-text-primary);
}
.form-group-checkbox input[type=checkbox].field-error {
  outline: 2px solid var(--color-error);
  outline-offset: 1px;
  border-color: var(--color-error);
}
.form-group-checkbox.has-error,
.form-group-checkbox.field-error {
  padding: var(--space-xs, 0.5rem);
  border: var(--border-width-sm) solid var(--color-error);
  border-radius: var(--border-radius-sm);
  background-color: var(--color-error-bg, rgba(220, 38, 38, 0.03));
}
.form-group-checkbox .binding-error {
  color: var(--color-error);
}
.form-group.has-error label {
  color: var(--color-error);
}
.form-group.has-error input {
  border-color: var(--color-error);
  background-color: var(--color-error-bg);
}
.form-filter {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--space-xs);
}
#ranking_filter {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--space-md) var(--space-lg);
  margin-bottom: var(--space-md);
}
#ranking_filter .form-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  flex: 0 1 auto;
  max-width: 100%;
}
.form-input-search-wrapper {
  position: relative;
  width: 100%;
}
.form-input-search-wrapper .search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-text-muted);
}
.form-input-search-wrapper input {
  width: 100%;
  padding-left: 36px;
  box-sizing: border-box;
}
.form-input-with-unit {
  display: flex;
  align-items: center;
  border: var(--border-width-md) solid var(--color-border-light);
  border-radius: var(--border-radius);
  padding-right: var(--space-md);
}
.form-input-with-unit .form-input {
  border: none;
  flex: 1;
  outline: none;
}
.form-input.field-error {
  border: var(--border-width-md) solid var(--color-error);
}
.form-input-with-unit .form-input.field-error {
  border: none;
}
.form-input-with-unit .field-error {
  border: none;
  outline: none;
}
.form-unit-suffix {
  color: var(--color-text-secondary);
  white-space: nowrap;
  user-select: none;
}
.form-input-with-unit.field-error {
  border: var(--border-width-md) solid var(--color-error);
}
.binding-error {
  color: var(--color-error);
}
.banner-image {
  margin: var(--space-sm) 0;
}
.banner-image img {
  width: 100%;
  height: auto;
  min-height: 100px;
  border-radius: var(--border-radius);
  display: block;
}
.competition-leader,
.timer,
.stages-sidebar-grid {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.grid-box-card--stages,
.grid-box-card--leader,
.card--timer {
  background-color: var(--color-bg-main);
}
.stages-sidebar-grid .stage-info {
  padding: var(--space-xs) var(--space-sm);
  border-radius: var(--border-radius-xs);
  border-bottom-color: transparent;
}
.stages-sidebar-grid .stage-info.active {
  background-color: transparent;
}
.stages-sidebar-grid .stage-info.active .stage-link {
  color: var(--color-text-primary);
}
.stages-sidebar-grid .stage-info.active .stage-link:hover {
  color: var(--color-link);
}
.stages-sidebar-grid .stage-number {
  background-color: var(--color-border-subtle);
  border-color: transparent;
  color: var(--color-text-primary);
}
.stages-sidebar-grid .stage-number i {
  color: inherit;
}
.stages-sidebar-grid h2 {
  margin: 0 0 var(--space-md) 0;
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-text-secondary);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
  padding-bottom: var(--space-sm);
}
.text-gold {
  color: var(--color-warning);
  filter: drop-shadow(0 0 4px rgba(245, 158, 11, 0.3));
}
.text-crimson {
  color: var(--color-error);
}
.text-amber {
  color: var(--color-warning);
}
.text-slate {
  color: var(--color-text-muted);
}
.competition-leader__header,
.timer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  margin-bottom: var(--space-md);
}
.competition-leader__header h2,
.timer__header h2 {
  margin: 0;
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}
.competition-leader__hero {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding-bottom: var(--space-md);
  margin-bottom: var(--space-md);
  border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
}
.competition-leader__avatar-wrap {
  position: relative;
  flex-shrink: 0;
  display: inline-flex;
}
.competition-leader__avatar {
  width: 52px;
  height: 52px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  border: var(--border-width-md) solid var(--color-warning-star);
  box-shadow: 0 0 10px rgba(234, 179, 8, 0.25);
}
.competition-leader__pos-pill {
  position: absolute;
  bottom: -2px;
  right: -4px;
  background: var(--color-warning-star);
  color: var(--color-text-heading);
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-extrabold);
  font-family: var(--font-mono);
  padding: var(--space-2xs) var(--space-xs);
  border-radius: var(--border-radius-full);
  border: var(--border-width-sm) solid var(--color-text-white);
  line-height: var(--line-height-none);
  box-shadow: var(--shadow-sm);
}
.competition-leader__details {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  min-width: 0;
}
.competition-leader__identity {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  flex-wrap: wrap;
}
.competition-leader__name {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.competition-leader__name:hover {
  color: var(--primary, var(--color-primary));
  text-decoration: underline;
}
.competition-leader__subtext {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-medium);
}
.competition-leader__subtext i {
  font-size: var(--font-size-xs);
  color: var(--color-text-muted);
}
.competition-leader__stats {
  width: 100%;
}
.competition-leader__stat-box {
  background: var(--color-bg-main);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius);
  padding: var(--space-md) var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.competition-leader__stat-label {
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-semibold);
}
.competition-leader__stat-val {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-extrabold);
  color: var(--color-text-heading);
  letter-spacing: 0.02em;
}
.competition-leader__stat-val small {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-secondary);
  margin-left: var(--space-2xs);
  text-transform: uppercase;
}
.timer__clock {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-sm);
}
.timer__tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--color-text-heading);
  border: var(--border-width-sm) solid var(--color-border-dark);
  border-radius: var(--border-radius);
  padding: var(--space-md) var(--space-xs) var(--space-sm);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25);
  min-width: 0;
}
.timer__count {
  color: var(--color-text-inverse);
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-extrabold);
  line-height: var(--line-height-tight);
  letter-spacing: 0.02em;
}
.timer__unit {
  text-transform: uppercase;
  text-align: center;
  color: var(--color-text-secondary);
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.08em;
  margin-top: var(--space-xs);
}
.timer__clock--closed .timer__tile {
  background: var(--color-bg-main);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  box-shadow: none;
}
.timer__clock--closed .timer__count {
  color: var(--color-text-muted);
}
.timer__clock--closed .timer__unit {
  color: var(--color-text-muted);
}
.timer__meta {
  margin-top: var(--space-md);
  padding-top: var(--space-xs);
  border-top: var(--border-width-sm) solid var(--color-border-subtle);
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
}
.timer__meta i {
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
  flex-shrink: 0;
}
.timer__meta strong {
  color: var(--color-text-heading);
  font-weight: var(--font-weight-semibold);
}
.competition-leader__empty {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-lg);
  background: var(--color-bg-main);
  border: var(--border-width-sm) dashed var(--color-border-dashed);
  border-radius: var(--border-radius);
  width: 100%;
  box-sizing: border-box;
}
.competition-leader__empty-icon {
  font-size: var(--font-size-2xl);
  color: var(--color-border-dashed);
  flex-shrink: 0;
}
.competition-leader__empty-details {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  min-width: 0;
}
.competition-leader__empty-title {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.competition-leader__empty-subtitle {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
  letter-spacing: 0.02em;
}
.ranking-empty-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: var(--space-md);
  padding: var(--space-xl) var(--space-lg);
  background: var(--color-bg-card);
  border: var(--border-width-sm) dashed var(--color-border-dashed);
  border-radius: var(--border-radius);
  box-sizing: border-box;
  width: 100%;
}
.ranking-empty-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: var(--border-radius-circle);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  color: var(--color-text-muted);
  font-size: var(--font-size-2xl);
  flex-shrink: 0;
  box-shadow: var(--shadow-sm);
}
.ranking-empty-icon--upcoming {
  border-color: rgba(2, 132, 199, 0.2);
}
.ranking-empty-icon--open {
  color: var(--color-warning-star);
  background: rgba(234, 179, 8, 0.08);
  border-color: rgba(234, 179, 8, 0.2);
}
.ranking-empty-icon--comments {
  border-color: rgba(99, 102, 241, 0.2);
}
.ranking-empty-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-xs);
  min-width: 0;
}
.ranking-empty-title {
  margin: 0;
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  letter-spacing: 0.01em;
}
.ranking-empty-subtitle {
  margin: 0;
  font-size: var(--font-size-md);
  color: var(--color-text-secondary);
  line-height: var(--line-height-normal);
}
.ranking-empty-subtitle strong {
  color: var(--color-text-heading);
  font-weight: var(--font-weight-semibold);
}
.season-points-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  width: 100%;
}
.season-points-item {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-xs) var(--space-sm);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-left: var(--border-width-lg) solid transparent;
  border-radius: var(--border-radius);
  transition: background-color var(--transition-fast), border-color var(--transition-fast);
  min-height: 48px;
  box-sizing: border-box;
}
.season-points-item:hover {
  background-color: var(--color-bg-hover);
  border-color: var(--color-border-standard);
}
.season-points-item--gold {
  border-left-color: var(--color-warning-star);
}
.season-points-item--silver {
  border-left-color: var(--color-text-muted);
}
.season-points-item--bronze {
  border-left-color: var(--color-warning);
}
.season-points-item__rank {
  font-family: var(--font-mono);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  min-width: 36px;
  display: flex;
  align-items: center;
  gap: var(--space-2xs);
  flex-shrink: 0;
}
.season-points-item__rank--gold {
  color: var(--color-warning);
}
.season-points-item__rank--gold .fa-trophy {
  color: var(--color-warning-star);
  filter: drop-shadow(0 0 3px rgba(245, 158, 11, 0.4));
}
.season-points-item__rank--silver {
  color: var(--color-text-secondary);
}
.season-points-item__rank--silver .fa-trophy {
  color: var(--color-text-muted);
}
.season-points-item__rank--bronze {
  color: var(--color-warning);
}
.season-points-item__competitor {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  min-width: 0;
  flex: 1;
}
.season-points-item__avatar {
  width: 32px;
  height: 32px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  flex-shrink: 0;
}
.season-points-item__avatar-flag {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}
.season-points-item__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.season-points-item__name {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.season-points-item__name:hover {
  color: var(--color-link);
  text-decoration: underline;
}
.season-points-item__subtext {
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.season-points-item__subtext a {
  color: var(--color-text-secondary);
  text-decoration: none;
}
.season-points-item__subtext a:hover {
  color: var(--color-link);
  text-decoration: underline;
}
.season-points-item__sub-avatar {
  width: 16px;
  height: 16px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  flex-shrink: 0;
}
.season-points-item__participants {
  font-size: var(--font-size-2xs);
  color: var(--color-text-secondary);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2xs);
}
.season-points-item__participants a {
  color: var(--color-text-secondary);
  text-decoration: none;
}
.season-points-item__participants a:hover {
  color: var(--color-link);
  text-decoration: underline;
}
.season-points-item__points {
  display: flex;
  align-items: baseline;
  gap: var(--space-2xs);
  background: var(--color-bg-main);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  padding: var(--space-2xs) var(--space-sm);
  border-radius: var(--border-radius-xs);
  flex-shrink: 0;
  margin-left: auto;
}
.season-points-item__points-val {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-extrabold);
  color: var(--color-text-heading);
}
.season-points-item__points-unit {
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-secondary);
  text-transform: uppercase;
}
.season-points-list__empty {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-lg);
  background: var(--color-bg-main);
  border: var(--border-width-sm) dashed var(--color-border-dashed);
  border-radius: var(--border-radius);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  justify-content: center;
}
.compo-back-link,
.compo-back-link:link,
.compo-back-link:visited {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  width: fit-content;
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  text-decoration: none;
  line-height: var(--line-height-normal);
  transition: color var(--transition-fast);
  padding: var(--space-xs) 0;
}
.compo-back-link:hover,
.compo-back-link:active,
.compo-back-link:focus-visible {
  color: var(--color-primary);
  text-decoration: none;
}
.compo-back-link i {
  font-size: var(--font-size-xs);
  flex-shrink: 0;
  transition: transform var(--transition-fast);
}
.compo-back-link:hover i,
.compo-back-link:focus-visible i {
  transform: translateX(-3px);
}
.compo-back-link + h2 {
  margin-top: 0;
}
.compo-scoreboard-cards {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius);
  overflow: hidden;
}
.compo-scoreboard-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  background: var(--color-bg-dark);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  border-left: var(--pos-marker-width) solid transparent;
  color: var(--color-text-white);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  min-width: 0;
}
.compo-scoreboard-header__rank {
  display: inline-flex;
  align-items: center;
  min-width: 24px;
  font-variant-numeric: tabular-nums;
  color: var(--color-text-white);
  flex-shrink: 0;
}
.compo-scoreboard-header__content {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  justify-content: space-between;
  flex: 1;
  min-width: 0;
}
.compo-scoreboard-header__participant {
  flex: 1;
  min-width: 0;
}
.compo-scoreboard-header__total {
  flex-shrink: 0;
  text-align: right;
}
.compo-scoreboard-card {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  background: var(--color-bg-surface);
  border: none;
  border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
  border-left: var(--pos-marker-width) solid var(--color-pos-four-five);
  border-radius: 0;
  transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
}
.compo-scoreboard-card:last-child {
  border-bottom: none;
}
.compo-scoreboard-card:hover {
  background: var(--color-bg-hover);
}
.compo-scoreboard-card--first {
  border-left-color: var(--color-pos-first);
}
.compo-scoreboard-card--second {
  border-left-color: var(--color-pos-second);
}
.compo-scoreboard-card--third {
  border-left-color: var(--color-pos-third);
}
.compo-scoreboard-card__rank {
  display: inline-flex;
  align-items: center;
  min-width: 24px;
  height: 28px;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-muted);
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}
.compo-scoreboard-card__rank--first {
  color: var(--color-pos-first);
}
.compo-scoreboard-card__rank--second {
  color: var(--color-pos-second);
}
.compo-scoreboard-card__rank--third {
  color: var(--color-pos-third);
}
.compo-scoreboard-card__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  flex: 1;
  min-width: 0;
}
.compo-scoreboard-card__header {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  justify-content: space-between;
}
.compo-scoreboard-card__participant {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  flex: 1;
  min-width: 0;
}
.compo-scoreboard-card__participant .country_flags {
  width: var(--space-md);
  height: var(--space-md);
  background-size: var(--space-md);
  flex-shrink: 0;
}
.compo-scoreboard-card__avatar {
  width: 28px;
  height: 28px;
  border-radius: var(--border-radius-circle);
  flex-shrink: 0;
  object-fit: cover;
}
.compo-scoreboard-card__name {
  min-width: 0;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  text-decoration: none;
  font-size: var(--font-size-sm);
  transition: color var(--transition-fast);
}
.compo-scoreboard-card__name:hover {
  color: var(--color-link);
}
.compo-scoreboard-card__total {
  display: flex;
  align-items: baseline;
  gap: var(--space-2xs);
  text-align: right;
  flex-shrink: 0;
}
.compo-scoreboard-card__total-value {
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  font-variant-numeric: tabular-nums;
}
.compo-scoreboard-card__total-unit {
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-secondary);
  text-transform: uppercase;
}
.compo-scoreboard-card__cups {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs);
  padding-top: var(--space-xs);
  border-top: var(--border-width-sm) solid var(--color-border-subtle);
}
.compo-scoreboard-cup {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-3xs) var(--space-xs);
  background: var(--color-bg-main);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-sm);
  text-decoration: none;
  font-size: var(--font-size-2xs);
  line-height: var(--line-height-tight);
  transition: background-color var(--transition-fast), border-color var(--transition-fast);
}
.compo-scoreboard-cup:hover {
  background: var(--color-bg-hover);
  border-color: var(--color-border-standard);
}
.compo-scoreboard-cup--scored {
  background: var(--color-bg-card);
}
.compo-scoreboard-cup__label {
  color: var(--color-link);
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-2xs);
  letter-spacing: 0.3px;
  text-decoration: none;
  white-space: nowrap;
}
.compo-scoreboard-cup__label:hover {
  color: var(--color-link-hover);
  text-decoration: underline;
}
.compo-scoreboard-cup__stage-result {
  display: flex;
  align-items: baseline;
  gap: var(--space-2xs);
  white-space: nowrap;
}
.compo-scoreboard-cup__score {
  color: var(--color-text-heading);
  font-weight: var(--font-weight-semibold);
  text-decoration: none;
  font-size: var(--font-size-2xs);
  white-space: nowrap;
  transition: color var(--transition-fast);
}
.compo-scoreboard-cup__score:hover {
  color: var(--color-link);
  text-decoration: underline;
}
.compo-scoreboard-cup__points {
  color: var(--color-text-muted);
  font-size: var(--font-size-2xs);
  white-space: nowrap;
}
.compo-scoreboard-cup--scored .compo-scoreboard-cup__points {
  color: var(--color-text-primary);
  font-weight: var(--font-weight-bold);
}
.submission-score,
.compo-stage-score {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  text-decoration: none;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  transition: color var(--transition-fast);
}
a.submission-score:hover,
a.compo-stage-score:hover {
  color: var(--color-link);
}
.submission-score i,
.compo-stage-score i {
  color: var(--color-primary);
  font-size: var(--font-size-xs);
  transition: color var(--transition-fast);
}
a.submission-score:hover i,
a.compo-stage-score:hover i {
  color: var(--color-link);
}
.compo-stage-card__points-label {
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-normal);
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-left: var(--space-3xs);
}
.compo-stage-card__images {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: wrap;
}
.compo-stage-card__thumb-link {
  display: block;
  line-height: 0;
  border-radius: var(--border-radius-xs);
  overflow: hidden;
  border: var(--border-width-sm) solid var(--color-border-subtle);
  transition: border-color var(--transition-fast), transform var(--transition-fast);
}
.compo-stage-card__thumb-link:hover {
  border-color: var(--color-primary);
  transform: scale(1.05);
}
.compo-stage-card__thumb {
  height: 36px;
  width: auto;
  object-fit: cover;
  display: block;
}
.stage-submissions-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  width: 100%;
}
.stage-submission-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding: var(--space-sm) var(--space-md);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius);
  transition: background-color var(--transition-fast), border-color var(--transition-fast);
}
.stage-submission-card:hover {
  background: var(--color-bg-hover);
  border-color: var(--color-border-standard);
}
.stage-submission-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  flex-wrap: wrap;
}
.stage-submission-card__participants {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  flex-wrap: wrap;
  min-width: 0;
}
.stage-submission-card__participant {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  min-width: 0;
}
.stage-submission-card__avatar {
  width: 24px;
  height: 24px;
  border-radius: var(--border-radius-circle);
  flex-shrink: 0;
  object-fit: cover;
}
.stage-submission-card__name {
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-heading);
  text-decoration: none;
  font-size: var(--font-size-sm);
  transition: color var(--transition-fast);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.stage-submission-card__name:hover {
  color: var(--color-link);
}
.stage-submission-card__meta {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  flex-wrap: wrap;
  padding-top: var(--space-2xs);
  border-top: var(--border-width-sm) solid var(--color-border-subtle);
}
.stage-submission-card__hardware {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  word-break: break-word;
}
.today-submissions-wrapper.sticky-table,
.benchmark-ranking-wrapper.sticky-table,
.benchmark-first-spots-wrapper.sticky-table,
.benchmark-overview-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.today-submissions-wrapper::-webkit-scrollbar,
.benchmark-ranking-wrapper::-webkit-scrollbar,
.benchmark-first-spots-wrapper::-webkit-scrollbar,
.benchmark-overview-wrapper::-webkit-scrollbar {
  height: 6px;
}
.today-submissions-wrapper::-webkit-scrollbar-track,
.benchmark-ranking-wrapper::-webkit-scrollbar-track,
.benchmark-first-spots-wrapper::-webkit-scrollbar-track,
.benchmark-overview-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.today-submissions-wrapper::-webkit-scrollbar-thumb,
.benchmark-ranking-wrapper::-webkit-scrollbar-thumb,
.benchmark-first-spots-wrapper::-webkit-scrollbar-thumb,
.benchmark-overview-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.today-submissions-wrapper::-webkit-scrollbar-thumb:hover,
.benchmark-ranking-wrapper::-webkit-scrollbar-thumb:hover,
.benchmark-first-spots-wrapper::-webkit-scrollbar-thumb:hover,
.benchmark-overview-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.today-submissions-table,
.benchmark-ranking-table,
.xtu-analyze-table,
.benchmark-overview-table,
.benchmark-first-spots-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.today-submissions-table thead tr th,
.benchmark-ranking-table thead tr th,
.xtu-analyze-table thead tr th,
.benchmark-overview-table thead tr th,
.benchmark-first-spots-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.today-submissions-table thead tr th.col-rank,
.benchmark-ranking-table thead tr th.col-rank {
  width: 44px;
  text-align: center;
}
.today-submissions-table thead tr th.col-date,
.xtu-analyze-table thead tr th.col-date {
  width: 105px;
  text-align: left;
}
.today-submissions-table thead tr th.col-score,
.benchmark-ranking-table thead tr th.col-score,
.xtu-analyze-table thead tr th.col-score,
.benchmark-first-spots-table thead tr th.col-score {
  text-align: left;
}
.today-submissions-table thead tr th.col-cooling,
.today-submissions-table thead tr th.col-subspecs,
.benchmark-ranking-table thead tr th.col-cooling,
.xtu-analyze-table thead tr th.col-cooling,
.xtu-analyze-table thead tr th.col-motherboard,
.benchmark-first-spots-table thead tr th.col-cooling {
  text-align: left;
}
.today-submissions-table thead tr th.col-actions,
.today-submissions-table thead tr th.col-subs,
.xtu-analyze-table thead tr th.col-actions,
.benchmark-first-spots-table thead tr th.col-actions {
  text-align: right;
}
.today-submissions-table thead tr th.col-career-rank,
.today-submissions-table thead tr th.col-members,
.today-submissions-table thead tr th.col-status {
  text-align: center;
}
.today-submissions-table thead tr th.col-career-points {
  text-align: right;
}
.today-submissions-table tbody tr,
.benchmark-ranking-table tbody tr,
.xtu-analyze-table tbody tr,
.benchmark-overview-table tbody tr,
.benchmark-first-spots-table tbody tr {
  transition: background-color var(--transition-fast);
}
.today-submissions-table tbody tr:hover,
.benchmark-ranking-table tbody tr:hover,
.xtu-analyze-table tbody tr:hover,
.benchmark-overview-table tbody tr:hover,
.benchmark-first-spots-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.today-submissions-table tbody tr td,
.benchmark-ranking-table tbody tr td,
.xtu-analyze-table tbody tr td,
.benchmark-overview-table tbody tr td,
.benchmark-first-spots-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.today-submissions-table tbody tr:last-child td,
.benchmark-ranking-table tbody tr:last-child td,
.xtu-analyze-table tbody tr:last-child td,
.benchmark-overview-table tbody tr:last-child td,
.benchmark-first-spots-table tbody tr:last-child td {
  border-bottom: none;
}
.today-submissions-table tbody tr td.col-rank,
.benchmark-ranking-table tbody tr td.col-rank {
  width: 44px;
  text-align: center;
}
.benchmark-ranking-table tbody tr.table-first-pos td.col-rank {
  color: var(--color-pos-first);
}
.benchmark-ranking-table tbody tr.table-second-pos td.col-rank {
  color: var(--color-pos-second);
}
.benchmark-ranking-table tbody tr.table-third-pos td.col-rank {
  color: var(--color-pos-third);
}
.today-submissions-table tbody tr td.col-date,
.xtu-analyze-table tbody tr td.col-date {
  width: 105px;
  text-align: left;
}
.today-submissions-table tbody tr td.col-score,
.benchmark-ranking-table tbody tr td.col-score,
.xtu-analyze-table tbody tr td.col-score,
.benchmark-first-spots-table tbody tr td.col-score {
  text-align: left;
}
.today-submissions-table tbody tr td.col-score a,
.hw-records-table tbody tr td.col-score a,
.benchmark-ranking-table tbody tr td.col-score a,
.xtu-analyze-table tbody tr td.col-score a,
.benchmark-first-spots-table tbody tr td.col-score a {
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-heading);
  text-decoration: none;
  font-variant-numeric: tabular-nums;
  transition: color var(--transition-fast);
}
.today-submissions-table tbody tr td.col-score a:hover,
.hw-records-table tbody tr td.col-score a:hover,
.benchmark-ranking-table tbody tr td.col-score a:hover,
.xtu-analyze-table tbody tr td.col-score a:hover,
.benchmark-first-spots-table tbody tr td.col-score a:hover {
  color: var(--color-link);
}
.today-submissions-table tbody tr td.col-cooling,
.benchmark-ranking-table tbody tr td.col-cooling,
.today-submissions-table tbody tr td.col-subspecs,
.xtu-analyze-table tbody tr td.col-cooling,
.xtu-analyze-table tbody tr td.col-motherboard,
.benchmark-first-spots-table tbody tr td.col-cooling {
  text-align: left;
  white-space: nowrap;
}
.today-submissions-table tbody tr td.col-subspecs .today-submission-card__subspecs {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: nowrap;
}
.today-submissions-table tbody tr td.col-career-rank,
.today-submissions-table tbody tr td.col-members,
.today-submissions-table tbody tr td.col-status {
  text-align: center;
}
.today-submissions-table tbody tr td.col-career-points {
  text-align: right;
}
.today-submissions-table thead tr th.col-type,
.today-submissions-table tbody tr td.col-type {
  text-align: right;
}
.today-submissions-table tbody tr td.col-actions,
.today-submissions-table tbody tr td.col-subs,
.xtu-analyze-table tbody tr td.col-actions {
  text-align: right;
}
.xtu-analyze-table thead tr th.col-clock,
.xtu-analyze-table tbody tr td.col-clock {
  text-align: right;
  white-space: nowrap;
}
.xtu-analyze-table tbody tr td.col-motherboard a {
  color: var(--color-link);
  text-decoration: none;
}
.xtu-analyze-table tbody tr td.col-motherboard a:hover {
  text-decoration: underline;
}
.xtu-analyze-table tbody tr.is-active {
  background-color: var(--color-info-bg);
}
.today-submissions-table tbody tr td.col-subs .gpu-card__subs-badge,
.today-submissions-table tbody tr td.col-subs .cpu-card__subs-badge,
.today-submissions-table tbody tr td.col-subs .mb-card__subs-badge,
.today-submissions-table tbody tr td.col-subs .mem-card__subs-badge,
.today-submissions-table tbody tr td.col-subs .disk-card__subs-badge,
.today-submissions-table tbody tr td.col-subs .psu-card__subs-badge {
  margin-left: auto;
}
.today-submissions-table tbody tr td .cpu-card__spec,
.today-submissions-table tbody tr td .gpu-card__spec,
.today-submissions-table tbody tr td .mb-card__spec,
.today-submissions-table tbody tr td .mem-card__spec,
.today-submissions-table tbody tr td .psu-card__spec,
.today-submissions-table tbody tr td .disk-card__spec {
  margin-right: var(--space-2xs);
}
.today-submissions-table tbody tr td .cpu-card__spec:last-child,
.today-submissions-table tbody tr td .gpu-card__spec:last-child,
.today-submissions-table tbody tr td .mb-card__spec:last-child,
.today-submissions-table tbody tr td .mem-card__spec:last-child,
.today-submissions-table tbody tr td .psu-card__spec:last-child,
.today-submissions-table tbody tr td .disk-card__spec:last-child {
  margin-right: 0;
}
.today-submissions-table .col-actions .today-submission-card__actions,
.benchmark-first-spots-table .col-actions .today-submission-card__actions {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  justify-content: flex-end;
  margin-left: 0;
}
.benchmark-overview-table thead tr th.col-beta,
.benchmark-overview-table tbody tr td.col-beta {
  width: 48px;
  text-align: center;
}
.benchmark-overview-table thead tr th.col-os,
.benchmark-overview-table tbody tr td.col-os {
  width: 72px;
  text-align: center;
}
.benchmark-overview-table tbody tr td.col-os i {
  margin: 0 var(--space-3xs);
  font-size: var(--font-size-sm);
  color: var(--color-text-secondary);
}
.benchmark-overview-table thead tr th.col-glp,
.benchmark-overview-table tbody tr td.col-glp,
.benchmark-overview-table thead tr th.col-hwp,
.benchmark-overview-table tbody tr td.col-hwp {
  width: 52px;
  text-align: center;
}
.benchmark-overview-table thead tr th.col-links,
.benchmark-overview-table tbody tr td.col-links {
  width: 80px;
  text-align: center;
}
.benchmark-overview-table tbody tr td.col-links .flex-row--benchmark-links {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
  flex-wrap: nowrap;
}
.benchmark-overview-table tbody tr td.col-links .flex-row--benchmark-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-secondary);
  transition: color var(--transition-fast);
}
.benchmark-overview-table tbody tr td.col-links .flex-row--benchmark-links a:hover {
  color: var(--color-text-primary);
}
.benchmark-rule-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3xs);
  font-size: var(--font-size-xs);
  color: var(--color-text-primary);
  text-decoration: none;
}
.benchmark-rule-link:hover {
  color: var(--color-text-heading);
  text-decoration: underline;
}
.benchmark-overview-table tbody tr td.empty-state {
  text-align: center;
  color: var(--color-text-secondary);
  padding: var(--space-md);
}
.team-cups-table thead tr th.col-trophy {
  width: 90px;
  text-align: center;
}
.team-cups-table tbody tr td.col-trophy {
  text-align: center;
}
.team-points-table thead tr th.col-points,
.team-points-table tbody tr td.col-points {
  text-align: right;
  white-space: nowrap;
}
.team-points-table thead tr th.col-metric,
.team-points-table tbody tr td.col-metric {
  text-align: left;
  white-space: nowrap;
  width: 110px;
}
.team-points-table thead tr th.col-league,
.team-points-table tbody tr td.col-league {
  width: 130px;
}
.team-members-table thead tr th.col-user,
.team-members-table tbody tr td.col-user {
  text-align: left;
}
.team-members-table thead tr th.col-role,
.team-members-table tbody tr td.col-role {
  width: 120px;
  text-align: left;
}
.team-members-table thead tr th.col-league,
.team-members-table tbody tr td.col-league {
  width: 140px;
  text-align: left;
}
.team-members-table thead tr th.col-joined,
.team-members-table tbody tr td.col-joined {
  width: 140px;
  text-align: left;
  white-space: nowrap;
}
.team-members-table thead tr th.col-visit,
.team-members-table tbody tr td.col-visit {
  width: 140px;
  text-align: left;
  white-space: nowrap;
}
.team-members-table thead tr th.col-actions,
.team-members-table tbody tr td.col-actions {
  width: 90px;
  text-align: right;
}
.team-members-table .col-actions .button {
  padding: var(--space-2xs) var(--space-xs);
  font-size: var(--font-size-xs);
  border-radius: var(--border-radius-xs);
}
.team-member-date {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
}
.team-member-date i {
  font-size: var(--font-size-2xs);
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.team-member-date__label {
  display: none;
}
.team-requests-table thead tr th.col-user,
.team-requests-table tbody tr td.col-user {
  text-align: left;
}
.team-requests-table thead tr th.col-team,
.team-requests-table tbody tr td.col-team {
  text-align: left;
  min-width: 140px;
}
.team-requests-table thead tr th.col-league,
.team-requests-table tbody tr td.col-league {
  width: 140px;
  text-align: left;
}
.team-requests-table thead tr th.col-joined,
.team-requests-table tbody tr td.col-joined {
  width: 140px;
  text-align: left;
  white-space: nowrap;
}
.team-requests-table thead tr th.col-visit,
.team-requests-table tbody tr td.col-visit {
  width: 140px;
  text-align: left;
  white-space: nowrap;
}
.team-requests-table thead tr th.col-actions,
.team-requests-table tbody tr td.col-actions {
  width: 90px;
  text-align: right;
}
.team-requests-table .col-actions .button {
  padding: var(--space-2xs) var(--space-xs);
  font-size: var(--font-size-xs);
  border-radius: var(--border-radius-xs);
}
.team-requests-action {
  margin-bottom: var(--space-md);
}
.today-submission-card__rank,
.member-card__rank,
.team-card__rank {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.today-submission-card__date {
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-muted);
  white-space: nowrap;
}
.today-submission-card__benchmark-link {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  text-decoration: none;
  font-size: var(--font-size-sm);
  transition: color var(--transition-fast);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-block;
  max-width: 100%;
  vertical-align: middle;
}
.today-submission-card__benchmark-link:hover {
  color: var(--color-link);
}
.today-submission-card__version {
  font-weight: var(--font-weight-normal);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
}
.today-submission-card__hardware {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: var(--font-size-xs);
  color: var(--color-text-primary);
  font-weight: var(--font-weight-medium);
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--transition-fast);
}
.today-submission-card__hardware:hover {
  color: var(--color-link);
}
.today-submission-card__clock {
  font-weight: var(--font-weight-normal);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  white-space: nowrap;
}
.today-submission-card__subspecs {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: wrap;
  font-size: var(--font-size-xs);
}
.today-submission-card__subspec {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  padding: var(--border-width-sm) var(--space-xs);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-secondary);
  text-decoration: none;
  font-size: var(--font-size-xs);
  transition:
    color var(--transition-fast),
    border-color var(--transition-fast),
    background-color var(--transition-fast);
  word-break: break-word;
}
.today-submission-card__subspec:hover {
  color: var(--color-link);
  border-color: var(--color-border-standard);
  background: var(--color-bg-hover);
}
.today-submission-card__subspec i {
  font-size: var(--font-size-2xs);
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.today-submission-card__participant {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  white-space: nowrap;
}
.today-submission-card__avatar {
  width: 22px;
  height: 22px;
  border-radius: var(--border-radius-circle);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  flex-shrink: 0;
  object-fit: cover;
}
.today-submission-card__name {
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-heading);
  text-decoration: none;
  font-size: var(--font-size-xs);
  white-space: nowrap;
  transition: color var(--transition-fast);
}
.today-submission-card__name:hover {
  color: var(--color-link);
}
.today-submission-card__participant .country_flags {
  width: var(--space-md);
  height: var(--space-md);
  background-size: var(--space-md);
  flex-shrink: 0;
}
.today-submission-card__actions {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  white-space: nowrap;
}
.today-submission-card__points {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  white-space: nowrap;
}
.today-submission-card__points:empty {
  display: none;
}
.today-submission-card__point,
.hw-records-table__point {
  display: inline-flex;
  align-items: baseline;
  gap: var(--space-2xs);
  padding: var(--space-2xs) var(--space-xs);
  background: transparent;
  border: var(--border-width-sm) solid var(--color-text-secondary);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  font-variant-numeric: tabular-nums;
  line-height: var(--line-height-none);
  text-decoration: none;
  flex-shrink: 0;
}
.today-submission-card__point:hover,
.hw-records-table__point:hover {
  text-decoration: none;
  color: var(--color-text-secondary);
}
.today-submission-card__point-value,
.hw-records-table__point-value {
  font-weight: var(--font-weight-bold);
  font-variant-numeric: tabular-nums;
  color: inherit;
}
.today-submission-card__point-label,
.hw-records-table__point-label {
  font-size: var(--font-size-3xs);
  font-weight: var(--font-weight-extrabold);
  letter-spacing: 0.05em;
  color: inherit;
  text-transform: uppercase;
}
.today-submission-card__point--wr {
  background: var(--color-warning-bg);
  border-color: var(--color-warning-border);
}
.today-submission-card__point--wr .today-submission-card__point-label {
  color: var(--color-warning);
}
.today-submission-card__point--wr .today-submission-card__point-value {
  color: var(--color-warning-text);
}
.today-submission-card__point--empty {
  opacity: 0.45;
}
.today-submission-card__comments {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-2xs);
  color: var(--color-text-secondary);
  text-decoration: none;
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-semibold);
  border-radius: var(--border-radius-xs);
  transition: color var(--transition-fast), background-color var(--transition-fast);
}
.today-submission-card__comments:hover {
  color: var(--color-link);
  background: var(--color-bg-hover);
}
.today-submission-card__comments i {
  font-size: var(--font-size-2xs);
}
.today-submission-card__vote {
  display: inline-flex;
  align-items: center;
}
.ranking-highlight-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
  margin-bottom: var(--space-md);
}
.ranking-highlight-card {
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  padding: var(--space-sm) var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  box-shadow: var(--shadow-sm);
  font-size: var(--font-size-sm);
  color: var(--color-text-primary);
}
.ranking-highlight-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
}
.ranking-highlight-card__title {
  font-weight: var(--font-weight-semibold);
}
.ranking-highlight-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}
.ranking-highlight-card__score-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  flex-wrap: wrap;
}
.ranking-highlight-card__score {
  font-weight: var(--font-weight-semibold);
  color: inherit;
  text-decoration: none;
  font-variant-numeric: tabular-nums;
  transition: color var(--transition-fast);
}
.ranking-highlight-card__score:hover {
  color: var(--color-link);
}
.ranking-highlight-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  flex-wrap: wrap;
}
.ranking-highlight-card__hardware {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  color: inherit;
  text-decoration: none;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ranking-highlight-card__hardware:hover {
  color: var(--color-link);
}
.today-submission-card__cores,
.ranking-highlight-card__cores {
  font-weight: var(--font-weight-bold);
  flex-shrink: 0;
}
.ranking-highlight-card__points {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  margin-left: auto;
}
.ranking-highlight-card__empty {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-xs) 0;
}
.benchmark-ranking-table thead tr th.col-benchmark {
  text-align: center;
  width: 60px;
}
.benchmark-ranking-table tbody tr td.col-benchmark {
  text-align: center;
  font-weight: var(--font-weight-medium);
}
.benchmark-first-spots-table thead tr th.col-benchmark,
.benchmark-first-spots-table tbody tr td.col-benchmark {
  width: 80px;
  text-align: left;
}
.benchmark-ranking-table thead tr th.col-points,
.benchmark-ranking-table tbody tr td.col-points {
  text-align: right;
}
.library-table-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
}
.library-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.library-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.library-table thead tr th.col-subs,
.library-table tbody tr td.col-subs {
  text-align: right;
}
.library-card__subs-label {
  display: none;
}
.library-table tbody tr {
  transition: background-color var(--transition-fast);
}
.library-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.library-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.library-table tbody tr:last-child td {
  border-bottom: none;
}
.library-table tbody tr td a {
  color: var(--color-link);
  text-decoration: none;
}
.library-table tbody tr td a:hover {
  text-decoration: underline;
}
.library-table tbody tr td.col-model a {
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-heading);
  text-decoration: none;
}
.library-table tbody tr td.col-model a:hover {
  color: var(--color-link);
  text-decoration: underline;
}
.xtu-profiles-table-wrapper.sticky-table,
.xtu-analyze-table-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
}
.xtu-profiles-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.xtu-profiles-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.xtu-profiles-table thead tr th.col-actions,
.xtu-profiles-table tbody tr td.col-actions {
  text-align: right;
}
.xtu-profiles-table tbody tr {
  transition: background-color var(--transition-fast);
}
.xtu-profiles-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.xtu-profiles-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.xtu-profiles-table tbody tr:last-child td {
  border-bottom: none;
}
.xtu-profiles-table tbody tr td a {
  color: var(--color-link);
  text-decoration: none;
}
.xtu-profiles-table tbody tr td a:hover {
  text-decoration: underline;
}
.xtu-profiles-table tbody tr td.col-score a {
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-heading);
}
.xtu-profiles-table tbody tr td.col-score a:hover {
  color: var(--color-link);
}
.ranking-log-table-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
}
.ranking-log-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.ranking-log-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.ranking-log-table thead tr th.col-score,
.ranking-log-table tbody tr td.col-score,
.ranking-log-table thead tr th.col-points,
.ranking-log-table tbody tr td.col-points {
  text-align: right;
}
.ranking-log-table tbody tr {
  transition: background-color var(--transition-fast);
}
.ranking-log-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.ranking-log-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.ranking-log-table tbody tr:last-child td {
  border-bottom: none;
}
.ranking-log-table tbody tr td a {
  color: var(--color-link);
  text-decoration: none;
}
.ranking-log-table tbody tr td a:hover {
  text-decoration: underline;
}
.ranking-log-table tbody tr td.col-score a {
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-heading);
}
.ranking-log-table tbody tr td.col-score a:hover {
  color: var(--color-link);
}
.user-points-table-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.user-points-table-wrapper::-webkit-scrollbar {
  height: 6px;
}
.user-points-table-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.user-points-table-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.user-points-table-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.user-points-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.user-points-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.user-points-table thead tr th.col-rank {
  width: 70px;
  text-align: center;
}
.user-points-table thead tr th.col-points {
  text-align: right;
  width: 100px;
}
.user-points-table thead tr th.col-date {
  text-align: right;
  width: 110px;
}
.user-points-table thead tr th.col-score {
  text-align: left;
}
.user-points-table thead tr th.col-cooling {
  text-align: left;
}
.user-points-table thead tr th.col-level {
  text-align: center;
  width: 80px;
}
.user-points-table tbody tr {
  transition: background-color var(--transition-fast);
}
.user-points-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.user-points-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.user-points-table tbody tr:last-child td {
  border-bottom: none;
}
.user-points-table tbody tr td a {
  color: var(--color-link);
  text-decoration: none;
}
.user-points-table tbody tr td a:hover {
  text-decoration: underline;
}
.user-points-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  white-space: nowrap;
}
.user-points-table tbody tr td.col-score a {
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-heading);
  font-variant-numeric: tabular-nums;
}
.user-points-table tbody tr td.col-score a:hover {
  color: var(--color-link);
}
.user-points-table tbody tr td.col-points {
  text-align: right;
  font-weight: var(--font-weight-semibold);
  font-variant-numeric: tabular-nums;
  color: var(--color-text-primary);
}
.user-points-table tbody tr td.col-date {
  text-align: right;
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
}
.user-points-table tbody tr td.col-level {
  text-align: center;
}
.competitions-table-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.competitions-table-wrapper::-webkit-scrollbar {
  height: 6px;
}
.competitions-table-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.competitions-table-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.competitions-table-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.competitions-overview-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.competitions-overview-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.competitions-overview-table thead tr th.col-competition {
  width: auto;
}
.competitions-overview-table thead tr th.col-level,
.competitions-overview-table tbody tr td.col-level {
  width: 90px;
  text-align: center;
}
.competitions-overview-table thead tr th.col-stages,
.competitions-overview-table tbody tr td.col-stages {
  width: 80px;
  text-align: center;
}
.competitions-overview-table thead tr th.col-opens,
.competitions-overview-table tbody tr td.col-opens,
.competitions-overview-table thead tr th.col-closes,
.competitions-overview-table tbody tr td.col-closes {
  width: 175px;
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
}
.competitions-overview-table thead tr th.col-winner,
.competitions-overview-table tbody tr td.col-winner {
  width: 220px;
}
.competitions-overview-table tbody tr {
  transition: background-color var(--transition-fast);
}
.competitions-overview-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.competitions-overview-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.competitions-overview-table tbody tr:last-child td {
  border-bottom: none;
}
.competitions-overview-table tbody tr td.col-competition a.competitions-table__name-link {
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-heading);
  text-decoration: none;
  font-size: var(--font-size-sm);
  transition: color var(--transition-fast);
}
.competitions-overview-table tbody tr td.col-competition a.competitions-table__name-link:hover {
  color: var(--color-link);
}
.competitions-table__level {
  display: inline-block;
  padding: var(--space-3xs) var(--space-xs);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  background-color: var(--color-bg-hover);
  color: var(--color-text-secondary);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  white-space: nowrap;
}
.competitions-table__stages-label,
.competitions-table__date-label {
  display: none;
}
.competitions-table__stages-count {
  font-weight: var(--font-weight-semibold);
}
.competitions-table__winner {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  white-space: nowrap;
}
.competitions-table__winner .gold-trophy {
  font-size: var(--font-size-xs);
  flex-shrink: 0;
}
.career-ranking-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.career-ranking-wrapper::-webkit-scrollbar {
  height: 6px;
}
.career-ranking-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.career-ranking-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.career-ranking-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.career-ranking-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.career-ranking-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.career-ranking-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.career-ranking-table thead tr th.col-user {
  width: auto;
}
.career-ranking-table thead tr th.col-team {
  width: auto;
}
.career-ranking-table thead tr th.col-points,
.career-ranking-table thead tr th.col-glp,
.career-ranking-table thead tr th.col-hwp {
  width: 110px;
  text-align: right;
}
.career-ranking-table tbody tr {
  transition: background-color var(--transition-fast);
}
.career-ranking-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.career-ranking-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.career-ranking-table tbody tr:last-child td {
  border-bottom: none;
}
.career-ranking-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  border-left: var(--border-width-xl) solid var(--color-pos-other);
}
.career-ranking-table tbody tr.table-first-pos td.col-rank {
  border-left-color: var(--color-pos-first);
  color: var(--color-pos-first);
}
.career-ranking-table tbody tr.table-second-pos td.col-rank {
  border-left-color: var(--color-pos-second);
  color: var(--color-pos-second);
}
.career-ranking-table tbody tr.table-third-pos td.col-rank {
  border-left-color: var(--color-pos-third);
  color: var(--color-pos-third);
}
.career-ranking-table tbody tr td.col-points,
.career-ranking-table tbody tr td.col-glp,
.career-ranking-table tbody tr td.col-hwp {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.career-ranking-table tbody tr td.col-points {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.career-ranking-card__points-label {
  display: none;
}
.team-career-ranking-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.team-career-ranking-wrapper::-webkit-scrollbar {
  height: 6px;
}
.team-career-ranking-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.team-career-ranking-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.team-career-ranking-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.team-career-ranking-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.team-career-ranking-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.team-career-ranking-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.team-career-ranking-table thead tr th.col-team {
  width: auto;
}
.team-career-ranking-table thead tr th.col-points,
.team-career-ranking-table thead tr th.col-glp,
.team-career-ranking-table thead tr th.col-hwp,
.team-career-ranking-table thead tr th.col-gltpp,
.team-career-ranking-table thead tr th.col-hwtpp,
.team-career-ranking-table thead tr th.col-cp,
.team-career-ranking-table thead tr th.col-members {
  width: 90px;
  text-align: right;
}
.team-career-ranking-table tbody tr {
  transition: background-color var(--transition-fast);
}
.team-career-ranking-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.team-career-ranking-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.team-career-ranking-table tbody tr:last-child td {
  border-bottom: none;
}
.team-career-ranking-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  border-left: var(--border-width-xl) solid var(--color-pos-other);
}
.team-career-ranking-table tbody tr.table-first-pos td.col-rank {
  border-left-color: var(--color-pos-first);
  color: var(--color-pos-first);
}
.team-career-ranking-table tbody tr.table-second-pos td.col-rank {
  border-left-color: var(--color-pos-second);
  color: var(--color-pos-second);
}
.team-career-ranking-table tbody tr.table-third-pos td.col-rank {
  border-left-color: var(--color-pos-third);
  color: var(--color-pos-third);
}
.team-career-ranking-table tbody tr td.col-points,
.team-career-ranking-table tbody tr td.col-glp,
.team-career-ranking-table tbody tr td.col-hwp,
.team-career-ranking-table tbody tr td.col-gltpp,
.team-career-ranking-table tbody tr td.col-hwtpp,
.team-career-ranking-table tbody tr td.col-cp,
.team-career-ranking-table tbody tr td.col-members {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.team-career-ranking-table tbody tr td.col-points {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.team-ranking-card__points-label,
.team-ranking-card__members-label {
  display: none;
}
.season-ranking-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.season-ranking-wrapper::-webkit-scrollbar {
  height: 6px;
}
.season-ranking-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.season-ranking-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.season-ranking-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.season-ranking-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.season-ranking-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.season-ranking-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.season-ranking-table thead tr th.col-user {
  width: auto;
}
.season-ranking-table thead tr th.col-team {
  width: auto;
}
.season-ranking-table thead tr th.col-points,
.season-ranking-table thead tr th.col-glp,
.season-ranking-table thead tr th.col-hwp,
.season-ranking-table thead tr th.col-cp {
  width: 110px;
  text-align: right;
}
.season-ranking-table tbody tr {
  transition: background-color var(--transition-fast);
}
.season-ranking-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.season-ranking-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.season-ranking-table tbody tr:last-child td {
  border-bottom: none;
}
.season-ranking-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  border-left: var(--border-width-xl) solid var(--color-pos-other);
}
.season-ranking-table tbody tr.table-first-pos td.col-rank {
  border-left-color: var(--color-pos-first);
  color: var(--color-pos-first);
}
.season-ranking-table tbody tr.table-second-pos td.col-rank {
  border-left-color: var(--color-pos-second);
  color: var(--color-pos-second);
}
.season-ranking-table tbody tr.table-third-pos td.col-rank {
  border-left-color: var(--color-pos-third);
  color: var(--color-pos-third);
}
.season-ranking-table tbody tr td.col-points,
.season-ranking-table tbody tr td.col-glp,
.season-ranking-table tbody tr td.col-hwp,
.season-ranking-table tbody tr td.col-cp {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.season-ranking-table tbody tr td.col-points {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.season-ranking-card__points-label {
  display: none;
}
.team-season-ranking-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.team-season-ranking-wrapper::-webkit-scrollbar {
  height: 6px;
}
.team-season-ranking-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.team-season-ranking-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.team-season-ranking-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.team-season-ranking-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.team-season-ranking-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.team-season-ranking-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.team-season-ranking-table thead tr th.col-team {
  width: auto;
}
.team-season-ranking-table thead tr th.col-points,
.team-season-ranking-table thead tr th.col-glp,
.team-season-ranking-table thead tr th.col-hwp,
.team-season-ranking-table thead tr th.col-gltpp,
.team-season-ranking-table thead tr th.col-hwtpp,
.team-season-ranking-table thead tr th.col-cp,
.team-season-ranking-table thead tr th.col-members {
  width: 90px;
  text-align: right;
}
.team-season-ranking-table tbody tr {
  transition: background-color var(--transition-fast);
}
.team-season-ranking-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.team-season-ranking-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.team-season-ranking-table tbody tr:last-child td {
  border-bottom: none;
}
.team-season-ranking-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  border-left: var(--border-width-xl) solid var(--color-pos-other);
}
.team-season-ranking-table tbody tr.table-first-pos td.col-rank {
  border-left-color: var(--color-pos-first);
  color: var(--color-pos-first);
}
.team-season-ranking-table tbody tr.table-second-pos td.col-rank {
  border-left-color: var(--color-pos-second);
  color: var(--color-pos-second);
}
.team-season-ranking-table tbody tr.table-third-pos td.col-rank {
  border-left-color: var(--color-pos-third);
  color: var(--color-pos-third);
}
.team-season-ranking-table tbody tr td.col-points,
.team-season-ranking-table tbody tr td.col-glp,
.team-season-ranking-table tbody tr td.col-hwp,
.team-season-ranking-table tbody tr td.col-gltpp,
.team-season-ranking-table tbody tr td.col-hwtpp,
.team-season-ranking-table tbody tr td.col-cp,
.team-season-ranking-table tbody tr td.col-members {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.team-season-ranking-table tbody tr td.col-points {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.team-season-ranking-card__points-label,
.team-season-ranking-card__members-label {
  display: none;
}
.country-league-ranking-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.country-league-ranking-wrapper::-webkit-scrollbar {
  height: 6px;
}
.country-league-ranking-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.country-league-ranking-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.country-league-ranking-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.country-league-ranking-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.country-league-ranking-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.country-league-ranking-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.country-league-ranking-table thead tr th.col-country {
  width: auto;
}
.country-league-ranking-table thead tr th.col-points,
.country-league-ranking-table thead tr th.col-glp,
.country-league-ranking-table thead tr th.col-hwp,
.country-league-ranking-table thead tr th.col-cp,
.country-league-ranking-table thead tr th.col-members {
  width: 90px;
  text-align: right;
}
.country-league-ranking-table tbody tr {
  transition: background-color var(--transition-fast);
}
.country-league-ranking-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.country-league-ranking-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.country-league-ranking-table tbody tr:last-child td {
  border-bottom: none;
}
.country-league-ranking-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  border-left: var(--border-width-xl) solid var(--color-pos-other);
}
.country-league-ranking-table tbody tr.table-first-pos td.col-rank {
  border-left-color: var(--color-pos-first);
  color: var(--color-pos-first);
}
.country-league-ranking-table tbody tr.table-second-pos td.col-rank {
  border-left-color: var(--color-pos-second);
  color: var(--color-pos-second);
}
.country-league-ranking-table tbody tr.table-third-pos td.col-rank {
  border-left-color: var(--color-pos-third);
  color: var(--color-pos-third);
}
.country-league-ranking-table tbody tr td.col-points,
.country-league-ranking-table tbody tr td.col-glp,
.country-league-ranking-table tbody tr td.col-hwp,
.country-league-ranking-table tbody tr td.col-cp,
.country-league-ranking-table tbody tr td.col-members {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.country-league-ranking-table tbody tr td.col-points {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.country-league-ranking-card__points-label,
.country-league-ranking-card__members-label {
  display: none;
}
.global-masters-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.global-masters-wrapper::-webkit-scrollbar {
  height: 6px;
}
.global-masters-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.global-masters-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.global-masters-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.global-masters-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.global-masters-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.global-masters-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.global-masters-table thead tr th.col-user {
  width: auto;
}
.global-masters-table thead tr th.col-team {
  width: auto;
}
.global-masters-table thead tr th.col-points,
.global-masters-table thead tr th.col-wrp,
.global-masters-table thead tr th.col-glp {
  width: 110px;
  text-align: right;
}
.global-masters-table tbody tr {
  transition: background-color var(--transition-fast);
}
.global-masters-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.global-masters-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.global-masters-table tbody tr:last-child td {
  border-bottom: none;
}
.global-masters-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
}
.global-masters-table tbody tr.table-first-pos td.col-rank {
  color: var(--color-pos-first);
}
.global-masters-table tbody tr.table-second-pos td.col-rank {
  color: var(--color-pos-second);
}
.global-masters-table tbody tr.table-third-pos td.col-rank {
  color: var(--color-pos-third);
}
.global-masters-table tbody tr td.col-points,
.global-masters-table tbody tr td.col-wrp,
.global-masters-table tbody tr td.col-glp {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.global-masters-table tbody tr td.col-points {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.global-masters-card__points-label {
  display: none;
}
.hardware-masters-wrapper.sticky-table {
  overflow-x: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--color-border-standard) transparent;
  padding-bottom: var(--space-2xs);
}
.hardware-masters-wrapper::-webkit-scrollbar {
  height: 6px;
}
.hardware-masters-wrapper::-webkit-scrollbar-track {
  background: transparent;
}
.hardware-masters-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.hardware-masters-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.hardware-masters-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.hardware-masters-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.hardware-masters-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.hardware-masters-table thead tr th.col-user {
  width: auto;
}
.hardware-masters-table thead tr th.col-team {
  width: auto;
}
.hardware-masters-table thead tr th.col-points,
.hardware-masters-table thead tr th.col-2dp,
.hardware-masters-table thead tr th.col-3dp {
  width: 110px;
  text-align: right;
}
.hardware-masters-table tbody tr {
  transition: background-color var(--transition-fast);
}
.hardware-masters-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.hardware-masters-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.hardware-masters-table tbody tr:last-child td {
  border-bottom: none;
}
.hardware-masters-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
}
.hardware-masters-table tbody tr.table-first-pos td.col-rank {
  color: var(--color-pos-first);
}
.hardware-masters-table tbody tr.table-second-pos td.col-rank {
  color: var(--color-pos-second);
}
.hardware-masters-table tbody tr.table-third-pos td.col-rank {
  color: var(--color-pos-third);
}
.hardware-masters-table tbody tr td.col-points,
.hardware-masters-table tbody tr td.col-2dp,
.hardware-masters-table tbody tr td.col-3dp {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.hardware-masters-table tbody tr td.col-points {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
}
.hardware-masters-card__points-label {
  display: none;
}
.compo-stage-wrapper {
  overflow-x: auto;
}
.compo-stage-wrapper::-webkit-scrollbar {
  height: 6px;
}
.compo-stage-wrapper::-webkit-scrollbar-track {
  background: var(--color-bg-subtle);
}
.compo-stage-wrapper::-webkit-scrollbar-thumb {
  background: var(--color-border-standard);
  border-radius: var(--border-radius-xs);
}
.compo-stage-wrapper::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.compo-stage-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  overflow: hidden;
  white-space: nowrap;
}
.compo-stage-table thead tr th {
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-white);
  background: var(--color-bg-dark);
  white-space: nowrap;
  text-align: left;
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  vertical-align: middle;
}
.compo-stage-table thead tr th.col-rank {
  width: 60px;
  text-align: center;
}
.compo-stage-table thead tr th.col-competitor {
  width: auto;
}
.compo-stage-table thead tr th.col-score {
  width: 200px;
}
.compo-stage-table thead tr th.col-points {
  width: 120px;
  text-align: right;
}
.compo-stage-table thead tr th.col-submissions {
  width: 200px;
}
.compo-stage-table tbody tr {
  transition: background-color var(--transition-fast);
}
.compo-stage-table tbody tr:hover {
  background-color: var(--color-bg-hover);
}
.compo-stage-table tbody tr td {
  padding: var(--space-xs) var(--space-md);
  white-space: nowrap;
  color: var(--color-text-primary);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
  vertical-align: middle;
}
.compo-stage-table tbody tr:last-child td {
  border-bottom: none;
}
.compo-stage-table tbody tr td.col-rank {
  text-align: center;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
  font-variant-numeric: tabular-nums;
}
.compo-stage-table tbody tr.table-first-pos td.col-rank {
  color: var(--color-pos-first);
}
.compo-stage-table tbody tr.table-second-pos td.col-rank {
  color: var(--color-pos-second);
}
.compo-stage-table tbody tr.table-third-pos td.col-rank {
  color: var(--color-pos-third);
}
.compo-stage-table tbody tr td.col-competitor .today-submission-card__participant {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
}
.compo-stage-table tbody tr td.col-score {
  white-space: nowrap;
}
.compo-stage-table tbody tr td.col-points {
  text-align: right;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  font-variant-numeric: tabular-nums;
}
.compo-stage-table tbody tr td.col-submissions {
  vertical-align: middle;
}
@media screen and (max-width: 1200px) {
  .today-submissions-wrapper.sticky-table,
  .benchmark-ranking-wrapper.sticky-table,
  .member-table-wrapper.sticky-table,
  .team-table-wrapper.sticky-table,
  .team-cups-wrapper.sticky-table,
  .team-points-wrapper.sticky-table,
  .team-members-wrapper.sticky-table,
  .team-requests-wrapper.sticky-table,
  .gpu-table-wrapper.sticky-table,
  .cpu-table-wrapper.sticky-table,
  .mb-table-wrapper.sticky-table,
  .mem-table-wrapper.sticky-table,
  .cooling-table-wrapper.sticky-table,
  .psu-table-wrapper.sticky-table,
  .disk-table-wrapper.sticky-table,
  .hw-records-table-wrapper.sticky-table,
  .library-table-wrapper.sticky-table,
  .xtu-profiles-table-wrapper.sticky-table,
  .xtu-analyze-table-wrapper.sticky-table,
  .ranking-log-table-wrapper.sticky-table,
  .user-points-table-wrapper.sticky-table,
  .competitions-table-wrapper.sticky-table,
  .career-ranking-wrapper.sticky-table,
  .team-career-ranking-wrapper.sticky-table,
  .season-ranking-wrapper.sticky-table,
  .team-season-ranking-wrapper.sticky-table,
  .country-league-ranking-wrapper.sticky-table,
  .global-masters-wrapper.sticky-table,
  .hardware-masters-wrapper.sticky-table,
  .compo-stage-wrapper.sticky-table {
    overflow-x: visible;
  }
  .today-submissions-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .today-submissions-table thead {
    display: none;
  }
  .today-submissions-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .today-submissions-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto;
    align-items: center;
    gap: var(--space-2xs);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-surface);
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    margin-bottom: 0;
    white-space: normal;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .today-submissions-table tbody tr:last-child {
    border-bottom: none;
  }
  .today-submissions-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-left-color: var(--color-primary);
  }
  .today-submissions-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .benchmark-overview-table {
    display: table;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-light);
  }
  .benchmark-overview-table thead {
    display: table-header-group;
  }
  .benchmark-overview-table thead tr {
    display: table-row;
  }
  .benchmark-overview-table thead tr th {
    display: table-cell;
    padding: var(--space-xs) var(--space-md);
    vertical-align: middle;
  }
  .benchmark-overview-table tbody {
    display: table-row-group;
    width: auto;
    background: transparent;
    border: none;
  }
  .benchmark-overview-table tbody tr {
    display: table-row;
    background: transparent;
    border: none;
    border-radius: 0;
    margin-bottom: 0;
    padding: 0;
  }
  .benchmark-overview-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-color: transparent;
    box-shadow: none;
  }
  .benchmark-overview-table tbody tr td {
    display: table-cell;
    padding: var(--space-xs) var(--space-md);
    border-bottom: var(--border-width-sm) solid var(--color-border-light);
    background: transparent;
    white-space: nowrap;
    vertical-align: middle;
  }
  .benchmark-overview-table tbody tr:last-child td {
    border-bottom: none;
  }
  .today-submissions-table.has-rank tbody tr {
    grid-template-columns: auto 1fr auto;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-rank {
    order: 1;
    width: auto;
    display: inline-flex;
    align-items: center;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-date {
    order: 1;
    grid-column: 1 / -1;
    width: 100%;
    display: flex;
    align-items: center;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-benchmark {
    order: 2;
    grid-column: 1;
    min-width: 0;
    overflow: hidden;
    padding-right: var(--space-xs);
  }
  .today-submissions-wrapper .today-submissions-table.has-rank tbody tr td.col-benchmark {
    grid-column: 2;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-score {
    order: 3;
    grid-column: -2 / -1;
    justify-self: end;
    text-align: right;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-score a {
    color: var(--color-link);
    font-weight: var(--font-weight-semibold);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-score a:hover,
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-score a:active {
    color: var(--color-link-hover);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-hardware {
    order: 4;
    grid-column: 1;
    min-width: 0;
    padding: var(--space-2xs) 0;
    padding-right: var(--space-xs);
    display: flex;
    align-items: center;
  }
  .today-submissions-wrapper .today-submissions-table.has-rank tbody tr td.col-hardware {
    grid-column: 2;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-hardware:empty {
    display: none;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-hardware .today-submission-card__hardware {
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-hardware .today-submission-card__hardware span:not(.today-submission-card__cores):not(.ranking-highlight-card__cores):not(.today-submission-card__clock) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-hardware .today-submission-card__clock {
    flex-shrink: 0;
    white-space: nowrap;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-user {
    order: 5;
    grid-column: -2 / -1;
    justify-self: end;
    text-align: right;
    min-width: 0;
    padding: var(--space-2xs) 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-user .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
    vertical-align: middle;
    max-width: 140px;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-points {
    order: 6;
    grid-column: 1;
    justify-self: start;
    align-self: center;
    display: inline-flex;
    align-items: center;
    padding-right: var(--space-xs);
  }
  .today-submissions-wrapper .today-submissions-table.has-rank tbody tr td.col-points {
    grid-column: 2;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-points:empty {
    display: none;
  }
  .today-submission-card__point,
  .hw-records-table__point {
    border: none;
    padding: 0;
    background: transparent;
  }
  .today-submission-card__point--wr {
    background: transparent;
  }
  .today-submission-card__points {
    gap: var(--space-xs);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions {
    order: 7;
    grid-column: -2 / -1;
    justify-self: end;
    text-align: right;
    align-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .today-submission-card__actions {
    margin-left: 0;
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill,
  .today-submission-card__vote .vote-pill {
    padding: 0;
    height: 22px;
    font-size: var(--font-size-2xs);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius-full);
    box-shadow: none;
    background-color: var(--color-bg-surface);
    line-height: var(--line-height-none);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill:hover,
  .today-submission-card__vote .vote-pill:hover {
    border-color: var(--color-border-standard);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill__btn,
  .today-submission-card__vote .vote-pill__btn {
    padding: 0 var(--space-s);
    font-size: var(--font-size-2xs);
    gap: var(--space-2xs);
    color: var(--color-text-secondary);
    line-height: 20px;
    height: 100%;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill__btn:hover,
  .today-submission-card__vote .vote-pill__btn:hover {
    color: var(--color-link);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill__action.has-voted,
  .today-submission-card__vote .vote-pill__action.has-voted {
    color: var(--color-link);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill__btn i,
  .today-submission-card__vote .vote-pill__btn i {
    font-size: var(--font-size-2xs);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill__divider,
  .today-submission-card__vote .vote-pill__divider {
    height: 10px;
    background-color: var(--color-border-subtle);
    margin: 0;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill__count,
  .today-submission-card__vote .vote-pill__count {
    font-size: var(--font-size-2xs);
    font-weight: var(--font-weight-semibold);
    font-variant-numeric: tabular-nums;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-actions .vote-pill__caret,
  .today-submission-card__vote .vote-pill__caret {
    font-size: 7px;
    opacity: 0.6;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-cooling {
    order: 6;
    grid-column: -2 / -1;
    justify-self: end;
    min-width: 0;
    padding: var(--space-2xs) 0;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
  }
  .status-badge {
    border: none;
    background: transparent;
    padding: 0;
    gap: var(--space-xs);
    letter-spacing: normal;
    line-height: var(--line-height-tight);
    flex-shrink: 0;
    white-space: nowrap;
  }
  .status-badge i {
    font-size: var(--font-size-xs);
  }
  .status-badge .status-value {
    color: var(--color-text-secondary);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-cooling:empty {
    display: none;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-subspecs {
    order: 8;
    grid-column: 1 / -1;
    padding: var(--space-2xs) 0;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-subspecs:empty {
    display: none;
  }
  .today-submissions-wrapper .today-submissions-table tbody tr td.col-subspecs .today-submission-card__subspecs {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    align-items: center;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr td {
    order: unset !important;
    padding: 0 !important;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr.table-first-pos,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr.table-first-pos,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr.table-first-pos,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr.table-first-pos,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr:nth-child(1) {
    border-left-color: var(--color-pos-first) !important;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr.table-second-pos,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr.table-second-pos,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr.table-second-pos,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr.table-second-pos,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr:nth-child(2) {
    border-left-color: var(--color-pos-second) !important;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr.table-third-pos,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr.table-third-pos,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr.table-third-pos,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr.table-third-pos,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr:nth-child(3) {
    border-left-color: var(--color-pos-third) !important;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-rank,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr td.col-rank,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-rank,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr td.col-rank,
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-date,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-date {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center;
    justify-self: start;
    width: auto;
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0 !important;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-rank .today-submission-card__rank {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    min-width: 28px;
    text-align: center;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-score,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr td.col-score,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-score,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr td.col-score {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    align-self: center;
    text-align: left !important;
    min-width: 0;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-score a {
    color: var(--color-link);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-sm);
    white-space: nowrap;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-score a:hover,
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-score a:active {
    color: var(--color-link-hover);
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-hardware,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr td.col-hardware,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-hardware,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr td.col-hardware {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: center;
    text-align: right !important;
    min-width: 0;
    padding: 0 !important;
    padding-right: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: flex-end !important;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-hardware .today-submission-card__hardware {
    max-width: 180px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-hardware .today-submission-card__hardware span:not(.today-submission-card__clock) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-primary);
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-cooling,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr td.col-cooling,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-cooling,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr td.col-cooling {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: start !important;
    align-self: center;
    min-width: 0;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-user,
  .today-submissions-wrapper .hall-of-fame-table.has-rank tbody tr td.col-user,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-user,
  .today-submissions-wrapper .today-submissions-table.has-rank.hall-of-fame-table tbody tr td.col-user {
    grid-column: 3 !important;
    grid-row: 2 !important;
    justify-self: end !important;
    align-self: center;
    text-align: right !important;
    min-width: 0;
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: flex-end !important;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-user .today-submission-card__avatar {
    width: 18px;
    height: 18px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-user .country_flags {
    flex-shrink: 0;
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-user .today-submission-card__name {
    max-width: 130px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
  }
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-subspecs,
  .today-submissions-wrapper .hall-of-fame-table tbody tr td.col-actions,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-subspecs,
  .today-submissions-wrapper .today-submissions-table.hall-of-fame-table tbody tr td.col-actions {
    display: none !important;
  }
  .library-table,
  .library-table tbody {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    border: none;
    background: transparent;
  }
  .library-table thead {
    display: none;
  }
  .library-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    align-items: center;
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
  }
  .library-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-color: var(--color-border-standard);
  }
  .library-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .library-table tbody tr td.col-manufacturer {
    order: 1;
    text-align: left;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
  }
  .library-table tbody tr td.col-model {
    order: 2;
    text-align: right;
    justify-self: end;
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-heading);
  }
  .library-table tbody tr td.col-product {
    order: 3;
    text-align: left;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .library-table tbody tr td.col-product:empty {
    display: none;
  }
  .library-table tbody tr td.col-socket {
    order: 4;
    text-align: right;
    justify-self: end;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .library-table tbody tr td.col-product a,
  .library-table tbody tr td.col-socket a {
    color: var(--color-text-secondary);
    text-decoration: none;
  }
  .library-table tbody tr td.col-product a:hover,
  .library-table tbody tr td.col-socket a:hover {
    color: var(--color-link);
    text-decoration: underline;
  }
  .library-table tbody tr td.col-socket:empty {
    display: none;
  }
  .library-table tbody tr td.col-subs {
    order: 5;
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: var(--space-s);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
  }
  .library-card__subs-label {
    display: inline-block;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }
  .library-table tbody tr td.col-subs a {
    font-weight: var(--font-weight-semibold);
    color: var(--color-link);
  }
  .xtu-profiles-table,
  .xtu-profiles-table tbody {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    border: none;
    background: transparent;
  }
  .xtu-profiles-table thead {
    display: none;
  }
  .xtu-profiles-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    align-items: center;
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
  }
  .xtu-profiles-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-color: var(--color-border-standard);
  }
  .xtu-profiles-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .xtu-profiles-table tbody tr td.col-date {
    order: 1;
    text-align: left;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .xtu-profiles-table tbody tr td.col-score {
    order: 2;
    text-align: right;
    justify-self: end;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
  }
  .xtu-profiles-table tbody tr td.col-score a {
    font-weight: var(--font-weight-bold);
    color: var(--color-text-heading);
  }
  .xtu-profiles-table tbody tr td.col-processor {
    order: 3;
    text-align: left;
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
  }
  .xtu-profiles-table tbody tr td.col-socket {
    order: 4;
    text-align: right;
    justify-self: end;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .xtu-profiles-table tbody tr td.col-socket:empty {
    display: none;
  }
  .xtu-profiles-table tbody tr td.col-socket a {
    color: var(--color-text-secondary);
    text-decoration: none;
  }
  .xtu-profiles-table tbody tr td.col-socket a:hover {
    color: var(--color-link);
    text-decoration: underline;
  }
  .xtu-profiles-table tbody tr td.col-clock,
  .xtu-profiles-table tbody tr td.col-motherboard {
    display: none !important;
  }
  .xtu-profiles-table tbody tr td.col-actions {
    order: 5;
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-top: var(--space-s);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
  }
  .xtu-profiles-table tbody tr td.col-actions:empty {
    display: none;
  }
  .xtu-profiles-table tbody tr td.col-actions a {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-link);
    padding: var(--space-2xs) var(--space-sm);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius-xs);
    background: var(--color-bg-card);
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
  }
  .xtu-profiles-table tbody tr td.col-actions a:hover {
    background-color: var(--color-bg-hover);
    border-color: var(--color-primary);
    text-decoration: none;
  }
  .xtu-analyze-table,
  .xtu-analyze-table tbody {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    border: none;
    background: transparent;
  }
  .xtu-analyze-table thead {
    display: none;
  }
  .xtu-analyze-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: var(--border-radius);
    align-items: center;
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
  }
  .xtu-analyze-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-color: var(--color-border-standard);
  }
  .xtu-analyze-table tbody tr.is-active {
    background-color: var(--color-info-bg);
    border-left-color: var(--color-primary);
    border-color: var(--color-primary);
  }
  .xtu-analyze-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .xtu-analyze-table tbody tr td.col-date {
    order: 1;
    text-align: left;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    white-space: nowrap;
  }
  .xtu-analyze-table tbody tr td.col-score {
    order: 2;
    text-align: right;
    justify-self: end;
    font-weight: var(--font-weight-bold);
  }
  .xtu-analyze-table tbody tr td.col-score a {
    font-weight: var(--font-weight-bold);
    color: var(--color-text-heading);
  }
  .xtu-analyze-table tbody tr td.col-user {
    order: 3;
    min-width: 0;
  }
  .xtu-analyze-table tbody tr td.col-user .today-submission-card__participant {
    max-width: 100%;
    overflow: hidden;
  }
  .xtu-analyze-table tbody tr td.col-user .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .xtu-analyze-table tbody tr td.col-clock {
    order: 4;
    text-align: right;
    justify-self: end;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    white-space: nowrap;
  }
  .xtu-analyze-table tbody tr td.col-clock:empty {
    display: none;
  }
  .xtu-analyze-table tbody tr td.col-motherboard {
    order: 5;
    grid-column: 1 / -1;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    padding: var(--space-2xs) 0 0;
  }
  .xtu-analyze-table tbody tr td.col-motherboard:empty {
    display: none;
  }
  .xtu-analyze-table tbody tr td.col-motherboard a {
    color: var(--color-text-secondary);
    text-decoration: none;
  }
  .xtu-analyze-table tbody tr td.col-motherboard a:hover {
    color: var(--color-link);
    text-decoration: underline;
  }
  .xtu-analyze-table tbody tr td.col-cooling {
    order: 6;
    grid-column: 1 / -1;
    padding: var(--space-2xs) 0;
  }
  .xtu-analyze-table tbody tr td.col-cooling:empty {
    display: none;
  }
  .xtu-analyze-table tbody tr td.col-points {
    order: 7;
    justify-self: start;
    display: flex;
    align-items: center;
    padding-top: var(--space-2xs);
  }
  .xtu-analyze-table tbody tr td.col-points:empty {
    display: none;
  }
  .xtu-analyze-table tbody tr td.col-actions {
    order: 8;
    justify-self: end;
    display: flex;
    align-items: center;
    padding-top: var(--space-2xs);
  }
  .competitions-overview-table,
  .competitions-overview-table tbody {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    border: none;
    background: transparent;
  }
  .competitions-overview-table thead {
    display: none;
  }
  .competitions-overview-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    align-items: center;
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
  }
  .competitions-overview-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-color: var(--color-border-standard);
  }
  .competitions-overview-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .competitions-overview-table tbody tr td.col-competition {
    order: 1;
    grid-column: 1 / -1;
    min-width: 0;
    width: 100%;
  }
  .competitions-overview-table tbody tr td.col-competition a.competitions-table__name-link {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-bold);
    color: var(--color-link);
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .competitions-overview-table tbody tr td.col-competition a.competitions-table__name-link:hover,
  .competitions-overview-table tbody tr td.col-competition a.competitions-table__name-link:active {
    color: var(--color-link-hover);
  }
  .competitions-overview-table tbody tr td.col-level {
    order: 2;
    grid-column: 1;
    text-align: left;
    justify-self: start;
    width: auto;
  }
  .competitions-overview-table tbody tr td.col-level:empty {
    display: none;
  }
  .competitions-overview-table tbody tr td.col-stages {
    order: 3;
    grid-column: 2;
    text-align: right;
    justify-self: end;
    width: auto;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .competitions-table__stages-label {
    display: inline;
  }
  .competitions-overview-table tbody tr td.col-opens {
    order: 4;
    grid-column: 1 / -1;
    text-align: left;
    width: 100%;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .competitions-overview-table tbody tr td.col-closes {
    order: 5;
    grid-column: 1 / -1;
    text-align: left;
    justify-self: start;
    width: 100%;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .competitions-table__date-label {
    display: inline;
    color: var(--color-text-muted);
  }
  .competitions-overview-table tbody tr td.col-winner {
    order: 6;
    grid-column: 1 / -1;
    width: 100%;
    padding-top: var(--space-xs);
    border-top: var(--border-width-sm) dashed var(--color-border-subtle);
    margin-top: var(--space-2xs);
  }
  .competitions-overview-table tbody tr td.col-winner:empty {
    display: none;
  }
  .career-ranking-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .career-ranking-table thead {
    display: none !important;
  }
  .career-ranking-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .career-ranking-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .career-ranking-table tbody tr:last-child {
    border-bottom: none;
  }
  .career-ranking-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .career-ranking-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .career-ranking-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .career-ranking-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .career-ranking-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .career-ranking-table tbody tr td.col-rank,
  .career-ranking-table tbody tr.table-first-pos td.col-rank,
  .career-ranking-table tbody tr.table-second-pos td.col-rank,
  .career-ranking-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    min-width: 28px;
    text-align: center;
  }
  .career-ranking-table tbody tr td.col-user {
    grid-column: 2 / 4;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .career-ranking-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .career-ranking-table tbody tr td.col-user .today-submission-card__avatar {
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .career-ranking-table tbody tr td.col-user .today-submission-card__name {
    max-width: 130px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-primary);
  }
  .career-ranking-table tbody tr td.col-team {
    grid-column: 4;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    min-width: 0;
    padding: 0;
  }
  .career-ranking-table tbody tr td.col-team .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .career-ranking-table tbody tr td.col-team .today-submission-card__avatar {
    width: 18px;
    height: 18px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .career-ranking-table tbody tr td.col-team .today-submission-card__name {
    max-width: 110px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .career-ranking-table tbody tr td.col-team:empty {
    display: none;
  }
  .career-ranking-table tbody tr td.col-points {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    text-align: left;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    font-size: var(--font-size-xs);
    white-space: nowrap;
    padding: 0;
  }
  .career-ranking-table tbody tr td.col-glp {
    grid-column: 3;
    grid-row: 2;
    align-self: center;
    justify-self: center;
    text-align: center;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    white-space: nowrap;
    padding: 0;
  }
  .career-ranking-table tbody tr td.col-hwp {
    grid-column: 4;
    grid-row: 2;
    align-self: center;
    justify-self: end;
    text-align: right;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    white-space: nowrap;
    padding: 0;
  }
  .career-ranking-card__points-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-left: var(--space-3xs);
  }
  .team-career-ranking-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .team-career-ranking-table thead {
    display: none !important;
  }
  .team-career-ranking-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .team-career-ranking-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .team-career-ranking-table tbody tr:last-child {
    border-bottom: none;
  }
  .team-career-ranking-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .team-career-ranking-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .team-career-ranking-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .team-career-ranking-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .team-career-ranking-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .team-career-ranking-table tbody tr td.col-rank,
  .team-career-ranking-table tbody tr.table-first-pos td.col-rank,
  .team-career-ranking-table tbody tr.table-second-pos td.col-rank,
  .team-career-ranking-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    min-width: 28px;
    text-align: center;
  }
  .team-career-ranking-table tbody tr td.col-team {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .team-career-ranking-table tbody tr td.col-team .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .team-career-ranking-table tbody tr td.col-team .today-submission-card__avatar {
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .team-career-ranking-table tbody tr td.col-team .country_flags {
    flex-shrink: 0;
  }
  .team-career-ranking-table tbody tr td.col-team .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-primary);
  }
  .team-career-ranking-table tbody tr td.col-points {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-heading);
    font-size: var(--font-size-xs);
    white-space: nowrap;
    padding: 0;
  }
  .team-career-ranking-table tbody tr td.col-points .team-ranking-card__points-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-left: var(--space-3xs);
  }
  .team-career-ranking-table tbody tr td.col-members {
    grid-column: 2 / -1;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    padding: 0;
  }
  .team-career-ranking-table tbody tr td.col-members:empty {
    display: none;
  }
  .team-ranking-card__members-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: lowercase;
    letter-spacing: 0.02em;
    margin-left: var(--space-3xs);
  }
  .team-career-ranking-table tbody tr td.col-glp,
  .team-career-ranking-table tbody tr td.col-hwp,
  .team-career-ranking-table tbody tr td.col-gltpp,
  .team-career-ranking-table tbody tr td.col-hwtpp,
  .team-career-ranking-table tbody tr td.col-cp {
    display: none !important;
  }
  .season-ranking-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .season-ranking-table thead {
    display: none !important;
  }
  .season-ranking-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .season-ranking-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .season-ranking-table tbody tr:last-child {
    border-bottom: none;
  }
  .season-ranking-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .season-ranking-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .season-ranking-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .season-ranking-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .season-ranking-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .season-ranking-table tbody tr td.col-rank,
  .season-ranking-table tbody tr.table-first-pos td.col-rank,
  .season-ranking-table tbody tr.table-second-pos td.col-rank,
  .season-ranking-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    min-width: 28px;
    text-align: center;
  }
  .season-ranking-table tbody tr td.col-user {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .season-ranking-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .season-ranking-table tbody tr td.col-user .today-submission-card__avatar {
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .season-ranking-table tbody tr td.col-user .country_flags {
    flex-shrink: 0;
  }
  .season-ranking-table tbody tr td.col-user .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-primary);
  }
  .season-ranking-table tbody tr td.col-team {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    min-width: 0;
    padding: 0;
  }
  .season-ranking-table tbody tr td.col-team .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .season-ranking-table tbody tr td.col-team .today-submission-card__avatar {
    width: 18px;
    height: 18px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .season-ranking-table tbody tr td.col-team .country_flags {
    flex-shrink: 0;
  }
  .season-ranking-table tbody tr td.col-team .today-submission-card__name {
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .season-ranking-table tbody tr td.col-team:empty {
    display: none;
  }
  .season-ranking-table tbody tr td.col-points {
    grid-column: 2 / -1;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    text-align: left;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    font-size: var(--font-size-xs);
    white-space: nowrap;
    padding: 0;
  }
  .season-ranking-card__points-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-left: var(--space-3xs);
  }
  .season-ranking-table tbody tr td.col-glp,
  .season-ranking-table tbody tr td.col-hwp,
  .season-ranking-table tbody tr td.col-cp {
    display: none !important;
  }
  .team-season-ranking-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .team-season-ranking-table thead {
    display: none !important;
  }
  .team-season-ranking-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .team-season-ranking-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .team-season-ranking-table tbody tr:last-child {
    border-bottom: none;
  }
  .team-season-ranking-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .team-season-ranking-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .team-season-ranking-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .team-season-ranking-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .team-season-ranking-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .team-season-ranking-table tbody tr td.col-rank,
  .team-season-ranking-table tbody tr.table-first-pos td.col-rank,
  .team-season-ranking-table tbody tr.table-second-pos td.col-rank,
  .team-season-ranking-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    min-width: 28px;
    text-align: center;
  }
  .team-season-ranking-table tbody tr td.col-team {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .team-season-ranking-table tbody tr td.col-team .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .team-season-ranking-table tbody tr td.col-team .today-submission-card__avatar {
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .team-season-ranking-table tbody tr td.col-team .country_flags {
    flex-shrink: 0;
  }
  .team-season-ranking-table tbody tr td.col-team .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-primary);
  }
  .team-season-ranking-table tbody tr td.col-points {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-heading);
    font-size: var(--font-size-xs);
    white-space: nowrap;
    padding: 0;
  }
  .team-season-ranking-table tbody tr td.col-points .team-season-ranking-card__points-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-left: var(--space-3xs);
  }
  .team-season-ranking-table tbody tr td.col-members {
    grid-column: 2 / -1;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    padding: 0;
  }
  .team-season-ranking-table tbody tr td.col-members:empty {
    display: none;
  }
  .team-season-ranking-card__members-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: lowercase;
    letter-spacing: 0.02em;
    margin-left: var(--space-3xs);
  }
  .team-season-ranking-table tbody tr td.col-glp,
  .team-season-ranking-table tbody tr td.col-hwp,
  .team-season-ranking-table tbody tr td.col-gltpp,
  .team-season-ranking-table tbody tr td.col-hwtpp,
  .team-season-ranking-table tbody tr td.col-cp {
    display: none !important;
  }
  .country-league-ranking-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .country-league-ranking-table thead {
    display: none !important;
  }
  .country-league-ranking-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .country-league-ranking-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .country-league-ranking-table tbody tr:last-child {
    border-bottom: none;
  }
  .country-league-ranking-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .country-league-ranking-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .country-league-ranking-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .country-league-ranking-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .country-league-ranking-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .country-league-ranking-table tbody tr td.col-rank,
  .country-league-ranking-table tbody tr.table-first-pos td.col-rank,
  .country-league-ranking-table tbody tr.table-second-pos td.col-rank,
  .country-league-ranking-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    min-width: 28px;
    text-align: center;
  }
  .country-league-ranking-table tbody tr td.col-country {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .country-league-ranking-table tbody tr td.col-country .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .country-league-ranking-table tbody tr td.col-country .country_flags {
    flex-shrink: 0;
  }
  .country-league-ranking-table tbody tr td.col-country .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-primary);
  }
  .country-league-ranking-table tbody tr td.col-points {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-heading);
    font-size: var(--font-size-xs);
    white-space: nowrap;
    padding: 0;
  }
  .country-league-ranking-table tbody tr td.col-points .country-league-ranking-card__points-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-left: var(--space-3xs);
  }
  .country-league-ranking-table tbody tr td.col-members {
    grid-column: 2 / -1;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    padding: 0;
  }
  .country-league-ranking-table tbody tr td.col-members:empty {
    display: none;
  }
  .country-league-ranking-card__members-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: lowercase;
    letter-spacing: 0.02em;
    margin-left: var(--space-3xs);
  }
  .country-league-ranking-table tbody tr td.col-glp,
  .country-league-ranking-table tbody tr td.col-hwp,
  .country-league-ranking-table tbody tr td.col-cp {
    display: none !important;
  }
  .global-masters-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .global-masters-table thead {
    display: none !important;
  }
  .global-masters-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .global-masters-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .global-masters-table tbody tr:last-child {
    border-bottom: none;
  }
  .global-masters-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .global-masters-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .global-masters-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .global-masters-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .global-masters-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .global-masters-table tbody tr td.col-rank,
  .global-masters-table tbody tr.table-first-pos td.col-rank,
  .global-masters-table tbody tr.table-second-pos td.col-rank,
  .global-masters-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    min-width: 28px;
    text-align: center;
  }
  .global-masters-table tbody tr td.col-user {
    grid-column: 2 / 4;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .global-masters-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .global-masters-table tbody tr td.col-user .today-submission-card__avatar {
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .global-masters-table tbody tr td.col-user .country_flags {
    flex-shrink: 0;
  }
  .global-masters-table tbody tr td.col-user .today-submission-card__name {
    max-width: 130px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-primary);
  }
  .global-masters-table tbody tr td.col-team {
    grid-column: 4;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    min-width: 0;
    padding: 0;
  }
  .global-masters-table tbody tr td.col-team .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .global-masters-table tbody tr td.col-team .today-submission-card__avatar {
    width: 18px;
    height: 18px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .global-masters-table tbody tr td.col-team .country_flags {
    flex-shrink: 0;
  }
  .global-masters-table tbody tr td.col-team .today-submission-card__name {
    max-width: 110px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .global-masters-table tbody tr td.col-team:empty {
    display: none;
  }
  .global-masters-table tbody tr td.col-points {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    text-align: left;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    font-size: var(--font-size-xs);
    white-space: nowrap;
    padding: 0;
  }
  .global-masters-table tbody tr td.col-wrp {
    grid-column: 3;
    grid-row: 2;
    align-self: center;
    justify-self: center;
    text-align: center;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    white-space: nowrap;
    padding: 0;
  }
  .global-masters-table tbody tr td.col-glp {
    grid-column: 4;
    grid-row: 2;
    align-self: center;
    justify-self: end;
    text-align: right;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    white-space: nowrap;
    padding: 0;
  }
  .global-masters-card__points-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-left: var(--space-3xs);
  }
  .hardware-masters-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .hardware-masters-table thead {
    display: none !important;
  }
  .hardware-masters-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .hardware-masters-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .hardware-masters-table tbody tr:last-child {
    border-bottom: none;
  }
  .hardware-masters-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .hardware-masters-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .hardware-masters-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .hardware-masters-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .hardware-masters-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .hardware-masters-table tbody tr td.col-rank,
  .hardware-masters-table tbody tr.table-first-pos td.col-rank,
  .hardware-masters-table tbody tr.table-second-pos td.col-rank,
  .hardware-masters-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    min-width: 28px;
    text-align: center;
  }
  .hardware-masters-table tbody tr td.col-user {
    grid-column: 2 / 4;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .hardware-masters-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .hardware-masters-table tbody tr td.col-user .today-submission-card__avatar {
    width: 20px;
    height: 20px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .hardware-masters-table tbody tr td.col-user .country_flags {
    flex-shrink: 0;
  }
  .hardware-masters-table tbody tr td.col-user .today-submission-card__name {
    max-width: 130px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-primary);
  }
  .hardware-masters-table tbody tr td.col-team {
    grid-column: 4;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    min-width: 0;
    padding: 0;
  }
  .hardware-masters-table tbody tr td.col-team .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .hardware-masters-table tbody tr td.col-team .today-submission-card__avatar {
    width: 18px;
    height: 18px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .hardware-masters-table tbody tr td.col-team .country_flags {
    flex-shrink: 0;
  }
  .hardware-masters-table tbody tr td.col-team .today-submission-card__name {
    max-width: 110px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .hardware-masters-table tbody tr td.col-team:empty {
    display: none;
  }
  .hardware-masters-table tbody tr td.col-points {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    text-align: left;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    font-size: var(--font-size-xs);
    white-space: nowrap;
    padding: 0;
  }
  .hardware-masters-table tbody tr td.col-2dp {
    grid-column: 3;
    grid-row: 2;
    align-self: center;
    justify-self: center;
    text-align: center;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    white-space: nowrap;
    padding: 0;
  }
  .hardware-masters-table tbody tr td.col-3dp {
    grid-column: 4;
    grid-row: 2;
    align-self: center;
    justify-self: end;
    text-align: right;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    white-space: nowrap;
    padding: 0;
  }
  .hardware-masters-card__points-label {
    display: inline;
    color: var(--color-text-muted);
    font-size: var(--font-size-2xs);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-left: var(--space-3xs);
  }
  .compo-stage-table {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .compo-stage-table thead {
    display: block;
    width: 100%;
    background: var(--color-bg-dark);
    border-bottom: var(--border-width-sm) solid var(--color-border-light);
  }
  .compo-stage-table thead tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    column-gap: var(--space-sm);
    padding: var(--space-xs) var(--space-sm);
    border-left: var(--pos-marker-width) solid transparent;
    align-items: center;
    background: transparent;
  }
  .compo-stage-table thead tr th {
    background: transparent;
    border: none;
    padding: 0;
    color: var(--color-text-white);
    font-size: var(--font-size-2xs);
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
  }
  .compo-stage-table thead tr th.col-rank {
    grid-column: 1;
    min-width: 20px;
    width: auto;
    text-align: left;
    font-variant-numeric: tabular-nums;
  }
  .compo-stage-table thead tr th.col-competitor {
    grid-column: 2;
    width: auto;
    text-align: left;
    min-width: 0;
  }
  .compo-stage-table thead tr th.col-points {
    grid-column: 3;
    width: auto;
    text-align: right;
    justify-self: end;
  }
  .compo-stage-table thead tr th.col-score,
  .compo-stage-table thead tr th.col-submissions {
    display: none;
  }
  .compo-stage-table tbody {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
    border-radius: 0;
    overflow: visible;
  }
  .compo-stage-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    row-gap: var(--space-2xs);
    column-gap: var(--space-sm);
    padding: var(--space-xs) var(--space-sm);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .compo-stage-table tbody tr:last-child {
    border-bottom: none;
  }
  .compo-stage-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .compo-stage-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .compo-stage-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .compo-stage-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .compo-stage-table tbody tr.table-pos {
    border-left-color: var(--color-pos-four-five);
  }
  .compo-stage-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .compo-stage-table tbody tr td.col-rank,
  .compo-stage-table tbody tr.table-first-pos td.col-rank,
  .compo-stage-table tbody tr.table-second-pos td.col-rank,
  .compo-stage-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-muted);
    display: inline-flex;
    align-items: center;
    padding: 0;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    min-width: 24px;
    font-variant-numeric: tabular-nums;
    text-align: left;
  }
  .compo-stage-table tbody tr.table-first-pos td.col-rank {
    color: var(--color-pos-first);
  }
  .compo-stage-table tbody tr.table-second-pos td.col-rank {
    color: var(--color-pos-second);
  }
  .compo-stage-table tbody tr.table-third-pos td.col-rank {
    color: var(--color-pos-third);
  }
  .compo-stage-table tbody tr td.col-competitor {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .compo-stage-table tbody tr td.col-competitor .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .compo-stage-table tbody tr td.col-competitor .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .compo-stage-table tbody tr td.col-points {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    text-align: right;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-heading);
    font-size: var(--font-size-sm);
    white-space: nowrap;
    padding: 0;
  }
  .compo-stage-table tbody tr td.col-score {
    grid-column: 2 / -1;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    text-align: left;
    padding: 0;
    min-width: 0;
  }
  .compo-stage-table tbody tr td.col-submissions {
    grid-column: 2 / -1;
    grid-row: 3;
    align-self: center;
    justify-self: start;
    padding: 0;
    min-width: 0;
  }
  .compo-stage-table tbody tr td.col-submissions:empty,
  .compo-stage-table tbody tr td.col-submissions--empty {
    display: none;
  }
  .compo-scoreboard-header {
    padding: var(--space-xs) var(--space-sm);
    gap: var(--space-xs);
    font-size: var(--font-size-2xs);
  }
  .compo-scoreboard-header__rank {
    min-width: 20px;
  }
  .compo-scoreboard-header__content {
    gap: var(--space-xs);
  }
  .compo-scoreboard-card {
    padding: var(--space-xs) var(--space-sm);
    gap: var(--space-xs);
  }
  .compo-scoreboard-card__rank {
    min-width: 20px;
    height: 22px;
    font-size: var(--font-size-xs);
  }
  .compo-scoreboard-card__content {
    gap: var(--space-2xs);
  }
  .compo-scoreboard-card__header {
    gap: var(--space-xs);
  }
  .compo-scoreboard-card__participant {
    gap: var(--space-xs);
  }
  .compo-scoreboard-card__participant .country_flags {
    width: var(--space-sm);
    height: var(--space-sm);
    background-size: var(--space-sm);
  }
  .compo-scoreboard-card__avatar {
    width: 22px;
    height: 22px;
  }
  .compo-scoreboard-card__name {
    font-size: var(--font-size-xs);
  }
  .compo-scoreboard-card__total-value {
    font-size: var(--font-size-sm);
  }
  .compo-scoreboard-card__cups {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    gap: var(--space-2xs);
    padding-top: var(--space-xs);
    padding-bottom: 2px;
  }
  .compo-scoreboard-card__cups::-webkit-scrollbar {
    display: none;
  }
  .compo-scoreboard-cup {
    flex-shrink: 0;
    padding: 2px 6px;
    gap: var(--space-2xs);
    font-size: var(--font-size-2xs);
  }
  .compo-scoreboard-cup__label {
    font-size: var(--font-size-2xs);
  }
  .compo-scoreboard-cup__score {
    font-size: var(--font-size-2xs);
  }
  .compo-scoreboard-cup__points {
    font-size: var(--font-size-2xs);
  }
  .ranking-log-table,
  .ranking-log-table tbody {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    border: none;
    background: transparent;
  }
  .ranking-log-table thead {
    display: none;
  }
  .ranking-log-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    align-items: center;
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
  }
  .ranking-log-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-color: var(--color-border-standard);
  }
  .ranking-log-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .ranking-log-table tbody tr td.col-user,
  .ranking-log-table tbody tr td.col-ranking,
  .ranking-log-table tbody tr td.col-cooling {
    display: none !important;
  }
  .ranking-log-table tbody tr td.col-date {
    order: 1;
    text-align: left;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .ranking-log-table tbody tr td.col-score {
    order: 2;
    text-align: right;
    justify-self: end;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
  }
  .ranking-log-table tbody tr td.col-score a {
    font-weight: var(--font-weight-bold);
    color: var(--color-text-heading);
  }
  .ranking-log-table tbody tr td.col-benchmark {
    order: 3;
    text-align: left;
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
  }
  .ranking-log-table tbody tr td.col-hardware {
    order: 4;
    text-align: right;
    justify-self: end;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .ranking-log-table tbody tr td.col-hardware .ranking-log-cores {
    margin-left: var(--space-2xs);
    color: var(--color-text-tertiary);
  }
  .ranking-log-table tbody tr td.col-rank {
    order: 5;
    text-align: left;
    padding-top: var(--space-s);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
  }
  .ranking-log-table tbody tr td.col-points {
    order: 6;
    text-align: right;
    justify-self: end;
    padding-top: var(--space-s);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    color: var(--color-brand);
  }
  .ranking-log-table tbody tr td.col-points:empty {
    display: none;
  }
  .user-points-table,
  .user-points-table tbody {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    border: none;
    background: transparent;
  }
  .user-points-table thead {
    display: none;
  }
  .user-points-table tbody tr {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    align-items: center;
    transition: background-color var(--transition-fast), border-color var(--transition-fast);
  }
  .user-points-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-color: var(--color-border-standard);
  }
  .user-points-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .user-points-table tbody tr td.col-benchmark {
    order: 1;
    min-width: 0;
    font-weight: var(--font-weight-semibold);
  }
  .user-points-table tbody tr td.col-score {
    order: 2;
    text-align: right;
    justify-self: end;
  }
  .user-points-table tbody tr td.col-hardware {
    order: 3;
    grid-column: 1 / -1;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .user-points-table tbody tr td.col-hardware:empty {
    display: none;
  }
  .user-points-table tbody tr td.col-cooling {
    order: 4;
    grid-column: 1 / -1;
  }
  .user-points-table tbody tr td.col-cooling:empty {
    display: none;
  }
  .user-points-table tbody tr td.col-date {
    display: none;
  }
  .user-points-table tbody tr td.col-rank {
    order: 5;
    text-align: left;
    padding-top: var(--space-s);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    gap: var(--space-2xs);
  }
  .user-points-table tbody tr td.col-points {
    order: 6;
    text-align: right;
    justify-self: end;
    padding-top: var(--space-s);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    color: var(--color-brand);
  }
  .user-points-table--competition tbody tr td.col-competition {
    order: 1;
    min-width: 0;
    font-weight: var(--font-weight-semibold);
  }
  .user-points-table--competition tbody tr td.col-level {
    order: 2;
    text-align: right;
    justify-self: end;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .user-points-table--competition tbody tr td.col-date {
    order: 3;
    grid-column: 1 / -1;
    text-align: left;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
  }
  .ranking-highlight-grid {
    grid-template-columns: 1fr;
    gap: var(--space-xs);
  }
  .wall-submission-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    margin-bottom: var(--space-sm);
    border: var(--border-width-sm) solid var(--color-border-subtle);
  }
  .wall-card__body {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--space-xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    align-items: center;
    white-space: normal;
  }
  .wall-card__user {
    order: 1;
    grid-column: 1;
    min-width: 0;
  }
  .wall-card__score {
    order: 2;
    grid-column: 2;
    margin-left: 0;
    text-align: right;
    justify-self: end;
    font-size: var(--font-size-md);
    font-weight: var(--font-weight-bold);
  }
  .wall-card__benchmark {
    order: 3;
    grid-column: 1 / -1;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    word-break: break-word;
  }
  .wall-card__hardware {
    order: 4;
    grid-column: 1;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    word-break: break-word;
    min-width: 0;
  }
  .wall-card__date {
    order: 5;
    grid-column: 2;
    text-align: right;
    justify-self: end;
    font-size: var(--font-size-xs);
    white-space: nowrap;
    align-self: start;
  }
  .wall-card__cores {
    order: 6;
    grid-column: 1;
    align-self: center;
    width: fit-content;
    background: transparent;
    padding: 0;
    border-radius: 0;
  }
  .wall-card__cooling {
    order: 7;
    grid-column: 2;
    justify-self: end;
  }
  .wall-card__cooling:empty {
    display: none;
  }
  .wall-card__rankings {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-md);
    background: var(--color-bg-subtle);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    white-space: normal;
  }
  .wall-card__rankings .grid-spec {
    width: 100%;
    min-width: 0;
  }
  .wall-card__rankings .grid-spec-row {
    padding: var(--space-2xs) 0;
    border-bottom: none;
    overflow: visible;
  }
  .wall-card__rankings .attribute {
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    white-space: normal;
    word-break: break-word;
  }
  .wall-card__rankings .value {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-primary);
    white-space: normal;
    word-break: break-word;
  }
  @media screen and (max-width: 480px) {
    .wall-card__rankings {
      grid-template-columns: 1fr;
      gap: var(--space-2xs);
    }
    .wall-card__rankings .grid-spec-row--stacked {
      flex-direction: row;
      justify-content: space-between;
      align-items: center;
    }
    .wall-card__rankings .value {
      text-align: right;
      width: auto;
    }
  }
  .benchmark-ranking-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .benchmark-ranking-table thead {
    display: none !important;
  }
  .benchmark-ranking-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .benchmark-ranking-table tbody tr {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-rows: auto auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .benchmark-ranking-table tbody tr:last-child {
    border-bottom: none;
  }
  .benchmark-ranking-table tbody tr:hover {
    background-color: var(--color-bg-hover);
  }
  .benchmark-ranking-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .benchmark-ranking-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .benchmark-ranking-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .benchmark-ranking-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .benchmark-ranking-table tbody tr td.col-rank,
  .benchmark-ranking-table tbody tr.table-first-pos td.col-rank,
  .benchmark-ranking-table tbody tr.table-second-pos td.col-rank,
  .benchmark-ranking-table tbody tr.table-third-pos td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    border-left: none;
    color: var(--color-text-primary);
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-xs) 0 0;
  }
  .benchmark-ranking-table tbody tr td.col-rank .today-submission-card__rank {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    min-width: 28px;
    text-align: center;
  }
  .benchmark-ranking-table tbody tr td.col-score {
    grid-column: 2;
    grid-row: 1;
    justify-self: start;
    text-align: left;
    padding: 0;
    min-width: 0;
  }
  .benchmark-ranking-table tbody tr td.col-score a {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--color-link);
  }
  .benchmark-ranking-table tbody tr td.col-score a:hover,
  .benchmark-ranking-table tbody tr td.col-score a:active {
    color: var(--color-link-hover);
  }
  .benchmark-ranking-table tbody tr td.col-user {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    text-align: right;
    min-width: 0;
    padding: 0;
  }
  .benchmark-ranking-table tbody tr td.col-user .today-submission-card__participant {
    justify-content: flex-end;
    max-width: 100%;
    min-width: 0;
  }
  .benchmark-ranking-table tbody tr td.col-user .today-submission-card__name {
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .benchmark-ranking-table tbody tr td.col-hardware {
    grid-column: 2 / 4;
    grid-row: 2;
    min-width: 0;
    padding: 0;
  }
  .benchmark-ranking-table tbody tr td.col-hardware .today-submission-card__hardware {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
  }
  .benchmark-ranking-table tbody tr td.col-hardware .today-submission-card__hardware span:not(.today-submission-card__cores):not(.ranking-highlight-card__cores):not(.today-submission-card__clock) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .benchmark-ranking-table tbody tr td.col-hardware .today-submission-card__clock {
    flex-shrink: 0;
    white-space: nowrap;
  }
  .ranking-highlight-card__meta .today-submission-card__clock {
    display: none !important;
  }
  .benchmark-ranking-table tbody tr td.col-cooling {
    grid-column: 2;
    grid-row: 3;
    justify-self: start;
    align-self: center;
    min-width: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
  }
  .benchmark-ranking-table tbody tr td.col-cooling:empty {
    display: none;
  }
  .benchmark-ranking-table tbody tr td.col-points {
    grid-column: 3;
    grid-row: 3;
    justify-self: end;
    align-self: center;
    padding: 0;
    text-align: right;
  }
  .benchmark-ranking-table tbody tr td.col-points:empty {
    display: none;
  }
  .benchmark-ranking-table tbody tr td.col-benchmark {
    display: none !important;
  }
  .benchmark-first-spots-table {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
  }
  .benchmark-first-spots-table thead {
    display: none !important;
  }
  .benchmark-first-spots-table tbody {
    display: block;
    width: 100%;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-subtle);
    border-radius: var(--border-radius);
    overflow: hidden;
  }
  .benchmark-first-spots-table tbody tr {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    margin-bottom: 0;
    border: none;
    border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
    border-left: var(--pos-marker-width) solid transparent;
    border-radius: 0;
    background: var(--color-bg-surface);
    align-items: center;
    transition: background-color var(--transition-fast), border-left-color var(--transition-fast);
  }
  .benchmark-first-spots-table tbody tr:last-child {
    border-bottom: none;
  }
  .benchmark-first-spots-table tbody tr:hover {
    background-color: var(--color-bg-hover);
    border-left-color: var(--color-primary);
  }
  .benchmark-first-spots-table tbody tr td {
    display: block;
    padding: 0;
    border: none;
    background: transparent;
    white-space: normal;
  }
  .benchmark-first-spots-table tbody tr td.col-benchmark {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    width: auto;
    padding: 0;
    white-space: nowrap;
  }
  .benchmark-first-spots-table tbody tr td.col-benchmark .today-submission-card__benchmark-link {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-secondary);
    white-space: nowrap;
  }
  .benchmark-first-spots-table tbody tr td.col-score {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    text-align: left;
    padding: 0;
    white-space: nowrap;
  }
  .benchmark-first-spots-table tbody tr td.col-score a {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--color-link);
  }
  .benchmark-first-spots-table tbody tr td.col-score a:hover,
  .benchmark-first-spots-table tbody tr td.col-score a:active {
    color: var(--color-link-hover);
  }
  .benchmark-first-spots-table tbody tr td.col-hardware {
    grid-column: 3 / -1;
    grid-row: 1;
    align-self: center;
    min-width: 0;
    padding: 0;
  }
  .benchmark-first-spots-table tbody tr td.col-hardware .today-submission-card__hardware {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--font-size-xs);
  }
  .benchmark-first-spots-table tbody tr td.col-hardware .today-submission-card__hardware span:not(.today-submission-card__clock) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .benchmark-first-spots-table tbody tr td.col-hardware .today-submission-card__clock {
    flex-shrink: 0;
    white-space: nowrap;
    font-size: var(--font-size-xs);
    color: var(--color-text-muted);
  }
  .benchmark-first-spots-table tbody tr td.col-user {
    grid-column: 1 / 3;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
  }
  .benchmark-first-spots-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .benchmark-first-spots-table tbody tr td.col-user .today-submission-card__avatar {
    width: 18px;
    height: 18px;
    border-radius: var(--border-radius-full);
    object-fit: cover;
    flex-shrink: 0;
  }
  .benchmark-first-spots-table tbody tr td.col-user .today-submission-card__name {
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-primary);
  }
  .benchmark-first-spots-table tbody tr td.col-cooling {
    grid-column: 3;
    grid-row: 2;
    align-self: center;
    justify-self: start;
    min-width: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
  }
  .benchmark-first-spots-table tbody tr td.col-cooling:empty {
    display: none;
  }
  .benchmark-first-spots-table tbody tr td.col-actions {
    grid-column: 4;
    grid-row: 2;
    align-self: center;
    justify-self: end;
    padding: 0;
    text-align: right;
  }
  .benchmark-first-spots-table tbody tr td.col-actions .today-submission-card__actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  .member-table tbody tr {
    grid-template-columns: 1fr auto;
  }
  .member-table tbody tr td.col-rank,
  .member-table tbody tr td.col-roles {
    display: none !important;
  }
  .member-table tbody tr td.col-user {
    order: 1;
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    align-self: center;
    min-width: 0;
    padding-right: var(--space-xs);
  }
  .member-table tbody tr td.col-user .member-card__name {
    color: var(--color-link);
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
    vertical-align: middle;
  }
  .member-table tbody tr td.col-user .member-card__name:hover,
  .member-table tbody tr td.col-user .member-card__name:active {
    color: var(--color-link-hover);
  }
  .member-table tbody tr td.col-team {
    order: 2;
    grid-column: 2;
    grid-row: 1;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    align-self: center;
    min-width: 0;
    text-align: right;
  }
  .member-table tbody tr td.col-team:empty {
    display: none;
  }
  .member-table tbody tr td.col-team .member-card__team {
    max-width: min(160px, 45vw);
  }
  .member-table tbody tr td.col-league {
    order: 3;
    grid-column: 1;
    grid-row: 2;
    display: inline-flex;
    align-items: center;
    justify-self: start;
    align-self: center;
    min-width: 0;
    padding: var(--space-2xs) 0;
    padding-right: var(--space-xs);
  }
  .member-table tbody tr td.col-league:empty {
    display: none;
  }
  .member-table tbody tr td.col-joined {
    order: 4;
    grid-column: 2;
    grid-row: 2;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    align-self: center;
    white-space: nowrap;
    flex-shrink: 0;
    padding: var(--space-2xs) 0;
    text-align: right;
  }
  .member-table tbody tr td.col-joined:empty {
    display: none;
  }
  .member-table tbody tr td.col-career-rank {
    order: 5;
    grid-column: 1;
    grid-row: 3;
    display: inline-flex;
    align-items: center;
    justify-self: start;
    align-self: center;
    text-align: left;
    padding: var(--space-2xs) 0;
    padding-right: var(--space-xs);
  }
  .member-table tbody tr td.col-career-rank:empty {
    display: none;
  }
  .member-table tbody tr td.col-career-points {
    order: 6;
    grid-column: 2;
    grid-row: 3;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    align-self: center;
    padding: var(--space-2xs) 0;
    text-align: right;
  }
  .member-table tbody tr td.col-career-points:empty {
    display: none;
  }
  .member-table tbody tr td.col-actions {
    order: 7;
    grid-column: 1 / -1;
    grid-row: 4;
    justify-self: end;
    align-self: center;
    padding-top: var(--space-2xs);
  }
  .member-table tbody tr td.col-actions:empty {
    display: none;
  }
  .team-table tbody tr {
    grid-template-columns: 1fr auto;
  }
  .team-table tbody tr td.col-rank,
  .team-table tbody tr td.col-captains {
    display: none !important;
  }
  .team-table tbody tr td.col-team {
    grid-column: 1 / -1;
    grid-row: 1;
    min-width: 0;
    padding-bottom: var(--space-xs);
  }
  .team-table tbody tr td.col-team .team-card__name {
    color: var(--color-link);
  }
  .team-table tbody tr td.col-team .team-card__name:hover,
  .team-table tbody tr td.col-team .team-card__name:active {
    color: var(--color-link-hover);
  }
  .team-table tbody tr td.col-members {
    grid-column: 1;
    grid-row: 2;
    display: inline-flex;
    align-items: center;
    justify-self: start;
    align-self: center;
    padding: var(--space-2xs) 0;
  }
  .team-table tbody tr td.col-members:empty {
    display: none;
  }
  .team-table tbody tr td.col-status {
    grid-column: 2;
    grid-row: 2;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    align-self: center;
    padding: var(--space-2xs) 0;
    text-align: right;
  }
  .team-table tbody tr td.col-status:empty {
    display: none;
  }
  .search-submissions-table tbody tr,
  .team-submissions-table tbody tr {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-rank,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-rank {
    display: none !important;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-benchmark,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-benchmark {
    order: 1;
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    align-self: center;
    min-width: 0;
    overflow: hidden;
    padding-right: var(--space-xs);
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-score,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-score {
    order: 2;
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    align-self: center;
    text-align: right;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-hardware,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-hardware {
    order: 3;
    grid-column: 1;
    grid-row: 2;
    justify-self: stretch;
    align-self: center;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    padding: var(--space-2xs) 0;
    padding-right: var(--space-xs);
    display: flex;
    align-items: center;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-cooling,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-cooling {
    order: 4;
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
    align-self: center;
    min-width: 0;
    padding: var(--space-2xs) 0;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-user,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-user {
    order: 5;
    grid-column: 1;
    grid-row: 3;
    justify-self: start;
    align-self: center;
    text-align: left;
    min-width: 0;
    padding: var(--space-2xs) 0;
    padding-right: var(--space-xs);
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-user .today-submission-card__participant,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-user .today-submission-card__participant {
    justify-content: flex-start;
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-user .today-submission-card__name,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-user .today-submission-card__name {
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
    vertical-align: middle;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-points,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-points {
    order: 6;
    grid-column: 2;
    grid-row: 3;
    justify-self: end;
    align-self: center;
    text-align: right;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 0;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-points:empty,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-points:empty {
    display: none;
  }
  .today-submissions-wrapper .search-submissions-table tbody tr td.col-points .today-submission-card__points,
  .today-submissions-wrapper .team-submissions-table tbody tr td.col-points .today-submission-card__points {
    justify-content: flex-end;
  }
  .team-cups-table tbody tr {
    display: grid;
    grid-template-columns: auto repeat(4, 1fr);
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    align-items: center;
  }
  .team-cups-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .team-cups-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .team-cups-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .team-cups-table tbody tr td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    display: inline-flex;
    align-items: center;
  }
  .team-cups-table tbody tr td.col-rank .today-submission-card__rank {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-secondary);
    min-width: 24px;
    text-align: left;
  }
  .team-cups-table tbody tr td.col-user {
    grid-column: 2 / -1;
    grid-row: 1;
    display: inline-flex;
    align-items: center;
    min-width: 0;
  }
  .team-cups-table tbody tr td.col-user .today-submission-card__participant {
    min-width: 0;
  }
  .team-cups-table tbody tr td.col-user .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .team-cups-table tbody tr td.col-trophy {
    display: inline-flex;
    align-items: center;
    background: transparent;
    border: none;
    padding: 0;
    width: auto;
    text-align: left;
  }
  .team-cups-table tbody tr td.col-trophy--gold {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
  }
  .team-cups-table tbody tr td.col-trophy--silver {
    grid-column: 3;
    grid-row: 2;
    justify-self: center;
  }
  .team-cups-table tbody tr td.col-trophy--bronze {
    grid-column: 4;
    grid-row: 2;
    justify-self: center;
  }
  .team-cups-table tbody tr td.col-trophy--medals {
    grid-column: 5;
    grid-row: 2;
    justify-self: end;
    justify-content: flex-end;
    margin-left: auto;
    text-align: right;
  }
  .team-points-table tbody tr {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-rows: auto auto;
    gap: var(--space-2xs) var(--space-sm);
    align-items: center;
  }
  .team-points-table tbody tr.table-first-pos {
    border-left-color: var(--color-pos-first);
  }
  .team-points-table tbody tr.table-second-pos {
    border-left-color: var(--color-pos-second);
  }
  .team-points-table tbody tr.table-third-pos {
    border-left-color: var(--color-pos-third);
  }
  .team-points-table tbody tr td.col-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    justify-self: start;
    display: inline-flex;
    align-items: center;
  }
  .team-points-table tbody tr td.col-rank .today-submission-card__rank {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-secondary);
    min-width: 24px;
    text-align: left;
  }
  .team-points-table tbody tr td.col-user {
    grid-column: 2 / -1;
    grid-row: 1;
    display: inline-flex;
    align-items: center;
    min-width: 0;
  }
  .team-points-table tbody tr td.col-user .today-submission-card__participant {
    min-width: 0;
  }
  .team-points-table tbody tr td.col-user .today-submission-card__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .team-points-table tbody tr td.col-points {
    grid-column: 2;
    grid-row: 2;
    display: inline-flex;
    align-items: center;
    justify-self: start;
    width: auto;
    text-align: left;
  }
  .team-points-table tbody tr td.col-league {
    grid-column: 3;
    grid-row: 2;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: end;
    width: auto;
    margin-left: auto;
    text-align: right;
  }
  .team-points-table tbody tr td.col-league:empty {
    display: none;
  }
  .team-points-table tbody tr td.col-metric {
    display: none;
  }
  .team-members-table tbody tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2xs) var(--space-sm);
  }
  .team-members-table tbody tr td.col-user {
    order: 1;
    display: inline-flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    margin-bottom: var(--space-2xs);
  }
  .team-members-table tbody tr td.col-league {
    order: 2;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
    margin-left: auto;
    margin-bottom: var(--space-2xs);
    text-align: right;
  }
  .team-members-table tbody tr td.col-league:empty {
    display: none;
  }
  .team-members-table tbody tr td.col-role {
    display: none;
  }
  .team-members-table tbody tr td.col-joined {
    order: 3;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    flex: 0 0 calc(50% - (var(--space-sm) / 2));
    width: calc(50% - (var(--space-sm) / 2));
    text-align: left;
  }
  .team-members-table tbody tr td.col-joined:empty {
    display: none;
  }
  .team-members-table tbody tr td.col-visit {
    order: 4;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 calc(50% - (var(--space-sm) / 2));
    width: calc(50% - (var(--space-sm) / 2));
    margin-left: auto;
    text-align: right;
  }
  .team-members-table tbody tr td.col-visit:empty {
    display: none;
  }
  .team-members-table tbody tr td.col-actions {
    order: 5;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 1 1 100%;
    width: 100%;
    padding-top: var(--space-xs);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
  }
  .team-members-table tbody tr td.col-actions:empty {
    display: none;
  }
  .team-member-date__label {
    display: inline;
  }
  .team-requests-table tbody tr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2xs) var(--space-sm);
  }
  .team-requests-table tbody tr td.col-user {
    order: 1;
    display: inline-flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    margin-bottom: var(--space-2xs);
  }
  .team-requests-table tbody tr td.col-league {
    order: 2;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
    margin-left: auto;
    margin-bottom: var(--space-2xs);
    text-align: right;
  }
  .team-requests-table tbody tr td.col-league:empty {
    display: none;
  }
  .team-requests-table tbody tr td.col-team {
    display: none;
  }
  .team-requests-table tbody tr td.col-joined {
    order: 3;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    flex: 0 0 calc(50% - (var(--space-sm) / 2));
    width: calc(50% - (var(--space-sm) / 2));
    text-align: left;
  }
  .team-requests-table tbody tr td.col-joined:empty {
    display: none;
  }
  .team-requests-table tbody tr td.col-visit {
    order: 4;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 calc(50% - (var(--space-sm) / 2));
    width: calc(50% - (var(--space-sm) / 2));
    margin-left: auto;
    text-align: right;
  }
  .team-requests-table tbody tr td.col-visit:empty {
    display: none;
  }
  .team-requests-table tbody tr td.col-actions {
    order: 5;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 1 1 100%;
    width: 100%;
    padding-top: var(--space-xs);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
    margin-top: var(--space-2xs);
  }
  .team-requests-table tbody tr td.col-actions:empty {
    display: none;
  }
  .gpu-table tbody tr td.col-model,
  .cpu-table tbody tr td.col-model,
  .mb-table tbody tr td.col-model,
  .mem-table tbody tr td.col-model,
  .cooling-table tbody tr td.col-model,
  .psu-table tbody tr td.col-model,
  .disk-table tbody tr td.col-model {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
  }
  .gpu-table tbody tr td.col-model a.gpu-card__name,
  .cpu-table tbody tr td.col-model a.cpu-card__name,
  .mb-table tbody tr td.col-model a.mb-card__name,
  .mem-table tbody tr td.col-model a.mem-card__name,
  .cooling-table tbody tr td.col-model a.cooling-card__name,
  .psu-table tbody tr td.col-model a.psu-card__name,
  .disk-table tbody tr td.col-model a.disk-card__name,
  .today-submissions-table tbody tr td.col-model :is(.cpu-card__name, .gpu-card__name, .mb-card__name, .mem-card__name, .disk-card__name, .psu-card__name, .cooling-card__name),
  .today-submissions-table tbody tr td.col-model :is(.cpu-card__name, .gpu-card__name, .mb-card__name, .mem-card__name, .disk-card__name, .psu-card__name, .cooling-card__name):is(:link, :visited) {
    color: var(--color-link);
  }
  .gpu-table tbody tr td.col-model a.gpu-card__name:hover,
  .gpu-table tbody tr td.col-model a.gpu-card__name:active,
  .cpu-table tbody tr td.col-model a.cpu-card__name:hover,
  .cpu-table tbody tr td.col-model a.cpu-card__name:active,
  .mb-table tbody tr td.col-model a.mb-card__name:hover,
  .mb-table tbody tr td.col-model a.mb-card__name:active,
  .mem-table tbody tr td.col-model a.mem-card__name:hover,
  .mem-table tbody tr td.col-model a.mem-card__name:active,
  .cooling-table tbody tr td.col-model a.cooling-card__name:hover,
  .cooling-table tbody tr td.col-model a.cooling-card__name:active,
  .psu-table tbody tr td.col-model a.psu-card__name:hover,
  .psu-table tbody tr td.col-model a.psu-card__name:active,
  .disk-table tbody tr td.col-model a.disk-card__name:hover,
  .disk-table tbody tr td.col-model a.disk-card__name:active,
  .today-submissions-table tbody tr td.col-model :is(.cpu-card__name, .gpu-card__name, .mb-card__name, .mem-card__name, .disk-card__name, .psu-card__name, .cooling-card__name):is(:hover, :active) {
    color: var(--color-link-hover);
  }
  .gpu-table tbody tr td.col-subs,
  .cpu-table tbody tr td.col-subs,
  .mb-table tbody tr td.col-subs,
  .mem-table tbody tr td.col-subs,
  .cooling-table tbody tr td.col-type,
  .psu-table tbody tr td.col-subs,
  .disk-table tbody tr td.col-subs {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }
  .gpu-table tbody tr td.col-subs:empty,
  .cpu-table tbody tr td.col-subs:empty,
  .mb-table tbody tr td.col-subs:empty,
  .mem-table tbody tr td.col-subs:empty,
  .cooling-table tbody tr td.col-type:empty,
  .psu-table tbody tr td.col-subs:empty,
  .disk-table tbody tr td.col-subs:empty {
    display: none;
  }
  .gpu-table tbody tr td.col-clock {
    grid-column: 1;
    grid-row: 2;
  }
  .gpu-table tbody tr td.col-core {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }
  .gpu-table tbody tr td.col-memory {
    grid-column: 1 / -1;
    grid-row: 3;
  }
  .gpu-table tbody tr td.col-clock:empty,
  .gpu-table tbody tr td.col-core:empty,
  .gpu-table tbody tr td.col-memory:empty {
    display: none;
  }
  .cpu-table tbody tr td.col-clock {
    grid-column: 1;
    grid-row: 2;
  }
  .cpu-table tbody tr td.col-cores {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }
  .cpu-table tbody tr td.col-arch {
    grid-column: 1 / -1;
    grid-row: 3;
  }
  .cpu-table tbody tr td.col-clock:empty,
  .cpu-table tbody tr td.col-cores:empty,
  .cpu-table tbody tr td.col-arch:empty {
    display: none;
  }
  .mb-table tbody tr td.col-chipset {
    grid-column: 1;
    grid-row: 2;
  }
  .mb-table tbody tr td.col-launch {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }
  .mb-table tbody tr td.col-chipset:empty,
  .mb-table tbody tr td.col-launch:empty {
    display: none;
  }
  .mem-table tbody tr td.col-clock {
    grid-column: 1;
    grid-row: 2;
  }
  .mem-table tbody tr td.col-release {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }
  .mem-table tbody tr td.col-clock:empty,
  .mem-table tbody tr td.col-release:empty {
    display: none;
  }
  .psu-table tbody tr td.col-watt {
    grid-column: 1;
    grid-row: 2;
  }
  .psu-table tbody tr td.col-release {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }
  .psu-table tbody tr td.col-watt:empty,
  .psu-table tbody tr td.col-release:empty {
    display: none;
  }
  .disk-table tbody tr td.col-controller {
    grid-column: 1;
    grid-row: 2;
  }
  .disk-table tbody tr td.col-capacity {
    grid-column: 1 / -1;
    grid-row: 3;
  }
  .disk-table tbody tr td.col-controller:empty,
  .disk-table tbody tr td.col-capacity:empty {
    display: none;
  }
  .hw-records-table tbody tr {
    grid-template-columns: minmax(0, 1fr) auto auto minmax(0, 1fr);
    row-gap: var(--space-2xs);
  }
  .hw-records-table tbody tr td.col-benchmark {
    grid-column: 1 / 4;
    grid-row: 1;
    min-width: 0;
    overflow: hidden;
    padding-right: var(--space-xs);
    align-self: center;
  }
  .hw-records-table tbody tr td.col-benchmark .hw-records-table__benchmark {
    max-width: 100%;
    min-width: 0;
  }
  .hw-records-table tbody tr td.col-benchmark .today-submission-card__benchmark-link {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
  }
  .hw-records-table tbody tr td.col-benchmark .today-submission-card__benchmark-link span:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
  }
  .hw-records-table tbody tr td.col-benchmark .today-submission-card__version {
    flex-shrink: 0;
    white-space: nowrap;
  }
  .hw-records-table tbody tr td.col-score {
    grid-column: 4;
    grid-row: 1;
    justify-self: end;
    align-self: center;
    text-align: right;
    white-space: nowrap;
  }
  .hw-records-table tbody tr td.col-score a,
  .hw-records-table tbody tr td.col-score a:is(:link, :visited),
  .hw-records-table .hw-records-table__context-score,
  .hw-records-table .hw-records-table__context-score:is(:link, :visited) {
    color: var(--color-link);
    font-weight: var(--font-weight-semibold);
  }
  .hw-records-table tbody tr td.col-score a:is(:hover, :active),
  .hw-records-table .hw-records-table__context-score:is(:hover, :active) {
    color: var(--color-link-hover);
  }
  .hw-records-table tbody tr td.col-user {
    grid-column: 1;
    grid-row: 2;
    min-width: 0;
    overflow: hidden;
    align-self: center;
    padding-right: var(--space-xs);
  }
  .hw-records-table tbody tr td.col-user .today-submission-card__participant {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    max-width: 100%;
    min-width: 0;
  }
  .hw-records-table tbody tr td.col-user .today-submission-card__name {
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
    vertical-align: middle;
  }
  .hw-records-table tbody tr td.col-date {
    grid-column: 2 / 4;
    grid-row: 2;
    justify-self: center;
    align-self: center;
    white-space: nowrap;
    padding: 0 var(--space-xs);
  }
  .hw-records-table tbody tr td.col-points {
    grid-column: 4;
    grid-row: 2;
    justify-self: end;
    align-self: center;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
  }
  .hw-records-table tbody tr td.col-user:empty,
  .hw-records-table tbody tr td.col-points:empty,
  .hw-records-table tbody tr td.col-date:empty {
    display: none;
  }
  .hw-records-table tbody tr.hw-rec--no-context td.col-team-record,
  .hw-records-table tbody tr.hw-rec--no-context td.col-user-record {
    display: none;
  }
  .hw-records-table tbody tr td.col-team-record,
  .hw-records-table tbody tr td.col-user-record {
    grid-row: 3;
    min-width: 0;
    overflow: hidden;
    padding-top: var(--space-xs);
    margin-top: var(--space-2xs);
    border-top: var(--border-width-sm) solid var(--color-border-subtle);
  }
  .hw-records-table tbody tr td.col-team-record {
    grid-column: 1 / 3;
    padding-right: var(--space-xs);
  }
  .hw-records-table tbody tr td.col-user-record {
    grid-column: 3 / 5;
    padding-left: var(--space-xs);
    border-left: var(--border-width-sm) solid var(--color-border-subtle);
  }
  .hw-records-table tbody tr td.col-team-record .hw-records-table__context-box,
  .hw-records-table tbody tr td.col-user-record .hw-records-table__context-box {
    display: flex;
    align-items: center;
    gap: var(--space-2xs);
    font-size: var(--font-size-xs);
    width: 100%;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
  }
  .hw-records-table tbody tr td.col-team-record .hw-records-table__context-label,
  .hw-records-table tbody tr td.col-user-record .hw-records-table__context-label {
    display: inline-flex;
    align-items: center;
    font-size: var(--font-size-xs);
    color: var(--color-text-secondary);
    flex-shrink: 0;
  }
  .hw-records-table tbody tr td.col-team-record .hw-records-table__rank-pill,
  .hw-records-table tbody tr td.col-user-record .hw-records-table__rank-pill {
    flex-shrink: 0;
  }
  .hw-records-table tbody tr td.col-team-record .hw-records-table__context-score,
  .hw-records-table tbody tr td.col-user-record .hw-records-table__context-score {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
  }
  .hw-records-table tbody tr td.col-user-record .hw-records-table__point {
    margin-left: auto;
    flex-shrink: 0;
  }
}
.member-card__user {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  min-width: 0;
}
.member-card__avatar {
  width: var(--space-xl);
  height: var(--space-xl);
  border-radius: var(--border-radius-circle);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  flex-shrink: 0;
  object-fit: cover;
}
.member-card__name {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  text-decoration: none;
  font-size: var(--font-size-md);
  letter-spacing: -0.01em;
  transition: color var(--transition-fast);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.member-card__name:hover {
  color: var(--color-link);
}
.member-card__user .country_flags {
  width: var(--space-md);
  height: var(--space-md);
  background-size: var(--space-md);
  flex-shrink: 0;
}
.member-card__roles {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  flex-wrap: wrap;
}
.member-card__header-actions {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  flex-wrap: wrap;
  margin-left: auto;
}
.member-card__impersonate-form {
  display: inline-flex;
  margin: 0;
}
.member-card__impersonate-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--border-width-sm) var(--space-sm);
  font-size: var(--font-size-xs);
  border-radius: var(--border-radius-xs);
  cursor: pointer;
}
.member-card__team {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  color: var(--color-text-primary);
  text-decoration: none;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  transition: color var(--transition-fast);
  min-width: 0;
}
.member-card__team span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.member-card__team:hover {
  color: var(--color-link);
}
.member-card__team-avatar {
  width: var(--space-lg);
  height: var(--space-lg);
  border-radius: var(--border-radius-circle);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  object-fit: cover;
  flex-shrink: 0;
}
.member-card__team--none {
  color: var(--color-text-muted);
}
.member-card__team--none i {
  color: var(--color-text-muted);
  font-size: var(--font-size-2xs);
  flex-shrink: 0;
}
.member-card__subspec {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  padding: var(--border-width-sm) var(--space-xs);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-tight);
}
.member-card__subspec i {
  font-size: var(--font-size-2xs);
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.member-card__stat {
  display: inline-flex;
  align-items: center;
  padding: var(--space-2xs) var(--space-xs);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  font-variant-numeric: tabular-nums;
  line-height: var(--line-height-tight);
  white-space: nowrap;
}
.member-card__points-score {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-2xs) var(--space-xs);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.member-card__points-score i {
  color: var(--color-primary);
  font-size: var(--font-size-xs);
}
.member-card__points-label {
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.team-card__identity {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: wrap;
  min-width: 0;
}
.team-card__avatar {
  width: var(--space-xl);
  height: var(--space-xl);
  border-radius: var(--border-radius-circle);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  flex-shrink: 0;
  object-fit: cover;
}
.team-card__name {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  text-decoration: none;
  font-size: var(--font-size-md);
  letter-spacing: -0.01em;
  transition: color var(--transition-fast);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.team-card__name:hover {
  color: var(--color-link);
}
.team-card__identity .country_flags {
  width: var(--space-md);
  height: var(--space-md);
  background-size: var(--space-md);
  flex-shrink: 0;
}
.team-card__captains-list {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: wrap;
}
.team-card__captain {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--border-width-sm) var(--space-xs);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-primary);
  text-decoration: none;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  transition:
    color var(--transition-fast),
    border-color var(--transition-fast),
    background-color var(--transition-fast);
}
.team-card__captain:hover {
  color: var(--color-link);
  border-color: var(--color-border-standard);
  background: var(--color-bg-hover);
}
.team-card__captain-avatar {
  width: var(--space-lg);
  height: var(--space-lg);
  border-radius: var(--border-radius-circle);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  object-fit: cover;
  flex-shrink: 0;
}
.team-card__members-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-2xs) var(--space-xs);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.team-card__members-badge i {
  color: var(--color-primary);
  font-size: var(--font-size-xs);
}
.team-card__members-label {
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.cpu-card__identity,
.gpu-card__identity,
.mb-card__identity,
.mem-card__identity,
.disk-card__identity,
.psu-card__identity,
.cooling-card__identity {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  flex-wrap: wrap;
  min-width: 0;
}
.cpu-card__name,
.gpu-card__name,
.mb-card__name,
.mem-card__name,
.disk-card__name,
.psu-card__name,
.cooling-card__name {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  text-decoration: none;
  font-size: var(--font-size-md);
  letter-spacing: -0.01em;
  transition: color var(--transition-fast);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cpu-card__name:hover,
.gpu-card__name:hover,
.mb-card__name:hover,
.mem-card__name:hover,
.disk-card__name:hover,
.psu-card__name:hover,
.cooling-card__name:hover {
  color: var(--color-link);
}
.cpu-card__manufacturer,
.gpu-card__manufacturer,
.cpu-card__socket,
.mb-card__manufacturer,
.mb-card__socket,
.mem-card__manufacturer,
.mem-card__type,
.disk-card__manufacturer,
.disk-card__type,
.psu-card__manufacturer,
.cooling-card__manufacturer,
.cooling-card__type {
  display: inline-flex;
  align-items: center;
  padding: var(--space-2xs) var(--space-xs);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  text-decoration: none;
  line-height: var(--line-height-tight);
  transition:
    color var(--transition-fast),
    border-color var(--transition-fast),
    background-color var(--transition-fast);
}
.cpu-card__manufacturer:hover,
.gpu-card__manufacturer:hover,
.cpu-card__socket:hover,
.mb-card__manufacturer:hover,
.mb-card__socket:hover,
.mem-card__manufacturer:hover,
.mem-card__type:hover,
.disk-card__manufacturer:hover,
.disk-card__type:hover,
.psu-card__manufacturer:hover,
.cooling-card__manufacturer:hover,
.cooling-card__type:hover {
  color: var(--color-link);
  border-color: var(--color-border-standard);
  background: var(--color-bg-hover);
}
.disk-card__partner-logo,
.psu-card__partner-logo,
.cooling-card__partner-logo {
  display: inline-flex;
  align-items: center;
  height: 18px;
}
.disk-card__partner-logo img,
.psu-card__partner-logo img,
.cooling-card__partner-logo img {
  height: 16px;
  width: auto;
  object-fit: contain;
  display: block;
}
.cpu-card__subs-badge,
.gpu-card__subs-badge,
.mb-card__subs-badge,
.mem-card__subs-badge,
.disk-card__subs-badge,
.psu-card__subs-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-2xs) var(--space-xs);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}
.cpu-card__subs-badge i,
.gpu-card__subs-badge i,
.mb-card__subs-badge i,
.mem-card__subs-badge i,
.disk-card__subs-badge i,
.psu-card__subs-badge i {
  color: var(--color-primary);
  font-size: var(--font-size-xs);
}
.cpu-card__subs-label,
.gpu-card__subs-label,
.mb-card__subs-label,
.mem-card__subs-label,
.disk-card__subs-label,
.psu-card__subs-label {
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.cpu-card__spec,
.gpu-card__spec,
.mb-card__spec,
.mem-card__spec,
.disk-card__spec,
.psu-card__spec {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  padding: var(--border-width-sm) var(--space-xs);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-tight);
}
.cpu-card__spec a,
.gpu-card__spec a,
.mb-card__spec a,
.mem-card__spec a,
.disk-card__spec a,
.psu-card__spec a {
  color: inherit;
  text-decoration: none;
  transition: color var(--transition-fast);
}
.cpu-card__spec a:hover,
.gpu-card__spec a:hover,
.mb-card__spec a:hover,
.mem-card__spec a:hover,
.disk-card__spec a:hover,
.psu-card__spec a:hover {
  color: var(--color-link);
  text-decoration: underline;
}
.cpu-card__spec i,
.gpu-card__spec i,
.mb-card__spec i,
.mem-card__spec i,
.disk-card__spec i,
.psu-card__spec i {
  font-size: var(--font-size-2xs);
  color: var(--color-text-muted);
  flex-shrink: 0;
}
.cpu-card__spec-value,
.gpu-card__spec-value,
.mb-card__spec-value,
.mem-card__spec-value,
.disk-card__spec-value,
.psu-card__spec-value {
  color: var(--color-text-primary);
  font-weight: var(--font-weight-medium);
}
.cpu-card__spec--clock .cpu-card__spec-value,
.gpu-card__spec--clock .gpu-card__spec-value,
.mem-card__spec--clock .mem-card__spec-value {
  font-family: var(--font-mono);
}
.hw-records-table {
  width: 100%;
}
.hw-records-table thead tr th.col-benchmark {
  width: 22%;
  text-align: left;
}
.hw-records-table thead tr th.col-score {
  text-align: left;
}
.hw-records-table thead tr th.col-user {
  text-align: left;
}
.hw-records-table thead tr th.col-date,
.hw-records-table tbody tr td.col-date {
  text-align: left;
  width: auto;
  white-space: nowrap;
}
.hw-records-table thead tr th.col-points {
  text-align: left;
}
.hw-records-table thead tr th.col-team-record,
.hw-records-table thead tr th.col-user-record {
  width: 15%;
  text-align: left;
}
.hw-records-table tbody tr td.col-benchmark,
.hw-records-table tbody tr td.col-score,
.hw-records-table tbody tr td.col-user,
.hw-records-table tbody tr td.col-date,
.hw-records-table tbody tr td.col-points,
.hw-records-table tbody tr td.col-team-record,
.hw-records-table tbody tr td.col-user-record {
  vertical-align: middle;
}
.hw-records-table__benchmark {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  min-width: 0;
}
.hw-records-table__date {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
  flex-shrink: 0;
  white-space: nowrap;
}
.hw-records-table__date i {
  font-size: var(--font-size-2xs);
}
.hw-records-table__no-record {
  display: inline-flex;
  align-items: center;
  padding: var(--space-2xs) var(--space-xs);
  background: var(--color-bg-card);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-xs);
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
  font-style: italic;
}
.hw-records-table__context-box {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  white-space: nowrap;
}
.hw-records-table__context-label {
  display: none;
  align-items: center;
  gap: var(--space-2xs);
  color: var(--color-text-muted);
  font-weight: var(--font-weight-medium);
  font-size: var(--font-size-2xs);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.hw-records-table__rank-pill {
  display: inline-flex;
  align-items: center;
  font-weight: var(--font-weight-semibold);
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  white-space: nowrap;
}
.hw-records-table__context-score {
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-heading);
  text-decoration: none;
  font-variant-numeric: tabular-nums;
  transition: color var(--transition-fast);
}
.hw-records-table__context-score:hover {
  color: var(--color-link);
}
.hw-records-table__context-none {
  color: var(--color-text-muted);
  font-style: italic;
  font-size: var(--font-size-xs);
}
.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--table-compare-header {
  justify-content: space-between;
  flex-wrap: nowrap;
}
.sticky-table--compare .remove-btn {
  background: transparent;
  border: none;
  color: var(--font-color-muted, var(--color-text-muted));
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-none);
  padding: 0 var(--space-xs);
  cursor: pointer;
  border-radius: var(--border-radius-sm);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color var(--transition-fast), background-color var(--transition-fast);
}
.sticky-table--compare .remove-btn:hover {
  color: var(--color-text-white);
  background-color: var(--color-error);
}
.chart-wrapper {
  width: 100%;
  overflow: hidden;
}
.empty-message {
  margin: 0;
  padding: var(--space-sm) 0;
  color: var(--font-color-muted, var(--color-text-secondary));
  font-size: var(--font-size-md);
}
.flex-row--news-header {
  justify-content: space-between;
  padding: var(--space-md);
  font-weight: var(--font-weight-bold);
}
.flex-row--news-footer {
  justify-content: flex-start;
  padding: var(--space-md);
  font-family: var(--font-heading);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
}
.flex-row--news-footer a {
  color: var(--color-text-heading);
  text-decoration: none;
  transition: color var(--transition-fast);
}
.grid-box-card--news:hover .flex-row--news-footer a {
  color: var(--color-primary);
}
.flex-row--wall {
  gap: var(--space-md);
  padding: var(--space-md) 0;
}
.flex-row--wall-social {
  justify-content: space-between;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-xs) 0;
  margin-bottom: var(--space-sm);
}
.flex-row--badges {
  gap: var(--space-sm);
  padding: var(--space-xs) 0;
  align-items: center;
}
.modal-member-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-lg);
  align-items: center;
}
.flex-row--info {
  gap: var(--space-md) var(--space-lg);
  padding: var(--space-md);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius);
  color: var(--color-text-primary);
  justify-content: space-between;
  align-items: center;
}
.flex-row-group {
  display: flex;
  align-items: center;
  gap: var(--space-md);
}
.flex-row-item {
  display: inline-flex;
  align-items: center;
  gap: var(--space-md);
}
.flex-row-item--world-record {
  flex-direction: column;
  min-width: 400px;
  padding: var(--space-md);
  border-radius: var(--border-radius);
  background: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  width: 100%;
}
.alert {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: var(--space-md);
  padding: var(--space-md) var(--space-lg);
  border-radius: var(--border-radius);
  border: var(--border-width-sm) solid transparent;
  font-size: var(--font-size-md);
  line-height: var(--line-height-normal);
  width: 100%;
  margin-bottom: var(--space-md);
  box-sizing: border-box;
}
.alert > div {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.alert p {
  margin: 0;
}
.alert a {
  color: inherit;
  text-decoration: underline;
  font-weight: var(--font-weight-bold);
}
.form-row > .alert {
  margin-bottom: 0;
}
.alert i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--font-size-lg);
  line-height: var(--line-height-normal);
  flex-shrink: 0;
}
.alert i::before {
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
}
.alert-warning {
  color: var(--color-warning-text);
  background-color: var(--color-warning-bg);
  border-color: var(--color-warning-border);
}
.alert-warning i::before {
  content: "\f071";
}
.alert-danger {
  color: var(--color-error-text);
  background-color: var(--color-error-bg);
  border-color: var(--color-error-border);
}
.alert-danger i::before {
  content: "\f06a";
}
.alert-info {
  color: var(--color-link-hover);
  background-color: var(--color-info-bg);
  border-color: var(--color-info-border);
}
.alert-info i::before {
  content: "\f05a";
}
.screenshot-box {
  display: flex;
  gap: var(--space-sm);
  overflow: auto;
  width: 100%;
}
.screenshot-box a {
  text-decoration: none;
}
.screenshot-box img {
  border-radius: var(--border-radius-xs);
}
.screenshot-box--highlight-submission img {
  height: 100px;
}
.screenshot-box--submission img {
  height: 250px;
}
.screenshot-box--news {
  display: flex;
  justify-content: center;
  overflow: hidden;
  height: 200px;
  border-radius: var(--border-radius-xs);
}
.screenshot-box--news img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rich-text-content {
  color: var(--color-text-heading);
}
.rich-text-content h1,
.rich-text-content h2,
.rich-text-content h3,
.rich-text-content h4 {
  color: var(--color-text-heading);
  font-weight: var(--font-weight-bold);
  margin-top: var(--space-lg);
  margin-bottom: var(--space-sm);
  line-height: var(--line-height-tight);
}
.rich-text-content strong,
.rich-text-content b {
  color: var(--color-text-heading);
  font-weight: var(--font-weight-bold);
}
.rich-text-content p {
  margin-top: 0;
  margin-bottom: var(--space-md);
}
.rich-text-content ul,
.rich-text-content ol {
  padding-left: 1.25rem;
  margin-top: var(--space-sm);
  margin-bottom: var(--space-md);
}
.rich-text-content li {
  margin-bottom: 0.35rem;
}
.rich-text-content a {
  color: var(--color-link);
  text-decoration: underline;
  text-decoration-color: var(--color-link-underline);
  text-underline-offset: 3px;
  transition: color var(--transition-fast), text-decoration-color var(--transition-fast);
}
.rich-text-content a:hover {
  color: var(--color-link-hover);
  text-decoration-color: currentColor;
}
.rich-text-content code,
.rich-text-content pre {
  background: var(--color-bg-hover);
  padding: 0.2rem 0.4rem;
  border-radius: var(--border-radius);
  font-family: var(--font-mono);
  color: var(--color-text-heading);
}
.rich-text-content img {
  width: 100%;
  max-width: 600px;
  border-radius: var(--border-radius);
}
.rich-text-content table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-collapse: collapse;
  margin-top: var(--space-lg);
  margin-bottom: var(--space-lg);
}
.rich-text-content th,
.rich-text-content td {
  padding: var(--space-sm) var(--space-md);
  border: var(--border-width-sm) solid var(--color-border-light);
  text-align: left;
}
.rich-text-content th {
  background-color: var(--color-bg-hover);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
}
.rich-text-content tr:hover td {
  background-color: var(--color-bg-hover);
}
.rich-text-content iframe {
  width: 100%;
  max-width: 600px;
  aspect-ratio: 16 / 9;
  display: block;
  margin-top: var(--space-lg);
  margin-bottom: var(--space-lg);
  border: none;
  border-radius: var(--border-radius);
}
.comments-title {
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  margin-bottom: var(--space-lg);
}
.submitter-quote-card {
  background-color: var(--color-text-inverse);
  border-left: var(--border-width-lg) solid var(--color-primary);
  border-radius: var(--border-radius-xs);
  padding: var(--space-md) var(--space-lg);
  margin-bottom: var(--space-lg);
}
.quote-header {
  display: flex;
  gap: var(--space-sm);
  margin-bottom: var(--space-sm);
}
.quote-author {
  font-weight: var(--font-weight-bold);
  color: var(--color-primary);
  text-decoration: none;
}
.quote-author:hover {
  text-decoration: underline;
}
.quote-action {
  color: var(--color-text-secondary);
}
.quote-body {
  margin: 0;
  font-style: italic;
  color: var(--color-text-heading);
}
.quote-icon {
  color: var(--color-text-muted);
  margin-right: var(--space-sm);
}
.comments-thread {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  margin-bottom: var(--space-xl);
}
.comment-card {
  display: flex;
  gap: var(--space-md);
  background-color: var(--color-text-inverse);
  border: var(--border-width-sm) solid var(--color-border-subtle);
  border-radius: var(--border-radius-sm);
  padding: var(--space-md) var(--space-lg);
}
.comment-card__avatar-link {
  flex-shrink: 0;
}
.comment-card__avatar {
  width: 36px;
  height: 36px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
}
.comment-card__body {
  flex: 1;
  min-width: 0;
}
.comment-card__header {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  margin-bottom: var(--space-sm);
}
.comment-card__author {
  color: var(--color-primary);
  text-decoration: none;
}
.comment-card__author:hover {
  text-decoration: underline;
}
.comment-card__timestamp {
  color: var(--color-text-secondary);
}
.comment-card__text {
  color: var(--color-text-heading);
  word-break: break-word;
}
.comment-card__text img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: var(--space-md) 0;
  border-radius: var(--border-radius-xs);
}
.comment-form-box {
  margin-top: var(--space-lg);
}
.comment-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.comment-form__textarea {
  width: 100%;
  padding: var(--space-md);
  border: var(--border-width-sm) solid var(--color-border-dashed);
  border-radius: var(--border-radius-sm);
  font-family: inherit;
  resize: vertical;
  box-sizing: border-box;
}
.comment-form__textarea:focus {
  outline: none;
  border-color: var(--color-primary);
  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: var(--color-primary);
  color: var(--color-text-white);
  border: none;
  padding: var(--space-sm) var(--space-lg);
  border-radius: var(--border-radius-xs);
  font-weight: var(--font-weight-bold);
  cursor: pointer;
  transition: background-color var(--transition-fast);
}
.btn-primary:hover {
  background-color: var(--color-primary-hover);
}
.comment-form__login-notice {
  color: var(--color-text-secondary);
  font-style: italic;
}
.faint {
  opacity: 0.2;
}
.reset-password .content .grid input[type=password],
.reset-password .content .grid input[type=text] {
  width: 100%;
  box-sizing: border-box;
  display: inline-block;
}
.reset-password .content .grid .row {
  width: 100%;
}
.side-area .content .grid {
  display: grid;
  grid-template-columns: auto;
  grid-gap: var(--space-sm);
}
.side-area-ranking-grid {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  width: 100%;
  min-width: 0;
}
.side-area-ranking-grid > *:not(:last-child),
.card--sidebar-ranking .side-area--league-ranking-grid-row:not(:last-child),
.grid-box-card--sidebar-ranking .side-area--league-ranking-grid-row:not(:last-child) {
  padding-bottom: var(--space-xs);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.side-area--league-ranking-grid-row {
  display: grid;
  grid-template-columns: var(--pos-marker-width) minmax(var(--rank-pos-min-width), auto) minmax(0, 1fr) auto;
  grid-gap: var(--space-xs);
  align-items: center;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: var(--space-xs) 0;
  transition: background-color var(--transition-fast);
}
.side-area--league-ranking-grid-row:hover {
  background-color: var(--color-text-inverse);
}
.side-area--league-ranking-grid-row .pos-marker {
  grid-column: 1;
  width: var(--pos-marker-width);
  height: 100%;
  min-height: var(--avatar-size-sm);
  align-self: stretch;
  border-radius: var(--border-radius-xs);
}
.side-area--league-ranking-grid-row .pos {
  grid-column: 2;
  min-width: var(--rank-pos-min-width);
  display: block;
  text-align: left;
  justify-self: start;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  padding: 0;
  margin: 0;
  background: none;
  border: none;
  white-space: nowrap;
  color: var(--color-text-secondary);
}
.side-area--league-ranking-grid-row .pos::before {
  content: "#";
  margin-right: 0.1em;
  opacity: 0.85;
}
.side-area--league-ranking-grid-row .name {
  grid-column: 3;
  min-width: 0;
  width: 100%;
  overflow: hidden;
}
.side-area--league-ranking-grid-row .table-avatar-wrapper {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  min-width: 0;
  width: 100%;
}
.side-area--league-ranking-grid-row .table-avatar-wrapper img {
  width: var(--avatar-size-sm);
  height: var(--avatar-size-sm);
  border-radius: var(--border-radius-circle);
  flex-shrink: 0;
  object-fit: cover;
}
.side-area--league-ranking-grid-row .table-avatar-wrapper .country_flags,
.side-area-wr-ranking-grid .table-avatar-wrapper .country_flags {
  width: var(--avatar-size-sm);
  height: var(--avatar-size-sm);
  background-size: var(--avatar-size-sm);
  flex-shrink: 0;
}
.side-area--league-ranking-grid-row .table-avatar-wrapper a {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
}
.side-area--league-ranking-grid-row .table-avatar-wrapper a:hover {
  text-decoration: underline;
}
.side-area--league-ranking-grid-row .points {
  grid-column: 4;
  width: auto;
  min-width: 0;
  white-space: nowrap;
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-bold);
  text-align: right;
  justify-self: end;
}
.side-area-wr-ranking-grid {
  display: grid;
  grid-template-columns: var(--pos-marker-width) minmax(0, 1fr);
  grid-template-rows: auto auto auto auto;
  grid-gap: var(--space-2xs) var(--space-sm);
  align-items: start;
  justify-items: left;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: var(--space-xs) 0;
  transition: background-color var(--transition-fast);
}
.card--sidebar-ranking .side-area-wr-ranking-grid:not(:last-child),
.grid-box-card--sidebar-ranking .side-area-wr-ranking-grid:not(:last-child) {
  padding-bottom: var(--space-xs);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.side-area-wr-ranking-grid:hover {
  background-color: var(--color-text-inverse);
}
.side-area-wr-ranking-grid .pos-marker {
  grid-column: 1;
  grid-row: 1 / -1;
  width: var(--pos-marker-width);
  height: 100%;
  align-self: stretch;
  border-radius: var(--border-radius-xs);
}
.side-area-wr-ranking-grid .pos {
  grid-column: 2;
  grid-row: 1;
  display: block;
  text-align: left;
  justify-self: start;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  padding: 0;
  margin: 0;
  background: none;
  border: none;
  white-space: nowrap;
  color: var(--color-text-secondary);
}
.side-area-wr-ranking-grid .pos::before {
  content: "#";
  margin-right: 0.1em;
  opacity: 0.85;
}
.side-area-wr-ranking-grid .name {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  width: 100%;
  overflow: hidden;
}
.side-area-wr-ranking-grid .table-avatar-wrapper {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  min-width: 0;
  width: 100%;
}
.side-area-wr-ranking-grid .table-avatar-wrapper img {
  width: var(--avatar-size-sm);
  height: var(--avatar-size-sm);
  border-radius: var(--border-radius-circle);
  flex-shrink: 0;
  object-fit: cover;
}
.side-area-wr-ranking-grid .hardware {
  grid-column: 2;
  grid-row: 3;
  width: 100%;
  min-width: 0;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  line-height: var(--line-height-tight);
}
.side-area-wr-ranking-grid .hardware a {
  color: var(--color-text-secondary);
  word-break: break-word;
  overflow-wrap: break-word;
  text-decoration: none;
}
.side-area-wr-ranking-grid .hardware a:hover {
  color: var(--color-primary);
  text-decoration: underline;
}
.side-area-wr-ranking-grid .score {
  grid-column: 2;
  grid-row: 4;
  width: 100%;
  min-width: 0;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
  text-align: left;
  justify-self: start;
}
.side-area-wr-ranking-grid .score a {
  color: var(--color-text-heading);
  text-decoration: none;
}
.side-area-wr-ranking-grid .score a:hover {
  color: var(--color-primary);
  text-decoration: underline;
}
.side-area .tab-menu {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  margin-bottom: var(--space-md);
}
.side-area .tab-menu .button {
  padding: var(--space-xs) var(--space-s);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  white-space: nowrap;
}
.side-area .tab-menu .button.focus,
.side-area .tab-menu .button.active {
  font-weight: var(--font-weight-bold);
}
#careerrankinghof,
#rankinghof,
#team_rankinghof {
  width: 100%;
  min-width: 0;
}
.reset-password .content .grid {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: auto;
  grid-gap: var(--space-sm);
  align-items: center;
  justify-items: center;
  width: 30%;
  margin: auto;
  min-width: 320px;
}
.reset-password .content .grid .action {
  justify-self: end;
}
.grid-box-card--login,
.grid-box-card--register,
.grid-box-card--reset-password {
  max-width: 350px;
  width: 100%;
  margin: var(--space-xl) auto;
  gap: var(--space-md);
  text-align: center;
}
.grid-box-card--login > p,
.grid-box-card--register > p,
.grid-box-card--reset-password > p {
  color: var(--color-text-secondary);
  margin: 0;
}
.grid-box-card--login > p a,
.grid-box-card--register > p a,
.grid-box-card--reset-password > p a {
  color: inherit;
  text-decoration: underline;
}
.grid-box-card--login form,
.grid-box-card--register form,
.grid-box-card--reset-password form {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  text-align: left;
}
.grid-box-card--login form button[type=submit],
.grid-box-card--register form button[type=submit],
.grid-box-card--reset-password form button[type=submit] {
  width: 100%;
}
.grid-box-card--register .recaptcha-wrapper,
.grid-box-card--reset-password .recaptcha-wrapper {
  display: flex;
  justify-content: center;
  width: 100%;
  overflow-x: auto;
}
.form-label-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  width: 100%;
}
.form-input-password-wrapper {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
}
.form-input-password-wrapper .form-input,
.form-input-password-wrapper input {
  width: 100%;
  padding-right: 42px;
  box-sizing: border-box;
}
.password-toggle-btn {
  position: absolute;
  right: 8px;
  background: transparent;
  border: none;
  padding: var(--space-sm);
  cursor: pointer;
  color: var(--color-text-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.password-toggle-btn:hover {
  color: var(--color-text-primary);
}
.login-footer {
  text-align: center;
  color: var(--color-text-secondary);
  padding-top: var(--space-md);
  border-top: var(--border-width-sm) solid var(--color-border-light);
}
.footer .content .info {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  font-family: var(--font-heading);
}
.footer .info ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer .system-info {
  text-align: center;
  font-family: var(--font-heading);
}
.footer .partner-info {
  text-align: center;
}
.footer .content .partner-info {
  margin: var(--space-lg) 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  gap: var(--space-lg);
}
.footer .content .partner-info .partner-box {
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.main-area.hw-data {
  position: relative;
  z-index: 1;
}
.hardware-overview .content-type-2 .manufacturer-grid,
.main-area.hw-data .content .manufacturer-grid {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}
.main-area.hw-data .content .manufacturer-grid .manufacturer-headline-grid-cell {
  height: 40px;
  display: flex;
  gap: var(--space-xs);
  align-items: center;
}
.main-area.hw-data .content .manufacturer-grid .manufacturer-headline-grid-cell img {
  height: 40px;
  width: auto;
  display: block;
  object-fit: contain;
}
@keyframes loading {
  from {
    background-color: rgba(0, 0, 0, 0.5);
  }
  to {
    background-color: rgba(0, 0, 0, 0.4);
  }
}
.gold {
  background-color: var(--color-pos-first);
}
.silver {
  background-color: var(--color-border-light);
}
.bronze {
  background-color: var(--color-pos-third);
}
.medal {
  background-color: var(--color-pos-four-five);
}
.nomedal {
  background-color: var(--color-pos-four-five);
}
.gold-trophy {
  color: var(--color-pos-first);
}
.silver-trophy {
  color: var(--color-pos-second);
}
.bronze-trophy {
  color: var(--color-pos-third);
}
.medal-trophy {
  color: var(--color-pos-four-five);
}
.trophy-count {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  white-space: nowrap;
}
.trophy-count--empty {
  opacity: 0.4;
  color: var(--color-text-muted);
}
@keyframes shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.is-loading {
  position: relative;
  overflow: hidden;
  pointer-events: none;
}
.is-loading::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background:
    linear-gradient(
      90deg,
      rgba(232, 238, 241, 0) 0%,
      rgba(255, 255, 255, 0.6) 50%,
      rgba(232, 238, 241, 0) 100%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  z-index: 2;
}
@keyframes shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.button {
  font-family: var(--font-heading);
  background-color: var(--color-bg-surface);
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: var(--border-radius-lg);
  color: var(--color-text-primary);
  cursor: pointer;
  padding: var(--space-sm) var(--space-md);
  text-align: center;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  white-space: nowrap;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
}
.button--info-row {
  padding: var(--space-sm) var(--space-md);
  gap: var(--space-xs);
  height: auto;
}
.button--modal-header-close {
  background: transparent;
  border: none;
}
.button--modal-header-close:hover {
  opacity: 0.7;
}
.button--modal-header-close:focus {
  outline: none;
}
.button--primary {
  background-color: var(--color-text-primary);
  color: var(--color-text-white);
  border-color: var(--color-text-primary);
}
.button--primary:hover {
  opacity: 0.9;
}
.button--image {
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  display: block;
  width: 100%;
}
.button--danger {
  color: var(--color-error);
  border-color: var(--color-error-border);
  background-color: var(--color-error-bg);
}
.button--danger:hover {
  background-color: var(--color-bg-hover);
  border-color: var(--color-border-light);
  color: var(--color-text-primary);
}
.button--100 {
  width: 100%;
}
.active,
.button:hover {
  border-color: var(--color-bg-hover-dark);
  box-shadow: var(--shadow-sm);
  background: lightgray;
  text-decoration: none;
}
.focus,
.button:focus {
  border-color: var(--color-primary);
  color: var(--color-text-white);
  outline: none;
  background: var(--color-bg-hover-dark);
}
.button:disabled,
.button.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
  box-shadow: none;
}
.info-message {
  background: var(--color-info-bg);
  padding: var(--space-md);
  border-radius: var(--border-radius);
}
.warn-message {
  background-color: var(--color-warning-bg);
  border: var(--border-width-sm) solid var(--color-warning-border);
  color: var(--color-warning-text);
  padding: var(--space-md);
  border-radius: var(--border-radius);
}
.error-message {
  background: var(--color-error);
  padding: var(--space-md);
  border-radius: var(--border-radius);
  color: var(--color-text-inverse);
}
.error-message a,
.info-message a,
.warn-message a {
  color: inherit;
  text-decoration: underline;
  font-weight: var(--font-weight-bold);
}
.form-input {
  border: var(--border-width-md) solid var(--color-border-light);
  border-radius: var(--border-radius);
  background-color: var(--color-bg-surface);
  color: var(--color-text-primary);
  padding: var(--space-sm) var(--space-md);
  box-sizing: border-box;
}
input[type=checkbox].field-error {
  outline: var(--border-width-md) solid var(--color-error);
  background-color: var(--color-bg-surface);
}
.field-error {
  border: var(--border-width-md) solid var(--color-error);
  background-color: var(--color-bg-surface);
}
.ui-widget {
  font-family: var(--font-base);
}
.ui-widget-content {
  border: var(--border-width-sm) solid var(--color-border-light);
  border-radius: 0;
  background: var(--color-bg-main);
  color: var(--color-text-primary);
}
.ui-widget-content a,
.ui-widget-content a:link,
.ui-widget-content a:hover,
.ui-widget-content a:visited,
.ui-widget-content a:active {
  color: var(--color-text-primary);
}
.ui-widget-content a:hover {
  text-decoration: underline;
}
.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
  border: none;
  background: var(--color-bg-main);
}
.ui-state-hover,
.ui-widget-content a.ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
  border: none;
  background: var(--color-bg-main);
}
.ui-menu .ui-menu-item a.ui-state-hover {
  margin: 0;
}
.result-status-comment .content .event-container,
.reporting-overview .content .sticky-table .event-container {
  background-color: var(--color-bg-card);
  border-left: var(--border-width-lg) solid var(--color-primary);
  padding: var(--space-md) var(--space-lg);
  margin: var(--space-xs) 0;
  max-height: 160px;
  overflow-y: auto;
}
.result-status-comment .content .event-container::-webkit-scrollbar,
.reporting-overview .content .sticky-table .event-container::-webkit-scrollbar {
  width: 6px;
}
.result-status-comment .content .event-container::-webkit-scrollbar-track,
.reporting-overview .content .sticky-table .event-container::-webkit-scrollbar-track {
  background: var(--color-bg-hover);
}
.result-status-comment .content .event-container::-webkit-scrollbar-thumb,
.reporting-overview .content .sticky-table .event-container::-webkit-scrollbar-thumb {
  background: var(--color-border-dashed);
  border-radius: var(--border-radius-xs);
}
.result-status-comment .content .event-container::-webkit-scrollbar-thumb:hover,
.reporting-overview .content .sticky-table .event-container::-webkit-scrollbar-thumb:hover {
  background: var(--color-text-secondary);
}
.result-status-comment .content .event-timeline,
.reporting-overview .content .sticky-table .event-timeline {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.result-status-comment .content .event-item,
.reporting-overview .content .sticky-table .event-item {
  display: flex;
  align-items: flex-start;
}
.result-status-comment .content .event-icon,
.reporting-overview .content .sticky-table .event-icon {
  color: var(--color-text-muted);
  margin-right: var(--space-md);
  font-weight: var(--font-weight-bold);
}
.result-status-comment .content .event-meta,
.reporting-overview .content .sticky-table .event-meta {
  min-width: 220px;
  white-space: nowrap;
  flex-shrink: 0;
  color: var(--color-text-secondary);
  font-family: var(--font-mono);
}
.result-status-comment .content .event-user,
.reporting-overview .content .sticky-table .event-user {
  min-width: 140px;
  white-space: nowrap;
  flex-shrink: 0;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  margin-right: var(--space-md);
}
.result-status-comment .content .event-desc,
.reporting-overview .content .sticky-table .event-desc {
  color: var(--color-text-primary);
  flex: 1 1 auto;
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
.reporting-overview .content .sticky-table thead tr th.col-benchmark,
.reporting-overview .content .sticky-table tbody tr td.col-benchmark,
.reporting-overview .content .sticky-table thead tr th.col-score,
.reporting-overview .content .sticky-table tbody tr td.col-score,
.reporting-overview .content .sticky-table tbody tr td.col-action {
  white-space: nowrap;
}
.reporting-overview .content .sticky-table .nested-row td {
  padding: 0;
  border-bottom: var(--border-width-md) solid var(--color-border-light);
}
.reporting-overview .content .search-group-mobile {
  width: 100%;
}
.reporting-overview .content .search-input-wrapper {
  position: relative;
  display: flex;
  width: 100%;
  max-width: 400px;
}
.reporting-overview .content .search-input-wrapper input[type=text] {
  width: 100%;
  padding-right: 90px;
  box-sizing: border-box;
}
.reporting-overview .content .search-input-wrapper button {
  position: absolute;
  right: 2px;
  top: 2px;
  bottom: 2px;
  border-radius: 0 var(--border-radius-xs) var(--border-radius-xs) 0;
  cursor: pointer;
}
.tab-menu {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--space-xs);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
  margin-bottom: var(--space-md);
}
.tab-menu--hardware {
  margin-bottom: var(--space-md);
}
.tab-menu > * {
  flex: 0 0 auto;
}
.tab-menu select {
  margin-bottom: var(--space-xs);
}
.filter.tab-menu {
  border-bottom: none;
  margin-bottom: 0;
}
.tab-menu .button {
  background: transparent;
  border: none;
  border-radius: 0;
  border-bottom: var(--border-width-md) solid transparent;
  margin-bottom: -1px;
  color: var(--color-text-primary);
  font-weight: var(--font-weight-medium);
  padding: var(--space-sm) var(--space-md);
  gap: var(--space-sm);
  box-shadow: none;
  transition: color var(--transition-fast), border-color var(--transition-fast);
}
.tab-menu .button:hover {
  background: transparent;
  border-color: var(--color-border-standard);
  color: var(--color-link);
  box-shadow: none;
}
.tab-menu .button:focus {
  outline: none;
  box-shadow: none;
  background: transparent;
  color: var(--color-text-primary);
}
.tab-menu .button.focus,
.tab-menu .button.active,
.tab-menu .button.focus:hover,
.tab-menu .button.active:hover,
.tab-menu .button.focus:focus,
.tab-menu .button.active:focus {
  background: transparent;
  border-color: var(--color-link);
  color: var(--color-link);
  font-weight: var(--font-weight-bold);
  box-shadow: none;
}
.tab-menu .button:focus-visible {
  outline: 2px solid var(--color-highlight);
  outline-offset: -2px;
}
.tab-menu .table-navigation {
  margin-left: auto;
  margin-top: 0;
  margin-bottom: var(--space-xs);
}
.flex-row > .table-navigation {
  margin-left: auto;
  margin-top: 0;
}
.sidebar-title {
  color: var(--color-text-heading);
  margin-bottom: var(--space-md);
}
.sidebar-title-link {
  color: var(--color-primary);
  text-decoration: none;
}
.sidebar-title-link:hover {
  text-decoration: underline;
}
.sidebar-empty {
  color: var(--color-text-secondary);
  font-style: italic;
}
.wr-ranking-card {
  display: flex;
  flex-direction: column;
  background: transparent;
  border: none;
  border-radius: var(--border-radius-sm);
  overflow: hidden;
}
.wr-ranking-card .wr-ranking-row:not(:last-child) {
  padding-bottom: var(--space-xs);
  border-bottom: var(--border-width-sm) solid var(--color-border-light);
}
.wr-ranking-row {
  display: grid;
  grid-template-columns: var(--pos-marker-width) minmax(0, 1fr);
  grid-template-rows: auto auto auto;
  grid-gap: var(--space-2xs) var(--space-sm);
  align-items: start;
  position: relative;
  padding: var(--space-sm) var(--space-md) var(--space-sm) 0;
  border-bottom: var(--border-width-sm) solid var(--color-border-subtle);
  transition: background-color var(--transition-fast);
}
.wr-ranking-row:last-child {
  border-bottom: none;
}
.wr-ranking-row:hover {
  background-color: var(--color-text-inverse);
}
.wr-ranking-row.is-active {
  background-color: var(--color-info-bg);
}
.pos-marker {
  width: var(--pos-marker-width);
  align-self: stretch;
  flex-shrink: 0;
}
.wr-ranking-row .pos-marker {
  grid-column: 1;
  grid-row: 1 / -1;
  width: var(--pos-marker-width);
  height: 100%;
  align-self: stretch;
}
.pos-marker.gold {
  background-color: var(--color-warning-star);
}
.pos-marker.silver {
  background-color: var(--color-text-muted);
}
.pos-marker.bronze {
  background-color: var(--color-warning);
}
.pos-marker.medal {
  background-color: var(--color-pos-four-five);
}
.pos-marker.nomedal {
  background-color: var(--color-pos-four-five);
}
.rank-pos {
  color: var(--color-text-secondary);
  text-align: center;
  flex-shrink: 0;
}
.wr-ranking-row .rank-pos {
  grid-column: 2;
  grid-row: 1;
  display: block;
  text-align: left;
  justify-self: start;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  padding: 0;
  margin: 0;
  background: none;
  border: none;
  white-space: nowrap;
}
.wr-ranking-row .rank-pos::before {
  content: "#";
  margin-right: 0.1em;
  opacity: 0.85;
}
.rank-content {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
  gap: var(--space-2xs);
}
.wr-ranking-row .rank-content {
  grid-column: 2;
  grid-row: 2;
}
.wr-ranking-row .rank-score {
  grid-column: 2;
  grid-row: 3;
  font-weight: var(--font-weight-bold);
  font-size: var(--font-size-sm);
  text-align: left;
}
.rank-label {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2xs);
  font-size: var(--font-size-2xs);
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-muted);
}
.rank-label i {
  font-size: var(--font-size-2xs);
  color: var(--color-primary);
}
.rank-user-line {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  min-width: 0;
}
.rank-avatar {
  width: 20px;
  height: 20px;
  border-radius: var(--border-radius-circle);
  object-fit: cover;
  flex-shrink: 0;
}
.rank-username {
  color: var(--color-primary);
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rank-username:hover {
  text-decoration: underline;
}
.rank-hardware-line {
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  font-size: var(--font-size-xs);
  color: var(--color-text-secondary);
  line-height: var(--line-height-tight);
}
.rank-hw-link {
  color: var(--color-text-secondary);
  text-decoration: none;
}
.rank-hw-link:hover {
  color: var(--color-primary);
}
.rank-clock {
  color: var(--color-text-secondary);
}
.rank-score {
  flex-shrink: 0;
  text-align: left;
}
.rank-score-link {
  color: var(--color-text-heading);
  text-decoration: none;
}
.rank-score-link:hover {
  color: var(--color-primary);
}
.history-meta {
  display: flex;
  gap: var(--space-sm);
  color: var(--color-text-muted);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--space-2xs);
}
.history-meta::after {
  content: "";
}
.history-user {
  color: var(--color-accent);
}
.history-desc {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
}
.history-icon {
  color: var(--color-text-secondary);
  margin-top: var(--space-2xs);
}
.hw-tree-list,
.hw-tree-sublist {
  list-style: none;
  margin: 0;
  padding: 0;
}
.hw-tree-sublist {
  padding-left: var(--space-md);
  border-left: var(--border-width-sm) solid var(--color-border-light);
  margin-left: var(--space-sm);
}
.hw-tree-summary {
  display: list-item;
  cursor: pointer;
  border-radius: var(--border-radius);
}
.hw-tree-summary::-webkit-details-marker {
  display: none;
}
.hw-tree-summary::marker {
  content: "";
  display: none;
}
.hw-tree-summary-content {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
}
.hw-tree-summary-content .hw-tree-link {
  display: inline;
  padding: 0;
  background: transparent;
  color: inherit;
  flex: 1;
}
.hw-tree-summary-content .hw-tree-label {
  flex: 1;
}
.hw-tree-summary-content::before {
  content: "\f054";
  font-family: "Font Awesome 6 Free", "FontAwesome";
  color: var(--color-text-muted);
  transition: transform var(--transition-base);
}
.hw-tree-branch[open] > .hw-tree-summary .hw-tree-summary-content::before {
  transform: rotate(90deg);
  color: var(--color-text-primary);
}
.hw-tree-link {
  display: block;
  padding: var(--space-sm) var(--space-md);
  color: var(--color-text-primary);
  text-decoration: none;
  border-radius: var(--border-radius);
}
.hw-tree-summary:not(.is-active):hover,
.hw-tree-link:not(.is-active):hover {
  background: var(--color-bg-hover);
  color: var(--color-text-primary);
}
.hw-tree-summary-content .hw-tree-link:hover {
  background: transparent;
}
.hw-tree-link.is-active,
.hw-tree-summary.is-active {
  background: var(--color-bg-hover-dark);
  font-weight: var(--font-weight-bold);
}
.hw-tree-link.is-active:is(:link, :visited, :hover, :focus, :active),
.hw-tree-summary.is-active,
.hw-tree-summary.is-active .hw-tree-link:is(:link, :visited, :hover, :focus, :active),
.hw-tree-summary.is-active .hw-tree-label,
.hw-tree-summary.is-active .hw-tree-summary-content::before {
  color: var(--color-text-inverse);
  text-decoration: none;
}
@media screen and (min-width: 1201px) {
  .header,
  .navigation,
  .footer {
    grid-column: 1 / -1;
  }
  body.one-column {
    grid-template-columns: auto;
    grid-template-rows: auto auto 1fr auto;
    max-width: var(--layout-max-width);
    margin: auto;
  }
  body.left-sidebar {
    grid-template-columns: minmax(var(--sidebar-min-width), 1fr) minmax(0, 3fr);
    grid-template-rows: auto auto 1fr auto;
    max-width: var(--layout-max-width);
    margin: auto;
  }
  body.right-sidebar {
    grid-template-columns: minmax(0, 3fr) minmax(var(--sidebar-min-width), 1fr);
    grid-template-rows: auto auto 1fr auto;
    max-width: var(--layout-max-width);
    margin: auto;
  }
  .nodesktop {
    display: none !important;
  }
}
@media screen and (max-width: 1200px) {
  body.left-sidebar,
  body.right-sidebar {
    grid-template-columns: 1fr;
  }
  .nomobile {
    display: none !important;
  }
  .content {
    grid-template-columns: 10px minmax(0, 1fr) 10px;
  }
  .side-area {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: var(--z-index-drawer);
    transform: translateY(100%);
    transition: transform var(--transition-smooth);
    overflow-y: auto;
    box-sizing: border-box;
  }
  .side-area.is-open {
    transform: translateY(0);
  }
  .side-area .content {
    padding: 0 var(--space-lg) var(--space-2xl) var(--space-lg);
  }
  .side-area .content .hw-tree {
    height: calc(100vh - 70px);
    overflow-y: auto;
  }
  .hw-tree-summary-content,
  .hw-tree-link {
    padding: var(--space-md);
  }
  .sidebar-mobile-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: var(--z-index-sticky-header);
    padding: var(--space-xs);
    background: var(--color-bg-alt);
    color: var(--color-text-primary);
    border-bottom: var(--border-width-md) solid var(--color-primary);
    margin: 0 -15px var(--space-lg) -15px;
    text-transform: uppercase;
    font-family: var(--font-heading);
  }
  .modal-overlay,
  .modal-overlay--fullscreen-mobile {
    padding: 0;
    align-items: stretch;
    justify-content: stretch;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    height: 100dvh;
  }
  .modal-dialog,
  .modal-dialog--fullscreen-mobile {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    height: 100dvh;
    max-height: 100dvh;
    border-radius: 0;
    box-shadow: none;
    margin: 0;
    overflow: hidden;
    transform: translateY(100%);
    transition: transform var(--transition-smooth);
    will-change: transform;
    display: flex;
    flex-direction: column;
  }
  .modal-overlay.is-open .modal-dialog,
  .modal-overlay--fullscreen-mobile.is-open .modal-dialog--fullscreen-mobile {
    transform: translateY(0);
  }
  .modal-dialog__header,
  .modal-dialog .modal-header,
  .modal-dialog--fullscreen-mobile .modal-header {
    flex-shrink: 0;
    background: var(--color-bg-main);
    border-bottom: var(--border-width-sm) solid var(--color-border-light);
    padding: max(10px, env(safe-area-inset-top, 10px)) max(15px, env(safe-area-inset-right, 15px)) 10px max(15px, env(safe-area-inset-left, 15px));
  }
  .modal-dialog__body,
  .modal-dialog .modal-body,
  .modal-dialog--fullscreen-mobile .modal-body {
    flex: 1 1 0;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    padding: 15px max(15px, env(safe-area-inset-right, 15px)) 15px max(15px, env(safe-area-inset-left, 15px));
  }
  .modal-dialog__footer,
  .modal-dialog .modal-footer,
  .modal-dialog--fullscreen-mobile .modal-footer {
    flex-shrink: 0;
    background: var(--color-bg-main);
    border-top: var(--border-width-sm) solid var(--color-border-light);
    padding: 12px max(15px, env(safe-area-inset-right, 15px)) max(12px, env(safe-area-inset-bottom, 12px)) max(15px, env(safe-area-inset-left, 15px));
  }
  .modal-dialog .form-modal-actions,
  .modal-dialog--fullscreen-mobile .form-modal-actions {
    display: flex;
    gap: var(--space-md);
    justify-content: flex-end;
    align-items: center;
    margin: 0;
  }
  .modal-dialog__footer .button,
  .modal-dialog .modal-footer .button,
  .modal-dialog--fullscreen-mobile .form-modal-actions .button {
    min-height: 44px;
  }
  @media (prefers-reduced-motion: reduce) {
    .modal-dialog,
    .modal-dialog.modal-dialog--fullscreen-mobile {
      transition: none;
    }
  }
  .filter .ranking-filter {
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .filter .ranking-filter::-webkit-scrollbar {
    display: none;
  }
  .tab-menu {
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 0;
  }
  .tab-menu::-webkit-scrollbar {
    display: none;
  }
  .hero-banner {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: var(--space-lg);
  }
  .grid-box--submit-hardware {
    grid-template-columns: auto;
  }
  .submission-score-card {
    flex-direction: column;
    align-items: flex-start;
  }
  .submission-score-card .score-details {
    flex-wrap: wrap;
  }
  .submission-score-card .score-details-row {
    flex-wrap: wrap;
  }
  .flex-row--info,
  .flex-row--badges {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .flex-row--info {
    margin: var(--space-md) 0;
  }
  .flex-row--info::-webkit-scrollbar,
  .flex-row--badges::-webkit-scrollbar {
    display: none;
  }
  .flex-row--info > *,
  .flex-row--badges > * {
    flex-shrink: 0;
  }
  .profile-banner-wrapper.has-banner .avatar {
    width: 60px;
    height: 60px;
  }
  .profile-banner-wrapper.has-banner .avatar-wrapper {
    bottom: 10px;
    left: 12px;
  }
  .reporting-overview .content .sticky-table table,
  .reporting-overview .content .sticky-table tbody,
  .reporting-overview .content .sticky-table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
  .reporting-overview .content .sticky-table thead {
    display: none;
  }
  .reporting-overview .content .sticky-table tbody tr {
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
    background: var(--color-bg-surface);
    border: var(--border-width-sm) solid var(--color-border-standard);
    border-radius: var(--border-radius-sm);
    margin-bottom: var(--space-md);
    padding: var(--space-md);
    box-shadow: var(--shadow-sm);
  }
  .reporting-overview .content .sticky-table tbody tr:nth-child(odd) td,
  .reporting-overview .content .sticky-table tbody tr:nth-child(even) td {
    background-color: transparent;
  }
  .reporting-overview .content .sticky-table tbody tr td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-sm) 0;
    border-bottom: var(--border-width-sm) dashed var(--color-border-light);
    white-space: normal;
  }
  .reporting-overview .content .sticky-table tbody tr td:last-child {
    border-bottom: none;
  }
  .reporting-overview .content .sticky-table tbody tr td[data-label]::before {
    content: attr(data-label);
    font-family: var(--font-heading);
    color: var(--color-text-primary);
    text-transform: uppercase;
    padding-right: var(--space-md);
    white-space: nowrap;
    flex-shrink: 0;
  }
  .reporting-overview .content .sticky-table tbody tr.nested-row {
    margin-top: calc(-1 * var(--space-md) + 2px);
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    background: var(--color-bg-card);
    padding-top: var(--space-xs);
  }
  .reporting-overview .content .sticky-table tbody tr.nested-row td {
    padding: 0;
    border-bottom: none;
  }
  .reporting-overview .content .sticky-table tbody tr td.col-benchmark {
    order: 1;
    white-space: normal;
    text-align: right;
  }
  .reporting-overview .content .sticky-table tbody tr td.col-score {
    order: 2;
    font-weight: var(--font-weight-bold);
    color: var(--color-text-primary);
    white-space: nowrap;
  }
  .reporting-overview .content .sticky-table tbody tr td.col-user {
    order: 3;
  }
  .reporting-overview .content .sticky-table tbody tr td.col-hardware {
    order: 4;
    border-top: none;
    padding-top: var(--space-2xs);
    color: var(--color-text-secondary);
  }
  .reporting-overview .content .sticky-table tbody tr td.col-reason {
    order: 5;
  }
  .reporting-overview .content .sticky-table tbody tr td.col-action {
    order: 6;
    white-space: nowrap;
  }
  .result-status-comment .content .event-container,
  .reporting-overview .content .sticky-table .event-container {
    max-height: 200px;
    margin-top: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    border-left: var(--border-width-md) solid var(--color-text-primary);
  }
  .reporting-overview .content .sticky-table .event-container {
    width: 100%;
  }
  .result-status-comment .content .event-item,
  .reporting-overview .content .sticky-table .event-item {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2xs);
    padding-bottom: var(--space-sm);
    border-bottom: var(--border-width-sm) solid var(--color-bg-hover-dark);
  }
  .reporting-overview .content .sticky-table .event-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
  .reporting-overview .content .sticky-table .event-meta,
  .reporting-overview .content .sticky-table .event-user {
    min-width: unset;
  }
  .reporting-overview .content .search-input-wrapper {
    max-width: 100%;
  }
  .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;
  }
}
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vZnJvbnRlbmQvY3NzL2JhZGdlcy5jc3MiLCAiLi4vLi4vLi4vLi4vZnJvbnRlbmQvY3NzL25hdmlnYXRpb24uY3NzIiwgIi4uLy4uLy4uLy4uL2Zyb250ZW5kL2Nzcy9zZWFyY2guY3NzIiwgIi4uLy4uLy4uLy4uL2Zyb250ZW5kL2Nzcy92b3RlLmNzcyIsICIuLi8uLi8uLi8uLi9mcm9udGVuZC9jc3Mvc3R5bGUuY3NzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIV0JPVCBCYWRnZSBTeXN0ZW0gKGJhZGdlcy5jc3MpXG4gICBDb250YWlucyBnZW5lcmljIGJhZGdlLCBtZW1iZXIgcm9sZSBiYWRnZXMsIGFuZCBzdGF0dXMvY29vbGluZy9sZWFndWUgYmFkZ2VzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEdlbmVyaWMgQmFkZ2UgKi9cbi5iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UteHMpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vbmUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmJ1dHRvbiAuYmFkZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tc3BhY2UteHMpKTtcbn1cblxuLmJ1dHRvbi0tcHJpbWFyeSAuYmFkZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4vKiBNZW1iZXIgUm9sZSBCYWRnZXMgKi9cbi5tZW1iZXItcm9sZS1iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgcGFkZGluZzogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4ubWVtYmVyLXJvbGUtYmFkZ2UtLWFkbWluIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1lcnJvci1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci1ib3JkZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci10ZXh0KTtcbn1cblxuLm1lbWJlci1yb2xlLWJhZGdlLS1tb2Qge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWluZm8tYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaW5mby1ib3JkZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1pbmZvLXRleHQpO1xufVxuXG4ubWVtYmVyLXJvbGUtYmFkZ2UtLWNhcHRhaW4ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdhcm5pbmctYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itd2FybmluZy1ib3JkZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLXRleHQpO1xufVxuXG4ubWVtYmVyLXJvbGUtYmFkZ2UtLXN0dWRlbnQsXG4ubWVtYmVyLXJvbGUtYmFkZ2UtLXN0dWRlbnQtbW9kIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZWFtLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXRlYW0tYm9yZGVyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGVhbS10ZXh0LWRhcmspO1xufVxuXG4ubWVtYmVyLXJvbGUtYmFkZ2UtLW1lbWJlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctY2FyZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4vKiBTdGF0dXMgQmFkZ2UgU3lzdGVtICovXG4uc3RhdHVzLWJhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vbmUpO1xufVxuXG4uc3RhdHVzLWJhZGdlIGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5zdGF0dXMtYmFkZ2UgaTo6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNiBGcmVlXCIsIFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG59XG5cbi5zdGF0dXMtdmFsdWUge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLnN0YXR1cy1zdWNjZXNzLFxuLnN0YXR1cy1ncmVlbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xufVxuLnN0YXR1cy1zdWNjZXNzIGk6OmJlZm9yZSxcbi5zdGF0dXMtZ3JlZW4gaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjAwY1wiOyAvKiBmYS1jaGVjayAqL1xufVxuXG4uc3RhdHVzLXdhcm5pbmcge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cbi5zdGF0dXMtd2FybmluZyBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDcxXCI7IC8qIGZhLXRyaWFuZ2xlLWV4Y2xhbWF0aW9uICovXG59XG5cbi5zdGF0dXMtdW5rbm93bixcbi5zdGF0dXMtZ3JheSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cbi5zdGF0dXMtdW5rbm93biBpOjpiZWZvcmUsXG4uc3RhdHVzLWdyYXkgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1YVwiOyAvKiBmYS1jaXJjbGUtaW5mbyAqL1xufVxuXG4uc3RhdHVzLXByb2Nlc3Npbmcge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5zdGF0dXMtcHJvY2Vzc2luZyBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMWNlXCI7IC8qIGZhLWNpcmNsZS1ub3RjaCAqL1xufVxuXG4uc3RhdHVzLW9wZW4ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cbi5zdGF0dXMtb3BlbiBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmM2MxXCI7IC8qIGZhLWxvY2stb3BlbiAqL1xufVxuXG4uc3RhdHVzLWNsb3NlZCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbn1cbi5zdGF0dXMtY2xvc2VkIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwMjNcIjsgLyogZmEtbG9jayAqL1xufVxuXG4uc3RhdHVzLW9mZmljaWFsIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwMGNcIjsgLyogZmEtY2hlY2sgKi9cbn1cblxuLnN0YXR1cy1vbmxpbmUgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjBhY1wiOyAvKiBmYS1nbG9iZSAqL1xufVxuXG4uc3RhdHVzLWxpdmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG4uc3RhdHVzLWxpdmUgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjAwMVwiOyAvKiBmYS10b3dlci1icm9hZGNhc3QgKi9cbn1cblxuLnN0YXR1cy1hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cbi5zdGF0dXMtYWN0aXZlIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwMGNcIjsgLyogZmEtY2hlY2sgKi9cbn1cblxuLnN0YXR1cy1pbmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cbi5zdGF0dXMtaW5hY3RpdmUgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1ZVwiOyAvKiBmYS1iYW4gKi9cbn1cblxuLnN0YXR1cy1zcG9uc29yZWQgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjFjZFwiOyAvKiBmYS1saWZlLXJpbmcgKi9cbn1cblxuLnN0YXR1cy1iYW5uZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG4uc3RhdHVzLWJhbm5lZCBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDVlXCI7IC8qIGZhLWJhbiAqL1xufVxuXG4uc3RhdHVzLWFkbWluLFxuLnN0YXR1cy1tb2RlcmF0b3IsXG4uc3RhdHVzLXN0dWRlbnQsXG4uc3RhdHVzLXN0dWRlbnQtbW9kZXJhdG9yLFxuLnN0YXR1cy1jYXB0YWluLFxuLnN0YXR1cy11c2VyLFxuLnN0YXR1cy10ZWFtLFxuLnN0YXR1cy1jb3VudHJ5LFxuLnN0YXR1cy1qb2luZWQsXG4uc3RhdHVzLXNwb25zb3JlZCxcbi5zdGF0dXMtb25saW5lLFxuLnN0YXR1cy1vZmZpY2lhbCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnN0YXR1cy1hZG1pbiBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmNGZlXCI7IC8qIGZhLXVzZXItZ2VhciAqL1xufVxuXG4uc3RhdHVzLW1vZGVyYXRvciBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmNTA4XCI7IC8qIGZhLXVzZXItdGllICovXG59XG5cbi5zdGF0dXMtc3R1ZGVudCBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTlkXCI7IC8qIGZhLWdyYWR1YXRpb24tY2FwICovXG59XG5cbi5zdGF0dXMtc3R1ZGVudC1tb2RlcmF0b3IgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjUwOFwiOyAvKiBmYS11c2VyLXRpZSAqL1xufVxuXG4uc3RhdHVzLWNhcHRhaW4gaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjRmZVwiOyAvKiBmYS11c2VyLWdlYXIgKi9cbn1cblxuLnN0YXR1cy11c2VyIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwMDdcIjsgLyogZmEtdXNlciAqL1xufVxuXG4uc3RhdHVzLXRlYW0gaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjBjMFwiOyAvKiBmYS11c2VycyAqL1xufVxuXG4uc3RhdHVzLWNvdW50cnkgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjAyNFwiOyAvKiBmYS1mbGFnICovXG59XG5cbi5zdGF0dXMtam9pbmVkIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNzNcIjsgLyogZmEtY2FsZW5kYXIgKi9cbn1cblxuLnN0YXR1cy1qb2luZWQgLnN0YXR1cy12YWx1ZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmEuc3RhdHVzLWJhZGdlLFxuYS5zdGF0dXMtYmFkZ2U6bGluayxcbmEuc3RhdHVzLWJhZGdlOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5hLnN0YXR1cy1iYWRnZTpob3ZlcixcbmEuc3RhdHVzLWJhZGdlOmFjdGl2ZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG9wYWNpdHk6IDAuODU7XG59XG5cbi5zdGF0dXMtYmFkZ2U6aXMoXG4gICAgLnN0YXR1cy1hZG1pbixcbiAgICAuc3RhdHVzLW1vZGVyYXRvcixcbiAgICAuc3RhdHVzLXN0dWRlbnQsXG4gICAgLnN0YXR1cy1zdHVkZW50LW1vZGVyYXRvcixcbiAgICAuc3RhdHVzLWNhcHRhaW4sXG4gICAgLnN0YXR1cy11c2VyLFxuICAgIC5zdGF0dXMtdGVhbSxcbiAgICAuc3RhdHVzLWNvdW50cnksXG4gICAgLnN0YXR1cy1qb2luZWQsXG4gICAgLnN0YXR1cy1zcG9uc29yZWQsXG4gICAgLnN0YXR1cy1vbmxpbmUsXG4gICAgLnN0YXR1cy1vZmZpY2lhbFxuKTppcyg6bGluaywgOnZpc2l0ZWQsIDpob3ZlciwgOmFjdGl2ZSkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi8qIENvb2xpbmcgQmFkZ2VzICovXG4uY29vbGluZy1haXItc3RvY2sge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG4uY29vbGluZy1haXItc3RvY2sgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGY3MmVcIjsgfSAvKiBmYS1mYW4gKi9cblxuLmNvb2xpbmctYWlyLWN1c3RvbSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpO1xufVxuLmNvb2xpbmctYWlyLWN1c3RvbSBpOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjcyZVwiOyB9IC8qIGZhLWZhbiAqL1xuXG4uY29vbGluZy13YXRlci1jdXN0b20ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5jb29saW5nLXdhdGVyLWN1c3RvbSBpOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA0M1wiOyB9IC8qIGZhLWRyb3BsZXQgKi9cblxuLmNvb2xpbmctYWlvLXdhdGVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cbi5jb29saW5nLWFpby13YXRlciBpOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA0M1wiOyB9IC8qIGZhLWRyb3BsZXQgKi9cblxuLmNvb2xpbmctd2F0ZXItY2hpbGxlZC1jb2xkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4uY29vbGluZy13YXRlci1jaGlsbGVkLWNvbGQgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZGNcIjsgfSAvKiBmYS1zbm93Zmxha2UgKi9cblxuLmNvb2xpbmctZHJ5LWljZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cbi5jb29saW5nLWRyeS1pY2UgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYjJcIjsgfSAvKiBmYS1jdWJlICovXG5cbi5jb29saW5nLXNpbmdsZS1zdGFnZS1waGFzZS1jaGFuZ2Uge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5jb29saW5nLXNpbmdsZS1zdGFnZS1waGFzZS1jaGFuZ2UgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZGNcIjsgfSAvKiBmYS1zbm93Zmxha2UgKi9cblxuLmNvb2xpbmctY2FzY2FkZS1waGFzZS1jaGFuZ2Uge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cbi5jb29saW5nLWNhc2NhZGUtcGhhc2UtY2hhbmdlIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmRjXCI7IH0gLyogZmEtc25vd2ZsYWtlICovXG5cbi5jb29saW5nLWxpcXVpZC1uaXRyb2dlbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xufVxuLmNvb2xpbmctbGlxdWlkLW5pdHJvZ2VuIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGMzXCI7IH0gLyogZmEtZmxhc2sgKi9cblxuLmNvb2xpbmctbGlxdWlkLWhlbGl1bSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cbi5jb29saW5nLWxpcXVpZC1oZWxpdW0gaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGY3YTZcIjsgfSAvKiBmYS1hdG9tICovXG5cbi8qIExlYWd1ZSBCYWRnZXMgKi9cbi5sZWFndWUtZWxpdGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cbi5sZWFndWUtZWxpdGUgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGY1MjFcIjsgfSAvKiBmYS1jcm93biAqL1xuXG4ubGVhZ3VlLWV4dHJlbWUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG4ubGVhZ3VlLWV4dHJlbWUgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNmRcIjsgfSAvKiBmYS1maXJlICovXG5cbi5sZWFndWUtYXBwcmVudGljZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xufVxuLmxlYWd1ZS1hcHByZW50aWNlIGk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGQwXCI7IH0gLyogZmEtbWFnaWMgKi9cblxuLmxlYWd1ZS1lbnRodXNpYXN0IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4ubGVhZ3VlLWVudGh1c2lhc3QgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZTdcIjsgfSAvKiBmYS1ib2x0ICovXG5cbi5sZWFndWUtbm92aWNlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG4ubGVhZ3VlLW5vdmljZSBpOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjRkOFwiOyB9IC8qIGZhLXNlZWRsaW5nICovXG5cbi5sZWFndWUtcm9va2llIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuLmxlYWd1ZS1yb29raWUgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOWRcIjsgfSAvKiBmYS1ncmFkdWF0aW9uLWNhcCAqL1xuXG4vKiBSZWZlcmVuY2UgQmFkZ2VzICovXG4ucmVmLXJldmlldyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLnJlZi1yZXZpZXcgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZTVcIjsgfSAvKiBmYS1iaW5vY3VsYXJzICovXG5cbi5yZWYtbmV3cyxcbi5yZWYtcHJlc3MsXG4ucmVmLXJvdW5kdXAsXG4ucmVmLXN0YXRpYy1jb250ZW50IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuLnJlZi1uZXdzIGk6OmJlZm9yZSxcbi5yZWYtcHJlc3MgaTo6YmVmb3JlLFxuLnJlZi1yb3VuZHVwIGk6OmJlZm9yZSxcbi5yZWYtc3RhdGljLWNvbnRlbnQgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZWFcIjsgfSAvKiBmYS1uZXdzcGFwZXIgKi9cblxuLnJlZi1kaXNjdXNzaW9uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4ucmVmLWRpc2N1c3Npb24gaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYwODZcIjsgfSAvKiBmYS1jb21tZW50cyAqL1xuXG4ucmVmLXJ1bGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cbi5yZWYtcnVsZSBpOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA2YVwiOyB9IC8qIGZhLWNpcmNsZS1leGNsYW1hdGlvbiAqL1xuXG4ucmVmLWVzcG9ydHMge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG4ucmVmLWVzcG9ydHMgaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZGJcIjsgfSAvKiBmYS1taWNyb2NoaXAgKi9cblxuLyogUGFydG5lciBIYXJkd2FyZSBJbmRpY2F0b3IgKi9cbi5wYXJ0bmVyLWljb24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLXN0YXIpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuYTppcyg6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSkgLnBhcnRuZXItaWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctc3Rhcik7XG59XG4iLCAiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSFdCT1QgTmF2aWdhdGlvbiBDb21wb25lbnQgKG5hdmlnYXRpb24uY3NzKVxuICAgUGFpcmVkIHdpdGggdGFncy9uYXZpZ2F0aW9uLmp0ZVxuICAgQ29udGFpbnMgYmFzZSwgZGVza3RvcCAoQG1lZGlhIG1pbi13aWR0aDogMTIwMXB4KSwgYW5kIG1vYmlsZSAoQG1lZGlhIG1heC13aWR0aDogMTIwMHB4KSBzdHlsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgMS4gQmFzZSBOYXZpZ2F0aW9uICYgTW9iaWxlIEJhclxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm5hdmlnYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cblxuLm5hdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG59XG5cbi8qIEFjY291bnQgRHJvcGRvd24gKi9cbi5uYXZfX2Ryb3Bkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoMTAwJSArIDhweCk7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbWQpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgei1pbmRleDogdmFyKC0tei1pbmRleC1kcm9wZG93bik7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIHZpc2liaWxpdHkgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbn1cblxuLm5hdl9fZHJvcGRvd24tLW9wZW4gLm5hdl9fZHJvcGRvd24tbWVudSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLm5hdl9fZHJvcGRvd24taGVhZGVyIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLXVzZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLWl0ZW0sXG4ubmF2X19kcm9wZG93bi1pdGVtOnZpc2l0ZWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLWl0ZW06aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSwgOmFjdGl2ZSkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLWl0ZW0gaSB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLm5hdl9fZHJvcGRvd24taXRlbTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLm5hdl9fZHJvcGRvd24tZGl2aWRlciB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXhzKSAwO1xufVxuXG4ubmF2X19kcm9wZG93bi1pdGVtLS1sb2dvdXQsXG4ubmF2X19kcm9wZG93bi1pdGVtLS1sb2dvdXQ6dmlzaXRlZCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbn1cblxuLm5hdl9fZHJvcGRvd24taXRlbS0tbG9nb3V0IGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi5uYXZfX2Ryb3Bkb3duLWl0ZW0tLWxvZ291dDppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlLCA6YWN0aXZlKSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZXJyb3ItYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci10ZXh0KTtcbn1cblxuLm5hdl9fZHJvcGRvd24taXRlbS0tbG9nb3V0OmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci10ZXh0KTtcbn1cblxuLm5hdl9fb3ZlcmxheSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgaW5zZXQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMywgNiwgMjMsIDAuNyk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDJweCk7XG4gICAgei1pbmRleDogdmFyKC0tei1pbmRleC1iYWNrZHJvcCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCB2aXNpYmlsaXR5IHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG59XG5cbi5uYXZfX2RyYXdlciB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5uYXZfX2RyYXdlci1oZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbGcpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuXG4ubmF2X19kcmF3ZXItdGl0bGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLm5hdl9fY2xvc2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIGNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG59XG5cbi5uYXZfX2Nsb3NlOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xufVxuXG4ubmF2X19saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ubmF2X19pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5uYXZfX2xpbmssXG4ubmF2X19saW5rOmxpbmssXG4ubmF2X19saW5rOnZpc2l0ZWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbn1cblxuLm5hdl9fbGluazppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlLCA6YWN0aXZlKSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXItZGFyayk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLm5hdl9fbGluay1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5uYXZfX3N1Yi10b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5uYXZfX3N1YiB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLm5hdl9fc3ViLWxpbmssXG4ubmF2X19zdWItbGluazpsaW5rLFxuLm5hdl9fc3ViLWxpbms6dmlzaXRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4ubmF2X19zdWItbGluazppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlLCA6YWN0aXZlKSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXItZGFyayk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiBTdWJtaXQgU2NvcmUgTGluayAqL1xuLm5hdl9faXRlbS0tY3RhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5uYXZfX2xpbmstLWN0YSB7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5uYXZfX2xpbmstLWN0YSBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xufVxuXG4ubmF2X19saW5rLS1jdGE6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgMi4gRGVza3RvcCBOYXZpZ2F0aW9uIChtaW4td2lkdGg6IDEyMDFweClcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAgIC5uYXZfX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLm5hdl9faXRlbS0tY3RhIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgLm5hdl9faXRlbS0taGFzLXN1YiA+IC5uYXZfX2xpbmstcm93ID4gLm5hdl9fbGluazo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1sZykgc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiB2YXIoLS1ib3JkZXItd2lkdGgtbGcpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLWxnKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIGJvcmRlci10b3AtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbiAgICB9XG5cbiAgICAubmF2X19pdGVtLS1oYXMtc3ViOmlzKDpob3ZlciwgOmZvY3VzLXdpdGhpbikgPiAubmF2X19saW5rLXJvdyA+IC5uYXZfX2xpbms6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICB9XG5cbiAgICAubmF2X19zdWIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWluLXdpZHRoOiAyNDBweDtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLWJvcmRlci1yYWRpdXMtc20pIHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpO1xuICAgICAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LWRyb3Bkb3duKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIHZpc2liaWxpdHkgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbiAgICB9XG5cbiAgICAvKiBIb3ZlciBicmlkZ2UgcHJldmVudGluZyBjdXJzb3IgZHJvcHMgKi9cbiAgICAubmF2X19zdWI6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtNnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgfVxuXG4gICAgLm5hdl9faXRlbS0taGFzLXN1Yjppcyg6aG92ZXIsIDpmb2N1cy13aXRoaW4pID4gLm5hdl9fc3ViIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG5cbiAgICAvKiBEZXNrdG9wIEhlYWRlciAmIE5hdmlnYXRpb24gQmFyICovXG4gICAgLmhlYWRlcixcbiAgICAubmF2aWdhdGlvbiB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgfVxuXG4gICAgLmhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuaGVhZGVyX190b3AtYmFyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgyODBweCwgMWZyKSBhdXRvIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLXhsKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLWxnKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmhlYWRlciAubG9nby13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5wYXRyZW9uIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtM3hsKTtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5wYXRyZW9uIGEsXG4gICAgLmhlYWRlciAucGF0cmVvbiBhOmxpbmssXG4gICAgLmhlYWRlciAucGF0cmVvbiBhOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5wYXRyZW9uIGE6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSwgOmFjdGl2ZSkge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgfVxuXG4gICAgLmhlYWRlciAuZ2xvYmFsLXNlYXJjaC13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmhlYWRlciAucGFydG5lci13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmhlYWRlciAucGFydG5lci13cmFwcGVyIC5wbGF0aW51bS1wYXJ0bmVyIGltZyB7XG4gICAgICAgIGhlaWdodDogdmFyKC0tcGFydG5lci1sb2dvLWhlaWdodCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmFjY291bnQtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmFjY291bnQtd3JhcHBlciAuZ3JpZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmFjY291bnQtd3JhcHBlciAuZ3JpZCBpIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1oZWFkZXItaWNvbi1zaXplKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5hY2NvdW50LXdyYXBwZXIgLmdyaWQgLmhlYWRlci1hdmF0YXItaW1nLS1kZXNrdG9wIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgLmhlYWRlciAuYWNjb3VudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmFjY291bnQgbGkge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5hY2NvdW50IGEsXG4gICAgLmhlYWRlciAuYWNjb3VudCBhOmxpbmssXG4gICAgLmhlYWRlciAuYWNjb3VudCBhOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5hY2NvdW50IGE6aG92ZXIsXG4gICAgLmhlYWRlciAuYWNjb3VudCBhOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAzLiBNb2JpbGUgTmF2aWdhdGlvbiBEcmF3ZXIgKG1heC13aWR0aDogMTIwMHB4KVxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgLm5hdmlnYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICB9XG5cbiAgICAubmF2X19vdmVybGF5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLm5hdi0tb3BlbiAubmF2X19vdmVybGF5IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgfVxuXG4gICAgLm5hdl9fZHJhd2VyIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAzMjBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA4NXZ3O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgICAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LWRyYXdlcik7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tc21vb3RoKTtcbiAgICB9XG5cbiAgICAubmF2LS1vcGVuIC5uYXZfX2RyYXdlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG5cbiAgICAubmF2X19kcmF3ZXItaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAubmF2X19saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSAwIHZhcigtLXNwYWNlLTJ4bCkgMDtcbiAgICB9XG5cbiAgICAubmF2X19saW5rLXJvdyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTtcbiAgICB9XG5cbiAgICAubmF2X19saW5rLFxuICAgIC5uYXZfX2xpbms6bGluayxcbiAgICAubmF2X19saW5rOnZpc2l0ZWQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgfVxuXG4gICAgLm5hdl9fbGluay1yb3c6aXMoOmhvdmVyLCA6Zm9jdXMtd2l0aGluKSxcbiAgICAubmF2X19saW5rOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIH1cblxuICAgIC5uYXZfX3N1Yi10b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xuICAgIH1cblxuICAgIC5uYXZfX3N1Yi10b2dnbGU6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICB9XG5cbiAgICAubmF2X19pdGVtLS1vcGVuIC5uYXZfX3N1Yi10b2dnbGUgaSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIH1cblxuICAgIC5uYXZfX3N1YiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgfVxuXG4gICAgLm5hdl9faXRlbS0tb3BlbiAubmF2X19zdWIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAubmF2X19zdWItbGluayxcbiAgICAubmF2X19zdWItbGluazpsaW5rLFxuICAgIC5uYXZfX3N1Yi1saW5rOnZpc2l0ZWQge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpIHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS0yeGwpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICB9XG5cbiAgICAubmF2X19zdWItbGluazppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlLCA6YWN0aXZlKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICB9XG5cbiAgICAubmF2X19saW5rLS1jdGEge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvKiBNb2JpbGUgSGVhZGVyICYgU21hcnQgU3RpY2t5IFBhcnRuZXIgUm93ICovXG4gICAgLmhlYWRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogOTAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgIH1cblxuICAgIC5oZWFkZXJfX3RvcC1iYXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBtaW4taGVpZ2h0OiA1MnB4O1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmxvZ28td3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmhlYWRlciAubG9nbyBpbWcge1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuaGVhZGVyX19tb2JpbGUtYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC5oZWFkZXJfX2FjdGlvbi1idG4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xuICAgIH1cblxuICAgIC5oZWFkZXJfX2FjdGlvbi1idG46aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSksXG4gICAgLm5hdl9fZHJvcGRvd24tLW9wZW4gLmhlYWRlcl9fYWN0aW9uLWJ0bi0tYWNjb3VudCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xOCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIH1cblxuICAgIC5oZWFkZXJfX2FjdGlvbi1idG46Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgIH1cblxuICAgIC5oZWFkZXJfX2FjdGlvbi1idG4gaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICAuaGVhZGVyLWF2YXRhci1pbWcge1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAucGFydG5lci13cmFwcGVyLS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwYWRkaW5nOiA2cHggdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1heC1oZWlnaHQ6IDQ4cHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjI4cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMjJzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmcgMC4yOHMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMjhzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGggMC4yOHMgZWFzZTtcbiAgICB9XG5cbiAgICAucGFydG5lci13cmFwcGVyLS1tb2JpbGUgLnBsYXRpbnVtLXBhcnRuZXIgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmhlYWRlci0tcGFydG5lci1oaWRkZW4gLnBhcnRuZXItd3JhcHBlci0tbW9iaWxlIHtcbiAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbn1cbiIsICIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIV0JPVCBHbG9iYWwgU2VhcmNoIENvbXBvbmVudCAoc2VhcmNoLmNzcylcbiAgIFBhaXJlZCB3aXRoIHRhZ3Mvc2VhcmNobW9kYWwuanRlIGFuZCBtb2R1bGVzL3NlYXJjaC50c1xuICAgQ29udGFpbnMgYmFzZSwgZGVza3RvcCAoQG1lZGlhIG1pbi13aWR0aDogMTIwMXB4KSwgYW5kIG1vYmlsZSAoQG1lZGlhIG1heC13aWR0aDogMTIwMHB4KSBzdHlsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgMS4gQmFzZSAmIEJhY2tkcm9wIC8gU2Nyb2xsIExvY2sgU3R5bGVzXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5odG1sLnNlYXJjaC1vcGVuLFxuYm9keS5zZWFyY2gtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTtcbiAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWJhY2tkcm9wIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldDogMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMywgNiwgMjMsIDAuNzUpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgei1pbmRleDogdmFyKC0tei1pbmRleC1iYWNrZHJvcCk7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTtcbiAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi5nbG9iYWwtc2VhcmNoLFxuLmdsb2JhbC1zZWFyY2gtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtYXV0b2NvbXBsZXRlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbmF2eSk7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmdsb2JhbC1zZWFyY2gtYXV0b2NvbXBsZXRlLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW5hdnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWhlYWRlci10b29scyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1zcGlubmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UteGwpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5jYXRlZ29yeS1oZWFkZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWRhc2hlZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuY2F0ZWdvcnktaGVhZGVyIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5jYXRlZ29yeS1iYWRnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuc2VhcmNoLWl0ZW0tbGlzdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS14cykgMCAwO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5zZWFyY2gtaXRlbSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNik7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLnNlYXJjaC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLml0ZW0tbGluayxcbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLml0ZW0tbGluazpsaW5rLFxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuaXRlbS1saW5rOnZpc2l0ZWQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWluLWhlaWdodDogMjVweDtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuaXRlbS1uYW1lIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5pdGVtLWxpbms6aG92ZXIsXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5pdGVtLWxpbms6Zm9jdXMsXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5pdGVtLWxpbms6YWN0aXZlLFxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuaXRlbS1saW5rLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuaXRlbS1hcnJvdyB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5pdGVtLWxpbms6aXMoOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsIC5pcy1hY3RpdmUpIC5pdGVtLWFycm93IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuc2VhcmNoLWVtcHR5LXN0YXRlLFxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuc2VhcmNoLXByb21wdC1zdGF0ZSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA0MHB4IHZhcigtLXNwYWNlLWxnKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5lbXB0eS1pY29uLFxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAucHJvbXB0LWljb24ge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5wcm9tcHQtaWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLmVtcHR5LXRpdGxlLFxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAucHJvbXB0LXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGcpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuZW1wdHktc3VidGl0bGUsXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5wcm9tcHQtc3VidGl0bGUge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAzMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vcm1hbCk7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIDIuIERlc2t0b3AgU2VhcmNoIChtaW4td2lkdGg6IDEyMDFweClcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAgIC5nbG9iYWwtc2VhcmNoIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtaW5wdXQtZ3JvdXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIC5nbG9iYWwtc2VhcmNoIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4gICAgLmdsb2JhbC1zZWFyY2gtaW5wdXQsXG4gICAgLmdsb2JhbC1zZWFyY2ggYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgLmdsb2JhbC1zZWFyY2gtYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2ggaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgLmdsb2JhbC1zZWFyY2ggaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbiAgICAuZ2xvYmFsLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS1sZyk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpIDAgMCB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjpwbGFjZWhvbGRlcixcbiAgICAuZ2xvYmFsLXNlYXJjaCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjpwbGFjZWhvbGRlcixcbiAgICAuZ2xvYmFsLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2ggaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4gICAgLmdsb2JhbC1zZWFyY2ggaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbiAgICAuZ2xvYmFsLXNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gICAgICAgIHdpZHRoOiAzODBweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDU2LCAxODksIDI0OCwgMC41KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLFxuICAgIC5nbG9iYWwtc2VhcmNoLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UtbGcpIDAgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKSB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpIDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoOmhvdmVyIC5nbG9iYWwtc2VhcmNoLWlucHV0LFxuICAgIC5nbG9iYWwtc2VhcmNoOmhvdmVyIC5nbG9iYWwtc2VhcmNoLWJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdOmhvdmVyLFxuICAgIC5nbG9iYWwtc2VhcmNoLWJ1dHRvbjpob3ZlcixcbiAgICAuZ2xvYmFsLXNlYXJjaCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXTpmb2N1cy12aXNpYmxlLFxuICAgIC5nbG9iYWwtc2VhcmNoLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXItZGFyayk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg1NiwgMTg5LCAyNDgsIDAuNSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoOmZvY3VzLXdpdGhpbiAuZ2xvYmFsLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg1NiwgMTg5LCAyNDgsIDAuNSk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2g6Zm9jdXMtd2l0aGluIC5nbG9iYWwtc2VhcmNoLWJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg1NiwgMTg5LCAyNDgsIDAuNSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtYXV0b2NvbXBsZXRlLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogNzVweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIHdpZHRoOiA5MDBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA5MnZ3O1xuICAgICAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LW1vZGFsKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cteGwpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWF1dG9jb21wbGV0ZS1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1kZXNrdG9wLWFjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtYXV0b2NvbXBsZXRlLWhlYWRlciAuYnV0dG9uLFxuICAgIC5nbG9iYWwtc2VhcmNoLWRlc2t0b3AtYWN0aW9uIC5idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtYXV0b2NvbXBsZXRlLWhlYWRlciAuYnV0dG9uOmhvdmVyLFxuICAgIC5nbG9iYWwtc2VhcmNoLWRlc2t0b3AtYWN0aW9uIC5idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtY29udGVudCAuc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyODBweCwgMWZyKSk7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgICAgIG1heC1oZWlnaHQ6IDcwdmg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtY29udGVudCAuc2VhcmNoLWNhdGVnb3J5LWdyb3VwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAzLiBNb2JpbGUgU2VhcmNoIE1vZGFsIChtYXgtd2lkdGg6IDEyMDBweClcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIC5nbG9iYWwtc2VhcmNoLWF1dG9jb21wbGV0ZS13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDBkdmg7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgei1pbmRleDogdmFyKC0tei1pbmRleC1tb2RhbCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW5hdnkpO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvci14OiBub25lO1xuICAgICAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWF1dG9jb21wbGV0ZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMGR2aDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbmF2eSk7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1hdXRvY29tcGxldGUtaGVhZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LXN0aWNreS1oZWFkZXIpO1xuICAgICAgICBwYWRkaW5nOiBtYXgodmFyKC0tc3BhY2UtbWQpLCBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMTJweCkpIG1heCh2YXIoLS1zcGFjZS1tZCksIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQsIDEycHgpKSB2YXIoLS1zcGFjZS1tZCkgbWF4KHZhcigtLXNwYWNlLW1kKSwgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0LCAxMnB4KSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW5hdnkpO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1tb2JpbGUtYWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtbW9iaWxlLWFjdGlvbiAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogNDRweDtcbiAgICAgICAgbWluLWhlaWdodDogNDRweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLW1vYmlsZS1hY3Rpb24gLmJ1dHRvbjphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1tb2JpbGUtYWN0aW9uIC5nbG9iYWwtc2VhcmNoLXNwaW5uZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLW1vYmlsZS1hY3Rpb24gaW5wdXQuaW5wdXQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UtbGcpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbmF2eSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1tb2JpbGUtYWN0aW9uIGlucHV0LmlucHV0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWNvbnRlbnQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSBtYXgodmFyKC0tc3BhY2UtbWQpLCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0LCAxMnB4KSkgbWF4KHZhcigtLXNwYWNlLTJ4bCksIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAzMnB4KSkgbWF4KHZhcigtLXNwYWNlLW1kKSwgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0LCAxMnB4KSk7XG4gICAgICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtY29udGVudCAuc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5zZWFyY2gtY2F0ZWdvcnktZ3JvdXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgfVxufVxuIiwgIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhXQk9UIFZvdGUgQ29tcG9uZW50ICYgVm90ZXJzIFBvcG92ZXIgKHZvdGUuY3NzKVxuICAgUGFpcmVkIHdpdGggd2ViL3NyYy9tYWluL2Zyb250ZW5kL21vZHVsZXMvdm90ZS50c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBWb3RlIFdpZGdldCAmIFBvcG92ZXIgKi9cbi52b3RlLWNlbGwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udm90ZS1jZWxsIC52b3RlLXBpbGwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbn1cblxuLnZvdGUtd2lkZ2V0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnZvdGUtcGlsbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbGcpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2UteHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9uZSk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnZvdGUtcGlsbDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4udm90ZS1waWxsX19idG4ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udm90ZS1waWxsX19idG46aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnZvdGUtcGlsbF9fYWN0aW9uLmhhcy12b3RlZCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi52b3RlLXBpbGxfX2FjdGlvbi0tZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi52b3RlLXBpbGxfX2RpdmlkZXIge1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgbWFyZ2luOiAwIDFweDtcbn1cblxuLnZvdGUtcGlsbF9fY291bnQge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLnZvdGUtcGlsbF9fY2FyZXQge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTN4cyk7XG4gICAgb3BhY2l0eTogMC43O1xufVxuXG4vKiBEcm9wZG93biBQb3BvdmVyICovXG4udm90ZS1kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbWluLXdpZHRoOiAxODBweDtcbiAgICBtYXgtd2lkdGg6IDI0MHB4O1xuICAgIG1heC1oZWlnaHQ6IDIyMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItZGFyayk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW1kKTtcbiAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LWRyb3Bkb3duKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udm90ZS1wb3BvdmVyLWhlYWRlciB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLnZvdGUtcG9wb3Zlci1saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbn1cblxuLnZvdGUtcG9wb3Zlci1pdGVtIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4udm90ZS11c2VyLWxpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi52b3RlLXVzZXItbGluazpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnZvdGUtdXNlci1hdmF0YXIge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi52b3RlLXBvcG92ZXItZW1wdHksXG4udm90ZS1sb2FkaW5nLFxuLnZvdGUtcG9wb3Zlci1lcnJvciB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCAiQGltcG9ydCBcIi4vYmFkZ2VzLmNzc1wiO1xuQGltcG9ydCBcIi4vbmF2aWdhdGlvbi5jc3NcIjtcbkBpbXBvcnQgXCIuL3NlYXJjaC5jc3NcIjtcbkBpbXBvcnQgXCIuL3ZvdGUuY3NzXCI7XG5cbjpyb290IHtcbiAgICAvKiBCYWNrZ3JvdW5kcyAmIFN1cmZhY2VzICovXG4gICAgLS1jb2xvci1iZy1ncmFkaWVudC1zdGFydDogIzUwOTFERDtcbiAgICAtLWNvbG9yLWJnLWdyYWRpZW50LWVuZDogIzAzMDYxNztcbiAgICAtLWNvbG9yLWJnLW1haW46ICNGNEY3Rjg7XG4gICAgLS1jb2xvci1iZy1zdXJmYWNlOiAjRkZGRkZGO1xuICAgIC0tY29sb3ItYmctY2FyZDogI2Y4ZmFmYztcbiAgICAtLWNvbG9yLWJnLWhvdmVyOiAjZjFmNWY5O1xuICAgIC0tY29sb3ItYmctaG92ZXItZGFyazogIzM2NDU0RjtcbiAgICAtLWNvbG9yLWJnLWRhcms6ICMzNjQ1NEY7XG4gICAgLS1jb2xvci1iZy1uYXZ5OiAjMDMwNjE3O1xuICAgIC0tY29sb3ItYmctZXh0cmE6IGRhcmtzbGF0ZWdyYXk7XG5cbiAgICAvKiBUZXh0ICYgVHlwb2dyYXBoeSBDb2xvcnMgKi9cbiAgICAtLWNvbG9yLXRleHQtcHJpbWFyeTogIzM2NDU0RjtcbiAgICAtLWNvbG9yLXRleHQtaGVhZGluZzogIzBmMTcyYTtcbiAgICAtLWNvbG9yLXRleHQtc2Vjb25kYXJ5OiAjNjQ3NDhiO1xuICAgIC0tY29sb3ItdGV4dC1tdXRlZDogIzk0YTNiODtcbiAgICAtLWNvbG9yLXRleHQtaW52ZXJzZTogI0Y0RjdGODtcbiAgICAtLWNvbG9yLXRleHQtaW52ZXJzZS1tdXRlZDogI0RDRENEQztcbiAgICAtLWNvbG9yLXRleHQtd2hpdGU6ICNmZmZmZmY7XG5cbiAgICAvKiBCb3JkZXJzICovXG4gICAgLS1jb2xvci1ib3JkZXItbGlnaHQ6ICNFNUU1RTU7XG4gICAgLS1jb2xvci1ib3JkZXItc3VidGxlOiAjZTJlOGYwO1xuICAgIC0tY29sb3ItYm9yZGVyLWRhc2hlZDogI2NiZDVlMTtcbiAgICAtLWNvbG9yLWJvcmRlci1zdGFuZGFyZDogbGlnaHRncmF5O1xuICAgIC0tY29sb3ItYm9yZGVyLWRhcms6ICMzNjQ1NEY7XG4gICAgLS1ib3JkZXItd2lkdGgtc206IDFweDtcbiAgICAtLWJvcmRlci13aWR0aC1tZDogMnB4O1xuICAgIC0tYm9yZGVyLXdpZHRoLWxnOiA0cHg7XG4gICAgLS1ib3JkZXItd2lkdGgteGw6IDVweDtcbiAgICAtLWJvcmRlci1yYWRpdXMteHM6IDRweDtcbiAgICAtLWJvcmRlci1yYWRpdXMtc206IDZweDtcbiAgICAtLWJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAtLWJvcmRlci1yYWRpdXMtbGc6IDE2cHg7XG4gICAgLS1ib3JkZXItcmFkaXVzLWZ1bGw6IDk5OTlweDtcbiAgICAtLWJvcmRlci1yYWRpdXMtY2lyY2xlOiA1MCU7XG5cbiAgICAvKiBCcmFuZCwgQWN0aW9ucyAmIEhpZ2hsaWdodHMgKi9cbiAgICAtLWNvbG9yLXByaW1hcnk6ICMwMjg0Yzc7XG4gICAgLS1jb2xvci1wcmltYXJ5LWhvdmVyOiAjMDM2OWExO1xuICAgIC0tY29sb3ItYWNjZW50OiAjMzhiZGY4O1xuICAgIC0tY29sb3ItaGlnaGxpZ2h0OiAjNjBhNWZhO1xuXG4gICAgLyogTGlua3MgKi9cbiAgICAtLWNvbG9yLWxpbms6ICMxZDRlZDg7XG4gICAgLS1jb2xvci1saW5rLWhvdmVyOiAjMWU0MGFmO1xuICAgIC0tY29sb3ItbGluay11bmRlcmxpbmU6IHJnYmEoMjksIDc4LCAyMTYsIDAuMzUpO1xuXG4gICAgLyogU3RhdHVzOiBTdWNjZXNzIChHcmVlbikgKi9cbiAgICAtLWNvbG9yLXN1Y2Nlc3M6ICMxNmEzNGE7XG4gICAgLS1jb2xvci1zdWNjZXNzLWJnOiAjZjBmZGY0O1xuICAgIC0tY29sb3Itc3VjY2Vzcy1ib3JkZXI6ICNiYmY3ZDA7XG4gICAgLS1jb2xvci1zdWNjZXNzLXRleHQ6ICMxNjY1MzQ7XG5cbiAgICAvKiBTdGF0dXM6IFdhcm5pbmcgLyBQZW5kaW5nIChBbWJlcikgKi9cbiAgICAtLWNvbG9yLXdhcm5pbmc6ICNkOTc3MDY7XG4gICAgLS1jb2xvci13YXJuaW5nLWJnOiAjZmZmYmViO1xuICAgIC0tY29sb3Itd2FybmluZy1ib3JkZXI6ICNmZGU2OGE7XG4gICAgLS1jb2xvci13YXJuaW5nLXRleHQ6ICM5MjQwMGU7XG4gICAgLS1jb2xvci13YXJuaW5nLXN0YXI6ICNlYWIzMDg7XG5cbiAgICAvKiBTdGF0dXM6IERhbmdlciAvIEVycm9yIChSZWQpICovXG4gICAgLS1jb2xvci1lcnJvcjogI2RjMjYyNjtcbiAgICAtLWNvbG9yLWVycm9yLWJnOiAjZmVmMmYyO1xuICAgIC0tY29sb3ItZXJyb3ItYm9yZGVyOiAjZmVjYWNhO1xuICAgIC0tY29sb3ItZXJyb3ItdGV4dDogIzk5MWIxYjtcblxuICAgIC8qIFN0YXR1czogSW5mbyAoQmx1ZSkgKi9cbiAgICAtLWNvbG9yLWluZm8tYmc6ICNlZmY2ZmY7XG4gICAgLS1jb2xvci1pbmZvLWJvcmRlcjogI2JmZGJmZTtcbiAgICAtLWNvbG9yLWluZm8tdGV4dDogIzFlNDBhZjtcblxuICAgIC8qIFN0YXR1czogVGVhbSAoUHVycGxlKSAqL1xuICAgIC0tY29sb3ItdGVhbTogIzdjM2FlZDtcbiAgICAtLWNvbG9yLXRlYW0tYmc6ICNmNWYzZmY7XG4gICAgLS1jb2xvci10ZWFtLWJvcmRlcjogI2RkZDZmZTtcbiAgICAtLWNvbG9yLXRlYW0tdGV4dDogIzdjM2FlZDtcbiAgICAtLWNvbG9yLXRlYW0tdGV4dC1kYXJrOiAjNWIyMWI2O1xuXG4gICAgLyogUmFua2luZ3MgLyBNZWRhbHMgKi9cbiAgICAtLWNvbG9yLXBvcy1maXJzdDogI0ZGRDcwMDtcbiAgICAtLWNvbG9yLXBvcy1zZWNvbmQ6ICNDMEMwQzA7XG4gICAgLS1jb2xvci1wb3MtdGhpcmQ6ICNDRDdGMzI7XG4gICAgLS1jb2xvci1wb3MtZm91ci1maXZlOiAjQUFCRkM5O1xuICAgIC0tcG9zLW1hcmtlci13aWR0aDogNHB4O1xuICAgIC0tcmFuay1wb3MtbWluLXdpZHRoOiAyNnB4O1xuXG4gICAgLyogQ29tcG9uZW50IFNpemVzICovXG4gICAgLS1hdmF0YXItc2l6ZS1zbTogMjJweDtcbiAgICAtLWhlYWRlci1pY29uLXNpemU6IDE1cHg7XG4gICAgLS1wYXJ0bmVyLWxvZ28taGVpZ2h0OiAzMHB4O1xuXG4gICAgLyogU3BhY2luZyAqL1xuICAgIC0tc3BhY2UtMnhzOiAycHg7XG4gICAgLS1zcGFjZS14czogIDRweDtcbiAgICAtLXNwYWNlLXM6ICAgNnB4O1xuICAgIC0tc3BhY2Utc206ICA4cHg7XG4gICAgLS1zcGFjZS1tZDogMTJweDtcbiAgICAtLXNwYWNlLWxnOiAxNnB4O1xuICAgIC0tc3BhY2UteGw6IDI0cHg7XG4gICAgLS1zcGFjZS0yeGw6IDMycHg7XG5cbiAgICAvKiBGb250ICovXG4gICAgLS1mb250LWhlYWRpbmc6IFwiUGlsbEdvdGhpYzMwMG1nQm9sZFwiLCBcIkx1Y2lkYSBHcmFuZGVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAtLWZvbnQtYmFzZTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgLS1mb250LW1vbm86IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBtb25vc3BhY2U7XG4gICAgLS1mb250LXNpemUtM3hzOiAgMC42MjVyZW07XG4gICAgLS1mb250LXNpemUtMnhzOiAgMC42ODc1cmVtO1xuICAgIC0tZm9udC1zaXplLXhzOiAgIDAuNzVyZW07XG4gICAgLS1mb250LXNpemUtc206ICAgMC44MTI1cmVtO1xuICAgIC0tZm9udC1zaXplLW1kOiAgIDAuODc1cmVtO1xuICAgIC0tZm9udC1zaXplLWJhc2U6IDFyZW07XG4gICAgLS1mb250LXNpemUtbGc6ICAgMS4xMjVyZW07XG4gICAgLS1mb250LXNpemUteGw6ICAgMS4yNXJlbTtcbiAgICAtLWZvbnQtc2l6ZS0yeGw6ICAxLjVyZW07XG4gICAgLS1mb250LXNpemUtM3hsOiAgMS44NzVyZW07XG4gICAgLS1mb250LXdlaWdodC1ub3JtYWw6ICAgIDQwMDtcbiAgICAtLWZvbnQtd2VpZ2h0LW1lZGl1bTogICAgNTAwO1xuICAgIC0tZm9udC13ZWlnaHQtc2VtaWJvbGQ6ICA2MDA7XG4gICAgLS1mb250LXdlaWdodC1ib2xkOiAgICAgIDcwMDtcbiAgICAtLWZvbnQtd2VpZ2h0LWV4dHJhYm9sZDogODAwO1xuXG4gICAgLyogTGluZSBIZWlnaHQgKi9cbiAgICAtLWxpbmUtaGVpZ2h0LW5vbmU6ICAgMTtcbiAgICAtLWxpbmUtaGVpZ2h0LXRpZ2h0OiAgMS4yNTtcbiAgICAtLWxpbmUtaGVpZ2h0LW5vcm1hbDogMS41O1xuXG5cbiAgICAvKiBFbGV2YXRpb24gLyBTaGFkb3dzICovXG4gICAgLS1zaGFkb3ctc206IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgLS1zaGFkb3ctbWQ6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAtLXNoYWRvdy1sZzogMCAxMHB4IDI1cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgLS1zaGFkb3cteGw6IDAgMjVweCA2MHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcblxuICAgIC8qIFRyYW5zaXRpb25zICYgTW90aW9uICovXG4gICAgLS10cmFuc2l0aW9uLWZhc3Q6ICAgMC4xNXMgZWFzZTtcbiAgICAtLXRyYW5zaXRpb24tYmFzZTogICAwLjJzIGVhc2U7XG4gICAgLS10cmFuc2l0aW9uLXNtb290aDogMC4zNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcblxuICAgIC8qIExheW91dCBEaW1lbnNpb25zICovXG4gICAgLS1sYXlvdXQtbWF4LXdpZHRoOiAyMDAwcHg7XG4gICAgLS1zaWRlYmFyLW1pbi13aWR0aDogMjYwcHg7XG5cbiAgICAvKiBNb2RhbCAvIERpYWxvZyBXaWR0aHMgKi9cbiAgICAtLW1vZGFsLXdpZHRoLXNtOiA0ODBweDtcbiAgICAtLW1vZGFsLXdpZHRoLW1kOiA2MDBweDtcbiAgICAtLW1vZGFsLXdpZHRoLWxnOiA4MDBweDtcbiAgICAtLW1vZGFsLXdpZHRoLXhsOiAxMjAwcHg7XG5cbiAgICAvKiBTdGFja2luZyBDb250ZXh0ICh6LWluZGV4KSAqL1xuICAgIC0tei1pbmRleC10YWJsZS1zdGlja3k6IDI7ICAgICAgICAgIC8qIHRib2R5IHN0aWNreSBjb2x1bW5zICovXG4gICAgLS16LWluZGV4LXRhYmxlLXN0aWNreS1oZWFkOiAzOyAgICAgLyogdGhlYWQgc3RpY2t5IGNvbHVtbnMgKi9cbiAgICAtLXotaW5kZXgtc3RpY2t5LWhlYWRlcjogMTA7ICAgICAgICAvKiBJbi1wYWdlIHN0aWNreSBoZWFkZXJzICovXG4gICAgLS16LWluZGV4LWxvYWRpbmctb3ZlcmxheTogMjA7ICAgICAgLyogSW4tcGFnZS9jb21wb25lbnQgbG9hZGVycyAqL1xuICAgIC0tei1pbmRleC1kcm9wZG93bjogNTAwOyAgICAgICAgICAgIC8qIE1lbnVzIGFuZCBmbHlvdXRzICovXG4gICAgLS16LWluZGV4LWJhY2tkcm9wOiA5OTA7ICAgICAgICAgICAgLyogRGltbWVyIG92ZXJsYXlzICovXG4gICAgLS16LWluZGV4LWRyYXdlcjogMTAwMDsgICAgICAgICAgICAgLyogT2ZmLWNhbnZhcyBuYXZpZ2F0aW9uICYgc2lkZWJhcnMgKi9cbiAgICAtLXotaW5kZXgtbW9kYWw6IDEwNTA7ICAgICAgICAgICAgICAvKiBTZWFyY2ggbW9kYWwgJiBkaWFsb2dzICovXG59XG5cbmh0bWwge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJhc2UpO1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGJvdHRvbSwgdmFyKC0tY29sb3ItYmctZ3JhZGllbnQtc3RhcnQpIDAlLCB2YXIoLS1jb2xvci1iZy1ncmFkaWVudC1lbmQpIDEwMCUpIG5vLXJlcGVhdCBmaXhlZDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuYm9keSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG5wIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXhzKSAwO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UtbGcpIDAgdmFyKC0tc3BhY2UtbWQpIDA7XG59XG5cbi5mb290ZXIgaDEsIC5mb290ZXIgaDIsIC5mb290ZXIgaDMsIC5mb290ZXIgaDQsXG4uZm9vdGVyIGg1IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbn1cblxuYSwgYTpsaW5rLCBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmE6aG92ZXIsIGE6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1ob3Zlcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cblxuLmZvbnQtYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uZm9udC1tdXRlZCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cblxuLnRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuXG5pbnB1dFt0eXBlPXN1Ym1pdF0sXG5pbnB1dFt0eXBlPWZpbGVdLFxuc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbn1cblxudGV4dGFyZWEsXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSxcbmlucHV0W3R5cGU9dGV4dF0sXG5pbnB1dFt0eXBlPWVtYWlsXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG59XG5cbnRleHRhcmVhLFxuaW5wdXRbdHlwZT1zdWJtaXRdLFxuaW5wdXRbdHlwZT1maWxlXSxcbmlucHV0W3R5cGU9cGFzc3dvcmRdLFxuaW5wdXRbdHlwZT10ZXh0XSxcbmlucHV0W3R5cGU9ZW1haWxdLFxuc2VsZWN0IHtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbn1cblxuaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogVGFibGUgKi9cbnRhYmxlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG50YWJsZSB0aGVhZCB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG50YWJsZSB0aGVhZCB0ciB0aCxcbnRhYmxlIHRoZWFkIHRyIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxudGFibGUgdGhlYWQgYSxcbnRhYmxlIHRoZWFkIGE6aXMoOmxpbmssIDp2aXNpdGVkLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXZpc2libGUpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cblxuLmZsZXgtcm93LWl0ZW0tLXdvcmxkLXJlY29yZCBhLFxuLmZsZXgtcm93LWl0ZW0tLXdvcmxkLXJlY29yZCBhOmlzKDpsaW5rLCA6dmlzaXRlZCwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy12aXNpYmxlKSxcbi5zaWRlLWFyZWEgYSxcbi5zaWRlLWFyZWEgYTppcyg6bGluaywgOnZpc2l0ZWQsIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtdmlzaWJsZSksXG50YWJsZSB0Ym9keSBhLFxudGFibGUgdGJvZHkgYTppcyg6bGluaywgOnZpc2l0ZWQsIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtdmlzaWJsZSkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogY3VycmVudENvbG9yO1xufVxuXG50YWJsZSB0Ym9keSB0ciB0aCxcbnRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbnRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbnRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG50YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4uc3RpY2t5LXRhYmxlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvci14OiBjb250YWluO1xufVxuXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLnN0aWNreS10YWJsZSB0YWJsZSB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCxcbi5zdGlja3ktdGFibGUgdGFibGUgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cykgLSB2YXIoLS1ib3JkZXItd2lkdGgtc20pKTtcbn1cblxuLnN0aWNreS10YWJsZSB0YWJsZSB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLFxuLnN0aWNreS10YWJsZSB0YWJsZSB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzKSAtIHZhcigtLWJvcmRlci13aWR0aC1zbSkpO1xufVxuXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cykgLSB2YXIoLS1ib3JkZXItd2lkdGgtc20pKTtcbn1cblxuLnN0aWNreS10YWJsZSB0YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cykgLSB2YXIoLS1ib3JkZXItd2lkdGgtc20pKTtcbn1cblxuLnN0aWNreS10YWJsZS0tY29tcGFyZSB0YWJsZSB0aGVhZCBoMyAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uc3RpY2t5LXRhYmxlLS1jb21wYXJlIHRhYmxlIHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbn1cblxuLnN0aWNreS10YWJsZS0tY29tcGFyZSB0YWJsZSB0Ym9keSB0ciB0ZDpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnN0aWNreS10YWJsZS0tY29tcGFyZSB0YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJvcmRlci1yaWdodDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRoZWFkIHRoLnN0aWNreS1jb2wsXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRoZWFkIHRkLnN0aWNreS1jb2wsXG4uc3RpY2t5LXRhYmxlLS1jb21wYXJlIHRhYmxlIHRoZWFkIHRoLnN0aWNreS1jb2wge1xuICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogdmFyKC0tei1pbmRleC10YWJsZS1zdGlja3ktaGVhZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBib3gtc2hhZG93OiAycHggMCA1cHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbn1cblxuLnN0aWNreS10YWJsZSB0YWJsZSB0Ym9keSB0aC5zdGlja3ktY29sLFxuLnN0aWNreS10YWJsZSB0YWJsZSB0Ym9keSB0ZC5zdGlja3ktY29sLFxuLnN0aWNreS10YWJsZS0tY29tcGFyZSB0YWJsZSB0Ym9keSB0aC5zdGlja3ktY29sIHtcbiAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtdGFibGUtc3RpY2t5KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgIGJveC1zaGFkb3c6IDJweCAwIDVweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRib2R5IHRyOmhvdmVyIHRoLnN0aWNreS1jb2wsXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRib2R5IHRyOmhvdmVyIHRkLnN0aWNreS1jb2wge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuYm9keS53YWl0aW5nLFxuYm9keS53YWl0aW5nICoge1xuICAgIGN1cnNvcjogd2FpdDtcbn1cblxuLnRhYmxlLW5hdmlnYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4udGFibGUtbmF2aWdhdGlvbiAucGFnaW5hdGlvbiB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50YWJsZS1uYXZpZ2F0aW9uIC5wYWdpbmF0aW9uIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4udGFibGUtbmF2aWdhdGlvbiAucGFnaW5hdGlvbiAuYnV0dG9uIHtcbiAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UteHMpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udGFibGUtbmF2aWdhdGlvbiAucGFnaW5hdGlvbiAuYnV0dG9uLmJ1dHRvbi0tcHJpbWFyeSxcbi50YWJsZS1uYXZpZ2F0aW9uIC5wYWdpbmF0aW9uIC5idXR0b24uZm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLnRhYmxlLW5hdmlnYXRpb24gLnBhZ2luYXRpb24gLmJ1dHRvbjpub3QoLmJ1dHRvbi0tcHJpbWFyeSk6bm90KC5mb2N1cyk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnRhYmxlLWF2YXRhci13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi50YWJsZS1hdmF0YXItd3JhcHBlciBpbWcge1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG59XG5cbi50YWJsZS1hdmF0YXItd3JhcHBlciAucGFydGljaXBhbnQge1xuICAgIHdpZHRoOiAxMzBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGFibGUtYXZhdGFyLXdyYXBwZXItLWZvbGxvd2VycyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi50YWJsZS1hdmF0YXItd3JhcHBlci0tZm9sbG93ZXJzOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xufVxuXG4udGFibGUtZmlyc3QtcG9zIHtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLXhsKSBzb2xpZCB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4udGFibGUtc2Vjb25kLXBvcyB7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC14bCkgc29saWQgdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG59XG5cbi50YWJsZS10aGlyZC1wb3Mge1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgteGwpIHNvbGlkIHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG59XG5cbi50YWJsZS1wb3Mge1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgteGwpIHNvbGlkIHZhcigtLWNvbG9yLXBvcy1mb3VyLWZpdmUpO1xufVxuXG4uc2Nyb2xsYWJsZS10YWJsZS13cmFwcGVyIHtcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG59XG5cbi5zY3JvbGxhYmxlLXRhYmxlLXdyYXBwZXIgdGFibGUge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLnNjcm9sbGFibGUtdGFibGUtd3JhcHBlciB0YWJsZSB0aGVhZCB0ciB0aCxcbi5zY3JvbGxhYmxlLXRhYmxlLXdyYXBwZXIgdGFibGUgdGhlYWQgdHIgdGQge1xuICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbn1cblxuLm1haW4tYXJlYSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLWxnKSA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgbWluLWhlaWdodDogOTAwcHg7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbGcpIDA7XG4gICAgYWxpZ24tY29udGVudDogc3RhcnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KCBlbGxpcHNlIDY1JSA1NSUgYXQgNTAlIDU1JSwgcmdiYSgxOTAsIDIyNSwgMjU1LCAwLjcpIDAlLCByZ2JhKDIxNSwgMjM1LCAyNTUsIDAuMzUpIDQ1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA3NSUgKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLnNpZGUtYXJlYSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLWxnKSAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uc2lkZS1hcmVhIGgxLFxuLnNpZGUtYXJlYSBoMixcbi5zaWRlLWFyZWEgaDMge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXNtKSAwIHZhcigtLXNwYWNlLXhzKSAwO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG59XG5cbi5zaWRlLWFyZWEgaDIgYSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uc2lkZS1hcmVhIGgyIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnNpZGUtYXJlYS0tdHJlZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG59XG5cbi5mb290ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyLWRhcmspO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbn1cblxuLmZvb3RlciBhLFxuLmZvb3RlciBhOmxpbmssXG4uZm9vdGVyIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG59XG5cbi5mb290ZXIgYTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlLCA6YWN0aXZlKSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKiBDb250ZW50IHdyYXBwZXIgKi9cbi5jb250ZW50IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjBweCBtaW5tYXgoMCwgMWZyKSAyMHB4O1xuICAgIHJvdy1nYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG59XG5cbi5jb250ZW50ID4gKiB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG59XG5cbi5jb250ZW50ID4gLmZsZXgtcm93LS13b3JsZC1yZWNvcmRzIHtcbiAgICBncmlkLWNvbHVtbjogMS8tMTtcbn1cblxuLnN1Yi1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi8qIGhlcm8gYmFubmVyICovXG4uaGVyby1iYW5uZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZXh0cmEpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLWxnKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmhlcm8tYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uaGVyby10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmhlcm8tc3VidGl0bGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogSGFyZHdhcmUgaGVybyBzY3Rpb24gKi9cbi5oYXJkd2FyZS1oZXJvLXNlY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogdmFyKC0tc3BhY2UtbGcpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS14bCk7XG59XG5cbi5oYXJkd2FyZS1oZXJvLWltYWdlLWNhcmQge1xuICBmbGV4OiAxIDEgMzAwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLWxnKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5oYXJkd2FyZS1iZW5jaG1hcmstaW1hZ2Utd3JhcHBlciBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLmhhcmR3YXJlLWhlcm8tc3RhdHMtZ3JpZCB7XG4gIGZsZXg6IDIgMSAzMjBweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMjBweCwgMWZyKSk7XG4gIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uaGFyZHdhcmUtaGVyby1zdGF0LWNhcmQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtbGcpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uaGFyZHdhcmUtaGVyby1zdGF0LWNhcmQgaDMge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLXhzKSAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oYXJkd2FyZS1zdWItbGFiZWwge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS1zbSkgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaGFyZHdhcmUtc3RhdC1sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaGFyZHdhcmUtZmFtaWx5LWxpbmsge1xuICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2Utc20pO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oYXJkd2FyZS1mYW1pbHktbGluazpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWhvdmVyKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMnB4O1xufVxuXG4uaGFyZHdhcmUtdGFiLW1lbnUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2Utc20pO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmhhcmR3YXJlLXRhYi1tZW51IC5idXR0b24ge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uaW1hZ2UtbW9kYWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcGFkZGluZzogNTBweCAwIDAgMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDAsIDApO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTtcbn1cblxuLmltYWdlLW1vZGFsLWNvbnRlbnQge1xuICAgIG1hcmdpbjogYXV0byBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogODAlO1xuICAgIG1heC1oZWlnaHQ6IDkwJTtcbn1cblxuLyogaW1hZ2UgKi9cbi5pbWFnZS13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5iZW5jaG1hcmstaW1hZ2Utd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xufVxuXG4uYmVuY2htYXJrLWltYWdlLXdyYXBwZXIgaW1nIHtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xufVxuXG4vKiBDb21wbyBzdGFnZSBpbmZvIGNhcmQgKi9cbi5saXN0LS1zdGFnZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubGlzdCBsaS5zdGFnZS1pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5saXN0IGxpLnN0YWdlLWluZm86bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnN0YWdlLWluZm8tbWFpbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnN0YWdlLWluZm8taGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc3RhZ2UtbnVtYmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnN0YWdlLW51bWJlciBpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xufVxuXG4uc3RhZ2UtbnVtYmVyLS1ydW5uaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcy10ZXh0KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtYm9yZGVyKTtcbn1cblxuLnN0YWdlLW51bWJlci0tcnVubmluZyBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7XG59XG5cbi5zdGFnZS1udW1iZXItLWNsb3NlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci10ZXh0KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWVycm9yLWJvcmRlcik7XG59XG5cbi5zdGFnZS1udW1iZXItLWNsb3NlZCBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuXG4uc3RhZ2UtbnVtYmVyLS11cGNvbWluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1kYXNoZWQpO1xufVxuXG4uc3RhZ2UtbnVtYmVyLS11cGNvbWluZyBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG5cbi5zdGFnZS1pbmZvIC5zdGFnZS1saW5rIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG59XG5cbi5zdGFnZS1pbmZvIC5zdGFnZS1saW5rIHNwYW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi5zdGFnZS1pbmZvIC5zdGFnZS1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi5zdGFnZS1pbmZvLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaW5mby1iZyk7XG59XG5cbi5zdGFnZS1pbmZvLmFjdGl2ZSAuc3RhZ2UtbGluayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLnN0YWdlLWluZm8gLnN0YWdlLWxpbmsgaSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnN0YWdlLWluZm8gLnN0YWdlLWxpbms6aG92ZXIgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xufVxuXG4uc3RhZ2UtaW5mby1tZXRhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnN0YWdlLW1ldGEtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLnN0YWdlLW1ldGEtcmFuayB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uc3RhZ2UtbWV0YS1yYW5rIC5mYS10cm9waHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLnN0YWdlLW1ldGEtcmFuay5yYW5rLS1nb2xkIC5mYS10cm9waHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLXN0YXIpO1xufVxuXG4uc3RhZ2UtbWV0YS1yYW5rLnJhbmstLXNpbHZlciAuZmEtdHJvcGh5IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5zdGFnZS1tZXRhLXJhbmsucmFuay0tYnJvbnplIC5mYS10cm9waHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cblxuLnN0YWdlLWluZm8gLnRleHQtbXV0ZWQgLmZhLXRyb3BoeSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1kYXNoZWQpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uc3RhZ2UtbWV0YS1zY29yZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uc3RhZ2UtaW5mbyAudGV4dC1tdXRlZCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uc3RhZ2UtaW5mbyAuc2NvcmUtbGluayB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uc3RhZ2UtaW5mbyAuc2NvcmUtbGluazpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLnN0YWdlLWluZm8gLnRhcmdldC1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4vKiBHcmlkIGJveGVzICovXG4uZ3JpZC1ib3gge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5ncmlkLWJveC0tc3VibWl0LWhhcmR3YXJlIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbn1cblxuLmdyaWQtYm94LS1zdWJtaXQtaGFyZHdhcmUgPiBkaXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmdyaWQtYm94LS1zdWJtaXQtaGFyZHdhcmUgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgIG1heC1oZWlnaHQ6IDEyMHB4O1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXHRib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLndhbGwtc3VibWlzc2lvbi1jYXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBnYXA6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2Utc20pO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3gtc2hhZG93IHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi53YWxsLXN1Ym1pc3Npb24tY2FyZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xufVxuXG4uZ3JpZC1ib3gtLWFjaGlldmVtZW50LFxuLmdyaWQtYm94LS1wYXJ0bmVyIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE4MHB4LCAxZnIpKTtcbn1cblxuLmdyaWQtYm94LS1oaWdobGlnaHQtc3VibWlzc2lvbixcbi5ncmlkLWJveC0tc3VibWlzc2lvbi1oYXJkd2FyZSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7XG59XG5cbi5ncmlkLWJveC0tY29tcG8sXG4uZ3JpZC1ib3gtLXByb2ZpbGUsXG4uZ3JpZC1ib3gtLXN1Ym1pc3Npb24tcmFua2luZyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyNTBweCwgMWZyKSk7XG59XG5cbi5ncmlkLWJveC0tYmVuY2htYXJrcyxcbi5ncmlkLWJveC0taGFyZHdhcmUtb3ZlcnZpZXcsXG4uZ3JpZC1ib3gtLWxlYWd1ZS1pbmZvLFxuLmdyaWQtYm94LS1uZXdzLFxuLmdyaWQtYm94LS1zZWFyY2gge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMzAwcHgsIDFmcikpO1xufVxuXG4uZ3JpZC1ib3gtLXByb2ZpbGUtYWNjb3VudC1zZXR0aW5ncyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChtaW4oMjgwcHgsIDEwMCUpLCA1MDBweCkpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgR2VuZXJpYyBDYXJkIFN1cmZhY2UgUHJpbWl0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNhcmQsXG4uZ3JpZC1ib3gtY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4vKiBDYXJkIEVsZW1lbnRzICovXG4uY2FyZF9faGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmNhcmRfX3RpdGxlLFxuLmNhcmQtdGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5jYXJkID4gOmlzKGgyLCBoMyk6Zmlyc3QtY2hpbGQsXG4uZ3JpZC1ib3gtY2FyZCA+IDppcyhoMiwgaDMpOmZpcnN0LWNoaWxkLFxuLmNhcmRfX2JvZHkgPiA6aXMoaDIsIGgzKTpmaXJzdC1jaGlsZCxcbi5jYXJkLWJvZHkgPiA6aXMoaDIsIGgzKTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGcpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uY2FyZCA+IDppcyhoMiwgaDMpOmxhc3QtY2hpbGQsXG4uZ3JpZC1ib3gtY2FyZCA+IDppcyhoMiwgaDMpOmxhc3QtY2hpbGQsXG4uY2FyZF9fYm9keSA+IDppcyhoMiwgaDMpOmxhc3QtY2hpbGQsXG4uY2FyZC1ib2R5ID4gOmlzKGgyLCBoMyk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWJlbmNobWFyay1zdGF0cyA+IDppcyhoMiwgaDMpOmZpcnN0LWNoaWxkIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmNhcmRfX2JvZHksXG4uY2FyZC1ib2R5IHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmNhcmRfX2Zvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1zdWJtaXQtaGFyZHdhcmUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMTtcbn1cblxuXG4uZ3JpZC1ib3gtY2FyZC0tZGVzY3JpcHRpb24ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi5jYXJkLS1zaWRlYmFyLXJhbmtpbmcsXG4uZ3JpZC1ib3gtY2FyZC0tc2lkZWJhci1yYW5raW5nLFxuLmdyaWQtYm94LWNhcmQuZ3JpZC1ib3gtY2FyZC0tc2lkZWJhci1yYW5raW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tbmV3cyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tbmV3cyAuZmxleC1yb3ctLW5ld3MtZm9vdGVyIGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tbmV3cyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tYWNoaWV2ZW1lbnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tYmVuY2htYXJrLXN0YXRzLFxuLmdyaWQtYm94LWNhcmQtLXBhcnRuZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnN0YXQtc3RhdHVzIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1uZXdzOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW1kKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG59XG5cbi8qIFdhbGwgU3VibWlzc2lvbiBDYXJkIChVc2VyIFByb2ZpbGUgJiBUZWFtIFdhbGwpICovXG4ud2FsbC1jYXJkX19ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4ud2FsbC1jYXJkX19yYW5raW5ncyB7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1YnRsZSk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4ud2FsbC1jYXJkX19yYW5raW5ncyAuZ3JpZC1zcGVjIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi53YWxsLWNhcmRfX3JhbmtpbmdzIC5ncmlkLXNwZWMtcm93IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi53YWxsLWNhcmRfX2RhdGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLndhbGwtY2FyZF9fdXNlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi53YWxsLWNhcmRfX3VzZXIgYSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbn1cblxuLndhbGwtY2FyZF9fYmVuY2htYXJrIGEge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xufVxuXG4ud2FsbC1jYXJkX19oYXJkd2FyZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4ud2FsbC1jYXJkX19oYXJkd2FyZSBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi53YWxsLWNhcmRfX2hhcmR3YXJlIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbn1cblxuLndhbGwtY2FyZF9fY29yZXMge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWFsdCk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtM3hzKSB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi53YWxsLWNhcmRfX2Nvb2xpbmcge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ud2FsbC1jYXJkX19zY29yZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi53YWxsLWNhcmRfX3Njb3JlIGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi53YWxsLWNhcmRfX3Njb3JlIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWhvdmVyKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWJlbmNobWFya3Mge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tYmVuY2htYXJrcyxcbi5ncmlkLWJveC1jYXJkLS1jb21wbyxcbi5ncmlkLWJveC1jYXJkLS1oYXJkd2FyZS1vdmVydmlldyxcbi5ncmlkLWJveC1jYXJkLS1oaWdobGlnaHQtc3VibWlzc2lvbixcbi5ncmlkLWJveC1jYXJkLS1sZWFndWUtaW5mbyxcbi5ncmlkLWJveC1jYXJkLS1sb2dpbixcbi5ncmlkLWJveC1jYXJkLS1wcm9maWxlLFxuLmdyaWQtYm94LWNhcmQtLXJlZ2lzdGVyLFxuLmdyaWQtYm94LWNhcmQtLXJlc2V0LXBhc3N3b3JkLFxuLmdyaWQtYm94LWNhcmQtLXNlYXJjaCxcbi5ncmlkLWJveC1jYXJkLS1zdWJtaXNzaW9uLWhhcmR3YXJlLFxuLmdyaWQtYm94LWNhcmQtLXRvcC1maWx0ZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5jYXJkLS1jb21wZXRpdGlvbixcbi5ncmlkLWJveC1jYXJkLS1jb21wbyB7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY2FyZC0tY29tcGV0aXRpb24gLmNhcmQtYm9keSxcbi5jYXJkLS1jb21wZXRpdGlvbiAuY2FyZF9fYm9keSxcbi5ncmlkLWJveC1jYXJkLS1jb21wbyAuY2FyZC1ib2R5IHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXg6IDE7XG59XG5cbi5jYXJkLS1jb21wZXRpdGlvbiAucmFua2luZy1lbXB0eS1jYXJkLFxuLmdyaWQtYm94LWNhcmQtLWNvbXBvIC5yYW5raW5nLWVtcHR5LWNhcmQge1xuICAgIGZsZXg6IDE7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1oaWdobGlnaHQtc3VibWlzc2lvbiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLyogSGFyZHdhcmUgSGVhZGVyIENhcmQgKi9cbi5jYXJkLS1oYXJkd2FyZS1oZWFkZXIge1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbn1cblxuLmNhcmQtLWhhcmR3YXJlLWhlYWRlciAuY2FyZF9faGVhZGVyIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtLWhhcmR3YXJlLWhlYWRlciAuY2FyZF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhsKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5oYXJkd2FyZS1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG59XG5cbi5oYXJkd2FyZS1oZWFkZXJfX2JhZGdlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLmhhcmR3YXJlLWhlYWRlcl9fYmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctY2FyZCk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vcm1hbCk7XG59XG5cbi5jYXJkLS1oYXJkd2FyZS1oZWFkZXIgLmhhcmR3YXJlLWhlcm8tc3RhdHMtZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxODBweCwgMWZyKSk7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5jYXJkLS1oYXJkd2FyZS1oZWFkZXIgLmhhcmR3YXJlLWhlcm8tc3RhdC1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1jYXJkKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uY2FyZC0taGFyZHdhcmUtaGVhZGVyIC5oYXJkd2FyZS1oZXJvLXN0YXQtY2FyZCBoMyB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhsKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9uZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLmNhcmQtLWhhcmR3YXJlLWhlYWRlciAuaGFyZHdhcmUtaGVyby1zdGF0LWNhcmQgLmhhcmR3YXJlLXN0YXQtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG59XG5cbi5jYXJkLS1oYXJkd2FyZS1oZWFkZXIgLmdyaWQtc3BlYyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4vKiBCZW5jaG1hcmsgT3ZlcnZpZXcgKi9cbi5ncmlkLWJveC0tYmVuY2htYXJrcyB7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xufVxuXG4uZ3JpZC1ib3gtLWJlbmNobWFya3MgLmNhcmRfX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpO1xufVxuXG4uYmVuY2htYXJrLW92ZXJ2aWV3LWNvbHVtbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLyogU3BlYyAqL1xuLmdyaWQtc3BlYyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZ3JpZC1zcGVjLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5ncmlkLXNwZWMtcm93IC50YWJsZS1hdmF0YXItd3JhcHBlciA+IGEge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcbn1cblxuLmdyaWQtc3BlYy1yb3ctLXN0YWNrZWQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4uZ3JpZC1zcGVjLXJvdzpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uZ3JpZC1zcGVjLXJvdyAuYXR0cmlidXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmdyaWQtc3BlYy1yb3cgLmF0dHJpYnV0ZS1ub3dyYXAge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5ncmlkLXNwZWMtcm93LS1zdGFja2VkIC5hdHRyaWJ1dGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLmdyaWQtc3BlYy1yb3cgLnZhbHVlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLmdyaWQtc3BlYy1yb3ctLXN0YWNrZWQgLnZhbHVlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmdyaWQtc3BlYy1yb3cgLmJ1dHRvbiB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbn1cblxuLmNhcmQtYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4bCk7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5jYXJkLWFjdGlvbnMgLmJ1dHRvbiB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi8qIE1vZGFsIG92ZXJsYXkgKi9cbi5tb2RhbC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtbW9kYWwpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tc21vb3RoKSwgdmlzaWJpbGl0eSB2YXIoLS10cmFuc2l0aW9uLXNtb290aCk7XG59XG5cbi5tb2RhbC1vdmVybGF5LmlzLW9wZW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLm1vZGFsLWRpYWxvZyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICBtYXgtaGVpZ2h0OiA4NXZoO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tZCk7XG59XG5cbi5tb2RhbC1kaWFsb2ctLXJlc3VsdC1oaXN0b3J5IHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1vZGFsLXdpZHRoLW1kKTtcbn1cblxuLm1vZGFsLWRpYWxvZy0tcmVzdWx0LW1vZGVyYXRpb24ge1xuICAgIG1heC13aWR0aDogdmFyKC0tbW9kYWwtd2lkdGgtbGcpO1xufVxuXG4ubW9kYWwtZGlhbG9nLS1zb2NpYWwge1xuICAgIG1heC13aWR0aDogdmFyKC0tbW9kYWwtd2lkdGgtc20pO1xufVxuXG4ubW9kYWwtZGlhbG9nX19oZWFkZXIsXG4ubW9kYWwtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4ubW9kYWwtZGlhbG9nX19ib2R5LFxuLm1vZGFsLWJvZHkge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGZsZXgtZ3JvdzogMTtcbn1cblxuLm1vZGFsLWRpYWxvZ19fZm9vdGVyLFxuLm1vZGFsLWZvb3RlciB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8qIExpc3QgKi9cbnVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ubGlzdCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmxpc3QgbGkge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSAwO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLmxpc3QgbGk6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmxpc3QtLXNjcm9sbGFibGUge1xuICAgIG1heC1oZWlnaHQ6IDE2MHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4vKiBQcm9maWxlIGJhbm5lciAqL1xuLnByb2ZpbGUtYmFubmVyLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnByb2ZpbGUtYmFubmVyLXdyYXBwZXIuaGFzLWJhbm5lciAucHJvZmlsZS1iYW5uZXIgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBhc3BlY3QtcmF0aW86IDYgLyAxO1xuICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4ucHJvZmlsZS1iYW5uZXItd3JhcHBlci5oYXMtYmFubmVyIC5hdmF0YXItd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTJweDtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIHotaW5kZXg6IDI7XG59XG5cbi5wcm9maWxlLWJhbm5lci13cmFwcGVyLmhhcy1iYW5uZXIgLmF2YXRhciB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucHJvZmlsZS1iYW5uZXItd3JhcHBlci5uby1iYW5uZXIgLmF2YXRhci13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xufVxuXG4ucHJvZmlsZS1iYW5uZXItd3JhcHBlci5uby1iYW5uZXIgLmF2YXRhciB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2lkZS1hcmVhIC5jb250ZW50LmV4ZWN1dG9yIHVsLFxuLnRlcm1zLWFuZC1jb25kaXRpb25zIC5jb250ZW50IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uc2lkZS1hcmVhIC5jb250ZW50LmV4ZWN1dG9yIHVsIGxpIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbn1cblxuLyogU3RhcnQgZmlsdGVyIHNldHRpbmdzICovXG5cbi5maWx0ZXIgLmxpc3QsXG4uZmlsdGVyIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uZmlsdGVyIC5saXN0IGxpLFxuLmZpbHRlciB1bCBsaSB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIDA7XG59XG5cbi5maWx0ZXIgLmZpbHRlci1rZXkge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5maWx0ZXIgLnJhbmtpbmctZmlsdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIDAgdmFyKC0tc3BhY2Utc20pIDA7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG5cbi8qIEFjdGl2ZSBGaWx0ZXIgQ2hpcHMgKi9cbi5maWx0ZXItY2hpcHMtYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uZmlsdGVyLWNoaXBzLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5maWx0ZXItY2hpcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tYWluKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9ybWFsKTtcbn1cblxuLmZpbHRlci1jaGlwLWxhYmVsIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZmlsdGVyLWNoaXAtcmVtb3ZlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vbmUpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xufVxuXG4uZmlsdGVyLWNoaXAtcmVtb3ZlOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWVycm9yLWJnKTtcbn1cblxuLmZpbHRlci1jaGlwLWNsZWFyLWFsbCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xufVxuXG4uZmlsdGVyLWNoaXAtY2xlYXItYWxsOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuXG4vKiBIYXJkd2FyZSBMaW5rcyAvIENoaXAgQ2xvdWQgKi9cbi5oYXJkd2FyZS1jaGlwcy1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uaGFyZHdhcmUtY2hpcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5oYXJkd2FyZS1jaGlwOmhvdmVyLFxuLmhhcmR3YXJlLWNoaXA6Zm9jdXMtdmlzaWJsZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5oYXJkd2FyZS1jaGlwcy1zY3JvbGwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIG1heC1oZWlnaHQ6IDIyMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4uaGFyZHdhcmUtZXhwYW5kLWRldGFpbHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLmhhcmR3YXJlLWV4cGFuZC1zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmhhcmR3YXJlLWV4cGFuZC1zdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyLFxuLmhhcmR3YXJlLWV4cGFuZC1zdW1tYXJ5OjptYXJrZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5oYXJkd2FyZS1leHBhbmQtc3VtbWFyeTpob3Zlcixcbi5oYXJkd2FyZS1leHBhbmQtc3VtbWFyeTpmb2N1cy12aXNpYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xufVxuXG4uaGFyZHdhcmUtZXhwYW5kLXN1bW1hcnkgLmZhLWNoZXZyb24tZG93biB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmhhcmR3YXJlLWV4cGFuZC1kZXRhaWxzW29wZW5dID4gLmhhcmR3YXJlLWV4cGFuZC1zdW1tYXJ5IC5mYS1jaGV2cm9uLWRvd24ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi5oYXJkd2FyZS1leHBhbmQtZGV0YWlscyAuZXhwYW5kLXRleHQtbGVzcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhhcmR3YXJlLWV4cGFuZC1kZXRhaWxzW29wZW5dIC5leHBhbmQtdGV4dC1tb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uaGFyZHdhcmUtZXhwYW5kLWRldGFpbHNbb3Blbl0gLmV4cGFuZC10ZXh0LWxlc3Mge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLmJhZGdlLS1jb3VudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIG1pbi13aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vbmUpO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4vKiBQcm9ncmVzcyAqL1xuLnByb2dyZXNzYmFyIHtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXhzKSBhdXRvO1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDVweDtcbn1cblxuLnByb2dyZXNzYmFyID4gZGl2IHtcbiAgICBiYWNrZ3JvdW5kOiBncmVlbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cblxuLyogU3VibWlzc2lvbiBzdWdnZXN0aW9ucyAqL1xuLnN1Ym1pc3Npb24tc3VnZ2VzdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWluZm8tYmcpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1pbmZvLWJvcmRlcik7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC1sZykgc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLnN1Ym1pc3Npb24tc3VnZ2VzdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWhvdmVyKTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5idXR0b24uYnRuLXBhcnRpY2lwYXRlIC5jb250ZXN0LW5hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmJ1dHRvbi5idG4tcGFydGljaXBhdGUgLnN0YWdlLW5hbWUge1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi8qIFN1Ym1pc3Npb24gc2NvcmUgKi9cbi5zdWJtaXNzaW9uLXNjb3JlLWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLW1kKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtM3hsKTtcbn1cblxuLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCAuYXZhdGFyLXdyYXBwZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc3VibWlzc2lvbi1zY29yZS1jYXJkIC5hdmF0YXItd3JhcHBlciBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zdWJtaXNzaW9uLXNjb3JlLWNhcmQgLmF2YXRhciB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc3VibWlzc2lvbi1zY29yZS1jYXJkIC5zY29yZS1kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5zdWJtaXNzaW9uLXNjb3JlLWNhcmQgLnNjb3JlLWRldGFpbHMtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCAudXNlci1pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCAuc2NvcmUtbGFiZWwsXG4uc3VibWlzc2lvbi1zY29yZS1jYXJkIC5jb25uZWN0b3ItdGV4dCB7XG4gICAgY29sb3I6IGdyYXk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uc3VibWlzc2lvbi1zY29yZS1jYXJkIC50ZW1wLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4vKiBTdWJtaXNzaW9uIHN1YiBzY29yZSAqL1xuLnN1Ym1pc3Npb24tc3ViLXNjb3JlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnN1Ym1pc3Npb24tc3ViLXNjb3JlIC5zdWItc2NvcmUtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLnN1Ym1pc3Npb24tc3ViLXNjb3JlIC5zdWItc2NvcmUtbmFtZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5zdWJtaXNzaW9uLXN1Yi1zY29yZSAuc3ViLXNjb3JlLW5hbWU6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIjpcIjtcbn1cblxuLnN1Ym1pc3Npb24tc3ViLXNjb3JlIC5zdWItc2NvcmUtdmFsIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG59XG5cbi8qIEZvcm0gKi9cbi5mb3JtLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uZm9ybS1yb3cuZm9ybS1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uZm9ybS1yb3cuZm9ybS1tb2RhbC1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5mb3JtLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uZm9ybS1ncm91cC0tYmVuY2htYXJrIHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xufVxuXG4uZm9ybS1ncm91cC0tbmFycm93LFxuLmZvcm0tZ3JvdXAtLWZpbGUtdXBsb2FkIHtcbiAgICBtYXgtd2lkdGg6IDQ4MHB4O1xufVxuXG4uZm9ybS1ncm91cC0tcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uZm9ybS1ncm91cC0tcm93ID4gbGFiZWwge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybS1ncm91cC0tcm93ID4gaW5wdXQge1xuICAgIGZsZXg6IDE7XG59XG5cbi5mb3JtLWdyb3VwLWNoZWNrYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uZm9ybS1ncm91cCBsYWJlbCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5mb3JtLWdyb3VwLWNoZWNrYm94IGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLmZvcm0tZ3JvdXAtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGFjY2VudC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLmZvcm0tZ3JvdXAtY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmZpZWxkLWVycm9yIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItZXJyb3IpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi5mb3JtLWdyb3VwLWNoZWNrYm94Lmhhcy1lcnJvcixcbi5mb3JtLWdyb3VwLWNoZWNrYm94LmZpZWxkLWVycm9yIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cywgMC41cmVtKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItZXJyb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWVycm9yLWJnLCByZ2JhKDIyMCwgMzgsIDM4LCAwLjAzKSk7XG59XG5cbi5mb3JtLWdyb3VwLWNoZWNrYm94IC5iaW5kaW5nLWVycm9yIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuXG4uZm9ybS1ncm91cC5oYXMtZXJyb3IgbGFiZWwge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi5mb3JtLWdyb3VwLmhhcy1lcnJvciBpbnB1dCB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItYmcpO1xufVxuXG4uZm9ybS1maWx0ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbiNyYW5raW5nX2ZpbHRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4jcmFua2luZ19maWx0ZXIgLmZvcm0tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5mb3JtLWlucHV0LXNlYXJjaC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5mb3JtLWlucHV0LXNlYXJjaC13cmFwcGVyIC5zZWFyY2gtaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDEycHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmZvcm0taW5wdXQtc2VhcmNoLXdyYXBwZXIgaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMzZweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uZm9ybS1pbnB1dC13aXRoLXVuaXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5mb3JtLWlucHV0LXdpdGgtdW5pdCAuZm9ybS1pbnB1dCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZsZXg6IDE7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLmZvcm0taW5wdXQuZmllbGQtZXJyb3Ige1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSAgc29saWQgdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuXG4uZm9ybS1pbnB1dC13aXRoLXVuaXQgLmZvcm0taW5wdXQuZmllbGQtZXJyb3Ige1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmZvcm0taW5wdXQtd2l0aC11bml0IC5maWVsZC1lcnJvciB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5mb3JtLXVuaXQtc3VmZml4IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5mb3JtLWlucHV0LXdpdGgtdW5pdC5maWVsZC1lcnJvciB7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWNvbG9yLWVycm9yKTtcbn1cblxuLmJpbmRpbmctZXJyb3Ige1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi5iYW5uZXItaW1hZ2Uge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2Utc20pIDA7XG59XG5cbi5iYW5uZXItaW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogMTAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cblxuLyogQ29tcG8gc2lkZWJhciBjYXJkcyAtIExpZ2h0IFRlY2huaWNhbCAqL1xuLmNvbXBldGl0aW9uLWxlYWRlcixcbi50aW1lcixcbi5zdGFnZXMtc2lkZWJhci1ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1zdGFnZXMsXG4uZ3JpZC1ib3gtY2FyZC0tbGVhZGVyLFxuLmNhcmQtLXRpbWVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbn1cblxuLnN0YWdlcy1zaWRlYmFyLWdyaWQgLnN0YWdlLWluZm8ge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zdGFnZXMtc2lkZWJhci1ncmlkIC5zdGFnZS1pbmZvLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zdGFnZXMtc2lkZWJhci1ncmlkIC5zdGFnZS1pbmZvLmFjdGl2ZSAuc3RhZ2UtbGluayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5zdGFnZXMtc2lkZWJhci1ncmlkIC5zdGFnZS1pbmZvLmFjdGl2ZSAuc3RhZ2UtbGluazpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xufVxuXG4uc3RhZ2VzLXNpZGViYXItZ3JpZCAuc3RhZ2UtbnVtYmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uc3RhZ2VzLXNpZGViYXItZ3JpZCAuc3RhZ2UtbnVtYmVyIGkge1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuXG4uc3RhZ2VzLXNpZGViYXItZ3JpZCBoMiB7XG4gICAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtbWQpIDA7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi50ZXh0LWdvbGQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA0cHggcmdiYSgyNDUsIDE1OCwgMTEsIDAuMykpO1xufVxuXG4udGV4dC1jcmltc29uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuXG4udGV4dC1hbWJlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpO1xufVxuXG4udGV4dC1zbGF0ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBTcG90bGlnaHQgQ2FyZHMgKExlYWRlciAmIFRpbWVyKSAqL1xuLmNvbXBldGl0aW9uLWxlYWRlcl9faGVhZGVyLFxuLnRpbWVyX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19oZWFkZXIgaDIsXG4udGltZXJfX2hlYWRlciBoMiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19oZXJvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fYXZhdGFyLXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fYXZhdGFyIHtcbiAgICB3aWR0aDogNTJweDtcbiAgICBoZWlnaHQ6IDUycHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci13YXJuaW5nLXN0YXIpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMjM0LCAxNzksIDgsIDAuMjUpO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19wb3MtcGlsbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTJweDtcbiAgICByaWdodDogLTRweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13YXJuaW5nLXN0YXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWV4dHJhYm9sZCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vbmUpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX2RldGFpbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX2lkZW50aXR5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19uYW1lIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX25hbWU6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LCB2YXIoLS1jb2xvci1wcmltYXJ5KSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX3N1YnRleHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fc3VidGV4dCBpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19zdGF0cyB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX3N0YXQtYm94IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX3N0YXQtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA2ZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19zdGF0LXZhbCB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWV4dHJhYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fc3RhdC12YWwgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnRpbWVyX19jbG9jayB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4udGltZXJfX3RpbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1kYXJrKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi50aW1lcl9fY291bnQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteGwpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1leHRyYWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbn1cblxuLnRpbWVyX191bml0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4udGltZXJfX2Nsb2NrLS1jbG9zZWQgLnRpbWVyX190aWxlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnRpbWVyX19jbG9jay0tY2xvc2VkIC50aW1lcl9fY291bnQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnRpbWVyX19jbG9jay0tY2xvc2VkIC50aW1lcl9fdW5pdCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4udGltZXJfX21ldGEge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4udGltZXJfX21ldGEgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnRpbWVyX19tZXRhIHN0cm9uZyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fZW1wdHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIGRhc2hlZCB2YXIoLS1jb2xvci1ib3JkZXItZGFzaGVkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19lbXB0eS1pY29uIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeGwpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItZGFzaGVkKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fZW1wdHktZGV0YWlscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX2VtcHR5LXRpdGxlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fZW1wdHktc3VidGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbn1cblxuLyogUmFua2luZyBFbXB0eSBTdGF0ZSBDYXJkICovXG4ucmFua2luZy1lbXB0eS1jYXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteGwpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1jYXJkKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1kYXNoZWQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5yYW5raW5nLWVtcHR5LWljb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogNTJweDtcbiAgICBoZWlnaHQ6IDUycHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhsKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pO1xufVxuXG4ucmFua2luZy1lbXB0eS1pY29uLS11cGNvbWluZyB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIsIDEzMiwgMTk5LCAwLjIpO1xufVxuXG4ucmFua2luZy1lbXB0eS1pY29uLS1vcGVuIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZy1zdGFyKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzNCwgMTc5LCA4LCAwLjA4KTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjM0LCAxNzksIDgsIDAuMik7XG59XG5cbi5yYW5raW5nLWVtcHR5LWljb24tLWNvbW1lbnRzIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoOTksIDEwMiwgMjQxLCAwLjIpO1xufVxuXG4ucmFua2luZy1lbXB0eS1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4ucmFua2luZy1lbXB0eS10aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbn1cblxuLnJhbmtpbmctZW1wdHktc3VidGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9ybWFsKTtcbn1cblxuLnJhbmtpbmctZW1wdHktc3VidGl0bGUgc3Ryb25nIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4vKiBTZWFzb24gUG9pbnRzIExlYWRlcmJvYXJkIExpc3QgKE1vZGFsKSAqL1xuLnNlYXNvbi1wb2ludHMtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC1sZykgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICBtaW4taGVpZ2h0OiA0OHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW0tLWdvbGQge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLXN0YXIpO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtLS1zaWx2ZXIge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbS0tYnJvbnplIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX3Jhbmsge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBtaW4td2lkdGg6IDM2cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fcmFuay0tZ29sZCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19yYW5rLS1nb2xkIC5mYS10cm9waHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLXN0YXIpO1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDNweCByZ2JhKDI0NSwgMTU4LCAxMSwgMC40KSk7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX3JhbmstLXNpbHZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fcmFuay0tc2lsdmVyIC5mYS10cm9waHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fcmFuay0tYnJvbnplIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX2NvbXBldGl0b3Ige1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZmxleDogMTtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fYXZhdGFyIHtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19hdmF0YXItZmxhZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9faW5mbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMnB4O1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fbmFtZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19uYW1lOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX3N1YnRleHQge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX3N1YnRleHQgYSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX3N1YnRleHQgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19zdWItYXZhdGFyIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19wYXJ0aWNpcGFudHMge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fcGFydGljaXBhbnRzIGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19wYXJ0aWNpcGFudHMgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19wb2ludHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX3BvaW50cy12YWwge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1leHRyYWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19wb2ludHMtdW5pdCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnNlYXNvbi1wb2ludHMtbGlzdF9fZW1wdHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIGRhc2hlZCB2YXIoLS1jb2xvci1ib3JkZXItZGFzaGVkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogQ29tcGV0aXRpb24gQmFjayBMaW5rICovXG4uY29tcG8tYmFjay1saW5rLFxuLmNvbXBvLWJhY2stbGluazpsaW5rLFxuLmNvbXBvLWJhY2stbGluazp2aXNpdGVkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vcm1hbCk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbn1cblxuLmNvbXBvLWJhY2stbGluazpob3Zlcixcbi5jb21wby1iYWNrLWxpbms6YWN0aXZlLFxuLmNvbXBvLWJhY2stbGluazpmb2N1cy12aXNpYmxlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uY29tcG8tYmFjay1saW5rIGkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmNvbXBvLWJhY2stbGluazpob3ZlciBpLFxuLmNvbXBvLWJhY2stbGluazpmb2N1cy12aXNpYmxlIGkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTtcbn1cblxuLmNvbXBvLWJhY2stbGluayArIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiBDb21wZXRpdGlvbiBTY29yZWJvYXJkIENhcmRzICovXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtaGVhZGVyX19yYW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMjRweDtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtaGVhZGVyX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1oZWFkZXJfX3BhcnRpY2lwYW50IHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtaGVhZGVyX190b3RhbCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKSBzb2xpZCB2YXIoLS1jb2xvci1wb3MtZm91ci1maXZlKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWxlZnQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmQtLWZpcnN0IHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZC0tc2Vjb25kIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmQtLXRoaXJkIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fcmFuayB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmRfX3JhbmstLWZpcnN0IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fcmFuay0tc2Vjb25kIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmRfX3JhbmstLXRoaXJkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9faGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkX19wYXJ0aWNpcGFudCAuY291bnRyeV9mbGFncyB7XG4gICAgd2lkdGg6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fYXZhdGFyIHtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkX19uYW1lIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkX19uYW1lOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmRfX3RvdGFsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmRfX3RvdGFsLXZhbHVlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmRfX3RvdGFsLXVuaXQge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmRfX2N1cHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWN1cCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zeHMpIHZhcigtLXNwYWNlLXhzKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jdXA6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWN1cC0tc2NvcmVkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1jYXJkKTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY3VwX19sYWJlbCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWN1cF9fbGFiZWw6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWhvdmVyKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY3VwX19zdGFnZS1yZXN1bHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jdXBfX3Njb3JlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY3VwX19zY29yZTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jdXBfX3BvaW50cyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY3VwLS1zY29yZWQgLmNvbXBvLXNjb3JlYm9hcmQtY3VwX19wb2ludHMge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLnN1Ym1pc3Npb24tc2NvcmUsXG4uY29tcG8tc3RhZ2Utc2NvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbmEuc3VibWlzc2lvbi1zY29yZTpob3ZlcixcbmEuY29tcG8tc3RhZ2Utc2NvcmU6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbn1cblxuLnN1Ym1pc3Npb24tc2NvcmUgaSxcbi5jb21wby1zdGFnZS1zY29yZSBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbmEuc3VibWlzc2lvbi1zY29yZTpob3ZlciBpLFxuYS5jb21wby1zdGFnZS1zY29yZTpob3ZlciBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG59XG5cbi5jb21wby1zdGFnZS1jYXJkX19wb2ludHMtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbn1cblxuLmNvbXBvLXN0YWdlLWNhcmRfX2ltYWdlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmNvbXBvLXN0YWdlLWNhcmRfX3RodW1iLWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmNvbXBvLXN0YWdlLWNhcmRfX3RodW1iLWxpbms6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbn1cblxuLmNvbXBvLXN0YWdlLWNhcmRfX3RodW1iIHtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIFN0YWdlIFN1Ym1pc3Npb25zIExpc3QgJiBDYXJkcyAqL1xuLnN0YWdlLXN1Ym1pc3Npb25zLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnN0YWdlLXN1Ym1pc3Npb24tY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5zdGFnZS1zdWJtaXNzaW9uLWNhcmQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG59XG5cbi5zdGFnZS1zdWJtaXNzaW9uLWNhcmRfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5zdGFnZS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5zdGFnZS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLnN0YWdlLXN1Ym1pc3Npb24tY2FyZF9fYXZhdGFyIHtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uc3RhZ2Utc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5zdGFnZS1zdWJtaXNzaW9uLWNhcmRfX25hbWU6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbn1cblxuLnN0YWdlLXN1Ym1pc3Npb24tY2FyZF9fbWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xufVxuXG4uc3RhZ2Utc3VibWlzc2lvbi1jYXJkX19oYXJkd2FyZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4vKiBUb2RheSBTdWJtaXNzaW9ucyBUYWJsZSAmIFJlc3BvbnNpdmUgQ2FyZHMgKi9cbi50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyLnN0aWNreS10YWJsZSxcbi5iZW5jaG1hcmstcmFua2luZy13cmFwcGVyLnN0aWNreS10YWJsZSxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtd3JhcHBlci5zdGlja3ktdGFibGUsXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXdyYXBwZXIuc3RpY2t5LXRhYmxlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvci14OiBjb250YWluO1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICBzY3JvbGxiYXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCkgdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhcixcbi5iZW5jaG1hcmstcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhcixcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIsXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBoZWlnaHQ6IDZweDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLFxuLmJlbmNobWFyay1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayxcbi5iZW5jaG1hcmstb3ZlcnZpZXctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsXG4uYmVuY2htYXJrLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsXG4uYmVuY2htYXJrLWZpcnN0LXNwb3RzLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLFxuLmJlbmNobWFyay1vdmVydmlldy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyLFxuLmJlbmNobWFyay1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3Zlcixcbi5iZW5jaG1hcmstb3ZlcnZpZXctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLFxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlLFxuLnh0dS1hbmFseXplLXRhYmxlLFxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGhlYWQgdHIgdGgsXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGgsXG4ueHR1LWFuYWx5emUtdGFibGUgdGhlYWQgdHIgdGgsXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRoZWFkIHRyIHRoLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGhlYWQgdHIgdGguY29sLXJhbmssXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXJhbmsge1xuICAgIHdpZHRoOiA0NHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1kYXRlLFxuLnh0dS1hbmFseXplLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1kYXRlIHtcbiAgICB3aWR0aDogMTA1cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zY29yZSxcbi5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtc2NvcmUsXG4ueHR1LWFuYWx5emUtdGFibGUgdGhlYWQgdHIgdGguY29sLXNjb3JlLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtc2NvcmUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtY29vbGluZyxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtc3Vic3BlY3MsXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWNvb2xpbmcsXG4ueHR1LWFuYWx5emUtdGFibGUgdGhlYWQgdHIgdGguY29sLWNvb2xpbmcsXG4ueHR1LWFuYWx5emUtdGFibGUgdGhlYWQgdHIgdGguY29sLW1vdGhlcmJvYXJkLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtY29vbGluZyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1hY3Rpb25zLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zdWJzLFxuLnh0dS1hbmFseXplLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1hY3Rpb25zLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtYWN0aW9ucyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtY2FyZWVyLXJhbmssXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGhlYWQgdHIgdGguY29sLW1lbWJlcnMsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGhlYWQgdHIgdGguY29sLXN0YXR1cyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGhlYWQgdHIgdGguY29sLWNhcmVlci1wb2ludHMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIsXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIsXG4ueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIsXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHI6aG92ZXIsXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6aG92ZXIsXG4ueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHI6aG92ZXIsXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyOmhvdmVyLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQsXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQsXG4ueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQsXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkLFxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQsXG4ueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCxcbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rLFxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIHtcbiAgICB3aWR0aDogNDRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xufVxuXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1kYXRlLFxuLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1kYXRlIHtcbiAgICB3aWR0aDogMTA1cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSxcbi5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUsXG4ueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSxcbi5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhLFxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhLFxuLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGE6aG92ZXIsXG4uaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYTpob3Zlcixcbi5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYTpob3Zlcixcbi54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYTpob3Zlcixcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nLFxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzcGVjcyxcbi54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZyxcbi54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW90aGVyYm9hcmQsXG4uYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3Vic3BlY3MgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fc3Vic3BlY3Mge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2FyZWVyLXJhbmssXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1lbWJlcnMsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN0YXR1cyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNhcmVlci1wb2ludHMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGhlYWQgdHIgdGguY29sLXR5cGUsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXR5cGUge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnMsXG4ueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ueHR1LWFuYWx5emUtdGFibGUgdGhlYWQgdHIgdGguY29sLWNsb2NrLFxuLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jbG9jayB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb3RoZXJib2FyZCBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vdGhlcmJvYXJkIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIuaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1pbmZvLWJnKTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzIC5ncHUtY2FyZF9fc3Vicy1iYWRnZSxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VicyAuY3B1LWNhcmRfX3N1YnMtYmFkZ2UsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnMgLm1iLWNhcmRfX3N1YnMtYmFkZ2UsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnMgLm1lbS1jYXJkX19zdWJzLWJhZGdlLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzIC5kaXNrLWNhcmRfX3N1YnMtYmFkZ2UsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnMgLnBzdS1jYXJkX19zdWJzLWJhZGdlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkIC5jcHUtY2FyZF9fc3BlYyxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZCAuZ3B1LWNhcmRfX3NwZWMsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQgLm1iLWNhcmRfX3NwZWMsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQgLm1lbS1jYXJkX19zcGVjLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkIC5wc3UtY2FyZF9fc3BlYyxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZCAuZGlzay1jYXJkX19zcGVjIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZCAuY3B1LWNhcmRfX3NwZWM6bGFzdC1jaGlsZCxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZCAuZ3B1LWNhcmRfX3NwZWM6bGFzdC1jaGlsZCxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZCAubWItY2FyZF9fc3BlYzpsYXN0LWNoaWxkLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkIC5tZW0tY2FyZF9fc3BlYzpsYXN0LWNoaWxkLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkIC5wc3UtY2FyZF9fc3BlYzpsYXN0LWNoaWxkLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkIC5kaXNrLWNhcmRfX3NwZWM6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgLmNvbC1hY3Rpb25zIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2FjdGlvbnMsXG4uYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIC5jb2wtYWN0aW9ucyAudG9kYXktc3VibWlzc2lvbi1jYXJkX19hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8qIEJlbmNobWFyayBPdmVydmlldyAmIFJ1bGVzIFRhYmxlcyAqL1xuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtYmV0YSxcbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWJldGEge1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtb3MsXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1vcyB7XG4gICAgd2lkdGg6IDcycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1vcyBpIHtcbiAgICBtYXJnaW46IDAgdmFyKC0tc3BhY2UtM3hzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtZ2xwLFxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZ2xwLFxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtaHdwLFxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHdwIHtcbiAgICB3aWR0aDogNTJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGhlYWQgdHIgdGguY29sLWxpbmtzLFxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGlua3Mge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGlua3MgLmZsZXgtcm93LS1iZW5jaG1hcmstbGlua3Mge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWxpbmtzIC5mbGV4LXJvdy0tYmVuY2htYXJrLWxpbmtzIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1saW5rcyAuZmxleC1yb3ctLWJlbmNobWFyay1saW5rcyBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLmJlbmNobWFyay1ydWxlLWxpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5iZW5jaG1hcmstcnVsZS1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5lbXB0eS1zdGF0ZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4vKiBUZWFtIEN1cHMgYW5kIE1lZGFscyBUYWJsZSAqL1xuLnRlYW0tY3Vwcy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdHJvcGh5IHtcbiAgICB3aWR0aDogOTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50ZWFtLWN1cHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRyb3BoeSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBUZWFtIFBvaW50cyBDb250cmlidXRpb24gVGFibGUgKi9cbi50ZWFtLXBvaW50cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcG9pbnRzLFxuLnRlYW0tcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50ZWFtLXBvaW50cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtbWV0cmljLFxuLnRlYW0tcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tZXRyaWMge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB3aWR0aDogMTEwcHg7XG59XG5cbi50ZWFtLXBvaW50cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtbGVhZ3VlLFxuLnRlYW0tcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sZWFndWUge1xuICAgIHdpZHRoOiAxMzBweDtcbn1cblxuLyogVGVhbSBNZW1iZXJzIFRhYmxlICovXG4udGVhbS1tZW1iZXJzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC11c2VyLFxuLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRlYW0tbWVtYmVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcm9sZSxcbi50ZWFtLW1lbWJlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJvbGUge1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udGVhbS1tZW1iZXJzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1sZWFndWUsXG4udGVhbS1tZW1iZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sZWFndWUge1xuICAgIHdpZHRoOiAxNDBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udGVhbS1tZW1iZXJzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1qb2luZWQsXG4udGVhbS1tZW1iZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1qb2luZWQge1xuICAgIHdpZHRoOiAxNDBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50ZWFtLW1lbWJlcnMtdGFibGUgdGhlYWQgdHIgdGguY29sLXZpc2l0LFxuLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdmlzaXQge1xuICAgIHdpZHRoOiAxNDBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50ZWFtLW1lbWJlcnMtdGFibGUgdGhlYWQgdHIgdGguY29sLWFjdGlvbnMsXG4udGVhbS1tZW1iZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIHtcbiAgICB3aWR0aDogOTBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRlYW0tbWVtYmVycy10YWJsZSAuY29sLWFjdGlvbnMgLmJ1dHRvbiB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4udGVhbS1tZW1iZXItZGF0ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi50ZWFtLW1lbWJlci1kYXRlIGkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGVhbS1tZW1iZXItZGF0ZV9fbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFRlYW0gUmVxdWVzdHMgVGFibGUgKi9cbi50ZWFtLXJlcXVlc3RzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC11c2VyLFxuLnRlYW0tcmVxdWVzdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50ZWFtLXJlcXVlc3RzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC10ZWFtLFxuLnRlYW0tcmVxdWVzdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWluLXdpZHRoOiAxNDBweDtcbn1cblxuLnRlYW0tcmVxdWVzdHMtdGFibGUgdGhlYWQgdHIgdGguY29sLWxlYWd1ZSxcbi50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sZWFndWUge1xuICAgIHdpZHRoOiAxNDBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udGVhbS1yZXF1ZXN0cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtam9pbmVkLFxuLnRlYW0tcmVxdWVzdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWpvaW5lZCB7XG4gICAgd2lkdGg6IDE0MHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRlYW0tcmVxdWVzdHMtdGFibGUgdGhlYWQgdHIgdGguY29sLXZpc2l0LFxuLnRlYW0tcmVxdWVzdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXZpc2l0IHtcbiAgICB3aWR0aDogMTQwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGVhbS1yZXF1ZXN0cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtYWN0aW9ucyxcbi50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIHtcbiAgICB3aWR0aDogOTBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRlYW0tcmVxdWVzdHMtdGFibGUgLmNvbC1hY3Rpb25zIC5idXR0b24ge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2UteHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLnRlYW0tcmVxdWVzdHMtYWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi8qIFN1Yi1jb21wb25lbnRzIGluc2lkZSBjZWxscyBhbmQgY2FyZHMgKi9cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3JhbmssXG4ubWVtYmVyLWNhcmRfX3JhbmssXG4udGVhbS1jYXJkX19yYW5rIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fZGF0ZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19iZW5jaG1hcmstbGluayB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19iZW5jaG1hcmstbGluazpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX192ZXJzaW9uIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbm9ybWFsKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9faGFyZHdhcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2hhcmR3YXJlOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2Nsb2NrIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbm9ybWFsKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19zdWJzcGVjcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3N1YnNwZWMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgdmFyKC0tc3BhY2UteHMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19zdWJzcGVjOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fc3Vic3BlYyBpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYXZhdGFyIHtcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCAuY291bnRyeV9mbGFncyB7XG4gICAgd2lkdGg6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYWN0aW9ucyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19wb2ludHMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BvaW50czplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcG9pbnQsXG4uaHctcmVjb3Jkcy10YWJsZV9fcG9pbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub25lKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BvaW50OmhvdmVyLFxuLmh3LXJlY29yZHMtdGFibGVfX3BvaW50OmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcG9pbnQtdmFsdWUsXG4uaHctcmVjb3Jkcy10YWJsZV9fcG9pbnQtdmFsdWUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19wb2ludC1sYWJlbCxcbi5ody1yZWNvcmRzLXRhYmxlX19wb2ludC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtM3hzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtZXh0cmFib2xkKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8qIENvbXBldGl0aXZlIExlYWd1ZSBQb2ludCBCYWRnZXMgKi9cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BvaW50LS13ciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2FybmluZy1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLWJvcmRlcik7XG59XG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19wb2ludC0td3IgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcG9pbnQtbGFiZWwge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BvaW50LS13ciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wb2ludC12YWx1ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctdGV4dCk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BvaW50LS1lbXB0eSB7XG4gICAgb3BhY2l0eTogMC40NTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fY29tbWVudHMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19jb21tZW50czpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fY29tbWVudHMgaSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fdm90ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLyogUGVyc29uYWwgJiBUZWFtIEJlbmNobWFyayBTdW1tYXJ5IEhpZ2hsaWdodCBDYXJkcyAqL1xuLnJhbmtpbmctaGlnaGxpZ2h0LWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5yYW5raW5nLWhpZ2hsaWdodC1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLnJhbmtpbmctaGlnaGxpZ2h0LWNhcmRfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLnJhbmtpbmctaGlnaGxpZ2h0LWNhcmRfX3RpdGxlIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4ucmFua2luZy1oaWdobGlnaHQtY2FyZF9fYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utcyk7XG59XG5cbi5yYW5raW5nLWhpZ2hsaWdodC1jYXJkX19zY29yZS1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ucmFua2luZy1oaWdobGlnaHQtY2FyZF9fc2NvcmUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnJhbmtpbmctaGlnaGxpZ2h0LWNhcmRfX3Njb3JlOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG59XG5cbi5yYW5raW5nLWhpZ2hsaWdodC1jYXJkX19tZXRhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnJhbmtpbmctaGlnaGxpZ2h0LWNhcmRfX2hhcmR3YXJlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnJhbmtpbmctaGlnaGxpZ2h0LWNhcmRfX2hhcmR3YXJlOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2NvcmVzLFxuLnJhbmtpbmctaGlnaGxpZ2h0LWNhcmRfX2NvcmVzIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5yYW5raW5nLWhpZ2hsaWdodC1jYXJkX19wb2ludHMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4ucmFua2luZy1oaWdobGlnaHQtY2FyZF9fZW1wdHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbn1cblxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1iZW5jaG1hcmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogNjBweDtcbn1cblxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZW5jaG1hcmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbn1cblxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtYmVuY2htYXJrLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIHtcbiAgICB3aWR0aDogODBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXBvaW50cyxcbi5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLyogVXNlciBIYXJkd2FyZSBMaWJyYXJ5IFRhYmxlICovXG4ubGlicmFyeS10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbn1cblxuLmxpYnJhcnktdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubGlicmFyeS10YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubGlicmFyeS10YWJsZSB0aGVhZCB0ciB0aC5jb2wtc3Vicyxcbi5saWJyYXJ5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmxpYnJhcnktY2FyZF9fc3Vicy1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmxpYnJhcnktdGFibGUgdGJvZHkgdHIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmxpYnJhcnktdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLmxpYnJhcnktdGFibGUgdGJvZHkgdHIgdGQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ubGlicmFyeS10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ubGlicmFyeS10YWJsZSB0Ym9keSB0ciB0ZCBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubGlicmFyeS10YWJsZSB0Ym9keSB0ciB0ZCBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmxpYnJhcnktdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsIGEge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubGlicmFyeS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKiBVc2VyIFhUVSBQcm9maWxlcyBUYWJsZSAmIFhUVSBBbmFseXplIFRhYmxlICovXG4ueHR1LXByb2ZpbGVzLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuLnh0dS1hbmFseXplLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvci14OiBjb250YWluO1xufVxuXG4ueHR1LXByb2ZpbGVzLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnh0dS1wcm9maWxlcy10YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ueHR1LXByb2ZpbGVzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1hY3Rpb25zLFxuLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4ueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkIGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIgdGQgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGEge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG59XG5cbi54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbn1cblxuLyogVXNlciBSYW5raW5nIExvZyBUYWJsZSAqL1xuLnJhbmtpbmctbG9nLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvci14OiBjb250YWluO1xufVxuXG4ucmFua2luZy1sb2ctdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucmFua2luZy1sb2ctdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnJhbmtpbmctbG9nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zY29yZSxcbi5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUsXG4ucmFua2luZy1sb2ctdGFibGUgdGhlYWQgdHIgdGguY29sLXBvaW50cyxcbi5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4ucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkIGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZCBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xufVxuXG4ucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbn1cblxuLyogVXNlciBQb2ludHMgVGFibGUgKi9cbi51c2VyLXBvaW50cy10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpIHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4udXNlci1wb2ludHMtdGFibGUtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGhlaWdodDogNnB4O1xufVxuXG4udXNlci1wb2ludHMtdGFibGUtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4udXNlci1wb2ludHMtdGFibGUtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZS13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4udXNlci1wb2ludHMtdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udXNlci1wb2ludHMtdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1yYW5rIHtcbiAgICB3aWR0aDogNzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcG9pbnRzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB3aWR0aDogMTAwcHg7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtZGF0ZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgd2lkdGg6IDExMHB4O1xufVxuXG4udXNlci1wb2ludHMtdGFibGUgdGhlYWQgdHIgdGguY29sLXNjb3JlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udXNlci1wb2ludHMtdGFibGUgdGhlYWQgdHIgdGguY29sLWNvb2xpbmcge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtbGV2ZWwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogODBweDtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4udXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkIGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZCBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4udXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1kYXRlIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sZXZlbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBDb21wZXRpdGlvbiBPdmVydmlldyBUYWJsZSAqL1xuLmNvbXBldGl0aW9ucy10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpIHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4uY29tcGV0aXRpb25zLXRhYmxlLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBoZWlnaHQ6IDZweDtcbn1cblxuLmNvbXBldGl0aW9ucy10YWJsZS13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5jb21wZXRpdGlvbnMtdGFibGUtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi5jb21wZXRpdGlvbnMtdGFibGUtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtY29tcGV0aXRpb24ge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1sZXZlbCxcbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWxldmVsIHtcbiAgICB3aWR0aDogOTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGhlYWQgdHIgdGguY29sLXN0YWdlcyxcbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLXN0YWdlcyB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1vcGVucyxcbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLW9wZW5zLFxuLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtY2xvc2VzLFxuLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2xvc2VzIHtcbiAgICB3aWR0aDogMTc1cHg7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGhlYWQgdHIgdGguY29sLXdpbm5lcixcbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLXdpbm5lciB7XG4gICAgd2lkdGg6IDIyMHB4O1xufVxuXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29tcGV0aXRpb24gYS5jb21wZXRpdGlvbnMtdGFibGVfX25hbWUtbGluayB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvbXBldGl0aW9uIGEuY29tcGV0aXRpb25zLXRhYmxlX19uYW1lLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbn1cblxuLmNvbXBldGl0aW9ucy10YWJsZV9fbGV2ZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zeHMpIHZhcigtLXNwYWNlLXhzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNvbXBldGl0aW9ucy10YWJsZV9fc3RhZ2VzLWxhYmVsLFxuLmNvbXBldGl0aW9ucy10YWJsZV9fZGF0ZS1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNvbXBldGl0aW9ucy10YWJsZV9fc3RhZ2VzLWNvdW50IHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4uY29tcGV0aXRpb25zLXRhYmxlX193aW5uZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNvbXBldGl0aW9ucy10YWJsZV9fd2lubmVyIC5nb2xkLXRyb3BoeSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBDYXJlZXIgV29ybGQgUmFua2luZyBUYWJsZSAqL1xuLmNhcmVlci1yYW5raW5nLXdyYXBwZXIuc3RpY2t5LXRhYmxlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvci14OiBjb250YWluO1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICBzY3JvbGxiYXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCkgdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi5jYXJlZXItcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiA2cHg7XG59XG5cbi5jYXJlZXItcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5jYXJlZXItcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLmNhcmVlci1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5jYXJlZXItcmFua2luZy10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXJhbmsge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC11c2VyIHtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC10ZWFtIHtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1wb2ludHMsXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWdscCxcbi5jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtaHdwIHtcbiAgICB3aWR0aDogMTEwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLXhsKSBzb2xpZCB2YXIoLS1jb2xvci1wb3Mtb3RoZXIpO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbn1cblxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG59XG5cbi5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyxcbi5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZ2xwLFxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1od3Age1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG59XG5cbi5jYXJlZXItcmFua2luZy1jYXJkX19wb2ludHMtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFRlYW0gQ2FyZWVyIFdvcmxkIFJhbmtpbmcgVGFibGUgKi9cbi50ZWFtLWNhcmVlci1yYW5raW5nLXdyYXBwZXIuc3RpY2t5LXRhYmxlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvci14OiBjb250YWluO1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICBzY3JvbGxiYXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCkgdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBoZWlnaHQ6IDZweDtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4udGVhbS1jYXJlZXItcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcmFuayB7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdGVhbSB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1wb2ludHMsXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtZ2xwLFxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWh3cCxcbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1nbHRwcCxcbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1od3RwcCxcbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1jcCxcbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1tZW1iZXJzIHtcbiAgICB3aWR0aDogOTBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLXhsKSBzb2xpZCB2YXIoLS1jb2xvci1wb3Mtb3RoZXIpO1xufVxuXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xufVxuXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xufVxuXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzLFxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdscCxcbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1od3AsXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZ2x0cHAsXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHd0cHAsXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY3AsXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWVtYmVycyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xufVxuXG4udGVhbS1yYW5raW5nLWNhcmRfX3BvaW50cy1sYWJlbCxcbi50ZWFtLXJhbmtpbmctY2FyZF9fbWVtYmVycy1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogU2Vhc29uIExlYWd1ZSBSYW5raW5nIFRhYmxlICovXG4uc2Vhc29uLXJhbmtpbmctd3JhcHBlci5zdGlja3ktdGFibGUge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IGNvbnRhaW47XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICAgIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKSB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLnNlYXNvbi1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBoZWlnaHQ6IDZweDtcbn1cblxuLnNlYXNvbi1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnNlYXNvbi1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4uc2Vhc29uLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcmFuayB7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXVzZXIge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXRlYW0ge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXBvaW50cyxcbi5zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtZ2xwLFxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1od3AsXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWNwIHtcbiAgICB3aWR0aDogMTEwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLXhsKSBzb2xpZCB2YXIoLS1jb2xvci1wb3Mtb3RoZXIpO1xufVxuXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbn1cblxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG59XG5cbi5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xufVxuXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyxcbi5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZ2xwLFxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1od3AsXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNwIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xufVxuXG4uc2Vhc29uLXJhbmtpbmctY2FyZF9fcG9pbnRzLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBUZWFtIFNlYXNvbiBMZWFndWUgUmFua2luZyBUYWJsZSAqL1xuLnRlYW0tc2Vhc29uLXJhbmtpbmctd3JhcHBlci5zdGlja3ktdGFibGUge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IGNvbnRhaW47XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICAgIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKSB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGhlaWdodDogNnB4O1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi50ZWFtLXNlYXNvbi1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1yYW5rIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC10ZWFtIHtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXBvaW50cyxcbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1nbHAsXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtaHdwLFxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWdsdHBwLFxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWh3dHBwLFxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWNwLFxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLW1lbWJlcnMge1xuICAgIHdpZHRoOiA5MHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgteGwpIHNvbGlkIHZhcigtLWNvbG9yLXBvcy1vdGhlcik7XG59XG5cbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG59XG5cbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG59XG5cbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG59XG5cbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMsXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZ2xwLFxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWh3cCxcbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1nbHRwcCxcbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1od3RwcCxcbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jcCxcbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tZW1iZXJzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG59XG5cbi50ZWFtLXNlYXNvbi1yYW5raW5nLWNhcmRfX3BvaW50cy1sYWJlbCxcbi50ZWFtLXNlYXNvbi1yYW5raW5nLWNhcmRfX21lbWJlcnMtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIENvdW50cnkgTGVhZ3VlIFJhbmtpbmcgVGFibGUgKi9cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXdyYXBwZXIuc3RpY2t5LXRhYmxlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvci14OiBjb250YWluO1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICBzY3JvbGxiYXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCkgdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBoZWlnaHQ6IDZweDtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uY291bnRyeS1sZWFndWUtcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcmFuayB7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtY291bnRyeSB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1wb2ludHMsXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtZ2xwLFxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWh3cCxcbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1jcCxcbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1tZW1iZXJzIHtcbiAgICB3aWR0aDogOTBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLXhsKSBzb2xpZCB2YXIoLS1jb2xvci1wb3Mtb3RoZXIpO1xufVxuXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xufVxuXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xufVxuXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzLFxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdscCxcbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1od3AsXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY3AsXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWVtYmVycyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xufVxuXG4uY291bnRyeS1sZWFndWUtcmFua2luZy1jYXJkX19wb2ludHMtbGFiZWwsXG4uY291bnRyeS1sZWFndWUtcmFua2luZy1jYXJkX19tZW1iZXJzLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBHbG9iYWwgTWFzdGVycyBMZWFndWUgUmFua2luZyBUYWJsZSAqL1xuLmdsb2JhbC1tYXN0ZXJzLXdyYXBwZXIuc3RpY2t5LXRhYmxlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvci14OiBjb250YWluO1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICBzY3JvbGxiYXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCkgdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi5nbG9iYWwtbWFzdGVycy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiA2cHg7XG59XG5cbi5nbG9iYWwtbWFzdGVycy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5nbG9iYWwtbWFzdGVycy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5nbG9iYWwtbWFzdGVycy10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGhlYWQgdHIgdGguY29sLXJhbmsge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC11c2VyIHtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC10ZWFtIHtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1wb2ludHMsXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGhlYWQgdHIgdGguY29sLXdycCxcbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtZ2xwIHtcbiAgICB3aWR0aDogMTEwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG59XG5cbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG59XG5cbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyxcbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtd3JwLFxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1nbHAge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG59XG5cbi5nbG9iYWwtbWFzdGVycy1jYXJkX19wb2ludHMtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEhhcmR3YXJlIE1hc3RlcnMgTGVhZ3VlIFJhbmtpbmcgVGFibGUgKi9cbi5oYXJkd2FyZS1tYXN0ZXJzLXdyYXBwZXIuc3RpY2t5LXRhYmxlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvci14OiBjb250YWluO1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICBzY3JvbGxiYXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCkgdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBoZWlnaHQ6IDZweDtcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcmFuayB7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdXNlciB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC10ZWFtIHtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGhlYWQgdHIgdGguY29sLXBvaW50cyxcbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC0yZHAsXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtM2RwIHtcbiAgICB3aWR0aDogMTEwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyxcbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC0yZHAsXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtM2RwIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLWNhcmRfX3BvaW50cy1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNvbXBvLXN0YWdlLXdyYXBwZXIge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi5jb21wby1zdGFnZS13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiA2cHg7XG59XG5cbi5jb21wby1zdGFnZS13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VidGxlKTtcbn1cblxuLmNvbXBvLXN0YWdlLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4uY29tcG8tc3RhZ2Utd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcmFuayB7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGhlYWQgdHIgdGguY29sLWNvbXBldGl0b3Ige1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGhlYWQgdHIgdGguY29sLXNjb3JlIHtcbiAgICB3aWR0aDogMjAwcHg7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcG9pbnRzIHtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB0aGVhZCB0ciB0aC5jb2wtc3VibWlzc2lvbnMge1xuICAgIHdpZHRoOiAyMDBweDtcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIgdGQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvbXBldGl0b3IgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJtaXNzaW9ucyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJFU1BPTlNJVkUgQ0FSRCBMQVlPVVQgKDw9IDEyMDBweClcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5tZW1iZXItdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLnRlYW0tdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLnRlYW0tY3Vwcy13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAudGVhbS1wb2ludHMtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLnRlYW0tbWVtYmVycy13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAudGVhbS1yZXF1ZXN0cy13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAuZ3B1LXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5jcHUtdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLm1iLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5tZW0tdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLmNvb2xpbmctdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLnBzdS10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAuZGlzay10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAuaHctcmVjb3Jkcy10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAubGlicmFyeS10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAueHR1LXByb2ZpbGVzLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC54dHUtYW5hbHl6ZS10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAucmFua2luZy1sb2ctdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLnVzZXItcG9pbnRzLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5jb21wZXRpdGlvbnMtdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLmNhcmVlci1yYW5raW5nLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5zZWFzb24tcmFua2luZy13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAudGVhbS1zZWFzb24tcmFua2luZy13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAuZ2xvYmFsLW1hc3RlcnMtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLmNvbXBvLXN0YWdlLXdyYXBwZXIuc3RpY2t5LXRhYmxlIHtcbiAgICAgICAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtdGFibGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWxlZnQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLyogQmVuY2htYXJrIE92ZXJ2aWV3IFRhYmxlOiBQcmVzZXJ2ZSB0YWJsZSBsYXlvdXQgb24gcmVzcG9uc2l2ZSBzY3JlZW5zICovXG4gICAgLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGhlYWQgdHIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgLyogU3VibWlzc2lvbnMgQ2FyZCBSb3cgTWFwcGluZyAoPD0gMTIwMHB4KVxuICAgICAgIFJvdyAxOiBbIGJlbmNobWFyayAobGVmdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3JlIChyaWdodCkgXVxuICAgICAgIFJvdyAyOiBbIGhhcmR3YXJlIChsZWZ0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyIChyaWdodCkgXVxuICAgICAgIFJvdyAzOiBbIHBvaW50cyAobGVmdCkgICAgICAgICAgICAgICAgICAgICBjb21tZW50cyAtIGxpa2VzIChyaWdodCkgXVxuICAgICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhcy1yYW5rIHRib2R5IHRyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmciBhdXRvO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1kYXRlIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLyogUm93IDE6IExlZnQgPSBCZW5jaG1hcmssIFJpZ2h0ID0gU2NvcmUgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWJlbmNobWFyayB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhcy1yYW5rIHRib2R5IHRyIHRkLmNvbC1iZW5jaG1hcmsge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIGdyaWQtY29sdW1uOiAtMiAvIC0xO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYTpob3ZlcixcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGE6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xuICAgIH1cblxuICAgIC8qIFJvdyAyOiBMZWZ0ID0gSGFyZHdhcmUsIFJpZ2h0ID0gVXNlciAqL1xuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhcy1yYW5rIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmU6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9faGFyZHdhcmUge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9faGFyZHdhcmUgc3Bhbjpub3QoLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fY29yZXMpOm5vdCgucmFua2luZy1oaWdobGlnaHQtY2FyZF9fY29yZXMpOm5vdCgudG9kYXktc3VibWlzc2lvbi1jYXJkX19jbG9jaykge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fY2xvY2sge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IC0yIC8gLTE7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1heC13aWR0aDogMTQwcHg7XG4gICAgfVxuXG4gICAgLyogUm93IDM6IExlZnQgPSBQb2ludHMsIFJpZ2h0ID0gQ29tbWVudHMgJiBMaWtlcyAoQWN0aW9ucykgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIG9yZGVyOiA2O1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYXMtcmFuayB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHM6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BvaW50LFxuICAgIC5ody1yZWNvcmRzLXRhYmxlX19wb2ludCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcG9pbnQtLXdyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcG9pbnRzIHtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIHtcbiAgICAgICAgb3JkZXI6IDc7XG4gICAgICAgIGdyaWQtY29sdW1uOiAtMiAvIC0xO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2FjdGlvbnMge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC8qIENvbXBhY3QgTWljcm8tUGlsbCBWb3RlIFdpZGdldCBmb3IgTW9iaWxlIENhcmRzICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIC52b3RlLXBpbGwsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fdm90ZSAudm90ZS1waWxsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9uZSk7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIC52b3RlLXBpbGw6aG92ZXIsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fdm90ZSAudm90ZS1waWxsOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyAudm90ZS1waWxsX19idG4sXG4gICAgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fdm90ZSAudm90ZS1waWxsX19idG4ge1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXMpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIC52b3RlLXBpbGxfX2J0bjpob3ZlcixcbiAgICAudG9kYXktc3VibWlzc2lvbi1jYXJkX192b3RlIC52b3RlLXBpbGxfX2J0bjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMgLnZvdGUtcGlsbF9fYWN0aW9uLmhhcy12b3RlZCxcbiAgICAudG9kYXktc3VibWlzc2lvbi1jYXJkX192b3RlIC52b3RlLXBpbGxfX2FjdGlvbi5oYXMtdm90ZWQge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIC52b3RlLXBpbGxfX2J0biBpLFxuICAgIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3ZvdGUgLnZvdGUtcGlsbF9fYnRuIGkge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyAudm90ZS1waWxsX19kaXZpZGVyLFxuICAgIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3ZvdGUgLnZvdGUtcGlsbF9fZGl2aWRlciB7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMgLnZvdGUtcGlsbF9fY291bnQsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fdm90ZSAudm90ZS1waWxsX19jb3VudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIC52b3RlLXBpbGxfX2NhcmV0LFxuICAgIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3ZvdGUgLnZvdGUtcGlsbF9fY2FyZXQge1xuICAgICAgICBmb250LXNpemU6IDdweDtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgIH1cblxuICAgIC8qIENvb2xpbmcgJiBTdWJzcGVjcyBQbGFjZW1lbnQgKHdoZW4gcHJlc2VudCkgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmcge1xuICAgICAgICBvcmRlcjogNjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IC0yIC8gLTE7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLyogQm9yZGVybGVzcyBTdGF0dXMgQmFkZ2VzIG9uIE1vYmlsZSAqL1xuICAgIC5zdGF0dXMtYmFkZ2Uge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLnN0YXR1cy1iYWRnZSBpIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIH1cblxuICAgIC5zdGF0dXMtYmFkZ2UgLnN0YXR1cy12YWx1ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnNwZWNzIHtcbiAgICAgICAgb3JkZXI6IDg7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgMDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnNwZWNzOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnNwZWNzIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3N1YnNwZWNzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAvKiBIYWxsIG9mIEZhbWUgLyBSZWNvcmRzIENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgUm93IDE6IFsgI3JhbmsgfCBmcmVxdWVuY3kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFyZHdhcmUgXVxuICAgICAgIFJvdyAyOiBbICAgICAgIHwgY29vbGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyIF1cbiAgICAqL1xuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZS5oYXMtcmFuayB0Ym9keSB0cixcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYXMtcmFuay5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZCxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYXMtcmFuay5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBvcmRlcjogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIDFzdCwgMm5kLCAzcmQgUG9zaXRpb24gTGVmdCBCb3JkZXIgQ29sb3JzICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZS5oYXMtcmFuayB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhcy1yYW5rLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZS5oYXMtcmFuayB0Ym9keSB0cjpudGgtY2hpbGQoMSkge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlLmhhcy1yYW5rIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYXMtcmFuay5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlLmhhcy1yYW5rIHRib2R5IHRyOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUuaGFzLXJhbmsgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYXMtcmFuay5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUuaGFzLXJhbmsgdGJvZHkgdHI6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBDb2wgMSwgUm93IDE6IFJhbmsgLyBEYXRlICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlLmhhcy1yYW5rIHRib2R5IHRyIHRkLmNvbC1yYW5rLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmssXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhcy1yYW5rLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1kYXRlLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWRhdGUge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAhaW1wb3J0YW50O1xuICAgICAgICBncmlkLXJvdzogMSAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS14cykgMCAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayAudG9kYXktc3VibWlzc2lvbi1jYXJkX19yYW5rIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBtaW4td2lkdGg6IDI4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDI6IEZyZXF1ZW5jeSAvIFNjb3JlICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZS5oYXMtcmFuayB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhcy1yYW5rLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUge1xuICAgICAgICBncmlkLWNvbHVtbjogMiAhaW1wb3J0YW50O1xuICAgICAgICBncmlkLXJvdzogMSAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYTpob3ZlcixcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWhvdmVyKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDM6IEhhcmR3YXJlICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZS5oYXMtcmFuayB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhcy1yYW5rLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUge1xuICAgICAgICBncmlkLWNvbHVtbjogMyAhaW1wb3J0YW50O1xuICAgICAgICBncmlkLXJvdzogMSAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2hhcmR3YXJlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxODBweDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9faGFyZHdhcmUgc3Bhbjpub3QoLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fY2xvY2spIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAyOiBDb29saW5nICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZyxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlLmhhcy1yYW5rIHRib2R5IHRyIHRkLmNvbC1jb29saW5nLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmcsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhcy1yYW5rLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtcm93OiAyICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQgIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAzOiBVc2VyICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlcixcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlLmhhcy1yYW5rIHRib2R5IHRyIHRkLmNvbC11c2VyLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhcy1yYW5rLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtcm93OiAyICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLmNvdW50cnlfZmxhZ3Mge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBtYXgtd2lkdGg6IDEzMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAvKiBIaWRkZW4gY29sdW1ucyBvbiBtb2JpbGUgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzcGVjcyxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnNwZWNzLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogVXNlciBIYXJkd2FyZSBMaWJyYXJ5IENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgfCBNYW51ZmFjdHVyZXIgKGxlZnQpICAgICAgICAgIE1vZGVsIChyaWdodCkgfFxuICAgICAgIHwgUHJvZHVjdC9UeXBlIChsZWZ0KSAgICBDb3JlL1NvY2tldCAocmlnaHQpIHxcbiAgICAgICB8IFNVQk1JU1NJT05TIChsZWZ0KSAgICAgICAgICAgICAgIFggKHJpZ2h0KSB8XG4gICAgKi9cbiAgICAubGlicmFyeS10YWJsZSxcbiAgICAubGlicmFyeS10YWJsZSB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5saWJyYXJ5LXRhYmxlIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubGlicmFyeS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC5saWJyYXJ5LXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgfVxuXG4gICAgLmxpYnJhcnktdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMTogTGVmdCA9IE1hbnVmYWN0dXJlciwgUmlnaHQgPSBNb2RlbCAqL1xuICAgIC5saWJyYXJ5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tYW51ZmFjdHVyZXIge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAubGlicmFyeS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMjogTGVmdCA9IFByb2R1Y3QvVHlwZSwgUmlnaHQgPSBDb3JlL1NvY2tldC9DaGlwc2V0ICovXG4gICAgLmxpYnJhcnktdGFibGUgdGJvZHkgdHIgdGQuY29sLXByb2R1Y3Qge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC5saWJyYXJ5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wcm9kdWN0OmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubGlicmFyeS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc29ja2V0IHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC5saWJyYXJ5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wcm9kdWN0IGEsXG4gICAgLmxpYnJhcnktdGFibGUgdGJvZHkgdHIgdGQuY29sLXNvY2tldCBhIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5saWJyYXJ5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wcm9kdWN0IGE6aG92ZXIsXG4gICAgLmxpYnJhcnktdGFibGUgdGJvZHkgdHIgdGQuY29sLXNvY2tldCBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAubGlicmFyeS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc29ja2V0OmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMzogTGVmdCA9IFN1Ym1pc3Npb25zIGxhYmVsLCBSaWdodCA9IFN1Ym1pc3Npb25zIGNvdW50ICovXG4gICAgLmxpYnJhcnktdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnMge1xuICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2Utcyk7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgLmxpYnJhcnktY2FyZF9fc3Vicy1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIH1cblxuICAgIC5saWJyYXJ5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzIGEge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgfVxuXG4gICAgLyogVXNlciBYVFUgUHJvZmlsZXMgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICB8IGRhdGUgICAgICAgICAgICAgICAgICAgICAgIHNjb3JlICAgICAgfFxuICAgICAgIHwgcHJvY2Vzc29yICAgICAgICAgICAgICAgICAgc29ja2V0ICAgICB8XG4gICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmFseXplICAgIHxcbiAgICAqL1xuICAgIC54dHUtcHJvZmlsZXMtdGFibGUsXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC54dHUtcHJvZmlsZXMtdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB9XG5cbiAgICAueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgfVxuXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIFJvdyAxOiBMZWZ0ID0gRGF0ZSwgUmlnaHQgPSBTY29yZSAqL1xuICAgIC54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWRhdGUge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMjogTGVmdCA9IFByb2Nlc3NvciwgUmlnaHQgPSBTb2NrZXQgKi9cbiAgICAueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wcm9jZXNzb3Ige1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc29ja2V0IHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNvY2tldDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc29ja2V0IGEge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc29ja2V0IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIC8qIEhpZGUgRnJlcXVlbmN5ICYgTW90aGVyYm9hcmQgb24gbW9iaWxlIGNhcmQgKi9cbiAgICAueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jbG9jayxcbiAgICAueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb3RoZXJib2FyZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMzogUmlnaHQgPSBBbmFseXplICovXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyB7XG4gICAgICAgIG9yZGVyOiA1O1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2Utcyk7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9uczplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyBhIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMgYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC8qIFhUVSBBbmFseXplIE5laWdoYm9ycyBUYWJsZSBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIHwgRGF0ZSAobGVmdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2NvcmUgKHJpZ2h0KSB8XG4gICAgICAgfCBVc2VyIChsZWZ0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9jayAocmlnaHQpIHxcbiAgICAgICB8IE1vdGhlcmJvYXJkIChmdWxsLXdpZHRoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICAgIHwgQ29vbGluZyAoZnVsbC13aWR0aCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAgICAgfCBQb2ludHMgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVm90ZSAocmlnaHQpIHxcbiAgICAqL1xuICAgIC54dHUtYW5hbHl6ZS10YWJsZSxcbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgfVxuXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyLmlzLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWluZm8tYmcpO1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLyogUm93IDE6IExlZnQgPSBEYXRlLCBSaWdodCA9IFNjb3JlICovXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1kYXRlIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIH1cblxuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgfVxuXG4gICAgLyogUm93IDI6IExlZnQgPSBVc2VyLCBSaWdodCA9IENsb2NrICovXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNsb2NrIHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2xvY2s6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIFJvdyAzOiBNb3RoZXJib2FyZCAoZnVsbCB3aWR0aCkgKi9cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vdGhlcmJvYXJkIHtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSAwIDA7XG4gICAgfVxuXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb3RoZXJib2FyZDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb3RoZXJib2FyZCBhIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW90aGVyYm9hcmQgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgLyogUm93IDQ6IENvb2xpbmcgKGZ1bGwgd2lkdGgpICovXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nIHtcbiAgICAgICAgb3JkZXI6IDY7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgMDtcbiAgICB9XG5cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmc6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIFJvdyA1OiBMZWZ0ID0gUG9pbnRzLCBSaWdodCA9IEFjdGlvbnMgKFZvdGUpICovXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgICAgICBvcmRlcjogNztcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHM6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyB7XG4gICAgICAgIG9yZGVyOiA4O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgLyogQ29tcGV0aXRpb24gT3ZlcnZpZXcgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICB8IENvbXBldGl0aW9uIE5hbWUgKGZ1bGwtd2lkdGgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICB8IExldmVsIChsZWZ0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YWdlcyAocmlnaHQpIHxcbiAgICAgICB8IE9wZW5zOiA8ZGF0ZT4gKGZ1bGwtd2lkdGgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICB8IENsb3NlczogPGRhdGU+IChmdWxsLXdpZHRoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICB8IFtUcm9waHldIFdpbm5lciAoZnVsbC13aWR0aCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAqL1xuICAgIC5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUsXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB9XG5cbiAgICAuY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgfVxuXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIFJvdyAxOiBDb21wZXRpdGlvbiBOYW1lIChmdWxsIHdpZHRoKSAqL1xuICAgIC5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvbXBldGl0aW9uIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29tcGV0aXRpb24gYS5jb21wZXRpdGlvbnMtdGFibGVfX25hbWUtbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cblxuICAgIC5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvbXBldGl0aW9uIGEuY29tcGV0aXRpb25zLXRhYmxlX19uYW1lLWxpbms6aG92ZXIsXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29tcGV0aXRpb24gYS5jb21wZXRpdGlvbnMtdGFibGVfX25hbWUtbGluazphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1ob3Zlcik7XG4gICAgfVxuXG4gICAgLyogUm93IDI6IExlZnQgPSBMZXZlbCwgUmlnaHQgPSBTdGFnZXMgKi9cbiAgICAuY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sZXZlbCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGV2ZWw6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLXN0YWdlcyB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC5jb21wZXRpdGlvbnMtdGFibGVfX3N0YWdlcy1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMzogT3BlbnMgZGF0ZSAoZnVsbCB3aWR0aCkgKi9cbiAgICAuY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1vcGVucyB7XG4gICAgICAgIG9yZGVyOiA0O1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC8qIFJvdyA0OiBDbG9zZXMgZGF0ZSAoZnVsbCB3aWR0aCkgKi9cbiAgICAuY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jbG9zZXMge1xuICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAuY29tcGV0aXRpb25zLXRhYmxlX19kYXRlLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgfVxuXG4gICAgLyogUm93IDU6IFdpbm5lciAoZnVsbCB3aWR0aCkgKi9cbiAgICAuY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC13aW5uZXIge1xuICAgICAgICBvcmRlcjogNjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIH1cblxuICAgIC5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLXdpbm5lcjplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogQ2FyZWVyIFdvcmxkIFJhbmtpbmcgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICBSb3cgMTogWyByYW5rICB8IHVzZXIgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlYW0gKHJpZ2h0KSBdXG4gICAgICAgUm93IDI6IFsgICAgICAgfCBwb2ludHMgKGxlZnQpICAgICAgICBnbCBwb2ludHMgKG1pZCkgICAgIGh3IHBvaW50cyAocmlnaHQpIF1cbiAgICAqL1xuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDFmcik7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWxlZnQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB9XG5cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbiAgICB9XG5cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbiAgICB9XG5cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG4gICAgfVxuXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLyogQ29sIDEsIFJvdyAxOiBSYW5rICovXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rLFxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmssXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MgdGQuY29sLXJhbmssXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS14cykgMCAwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgbWluLXdpZHRoOiAyOHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCAyLTM6IFVzZXIgKi9cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIDQ7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19hdmF0YXIge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBtYXgtd2lkdGg6IDEzMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCA0OiBUZWFtIChyaWdodC1hbGlnbmVkKSAqL1xuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiA0O1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19hdmF0YXIge1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBtYXgtd2lkdGg6IDExMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbTplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAyOiBQb2ludHMgKi9cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAzOiBHTCBQb2ludHMgKi9cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdscCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8qIFJvdyAyLCBDb2wgNDogSFcgUG9pbnRzICovXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1od3Age1xuICAgICAgICBncmlkLWNvbHVtbjogNDtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy1jYXJkX19wb2ludHMtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgfVxuXG4gICAgLyogVGVhbSBDYXJlZXIgV29ybGQgUmFua2luZyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIFJvdyAxOiBbICNyYW5rIHwgW0F2YXRhcl0gVGVhbSBbRmxhZ10gICAgICAgICAgICAgICAgICAgIFtQb2ludHNdIFBUUyBdXG4gICAgICAgUm93IDI6IFsgICAgICAgfCBbQ291bnRdIG1lbWJlcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAqL1xuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1sZWZ0LWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgfVxuXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG4gICAgfVxuXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbiAgICB9XG5cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICB9XG5cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIENvbCAxLCBSb3cgMTogUmFuayAqL1xuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rLFxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayxcbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS14cykgMCAwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgbWluLXdpZHRoOiAyOHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCAyOiBUZWFtICovXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0ge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19hdmF0YXIge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLmNvdW50cnlfZmxhZ3Mge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCAzOiBQb2ludHMgKi9cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMgLnRlYW0tcmFua2luZy1jYXJkX19wb2ludHMtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAyOiBNZW1iZXJzICovXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLW1lbWJlcnMge1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIC0xO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLW1lbWJlcnM6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50ZWFtLXJhbmtpbmctY2FyZF9fbWVtYmVycy1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICB9XG5cbiAgICAvKiBTdWItcG9pbnQgY29sdW1ucyBoaWRkZW4gb24gbW9iaWxlICovXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdscCxcbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHdwLFxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1nbHRwcCxcbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHd0cHAsXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIFNlYXNvbiBMZWFndWUgUmFua2luZyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIFJvdyAxOiBbICNyYW5rIHwgW0F2YXRhcl0gVXNlciBbRmxhZ10gICAgICAgICAgICAgW0F2YXRhcl0gVGVhbSBdXG4gICAgICAgUm93IDI6IFsgICAgICAgfCBbUG9pbnRzXSBQVFMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAqL1xuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcikgYXV0bztcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItbGVmdC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgfVxuXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvKiBDb2wgMSwgUm93IDE6IFJhbmsgKi9cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmssXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKSAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBtaW4td2lkdGg6IDI4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDI6IFVzZXIgKi9cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2F2YXRhciB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLmNvdW50cnlfZmxhZ3Mge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMzogVGVhbSAocmlnaHQtYWxpZ25lZCkgKi9cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0ge1xuICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAuY291bnRyeV9mbGFncyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW06ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIFJvdyAyLCBDb2wgMjogUG9pbnRzICovXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIC0xO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnNlYXNvbi1yYW5raW5nLWNhcmRfX3BvaW50cy1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICB9XG5cbiAgICAvKiBTdWItcG9pbnQgY29sdW1ucyBoaWRkZW4gb24gbW9iaWxlICovXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1nbHAsXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1od3AsXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBUZWFtIFNlYXNvbiBMZWFndWUgUmFua2luZyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIFJvdyAxOiBbICNyYW5rIHwgW0F2YXRhcl0gVGVhbSBbRmxhZ10gICAgICAgICAgICAgICAgICAgIFtQb2ludHNdIFBUUyBdXG4gICAgICAgUm93IDI6IFsgICAgICAgfCBbQ291bnRdIG1lbWJlcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAqL1xuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1sZWZ0LWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgfVxuXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG4gICAgfVxuXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbiAgICB9XG5cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICB9XG5cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIENvbCAxLCBSb3cgMTogUmFuayAqL1xuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rLFxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayxcbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS14cykgMCAwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgbWluLXdpZHRoOiAyOHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCAyOiBUZWFtICovXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0ge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19hdmF0YXIge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLmNvdW50cnlfZmxhZ3Mge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCAzOiBQb2ludHMgKi9cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMgLnRlYW0tc2Vhc29uLXJhbmtpbmctY2FyZF9fcG9pbnRzLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIH1cblxuICAgIC8qIFJvdyAyLCBDb2wgMjogTWVtYmVycyAqL1xuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tZW1iZXJzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyAtMTtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tZW1iZXJzOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy1jYXJkX19tZW1iZXJzLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIH1cblxuICAgIC8qIFN1Yi1wb2ludCBjb2x1bW5zIGhpZGRlbiBvbiBtb2JpbGUgKi9cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZ2xwLFxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1od3AsXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdsdHBwLFxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1od3RwcCxcbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY3Age1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogQ291bnRyeSBMZWFndWUgUmFua2luZyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIFJvdyAxOiBbICNyYW5rIHwgW0ZsYWddIENvdW50cnkgICAgICAgICAgICAgICAgICAgICAgICAgIFtQb2ludHNdIFBUUyBdXG4gICAgICAgUm93IDI6IFsgICAgICAgfCBbQ291bnRdIG1lbWJlcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAqL1xuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1sZWZ0LWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgfVxuXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG4gICAgfVxuXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbiAgICB9XG5cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICB9XG5cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIENvbCAxLCBSb3cgMTogUmFuayAqL1xuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rLFxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS14cykgMCAwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgbWluLXdpZHRoOiAyOHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCAyOiBDb3VudHJ5ICovXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvdW50cnkge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb3VudHJ5IC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY291bnRyeSAuY291bnRyeV9mbGFncyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb3VudHJ5IC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDM6IFBvaW50cyAqL1xuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyAuY291bnRyeS1sZWFndWUtcmFua2luZy1jYXJkX19wb2ludHMtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAyOiBNZW1iZXJzICovXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLW1lbWJlcnMge1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIC0xO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLW1lbWJlcnM6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLWNhcmRfX21lbWJlcnMtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgfVxuXG4gICAgLyogU3ViLXBvaW50IGNvbHVtbnMgaGlkZGVuIG9uIG1vYmlsZSAqL1xuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1nbHAsXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWh3cCxcbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY3Age1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogR2xvYmFsIE1hc3RlcnMgTGVhZ3VlIFJhbmtpbmcgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICBSb3cgMTogWyByYW5rICB8IHVzZXIgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlYW0gKHJpZ2h0KSBdXG4gICAgICAgUm93IDI6IFsgICAgICAgfCBwb2ludHMgKGxlZnQpICAgICAgICB3ciBwb2ludHMgKG1pZCkgICAgIGdsIHBvaW50cyAocmlnaHQpIF1cbiAgICAqL1xuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDEuMmZyKSBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItbGVmdC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvKiBDb2wgMSwgUm93IDE6IFJhbmsgKi9cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmssXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKSAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBtaW4td2lkdGg6IDI4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDItMzogVXNlciAqL1xuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gNDtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2F2YXRhciB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLmNvdW50cnlfZmxhZ3Mge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG1heC13aWR0aDogMTMwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDQ6IFRlYW0gKHJpZ2h0LWFsaWduZWQpICovXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDQ7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2F2YXRhciB7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLmNvdW50cnlfZmxhZ3Mge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG1heC13aWR0aDogMTEwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDI6IFBvaW50cyAqL1xuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDM6IFdSIFBvaW50cyAqL1xuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtd3JwIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCA0OiBHTCBQb2ludHMgKi9cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWdscCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiA0O1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1tYXN0ZXJzLWNhcmRfX3BvaW50cy1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICB9XG5cbiAgICAvKiBIYXJkd2FyZSBNYXN0ZXJzIExlYWd1ZSBSYW5raW5nIENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgUm93IDE6IFsgcmFuayAgfCB1c2VyIChsZWZ0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZWFtIChyaWdodCkgXVxuICAgICAgIFJvdyAyOiBbICAgICAgIHwgaHdwIChsZWZ0KSAgICAgICAgICAgMmRwIChtaWQpICAgICAgICAgICAgICAgICAgM2RwIChyaWdodCkgXVxuICAgICovXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxLjJmcikgbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDFmcik7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWxlZnQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLyogQ29sIDEsIFJvdyAxOiBSYW5rICovXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmssXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MgdGQuY29sLXJhbmssXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKSAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBtaW4td2lkdGg6IDI4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDItMzogVXNlciAqL1xuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyA0O1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2F2YXRhciB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAuY291bnRyeV9mbGFncyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBtYXgtd2lkdGg6IDEzMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCA0OiBUZWFtIChyaWdodC1hbGlnbmVkKSAqL1xuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDQ7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19hdmF0YXIge1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLmNvdW50cnlfZmxhZ3Mge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMTBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbTplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAyOiBQb2ludHMgKi9cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDM6IDJEIFBvaW50cyAqL1xuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC0yZHAge1xuICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDQ6IDNEIFBvaW50cyAqL1xuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC0zZHAge1xuICAgICAgICBncmlkLWNvbHVtbjogNDtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLWNhcmRfX3BvaW50cy1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICB9XG5cbiAgICAvKiBDb21wZXRpdGlvbiBTdGFnZSBSYW5raW5nIENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgWyByYW5rIHwgY29tcGV0aXRvciAgICAgICAgICAgICAgICAgICAgIHBvaW50cyBdXG4gICAgICAgWyAgICAgIHwgc2NvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgWyAgICAgIHwgaW1hZ2VzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgKi9cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGhlYWQgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcikgYXV0bztcbiAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcmFuayB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBtaW4td2lkdGg6IDIwcHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0aGVhZCB0ciB0aC5jb2wtY29tcGV0aXRvciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcG9pbnRzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zY29yZSxcbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGhlYWQgdHIgdGguY29sLXN1Ym1pc3Npb25zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICAgICAgICByb3ctZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItbGVmdC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIudGFibGUtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1mb3VyLWZpdmUpO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIENvbCAxLCBSb3cgMTogUmFuayAqL1xuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MgdGQuY29sLXJhbmsge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgbWluLXdpZHRoOiAyNHB4O1xuICAgICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmsge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG4gICAgfVxuXG4gICAgLyogQ29sIDIsIFJvdyAxOiBDb21wZXRpdG9yICovXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb21wZXRpdG9yIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvbXBldGl0b3IgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29tcGV0aXRvciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLyogQ29sIDMsIFJvdyAxOiBQb2ludHMgKi9cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvKiBDb2wgMi0zLCBSb3cgMjogUHJpbWFyeSBTY29yZSAqL1xuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUge1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIC0xO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLyogQ29sIDItMywgUm93IDM6IEltYWdlcyAqL1xuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VibWlzc2lvbnMge1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIC0xO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJtaXNzaW9uczplbXB0eSxcbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1Ym1pc3Npb25zLS1lbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogQ29tcGV0aXRpb24gU2NvcmVib2FyZCBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIENvbXBhY3QgMi1jb2x1bW4gY2FyZCB3aXRoIGhvcml6b250YWwgc2Nyb2xsYWJsZSBzdGFnZS9jdXAgc3RyaXAgKi9cbiAgICAuY29tcG8tc2NvcmVib2FyZC1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1oZWFkZXJfX3Jhbmsge1xuICAgICAgICBtaW4td2lkdGg6IDIwcHg7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtaGVhZGVyX19jb250ZW50IHtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtY2FyZCB7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC5jb21wby1zY29yZWJvYXJkLWNhcmRfX3Jhbmsge1xuICAgICAgICBtaW4td2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIH1cblxuICAgIC5jb21wby1zY29yZWJvYXJkLWNhcmRfX2NvbnRlbnQge1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9faGVhZGVyIHtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1jYXJkX19wYXJ0aWNpcGFudCAuY291bnRyeV9mbGFncyB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLXNwYWNlLXNtKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1jYXJkX19hdmF0YXIge1xuICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgIH1cblxuICAgIC5jb21wby1zY29yZWJvYXJkLWNhcmRfX25hbWUge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fdG90YWwtdmFsdWUge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fY3VwcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1jYXJkX19jdXBzOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtY3VwIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHBhZGRpbmc6IDJweCA2cHg7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1jdXBfX2xhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1jdXBfX3Njb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1jdXBfX3BvaW50cyB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgfVxuXG4gICAgLyogVXNlciBSYW5raW5nIExvZyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIHwgZGF0ZSAgICAgICAgICAgICAgICAgICAgICAgc2NvcmUgICAgICB8XG4gICAgICAgfCBiZW5jaG1hcmsgICAgICAgICAgICAgICAgICBoYXJkd2FyZSAgIHxcbiAgICAgICB8IHJhbmsgc2hpZnQgICAgICAgICAgICAgICAgIHBvaW50cyAgICAgfFxuICAgICovXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlLFxuICAgIC5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5yYW5raW5nLWxvZy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgfVxuXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLyogSGlkZSBVc2VyLCBSYW5raW5nIGNhdGVnb3J5LCBhbmQgc3RhbmRhbG9uZSBDb29saW5nIG9uIG1vYmlsZSBjYXJkICovXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyLFxuICAgIC5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFua2luZyxcbiAgICAucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmcge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogUm93IDE6IExlZnQgPSBEYXRlLCBSaWdodCA9IFNjb3JlICovXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1kYXRlIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGEge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIH1cblxuICAgIC8qIFJvdyAyOiBMZWZ0ID0gQmVuY2htYXJrLCBSaWdodCA9IEhhcmR3YXJlICovXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZW5jaG1hcmsge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSB7XG4gICAgICAgIG9yZGVyOiA0O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIC5yYW5raW5nLWxvZy1jb3JlcyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC10ZXJ0aWFyeSk7XG4gICAgfVxuXG4gICAgLyogUm93IDM6IExlZnQgPSBSYW5rIHNoaWZ0LCBSaWdodCA9IFBvaW50cyBzaGlmdCAqL1xuICAgIC5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayB7XG4gICAgICAgIG9yZGVyOiA1O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2Utcyk7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgICAgICBvcmRlcjogNjtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2Utcyk7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgIH1cblxuICAgIC5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBVc2VyIFBvaW50cyBUYWJsZSBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIEJlbmNobWFyayBDYXJkOlxuICAgICAgIHwgYmVuY2htYXJrICAgICAgICAgICAgICAgICAgICAgIHNjb3JlIHxcbiAgICAgICB8IGhhcmR3YXJlICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAgICAgfCBjb29saW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICAgIHwgcmFuayAodHJvcGh5LyMpICAgICAgICAgICAgICAgcG9pbnRzIHxcbiAgICAgICBDb21wZXRpdGlvbiBDYXJkOlxuICAgICAgIHwgY29tcGV0aXRpb24gICAgICAgICAgICAgICAgICAgIGxldmVsIHxcbiAgICAgICB8IGRhdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAgICAgfCByYW5rICh0cm9waHkvIykgICAgICAgICAgICAgICBwb2ludHMgfFxuICAgICovXG4gICAgLnVzZXItcG9pbnRzLXRhYmxlLFxuICAgIC51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC51c2VyLXBvaW50cy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgfVxuXG4gICAgLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLyogQmVuY2htYXJrIGNhcmQgZmllbGRzICovXG4gICAgLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZW5jaG1hcmsge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIH1cblxuICAgIC51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgIH1cblxuICAgIC51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmU6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZyB7XG4gICAgICAgIG9yZGVyOiA0O1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgIH1cblxuICAgIC51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZzplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1kYXRlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsge1xuICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXMpO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIH1cblxuICAgIC51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICAgICAgb3JkZXI6IDY7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXMpO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICB9XG5cbiAgICAvKiBDb21wZXRpdGlvbiBjYXJkIHNwZWNpZmljcyAqL1xuICAgIC51c2VyLXBvaW50cy10YWJsZS0tY29tcGV0aXRpb24gdGJvZHkgdHIgdGQuY29sLWNvbXBldGl0aW9uIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICB9XG5cbiAgICAudXNlci1wb2ludHMtdGFibGUtLWNvbXBldGl0aW9uIHRib2R5IHRyIHRkLmNvbC1sZXZlbCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAudXNlci1wb2ludHMtdGFibGUtLWNvbXBldGl0aW9uIHRib2R5IHRyIHRkLmNvbC1kYXRlIHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAucmFua2luZy1oaWdobGlnaHQtZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAvKiBVc2VyIFByb2ZpbGUgJiBUZWFtIFdhbGwgUmVzcG9uc2l2ZSBDYXJkIExheW91dCAoPD0gMTIwMHB4KSAqL1xuICAgIC53YWxsLXN1Ym1pc3Npb24tY2FyZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIH1cblxuICAgIC53YWxsLWNhcmRfX2JvZHkge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLndhbGwtY2FyZF9fdXNlciB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC53YWxsLWNhcmRfX3Njb3JlIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICB9XG5cbiAgICAud2FsbC1jYXJkX19iZW5jaG1hcmsge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIH1cblxuICAgIC53YWxsLWNhcmRfX2hhcmR3YXJlIHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAud2FsbC1jYXJkX19kYXRlIHtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgfVxuXG4gICAgLndhbGwtY2FyZF9fY29yZXMge1xuICAgICAgICBvcmRlcjogNjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAud2FsbC1jYXJkX19jb29saW5nIHtcbiAgICAgICAgb3JkZXI6IDc7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICB9XG5cbiAgICAud2FsbC1jYXJkX19jb29saW5nOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAud2FsbC1jYXJkX19yYW5raW5ncyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTMwcHgsIDFmcikpO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAud2FsbC1jYXJkX19yYW5raW5ncyAuZ3JpZC1zcGVjIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAud2FsbC1jYXJkX19yYW5raW5ncyAuZ3JpZC1zcGVjLXJvdyB7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLndhbGwtY2FyZF9fcmFua2luZ3MgLmF0dHJpYnV0ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICB9XG5cbiAgICAud2FsbC1jYXJkX19yYW5raW5ncyAudmFsdWUge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIC53YWxsLWNhcmRfX3JhbmtpbmdzIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLndhbGwtY2FyZF9fcmFua2luZ3MgLmdyaWQtc3BlYy1yb3ctLXN0YWNrZWQge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAud2FsbC1jYXJkX19yYW5raW5ncyAudmFsdWUge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIEJlbmNobWFyayBSYW5raW5nIFRhYmxlIC0gQ2FyZC1iYXNlZCAzLUxpbmUgTGVhZGVyYm9hcmQgKDw9IDEyMDBweClcbiAgICAgICB8IHJhbmsgfCBzY29yZSAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyICAgIHxcbiAgICAgICB8ICAgICAgfCBjb3JlcyBoYXJkd2FyZSAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICB8ICAgICAgfCBjb29saW5nICAgICAgICAgICAgICAgICAgICAgICBwb2ludHMgIHxcbiAgICAqL1xuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcikgYXV0bztcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG8gYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1sZWZ0LWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIENvbCAxLCBSb3cgMTogUmFuayAqL1xuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MgdGQuY29sLXJhbmsge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UteHMpIDAgMDtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcmFuayB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgbWluLXdpZHRoOiAyOHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCAyOiBTY29yZSAqL1xuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGEge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYTpob3ZlcixcbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGE6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMzogVXNlciAqL1xuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBtYXgtd2lkdGg6IDE0MHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDItMzogQ29yZXMgKyBIYXJkd2FyZSAqL1xuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUge1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIDQ7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19oYXJkd2FyZSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2hhcmR3YXJlIHNwYW46bm90KC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2NvcmVzKTpub3QoLnJhbmtpbmctaGlnaGxpZ2h0LWNhcmRfX2NvcmVzKTpub3QoLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fY2xvY2spIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19jbG9jayB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5yYW5raW5nLWhpZ2hsaWdodC1jYXJkX19tZXRhIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2Nsb2NrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIFJvdyAzLCBDb2wgMjogQ29vbGluZyAqL1xuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZzplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogUm93IDMsIENvbCAzOiBQb2ludHMgKi9cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHM6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIEhpZGUgRGVkaWNhdGVkIEJlbmNobWFyay9Db3JlcyBDb2x1bW4gb24gTW9iaWxlIChjb3JlcyBhcmUgaW5saW5lZCBpbiBjb2wtaGFyZHdhcmUpICovXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZW5jaG1hcmsge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogQmVuY2htYXJrIEZpcnN0IFNwb3RzIFRhYmxlIC0gMi1Sb3cgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICBSb3cgMTogWyBjb3JlcyAobGVmdCkgICAgc2NvcmUgKGxlZnQpICAgIGhhcmR3YXJlIChyZXN0KSBdXG4gICAgICAgUm93IDI6IFsgdXNlciAobGVmdCkgICAgIGNvb2xpbmcgKG1pZCkgICB2b3RlIChyaWdodCkgICAgXVxuICAgICovXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1sZWZ0LWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMTogQ29yZXMgLyBCZW5jaG1hcmsgY2F0ZWdvcnkgKi9cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZW5jaG1hcmsge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2JlbmNobWFyay1saW5rIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCAyOiBTY29yZSAqL1xuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYTpob3ZlcixcbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWhvdmVyKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDMtNDogSGFyZHdhcmUgKHNwYW5zIHRvIHJpZ2h0IGVkZ2UpICovXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUge1xuICAgICAgICBncmlkLWNvbHVtbjogMyAvIC0xO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9faGFyZHdhcmUge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19oYXJkd2FyZSBzcGFuOm5vdCgudG9kYXktc3VibWlzc2lvbi1jYXJkX19jbG9jaykge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19jbG9jayB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDEtMjogVXNlciAoc3BhbnMgY29scyAxIGFuZCAyKSAqL1xuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIDM7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2F2YXRhciB7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAzOiBDb29saW5nIGJhZGdlICovXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmc6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIFJvdyAyLCBDb2wgNDogVm90ZSBwaWxsIChwaW5uZWQgdG8gcmlnaHQpICovXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiA0O1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyAudG9kYXktc3VibWlzc2lvbi1jYXJkX19hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cblxuICAgIC8qIE1lbWJlciBDYXJkIFJvdyBNYXBwaW5nICg8PSAxMjAwcHgpXG4gICAgICAgUm93IDE6IFsgdXNlciAobGVmdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVhbSAocmlnaHQpIF1cbiAgICAgICBSb3cgMjogWyBsZWFndWUgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpbmNlIChyaWdodCkgXVxuICAgICAgIFJvdyAzOiBbIHJhbmsgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludHMgKHJpZ2h0KSBdXG4gICAgKi9cbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICB9XG5cbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rLFxuICAgIC5tZW1iZXItdGFibGUgdGJvZHkgdHIgdGQuY29sLXJvbGVzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIFJvdyAxOiBMZWZ0ID0gVXNlciwgUmlnaHQgPSBUZWFtICovXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAubWVtYmVyLWNhcmRfX25hbWUge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgICAgIG1heC13aWR0aDogMTQwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAubWVtYmVyLWNhcmRfX25hbWU6aG92ZXIsXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAubWVtYmVyLWNhcmRfX25hbWU6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xuICAgIH1cblxuICAgIC5tZW1iZXItdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0ge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC5tZW1iZXItY2FyZF9fdGVhbSB7XG4gICAgICAgIG1heC13aWR0aDogbWluKDE2MHB4LCA0NXZ3KTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMjogTGVmdCA9IExlYWd1ZSwgUmlnaHQgPSBTaW5jZSAqL1xuICAgIC5tZW1iZXItdGFibGUgdGJvZHkgdHIgdGQuY29sLWxlYWd1ZSB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGVhZ3VlOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1qb2luZWQge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtam9pbmVkOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMzogTGVmdCA9IFJhbmssIFJpZ2h0ID0gUG9pbnRzICovXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2FyZWVyLXJhbmsge1xuICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jYXJlZXItcmFuazplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2FyZWVyLXBvaW50cyB7XG4gICAgICAgIG9yZGVyOiA2O1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC5tZW1iZXItdGFibGUgdGJvZHkgdHIgdGQuY29sLWNhcmVlci1wb2ludHM6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIEFjdGlvbnMgKEltcGVyc29uYXRlIGZvciBBZG1pbikgKi9cbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIHtcbiAgICAgICAgb3JkZXI6IDc7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiA0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB9XG5cbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBUZWFtIENhcmQgUm93IE1hcHBpbmcgKDw9IDEyMDBweCkgKi9cbiAgICAudGVhbS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgfVxuXG4gICAgLnRlYW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmssXG4gICAgLnRlYW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLWNhcHRhaW5zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC50ZWFtLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAudGVhbS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudGVhbS1jYXJkX19uYW1lIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIH1cblxuICAgIC50ZWFtLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50ZWFtLWNhcmRfX25hbWU6aG92ZXIsXG4gICAgLnRlYW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRlYW0tY2FyZF9fbmFtZTphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1ob3Zlcik7XG4gICAgfVxuXG4gICAgLnRlYW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLW1lbWJlcnMge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgMDtcbiAgICB9XG5cbiAgICAudGVhbS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWVtYmVyczplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLXN0YXR1cyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLnRlYW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLXN0YXR1czplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogU3VibWlzc2lvbnMgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICBSb3cgMTogWyBiZW5jaG1hcmsgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29yZSAocmlnaHQpIF1cbiAgICAgICBSb3cgMjogWyBoYXJkd2FyZSAobGVmdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29vbGluZyAocmlnaHQpIF1cbiAgICAgICBSb3cgMzogWyB1c2VyIChsZWZ0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50cyAocmlnaHQpIF1cbiAgICAqL1xuICAgIC5zZWFyY2gtc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIsXG4gICAgLnRlYW0tc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIGF1dG87XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnNlYXJjaC1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudGVhbS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMTogTGVmdCA9IEJlbmNobWFyaywgUmlnaHQgPSBTY29yZSAqL1xuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5zZWFyY2gtc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWJlbmNobWFyayxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudGVhbS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuc2VhcmNoLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudGVhbS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMjogTGVmdCA9IEhhcmR3YXJlLCBSaWdodCA9IENvb2xpbmcgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuc2VhcmNoLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudGVhbS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5zZWFyY2gtc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmcsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRlYW0tc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmcge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC8qIFJvdyAzOiBMZWZ0ID0gVXNlciwgUmlnaHQgPSBQb2ludHMgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuc2VhcmNoLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50ZWFtLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnNlYXJjaC1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudGVhbS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuc2VhcmNoLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRlYW0tc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG1heC13aWR0aDogMTYwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnNlYXJjaC1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50ZWFtLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgICAgICBvcmRlcjogNjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnNlYXJjaC1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzOmVtcHR5LFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50ZWFtLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHM6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5zZWFyY2gtc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wb2ludHMsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRlYW0tc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wb2ludHMge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC8qIFRlYW0gQ3VwcyBhbmQgTWVkYWxzIENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgfCByYW5rICAgfCB1c2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICB8ICAgICAgICB8IGdvbGQgICAgc2lsdmVyICAgIGJyb256ZSAgICAgICBtZWRhbHMgfFxuICAgICovXG4gICAgLnRlYW0tY3Vwcy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byByZXBlYXQoNCwgMWZyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRlYW0tY3Vwcy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbiAgICB9XG5cbiAgICAudGVhbS1jdXBzLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgfVxuXG4gICAgLnRlYW0tY3Vwcy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICB9XG5cbiAgICAudGVhbS1jdXBzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC50ZWFtLWN1cHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcmFuayB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICBtaW4td2lkdGg6IDI0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRlYW0tY3Vwcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC50ZWFtLWN1cHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLnRlYW0tY3Vwcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLnRlYW0tY3Vwcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdHJvcGh5IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC50ZWFtLWN1cHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRyb3BoeS0tZ29sZCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICB9XG5cbiAgICAudGVhbS1jdXBzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10cm9waHktLXNpbHZlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRlYW0tY3Vwcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdHJvcGh5LS1icm9uemUge1xuICAgICAgICBncmlkLWNvbHVtbjogNDtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICAgIH1cblxuICAgIC50ZWFtLWN1cHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRyb3BoeS0tbWVkYWxzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDU7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC8qIFRlYW0gUG9pbnRzIENvbnRyaWJ1dGlvbiBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIHwgcmFuayAgIHwgdXNlciAgICAgICAgICAgICAgICAgICB8XG4gICAgICAgfCAgICAgICAgfCBwb2ludHMgICAgICAgICAgbGVhZ3VlIHxcbiAgICAqL1xuICAgIC50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnIgYXV0bztcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRlYW0tcG9pbnRzLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIH1cblxuICAgIC50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIH1cblxuICAgIC50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICB9XG5cbiAgICAudGVhbS1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRlYW0tcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3Jhbmsge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgbWluLXdpZHRoOiAyNHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAudGVhbS1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRlYW0tcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sZWFndWUge1xuICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAudGVhbS1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWxlYWd1ZTplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tZXRyaWMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIFRlYW0gTWVtYmVycyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIHwgdXNlciAgICAgICAgICAgICAgICAgICAgICAgICBsZWFndWUgfFxuICAgICAgIHwgam9pbmVkICAgICAgICAgICAgICAgICAgICAgIHZpc2l0ZWQgfFxuICAgICAgIHwgYWN0aW9ucyAoYm90dG9tIHJvdykgICAgICAgICAgICAgICAgfFxuICAgICovXG4gICAgLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICB9XG5cbiAgICAudGVhbS1tZW1iZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIH1cblxuICAgIC50ZWFtLW1lbWJlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWxlYWd1ZSB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAudGVhbS1tZW1iZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sZWFndWU6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50ZWFtLW1lbWJlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJvbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50ZWFtLW1lbWJlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWpvaW5lZCB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBmbGV4OiAwIDAgY2FsYyg1MCUgLSAodmFyKC0tc3BhY2Utc20pIC8gMikpO1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAodmFyKC0tc3BhY2Utc20pIC8gMikpO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC50ZWFtLW1lbWJlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWpvaW5lZDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdmlzaXQge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGZsZXg6IDAgMCBjYWxjKDUwJSAtICh2YXIoLS1zcGFjZS1zbSkgLyAyKSk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICh2YXIoLS1zcGFjZS1zbSkgLyAyKSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAudGVhbS1tZW1iZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC12aXNpdDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyB7XG4gICAgICAgIG9yZGVyOiA1O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9uczplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tbWVtYmVyLWRhdGVfX2xhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cblxuICAgIC8qIFRlYW0gUmVxdWVzdHMgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICB8IHVzZXIgICAgICAgICAgICAgICAgICAgICAgICAgbGVhZ3VlIHxcbiAgICAgICB8IGpvaW5lZCAgICAgICAgICAgICAgICAgICAgICB2aXNpdGVkIHxcbiAgICAgICB8IGFjdGlvbnMgKGJvdHRvbSByb3cpICAgICAgICAgICAgICAgIHxcbiAgICAqL1xuICAgIC50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIH1cblxuICAgIC50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIH1cblxuICAgIC50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sZWFndWUge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLnRlYW0tcmVxdWVzdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWxlYWd1ZTplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tcmVxdWVzdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1qb2luZWQge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgZmxleDogMCAwIGNhbGMoNTAlIC0gKHZhcigtLXNwYWNlLXNtKSAvIDIpKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gKHZhcigtLXNwYWNlLXNtKSAvIDIpKTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAudGVhbS1yZXF1ZXN0cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtam9pbmVkOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudGVhbS1yZXF1ZXN0cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdmlzaXQge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGZsZXg6IDAgMCBjYWxjKDUwJSAtICh2YXIoLS1zcGFjZS1zbSkgLyAyKSk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICh2YXIoLS1zcGFjZS1zbSkgLyAyKSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAudGVhbS1yZXF1ZXN0cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdmlzaXQ6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIHtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB9XG5cbiAgICAudGVhbS1yZXF1ZXN0cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9uczplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogSGFyZHdhcmUgQ2FyZCBSb3cgTWFwcGluZ3MgKDw9IDEyMDBweCkgKi9cbiAgICAuZ3B1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCxcbiAgICAuY3B1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCxcbiAgICAubWItdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsLFxuICAgIC5tZW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsLFxuICAgIC5jb29saW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCxcbiAgICAucHN1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCxcbiAgICAuZGlzay10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuZ3B1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCBhLmdwdS1jYXJkX19uYW1lLFxuICAgIC5jcHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsIGEuY3B1LWNhcmRfX25hbWUsXG4gICAgLm1iLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCBhLm1iLWNhcmRfX25hbWUsXG4gICAgLm1lbS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwgYS5tZW0tY2FyZF9fbmFtZSxcbiAgICAuY29vbGluZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwgYS5jb29saW5nLWNhcmRfX25hbWUsXG4gICAgLnBzdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwgYS5wc3UtY2FyZF9fbmFtZSxcbiAgICAuZGlzay10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwgYS5kaXNrLWNhcmRfX25hbWUsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCA6aXMoLmNwdS1jYXJkX19uYW1lLCAuZ3B1LWNhcmRfX25hbWUsIC5tYi1jYXJkX19uYW1lLCAubWVtLWNhcmRfX25hbWUsIC5kaXNrLWNhcmRfX25hbWUsIC5wc3UtY2FyZF9fbmFtZSwgLmNvb2xpbmctY2FyZF9fbmFtZSksXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCA6aXMoLmNwdS1jYXJkX19uYW1lLCAuZ3B1LWNhcmRfX25hbWUsIC5tYi1jYXJkX19uYW1lLCAubWVtLWNhcmRfX25hbWUsIC5kaXNrLWNhcmRfX25hbWUsIC5wc3UtY2FyZF9fbmFtZSwgLmNvb2xpbmctY2FyZF9fbmFtZSk6aXMoOmxpbmssIDp2aXNpdGVkKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB9XG5cbiAgICAuZ3B1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCBhLmdwdS1jYXJkX19uYW1lOmhvdmVyLFxuICAgIC5ncHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsIGEuZ3B1LWNhcmRfX25hbWU6YWN0aXZlLFxuICAgIC5jcHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsIGEuY3B1LWNhcmRfX25hbWU6aG92ZXIsXG4gICAgLmNwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwgYS5jcHUtY2FyZF9fbmFtZTphY3RpdmUsXG4gICAgLm1iLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCBhLm1iLWNhcmRfX25hbWU6aG92ZXIsXG4gICAgLm1iLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCBhLm1iLWNhcmRfX25hbWU6YWN0aXZlLFxuICAgIC5tZW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsIGEubWVtLWNhcmRfX25hbWU6aG92ZXIsXG4gICAgLm1lbS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwgYS5tZW0tY2FyZF9fbmFtZTphY3RpdmUsXG4gICAgLmNvb2xpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsIGEuY29vbGluZy1jYXJkX19uYW1lOmhvdmVyLFxuICAgIC5jb29saW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCBhLmNvb2xpbmctY2FyZF9fbmFtZTphY3RpdmUsXG4gICAgLnBzdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwgYS5wc3UtY2FyZF9fbmFtZTpob3ZlcixcbiAgICAucHN1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCBhLnBzdS1jYXJkX19uYW1lOmFjdGl2ZSxcbiAgICAuZGlzay10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwgYS5kaXNrLWNhcmRfX25hbWU6aG92ZXIsXG4gICAgLmRpc2stdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsIGEuZGlzay1jYXJkX19uYW1lOmFjdGl2ZSxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsIDppcyguY3B1LWNhcmRfX25hbWUsIC5ncHUtY2FyZF9fbmFtZSwgLm1iLWNhcmRfX25hbWUsIC5tZW0tY2FyZF9fbmFtZSwgLmRpc2stY2FyZF9fbmFtZSwgLnBzdS1jYXJkX19uYW1lLCAuY29vbGluZy1jYXJkX19uYW1lKTppcyg6aG92ZXIsIDphY3RpdmUpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xuICAgIH1cblxuICAgIC5ncHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnMsXG4gICAgLmNwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VicyxcbiAgICAubWItdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnMsXG4gICAgLm1lbS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VicyxcbiAgICAuY29vbGluZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdHlwZSxcbiAgICAucHN1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzLFxuICAgIC5kaXNrLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICB9XG5cbiAgICAuZ3B1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzOmVtcHR5LFxuICAgIC5jcHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnM6ZW1wdHksXG4gICAgLm1iLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzOmVtcHR5LFxuICAgIC5tZW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnM6ZW1wdHksXG4gICAgLmNvb2xpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXR5cGU6ZW1wdHksXG4gICAgLnBzdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3ViczplbXB0eSxcbiAgICAuZGlzay10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3ViczplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogR1BVICovXG4gICAgLmdwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2xvY2sge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgfVxuXG4gICAgLmdwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29yZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgfVxuXG4gICAgLmdwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWVtb3J5IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgfVxuXG4gICAgLmdwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2xvY2s6ZW1wdHksXG4gICAgLmdwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29yZTplbXB0eSxcbiAgICAuZ3B1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tZW1vcnk6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIENQVSAqL1xuICAgIC5jcHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNsb2NrIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgIH1cblxuICAgIC5jcHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvcmVzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICB9XG5cbiAgICAuY3B1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hcmNoIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgfVxuXG4gICAgLmNwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2xvY2s6ZW1wdHksXG4gICAgLmNwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29yZXM6ZW1wdHksXG4gICAgLmNwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYXJjaDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogTW90aGVyYm9hcmQgKi9cbiAgICAubWItdGFibGUgdGJvZHkgdHIgdGQuY29sLWNoaXBzZXQge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgfVxuXG4gICAgLm1iLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sYXVuY2gge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgIH1cblxuICAgIC5tYi10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2hpcHNldDplbXB0eSxcbiAgICAubWItdGFibGUgdGJvZHkgdHIgdGQuY29sLWxhdW5jaDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogTWVtb3J5ICovXG4gICAgLm1lbS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2xvY2sge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgfVxuXG4gICAgLm1lbS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmVsZWFzZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgfVxuXG4gICAgLm1lbS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2xvY2s6ZW1wdHksXG4gICAgLm1lbS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmVsZWFzZTplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogUG93ZXIgU3VwcGx5ICovXG4gICAgLnBzdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtd2F0dCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICB9XG5cbiAgICAucHN1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yZWxlYXNlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICB9XG5cbiAgICAucHN1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC13YXR0OmVtcHR5LFxuICAgIC5wc3UtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJlbGVhc2U6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIERpc2sgKi9cbiAgICAuZGlzay10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29udHJvbGxlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICB9XG5cbiAgICAuZGlzay10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2FwYWNpdHkge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICB9XG5cbiAgICAuZGlzay10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29udHJvbGxlcjplbXB0eSxcbiAgICAuZGlzay10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2FwYWNpdHk6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIEhhcmR3YXJlIFJlY29yZHMgVGFibGUgKDw9IDEyMDBweClcbiAgICAgICBSb3cgMTogWyBiZW5jaG1hcmsgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29yZSAocmlnaHQpIF1cbiAgICAgICBSb3cgMjogWyB1c2VyIChsZWZ0KSAgICAgICAgICBkYXRlIChjZW50ZXIpICAgICAgICAgIHBvaW50cyAocmlnaHQpIF1cbiAgICAgICBSb3cgMzogWyB0ZWFtLXJlY29yZCAobGVmdCA1MCUpICAgICAgIHVzZXItcmVjb3JkIChyaWdodCA1MCUpICAgICAgIF1cbiAgICAqL1xuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBhdXRvIGF1dG8gbWlubWF4KDAsIDFmcik7XG4gICAgICAgIHJvdy1nYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgLyogUm93IDE6IExlZnQgPSBCZW5jaG1hcmssIFJpZ2h0ID0gU2NvcmUgKi9cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyA0O1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIC5ody1yZWNvcmRzLXRhYmxlX19iZW5jaG1hcmsge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2JlbmNobWFyay1saW5rIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZW5jaG1hcmsgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYmVuY2htYXJrLWxpbmsgc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWJlbmNobWFyayAudG9kYXktc3VibWlzc2lvbi1jYXJkX192ZXJzaW9uIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDQ7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSxcbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYTppcyg6bGluaywgOnZpc2l0ZWQpLFxuICAgIC5ody1yZWNvcmRzLXRhYmxlIC5ody1yZWNvcmRzLXRhYmxlX19jb250ZXh0LXNjb3JlLFxuICAgIC5ody1yZWNvcmRzLXRhYmxlIC5ody1yZWNvcmRzLXRhYmxlX19jb250ZXh0LXNjb3JlOmlzKDpsaW5rLCA6dmlzaXRlZCkge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGE6aXMoOmhvdmVyLCA6YWN0aXZlKSxcbiAgICAuaHctcmVjb3Jkcy10YWJsZSAuaHctcmVjb3Jkcy10YWJsZV9fY29udGV4dC1zY29yZTppcyg6aG92ZXIsIDphY3RpdmUpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xuICAgIH1cblxuICAgIC8qIFJvdyAyOiBMZWZ0ID0gVXNlciwgQ2VudGVyID0gRGF0ZSwgUmlnaHQgPSBQb2ludHMgKi9cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWRhdGUge1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIDQ7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDQ7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlcjplbXB0eSxcbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzOmVtcHR5LFxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1kYXRlOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMzogTGVmdCA1MCUgPSBUZWFtIFJlY29yZCwgUmlnaHQgNTAlID0gUGVyc29uYWwgUmVjb3JkIChoaWRkZW4gaWYgbm8gY29udGV4dCByZWNvcmRzIGV4aXN0KSAqL1xuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyLmh3LXJlYy0tbm8tY29udGV4dCB0ZC5jb2wtdGVhbS1yZWNvcmQsXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIuaHctcmVjLS1uby1jb250ZXh0IHRkLmNvbC11c2VyLXJlY29yZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0tcmVjb3JkLFxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyLXJlY29yZCB7XG4gICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0tcmVjb3JkIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAzO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXItcmVjb3JkIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDMgLyA1O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0tcmVjb3JkIC5ody1yZWNvcmRzLXRhYmxlX19jb250ZXh0LWJveCxcbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlci1yZWNvcmQgLmh3LXJlY29yZHMtdGFibGVfX2NvbnRleHQtYm94IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0tcmVjb3JkIC5ody1yZWNvcmRzLXRhYmxlX19jb250ZXh0LWxhYmVsLFxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyLXJlY29yZCAuaHctcmVjb3Jkcy10YWJsZV9fY29udGV4dC1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtLXJlY29yZCAuaHctcmVjb3Jkcy10YWJsZV9fcmFuay1waWxsLFxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyLXJlY29yZCAuaHctcmVjb3Jkcy10YWJsZV9fcmFuay1waWxsIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0tcmVjb3JkIC5ody1yZWNvcmRzLXRhYmxlX19jb250ZXh0LXNjb3JlLFxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyLXJlY29yZCAuaHctcmVjb3Jkcy10YWJsZV9fY29udGV4dC1zY29yZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXItcmVjb3JkIC5ody1yZWNvcmRzLXRhYmxlX19wb2ludCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG59XG4vKiBNZW1iZXIgQ2VsbCBDb21wb25lbnRzICovXG4ubWVtYmVyLWNhcmRfX3VzZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4ubWVtYmVyLWNhcmRfX2F2YXRhciB7XG4gICAgd2lkdGg6IHZhcigtLXNwYWNlLXhsKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNwYWNlLXhsKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4ubWVtYmVyLWNhcmRfX25hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ubWVtYmVyLWNhcmRfX25hbWU6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbn1cblxuLm1lbWJlci1jYXJkX191c2VyIC5jb3VudHJ5X2ZsYWdzIHtcbiAgICB3aWR0aDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGhlaWdodDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ubWVtYmVyLWNhcmRfX3JvbGVzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5tZW1iZXItY2FyZF9faGVhZGVyLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5tZW1iZXItY2FyZF9faW1wZXJzb25hdGUtZm9ybSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ubWVtYmVyLWNhcmRfX2ltcGVyc29uYXRlLWJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHZhcigtLXNwYWNlLXNtKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubWVtYmVyLWNhcmRfX3RlYW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLm1lbWJlci1jYXJkX190ZWFtIHNwYW4ge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5tZW1iZXItY2FyZF9fdGVhbTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xufVxuXG4ubWVtYmVyLWNhcmRfX3RlYW0tYXZhdGFyIHtcbiAgICB3aWR0aDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIGhlaWdodDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5tZW1iZXItY2FyZF9fdGVhbS0tbm9uZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4ubWVtYmVyLWNhcmRfX3RlYW0tLW5vbmUgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5tZW1iZXItY2FyZF9fc3Vic3BlYyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgcGFkZGluZzogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctY2FyZCk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG59XG5cbi5tZW1iZXItY2FyZF9fc3Vic3BlYyBpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLm1lbWJlci1jYXJkX19zdGF0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2UteHMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ubWVtYmVyLWNhcmRfX3BvaW50cy1zY29yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1lbWJlci1jYXJkX19wb2ludHMtc2NvcmUgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbn1cblxuLm1lbWJlci1jYXJkX19wb2ludHMtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XG59XG5cbi8qIFRlYW0gQ2VsbCBDb21wb25lbnRzICovXG4udGVhbS1jYXJkX19pZGVudGl0eSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4udGVhbS1jYXJkX19hdmF0YXIge1xuICAgIHdpZHRoOiB2YXIoLS1zcGFjZS14bCk7XG4gICAgaGVpZ2h0OiB2YXIoLS1zcGFjZS14bCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLnRlYW0tY2FyZF9fbmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi50ZWFtLWNhcmRfX25hbWU6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbn1cblxuLnRlYW0tY2FyZF9faWRlbnRpdHkgLmNvdW50cnlfZmxhZ3Mge1xuICAgIHdpZHRoOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgaGVpZ2h0OiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi50ZWFtLWNhcmRfX2NhcHRhaW5zLWxpc3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udGVhbS1jYXJkX19jYXB0YWluIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgdmFyKC0tc3BhY2UteHMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi50ZWFtLWNhcmRfX2NhcHRhaW46aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4udGVhbS1jYXJkX19jYXB0YWluLWF2YXRhciB7XG4gICAgd2lkdGg6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGVhbS1jYXJkX19tZW1iZXJzLWJhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2UteHMpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGVhbS1jYXJkX19tZW1iZXJzLWJhZGdlIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG59XG5cbi50ZWFtLWNhcmRfX21lbWJlcnMtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XG59XG5cbi8qIEhhcmR3YXJlIEl0ZW0gQ29tcG9uZW50cyAoQ1BVLCBHUFUsIE1vdGhlcmJvYXJkLCBNZW1vcnksIERpc2ssIFBTVSAmIENvb2xpbmcpICovXG5cblxuLmNwdS1jYXJkX19pZGVudGl0eSxcbi5ncHUtY2FyZF9faWRlbnRpdHksXG4ubWItY2FyZF9faWRlbnRpdHksXG4ubWVtLWNhcmRfX2lkZW50aXR5LFxuLmRpc2stY2FyZF9faWRlbnRpdHksXG4ucHN1LWNhcmRfX2lkZW50aXR5LFxuLmNvb2xpbmctY2FyZF9faWRlbnRpdHkge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuXG4uY3B1LWNhcmRfX25hbWUsXG4uZ3B1LWNhcmRfX25hbWUsXG4ubWItY2FyZF9fbmFtZSxcbi5tZW0tY2FyZF9fbmFtZSxcbi5kaXNrLWNhcmRfX25hbWUsXG4ucHN1LWNhcmRfX25hbWUsXG4uY29vbGluZy1jYXJkX19uYW1lIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmNwdS1jYXJkX19uYW1lOmhvdmVyLFxuLmdwdS1jYXJkX19uYW1lOmhvdmVyLFxuLm1iLWNhcmRfX25hbWU6aG92ZXIsXG4ubWVtLWNhcmRfX25hbWU6aG92ZXIsXG4uZGlzay1jYXJkX19uYW1lOmhvdmVyLFxuLnBzdS1jYXJkX19uYW1lOmhvdmVyLFxuLmNvb2xpbmctY2FyZF9fbmFtZTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xufVxuXG4uY3B1LWNhcmRfX21hbnVmYWN0dXJlcixcbi5ncHUtY2FyZF9fbWFudWZhY3R1cmVyLFxuLmNwdS1jYXJkX19zb2NrZXQsXG4ubWItY2FyZF9fbWFudWZhY3R1cmVyLFxuLm1iLWNhcmRfX3NvY2tldCxcbi5tZW0tY2FyZF9fbWFudWZhY3R1cmVyLFxuLm1lbS1jYXJkX190eXBlLFxuLmRpc2stY2FyZF9fbWFudWZhY3R1cmVyLFxuLmRpc2stY2FyZF9fdHlwZSxcbi5wc3UtY2FyZF9fbWFudWZhY3R1cmVyLFxuLmNvb2xpbmctY2FyZF9fbWFudWZhY3R1cmVyLFxuLmNvb2xpbmctY2FyZF9fdHlwZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXhzKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1jYXJkKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmNwdS1jYXJkX19tYW51ZmFjdHVyZXI6aG92ZXIsXG4uZ3B1LWNhcmRfX21hbnVmYWN0dXJlcjpob3Zlcixcbi5jcHUtY2FyZF9fc29ja2V0OmhvdmVyLFxuLm1iLWNhcmRfX21hbnVmYWN0dXJlcjpob3Zlcixcbi5tYi1jYXJkX19zb2NrZXQ6aG92ZXIsXG4ubWVtLWNhcmRfX21hbnVmYWN0dXJlcjpob3Zlcixcbi5tZW0tY2FyZF9fdHlwZTpob3Zlcixcbi5kaXNrLWNhcmRfX21hbnVmYWN0dXJlcjpob3Zlcixcbi5kaXNrLWNhcmRfX3R5cGU6aG92ZXIsXG4ucHN1LWNhcmRfX21hbnVmYWN0dXJlcjpob3Zlcixcbi5jb29saW5nLWNhcmRfX21hbnVmYWN0dXJlcjpob3Zlcixcbi5jb29saW5nLWNhcmRfX3R5cGU6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4uZGlzay1jYXJkX19wYXJ0bmVyLWxvZ28sXG4ucHN1LWNhcmRfX3BhcnRuZXItbG9nbyxcbi5jb29saW5nLWNhcmRfX3BhcnRuZXItbG9nbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDE4cHg7XG59XG5cbi5kaXNrLWNhcmRfX3BhcnRuZXItbG9nbyBpbWcsXG4ucHN1LWNhcmRfX3BhcnRuZXItbG9nbyBpbWcsXG4uY29vbGluZy1jYXJkX19wYXJ0bmVyLWxvZ28gaW1nIHtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNwdS1jYXJkX19zdWJzLWJhZGdlLFxuLmdwdS1jYXJkX19zdWJzLWJhZGdlLFxuLm1iLWNhcmRfX3N1YnMtYmFkZ2UsXG4ubWVtLWNhcmRfX3N1YnMtYmFkZ2UsXG4uZGlzay1jYXJkX19zdWJzLWJhZGdlLFxuLnBzdS1jYXJkX19zdWJzLWJhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2UteHMpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbn1cblxuLmNwdS1jYXJkX19zdWJzLWJhZGdlIGksXG4uZ3B1LWNhcmRfX3N1YnMtYmFkZ2UgaSxcbi5tYi1jYXJkX19zdWJzLWJhZGdlIGksXG4ubWVtLWNhcmRfX3N1YnMtYmFkZ2UgaSxcbi5kaXNrLWNhcmRfX3N1YnMtYmFkZ2UgaSxcbi5wc3UtY2FyZF9fc3Vicy1iYWRnZSBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xufVxuXG4uY3B1LWNhcmRfX3N1YnMtbGFiZWwsXG4uZ3B1LWNhcmRfX3N1YnMtbGFiZWwsXG4ubWItY2FyZF9fc3Vicy1sYWJlbCxcbi5tZW0tY2FyZF9fc3Vicy1sYWJlbCxcbi5kaXNrLWNhcmRfX3N1YnMtbGFiZWwsXG4ucHN1LWNhcmRfX3N1YnMtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XG59XG5cbi5jcHUtY2FyZF9fc3BlYyxcbi5ncHUtY2FyZF9fc3BlYyxcbi5tYi1jYXJkX19zcGVjLFxuLm1lbS1jYXJkX19zcGVjLFxuLmRpc2stY2FyZF9fc3BlYyxcbi5wc3UtY2FyZF9fc3BlYyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgcGFkZGluZzogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctY2FyZCk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG59XG5cbi5jcHUtY2FyZF9fc3BlYyBhLFxuLmdwdS1jYXJkX19zcGVjIGEsXG4ubWItY2FyZF9fc3BlYyBhLFxuLm1lbS1jYXJkX19zcGVjIGEsXG4uZGlzay1jYXJkX19zcGVjIGEsXG4ucHN1LWNhcmRfX3NwZWMgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5jcHUtY2FyZF9fc3BlYyBhOmhvdmVyLFxuLmdwdS1jYXJkX19zcGVjIGE6aG92ZXIsXG4ubWItY2FyZF9fc3BlYyBhOmhvdmVyLFxuLm1lbS1jYXJkX19zcGVjIGE6aG92ZXIsXG4uZGlzay1jYXJkX19zcGVjIGE6aG92ZXIsXG4ucHN1LWNhcmRfX3NwZWMgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uY3B1LWNhcmRfX3NwZWMgaSxcbi5ncHUtY2FyZF9fc3BlYyBpLFxuLm1iLWNhcmRfX3NwZWMgaSxcbi5tZW0tY2FyZF9fc3BlYyBpLFxuLmRpc2stY2FyZF9fc3BlYyBpLFxuLnBzdS1jYXJkX19zcGVjIGkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uY3B1LWNhcmRfX3NwZWMtdmFsdWUsXG4uZ3B1LWNhcmRfX3NwZWMtdmFsdWUsXG4ubWItY2FyZF9fc3BlYy12YWx1ZSxcbi5tZW0tY2FyZF9fc3BlYy12YWx1ZSxcbi5kaXNrLWNhcmRfX3NwZWMtdmFsdWUsXG4ucHN1LWNhcmRfX3NwZWMtdmFsdWUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xufVxuXG4uY3B1LWNhcmRfX3NwZWMtLWNsb2NrIC5jcHUtY2FyZF9fc3BlYy12YWx1ZSxcbi5ncHUtY2FyZF9fc3BlYy0tY2xvY2sgLmdwdS1jYXJkX19zcGVjLXZhbHVlLFxuLm1lbS1jYXJkX19zcGVjLS1jbG9jayAubWVtLWNhcmRfX3NwZWMtdmFsdWUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xufVxuXG4vKiBIYXJkd2FyZSBCZW5jaG1hcmsgUmVjb3JkcyAqL1xuLmh3LXJlY29yZHMtdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uaHctcmVjb3Jkcy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtYmVuY2htYXJrIHtcbiAgICB3aWR0aDogMjIlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zY29yZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmh3LXJlY29yZHMtdGFibGUgdGhlYWQgdHIgdGguY29sLXVzZXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1kYXRlLFxuLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWRhdGUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmh3LXJlY29yZHMtdGFibGUgdGhlYWQgdHIgdGguY29sLXBvaW50cyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmh3LXJlY29yZHMtdGFibGUgdGhlYWQgdHIgdGguY29sLXRlYW0tcmVjb3JkLFxuLmh3LXJlY29yZHMtdGFibGUgdGhlYWQgdHIgdGguY29sLXVzZXItcmVjb3JkIHtcbiAgICB3aWR0aDogMTUlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZW5jaG1hcmssXG4uaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUsXG4uaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlcixcbi5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1kYXRlLFxuLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyxcbi5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtLXJlY29yZCxcbi5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyLXJlY29yZCB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmh3LXJlY29yZHMtdGFibGVfX2JlbmNobWFyayB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlX19kYXRlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlX19kYXRlIGkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlX19uby1yZWNvcmQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctY2FyZCk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uaHctcmVjb3Jkcy10YWJsZV9fY29udGV4dC1ib3gge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmh3LXJlY29yZHMtdGFibGVfX2NvbnRleHQtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4uaHctcmVjb3Jkcy10YWJsZV9fcmFuay1waWxsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmh3LXJlY29yZHMtdGFibGVfX2NvbnRleHQtc2NvcmUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmh3LXJlY29yZHMtdGFibGVfX2NvbnRleHQtc2NvcmU6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbn1cblxuLmh3LXJlY29yZHMtdGFibGVfX2NvbnRleHQtbm9uZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG59XG5cbi8qIEZsZXggcm93cyAqL1xuLmZsZXgtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmxleC1yb3ctLWFjaGlldmVtZW50LWFjdGlvbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5mbGV4LXJvdy0tYWRkaXRpb25hbC1pbWFnZXMge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmZsZXgtcm93LS13b3JsZC1yZWNvcmRzIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogYXV0bztcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctYWx0KTtcblx0cGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uZmxleC1yb3ctLXRhYmxlLWNvbXBhcmUtaGVhZGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi5zdGlja3ktdGFibGUtLWNvbXBhcmUgLnJlbW92ZS1idG4ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1tdXRlZCwgdmFyKC0tY29sb3ItdGV4dC1tdXRlZCkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhsKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vbmUpO1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UteHMpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnN0aWNreS10YWJsZS0tY29tcGFyZSAucmVtb3ZlLWJ0bjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbn1cblxuLmNoYXJ0LXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5lbXB0eS1tZXNzYWdlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIDA7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItbXV0ZWQsIHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpO1xufVxuXG4uZmxleC1yb3ctLW5ld3MtaGVhZGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmZsZXgtcm93LS1uZXdzLWZvb3RlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG59XG5cbi5mbGV4LXJvdy0tbmV3cy1mb290ZXIgYSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1uZXdzOmhvdmVyIC5mbGV4LXJvdy0tbmV3cy1mb290ZXIgYSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4uZmxleC1yb3ctLXdhbGwge1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSAwO1xufVxuXG4uZmxleC1yb3ctLXdhbGwtc29jaWFsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5mbGV4LXJvdy0tYmFkZ2VzIHtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubW9kYWwtbWVtYmVyLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mbGV4LXJvdy0taW5mbyB7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZsZXgtcm93LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cblxuLmZsZXgtcm93LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5mbGV4LXJvdy1pdGVtLS13b3JsZC1yZWNvcmQge1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRtaW4td2lkdGg6IDQwMHB4O1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcblx0Ym9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiBBbGVydHMgLyBDYWxsb3V0cyAqL1xuLmFsZXJ0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uYWxlcnQgPiBkaXYge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uYWxlcnQgcCB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uYWxlcnQgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uZm9ybS1yb3cgPiAuYWxlcnQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5hbGVydCBpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9ybWFsKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmFsZXJ0IGk6OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgRnJlZVwiLCBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcbiAgICBmb250LXdlaWdodDogOTAwO1xufVxuXG4uYWxlcnQtd2FybmluZyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctdGV4dCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2FybmluZy1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLWJvcmRlcik7XG59XG4uYWxlcnQtd2FybmluZyBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDcxXCI7IC8qIGZhLXRyaWFuZ2xlLWV4Y2xhbWF0aW9uICovXG59XG5cbi5hbGVydC1kYW5nZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci10ZXh0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci1iZyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci1ib3JkZXIpO1xufVxuLmFsZXJ0LWRhbmdlciBpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDZhXCI7IC8qIGZhLWNpcmNsZS1leGNsYW1hdGlvbiAqL1xufVxuXG4uYWxlcnQtaW5mbyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWluZm8tYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaW5mby1ib3JkZXIpO1xufVxuLmFsZXJ0LWluZm8gaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1YVwiOyAvKiBmYS1jaXJjbGUtaW5mbyAqL1xufVxuXG4uc2NyZWVuc2hvdC1ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zY3JlZW5zaG90LWJveCBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zY3JlZW5zaG90LWJveCBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4uc2NyZWVuc2hvdC1ib3gtLWhpZ2hsaWdodC1zdWJtaXNzaW9uIGltZyB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbn1cblxuLnNjcmVlbnNob3QtYm94LS1zdWJtaXNzaW9uIGltZyB7XG4gICAgaGVpZ2h0OiAyNTBweDtcbn1cblxuLnNjcmVlbnNob3QtYm94LS1uZXdzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLnNjcmVlbnNob3QtYm94LS1uZXdzIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4vKiBFZGl0b3IgdGV4dCBhZGRlZCBieSBtb2RlcmF0b3JzICovXG4ucmljaC10ZXh0LWNvbnRlbnQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgaDEsXG4ucmljaC10ZXh0LWNvbnRlbnQgaDIsXG4ucmljaC10ZXh0LWNvbnRlbnQgaDMsXG4ucmljaC10ZXh0LWNvbnRlbnQgaDQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2Utc20pO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCBzdHJvbmcsXG4ucmljaC10ZXh0LWNvbnRlbnQgYiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCB1bCxcbi5yaWNoLXRleHQtY29udGVudCBvbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zNXJlbTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLWNvbG9yLWxpbmstdW5kZXJsaW5lKTtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDNweDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCB0ZXh0LWRlY29yYXRpb24tY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWhvdmVyKTtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IGNvZGUsXG4ucmljaC10ZXh0LWNvbnRlbnQgcHJlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgcGFkZGluZzogMC4ycmVtIDAuNHJlbTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDYwMHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IHRhYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbGcpO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgdGgsXG4ucmljaC10ZXh0LWNvbnRlbnQgdGQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgdHI6aG92ZXIgdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IGlmcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbGcpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLyogU3VibWlzc2lvbiBjb21tZW50cyAqL1xuXG4uY29tbWVudHMtdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1sZyk7XG59XG5cbi5zdWJtaXR0ZXItcXVvdGUtY2FyZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLWxnKSBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbn1cblxuLnF1b3RlLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5xdW90ZS1hdXRob3Ige1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ucXVvdGUtYXV0aG9yOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnF1b3RlLWFjdGlvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnF1b3RlLWJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG59XG5cbi5xdW90ZS1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5jb21tZW50cy10aHJlYWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS14bCk7XG59XG5cblxuLmNvbW1lbnQtY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xufVxuXG4uY29tbWVudC1jYXJkX19hdmF0YXItbGluayB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5jb21tZW50LWNhcmRfX2F2YXRhciB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLmNvbW1lbnQtY2FyZF9fYm9keSB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5jb21tZW50LWNhcmRfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLmNvbW1lbnQtY2FyZF9fYXV0aG9yIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uY29tbWVudC1jYXJkX19hdXRob3I6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uY29tbWVudC1jYXJkX190aW1lc3RhbXAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5jb21tZW50LWNhcmRfX3RleHQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi5jb21tZW50LWNhcmRfX3RleHQgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UtbWQpIDA7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi8qIENvbW1lbnQgRm9ybSAqL1xuLmNvbW1lbnQtZm9ybS1ib3gge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLWxnKTtcbn1cblxuLmNvbW1lbnQtZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uY29tbWVudC1mb3JtX190ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItZGFzaGVkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5jb21tZW50LWZvcm1fX3RleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMiwgMTMyLCAxOTksIDAuMTUpO1xufVxuXG4uY29tbWVudC1mb3JtX19hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5idG4tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uYnRuLXByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktaG92ZXIpO1xufVxuXG4uY29tbWVudC1mb3JtX19sb2dpbi1ub3RpY2Uge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uZmFpbnQge1xuICAgIG9wYWNpdHk6IDAuMjtcbn1cblxuXG4ucmVzZXQtcGFzc3dvcmQgLmNvbnRlbnQgLmdyaWQgaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4ucmVzZXQtcGFzc3dvcmQgLmNvbnRlbnQgLmdyaWQgaW5wdXRbdHlwZT10ZXh0XSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5yZXNldC1wYXNzd29yZCAuY29udGVudCAuZ3JpZCAucm93IHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNpZGUtYXJlYSAuY29udGVudCAuZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG87XG4gICAgZ3JpZC1nYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLnNpZGUtYXJlYS1yYW5raW5nLWdyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5zaWRlLWFyZWEtcmFua2luZy1ncmlkID4gKjpub3QoOmxhc3QtY2hpbGQpLFxuLmNhcmQtLXNpZGViYXItcmFua2luZyAuc2lkZS1hcmVhLS1sZWFndWUtcmFua2luZy1ncmlkLXJvdzpub3QoOmxhc3QtY2hpbGQpLFxuLmdyaWQtYm94LWNhcmQtLXNpZGViYXItcmFua2luZyAuc2lkZS1hcmVhLS1sZWFndWUtcmFua2luZy1ncmlkLXJvdzpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UteHMpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLnNpZGUtYXJlYS0tbGVhZ3VlLXJhbmtpbmctZ3JpZC1yb3cge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKSBtaW5tYXgodmFyKC0tcmFuay1wb3MtbWluLXdpZHRoKSwgYXV0bykgbWlubWF4KDAsIDFmcikgYXV0bztcbiAgICBncmlkLWdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uc2lkZS1hcmVhLS1sZWFndWUtcmFua2luZy1ncmlkLXJvdzpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbn1cblxuLnNpZGUtYXJlYS0tbGVhZ3VlLXJhbmtpbmctZ3JpZC1yb3cgLnBvcy1tYXJrZXIge1xuICAgIGdyaWQtY29sdW1uOiAxO1xuICAgIHdpZHRoOiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogdmFyKC0tYXZhdGFyLXNpemUtc20pO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi5zaWRlLWFyZWEtLWxlYWd1ZS1yYW5raW5nLWdyaWQtcm93IC5wb3Mge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIG1pbi13aWR0aDogdmFyKC0tcmFuay1wb3MtbWluLXdpZHRoKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnNpZGUtYXJlYS0tbGVhZ3VlLXJhbmtpbmctZ3JpZC1yb3cgLnBvczo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIiNcIjtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMWVtO1xuICAgIG9wYWNpdHk6IDAuODU7XG59XG5cbi5zaWRlLWFyZWEtLWxlYWd1ZS1yYW5raW5nLWdyaWQtcm93IC5uYW1lIHtcbiAgICBncmlkLWNvbHVtbjogMztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNpZGUtYXJlYS0tbGVhZ3VlLXJhbmtpbmctZ3JpZC1yb3cgLnRhYmxlLWF2YXRhci13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2lkZS1hcmVhLS1sZWFndWUtcmFua2luZy1ncmlkLXJvdyAudGFibGUtYXZhdGFyLXdyYXBwZXIgaW1nIHtcbiAgICB3aWR0aDogdmFyKC0tYXZhdGFyLXNpemUtc20pO1xuICAgIGhlaWdodDogdmFyKC0tYXZhdGFyLXNpemUtc20pO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLnNpZGUtYXJlYS0tbGVhZ3VlLXJhbmtpbmctZ3JpZC1yb3cgLnRhYmxlLWF2YXRhci13cmFwcGVyIC5jb3VudHJ5X2ZsYWdzLFxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQgLnRhYmxlLWF2YXRhci13cmFwcGVyIC5jb3VudHJ5X2ZsYWdzIHtcbiAgICB3aWR0aDogdmFyKC0tYXZhdGFyLXNpemUtc20pO1xuICAgIGhlaWdodDogdmFyKC0tYXZhdGFyLXNpemUtc20pO1xuICAgIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tYXZhdGFyLXNpemUtc20pO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc2lkZS1hcmVhLS1sZWFndWUtcmFua2luZy1ncmlkLXJvdyAudGFibGUtYXZhdGFyLXdyYXBwZXIgYSB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG59XG5cbi5zaWRlLWFyZWEtLWxlYWd1ZS1yYW5raW5nLWdyaWQtcm93IC50YWJsZS1hdmF0YXItd3JhcHBlciBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnNpZGUtYXJlYS0tbGVhZ3VlLXJhbmtpbmctZ3JpZC1yb3cgLnBvaW50cyB7XG4gICAgZ3JpZC1jb2x1bW46IDQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGp1c3RpZnktc2VsZjogZW5kO1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIG1pbm1heCgwLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIGF1dG8gYXV0bztcbiAgICBncmlkLWdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgIGp1c3RpZnktaXRlbXM6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uY2FyZC0tc2lkZWJhci1yYW5raW5nIC5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkOm5vdCg6bGFzdC1jaGlsZCksXG4uZ3JpZC1ib3gtY2FyZC0tc2lkZWJhci1yYW5raW5nIC5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbn1cblxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQgLnBvcy1tYXJrZXIge1xuICAgIGdyaWQtY29sdW1uOiAxO1xuICAgIGdyaWQtcm93OiAxIC8gLTE7XG4gICAgd2lkdGg6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCAucG9zIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQgLnBvczo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIiNcIjtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMWVtO1xuICAgIG9wYWNpdHk6IDAuODU7XG59XG5cbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC5uYW1lIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMjtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQgLnRhYmxlLWF2YXRhci13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCAudGFibGUtYXZhdGFyLXdyYXBwZXIgaW1nIHtcbiAgICB3aWR0aDogdmFyKC0tYXZhdGFyLXNpemUtc20pO1xuICAgIGhlaWdodDogdmFyKC0tYXZhdGFyLXNpemUtc20pO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQgLmhhcmR3YXJlIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbn1cblxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQgLmhhcmR3YXJlIGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQgLmhhcmR3YXJlIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQgLnNjb3JlIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogNDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG59XG5cbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC5zY29yZSBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC5zY29yZSBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5zaWRlLWFyZWEgLnRhYi1tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLnNpZGUtYXJlYSAudGFiLW1lbnUgLmJ1dHRvbiB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLXMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uc2lkZS1hcmVhIC50YWItbWVudSAuYnV0dG9uLmZvY3VzLFxuLnNpZGUtYXJlYSAudGFiLW1lbnUgLmJ1dHRvbi5hY3RpdmUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuI2NhcmVlcnJhbmtpbmdob2YsXG4jcmFua2luZ2hvZixcbiN0ZWFtX3Jhbmtpbmdob2Yge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLnJlc2V0LXBhc3N3b3JkIC5jb250ZW50IC5ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0bztcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gICAgZ3JpZC1nYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMzAlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBtaW4td2lkdGg6IDMyMHB4O1xufVxuXG4ucmVzZXQtcGFzc3dvcmQgLmNvbnRlbnQgLmdyaWQgLmFjdGlvbiB7XG4gICAganVzdGlmeS1zZWxmOiBlbmQ7XG59XG5cbi8qIEF1dGggQ2FyZHM6IExvZ2luLCBSZWdpc3RlciAmIFJlc2V0IFBhc3N3b3JkICovXG4uZ3JpZC1ib3gtY2FyZC0tbG9naW4sXG4uZ3JpZC1ib3gtY2FyZC0tcmVnaXN0ZXIsXG4uZ3JpZC1ib3gtY2FyZC0tcmVzZXQtcGFzc3dvcmQge1xuICAgIG1heC13aWR0aDogMzUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS14bCkgYXV0bztcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1sb2dpbiA+IHAsXG4uZ3JpZC1ib3gtY2FyZC0tcmVnaXN0ZXIgPiBwLFxuLmdyaWQtYm94LWNhcmQtLXJlc2V0LXBhc3N3b3JkID4gcCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1sb2dpbiA+IHAgYSxcbi5ncmlkLWJveC1jYXJkLS1yZWdpc3RlciA+IHAgYSxcbi5ncmlkLWJveC1jYXJkLS1yZXNldC1wYXNzd29yZCA+IHAgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1sb2dpbiBmb3JtLFxuLmdyaWQtYm94LWNhcmQtLXJlZ2lzdGVyIGZvcm0sXG4uZ3JpZC1ib3gtY2FyZC0tcmVzZXQtcGFzc3dvcmQgZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1sb2dpbiBmb3JtIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLFxuLmdyaWQtYm94LWNhcmQtLXJlZ2lzdGVyIGZvcm0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sXG4uZ3JpZC1ib3gtY2FyZC0tcmVzZXQtcGFzc3dvcmQgZm9ybSBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1yZWdpc3RlciAucmVjYXB0Y2hhLXdyYXBwZXIsXG4uZ3JpZC1ib3gtY2FyZC0tcmVzZXQtcGFzc3dvcmQgLnJlY2FwdGNoYS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi5mb3JtLWxhYmVsLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybS1pbnB1dC1wYXNzd29yZC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZm9ybS1pbnB1dC1wYXNzd29yZC13cmFwcGVyIC5mb3JtLWlucHV0LFxuLmZvcm0taW5wdXQtcGFzc3dvcmQtd3JhcHBlciBpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogNDJweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ucGFzc3dvcmQtdG9nZ2xlLWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5wYXNzd29yZC10b2dnbGUtYnRuOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLmxvZ2luLWZvb3RlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cblxuLmZvb3RlciAuY29udGVudCAuaW5mbyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgzMjBweCwgMWZyKSk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG59XG5cbi5mb290ZXIgLmluZm8gdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5mb290ZXIgLnN5c3RlbS1pbmZvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG59XG5cbi5mb290ZXIgLnBhcnRuZXItaW5mbyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZm9vdGVyIC5jb250ZW50IC5wYXJ0bmVyLWluZm8ge1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UtbGcpIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbGcpO1xufVxuXG4uZm9vdGVyIC5jb250ZW50IC5wYXJ0bmVyLWluZm8gLnBhcnRuZXItYm94IHtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubWFpbi1hcmVhLmh3LWRhdGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xufVxuXG5cbi5oYXJkd2FyZS1vdmVydmlldyAuY29udGVudC10eXBlLTIgLm1hbnVmYWN0dXJlci1ncmlkLFxuLm1haW4tYXJlYS5ody1kYXRhIC5jb250ZW50IC5tYW51ZmFjdHVyZXItZ3JpZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4ubWFpbi1hcmVhLmh3LWRhdGEgLmNvbnRlbnQgLm1hbnVmYWN0dXJlci1ncmlkIC5tYW51ZmFjdHVyZXItaGVhZGxpbmUtZ3JpZC1jZWxsIHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubWFpbi1hcmVhLmh3LWRhdGEgLmNvbnRlbnQgLm1hbnVmYWN0dXJlci1ncmlkIC5tYW51ZmFjdHVyZXItaGVhZGxpbmUtZ3JpZC1jZWxsIGltZyB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbkBrZXlmcmFtZXMgbG9hZGluZyB7XG4gICAgZnJvbSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgfVxufVxuXG4uZ29sZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbn1cblxuLnNpbHZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLmJyb256ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbn1cblxuLm1lZGFsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZm91ci1maXZlKTtcbn1cblxuLm5vbWVkYWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1mb3VyLWZpdmUpO1xufVxuXG4uZ29sZC10cm9waHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4uc2lsdmVyLXRyb3BoeSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xufVxuXG4uYnJvbnplLXRyb3BoeSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG59XG5cbi5tZWRhbC10cm9waHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZm91ci1maXZlKTtcbn1cblxuLnRyb3BoeS1jb3VudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRyb3BoeS1jb3VudC0tZW1wdHkge1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbkBrZXlmcmFtZXMgc2hpbW1lciB7XG4gICAgMCUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMDAlIDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjAwJSAwO1xuICAgIH1cbn1cblxuLmlzLWxvYWRpbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uaXMtbG9hZGluZzo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICA5MGRlZyxcbiAgICAgICAgICAgIHJnYmEoMjMyLCAyMzgsIDI0MSwgMCkgMCUsXG4gICAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNikgNTAlLFxuICAgICAgICAgICAgcmdiYSgyMzIsIDIzOCwgMjQxLCAwKSAxMDAlXG4gICAgKTtcblxuICAgIGJhY2tncm91bmQtc2l6ZTogMjAwJSAxMDAlO1xuICAgIGFuaW1hdGlvbjogc2hpbW1lciAxLjVzIGluZmluaXRlO1xuICAgIHotaW5kZXg6IDI7XG59XG5cbkBrZXlmcmFtZXMgc2hpbW1lciB7XG4gICAgMCUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMDAlIDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjAwJSAwO1xuICAgIH1cbn1cblxuLmJ1dHRvbiB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1sZyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmJ1dHRvbi0taW5mby1yb3cge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uYnV0dG9uLS1tb2RhbC1oZWFkZXItY2xvc2Uge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmJ1dHRvbi0tbW9kYWwtaGVhZGVyLWNsb3NlOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjc7XG59XG5cbi5idXR0b24tLW1vZGFsLWhlYWRlci1jbG9zZTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLmJ1dHRvbi0tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uYnV0dG9uLS1wcmltYXJ5OmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjk7XG59XG5cbi5idXR0b24tLWltYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5idXR0b24tLWRhbmdlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWVycm9yLWJvcmRlcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItYmcpO1xufVxuXG4uYnV0dG9uLS1kYW5nZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5idXR0b24tLTEwMCB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5hY3RpdmUsXG4uYnV0dG9uOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyLWRhcmspO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7XG4gICAgYmFja2dyb3VuZDogbGlnaHRncmF5O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmZvY3VzLFxuLmJ1dHRvbjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlci1kYXJrKTtcbn1cblxuLmJ1dHRvbjpkaXNhYmxlZCxcbi5idXR0b24uZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5pbmZvLW1lc3NhZ2Uge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWluZm8tYmcpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLndhcm4tbWVzc2FnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2FybmluZy1iZyk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLXdhcm5pbmctYm9yZGVyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZy10ZXh0KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5lcnJvci1tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1lcnJvcik7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xufVxuXG4uZXJyb3ItbWVzc2FnZSBhLFxuLmluZm8tbWVzc2FnZSBhLFxuLndhcm4tbWVzc2FnZSBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5mb3JtLWlucHV0IHtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXS5maWVsZC1lcnJvciB7XG4gICAgb3V0bGluZTogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci1lcnJvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG59XG5cbi5maWVsZC1lcnJvciB7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbn1cblxuLyogSlF1ZXJ5IFVJIG92ZXJ3cml0ZXMgd2lsbCBiZSByZW1vdmVkIGFzIHNvb24gYXMgdGhlIGZyYW1ld29yayBpcyBubyBsb25nZXIgbmVlZGVkICovXG4udWktd2lkZ2V0IHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1iYXNlKTtcbn1cblxuLnVpLXdpZGdldC1jb250ZW50IHtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4udWktd2lkZ2V0LWNvbnRlbnQgYSxcbi51aS13aWRnZXQtY29udGVudCBhOmxpbmssXG4udWktd2lkZ2V0LWNvbnRlbnQgYTpob3Zlcixcbi51aS13aWRnZXQtY29udGVudCBhOnZpc2l0ZWQsXG4udWktd2lkZ2V0LWNvbnRlbnQgYTphY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4udWktd2lkZ2V0LWNvbnRlbnQgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi51aS1zdGF0ZS1ob3Zlcixcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaG92ZXIsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaG92ZXIsXG4udWktc3RhdGUtZm9jdXMsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWZvY3VzLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWZvY3VzIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG59XG5cbi51aS1zdGF0ZS1ob3Zlcixcbi51aS13aWRnZXQtY29udGVudCBhLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXN0YXRlLWZvY3VzLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1mb2N1cyxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1mb2N1cyB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xufVxuXG4udWktbWVudSAudWktbWVudS1pdGVtIGEudWktc3RhdGUtaG92ZXIge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtY29udGFpbmVyLFxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgtbGcpIHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS14cykgMDtcblxuICAgIG1heC1oZWlnaHQ6IDE2MHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5yZXN1bHQtc3RhdHVzLWNvbW1lbnQgLmNvbnRlbnQgLmV2ZW50LWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXIsXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiA2cHg7XG59XG5cbi5yZXN1bHQtc3RhdHVzLWNvbW1lbnQgLmNvbnRlbnQgLmV2ZW50LWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2ssXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYixcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLWRhc2hlZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi5yZXN1bHQtc3RhdHVzLWNvbW1lbnQgLmNvbnRlbnQgLmV2ZW50LWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIsXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtdGltZWxpbmUsXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LXRpbWVsaW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5yZXN1bHQtc3RhdHVzLWNvbW1lbnQgLmNvbnRlbnQgLmV2ZW50LWl0ZW0sXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5yZXN1bHQtc3RhdHVzLWNvbW1lbnQgLmNvbnRlbnQgLmV2ZW50LWljb24sXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWljb24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5yZXN1bHQtc3RhdHVzLWNvbW1lbnQgLmNvbnRlbnQgLmV2ZW50LW1ldGEsXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LW1ldGEge1xuICAgIG1pbi13aWR0aDogMjIwcHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xufVxuXG4ucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC11c2VyLFxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC11c2VyIHtcbiAgICBtaW4td2lkdGg6IDE0MHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4ucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC1kZXNjLFxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC1kZXNjIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbn1cblxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1iZW5jaG1hcmssXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIgdGQuY29sLWJlbmNobWFyayxcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0aGVhZCB0ciB0aC5jb2wtc2NvcmUsXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlLFxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb24ge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAubmVzdGVkLXJvdyB0ZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnNlYXJjaC1ncm91cC1tb2JpbGUge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zZWFyY2gtaW5wdXQtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbn1cblxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc2VhcmNoLWlucHV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDkwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc2VhcmNoLWlucHV0LXdyYXBwZXIgYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDJweDtcbiAgICB0b3A6IDJweDtcbiAgICBib3R0b206IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiAwIHZhcigtLWJvcmRlci1yYWRpdXMteHMpIHZhcigtLWJvcmRlci1yYWRpdXMteHMpIDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBUYWIgbWVudSAqL1xuLnRhYi1tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLnRhYi1tZW51LS1oYXJkd2FyZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4udGFiLW1lbnUgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbn1cblxuLnRhYi1tZW51IHNlbGVjdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uZmlsdGVyLnRhYi1tZW51IHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi50YWItbWVudSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udGFiLW1lbnUgLmJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4udGFiLW1lbnUgLmJ1dHRvbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4udGFiLW1lbnUgLmJ1dHRvbi5mb2N1cyxcbi50YWItbWVudSAuYnV0dG9uLmFjdGl2ZSxcbi50YWItbWVudSAuYnV0dG9uLmZvY3VzOmhvdmVyLFxuLnRhYi1tZW51IC5idXR0b24uYWN0aXZlOmhvdmVyLFxuLnRhYi1tZW51IC5idXR0b24uZm9jdXM6Zm9jdXMsXG4udGFiLW1lbnUgLmJ1dHRvbi5hY3RpdmU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4udGFiLW1lbnUgLmJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLnRhYi1tZW51IC50YWJsZS1uYXZpZ2F0aW9uIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLmZsZXgtcm93ID4gLnRhYmxlLW5hdmlnYXRpb24ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qIFNpZGViYXIgKi9cbi5zaWRlYmFyLXRpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5zaWRlYmFyLXRpdGxlLWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zaWRlYmFyLXRpdGxlLWxpbms6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uc2lkZWJhci1lbXB0eSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi53ci1yYW5raW5nLWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLndyLXJhbmtpbmctY2FyZCAud3ItcmFua2luZy1yb3c6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi53ci1yYW5raW5nLXJvdyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIG1pbm1heCgwLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIGF1dG87XG4gICAgZ3JpZC1nYXA6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS1zbSkgMDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLndyLXJhbmtpbmctcm93Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi53ci1yYW5raW5nLXJvdzpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbn1cblxuLndyLXJhbmtpbmctcm93LmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaW5mby1iZyk7XG59XG5cbi5wb3MtbWFya2VyIHtcbiAgICB3aWR0aDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCk7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLndyLXJhbmtpbmctcm93IC5wb3MtbWFya2VyIHtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBncmlkLXJvdzogMSAvIC0xO1xuICAgIHdpZHRoOiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cblxuLnBvcy1tYXJrZXIuZ29sZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2FybmluZy1zdGFyKTtcbn1cblxuLnBvcy1tYXJrZXIuc2lsdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnBvcy1tYXJrZXIuYnJvbnplIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cblxuLnBvcy1tYXJrZXIubWVkYWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1mb3VyLWZpdmUpO1xufVxuXG4ucG9zLW1hcmtlci5ub21lZGFsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZm91ci1maXZlKTtcbn1cblxuLnJhbmstcG9zIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLndyLXJhbmtpbmctcm93IC5yYW5rLXBvcyB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ud3ItcmFua2luZy1yb3cgLnJhbmstcG9zOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiI1wiO1xuICAgIG1hcmdpbi1yaWdodDogMC4xZW07XG4gICAgb3BhY2l0eTogMC44NTtcbn1cblxuLyogTWFpbiBSb3cgSW5mbyAqL1xuLnJhbmstY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4OiAxO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLndyLXJhbmtpbmctcm93IC5yYW5rLWNvbnRlbnQge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiAyO1xufVxuXG4ud3ItcmFua2luZy1yb3cgLnJhbmstc2NvcmUge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiAzO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnJhbmstbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5yYW5rLWxhYmVsIGkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4ucmFuay11c2VyLWxpbmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5yYW5rLWF2YXRhciB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnJhbmstdXNlcm5hbWUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ucmFuay11c2VybmFtZTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5yYW5rLWhhcmR3YXJlLWxpbmUge1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG59XG5cbi5yYW5rLWh3LWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ucmFuay1ody1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi5yYW5rLWNsb2NrIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4ucmFuay1zY29yZSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnJhbmstc2NvcmUtbGluayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ucmFuay1zY29yZS1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi8qIFJlc3VsdCBoaXN0b3J5ICovXG4uaGlzdG9yeS1tZXRhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLmhpc3RvcnktbWV0YTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5oaXN0b3J5LXVzZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4uaGlzdG9yeS1kZXNjIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uaGlzdG9yeS1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi8qIEhhcmR3YXJlIHRyZWUgKi9cbi5ody10cmVlLWxpc3QsIFxuLmh3LXRyZWUtc3VibGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmh3LXRyZWUtc3VibGlzdCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uaHctdHJlZS1zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uaHctdHJlZS1zdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uaHctdHJlZS1zdW1tYXJ5OjptYXJrZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmh3LXRyZWUtc3VtbWFyeS1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmh3LXRyZWUtc3VtbWFyeS1jb250ZW50IC5ody10cmVlLWxpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZsZXg6IDE7XG59XG5cbi5ody10cmVlLXN1bW1hcnktY29udGVudCAuaHctdHJlZS1sYWJlbCB7XG4gICAgZmxleDogMTtcbn1cblxuLmh3LXRyZWUtc3VtbWFyeS1jb250ZW50OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDU0XCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgRnJlZVwiLCBcIkZvbnRBd2Vzb21lXCI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xufVxuXG4uaHctdHJlZS1icmFuY2hbb3Blbl0gPiAuaHctdHJlZS1zdW1tYXJ5IC5ody10cmVlLXN1bW1hcnktY29udGVudDo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5ody10cmVlLWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uaHctdHJlZS1zdW1tYXJ5Om5vdCguaXMtYWN0aXZlKTpob3Zlcixcbi5ody10cmVlLWxpbms6bm90KC5pcy1hY3RpdmUpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5ody10cmVlLXN1bW1hcnktY29udGVudCAuaHctdHJlZS1saW5rOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmh3LXRyZWUtbGluay5pcy1hY3RpdmUsXG4uaHctdHJlZS1zdW1tYXJ5LmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXItZGFyayk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uaHctdHJlZS1saW5rLmlzLWFjdGl2ZTppcyg6bGluaywgOnZpc2l0ZWQsIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlKSxcbi5ody10cmVlLXN1bW1hcnkuaXMtYWN0aXZlLFxuLmh3LXRyZWUtc3VtbWFyeS5pcy1hY3RpdmUgLmh3LXRyZWUtbGluazppcyg6bGluaywgOnZpc2l0ZWQsIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlKSxcbi5ody10cmVlLXN1bW1hcnkuaXMtYWN0aXZlIC5ody10cmVlLWxhYmVsLFxuLmh3LXRyZWUtc3VtbWFyeS5pcy1hY3RpdmUgLmh3LXRyZWUtc3VtbWFyeS1jb250ZW50OjpiZWZvcmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogRGVza3RvcCBzZXR0aW5ncyAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMXB4KSB7XG5cbiAgICAuaGVhZGVyLCAubmF2aWdhdGlvbiwgLmZvb3RlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgfVxuXG4gICAgYm9keS5vbmUtY29sdW1uIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0byAxZnIgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1sYXlvdXQtbWF4LXdpZHRoKTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cblxuICAgIGJvZHkubGVmdC1zaWRlYmFyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgodmFyKC0tc2lkZWJhci1taW4td2lkdGgpLCAxZnIpIG1pbm1heCgwLCAzZnIpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0byAxZnIgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1sYXlvdXQtbWF4LXdpZHRoKTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cblxuICAgIGJvZHkucmlnaHQtc2lkZWJhciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDNmcikgbWlubWF4KHZhcigtLXNpZGViYXItbWluLXdpZHRoKSwgMWZyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG8gMWZyIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tbGF5b3V0LW1heC13aWR0aCk7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG5cbiAgICAubm9kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcblxuICAgIGJvZHkubGVmdC1zaWRlYmFyLFxuICAgIGJvZHkucmlnaHQtc2lkZWJhciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cblxuICAgIC5ub21vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBDb250ZW50IHNldHRpbmdzICovXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwcHggbWlubWF4KDAsIDFmcikgMTBweDtcbiAgICB9XG5cblxuICAgIC5zaWRlLWFyZWEge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LWRyYXdlcik7XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1zbW9vdGgpO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIC5zaWRlLWFyZWEuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG5cbiAgICAuc2lkZS1hcmVhIC5jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS1sZykgdmFyKC0tc3BhY2UtMnhsKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgfVxuXG4gICAgLnNpZGUtYXJlYSAuY29udGVudCAuaHctdHJlZSB7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDcwcHgpO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIH1cblxuICAgIC5ody10cmVlLXN1bW1hcnktY29udGVudCxcbiAgICAuaHctdHJlZS1saW5rIHtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIH1cblxuICAgIC5zaWRlYmFyLW1vYmlsZS1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LXN0aWNreS1oZWFkZXIpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWFsdCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICBtYXJnaW46IDAgLTE1cHggdmFyKC0tc3BhY2UtbGcpIC0xNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICB9XG5cbiAgICAubW9kYWwtb3ZlcmxheSxcbiAgICAubW9kYWwtb3ZlcmxheS0tZnVsbHNjcmVlbi1tb2JpbGUge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDBkdmg7XG4gICAgfVxuXG4gICAgLm1vZGFsLWRpYWxvZyxcbiAgICAubW9kYWwtZGlhbG9nLS1mdWxsc2NyZWVuLW1vYmlsZSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwZHZoO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDBkdmg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLXNtb290aCk7XG4gICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLm1vZGFsLW92ZXJsYXkuaXMtb3BlbiAubW9kYWwtZGlhbG9nLFxuICAgIC5tb2RhbC1vdmVybGF5LS1mdWxsc2NyZWVuLW1vYmlsZS5pcy1vcGVuIC5tb2RhbC1kaWFsb2ctLWZ1bGxzY3JlZW4tbW9iaWxlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cblxuICAgIC5tb2RhbC1kaWFsb2dfX2hlYWRlcixcbiAgICAubW9kYWwtZGlhbG9nIC5tb2RhbC1oZWFkZXIsXG4gICAgLm1vZGFsLWRpYWxvZy0tZnVsbHNjcmVlbi1tb2JpbGUgLm1vZGFsLWhlYWRlciB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgICAgICBwYWRkaW5nOiBtYXgoMTBweCwgZW52KHNhZmUtYXJlYS1pbnNldC10b3AsIDEwcHgpKSBtYXgoMTVweCwgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCwgMTVweCkpIDEwcHggbWF4KDE1cHgsIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCwgMTVweCkpO1xuICAgIH1cblxuICAgIC5tb2RhbC1kaWFsb2dfX2JvZHksXG4gICAgLm1vZGFsLWRpYWxvZyAubW9kYWwtYm9keSxcbiAgICAubW9kYWwtZGlhbG9nLS1mdWxsc2NyZWVuLW1vYmlsZSAubW9kYWwtYm9keSB7XG4gICAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXk6IGNvbnRhaW47XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgcGFkZGluZzogMTVweCBtYXgoMTVweCwgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCwgMTVweCkpIDE1cHggbWF4KDE1cHgsIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCwgMTVweCkpO1xuICAgIH1cblxuXG4gICAgLm1vZGFsLWRpYWxvZ19fZm9vdGVyLFxuICAgIC5tb2RhbC1kaWFsb2cgLm1vZGFsLWZvb3RlcixcbiAgICAubW9kYWwtZGlhbG9nLS1mdWxsc2NyZWVuLW1vYmlsZSAubW9kYWwtZm9vdGVyIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgICAgIHBhZGRpbmc6IDEycHggbWF4KDE1cHgsIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQsIDE1cHgpKSBtYXgoMTJweCwgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDEycHgpKSBtYXgoMTVweCwgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0LCAxNXB4KSk7XG4gICAgfVxuXG4gICAgLm1vZGFsLWRpYWxvZyAuZm9ybS1tb2RhbC1hY3Rpb25zLFxuICAgIC5tb2RhbC1kaWFsb2ctLWZ1bGxzY3JlZW4tbW9iaWxlIC5mb3JtLW1vZGFsLWFjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5tb2RhbC1kaWFsb2dfX2Zvb3RlciAuYnV0dG9uLFxuICAgIC5tb2RhbC1kaWFsb2cgLm1vZGFsLWZvb3RlciAuYnV0dG9uLFxuICAgIC5tb2RhbC1kaWFsb2ctLWZ1bGxzY3JlZW4tbW9iaWxlIC5mb3JtLW1vZGFsLWFjdGlvbnMgLmJ1dHRvbiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgLm1vZGFsLWRpYWxvZyxcbiAgICAgICAgLm1vZGFsLWRpYWxvZy5tb2RhbC1kaWFsb2ctLWZ1bGxzY3JlZW4tbW9iaWxlIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmlsdGVyIC5yYW5raW5nLWZpbHRlciB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICAuZmlsdGVyIC5yYW5raW5nLWZpbHRlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50YWItbWVudSB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAudGFiLW1lbnU6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBoZXJvIGJhbm5lciAqL1xuICAgIC5oZXJvLWJhbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIH1cblxuICAgIC8qIEdyaWQgYm94Ki9cbiAgICAuZ3JpZC1ib3gtLXN1Ym1pdC1oYXJkd2FyZSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0bztcbiAgICB9XG5cbiAgICAvKiBTdWJtaXNzaW9uICovXG4gICAgLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC5zdWJtaXNzaW9uLXNjb3JlLWNhcmQgLnNjb3JlLWRldGFpbHMge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCAuc2NvcmUtZGV0YWlscy1yb3cge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLyogRmxleCByb3dzICovXG4gICAgLmZsZXgtcm93LS1pbmZvLFxuICAgIC5mbGV4LXJvdy0tYmFkZ2VzIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIC5mbGV4LXJvdy0taW5mbyB7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tc3BhY2UtbWQpIDA7XG4gICAgfVxuXG4gICAgLmZsZXgtcm93LS1pbmZvOjotd2Via2l0LXNjcm9sbGJhcixcbiAgICAuZmxleC1yb3ctLWJhZGdlczo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5mbGV4LXJvdy0taW5mbyA+ICosXG4gICAgLmZsZXgtcm93LS1iYWRnZXMgPiAqIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLyogUHJvZmlsZSBiYW5uZXIgKi9cbiAgICAucHJvZmlsZS1iYW5uZXItd3JhcHBlci5oYXMtYmFubmVyIC5hdmF0YXIge1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgIH1cblxuICAgIC5wcm9maWxlLWJhbm5lci13cmFwcGVyLmhhcy1iYW5uZXIgLmF2YXRhci13cmFwcGVyIHtcbiAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICBsZWZ0OiAxMnB4O1xuICAgIH1cblxuICAgIC8qIFJlcG9ydGluZyAqL1xuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0YWJsZSxcbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHksXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB0ZCxcbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHRkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyIHRkW2RhdGEtbGFiZWxdOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyLm5lc3RlZC1yb3cge1xuICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3BhY2UtbWQpICsgMnB4KTtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ci5uZXN0ZWQtcm93IHRkIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIgdGQuY29sLWJlbmNobWFyayB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSB7XG4gICAgICAgIG9yZGVyOiA0O1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIgdGQuY29sLXJlYXNvbiB7XG4gICAgICAgIG9yZGVyOiA1O1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9uIHtcbiAgICAgICAgb3JkZXI6IDY7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtY29udGFpbmVyLFxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5yZXN1bHQtc3RhdHVzLWNvbW1lbnQgLmNvbnRlbnQgLmV2ZW50LWl0ZW0sXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC1pdGVtIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1iZy1ob3Zlci1kYXJrKTtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtbWV0YSxcbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LXVzZXIge1xuICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnNlYXJjaC1pbnB1dC13cmFwcGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuXG4gICAgLmZvcm0tZmlsdGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAuZm9ybS1maWx0ZXIgPiAqIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHNjcm9sbC1zbmFwLWFsaWduOiBub25lO1xuICAgIH1cblxuICAgIC5tb2RhbC1ib2R5IC5mb3JtLWZpbHRlciB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAubW9kYWwtYm9keSAuZm9ybS1maWx0ZXIgPiAqIHtcbiAgICAgICAgc2Nyb2xsLXNuYXAtYWxpZ246IG5vbmU7XG4gICAgfVxuXG4gICAgLm1vZGFsLWJvZHkgI3JhbmtpbmdfZmlsdGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5maWx0ZXItY2hpcHMtYmFyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAuZmlsdGVyLWNoaXBzLWJhciA+ICoge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuZmlsdGVyLWNoaXBzLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC5maWx0ZXItY2hpcHMtbGlzdCA+ICoge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBTUEsQ0FBQztBQUNHLFdBQVM7QUFDVCxlQUFhO0FBQ2IsbUJBQWlCO0FBQ2pCLGFBQVc7QUFDWCxVQUFRO0FBQ1IsV0FBUyxFQUFFLElBQUk7QUFDZixpQkFBZSxJQUFJO0FBQ25CLGVBQWEsSUFBSTtBQUNqQixvQkFBa0IsSUFBSTtBQUN0QixTQUFPLElBQUk7QUFDWCxjQUFZO0FBQ2hCO0FBRUEsQ0FBQyxPQUFPLENBZFA7QUFlRyxlQUFhLEtBQUssR0FBRyxFQUFFLElBQUk7QUFDL0I7QUFFQSxDQUFDLGdCQUFnQixDQWxCaEI7QUFtQkcsb0JBQWtCLElBQUk7QUFDdEIsU0FBTyxJQUFJO0FBQ2Y7QUFHQSxDQUFDO0FBQ0csV0FBUztBQUNULGVBQWE7QUFDYixPQUFLLElBQUk7QUFDVCxXQUFTLElBQUksbUJBQW1CLElBQUk7QUFDcEMsaUJBQWUsSUFBSTtBQUNuQixhQUFXLElBQUk7QUFDZixlQUFhLElBQUk7QUFDakIsa0JBQWdCO0FBQ2hCLGtCQUFnQjtBQUNoQixlQUFhLElBQUk7QUFDakIsVUFBUSxJQUFJ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 */
