/* 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-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:
    linear-gradient(
      135deg,
      #030617 0%,
      #1e3a5f 100%);
  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;
}
.grid-box-card--benchmark-stats h4 {
  text-transform: uppercase;
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.04em;
  color: var(--color-text-secondary);
  margin: 0;
}
.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-sm);
  padding-top: var(--space-sm);
  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);
  }
  .stage-number,
  .stage-number--running,
  .stage-number--closed,
  .stage-number--upcoming {
    background: transparent;
    background-color: transparent;
    border: none;
    border-color: transparent;
    border-radius: 0;
    padding: 0;
  }
  .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-sm) var(--space-md);
    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-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);
  }
  .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-sm) var(--space-md);
    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-sm) var(--space-md);
    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-sm);
    padding-top: var(--space-sm);
    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+IC5uYXZfX2xpbms6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICB9XG5cbiAgICAubmF2X19zdWIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWluLXdpZHRoOiAyNDBweDtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLWJvcmRlci1yYWRpdXMtc20pIHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpO1xuICAgICAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LWRyb3Bkb3duKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIHZpc2liaWxpdHkgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbiAgICB9XG5cbiAgICAvKiBIb3ZlciBicmlkZ2UgcHJldmVudGluZyBjdXJzb3IgZHJvcHMgKi9cbiAgICAubmF2X19zdWI6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtNnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgfVxuXG4gICAgLm5hdl9faXRlbS0taGFzLXN1Yjppcyg6aG92ZXIsIDpmb2N1cy13aXRoaW4pID4gLm5hdl9fc3ViIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG5cbiAgICAvKiBEZXNrdG9wIEhlYWRlciAmIE5hdmlnYXRpb24gQmFyICovXG4gICAgLmhlYWRlcixcbiAgICAubmF2aWdhdGlvbiB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgfVxuXG4gICAgLmhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuaGVhZGVyX190b3AtYmFyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgyODBweCwgMWZyKSBhdXRvIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLXhsKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLWxnKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmhlYWRlciAubG9nby13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5wYXRyZW9uIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtM3hsKTtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5wYXRyZW9uIGEsXG4gICAgLmhlYWRlciAucGF0cmVvbiBhOmxpbmssXG4gICAgLmhlYWRlciAucGF0cmVvbiBhOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5wYXRyZW9uIGE6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSwgOmFjdGl2ZSkge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgfVxuXG4gICAgLmhlYWRlciAuZ2xvYmFsLXNlYXJjaC13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmhlYWRlciAucGFydG5lci13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmhlYWRlciAucGFydG5lci13cmFwcGVyIC5wbGF0aW51bS1wYXJ0bmVyIGltZyB7XG4gICAgICAgIGhlaWdodDogdmFyKC0tcGFydG5lci1sb2dvLWhlaWdodCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmFjY291bnQtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmFjY291bnQtd3JhcHBlciAuZ3JpZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmFjY291bnQtd3JhcHBlciAuZ3JpZCBpIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1oZWFkZXItaWNvbi1zaXplKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5hY2NvdW50LXdyYXBwZXIgLmdyaWQgLmhlYWRlci1hdmF0YXItaW1nLS1kZXNrdG9wIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgLmhlYWRlciAuYWNjb3VudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmFjY291bnQgbGkge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5hY2NvdW50IGEsXG4gICAgLmhlYWRlciAuYWNjb3VudCBhOmxpbmssXG4gICAgLmhlYWRlciAuYWNjb3VudCBhOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB9XG5cbiAgICAuaGVhZGVyIC5hY2NvdW50IGE6aG92ZXIsXG4gICAgLmhlYWRlciAuYWNjb3VudCBhOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAzLiBNb2JpbGUgTmF2aWdhdGlvbiBEcmF3ZXIgKG1heC13aWR0aDogMTIwMHB4KVxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgLm5hdmlnYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICB9XG5cbiAgICAubmF2X19vdmVybGF5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLm5hdi0tb3BlbiAubmF2X19vdmVybGF5IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgfVxuXG4gICAgLm5hdl9fZHJhd2VyIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAzMjBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA4NXZ3O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgICAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LWRyYXdlcik7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tc21vb3RoKTtcbiAgICB9XG5cbiAgICAubmF2LS1vcGVuIC5uYXZfX2RyYXdlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG5cbiAgICAubmF2X19kcmF3ZXItaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAubmF2X19saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSAwIHZhcigtLXNwYWNlLTJ4bCkgMDtcbiAgICB9XG5cbiAgICAubmF2X19saW5rLXJvdyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTtcbiAgICB9XG5cbiAgICAubmF2X19saW5rLFxuICAgIC5uYXZfX2xpbms6bGluayxcbiAgICAubmF2X19saW5rOnZpc2l0ZWQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgfVxuXG4gICAgLm5hdl9fbGluay1yb3c6aXMoOmhvdmVyLCA6Zm9jdXMtd2l0aGluKSxcbiAgICAubmF2X19saW5rOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIH1cblxuICAgIC5uYXZfX3N1Yi10b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xuICAgIH1cblxuICAgIC5uYXZfX3N1Yi10b2dnbGU6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItaGlnaGxpZ2h0KTtcbiAgICB9XG5cbiAgICAubmF2X19pdGVtLS1vcGVuIC5uYXZfX3N1Yi10b2dnbGUgaSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIH1cblxuICAgIC5uYXZfX3N1YiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgfVxuXG4gICAgLm5hdl9faXRlbS0tb3BlbiAubmF2X19zdWIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAubmF2X19zdWItbGluayxcbiAgICAubmF2X19zdWItbGluazpsaW5rLFxuICAgIC5uYXZfX3N1Yi1saW5rOnZpc2l0ZWQge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpIHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS0yeGwpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICB9XG5cbiAgICAubmF2X19zdWItbGluazppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlLCA6YWN0aXZlKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICB9XG5cbiAgICAubmF2X19saW5rLS1jdGEge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvKiBNb2JpbGUgSGVhZGVyICYgU21hcnQgU3RpY2t5IFBhcnRuZXIgUm93ICovXG4gICAgLmhlYWRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogOTAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgIH1cblxuICAgIC5oZWFkZXJfX3RvcC1iYXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBtaW4taGVpZ2h0OiA1MnB4O1xuICAgIH1cblxuICAgIC5oZWFkZXIgLmxvZ28td3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmhlYWRlciAubG9nbyBpbWcge1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuaGVhZGVyX19tb2JpbGUtYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC5oZWFkZXJfX2FjdGlvbi1idG4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xuICAgIH1cblxuICAgIC5oZWFkZXJfX2FjdGlvbi1idG46aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSksXG4gICAgLm5hdl9fZHJvcGRvd24tLW9wZW4gLmhlYWRlcl9fYWN0aW9uLWJ0bi0tYWNjb3VudCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xOCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIH1cblxuICAgIC5oZWFkZXJfX2FjdGlvbi1idG46Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgIH1cblxuICAgIC5oZWFkZXJfX2FjdGlvbi1idG4gaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICAuaGVhZGVyLWF2YXRhci1pbWcge1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAucGFydG5lci13cmFwcGVyLS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwYWRkaW5nOiA2cHggdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1heC1oZWlnaHQ6IDQ4cHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjI4cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMjJzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmcgMC4yOHMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMjhzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGggMC4yOHMgZWFzZTtcbiAgICB9XG5cbiAgICAucGFydG5lci13cmFwcGVyLS1tb2JpbGUgLnBsYXRpbnVtLXBhcnRuZXIgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmhlYWRlci0tcGFydG5lci1oaWRkZW4gLnBhcnRuZXItd3JhcHBlci0tbW9iaWxlIHtcbiAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbn1cbiIsICIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIV0JPVCBHbG9iYWwgU2VhcmNoIENvbXBvbmVudCAoc2VhcmNoLmNzcylcbiAgIFBhaXJlZCB3aXRoIHRhZ3Mvc2VhcmNobW9kYWwuanRlIGFuZCBtb2R1bGVzL3NlYXJjaC50c1xuICAgQ29udGFpbnMgYmFzZSwgZGVza3RvcCAoQG1lZGlhIG1pbi13aWR0aDogMTIwMXB4KSwgYW5kIG1vYmlsZSAoQG1lZGlhIG1heC13aWR0aDogMTIwMHB4KSBzdHlsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgMS4gQmFzZSAmIEJhY2tkcm9wIC8gU2Nyb2xsIExvY2sgU3R5bGVzXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5odG1sLnNlYXJjaC1vcGVuLFxuYm9keS5zZWFyY2gtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTtcbiAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWJhY2tkcm9wIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldDogMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMywgNiwgMjMsIDAuNzUpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xuICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgei1pbmRleDogdmFyKC0tei1pbmRleC1iYWNrZHJvcCk7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogbm9uZTtcbiAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi5nbG9iYWwtc2VhcmNoLFxuLmdsb2JhbC1zZWFyY2gtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtYXV0b2NvbXBsZXRlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbmF2eSk7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmdsb2JhbC1zZWFyY2gtYXV0b2NvbXBsZXRlLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW5hdnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWhlYWRlci10b29scyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1zcGlubmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UteGwpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5jYXRlZ29yeS1oZWFkZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWRhc2hlZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuY2F0ZWdvcnktaGVhZGVyIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5jYXRlZ29yeS1iYWRnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuc2VhcmNoLWl0ZW0tbGlzdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS14cykgMCAwO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5zZWFyY2gtaXRlbSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNik7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLnNlYXJjaC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLml0ZW0tbGluayxcbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLml0ZW0tbGluazpsaW5rLFxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuaXRlbS1saW5rOnZpc2l0ZWQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWluLWhlaWdodDogMjVweDtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuaXRlbS1uYW1lIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5pdGVtLWxpbms6aG92ZXIsXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5pdGVtLWxpbms6Zm9jdXMsXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5pdGVtLWxpbms6YWN0aXZlLFxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuaXRlbS1saW5rLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuaXRlbS1hcnJvdyB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5pdGVtLWxpbms6aXMoOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsIC5pcy1hY3RpdmUpIC5pdGVtLWFycm93IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuc2VhcmNoLWVtcHR5LXN0YXRlLFxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuc2VhcmNoLXByb21wdC1zdGF0ZSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA0MHB4IHZhcigtLXNwYWNlLWxnKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5lbXB0eS1pY29uLFxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAucHJvbXB0LWljb24ge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5wcm9tcHQtaWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi5nbG9iYWwtc2VhcmNoLWNvbnRlbnQgLmVtcHR5LXRpdGxlLFxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAucHJvbXB0LXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGcpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmdsb2JhbC1zZWFyY2gtY29udGVudCAuZW1wdHktc3VidGl0bGUsXG4uZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5wcm9tcHQtc3VidGl0bGUge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAzMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vcm1hbCk7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIDIuIERlc2t0b3AgU2VhcmNoIChtaW4td2lkdGg6IDEyMDFweClcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAgIC5nbG9iYWwtc2VhcmNoIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtaW5wdXQtZ3JvdXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIC5nbG9iYWwtc2VhcmNoIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4gICAgLmdsb2JhbC1zZWFyY2gtaW5wdXQsXG4gICAgLmdsb2JhbC1zZWFyY2ggYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgLmdsb2JhbC1zZWFyY2gtYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2ggaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgLmdsb2JhbC1zZWFyY2ggaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbiAgICAuZ2xvYmFsLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS1sZyk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpIDAgMCB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOjpwbGFjZWhvbGRlcixcbiAgICAuZ2xvYmFsLXNlYXJjaCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjpwbGFjZWhvbGRlcixcbiAgICAuZ2xvYmFsLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2ggaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4gICAgLmdsb2JhbC1zZWFyY2ggaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbiAgICAuZ2xvYmFsLXNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gICAgICAgIHdpZHRoOiAzODBweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDU2LCAxODksIDI0OCwgMC41KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLFxuICAgIC5nbG9iYWwtc2VhcmNoLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UtbGcpIDAgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKSB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpIDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoOmhvdmVyIC5nbG9iYWwtc2VhcmNoLWlucHV0LFxuICAgIC5nbG9iYWwtc2VhcmNoOmhvdmVyIC5nbG9iYWwtc2VhcmNoLWJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdOmhvdmVyLFxuICAgIC5nbG9iYWwtc2VhcmNoLWJ1dHRvbjpob3ZlcixcbiAgICAuZ2xvYmFsLXNlYXJjaCBidXR0b25bdHlwZT1cInN1Ym1pdFwiXTpmb2N1cy12aXNpYmxlLFxuICAgIC5nbG9iYWwtc2VhcmNoLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXItZGFyayk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg1NiwgMTg5LCAyNDgsIDAuNSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoOmZvY3VzLXdpdGhpbiAuZ2xvYmFsLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg1NiwgMTg5LCAyNDgsIDAuNSk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2g6Zm9jdXMtd2l0aGluIC5nbG9iYWwtc2VhcmNoLWJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg1NiwgMTg5LCAyNDgsIDAuNSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtYXV0b2NvbXBsZXRlLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogNzVweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIHdpZHRoOiA5MDBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA5MnZ3O1xuICAgICAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LW1vZGFsKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cteGwpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWF1dG9jb21wbGV0ZS1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1kZXNrdG9wLWFjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtYXV0b2NvbXBsZXRlLWhlYWRlciAuYnV0dG9uLFxuICAgIC5nbG9iYWwtc2VhcmNoLWRlc2t0b3AtYWN0aW9uIC5idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtYXV0b2NvbXBsZXRlLWhlYWRlciAuYnV0dG9uOmhvdmVyLFxuICAgIC5nbG9iYWwtc2VhcmNoLWRlc2t0b3AtYWN0aW9uIC5idXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtY29udGVudCAuc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyODBweCwgMWZyKSk7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgICAgIG1heC1oZWlnaHQ6IDcwdmg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtY29udGVudCAuc2VhcmNoLWNhdGVnb3J5LWdyb3VwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAzLiBNb2JpbGUgU2VhcmNoIE1vZGFsIChtYXgtd2lkdGg6IDEyMDBweClcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIC5nbG9iYWwtc2VhcmNoLWF1dG9jb21wbGV0ZS13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDBkdmg7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgei1pbmRleDogdmFyKC0tei1pbmRleC1tb2RhbCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW5hdnkpO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvci14OiBub25lO1xuICAgICAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWF1dG9jb21wbGV0ZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMGR2aDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbmF2eSk7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1hdXRvY29tcGxldGUtaGVhZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LXN0aWNreS1oZWFkZXIpO1xuICAgICAgICBwYWRkaW5nOiBtYXgodmFyKC0tc3BhY2UtbWQpLCBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMTJweCkpIG1heCh2YXIoLS1zcGFjZS1tZCksIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQsIDEycHgpKSB2YXIoLS1zcGFjZS1tZCkgbWF4KHZhcigtLXNwYWNlLW1kKSwgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0LCAxMnB4KSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW5hdnkpO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1tb2JpbGUtYWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtbW9iaWxlLWFjdGlvbiAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogNDRweDtcbiAgICAgICAgbWluLWhlaWdodDogNDRweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLW1vYmlsZS1hY3Rpb24gLmJ1dHRvbjphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1tb2JpbGUtYWN0aW9uIC5nbG9iYWwtc2VhcmNoLXNwaW5uZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLW1vYmlsZS1hY3Rpb24gaW5wdXQuaW5wdXQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UtbGcpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbmF2eSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1tb2JpbGUtYWN0aW9uIGlucHV0LmlucHV0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtc2VhcmNoLWNvbnRlbnQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSBtYXgodmFyKC0tc3BhY2UtbWQpLCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0LCAxMnB4KSkgbWF4KHZhcigtLXNwYWNlLTJ4bCksIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAzMnB4KSkgbWF4KHZhcigtLXNwYWNlLW1kKSwgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0LCAxMnB4KSk7XG4gICAgICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1zZWFyY2gtY29udGVudCAuc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLXNlYXJjaC1jb250ZW50IC5zZWFyY2gtY2F0ZWdvcnktZ3JvdXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgfVxufVxuIiwgIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhXQk9UIFZvdGUgQ29tcG9uZW50ICYgVm90ZXJzIFBvcG92ZXIgKHZvdGUuY3NzKVxuICAgUGFpcmVkIHdpdGggd2ViL3NyYy9tYWluL2Zyb250ZW5kL21vZHVsZXMvdm90ZS50c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBWb3RlIFdpZGdldCAmIFBvcG92ZXIgKi9cbi52b3RlLWNlbGwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udm90ZS1jZWxsIC52b3RlLXBpbGwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbn1cblxuLnZvdGUtd2lkZ2V0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnZvdGUtcGlsbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbGcpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2UteHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9uZSk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnZvdGUtcGlsbDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xufVxuXG4udm90ZS1waWxsX19idG4ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udm90ZS1waWxsX19idG46aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnZvdGUtcGlsbF9fYWN0aW9uLmhhcy12b3RlZCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG59XG5cbi52b3RlLXBpbGxfX2FjdGlvbi0tZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi52b3RlLXBpbGxfX2RpdmlkZXIge1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgbWFyZ2luOiAwIDFweDtcbn1cblxuLnZvdGUtcGlsbF9fY291bnQge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLnZvdGUtcGlsbF9fY2FyZXQge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTN4cyk7XG4gICAgb3BhY2l0eTogMC43O1xufVxuXG4vKiBEcm9wZG93biBQb3BvdmVyICovXG4udm90ZS1kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbWluLXdpZHRoOiAxODBweDtcbiAgICBtYXgtd2lkdGg6IDI0MHB4O1xuICAgIG1heC1oZWlnaHQ6IDIyMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItZGFyayk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW1kKTtcbiAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LWRyb3Bkb3duKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udm90ZS1wb3BvdmVyLWhlYWRlciB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLnZvdGUtcG9wb3Zlci1saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbn1cblxuLnZvdGUtcG9wb3Zlci1pdGVtIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4udm90ZS11c2VyLWxpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi52b3RlLXVzZXItbGluazpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1oaWdobGlnaHQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnZvdGUtdXNlci1hdmF0YXIge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi52b3RlLXBvcG92ZXItZW1wdHksXG4udm90ZS1sb2FkaW5nLFxuLnZvdGUtcG9wb3Zlci1lcnJvciB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCAiQGltcG9ydCBcIi4vYmFkZ2VzLmNzc1wiO1xuQGltcG9ydCBcIi4vbmF2aWdhdGlvbi5jc3NcIjtcbkBpbXBvcnQgXCIuL3NlYXJjaC5jc3NcIjtcbkBpbXBvcnQgXCIuL3ZvdGUuY3NzXCI7XG5cbjpyb290IHtcbiAgICAvKiBCYWNrZ3JvdW5kcyAmIFN1cmZhY2VzICovXG4gICAgLS1jb2xvci1iZy1ncmFkaWVudC1zdGFydDogIzUwOTFERDtcbiAgICAtLWNvbG9yLWJnLWdyYWRpZW50LWVuZDogIzAzMDYxNztcbiAgICAtLWNvbG9yLWJnLW1haW46ICNGNEY3Rjg7XG4gICAgLS1jb2xvci1iZy1zdXJmYWNlOiAjRkZGRkZGO1xuICAgIC0tY29sb3ItYmctY2FyZDogI2Y4ZmFmYztcbiAgICAtLWNvbG9yLWJnLWhvdmVyOiAjZjFmNWY5O1xuICAgIC0tY29sb3ItYmctaG92ZXItZGFyazogIzM2NDU0RjtcbiAgICAtLWNvbG9yLWJnLWRhcms6ICMzNjQ1NEY7XG4gICAgLS1jb2xvci1iZy1uYXZ5OiAjMDMwNjE3O1xuXG4gICAgLyogVGV4dCAmIFR5cG9ncmFwaHkgQ29sb3JzICovXG4gICAgLS1jb2xvci10ZXh0LXByaW1hcnk6ICMzNjQ1NEY7XG4gICAgLS1jb2xvci10ZXh0LWhlYWRpbmc6ICMwZjE3MmE7XG4gICAgLS1jb2xvci10ZXh0LXNlY29uZGFyeTogIzY0NzQ4YjtcbiAgICAtLWNvbG9yLXRleHQtbXV0ZWQ6ICM5NGEzYjg7XG4gICAgLS1jb2xvci10ZXh0LWludmVyc2U6ICNGNEY3Rjg7XG4gICAgLS1jb2xvci10ZXh0LWludmVyc2UtbXV0ZWQ6ICNEQ0RDREM7XG4gICAgLS1jb2xvci10ZXh0LXdoaXRlOiAjZmZmZmZmO1xuXG4gICAgLyogQm9yZGVycyAqL1xuICAgIC0tY29sb3ItYm9yZGVyLWxpZ2h0OiAjRTVFNUU1O1xuICAgIC0tY29sb3ItYm9yZGVyLXN1YnRsZTogI2UyZThmMDtcbiAgICAtLWNvbG9yLWJvcmRlci1kYXNoZWQ6ICNjYmQ1ZTE7XG4gICAgLS1jb2xvci1ib3JkZXItc3RhbmRhcmQ6IGxpZ2h0Z3JheTtcbiAgICAtLWNvbG9yLWJvcmRlci1kYXJrOiAjMzY0NTRGO1xuICAgIC0tYm9yZGVyLXdpZHRoLXNtOiAxcHg7XG4gICAgLS1ib3JkZXItd2lkdGgtbWQ6IDJweDtcbiAgICAtLWJvcmRlci13aWR0aC1sZzogNHB4O1xuICAgIC0tYm9yZGVyLXdpZHRoLXhsOiA1cHg7XG4gICAgLS1ib3JkZXItcmFkaXVzLXhzOiA0cHg7XG4gICAgLS1ib3JkZXItcmFkaXVzLXNtOiA2cHg7XG4gICAgLS1ib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgLS1ib3JkZXItcmFkaXVzLWxnOiAxNnB4O1xuICAgIC0tYm9yZGVyLXJhZGl1cy1mdWxsOiA5OTk5cHg7XG4gICAgLS1ib3JkZXItcmFkaXVzLWNpcmNsZTogNTAlO1xuXG4gICAgLyogQnJhbmQsIEFjdGlvbnMgJiBIaWdobGlnaHRzICovXG4gICAgLS1jb2xvci1wcmltYXJ5OiAjMDI4NGM3O1xuICAgIC0tY29sb3ItcHJpbWFyeS1ob3ZlcjogIzAzNjlhMTtcbiAgICAtLWNvbG9yLWFjY2VudDogIzM4YmRmODtcbiAgICAtLWNvbG9yLWhpZ2hsaWdodDogIzYwYTVmYTtcblxuICAgIC8qIExpbmtzICovXG4gICAgLS1jb2xvci1saW5rOiAjMWQ0ZWQ4O1xuICAgIC0tY29sb3ItbGluay1ob3ZlcjogIzFlNDBhZjtcbiAgICAtLWNvbG9yLWxpbmstdW5kZXJsaW5lOiByZ2JhKDI5LCA3OCwgMjE2LCAwLjM1KTtcblxuICAgIC8qIFN0YXR1czogU3VjY2VzcyAoR3JlZW4pICovXG4gICAgLS1jb2xvci1zdWNjZXNzOiAjMTZhMzRhO1xuICAgIC0tY29sb3Itc3VjY2Vzcy1iZzogI2YwZmRmNDtcbiAgICAtLWNvbG9yLXN1Y2Nlc3MtYm9yZGVyOiAjYmJmN2QwO1xuICAgIC0tY29sb3Itc3VjY2Vzcy10ZXh0OiAjMTY2NTM0O1xuXG4gICAgLyogU3RhdHVzOiBXYXJuaW5nIC8gUGVuZGluZyAoQW1iZXIpICovXG4gICAgLS1jb2xvci13YXJuaW5nOiAjZDk3NzA2O1xuICAgIC0tY29sb3Itd2FybmluZy1iZzogI2ZmZmJlYjtcbiAgICAtLWNvbG9yLXdhcm5pbmctYm9yZGVyOiAjZmRlNjhhO1xuICAgIC0tY29sb3Itd2FybmluZy10ZXh0OiAjOTI0MDBlO1xuICAgIC0tY29sb3Itd2FybmluZy1zdGFyOiAjZWFiMzA4O1xuXG4gICAgLyogU3RhdHVzOiBEYW5nZXIgLyBFcnJvciAoUmVkKSAqL1xuICAgIC0tY29sb3ItZXJyb3I6ICNkYzI2MjY7XG4gICAgLS1jb2xvci1lcnJvci1iZzogI2ZlZjJmMjtcbiAgICAtLWNvbG9yLWVycm9yLWJvcmRlcjogI2ZlY2FjYTtcbiAgICAtLWNvbG9yLWVycm9yLXRleHQ6ICM5OTFiMWI7XG5cbiAgICAvKiBTdGF0dXM6IEluZm8gKEJsdWUpICovXG4gICAgLS1jb2xvci1pbmZvLWJnOiAjZWZmNmZmO1xuICAgIC0tY29sb3ItaW5mby1ib3JkZXI6ICNiZmRiZmU7XG4gICAgLS1jb2xvci1pbmZvLXRleHQ6ICMxZTQwYWY7XG5cbiAgICAvKiBTdGF0dXM6IFRlYW0gKFB1cnBsZSkgKi9cbiAgICAtLWNvbG9yLXRlYW06ICM3YzNhZWQ7XG4gICAgLS1jb2xvci10ZWFtLWJnOiAjZjVmM2ZmO1xuICAgIC0tY29sb3ItdGVhbS1ib3JkZXI6ICNkZGQ2ZmU7XG4gICAgLS1jb2xvci10ZWFtLXRleHQ6ICM3YzNhZWQ7XG4gICAgLS1jb2xvci10ZWFtLXRleHQtZGFyazogIzViMjFiNjtcblxuICAgIC8qIFJhbmtpbmdzIC8gTWVkYWxzICovXG4gICAgLS1jb2xvci1wb3MtZmlyc3Q6ICNGRkQ3MDA7XG4gICAgLS1jb2xvci1wb3Mtc2Vjb25kOiAjQzBDMEMwO1xuICAgIC0tY29sb3ItcG9zLXRoaXJkOiAjQ0Q3RjMyO1xuICAgIC0tY29sb3ItcG9zLWZvdXItZml2ZTogI0FBQkZDOTtcbiAgICAtLXBvcy1tYXJrZXItd2lkdGg6IDRweDtcbiAgICAtLXJhbmstcG9zLW1pbi13aWR0aDogMjZweDtcblxuICAgIC8qIENvbXBvbmVudCBTaXplcyAqL1xuICAgIC0tYXZhdGFyLXNpemUtc206IDIycHg7XG4gICAgLS1oZWFkZXItaWNvbi1zaXplOiAxNXB4O1xuICAgIC0tcGFydG5lci1sb2dvLWhlaWdodDogMzBweDtcblxuICAgIC8qIFNwYWNpbmcgKi9cbiAgICAtLXNwYWNlLTJ4czogMnB4O1xuICAgIC0tc3BhY2UteHM6ICA0cHg7XG4gICAgLS1zcGFjZS1zOiAgIDZweDtcbiAgICAtLXNwYWNlLXNtOiAgOHB4O1xuICAgIC0tc3BhY2UtbWQ6IDEycHg7XG4gICAgLS1zcGFjZS1sZzogMTZweDtcbiAgICAtLXNwYWNlLXhsOiAyNHB4O1xuICAgIC0tc3BhY2UtMnhsOiAzMnB4O1xuXG4gICAgLyogRm9udCAqL1xuICAgIC0tZm9udC1oZWFkaW5nOiBcIlBpbGxHb3RoaWMzMDBtZ0JvbGRcIiwgXCJMdWNpZGEgR3JhbmRlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgLS1mb250LWJhc2U6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIC0tZm9udC1tb25vOiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgbW9ub3NwYWNlO1xuICAgIC0tZm9udC1zaXplLTN4czogIDAuNjI1cmVtO1xuICAgIC0tZm9udC1zaXplLTJ4czogIDAuNjg3NXJlbTtcbiAgICAtLWZvbnQtc2l6ZS14czogICAwLjc1cmVtO1xuICAgIC0tZm9udC1zaXplLXNtOiAgIDAuODEyNXJlbTtcbiAgICAtLWZvbnQtc2l6ZS1tZDogICAwLjg3NXJlbTtcbiAgICAtLWZvbnQtc2l6ZS1iYXNlOiAxcmVtO1xuICAgIC0tZm9udC1zaXplLWxnOiAgIDEuMTI1cmVtO1xuICAgIC0tZm9udC1zaXplLXhsOiAgIDEuMjVyZW07XG4gICAgLS1mb250LXNpemUtMnhsOiAgMS41cmVtO1xuICAgIC0tZm9udC1zaXplLTN4bDogIDEuODc1cmVtO1xuICAgIC0tZm9udC13ZWlnaHQtbm9ybWFsOiAgICA0MDA7XG4gICAgLS1mb250LXdlaWdodC1tZWRpdW06ICAgIDUwMDtcbiAgICAtLWZvbnQtd2VpZ2h0LXNlbWlib2xkOiAgNjAwO1xuICAgIC0tZm9udC13ZWlnaHQtYm9sZDogICAgICA3MDA7XG4gICAgLS1mb250LXdlaWdodC1leHRyYWJvbGQ6IDgwMDtcblxuICAgIC8qIExpbmUgSGVpZ2h0ICovXG4gICAgLS1saW5lLWhlaWdodC1ub25lOiAgIDE7XG4gICAgLS1saW5lLWhlaWdodC10aWdodDogIDEuMjU7XG4gICAgLS1saW5lLWhlaWdodC1ub3JtYWw6IDEuNTtcblxuXG4gICAgLyogRWxldmF0aW9uIC8gU2hhZG93cyAqL1xuICAgIC0tc2hhZG93LXNtOiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIC0tc2hhZG93LW1kOiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgLS1zaGFkb3ctbGc6IDAgMTBweCAyNXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIC0tc2hhZG93LXhsOiAwIDI1cHggNjBweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG5cbiAgICAvKiBUcmFuc2l0aW9ucyAmIE1vdGlvbiAqL1xuICAgIC0tdHJhbnNpdGlvbi1mYXN0OiAgIDAuMTVzIGVhc2U7XG4gICAgLS10cmFuc2l0aW9uLWJhc2U6ICAgMC4ycyBlYXNlO1xuICAgIC0tdHJhbnNpdGlvbi1zbW9vdGg6IDAuMzVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG5cbiAgICAvKiBMYXlvdXQgRGltZW5zaW9ucyAqL1xuICAgIC0tbGF5b3V0LW1heC13aWR0aDogMjAwMHB4O1xuICAgIC0tc2lkZWJhci1taW4td2lkdGg6IDI2MHB4O1xuXG4gICAgLyogTW9kYWwgLyBEaWFsb2cgV2lkdGhzICovXG4gICAgLS1tb2RhbC13aWR0aC1zbTogNDgwcHg7XG4gICAgLS1tb2RhbC13aWR0aC1tZDogNjAwcHg7XG4gICAgLS1tb2RhbC13aWR0aC1sZzogODAwcHg7XG4gICAgLS1tb2RhbC13aWR0aC14bDogMTIwMHB4O1xuXG4gICAgLyogU3RhY2tpbmcgQ29udGV4dCAoei1pbmRleCkgKi9cbiAgICAtLXotaW5kZXgtdGFibGUtc3RpY2t5OiAyOyAgICAgICAgICAvKiB0Ym9keSBzdGlja3kgY29sdW1ucyAqL1xuICAgIC0tei1pbmRleC10YWJsZS1zdGlja3ktaGVhZDogMzsgICAgIC8qIHRoZWFkIHN0aWNreSBjb2x1bW5zICovXG4gICAgLS16LWluZGV4LXN0aWNreS1oZWFkZXI6IDEwOyAgICAgICAgLyogSW4tcGFnZSBzdGlja3kgaGVhZGVycyAqL1xuICAgIC0tei1pbmRleC1sb2FkaW5nLW92ZXJsYXk6IDIwOyAgICAgIC8qIEluLXBhZ2UvY29tcG9uZW50IGxvYWRlcnMgKi9cbiAgICAtLXotaW5kZXgtZHJvcGRvd246IDUwMDsgICAgICAgICAgICAvKiBNZW51cyBhbmQgZmx5b3V0cyAqL1xuICAgIC0tei1pbmRleC1iYWNrZHJvcDogOTkwOyAgICAgICAgICAgIC8qIERpbW1lciBvdmVybGF5cyAqL1xuICAgIC0tei1pbmRleC1kcmF3ZXI6IDEwMDA7ICAgICAgICAgICAgIC8qIE9mZi1jYW52YXMgbmF2aWdhdGlvbiAmIHNpZGViYXJzICovXG4gICAgLS16LWluZGV4LW1vZGFsOiAxMDUwOyAgICAgICAgICAgICAgLyogU2VhcmNoIG1vZGFsICYgZGlhbG9ncyAqL1xufVxuXG5odG1sIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1iYXNlKTtcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBib3R0b20sIHZhcigtLWNvbG9yLWJnLWdyYWRpZW50LXN0YXJ0KSAwJSwgdmFyKC0tY29sb3ItYmctZ3JhZGllbnQtZW5kKSAxMDAlKSBuby1yZXBlYXQgZml4ZWQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbmJvZHkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxucCB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS14cykgMDtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1IHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLWxnKSAwIHZhcigtLXNwYWNlLW1kKSAwO1xufVxuXG4uZm9vdGVyIGgxLCAuZm9vdGVyIGgyLCAuZm9vdGVyIGgzLCAuZm9vdGVyIGg0LFxuLmZvb3RlciBoNSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG59XG5cbmEsIGE6bGluaywgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5hOmhvdmVyLCBhOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5cbi5mb250LWJvbGQge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmZvbnQtbXV0ZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG5cbi50ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cblxuaW5wdXRbdHlwZT1zdWJtaXRdLFxuaW5wdXRbdHlwZT1maWxlXSxcbnNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG59XG5cbnRleHRhcmVhLFxuaW5wdXRbdHlwZT1wYXNzd29yZF0sXG5pbnB1dFt0eXBlPXRleHRdLFxuaW5wdXRbdHlwZT1lbWFpbF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xufVxuXG50ZXh0YXJlYSxcbmlucHV0W3R5cGU9c3VibWl0XSxcbmlucHV0W3R5cGU9ZmlsZV0sXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSxcbmlucHV0W3R5cGU9dGV4dF0sXG5pbnB1dFt0eXBlPWVtYWlsXSxcbnNlbGVjdCB7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbmlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIFRhYmxlICovXG50YWJsZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxudGFibGUgdGhlYWQge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxudGFibGUgdGhlYWQgdHIgdGgsXG50YWJsZSB0aGVhZCB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbnRhYmxlIHRoZWFkIGEsXG50YWJsZSB0aGVhZCBhOmlzKDpsaW5rLCA6dmlzaXRlZCwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMsIDpmb2N1cy12aXNpYmxlKSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG5cbi5mbGV4LXJvdy1pdGVtLS13b3JsZC1yZWNvcmQgYSxcbi5mbGV4LXJvdy1pdGVtLS13b3JsZC1yZWNvcmQgYTppcyg6bGluaywgOnZpc2l0ZWQsIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzLCA6Zm9jdXMtdmlzaWJsZSksXG4uc2lkZS1hcmVhIGEsXG4uc2lkZS1hcmVhIGE6aXMoOmxpbmssIDp2aXNpdGVkLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXZpc2libGUpLFxudGFibGUgdGJvZHkgYSxcbnRhYmxlIHRib2R5IGE6aXMoOmxpbmssIDp2aXNpdGVkLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cywgOmZvY3VzLXZpc2libGUpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cblxudGFibGUgdGJvZHkgdHIgdGgsXG50YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG50YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG50YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxudGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbn1cblxuLnN0aWNreS10YWJsZSB0YWJsZSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5zdGlja3ktdGFibGUgdGFibGUgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsXG4uc3RpY2t5LXRhYmxlIHRhYmxlIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSk7XG59XG5cbi5zdGlja3ktdGFibGUgdGFibGUgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCxcbi5zdGlja3ktdGFibGUgdGFibGUgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cykgLSB2YXIoLS1ib3JkZXItd2lkdGgtc20pKTtcbn1cblxuLnN0aWNreS10YWJsZSB0YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkLFxuLnN0aWNreS10YWJsZSB0YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSk7XG59XG5cbi5zdGlja3ktdGFibGUgdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLFxuLnN0aWNreS10YWJsZSB0YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSk7XG59XG5cbi5zdGlja3ktdGFibGUtLWNvbXBhcmUgdGFibGUgdGhlYWQgaDMgIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLnN0aWNreS10YWJsZS0tY29tcGFyZSB0YWJsZSB0ZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG59XG5cbi5zdGlja3ktdGFibGUtLWNvbXBhcmUgdGFibGUgdGJvZHkgdHIgdGQ6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5zdGlja3ktdGFibGUtLWNvbXBhcmUgdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBib3JkZXItcmlnaHQ6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLnN0aWNreS10YWJsZSB0YWJsZSB0aGVhZCB0aC5zdGlja3ktY29sLFxuLnN0aWNreS10YWJsZSB0YWJsZSB0aGVhZCB0ZC5zdGlja3ktY29sLFxuLnN0aWNreS10YWJsZS0tY29tcGFyZSB0YWJsZSB0aGVhZCB0aC5zdGlja3ktY29sIHtcbiAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgtdGFibGUtc3RpY2t5LWhlYWQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm94LXNoYWRvdzogMnB4IDAgNXB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG5cbi5zdGlja3ktdGFibGUgdGFibGUgdGJvZHkgdGguc3RpY2t5LWNvbCxcbi5zdGlja3ktdGFibGUgdGFibGUgdGJvZHkgdGQuc3RpY2t5LWNvbCxcbi5zdGlja3ktdGFibGUtLWNvbXBhcmUgdGFibGUgdGJvZHkgdGguc3RpY2t5LWNvbCB7XG4gICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4LXRhYmxlLXN0aWNreSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBib3gtc2hhZG93OiAycHggMCA1cHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbn1cblxuLnN0aWNreS10YWJsZSB0YWJsZSB0Ym9keSB0cjpob3ZlciB0aC5zdGlja3ktY29sLFxuLnN0aWNreS10YWJsZSB0YWJsZSB0Ym9keSB0cjpob3ZlciB0ZC5zdGlja3ktY29sIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbmJvZHkud2FpdGluZyxcbmJvZHkud2FpdGluZyAqIHtcbiAgICBjdXJzb3I6IHdhaXQ7XG59XG5cbi50YWJsZS1uYXZpZ2F0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLnRhYmxlLW5hdmlnYXRpb24gLnBhZ2luYXRpb24ge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udGFibGUtbmF2aWdhdGlvbiAucGFnaW5hdGlvbiBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLnRhYmxlLW5hdmlnYXRpb24gLnBhZ2luYXRpb24gLmJ1dHRvbiB7XG4gICAgbWluLXdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnRhYmxlLW5hdmlnYXRpb24gLnBhZ2luYXRpb24gLmJ1dHRvbi5idXR0b24tLXByaW1hcnksXG4udGFibGUtbmF2aWdhdGlvbiAucGFnaW5hdGlvbiAuYnV0dG9uLmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi50YWJsZS1uYXZpZ2F0aW9uIC5wYWdpbmF0aW9uIC5idXR0b246bm90KC5idXR0b24tLXByaW1hcnkpOm5vdCguZm9jdXMpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi50YWJsZS1hdmF0YXItd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4udGFibGUtYXZhdGFyLXdyYXBwZXIgaW1nIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xufVxuXG4udGFibGUtYXZhdGFyLXdyYXBwZXIgLnBhcnRpY2lwYW50IHtcbiAgICB3aWR0aDogMTMwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRhYmxlLWF2YXRhci13cmFwcGVyLS1mb2xsb3dlcnMge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udGFibGUtYXZhdGFyLXdyYXBwZXItLWZvbGxvd2Vyczpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbn1cblxuLnRhYmxlLWZpcnN0LXBvcyB7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC14bCkgc29saWQgdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbn1cblxuLnRhYmxlLXNlY29uZC1wb3Mge1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgteGwpIHNvbGlkIHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xufVxuXG4udGFibGUtdGhpcmQtcG9zIHtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLXhsKSBzb2xpZCB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xufVxuXG4udGFibGUtcG9zIHtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLXhsKSBzb2xpZCB2YXIoLS1jb2xvci1wb3MtZm91ci1maXZlKTtcbn1cblxuLnNjcm9sbGFibGUtdGFibGUtd3JhcHBlciB7XG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xufVxuXG4uc2Nyb2xsYWJsZS10YWJsZS13cmFwcGVyIHRhYmxlIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5zY3JvbGxhYmxlLXRhYmxlLXdyYXBwZXIgdGFibGUgdGhlYWQgdHIgdGgsXG4uc2Nyb2xsYWJsZS10YWJsZS13cmFwcGVyIHRhYmxlIHRoZWFkIHRyIHRkIHtcbiAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG59XG5cbi5tYWluLWFyZWEge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1sZykgO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDkwMHB4O1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLWxnKSAwO1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0YXJ0O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudCggZWxsaXBzZSA2NSUgNTUlIGF0IDUwJSA1NSUsIHJnYmEoMTkwLCAyMjUsIDI1NSwgMC43KSAwJSwgcmdiYSgyMTUsIDIzNSwgMjU1LCAwLjM1KSA0NSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNzUlICk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5zaWRlLWFyZWEge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1sZykgMDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnNpZGUtYXJlYSBoMSxcbi5zaWRlLWFyZWEgaDIsXG4uc2lkZS1hcmVhIGgzIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS1zbSkgMCB2YXIoLS1zcGFjZS14cykgMDtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xufVxuXG4uc2lkZS1hcmVhIGgyIGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNpZGUtYXJlYSBoMiBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5zaWRlLWFyZWEtLXRyZWUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xufVxuXG4uZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlci1kYXJrKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG59XG5cbi5mb290ZXIgYSxcbi5mb290ZXIgYTpsaW5rLFxuLmZvb3RlciBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xufVxuXG4uZm9vdGVyIGE6aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSwgOmFjdGl2ZSkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLyogQ29udGVudCB3cmFwcGVyICovXG4uY29udGVudCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIwcHggbWlubWF4KDAsIDFmcikgMjBweDtcbiAgICByb3ctZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xufVxuXG4uY29udGVudCA+ICoge1xuICAgIGdyaWQtY29sdW1uOiAyO1xufVxuXG4uY29udGVudCA+IC5mbGV4LXJvdy0td29ybGQtcmVjb3JkcyB7XG4gICAgZ3JpZC1jb2x1bW46IDEvLTE7XG59XG5cbi5zdWItY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4vKiBoZXJvIGJhbm5lciAqL1xuLmhlcm8tYmFubmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMzA2MTcgMCUsICMxZTNhNWYgMTAwJSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbGcpIHZhcigtLXNwYWNlLW1kKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uaGVyby1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5oZXJvLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uaGVyby1zdWJ0aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKiBIYXJkd2FyZSBoZXJvIHNjdGlvbiAqL1xuLmhhcmR3YXJlLWhlcm8tc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS1sZyk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXhsKTtcbn1cblxuLmhhcmR3YXJlLWhlcm8taW1hZ2UtY2FyZCB7XG4gIGZsZXg6IDEgMSAzMDBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtbGcpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmhhcmR3YXJlLWJlbmNobWFyay1pbWFnZS13cmFwcGVyIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4uaGFyZHdhcmUtaGVyby1zdGF0cy1ncmlkIHtcbiAgZmxleDogMiAxIDMyMHB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIyMHB4LCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5oYXJkd2FyZS1oZXJvLXN0YXQtY2FyZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1sZyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5oYXJkd2FyZS1oZXJvLXN0YXQtY2FyZCBoMyB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhsKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UteHMpIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmhhcmR3YXJlLXN1Yi1sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLXNtKSAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oYXJkd2FyZS1zdGF0LWxhYmVsIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oYXJkd2FyZS1mYW1pbHktbGluayB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1zbSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmhhcmR3YXJlLWZhbWlseS1saW5rOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi5oYXJkd2FyZS10YWItbWVudSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1zbSk7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaGFyZHdhcmUtdGFiLW1lbnUgLmJ1dHRvbiB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5pbWFnZS1tb2RhbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMTtcbiAgICBwYWRkaW5nOiA1MHB4IDAgMCAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMCwgMCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpO1xufVxuXG4uaW1hZ2UtbW9kYWwtY29udGVudCB7XG4gICAgbWFyZ2luOiBhdXRvIGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgbWF4LWhlaWdodDogOTAlO1xufVxuXG4vKiBpbWFnZSAqL1xuLmltYWdlLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmJlbmNobWFyay1pbWFnZS13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5iZW5jaG1hcmstaW1hZ2Utd3JhcHBlciBpbWcge1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNDAwcHg7XG59XG5cbi8qIENvbXBvIHN0YWdlIGluZm8gY2FyZCAqL1xuLmxpc3QtLXN0YWdlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5saXN0IGxpLnN0YWdlLWluZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmxpc3QgbGkuc3RhZ2UtaW5mbzpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uc3RhZ2UtaW5mby1tYWluIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc3RhZ2UtaW5mby1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zdGFnZS1udW1iZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc3RhZ2UtbnVtYmVyIGkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG59XG5cbi5zdGFnZS1udW1iZXItLXJ1bm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzLXRleHQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcy1ib3JkZXIpO1xufVxuXG4uc3RhZ2UtbnVtYmVyLS1ydW5uaW5nIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbn1cblxuLnN0YWdlLW51bWJlci0tY2xvc2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci1iZyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yLXRleHQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItYm9yZGVyKTtcbn1cblxuLnN0YWdlLW51bWJlci0tY2xvc2VkIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi5zdGFnZS1udW1iZXItLXVwY29taW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWRhc2hlZCk7XG59XG5cbi5zdGFnZS1udW1iZXItLXVwY29taW5nIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cblxuLnN0YWdlLWluZm8gLnN0YWdlLWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbn1cblxuLnN0YWdlLWluZm8gLnN0YWdlLWxpbmsgc3BhbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbn1cblxuLnN0YWdlLWluZm8gLnN0YWdlLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLnN0YWdlLWluZm8uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1pbmZvLWJnKTtcbn1cblxuLnN0YWdlLWluZm8uYWN0aXZlIC5zdGFnZS1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uc3RhZ2UtaW5mbyAuc3RhZ2UtbGluayBpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc3RhZ2UtaW5mbyAuc3RhZ2UtbGluazpob3ZlciBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG59XG5cbi5zdGFnZS1pbmZvLW1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uc3RhZ2UtbWV0YS1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uc3RhZ2UtbWV0YS1yYW5rIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5zdGFnZS1tZXRhLXJhbmsgLmZhLXRyb3BoeSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uc3RhZ2UtbWV0YS1yYW5rLnJhbmstLWdvbGQgLmZhLXRyb3BoeSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctc3Rhcik7XG59XG5cbi5zdGFnZS1tZXRhLXJhbmsucmFuay0tc2lsdmVyIC5mYS10cm9waHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLnN0YWdlLW1ldGEtcmFuay5yYW5rLS1icm9uemUgLmZhLXRyb3BoeSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpO1xufVxuXG4uc3RhZ2UtaW5mbyAudGV4dC1tdXRlZCAuZmEtdHJvcGh5IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWRhc2hlZCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5zdGFnZS1tZXRhLXNjb3JlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5zdGFnZS1pbmZvIC50ZXh0LW11dGVkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5zdGFnZS1pbmZvIC5zY29yZS1saW5rIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5zdGFnZS1pbmZvIC5zY29yZS1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMnB4O1xufVxuXG4uc3RhZ2UtaW5mbyAudGFyZ2V0LWljb24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi8qIEdyaWQgYm94ZXMgKi9cbi5ncmlkLWJveCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmdyaWQtYm94LS1zdWJtaXQtaGFyZHdhcmUge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xufVxuXG4uZ3JpZC1ib3gtLXN1Ym1pdC1oYXJkd2FyZSA+IGRpdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZ3JpZC1ib3gtLXN1Ym1pdC1oYXJkd2FyZSBpbWcge1xuICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgbWF4LWhlaWdodDogMTIwcHg7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBtYXJnaW46IDAgYXV0bztcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG5cdGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4ud2FsbC1zdWJtaXNzaW9uLWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGdhcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLndhbGwtc3VibWlzc2lvbi1jYXJkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG59XG5cbi5ncmlkLWJveC0tYWNoaWV2ZW1lbnQsXG4uZ3JpZC1ib3gtLXBhcnRuZXIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTgwcHgsIDFmcikpO1xufVxuXG4uZ3JpZC1ib3gtLWhpZ2hsaWdodC1zdWJtaXNzaW9uLFxuLmdyaWQtYm94LS1zdWJtaXNzaW9uLWhhcmR3YXJlIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwMHB4LCAxZnIpKTtcbn1cblxuLmdyaWQtYm94LS1jb21wbyxcbi5ncmlkLWJveC0tcHJvZmlsZSxcbi5ncmlkLWJveC0tc3VibWlzc2lvbi1yYW5raW5nIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI1MHB4LCAxZnIpKTtcbn1cblxuLmdyaWQtYm94LS1iZW5jaG1hcmtzLFxuLmdyaWQtYm94LS1oYXJkd2FyZS1vdmVydmlldyxcbi5ncmlkLWJveC0tbGVhZ3VlLWluZm8sXG4uZ3JpZC1ib3gtLW5ld3MsXG4uZ3JpZC1ib3gtLXNlYXJjaCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzMDBweCwgMWZyKSk7XG59XG5cbi5ncmlkLWJveC0tcHJvZmlsZS1hY2NvdW50LXNldHRpbmdzIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KG1pbigyODBweCwgMTAwJSksIDUwMHB4KSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHZW5lcmljIENhcmQgU3VyZmFjZSBQcmltaXRpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2FyZCxcbi5ncmlkLWJveC1jYXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi8qIENhcmQgRWxlbWVudHMgKi9cbi5jYXJkX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uY2FyZF9fdGl0bGUsXG4uY2FyZC10aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLmNhcmQgPiA6aXMoaDIsIGgzKTpmaXJzdC1jaGlsZCxcbi5ncmlkLWJveC1jYXJkID4gOmlzKGgyLCBoMyk6Zmlyc3QtY2hpbGQsXG4uY2FyZF9fYm9keSA+IDppcyhoMiwgaDMpOmZpcnN0LWNoaWxkLFxuLmNhcmQtYm9keSA+IDppcyhoMiwgaDMpOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5jYXJkID4gOmlzKGgyLCBoMyk6bGFzdC1jaGlsZCxcbi5ncmlkLWJveC1jYXJkID4gOmlzKGgyLCBoMyk6bGFzdC1jaGlsZCxcbi5jYXJkX19ib2R5ID4gOmlzKGgyLCBoMyk6bGFzdC1jaGlsZCxcbi5jYXJkLWJvZHkgPiA6aXMoaDIsIGgzKTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tYmVuY2htYXJrLXN0YXRzID4gOmlzKGgyLCBoMyk6Zmlyc3QtY2hpbGQge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uY2FyZF9fYm9keSxcbi5jYXJkLWJvZHkge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY2FyZF9fZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbn1cblxuLmdyaWQtYm94LWNhcmQtLXN1Ym1pdC1oYXJkd2FyZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxO1xufVxuXG5cbi5ncmlkLWJveC1jYXJkLS1kZXNjcmlwdGlvbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbn1cblxuLmNhcmQtLXNpZGViYXItcmFua2luZyxcbi5ncmlkLWJveC1jYXJkLS1zaWRlYmFyLXJhbmtpbmcsXG4uZ3JpZC1ib3gtY2FyZC5ncmlkLWJveC1jYXJkLS1zaWRlYmFyLXJhbmtpbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1uZXdzIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSwgYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1uZXdzIC5mbGV4LXJvdy0tbmV3cy1mb290ZXIgYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1uZXdzIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1hY2hpZXZlbWVudCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1iZW5jaG1hcmstc3RhdHMsXG4uZ3JpZC1ib3gtY2FyZC0tcGFydG5lciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tYmVuY2htYXJrLXN0YXRzIGg0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uc3RhdC1zdGF0dXMge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cblxuLmdyaWQtYm94LWNhcmQtLW5ld3M6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbWQpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbn1cblxuLyogV2FsbCBTdWJtaXNzaW9uIENhcmQgKFVzZXIgUHJvZmlsZSAmIFRlYW0gV2FsbCkgKi9cbi53YWxsLWNhcmRfX2JvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLWxnKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi53YWxsLWNhcmRfX3JhbmtpbmdzIHtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VidGxlKTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi53YWxsLWNhcmRfX3JhbmtpbmdzIC5ncmlkLXNwZWMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLndhbGwtY2FyZF9fcmFua2luZ3MgLmdyaWQtc3BlYy1yb3cge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLndhbGwtY2FyZF9fZGF0ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ud2FsbC1jYXJkX191c2VyIHtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLndhbGwtY2FyZF9fdXNlciBhIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xufVxuXG4ud2FsbC1jYXJkX19iZW5jaG1hcmsgYSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG59XG5cbi53YWxsLWNhcmRfX2hhcmR3YXJlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi53YWxsLWNhcmRfX2hhcmR3YXJlIGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLndhbGwtY2FyZF9faGFyZHdhcmUgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xufVxuXG4ud2FsbC1jYXJkX19jb3JlcyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctYWx0KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zeHMpIHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLndhbGwtY2FyZF9fY29vbGluZyB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi53YWxsLWNhcmRfX3Njb3JlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLndhbGwtY2FyZF9fc2NvcmUgYSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLndhbGwtY2FyZF9fc2NvcmUgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tYmVuY2htYXJrcyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDA7XG59XG5cbi5ncmlkLWJveC1jYXJkLS1iZW5jaG1hcmtzLFxuLmdyaWQtYm94LWNhcmQtLWNvbXBvLFxuLmdyaWQtYm94LWNhcmQtLWhhcmR3YXJlLW92ZXJ2aWV3LFxuLmdyaWQtYm94LWNhcmQtLWhpZ2hsaWdodC1zdWJtaXNzaW9uLFxuLmdyaWQtYm94LWNhcmQtLWxlYWd1ZS1pbmZvLFxuLmdyaWQtYm94LWNhcmQtLWxvZ2luLFxuLmdyaWQtYm94LWNhcmQtLXByb2ZpbGUsXG4uZ3JpZC1ib3gtY2FyZC0tcmVnaXN0ZXIsXG4uZ3JpZC1ib3gtY2FyZC0tcmVzZXQtcGFzc3dvcmQsXG4uZ3JpZC1ib3gtY2FyZC0tc2VhcmNoLFxuLmdyaWQtYm94LWNhcmQtLXN1Ym1pc3Npb24taGFyZHdhcmUsXG4uZ3JpZC1ib3gtY2FyZC0tdG9wLWZpbHRlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmNhcmQtLWNvbXBldGl0aW9uLFxuLmdyaWQtYm94LWNhcmQtLWNvbXBvIHtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5jYXJkLS1jb21wZXRpdGlvbiAuY2FyZC1ib2R5LFxuLmNhcmQtLWNvbXBldGl0aW9uIC5jYXJkX19ib2R5LFxuLmdyaWQtYm94LWNhcmQtLWNvbXBvIC5jYXJkLWJvZHkge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMTtcbn1cblxuLmNhcmQtLWNvbXBldGl0aW9uIC5yYW5raW5nLWVtcHR5LWNhcmQsXG4uZ3JpZC1ib3gtY2FyZC0tY29tcG8gLnJhbmtpbmctZW1wdHktY2FyZCB7XG4gICAgZmxleDogMTtcbn1cblxuLmdyaWQtYm94LWNhcmQtLWhpZ2hsaWdodC1zdWJtaXNzaW9uIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4vKiBIYXJkd2FyZSBIZWFkZXIgQ2FyZCAqL1xuLmNhcmQtLWhhcmR3YXJlLWhlYWRlciB7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbGcpO1xufVxuXG4uY2FyZC0taGFyZHdhcmUtaGVhZGVyIC5jYXJkX19oZWFkZXIge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2Utc20pO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC0taGFyZHdhcmUtaGVhZGVyIC5jYXJkX190aXRsZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteGwpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLmhhcmR3YXJlLWljb24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcbn1cblxuLmhhcmR3YXJlLWhlYWRlcl9fYmFkZ2VzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uaGFyZHdhcmUtaGVhZGVyX19iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1jYXJkKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9ybWFsKTtcbn1cblxuLmNhcmQtLWhhcmR3YXJlLWhlYWRlciAuaGFyZHdhcmUtaGVyby1zdGF0cy1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE4MHB4LCAxZnIpKTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLmNhcmQtLWhhcmR3YXJlLWhlYWRlciAuaGFyZHdhcmUtaGVyby1zdGF0LWNhcmQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5jYXJkLS1oYXJkd2FyZS1oZWFkZXIgLmhhcmR3YXJlLWhlcm8tc3RhdC1jYXJkIGgzIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeGwpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub25lKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4uY2FyZC0taGFyZHdhcmUtaGVhZGVyIC5oYXJkd2FyZS1oZXJvLXN0YXQtY2FyZCAuaGFyZHdhcmUtc3RhdC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbn1cblxuLmNhcmQtLWhhcmR3YXJlLWhlYWRlciAuZ3JpZC1zcGVjIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi8qIEJlbmNobWFyayBPdmVydmlldyAqL1xuLmdyaWQtYm94LS1iZW5jaG1hcmtzIHtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG59XG5cbi5ncmlkLWJveC0tYmVuY2htYXJrcyAuY2FyZF9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZCk7XG59XG5cbi5iZW5jaG1hcmstb3ZlcnZpZXctY29sdW1uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4vKiBTcGVjICovXG4uZ3JpZC1zcGVjIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5ncmlkLXNwZWMtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLmdyaWQtc3BlYy1yb3cgLnRhYmxlLWF2YXRhci13cmFwcGVyID4gYSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGcpO1xufVxuXG4uZ3JpZC1zcGVjLXJvdy0tc3RhY2tlZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5ncmlkLXNwZWMtcm93Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5ncmlkLXNwZWMtcm93IC5hdHRyaWJ1dGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uZ3JpZC1zcGVjLXJvdyAuYXR0cmlidXRlLW5vd3JhcCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmdyaWQtc3BlYy1yb3ctLXN0YWNrZWQgLmF0dHJpYnV0ZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4uZ3JpZC1zcGVjLXJvdyAudmFsdWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uZ3JpZC1zcGVjLXJvdy0tc3RhY2tlZCAudmFsdWUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uZ3JpZC1zcGVjLXJvdyAuYnV0dG9uIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xufVxuXG4uY2FyZC1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhsKTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLmNhcmQtYWN0aW9ucyAuYnV0dG9uIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLyogTW9kYWwgb3ZlcmxheSAqL1xuLm1vZGFsLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgei1pbmRleDogdmFyKC0tei1pbmRleC1tb2RhbCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1zbW9vdGgpLCB2aXNpYmlsaXR5IHZhcigtLXRyYW5zaXRpb24tc21vb3RoKTtcbn1cblxuLm1vZGFsLW92ZXJsYXkuaXMtb3BlbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4ubW9kYWwtZGlhbG9nIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIG1heC1oZWlnaHQ6IDg1dmg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW1kKTtcbn1cblxuLm1vZGFsLWRpYWxvZy0tcmVzdWx0LWhpc3Rvcnkge1xuICAgIG1heC13aWR0aDogdmFyKC0tbW9kYWwtd2lkdGgtbWQpO1xufVxuXG4ubW9kYWwtZGlhbG9nLS1yZXN1bHQtbW9kZXJhdGlvbiB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tb2RhbC13aWR0aC1sZyk7XG59XG5cbi5tb2RhbC1kaWFsb2ctLXNvY2lhbCB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tb2RhbC13aWR0aC1zbSk7XG59XG5cbi5tb2RhbC1kaWFsb2dfX2hlYWRlcixcbi5tb2RhbC1oZWFkZXIge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5tb2RhbC1kaWFsb2dfX2JvZHksXG4ubW9kYWwtYm9keSB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgZmxleC1ncm93OiAxO1xufVxuXG4ubW9kYWwtZGlhbG9nX19mb290ZXIsXG4ubW9kYWwtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLyogTGlzdCAqL1xudWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5saXN0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4ubGlzdCBsaSB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4ubGlzdCBsaTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ubGlzdC0tc2Nyb2xsYWJsZSB7XG4gICAgbWF4LWhlaWdodDogMTYwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi8qIFByb2ZpbGUgYmFubmVyICovXG4ucHJvZmlsZS1iYW5uZXItd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ucHJvZmlsZS1iYW5uZXItd3JhcHBlci5oYXMtYmFubmVyIC5wcm9maWxlLWJhbm5lciBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGFzcGVjdC1yYXRpbzogNiAvIDE7XG4gICAgbWluLWhlaWdodDogMTIwcHg7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi5wcm9maWxlLWJhbm5lci13cmFwcGVyLmhhcy1iYW5uZXIgLmF2YXRhci13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxMnB4O1xuICAgIGxlZnQ6IDIwcHg7XG4gICAgei1pbmRleDogMjtcbn1cblxuLnByb2ZpbGUtYmFubmVyLXdyYXBwZXIuaGFzLWJhbm5lciAuYXZhdGFyIHtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgaGVpZ2h0OiAxMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wcm9maWxlLWJhbm5lci13cmFwcGVyLm5vLWJhbm5lciAuYXZhdGFyLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbi5wcm9maWxlLWJhbm5lci13cmFwcGVyLm5vLWJhbm5lciAuYXZhdGFyIHtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgaGVpZ2h0OiAxMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zaWRlLWFyZWEgLmNvbnRlbnQuZXhlY3V0b3IgdWwsXG4udGVybXMtYW5kLWNvbmRpdGlvbnMgLmNvbnRlbnQgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5zaWRlLWFyZWEgLmNvbnRlbnQuZXhlY3V0b3IgdWwgbGkge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSAwO1xufVxuXG4vKiBTdGFydCBmaWx0ZXIgc2V0dGluZ3MgKi9cblxuLmZpbHRlciAubGlzdCxcbi5maWx0ZXIgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5maWx0ZXIgLmxpc3QgbGksXG4uZmlsdGVyIHVsIGxpIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbn1cblxuLmZpbHRlciAuZmlsdGVyLWtleSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmZpbHRlciAucmFua2luZy1maWx0ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG92ZXJmbG93LXg6IHZpc2libGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMCB2YXIoLS1zcGFjZS1zbSkgMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cblxuLyogQWN0aXZlIEZpbHRlciBDaGlwcyAqL1xuLmZpbHRlci1jaGlwcy1iYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5maWx0ZXItY2hpcHMtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLmZpbHRlci1jaGlwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbGcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW1haW4pO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xufVxuXG4uZmlsdGVyLWNoaXAtbGFiZWwge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5maWx0ZXItY2hpcC1yZW1vdmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9uZSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG59XG5cbi5maWx0ZXItY2hpcC1yZW1vdmU6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZXJyb3ItYmcpO1xufVxuXG4uZmlsdGVyLWNoaXAtY2xlYXItYWxsIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vcm1hbCk7XG59XG5cbi5maWx0ZXItY2hpcC1jbGVhci1hbGw6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi8qIEhhcmR3YXJlIExpbmtzIC8gQ2hpcCBDbG91ZCAqL1xuLmhhcmR3YXJlLWNoaXBzLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5oYXJkd2FyZS1jaGlwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbGcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vcm1hbCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmhhcmR3YXJlLWNoaXA6aG92ZXIsXG4uaGFyZHdhcmUtY2hpcDpmb2N1cy12aXNpYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmhhcmR3YXJlLWNoaXBzLXNjcm9sbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgbWF4LWhlaWdodDogMjIwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5oYXJkd2FyZS1leHBhbmQtZGV0YWlscyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uaGFyZHdhcmUtZXhwYW5kLXN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWxnKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uaGFyZHdhcmUtZXhwYW5kLXN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIsXG4uaGFyZHdhcmUtZXhwYW5kLXN1bW1hcnk6Om1hcmtlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhhcmR3YXJlLWV4cGFuZC1zdW1tYXJ5OmhvdmVyLFxuLmhhcmR3YXJlLWV4cGFuZC1zdW1tYXJ5OmZvY3VzLXZpc2libGUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG59XG5cbi5oYXJkd2FyZS1leHBhbmQtc3VtbWFyeSAuZmEtY2hldnJvbi1kb3duIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uaGFyZHdhcmUtZXhwYW5kLWRldGFpbHNbb3Blbl0gPiAuaGFyZHdhcmUtZXhwYW5kLXN1bW1hcnkgLmZhLWNoZXZyb24tZG93biB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLmhhcmR3YXJlLWV4cGFuZC1kZXRhaWxzIC5leHBhbmQtdGV4dC1sZXNzIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uaGFyZHdhcmUtZXhwYW5kLWRldGFpbHNbb3Blbl0gLmV4cGFuZC10ZXh0LW1vcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5oYXJkd2FyZS1leHBhbmQtZGV0YWlsc1tvcGVuXSAuZXhwYW5kLXRleHQtbGVzcyB7XG4gICAgZGlzcGxheTogaW5saW5lO1xufVxuXG4uYmFkZ2UtLWNvdW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UteHMpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbWluLXdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9uZSk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi8qIFByb2dyZXNzICovXG4ucHJvZ3Jlc3NiYXIge1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UteHMpIGF1dG87XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogNXB4O1xufVxuXG4ucHJvZ3Jlc3NiYXIgPiBkaXYge1xuICAgIGJhY2tncm91bmQ6IGdyZWVuO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuXG4vKiBTdWJtaXNzaW9uIHN1Z2dlc3Rpb25zICovXG4uc3VibWlzc2lvbi1zdWdnZXN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaW5mby1iZyk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWluZm8tYm9yZGVyKTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLWxnKSBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4uc3VibWlzc2lvbi1zdWdnZXN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktaG92ZXIpO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmJ1dHRvbi5idG4tcGFydGljaXBhdGUgLmNvbnRlc3QtbmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uYnV0dG9uLmJ0bi1wYXJ0aWNpcGF0ZSAuc3RhZ2UtbmFtZSB7XG4gICAgb3BhY2l0eTogMC45O1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLyogU3VibWlzc2lvbiBzY29yZSAqL1xuLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UtbWQpO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0zeGwpO1xufVxuXG4uc3VibWlzc2lvbi1zY29yZS1jYXJkIC5hdmF0YXItd3JhcHBlciB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5zdWJtaXNzaW9uLXNjb3JlLWNhcmQgLmF2YXRhci13cmFwcGVyIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCAuYXZhdGFyIHtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgaGVpZ2h0OiAxMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zdWJtaXNzaW9uLXNjb3JlLWNhcmQgLnNjb3JlLWRldGFpbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnN1Ym1pc3Npb24tc2NvcmUtY2FyZCAuc2NvcmUtZGV0YWlscy1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uc3VibWlzc2lvbi1zY29yZS1jYXJkIC51c2VyLWluZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uc3VibWlzc2lvbi1zY29yZS1jYXJkIC5zY29yZS1sYWJlbCxcbi5zdWJtaXNzaW9uLXNjb3JlLWNhcmQgLmNvbm5lY3Rvci10ZXh0IHtcbiAgICBjb2xvcjogZ3JheTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5zdWJtaXNzaW9uLXNjb3JlLWNhcmQgLnRlbXAtd3JhcHBlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi8qIFN1Ym1pc3Npb24gc3ViIHNjb3JlICovXG4uc3VibWlzc2lvbi1zdWItc2NvcmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWludmVyc2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uc3VibWlzc2lvbi1zdWItc2NvcmUgLnN1Yi1zY29yZS1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uc3VibWlzc2lvbi1zdWItc2NvcmUgLnN1Yi1zY29yZS1uYW1lIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLnN1Ym1pc3Npb24tc3ViLXNjb3JlIC5zdWItc2NvcmUtbmFtZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiOlwiO1xufVxuXG4uc3VibWlzc2lvbi1zdWItc2NvcmUgLnN1Yi1zY29yZS12YWwge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbn1cblxuLyogRm9ybSAqL1xuLmZvcm0tcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5mb3JtLXJvdy5mb3JtLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5mb3JtLXJvdy5mb3JtLW1vZGFsLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmZvcm0tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5mb3JtLWdyb3VwLS1iZW5jaG1hcmsge1xuICAgIG1heC13aWR0aDogNDAwcHg7XG59XG5cbi5mb3JtLWdyb3VwLS1uYXJyb3csXG4uZm9ybS1ncm91cC0tZmlsZS11cGxvYWQge1xuICAgIG1heC13aWR0aDogNDgwcHg7XG59XG5cbi5mb3JtLWdyb3VwLS1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5mb3JtLWdyb3VwLS1yb3cgPiBsYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5mb3JtLWdyb3VwLS1yb3cgPiBpbnB1dCB7XG4gICAgZmxleDogMTtcbn1cblxuLmZvcm0tZ3JvdXAtY2hlY2tib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5mb3JtLWdyb3VwIGxhYmVsIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLmZvcm0tZ3JvdXAtY2hlY2tib3ggbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uZm9ybS1ncm91cC1jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYWNjZW50LWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uZm9ybS1ncm91cC1jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0uZmllbGQtZXJyb3Ige1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1lcnJvcik7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbn1cblxuLmZvcm0tZ3JvdXAtY2hlY2tib3guaGFzLWVycm9yLFxuLmZvcm0tZ3JvdXAtY2hlY2tib3guZmllbGQtZXJyb3Ige1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzLCAwLjVyZW0pO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1lcnJvcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItYmcsIHJnYmEoMjIwLCAzOCwgMzgsIDAuMDMpKTtcbn1cblxuLmZvcm0tZ3JvdXAtY2hlY2tib3ggLmJpbmRpbmctZXJyb3Ige1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi5mb3JtLWdyb3VwLmhhcy1lcnJvciBsYWJlbCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbn1cblxuLmZvcm0tZ3JvdXAuaGFzLWVycm9yIGlucHV0IHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci1iZyk7XG59XG5cbi5mb3JtLWZpbHRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuI3JhbmtpbmdfZmlsdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbiNyYW5raW5nX2ZpbHRlciAuZm9ybS1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmZvcm0taW5wdXQtc2VhcmNoLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0taW5wdXQtc2VhcmNoLXdyYXBwZXIgLnNlYXJjaC1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMTJweDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uZm9ybS1pbnB1dC1zZWFyY2gtd3JhcHBlciBpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAzNnB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5mb3JtLWlucHV0LXdpdGgtdW5pdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmZvcm0taW5wdXQtd2l0aC11bml0IC5mb3JtLWlucHV0IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZmxleDogMTtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4uZm9ybS1pbnB1dC5maWVsZC1lcnJvciB7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpICBzb2xpZCB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi5mb3JtLWlucHV0LXdpdGgtdW5pdCAuZm9ybS1pbnB1dC5maWVsZC1lcnJvciB7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4uZm9ybS1pbnB1dC13aXRoLXVuaXQgLmZpZWxkLWVycm9yIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLmZvcm0tdW5pdC1zdWZmaXgge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLmZvcm0taW5wdXQtd2l0aC11bml0LmZpZWxkLWVycm9yIHtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItZXJyb3IpO1xufVxuXG4uYmluZGluZy1lcnJvciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcbn1cblxuLmJhbm5lci1pbWFnZSB7XG4gICAgbWFyZ2luOiB2YXIoLS1zcGFjZS1zbSkgMDtcbn1cblxuLmJhbm5lci1pbWFnZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuXG4vKiBDb21wbyBzaWRlYmFyIGNhcmRzIC0gTGlnaHQgVGVjaG5pY2FsICovXG4uY29tcGV0aXRpb24tbGVhZGVyLFxuLnRpbWVyLFxuLnN0YWdlcy1zaWRlYmFyLWdyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmdyaWQtYm94LWNhcmQtLXN0YWdlcyxcbi5ncmlkLWJveC1jYXJkLS1sZWFkZXIsXG4uY2FyZC0tdGltZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xufVxuXG4uc3RhZ2VzLXNpZGViYXItZ3JpZCAuc3RhZ2UtaW5mbyB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnN0YWdlcy1zaWRlYmFyLWdyaWQgLnN0YWdlLWluZm8uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnN0YWdlcy1zaWRlYmFyLWdyaWQgLnN0YWdlLWluZm8uYWN0aXZlIC5zdGFnZS1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLnN0YWdlcy1zaWRlYmFyLWdyaWQgLnN0YWdlLWluZm8uYWN0aXZlIC5zdGFnZS1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG59XG5cbi5zdGFnZXMtc2lkZWJhci1ncmlkIC5zdGFnZS1udW1iZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5zdGFnZXMtc2lkZWJhci1ncmlkIC5zdGFnZS1udW1iZXIgaSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5zdGFnZXMtc2lkZWJhci1ncmlkIGgyIHtcbiAgICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS1tZCkgMDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLnRleHQtZ29sZCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpO1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDRweCByZ2JhKDI0NSwgMTU4LCAxMSwgMC4zKSk7XG59XG5cbi50ZXh0LWNyaW1zb24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi50ZXh0LWFtYmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG5cbi50ZXh0LXNsYXRlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi8qIFNwb3RsaWdodCBDYXJkcyAoTGVhZGVyICYgVGltZXIpICovXG4uY29tcGV0aXRpb24tbGVhZGVyX19oZWFkZXIsXG4udGltZXJfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX2hlYWRlciBoMixcbi50aW1lcl9faGVhZGVyIGgyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX2hlcm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19hdmF0YXItd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19hdmF0YXIge1xuICAgIHdpZHRoOiA1MnB4O1xuICAgIGhlaWdodDogNTJweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWNvbG9yLXdhcm5pbmctc3Rhcik7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgyMzQsIDE3OSwgOCwgMC4yNSk7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX3Bvcy1waWxsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMnB4O1xuICAgIHJpZ2h0OiAtNHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdhcm5pbmctc3Rhcik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtZXh0cmFib2xkKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9uZSk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fZGV0YWlscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9faWRlbnRpdHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX25hbWUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fbmFtZTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnksIHZhcigtLWNvbG9yLXByaW1hcnkpKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fc3VidGV4dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19zdWJ0ZXh0IGkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX3N0YXRzIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fc3RhdC1ib3gge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fc3RhdC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX3N0YXQtdmFsIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhsKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtZXh0cmFib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19zdGF0LXZhbCBzbWFsbCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udGltZXJfX2Nsb2NrIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi50aW1lcl9fdGlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhcmspO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLnRpbWVyX19jb3VudCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWV4dHJhYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4udGltZXJfX3VuaXQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi50aW1lcl9fY2xvY2stLWNsb3NlZCAudGltZXJfX3RpbGUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4udGltZXJfX2Nsb2NrLS1jbG9zZWQgLnRpbWVyX19jb3VudCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4udGltZXJfX2Nsb2NrLS1jbG9zZWQgLnRpbWVyX191bml0IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi50aW1lcl9fbWV0YSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi50aW1lcl9fbWV0YSBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGltZXJfX21ldGEgc3Ryb25nIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19lbXB0eSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1kYXNoZWQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5jb21wZXRpdGlvbi1sZWFkZXJfX2VtcHR5LWljb24ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4bCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1kYXNoZWQpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19lbXB0eS1kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmNvbXBldGl0aW9uLWxlYWRlcl9fZW1wdHktdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uY29tcGV0aXRpb24tbGVhZGVyX19lbXB0eS1zdWJ0aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4vKiBSYW5raW5nIEVtcHR5IFN0YXRlIENhcmQgKi9cbi5yYW5raW5nLWVtcHR5LWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14bCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhc2hlZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnJhbmtpbmctZW1wdHktaWNvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiA1MnB4O1xuICAgIGhlaWdodDogNTJweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeGwpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1zbSk7XG59XG5cbi5yYW5raW5nLWVtcHR5LWljb24tLXVwY29taW5nIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMiwgMTMyLCAxOTksIDAuMik7XG59XG5cbi5yYW5raW5nLWVtcHR5LWljb24tLW9wZW4ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLXN0YXIpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjM0LCAxNzksIDgsIDAuMDgpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMzQsIDE3OSwgOCwgMC4yKTtcbn1cblxuLnJhbmtpbmctZW1wdHktaWNvbi0tY29tbWVudHMge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSg5OSwgMTAyLCAyNDEsIDAuMik7XG59XG5cbi5yYW5raW5nLWVtcHR5LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5yYW5raW5nLWVtcHR5LXRpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGcpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xufVxuXG4ucmFua2luZy1lbXB0eS1zdWJ0aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xufVxuXG4ucmFua2luZy1lbXB0eS1zdWJ0aXRsZSBzdHJvbmcge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG59XG5cbi8qIFNlYXNvbiBQb2ludHMgTGVhZGVyYm9hcmQgTGlzdCAoTW9kYWwpICovXG4uc2Vhc29uLXBvaW50cy1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLWxnKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbS0tZ29sZCB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctc3Rhcik7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW0tLXNpbHZlciB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtLS1icm9uemUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fcmFuayB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIG1pbi13aWR0aDogMzZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19yYW5rLS1nb2xkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX3JhbmstLWdvbGQgLmZhLXRyb3BoeSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctc3Rhcik7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgM3B4IHJnYmEoMjQ1LCAxNTgsIDExLCAwLjQpKTtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fcmFuay0tc2lsdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19yYW5rLS1zaWx2ZXIgLmZhLXRyb3BoeSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19yYW5rLS1icm9uemUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fY29tcGV0aXRvciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4OiAxO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19hdmF0YXIge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX2F2YXRhci1mbGFnIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAycHg7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19uYW1lIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX25hbWU6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fc3VidGV4dCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fc3VidGV4dCBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fc3VidGV4dCBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX3N1Yi1hdmF0YXIge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX3BhcnRpY2lwYW50cyB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4uc2Vhc29uLXBvaW50cy1pdGVtX19wYXJ0aWNpcGFudHMgYSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX3BhcnRpY2lwYW50cyBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX3BvaW50cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLnNlYXNvbi1wb2ludHMtaXRlbV9fcG9pbnRzLXZhbCB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWV4dHJhYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG59XG5cbi5zZWFzb24tcG9pbnRzLWl0ZW1fX3BvaW50cy11bml0IHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uc2Vhc29uLXBvaW50cy1saXN0X19lbXB0eSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1kYXNoZWQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBDb21wZXRpdGlvbiBCYWNrIExpbmsgKi9cbi5jb21wby1iYWNrLWxpbmssXG4uY29tcG8tYmFjay1saW5rOmxpbmssXG4uY29tcG8tYmFjay1saW5rOnZpc2l0ZWQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9ybWFsKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSAwO1xufVxuXG4uY29tcG8tYmFjay1saW5rOmhvdmVyLFxuLmNvbXBvLWJhY2stbGluazphY3RpdmUsXG4uY29tcG8tYmFjay1saW5rOmZvY3VzLXZpc2libGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jb21wby1iYWNrLWxpbmsgaSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uY29tcG8tYmFjay1saW5rOmhvdmVyIGksXG4uY29tcG8tYmFjay1saW5rOmZvY3VzLXZpc2libGUgaSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpO1xufVxuXG4uY29tcG8tYmFjay1saW5rICsgaDIge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qIENvbXBldGl0aW9uIFNjb3JlYm9hcmQgQ2FyZHMgKi9cbi5jb21wby1zY29yZWJvYXJkLWNhcmRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1oZWFkZXJfX3Jhbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAyNHB4O1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1oZWFkZXJfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWhlYWRlcl9fcGFydGljaXBhbnQge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1oZWFkZXJfX3RvdGFsIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIHNvbGlkIHZhcigtLWNvbG9yLXBvcy1mb3VyLWZpdmUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItbGVmdC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZC0tZmlyc3Qge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkLS1zZWNvbmQge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZC0tdGhpcmQge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkX19yYW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fcmFuay0tZmlyc3Qge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkX19yYW5rLS1zZWNvbmQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fcmFuay0tdGhpcmQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmRfX3BhcnRpY2lwYW50IC5jb3VudHJ5X2ZsYWdzIHtcbiAgICB3aWR0aDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGhlaWdodDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jYXJkX19hdmF0YXIge1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmRfX25hbWUge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWNhcmRfX25hbWU6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fdG90YWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fdG90YWwtdmFsdWUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fdG90YWwtdW5pdCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fY3VwcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jdXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtM3hzKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY3VwOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jdXAtLXNjb3JlZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctY2FyZCk7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWN1cF9fbGFiZWwge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY29tcG8tc2NvcmVib2FyZC1jdXBfX2xhYmVsOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1ob3Zlcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWN1cF9fc3RhZ2UtcmVzdWx0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY3VwX19zY29yZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWN1cF9fc2NvcmU6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmNvbXBvLXNjb3JlYm9hcmQtY3VwX19wb2ludHMge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jb21wby1zY29yZWJvYXJkLWN1cC0tc2NvcmVkIC5jb21wby1zY29yZWJvYXJkLWN1cF9fcG9pbnRzIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5zdWJtaXNzaW9uLXNjb3JlLFxuLmNvbXBvLXN0YWdlLXNjb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG5hLnN1Ym1pc3Npb24tc2NvcmU6aG92ZXIsXG5hLmNvbXBvLXN0YWdlLXNjb3JlOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG59XG5cbi5zdWJtaXNzaW9uLXNjb3JlIGksXG4uY29tcG8tc3RhZ2Utc2NvcmUgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG5hLnN1Ym1pc3Npb24tc2NvcmU6aG92ZXIgaSxcbmEuY29tcG8tc3RhZ2Utc2NvcmU6aG92ZXIgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xufVxuXG4uY29tcG8tc3RhZ2UtY2FyZF9fcG9pbnRzLWxhYmVsIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG59XG5cbi5jb21wby1zdGFnZS1jYXJkX19pbWFnZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5jb21wby1zdGFnZS1jYXJkX190aHVtYi1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5jb21wby1zdGFnZS1jYXJkX190aHVtYi1saW5rOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG5cbi5jb21wby1zdGFnZS1jYXJkX190aHVtYiB7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBTdGFnZSBTdWJtaXNzaW9ucyBMaXN0ICYgQ2FyZHMgKi9cbi5zdGFnZS1zdWJtaXNzaW9ucy1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zdGFnZS1zdWJtaXNzaW9uLWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uc3RhZ2Utc3VibWlzc2lvbi1jYXJkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xufVxuXG4uc3RhZ2Utc3VibWlzc2lvbi1jYXJkX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uc3RhZ2Utc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uc3RhZ2Utc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5zdGFnZS1zdWJtaXNzaW9uLWNhcmRfX2F2YXRhciB7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLnN0YWdlLXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uc3RhZ2Utc3VibWlzc2lvbi1jYXJkX19uYW1lOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG59XG5cbi5zdGFnZS1zdWJtaXNzaW9uLWNhcmRfX21ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbn1cblxuLnN0YWdlLXN1Ym1pc3Npb24tY2FyZF9faGFyZHdhcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLyogVG9kYXkgU3VibWlzc2lvbnMgVGFibGUgJiBSZXNwb25zaXZlIENhcmRzICovXG4udG9kYXktc3VibWlzc2lvbnMtd3JhcHBlci5zdGlja3ktdGFibGUsXG4uYmVuY2htYXJrLXJhbmtpbmctd3JhcHBlci5zdGlja3ktdGFibGUsXG4uYmVuY2htYXJrLWZpcnN0LXNwb3RzLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuLmJlbmNobWFyay1vdmVydmlldy13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpIHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIsXG4uYmVuY2htYXJrLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIsXG4uYmVuY2htYXJrLWZpcnN0LXNwb3RzLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLFxuLmJlbmNobWFyay1vdmVydmlldy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiA2cHg7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayxcbi5iZW5jaG1hcmstcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2ssXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLFxuLmJlbmNobWFyay1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYixcbi5iZW5jaG1hcmstb3ZlcnZpZXctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3Zlcixcbi5iZW5jaG1hcmstcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3Zlcixcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIsXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSxcbi5iZW5jaG1hcmstcmFua2luZy10YWJsZSxcbi54dHUtYW5hbHl6ZS10YWJsZSxcbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUsXG4uYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRoZWFkIHRyIHRoLFxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLFxuLnh0dS1hbmFseXplLXRhYmxlIHRoZWFkIHRyIHRoLFxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0aGVhZCB0ciB0aCxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1yYW5rLFxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1yYW5rIHtcbiAgICB3aWR0aDogNDRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtZGF0ZSxcbi54dHUtYW5hbHl6ZS10YWJsZSB0aGVhZCB0ciB0aC5jb2wtZGF0ZSB7XG4gICAgd2lkdGg6IDEwNXB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtc2NvcmUsXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXNjb3JlLFxuLnh0dS1hbmFseXplLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zY29yZSxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGhlYWQgdHIgdGguY29sLXNjb3JlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGhlYWQgdHIgdGguY29sLWNvb2xpbmcsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGhlYWQgdHIgdGguY29sLXN1YnNwZWNzLFxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1jb29saW5nLFxuLnh0dS1hbmFseXplLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1jb29saW5nLFxuLnh0dS1hbmFseXplLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1tb3RoZXJib2FyZCxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGhlYWQgdHIgdGguY29sLWNvb2xpbmcge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtYWN0aW9ucyxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtc3Vicyxcbi54dHUtYW5hbHl6ZS10YWJsZSB0aGVhZCB0ciB0aC5jb2wtYWN0aW9ucyxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGhlYWQgdHIgdGguY29sLWFjdGlvbnMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGhlYWQgdHIgdGguY29sLWNhcmVlci1yYW5rLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1tZW1iZXJzLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zdGF0dXMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1jYXJlZXItcG9pbnRzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyLFxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyLFxuLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyLFxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0cixcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyOmhvdmVyLFxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmhvdmVyLFxuLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyOmhvdmVyLFxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0cjpob3Zlcixcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLFxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLFxuLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLFxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZCxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCxcbi5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkLFxuLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQsXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQsXG4uYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbi5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayB7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbn1cblxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbn1cblxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZGF0ZSxcbi54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZGF0ZSB7XG4gICAgd2lkdGg6IDEwNXB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUsXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlLFxuLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGEsXG4uaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSxcbi5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSxcbi54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGEge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhOmhvdmVyLFxuLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGE6aG92ZXIsXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGE6aG92ZXIsXG4ueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGE6aG92ZXIsXG4uYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZyxcbi5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZyxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3Vic3BlY3MsXG4ueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmcsXG4ueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vdGhlcmJvYXJkLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnNwZWNzIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3N1YnNwZWNzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNhcmVlci1yYW5rLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tZW1iZXJzLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdGF0dXMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jYXJlZXItcG9pbnRzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC10eXBlLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10eXBlIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzLFxuLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnh0dS1hbmFseXplLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1jbG9jayxcbi54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2xvY2sge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW90aGVyYm9hcmQgYSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb3RoZXJib2FyZCBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaW5mby1iZyk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VicyAuZ3B1LWNhcmRfX3N1YnMtYmFkZ2UsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnMgLmNwdS1jYXJkX19zdWJzLWJhZGdlLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzIC5tYi1jYXJkX19zdWJzLWJhZGdlLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzIC5tZW0tY2FyZF9fc3Vicy1iYWRnZSxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VicyAuZGlzay1jYXJkX19zdWJzLWJhZGdlLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzIC5wc3UtY2FyZF9fc3Vicy1iYWRnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZCAuY3B1LWNhcmRfX3NwZWMsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQgLmdwdS1jYXJkX19zcGVjLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkIC5tYi1jYXJkX19zcGVjLFxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkIC5tZW0tY2FyZF9fc3BlYyxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZCAucHN1LWNhcmRfX3NwZWMsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQgLmRpc2stY2FyZF9fc3BlYyB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQgLmNwdS1jYXJkX19zcGVjOmxhc3QtY2hpbGQsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQgLmdwdS1jYXJkX19zcGVjOmxhc3QtY2hpbGQsXG4udG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQgLm1iLWNhcmRfX3NwZWM6bGFzdC1jaGlsZCxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZCAubWVtLWNhcmRfX3NwZWM6bGFzdC1jaGlsZCxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZCAucHN1LWNhcmRfX3NwZWM6bGFzdC1jaGlsZCxcbi50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZCAuZGlzay1jYXJkX19zcGVjOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIC5jb2wtYWN0aW9ucyAudG9kYXktc3VibWlzc2lvbi1jYXJkX19hY3Rpb25zLFxuLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSAuY29sLWFjdGlvbnMgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYWN0aW9ucyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vKiBCZW5jaG1hcmsgT3ZlcnZpZXcgJiBSdWxlcyBUYWJsZXMgKi9cbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGhlYWQgdHIgdGguY29sLWJldGEsXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZXRhIHtcbiAgICB3aWR0aDogNDhweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGhlYWQgdHIgdGguY29sLW9zLFxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtb3Mge1xuICAgIHdpZHRoOiA3MnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtb3MgaSB7XG4gICAgbWFyZ2luOiAwIHZhcigtLXNwYWNlLTN4cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGhlYWQgdHIgdGguY29sLWdscCxcbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdscCxcbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGhlYWQgdHIgdGguY29sLWh3cCxcbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWh3cCB7XG4gICAgd2lkdGg6IDUycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1saW5rcyxcbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWxpbmtzIHtcbiAgICB3aWR0aDogODBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWxpbmtzIC5mbGV4LXJvdy0tYmVuY2htYXJrLWxpbmtzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4uYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1saW5rcyAuZmxleC1yb3ctLWJlbmNobWFyay1saW5rcyBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGlua3MgLmZsZXgtcm93LS1iZW5jaG1hcmstbGlua3MgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5iZW5jaG1hcmstcnVsZS1saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYmVuY2htYXJrLXJ1bGUtbGluazpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuZW1wdHktc3RhdGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLyogVGVhbSBDdXBzIGFuZCBNZWRhbHMgVGFibGUgKi9cbi50ZWFtLWN1cHMtdGFibGUgdGhlYWQgdHIgdGguY29sLXRyb3BoeSB7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGVhbS1jdXBzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10cm9waHkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogVGVhbSBQb2ludHMgQ29udHJpYnV0aW9uIFRhYmxlICovXG4udGVhbS1wb2ludHMtdGFibGUgdGhlYWQgdHIgdGguY29sLXBvaW50cyxcbi50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGVhbS1wb2ludHMtdGFibGUgdGhlYWQgdHIgdGguY29sLW1ldHJpYyxcbi50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWV0cmljIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgd2lkdGg6IDExMHB4O1xufVxuXG4udGVhbS1wb2ludHMtdGFibGUgdGhlYWQgdHIgdGguY29sLWxlYWd1ZSxcbi50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGVhZ3VlIHtcbiAgICB3aWR0aDogMTMwcHg7XG59XG5cbi8qIFRlYW0gTWVtYmVycyBUYWJsZSAqL1xuLnRlYW0tbWVtYmVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdXNlcixcbi50ZWFtLW1lbWJlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50ZWFtLW1lbWJlcnMtdGFibGUgdGhlYWQgdHIgdGguY29sLXJvbGUsXG4udGVhbS1tZW1iZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yb2xlIHtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRlYW0tbWVtYmVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtbGVhZ3VlLFxuLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGVhZ3VlIHtcbiAgICB3aWR0aDogMTQwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRlYW0tbWVtYmVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtam9pbmVkLFxuLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtam9pbmVkIHtcbiAgICB3aWR0aDogMTQwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGVhbS1tZW1iZXJzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC12aXNpdCxcbi50ZWFtLW1lbWJlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXZpc2l0IHtcbiAgICB3aWR0aDogMTQwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGVhbS1tZW1iZXJzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1hY3Rpb25zLFxuLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyB7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi50ZWFtLW1lbWJlcnMtdGFibGUgLmNvbC1hY3Rpb25zIC5idXR0b24ge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2UteHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLnRlYW0tbWVtYmVyLWRhdGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4udGVhbS1tZW1iZXItZGF0ZSBpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnRlYW0tbWVtYmVyLWRhdGVfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBUZWFtIFJlcXVlc3RzIFRhYmxlICovXG4udGVhbS1yZXF1ZXN0cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdXNlcixcbi50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udGVhbS1yZXF1ZXN0cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdGVhbSxcbi50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1pbi13aWR0aDogMTQwcHg7XG59XG5cbi50ZWFtLXJlcXVlc3RzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1sZWFndWUsXG4udGVhbS1yZXF1ZXN0cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGVhZ3VlIHtcbiAgICB3aWR0aDogMTQwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRlYW0tcmVxdWVzdHMtdGFibGUgdGhlYWQgdHIgdGguY29sLWpvaW5lZCxcbi50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1qb2luZWQge1xuICAgIHdpZHRoOiAxNDBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50ZWFtLXJlcXVlc3RzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC12aXNpdCxcbi50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC12aXNpdCB7XG4gICAgd2lkdGg6IDE0MHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRlYW0tcmVxdWVzdHMtdGFibGUgdGhlYWQgdHIgdGguY29sLWFjdGlvbnMsXG4udGVhbS1yZXF1ZXN0cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyB7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi50ZWFtLXJlcXVlc3RzLXRhYmxlIC5jb2wtYWN0aW9ucyAuYnV0dG9uIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXhzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi50ZWFtLXJlcXVlc3RzLWFjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4vKiBTdWItY29tcG9uZW50cyBpbnNpZGUgY2VsbHMgYW5kIGNhcmRzICovXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19yYW5rLFxuLm1lbWJlci1jYXJkX19yYW5rLFxuLnRlYW0tY2FyZF9fcmFuayB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2RhdGUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYmVuY2htYXJrLWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYmVuY2htYXJrLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fdmVyc2lvbiB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2hhcmR3YXJlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19oYXJkd2FyZTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19jbG9jayB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fc3Vic3BlY3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19zdWJzcGVjIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHZhcigtLXNwYWNlLXhzKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1jYXJkKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fc3Vic3BlYzpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3N1YnNwZWMgaSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2F2YXRhciB7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWU6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQgLmNvdW50cnlfZmxhZ3Mge1xuICAgIHdpZHRoOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgaGVpZ2h0OiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2FjdGlvbnMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcG9pbnRzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19wb2ludHM6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BvaW50LFxuLmh3LXJlY29yZHMtdGFibGVfX3BvaW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2UteHMpO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9uZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19wb2ludDpob3Zlcixcbi5ody1yZWNvcmRzLXRhYmxlX19wb2ludDpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BvaW50LXZhbHVlLFxuLmh3LXJlY29yZHMtdGFibGVfX3BvaW50LXZhbHVlIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcG9pbnQtbGFiZWwsXG4uaHctcmVjb3Jkcy10YWJsZV9fcG9pbnQtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTN4cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWV4dHJhYm9sZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vKiBDb21wZXRpdGl2ZSBMZWFndWUgUG9pbnQgQmFkZ2VzICovXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19wb2ludC0td3Ige1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdhcm5pbmctYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itd2FybmluZy1ib3JkZXIpO1xufVxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcG9pbnQtLXdyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BvaW50LWxhYmVsIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19wb2ludC0td3IgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcG9pbnQtdmFsdWUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLXRleHQpO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19wb2ludC0tZW1wdHkge1xuICAgIG9wYWNpdHk6IDAuNDU7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2NvbW1lbnRzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fY29tbWVudHM6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2NvbW1lbnRzIGkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG59XG5cbi50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3ZvdGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qIFBlcnNvbmFsICYgVGVhbSBCZW5jaG1hcmsgU3VtbWFyeSBIaWdobGlnaHQgQ2FyZHMgKi9cbi5yYW5raW5nLWhpZ2hsaWdodC1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4ucmFua2luZy1oaWdobGlnaHQtY2FyZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5yYW5raW5nLWhpZ2hsaWdodC1jYXJkX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5yYW5raW5nLWhpZ2hsaWdodC1jYXJkX190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbn1cblxuLnJhbmtpbmctaGlnaGxpZ2h0LWNhcmRfX2JvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXMpO1xufVxuXG4ucmFua2luZy1oaWdobGlnaHQtY2FyZF9fc2NvcmUtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnJhbmtpbmctaGlnaGxpZ2h0LWNhcmRfX3Njb3JlIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5yYW5raW5nLWhpZ2hsaWdodC1jYXJkX19zY29yZTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xufVxuXG4ucmFua2luZy1oaWdobGlnaHQtY2FyZF9fbWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5yYW5raW5nLWhpZ2hsaWdodC1jYXJkX19oYXJkd2FyZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5yYW5raW5nLWhpZ2hsaWdodC1jYXJkX19oYXJkd2FyZTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xufVxuXG4udG9kYXktc3VibWlzc2lvbi1jYXJkX19jb3Jlcyxcbi5yYW5raW5nLWhpZ2hsaWdodC1jYXJkX19jb3JlcyB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ucmFua2luZy1oaWdobGlnaHQtY2FyZF9fcG9pbnRzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLnJhbmtpbmctaGlnaGxpZ2h0LWNhcmRfX2VtcHR5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIDA7XG59XG5cbi5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtYmVuY2htYXJrIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDYwcHg7XG59XG5cbi5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG59XG5cbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGhlYWQgdHIgdGguY29sLWJlbmNobWFyayxcbi5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWJlbmNobWFyayB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1wb2ludHMsXG4uYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8qIFVzZXIgSGFyZHdhcmUgTGlicmFyeSBUYWJsZSAqL1xuLmxpYnJhcnktdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IGNvbnRhaW47XG59XG5cbi5saWJyYXJ5LXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmxpYnJhcnktdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmxpYnJhcnktdGFibGUgdGhlYWQgdHIgdGguY29sLXN1YnMsXG4ubGlicmFyeS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VicyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5saWJyYXJ5LWNhcmRfX3N1YnMtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5saWJyYXJ5LXRhYmxlIHRib2R5IHRyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5saWJyYXJ5LXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5saWJyYXJ5LXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmxpYnJhcnktdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmxpYnJhcnktdGFibGUgdGJvZHkgdHIgdGQgYSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmxpYnJhcnktdGFibGUgdGJvZHkgdHIgdGQgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5saWJyYXJ5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCBhIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmxpYnJhcnktdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLyogVXNlciBYVFUgUHJvZmlsZXMgVGFibGUgJiBYVFUgQW5hbHl6ZSBUYWJsZSAqL1xuLnh0dS1wcm9maWxlcy10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSxcbi54dHUtYW5hbHl6ZS10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbn1cblxuLnh0dS1wcm9maWxlcy10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi54dHUtcHJvZmlsZXMtdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnh0dS1wcm9maWxlcy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtYWN0aW9ucyxcbi54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZCBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xufVxuXG4ueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG59XG5cbi8qIFVzZXIgUmFua2luZyBMb2cgVGFibGUgKi9cbi5yYW5raW5nLWxvZy10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbn1cblxuLnJhbmtpbmctbG9nLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnJhbmtpbmctbG9nLXRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5yYW5raW5nLWxvZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtc2NvcmUsXG4ucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlLFxuLnJhbmtpbmctbG9nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1wb2ludHMsXG4ucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4ucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZCBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbn1cblxuLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG59XG5cbi8qIFVzZXIgUG9pbnRzIFRhYmxlICovXG4udXNlci1wb2ludHMtdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IGNvbnRhaW47XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICAgIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKSB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBoZWlnaHQ6IDZweDtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4udXNlci1wb2ludHMtdGFibGUtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcmFuayB7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udXNlci1wb2ludHMtdGFibGUgdGhlYWQgdHIgdGguY29sLXBvaW50cyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgd2lkdGg6IDEwMHB4O1xufVxuXG4udXNlci1wb2ludHMtdGFibGUgdGhlYWQgdHIgdGguY29sLWRhdGUge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHdpZHRoOiAxMTBweDtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zY29yZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1jb29saW5nIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udXNlci1wb2ludHMtdGFibGUgdGhlYWQgdHIgdGguY29sLWxldmVsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDgwcHg7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZCBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGEge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZGF0ZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGV2ZWwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogQ29tcGV0aXRpb24gT3ZlcnZpZXcgVGFibGUgKi9cbi5jb21wZXRpdGlvbnMtdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXg6IGNvbnRhaW47XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICAgIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKSB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbn1cblxuLmNvbXBldGl0aW9ucy10YWJsZS13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiA2cHg7XG59XG5cbi5jb21wZXRpdGlvbnMtdGFibGUtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uY29tcGV0aXRpb25zLXRhYmxlLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4uY29tcGV0aXRpb25zLXRhYmxlLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGhlYWQgdHIgdGguY29sLWNvbXBldGl0aW9uIHtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtbGV2ZWwsXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sZXZlbCB7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zdGFnZXMsXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdGFnZXMge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtb3BlbnMsXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1vcGVucyxcbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGhlYWQgdHIgdGguY29sLWNsb3Nlcyxcbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNsb3NlcyB7XG4gICAgd2lkdGg6IDE3NXB4O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRoZWFkIHRyIHRoLmNvbC13aW5uZXIsXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC13aW5uZXIge1xuICAgIHdpZHRoOiAyMjBweDtcbn1cblxuLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvbXBldGl0aW9uIGEuY29tcGV0aXRpb25zLXRhYmxlX19uYW1lLWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb21wZXRpdGlvbiBhLmNvbXBldGl0aW9ucy10YWJsZV9fbmFtZS1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG59XG5cbi5jb21wZXRpdGlvbnMtdGFibGVfX2xldmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtM3hzKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jb21wZXRpdGlvbnMtdGFibGVfX3N0YWdlcy1sYWJlbCxcbi5jb21wZXRpdGlvbnMtdGFibGVfX2RhdGUtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb21wZXRpdGlvbnMtdGFibGVfX3N0YWdlcy1jb3VudCB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbn1cblxuLmNvbXBldGl0aW9ucy10YWJsZV9fd2lubmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jb21wZXRpdGlvbnMtdGFibGVfX3dpbm5lciAuZ29sZC10cm9waHkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLyogQ2FyZWVyIFdvcmxkIFJhbmtpbmcgVGFibGUgKi9cbi5jYXJlZXItcmFua2luZy13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpIHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGhlaWdodDogNnB4O1xufVxuXG4uY2FyZWVyLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uY2FyZWVyLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi5jYXJlZXItcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1yYW5rIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdXNlciB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdGVhbSB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcG9pbnRzLFxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1nbHAsXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWh3cCB7XG4gICAgd2lkdGg6IDExMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC14bCkgc29saWQgdmFyKC0tY29sb3ItcG9zLW90aGVyKTtcbn1cblxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG59XG5cbi5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbn1cblxuLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMsXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdscCxcbi5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHdwIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xufVxuXG4uY2FyZWVyLXJhbmtpbmctY2FyZF9fcG9pbnRzLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBUZWFtIENhcmVlciBXb3JsZCBSYW5raW5nIFRhYmxlICovXG4udGVhbS1jYXJlZXItcmFua2luZy13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpIHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4udGVhbS1jYXJlZXItcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiA2cHg7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXJhbmsge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXRlYW0ge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcG9pbnRzLFxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWdscCxcbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1od3AsXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtZ2x0cHAsXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtaHd0cHAsXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtY3AsXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtbWVtYmVycyB7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC14bCkgc29saWQgdmFyKC0tY29sb3ItcG9zLW90aGVyKTtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbn1cblxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyxcbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1nbHAsXG4udGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHdwLFxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdsdHBwLFxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWh3dHBwLFxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNwLFxuLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLW1lbWJlcnMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbn1cblxuLnRlYW0tcmFua2luZy1jYXJkX19wb2ludHMtbGFiZWwsXG4udGVhbS1yYW5raW5nLWNhcmRfX21lbWJlcnMtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFNlYXNvbiBMZWFndWUgUmFua2luZyBUYWJsZSAqL1xuLnNlYXNvbi1yYW5raW5nLXdyYXBwZXIuc3RpY2t5LXRhYmxlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvci14OiBjb250YWluO1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICBzY3JvbGxiYXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCkgdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi5zZWFzb24tcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiA2cHg7XG59XG5cbi5zZWFzb24tcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5zZWFzb24tcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLnNlYXNvbi1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5zZWFzb24tcmFua2luZy10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXJhbmsge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC11c2VyIHtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC10ZWFtIHtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1wb2ludHMsXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWdscCxcbi5zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtaHdwLFxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1jcCB7XG4gICAgd2lkdGg6IDExMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC14bCkgc29saWQgdmFyKC0tY29sb3ItcG9zLW90aGVyKTtcbn1cblxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG59XG5cbi5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xufVxuXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbn1cblxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMsXG4uc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdscCxcbi5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHdwLFxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jcCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbn1cblxuLnNlYXNvbi1yYW5raW5nLWNhcmRfX3BvaW50cy1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogVGVhbSBTZWFzb24gTGVhZ3VlIFJhbmtpbmcgVGFibGUgKi9cbi50ZWFtLXNlYXNvbi1yYW5raW5nLXdyYXBwZXIuc3RpY2t5LXRhYmxlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvci14OiBjb250YWluO1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICBzY3JvbGxiYXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCkgdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi50ZWFtLXNlYXNvbi1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBoZWlnaHQ6IDZweDtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcmFuayB7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdGVhbSB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1wb2ludHMsXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtZ2xwLFxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWh3cCxcbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1nbHRwcCxcbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1od3RwcCxcbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1jcCxcbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1tZW1iZXJzIHtcbiAgICB3aWR0aDogOTBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLXhsKSBzb2xpZCB2YXIoLS1jb2xvci1wb3Mtb3RoZXIpO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzLFxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdscCxcbi50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1od3AsXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZ2x0cHAsXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHd0cHAsXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY3AsXG4udGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWVtYmVycyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xufVxuXG4udGVhbS1zZWFzb24tcmFua2luZy1jYXJkX19wb2ludHMtbGFiZWwsXG4udGVhbS1zZWFzb24tcmFua2luZy1jYXJkX19tZW1iZXJzLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBDb3VudHJ5IExlYWd1ZSBSYW5raW5nIFRhYmxlICovXG4uY291bnRyeS1sZWFndWUtcmFua2luZy13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpIHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4uY291bnRyeS1sZWFndWUtcmFua2luZy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiA2cHg7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLXJhbmsge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWNvdW50cnkge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcG9pbnRzLFxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGhlYWQgdHIgdGguY29sLWdscCxcbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1od3AsXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtY3AsXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtbWVtYmVycyB7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC14bCkgc29saWQgdmFyKC0tY29sb3ItcG9zLW90aGVyKTtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyxcbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1nbHAsXG4uY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHdwLFxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNwLFxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLW1lbWJlcnMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbn1cblxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctY2FyZF9fcG9pbnRzLWxhYmVsLFxuLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctY2FyZF9fbWVtYmVycy1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogR2xvYmFsIE1hc3RlcnMgTGVhZ3VlIFJhbmtpbmcgVGFibGUgKi9cbi5nbG9iYWwtbWFzdGVycy13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpIHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGhlaWdodDogNnB4O1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi5nbG9iYWwtbWFzdGVycy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1yYW5rIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdXNlciB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdGVhbSB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtcG9pbnRzLFxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC13cnAsXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGhlYWQgdHIgdGguY29sLWdscCB7XG4gICAgd2lkdGg6IDExMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG59XG5cbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbn1cblxuLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMsXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXdycCxcbi5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZ2xwIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xufVxuXG4uZ2xvYmFsLW1hc3RlcnMtY2FyZF9fcG9pbnRzLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIYXJkd2FyZSBNYXN0ZXJzIExlYWd1ZSBSYW5raW5nIFRhYmxlICovXG4uaGFyZHdhcmUtbWFzdGVycy13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3IteDogY29udGFpbjtcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpIHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiA2cHg7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGhlYWQgdHIgdGgge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWRhcmspO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGhlYWQgdHIgdGguY29sLXJhbmsge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGhlYWQgdHIgdGguY29sLXVzZXIge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtdGVhbSB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1wb2ludHMsXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtMmRwLFxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGhlYWQgdHIgdGguY29sLTNkcCB7XG4gICAgd2lkdGg6IDExMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG59XG5cbi5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMsXG4uaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtMmRwLFxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLTNkcCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xufVxuXG4uaGFyZHdhcmUtbWFzdGVycy1jYXJkX19wb2ludHMtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb21wby1zdGFnZS13cmFwcGVyIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4uY29tcG8tc3RhZ2Utd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGhlaWdodDogNnB4O1xufVxuXG4uY29tcG8tc3RhZ2Utd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1YnRsZSk7XG59XG5cbi5jb21wby1zdGFnZS13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLmNvbXBvLXN0YWdlLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC13aGl0ZSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctZGFyayk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGhlYWQgdHIgdGguY29sLXJhbmsge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1jb21wZXRpdG9yIHtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1zY29yZSB7XG4gICAgd2lkdGg6IDIwMHB4O1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGhlYWQgdHIgdGguY29sLXBvaW50cyB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGhlYWQgdHIgdGguY29sLXN1Ym1pc3Npb25zIHtcbiAgICB3aWR0aDogMjAwcHg7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbn1cblxuLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb21wZXRpdG9yIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VibWlzc2lvbnMge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSRVNQT05TSVZFIENBUkQgTEFZT1VUICg8PSAxMjAwcHgpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5iZW5jaG1hcmstcmFua2luZy13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAubWVtYmVyLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC50ZWFtLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC50ZWFtLWN1cHMtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLnRlYW0tcG9pbnRzLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC50ZWFtLW1lbWJlcnMtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLnRlYW0tcmVxdWVzdHMtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLmdwdS10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAuY3B1LXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5tYi10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAubWVtLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5jb29saW5nLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5wc3UtdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLmRpc2stdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLmh3LXJlY29yZHMtdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLmxpYnJhcnktdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAueHR1LWFuYWx5emUtdGFibGUtd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC51c2VyLXBvaW50cy10YWJsZS13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAuY29tcGV0aXRpb25zLXRhYmxlLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5jYXJlZXItcmFua2luZy13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAudGVhbS1jYXJlZXItcmFua2luZy13cmFwcGVyLnN0aWNreS10YWJsZSxcbiAgICAuc2Vhc29uLXJhbmtpbmctd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctd3JhcHBlci5zdGlja3ktdGFibGUsXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXdyYXBwZXIuc3RpY2t5LXRhYmxlLFxuICAgIC5jb21wby1zdGFnZS13cmFwcGVyLnN0aWNreS10YWJsZSB7XG4gICAgICAgIG92ZXJmbG93LXg6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1sZWZ0LWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIEJlbmNobWFyayBPdmVydmlldyBUYWJsZTogUHJlc2VydmUgdGFibGUgbGF5b3V0IG9uIHJlc3BvbnNpdmUgc2NyZWVucyAqL1xuICAgIC5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRoZWFkIHRyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGhlYWQgdHIgdGgge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1vdmVydmlldy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC8qIFN1Ym1pc3Npb25zIENhcmQgUm93IE1hcHBpbmcgKDw9IDEyMDBweClcbiAgICAgICBSb3cgMTogWyBiZW5jaG1hcmsgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY29yZSAocmlnaHQpIF1cbiAgICAgICBSb3cgMjogWyBoYXJkd2FyZSAobGVmdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlciAocmlnaHQpIF1cbiAgICAgICBSb3cgMzogWyBwb2ludHMgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgY29tbWVudHMgLSBsaWtlcyAocmlnaHQpIF1cbiAgICAqL1xuICAgIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYXMtcmFuayB0Ym9keSB0ciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnIgYXV0bztcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZGF0ZSB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC8qIFJvdyAxOiBMZWZ0ID0gQmVuY2htYXJrLCBSaWdodCA9IFNjb3JlICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZW5jaG1hcmsge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYXMtcmFuayB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBncmlkLWNvbHVtbjogLTIgLyAtMTtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGE6aG92ZXIsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWhvdmVyKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMjogTGVmdCA9IEhhcmR3YXJlLCBSaWdodCA9IFVzZXIgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYXMtcmFuayB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2hhcmR3YXJlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2hhcmR3YXJlIHNwYW46bm90KC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2NvcmVzKTpub3QoLnJhbmtpbmctaGlnaGxpZ2h0LWNhcmRfX2NvcmVzKTpub3QoLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fY2xvY2spIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2Nsb2NrIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgIGdyaWQtY29sdW1uOiAtMiAvIC0xO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXgtd2lkdGg6IDE0MHB4O1xuICAgIH1cblxuICAgIC8qIFJvdyAzOiBMZWZ0ID0gUG9pbnRzLCBSaWdodCA9IENvbW1lbnRzICYgTGlrZXMgKEFjdGlvbnMpICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgICAgICBvcmRlcjogNjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFzLXJhbmsgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wb2ludCxcbiAgICAuaHctcmVjb3Jkcy10YWJsZV9fcG9pbnQge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BvaW50LS13ciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BvaW50cyB7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyB7XG4gICAgICAgIG9yZGVyOiA3O1xuICAgICAgICBncmlkLWNvbHVtbjogLTIgLyAtMTtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyAudG9kYXktc3VibWlzc2lvbi1jYXJkX19hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAvKiBDb21wYWN0IE1pY3JvLVBpbGwgVm90ZSBXaWRnZXQgZm9yIE1vYmlsZSBDYXJkcyAqL1xuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyAudm90ZS1waWxsLFxuICAgIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3ZvdGUgLnZvdGUtcGlsbCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vbmUpO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyAudm90ZS1waWxsOmhvdmVyLFxuICAgIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3ZvdGUgLnZvdGUtcGlsbDpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMgLnZvdGUtcGlsbF9fYnRuLFxuICAgIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3ZvdGUgLnZvdGUtcGlsbF9fYnRuIHtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS1zKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyAudm90ZS1waWxsX19idG46aG92ZXIsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fdm90ZSAudm90ZS1waWxsX19idG46aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIC52b3RlLXBpbGxfX2FjdGlvbi5oYXMtdm90ZWQsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fdm90ZSAudm90ZS1waWxsX19hY3Rpb24uaGFzLXZvdGVkIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyAudm90ZS1waWxsX19idG4gaSxcbiAgICAudG9kYXktc3VibWlzc2lvbi1jYXJkX192b3RlIC52b3RlLXBpbGxfX2J0biBpIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMgLnZvdGUtcGlsbF9fZGl2aWRlcixcbiAgICAudG9kYXktc3VibWlzc2lvbi1jYXJkX192b3RlIC52b3RlLXBpbGxfX2RpdmlkZXIge1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIC52b3RlLXBpbGxfX2NvdW50LFxuICAgIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3ZvdGUgLnZvdGUtcGlsbF9fY291bnQge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyAudm90ZS1waWxsX19jYXJldCxcbiAgICAudG9kYXktc3VibWlzc2lvbi1jYXJkX192b3RlIC52b3RlLXBpbGxfX2NhcmV0IHtcbiAgICAgICAgZm9udC1zaXplOiA3cHg7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICB9XG5cbiAgICAvKiBDb29saW5nICYgU3Vic3BlY3MgUGxhY2VtZW50ICh3aGVuIHByZXNlbnQpICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nIHtcbiAgICAgICAgb3JkZXI6IDY7XG4gICAgICAgIGdyaWQtY29sdW1uOiAtMiAvIC0xO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC8qIEJvcmRlcmxlc3MgU3RhdHVzIEJhZGdlcyBvbiBNb2JpbGUgKi9cbiAgICAuc3RhdHVzLWJhZGdlIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5zdGF0dXMtYmFkZ2UgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB9XG5cbiAgICAuc3RhdHVzLWJhZGdlIC5zdGF0dXMtdmFsdWUge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIH1cblxuICAgIC8qIEJvcmRlcmxlc3MgU3RhZ2UgJiBDdXAgQmFkZ2VzIG9uIE1vYmlsZSAqL1xuICAgIC5zdGFnZS1udW1iZXIsXG4gICAgLnN0YWdlLW51bWJlci0tcnVubmluZyxcbiAgICAuc3RhZ2UtbnVtYmVyLS1jbG9zZWQsXG4gICAgLnN0YWdlLW51bWJlci0tdXBjb21pbmcge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmc6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3Vic3BlY3Mge1xuICAgICAgICBvcmRlcjogODtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSAwO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3Vic3BlY3M6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3Vic3BlY3MgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fc3Vic3BlY3Mge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC8qIEhhbGwgb2YgRmFtZSAvIFJlY29yZHMgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICBSb3cgMTogWyAjcmFuayB8IGZyZXF1ZW5jeSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBdXG4gICAgICAgUm93IDI6IFsgICAgICAgfCBjb29saW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXIgXVxuICAgICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0cixcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlLmhhcy1yYW5rIHRib2R5IHRyLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhcy1yYW5rLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpIGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZS5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhcy1yYW5rLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIG9yZGVyOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogMXN0LCAybmQsIDNyZCBQb3NpdGlvbiBMZWZ0IEJvcmRlciBDb2xvcnMgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlLmhhcy1yYW5rIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFzLXJhbmsuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlLmhhcy1yYW5rIHRib2R5IHRyOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUuaGFzLXJhbmsgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhcy1yYW5rLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUuaGFzLXJhbmsgdGJvZHkgdHI6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZS5oYXMtcmFuayB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhcy1yYW5rLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZS5oYXMtcmFuayB0Ym9keSB0cjpudGgtY2hpbGQoMykge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIENvbCAxLCBSb3cgMTogUmFuayAvIERhdGUgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUuaGFzLXJhbmsgdGJvZHkgdHIgdGQuY29sLXJhbmssXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFzLXJhbmsuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWRhdGUsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZGF0ZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtcm93OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKSAwIDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3Jhbmsge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIG1pbi13aWR0aDogMjhweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMjogRnJlcXVlbmN5IC8gU2NvcmUgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlLmhhcy1yYW5rIHRib2R5IHRyIHRkLmNvbC1zY29yZSxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFzLXJhbmsuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtcm93OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQgIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhOmhvdmVyLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGE6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMzogSGFyZHdhcmUgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlLmhhcy1yYW5rIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFzLXJhbmsuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtcm93OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9faGFyZHdhcmUge1xuICAgICAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19oYXJkd2FyZSBzcGFuOm5vdCgudG9kYXktc3VibWlzc2lvbi1jYXJkX19jbG9jaykge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDI6IENvb2xpbmcgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUuaGFzLXJhbmsgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmcsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZyxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFzLXJhbmsuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgIWltcG9ydGFudDtcbiAgICAgICAgZ3JpZC1yb3c6IDIgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDM6IFVzZXIgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUuaGFzLXJhbmsgdGJvZHkgdHIgdGQuY29sLXVzZXIsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlcixcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudG9kYXktc3VibWlzc2lvbnMtdGFibGUuaGFzLXJhbmsuaGFsbC1vZi1mYW1lLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDMgIWltcG9ydGFudDtcbiAgICAgICAgZ3JpZC1yb3c6IDIgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQgIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19hdmF0YXIge1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAuY291bnRyeV9mbGFncyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG1heC13aWR0aDogMTMwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC8qIEhpZGRlbiBjb2x1bW5zIG9uIG1vYmlsZSAqL1xuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnNwZWNzLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5oYWxsLW9mLWZhbWUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3Vic3BlY3MsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlLmhhbGwtb2YtZmFtZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBVc2VyIEhhcmR3YXJlIExpYnJhcnkgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICB8IE1hbnVmYWN0dXJlciAobGVmdCkgICAgICAgICAgTW9kZWwgKHJpZ2h0KSB8XG4gICAgICAgfCBQcm9kdWN0L1R5cGUgKGxlZnQpICAgIENvcmUvU29ja2V0IChyaWdodCkgfFxuICAgICAgIHwgU1VCTUlTU0lPTlMgKGxlZnQpICAgICAgICAgICAgICAgWCAocmlnaHQpIHxcbiAgICAqL1xuICAgIC5saWJyYXJ5LXRhYmxlLFxuICAgIC5saWJyYXJ5LXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLmxpYnJhcnktdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5saWJyYXJ5LXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLmxpYnJhcnktdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICB9XG5cbiAgICAubGlicmFyeS10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIFJvdyAxOiBMZWZ0ID0gTWFudWZhY3R1cmVyLCBSaWdodCA9IE1vZGVsICovXG4gICAgLmxpYnJhcnktdGFibGUgdGJvZHkgdHIgdGQuY29sLW1hbnVmYWN0dXJlciB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIH1cblxuICAgIC5saWJyYXJ5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIH1cblxuICAgIC8qIFJvdyAyOiBMZWZ0ID0gUHJvZHVjdC9UeXBlLCBSaWdodCA9IENvcmUvU29ja2V0L0NoaXBzZXQgKi9cbiAgICAubGlicmFyeS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcHJvZHVjdCB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLmxpYnJhcnktdGFibGUgdGJvZHkgdHIgdGQuY29sLXByb2R1Y3Q6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5saWJyYXJ5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zb2NrZXQge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLmxpYnJhcnktdGFibGUgdGJvZHkgdHIgdGQuY29sLXByb2R1Y3QgYSxcbiAgICAubGlicmFyeS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc29ja2V0IGEge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLmxpYnJhcnktdGFibGUgdGJvZHkgdHIgdGQuY29sLXByb2R1Y3QgYTpob3ZlcixcbiAgICAubGlicmFyeS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc29ja2V0IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIC5saWJyYXJ5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zb2NrZXQ6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIFJvdyAzOiBMZWZ0ID0gU3VibWlzc2lvbnMgbGFiZWwsIFJpZ2h0ID0gU3VibWlzc2lvbnMgY291bnQgKi9cbiAgICAubGlicmFyeS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VicyB7XG4gICAgICAgIG9yZGVyOiA1O1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1zKTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB9XG5cbiAgICAubGlicmFyeS1jYXJkX19zdWJzLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgfVxuXG4gICAgLmxpYnJhcnktdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnMgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB9XG5cbiAgICAvKiBVc2VyIFhUVSBQcm9maWxlcyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIHwgZGF0ZSAgICAgICAgICAgICAgICAgICAgICAgc2NvcmUgICAgICB8XG4gICAgICAgfCBwcm9jZXNzb3IgICAgICAgICAgICAgICAgICBzb2NrZXQgICAgIHxcbiAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuYWx5emUgICAgfFxuICAgICovXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSxcbiAgICAueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICB9XG5cbiAgICAueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLyogUm93IDE6IExlZnQgPSBEYXRlLCBSaWdodCA9IFNjb3JlICovXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZGF0ZSB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIH1cblxuICAgIC54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGEge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIH1cblxuICAgIC8qIFJvdyAyOiBMZWZ0ID0gUHJvY2Vzc29yLCBSaWdodCA9IFNvY2tldCAqL1xuICAgIC54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXByb2Nlc3NvciB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zb2NrZXQge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc29ja2V0OmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zb2NrZXQgYSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zb2NrZXQgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgLyogSGlkZSBGcmVxdWVuY3kgJiBNb3RoZXJib2FyZCBvbiBtb2JpbGUgY2FyZCAqL1xuICAgIC54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNsb2NrLFxuICAgIC54dHUtcHJvZmlsZXMtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vdGhlcmJvYXJkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIFJvdyAzOiBSaWdodCA9IEFuYWx5emUgKi9cbiAgICAueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIHtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1zKTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB9XG5cbiAgICAueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAueHR1LXByb2ZpbGVzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIGEge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctY2FyZCk7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLnh0dS1wcm9maWxlcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLyogWFRVIEFuYWx5emUgTmVpZ2hib3JzIFRhYmxlIENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgfCBEYXRlIChsZWZ0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTY29yZSAocmlnaHQpIHxcbiAgICAgICB8IFVzZXIgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb2NrIChyaWdodCkgfFxuICAgICAgIHwgTW90aGVyYm9hcmQgKGZ1bGwtd2lkdGgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAgICAgfCBDb29saW5nIChmdWxsLXdpZHRoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICB8IFBvaW50cyAobGVmdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWb3RlIChyaWdodCkgfFxuICAgICovXG4gICAgLnh0dS1hbmFseXplLXRhYmxlLFxuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB9XG5cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICB9XG5cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIuaXMtYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaW5mby1iZyk7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMTogTGVmdCA9IERhdGUsIFJpZ2h0ID0gU2NvcmUgKi9cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWRhdGUge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgfVxuXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMjogTGVmdCA9IFVzZXIsIFJpZ2h0ID0gQ2xvY2sgKi9cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2xvY2sge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jbG9jazplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogUm93IDM6IE1vdGhlcmJvYXJkIChmdWxsIHdpZHRoKSAqL1xuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW90aGVyYm9hcmQge1xuICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIDAgMDtcbiAgICB9XG5cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vdGhlcmJvYXJkOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vdGhlcmJvYXJkIGEge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb3RoZXJib2FyZCBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAvKiBSb3cgNDogQ29vbGluZyAoZnVsbCB3aWR0aCkgKi9cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmcge1xuICAgICAgICBvcmRlcjogNjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSAwO1xuICAgIH1cblxuICAgIC54dHUtYW5hbHl6ZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29vbGluZzplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogUm93IDU6IExlZnQgPSBQb2ludHMsIFJpZ2h0ID0gQWN0aW9ucyAoVm90ZSkgKi9cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIG9yZGVyOiA3O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB9XG5cbiAgICAueHR1LWFuYWx5emUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50czplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnh0dS1hbmFseXplLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1hY3Rpb25zIHtcbiAgICAgICAgb3JkZXI6IDg7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB9XG5cbiAgICAvKiBDb21wZXRpdGlvbiBPdmVydmlldyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIHwgQ29tcGV0aXRpb24gTmFtZSAoZnVsbC13aWR0aCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICAgIHwgTGV2ZWwgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhZ2VzIChyaWdodCkgfFxuICAgICAgIHwgT3BlbnM6IDxkYXRlPiAoZnVsbC13aWR0aCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICAgIHwgQ2xvc2VzOiA8ZGF0ZT4gKGZ1bGwtd2lkdGgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICAgIHwgW1Ryb3BoeV0gV2lubmVyIChmdWxsLXdpZHRoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICovXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSxcbiAgICAuY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICB9XG5cbiAgICAuY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLyogUm93IDE6IENvbXBldGl0aW9uIE5hbWUgKGZ1bGwgd2lkdGgpICovXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29tcGV0aXRpb24ge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb21wZXRpdGlvbiBhLmNvbXBldGl0aW9ucy10YWJsZV9fbmFtZS1saW5rIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29tcGV0aXRpb24gYS5jb21wZXRpdGlvbnMtdGFibGVfX25hbWUtbGluazpob3ZlcixcbiAgICAuY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb21wZXRpdGlvbiBhLmNvbXBldGl0aW9ucy10YWJsZV9fbmFtZS1saW5rOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWhvdmVyKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMjogTGVmdCA9IExldmVsLCBSaWdodCA9IFN0YWdlcyAqL1xuICAgIC5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWxldmVsIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAuY29tcGV0aXRpb25zLW92ZXJ2aWV3LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sZXZlbDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3RhZ2VzIHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLmNvbXBldGl0aW9ucy10YWJsZV9fc3RhZ2VzLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cblxuICAgIC8qIFJvdyAzOiBPcGVucyBkYXRlIChmdWxsIHdpZHRoKSAqL1xuICAgIC5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLW9wZW5zIHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLyogUm93IDQ6IENsb3NlcyBkYXRlIChmdWxsIHdpZHRoKSAqL1xuICAgIC5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNsb3NlcyB7XG4gICAgICAgIG9yZGVyOiA1O1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC5jb21wZXRpdGlvbnMtdGFibGVfX2RhdGUtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgNTogV2lubmVyIChmdWxsIHdpZHRoKSAqL1xuICAgIC5jb21wZXRpdGlvbnMtb3ZlcnZpZXctdGFibGUgdGJvZHkgdHIgdGQuY29sLXdpbm5lciB7XG4gICAgICAgIG9yZGVyOiA2O1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBkYXNoZWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgLmNvbXBldGl0aW9ucy1vdmVydmlldy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtd2lubmVyOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBDYXJlZXIgV29ybGQgUmFua2luZyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIFJvdyAxOiBbIHJhbmsgIHwgdXNlciAobGVmdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVhbSAocmlnaHQpIF1cbiAgICAgICBSb3cgMjogWyAgICAgICB8IHBvaW50cyAobGVmdCkgICAgICAgIGdsIHBvaW50cyAobWlkKSAgICAgaHcgcG9pbnRzIChyaWdodCkgXVxuICAgICovXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItbGVmdC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgfVxuXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICB9XG5cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvKiBDb2wgMSwgUm93IDE6IFJhbmsgKi9cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmssXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKSAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBtaW4td2lkdGg6IDI4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDItMzogVXNlciAqL1xuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gNDtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2F2YXRhciB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG1heC13aWR0aDogMTMwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDQ6IFRlYW0gKHJpZ2h0LWFsaWduZWQpICovXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDQ7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2F2YXRhciB7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG1heC13aWR0aDogMTEwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLmNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDI6IFBvaW50cyAqL1xuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDM6IEdMIFBvaW50cyAqL1xuICAgIC5jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZ2xwIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCA0OiBIVyBQb2ludHMgKi9cbiAgICAuY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWh3cCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiA0O1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmNhcmVlci1yYW5raW5nLWNhcmRfX3BvaW50cy1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICB9XG5cbiAgICAvKiBUZWFtIENhcmVlciBXb3JsZCBSYW5raW5nIENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgUm93IDE6IFsgI3JhbmsgfCBbQXZhdGFyXSBUZWFtIFtGbGFnXSAgICAgICAgICAgICAgICAgICAgW1BvaW50c10gUFRTIF1cbiAgICAgICBSb3cgMjogWyAgICAgICB8IFtDb3VudF0gbWVtYmVycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICovXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpIGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWxlZnQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB9XG5cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICB9XG5cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbiAgICB9XG5cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIH1cblxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xuICAgIH1cblxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLyogQ29sIDEsIFJvdyAxOiBSYW5rICovXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmssXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MgdGQuY29sLXJhbmssXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKSAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBtaW4td2lkdGg6IDI4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDI6IFRlYW0gKi9cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2F2YXRhciB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAuY291bnRyeV9mbGFncyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDM6IFBvaW50cyAqL1xuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyAudGVhbS1yYW5raW5nLWNhcmRfX3BvaW50cy1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDI6IE1lbWJlcnMgKi9cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWVtYmVycyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWVtYmVyczplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tcmFua2luZy1jYXJkX19tZW1iZXJzLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIH1cblxuICAgIC8qIFN1Yi1wb2ludCBjb2x1bW5zIGhpZGRlbiBvbiBtb2JpbGUgKi9cbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZ2xwLFxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1od3AsXG4gICAgLnRlYW0tY2FyZWVyLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdsdHBwLFxuICAgIC50ZWFtLWNhcmVlci1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1od3RwcCxcbiAgICAudGVhbS1jYXJlZXItcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY3Age1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogU2Vhc29uIExlYWd1ZSBSYW5raW5nIENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgUm93IDE6IFsgI3JhbmsgfCBbQXZhdGFyXSBVc2VyIFtGbGFnXSAgICAgICAgICAgICBbQXZhdGFyXSBUZWFtIF1cbiAgICAgICBSb3cgMjogWyAgICAgICB8IFtQb2ludHNdIFBUUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICovXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1sZWZ0LWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG4gICAgfVxuXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgfVxuXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIENvbCAxLCBSb3cgMTogUmFuayAqL1xuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MgdGQuY29sLXJhbmsge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UteHMpIDAgMDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIG1pbi13aWR0aDogMjhweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMjogVXNlciAqL1xuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAuY291bnRyeV9mbGFncyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCAzOiBUZWFtIChyaWdodC1hbGlnbmVkKSAqL1xuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19hdmF0YXIge1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC5jb3VudHJ5X2ZsYWdzIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLnNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC5zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbTplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAyOiBQb2ludHMgKi9cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXJhbmtpbmctY2FyZF9fcG9pbnRzLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIH1cblxuICAgIC8qIFN1Yi1wb2ludCBjb2x1bW5zIGhpZGRlbiBvbiBtb2JpbGUgKi9cbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdscCxcbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWh3cCxcbiAgICAuc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIFRlYW0gU2Vhc29uIExlYWd1ZSBSYW5raW5nIENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgUm93IDE6IFsgI3JhbmsgfCBbQXZhdGFyXSBUZWFtIFtGbGFnXSAgICAgICAgICAgICAgICAgICAgW1BvaW50c10gUFRTIF1cbiAgICAgICBSb3cgMjogWyAgICAgICB8IFtDb3VudF0gbWVtYmVycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICovXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpIGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWxlZnQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB9XG5cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICB9XG5cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbiAgICB9XG5cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIH1cblxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xuICAgIH1cblxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLyogQ29sIDEsIFJvdyAxOiBSYW5rICovXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmssXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MgdGQuY29sLXJhbmssXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKSAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBtaW4td2lkdGg6IDI4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDI6IFRlYW0gKi9cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2F2YXRhciB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAuY291bnRyeV9mbGFncyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDM6IFBvaW50cyAqL1xuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyAudGVhbS1zZWFzb24tcmFua2luZy1jYXJkX19wb2ludHMtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAyOiBNZW1iZXJzICovXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLW1lbWJlcnMge1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIC0xO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLW1lbWJlcnM6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLWNhcmRfX21lbWJlcnMtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTN4cyk7XG4gICAgfVxuXG4gICAgLyogU3ViLXBvaW50IGNvbHVtbnMgaGlkZGVuIG9uIG1vYmlsZSAqL1xuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1nbHAsXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWh3cCxcbiAgICAudGVhbS1zZWFzb24tcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZ2x0cHAsXG4gICAgLnRlYW0tc2Vhc29uLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWh3dHBwLFxuICAgIC50ZWFtLXNlYXNvbi1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBDb3VudHJ5IExlYWd1ZSBSYW5raW5nIENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgUm93IDE6IFsgI3JhbmsgfCBbRmxhZ10gQ291bnRyeSAgICAgICAgICAgICAgICAgICAgICAgICAgW1BvaW50c10gUFRTIF1cbiAgICAgICBSb3cgMjogWyAgICAgICB8IFtDb3VudF0gbWVtYmVycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICovXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpIGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYm9yZGVyLWxlZnQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB9XG5cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICB9XG5cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbiAgICB9XG5cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIH1cblxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xuICAgIH1cblxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLyogQ29sIDEsIFJvdyAxOiBSYW5rICovXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmssXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MgdGQuY29sLXJhbmssXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKSAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBtaW4td2lkdGg6IDI4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDI6IENvdW50cnkgKi9cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY291bnRyeSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvdW50cnkgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb3VudHJ5IC5jb3VudHJ5X2ZsYWdzIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvdW50cnkgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMzogUG9pbnRzICovXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLWNhcmRfX3BvaW50cy1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDI6IE1lbWJlcnMgKi9cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWVtYmVycyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWVtYmVyczplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctY2FyZF9fbWVtYmVycy1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtM3hzKTtcbiAgICB9XG5cbiAgICAvKiBTdWItcG9pbnQgY29sdW1ucyBoaWRkZW4gb24gbW9iaWxlICovXG4gICAgLmNvdW50cnktbGVhZ3VlLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWdscCxcbiAgICAuY291bnRyeS1sZWFndWUtcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaHdwLFxuICAgIC5jb3VudHJ5LWxlYWd1ZS1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBHbG9iYWwgTWFzdGVycyBMZWFndWUgUmFua2luZyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIFJvdyAxOiBbIHJhbmsgIHwgdXNlciAobGVmdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVhbSAocmlnaHQpIF1cbiAgICAgICBSb3cgMjogWyAgICAgICB8IHBvaW50cyAobGVmdCkgICAgICAgIHdyIHBvaW50cyAobWlkKSAgICAgZ2wgcG9pbnRzIChyaWdodCkgXVxuICAgICovXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMS4yZnIpIG1pbm1heCgwLCAxZnIpIG1pbm1heCgwLCAxZnIpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1sZWZ0LWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIENvbCAxLCBSb3cgMTogUmFuayAqL1xuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rLFxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MgdGQuY29sLXJhbmsge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UteHMpIDAgMDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIG1pbi13aWR0aDogMjhweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMi0zOiBVc2VyICovXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyA0O1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAuY291bnRyeV9mbGFncyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMzBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgNDogVGVhbSAocmlnaHQtYWxpZ25lZCkgKi9cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0ge1xuICAgICAgICBncmlkLWNvbHVtbjogNDtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAuY291bnRyeV9mbGFncyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMTBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW06ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIFJvdyAyLCBDb2wgMjogUG9pbnRzICovXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8qIFJvdyAyLCBDb2wgMzogV1IgUG9pbnRzICovXG4gICAgLmdsb2JhbC1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC13cnAge1xuICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDQ6IEdMIFBvaW50cyAqL1xuICAgIC5nbG9iYWwtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZ2xwIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDQ7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuZ2xvYmFsLW1hc3RlcnMtY2FyZF9fcG9pbnRzLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIH1cblxuICAgIC8qIEhhcmR3YXJlIE1hc3RlcnMgTGVhZ3VlIFJhbmtpbmcgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICBSb3cgMTogWyByYW5rICB8IHVzZXIgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlYW0gKHJpZ2h0KSBdXG4gICAgICAgUm93IDI6IFsgICAgICAgfCBod3AgKGxlZnQpICAgICAgICAgICAyZHAgKG1pZCkgICAgICAgICAgICAgICAgICAzZHAgKHJpZ2h0KSBdXG4gICAgKi9cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDEuMmZyKSBtaW5tYXgoMCwgMWZyKSBtaW5tYXgoMCwgMWZyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItbGVmdC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvKiBDb2wgMSwgUm93IDE6IFJhbmsgKi9cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmssXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MgdGQuY29sLXJhbmsge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UteHMpIDAgMDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIG1pbi13aWR0aDogMjhweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMi0zOiBVc2VyICovXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIDQ7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1mdWxsKTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC5jb3VudHJ5X2ZsYWdzIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG1heC13aWR0aDogMTMwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDQ6IFRlYW0gKHJpZ2h0LWFsaWduZWQpICovXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0ge1xuICAgICAgICBncmlkLWNvbHVtbjogNDtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2F2YXRhciB7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtZnVsbCk7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuaGFyZHdhcmUtbWFzdGVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAuY291bnRyeV9mbGFncyB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBtYXgtd2lkdGg6IDExMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDI6IFBvaW50cyAqL1xuICAgIC5oYXJkd2FyZS1tYXN0ZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8qIFJvdyAyLCBDb2wgMzogMkQgUG9pbnRzICovXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLTJkcCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8qIFJvdyAyLCBDb2wgNDogM0QgUG9pbnRzICovXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLTNkcCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiA0O1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmhhcmR3YXJlLW1hc3RlcnMtY2FyZF9fcG9pbnRzLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0zeHMpO1xuICAgIH1cblxuICAgIC8qIENvbXBldGl0aW9uIFN0YWdlIFJhbmtpbmcgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICBbIHJhbmsgfCBjb21wZXRpdG9yICAgICAgICAgICAgICAgICAgICAgcG9pbnRzIF1cbiAgICAgICBbICAgICAgfCBzY29yZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICBbICAgICAgfCBpbWFnZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAqL1xuICAgIC5jb21wby1zdGFnZS10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1kYXJrKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0aGVhZCB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1yYW5rIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIG1pbi13aWR0aDogMjBweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1jb21wZXRpdG9yIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1wb2ludHMge1xuICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGhlYWQgdHIgdGguY29sLXNjb3JlLFxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0aGVhZCB0ciB0aC5jb2wtc3VibWlzc2lvbnMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpIGF1dG87XG4gICAgICAgIHJvdy1nYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1sZWZ0LWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXNlY29uZCk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ci50YWJsZS1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZvdXItZml2ZSk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLyogQ29sIDEsIFJvdyAxOiBSYW5rICovXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rLFxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3MgdGQuY29sLXJhbmssXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyLnRhYmxlLXNlY29uZC1wb3MgdGQuY29sLXJhbmssXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyLnRhYmxlLXRoaXJkLXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBtaW4td2lkdGg6IDI0cHg7XG4gICAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3MgdGQuY29sLXJhbmsge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICB9XG5cbiAgICAvKiBDb2wgMiwgUm93IDE6IENvbXBldGl0b3IgKi9cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvbXBldGl0b3Ige1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY29tcGV0aXRvciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb21wZXRpdG9yIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAvKiBDb2wgMywgUm93IDE6IFBvaW50cyAqL1xuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8qIENvbCAyLTMsIFJvdyAyOiBQcmltYXJ5IFNjb3JlICovXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAvKiBDb2wgMi0zLCBSb3cgMzogSW1hZ2VzICovXG4gICAgLmNvbXBvLXN0YWdlLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJtaXNzaW9ucyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuY29tcG8tc3RhZ2UtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1Ym1pc3Npb25zOmVtcHR5LFxuICAgIC5jb21wby1zdGFnZS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VibWlzc2lvbnMtLWVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBDb21wZXRpdGlvbiBTY29yZWJvYXJkIENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgQ29tcGFjdCAyLWNvbHVtbiBjYXJkIHdpdGggaG9yaXpvbnRhbCBzY3JvbGxhYmxlIHN0YWdlL2N1cCBzdHJpcCAqL1xuICAgIC5jb21wby1zY29yZWJvYXJkLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIH1cblxuICAgIC5jb21wby1zY29yZWJvYXJkLWhlYWRlcl9fcmFuayB7XG4gICAgICAgIG1pbi13aWR0aDogMjBweDtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1oZWFkZXJfX2NvbnRlbnQge1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1jYXJkIHtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fcmFuayB7XG4gICAgICAgIG1pbi13aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fY29udGVudCB7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1jYXJkX19oZWFkZXIge1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC5jb21wby1zY29yZWJvYXJkLWNhcmRfX3BhcnRpY2lwYW50IC5jb3VudHJ5X2ZsYWdzIHtcbiAgICAgICAgd2lkdGg6IHZhcigtLXNwYWNlLXNtKTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tc3BhY2Utc20pO1xuICAgIH1cblxuICAgIC5jb21wby1zY29yZWJvYXJkLWNhcmRfX2F2YXRhciB7XG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1jYXJkX190b3RhbC12YWx1ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICB9XG5cbiAgICAuY29tcG8tc2NvcmVib2FyZC1jYXJkX19jdXBzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAycHg7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtY2FyZF9fY3Vwczo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5jb21wby1zY29yZWJvYXJkLWN1cCB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBwYWRkaW5nOiAycHggNnB4O1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtY3VwX19sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtY3VwX19zY29yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4cyk7XG4gICAgfVxuXG4gICAgLmNvbXBvLXNjb3JlYm9hcmQtY3VwX19wb2ludHMge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIH1cblxuICAgIC8qIFVzZXIgUmFua2luZyBMb2cgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICB8IGRhdGUgICAgICAgICAgICAgICAgICAgICAgIHNjb3JlICAgICAgfFxuICAgICAgIHwgYmVuY2htYXJrICAgICAgICAgICAgICAgICAgaGFyZHdhcmUgICB8XG4gICAgICAgfCByYW5rIHNoaWZ0ICAgICAgICAgICAgICAgICBwb2ludHMgICAgIHxcbiAgICAqL1xuICAgIC5yYW5raW5nLWxvZy10YWJsZSxcbiAgICAucmFua2luZy1sb2ctdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAucmFua2luZy1sb2ctdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIH1cblxuICAgIC5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIEhpZGUgVXNlciwgUmFua2luZyBjYXRlZ29yeSwgYW5kIHN0YW5kYWxvbmUgQ29vbGluZyBvbiBtb2JpbGUgY2FyZCAqL1xuICAgIC5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlcixcbiAgICAucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmtpbmcsXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIFJvdyAxOiBMZWZ0ID0gRGF0ZSwgUmlnaHQgPSBTY29yZSAqL1xuICAgIC5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZGF0ZSB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMjogTGVmdCA9IEJlbmNobWFyaywgUmlnaHQgPSBIYXJkd2FyZSAqL1xuICAgIC5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIH1cblxuICAgIC5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLnJhbmtpbmctbG9nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSAucmFua2luZy1sb2ctY29yZXMge1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtdGVydGlhcnkpO1xuICAgIH1cblxuICAgIC8qIFJvdyAzOiBMZWZ0ID0gUmFuayBzaGlmdCwgUmlnaHQgPSBQb2ludHMgc2hpZnQgKi9cbiAgICAucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsge1xuICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXMpO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIH1cblxuICAgIC5yYW5raW5nLWxvZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICAgICAgb3JkZXI6IDY7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXMpO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICB9XG5cbiAgICAucmFua2luZy1sb2ctdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50czplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogVXNlciBQb2ludHMgVGFibGUgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICBCZW5jaG1hcmsgQ2FyZDpcbiAgICAgICB8IGJlbmNobWFyayAgICAgICAgICAgICAgICAgICAgICBzY29yZSB8XG4gICAgICAgfCBoYXJkd2FyZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICAgIHwgY29vbGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAgICAgICB8IHJhbmsgKHRyb3BoeS8jKSAgICAgICAgICAgICAgIHBvaW50cyB8XG4gICAgICAgQ29tcGV0aXRpb24gQ2FyZDpcbiAgICAgICB8IGNvbXBldGl0aW9uICAgICAgICAgICAgICAgICAgICBsZXZlbCB8XG4gICAgICAgfCBkYXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICAgICAgIHwgcmFuayAodHJvcGh5LyMpICAgICAgICAgICAgICAgcG9pbnRzIHxcbiAgICAqL1xuICAgIC51c2VyLXBvaW50cy10YWJsZSxcbiAgICAudXNlci1wb2ludHMtdGFibGUgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAudXNlci1wb2ludHMtdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIH1cblxuICAgIC51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC8qIEJlbmNobWFyayBjYXJkIGZpZWxkcyAqL1xuICAgIC51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICB9XG5cbiAgICAudXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICB9XG5cbiAgICAudXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAudXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmcge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICB9XG5cbiAgICAudXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmc6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC51c2VyLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZGF0ZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnVzZXItcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1zKTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB9XG5cbiAgICAudXNlci1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIG9yZGVyOiA2O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1zKTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgfVxuXG4gICAgLyogQ29tcGV0aXRpb24gY2FyZCBzcGVjaWZpY3MgKi9cbiAgICAudXNlci1wb2ludHMtdGFibGUtLWNvbXBldGl0aW9uIHRib2R5IHRyIHRkLmNvbC1jb21wZXRpdGlvbiB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gICAgfVxuXG4gICAgLnVzZXItcG9pbnRzLXRhYmxlLS1jb21wZXRpdGlvbiB0Ym9keSB0ciB0ZC5jb2wtbGV2ZWwge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLnVzZXItcG9pbnRzLXRhYmxlLS1jb21wZXRpdGlvbiB0Ym9keSB0ciB0ZC5jb2wtZGF0ZSB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLnJhbmtpbmctaGlnaGxpZ2h0LWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLyogVXNlciBQcm9maWxlICYgVGVhbSBXYWxsIFJlc3BvbnNpdmUgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweCkgKi9cbiAgICAud2FsbC1zdWJtaXNzaW9uLWNhcmQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICB9XG5cbiAgICAud2FsbC1jYXJkX19ib2R5IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC53YWxsLWNhcmRfX3VzZXIge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAud2FsbC1jYXJkX19zY29yZSB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgfVxuXG4gICAgLndhbGwtY2FyZF9fYmVuY2htYXJrIHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICB9XG5cbiAgICAud2FsbC1jYXJkX19oYXJkd2FyZSB7XG4gICAgICAgIG9yZGVyOiA0O1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLndhbGwtY2FyZF9fZGF0ZSB7XG4gICAgICAgIG9yZGVyOiA1O1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgIH1cblxuICAgIC53YWxsLWNhcmRfX2NvcmVzIHtcbiAgICAgICAgb3JkZXI6IDY7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLndhbGwtY2FyZF9fY29vbGluZyB7XG4gICAgICAgIG9yZGVyOiA3O1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgfVxuXG4gICAgLndhbGwtY2FyZF9fY29vbGluZzplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLndhbGwtY2FyZF9fcmFua2luZ3Mge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDEzMHB4LCAxZnIpKTtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLXN1YnRsZSk7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLndhbGwtY2FyZF9fcmFua2luZ3MgLmdyaWQtc3BlYyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLndhbGwtY2FyZF9fcmFua2luZ3MgLmdyaWQtc3BlYy1yb3cge1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC53YWxsLWNhcmRfX3JhbmtpbmdzIC5hdHRyaWJ1dGUge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgfVxuXG4gICAgLndhbGwtY2FyZF9fcmFua2luZ3MgLnZhbHVlIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAud2FsbC1jYXJkX19yYW5raW5ncyB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC53YWxsLWNhcmRfX3JhbmtpbmdzIC5ncmlkLXNwZWMtcm93LS1zdGFja2VkIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLndhbGwtY2FyZF9fcmFua2luZ3MgLnZhbHVlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBCZW5jaG1hcmsgUmFua2luZyBUYWJsZSAtIENhcmQtYmFzZWQgMy1MaW5lIExlYWRlcmJvYXJkICg8PSAxMjAwcHgpXG4gICAgICAgfCByYW5rIHwgc2NvcmUgICAgICAgICAgICAgICAgICAgICAgICAgdXNlciAgICB8XG4gICAgICAgfCAgICAgIHwgY29yZXMgaGFyZHdhcmUgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAgICAgfCAgICAgIHwgY29vbGluZyAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRzICB8XG4gICAgKi9cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpIGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItbGVmdC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZmlyc3QpO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ci50YWJsZS10aGlyZC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLXRoaXJkKTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvKiBDb2wgMSwgUm93IDE6IFJhbmsgKi9cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmssXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyLnRhYmxlLWZpcnN0LXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB0ZC5jb2wtcmFuayxcbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKSAwIDA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3Jhbmsge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIG1pbi13aWR0aDogMjhweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMjogU2NvcmUgKi9cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGE6aG92ZXIsXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWhvdmVyKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDM6IFVzZXIgKi9cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAyLTM6IENvcmVzICsgSGFyZHdhcmUgKi9cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyA0O1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9faGFyZHdhcmUge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1oYXJkd2FyZSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19oYXJkd2FyZSBzcGFuOm5vdCgudG9kYXktc3VibWlzc2lvbi1jYXJkX19jb3Jlcyk6bm90KC5yYW5raW5nLWhpZ2hsaWdodC1jYXJkX19jb3Jlcyk6bm90KC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2Nsb2NrKSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fY2xvY2sge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAucmFua2luZy1oaWdobGlnaHQtY2FyZF9fbWV0YSAudG9kYXktc3VibWlzc2lvbi1jYXJkX19jbG9jayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMywgQ29sIDI6IENvb2xpbmcgKi9cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmcge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLXJhbmtpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmc6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIFJvdyAzLCBDb2wgMzogUG9pbnRzICovXG4gICAgLmJlbmNobWFyay1yYW5raW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMge1xuICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBIaWRlIERlZGljYXRlZCBCZW5jaG1hcmsvQ29yZXMgQ29sdW1uIG9uIE1vYmlsZSAoY29yZXMgYXJlIGlubGluZWQgaW4gY29sLWhhcmR3YXJlKSAqL1xuICAgIC5iZW5jaG1hcmstcmFua2luZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIEJlbmNobWFyayBGaXJzdCBTcG90cyBUYWJsZSAtIDItUm93IENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgUm93IDE6IFsgY29yZXMgKGxlZnQpICAgIHNjb3JlIChsZWZ0KSAgICBoYXJkd2FyZSAocmVzdCkgXVxuICAgICAgIFJvdyAyOiBbIHVzZXIgKGxlZnQpICAgICBjb29saW5nIChtaWQpICAgdm90ZSAocmlnaHQpICAgIF1cbiAgICAqL1xuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gbWlubWF4KDAsIDFmcikgYXV0bztcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItbGVmdC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMSwgQ29sIDE6IENvcmVzIC8gQmVuY2htYXJrIGNhdGVnb3J5ICovXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWJlbmNobWFyayAudG9kYXktc3VibWlzc2lvbi1jYXJkX19iZW5jaG1hcmstbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC8qIFJvdyAxLCBDb2wgMjogU2NvcmUgKi9cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGEge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGE6aG92ZXIsXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUgYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1ob3Zlcik7XG4gICAgfVxuXG4gICAgLyogUm93IDEsIENvbCAzLTQ6IEhhcmR3YXJlIChzcGFucyB0byByaWdodCBlZGdlKSAqL1xuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDMgLyAtMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2hhcmR3YXJlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9faGFyZHdhcmUgc3Bhbjpub3QoLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fY2xvY2spIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fY2xvY2sge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgfVxuXG4gICAgLyogUm93IDIsIENvbCAxLTI6IFVzZXIgKHNwYW5zIGNvbHMgMSBhbmQgMikgKi9cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAzO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19wYXJ0aWNpcGFudCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19hdmF0YXIge1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWZ1bGwpO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmJlbmNobWFyay1maXJzdC1zcG90cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIH1cblxuICAgIC8qIFJvdyAyLCBDb2wgMzogQ29vbGluZyBiYWRnZSAqL1xuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvb2xpbmcge1xuICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuYmVuY2htYXJrLWZpcnN0LXNwb3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMiwgQ29sIDQ6IFZvdGUgcGlsbCAocGlubmVkIHRvIHJpZ2h0KSAqL1xuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMge1xuICAgICAgICBncmlkLWNvbHVtbjogNDtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC5iZW5jaG1hcmstZmlyc3Qtc3BvdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG5cbiAgICAvKiBNZW1iZXIgQ2FyZCBSb3cgTWFwcGluZyAoPD0gMTIwMHB4KVxuICAgICAgIFJvdyAxOiBbIHVzZXIgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlYW0gKHJpZ2h0KSBdXG4gICAgICAgUm93IDI6IFsgbGVhZ3VlIChsZWZ0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaW5jZSAocmlnaHQpIF1cbiAgICAgICBSb3cgMzogWyByYW5rIChsZWZ0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRzIChyaWdodCkgXVxuICAgICovXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgfVxuXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayxcbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yb2xlcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMTogTGVmdCA9IFVzZXIsIFJpZ2h0ID0gVGVhbSAqL1xuICAgIC5tZW1iZXItdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC5tZW1iZXItdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLm1lbWJlci1jYXJkX19uYW1lIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgICAgICBtYXgtd2lkdGg6IDE0MHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC5tZW1iZXItdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLm1lbWJlci1jYXJkX19uYW1lOmhvdmVyLFxuICAgIC5tZW1iZXItdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLm1lbWJlci1jYXJkX19uYW1lOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWhvdmVyKTtcbiAgICB9XG5cbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbTplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAubWVtYmVyLWNhcmRfX3RlYW0ge1xuICAgICAgICBtYXgtd2lkdGg6IG1pbigxNjBweCwgNDV2dyk7XG4gICAgfVxuXG4gICAgLyogUm93IDI6IExlZnQgPSBMZWFndWUsIFJpZ2h0ID0gU2luY2UgKi9cbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sZWFndWUge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC5tZW1iZXItdGFibGUgdGJvZHkgdHIgdGQuY29sLWxlYWd1ZTplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtam9pbmVkIHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC5tZW1iZXItdGFibGUgdGJvZHkgdHIgdGQuY29sLWpvaW5lZDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogUm93IDM6IExlZnQgPSBSYW5rLCBSaWdodCA9IFBvaW50cyAqL1xuICAgIC5tZW1iZXItdGFibGUgdGJvZHkgdHIgdGQuY29sLWNhcmVlci1yYW5rIHtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtY2FyZWVyLXJhbms6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5tZW1iZXItdGFibGUgdGJvZHkgdHIgdGQuY29sLWNhcmVlci1wb2ludHMge1xuICAgICAgICBvcmRlcjogNjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAubWVtYmVyLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jYXJlZXItcG9pbnRzOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBBY3Rpb25zIChJbXBlcnNvbmF0ZSBmb3IgQWRtaW4pICovXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyB7XG4gICAgICAgIG9yZGVyOiA3O1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICBncmlkLXJvdzogNDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgLm1lbWJlci10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9uczplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogVGVhbSBDYXJkIFJvdyBNYXBwaW5nICg8PSAxMjAwcHgpICovXG4gICAgLnRlYW0tdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgIH1cblxuICAgIC50ZWFtLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rLFxuICAgIC50ZWFtLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jYXB0YWlucyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudGVhbS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLnRlYW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLXRlYW0gLnRlYW0tY2FyZF9fbmFtZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB9XG5cbiAgICAudGVhbS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbSAudGVhbS1jYXJkX19uYW1lOmhvdmVyLFxuICAgIC50ZWFtLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIC50ZWFtLWNhcmRfX25hbWU6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmstaG92ZXIpO1xuICAgIH1cblxuICAgIC50ZWFtLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tZW1iZXJzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIDA7XG4gICAgfVxuXG4gICAgLnRlYW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLW1lbWJlcnM6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50ZWFtLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdGF0dXMge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC50ZWFtLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdGF0dXM6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIFN1Ym1pc3Npb25zIENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgUm93IDE6IFsgYmVuY2htYXJrIChsZWZ0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NvcmUgKHJpZ2h0KSBdXG4gICAgICAgUm93IDI6IFsgaGFyZHdhcmUgKGxlZnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvb2xpbmcgKHJpZ2h0KSBdXG4gICAgICAgUm93IDM6IFsgdXNlciAobGVmdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludHMgKHJpZ2h0KSBdXG4gICAgKi9cbiAgICAuc2VhcmNoLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyLFxuICAgIC50ZWFtLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5zZWFyY2gtc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmssXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRlYW0tc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXJhbmsge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogUm93IDE6IExlZnQgPSBCZW5jaG1hcmssIFJpZ2h0ID0gU2NvcmUgKi9cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuc2VhcmNoLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZW5jaG1hcmssXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRlYW0tc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWJlbmNobWFyayB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnNlYXJjaC1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc2NvcmUsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRlYW0tc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLyogUm93IDI6IExlZnQgPSBIYXJkd2FyZSwgUmlnaHQgPSBDb29saW5nICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnNlYXJjaC1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRlYW0tc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWhhcmR3YXJlIHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBzdHJldGNoO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuc2VhcmNoLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50ZWFtLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb29saW5nIHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAvKiBSb3cgMzogTGVmdCA9IFVzZXIsIFJpZ2h0ID0gUG9pbnRzICovXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnNlYXJjaC1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlcixcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudGVhbS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIG9yZGVyOiA1O1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5zZWFyY2gtc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnRlYW0tc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXdyYXBwZXIgLnNlYXJjaC1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciAudG9kYXktc3VibWlzc2lvbi1jYXJkX19uYW1lLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50ZWFtLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBtYXgtd2lkdGg6IDE2MHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5zZWFyY2gtc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudGVhbS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzIHtcbiAgICAgICAgb3JkZXI6IDY7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC5zZWFyY2gtc3VibWlzc2lvbnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50czplbXB0eSxcbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAudGVhbS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcG9pbnRzOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudG9kYXktc3VibWlzc2lvbnMtd3JhcHBlciAuc2VhcmNoLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcG9pbnRzLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy13cmFwcGVyIC50ZWFtLXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcG9pbnRzIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAvKiBUZWFtIEN1cHMgYW5kIE1lZGFscyBDYXJkIExheW91dCAoPD0gMTIwMHB4KVxuICAgICAgIHwgcmFuayAgIHwgdXNlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAgICAgfCAgICAgICAgfCBnb2xkICAgIHNpbHZlciAgICBicm9uemUgICAgICAgbWVkYWxzIHxcbiAgICAqL1xuICAgIC50ZWFtLWN1cHMtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gcmVwZWF0KDQsIDFmcik7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC50ZWFtLWN1cHMtdGFibGUgdGJvZHkgdHIudGFibGUtZmlyc3QtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG4gICAgfVxuXG4gICAgLnRlYW0tY3Vwcy10YWJsZSB0Ym9keSB0ci50YWJsZS1zZWNvbmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1zZWNvbmQpO1xuICAgIH1cblxuICAgIC50ZWFtLWN1cHMtdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG4gICAgfVxuXG4gICAgLnRlYW0tY3Vwcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudGVhbS1jdXBzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3Jhbmsge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgbWluLXdpZHRoOiAyNHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC50ZWFtLWN1cHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIC0xO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAudGVhbS1jdXBzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX3BhcnRpY2lwYW50IHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC50ZWFtLWN1cHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fbmFtZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC50ZWFtLWN1cHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRyb3BoeSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAudGVhbS1jdXBzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10cm9waHktLWdvbGQge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgfVxuXG4gICAgLnRlYW0tY3Vwcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdHJvcGh5LS1zaWx2ZXIge1xuICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICAgIH1cblxuICAgIC50ZWFtLWN1cHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXRyb3BoeS0tYnJvbnplIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDQ7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudGVhbS1jdXBzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10cm9waHktLW1lZGFscyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiA1O1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAvKiBUZWFtIFBvaW50cyBDb250cmlidXRpb24gQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICB8IHJhbmsgICB8IHVzZXIgICAgICAgICAgICAgICAgICAgfFxuICAgICAgIHwgICAgICAgIHwgcG9pbnRzICAgICAgICAgIGxlYWd1ZSB8XG4gICAgKi9cbiAgICAudGVhbS1wb2ludHMtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyIGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ci50YWJsZS1maXJzdC1wb3Mge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbiAgICB9XG5cbiAgICAudGVhbS1wb2ludHMtdGFibGUgdGJvZHkgdHIudGFibGUtc2Vjb25kLXBvcyB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbiAgICB9XG5cbiAgICAudGVhbS1wb2ludHMtdGFibGUgdGJvZHkgdHIudGFibGUtdGhpcmQtcG9zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG4gICAgfVxuXG4gICAgLnRlYW0tcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yYW5rIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmFuayAudG9kYXktc3VibWlzc2lvbi1jYXJkX19yYW5rIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgICAgIG1pbi13aWR0aDogMjRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAudGVhbS1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIC0xO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAudGVhbS1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLnRlYW0tcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAudGVhbS1wb2ludHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGVhZ3VlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLnRlYW0tcG9pbnRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sZWFndWU6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50ZWFtLXBvaW50cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWV0cmljIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBUZWFtIE1lbWJlcnMgQ2FyZCBMYXlvdXQgKDw9IDEyMDBweClcbiAgICAgICB8IHVzZXIgICAgICAgICAgICAgICAgICAgICAgICAgbGVhZ3VlIHxcbiAgICAgICB8IGpvaW5lZCAgICAgICAgICAgICAgICAgICAgICB2aXNpdGVkIHxcbiAgICAgICB8IGFjdGlvbnMgKGJvdHRvbSByb3cpICAgICAgICAgICAgICAgIHxcbiAgICAqL1xuICAgIC50ZWFtLW1lbWJlcnMtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgfVxuXG4gICAgLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB9XG5cbiAgICAudGVhbS1tZW1iZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sZWFndWUge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGVhZ3VlOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudGVhbS1tZW1iZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yb2xlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudGVhbS1tZW1iZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1qb2luZWQge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgZmxleDogMCAwIGNhbGMoNTAlIC0gKHZhcigtLXNwYWNlLXNtKSAvIDIpKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gKHZhcigtLXNwYWNlLXNtKSAvIDIpKTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAudGVhbS1tZW1iZXJzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1qb2luZWQ6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50ZWFtLW1lbWJlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXZpc2l0IHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4OiAwIDAgY2FsYyg1MCUgLSAodmFyKC0tc3BhY2Utc20pIC8gMikpO1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAodmFyKC0tc3BhY2Utc20pIC8gMikpO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLnRlYW0tbWVtYmVycy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdmlzaXQ6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50ZWFtLW1lbWJlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnMge1xuICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIH1cblxuICAgIC50ZWFtLW1lbWJlcnMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnM6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50ZWFtLW1lbWJlci1kYXRlX19sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG5cbiAgICAvKiBUZWFtIFJlcXVlc3RzIENhcmQgTGF5b3V0ICg8PSAxMjAwcHgpXG4gICAgICAgfCB1c2VyICAgICAgICAgICAgICAgICAgICAgICAgIGxlYWd1ZSB8XG4gICAgICAgfCBqb2luZWQgICAgICAgICAgICAgICAgICAgICAgdmlzaXRlZCB8XG4gICAgICAgfCBhY3Rpb25zIChib3R0b20gcm93KSAgICAgICAgICAgICAgICB8XG4gICAgKi9cbiAgICAudGVhbS1yZXF1ZXN0cy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICB9XG5cbiAgICAudGVhbS1yZXF1ZXN0cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICB9XG5cbiAgICAudGVhbS1yZXF1ZXN0cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGVhZ3VlIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sZWFndWU6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC50ZWFtLXJlcXVlc3RzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudGVhbS1yZXF1ZXN0cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtam9pbmVkIHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGZsZXg6IDAgMCBjYWxjKDUwJSAtICh2YXIoLS1zcGFjZS1zbSkgLyAyKSk7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICh2YXIoLS1zcGFjZS1zbSkgLyAyKSk7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRlYW0tcmVxdWVzdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWpvaW5lZDplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRlYW0tcmVxdWVzdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXZpc2l0IHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4OiAwIDAgY2FsYyg1MCUgLSAodmFyKC0tc3BhY2Utc20pIC8gMikpO1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAodmFyKC0tc3BhY2Utc20pIC8gMikpO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLnRlYW0tcmVxdWVzdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXZpc2l0OmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudGVhbS1yZXF1ZXN0cy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9ucyB7XG4gICAgICAgIG9yZGVyOiA1O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgLnRlYW0tcmVxdWVzdHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbnM6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIEhhcmR3YXJlIENhcmQgUm93IE1hcHBpbmdzICg8PSAxMjAwcHgpICovXG4gICAgLmdwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwsXG4gICAgLmNwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwsXG4gICAgLm1iLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCxcbiAgICAubWVtLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCxcbiAgICAuY29vbGluZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwsXG4gICAgLnBzdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwsXG4gICAgLmRpc2stdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmdwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwgYS5ncHUtY2FyZF9fbmFtZSxcbiAgICAuY3B1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCBhLmNwdS1jYXJkX19uYW1lLFxuICAgIC5tYi10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwgYS5tYi1jYXJkX19uYW1lLFxuICAgIC5tZW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsIGEubWVtLWNhcmRfX25hbWUsXG4gICAgLmNvb2xpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsIGEuY29vbGluZy1jYXJkX19uYW1lLFxuICAgIC5wc3UtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsIGEucHN1LWNhcmRfX25hbWUsXG4gICAgLmRpc2stdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsIGEuZGlzay1jYXJkX19uYW1lLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwgOmlzKC5jcHUtY2FyZF9fbmFtZSwgLmdwdS1jYXJkX19uYW1lLCAubWItY2FyZF9fbmFtZSwgLm1lbS1jYXJkX19uYW1lLCAuZGlzay1jYXJkX19uYW1lLCAucHN1LWNhcmRfX25hbWUsIC5jb29saW5nLWNhcmRfX25hbWUpLFxuICAgIC50b2RheS1zdWJtaXNzaW9ucy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwgOmlzKC5jcHUtY2FyZF9fbmFtZSwgLmdwdS1jYXJkX19uYW1lLCAubWItY2FyZF9fbmFtZSwgLm1lbS1jYXJkX19uYW1lLCAuZGlzay1jYXJkX19uYW1lLCAucHN1LWNhcmRfX25hbWUsIC5jb29saW5nLWNhcmRfX25hbWUpOmlzKDpsaW5rLCA6dmlzaXRlZCkge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgfVxuXG4gICAgLmdwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwgYS5ncHUtY2FyZF9fbmFtZTpob3ZlcixcbiAgICAuZ3B1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCBhLmdwdS1jYXJkX19uYW1lOmFjdGl2ZSxcbiAgICAuY3B1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCBhLmNwdS1jYXJkX19uYW1lOmhvdmVyLFxuICAgIC5jcHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsIGEuY3B1LWNhcmRfX25hbWU6YWN0aXZlLFxuICAgIC5tYi10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwgYS5tYi1jYXJkX19uYW1lOmhvdmVyLFxuICAgIC5tYi10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwgYS5tYi1jYXJkX19uYW1lOmFjdGl2ZSxcbiAgICAubWVtLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCBhLm1lbS1jYXJkX19uYW1lOmhvdmVyLFxuICAgIC5tZW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsIGEubWVtLWNhcmRfX25hbWU6YWN0aXZlLFxuICAgIC5jb29saW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCBhLmNvb2xpbmctY2FyZF9fbmFtZTpob3ZlcixcbiAgICAuY29vbGluZy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwgYS5jb29saW5nLWNhcmRfX25hbWU6YWN0aXZlLFxuICAgIC5wc3UtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsIGEucHN1LWNhcmRfX25hbWU6aG92ZXIsXG4gICAgLnBzdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbW9kZWwgYS5wc3UtY2FyZF9fbmFtZTphY3RpdmUsXG4gICAgLmRpc2stdGFibGUgdGJvZHkgdHIgdGQuY29sLW1vZGVsIGEuZGlzay1jYXJkX19uYW1lOmhvdmVyLFxuICAgIC5kaXNrLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCBhLmRpc2stY2FyZF9fbmFtZTphY3RpdmUsXG4gICAgLnRvZGF5LXN1Ym1pc3Npb25zLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1tb2RlbCA6aXMoLmNwdS1jYXJkX19uYW1lLCAuZ3B1LWNhcmRfX25hbWUsIC5tYi1jYXJkX19uYW1lLCAubWVtLWNhcmRfX25hbWUsIC5kaXNrLWNhcmRfX25hbWUsIC5wc3UtY2FyZF9fbmFtZSwgLmNvb2xpbmctY2FyZF9fbmFtZSk6aXMoOmhvdmVyLCA6YWN0aXZlKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWhvdmVyKTtcbiAgICB9XG5cbiAgICAuZ3B1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzLFxuICAgIC5jcHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnMsXG4gICAgLm1iLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzLFxuICAgIC5tZW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnMsXG4gICAgLmNvb2xpbmctdGFibGUgdGJvZHkgdHIgdGQuY29sLXR5cGUsXG4gICAgLnBzdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VicyxcbiAgICAuZGlzay10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3VicyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgfVxuXG4gICAgLmdwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3ViczplbXB0eSxcbiAgICAuY3B1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzOmVtcHR5LFxuICAgIC5tYi10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtc3ViczplbXB0eSxcbiAgICAubWVtLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zdWJzOmVtcHR5LFxuICAgIC5jb29saW5nLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10eXBlOmVtcHR5LFxuICAgIC5wc3UtdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnM6ZW1wdHksXG4gICAgLmRpc2stdGFibGUgdGJvZHkgdHIgdGQuY29sLXN1YnM6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIEdQVSAqL1xuICAgIC5ncHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNsb2NrIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgIH1cblxuICAgIC5ncHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvcmUge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgIH1cblxuICAgIC5ncHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLW1lbW9yeSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAzO1xuICAgIH1cblxuICAgIC5ncHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNsb2NrOmVtcHR5LFxuICAgIC5ncHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvcmU6ZW1wdHksXG4gICAgLmdwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbWVtb3J5OmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBDUFUgKi9cbiAgICAuY3B1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jbG9jayB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICB9XG5cbiAgICAuY3B1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jb3JlcyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgfVxuXG4gICAgLmNwdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYXJjaCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAzO1xuICAgIH1cblxuICAgIC5jcHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNsb2NrOmVtcHR5LFxuICAgIC5jcHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvcmVzOmVtcHR5LFxuICAgIC5jcHUtdGFibGUgdGJvZHkgdHIgdGQuY29sLWFyY2g6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIE1vdGhlcmJvYXJkICovXG4gICAgLm1iLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1jaGlwc2V0IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgIH1cblxuICAgIC5tYi10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtbGF1bmNoIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICB9XG5cbiAgICAubWItdGFibGUgdGJvZHkgdHIgdGQuY29sLWNoaXBzZXQ6ZW1wdHksXG4gICAgLm1iLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1sYXVuY2g6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIE1lbW9yeSAqL1xuICAgIC5tZW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLWNsb2NrIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgIH1cblxuICAgIC5tZW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLXJlbGVhc2Uge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgIH1cblxuICAgIC5tZW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLWNsb2NrOmVtcHR5LFxuICAgIC5tZW0tdGFibGUgdGJvZHkgdHIgdGQuY29sLXJlbGVhc2U6ZW1wdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8qIFBvd2VyIFN1cHBseSAqL1xuICAgIC5wc3UtdGFibGUgdGJvZHkgdHIgdGQuY29sLXdhdHQge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgfVxuXG4gICAgLnBzdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtcmVsZWFzZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgfVxuXG4gICAgLnBzdS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtd2F0dDplbXB0eSxcbiAgICAucHN1LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yZWxlYXNlOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBEaXNrICovXG4gICAgLmRpc2stdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvbnRyb2xsZXIge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgfVxuXG4gICAgLmRpc2stdGFibGUgdGJvZHkgdHIgdGQuY29sLWNhcGFjaXR5IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgfVxuXG4gICAgLmRpc2stdGFibGUgdGJvZHkgdHIgdGQuY29sLWNvbnRyb2xsZXI6ZW1wdHksXG4gICAgLmRpc2stdGFibGUgdGJvZHkgdHIgdGQuY29sLWNhcGFjaXR5OmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvKiBIYXJkd2FyZSBSZWNvcmRzIFRhYmxlICg8PSAxMjAwcHgpXG4gICAgICAgUm93IDE6IFsgYmVuY2htYXJrIChsZWZ0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NvcmUgKHJpZ2h0KSBdXG4gICAgICAgUm93IDI6IFsgdXNlciAobGVmdCkgICAgICAgICAgZGF0ZSAoY2VudGVyKSAgICAgICAgICBwb2ludHMgKHJpZ2h0KSBdXG4gICAgICAgUm93IDM6IFsgdGVhbS1yZWNvcmQgKGxlZnQgNTAlKSAgICAgICB1c2VyLXJlY29yZCAocmlnaHQgNTAlKSAgICAgICBdXG4gICAgKi9cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgYXV0byBhdXRvIG1pbm1heCgwLCAxZnIpO1xuICAgICAgICByb3ctZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIH1cblxuICAgIC8qIFJvdyAxOiBMZWZ0ID0gQmVuY2htYXJrLCBSaWdodCA9IFNjb3JlICovXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWJlbmNobWFyayB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gNDtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWJlbmNobWFyayAuaHctcmVjb3Jkcy10YWJsZV9fYmVuY2htYXJrIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLWJlbmNobWFyayAudG9kYXktc3VibWlzc2lvbi1jYXJkX19iZW5jaG1hcmstbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX2JlbmNobWFyay1saW5rIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZW5jaG1hcmsgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fdmVyc2lvbiB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiA0O1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGEsXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlIGE6aXMoOmxpbmssIDp2aXNpdGVkKSxcbiAgICAuaHctcmVjb3Jkcy10YWJsZSAuaHctcmVjb3Jkcy10YWJsZV9fY29udGV4dC1zY29yZSxcbiAgICAuaHctcmVjb3Jkcy10YWJsZSAuaHctcmVjb3Jkcy10YWJsZV9fY29udGV4dC1zY29yZTppcyg6bGluaywgOnZpc2l0ZWQpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIH1cblxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSBhOmlzKDpob3ZlciwgOmFjdGl2ZSksXG4gICAgLmh3LXJlY29yZHMtdGFibGUgLmh3LXJlY29yZHMtdGFibGVfX2NvbnRleHQtc2NvcmU6aXMoOmhvdmVyLCA6YWN0aXZlKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWhvdmVyKTtcbiAgICB9XG5cbiAgICAvKiBSb3cgMjogTGVmdCA9IFVzZXIsIENlbnRlciA9IERhdGUsIFJpZ2h0ID0gUG9pbnRzICovXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIgLnRvZGF5LXN1Ym1pc3Npb24tY2FyZF9fcGFydGljaXBhbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyIC50b2RheS1zdWJtaXNzaW9uLWNhcmRfX25hbWUge1xuICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1kYXRlIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyA0O1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50cyB7XG4gICAgICAgIGdyaWQtY29sdW1uOiA0O1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXI6ZW1wdHksXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXBvaW50czplbXB0eSxcbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZGF0ZTplbXB0eSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogUm93IDM6IExlZnQgNTAlID0gVGVhbSBSZWNvcmQsIFJpZ2h0IDUwJSA9IFBlcnNvbmFsIFJlY29yZCAoaGlkZGVuIGlmIG5vIGNvbnRleHQgcmVjb3JkcyBleGlzdCkgKi9cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ci5ody1yZWMtLW5vLWNvbnRleHQgdGQuY29sLXRlYW0tcmVjb3JkLFxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyLmh3LXJlYy0tbm8tY29udGV4dCB0ZC5jb2wtdXNlci1yZWNvcmQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtLXJlY29yZCxcbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlci1yZWNvcmQge1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIH1cblxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtLXJlY29yZCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMztcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UteHMpO1xuICAgIH1cblxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyLXJlY29yZCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAzIC8gNTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS14cyk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIH1cblxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtLXJlY29yZCAuaHctcmVjb3Jkcy10YWJsZV9fY29udGV4dC1ib3gsXG4gICAgLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXItcmVjb3JkIC5ody1yZWNvcmRzLXRhYmxlX19jb250ZXh0LWJveCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtLXJlY29yZCAuaHctcmVjb3Jkcy10YWJsZV9fY29udGV4dC1sYWJlbCxcbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlci1yZWNvcmQgLmh3LXJlY29yZHMtdGFibGVfX2NvbnRleHQtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbS1yZWNvcmQgLmh3LXJlY29yZHMtdGFibGVfX3JhbmstcGlsbCxcbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlci1yZWNvcmQgLmh3LXJlY29yZHMtdGFibGVfX3JhbmstcGlsbCB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC10ZWFtLXJlY29yZCAuaHctcmVjb3Jkcy10YWJsZV9fY29udGV4dC1zY29yZSxcbiAgICAuaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlci1yZWNvcmQgLmh3LXJlY29yZHMtdGFibGVfX2NvbnRleHQtc2NvcmUge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC11c2VyLXJlY29yZCAuaHctcmVjb3Jkcy10YWJsZV9fcG9pbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxufVxuLyogTWVtYmVyIENlbGwgQ29tcG9uZW50cyAqL1xuLm1lbWJlci1jYXJkX191c2VyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLm1lbWJlci1jYXJkX19hdmF0YXIge1xuICAgIHdpZHRoOiB2YXIoLS1zcGFjZS14bCk7XG4gICAgaGVpZ2h0OiB2YXIoLS1zcGFjZS14bCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLm1lbWJlci1jYXJkX19uYW1lIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLm1lbWJlci1jYXJkX19uYW1lOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG59XG5cbi5tZW1iZXItY2FyZF9fdXNlciAuY291bnRyeV9mbGFncyB7XG4gICAgd2lkdGg6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLm1lbWJlci1jYXJkX19yb2xlcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ubWVtYmVyLWNhcmRfX2hlYWRlci1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4ubWVtYmVyLWNhcmRfX2ltcGVyc29uYXRlLWZvcm0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIG1hcmdpbjogMDtcbn1cblxuLm1lbWJlci1jYXJkX19pbXBlcnNvbmF0ZS1idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcGFkZGluZzogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSB2YXIoLS1zcGFjZS1zbSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1lbWJlci1jYXJkX190ZWFtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5tZW1iZXItY2FyZF9fdGVhbSBzcGFuIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4ubWVtYmVyLWNhcmRfX3RlYW06aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbn1cblxuLm1lbWJlci1jYXJkX190ZWFtLWF2YXRhciB7XG4gICAgd2lkdGg6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBoZWlnaHQ6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ubWVtYmVyLWNhcmRfX3RlYW0tLW5vbmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLm1lbWJlci1jYXJkX190ZWFtLS1ub25lIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ubWVtYmVyLWNhcmRfX3N1YnNwZWMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgdmFyKC0tc3BhY2UteHMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xufVxuXG4ubWVtYmVyLWNhcmRfX3N1YnNwZWMgaSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMnhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5tZW1iZXItY2FyZF9fc3RhdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXhzKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1jYXJkKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1lbWJlci1jYXJkX19wb2ludHMtc2NvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5tZW1iZXItY2FyZF9fcG9pbnRzLXNjb3JlIGkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG59XG5cbi5tZW1iZXItY2FyZF9fcG9pbnRzLWxhYmVsIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xufVxuXG4vKiBUZWFtIENlbGwgQ29tcG9uZW50cyAqL1xuLnRlYW0tY2FyZF9faWRlbnRpdHkge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLnRlYW0tY2FyZF9fYXZhdGFyIHtcbiAgICB3aWR0aDogdmFyKC0tc3BhY2UteGwpO1xuICAgIGhlaWdodDogdmFyKC0tc3BhY2UteGwpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtY2lyY2xlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi50ZWFtLWNhcmRfX25hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWQpO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGVhbS1jYXJkX19uYW1lOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG59XG5cbi50ZWFtLWNhcmRfX2lkZW50aXR5IC5jb3VudHJ5X2ZsYWdzIHtcbiAgICB3aWR0aDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGhlaWdodDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udGVhbS1jYXJkX19jYXB0YWlucy1saXN0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnRlYW0tY2FyZF9fY2FwdGFpbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHZhcigtLXNwYWNlLXhzKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1jYXJkKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4udGVhbS1jYXJkX19jYXB0YWluOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLnRlYW0tY2FyZF9fY2FwdGFpbi1hdmF0YXIge1xuICAgIHdpZHRoOiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgaGVpZ2h0OiB2YXIoLS1zcGFjZS1sZyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1jaXJjbGUpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnRlYW0tY2FyZF9fbWVtYmVycy1iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRlYW0tY2FyZF9fbWVtYmVycy1iYWRnZSBpIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xufVxuXG4udGVhbS1jYXJkX19tZW1iZXJzLWxhYmVsIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xufVxuXG4vKiBIYXJkd2FyZSBJdGVtIENvbXBvbmVudHMgKENQVSwgR1BVLCBNb3RoZXJib2FyZCwgTWVtb3J5LCBEaXNrLCBQU1UgJiBDb29saW5nKSAqL1xuXG5cbi5jcHUtY2FyZF9faWRlbnRpdHksXG4uZ3B1LWNhcmRfX2lkZW50aXR5LFxuLm1iLWNhcmRfX2lkZW50aXR5LFxuLm1lbS1jYXJkX19pZGVudGl0eSxcbi5kaXNrLWNhcmRfX2lkZW50aXR5LFxuLnBzdS1jYXJkX19pZGVudGl0eSxcbi5jb29saW5nLWNhcmRfX2lkZW50aXR5IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cblxuLmNwdS1jYXJkX19uYW1lLFxuLmdwdS1jYXJkX19uYW1lLFxuLm1iLWNhcmRfX25hbWUsXG4ubWVtLWNhcmRfX25hbWUsXG4uZGlzay1jYXJkX19uYW1lLFxuLnBzdS1jYXJkX19uYW1lLFxuLmNvb2xpbmctY2FyZF9fbmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5jcHUtY2FyZF9fbmFtZTpob3Zlcixcbi5ncHUtY2FyZF9fbmFtZTpob3Zlcixcbi5tYi1jYXJkX19uYW1lOmhvdmVyLFxuLm1lbS1jYXJkX19uYW1lOmhvdmVyLFxuLmRpc2stY2FyZF9fbmFtZTpob3Zlcixcbi5wc3UtY2FyZF9fbmFtZTpob3Zlcixcbi5jb29saW5nLWNhcmRfX25hbWU6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbn1cblxuLmNwdS1jYXJkX19tYW51ZmFjdHVyZXIsXG4uZ3B1LWNhcmRfX21hbnVmYWN0dXJlcixcbi5jcHUtY2FyZF9fc29ja2V0LFxuLm1iLWNhcmRfX21hbnVmYWN0dXJlcixcbi5tYi1jYXJkX19zb2NrZXQsXG4ubWVtLWNhcmRfX21hbnVmYWN0dXJlcixcbi5tZW0tY2FyZF9fdHlwZSxcbi5kaXNrLWNhcmRfX21hbnVmYWN0dXJlcixcbi5kaXNrLWNhcmRfX3R5cGUsXG4ucHN1LWNhcmRfX21hbnVmYWN0dXJlcixcbi5jb29saW5nLWNhcmRfX21hbnVmYWN0dXJlcixcbi5jb29saW5nLWNhcmRfX3R5cGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMnhzKSB2YXIoLS1zcGFjZS14cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctY2FyZCk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdWJ0bGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5jcHUtY2FyZF9fbWFudWZhY3R1cmVyOmhvdmVyLFxuLmdwdS1jYXJkX19tYW51ZmFjdHVyZXI6aG92ZXIsXG4uY3B1LWNhcmRfX3NvY2tldDpob3Zlcixcbi5tYi1jYXJkX19tYW51ZmFjdHVyZXI6aG92ZXIsXG4ubWItY2FyZF9fc29ja2V0OmhvdmVyLFxuLm1lbS1jYXJkX19tYW51ZmFjdHVyZXI6aG92ZXIsXG4ubWVtLWNhcmRfX3R5cGU6aG92ZXIsXG4uZGlzay1jYXJkX19tYW51ZmFjdHVyZXI6aG92ZXIsXG4uZGlzay1jYXJkX190eXBlOmhvdmVyLFxuLnBzdS1jYXJkX19tYW51ZmFjdHVyZXI6aG92ZXIsXG4uY29vbGluZy1jYXJkX19tYW51ZmFjdHVyZXI6aG92ZXIsXG4uY29vbGluZy1jYXJkX190eXBlOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItc3RhbmRhcmQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyKTtcbn1cblxuLmRpc2stY2FyZF9fcGFydG5lci1sb2dvLFxuLnBzdS1jYXJkX19wYXJ0bmVyLWxvZ28sXG4uY29vbGluZy1jYXJkX19wYXJ0bmVyLWxvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxOHB4O1xufVxuXG4uZGlzay1jYXJkX19wYXJ0bmVyLWxvZ28gaW1nLFxuLnBzdS1jYXJkX19wYXJ0bmVyLWxvZ28gaW1nLFxuLmNvb2xpbmctY2FyZF9fcGFydG5lci1sb2dvIGltZyB7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jcHUtY2FyZF9fc3Vicy1iYWRnZSxcbi5ncHUtY2FyZF9fc3Vicy1iYWRnZSxcbi5tYi1jYXJkX19zdWJzLWJhZGdlLFxuLm1lbS1jYXJkX19zdWJzLWJhZGdlLFxuLmRpc2stY2FyZF9fc3Vicy1iYWRnZSxcbi5wc3UtY2FyZF9fc3Vicy1iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG59XG5cbi5jcHUtY2FyZF9fc3Vicy1iYWRnZSBpLFxuLmdwdS1jYXJkX19zdWJzLWJhZGdlIGksXG4ubWItY2FyZF9fc3Vicy1iYWRnZSBpLFxuLm1lbS1jYXJkX19zdWJzLWJhZGdlIGksXG4uZGlzay1jYXJkX19zdWJzLWJhZGdlIGksXG4ucHN1LWNhcmRfX3N1YnMtYmFkZ2UgaSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbn1cblxuLmNwdS1jYXJkX19zdWJzLWxhYmVsLFxuLmdwdS1jYXJkX19zdWJzLWxhYmVsLFxuLm1iLWNhcmRfX3N1YnMtbGFiZWwsXG4ubWVtLWNhcmRfX3N1YnMtbGFiZWwsXG4uZGlzay1jYXJkX19zdWJzLWxhYmVsLFxuLnBzdS1jYXJkX19zdWJzLWxhYmVsIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xufVxuXG4uY3B1LWNhcmRfX3NwZWMsXG4uZ3B1LWNhcmRfX3NwZWMsXG4ubWItY2FyZF9fc3BlYyxcbi5tZW0tY2FyZF9fc3BlYyxcbi5kaXNrLWNhcmRfX3NwZWMsXG4ucHN1LWNhcmRfX3NwZWMge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIHBhZGRpbmc6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgdmFyKC0tc3BhY2UteHMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xufVxuXG4uY3B1LWNhcmRfX3NwZWMgYSxcbi5ncHUtY2FyZF9fc3BlYyBhLFxuLm1iLWNhcmRfX3NwZWMgYSxcbi5tZW0tY2FyZF9fc3BlYyBhLFxuLmRpc2stY2FyZF9fc3BlYyBhLFxuLnBzdS1jYXJkX19zcGVjIGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uY3B1LWNhcmRfX3NwZWMgYTpob3Zlcixcbi5ncHUtY2FyZF9fc3BlYyBhOmhvdmVyLFxuLm1iLWNhcmRfX3NwZWMgYTpob3Zlcixcbi5tZW0tY2FyZF9fc3BlYyBhOmhvdmVyLFxuLmRpc2stY2FyZF9fc3BlYyBhOmhvdmVyLFxuLnBzdS1jYXJkX19zcGVjIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmNwdS1jYXJkX19zcGVjIGksXG4uZ3B1LWNhcmRfX3NwZWMgaSxcbi5tYi1jYXJkX19zcGVjIGksXG4ubWVtLWNhcmRfX3NwZWMgaSxcbi5kaXNrLWNhcmRfX3NwZWMgaSxcbi5wc3UtY2FyZF9fc3BlYyBpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmNwdS1jYXJkX19zcGVjLXZhbHVlLFxuLmdwdS1jYXJkX19zcGVjLXZhbHVlLFxuLm1iLWNhcmRfX3NwZWMtdmFsdWUsXG4ubWVtLWNhcmRfX3NwZWMtdmFsdWUsXG4uZGlzay1jYXJkX19zcGVjLXZhbHVlLFxuLnBzdS1jYXJkX19zcGVjLXZhbHVlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbn1cblxuLmNwdS1jYXJkX19zcGVjLS1jbG9jayAuY3B1LWNhcmRfX3NwZWMtdmFsdWUsXG4uZ3B1LWNhcmRfX3NwZWMtLWNsb2NrIC5ncHUtY2FyZF9fc3BlYy12YWx1ZSxcbi5tZW0tY2FyZF9fc3BlYy0tY2xvY2sgLm1lbS1jYXJkX19zcGVjLXZhbHVlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbn1cblxuLyogSGFyZHdhcmUgQmVuY2htYXJrIFJlY29yZHMgKi9cbi5ody1yZWNvcmRzLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmh3LXJlY29yZHMtdGFibGUgdGhlYWQgdHIgdGguY29sLWJlbmNobWFyayB7XG4gICAgd2lkdGg6IDIyJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uaHctcmVjb3Jkcy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtc2NvcmUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC11c2VyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uaHctcmVjb3Jkcy10YWJsZSB0aGVhZCB0ciB0aC5jb2wtZGF0ZSxcbi5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1kYXRlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC1wb2ludHMge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC10ZWFtLXJlY29yZCxcbi5ody1yZWNvcmRzLXRhYmxlIHRoZWFkIHRyIHRoLmNvbC11c2VyLXJlY29yZCB7XG4gICAgd2lkdGg6IDE1JTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYmVuY2htYXJrLFxuLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXNjb3JlLFxuLmh3LXJlY29yZHMtdGFibGUgdGJvZHkgdHIgdGQuY29sLXVzZXIsXG4uaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtZGF0ZSxcbi5ody1yZWNvcmRzLXRhYmxlIHRib2R5IHRyIHRkLmNvbC1wb2ludHMsXG4uaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdGVhbS1yZWNvcmQsXG4uaHctcmVjb3Jkcy10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlci1yZWNvcmQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlX19iZW5jaG1hcmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uaHctcmVjb3Jkcy10YWJsZV9fZGF0ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uaHctcmVjb3Jkcy10YWJsZV9fZGF0ZSBpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xufVxuXG4uaHctcmVjb3Jkcy10YWJsZV9fbm8tcmVjb3JkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2UteHMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWNhcmQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmh3LXJlY29yZHMtdGFibGVfX2NvbnRleHQtYm94IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlX19jb250ZXh0LWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbn1cblxuLmh3LXJlY29yZHMtdGFibGVfX3JhbmstcGlsbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlX19jb250ZXh0LXNjb3JlIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlX19jb250ZXh0LXNjb3JlOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG59XG5cbi5ody1yZWNvcmRzLXRhYmxlX19jb250ZXh0LW5vbmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpO1xufVxuXG4vKiBGbGV4IHJvd3MgKi9cbi5mbGV4LXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZsZXgtcm93LS1hY2hpZXZlbWVudC1hY3Rpb24ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uZmxleC1yb3ctLWFkZGl0aW9uYWwtaW1hZ2VzIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5mbGV4LXJvdy0td29ybGQtcmVjb3JkcyB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWFsdCk7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmZsZXgtcm93LS10YWJsZS1jb21wYXJlLWhlYWRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4uc3RpY2t5LXRhYmxlLS1jb21wYXJlIC5yZW1vdmUtYnRuIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItbXV0ZWQsIHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub25lKTtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNlLXhzKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5zdGlja3ktdGFibGUtLWNvbXBhcmUgLnJlbW92ZS1idG46aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG59XG5cbi5jaGFydC13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZW1wdHktbWVzc2FnZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSAwO1xuICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLW11dGVkLCB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbn1cblxuLmZsZXgtcm93LS1uZXdzLWhlYWRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5mbGV4LXJvdy0tbmV3cy1mb290ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGcpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xufVxuXG4uZmxleC1yb3ctLW5ld3MtZm9vdGVyIGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tbmV3czpob3ZlciAuZmxleC1yb3ctLW5ld3MtZm9vdGVyIGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLmZsZXgtcm93LS13YWxsIHtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgMDtcbn1cblxuLmZsZXgtcm93LS13YWxsLXNvY2lhbCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIDA7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uZmxleC1yb3ctLWJhZGdlcyB7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpIDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm1vZGFsLW1lbWJlci1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLWxnKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmxleC1yb3ctLWluZm8ge1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mbGV4LXJvdy1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG5cbi5mbGV4LXJvdy1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uZmxleC1yb3ctaXRlbS0td29ybGQtcmVjb3JkIHtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0bWluLXdpZHRoOiA0MDBweDtcblx0cGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG5cdGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLyogQWxlcnRzIC8gQ2FsbG91dHMgKi9cbi5hbGVydCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKSB2YXIoLS1zcGFjZS1sZyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1kKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9ybWFsKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmFsZXJ0ID4gZGl2IHtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLmFsZXJ0IHAge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmFsZXJ0IGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmZvcm0tcm93ID4gLmFsZXJ0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYWxlcnQgaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vcm1hbCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5hbGVydCBpOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA2IEZyZWVcIiwgXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cblxuLmFsZXJ0LXdhcm5pbmcge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLXRleHQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itd2FybmluZy1ib3JkZXIpO1xufVxuLmFsZXJ0LXdhcm5pbmcgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA3MVwiOyAvKiBmYS10cmlhbmdsZS1leGNsYW1hdGlvbiAqL1xufVxuXG4uYWxlcnQtZGFuZ2VyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItdGV4dCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItYmcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3ItYm9yZGVyKTtcbn1cbi5hbGVydC1kYW5nZXIgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA2YVwiOyAvKiBmYS1jaXJjbGUtZXhjbGFtYXRpb24gKi9cbn1cblxuLmFsZXJ0LWluZm8ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWhvdmVyKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1pbmZvLWJnKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWluZm8tYm9yZGVyKTtcbn1cbi5hbGVydC1pbmZvIGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNWFcIjsgLyogZmEtY2lyY2xlLWluZm8gKi9cbn1cblxuLnNjcmVlbnNob3QtYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2NyZWVuc2hvdC1ib3ggYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uc2NyZWVuc2hvdC1ib3ggaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLnNjcmVlbnNob3QtYm94LS1oaWdobGlnaHQtc3VibWlzc2lvbiBpbWcge1xuICAgIGhlaWdodDogMTAwcHg7XG59XG5cbi5zY3JlZW5zaG90LWJveC0tc3VibWlzc2lvbiBpbWcge1xuICAgIGhlaWdodDogMjUwcHg7XG59XG5cbi5zY3JlZW5zaG90LWJveC0tbmV3cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG59XG5cbi5zY3JlZW5zaG90LWJveC0tbmV3cyBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLyogRWRpdG9yIHRleHQgYWRkZWQgYnkgbW9kZXJhdG9ycyAqL1xuLnJpY2gtdGV4dC1jb250ZW50IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IGgxLFxuLnJpY2gtdGV4dC1jb250ZW50IGgyLFxuLnJpY2gtdGV4dC1jb250ZW50IGgzLFxuLnJpY2gtdGV4dC1jb250ZW50IGg0IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgc3Ryb25nLFxuLnJpY2gtdGV4dC1jb250ZW50IGIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgdWwsXG4ucmljaC10ZXh0LWNvbnRlbnQgb2wge1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4ucmljaC10ZXh0LWNvbnRlbnQgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzVyZW07XG59XG5cbi5yaWNoLXRleHQtY29udGVudCBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1jb2xvci1saW5rLXVuZGVybGluZSk7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAzcHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KSwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluay1ob3Zlcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCBjb2RlLFxuLnJpY2gtdGV4dC1jb250ZW50IHByZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIHBhZGRpbmc6IDAuMnJlbSAwLjRyZW07XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCB0YWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IHRoLFxuLnJpY2gtdGV4dC1jb250ZW50IHRkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLnJpY2gtdGV4dC1jb250ZW50IHRyOmhvdmVyIHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5yaWNoLXRleHQtY29udGVudCBpZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbGcpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8qIFN1Ym1pc3Npb24gY29tbWVudHMgKi9cblxuLmNvbW1lbnRzLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbGcpO1xufVxuXG4uc3VibWl0dGVyLXF1b3RlLWNhcmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aC1sZykgc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy14cyk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1sZyk7XG59XG5cbi5xdW90ZS1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4ucXVvdGUtYXV0aG9yIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnF1b3RlLWF1dGhvcjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5xdW90ZS1hY3Rpb24ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5xdW90ZS1ib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xufVxuXG4ucXVvdGUtaWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4uY29tbWVudHMtdGhyZWFkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UteGwpO1xufVxuXG5cbi5jb21tZW50LWNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLXN1YnRsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbn1cblxuLmNvbW1lbnQtY2FyZF9fYXZhdGFyLWxpbmsge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uY29tbWVudC1jYXJkX19hdmF0YXIge1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5jb21tZW50LWNhcmRfX2JvZHkge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY29tbWVudC1jYXJkX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5jb21tZW50LWNhcmRfX2F1dGhvciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmNvbW1lbnQtY2FyZF9fYXV0aG9yOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmNvbW1lbnQtY2FyZF9fdGltZXN0YW1wIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uY29tbWVudC1jYXJkX190ZXh0IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1oZWFkaW5nKTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4uY29tbWVudC1jYXJkX190ZXh0IGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLW1kKSAwO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4vKiBDb21tZW50IEZvcm0gKi9cbi5jb21tZW50LWZvcm0tYm94IHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1sZyk7XG59XG5cbi5jb21tZW50LWZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLmNvbW1lbnQtZm9ybV9fdGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWRhc2hlZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbSk7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uY29tbWVudC1mb3JtX190ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDIsIDEzMiwgMTk5LCAwLjE1KTtcbn1cblxuLmNvbW1lbnQtZm9ybV9fYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uYnRuLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXdoaXRlKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLWxnKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmJ0bi1wcmltYXJ5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWhvdmVyKTtcbn1cblxuLmNvbW1lbnQtZm9ybV9fbG9naW4tbm90aWNlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmZhaW50IHtcbiAgICBvcGFjaXR5OiAwLjI7XG59XG5cblxuLnJlc2V0LXBhc3N3b3JkIC5jb250ZW50IC5ncmlkIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuLnJlc2V0LXBhc3N3b3JkIC5jb250ZW50IC5ncmlkIGlucHV0W3R5cGU9dGV4dF0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ucmVzZXQtcGFzc3dvcmQgLmNvbnRlbnQgLmdyaWQgLnJvdyB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWRlLWFyZWEgLmNvbnRlbnQgLmdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvO1xuICAgIGdyaWQtZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG59XG5cbi5zaWRlLWFyZWEtcmFua2luZy1ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uc2lkZS1hcmVhLXJhbmtpbmctZ3JpZCA+ICo6bm90KDpsYXN0LWNoaWxkKSxcbi5jYXJkLS1zaWRlYmFyLXJhbmtpbmcgLnNpZGUtYXJlYS0tbGVhZ3VlLXJhbmtpbmctZ3JpZC1yb3c6bm90KDpsYXN0LWNoaWxkKSxcbi5ncmlkLWJveC1jYXJkLS1zaWRlYmFyLXJhbmtpbmcgLnNpZGUtYXJlYS0tbGVhZ3VlLXJhbmtpbmctZ3JpZC1yb3c6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5zaWRlLWFyZWEtLWxlYWd1ZS1yYW5raW5nLWdyaWQtcm93IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tcG9zLW1hcmtlci13aWR0aCkgbWlubWF4KHZhcigtLXJhbmstcG9zLW1pbi13aWR0aCksIGF1dG8pIG1pbm1heCgwLCAxZnIpIGF1dG87XG4gICAgZ3JpZC1nYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnNpZGUtYXJlYS0tbGVhZ3VlLXJhbmtpbmctZ3JpZC1yb3c6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG59XG5cbi5zaWRlLWFyZWEtLWxlYWd1ZS1yYW5raW5nLWdyaWQtcm93IC5wb3MtbWFya2VyIHtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICB3aWR0aDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IHZhcigtLWF2YXRhci1zaXplLXNtKTtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4uc2lkZS1hcmVhLS1sZWFndWUtcmFua2luZy1ncmlkLXJvdyAucG9zIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBtaW4td2lkdGg6IHZhcigtLXJhbmstcG9zLW1pbi13aWR0aCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5zaWRlLWFyZWEtLWxlYWd1ZS1yYW5raW5nLWdyaWQtcm93IC5wb3M6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCIjXCI7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjFlbTtcbiAgICBvcGFjaXR5OiAwLjg1O1xufVxuXG4uc2lkZS1hcmVhLS1sZWFndWUtcmFua2luZy1ncmlkLXJvdyAubmFtZSB7XG4gICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zaWRlLWFyZWEtLWxlYWd1ZS1yYW5raW5nLWdyaWQtcm93IC50YWJsZS1hdmF0YXItd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNpZGUtYXJlYS0tbGVhZ3VlLXJhbmtpbmctZ3JpZC1yb3cgLnRhYmxlLWF2YXRhci13cmFwcGVyIGltZyB7XG4gICAgd2lkdGg6IHZhcigtLWF2YXRhci1zaXplLXNtKTtcbiAgICBoZWlnaHQ6IHZhcigtLWF2YXRhci1zaXplLXNtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5zaWRlLWFyZWEtLWxlYWd1ZS1yYW5raW5nLWdyaWQtcm93IC50YWJsZS1hdmF0YXItd3JhcHBlciAuY291bnRyeV9mbGFncyxcbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC50YWJsZS1hdmF0YXItd3JhcHBlciAuY291bnRyeV9mbGFncyB7XG4gICAgd2lkdGg6IHZhcigtLWF2YXRhci1zaXplLXNtKTtcbiAgICBoZWlnaHQ6IHZhcigtLWF2YXRhci1zaXplLXNtKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLWF2YXRhci1zaXplLXNtKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnNpZGUtYXJlYS0tbGVhZ3VlLXJhbmtpbmctZ3JpZC1yb3cgLnRhYmxlLWF2YXRhci13cmFwcGVyIGEge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xufVxuXG4uc2lkZS1hcmVhLS1sZWFndWUtcmFua2luZy1ncmlkLXJvdyAudGFibGUtYXZhdGFyLXdyYXBwZXIgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5zaWRlLWFyZWEtLWxlYWd1ZS1yYW5raW5nLWdyaWQtcm93IC5wb2ludHMge1xuICAgIGdyaWQtY29sdW1uOiA0O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbn1cblxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKSBtaW5tYXgoMCwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0byBhdXRvIGF1dG87XG4gICAgZ3JpZC1nYXA6IHZhcigtLXNwYWNlLTJ4cykgdmFyKC0tc3BhY2Utc20pO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICBqdXN0aWZ5LWl0ZW1zOiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLmNhcmQtLXNpZGViYXItcmFua2luZyAuc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZDpub3QoOmxhc3QtY2hpbGQpLFxuLmdyaWQtYm94LWNhcmQtLXNpZGViYXItcmFua2luZyAuc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UteHMpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbn1cblxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG59XG5cbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC5wb3MtbWFya2VyIHtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBncmlkLXJvdzogMSAvIC0xO1xuICAgIHdpZHRoOiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKTtcbn1cblxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQgLnBvcyB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC5wb3M6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCIjXCI7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjFlbTtcbiAgICBvcGFjaXR5OiAwLjg1O1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCAubmFtZSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDI7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC50YWJsZS1hdmF0YXItd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNpZGUtYXJlYS13ci1yYW5raW5nLWdyaWQgLnRhYmxlLWF2YXRhci13cmFwcGVyIGltZyB7XG4gICAgd2lkdGg6IHZhcigtLWF2YXRhci1zaXplLXNtKTtcbiAgICBoZWlnaHQ6IHZhcigtLWF2YXRhci1zaXplLXNtKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC5oYXJkd2FyZSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDM7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG59XG5cbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC5oYXJkd2FyZSBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC5oYXJkd2FyZSBhOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5zaWRlLWFyZWEtd3ItcmFua2luZy1ncmlkIC5zY29yZSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbSk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCAuc2NvcmUgYSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uc2lkZS1hcmVhLXdyLXJhbmtpbmctZ3JpZCAuc2NvcmUgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uc2lkZS1hcmVhIC50YWItbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5zaWRlLWFyZWEgLnRhYi1tZW51IC5idXR0b24ge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXhzKSB2YXIoLS1zcGFjZS1zKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnNpZGUtYXJlYSAudGFiLW1lbnUgLmJ1dHRvbi5mb2N1cyxcbi5zaWRlLWFyZWEgLnRhYi1tZW51IC5idXR0b24uYWN0aXZlIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbiNjYXJlZXJyYW5raW5naG9mLFxuI3Jhbmtpbmdob2YsXG4jdGVhbV9yYW5raW5naG9mIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5yZXNldC1wYXNzd29yZCAuY29udGVudCAuZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG87XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgIGdyaWQtZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDMwJTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbWluLXdpZHRoOiAzMjBweDtcbn1cblxuLnJlc2V0LXBhc3N3b3JkIC5jb250ZW50IC5ncmlkIC5hY3Rpb24ge1xuICAgIGp1c3RpZnktc2VsZjogZW5kO1xufVxuXG4vKiBBdXRoIENhcmRzOiBMb2dpbiwgUmVnaXN0ZXIgJiBSZXNldCBQYXNzd29yZCAqL1xuLmdyaWQtYm94LWNhcmQtLWxvZ2luLFxuLmdyaWQtYm94LWNhcmQtLXJlZ2lzdGVyLFxuLmdyaWQtYm94LWNhcmQtLXJlc2V0LXBhc3N3b3JkIHtcbiAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UteGwpIGF1dG87XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tbG9naW4gPiBwLFxuLmdyaWQtYm94LWNhcmQtLXJlZ2lzdGVyID4gcCxcbi5ncmlkLWJveC1jYXJkLS1yZXNldC1wYXNzd29yZCA+IHAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tbG9naW4gPiBwIGEsXG4uZ3JpZC1ib3gtY2FyZC0tcmVnaXN0ZXIgPiBwIGEsXG4uZ3JpZC1ib3gtY2FyZC0tcmVzZXQtcGFzc3dvcmQgPiBwIGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tbG9naW4gZm9ybSxcbi5ncmlkLWJveC1jYXJkLS1yZWdpc3RlciBmb3JtLFxuLmdyaWQtYm94LWNhcmQtLXJlc2V0LXBhc3N3b3JkIGZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLW1kKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tbG9naW4gZm9ybSBidXR0b25bdHlwZT1cInN1Ym1pdFwiXSxcbi5ncmlkLWJveC1jYXJkLS1yZWdpc3RlciBmb3JtIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLFxuLmdyaWQtYm94LWNhcmQtLXJlc2V0LXBhc3N3b3JkIGZvcm0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZ3JpZC1ib3gtY2FyZC0tcmVnaXN0ZXIgLnJlY2FwdGNoYS13cmFwcGVyLFxuLmdyaWQtYm94LWNhcmQtLXJlc2V0LXBhc3N3b3JkIC5yZWNhcHRjaGEtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4uZm9ybS1sYWJlbC1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0taW5wdXQtcGFzc3dvcmQtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZvcm0taW5wdXQtcGFzc3dvcmQtd3JhcHBlciAuZm9ybS1pbnB1dCxcbi5mb3JtLWlucHV0LXBhc3N3b3JkLXdyYXBwZXIgaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDQycHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnBhc3N3b3JkLXRvZ2dsZS1idG4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogOHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucGFzc3dvcmQtdG9nZ2xlLWJ0bjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG59XG5cbi5sb2dpbi1mb290ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG5cbi5mb290ZXIgLmNvbnRlbnQgLmluZm8ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMzIwcHgsIDFmcikpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xufVxuXG4uZm9vdGVyIC5pbmZvIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uZm9vdGVyIC5zeXN0ZW0taW5mbyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xufVxuXG4uZm9vdGVyIC5wYXJ0bmVyLWluZm8ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZvb3RlciAuY29udGVudCAucGFydG5lci1pbmZvIHtcbiAgICBtYXJnaW46IHZhcigtLXNwYWNlLWxnKSAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLWxnKTtcbn1cblxuLmZvb3RlciAuY29udGVudCAucGFydG5lci1pbmZvIC5wYXJ0bmVyLWJveCB7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm1haW4tYXJlYS5ody1kYXRhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbn1cblxuXG4uaGFyZHdhcmUtb3ZlcnZpZXcgLmNvbnRlbnQtdHlwZS0yIC5tYW51ZmFjdHVyZXItZ3JpZCxcbi5tYWluLWFyZWEuaHctZGF0YSAuY29udGVudCAubWFudWZhY3R1cmVyLWdyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLm1haW4tYXJlYS5ody1kYXRhIC5jb250ZW50IC5tYW51ZmFjdHVyZXItZ3JpZCAubWFudWZhY3R1cmVyLWhlYWRsaW5lLWdyaWQtY2VsbCB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm1haW4tYXJlYS5ody1kYXRhIC5jb250ZW50IC5tYW51ZmFjdHVyZXItZ3JpZCAubWFudWZhY3R1cmVyLWhlYWRsaW5lLWdyaWQtY2VsbCBpbWcge1xuICAgIGhlaWdodDogNDBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG5Aa2V5ZnJhbWVzIGxvYWRpbmcge1xuICAgIGZyb20ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgIH1cbn1cblxuLmdvbGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy1maXJzdCk7XG59XG5cbi5zaWx2ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG59XG5cbi5icm9uemUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXBvcy10aGlyZCk7XG59XG5cbi5tZWRhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZvdXItZml2ZSk7XG59XG5cbi5ub21lZGFsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZm91ci1maXZlKTtcbn1cblxuLmdvbGQtdHJvcGh5IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLWZpcnN0KTtcbn1cblxuLnNpbHZlci10cm9waHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3Mtc2Vjb25kKTtcbn1cblxuLmJyb256ZS10cm9waHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wb3MtdGhpcmQpO1xufVxuXG4ubWVkYWwtdHJvcGh5IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcG9zLWZvdXItZml2ZSk7XG59XG5cbi50cm9waHktY291bnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yeHMpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhzKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50cm9waHktY291bnQtLWVtcHR5IHtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG5Aa2V5ZnJhbWVzIHNoaW1tZXIge1xuICAgIDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjAwJSAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwMCUgMDtcbiAgICB9XG59XG5cbi5pcy1sb2FkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmlzLWxvYWRpbmc6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgOTBkZWcsXG4gICAgICAgICAgICByZ2JhKDIzMiwgMjM4LCAyNDEsIDApIDAlLFxuICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpIDUwJSxcbiAgICAgICAgICAgIHJnYmEoMjMyLCAyMzgsIDI0MSwgMCkgMTAwJVxuICAgICk7XG5cbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgMTAwJTtcbiAgICBhbmltYXRpb246IHNoaW1tZXIgMS41cyBpbmZpbml0ZTtcbiAgICB6LWluZGV4OiAyO1xufVxuXG5Aa2V5ZnJhbWVzIHNoaW1tZXIge1xuICAgIDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjAwJSAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwMCUgMDtcbiAgICB9XG59XG5cbi5idXR0b24ge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbGcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5idXR0b24tLWluZm8tcm93IHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLmJ1dHRvbi0tbW9kYWwtaGVhZGVyLWNsb3NlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi5idXR0b24tLW1vZGFsLWhlYWRlci1jbG9zZTpob3ZlciB7XG4gICAgb3BhY2l0eTogMC43O1xufVxuXG4uYnV0dG9uLS1tb2RhbC1oZWFkZXItY2xvc2U6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5idXR0b24tLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLmJ1dHRvbi0tcHJpbWFyeTpob3ZlciB7XG4gICAgb3BhY2l0eTogMC45O1xufVxuXG4uYnV0dG9uLS1pbWFnZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uYnV0dG9uLS1kYW5nZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvci1ib3JkZXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWVycm9yLWJnKTtcbn1cblxuLmJ1dHRvbi0tZGFuZ2VyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uYnV0dG9uLS0xMDAge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uYWN0aXZlLFxuLmJ1dHRvbjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1ob3Zlci1kYXJrKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pO1xuICAgIGJhY2tncm91bmQ6IGxpZ2h0Z3JheTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5mb2N1cyxcbi5idXR0b246Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtd2hpdGUpO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXItZGFyayk7XG59XG5cbi5idXR0b246ZGlzYWJsZWQsXG4uYnV0dG9uLmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uaW5mby1tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1pbmZvLWJnKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi53YXJuLW1lc3NhZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctYmcpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci13YXJuaW5nLWJvcmRlcik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctdGV4dCk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uZXJyb3ItbWVzc2FnZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItZXJyb3IpO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbn1cblxuLmVycm9yLW1lc3NhZ2UgYSxcbi5pbmZvLW1lc3NhZ2UgYSxcbi53YXJuLW1lc3NhZ2UgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4uZm9ybS1pbnB1dCB7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIHZhcigtLXNwYWNlLW1kKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0uZmllbGQtZXJyb3Ige1xuICAgIG91dGxpbmU6IHZhcigtLWJvcmRlci13aWR0aC1tZCkgc29saWQgdmFyKC0tY29sb3ItZXJyb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnLXN1cmZhY2UpO1xufVxuXG4uZmllbGQtZXJyb3Ige1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci1lcnJvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmctc3VyZmFjZSk7XG59XG5cbi8qIEpRdWVyeSBVSSBvdmVyd3JpdGVzIHdpbGwgYmUgcmVtb3ZlZCBhcyBzb29uIGFzIHRoZSBmcmFtZXdvcmsgaXMgbm8gbG9uZ2VyIG5lZWRlZCAqL1xuLnVpLXdpZGdldCB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYmFzZSk7XG59XG5cbi51aS13aWRnZXQtY29udGVudCB7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLnVpLXdpZGdldC1jb250ZW50IGEsXG4udWktd2lkZ2V0LWNvbnRlbnQgYTpsaW5rLFxuLnVpLXdpZGdldC1jb250ZW50IGE6aG92ZXIsXG4udWktd2lkZ2V0LWNvbnRlbnQgYTp2aXNpdGVkLFxuLnVpLXdpZGdldC1jb250ZW50IGE6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLnVpLXdpZGdldC1jb250ZW50IGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udWktc3RhdGUtaG92ZXIsXG4udWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhvdmVyLFxuLnVpLXN0YXRlLWZvY3VzLFxuLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1mb2N1cyxcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1mb2N1cyB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLW1haW4pO1xufVxuXG4udWktc3RhdGUtaG92ZXIsXG4udWktd2lkZ2V0LWNvbnRlbnQgYS51aS1zdGF0ZS1ob3Zlcixcbi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3Zlcixcbi51aS1zdGF0ZS1mb2N1cyxcbi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZm9jdXMsXG4udWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXMge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbn1cblxuLnVpLW1lbnUgLnVpLW1lbnUtaXRlbSBhLnVpLXN0YXRlLWhvdmVyIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5yZXN1bHQtc3RhdHVzLWNvbW1lbnQgLmNvbnRlbnQgLmV2ZW50LWNvbnRhaW5lcixcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZy1jYXJkKTtcbiAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoLWxnKSBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIG1hcmdpbjogdmFyKC0tc3BhY2UteHMpIDA7XG5cbiAgICBtYXgtaGVpZ2h0OiAxNjBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4ucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLFxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogNnB4O1xufVxuXG4ucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLFxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1ob3Zlcik7XG59XG5cbi5yZXN1bHQtc3RhdHVzLWNvbW1lbnQgLmNvbnRlbnQgLmV2ZW50LWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvcmRlci1kYXNoZWQpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMteHMpO1xufVxuXG4ucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyLFxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5yZXN1bHQtc3RhdHVzLWNvbW1lbnQgLmNvbnRlbnQgLmV2ZW50LXRpbWVsaW5lLFxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC10aW1lbGluZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xufVxuXG4ucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC1pdGVtLFxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC1pY29uLFxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC1pY29uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG4ucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC1tZXRhLFxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC1tZXRhIHtcbiAgICBtaW4td2lkdGg6IDIyMHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtdXNlcixcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtdXNlciB7XG4gICAgbWluLXdpZHRoOiAxNDBweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLnJlc3VsdC1zdGF0dXMtY29tbWVudCAuY29udGVudCAuZXZlbnQtZGVzYyxcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtZGVzYyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG59XG5cbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0aGVhZCB0ciB0aC5jb2wtYmVuY2htYXJrLFxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZW5jaG1hcmssXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGhlYWQgdHIgdGguY29sLXNjb3JlLFxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSxcbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtYWN0aW9uIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLm5lc3RlZC1yb3cgdGQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4ucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zZWFyY2gtZ3JvdXAtbW9iaWxlIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc2VhcmNoLWlucHV0LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNDAwcHg7XG59XG5cbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnNlYXJjaC1pbnB1dC13cmFwcGVyIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA5MHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnNlYXJjaC1pbnB1dC13cmFwcGVyIGJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAycHg7XG4gICAgdG9wOiAycHg7XG4gICAgYm90dG9tOiAycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMCB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKSB2YXIoLS1ib3JkZXItcmFkaXVzLXhzKSAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogVGFiIG1lbnUgKi9cbi50YWItbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGdhcDogdmFyKC0tc3BhY2UteHMpO1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi50YWItbWVudS0taGFyZHdhcmUge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLnRhYi1tZW51ID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG59XG5cbi50YWItbWVudSBzZWxlY3Qge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXhzKTtcbn1cblxuLmZpbHRlci50YWItbWVudSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4udGFiLW1lbnUgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWZhc3QpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnRhYi1tZW51IC5idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyLXN0YW5kYXJkKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnRhYi1tZW51IC5idXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbn1cblxuLnRhYi1tZW51IC5idXR0b24uZm9jdXMsXG4udGFiLW1lbnUgLmJ1dHRvbi5hY3RpdmUsXG4udGFiLW1lbnUgLmJ1dHRvbi5mb2N1czpob3Zlcixcbi50YWItbWVudSAuYnV0dG9uLmFjdGl2ZTpob3Zlcixcbi50YWItbWVudSAuYnV0dG9uLmZvY3VzOmZvY3VzLFxuLnRhYi1tZW51IC5idXR0b24uYWN0aXZlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWxpbmspO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnRhYi1tZW51IC5idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWhpZ2hsaWdodCk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cbi50YWItbWVudSAudGFibGUtbmF2aWdhdGlvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS14cyk7XG59XG5cbi5mbGV4LXJvdyA+IC50YWJsZS1uYXZpZ2F0aW9uIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiBTaWRlYmFyICovXG4uc2lkZWJhci10aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGVhZGluZyk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuXG4uc2lkZWJhci10aXRsZS1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uc2lkZWJhci10aXRsZS1saW5rOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnNpZGViYXItZW1wdHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4ud3ItcmFua2luZy1jYXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi53ci1yYW5raW5nLWNhcmQgLndyLXJhbmtpbmctcm93Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xufVxuXG4ud3ItcmFua2luZy1yb3cge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1wb3MtbWFya2VyLXdpZHRoKSBtaW5tYXgoMCwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0byBhdXRvO1xuICAgIGdyaWQtZ2FwOiB2YXIoLS1zcGFjZS0yeHMpIHZhcigtLXNwYWNlLXNtKTtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCkgdmFyKC0tc3BhY2Utc20pIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItc3VidGxlKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG59XG5cbi53ci1yYW5raW5nLXJvdzpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4ud3ItcmFua2luZy1yb3c6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaW52ZXJzZSk7XG59XG5cbi53ci1yYW5raW5nLXJvdy5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWluZm8tYmcpO1xufVxuXG4ucG9zLW1hcmtlciB7XG4gICAgd2lkdGg6IHZhcigtLXBvcy1tYXJrZXItd2lkdGgpO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi53ci1yYW5raW5nLXJvdyAucG9zLW1hcmtlciB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgZ3JpZC1yb3c6IDEgLyAtMTtcbiAgICB3aWR0aDogdmFyKC0tcG9zLW1hcmtlci13aWR0aCk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi5wb3MtbWFya2VyLmdvbGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctc3Rhcik7XG59XG5cbi5wb3MtbWFya2VyLnNpbHZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi5wb3MtbWFya2VyLmJyb256ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7XG59XG5cbi5wb3MtbWFya2VyLm1lZGFsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wb3MtZm91ci1maXZlKTtcbn1cblxuLnBvcy1tYXJrZXIubm9tZWRhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcG9zLWZvdXItZml2ZSk7XG59XG5cbi5yYW5rLXBvcyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi53ci1yYW5raW5nLXJvdyAucmFuay1wb3Mge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLndyLXJhbmtpbmctcm93IC5yYW5rLXBvczo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIiNcIjtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMWVtO1xuICAgIG9wYWNpdHk6IDAuODU7XG59XG5cbi8qIE1haW4gUm93IEluZm8gKi9cbi5yYW5rLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZmxleDogMTtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi53ci1yYW5raW5nLXJvdyAucmFuay1jb250ZW50IHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMjtcbn1cblxuLndyLXJhbmtpbmctcm93IC5yYW5rLXNjb3JlIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMztcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5yYW5rLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMnhzKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xufVxuXG4ucmFuay1sYWJlbCBpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeHMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLnJhbmstdXNlci1saW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4ucmFuay1hdmF0YXIge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLWNpcmNsZSk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5yYW5rLXVzZXJuYW1lIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnJhbmstdXNlcm5hbWU6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ucmFuay1oYXJkd2FyZS1saW5lIHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xufVxuXG4ucmFuay1ody1saW5rIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnJhbmstaHctbGluazpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4ucmFuay1jbG9jayB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnJhbmstc2NvcmUge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5yYW5rLXNjb3JlLWxpbmsge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhlYWRpbmcpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnJhbmstc2NvcmUtbGluazpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4vKiBSZXN1bHQgaGlzdG9yeSAqL1xuLmhpc3RvcnktbWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTJ4cyk7XG59XG5cbi5oaXN0b3J5LW1ldGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xufVxuXG4uaGlzdG9yeS11c2VyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLmhpc3RvcnktZGVzYyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLmhpc3RvcnktaWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yeHMpO1xufVxuXG4vKiBIYXJkd2FyZSB0cmVlICovXG4uaHctdHJlZS1saXN0LCBcbi5ody10cmVlLXN1Ymxpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5ody10cmVlLXN1Ymxpc3Qge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2UtbWQpO1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLmh3LXRyZWUtc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmh3LXRyZWUtc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmh3LXRyZWUtc3VtbWFyeTo6bWFya2VyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ody10cmVlLXN1bW1hcnktY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2Utc20pO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5ody10cmVlLXN1bW1hcnktY29udGVudCAuaHctdHJlZS1saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmbGV4OiAxO1xufVxuXG4uaHctdHJlZS1zdW1tYXJ5LWNvbnRlbnQgLmh3LXRyZWUtbGFiZWwge1xuICAgIGZsZXg6IDE7XG59XG5cbi5ody10cmVlLXN1bW1hcnktY29udGVudDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1NFwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA2IEZyZWVcIiwgXCJGb250QXdlc29tZVwiO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbn1cblxuLmh3LXRyZWUtYnJhbmNoW29wZW5dID4gLmh3LXRyZWUtc3VtbWFyeSAuaHctdHJlZS1zdW1tYXJ5LWNvbnRlbnQ6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uaHctdHJlZS1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS1zbSkgdmFyKC0tc3BhY2UtbWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmh3LXRyZWUtc3VtbWFyeTpub3QoLmlzLWFjdGl2ZSk6aG92ZXIsXG4uaHctdHJlZS1saW5rOm5vdCguaXMtYWN0aXZlKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xufVxuXG4uaHctdHJlZS1zdW1tYXJ5LWNvbnRlbnQgLmh3LXRyZWUtbGluazpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5ody10cmVlLWxpbmsuaXMtYWN0aXZlLFxuLmh3LXRyZWUtc3VtbWFyeS5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnLWhvdmVyLWRhcmspO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmh3LXRyZWUtbGluay5pcy1hY3RpdmU6aXMoOmxpbmssIDp2aXNpdGVkLCA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSksXG4uaHctdHJlZS1zdW1tYXJ5LmlzLWFjdGl2ZSxcbi5ody10cmVlLXN1bW1hcnkuaXMtYWN0aXZlIC5ody10cmVlLWxpbms6aXMoOmxpbmssIDp2aXNpdGVkLCA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSksXG4uaHctdHJlZS1zdW1tYXJ5LmlzLWFjdGl2ZSAuaHctdHJlZS1sYWJlbCxcbi5ody10cmVlLXN1bW1hcnkuaXMtYWN0aXZlIC5ody10cmVlLXN1bW1hcnktY29udGVudDo6YmVmb3JlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIERlc2t0b3Agc2V0dGluZ3MgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDFweCkge1xuXG4gICAgLmhlYWRlciwgLm5hdmlnYXRpb24sIC5mb290ZXIge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgIH1cblxuICAgIGJvZHkub25lLWNvbHVtbiB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0bztcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG8gMWZyIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tbGF5b3V0LW1heC13aWR0aCk7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG5cbiAgICBib2R5LmxlZnQtc2lkZWJhciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KHZhcigtLXNpZGViYXItbWluLXdpZHRoKSwgMWZyKSBtaW5tYXgoMCwgM2ZyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG8gMWZyIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tbGF5b3V0LW1heC13aWR0aCk7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG5cbiAgICBib2R5LnJpZ2h0LXNpZGViYXIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAzZnIpIG1pbm1heCh2YXIoLS1zaWRlYmFyLW1pbi13aWR0aCksIDFmcik7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvIDFmciBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IHZhcigtLWxheW91dC1tYXgtd2lkdGgpO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuXG4gICAgLm5vZGVza3RvcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG5cbiAgICBib2R5LmxlZnQtc2lkZWJhcixcbiAgICBib2R5LnJpZ2h0LXNpZGViYXIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG5cbiAgICAubm9tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyogQ29udGVudCBzZXR0aW5ncyAqL1xuICAgIC5jb250ZW50IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMHB4IG1pbm1heCgwLCAxZnIpIDEwcHg7XG4gICAgfVxuXG5cbiAgICAuc2lkZS1hcmVhIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgei1pbmRleDogdmFyKC0tei1pbmRleC1kcmF3ZXIpO1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tc21vb3RoKTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbiAgICAuc2lkZS1hcmVhLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuXG4gICAgLnNpZGUtYXJlYSAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tc3BhY2UtbGcpIHZhcigtLXNwYWNlLTJ4bCkgdmFyKC0tc3BhY2UtbGcpO1xuICAgIH1cblxuICAgIC5zaWRlLWFyZWEgLmNvbnRlbnQgLmh3LXRyZWUge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA3MHB4KTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG5cbiAgICAuaHctdHJlZS1zdW1tYXJ5LWNvbnRlbnQsXG4gICAgLmh3LXRyZWUtbGluayB7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICB9XG5cbiAgICAuc2lkZWJhci1tb2JpbGUtaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogdmFyKC0tei1pbmRleC1zdGlja3ktaGVhZGVyKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2UteHMpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1hbHQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLW1kKSBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgbWFyZ2luOiAwIC0xNXB4IHZhcigtLXNwYWNlLWxnKSAtMTVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gICAgfVxuXG4gICAgLm1vZGFsLW92ZXJsYXksXG4gICAgLm1vZGFsLW92ZXJsYXktLWZ1bGxzY3JlZW4tbW9iaWxlIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwZHZoO1xuICAgIH1cblxuICAgIC5tb2RhbC1kaWFsb2csXG4gICAgLm1vZGFsLWRpYWxvZy0tZnVsbHNjcmVlbi1tb2JpbGUge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMGR2aDtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwZHZoO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1zbW9vdGgpO1xuICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC5tb2RhbC1vdmVybGF5LmlzLW9wZW4gLm1vZGFsLWRpYWxvZyxcbiAgICAubW9kYWwtb3ZlcmxheS0tZnVsbHNjcmVlbi1tb2JpbGUuaXMtb3BlbiAubW9kYWwtZGlhbG9nLS1mdWxsc2NyZWVuLW1vYmlsZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG5cbiAgICAubW9kYWwtZGlhbG9nX19oZWFkZXIsXG4gICAgLm1vZGFsLWRpYWxvZyAubW9kYWwtaGVhZGVyLFxuICAgIC5tb2RhbC1kaWFsb2ctLWZ1bGxzY3JlZW4tbW9iaWxlIC5tb2RhbC1oZWFkZXIge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmctbWFpbik7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KTtcbiAgICAgICAgcGFkZGluZzogbWF4KDEwcHgsIGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAxMHB4KSkgbWF4KDE1cHgsIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQsIDE1cHgpKSAxMHB4IG1heCgxNXB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQsIDE1cHgpKTtcbiAgICB9XG5cbiAgICAubW9kYWwtZGlhbG9nX19ib2R5LFxuICAgIC5tb2RhbC1kaWFsb2cgLm1vZGFsLWJvZHksXG4gICAgLm1vZGFsLWRpYWxvZy0tZnVsbHNjcmVlbi1tb2JpbGUgLm1vZGFsLWJvZHkge1xuICAgICAgICBmbGV4OiAxIDEgMDtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvci15OiBjb250YWluO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggbWF4KDE1cHgsIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQsIDE1cHgpKSAxNXB4IG1heCgxNXB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQsIDE1cHgpKTtcbiAgICB9XG5cblxuICAgIC5tb2RhbC1kaWFsb2dfX2Zvb3RlcixcbiAgICAubW9kYWwtZGlhbG9nIC5tb2RhbC1mb290ZXIsXG4gICAgLm1vZGFsLWRpYWxvZy0tZnVsbHNjcmVlbi1tb2JpbGUgLm1vZGFsLWZvb3RlciB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1tYWluKTtcbiAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IG1heCgxNXB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0LCAxNXB4KSkgbWF4KDEycHgsIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAxMnB4KSkgbWF4KDE1cHgsIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCwgMTVweCkpO1xuICAgIH1cblxuICAgIC5tb2RhbC1kaWFsb2cgLmZvcm0tbW9kYWwtYWN0aW9ucyxcbiAgICAubW9kYWwtZGlhbG9nLS1mdWxsc2NyZWVuLW1vYmlsZSAuZm9ybS1tb2RhbC1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAubW9kYWwtZGlhbG9nX19mb290ZXIgLmJ1dHRvbixcbiAgICAubW9kYWwtZGlhbG9nIC5tb2RhbC1mb290ZXIgLmJ1dHRvbixcbiAgICAubW9kYWwtZGlhbG9nLS1mdWxsc2NyZWVuLW1vYmlsZSAuZm9ybS1tb2RhbC1hY3Rpb25zIC5idXR0b24ge1xuICAgICAgICBtaW4taGVpZ2h0OiA0NHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIC5tb2RhbC1kaWFsb2csXG4gICAgICAgIC5tb2RhbC1kaWFsb2cubW9kYWwtZGlhbG9nLS1mdWxsc2NyZWVuLW1vYmlsZSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZpbHRlciAucmFua2luZy1maWx0ZXIge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZpbHRlciAucmFua2luZy1maWx0ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudGFiLW1lbnUge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnRhYi1tZW51Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogaGVybyBiYW5uZXIgKi9cbiAgICAuaGVyby1iYW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLWxnKTtcbiAgICB9XG5cbiAgICAvKiBHcmlkIGJveCovXG4gICAgLmdyaWQtYm94LS1zdWJtaXQtaGFyZHdhcmUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG87XG4gICAgfVxuXG4gICAgLyogU3VibWlzc2lvbiAqL1xuICAgIC5zdWJtaXNzaW9uLXNjb3JlLWNhcmQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAuc3VibWlzc2lvbi1zY29yZS1jYXJkIC5zY29yZS1kZXRhaWxzIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgIC5zdWJtaXNzaW9uLXNjb3JlLWNhcmQgLnNjb3JlLWRldGFpbHMtcm93IHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgIC8qIEZsZXggcm93cyAqL1xuICAgIC5mbGV4LXJvdy0taW5mbyxcbiAgICAuZmxleC1yb3ctLWJhZGdlcyB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICAuZmxleC1yb3ctLWluZm8ge1xuICAgICAgICBtYXJnaW46IHZhcigtLXNwYWNlLW1kKSAwO1xuICAgIH1cblxuICAgIC5mbGV4LXJvdy0taW5mbzo6LXdlYmtpdC1zY3JvbGxiYXIsXG4gICAgLmZsZXgtcm93LS1iYWRnZXM6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZmxleC1yb3ctLWluZm8gPiAqLFxuICAgIC5mbGV4LXJvdy0tYmFkZ2VzID4gKiB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC8qIFByb2ZpbGUgYmFubmVyICovXG4gICAgLnByb2ZpbGUtYmFubmVyLXdyYXBwZXIuaGFzLWJhbm5lciAuYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICB9XG5cbiAgICAucHJvZmlsZS1iYW5uZXItd3JhcHBlci5oYXMtYmFubmVyIC5hdmF0YXItd3JhcHBlciB7XG4gICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgbGVmdDogMTJweDtcbiAgICB9XG5cbiAgICAvKiBSZXBvcnRpbmcgKi9cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGFibGUsXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5LFxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1zdXJmYWNlKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtc20pIHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlci1zdGFuZGFyZCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc20pO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLW1kKTtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkgdGQsXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB0ZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ciB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tc3BhY2Utc20pIDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgZGFzaGVkIHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ciB0ZFtkYXRhLWxhYmVsXTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLWxhYmVsKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ci5uZXN0ZWQtcm93IHtcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLXNwYWNlLW1kKSArIDJweCk7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1jYXJkKTtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIubmVzdGVkLXJvdyB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1iZW5jaG1hcmsge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1zY29yZSB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtdXNlciB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgIH1cblxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSB0Ym9keSB0ciB0ZC5jb2wtaGFyZHdhcmUge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIHRib2R5IHRyIHRkLmNvbC1yZWFzb24ge1xuICAgICAgICBvcmRlcjogNTtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgdGJvZHkgdHIgdGQuY29sLWFjdGlvbiB7XG4gICAgICAgIG9yZGVyOiA2O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIC5yZXN1bHQtc3RhdHVzLWNvbW1lbnQgLmNvbnRlbnQgLmV2ZW50LWNvbnRhaW5lcixcbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLXNtKSB2YXIoLS1zcGFjZS1tZCk7XG4gICAgICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgtbWQpIHNvbGlkIHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAucmVzdWx0LXN0YXR1cy1jb21tZW50IC5jb250ZW50IC5ldmVudC1pdGVtLFxuICAgIC5yZXBvcnRpbmctb3ZlcnZpZXcgLmNvbnRlbnQgLnN0aWNreS10YWJsZSAuZXZlbnQtaXRlbSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLTJ4cyk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdmFyKC0tY29sb3ItYmctaG92ZXItZGFyayk7XG4gICAgfVxuXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zdGlja3ktdGFibGUgLmV2ZW50LW1ldGEsXG4gICAgLnJlcG9ydGluZy1vdmVydmlldyAuY29udGVudCAuc3RpY2t5LXRhYmxlIC5ldmVudC11c2VyIHtcbiAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICB9XG5cbiAgICAucmVwb3J0aW5nLW92ZXJ2aWV3IC5jb250ZW50IC5zZWFyY2gtaW5wdXQtd3JhcHBlciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cblxuICAgIC5mb3JtLWZpbHRlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLmZvcm0tZmlsdGVyID4gKiB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBzY3JvbGwtc25hcC1hbGlnbjogbm9uZTtcbiAgICB9XG5cbiAgICAubW9kYWwtYm9keSAuZm9ybS1maWx0ZXIge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG92ZXJmbG93LXg6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLm1vZGFsLWJvZHkgLmZvcm0tZmlsdGVyID4gKiB7XG4gICAgICAgIHNjcm9sbC1zbmFwLWFsaWduOiBub25lO1xuICAgIH1cblxuICAgIC5tb2RhbC1ib2R5ICNyYW5raW5nX2ZpbHRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogdmFyKC0tc3BhY2UtbWQpIHZhcigtLXNwYWNlLWxnKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuZmlsdGVyLWNoaXBzLWJhciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICAgICAgZ2FwOiB2YXIoLS1zcGFjZS14cyk7XG4gICAgfVxuXG4gICAgLmZpbHRlci1jaGlwcy1iYXIgPiAqIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLmZpbHRlci1jaGlwcy1saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IHZhcigtLXNwYWNlLXhzKTtcbiAgICB9XG5cbiAgICAuZmlsdGVyLWNoaXBzLWxpc3QgPiAqIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQU1BLENBQUM7QUFDRyxXQUFTO0FBQ1QsZUFBYTtBQUNiLG1CQUFpQjtBQUNqQixhQUFXO0FBQ1gsVUFBUTtBQUNSLFdBQVMsRUFBRSxJQUFJO0FBQ2YsaUJBQWUsSUFBSTtBQUNuQixlQUFhLElBQUk7QUFDakIsb0JBQWtCLElBQUk7QUFDdEIsU0FBTyxJQUFJO0FBQ1gsY0FBWTtBQUNoQjtBQUVBLENBQUMsT0FBTyxDQWRQO0FBZUcsZUFBYSxLQUFLLEdBQUcsRUFBRSxJQUFJO0FBQy9CO0FBRUEsQ0FBQyxnQkFBZ0IsQ0FsQmhCO0FBbUJHLG9CQUFrQixJQUFJO0FBQ3RCLFNBQU8sSUFBSTtBQUNmO0FBR0EsQ0FBQztBQUNHLFdBQVM7QUFDVCxlQUFhO0FBQ2IsT0FBSyxJQUFJO0FBQ1QsV0FBUyxJQUFJLG1CQUFtQixJQUFJO0FBQ3BDLGlCQUFlLElBQUk7QUFDbkIsYUFBVyxJQUFJO0FBQ2YsZUFBYSxJQUFJO0FBQ2pCLGtCQUFnQjtBQUNoQixrQkFBZ0I7QUFDaEIsZUFBYSxJQUFJO0FBQ2pCLFVBQVEsSUFBSSxtQkFBbUIsTUFBTTtBQUN6QztBQUVBLENBQUM7QUFDRyxjQUFZLElBQUk7QUFDaEIsZ0JBQWMsSUFBSTtBQUNsQixTQUFPLElBQUk7QUFDZjtBQUVBLENBQUM7QUFDRyxjQUFZLElBQUk7QUFDaEIsZ0JBQWMsSUFBSTtBQUNsQixTQUFPLElBQUk7QUFDZjtBQUVBLENBQUM7QUFDRyxjQUFZLElBQUk7QUFDaEIsZ0JBQWMsSUFBSTtBQUNsQixTQUFPLElBQUk7QUFDZjtBQUVBLENBQUM7QUFDRCxDQUFDO0FBQ0csY0FBWSxJQUFJO0FBQ2hCLGdCQUFjLElBQUk7QUFDbEIsU0FBTyxJQUFJO0FBQ2Y7QUFFQSxDQUFDO0FBQ0csY0FBWSxJQUFJO0FBQ2hCLGdCQUFjLElB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 */
