/** Shopify CDN: Minification failed

Line 26:0 "@charset" must be the first rule in the file
Line 3560:37 Unexpected "{"

**/
/* roboto font */
@font-face {
  font-family: "Roboto";
  src: url("/cdn/shop/files/Roboto-Light.ttf?v=1777483292")
    format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'TT Commons Pro';
  src: url('/cdn/shop/files/Fontspring-DEMO-tt_commons_pro_regular.otf?v=1778250886') format('opentype');
  font-weight: 400;
  font-style: normal;
}



@charset "UTF-8";

/*!
  Impulse, by Archetype Themes
  http://archetypethemes.co
*/

@media only screen and (min-width: 769px) {
  :root {
    --grid-gutter: 22px;
    --drawer-gutter: 30px;
  }
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes preloading {
  0% {
    opacity: 0;
    transform: scaleX(0);
    transform-origin: 0% 50%;
  }
  40% {
    opacity: 1;
    transform: scaleX(1);
    transform-origin: 0% 50%;
  }
  41% {
    opacity: 1;
    transform: scaleX(1);
    transform-origin: 100% 50%;
  }
  to {
    opacity: 1;
    transform: scaleX(0);
    transform-origin: 100% 50%;
  }
}

@keyframes slideshowBars {
  0% {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}

@keyframes grid-product__loading {
  0% {
    opacity: 1;
  }
  60% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes shine {
  to {
    left: -200%;
  }
}

@keyframes overlay-on {
  0% {
    opacity: 0;
  }
  to {
    opacity: 0.6;
  }
}

@keyframes overlay-off {
  0% {
    opacity: 0.6;
  }
  to {
    opacity: 0;
  }
}

@keyframes full-overlay-on {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes full-overlay-off {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes modal-open {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes modal-closing {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(0.9);
  }
}

@keyframes rise-up {
  0% {
    opacity: 1;
    transform: translateY(120%);
  }
  to {
    opacity: 1;
    transform: translateY(0%);
  }
}

@keyframes rise-up-out {
  0% {
    opacity: 1;
    transform: translateY(0%);
  }
  to {
    opacity: 1;
    transform: translateY(-120%);
  }
}

@keyframes fade-in {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fade-out {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes zoom-fade {
  0% {
    opacity: 0;
    transform: scale(1.3);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes placeholder-shimmer {
  0% {
    background-position: -150% 0;
  }
  to {
    background-position: 150% 0;
  }
}
/* Style Guide */
.big-heading {
  font-size: 81px;
  font-weight: 700;
  line-height: 75px;
  letter-spacing: 0;
  color: #004976;
}
.heading-1 {
  font-size: 48px;
  font-weight: 700;
  line-height: 48px;
  letter-spacing: 0;
  color: #004976;
}
.heading-2 {
  font-size: 36px;
  font-weight: 700;
  line-height: 36px;
  letter-spacing: -0.03em;
  color: #004976;
}
.heading-3 {
  font-size: 28px;
  font-weight: 400;
  line-height: 36px;
  letter-spacing: -0.03em;
  color: #004976;
}
.heading-4 {
  font-size: 20px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: 0;
  color: #004976;
}
.heading-5 {
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.15em;
  color: #004976;
}
.heading-6 {
  font-size: 16px;
  font-weight: 700;
  line-height: 18px;
  letter-spacing: 0;
  color: #004976;
}
.paragraph-1 {
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: -0.02em !important;
  color: #004976;
}

@media (max-width: 768px) {
  .paragraph-1 {
  letter-spacing: 0;
}
}


.custom-btn {
  font-family: 'Helvetica Neue';
  padding: 4px 9px;
  border-radius: var(--buttonRadius);
  background-color: #78bdd4;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0;
  color: #004976;
  text-decoration: none;
}
.custom-btn:hover {
  background-color: #005B93;
  color: #FFFFFF;
}
@media only screen and (max-width: 768px) {
  .big-heading {
    font-size: 48px;
    line-height: 48px;
    letter-spacing: -0.02em;
  }
  .heading-1 {
    font-size: 28px;
    line-height: 28px;
    letter-spacing: -0.01em;
  }
  .heading-2 {
    font-size: 28px;
    line-height: 32px;
    letter-spacing: -0.02em;
  }
  .heading-3 {
    font-size: 24px;
    line-height: 28px;
    letter-spacing: -0.02em;
  }
  .heading-4 {
    font-size: 18px;
    line-height: 24px;
  }
  .heading-5 {
    letter-spacing: 0.1em;
  }
  .heading-6 {
    line-height: 20px;
  }
  .custom-btn {
    font-size: 14px;
  }
}

/* End Style Guide */
.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus {
  outline: none;
}

.flickity-viewport {
  height: 100%;
  overflow: hidden;
  position: relative;
  transition: height 0.35s;
}

.flickity-slider {
  height: 100%;
  position: absolute;
  width: 100%;
}

.flickity-enabled.is-draggable {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: grabbing;
}

.flickity-button {
  background: var(--colorBtnPrimary);
  border: none;
  border-radius: 50%;
  color: var(--colorBtnPrimaryText);
  position: absolute;
}

.hero .flickity-button {
  background-color: var(--colorBody);
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
  color: var(--colorTextBody);
}

.flickity-button:hover {
  cursor: pointer;
  opacity: 1;
}

.flickity-button:disabled {
  cursor: auto;
  display: none;
  pointer-events: none;
}

.flickity-prev-next-button {
  height: 40px;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
}

@media only screen and (max-width: 768px) {
  .flickity-prev-next-button {
    height: 33px;
    width: 33px;
  }
}

.flickity-prev-next-button:hover {
  transform: translateY(-50%) scale(1.12);
}

.flickity-prev-next-button:active {
  transform: translateY(-50%) scale(1);
  transition: transform 0.05s ease-out;
}

.flickity-previous {
  left: 10px;
}

.flickity-next {
  right: 10px;
}

.flickity-rtl .flickity-previous {
  left: auto;
  right: 10px;
}

.flickity-rtl .flickity-next {
  left: 10px;
  right: auto;
}

.flickity-button-icon {
  fill: currentColor;
  height: 30%;
  left: 35%;
  position: absolute;
  top: 35%;
  width: 30%;
}

.flickity-page-dots {
  bottom: -25px;
  color: currentColor;
  line-height: 1;
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  text-align: center;
  width: 100%;
}

.hero .flickity-page-dots {
  bottom: 20px;
  color: #fff;
}

.flickity-rtl .flickity-page-dots {
  direction: rtl;
}

.flickity-page-dots .dot {
  background-color: currentColor;
  border-radius: 100%;
  cursor: pointer;
  display: inline-block;
  height: 6px;
  margin: 0 5px;
  opacity: 0.4;
  vertical-align: middle;
  width: 6px;
}

.flickity-page-dots .dot:hover {
  opacity: 0.6;
}

.flickity-page-dots .dot.is-selected {
  background-color: currentColor;
  height: 9px;
  opacity: 1;
  width: 9px;
}

.flickity-enabled.is-fade .flickity-slider > * {
  pointer-events: none;
  z-index: 0;
}

.flickity-enabled.is-fade .flickity-slider > .is-selected {
  pointer-events: auto;
  z-index: 1;
}

.hero[data-arrows="true"] {
  overflow: visible;
  z-index: 5;
}

.hero[data-arrows="true"] .flickity-prev-next-button {
  bottom: -20px;
  top: auto;
  transform: none;
}

.hero[data-arrows="true"] .flickity-prev-next-button:hover {
  transform: scale(1.12);
}

.hero[data-arrows="true"] .flickity-prev-next-button:active {
  transform: scale(1);
}

.hero[data-arrows="true"] .flickity-previous {
  left: auto;
  right: 90px;
}

.hero[data-arrows="true"] .flickity-next {
  right: 40px;
}

.hero.flickity-rtl[data-arrows="true"] .flickity-previous {
  left: 90px;
  right: auto;
}

.hero.flickity-rtl[data-arrows="true"] .flickity-next {
  left: 40px;
  right: auto;
}

@media only screen and (max-width: 768px) {
  .hero[data-arrows="true"] .flickity-prev-next-button {
    bottom: -16px;
  }
  .hero[data-arrows="true"] .flickity-previous {
    right: 60px;
  }
  .hero[data-arrows="true"] .flickity-next {
    right: 20px;
  }
  .hero.flickity-rtl[data-arrows="true"] .flickity-previous {
    left: 60px;
  }
  .hero.flickity-rtl[data-arrows="true"] .flickity-next {
    left: 20px;
  }
}

.hero[data-bars="true"] .flickity-page-dots {
  bottom: 0;
  height: 6px;
  line-height: 6px;
  z-index: 6;
}

[data-bars="true"] .flickity-page-dots .dot {
  background: none;
  border: 0;
  border-radius: 0;
  height: 6px;
  opacity: 1;
  overflow: hidden;
  position: relative;
  vertical-align: top;
  width: 120px;
}

@media only screen and (max-width: 768px) {
  [data-bars="true"] .flickity-page-dots .dot {
    width: 45px;
  }
}

[data-bars="true"] .flickity-page-dots .dot:after,
[data-bars="true"] .flickity-page-dots .dot:before {
  background-color: currentColor;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  width: 100%;
}

[data-bars="true"] .flickity-page-dots .dot:before {
  opacity: 0.4;
}

[data-bars="true"] .flickity-page-dots .dot:hover:before {
  opacity: 0.6;
}

[data-bars="true"] .flickity-page-dots .dot:after {
  transform: translateX(-100%);
  transition: none;
}

[data-bars="true"] .flickity-page-dots .dot.is-selected:after {
  animation: slideshowBars 0s linear forwards;
}

.noUi-target,
.noUi-target * {
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  box-sizing: border-box;
  touch-action: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.noUi-target {
  position: relative;
}

.noUi-base,
.noUi-connects {
  height: 100%;
  position: relative;
  width: 100%;
  z-index: 1;
}

.noUi-connects {
  overflow: hidden;
  z-index: 0;
}

.noUi-connect,
.noUi-origin {
  position: absolute;
  right: 0;
  top: 0;
  transform-origin: 0 0;
  transform-style: flat;
  will-change: transform;
  z-index: 1;
}

.noUi-connect {
  height: 100%;
  width: 100%;
}

.noUi-origin {
  height: 10%;
  width: 10%;
}

.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin {
  left: 0;
  right: auto;
}

.noUi-vertical .noUi-origin {
  width: 0;
}

.noUi-horizontal .noUi-origin {
  height: 0;
}

.noUi-handle {
  backface-visibility: hidden;
  position: absolute;
}

.noUi-touch-area {
  height: 100%;
  width: 100%;
}

.noUi-state-tap .noUi-connect,
.noUi-state-tap .noUi-origin {
  transition: transform 0.3s;
}

.noUi-state-drag * {
  cursor: inherit !important;
}

.noUi-horizontal {
  height: 18px;
}

.noUi-horizontal .noUi-handle {
  height: 28px;
  right: -17px;
  top: -6px;
  width: 34px;
}

.noUi-vertical {
  width: 18px;
}

.noUi-vertical .noUi-handle {
  height: 34px;
  right: -6px;
  top: -17px;
  width: 28px;
}

.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle {
  left: -17px;
  right: auto;
}

.noUi-target {
  background: #fafafa;
  border: 1px solid #d3d3d3;
  border-radius: 4px;
  box-shadow:
    inset 0 1px 1px #f0f0f0,
    0 3px 6px -5px #bbb;
}

.noUi-connects {
  border-radius: 3px;
}

.noUi-connect {
  background: #3fb8af;
}

.noUi-draggable {
  cursor: ew-resize;
}

.noUi-vertical .noUi-draggable {
  cursor: ns-resize;
}

.noUi-handle {
  background: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 3px;
  box-shadow:
    inset 0 0 1px #fff,
    inset 0 1px 7px #ebebeb,
    0 3px 6px -3px #bbb;
  cursor: default;
}

.noUi-active {
  box-shadow:
    inset 0 0 1px #fff,
    inset 0 1px 7px #ddd,
    0 3px 6px -3px #bbb;
}

.noUi-handle:after,
.noUi-handle:before {
  background: #e8e7e6;
  content: "";
  display: block;
  height: 14px;
  left: 14px;
  position: absolute;
  top: 6px;
  width: 1px;
}

.noUi-handle:after {
  left: 17px;
}

.noUi-vertical .noUi-handle:after,
.noUi-vertical .noUi-handle:before {
  height: 1px;
  left: 6px;
  top: 14px;
  width: 14px;
}

.noUi-vertical .noUi-handle:after {
  top: 17px;
}

[disabled] .noUi-connect {
  background: #b8b8b8;
}

[disabled] .noUi-handle,
[disabled].noUi-handle,
[disabled].noUi-target {
  cursor: not-allowed;
}

.noUi-pips,
.noUi-pips * {
  box-sizing: border-box;
}

.noUi-pips {
  color: #999;
  position: absolute;
}

.noUi-value {
  position: absolute;
  text-align: center;
  white-space: nowrap;
}

.noUi-value-sub {
  color: #ccc;
  font-size: 10px;
}

.noUi-marker {
  background: #ccc;
  position: absolute;
}

.noUi-marker-sub {
  background: #aaa;
}

.noUi-marker-large {
  background: #aaa;
}

.noUi-pips-horizontal {
  height: 80px;
  left: 0;
  padding: 10px 0;
  top: 100%;
  width: 100%;
}

.noUi-value-horizontal {
  transform: translate(-50%, 50%);
}

.noUi-rtl .noUi-value-horizontal {
  transform: translate(50%, 50%);
}

.noUi-marker-horizontal.noUi-marker {
  height: 5px;
  margin-left: -1px;
  width: 2px;
}

.noUi-marker-horizontal.noUi-marker-sub {
  height: 10px;
}

.noUi-marker-horizontal.noUi-marker-large {
  height: 15px;
}

.noUi-pips-vertical {
  height: 100%;
  left: 100%;
  padding: 0 10px;
  top: 0;
}

.noUi-value-vertical {
  padding-left: 25px;
  transform: translateY(-50%);
}

.noUi-rtl .noUi-value-vertical {
  transform: translateY(50%);
}

.noUi-marker-vertical.noUi-marker {
  height: 2px;
  margin-top: -1px;
  width: 5px;
}

.noUi-marker-vertical.noUi-marker-sub {
  width: 10px;
}

.noUi-marker-vertical.noUi-marker-large {
  width: 15px;
}

.noUi-tooltip {
  background: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 3px;
  color: #000;
  display: block;
  padding: 5px;
  position: absolute;
  text-align: center;
  white-space: nowrap;
}

.noUi-horizontal .noUi-tooltip {
  bottom: 120%;
  left: 50%;
  transform: translate(-50%);
}

.noUi-vertical .noUi-tooltip {
  right: 120%;
  top: 50%;
  transform: translateY(-50%);
}

.noUi-horizontal .noUi-origin > .noUi-tooltip {
  bottom: 10px;
  left: auto;
  transform: translate(50%);
}

.noUi-vertical .noUi-origin > .noUi-tooltip {
  right: 28px;
  top: auto;
  transform: translateY(-18px);
}

tool-tip {
  display: none;
}

tool-tip[data-tool-tip-open="true"] {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10001;
}

tool-tip[data-tool-tip-open="true"]:before {
  animation: overlay-on 0.3s forwards;
  background-color: #e0e0e0;
  background-color: var(--colorModalBg);
  content: "";
  cursor: pointer;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
}

.tool-tip__inner {
  animation: modal-close 0.3s forwards;
  opacity: 0;
}

tool-tip[data-tool-tip-open="true"] .tool-tip__inner {
  animation: modal-open 0.3s forwards;
  background: var(--colorBody);
  box-shadow: 0 10px 20px #00000017;
  display: block;
  max-width: 720px;
  min-height: 250px;
  min-width: 250px;
  padding: 30px;
  position: fixed;
}

@media only screen and (max-width: 768px) {
  tool-tip[data-tool-tip-open="true"] .tool-tip__inner {
    max-width: 93%;
    width: 100%;
  }
}

.tool-tip__content {
  max-height: 80vh;
  overflow: auto;
}

@media only screen and (max-width: 768px) {
  .tool-tip__content {
    font-size: 0.85em;
  }
}

.tool-tip__close {
  position: absolute;
  right: 0;
  top: 0;
}

.tool-tip__close .icon {
  height: 28px;
  width: 28px;
}

.tool-tip-trigger {
  background: none;
  border: 0;
  cursor: pointer;
}

.tool-tip-trigger .icon {
  height: 28px;
  width: 28px;
}

.tool-tip-trigger__title {
  display: inline-block;
}

.tool-tip-trigger__title:focus,
.tool-tip-trigger__title:hover {
  -webkit-text-decoration: underline;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.tool-tip-trigger__content {
  display: none !important;
}

.size-chart__standalone {
  margin: var(--sizeChartMargin);
}

.size-chart__standalone svg {
  margin-left: var(--sizeChartIconMargin);
}

.text-with-icons__blocks {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-left: -30px;
  margin-right: -30px;
}

@media only screen and (max-width: 768px) {
  .text-with-icons__blocks {
    flex-direction: column;
    margin: 0;
  }
}

.has-1-per-row .text-with-icons__block {
  width: 100%;
}

.has-2-per-row .text-with-icons__block {
  width: 50%;
}

.has-3-per-row .text-with-icons__block {
  width: 33.333%;
}

.has-4-per-row .text-with-icons__block {
  width: 25%;
}

.has-5-per-row .text-with-icons__block {
  width: 20%;
}

.text-with-icons__blocks .text-with-icons__block {
  display: flex;
  flex: none;
  flex-direction: column;
  padding: 30px;
}

@media only screen and (max-width: 768px) {
  .text-with-icons__blocks .text-with-icons__block {
    padding: 0 0 60px;
    width: 100%;
  }
}

.text-with-icons__block-icon {
  display: block;
  margin-bottom: 10px;
}

.text-with-icons__block-icon .icon {
  height: 70px;
  width: 70px;
}

@media only screen and (max-width: 768px) {
  .text-with-icons__block-icon .icon {
    height: 60px;
    width: 60px;
  }
}

.text-with-icons__button {
  display: flex;
  justify-content: center;
}

newsletter-reminder {
  bottom: 20px;
  box-shadow: 0 12px 25px rgba(0, 0, 0, 0.15);
  left: 20px;
  max-width: 240px;
  position: fixed;
  transition: opacity 0.3s ease-in-out;
  z-index: 10;
}

@media only screen and (max-width: 768px) {
  newsletter-reminder {
    max-width: calc(100% - 40px);
  }
}

newsletter-reminder[data-enabled="false"] {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

newsletter-reminder[class*="color-scheme-"]:not(.color-scheme-none) {
  position: fixed;
}

newsletter-reminder .color-scheme-none {
  background-color: var(--colorBtnPrimary);
  color: var(--colorBtnPrimaryText);
}

.newsletter-reminder__message.h3 {
  cursor: pointer;
  margin: 0;
  padding: var(--newsletterReminderPadding);
}

.parallax-image {
  height: 100%;
  overflow: hidden;
  transition: transform 0.05s linear;
}

.countdown-wrapper {
  position: relative;
}

.countdown__background-image-wrapper {
  height: 100%;
  position: absolute;
  width: 100%;
}

.countdown__background-image {
  height: 100%;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
}

.countdown__mobile-image-wrapper {
  height: 100%;
  position: absolute;
  width: 100%;
}

.countdown__mobile-image {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.countdown-layout--banner .countdown__content {
  padding: 2rem;
}

@media only screen and (min-width: 769px) {
  .countdown-layout--banner .countdown__content {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 1rem;
    justify-content: space-around;
    padding: 1.6rem 2rem;
  }
}

.countdown-layout--banner.countdown-blocks--2.page-width .countdown__content {
  justify-content: space-around;
}

.countdown-layout--banner.countdown-blocks--2 .countdown__content {
  justify-content: center;
}

@media only screen and (min-width: 769px) {
  .countdown-layout--banner .countdown__block {
    width: 33%;
  }
}

.countdown__content {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: auto;
  justify-content: center;
  max-height: 650px;
  padding: 5rem 2rem;
  text-align: center;
  width: 100%;
}

.page-width .countdown__content {
  position: relative;
}

@media only screen and (min-width: 769px) {
  .countdown-layout--hero .countdown__content {
    height: 100vh;
  }
}

.countdown__block {
  margin: 1rem auto;
  width: 100%;
  z-index: 3;
}

.countdown__block--content {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.countdown__block--content .countdown__block--button {
  margin: 0;
  width: 100%;
}

@media only screen and (min-width: 769px) {
  .countdown-blocks--2.countdown-layout--banner .countdown__block--content,
  .countdown-blocks--2.countdown-layout--banner .countdown__block--timer {
    width: 50%;
  }
}

@media only screen and (min-width: 769px) {
  .countdown-blocks--2.countdown-layout--banner
    .countdown__block--button.button-block-active {
    width: 50%;
  }
}

.countdown__text-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media only screen and (min-width: 769px) {
  .countdown-layout--hero .countdown__text-wrapper {
    width: 50%;
  }
}

.countdown__text-wrapper--content-alignment-left {
  text-align: left;
}

.countdown__text-wrapper--content-alignment-right {
  text-align: right;
}

.countdown__display {
  display: flex;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
}

.countdown__display--loaded {
  opacity: 1;
  transition: opacity 0.3s ease-in;
  visibility: visible;
}

.countdown__display--visible + .countdown__timer-message--visible {
  margin-top: 1.5rem;
}

.countdown__display--hidden {
  height: 0;
  margin: 0;
  opacity: 0;
  transition: opacity 3s ease-out;
  visibility: hidden;
  width: 0;
}

.countdown__display-block {
  align-content: center;
  border-right: 1px solid;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  padding: 0 1rem;
}

.countdown__display-block h2 {
  margin-bottom: 16px;
}

@media only screen and (min-width: 769px) {
  .countdown__display-block h2 {
    margin-bottom: 4px;
  }
}

.countdown__display-block span {
  font-size: 0.6rem;
  letter-spacing: 1.7px;
}

@media only screen and (min-width: 769px) {
  .countdown__display-block span {
    font-size: 0.75rem;
  }
}

.countdown__display-block:last-child {
  border-right: none;
}

[dir="rtl"] .countdown__display-block:last-child {
  border-right: 1px solid;
}

[dir="rtl"] .countdown__display-block:first-child {
  border-right: none;
}

.countdown__timer-message {
  height: 0;
  margin: 0;
  opacity: 0;
  visibility: hidden;
}

.countdown__timer-message--visible {
  height: auto;
  opacity: 1;
  transition: opacity 1s ease-in;
  visibility: visible;
}

.countdown__block--hidden {
  width: 0 !important;
}

.countdown__block--hidden {
  margin: 0;
  opacity: 0;
  transition: opacity 1s ease-out;
  visibility: hidden;
}

.countdown__overlay:after {
  background-color: var(--countdown-overlay-rgba);
  bottom: 0;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 2;
}

@media only screen and (max-width: 768px) {
  .hotspots-section .index-section {
    margin-bottom: 10px;
  }
}

.hotspots-section .hotspots-wrapper {
  display: flex;
  flex-wrap: wrap;
}

.hotspots-section .hotspots-wrapper.is-reverse {
  flex-direction: row-reverse;
}

.hotspots__title {
  padding-top: 1.5rem;
  width: 100%;
}

.hotspots {
  position: relative;
  width: 70%;
}

@media only screen and (max-width: 768px) {
  .hotspots {
    width: 100%;
  }
}

.hotspots .grid__image-ratio img {
  height: 100%;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  opacity: 1;
  position: absolute;
  top: 0;
  width: 100%;
}

[data-animate_images="true"] .hotspots .grid__image-ratio img {
  opacity: 1;
}

.hotspots__buttons {
  background-color: transparent;
  border: 0;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.hotspot__button {
  background-color: #000;
  border-radius: 50%;
  color: #fff;
  left: 38%;
  line-height: 0;
  padding: 10px;
  position: absolute;
  top: 38%;
  transform: translate(-50%, -50%);
}

@media only screen and (max-width: 768px) {
  .hotspot__button {
    padding: 6px;
  }
}

.hotspot__button:hover .hotspot__button-content {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.hotspot__button-content {
  background-color: var(--colorBody);
  border-radius: 5px;
  box-shadow: 3px 3px 10px 3px rgba(0, 0, 0, 0.2);
  color: var(--colorTextBody);
  left: 50%;
  min-width: 5rem;
  opacity: 0;
  padding: 1rem;
  pointer-events: none;
  position: absolute;
  top: calc(100% + 1rem);
  transform: translateX(-50%);
  transition: opacity 0.3s ease-in-out;
  visibility: hidden;
}

.hotspot__button-content p,
.hotspot__button-content span {
  margin-bottom: 0;
  white-space: nowrap;
}

.hotspot__button-content:before {
  border-color: transparent transparent var(--colorBody) transparent;
  border-style: solid;
  border-width: 0 5px 10px 5px;
  content: "";
  height: 0;
  left: 50%;
  position: absolute;
  top: -10px;
  transform: translateX(-50%);
  width: 0;
}

.hotspot__button-content .content__prices {
  display: flex;
  flex-wrap: nowrap;
}

.hotspots__content {
  align-items: center;
  display: flex;
  padding: 24px;
  width: 30%;
}

.page-width .hotspots__content {
  padding-left: 40px;
  padding-right: 0;
}

@media only screen and (max-width: 768px) {
  .page-width .hotspots__content {
    padding-left: 0;
  }
}

.page-width.is-reverse .hotspots__content {
  padding-left: 0;
  padding-right: 40px;
}

@media only screen and (max-width: 768px) {
  .page-width.is-reverse .hotspots__content {
    padding-right: 20px;
  }
}

@media only screen and (max-width: 768px) {
  .hotspots__content {
    padding: 1rem 20px 0;
    width: 100%;
  }
}

.hotspot-content__block {
  animation: fade-in 0.5s ease 0s forwards;
  display: none;
  max-height: 0;
  position: sticky;
  top: 0;
  width: 100%;
}

.modal-closing .hotspot-content__block,
.modal-open .hotspot-content__block {
  animation: none;
  position: static;
}

@media only screen and (max-width: 768px) {
  .hotspot-content__block {
    align-items: center;
    padding-top: 0;
    position: relative;
  }
}

.hotspot-content__block.is-active {
  display: block;
  max-height: none;
}

.hotspot-content__block .grid-product__image-wrap {
  margin: 0;
}

.hotspot-content__block .grid__item {
  display: block;
  float: none;
  padding: 0;
}

.hotspot-content__block .grid-product__tags {
  margin-left: 0;
}

@media only screen and (max-width: 768px) {
  .hotspot-content__block .grid-product__tag {
    left: 0;
    right: auto;
  }
}

.hotspot-content__block .grid-item__meta,
.hotspot-content__block .grid-product__meta {
  padding-top: 10px;
}

@media only screen and (max-width: 768px) {
  .hotspot-content__block .grid-item__meta,
  .hotspot-content__block .grid-product__meta {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    padding-left: 10px;
    padding-top: 0;
    text-align: left;
  }

  .hotspot-content__block .grid-item__meta .grid-item__meta-main,
  .hotspot-content__block .grid-item__meta .grid-item__meta-secondary,
  .hotspot-content__block .grid-product__meta .grid-item__meta-main,
  .hotspot-content__block .grid-product__meta .grid-item__meta-secondary {
    flex: none;
    width: 100%;
  }
}

@media only screen and (max-width: 768px) {
  .hotspot-content__block .grid-product {
    padding-left: 0;
    padding-right: 0;
  }

  .hotspot-content__block .quick-add-btn {
    display: none;
  }
  .hotspot-content__block .grid__item-image-wrapper {
    display: flex;
  }

  .hotspot-content__block .grid__item-image-wrapper .grid-product__image-mask {
    flex: 0 0 30%;
  }

  .hotspot-content__block .grid-item__link,
  .hotspot-content__block .grid-product__link {
    display: flex;
    flex-wrap: nowrap;
  }
  [data-grid-style="grey-round"] .hotspot-content__block .grid-item__link {
    border-radius: 10px 0 0 10px;
  }
  [data-grid-style="white-round"] .hotspot-content__block .grid-item__link {
    border-radius: 10px 0 0 10px;
  }

  .hotspot-content__block .grid-product__image-mask,
  .hotspot-content__block .grid-product__image-wrap,
  .hotspot-content__block .product-slider {
    width: 30%;
  }

  .hotspot-content__block .grid-product__actions {
    left: 10px;
    right: auto;
    top: 10px;
  }
}

.hotspot-content__block .modal .grid__item {
  float: left;
}

image-compare {
  background: #222;
  display: block;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.comparison__draggable {
  height: 100%;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 50%;
  z-index: 2;
}

.comparison__image {
  animation: none;
  display: block;
  height: 100%;
  max-width: none;
  -o-object-fit: cover;
  object-fit: cover;
  opacity: 1;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  width: 100%;
}

.comparison__image-wrapper {
  height: 100%;
  width: 100%;
}

.comparison__button {
  align-items: center;
  border: 0;
  border: 3px solid #fff;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  flex-wrap: nowrap;
  height: 64px;
  justify-content: center;
  left: 50%;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translate(-32px, -50%);
  width: 64px;
  z-index: 3;
}

.comparison--style-minimal .comparison__button {
  background: transparent;
  border: 0;
  transform: translate(-56px, -50%);
  width: 112px;
}

.comparison--style-minimal .comparison__button svg {
  margin: 0 20px;
}

@supports (-webkit-touch-callout: none) {
  .comparison--style-minimal .comparison__button svg {
    position: absolute;
  }

  .comparison--style-minimal .comparison__button svg.icon-chevron-left {
    left: 2px;
    width: 9px;
  }

  .comparison--style-minimal .comparison__button svg.icon-chevron-right {
    right: 2px;
    width: 9px;
  }
}

@media only screen and (max-width: 768px) {
  .comparison--style-classic .comparison__button {
    height: 48px;
    transform: translate(-24px, -50%);
    width: 48px;
  }
}

.comparison__button svg {
  height: auto;
  margin: 0 5px;
  pointer-events: none;
  width: 12px;
}

.comparison__button:before {
  background-color: #fff !important;
}

.comparison__button:before {
  content: "";
  position: absolute;
  width: 2px;
}

.comparison__button:after {
  background-color: #fff !important;
}

.comparison__button:after {
  bottom: 0;
  content: "";
  height: 50%;
  left: 50%;
  position: absolute;
  transform: translate(-50%);
  width: 2px;
}

.age-verification-popup .rte {
  margin-bottom: 20px;
  margin-top: 20px;
}

@media only screen and (min-width: 769px) {
  .age-verification-popup .rte {
    margin-bottom: 30px;
  }
}

.age-verification-popup .age-verification-popup__btns-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

.age-verification-popup__background-image-wrapper {
  height: 100%;
  overflow: hidden;
  position: absolute;
  width: 100%;
}

.age-verification-popup__background-image {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.age-verification-popup__content--active {
  opacity: 1;
  transition: opacity 1.5s ease-in;
}

.age-verification-popup__content--inactive,
.age-verification-popup__content--inactive *,
.age-verification-popup__content--inactive .btn {
  border: 0;
  font-size: 0;
  height: 0;
  line-height: 0;
  margin: 0;
  opacity: 0;
  padding: 0;
  position: absolute;
  visibility: hidden;
  width: 0;
}

.age-verification-popup__decline-content--inactive,
.age-verification-popup__decline-content--inactive *,
.age-verification-popup__decline-content--inactive .btn {
  border: 0;
  font-size: 0;
  height: 0;
  line-height: 0;
  margin: 0;
  opacity: 0;
  padding: 0;
  position: absolute;
  visibility: hidden;
  width: 0;
}

.age-verification-popup__decline-content--active {
  opacity: 1;
  transition: opacity 1.5s ease-in;
}

.age-verification-popup__content-wrapper {
  margin: 0 auto;
  max-width: 520px;
  text-align: center;
}

product-recommendations[data-intent="complementary"] {
  display: block;
  overflow: hidden;
}

product-recommendations[data-intent="complementary"]
  .product-recommendations__title {
  margin-bottom: 20px;
  margin-top: 40px;
  max-width: 72%;
  text-align: left;
  width: 100%;
}

product-recommendations[data-intent="complementary"] .grid {
  margin-left: 0;
}

product-recommendations[data-intent="complementary"] .grid-item,
product-recommendations[data-intent="complementary"] .grid__item {
  margin-bottom: 1rem;
  padding-bottom: 8px;
  padding-left: 0;
}

@media only screen and (max-width: 768px) {
  product-recommendations[data-intent="complementary"] .grid-item,
  product-recommendations[data-intent="complementary"] .grid__item {
    margin-left: 0 !important;
  }

  product-recommendations[data-intent="complementary"] .grid-item,
  product-recommendations[data-intent="complementary"] .grid__item {
    flex: 0 0 100%;
  }
}

product-recommendations[data-intent="complementary"] .grid-product__image-wrap {
  min-width: 90px;
}

product-recommendations[data-intent="complementary"] .grid__image-ratio {
  background-color: transparent;
}

product-recommendations[data-intent="complementary"] img.image-style--circle {
  border-radius: 50%;
  bottom: 0;
  height: 85%;
  left: 0;
  margin: auto;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  right: 0;
  top: 0;
  width: 85%;
}

product-recommendations[data-intent="complementary"]
  .grid__item-image-wrapper
  .grid-product__link {
  display: block;
  width: 100%;
}

product-recommendations[data-intent="complementary"] .grid-item__link,
product-recommendations[data-intent="complementary"] .grid-product__link,
product-recommendations[data-intent="complementary"] .grid__item-image-wrapper {
  align-items: center;
  display: flex;
}

product-recommendations[data-intent="complementary"]
  .grid-item__link
  .grid-product__image-mask,
product-recommendations[data-intent="complementary"]
  .grid-item__link
  .grid-product__image-wrap,
product-recommendations[data-intent="complementary"]
  .grid-item__link
  .image-wrap,
product-recommendations[data-intent="complementary"]
  .grid-product__link
  .grid-product__image-mask,
product-recommendations[data-intent="complementary"]
  .grid-product__link
  .grid-product__image-wrap,
product-recommendations[data-intent="complementary"]
  .grid-product__link
  .image-wrap,
product-recommendations[data-intent="complementary"]
  .grid__item-image-wrapper
  .grid-product__image-mask,
product-recommendations[data-intent="complementary"]
  .grid__item-image-wrapper
  .grid-product__image-wrap,
product-recommendations[data-intent="complementary"]
  .grid__item-image-wrapper
  .image-wrap {
  margin: 0;
  width: 112px;
}

product-recommendations[data-intent="complementary"]
  .grid-item__link
  .grid-product__meta,
product-recommendations[data-intent="complementary"]
  .grid-product__link
  .grid-product__meta,
product-recommendations[data-intent="complementary"]
  .grid__item-image-wrapper
  .grid-product__meta {
  margin-left: 48px;
  text-align: left;
  width: calc(100% - 112px);
}

product-recommendations[data-intent="complementary"] .grid-product__actions {
  right: 0;
  top: 0;
}

product-recommendations[data-intent="complementary"] .grid-product__tag {
  bottom: 0;
  left: 0;
  right: auto;
  top: auto;
}

product-recommendations[data-intent="complementary"] .flickity-viewport {
  width: 100%;
}

product-recommendations[data-intent="complementary"] .flickity-previous {
  left: auto;
  right: 50px;
  top: -32px;
}

@media only screen and (max-width: 768px) {
  product-recommendations[data-intent="complementary"] .flickity-previous {
    right: 45px;
  }
}

product-recommendations[data-intent="complementary"] .flickity-next {
  right: 0;
  top: -32px;
}

product-recommendations[data-intent="complementary"] .flickity-page-dots {
  bottom: auto;
  right: 0;
  top: -41px;
  width: auto;
}

product-recommendations[data-intent="complementary"] .flickity-button:disabled {
  display: block;
  opacity: 0.35;
}

.product-recommendations__slide {
  display: block;
  margin: 0;
  overflow: hidden;
  padding: 0;
  width: 100%;
}

@media only screen and (max-width: 768px) {
  .product-recommendations__slide {
    display: flex;
    flex-wrap: wrap;
  }
}

.product-recommendations__slide .grid__item:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}

.product-recommendations--title-missing {
  margin-top: 80px;
}

.countdown__background-image-wrapper image-element,
.fading-images__item-wrapper image-element,
.grid__image-ratio image-element,
.image-wrap:not(.image-wrap__thumbnail) image-element,
.social-section__image-wrapper image-element,
.svg-mask image-element {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

img {
  border: 0 none;
  display: block;
  height: auto;
  max-width: 100%;
}

.image-element {
  opacity: 0;
}

.image-element[loading="eager"] {
  opacity: 1;
}

.template-giftcard .image-element {
  opacity: 1;
}

[data-animate_images="false"] .image-element {
  opacity: 1;
}

[data-media-gallery-layout="stacked"] .image-element {
  opacity: 1;
}

.aos-animate[data-aos="image-fade-in"] .image-element {
  animation: fade-in 0.5s cubic-bezier(0.29, 0.65, 0.58, 1) forwards;
}

.aos-animate[data-aos="image-fade-in"] .image-element.loader-logo__img {
  animation: pulse-fade 0.4s linear infinite;
}

[data-animate_images="false"]
  .aos-animate[data-aos="image-fade-in"]
  .image-element {
  animation: none;
}

[data-media-gallery-layout="stacked"]
  .aos-animate[data-aos="image-fade-in"]
  .image-element {
  animation: none;
}

.aos-animate[data-aos="image-fade-in"] .image-element.scheme-image {
  animation: none;
}

.aos-animate[data-aos="image-fade-in"] .image-element.hero__image {
  animation: none;
}

.no-js .image-element {
  opacity: 1;
}

.image-wrap img {
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.rte div[style*="text-align: center"] img,
.rte p[style*="text-align: center"] img {
  margin-left: auto;
  margin-right: auto;
}

.svg-mask {
  background: transparent !important;
  background-color: transparent !important;
  padding-bottom: 100% !important;
  position: relative !important;
}

.svg-mask .grid__image-ratio {
  background: transparent !important;
  background-color: transparent !important;
}

.svg-mask img,
.svg-mask svg:not(.icon),
.svg-mask video {
  height: 100% !important;
  -o-object-fit: cover !important;
  object-fit: cover !important;
  position: absolute !important;
}

.svg-mask img,
.svg-mask svg:not(.icon),
.svg-mask video {
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}

.svg-mask--landscape {
  padding-bottom: 56.25% !important;
}

.svg-mask--portrait {
  padding-bottom: 150% !important;
}

.svg-mask--square {
  padding-bottom: 100% !important;
}

.svg-mask--rounded-top img,
.svg-mask--rounded-top svg:not(.icon),
.svg-mask--rounded-top video {
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
}

.svg-mask--rounded img,
.svg-mask--rounded svg:not(.icon),
.svg-mask--rounded video {
  border-radius: 50%;
}

.svg-mask--star img,
.svg-mask--star svg:not(.icon),
.svg-mask--star video {
  -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjg0IiBoZWlnaHQ9IjEyNTEiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiNBNDk1RkIiIGQ9Im02NDIgMCAxNzcuMDA3IDI5MC40NDEgMzM3LjQ0My00Mi42OTctMTE2LjcyIDMxOS40NzYgMjQzLjc3IDIzNy4xOTktMzIyLjU0NCAxMDcuOTQtMzMuNDYxIDMzOC40ODFMNjQyIDEwNjUuOTZsLTI4NS40OTYgMTg0Ljg4LTMzLjQ2LTMzOC40ODFMLjQ5NyA4MDQuNDE5IDI0NC4yNjggNTY3LjIyIDEyNy41NTUgMjQ3Ljc0NGwzMzcuNDM4IDQyLjY5N0w2NDIgMFoiLz48L3N2Zz4=");
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjg0IiBoZWlnaHQ9IjEyNTEiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiNBNDk1RkIiIGQ9Im02NDIgMCAxNzcuMDA3IDI5MC40NDEgMzM3LjQ0My00Mi42OTctMTE2LjcyIDMxOS40NzYgMjQzLjc3IDIzNy4xOTktMzIyLjU0NCAxMDcuOTQtMzMuNDYxIDMzOC40ODFMNjQyIDEwNjUuOTZsLTI4NS40OTYgMTg0Ljg4LTMzLjQ2LTMzOC40ODFMLjQ5NyA4MDQuNDE5IDI0NC4yNjggNTY3LjIyIDEyNy41NTUgMjQ3Ljc0NGwzMzcuNDM4IDQyLjY5N0w2NDIgMFoiLz48L3N2Zz4=");
}

.svg-mask--rounded-wave img,
.svg-mask--rounded-wave svg:not(.icon),
.svg-mask--rounded-wave video {
  -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDY2IiBoZWlnaHQ9IjEwNjYiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiNBNDk1RkIiIGQ9Ik00OTIuNTA5IDMxLjgzYzEwLjU0NS00Mi4xNDUgNzAuNDM3LTQyLjE0NSA4MC45ODIgMCA4LjkzMyAzNS43MDEgNTYuMzQyIDQzLjIxIDc1Ljg3IDEyLjAxNkM2NzIuNDEzIDcuMDIzIDcyOS4zNzQgMjUuNTMgNzI2LjM4IDY4Ljg3Yy0yLjUzNyAzNi43MTUgNDAuMjMxIDU4LjUwNiA2OC40NDMgMzQuODczIDMzLjMwMi0yNy44OTcgODEuNzU3IDcuMzA3IDY1LjUxNiA0Ny42LTEzLjc1OCAzNC4xMzQgMjAuMTgzIDY4LjA3NSA1NC4zMTcgNTQuMzE3IDQwLjI5My0xNi4yNDEgNzUuNDk3IDMyLjIxNCA0Ny42IDY1LjUxNi0yMy42MzMgMjguMjEyLTEuODQyIDcwLjk4IDM0Ljg3MyA2OC40NDMgNDMuMzQxLTIuOTk0IDYxLjg1MSA1My45NjcgMjUuMDIxIDc3LjAxOS0zMS4xOSAxOS41MjgtMjMuNjgxIDY2LjkzNyAxMi4wMiA3NS44NyA0Mi4xNCAxMC41NDUgNDIuMTQgNzAuNDM3IDAgODAuOTgyLTM1LjcwMSA4LjkzMy00My4yMSA1Ni4zNDItMTIuMDIgNzUuODcgMzYuODMgMjMuMDUyIDE4LjMyIDgwLjAxMy0yNS4wMjEgNzcuMDE5LTM2LjcxNS0yLjUzNy01OC41MDYgNDAuMjMxLTM0Ljg3MyA2OC40NDMgMjcuODk3IDMzLjMwMi03LjMwNyA4MS43NTctNDcuNiA2NS41MTYtMzQuMTM0LTEzLjc1OC02OC4wNzUgMjAuMTgzLTU0LjMxNyA1NC4zMTcgMTYuMjQxIDQwLjI5My0zMi4yMTQgNzUuNDk3LTY1LjUxNiA0Ny42LTI4LjIxMi0yMy42MzMtNzAuOTgtMS44NDItNjguNDQzIDM0Ljg3MyAyLjk5NCA0My4zNDEtNTMuOTY3IDYxLjg1MS03Ny4wMTkgMjUuMDIxLTE5LjUyOC0zMS4xOS02Ni45MzctMjMuNjgxLTc1Ljg3IDEyLjAyLTEwLjU0NSA0Mi4xNC03MC40MzcgNDIuMTQtODAuOTgyIDAtOC45MzMtMzUuNzAxLTU2LjM0Mi00My4yMS03NS44Ny0xMi4wMi0yMy4wNTIgMzYuODMtODAuMDEzIDE4LjMyLTc3LjAxOS0yNS4wMjEgMi41MzctMzYuNzE1LTQwLjIzMS01OC41MDYtNjguNDQzLTM0Ljg3My0zMy4zMDIgMjcuODk3LTgxLjc1Ny03LjMwNy02NS41MTYtNDcuNiAxMy43NTgtMzQuMTM0LTIwLjE4My02OC4wNzUtNTQuMzE3LTU0LjMxNy00MC4yOTMgMTYuMjQxLTc1LjQ5Ny0zMi4yMTQtNDcuNi02NS41MTYgMjMuNjMzLTI4LjIxMiAxLjg0Mi03MC45OC0zNC44NzMtNjguNDQzLTQzLjM0IDIuOTk0LTYxLjg0OC01My45NjctMjUuMDI1LTc3LjAxOSAzMS4xOTQtMTkuNTI4IDIzLjY4NS02Ni45MzctMTIuMDE3LTc1Ljg3LTQyLjE0NC0xMC41NDUtNDIuMTQ0LTcwLjQzNyAwLTgwLjk4MiAzNS43MDItOC45MzMgNDMuMjEtNTYuMzQyIDEyLjAxNy03NS44N0M3LjAyMyAzOTMuNTg3IDI1LjUzIDMzNi42MjYgNjguODcgMzM5LjYyYzM2LjcxNSAyLjUzNyA1OC41MDYtNDAuMjMxIDM0Ljg3My02OC40NDMtMjcuODk3LTMzLjMwMiA3LjMwNy04MS43NTcgNDcuNi02NS41MTYgMzQuMTM0IDEzLjc1OCA2OC4wNzUtMjAuMTgzIDU0LjMxNy01NC4zMTctMTYuMjQxLTQwLjI5MyAzMi4yMTQtNzUuNDk3IDY1LjUxNi00Ny42IDI4LjIxMiAyMy42MzMgNzAuOTggMS44NDIgNjguNDQzLTM0Ljg3My0yLjk5NC00My4zNCA1My45NjctNjEuODQ4IDc3LjAxOS0yNS4wMjUgMTkuNTI4IDMxLjE5NCA2Ni45MzcgMjMuNjg1IDc1Ljg3LTEyLjAxN1oiLz48L3N2Zz4=");
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDY2IiBoZWlnaHQ9IjEwNjYiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiNBNDk1RkIiIGQ9Ik00OTIuNTA5IDMxLjgzYzEwLjU0NS00Mi4xNDUgNzAuNDM3LTQyLjE0NSA4MC45ODIgMCA4LjkzMyAzNS43MDEgNTYuMzQyIDQzLjIxIDc1Ljg3IDEyLjAxNkM2NzIuNDEzIDcuMDIzIDcyOS4zNzQgMjUuNTMgNzI2LjM4IDY4Ljg3Yy0yLjUzNyAzNi43MTUgNDAuMjMxIDU4LjUwNiA2OC40NDMgMzQuODczIDMzLjMwMi0yNy44OTcgODEuNzU3IDcuMzA3IDY1LjUxNiA0Ny42LTEzLjc1OCAzNC4xMzQgMjAuMTgzIDY4LjA3NSA1NC4zMTcgNTQuMzE3IDQwLjI5My0xNi4yNDEgNzUuNDk3IDMyLjIxNCA0Ny42IDY1LjUxNi0yMy42MzMgMjguMjEyLTEuODQyIDcwLjk4IDM0Ljg3MyA2OC40NDMgNDMuMzQxLTIuOTk0IDYxLjg1MSA1My45NjcgMjUuMDIxIDc3LjAxOS0zMS4xOSAxOS41MjgtMjMuNjgxIDY2LjkzNyAxMi4wMiA3NS44NyA0Mi4xNCAxMC41NDUgNDIuMTQgNzAuNDM3IDAgODAuOTgyLTM1LjcwMSA4LjkzMy00My4yMSA1Ni4zNDItMTIuMDIgNzUuODcgMzYuODMgMjMuMDUyIDE4LjMyIDgwLjAxMy0yNS4wMjEgNzcuMDE5LTM2LjcxNS0yLjUzNy01OC41MDYgNDAuMjMxLTM0Ljg3MyA2OC40NDMgMjcuODk3IDMzLjMwMi03LjMwNyA4MS43NTctNDcuNiA2NS41MTYtMzQuMTM0LTEzLjc1OC02OC4wNzUgMjAuMTgzLTU0LjMxNyA1NC4zMTcgMTYuMjQxIDQwLjI5My0zMi4yMTQgNzUuNDk3LTY1LjUxNiA0Ny42LTI4LjIxMi0yMy42MzMtNzAuOTgtMS44NDItNjguNDQzIDM0Ljg3MyAyLjk5NCA0My4zNDEtNTMuOTY3IDYxLjg1MS03Ny4wMTkgMjUuMDIxLTE5LjUyOC0zMS4xOS02Ni45MzctMjMuNjgxLTc1Ljg3IDEyLjAyLTEwLjU0NSA0Mi4xNC03MC40MzcgNDIuMTQtODAuOTgyIDAtOC45MzMtMzUuNzAxLTU2LjM0Mi00My4yMS03NS44Ny0xMi4wMi0yMy4wNTIgMzYuODMtODAuMDEzIDE4LjMyLTc3LjAxOS0yNS4wMjEgMi41MzctMzYuNzE1LTQwLjIzMS01OC41MDYtNjguNDQzLTM0Ljg3My0zMy4zMDIgMjcuODk3LTgxLjc1Ny03LjMwNy02NS41MTYtNDcuNiAxMy43NTgtMzQuMTM0LTIwLjE4My02OC4wNzUtNTQuMzE3LTU0LjMxNy00MC4yOTMgMTYuMjQxLTc1LjQ5Ny0zMi4yMTQtNDcuNi02NS41MTYgMjMuNjMzLTI4LjIxMiAxLjg0Mi03MC45OC0zNC44NzMtNjguNDQzLTQzLjM0IDIuOTk0LTYxLjg0OC01My45NjctMjUuMDI1LTc3LjAxOSAzMS4xOTQtMTkuNTI4IDIzLjY4NS02Ni45MzctMTIuMDE3LTc1Ljg3LTQyLjE0NC0xMC41NDUtNDIuMTQ0LTcwLjQzNyAwLTgwLjk4MiAzNS43MDItOC45MzMgNDMuMjEtNTYuMzQyIDEyLjAxNy03NS44N0M3LjAyMyAzOTMuNTg3IDI1LjUzIDMzNi42MjYgNjguODcgMzM5LjYyYzM2LjcxNSAyLjUzNyA1OC41MDYtNDAuMjMxIDM0Ljg3My02OC40NDMtMjcuODk3LTMzLjMwMiA3LjMwNy04MS43NTcgNDcuNi02NS41MTYgMzQuMTM0IDEzLjc1OCA2OC4wNzUtMjAuMTgzIDU0LjMxNy01NC4zMTctMTYuMjQxLTQwLjI5MyAzMi4yMTQtNzUuNDk3IDY1LjUxNi00Ny42IDI4LjIxMiAyMy42MzMgNzAuOTggMS44NDIgNjguNDQzLTM0Ljg3My0yLjk5NC00My4zNCA1My45NjctNjEuODQ4IDc3LjAxOS0yNS4wMjUgMTkuNTI4IDMxLjE5NCA2Ni45MzcgMjMuNjg1IDc1Ljg3LTEyLjAxN1oiLz48L3N2Zz4=");
}

.svg-mask--splat-1 img,
.svg-mask--splat-1 svg:not(.icon),
.svg-mask--splat-1 video {
  -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDQ4IiBoZWlnaHQ9IjEwNTIiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiNBNDk1RkIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTU3MC45MDUgMTUyLjM0OEM2ODguNDQxIDE0MC4zMyA3NzEuMTg3LTI3LjkxNSA4ODQuOTQxIDQuMDI2IDk4Ny45OTcgMzIuOTYyIDEwMDYuMjMgMTc4LjE4OCAxMDMyLjYgMjgxLjk4NWMyMy4xNiA5MS4xNjkgMTkuNjUgMTg2LjE0OS02Ljg0IDI3Ni40MDMtMjQuMDYgODEuOTQ4LTg1LjQ2MiAxNDIuMTUxLTEzNi4yMDggMjEwLjgzMS01NS41MyA3NS4xNTYtOTQuMjUyIDE2NS4yNDEtMTc1LjYwMiAyMTEuMTc4LTkxLjYzMiA1MS43NDMtMjAzLjg0MiA5My4xMDMtMzAzLjUxNCA1OS4zNzMtOTkuMjUtMzMuNTktMTM0LjUwOS0xNTIuMzY1LTIwMy43NTktMjMxLjAzMy02OS45NzQtNzkuNDg5LTE5Mi4wMjMtMTI4Ljc1OS0yMDUuNDUzLTIzMy44My0xMy40MzktMTA1LjE0NCA4Ny4wNjYtMTg2LjQ3NCAxMzkuOTk3LTI3OC4yOTUgNDcuMzk1LTgyLjIxOCA2NC40MjItMjAyLjEzIDE1NC4zNTQtMjMyLjMyNCA5My4yMzQtMzEuMzAzIDE3Ny40OTYgOTguMDYzIDI3NS4zMyA4OC4wNloiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==");
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDQ4IiBoZWlnaHQ9IjEwNTIiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiNBNDk1RkIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTU3MC45MDUgMTUyLjM0OEM2ODguNDQxIDE0MC4zMyA3NzEuMTg3LTI3LjkxNSA4ODQuOTQxIDQuMDI2IDk4Ny45OTcgMzIuOTYyIDEwMDYuMjMgMTc4LjE4OCAxMDMyLjYgMjgxLjk4NWMyMy4xNiA5MS4xNjkgMTkuNjUgMTg2LjE0OS02Ljg0IDI3Ni40MDMtMjQuMDYgODEuOTQ4LTg1LjQ2MiAxNDIuMTUxLTEzNi4yMDggMjEwLjgzMS01NS41MyA3NS4xNTYtOTQuMjUyIDE2NS4yNDEtMTc1LjYwMiAyMTEuMTc4LTkxLjYzMiA1MS43NDMtMjAzLjg0MiA5My4xMDMtMzAzLjUxNCA1OS4zNzMtOTkuMjUtMzMuNTktMTM0LjUwOS0xNTIuMzY1LTIwMy43NTktMjMxLjAzMy02OS45NzQtNzkuNDg5LTE5Mi4wMjMtMTI4Ljc1OS0yMDUuNDUzLTIzMy44My0xMy40MzktMTA1LjE0NCA4Ny4wNjYtMTg2LjQ3NCAxMzkuOTk3LTI3OC4yOTUgNDcuMzk1LTgyLjIxOCA2NC40MjItMjAyLjEzIDE1NC4zNTQtMjMyLjMyNCA5My4yMzQtMzEuMzAzIDE3Ny40OTYgOTguMDYzIDI3NS4zMyA4OC4wNloiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==");
}

.svg-mask--splat-2 img,
.svg-mask--splat-2 svg:not(.icon),
.svg-mask--splat-2 video {
  -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5NzciIGhlaWdodD0iODk2IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSIjYTQ5NWZiIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05NzUuNjg0IDM4MS44MzJjMTcuMjYzIDk1LjAzMy0xNDAuMjE0IDEyOS4yMzEtMTg3LjE3NyAyMTMuNjY2LTUyLjEzOCA5My43MzcgOC41MTUgMjg4LjA5NS05OC4yNTMgMjk5LjUwMy0xMjcuMTc1IDEzLjU4Ny0xMzguMDQ5LTExNS4zNjItMjYzLTE0Mi42My0xMDkuNTg1LTIzLjkxNC0yMjQuNTM1IDkxLjg5NC0zMDguNzE1IDE3Ljg2NC04NC41NDMtNzQuMzQ4IDExOC42ODgtMjA3LjM3MyA5My44MjktMzE3LjA5NEMxOTAuMjE5IDM1NS4zODEgOC4xNzEgMzQ4LjI2My4yOTcgMjQ4LjM0MS02LjU3IDE2MS4yMjMgMTA3LjMxOCAxMTIuMTY0IDE4MS44OTMgNjYuNDRjNjYuMTYzLTQwLjU2NyAxNDIuNTMxLTc2LjcwNSAyMTkuMDgyLTYzLjc3IDcxLjM4MyAxMi4wNjIgMTQwLjQ4NiA2Mi43NzMgMTY4Ljg1MiAxMjkuMzIgOS45MjkgMjMuMjkzIDI1LjgzOSA1NC41MjggNjkuOTIgNzguNTE3IDkxLjg1OSA0OS45OSAzMDQuODE2IDAgMzM1LjkzNyAxNzEuMzI1eiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+");
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI5NzciIGhlaWdodD0iODk2IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSIjYTQ5NWZiIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05NzUuNjg0IDM4MS44MzJjMTcuMjYzIDk1LjAzMy0xNDAuMjE0IDEyOS4yMzEtMTg3LjE3NyAyMTMuNjY2LTUyLjEzOCA5My43MzcgOC41MTUgMjg4LjA5NS05OC4yNTMgMjk5LjUwMy0xMjcuMTc1IDEzLjU4Ny0xMzguMDQ5LTExNS4zNjItMjYzLTE0Mi42My0xMDkuNTg1LTIzLjkxNC0yMjQuNTM1IDkxLjg5NC0zMDguNzE1IDE3Ljg2NC04NC41NDMtNzQuMzQ4IDExOC42ODgtMjA3LjM3MyA5My44MjktMzE3LjA5NEMxOTAuMjE5IDM1NS4zODEgOC4xNzEgMzQ4LjI2My4yOTcgMjQ4LjM0MS02LjU3IDE2MS4yMjMgMTA3LjMxOCAxMTIuMTY0IDE4MS44OTMgNjYuNDRjNjYuMTYzLTQwLjU2NyAxNDIuNTMxLTc2LjcwNSAyMTkuMDgyLTYzLjc3IDcxLjM4MyAxMi4wNjIgMTQwLjQ4NiA2Mi43NzMgMTY4Ljg1MiAxMjkuMzIgOS45MjkgMjMuMjkzIDI1LjgzOSA1NC41MjggNjkuOTIgNzguNTE3IDkxLjg1OSA0OS45OSAzMDQuODE2IDAgMzM1LjkzNyAxNzEuMzI1eiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+");
}

.svg-mask--splat-3 img,
.svg-mask--splat-3 svg:not(.icon),
.svg-mask--splat-3 video {
  -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDcyIiBoZWlnaHQ9IjEwNTEiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiNBNDk1RkIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTYxOC45MTMgMjE1LjM4M0M3NDUuNzc1IDIyNS42NTcgODQxLjc1IDE4LjAwNSA5NjAuNjc4IDYzLjMyM2MxMDkuMTcyIDQxLjYwMSAxMDkuNzUyIDIwNy45MzkgMTExLjMxMiAzMjQuNzA1IDEuMjYgOTQuMjYtOTkuOTY0IDE2Mi44MjctMTAzLjU0MSAyNTcuMDI3LTQuMzAyIDExMy4yNzYgMTM1LjI0MSAyMjMuMjQzIDgxLjUxMSAzMjMuMDcxLTQ5LjcyIDkyLjM3NC0xOTMuNDkyIDcwLjY5NC0yOTguMDg0IDc5LjI4NC04Ny41NiA3LjE5LTE3OC4yMTIgNy4wMy0yNTYuMDA2LTMzLjc3LTcxLjEzOS0zNy4zMDktODYuMDM2LTEzNC45NTEtMTUyLjI4OC0xODAuMzY4QzI0MS4zNDkgNzYzLjE5IDY2LjQgNzkzLjQxNiAxMi4xMTkgNjgyLjAyM2MtNDkuNjkzLTEwMS45NzkgNjcuMTU3LTIwOS40ODUgMTAzLjI4My0zMTcuMDE1IDQxLjI3LTEyMi44NDQtLjA4Mi0zMjMuMTUyIDEyNC4xOTYtMzYwLjA4MiAxNDEuNDgzLTQyLjA0NCAyMzIuMTkzIDE5OC41NDIgMzc5LjMxNSAyMTAuNDU3WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+");
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDcyIiBoZWlnaHQ9IjEwNTEiIGZpbGw9Im5vbmUiPjxwYXRoIGZpbGw9IiNBNDk1RkIiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTYxOC45MTMgMjE1LjM4M0M3NDUuNzc1IDIyNS42NTcgODQxLjc1IDE4LjAwNSA5NjAuNjc4IDYzLjMyM2MxMDkuMTcyIDQxLjYwMSAxMDkuNzUyIDIwNy45MzkgMTExLjMxMiAzMjQuNzA1IDEuMjYgOTQuMjYtOTkuOTY0IDE2Mi44MjctMTAzLjU0MSAyNTcuMDI3LTQuMzAyIDExMy4yNzYgMTM1LjI0MSAyMjMuMjQzIDgxLjUxMSAzMjMuMDcxLTQ5LjcyIDkyLjM3NC0xOTMuNDkyIDcwLjY5NC0yOTguMDg0IDc5LjI4NC04Ny41NiA3LjE5LTE3OC4yMTIgNy4wMy0yNTYuMDA2LTMzLjc3LTcxLjEzOS0zNy4zMDktODYuMDM2LTEzNC45NTEtMTUyLjI4OC0xODAuMzY4QzI0MS4zNDkgNzYzLjE5IDY2LjQgNzkzLjQxNiAxMi4xMTkgNjgyLjAyM2MtNDkuNjkzLTEwMS45NzkgNjcuMTU3LTIwOS40ODUgMTAzLjI4My0zMTcuMDE1IDQxLjI3LTEyMi44NDQtLjA4Mi0zMjMuMTUyIDEyNC4xOTYtMzYwLjA4MiAxNDEuNDgzLTQyLjA0NCAyMzIuMTkzIDE5OC41NDIgMzc5LjMxNSAyMTAuNDU3WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+");
}

.svg-mask--splat-4 img,
.svg-mask--splat-4 svg:not(.icon),
.svg-mask--splat-4 video {
  -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTgiIGhlaWdodD0iNTA0IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSIjQTQ5NUZCIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMDMuNzkzIDg0LjY3M2MxNi4xNDkgMjMuODQ4IDMxLjczNyA0My41OCA1Ni40OTYgNDguNzI0IDQzLjM1NCA5LjAwNyA5NC4xMzItMzUuNjY1IDEzMC4xOS05Ljk0IDI5LjgzMiAyMS4yODIgMzMuMzIxIDg3LjE4OSAyMCAxMTIuNTQyLTE1LjUgMjkuNS01Mi4yMDEgNDQuMDQxLTY3LjUgNzQtMTguMzUgMzUuOTMyIDEwLjc2MSA3NC45NjgtMzIuNSAxMDMuNS0zMi45MDEgMjEuNjk5LTY4LjY2My0xNS42MjctMTA2LjY4Ni01LjMwMS01OS45MDcgMTYuMjY4LTk0LjU5MyA5Ni4zNDMtMTU2LjY0NSA5NC44MDEtNTcuODA3LTEuNDM2LTExNS42MzgtNDguMTYzLTEzNi42NjktMTAyLjA5MS0yMS4yMjctNTQuNDMxLTguMDQ0LTEyNS44NTIgMzAuNzM2LTE2OS41NDJDNjkuNSAxOTkuNSAxMDUgMTg5IDEyMi40OCAxMzljOS40NTUtMjcuMDQ3LTMtMTAzIDUxLjg5Ny0xMzIuMDUgNDUuMjQtMjMuOTQgOTIuMDY1IDE3LjA3MiAxMjkuNDE2IDc3LjcyM1oiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==");
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MTgiIGhlaWdodD0iNTA0IiBmaWxsPSJub25lIj48cGF0aCBmaWxsPSIjQTQ5NUZCIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zMDMuNzkzIDg0LjY3M2MxNi4xNDkgMjMuODQ4IDMxLjczNyA0My41OCA1Ni40OTYgNDguNzI0IDQzLjM1NCA5LjAwNyA5NC4xMzItMzUuNjY1IDEzMC4xOS05Ljk0IDI5LjgzMiAyMS4yODIgMzMuMzIxIDg3LjE4OSAyMCAxMTIuNTQyLTE1LjUgMjkuNS01Mi4yMDEgNDQuMDQxLTY3LjUgNzQtMTguMzUgMzUuOTMyIDEwLjc2MSA3NC45NjgtMzIuNSAxMDMuNS0zMi45MDEgMjEuNjk5LTY4LjY2My0xNS42MjctMTA2LjY4Ni01LjMwMS01OS45MDcgMTYuMjY4LTk0LjU5MyA5Ni4zNDMtMTU2LjY0NSA5NC44MDEtNTcuODA3LTEuNDM2LTExNS42MzgtNDguMTYzLTEzNi42NjktMTAyLjA5MS0yMS4yMjctNTQuNDMxLTguMDQ0LTEyNS44NTIgMzAuNzM2LTE2OS41NDJDNjkuNSAxOTkuNSAxMDUgMTg5IDEyMi40OCAxMzljOS40NTUtMjcuMDQ3LTMtMTAzIDUxLjg5Ny0xMzIuMDUgNDUuMjQtMjMuOTQgOTIuMDY1IDE3LjA3MiAxMjkuNDE2IDc3LjcyM1oiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==");
}

.feature-row__item--overlap-images .feature-row__first-image {
  width: 55%;
}

.feature-row__item--overlap-images .feature-row__second-image {
  width: 60%;
}

.feature-row__item--placeholder-images .placeholder-image-wrap {
  width: 50%;
}

.feature-row-wrapper .feature-row__images {
  min-width: 0;
  width: 100%;
}

@media only screen and (max-width: 959px) {
  .feature-row-wrapper .feature-row__images {
    padding-top: 30px;
  }
}

.feature-row-wrapper .feature-row__text {
  min-width: 0;
  width: 100%;
}

@media only screen and (min-width: 769px) {
  .feature-row-wrapper .feature-row__text {
    flex: 0 1 43%;
    min-width: 43%;
  }
}

.feature-row--33 .feature-row__images {
  max-width: 50%;
}

@media only screen and (min-width: 769px) {
  .feature-row--33 .feature-row__images {
    flex: 0 1 33.333%;
    max-width: none;
  }
}

.feature-row--50 .feature-row__images {
  max-width: 100%;
  padding-left: 20px;
  padding-right: 20px;
}

@media only screen and (min-width: 769px) {
  .feature-row--50 .feature-row__images {
    flex: 0 1 50%;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
}

.feature-row--66 .feature-row__images {
  max-width: 100%;
  padding-left: 20px;
  padding-right: 20px;
}

@media only screen and (min-width: 769px) {
  .feature-row--66 .feature-row__images {
    flex: 0 1 66.666%;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }
}

.scrolling-text {
  direction: ltr;
  overflow: hidden;
}

.scrolling-text__inner {
  animation: scrolling-text var(--move-speed) linear infinite;
  animation-play-state: running;
  display: inline-flex;
  margin: 0.15em 0;
  visibility: visible;
  white-space: nowrap;
}

.scrolling-text__inner--right {
  animation: scrolling-text-right var(--move-speed) linear infinite;
}

.scrolling-text span {
  white-space: nowrap;
}

.scrolling-text:focus .scrolling-text__inner,
.scrolling-text:hover .scrolling-text__inner {
  animation-play-state: paused;
}

@keyframes scrolling-text {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

@keyframes scrolling-text-right {
  0% {
    transform: translateX(-50%);
  }
  to {
    transform: translateX(0);
  }
}

.newsletter-container {
  margin: 0 auto !important;
  padding: 0 !important;
}

.newsletter-section {
  align-items: center;
  display: flex;
  gap: 40px;
  padding: 60px 0;
}

@media only screen and (max-width: 768px) {
  .newsletter-section {
    flex-direction: column;
    padding: 30px 0;
  }
}

.newsletter-section--image-left {
  flex-direction: row-reverse;
}

@media only screen and (max-width: 768px) {
  .newsletter-section--image-left {
    flex-direction: column-reverse;
  }
}

.newsletter-section__content {
  flex: 100%;
  margin: 0 auto;
  max-width: 800px;
}

.newsletter-section--no-image .newsletter-section__content {
  flex: 100%;
}

.newsletter-section__content form {
  display: flex;
  width: 100%;
}

.text-left .newsletter-section__content form {
  justify-content: flex-start;
}

.text-center .newsletter-section__content form {
  justify-content: center;
}

.text-right .newsletter-section__content form {
  justify-content: flex-end;
}

.newsletter-section__content .newsletter__input-group {
  margin: 0;
}

.newsletter-section__image {
  width: 100%;
}

.newsletter-section__image img {
  display: block;
  height: auto;
  margin: 0 auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.newsletter-section__image--33 {
  flex: 33.333% 0 0;
}

.newsletter-section__image--50 {
  flex: 50% 0 0;
}

@media only screen and (max-width: 768px) {
  .newsletter-section__image--50 {
    max-width: 100%;
  }
}

.newsletter-section__image--66 {
  flex: 66.666% 0 0;
}

@media only screen and (max-width: 768px) {
  .newsletter-section__image--66 {
    max-width: 100%;
  }
}

.text-left .newsletter-form-group {
  margin: 0;
}

.text-right .newsletter-form-group {
  margin: 0;
}

.predictive-overflow-hidden {
  overflow: hidden;
}

@media only screen and (max-width: 768px) {
  .predictive-overflow-hidden {
    overflow: auto;
  }
}

predictive-search {
  align-items: center;
  display: flex;
  margin: 0 auto;
  max-width: 960px;
  position: relative;
  width: 100%;
}

predictive-search.is-active {
  flex: 99;
}

predictive-search.is-active .predictive__screen {
  display: block;
  z-index: 3;
}

predictive-search.is-active .btn--close-search {
  align-items: center;
  display: flex;
  justify-content: center;
}

[data-dark="true"] input {
  color: #fff !important;
}

[data-dark="true"] .btn--search path {
  stroke: #fff !important;
}

[data-dark="false"] input {
  color: #000 !important;
}

[data-dark="false"] .btn--search path {
  stroke: #000 !important;
}

.predictive__screen {
  background: var(--colorModalBg);
  display: none;
  height: 100vh;
  left: 0;
  position: fixed;
  top: 0;
  width: 100vw;
}

predictive-search form {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  width: 100%;
  z-index: 4;
}

.search__input-wrap {
  flex: 5;
  position: relative;
  transition: flex 0.3s ease-in-out;
}

.search__input {
  background: var(--colorNavSearch, #fff);
  border-radius: calc(var(--roundness, 0) * 2);
  color: var(--color-body-text);
  flex: 1;
  padding-left: 16px;
  padding-right: 16px;
  width: 100%;
}

.btn--search {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}

.btn--search .icon {
  height: 25px;
  width: 25px;
}

@media only screen and (min-width: 769px) {
  .btn--search {
    right: 10px;
  }
}

[dir="rtl"] .btn--search {
  left: 15px;
  right: auto;
}

@media only screen and (min-width: 769px) {
  [dir="rtl"] .btn--search {
    left: 10px;
  }
}

.btn--close-search {
  display: none;
  flex: 30px 0 0;
  margin-left: 10px;
}

.btn--close-search .icon {
  height: 25px;
  width: 25px;
}

.btn--close-search .icon path {
  stroke: var(--colorNavText) !important;
}

.search__results {
  background: var(--color-body);
  color: var(--color-body-text);
  container-type: inline-size;
  display: none;
  margin-top: 10px;
  max-height: 80vh;
  overflow-y: auto;
  padding: 0;
  position: absolute;
  top: 100%;
  width: 100%;
}

@media only screen and (max-width: 768px) {
  .search__results {
    margin-left: calc(var(--pageWidthPadding, 17px) * -1);
    margin-right: calc(var(--pageWidthPadding, 17px) * -1);
    max-height: 75vh;
    width: calc(100% + var(--pageWidthPadding, 17px) * 2);
  }

  .template-search .page-content .search__results {
    max-height: 50vh;
  }
}

.results {
  display: block;
  padding: 0 20px 20px;
  width: 100%;
}

.results ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.results li {
  margin-bottom: 0;
  padding: 10px;
  transition: background 0.2s ease;
}

.results li:hover {
  background: rgba(0, 0, 0, 0.05);
}

.results li a {
  align-items: center;
  display: flex;
}

.results--queries span {
  font-weight: bolder;
}

.results--queries mark {
  background-color: transparent;
  font-weight: 400;
}

.results--products span {
  margin-left: 10px;
}

.results--products #predictive-search-products {
  margin-bottom: 20px;
}

.results-products__image {
  height: 80px;
  max-width: 80px;
  min-width: 80px;
  width: 100%;
}

.results-products__info {
  display: flex;
  flex-direction: column;
}

.predictive-search-results {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  overflow-y: auto;
  padding: 40px 0 0;
}

.predictive-search-results h3 {
  border-bottom: 1px solid;
  border-color: var(--colorBorder);
  margin-bottom: 10px;
  padding-bottom: 10px;
}

.predictive-search-results--none {
  padding-top: 20px;
}

.predictive-search__no-results {
  display: block;
  width: 100%;
}

.predictive-search__no-results:hover {
  opacity: 0.5;
}

.results__group-1 {
  flex: 100% 0 0;
}

.results__group-1 > div:not(.results--queries) {
  display: none;
}

.results__group-2 {
  flex: 100% 0 0;
}

.results__search-btn {
  border: 1px solid;
  border-color: var(--colorBorder);
  padding: 10px;
  transition: background-color 0.2s ease;
  width: 100%;
}

.results__search-btn:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

@container (min-width: 800px) {
  .predictive-search-results {
    flex-direction: row;
    flex-wrap: nowrap;
  }

  .results {
    padding: 0 40px 20px;
  }

  .results__group-1 {
    flex: 1 0 0;
  }

  .results__group-1 div:not(.results--queries) {
    display: block;
  }

  .results__group-2 {
    flex: 2 0 0;
  }

  .results__group-2 > div:not(.results--products) {
    display: none;
  }

  .results__search-btn {
    padding: 10px 0 10px 40px;
    text-align: left;
  }
}

.recipient-form {
  display: block;
  margin: 2em auto;
  position: relative;
}

.recipient-form .field {
  position: relative;
}

.recipient-form .field__label {
  color: inherit;
  left: 0;
  margin: 0;
  padding: 8px 10px;
  pointer-events: none;
  position: absolute;
  top: 0;
  transform-origin: 0 0;
  transition:
    opacity 0.1s ease-in-out,
    transform 0.1s ease-in-out;
}

@media only screen and (max-width: 959px) {
  .recipient-form .field__label {
    padding: 10px;
  }
}

.recipient-form .field__label:not(.variant__button-label):not(.text-label),
.recipient-form label:not(.variant__button-label):not(.text-label) {
  font-weight: 400;
}

.recipient-form .field__input {
  margin-bottom: 1.5em;
}

@media only screen and (max-width: 959px) {
  .recipient-form .field__input {
    margin-bottom: 0.6em;
  }
}

.recipient-form .field__input.text-area {
  height: 150px;
  margin-bottom: 0;
}

.recipient-form .field__input::-webkit-input-placeholder {
  color: transparent;
}

.recipient-form .field__input::-moz-placeholder {
  color: transparent;
}

.recipient-form .field__input:not(:-moz-placeholder-shown) ~ label {
  font-size: 0.8em;
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.4em) translateX(0.15em);
}

.recipient-form .field__input:focus ~ label,
.recipient-form .field__input:not(:placeholder-shown) ~ label {
  font-size: 0.8em;
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.4em) translateX(0.15em);
}

.recipient-form .field__input:not(:-moz-placeholder-shown) {
  padding: 16px 10px 0;
}

.recipient-form .field__input:focus,
.recipient-form .field__input:not(:placeholder-shown) {
  padding: 16px 10px 0;
}

.recipient-form .field__input--error {
  background-color: #fff6f6;
  border-color: #d02e2e;
  color: #d02e2e;
}

.recipient-form .field__input--error ~ label {
  color: #d02e2e;
}

.recipient-form .recipient-form__checkbox-wrapper {
  align-items: center;
  display: flex;
  margin-bottom: 2em;
}

@media only screen and (max-width: 959px) {
  .recipient-form .recipient-form__checkbox-wrapper {
    margin-bottom: 1.5em;
  }
}

.recipient-form input[type="checkbox"] {
  background-color: inherit;
  border: 1px solid;
  border-color: var(--colorBorder);
  border-radius: 0;
  height: 16px;
  width: 16px;
}

.recipient-form .checkbox-label {
  cursor: pointer;
  display: block;
  margin-bottom: 0;
}

.recipient-form .recipient-form-field-label--space-between > span {
  font-size: 0.8em;
}

.recipient-form .recipient-fields {
  display: none;
}

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

body,
html {
  margin: 0;
  padding: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

.grid {
  list-style: none;
  margin: 0;
  margin-left: -22px;
  padding: 0;
}

.grid:after {
  clear: both;
  content: "";
  display: table;
}

@media only screen and (max-width: 768px) {
  .grid {
    margin-left: -17px;
  }

  html[dir="rtl"] .grid {
    margin-left: 0;
    margin-right: -17px;
  }
}

html[dir="rtl"] .grid {
  margin-left: 0;
  margin-right: -22px;
}

.grid--small {
  margin-left: -10px;
}

.grid--small .grid__item {
  padding-left: 10px;
}

.grid__item {
  float: left;
  min-height: 1px;
  padding-left: 72px;
  width: 100%;
}

@media only screen and (max-width: 768px) {
  .grid__item {
    padding-left: 17px;
  }

  html[dir="rtl"] .grid__item {
    padding-left: 0;
    padding-right: 17px;
  }
}

html[dir="rtl"] .grid__item {
  float: right;
  padding-left: 0;
  padding-right: 22px;
}

.grid--no-gutters {
  margin-left: 0;
}

.grid--no-gutters .grid__item {
  padding-left: 0;
}

.grid--flush-bottom {
  margin-bottom: -22px;
  overflow: auto;
}

.grid--flush-bottom > .grid__item {
  margin-bottom: 22px;
}

.grid--center {
  text-align: center;
}

.grid--center .grid__item {
  display: inline-block;
  float: none;
  text-align: left;
  vertical-align: top;
}

html[dir="rtl"] .grid--center .grid__item {
  text-align: right;
}

.grid--full {
  margin-left: 0;
}

.grid--full > .grid__item {
  padding-left: 0;
}

@media only screen and (min-width: 769px) {
  .grid--table-large {
    display: table;
    table-layout: fixed;
    width: 100%;
  }

  .grid--table-large > .grid__item {
    display: table-cell;
    float: none;
    vertical-align: middle;
  }
}

@media only screen and (max-width: 768px) {
  .small--grid--flush {
    margin-left: -2px;
  }
  .page-width .small--grid--flush {
    margin-left: -17px;
    margin-right: -15px;
  }

  .small--grid--flush > .grid__item {
    padding-left: 2px;
  }
}

.text-column__grid {
  display: grid;
  gap: 22px;
  grid-template-columns: 1fr;
}

@media (min-width: 769px) {
  .text-column__grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
  }
  .text-column__grid > * {
    grid-column: span 3;
  }
  .text-column__grid:has(> :nth-child(3):last-child) > * {
    grid-column: span 2;
  }
  .text-column__grid:has(> :nth-child(odd):last-child:not(:nth-child(3)))
    > :nth-last-child(-n + 3) {
    grid-column: span 2;
  }
}

.one-whole {
  width: 100%;
}

.one-half {
  width: 50%;
}

.one-third {
  width: 33.33333%;
}

.two-thirds {
  width: 66.66667%;
}

.one-quarter {
  width: 25%;
}

.two-quarters {
  width: 50%;
}

.three-quarters {
  width: 75%;
}

.one-fifth {
  width: 20%;
}

.two-fifths {
  width: 40%;
}

.three-fifths {
  width: 60%;
}

.four-fifths {
  width: 80%;
}

.one-sixth {
  width: 16.66667%;
}

.two-sixths {
  width: 33.33333%;
}

.three-sixths {
  width: 50%;
}

.four-sixths {
  width: 66.66667%;
}

.five-sixths {
  width: 83.33333%;
}

@media only screen and (max-width: 768px) {
  .small--one-whole {
    width: 100%;
  }
  .small--one-half {
    width: 50%;
  }
  .small--one-third {
    width: 33.33333%;
  }
  .small--two-thirds {
    width: 66.66667%;
  }
  .grid--uniform .small--one-half:nth-of-type(odd),
  .grid--uniform .small--one-third:nth-of-type(3n + 1) {
    clear: both;
  }
  .small--one-quarter {
    width: 25%;
  }
  .small--two-quarters {
    width: 50%;
  }
  .small--three-quarters {
    width: 75%;
  }
  .grid--uniform .small--one-quarter:nth-of-type(4n + 1) {
    clear: both;
  }
  .small--one-fifth {
    width: 20%;
  }
  .small--two-fifths {
    width: 40%;
  }
  .small--three-fifths {
    width: 60%;
  }
  .small--four-fifths {
    width: 80%;
  }
  .grid--uniform .small--one-fifth:nth-of-type(5n + 1) {
    clear: both;
  }
  .small--one-sixth {
    width: 16.66667%;
  }
  .small--two-sixths {
    width: 33.33333%;
  }
  .small--three-sixths {
    width: 50%;
  }
  .small--four-sixths {
    width: 66.66667%;
  }
  .small--five-sixths {
    width: 83.33333%;
  }
  .grid--uniform .small--one-sixth:nth-of-type(6n + 1),
  .grid--uniform .small--three-sixths:nth-of-type(odd),
  .grid--uniform .small--two-sixths:nth-of-type(3n + 1) {
    clear: both;
  }
}

@media only screen and (min-width: 769px) {
  .medium-up--one-whole {
    width: 100%;
  }
  .medium-up--one-half {
    width: 50%;
  }
  .medium-up--one-third {
    width: 33.33333%;
  }
  .medium-up--two-thirds {
    width: 66.66667%;
  }
  .grid--uniform .medium-up--one-half:nth-of-type(odd),
  .grid--uniform .medium-up--one-third:nth-of-type(3n + 1) {
    clear: both;
  }
  .medium-up--one-quarter {
    width: 25%;
  }
  .medium-up--two-quarters {
    width: 50%;
  }
  .medium-up--three-quarters {
    width: 75%;
  }
  .grid--uniform .medium-up--one-quarter:nth-of-type(4n + 1) {
    clear: both;
  }
  .medium-up--one-fifth {
    width: 20%;
  }
  .medium-up--two-fifths {
    width: 40%;
  }
  .medium-up--three-fifths {
    width: 60%;
  }
  .medium-up--four-fifths {
    width: 80%;
  }
  .grid--uniform .medium-up--one-fifth:nth-of-type(5n + 1) {
    clear: both;
  }
  .medium-up--one-sixth {
    width: 16.66667%;
  }
  .medium-up--two-sixths {
    width: 33.33333%;
  }
  .medium-up--three-sixths {
    width: 50%;
  }
  .medium-up--four-sixths {
    width: 66.66667%;
  }
  .medium-up--five-sixths {
    width: 83.33333%;
  }
  .grid--uniform .medium-up--one-sixth:nth-of-type(6n + 1),
  .grid--uniform .medium-up--three-sixths:nth-of-type(odd),
  .grid--uniform .medium-up--two-sixths:nth-of-type(3n + 1) {
    clear: both;
  }
}

.show {
  display: block !important;
}

.hide {
  display: none !important;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

@media only screen and (max-width: 768px) {
  .small--show {
    display: block !important;
  }
  .small--hide {
    display: none !important;
  }
  .small--text-left {
    text-align: left !important;
  }
  .small--text-right {
    text-align: right !important;
  }
  .small--text-center {
    text-align: center !important;
  }
}

@media only screen and (max-width: 959px) {
  .medium-down--show {
    display: block !important;
  }
  .medium-down--hide {
    display: none !important;
  }
  .medium-down--text-left {
    text-align: left !important;
  }
  .medium-down--text-right {
    text-align: right !important;
  }
  .medium-down--text-center {
    text-align: center !important;
  }
}

@media only screen and (min-width: 769px) {
  .medium-up--show {
    display: block !important;
  }
  .medium-up--hide {
    display: none !important;
  }
  .medium-up--text-left {
    text-align: left !important;
  }
  .medium-up--text-right {
    text-align: right !important;
  }
  .medium-up--text-center {
    text-align: center !important;
  }
}

.flex-grid {
  display: flex;
  flex: 1 1 100%;
  flex-wrap: wrap;
}

[data-center-text="center"] .flex-grid {
  justify-content: center;
}

.flex-grid--center {
  align-items: center;
}

.flex-grid--gutters {
  margin-left: -15px;
  margin-top: -15px;
}

.flex-grid__item {
  align-items: stretch;
  display: flex;
  flex: 0 1 100%;
}

.flex-grid--gutters .flex-grid__item {
  padding-left: 15px;
  padding-top: 15px;
}

.flex-grid__item > * {
  flex: 1 1 100%;
}

.flex-grid__item--stretch {
  flex: 1 1 100%;
}

.flex-grid__item--stretch:first-child {
  min-width: 250px;
}

@media only screen and (min-width: 769px) {
  .flex-grid__item--33 {
    flex-basis: 33.33%;
  }

  .flex-grid__item--50 {
    flex-basis: 50%;
  }
}

@media only screen and (max-width: 768px) {
  .flex-grid__item--mobile-second {
    order: 2;
  }
}

.clearfix:after {
  clear: both;
  content: "";
  display: table;
}

html:not(.no-js):not(.tab-outline) :focus {
  outline: none;
}

.is-transitioning {
  display: block !important;
  visibility: visible !important;
}

.display-table {
  display: table;
  table-layout: fixed;
  width: 100%;
}

.display-table-cell {
  display: table-cell;
  float: none;
  vertical-align: middle;
}

@media only screen and (min-width: 769px) {
  .medium-up--display-table {
    display: table;
    table-layout: fixed;
    width: 100%;
  }

  .medium-up--display-table-cell {
    display: table-cell;
    float: none;
    vertical-align: middle;
  }
}

.visually-hidden {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.visually-invisible {
  opacity: 0 !important;
}

.skip-link:focus {
  clip: auto;
  background-color: var(--colorBody);
  color: var(--colorTextBody);
  height: auto;
  margin: 0;
  opacity: 1;
  padding: 10px;
  transition: none;
  width: auto;
  z-index: 10000;
}

html {
  touch-action: manipulation;
}

html[dir="rtl"] {
  direction: rtl;
}

body,
html {
  background-color: var(--colorBody);
  color: var(--colorTextBody);
}



.page-width {
  margin: 0 auto;
  max-width: 1440px;
}

.page-full,
.page-width {
  padding: 0 36px;
}
.header-wrapper .page-width {
  padding: 0 27px;
}
@media only screen and (min-width: 769px) {
  .page-full,
  .page-width {
    padding: 0 72px;
  }
  .header-wrapper .page-width {
    padding: 0 36px;
  }
}

.page-width--narrow {
  max-width: 1000px;
}

.page-width--tiny {
  max-width: 450px;
}

@media only screen and (max-width: 768px) {
  .page-width--flush-small {
    padding: 0;
  }
}

.page-content,
.shopify-email-marketing-confirmation__container,
.shopify-policy__container {
  padding-bottom: 40px;
  padding-top: 40px;
}

.shopify-policy__container h1 {
font-family: 'Kohinoor Bangla';
font-size: 36px;
font-weight: 700;
line-height: 36px;
letter-spacing: -0.03em;
color: #004976;
  }

  .shopify-policy__container h2, .shopify-policy__container h3, .shopify-policy__container h4 {
font-family: 'Kohinoor Bangla';
font-size: 28px;
font-weight: 500;
line-height: 30px;
letter-spacing: -0.03em;
color: #004976;
margin-bottom: 15px !important;
margin-top: 0 !important;
  }

  .shopify-policy__body> .rte> div>  {

  }

  .shopify-policy__container p,
  .shopify-policy__container a,
  .shopify-policy__container ul,
  .shopify-policy__container li {
    font-size: 16px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: -0.02em !important;
    color: #004976 !important;
  }

    .shopify-policy__container strong {
      margin: 0 0 15px;
    }

@media only screen and (min-width: 769px) {
  .page-content,
  .shopify-email-marketing-confirmation__container,
  .shopify-policy__container {
    padding-bottom: 75px;
    padding-top: 75px;
  }
}

.shopify-email-marketing-confirmation__container {
  text-align: center;
}

.page-content--top,
.page-content--with-blocks {
  padding-bottom: 0;
}

.page-content--bottom {
  padding-top: 0;
}

.main-content {
  display: block;
  min-height: 300px;
}

@media only screen and (min-width: 769px) {
  .main-content {
    min-height: 700px;
  }
}

.template-challange .main-content {
  min-height: 0;
}

.hr--large,
.hr--medium,
.hr--small,
hr {
  border: 0;
  border-top: 1px solid;
  border-top-color: var(--colorBorder);
  height: 1px;
}

.hr--small {
  margin: 15px auto;
}

.hr--medium {
  margin: 25px auto;
}

@media only screen and (min-width: 769px) {
  .hr--medium {
    margin: 35px auto;
  }
}

.hr--large {
  margin: 30px auto;
}

@media only screen and (min-width: 769px) {
  .hr--large {
    margin: 45px auto;
  }
}

.page-blocks + .hr--large,
.page-blocks + [data-section-type="recently-viewed"] .hr--large {
  margin-top: 0;
}

.hr--clear {
  border: 0;
}

@media only screen and (max-width: 768px) {
  .table--responsive thead {
    display: none;
  }

  .table--responsive tr {
    display: block;
  }

  .table--responsive td,
  .table--responsive tr {
    clear: both;
    float: left;
    width: 100%;
  }

  .table--responsive td,
  .table--responsive th {
    display: block;
    padding: 15px;
    text-align: right;
  }

  .table--responsive td:before {
    content: attr(data-label);
    float: left;
    font-size: 12px;
    padding-right: 10px;
  }
}

@media only screen and (max-width: 768px) {
  .table--small-hide {
    display: none !important;
  }

  .table__section + .table__section {
    margin-top: 10px;
    padding-top: 15px;
    position: relative;
  }

  .table__section + .table__section:after {
    border-bottom: 1px solid;
    border-bottom-color: var(--colorBorder);
    content: "";
    display: block;
    left: 15px;
    position: absolute;
    right: 15px;
    top: 0;
  }
}

details summary::-webkit-details-marker {
  display: none;
}

.faux-select,
body,
button,
input,
select,
textarea {
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: var(--typeBodySizeMobile);
  letter-spacing: var(--typeBaseSpacing);
  line-height: var(--typeBaseLineHeight);
  text-rendering: optimizeSpeed;
}

@media only screen and (min-width: 769px) {
  .faux-select,
  body,
  button,
  input,
  select,
  textarea {
    font-size: var(--typeBodySize);
  }
}

body {
  font-weight: var(--typeBaseWeight);
}

p {
  margin: 0 0 15px 0;
}

p img {
  margin: 0;
}

em {
  font-style: italic;
}

b,
strong {
  font-weight: 700;
}

p[data-spam-detection-disclaimer],
small {
  font-size: 0.85em;
}

sub,
sup {
  font-size: 60%;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.5em;
}

.rte blockquote,
blockquote {
  margin: 0;
  padding: 15px 30px 40px;
}

.rte blockquote p,
blockquote p {
  margin-bottom: 0;
}

.rte blockquote p + cite,
blockquote p + cite {
  margin-top: 15px;
}

.rte blockquote cite,
blockquote cite {
  display: block;
}

code,
pre {
  background-color: #faf7f5;
  border: 0 none;
  color: #51ab62;
  font-family: Consolas, monospace;
  font-size: 1em;
  padding: 0 2px;
}

pre {
  margin: 0 0 30px;
  overflow: auto;
  padding: 15px;
}

.label,
label:not(.variant__button-label):not(.text-label) {
  font-size: var(--typeAccentSmallSize);
  letter-spacing: var(--typeUppercaseSpacing);
  text-transform: uppercase;
}

label {
  display: block;
  margin-bottom: 10px;
}

.label-info {
  display: block;
  margin-bottom: 10px;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
  display: block;
  margin: 0 0 10px;
}

@media only screen and (min-width: 769px) {
  .h1,
  .h2,
  .h3,
  .h4,
  .h5,
  .h6,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin: 0 0 15px;
  }
}

.h1 a,
.h2 a,
.h3 a,
.h4 a,
.h5 a,
.h6 a,
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  font-weight: inherit;
  -webkit-text-decoration: none;
  text-decoration: none;
}

.h1,
.h2,
.h3,
h1,
h2,
h3 {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-weight: var(--typeHeaderWeight);
  letter-spacing: var(--typeHeaderSpacing);
  line-height: var(--typeHeaderLineHeight);
}

[data-type_header_capitalize="true"] .h1,
[data-type_header_capitalize="true"] .h2,
[data-type_header_capitalize="true"] .h3,
[data-type_header_capitalize="true"] h1,
[data-type_header_capitalize="true"] h2,
[data-type_header_capitalize="true"] h3 {
  text-transform: uppercase;
}

.h1,
h1 {
  font-size: var(--typeH1SizeMobile);
}

@media only screen and (min-width: 769px) {
  .h1,
  h1 {
    font-size: var(--typeH1Size);
  }
}

.h2,
h2 {
  font-size: var(--typeH2SizeMobile);
}

@media only screen and (min-width: 769px) {
  .h2,
  h2 {
    font-size: var(--typeH2Size);
  }
}

.h3,
h3 {
  font-size: var(--typeH3SizeMobile);
}

@media only screen and (min-width: 769px) {
  .h3,
  h3 {
    font-size: var(--typeH3Size);
  }
}

.h4,
h4 {
  font-size: var(--typeAccentSmallSize);
  letter-spacing: var(--typeUppercaseSpacing);
  text-transform: uppercase;
}

.h5,
.h6,
h5,
h6 {
  font-size: var(--typeAccentSmallSize);
  letter-spacing: var(--typeUppercaseSpacing);
  margin-bottom: 10px;
  text-transform: uppercase;
}

@media only screen and (max-width: 768px) {
  .h5,
  .h6,
  h5,
  h6 {
    margin-bottom: 5px;
  }
}

.subheading {
  letter-spacing: var(--typeUppercaseSpacing);
  text-transform: uppercase;
}

.text-spacing,
.text-spacing.rte:last-child {
  margin-bottom: 15px;
}

@media only screen and (max-width: 768px) {
  .rte table td,
  .rte table th {
    padding: 6px 8px;
  }
}

.collapsible-content .rte table td,
.collapsible-content .rte table th {
  padding: 6px 8px;
}

.comment-author {
  margin-bottom: 0;
}

.comment-date {
  display: block;
  font-size: var(--typeBodySmallSize);
  margin-top: 3px;
}

@media only screen and (max-width: 768px) {
  .comment-date {
    margin-bottom: 15px;
  }
}

.ajaxcart__subtotal {
  font-size: var(--typeAccentSmallSize);
  letter-spacing: var(--typeUppercaseSpacing);
  text-transform: uppercase;
}

.rte .enlarge-text {
  font-size: var(--typeEnlargeTextSize);
  margin: 0;
}

@media only screen and (min-width: 769px) {
  .rte .enlarge-text--offset p {
    padding-right: 15%;
  }

  .text-center .rte .enlarge-text--offset p {
    padding: 0 5%;
  }
}

@media only screen and (min-width: 769px) {
  .table--small-text {
    font-size: var(--typeBodySmallSize);
  }
}

.index-section--footer h3 {
  font-size: 1.5em;
}

html[dir="rtl"] .text-left {
  text-align: right !important;
}

html[dir="rtl"] .text-right {
  text-align: left !important;
}

.icon-and-text {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
}

.icon-and-text .icon {
  flex: 0 0 auto;
}

ol,
ul {
  margin: 0 0 15px 30px;
  padding: 0;
  text-rendering: optimizeLegibility;
}

ol ol {
  list-style: lower-alpha;
}

ol {
  list-style: decimal;
}

ol ol,
ol ul,
ul ol,
ul ul {
  margin: 4px 0 5px 20px;
}

/* li {
  margin-bottom: 0.25em;
} */

ul.square {
  list-style: square outside;
}

ul.disc {
  list-style: disc outside;
}

ol.alpha {
  list-style: lower-alpha outside;
}

.no-bullets {
  list-style: none outside;
  margin-left: 0;
}

.inline-list {
  margin: 0;
  padding: 0;
}

.inline-list li {
  display: inline-block;
  margin-bottom: 0;
  vertical-align: middle;
}

table {
  background: var(--colorBorder);
  border: 0 none;
  border-spacing: 1px;
  position: relative;
  width: 100%;
}

.table-wrapper {
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
  overflow: auto;
}

td,
th {
  background: var(--colorBody);
  border: 0 none;
  padding: 10px 15px;
  text-align: left;
}

html[dir="rtl"] td,
html[dir="rtl"] th {
  text-align: right;
}

th {
  font-weight: 700;
}

.table__title,
th {
  font-weight: 700;
}

.text-link,
a {
  background: transparent;
  color: var(--colorTextBody);
  -webkit-text-decoration: none;
  text-decoration: none;
}

/* .text-link:hover,a:hover{
    color:var(--colorTextBody);
  } */

.text-link {
  background: none;
  border: 0 none;
  display: inline;
  margin: 0;
  padding: 0;
}

.rte a,
.shopify-email-marketing-confirmation__container a,
.shopify-policy__container a {
  color: var(--colorLink);
}

button {
  color: currentColor;
  overflow: visible;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

.btn,
.rte .btn,
.shopify-payment-button .shopify-payment-button__button--unbranded {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: var(--colorBtnPrimary);
  border: 1px solid transparent;
  border-radius: var(--buttonRadius);
  color: var(--colorBtnPrimaryText);
  cursor: pointer;

  display: inline-block;

  font-size: calc(var(--typeBaseSize) - 4px);
  font-size: max(calc(var(--typeBaseSize) - 4px), 13px);
  font-weight: 700;
  letter-spacing: var(--typeUppercaseSpacing);
  line-height: 1.42;
  margin: 0;
  min-width: 90px;
  padding: 11px 20px;
  text-align: center;
  -webkit-text-decoration: none;
  text-decoration: none;
  text-transform: uppercase;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  vertical-align: middle;
  white-space: normal;
  width: auto;
}

@media only screen and (max-width: 768px) {
  .btn,
  .rte .btn,
  .shopify-payment-button .shopify-payment-button__button--unbranded {
    font-size: calc(var(--typeBaseSize) - 5px);
    font-size: max(calc(var(--typeBaseSize) - 5px), 11px);
    padding: 9px 17px;
  }
}

.btn:hover,
.rte .btn:hover,
.shopify-payment-button .shopify-payment-button__button--unbranded:hover {
  background-color: var(--colorBtnPrimary);
  color: var(--colorBtnPrimaryText);
}

.btn.disabled,
.btn[disabled],
.rte .btn.disabled,
.rte .btn[disabled],
.shopify-payment-button .shopify-payment-button__button--unbranded.disabled,
.shopify-payment-button .shopify-payment-button__button--unbranded[disabled] {
  background-color: #f6f6f6;
  color: #b6b6b6;
  cursor: default;
}

.btn.disabled:hover,
.btn[disabled]:hover,
.rte .btn.disabled:hover,
.rte .btn[disabled]:hover,
.shopify-payment-button
  .shopify-payment-button__button--unbranded.disabled:hover,
.shopify-payment-button
  .shopify-payment-button__button--unbranded[disabled]:hover {
  background-color: #f6f6f6;
  color: #b6b6b6;
}

[data-button_style="angled"] .btn.disabled:after,
[data-button_style="angled"] .btn.disabled:before,
[data-button_style="angled"] .btn[disabled]:after,
[data-button_style="angled"] .btn[disabled]:before,
[data-button_style="angled"] .rte .btn.disabled:after,
[data-button_style="angled"] .rte .btn.disabled:before,
[data-button_style="angled"] .rte .btn[disabled]:after,
[data-button_style="angled"] .rte .btn[disabled]:before,
[data-button_style="angled"]
  .shopify-payment-button
  .shopify-payment-button__button--unbranded.disabled:after,
[data-button_style="angled"]
  .shopify-payment-button
  .shopify-payment-button__button--unbranded.disabled:before,
[data-button_style="angled"]
  .shopify-payment-button
  .shopify-payment-button__button--unbranded[disabled]:after,
[data-button_style="angled"]
  .shopify-payment-button
  .shopify-payment-button__button--unbranded[disabled]:before {
  background-color: #f6f6f6;
  border-bottom: 1px solid;
  border-bottom-color: #b6b6b6;
  border-top: 1px solid;
  border-top-color: #b6b6b6;
}

[data-button_style="angled"] .btn,
[data-button_style="angled"] .rte .btn,
[data-button_style="angled"]
  .shopify-payment-button
  .shopify-payment-button__button--unbranded {
  border: 0;
  margin-left: 10px;
  margin-right: 10px;
  position: relative;
}

[data-button_style="angled"] .btn:after,
[data-button_style="angled"] .btn:before,
[data-button_style="angled"] .rte .btn:after,
[data-button_style="angled"] .rte .btn:before,
[data-button_style="angled"]
  .shopify-payment-button
  .shopify-payment-button__button--unbranded:after,
[data-button_style="angled"]
  .shopify-payment-button
  .shopify-payment-button__button--unbranded:before {
  background-color: inherit;
  bottom: 0;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  transform: skewX(-12deg);
  width: 20px;
}

[data-button_style="angled"] .btn:before,
[data-button_style="angled"] .rte .btn:before,
[data-button_style="angled"]
  .shopify-payment-button
  .shopify-payment-button__button--unbranded:before {
  left: -6px;
}

[data-button_style="angled"] .btn:after,
[data-button_style="angled"] .rte .btn:after,
[data-button_style="angled"]
  .shopify-payment-button
  .shopify-payment-button__button--unbranded:after {
  right: -6px;
}

[data-button_style="angled"] .btn.btn--small:before,
[data-button_style="angled"] .rte .btn.btn--small:before,
[data-button_style="angled"]
  .shopify-payment-button
  .shopify-payment-button__button--unbranded.btn--small:before {
  left: -5px;
}

[data-button_style="angled"] .btn.btn--small:after,
[data-button_style="angled"] .rte .btn.btn--small:after,
[data-button_style="angled"]
  .shopify-payment-button
  .shopify-payment-button__button--unbranded.btn--small:after {
  right: -5px;
}

[data-button_style="square"]
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(
    .btn--body
  ):not(.btn--static),
[data-button_style="square"]
  .rte
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(
    .btn--body
  ):not(.btn--static),
[data-button_style="square"]
  .shopify-payment-button
  .shopify-payment-button__button--unbranded:not(.btn--secondary):not(
    .btn--tertiary
  ):not(.btn--inverse):not(.btn--body):not(.btn--static),
[data-button_style^="round"]
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(
    .btn--body
  ):not(.btn--static),
[data-button_style^="round"]
  .rte
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(
    .btn--body
  ):not(.btn--static),
[data-button_style^="round"]
  .shopify-payment-button
  .shopify-payment-button__button--unbranded:not(.btn--secondary):not(
    .btn--tertiary
  ):not(.btn--inverse):not(.btn--body):not(.btn--static) {
  overflow: hidden;
  position: relative;
  transition: background 0.2s ease 0s;
}

[data-button_style="square"]
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(
    .btn--body
  ):not(.btn--static):after,
[data-button_style="square"]
  .rte
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(
    .btn--body
  ):not(.btn--static):after,
[data-button_style="square"]
  .shopify-payment-button
  .shopify-payment-button__button--unbranded:not(.btn--secondary):not(
    .btn--tertiary
  ):not(.btn--inverse):not(.btn--body):not(.btn--static):after,
[data-button_style^="round"]
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(
    .btn--body
  ):not(.btn--static):after,
[data-button_style^="round"]
  .rte
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(
    .btn--body
  ):not(.btn--static):after,
[data-button_style^="round"]
  .shopify-payment-button
  .shopify-payment-button__button--unbranded:not(.btn--secondary):not(
    .btn--tertiary
  ):not(.btn--inverse):not(.btn--body):not(.btn--static):after {
  background-image: linear-gradient(
    90deg,
    transparent,
    hsla(0, 0%, 100%, 0.25),
    transparent
  );
  content: "";
  height: 100%;
  left: 150%;
  position: absolute;
  top: 0;
  transform: skewX(-20deg);
  width: 200%;
}

[data-button_style="square"]
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(
    .btn--body
  ):not(.btn--static):hover:after,
[data-button_style="square"]
  .rte
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(
    .btn--body
  ):not(.btn--static):hover:after,
[data-button_style="square"]
  .shopify-payment-button
  .shopify-payment-button__button--unbranded:not(.btn--secondary):not(
    .btn--tertiary
  ):not(.btn--inverse):not(.btn--body):not(.btn--static):hover:after,
[data-button_style^="round"]
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(
    .btn--body
  ):not(.btn--static):hover:after,
[data-button_style^="round"]
  .rte
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(
    .btn--body
  ):not(.btn--static):hover:after,
[data-button_style^="round"]
  .shopify-payment-button
  .shopify-payment-button__button--unbranded:not(.btn--secondary):not(
    .btn--tertiary
  ):not(.btn--inverse):not(.btn--body):not(.btn--static):hover:after {
  animation: shine 0.75s cubic-bezier(0.01, 0.56, 1, 1);
}

[data-button_style="square"]
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(
    .btn--body
  ):not(.btn--static):hover,
[data-button_style="square"]
  .rte
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(
    .btn--body
  ):not(.btn--static):hover,
[data-button_style="square"]
  .shopify-payment-button
  .shopify-payment-button__button--unbranded:not(.btn--secondary):not(
    .btn--tertiary
  ):not(.btn--inverse):not(.btn--body):not(.btn--static):hover,
[data-button_style^="round"]
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(
    .btn--body
  ):not(.btn--static):hover,
[data-button_style^="round"]
  .rte
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(
    .btn--body
  ):not(.btn--static):hover,
[data-button_style^="round"]
  .shopify-payment-button
  .shopify-payment-button__button--unbranded:not(.btn--secondary):not(
    .btn--tertiary
  ):not(.btn--inverse):not(.btn--body):not(.btn--static):hover {
  background: var(--colorBtnPrimaryLight);
  transition-delay: 0.25s;
}

[data-button_style="square"]
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(
    .btn--body
  ):not(.btn--static):active,
[data-button_style="square"]
  .rte
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(
    .btn--body
  ):not(.btn--static):active,
[data-button_style="square"]
  .shopify-payment-button
  .shopify-payment-button__button--unbranded:not(.btn--secondary):not(
    .btn--tertiary
  ):not(.btn--inverse):not(.btn--body):not(.btn--static):active,
[data-button_style^="round"]
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(
    .btn--body
  ):not(.btn--static):active,
[data-button_style^="round"]
  .rte
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):not(
    .btn--body
  ):not(.btn--static):active,
[data-button_style^="round"]
  .shopify-payment-button
  .shopify-payment-button__button--unbranded:not(.btn--secondary):not(
    .btn--tertiary
  ):not(.btn--inverse):not(.btn--body):not(.btn--static):active {
  background: var(--colorBtnPrimary);
  transition-delay: 0s;
}

.shopify-payment-button
  .shopify-payment-button__button--unbranded:hover:not([disabled]) {
  background-color: var(--colorBtnPrimary);
  color: var(--colorBtnPrimaryText);
}

.shopify-payment-button__more-options {
  color: inherit;
}

.btn--secondary,
.rte .btn--secondary {
  background-color: transparent;
  border: 1px solid;
  border-color: var(--colorBorder);
  color: var(--colorTextBody);
}

[data-button_style="angled"] .btn--secondary,
[data-button_style="angled"] .rte .btn--secondary {
  border-bottom: 1px solid;
  border-bottom-color: var(--colorBorder);
  border-left: 0;
  border-right: 0;
  border-top: 1px solid;
  border-top-color: var(--colorBorder);
}

[data-button_style="angled"] .btn--secondary:after,
[data-button_style="angled"] .btn--secondary:before,
[data-button_style="angled"] .rte .btn--secondary:after,
[data-button_style="angled"] .rte .btn--secondary:before {
  background-color: transparent;
  bottom: -1px;
  top: -1px;
}

[data-button_style="angled"] .btn--secondary:before,
[data-button_style="angled"] .rte .btn--secondary:before {
  border-bottom: 1px solid;
  border-bottom-color: var(--colorBorder);
  border-left: 1px solid;
  border-left-color: var(--colorBorder);
}

[data-button_style="angled"] .btn--secondary:after,
[data-button_style="angled"] .rte .btn--secondary:after {
  border-right: 1px solid;
  border-right-color: var(--colorBorder);
  border-top: 1px solid;
  border-top-color: var(--colorBorder);
}

.btn--secondary:hover,
.rte .btn--secondary:hover {
  background-color: transparent;
  border-color: var(--colorTextBody);
  color: var(--colorTextBody);
  transition: border 0.3s ease;
}

.btn--secondary:hover:before,
.rte .btn--secondary:hover:before {
  border-color: var(--colorTextBody);
  transition: border 0.3s ease;
}

.btn--secondary:hover:after,
.rte .btn--secondary:hover:after {
  border-color: var(--colorTextBody);
  transition: border 0.3s ease;
}

.btn--tertiary,
.rte .btn--tertiary {
  background-color: transparent;
  border: 1px solid;
  border-color: var(--colorBorder);
  color: var(--colorTextBody);
  font-weight: 400;
  letter-spacing: normal;
  padding: 8px 10px;
  text-transform: none;
  white-space: nowrap;
}

.btn--tertiary:hover,
.rte .btn--tertiary:hover {
  background-color: transparent;
  color: var(--colorTextBody);
}

.btn--tertiary.disabled,
.btn--tertiary[disabled],
.rte .btn--tertiary.disabled,
.rte .btn--tertiary[disabled] {
  background-color: #f6f6f6;
  border-color: #b6b6b6;
  color: #b6b6b6;
  cursor: default;
}

[data-button_style="angled"] .btn--tertiary,
[data-button_style="angled"] .rte .btn--tertiary {
  margin-left: 0;
  margin-right: 0;
}

[data-button_style="angled"] .btn--tertiary:after,
[data-button_style="angled"] .btn--tertiary:before,
[data-button_style="angled"] .rte .btn--tertiary:after,
[data-button_style="angled"] .rte .btn--tertiary:before {
  content: none;
}

.btn--tertiary-active {
  background: var(--colorBtnPrimary);
  border-color: var(--colorBtnPrimary);
  color: var(--colorBtnPrimaryText);
}

.btn--tertiary-active:hover {
  background: var(--colorBtnPrimary);
  color: var(--colorBtnPrimaryText);
}

.btn--body {
  background-color: var(--colorBody);
  border: 1px solid;
  border-color: var(--colorBorder);
  color: var(--colorTextBody);
}

.btn--body:active,
.btn--body:hover {
  background-color: var(--colorBody);
  border: 1px solid;
  border-color: var(--colorBorder);
  color: var(--colorTextBody);
}

.btn--circle {
  border-radius: 50%;
  line-height: 1;
  min-width: 0;
  padding: 10px;
}

.btn--circle .icon {
  height: 20px;
  width: 20px;
}

.btn--circle:after,
.btn--circle:before {
  background: none;
  content: none;
  width: auto;
}

.btn--circle.btn--large .icon {
  height: 30px;
  width: 30px;
}

.btn--circle.btn--large {
  padding: 15px;
}

[data-button_style="angled"] .btn--circle {
  border: 1px solid;
  border-color: var(--colorBorder);
}

[data-button_style="angled"] .btn--circle:after,
[data-button_style="angled"] .btn--circle:before {
  display: none;
}

.btn--small {
  background-position: 150% 45%;
  font-size: calc(var(--typeBaseSize) - 6px);
  font-size: max(calc(var(--typeBaseSize) - 6px), 12px);
  min-width: 90px;
  padding: 8px 14px;
}

[data-button_style="angled"] .btn--small {
  margin-left: 10px;
  padding-left: 16px;
  padding-right: 16px;
}

.btn--secondary.btn--small {
  font-weight: 400;
}

.btn--large {
  padding: 15px 20px;
}

.btn--full {
  padding: 11px 20px;
  padding: 13px 20px;
  transition: none;
  width: 100%;
}

[data-button_style="angled"] .btn--full {
  max-width: 94%;
}

[data-button_style="angled"]
  .shopify-payment-button
  .shopify-payment-button__button--unbranded {
  max-width: 94%;
}

.btn--inverse {
  background-color: transparent;
  border: 2px solid #fff;
  color: #fff;
}

.btn--inverse:focus,
.btn--inverse:hover {
  background-color: transparent;
}

[data-button_style="angled"] .btn--inverse {
  border-bottom: 2px solid;
  border-left: 0;
  border-right: 0;
  border-top: 2px solid;
}

[data-button_style="angled"] .btn--inverse:after,
[data-button_style="angled"] .btn--inverse:before {
  background-color: transparent;
  border-color: #fff;
  bottom: -2px;
  top: -2px;
}

[data-button_style="angled"] .btn--inverse:before {
  border-bottom: 2px solid;
  border-left: 2px solid;
}

[data-button_style="angled"] .btn--inverse:after {
  border-right: 2px solid;
  border-top: 2px solid;
}

.hero__link .btn--inverse {
  border-color: var(--colorHeroText);
  color: var(--colorHeroText);
}

[data-button_style="angled"] .hero__link .btn--inverse:before {
  border-color: var(--colorHeroText);
}

[data-button_style="angled"] .hero__link .btn--inverse:after {
  border-color: var(--colorHeroText);
}

.btn--loading {
  background-color: var(--colorBtnPrimaryDim);
  color: var(--colorBtnPrimaryDim);
  position: relative;
  text-indent: -9999px;
}

.btn--loading:active,
.btn--loading:hover {
  background-color: var(--colorBtnPrimaryDim);
  color: var(--colorBtnPrimaryDim);
}

.btn--loading:before {
  animation: spin 1s linear infinite;
  border: 3px solid;
  border-color: var(--colorBtnPrimaryText);
  border-radius: 50%;
  border-top-color: transparent;
  content: "";
  display: block;
  height: 24px;
  left: 50%;
  margin-left: -12px;
  margin-top: -12px;
  position: absolute;
  top: 50%;
  width: 24px;
}

[data-button_style="angled"] .btn--loading:before {
  border-color: var(--colorBtnPrimaryText) !important;
  border-top-color: transparent !important;
}

[data-button_style="angled"] .btn--loading:before {
  border: 3px solid;
  height: 24px;
  left: 50%;
  top: 50%;
  transform: none;
  width: 24px;
}

[data-button_style="angled"] .btn--loading:after {
  background-color: var(--colorBtnPrimaryDim);
}

[data-button_style="angled"] .btn--loading.btn--secondary:after {
  bottom: 1px;
}

.btn--loading.btn--secondary {
  background: transparent;
  color: var(--colorTextBody);
}

.btn--loading.btn--secondary:before {
  border-color: var(--colorTextBody);
  border-top-color: transparent;
}

.return-link {
  margin-top: 50px;
  padding: 15px 25px;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  .return-link {
    padding: 22px 17px;
    width: 100%;
  }

  [data-button_style="angled"] .return-link {
    width: 90%;
  }
}

.return-link .icon {
  margin-right: 8px;
  width: 20px;
}

.collapsible-trigger-btn {
  text-align: left;
}

[data-center-text="center"] .collapsible-trigger-btn {
  text-align: center;
}

.collapsible-trigger-btn {
  display: block;
  font-size: var(--typeAccentSmallSize);
  letter-spacing: var(--typeUppercaseSpacing);
  padding: 15px 10px 15px 0;
  text-transform: uppercase;
  width: 100%;
}

.collection-sidebar__group .collapsible-trigger-btn {
  text-align: left;
}

.collapsible-trigger-btn--borders {
  border: 1px solid;
  border-color: var(--colorBorder);
  border-bottom: 0;
  padding: 12px;
}

.collapsible-trigger-btn--borders .collapsible-trigger__icon {
  right: 12px;
}

@media only screen and (min-width: 769px) {
  .collapsible-trigger-btn--borders {
    padding: 15px;
  }

  .collapsible-trigger-btn--borders .collapsible-trigger__icon {
    right: 15px;
  }
}

.collapsible-content + .collapsible-trigger-btn--borders {
  margin-top: -1px;
}

.collapsible-trigger-btn--borders
  + .collapsible-content
  .collapsible-content__inner {
  border: 1px solid;
  border-color: var(--colorBorder);
  border-top: 0;
  font-size: var(--typeBodySizeMobile);
  padding: 0 20px 20px;
}

@media only screen and (min-width: 769px) {
  .collapsible-trigger-btn--borders
    + .collapsible-content
    .collapsible-content__inner {
    font-size: var(--typeBodySize);
  }
}

.collapsible-trigger-btn--borders + .collapsible-content--expanded {
  margin-bottom: 30px;
}

.collapsible-trigger-btn--borders + .collapsible-content--expanded:last-child {
  margin-bottom: -1px;
}

.collapsible-trigger-btn--borders-top {
  border-top: 1px solid;
  border-top-color: var(--colorBorder);
}

.shopify-payment-button {
  margin-top: 10px;
}

.shopify-payment-button .shopify-payment-button__button--unbranded {
  display: block;
  transition: none;
  width: 100%;
}

.payment-buttons .add-to-cart,
.payment-buttons .shopify-payment-button,
.payment-buttons .shopify-payment-button__button--unbranded {
  min-height: 50px;
}

.add-to-cart.btn--secondary {
  border: 1px solid;
  border-color: var(--colorTextBody);
}

[data-button_style="angled"] .add-to-cart.btn--secondary {
  border-left: 0;
  border-right: 0;
}

[data-button_style="angled"] .add-to-cart.btn--secondary:after,
[data-button_style="angled"] .add-to-cart.btn--secondary:before {
  border-color: var(--colorTextBody);
}

.add-to-cart.btn--secondary.disabled,
.add-to-cart.btn--secondary[disabled] {
  border-color: #b6b6b6;
}

[data-button_style="angled"] .add-to-cart.btn--secondary.disabled:after,
[data-button_style="angled"] .add-to-cart.btn--secondary.disabled:before,
[data-button_style="angled"] .add-to-cart.btn--secondary[disabled]:after,
[data-button_style="angled"] .add-to-cart.btn--secondary[disabled]:before {
  border-color: #b6b6b6;
}

.shopify-payment-button__button--hidden {
  display: none !important;
}

svg:not(:root) {
  overflow: hidden;
}

iframe {
  max-width: 100%;
}

.video-wrapper {
  height: 0;
  height: auto;
  max-width: 100%;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}

.video-wrapper iframe,
.video-wrapper video {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.video-wrapper--modal {
  width: 1000px;
}

.grid__image-ratio {
  background-color: var(--colorSmallImageBg);
  position: relative;
}

.grid__image-ratio img {
  height: 100%;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
}

.grid__image-ratio img.grid__image-contain {
  -o-object-fit: contain;
  object-fit: contain;
}

.grid__image-ratio:before {
  content: "";
  display: block;
  height: 0;
  width: 100%;
}

.grid__image-ratio .placeholder-svg {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.grid__image-ratio--object {
  opacity: 1;
}

.grid__image-ratio--wide:before {
  padding-bottom: 56.25%;
}

.grid__image-ratio--landscape:before {
  padding-bottom: 75%;
}

.grid__image-ratio--square:before {
  padding-bottom: 100%;
}

.grid__image-ratio--portrait:before {
  padding-bottom: 150%;
}

.image-fit {
  font-family: "object-fit: cover";
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  position: relative;
  width: 100%;
  z-index: 1;
}

.parallax-container {
  height: 160%;
  left: 0;
  position: absolute;
  top: -30%;
  width: 100%;
}

.parallax-image {
  height: 110%;
  left: 0;
  position: absolute;
  top: -5%;
  width: 100%;
}

.parallax-image img {
  display: block;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

form {
  margin: 0;
}

[data-center-text="center"] .form-vertical {
  text-align: center;
}

.form-vertical {
  margin-bottom: 15px;
}

.form-vertical label {
  text-align: left;
}

.inline {
  display: inline;
}

/* @media only screen and (max-width: 959px) {
  input,
  select,
  textarea {
    font-size: 16px !important;
  }
} */

button,
input,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
}

button {
  background: none;
  border: none;
  cursor: pointer;
  display: inline-block;
}

fieldset {
  border: 1px solid;
  border-color: var(--colorBorder);
  padding: 15px;
}

legend {
  border: 0;
  padding: 0;
}

button,
input[type="submit"] {
  cursor: pointer;
}

input,
select,
textarea {
  border: 1px solid;
  border-color: var(--colorBorder);
  border-radius: 0;
  max-width: 100%;
  padding: 8px 10px;
}

input.disabled,
input[disabled],
select.disabled,
select[disabled],
textarea.disabled,
textarea[disabled] {
  border-color: #b6b6b6;
  cursor: default;
}

input.input-full,
select.input-full,
textarea.input-full {
  width: 100%;
}

textarea {
  min-height: 100px;
}

input[type="checkbox"],
input[type="radio"] {
  margin: 0 10px 0 0;
  padding: 0;
  width: auto;
}

input[type="checkbox"] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
}

input[type="radio"] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
}

input[type="image"] {
  padding-left: 0;
  padding-right: 0;
}

.faux-select,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  color: inherit;
  cursor: pointer;
  padding-right: 28px;
  text-indent: 0.01px;
  text-overflow: "";
}

select {
  background-image: var(--urlIcoSelect);
  background-position: 100%;
  background-position: right 10px center;
  background-repeat: no-repeat;
  background-size: 11px;
}

.is-light select {
  background-image: var(--urlIcoSelectWhite);
}

.faux-select .icon {
  height: 11px;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 11px;
}

optgroup {
  font-weight: 700;
}

option {
  background-color: #fff;
  color: #000;
}

option[disabled] {
  color: #ccc;
}

select::-ms-expand {
  display: none;
}

.hidden-label {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

label[for] {
  cursor: pointer;
}

.form-vertical input,
.form-vertical select,
.form-vertical textarea {
  display: block;
  margin-bottom: 30px;
}

.form-vertical .btn,
.form-vertical input[type="checkbox"],
.form-vertical input[type="radio"] {
  display: inline-block;
}

.form-vertical .btn:not(:last-child) {
  margin-bottom: 30px;
}

small {
  display: block;
}

input.error,
textarea.error {
  background-color: #fff6f6;
  border-color: #d02e2e;
  color: #d02e2e;
}

label.error {
  color: #d02e2e;
}

.selector-wrapper label {
  margin-right: 10px;
}

.selector-wrapper + .selector-wrapper {
  margin-top: 15px;
}

.input-group {
  display: flex;
}

.input-group .input-group-btn:first-child .btn,
.input-group .input-group-field:first-child,
.input-group input[type="hidden"]:first-child + .input-group-field {
  border-radius: 0 0 0 0;
}

.input-group .input-group-field:last-child {
  border-radius: 0 0 0 0;
}

.input-group .input-group-btn:first-child .btn,
.input-group input[type="hidden"]:first-child + .input-group-btn .btn {
  border-radius: var(--buttonRadius) 0 0 var(--buttonRadius);
}

.input-group .input-group-btn:last-child .btn {
  border-radius: 0 var(--buttonRadius) var(--buttonRadius) 0;
}

.input-group input::-moz-focus-inner {
  border: 0;
  margin-bottom: -1px;
  margin-top: -1px;
  padding: 0;
}

.input-group-field {
  flex: 1 1 auto;
  margin: 0;
  min-width: 0;
}

.input-group-btn {
  display: flex;
  flex: 0 1 auto;
  margin: 0;
}

.input-group-btn .icon {
  vertical-align: initial;
}

[data-button_style="angled"] .input-group-btn {
  left: -8px;
  position: relative;
}

.icon {
  fill: currentColor;
  display: inline-block;
  height: 20px;
  vertical-align: middle;
  width: 20px;
}

.no-svg .icon {
  display: none;
}

svg.icon circle,
svg.icon ellipse,
svg.icon g,
svg.icon line,
svg.icon path,
svg.icon polygon,
svg.icon polyline,
svg.icon rect,
symbol.icon circle,
symbol.icon ellipse,
symbol.icon g,
symbol.icon line,
symbol.icon path,
symbol.icon polygon,
symbol.icon polyline,
symbol.icon rect {
  fill: inherit;
  stroke: inherit;
}

svg.icon-bag circle,
svg.icon-bag ellipse,
svg.icon-bag g,
svg.icon-bag line,
svg.icon-bag path,
svg.icon-bag polygon,
svg.icon-bag polyline,
svg.icon-bag rect,
svg.icon-bag-minimal circle,
svg.icon-bag-minimal ellipse,
svg.icon-bag-minimal g,
svg.icon-bag-minimal line,
svg.icon-bag-minimal path,
svg.icon-bag-minimal polygon,
svg.icon-bag-minimal polyline,
svg.icon-bag-minimal rect,
svg.icon-cart circle,
svg.icon-cart ellipse,
svg.icon-cart g,
svg.icon-cart line,
svg.icon-cart path,
svg.icon-cart polygon,
svg.icon-cart polyline,
svg.icon-cart rect,
svg.icon-chevron-down circle,
svg.icon-chevron-down ellipse,
svg.icon-chevron-down g,
svg.icon-chevron-down line,
svg.icon-chevron-down path,
svg.icon-chevron-down polygon,
svg.icon-chevron-down polyline,
svg.icon-chevron-down rect,
svg.icon-circle-checkmark circle,
svg.icon-circle-checkmark ellipse,
svg.icon-circle-checkmark g,
svg.icon-circle-checkmark line,
svg.icon-circle-checkmark path,
svg.icon-circle-checkmark polygon,
svg.icon-circle-checkmark polyline,
svg.icon-circle-checkmark rect,
svg.icon-close circle,
svg.icon-close ellipse,
svg.icon-close g,
svg.icon-close line,
svg.icon-close path,
svg.icon-close polygon,
svg.icon-close polyline,
svg.icon-close rect,
svg.icon-email circle,
svg.icon-email ellipse,
svg.icon-email g,
svg.icon-email line,
svg.icon-email path,
svg.icon-email polygon,
svg.icon-email polyline,
svg.icon-email rect,
svg.icon-filter circle,
svg.icon-filter ellipse,
svg.icon-filter g,
svg.icon-filter line,
svg.icon-filter path,
svg.icon-filter polygon,
svg.icon-filter polyline,
svg.icon-filter rect,
svg.icon-gift circle,
svg.icon-gift ellipse,
svg.icon-gift g,
svg.icon-gift line,
svg.icon-gift path,
svg.icon-gift polygon,
svg.icon-gift polyline,
svg.icon-gift rect,
svg.icon-globe circle,
svg.icon-globe ellipse,
svg.icon-globe g,
svg.icon-globe line,
svg.icon-globe path,
svg.icon-globe polygon,
svg.icon-globe polyline,
svg.icon-globe rect,
svg.icon-hamburger circle,
svg.icon-hamburger ellipse,
svg.icon-hamburger g,
svg.icon-hamburger line,
svg.icon-hamburger path,
svg.icon-hamburger polygon,
svg.icon-hamburger polyline,
svg.icon-hamburger rect,
svg.icon-heart circle,
svg.icon-heart ellipse,
svg.icon-heart g,
svg.icon-heart line,
svg.icon-heart path,
svg.icon-heart polygon,
svg.icon-heart polyline,
svg.icon-heart rect,
svg.icon-leaf circle,
svg.icon-leaf ellipse,
svg.icon-leaf g,
svg.icon-leaf line,
svg.icon-leaf path,
svg.icon-leaf polygon,
svg.icon-leaf polyline,
svg.icon-leaf rect,
svg.icon-lock circle,
svg.icon-lock ellipse,
svg.icon-lock g,
svg.icon-lock line,
svg.icon-lock path,
svg.icon-lock polygon,
svg.icon-lock polyline,
svg.icon-lock rect,
svg.icon-package circle,
svg.icon-package ellipse,
svg.icon-package g,
svg.icon-package line,
svg.icon-package path,
svg.icon-package polygon,
svg.icon-package polyline,
svg.icon-package rect,
svg.icon-phone circle,
svg.icon-phone ellipse,
svg.icon-phone g,
svg.icon-phone line,
svg.icon-phone path,
svg.icon-phone polygon,
svg.icon-phone polyline,
svg.icon-phone rect,
svg.icon-ribbon circle,
svg.icon-ribbon ellipse,
svg.icon-ribbon g,
svg.icon-ribbon line,
svg.icon-ribbon path,
svg.icon-ribbon polygon,
svg.icon-ribbon polyline,
svg.icon-ribbon rect,
svg.icon-search circle,
svg.icon-search ellipse,
svg.icon-search g,
svg.icon-search line,
svg.icon-search path,
svg.icon-search polygon,
svg.icon-search polyline,
svg.icon-search rect,
svg.icon-shield circle,
svg.icon-shield ellipse,
svg.icon-shield g,
svg.icon-shield line,
svg.icon-shield path,
svg.icon-shield polygon,
svg.icon-shield polyline,
svg.icon-shield rect,
svg.icon-size-chart circle,
svg.icon-size-chart ellipse,
svg.icon-size-chart g,
svg.icon-size-chart line,
svg.icon-size-chart path,
svg.icon-size-chart polygon,
svg.icon-size-chart polyline,
svg.icon-size-chart rect,
svg.icon-tag circle,
svg.icon-tag ellipse,
svg.icon-tag g,
svg.icon-tag line,
svg.icon-tag path,
svg.icon-tag polygon,
svg.icon-tag polyline,
svg.icon-tag rect,
svg.icon-tcwi-bills circle,
svg.icon-tcwi-bills ellipse,
svg.icon-tcwi-bills g,
svg.icon-tcwi-bills line,
svg.icon-tcwi-bills path,
svg.icon-tcwi-bills polygon,
svg.icon-tcwi-bills polyline,
svg.icon-tcwi-bills rect,
svg.icon-tcwi-calendar circle,
svg.icon-tcwi-calendar ellipse,
svg.icon-tcwi-calendar g,
svg.icon-tcwi-calendar line,
svg.icon-tcwi-calendar path,
svg.icon-tcwi-calendar polygon,
svg.icon-tcwi-calendar polyline,
svg.icon-tcwi-calendar rect,
svg.icon-tcwi-cart circle,
svg.icon-tcwi-cart ellipse,
svg.icon-tcwi-cart g,
svg.icon-tcwi-cart line,
svg.icon-tcwi-cart path,
svg.icon-tcwi-cart polygon,
svg.icon-tcwi-cart polyline,
svg.icon-tcwi-cart rect,
svg.icon-tcwi-charity circle,
svg.icon-tcwi-charity ellipse,
svg.icon-tcwi-charity g,
svg.icon-tcwi-charity line,
svg.icon-tcwi-charity path,
svg.icon-tcwi-charity polygon,
svg.icon-tcwi-charity polyline,
svg.icon-tcwi-charity rect,
svg.icon-tcwi-chat circle,
svg.icon-tcwi-chat ellipse,
svg.icon-tcwi-chat g,
svg.icon-tcwi-chat line,
svg.icon-tcwi-chat path,
svg.icon-tcwi-chat polygon,
svg.icon-tcwi-chat polyline,
svg.icon-tcwi-chat rect,
svg.icon-tcwi-cotton circle,
svg.icon-tcwi-cotton ellipse,
svg.icon-tcwi-cotton g,
svg.icon-tcwi-cotton line,
svg.icon-tcwi-cotton path,
svg.icon-tcwi-cotton polygon,
svg.icon-tcwi-cotton polyline,
svg.icon-tcwi-cotton rect,
svg.icon-tcwi-credit-cards circle,
svg.icon-tcwi-credit-cards ellipse,
svg.icon-tcwi-credit-cards g,
svg.icon-tcwi-credit-cards line,
svg.icon-tcwi-credit-cards path,
svg.icon-tcwi-credit-cards polygon,
svg.icon-tcwi-credit-cards polyline,
svg.icon-tcwi-credit-cards rect,
svg.icon-tcwi-gears circle,
svg.icon-tcwi-gears ellipse,
svg.icon-tcwi-gears g,
svg.icon-tcwi-gears line,
svg.icon-tcwi-gears path,
svg.icon-tcwi-gears polygon,
svg.icon-tcwi-gears polyline,
svg.icon-tcwi-gears rect,
svg.icon-tcwi-gift circle,
svg.icon-tcwi-gift ellipse,
svg.icon-tcwi-gift g,
svg.icon-tcwi-gift line,
svg.icon-tcwi-gift path,
svg.icon-tcwi-gift polygon,
svg.icon-tcwi-gift polyline,
svg.icon-tcwi-gift rect,
svg.icon-tcwi-globe circle,
svg.icon-tcwi-globe ellipse,
svg.icon-tcwi-globe g,
svg.icon-tcwi-globe line,
svg.icon-tcwi-globe path,
svg.icon-tcwi-globe polygon,
svg.icon-tcwi-globe polyline,
svg.icon-tcwi-globe rect,
svg.icon-tcwi-hanger circle,
svg.icon-tcwi-hanger ellipse,
svg.icon-tcwi-hanger g,
svg.icon-tcwi-hanger line,
svg.icon-tcwi-hanger path,
svg.icon-tcwi-hanger polygon,
svg.icon-tcwi-hanger polyline,
svg.icon-tcwi-hanger rect,
svg.icon-tcwi-heart circle,
svg.icon-tcwi-heart ellipse,
svg.icon-tcwi-heart g,
svg.icon-tcwi-heart line,
svg.icon-tcwi-heart path,
svg.icon-tcwi-heart polygon,
svg.icon-tcwi-heart polyline,
svg.icon-tcwi-heart rect,
svg.icon-tcwi-lightning-bolt circle,
svg.icon-tcwi-lightning-bolt ellipse,
svg.icon-tcwi-lightning-bolt g,
svg.icon-tcwi-lightning-bolt line,
svg.icon-tcwi-lightning-bolt path,
svg.icon-tcwi-lightning-bolt polygon,
svg.icon-tcwi-lightning-bolt polyline,
svg.icon-tcwi-lightning-bolt rect,
svg.icon-tcwi-location circle,
svg.icon-tcwi-location ellipse,
svg.icon-tcwi-location g,
svg.icon-tcwi-location line,
svg.icon-tcwi-location path,
svg.icon-tcwi-location polygon,
svg.icon-tcwi-location polyline,
svg.icon-tcwi-location rect,
svg.icon-tcwi-open-envelope circle,
svg.icon-tcwi-open-envelope ellipse,
svg.icon-tcwi-open-envelope g,
svg.icon-tcwi-open-envelope line,
svg.icon-tcwi-open-envelope path,
svg.icon-tcwi-open-envelope polygon,
svg.icon-tcwi-open-envelope polyline,
svg.icon-tcwi-open-envelope rect,
svg.icon-tcwi-package circle,
svg.icon-tcwi-package ellipse,
svg.icon-tcwi-package g,
svg.icon-tcwi-package line,
svg.icon-tcwi-package path,
svg.icon-tcwi-package polygon,
svg.icon-tcwi-package polyline,
svg.icon-tcwi-package rect,
svg.icon-tcwi-phone circle,
svg.icon-tcwi-phone ellipse,
svg.icon-tcwi-phone g,
svg.icon-tcwi-phone line,
svg.icon-tcwi-phone path,
svg.icon-tcwi-phone polygon,
svg.icon-tcwi-phone polyline,
svg.icon-tcwi-phone rect,
svg.icon-tcwi-plant circle,
svg.icon-tcwi-plant ellipse,
svg.icon-tcwi-plant g,
svg.icon-tcwi-plant line,
svg.icon-tcwi-plant path,
svg.icon-tcwi-plant polygon,
svg.icon-tcwi-plant polyline,
svg.icon-tcwi-plant rect,
svg.icon-tcwi-recycle circle,
svg.icon-tcwi-recycle ellipse,
svg.icon-tcwi-recycle g,
svg.icon-tcwi-recycle line,
svg.icon-tcwi-recycle path,
svg.icon-tcwi-recycle polygon,
svg.icon-tcwi-recycle polyline,
svg.icon-tcwi-recycle rect,
svg.icon-tcwi-return circle,
svg.icon-tcwi-return ellipse,
svg.icon-tcwi-return g,
svg.icon-tcwi-return line,
svg.icon-tcwi-return path,
svg.icon-tcwi-return polygon,
svg.icon-tcwi-return polyline,
svg.icon-tcwi-return rect,
svg.icon-tcwi-ribbon circle,
svg.icon-tcwi-ribbon ellipse,
svg.icon-tcwi-ribbon g,
svg.icon-tcwi-ribbon line,
svg.icon-tcwi-ribbon path,
svg.icon-tcwi-ribbon polygon,
svg.icon-tcwi-ribbon polyline,
svg.icon-tcwi-ribbon rect,
svg.icon-tcwi-sales-tag circle,
svg.icon-tcwi-sales-tag ellipse,
svg.icon-tcwi-sales-tag g,
svg.icon-tcwi-sales-tag line,
svg.icon-tcwi-sales-tag path,
svg.icon-tcwi-sales-tag polygon,
svg.icon-tcwi-sales-tag polyline,
svg.icon-tcwi-sales-tag rect,
svg.icon-tcwi-shield circle,
svg.icon-tcwi-shield ellipse,
svg.icon-tcwi-shield g,
svg.icon-tcwi-shield line,
svg.icon-tcwi-shield path,
svg.icon-tcwi-shield polygon,
svg.icon-tcwi-shield polyline,
svg.icon-tcwi-shield rect,
svg.icon-tcwi-shirt circle,
svg.icon-tcwi-shirt ellipse,
svg.icon-tcwi-shirt g,
svg.icon-tcwi-shirt line,
svg.icon-tcwi-shirt path,
svg.icon-tcwi-shirt polygon,
svg.icon-tcwi-shirt polyline,
svg.icon-tcwi-shirt rect,
svg.icon-tcwi-sparkle circle,
svg.icon-tcwi-sparkle ellipse,
svg.icon-tcwi-sparkle g,
svg.icon-tcwi-sparkle line,
svg.icon-tcwi-sparkle path,
svg.icon-tcwi-sparkle polygon,
svg.icon-tcwi-sparkle polyline,
svg.icon-tcwi-sparkle rect,
svg.icon-tcwi-stopwatch circle,
svg.icon-tcwi-stopwatch ellipse,
svg.icon-tcwi-stopwatch g,
svg.icon-tcwi-stopwatch line,
svg.icon-tcwi-stopwatch path,
svg.icon-tcwi-stopwatch polygon,
svg.icon-tcwi-stopwatch polyline,
svg.icon-tcwi-stopwatch rect,
svg.icon-tcwi-store circle,
svg.icon-tcwi-store ellipse,
svg.icon-tcwi-store g,
svg.icon-tcwi-store line,
svg.icon-tcwi-store path,
svg.icon-tcwi-store polygon,
svg.icon-tcwi-store polyline,
svg.icon-tcwi-store rect,
svg.icon-tcwi-sun circle,
svg.icon-tcwi-sun ellipse,
svg.icon-tcwi-sun g,
svg.icon-tcwi-sun line,
svg.icon-tcwi-sun path,
svg.icon-tcwi-sun polygon,
svg.icon-tcwi-sun polyline,
svg.icon-tcwi-sun rect,
svg.icon-tcwi-thumbs-up circle,
svg.icon-tcwi-thumbs-up ellipse,
svg.icon-tcwi-thumbs-up g,
svg.icon-tcwi-thumbs-up line,
svg.icon-tcwi-thumbs-up path,
svg.icon-tcwi-thumbs-up polygon,
svg.icon-tcwi-thumbs-up polyline,
svg.icon-tcwi-thumbs-up rect,
svg.icon-tcwi-trophy circle,
svg.icon-tcwi-trophy ellipse,
svg.icon-tcwi-trophy g,
svg.icon-tcwi-trophy line,
svg.icon-tcwi-trophy path,
svg.icon-tcwi-trophy polygon,
svg.icon-tcwi-trophy polyline,
svg.icon-tcwi-trophy rect,
svg.icon-tcwi-truck circle,
svg.icon-tcwi-truck ellipse,
svg.icon-tcwi-truck g,
svg.icon-tcwi-truck line,
svg.icon-tcwi-truck path,
svg.icon-tcwi-truck polygon,
svg.icon-tcwi-truck polyline,
svg.icon-tcwi-truck rect,
svg.icon-tcwi-wallet circle,
svg.icon-tcwi-wallet ellipse,
svg.icon-tcwi-wallet g,
svg.icon-tcwi-wallet line,
svg.icon-tcwi-wallet path,
svg.icon-tcwi-wallet polygon,
svg.icon-tcwi-wallet polyline,
svg.icon-tcwi-wallet rect,
svg.icon-truck circle,
svg.icon-truck ellipse,
svg.icon-truck g,
svg.icon-truck line,
svg.icon-truck path,
svg.icon-truck polygon,
svg.icon-truck polyline,
svg.icon-truck rect,
svg.icon-user circle,
svg.icon-user ellipse,
svg.icon-user g,
svg.icon-user line,
svg.icon-user path,
svg.icon-user polygon,
svg.icon-user polyline,
svg.icon-user rect {
  fill: none;
  stroke-width: var(--iconWeight);
  stroke: currentColor;
  stroke-linecap: var(--iconLinecaps);
  stroke-linejoin: var(--iconLinecaps);
}

svg.icon-cart circle {
  fill: currentColor;
}

.icon__fallback-text {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.js-drawer-open {
  overflow: hidden;
}

.drawer {
  -webkit-overflow-scrolling: touch;
  background-color: var(--colorDrawers);
  bottom: 0;
  color: var(--colorDrawerText);
  display: none;
  max-width: 100%;
  overflow: hidden;
  position: fixed;
  top: 0;
  transition: transform 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
  z-index: 30;
}

@media screen and (max-height: 400px) {
  .drawer {
    overflow: scroll;
  }

  .drawer .drawer__contents {
    height: auto;
  }
}

.drawer a:not(.btn) {
  color: var(--colorDrawerText);
}

.drawer a:not(.btn):hover {
  color: var(--colorDrawerText);
}

.drawer input,
.drawer textarea {
  border-color: var(--colorDrawerBorder);
}

.drawer .btn {
  background-color: var(--colorDrawerButton);
  color: var(--colorDrawerButtonText);
}

.drawer--left {
  left: -100%;
  width: 100%;
}

.drawer--left.drawer--is-open {
  display: block;
  transform: translateX(100%);
  transition-duration: 0.45s;
}

.drawer--right {
  right: -350px;
  width: 350px;
}


html.js-drawer-open--nav #SiteHeader {
  z-index: 35;
}


@media only screen and (min-width: 769px) {
  .drawer--right {
    right: -450px;
    width: 450px;
  }
}

.drawer--right.drawer--is-open {
  display: block;
  transform: translateX(-350px);
  transition-duration: 0.45s;
}

@media only screen and (min-width: 769px) {
  .drawer--right.drawer--is-open {
    transform: translateX(-450px);
  }
}

#NavDrawer.drawer {
  top: var(--nav-drawer-top, 0px);
  bottom: 0;
  height: auto;
  max-height: none;
}

html.js-drawer-open--nav #SiteHeader {
  z-index: 35;
}

.js-drawer-open-nav .icon-nav-close-custtom {
  display: none;
}

.js-drawer-open-nav .icon-hamburger-custtom {
  display: inline-block;
  width: 44px;
  height: 20px;
}

html.js-drawer-open--nav .js-drawer-open-nav .icon-hamburger-custtom {
  display: none;
}

html.js-drawer-open--nav .js-drawer-open-nav .icon-nav-close-custtom {
  display: inline-block;
  margin-top: 0;
}
.js-drawer-open-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.js-drawer-closing .main-content:after,
.js-drawer-open .main-content:after {
  /* background-color:var(--colorModalBg); */
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  opacity: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 26;
  content: none;
}

.js-drawer-open .main-content:after {
  animation: overlay-on 0.35s forwards;
}

.js-drawer-closing .main-content:after {
  animation: overlay-off 0.25s forwards;
}

.drawer__fixed-header,
.drawer__footer,
.drawer__header,
.drawer__scrollable {
  padding-left: var(--drawer-gutter);
  padding-right: var(--drawer-gutter);
}

.drawer__header {
  border-bottom: 1px solid;
  border-bottom-color: var(--colorDrawerBorder);
  display: table;
  margin-bottom: 0;
  min-height: 70px;
  padding: 11.53846px 0;
  width: 100%;
}

.drawer__fixed-header {
  min-height: 70px;
  overflow: visible;
  display: none;
}

.drawer__fixed-header,
.drawer__header {
  height: auto;
}

@media only screen and (min-width: 769px) {
  .drawer__fixed-header,
  .drawer__header {
    min-height: 80px;
  }
}

.drawer__close,
.drawer__title {
  display: table-cell;
  vertical-align: middle;
}

.drawer__title {
  width: 100%;
}

.drawer__close {
  text-align: center;
  width: 1%;
}

.drawer__close-button {
  color: inherit;
  height: 100%;
  padding: 0 var(--drawer-gutter);
  position: relative;
  right: calc(var(--drawer-gutter) * -1);
}

.drawer__close-button:active {
  background-color: var(--colorDrawersDim);
}

.drawer__close-button .icon {
  height: 28px;
  width: 28px;
}

.drawer__close--left {
  text-align: left;
}

.drawer__close--left .drawer__close-button {
  left: calc(var(--drawer-gutter) * -1);
  right: auto;
}

.drawer__contents {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.drawer__inner,
.drawer__scrollable {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  overflow-y: hidden;
}

.drawer__scrollable {
  -webkit-overflow-scrolling: touch;
  overflow: hidden;
  overflow-y: auto;
  padding-top: var(--drawer-gutter);
  justify-content: space-between;
  padding: 36px;
}

.drawer__footer {
  border-top: 1px solid;
  border-top-color: var(--colorDrawerBorder);
  padding-bottom: var(--drawer-gutter);
  padding-top: 15px;
}

@media only screen and (min-width: 769px) {
  .drawer__footer {
    padding-top: 22.22222px;
  }
}

.drawer__inner.is-loading .drawer__scrollable {
  opacity: 0.4;
  transition: opacity 0.3s ease 0.7s;
}

.cart-notes {
  height: 60px;
  margin-bottom: 10px;
  margin-top: 10px;
  min-height: 60px;
}

@media only screen and (min-width: 769px) {
  .cart-notes {
    height: 80px;
    min-height: 80px;
  }
}

.placeholder-svg {
  fill: #999;
  background-color: #e1e1e1;
  display: block;
  height: 100%;
  max-height: 100%;
  max-width: 100%;
  padding: 30px 0;
  width: 100%;
}

.placeholder-noblocks {
  padding: 40px;
  text-align: center;
}

.placeholder-content {
  animation: placeholder-shimmer 1.3s linear infinite;
  background-size: 400% 100%;
  border-radius: 4px;
  margin-bottom: 20px;
  overflow: hidden;
}

@media only screen and (max-width: 768px) {
  .placeholder-content {
    margin-left: auto;
    margin-right: auto;
  }
}

.animation-delay-20 {
  animation-delay: 1.2s;
}

.animation-delay-19 {
  animation-delay: 1.14s;
}

.animation-delay-18 {
  animation-delay: 1.08s;
}

.animation-delay-17 {
  animation-delay: 1.02s;
}

.animation-delay-16 {
  animation-delay: 0.96s;
}

.animation-delay-15 {
  animation-delay: 0.9s;
}

.animation-delay-14 {
  animation-delay: 0.84s;
}

.animation-delay-13 {
  animation-delay: 0.78s;
}

.animation-delay-12 {
  animation-delay: 0.72s;
}

.animation-delay-11 {
  animation-delay: 0.66s;
}

.animation-delay-10 {
  animation-delay: 0.6s;
}

.animation-delay-9 {
  animation-delay: 0.54s;
}

.animation-delay-8 {
  animation-delay: 0.48s;
}

.animation-delay-7 {
  animation-delay: 0.42s;
}

.animation-delay-6 {
  animation-delay: 0.36s;
}

.animation-delay-5 {
  animation-delay: 0.3s;
}

.animation-delay-4 {
  animation-delay: 0.24s;
}

.animation-delay-3 {
  animation-delay: 0.18s;
}

.animation-delay-2 {
  animation-delay: 0.12s;
}

.appear-delay-20 {
  transition:
    transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.3s,
    opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.4s;
}

.appear-delay-19 {
  transition:
    transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.24s,
    opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.34s;
}

.appear-delay-18 {
  transition:
    transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.18s,
    opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.28s;
}

.appear-delay-17 {
  transition:
    transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.12s,
    opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.22s;
}

.appear-delay-16 {
  transition:
    transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.06s,
    opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.16s;
}

.appear-delay-15 {
  transition:
    transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1s,
    opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.1s;
}

.appear-delay-14 {
  transition:
    transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.94s,
    opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.04s;
}

.appear-delay-13 {
  transition:
    transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.88s,
    opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.98s;
}

.appear-delay-12 {
  transition:
    transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.82s,
    opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.92s;
}

.appear-delay-11 {
  transition:
    transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.76s,
    opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.86s;
}

.appear-delay-10 {
  transition:
    transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.7s,
    opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.8s;
}

.appear-delay-9 {
  transition:
    transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.64s,
    opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.74s;
}

.appear-delay-8 {
  transition:
    transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.58s,
    opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.68s;
}

.appear-delay-7 {
  transition:
    transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.52s,
    opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.62s;
}

.appear-delay-6 {
  transition:
    transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.46s,
    opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.56s;
}

.appear-delay-5 {
  transition:
    transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.4s,
    opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.5s;
}

.appear-delay-4 {
  transition:
    transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.34s,
    opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.44s;
}

.appear-delay-3 {
  transition:
    transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.28s,
    opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.38s;
}

.appear-delay-2 {
  transition:
    transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.22s,
    opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.32s;
}

.appear-delay-1 {
  transition:
    transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.1s,
    opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0.2s;
}

.animation-cropper {
  display: inline-flex;
  overflow: hidden;
}

.image-wrap {
  background: var(--colorSmallImageBg);
  overflow: hidden;
  position: relative;
}

.image-wrap .animate-me,
.image-wrap svg {
  opacity: 0;
}

.no-js .image-wrap .animate-me,
.no-js .image-wrap svg {
  opacity: 1;
}

.aos-animate .image-wrap .animate-me,
.aos-animate .image-wrap svg {
  animation: fade-in 1s cubic-bezier(0.26, 0.54, 0.32, 1) 0s forwards;
}

.aos-animate[data-aos="row-of-3"]:nth-child(3n + 2) .image-wrap img {
  animation-delay: 150ms;
}

.aos-animate[data-aos="row-of-3"]:nth-child(3n + 3) .image-wrap img {
  animation-delay: 300ms;
}

.aos-animate[data-aos="row-of-4"]:nth-child(4n + 2) .image-wrap img {
  animation-delay: 120ms;
}

.aos-animate[data-aos="row-of-4"]:nth-child(4n + 3) .image-wrap img {
  animation-delay: 240ms;
}

.aos-animate[data-aos="row-of-4"]:nth-child(4n + 4) .image-wrap img {
  animation-delay: 360ms;
}

.aos-animate[data-aos="row-of-5"]:nth-child(5n + 2) .image-wrap img {
  animation-delay: 75ms;
}

.aos-animate[data-aos="row-of-5"]:nth-child(5n + 3) .image-wrap img {
  animation-delay: 150ms;
}

.aos-animate[data-aos="row-of-5"]:nth-child(5n + 4) .image-wrap img {
  animation-delay: 225ms;
}

.aos-animate[data-aos="row-of-5"]:nth-child(5n + 5) .image-wrap img {
  animation-delay: 300ms;
}

.aos-animate[data-aos="row-of-6"]:nth-child(6n + 2) .image-wrap img {
  animation-delay: 50ms;
}

.aos-animate[data-aos="row-of-6"]:nth-child(6n + 3) .image-wrap img {
  animation-delay: 100ms;
}

.aos-animate[data-aos="row-of-6"]:nth-child(6n + 4) .image-wrap img {
  animation-delay: 150ms;
}

.aos-animate[data-aos="row-of-6"]:nth-child(6n + 5) .image-wrap img {
  animation-delay: 200ms;
}

.aos-animate[data-aos="row-of-6"]:nth-child(6n + 6) .image-wrap img {
  animation-delay: 250ms;
}

.aos-animate[data-aos="row-of-3"]:nth-child(3n + 2) .collection-image {
  animation-delay: 150ms;
}

.aos-animate[data-aos="row-of-3"]:nth-child(3n + 3) .collection-image {
  animation-delay: 300ms;
}

.aos-animate[data-aos="row-of-4"]:nth-child(4n + 2) .collection-image {
  animation-delay: 120ms;
}

.aos-animate[data-aos="row-of-4"]:nth-child(4n + 3) .collection-image {
  animation-delay: 240ms;
}

.aos-animate[data-aos="row-of-4"]:nth-child(4n + 4) .collection-image {
  animation-delay: 360ms;
}

.aos-animate[data-aos="row-of-5"]:nth-child(5n + 2) .collection-image {
  animation-delay: 75ms;
}

.aos-animate[data-aos="row-of-5"]:nth-child(5n + 3) .collection-image {
  animation-delay: 150ms;
}

.aos-animate[data-aos="row-of-5"]:nth-child(5n + 4) .collection-image {
  animation-delay: 225ms;
}

.aos-animate[data-aos="row-of-5"]:nth-child(5n + 5) .collection-image {
  animation-delay: 300ms;
}

.aos-animate[data-aos="row-of-6"]:nth-child(6n + 2) .collection-image {
  animation-delay: 50ms;
}

.aos-animate[data-aos="row-of-6"]:nth-child(6n + 3) .collection-image {
  animation-delay: 100ms;
}

.aos-animate[data-aos="row-of-6"]:nth-child(6n + 4) .collection-image {
  animation-delay: 150ms;
}

.aos-animate[data-aos="row-of-6"]:nth-child(6n + 5) .collection-image {
  animation-delay: 200ms;
}

.aos-animate[data-aos="row-of-6"]:nth-child(6n + 6) .collection-image {
  animation-delay: 250ms;
}

.loading:after,
.loading:before,
.unload:after,
.unload:before {
  background: var(--colorBody);
  content: "";
  height: 3px;
  left: 50%;
  margin: -1px 0 0 -50px;
  opacity: 0;
  position: absolute;
  top: 50%;
  width: 100px;
  z-index: 4;
}

.no-js .loading:after,
.no-js .loading:before,
.no-js .unload:after,
.no-js .unload:before {
  display: none;
}

.loading:before,
.unload:before {
  background: var(--colorTextBody);
  opacity: 1;
}

.loading:after,
.unload:after {
  animation: preloading 0.5s ease 0.3s infinite;
  opacity: 0;
}

.loading--delayed:before {
  animation-delay: 0.8s !important;
  animation-duration: 1s !important;
}

.loading--delayed:after {
  animation-delay: 1.3s !important;
}

.appear-animation {
  opacity: 0;
  transform: translateY(60px);
}

[data-disable-animations="true"] .appear-animation {
  opacity: 1;
  transform: none;
}

.js-drawer-open .appear-animation {
  opacity: 1;
  transform: translateY(0px);
}

.js-drawer-closing .appear-animation {
  transition-delay: 0.5s;
  transition-duration: 0s;
}

tool-tip[data-tool-tip-open="true"] .tool-tip__inner {
  padding: 45px;
}

@media only screen and (max-width: 768px) {
  tool-tip[data-tool-tip-open="true"] .tool-tip__inner {
    padding: 45px 20px 20px;
  }
}

.tool-tip__close {
  padding: 10px;
}

[data-center-text="center"]
  product-recommendations[data-intent="complementary"]
  .grid-product__colors {
  justify-content: flex-start;
}

@media only screen and (max-width: 768px) {
  predictive-search .search__results {
    margin-left: -20px;
    margin-right: -10px;
    width: calc(100% + 30px);
  }
}

@media only screen and (max-width: 768px) {
  predictive-search form {
    margin: 0 10px 0 20px;
  }
}

[data-center-text="center"] .footer-promotions {
  text-align: center;
}

@media only screen and (max-width: 768px) {
  .footer-promotions .grid__item {
    margin-bottom: 32px;
  }

  .footer-promotions .grid__item:last-child {
    margin-bottom: 0;
  }
}

.site-footer {
  background-color: var(--colorFooter);
  color: var(--colorFooterText);
  padding-bottom: 30px;
}

@media only screen and (min-width: 769px) {
  .site-footer {
    padding-bottom: 72px;
    padding-top: 72px;
  }
}

.site-footer .footer__collapsible {
  font-size: var(--typeBodySmallSize);
}

@media only screen and (min-width: 769px) {
  .site-footer input,
  .site-footer select,
  .site-footer textarea {
    font-size: var(--typeBodySmallSize);
  }
}

@media only screen and (max-width: 768px) {
  [data-center-text="center"] .site-footer {
    text-align: center;
  }

  .site-footer {
    padding-bottom: 36px;
    padding-top: 36px;
  }
  .site-footer .grid__item:after {
    /* border-bottom:1px solid;
        border-bottom-color:var(--colorFooterText); */
    content: "";
    display: block;
    opacity: 0.12;
  }

  .site-footer .grid__item:last-child:after {
    display: none;
  }

  .site-footer button.footer__title {
    margin: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0 18px;
  }
}

.site-footer a {
  color: var(--colorFooterText);
}

.footer__small-text {
  font-size: var(--typeBodyExtraSmallSize);
  margin: 0;
  padding: 7.5px 0;
  text-align: center;
}

ul + .footer__small-text {
  padding-top: 15px;
}

.footer__clear {
  clear: both;
  height: 30px;
}

.footer__section {
  margin-bottom: 15px;
}

@media only screen and (min-width: 769px) {
  .footer__section {
    margin-bottom: 0;
    margin-top: 30px;
  }
}

@media only screen and (min-width: 769px) {
  .footer__item-padding {
    padding-right: 60px;
  }
}

.footer__title {
  font-family: "Helvetica LT Std";
  color: var(--colorFooterText);
  font-weight: 700;
  font-size: 16px;
  line-height: 16px;
  letter-spacing: 0.03em;
  margin-bottom: 18px;
}

@media only screen and (min-width: 769px) {
  .footer__title {
    margin-bottom: 9px;
  }
}

@media only screen and (max-width: 768px) {
  [data-center-text="center"] .footer__title {
    text-align: center;
  }

  .footer-copyright-text-container {
  margin: 18px 0 0;
}
}
#Footer-newsletter p {
  margin-bottom: 24px;
  margin-top: 9px;
  font-family: 'Helvetica Neue';
  font-weight: 400;
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 0;
  color: #ffffff;
}
.site-footer__linklist {
  margin: 0;
}

.site-footer__linklist a {
  color: currentColor;
  display: inline-block;
  padding: 9px 0;
  font-weight: 400;
  font-size: 16px;
  line-height: 16px;
  letter-spacing: -0.02em;
}

.footer-copyright-text-inner,
.footer-copyright-text-container {
  letter-spacing: -0.02em;
  color: #ffffff;
}
.footer-copyright-text-inner a {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.footer__newsletter {
  display: inline-block;
  position: relative;
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap:9px;
}

.footer__newsletter-input {
  background-color: #ffffff;
  border: 0;
  border-radius: 0;
  color: #004976;
  min-width: 200px;
  flex: 1;
  padding: 3px 9px;
  width: 100%;
  font-family: "Helvetica Neue";
  font-weight: 400;
  font-size: 16px !important;
  line-height: 20px;
  letter-spacing: 0;
}

.footer__newsletter-input:focus {
  border: 0;
  border-bottom: 2px solid;
  border-bottom-color: var(--colorFooterText);
}

.footer__newsletter-input::-webkit-input-placeholder {
  color: var(--colorFooterText);
  opacity: 1;
}

.footer__newsletter-input:-moz-placeholder {
  color: var(--colorFooterText);
  opacity: 1;
}

.footer__newsletter-input::-moz-placeholder {
  color: var(--colorFooterText);
  opacity: 1;
}

.footer__newsletter-input:-ms-input-placeholder {
  color: var(--colorFooterText);
  opacity: 1;
}

.footer__newsletter-input::-ms-input-placeholder {
  color: var(--colorFooterText);
  opacity: 1;
}

.footer__newsletter-input--active {
  padding-right: 80px;
}

.footer__newsletter-btn {
  background-color: #78bdd4;
  color: #004976;
  padding: 4px 9px;
  border-radius: var(--buttonRadius);
  flex: 0 0 60px;
}
.footer__newsletter-btn:hover {
  background-color: #005B93;
  color: #FFFFFF;
}
.footer__newsletter-btn .icon {
  height: 24px;
  width: 26px;
}

.footer__newsletter-input--active + .footer__newsletter-btn .icon {
  display: none;
}

.footer__newsletter-input--active
  + .footer__newsletter-btn
  .footer__newsletter-btn-label {
  display: block;
}

.footer__newsletter-btn-label {
  font-family: "Helvetica Neue";
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0;
}

.footer__newsletter-message.note--success {
  background: transparent;
  border: 0;
  color: #ffffff;
  margin: 0 0 9px;
  padding: 0;
  font-family: "Helvetica Neue";
  font-weight: 400;
  font-size: 16px;
  line-height: 20px;
  letter-spacing: -0.02em;
}

.footer__logo {
  margin: 15px 0;
}

@media only screen and (min-width: 769px) {
  .footer__logo {
    margin: 0 0 20px;
  }
}

.footer__logo a {
  display: block;
  max-width: 325px;
}

.footer__logo img {
  display: inline-block;
  max-height: 100%;
  transform: translateZ(0);
  max-width: 271px;
}

@media (max-width: 768px) {
  .footer__logo img {
    max-width: 100%;
  }
}

.footer__social {
  margin: 0;
}

form + .footer__social {
  margin-top: 36px;
  display: flex;
  align-items: center;
  gap: 18px;
}

.footer__social li {
  display: inline-block;
  margin: 0;
}

.footer__social a {
  display: flex;
  align-items: center;
}

.footer__social .icon {
  height: 22px;
  width: 22px;
}

@media only screen and (min-width: 769px) {
  .footer__social .icon {
    height: 24px;
    width: 24px;
  }
}

.footer__social .icon.icon--wide {
  width: 40px;
}

@media only screen and (max-width: 768px) {
  .footer__collapsible {
    padding: 0 0 18px;
  }
}

@media only screen and (max-width: 768px) {
  .footer_collapsible--disabled {
    padding-top: 15px;
  }
}

.collapsible-content__inner p a:after {
  border-bottom: 2px solid;
  border-bottom-color: var(--colorFooterText);
  bottom: -2px;
  content: "";
  left: 0;
  position: absolute;
  transition: width 0.5s ease;
  width: 0;
}

.collapsible-content__inner p a {
  border-bottom: 2px solid;
  border-color: var(--colorFooterTextAlpha01);
  position: relative;
  -webkit-text-decoration: none;
  text-decoration: none;
}

.collapsible-content__inner p a:focus:after,
.collapsible-content__inner p a:hover:after {
  width: 100%;
}

.site-footer select {
  background-image: var(--urlIcoSelectFooter);
}

[data-center-text="center"] .payment-icons {
  text-align: center;
}

.payment-icons {
  cursor: default;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.payment-icons li {
  cursor: default;
  margin: 0 4px 0;
}

@media only screen and (max-width: 768px) {
  .footer__follow-on-shop {
    margin: 15px 0;
  }
}

.errors,
.note {
  border: 1px solid transparent;
  border-radius: 0;
  margin-bottom: 15px;
  padding: 6px 12px;
  text-align: left;
}

.errors ol,
.errors ul,
.note ol,
.note ul {
  margin-bottom: 0;
  margin-top: 0;
}

.errors li:last-child,
.note li:last-child {
  margin-bottom: 0;
}

.errors p,
.note p {
  margin-bottom: 0;
}

.note {
  border-color: var(--colorBorder);
}

.errors ul {
  list-style: disc outside;
  margin-left: 20px;
}

.note--success {
  background-color: #ecfef0;
  border-color: #56ad6a;
  color: #56ad6a;
}

.note--success a {
  color: #56ad6a;
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

.note--success a:hover {
  -webkit-text-decoration: none;
  text-decoration: none;
}

.errors,
.form-error {
  background-color: #fff6f6;
  border-color: #d02e2e;
  color: #d02e2e;
}

.errors a,
.form-error a {
  color: #d02e2e;
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

.errors a:hover,
.form-error a:hover {
  -webkit-text-decoration: none;
  text-decoration: none;
}

.pagination {
  margin: 0;
  padding: 60px 0;
  text-align: center;
}

.pagination > span {
  display: inline-block;
  line-height: 1;
  vertical-align: middle;
}

.pagination a {
  display: inline-block;
}

.pagination .page.current,
.pagination a {
  padding: 8px 12px;
}

.pagination .page.current {
  opacity: 0.3;
}

.pagination .next,
.pagination .prev {
  background: var(--colorBtnPrimary);
  color: var(--colorBtnPrimaryText);
  margin: 0 10px;
  width: 43px;
}

@media only screen and (max-width: 768px) {
  .pagination .next,
  .pagination .prev {
    width: 35px;
  }
}

.pagination .next a,
.pagination .prev a {
  align-items: center;
  display: flex;
  justify-content: center;
  padding: 15px;
}

.pagination .next .icon,
.pagination .prev .icon {
  color: var(--colorBtnPrimaryText);
  height: 14px;
  width: 13px;
}

@media only screen and (max-width: 768px) {
  .pagination .next .icon,
  .pagination .prev .icon {
    height: 12px;
    width: 12px;
  }
}

.rte {
  margin-bottom: 7.5px;
}

.rte:after {
  clear: both;
  content: "";
  display: table;
}

@media only screen and (min-width: 769px) {
  .rte {
    margin-bottom: 15px;
  }
}

.rte:last-child {
  margin-bottom: 0;
}

.rte + .rte {
  margin-top: 30px;
}

.rte ol,
.rte p,
.rte table,
.rte ul {
  margin-bottom: 15px;
}

@media only screen and (min-width: 769px) {
  .rte ol,
  .rte p,
  .rte table,
  .rte ul {
    margin-bottom: 25px;
  }
}

.rte ol:last-child,
.rte p:last-child,
.rte table:last-child,
.rte ul:last-child {
  margin-bottom: 0;
}

.rte ul ul {
  margin-bottom: 0;
}

.rte h1,
.rte h2,
.rte h3,
.rte h4,
.rte h5,
.rte h6 {
  margin-bottom: 25px;
  margin-top: 60px;
}

.rte h1:first-child,
.rte h2:first-child,
.rte h3:first-child,
.rte h4:first-child,
.rte h5:first-child,
.rte h6:first-child {
  margin-top: 0;
}

.rte h1 a,
.rte h2 a,
.rte h3 a,
.rte h4 a,
.rte h5 a,
.rte h6 a {
  -webkit-text-decoration: none;
  text-decoration: none;
}

.rte meta:first-child + h1,
.rte meta:first-child + h2,
.rte meta:first-child + h3,
.rte meta:first-child + h4,
.rte meta:first-child + h5,
.rte meta:first-child + h6 {
  margin-top: 0;
}

.rte > div {
  margin-bottom: 15px;
}

.rte > div:last-child {
  margin-bottom: 0;
}

.rte li {
  margin-bottom: 0;
}

.rte table {
  table-layout: fixed;
}

.rte--block {
  margin-bottom: 8px;
}

@media only screen and (min-width: 769px) {
  .rte--block {
    margin-bottom: 12px;
  }
}

.rte-setting > p:last-child {
  margin-bottom: 0;
}

.rte a,
.rte-setting a {
  -webkit-text-decoration: none;
  text-decoration: none;
}

.rte img,
.rte-setting img {
  height: auto;
}

.rte a:not(.rte__image):not(.btn),
.rte-setting a:not(.rte__image):not(.btn) {
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0% 2px;
  -webkit-text-decoration: underline;
  text-decoration: underline;
  text-decoration-color: var(--colorTextBodyAlpha015);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: background-size 0.5s ease;
}

.rte a:not(.rte__image):not(.btn):hover,
.rte-setting a:not(.rte__image):not(.btn):hover {
  background-size: 100% 2px;
}

.rte a:not(.btn):focus:after,
.rte a:not(.btn):hover:after,
.rte-setting a:not(.btn):focus:after,
.rte-setting a:not(.btn):hover:after {
  width: 100%;
}

.rte a.rte__image:after,
.rte-setting a.rte__image:after {
  content: none;
}

.text-center .rte ol,
.text-center .rte ul,
.text-center.rte ol,
.text-center.rte ul {
  list-style-position: inside;
  margin-left: 0;
}

.rte--nomargin {
  margin-bottom: 0;
}

.rte b,
.rte strong,
.rte-setting b,
.rte-setting strong {
  font-weight: 700;
}

.header-layout {
  display: flex;
  justify-content: space-between;
}

.header-layout--center {
  align-items: center;
}

.header-item {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
}

.header-item--logo {
  flex: 0 0 auto;
}

.header-item--icons {
  flex: 0 1 auto;
  justify-content: flex-end;
}

@media only screen and (max-width: 768px) {
  .header-item--left,
  .header-item--icons {
    flex: 1 1 0;
  }
  .header-item--logo {
    justify-content: center;
  }
}

.header-layout--left-center .header-item--icons,
.header-layout--left-center .header-item--logo {
  flex: 0 0 200px;
  max-width: 50%;
}

@media only screen and (min-width: 769px) {
  .header-layout--left-center .header-item--icons,
  .header-layout--left-center .header-item--logo {
    min-width: 130px;
  }
}

@media only screen and (min-width: 769px) {
  .header-layout[data-logo-align="center"] .header-item--logo {
    margin: 0 30px;
  }
}

.header-layout[data-logo-align="center"] .header-item--icons,
.header-layout[data-logo-align="center"] .header-item--navigation {
  flex: 1 1 130px;
}

.header-layout[data-logo-align="left"] .site-header__logo {
  margin-right: 10px;
}

.header-item--logo-split {
  align-items: center;
  display: flex;
  flex: 1 1 100%;
  justify-content: center;
}

.header-item--logo-split .header-item:not(.header-item--logo) {
  flex: 1 1 20%;
  text-align: center;
}

.header-item--split-left {
  justify-content: flex-end;
}

.header-item--left .site-nav {
  display: flex;
  align-items: center;
  gap: 36px;
}

@media only screen and (max-width: 768px) {
  .header-item--left .site-nav {
    margin-left: -7.5px;
  }
}

@media only screen and (max-width: 768px) {
  .header-item--icons .site-nav {
    margin-right: -7.5px;
  }
}

.site-header {
  background: var(--colorNav);
  padding: 27px 0;
  position: relative;
}

@media only screen and (min-width: 769px) {
  .site-header {
    padding: 11px 0;
  }

  .toolbar + .header-sticky-wrapper .site-header {
    border-top: 1px solid;
    border-top-color: var(--colorHeaderTextAlpha01);
  }
}

.site-header--stuck {
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  transform: translate3d(0, -100%, 0);
  transition: transform 0.35s ease;
  z-index: 20;
}

.js-drawer-open--search .site-header--stuck {
  z-index: 28;
}

@media only screen and (min-width: 769px) {
  .site-header--stuck {
    padding: 10px 0;
  }
}

@media screen and (min-width: 700px) and (max-height: 550px) {
  .site-header--opening,
  .site-header--stuck {
    position: static;
    transform: none;
    transition: none;
  }
}

.site-header--opening {
  transform: translateZ(0);
  transition: transform 0.35s ease;
}

.has-sticky-announcement-bar .site-header--opening {
  transform: translate3d(0, var(--sticky-announcement-bar-height, 0), 0);
}

.site-header__logo {
  display: block;
  font-size: 30px;
  margin: 0;
  position: relative;
  z-index: 6;
}

@media only screen and (min-width: 769px) {
  .text-center .site-header__logo {
    margin: 10px auto;
    padding-right: 0;
  }
}

.header-layout[data-logo-align="center"] .site-header__logo {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.site-header__logo a {
  max-width: 100%;
}

.site-header__logo a,
.site-header__logo a:hover {
  -webkit-text-decoration: none;
  text-decoration: none;
}

.site-header__logo img {
  display: block;
}

.site-header .site-header__logo img {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  max-width: 176px;
  max-height: 37px;
}

.site-header__logo-link {
  align-items: center;
  color: var(--colorNavText);
  display: flex;
  position: relative;
}

.site-header__logo-link:hover {
  color: var(--colorNavText);
}

@media only screen and (max-width: 768px) {
  .site-header__logo-link {
    margin: 0 auto;
  }
}

.header-sticky-wrapper {
  position: relative;
  z-index: 28;
}

.js-drawer-open:not(.js-drawer-open--search) .header-sticky-wrapper {
  z-index: 6;
}

.header-sticky-wrapper:has(.site-header--stuck):has(details[open]),
.header-sticky-wrapper:not(:has(.header-wrapper--sticky)):has(details[open]) {
  z-index: 30;
}

.header-wrapper--sticky {
  background: none;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, transparent);
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 6;
}

.header-wrapper--sticky .site-header:not(.site-header--stuck) {
  background: none;
}

.js-drawer-open--search .header-wrapper--sticky {
  z-index: 28;
}

.site-header__search-container {
  bottom: 200%;
  display: none;
  height: 100%;
  left: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  z-index: 28;
}

.site-header__search-container.is-active {
  bottom: 0;
  display: block;
  overflow: visible;
}

.site-header__search {
  background-color: var(--colorBody);
  bottom: 0;
  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.1);
  color: var(--colorTextBody);
  display: flex;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform: translate3d(0, -110%, 0);
  z-index: 28;
}

.site-header__search .page-width {
  align-items: stretch;
  display: flex;
  flex: 1 1 100%;
}

@media only screen and (max-width: 768px) {
  .site-header__search .page-width {
    padding: 0;
  }
}

.is-active .site-header__search {
  transform: translateZ(0);
}

.site-header__search .icon {
  height: 30px;
  width: 30px;
}

.site-header__search-input {
  border: 0;
  flex: 1 1 auto;
  width: 100px;
}

.site-header__search-input:focus {
  border: 0;
  outline: 0;
}

.site-header__search-btn {
  padding: 0 15px;
}

@media only screen and (min-width: 769px) {
  .site-header__search-btn--submit {
    padding: 0 15px 0 0;
  }

  .site-header__search-btn--submit .icon {
    height: 28px;
    position: relative;
    top: -1px;
    width: 28px;
  }
}

.predictive-results {
  background-color: var(--colorBody);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.09);
  color: var(--colorTextBody);
  left: 0;
  max-height: 70vh;
  max-height: calc(90vh - 100%);
  overflow: auto;
  position: absolute;
  right: 0;
  top: 100%;
}

@media only screen and (min-width: 769px) {
  .predictive-results {
    max-height: calc(100vh - 100% - 33px);
  }
}

.predictive__label {
  border-bottom: 1px solid;
  border-bottom-color: var(--colorBorder);
  margin-bottom: 20px;
  padding-bottom: 5px;
}

.predictive-result__layout {
  display: flex;
  flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
  padding: 10px;
}

.predictive-result__layout > div {
  margin: 0 10px 30px;
}

.predictive-result__layout > div:last-child {
  margin-bottom: 0;
}

.predictive-result__layout [data-type-products] {
  flex: 1 1 60%;
  margin-bottom: 0;
}

@media only screen and (max-width: 768px) {
  .predictive-result__layout [data-type-products] {
    margin-left: -17px;
  }

  html[dir="rtl"] .predictive-result__layout [data-type-products] {
    margin-left: 0;
    margin-right: -17px;
  }
}

.predictive-result__layout [data-type-products] .grid-product__image {
  height: auto;
  opacity: 1;
}

.predictive-result__layout [data-type-collections],
.predictive-result__layout [data-type-pages] {
  flex: 1 1 200px;
}

.predictive-result__layout [data-type-articles] {
  flex: 1 1 60%;
}

.predictive-result__layout [data-type-articles] .grid-product__link--inline {
  gap: 10px;
}

.predictive__image-wrap {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.predictive__image-wrap img {
  -o-object-position: 50% 0;
  object-position: 50% 0;
}

.predictive-results__footer {
  padding: 0 0 30px;
}

.search-bar {
  max-width: 100%;
}

.search-bar--page {
  margin-top: -15px;
  max-width: 300px;
}

[data-type_headers_align_text="center"] .search-bar--page {
  margin: -15px auto 0;
}

.search-bar--drawer {
  border-bottom: 1px solid;
  border-bottom-color: var(--colorDrawerBorder);
  margin-bottom: 15px;
  padding-bottom: 15px;
}

.search-bar--drawer input {
  border: 0;
}

.search-bar .icon {
  height: 24px;
  vertical-align: middle;
  width: 24px;
}

.toolbar {
  background: var(--colorNav);
  color: var(--colorNavText);
  font-size: var(--typeBodySmallSize);
}

.toolbar a {
  color: var(--colorNavText);
}

.site-header--stuck .toolbar {
  display: none;
}

.toolbar--transparent {
  background-color: transparent;
  border-bottom: none;
  color: #fff;
}

.toolbar--transparent a {
  color: #fff;
}

.toolbar--transparent .toolbar__content {
  border-bottom: 1px solid hsla(0, 0%, 100%, 0.2);
}

.toolbar__content {
  align-items: center;
  display: flex;
  justify-content: flex-end;
}

.toolbar__item {
  flex: 0 1 auto;
  padding: 0 5px;
}

.toolbar__item:first-child {
  padding-left: 0;
}

.toolbar__item:last-child {
  padding-right: 0;
}

.toolbar__item .faux-select,
.toolbar__item select {
  font-size: 14px;
  padding-bottom: 5px;
  padding-left: 5px;
  padding-top: 5px;
}

.toolbar__item--menu {
  flex: 1 1 auto;
}

.toolbar__menu {
  margin-left: -10px;
}

.toolbar__menu a {
  display: block;
  padding: 5px 10px;
}

.toolbar__social {
  text-align: right;
}

.toolbar__social a {
  display: block;
  padding: 5px;
}

.toolbar__social .icon {
  height: 16px;
  position: relative;
  top: -2px;
  width: 16px;
}

.section-header {
  margin-bottom: 30px;
}

@media only screen and (min-width: 769px) {
  .section-header {
    margin-bottom: 50px;
  }
}

[data-type_headers_align_text="center"] .section-header {
  text-align: center;
}

.section-header select {
  display: inline-block;
  vertical-align: middle;
}

.section-header--flush {
  margin-bottom: 0;
}

.section-header--with-link {
  align-items: center;
  display: flex;
}

.section-header--with-link select {
  flex: 0 1 auto;
}

.section-header--hero {
  color: var(--colorHeroText);
  flex: 1 1 100%;
  margin-bottom: 0;
  position: relative;
}

.section-header--hero a {
  color: var(--colorHeroText);
}

.section-header__shadow {
  display: inline-block;
  position: relative;
}

.section-header__shadow:before {
  background: radial-gradient(
    rgba(0, 0, 0, var(--colorImageOverlayTextShadow)) 0%,
    transparent 60%
  );
  bottom: 0;
  content: "";
  left: 0;
  margin: -100px -200px -100px -200px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: auto;
  z-index: -1;
}

.section-header__shadow .breadcrumb,
.section-header__shadow .section-header__title {
  position: relative;
}

.section-header__title {
  margin-bottom: 0;
  overflow-wrap: break-word;
}

.section-header--with-link .section-header__title {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: break-word;
}

@media only screen and (min-width: 769px) {
  .section-header--hero .section-header__title {
    font-size: var(--typeH1SizeHero);
  }
}

.section-header__link {
  flex: 0 1 auto;
  margin-top: 25px;
}

.section-header--with-link .section-header__link {
  margin-top: 0;
}

.section-header--404 {
  padding-top: 80px;
}

.section-header select {
  margin: 10px 0;
}

.section-header p {
  margin: 10px 0;
}

.site-nav {
  margin: 0;
}

.text-center .site-navigation {
  margin: 0 auto;
}

.header-layout--left .site-navigation {
  padding-left: 10px;
}

.site-nav__icons {
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 12.5px;
}

.site-nav__item {
  display: inline-block;
  margin: 0;
  position: relative;
}

.site-nav__item li {
  display: block;
}

.site-nav__item .icon-chevron-down {
  height: 10px;
  width: 10px;
}

.site-nav__link {
  color: var(--colorNavText);
  display: inline-block;
  padding: 7.5px 15px;
  -webkit-text-decoration: none;
  text-decoration: none;
  vertical-align: middle;
  white-space: nowrap;
}

.site-header--heading-style .site-nav__link {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-weight: 400;
  font-size: 18px;
  line-height: 20px;
  letter-spacing: 0;
  padding: 0;
}

[data-type_header_capitalize="true"]
  .site-header--heading-style
  .site-nav__link {
  text-transform: uppercase;
}

.site-nav__link:hover {
  color: var(--colorNavText);
}

.is-light .site-nav__link {
  color: #fff;
}

.is-light .site-nav__link:hover {
  color: #fff;
}

.site-nav--has-dropdown > .site-nav__link {
  position: relative;
  z-index: 6;
}

.site-nav__link .icon-chevron-down {
  margin-left: 0px;
}

@media only screen and (max-width: 959px) {
  .site-nav__link {
    padding: 7.5px;
  }

  .header-layout--center .site-nav__link {
    padding-left: 2px;
    padding-right: 2px;
  }
}

.site-nav__link--underline {
  position: relative;
}

.site-nav__link--underline:after {
  border-bottom: 2px solid;
  border-bottom-color: var(--colorNavText);
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  margin: 0 15px;
  position: absolute;
  right: 100%;
  transition: right 0.5s;
  content: none;
}

[data-disable-animations="true"] .site-nav__link--underline:after {
  transition: none;
}

.is-light
  .site-nav__item:not(.site-nav--has-dropdown)
  .site-nav__link--underline:after {
  border-bottom-color: #fff;
}

.site-nav--has-dropdown .site-nav__link--underline:after {
  border-bottom-color: var(--colorNavText);
  content: none;
}

.is-light .site-nav--has-dropdown .site-nav__link--underline:after {
  border-bottom-color: #fff;
}

.site-nav__item:hover .site-nav__link--underline:after {
  right: 0;
}

.site-nav__details {
  cursor: pointer;
}

.site-nav__details .megamenu,
.site-nav__details .site-nav__dropdown {
  cursor: default;
}

.site-nav--has-dropdown {
  z-index: 6;
}

.site-nav--has-dropdown.is-focused,
.site-nav--has-dropdown:hover {
  z-index: 7;
}

.site-nav--has-dropdown.is-focused > a,
.site-nav--has-dropdown:hover > a {
  color: var(--colorTextBody) !important;
}

.site-nav--has-dropdown.is-focused > a,
.site-nav--has-dropdown:hover > a {
  background-color: var(--colorNav);
  opacity: 1;
  transition: none;
}

.site-nav__link--icon {
  padding-left: 12px;
  padding-right: 12px;
}

@media only screen and (max-width: 768px) {
  .site-nav__link--icon {
    padding-left: 7.5px;
    padding-right: 7.5px;
  }

  .site-nav__link--icon + .site-nav__link--icon {
    margin-left: -4px;
  }
}

.site-nav__link--icon .icon {
  width: 44px;
  height: 20px;
}

.site-nav__dropdown {
  background-color: var(--colorNav);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.09);
  display: block;
  left: 0;
  margin: 0;
  min-width: 100%;
  padding: 10px 0 5px;
  position: absolute;
  transform: translate3d(0, -12px, 0);
  visibility: hidden;
  z-index: 5;
}

details[open] > .site-nav__dropdown {
  display: block;
  transform: translateZ(0);
  transition: all 300ms cubic-bezier(0.2, 0.06, 0.05, 0.95);
  visibility: visible;
}

.site-nav__dropdown li {
  margin: 0;
}

.site-nav__dropdown > li {
  position: relative;
}

.site-nav__dropdown > li > a {
  position: relative;
  z-index: 6;
}

.site-nav__dropdown a {
  background-color: var(--colorNav);
  color: var(--colorNavText);
}

.site-nav__deep-dropdown {
  background-color: var(--colorNav);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.09);
  left: 100%;
  margin: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transform: translate3d(-12px, 0, 0);
  visibility: hidden;
  z-index: 5;
}

.is-focused + .site-nav__deep-dropdown,
.site-nav__deep-dropdown-trigger:hover .site-nav__deep-dropdown {
  opacity: 1;
  transform: translateZ(0);
  transition: all 300ms cubic-bezier(0.2, 0.06, 0.05, 0.95);
  visibility: visible;
}

.site-nav__deep-dropdown:before {
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.09), transparent);
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 10px;
}

.site-nav__deep-dropdown .site-nav__dropdown-link:focus,
.site-nav__deep-dropdown .site-nav__dropdown-link:hover {
  background-color: var(--colorNavDim);
}

.site-nav__deep-dropdown-trigger:hover .site-nav__dropdown-link--has-children {
  background-color: var(--colorNavDim);
}

.site-nav__dropdown-link--second-level:focus,
.site-nav__dropdown-link--second-level:hover {
  background-color: var(--colorNavDim);
}

.site-nav__deep-dropdown-trigger .icon-chevron-down {
  height: 10px;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: rotate(-90deg) translateX(50%);
  width: 10px;
}

.site-nav__details[open] .site-nav__dropdown {
  z-index: 8;
}

.site-nav--has-dropdown:has(details[open]) {
  z-index: 8;
}

.mobile-nav {
  margin: calc(var(--drawer-gutter) * -1) calc(var(--drawer-gutter) * -1) 0;
}

.mobile-nav li {
  list-style: none;
  margin-bottom: 0;
}

.mobile-nav__search {
  padding: 15px;
}

.mobile-nav__item {
  display: block;
  position: relative;
}

.mobile-nav > .mobile-nav__item {
  background-color: var(--colorDrawers);
}
.mobile-nav__footer-links .mobile-nav__child-item .mobile-nav__link--top-level {
  padding-left: 0;
  padding-right: 0;
}

.mobile-nav__item:after {
  border-bottom: 1px solid;
  border-bottom-color: #004976;
  bottom: 0;
  content: "";
  left: var(--drawer-gutter);
  position: absolute;
  right: var(--drawer-gutter);
}
.mobile-nav__footer-links .mobile-nav__item:after {
  left: 0;
  right: 0;
}
.mobile-nav__faux-link,
.mobile-nav__link {
  display: block;
}

.mobile-nav__link--top-level {
  font-size: 1.4em;
}

.mobile-nav--heading-style .mobile-nav__link--top-level {
  font-family: "Helvetica LT Std";
  font-weight: 700;
  font-size: 24px;
  line-height: 32px;
  letter-spacing: 0;
  text-transform: uppercase !important;
  color: #004976 !important;
  align-items: center;
}
.mobile-nav--heading-style .mobile-nav__link--top-level.is-open .mobile-nav__faux-link {
  padding-bottom: 0;
}
.mobile-nav--heading-style .mobile-nav__link--top-level .collapsible-trigger__symbol--plus {
  display: block;
}
.mobile-nav--heading-style .mobile-nav__link--top-level .collapsible-trigger__symbol--minus {
  display: none;
}
.mobile-nav--heading-style .mobile-nav__link--top-level.is-open .collapsible-trigger__symbol--plus {
  display: none;
}
.mobile-nav--heading-style .mobile-nav__link--top-level.is-open .collapsible-trigger__symbol--minus {
  display: block;
}
[data-type_header_capitalize="true"]
  .mobile-nav--heading-style
  .mobile-nav__link--top-level {
  text-transform: uppercase;
}

.mobile-nav__faux-link,
.mobile-nav__link,
.mobile-nav__toggle .faux-button,
.mobile-nav__toggle button {
  color: var(--colorDrawerText);
  padding: 18px;
  -webkit-text-decoration: none;
  text-decoration: none;
}
.mobile-nav__faux-link {
  font-family: "Helvetica LT Std";
  font-weight: 700;
  font-size: 24px;
  line-height: 32px;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #004976;
}
.mobile-nav__faux-link:active,
.mobile-nav__link:active,
.mobile-nav__toggle .faux-button:active,
.mobile-nav__toggle button:active {
  color: var(--colorDrawerTextDark);
}

.mobile-nav__faux-link:active,
.mobile-nav__link:active,
.mobile-nav__toggle .faux-button:active,
.mobile-nav__toggle button:active {
  background-color: var(--colorDrawersDim);
}

.mobile-nav__child-item {
  display: flex;
}

.mobile-nav__child-item .mobile-nav__link,
.mobile-nav__child-item a {
  flex: 1 1 auto;
}

.mobile-nav__child-item .collapsible-trigger:not(.mobile-nav__link--button) {
  flex: 0 0 44px;
}

.mobile-nav__child-item .collapsible-trigger__icon {
  margin-right: 16px;
  padding: 0;
}

[dir="rtl"] .mobile-nav__child-item .collapsible-trigger__icon {
  margin-left: 16px;
  margin-right: 0;
}

.mobile-nav__item--secondary a {
  padding-bottom: 5px;
  padding-top: 10px;
}

.mobile-nav__item--secondary:after {
  display: none;
}

.mobile-nav__item:not(.mobile-nav__item--secondary)
  + .mobile-nav__item--secondary {
  margin-top: 10px;
}

.mobile-nav__has-sublist,
.mobile-nav__link--button {
  display: flex;
}

.mobile-nav__has-sublist > *,
.mobile-nav__link--button > * {
  flex: 1 1 auto;
  word-break: break-word;
}

.mobile-nav__link--button {
  padding: 0;
  text-align: left;
  width: 100%;
}

.mobile-nav__toggle {
  flex: 0 1 auto;
}

.mobile-nav__toggle .icon {
  height: 16px;
  width: 16px;
}

.mobile-nav__toggle .faux-button,
.mobile-nav__toggle button {
  height: 60%;
  margin: 20% 0;
  padding: 0 30px;
}
.mobile-nav__toggle .faux-button {
  padding: 0;
  left: -16px;
    position: relative;
}

.mobile-nav__toggle button {
  border-left: 1px solid;
  border-left-color: var(--colorDrawerBorder);
}

[dir="rtl"] .mobile-nav__toggle button {
  border-left: none;
  border-right: 1px solid;
  border-right-color: var(--colorDrawerBorder);
}

.mobile-nav__sublist {
  margin: 0;
  overflow: hidden;
}
.megamenu__mobile-promos {
  padding: 18px;
}
.mobile-nav__sublist .mobile-nav__item:after {
  border-bottom: none;
  bottom: auto;
  top: 0;
}

.mobile-nav__sublist .mobile-nav__item:last-child {
  padding-bottom: 15px;
}

.mobile-nav__sublist .mobile-nav__faux-link,
.mobile-nav__sublist .mobile-nav__link {
  font-weight: 400;
  padding: 7.5px 25px 7.5px var(--drawer-gutter);
}

.mobile-nav__grandchildlist {
  margin: 0;
}

.mobile-nav__grandchildlist:before {
  background: #000;
  bottom: 10px;
  content: "";
  display: block;
  left: 17px;
  position: absolute;
  top: 10px;
  width: 1px;
}

[dir="rtl"] .mobile-nav__grandchildlist:before {
  left: auto;
  right: 17px;
}

.mobile-nav__grandchildlist .mobile-nav__item:last-child {
  padding-bottom: 0;
}

.mobile-nav__grandchildlist .mobile-nav__link {
  padding-left: 35px;
}

.mobile-nav__social {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 22px;
  list-style: none outside;
  margin: 18px 0 36px 0;
}

@media only screen and (min-width: 769px) {
  .mobile-nav__social {
    margin-left: calc(var(--drawer-gutter) * -1);
    margin-right: calc(var(--drawer-gutter) * -1);
  }
}

.mobile-nav__social a {
  display: block;
}

.mobile-nav__social a .icon {
  position: relative;
  top: -1px;
}

.mobile-nav__social-item {

}

.mobile-nav__social-item:nth-child(3n-1) {
  margin-left: -1px;
  margin-right: -1px;
}

@media only screen and (min-width: 769px) {
  .site-nav__link--icon .icon {
    height: 28px;
    width: 28px;
  }

  .site-nav__link--icon .icon.icon-user {
    position: relative;
    top: 1px;
  }
}

.cart-link {
  display: flex;
  align-items: center;
  gap: 4px;
  position: relative;
}

.cart-link__bubble {
  display: none;
}

.cart-link__bubble--visible {
  background-color: #004976;
  color: #fff;
  border-radius: 50%;
  display: block;
  height: 23px;
  right: 0;
  width: 26px;
  font-family: "Helvetica Neue";
  font-weight: 400;
  font-size: 13px;
  line-height: 23px;
  letter-spacing: 0%;
  text-align: center;
  margin: 0;
}
.icon-bag-minimal-desktop {
  display: block;
}
.icon-bag-minimal-mobile {
  display: none;
}
@media only screen and (max-width: 768px) {
  .icon-bag-minimal-desktop {
    display: none;
  }
  .icon-bag-minimal-mobile {
    display: block;
  }
  .cart-link__bubble--visible {
    border-radius: 500px;

  }
}

@media only screen and (min-width: 769px) {
  .icon-bag-minimal-desktop {
    display: block;
  }
}

[data-icon="cart"] .cart-link__bubble--visible {
  right: -4px;
  top: 0;
}

[data-icon="bag-minimal"] .cart-link__bubble--visible {
  right: 0;
  top: 50%;
}

[data-type_headers_align_text="center"] .breadcrumb {
  text-align: center;
}

.breadcrumb {
  font-size: var(--typeBodySmallSize);
  margin: -25px 0 10px;
}

.template-product .breadcrumb {
  margin-top: 10px;
}

@media only screen and (min-width: 769px) {
  .template-product .breadcrumb {
    text-align: left;
  }
}

@media only screen and (max-width: 768px) {
  .breadcrumb {
    margin-bottom: 15px;
  }
}

.breadcrumb__divider {
  color: currentColor;
}

.megamenu {
  color: var(--colorNavText);
  line-height: var(--typeHeaderLineHeight);
  max-height: calc(100vh - var(--header-height, 100px));
  opacity: 0;
  overflow-y: auto;
  padding: 36px 0;
  transform: none;
  transition: all 300ms cubic-bezier(0.2, 0.06, 0.05, 0.95);
  transition-delay: 0.3s;
}

details[open] > .megamenu {
  opacity: 1;
  transition-delay: 0s;
}

details[open] > .megamenu .appear-animation {
  opacity: 1;
  transform: none;
}

.site-nav--is-megamenu.site-nav__item {
  position: static;
}

.megamenu__collection-image {
  display: block;
  height: 100%;
  margin-bottom: 20px;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.text-center .megamenu .grid {
  text-align: center;
}

.text-center .megamenu .grid .grid__item {
  display: inline-block;
  float: none;
  text-align: left;
  vertical-align: top;
}

.megamenu .site-nav__dropdown-link:not(.site-nav__dropdown-link--top-level) {
  font-size: calc(var(--typeBaseSize) - 1px);
  line-height: var(--typeBaseLineHeight);
  position: relative;
}

.megamenu
  .site-nav__dropdown-link:not(.site-nav__dropdown-link--top-level):after {
  border-bottom: 1px solid;
  border-bottom-color: var(--colorNavText);
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  right: 100%;
  transition: right 0.5s;
}

[data-disable-animations="true"]
  .megamenu
  .site-nav__dropdown-link:not(.site-nav__dropdown-link--top-level):after {
  transition: none;
}

.megamenu
  .site-nav__dropdown-link:not(
    .site-nav__dropdown-link--top-level
  ):hover:after {
  right: 0;
}

.megamenu .h5,
.megamenu h5 {
  font-weight: 700;
  margin-bottom: 5px;
}

.megamenu__inner {
  align-items: flex-start;
  display: flex;
  gap: 30px;
}

.megamenu__inner--center .megamenu__nav {
  grid-template-columns: repeat(auto-fit, minmax(180px, 220px));
  justify-content: center;
}

.megamenu__nav {
  display: grid;
  flex: 1 1 0%;
  gap: 30px;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  min-width: 0;
}

.megamenu__nav a {
  color: inherit;
}

.megamenu__column {
  max-width: 300px;
  min-width: 100px;
}

.megamenu__column-image {
  margin-bottom: 20px;
}

.megamenu__column-image-placeholder {
  margin-bottom: 20px;
  visibility: hidden;
}

.megamenu__promos {
  display: flex;
  flex: 0 0 33%;
  flex-direction: row;
  gap: 30px;
  min-width: 0;
  overflow: hidden;
}

.megamenu__inner:has(.megamenu__promos--before):has(.megamenu__promos--after)
  .megamenu__promos {
  flex-basis: 16.5%;
}

.megamenu__promo {
  color: inherit;
  display: block;
  flex: 1 1 0%;
  min-width: 0;
  -webkit-text-decoration: none;
  text-decoration: none;
}

.megamenu__promo:active,
.megamenu__promo:hover {
  color: inherit;
  -webkit-text-decoration: none;
  text-decoration: none;
}

.megamenu__promo-image {
  margin-bottom: 15px;
}

.megamenu__promo-img {
  display: block;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.megamenu__promo-content {
  min-width: 0;
  overflow-wrap: anywhere;
  padding: 0 2px;
}

.megamenu__promo-heading {
  font-weight: 700;
  margin-bottom: 6px;
}

.megamenu__promo-heading.h4 {
  font-size: 1em;
}

.megamenu__promo-text {
  font-size: calc(var(--typeBaseSize) - 1px);
  line-height: var(--typeBaseLineHeight);
  margin-bottom: 12px;
}

@media only screen and (max-width: 768px) {
  .megamenu__mobile-promos {
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-direction: column;
    gap: 30px;
    overflow-x: auto;
    padding: 18px var(--drawer-gutter);
    padding-top: 0;
  }

  .megamenu__mobile-promos .megamenu__promo {
    flex-shrink: 0;
    max-width: 250px;
    min-width: 200px;
    width: auto;
  }

  .megamenu__mobile-promos .megamenu__promo:only-child {
    margin: 0 auto;
    max-width: 280px;
    min-width: 0;
    width: 75%;
  }

  .megamenu__mobile-promos .btn--secondary {
    background-color: transparent;
    border-color: var(--colorDrawerBorder);
    color: var(--colorDrawerText);
  }
}

.modal {
  align-items: center;
  bottom: 0;
  color: #fff;
  display: none;
  justify-content: center;
  left: 0;
  opacity: 1;
  overflow: hidden;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 30;
}

.modal.modal--quick-shop {
  align-items: flex-start;
}

.modal a,
.modal a:hover {
  color: inherit;
}

.modal .btn:not([disabled]):not(.btn--secondary):not(.btn--body),
.modal .btn:not([disabled]):not(.btn--secondary):not(.btn--body):hover {
  color: var(--colorBtnPrimaryText);
}

.modal-open .modal .modal__inner {
  animation: modal-open 0.5s forwards;
}

.modal-open .modal:before {
  animation: overlay-on 0.5s forwards;
  background-color: var(--colorModalBg);
  content: "";
  cursor: pointer;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
}

.modal-closing .modal .modal__inner {
  animation: modal-closing 0.5s forwards;
}

.modal-closing .modal:before {
  animation: overlay-off 0.5s forwards;
  background-color: var(--colorModalBg);
  content: "";
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
}

.modal-open--solid .modal:before {
  background-color: var(--colorModalBg);
}

.modal-open .modal--solid:before {
  animation: full-overlay-on 0.5s forwards;
  background-color: #000;
}

.modal-closing .modal--solid:before {
  animation: full-overlay-off 0.5s forwards;
  background-color: #000;
}

.modal--is-closing {
  display: flex !important;
}

.modal--is-closing {
  overflow: hidden;
}

.modal--is-active {
  display: flex !important;
}

.modal--is-active {
  overflow: hidden;
}

@media only screen and (min-width: 769px) {
  .modal-open {
    overflow: hidden;
  }
}

.modal__inner {
  align-items: center;
  display: flex;
  flex: 0 1 auto;
  margin: 15px;
  max-width: calc(100% - 15px);
}

@media only screen and (min-width: 769px) {
  .modal__inner {
    margin: 40px;
    max-width: calc(100% - 80px);
  }
}

.modal--square .modal__inner {
  background-color: var(--colorBody);
  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.1);
  color: var(--colorTextBody);
}

.modal__inner img {
  display: block;
  max-height: 90vh;
}

.modal__inner .image-wrap img {
  max-height: none;
}

.modal__centered {
  flex: 0 1 auto;
  max-width: 100%;
  min-width: 1px;
  position: relative;
}

.modal--square .modal__centered-content {
  -webkit-overflow-scrolling: touch;
  max-height: 80vh;
  min-height: 200px;
  min-width: 200px;
  overflow: auto;
  padding: 22.5px;
}

@media only screen and (min-width: 769px) {
  .modal--square .modal__centered-content {
    max-height: 90vh;
    max-width: 1200px;
    padding: 45px;
  }
}

.modal__close {
  border: 0;
  color: #fff;
  padding: 15px;
  position: fixed;
  right: 0;
  top: 0;
}

@media only screen and (min-width: 769px) {
  .modal__close {
    padding: 30px;
  }
}

.modal__close .icon {
  height: 28px;
  width: 28px;
}

.modal__close:focus,
.modal__close:hover {
  color: #fff;
}

.modal--square .modal__close {
  color: var(--colorTextBody);
  padding: 10px;
  position: absolute;
}

.modal--square .modal__close:focus,
.modal--square .modal__close:hover {
  color: var(--colorTextBody);
}

.modal .page-content,
.modal .page-width {
  padding: 0;
}

.popup-cta {
  margin-bottom: 15px;
}

@media only screen and (max-width: 768px) {
  .modal--mobile-friendly {
    bottom: 0;
    overflow: auto;
    top: auto;
  }

  .modal--mobile-friendly.modal--square .modal__centered-content {
    padding: 40px 20px;
  }

  .modal--mobile-friendly.modal--is-active {
    overflow: auto;
  }
  .modal-open .modal--mobile-friendly:before {
    display: none;
  }

  .modal--mobile-friendly .modal__inner {
    margin: 0;
  }

  .modal--mobile-friendly .h1 {
    padding-right: 25px;
  }

  .modal--mobile-friendly input {
    font-size: 16px !important;
  }

  .modal--mobile-friendly .text-close {
    display: none;
  }
}

.js-qty__wrapper {
  background-color: var(--colorBody);
  color: var(--colorTextBody);
  display: inline-block;
  max-width: 80px;
  min-width: 60px;
  overflow: visible;
  position: relative;
}

.js-qty__wrapper.is-loading {
  opacity: 0.5;
  pointer-events: none;
}

.js-qty__num {
  background: none;
  display: block;
  margin: 0;
  padding: 5px 20px;
  text-align: center;
  width: 100%;
  z-index: 1;
}

.js-qty__adjust {
  fill: var(--colorTextBody);
  backface-visibility: hidden;
  background: none;
  border: 0 none;
  bottom: 0;
  cursor: pointer;
  display: block;
  line-height: 1;
  overflow: hidden;
  padding: 0 10px;
  position: absolute;
  text-align: center;
  top: 0;
  transition: background-color 0.1s ease-out;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  z-index: 2;
}

.js-qty__adjust .icon {
  fill: inherit;
  display: block;
  font-size: 8px;
  height: 10px;
  vertical-align: middle;
  width: 10px;
}

.js-qty__adjust:hover {
  background-color: var(--colorBodyDim);
  color: var(--colorTextBody);
}

.js-qty__num:active ~ .js-qty__adjust,
.js-qty__num:focus ~ .js-qty__adjust {
  border-color: var(--colorTextBody);
}

.js-qty__adjust--plus {
  right: 0;
}

.js-qty__adjust--minus {
  left: 0;
}

.drawer .js-qty__wrapper {
  background-color: transparent;
  border-color: var(--colorDrawerBorder);
}

.drawer .js-qty__num {
  color: var(--colorDrawerText);
  padding-bottom: 2px;
  padding-top: 2px;
}

.drawer .js-qty__adjust {
  fill: var(--colorDrawerText);
  color: var(--colorDrawerText);
}

.drawer .js-qty__adjust:hover {
  fill: var(--colorDrawers);
  background-color: var(--colorDrawerText);
  color: var(--colorDrawers);
}

.currency-flag {
  margin: -0.55rem;
  transform: scale(0.55);
}

@media only screen and (max-width: 768px) {
  [data-disclosure-currency] .disclosure-list {
    left: 50%;
    max-width: 95vw;
    transform: translateX(-50%);
  }
}

.collapsibles-wrapper--border-bottom {
  border-bottom: 1px solid;
  border-bottom-color: var(--colorBorder);
}

.collapsibles-wrapper--border-bottom
  + .collapsibles-wrapper--border-bottom
  .collapsible-trigger-btn--borders {
  border-top: 0;
}

.product-block--tab + .product-block--tab .collapsible-trigger-btn--borders {
  border-top: 0;
}

.collapsible-trigger {
  color: inherit;
  position: relative;
}

.collapsible-trigger__icon {
  display: block;
  height: 10px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
}

@media only screen and (min-width: 769px) {
  .collapsible-trigger__icon {
    height: 12px;
    width: 12px;
  }
}

.mobile-nav__has-sublist .collapsible-trigger__icon {
  right: 25px;
  width: 17px;
  height: 15px;
}

.collapsible-trigger__icon .icon {
  display: block;
  height: 10px;
  transition: all 0.1s ease-in;
  width: 10px;
}

@media only screen and (min-width: 769px) {
  .collapsible-trigger__icon .icon {
    height: 12px;
    width: 12px;
  }
}

.collapsible-trigger--inline {
  padding: 11px 0 11px 40px;
}

.collapsible-trigger--inline .collapsible-trigger__icon {
  left: 0;
  right: auto;
}

.collapsible-trigger__icon--circle {
  border: 1px solid;
  border-color: var(--colorBorder);
  border-radius: 28px;
  height: 28px;
  text-align: center;
  width: 28px;
}

.collapsible-trigger__icon--circle .icon {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

.collapsible-trigger.is-open .collapsible-trigger__icon > .icon-chevron-down {
  transform: scaleY(-1);
}

.collapsible-trigger.is-open
  .collapsible-trigger__icon--circle
  > .icon-chevron-down {
  transform: translate(-50%, -50%) scaleY(-1);
}

.collapsible-trigger__icon--plusminus {
  height: 16px;
  width: 16px;
}

.collapsible-trigger__icon--plusminus .collapsible-trigger__symbol {
  display: block;
  height: 16px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
}

.collapsible-trigger__icon--plusminus .collapsible-trigger__symbol--minus {
  display: none;
}

.collapsible-trigger.is-open .collapsible-trigger__icon--plusminus .collapsible-trigger__symbol--plus {
  display: none;
}

.collapsible-trigger.is-open .collapsible-trigger__icon--plusminus .collapsible-trigger__symbol--minus {
  display: block;
}

.collapsible-content {
  transition:
    opacity 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    height 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.collapsible-content.is-open {
  opacity: 1;
  transition:
    opacity 1s cubic-bezier(0.25, 0.46, 0.45, 0.94),
    height 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  visibility: visible;
}

.collapsible-content--all {
  backface-visibility: hidden;
  height: 0;
  opacity: 0;
  overflow: hidden;
  visibility: hidden;
}

.collapsible-content--all .collapsible-content__inner {
  transform: translateY(40px);
}

@media only screen and (max-width: 768px) {
  .collapsible-content--small {
    backface-visibility: hidden;
    height: 0;
    opacity: 0;
    overflow: hidden;
    visibility: hidden;
  }

  .collapsible-content--small .collapsible-content__inner {
    transform: translateY(40px);
  }
}

.collapsible-content__inner {
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.is-open .collapsible-content__inner {
  transform: translateY(0);
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.faq-item .collapsible-trigger {
  width: 100%;
}

.faq-item .collapsible-trigger__icon {
  transition: background-color 0.2s ease;
}

.faq-item .collapsible-trigger:hover .collapsible-trigger__icon {
  background-color: color-mix(in srgb, currentColor 8%, transparent);
}

.collapsible-trigger--icon-right {
  padding: 11px 40px 11px 0;
}

.collapsible-trigger--icon-right .collapsible-trigger__icon {
  left: auto;
  right: 0;
}

.rte.collapsible-content__inner--faq {
  padding-bottom: 30px;
}

.collapsible-trigger[aria-expanded="true"] .collapsible-label__closed {
  display: none;
}

.collapsible-label__open {
  display: none;
}

.collapsible-trigger[aria-expanded="true"] .collapsible-label__open {
  display: inline-block;
}

.collapsible-content--sidebar {
  backface-visibility: hidden;
  height: 0;
  opacity: 0;
  overflow: hidden;
  visibility: hidden;
}

@media only screen and (min-width: 769px) {
  .collapsible-content--sidebar.is-open {
    height: auto;
    opacity: 1;
    overflow: initial;
    visibility: visible;
  }
}

.pswp {
  -webkit-text-size-adjust: 100%;
  -webkit-backface-visibility: hidden;
  display: none;
  height: 100%;
  left: 0;
  outline: none;
  overflow: hidden;
  position: absolute;
  top: 0;
  touch-action: none;
  width: 100%;
  z-index: 1500;
}

.pswp img {
  max-width: none;
}

.pswp--animate_opacity {
  opacity: 0.001;
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
  will-change: opacity;
}

.pswp--open {
  display: block;
}

.pswp--zoom-allowed .pswp__img {
  cursor: zoom-in;
}

.pswp--zoomed-in .pswp__img {
  cursor: grab;
}

.pswp--dragging .pswp__img {
  cursor: grabbing;
}

.pswp__bg {
  -webkit-backface-visibility: hidden;
  background: var(--colorBody);
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transform: translateZ(0);
  width: 100%;
}

.pswp__scroll-wrap {
  height: 100%;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 100%;
}

.pswp__container,
.pswp__zoom-wrap {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  touch-action: none;
}

.pswp__container,
.pswp__img {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.pswp__zoom-wrap {
  position: absolute;
  transform-origin: left top;
  transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
  width: 100%;
}

.pswp__bg {
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
  will-change: opacity;
}

.pswp--animated-in .pswp__bg,
.pswp--animated-in .pswp__zoom-wrap {
  transition: none;
}

.pswp__container,
.pswp__zoom-wrap {
  -webkit-backface-visibility: hidden;
}

.pswp__item {
  bottom: 0;
  left: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
}

.pswp__img {
  height: auto;
  left: 0;
  position: absolute;
  top: 0;
  width: auto;
}

.pswp__img--placeholder {
  -webkit-backface-visibility: hidden;
}

.pswp--ie .pswp__img {
  height: auto !important;
  width: 100% !important;
}

.pswp--ie .pswp__img {
  left: 0;
  top: 0;
}

.pswp__error-msg {
  color: #ccc;
  left: 0;
  line-height: 16px;
  margin-top: -8px;
  position: absolute;
  text-align: center;
  top: 50%;
  width: 100%;
}

.pswp__error-msg a {
  color: #ccc;
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

.pswp__button {
  position: relative;
}

.pswp__button:after {
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.pswp__button svg {
  pointer-events: none;
}

.pswp__button--arrow--left .icon,
.pswp__button--arrow--right .icon {
  height: 13px;
  margin: 8px;
  width: 13px;
}

.pswp__button[disabled] {
  opacity: 0;
  pointer-events: none;
}

.pswp__button--arrow--left.pswp__element--disabled,
.pswp__button--arrow--right.pswp__element--disabled {
  display: none;
  pointer-events: none;
}

.pswp__ui {
  align-items: center;
  bottom: 30px;
  display: flex;
  justify-content: center;
  left: 0;
  position: absolute;
  right: 0;
  transform: translateY(0);
  transition: transform 0.25s 0.6s;
}

.pswp__ui .btn {
  margin: 15px;
}

.pswp__ui--hidden {
  transform: translateY(150%);
  transition: transform 0.25s;
}

html.pswp-open-in-ios,
html.pswp-open-in-ios body {
  background: #444;
  box-sizing: border-box;
  height: var(--window-inner-height);
  overflow: hidden;
}

.pswp-open-in-ios body > * {
  display: none;
}

.pswp-open-in-ios body .pswp.pswp--open {
  display: block;
}

.disclosure {
  position: relative;
}

.disclosure__toggle {
  white-space: nowrap;
}

.disclosure-list {
  background-color: var(--colorBody);
  border-radius: 0;
  bottom: 100%;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.09);
  color: var(--colorTextBody);
  display: none;
  margin: 0;
  max-height: 60vh;
  min-height: 92px;
  overflow-y: auto;
  padding: 10px 0;
  position: absolute;
  z-index: 10;
}

.disclosure-list a {
  color: currentColor;
}

.disclosure-list--down {
  bottom: auto;
  top: 100%;
  z-index: 30;
}

.disclosure-list--left {
  right: 0;
}

.disclosure-list--visible {
  display: block;
}

.disclosure-list__item {
  padding: 5px 15px 4px;
  text-align: left;
  white-space: nowrap;
}

.disclosure-list__option:focus .disclosure-list__label,
.disclosure-list__option:hover .disclosure-list__label {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

.disclosure-list__item--current .disclosure-list__label {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

.disclosure-list__label {
  display: inline-block;
  text-underline-offset: 0.2rem;
  vertical-align: middle;
}

[data-disclosure-currency] .disclosure-list__label {
  padding-left: 10px;
}

.disclosure-list__label span {
  border-bottom: 2px solid transparent;
}

.is-active .disclosure-list__label span {
  border-bottom: 2px solid currentColor;
}

.multi-selectors {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.multi-selectors__item {
  margin: 0 20px 10px;
}

@media only screen and (max-width: 768px) {
  .multi-selectors__item {
    margin: 10px 20px;
  }
}

.toolbar .multi-selectors__item {
  margin-bottom: 0;
  margin-right: 0;
}

.shopify-model-viewer-ui .shopify-model-viewer-ui__controls-area {
  background: var(--colorBody);
  border-color: var(--colorTextBodyAlpha005);
  border-radius: 50px;
  opacity: 1;
}

.shopify-model-viewer-ui .shopify-model-viewer-ui__button {
  color: var(--colorTextBody);
}

.shopify-model-viewer-ui .shopify-model-viewer-ui__button--control:hover {
  color: var(--colorTextBody);
}

.shopify-model-viewer-ui
  .shopify-model-viewer-ui__button--control.focus-visible:focus,
.shopify-model-viewer-ui .shopify-model-viewer-ui__button--control:active {
  background-color: var(--colorTextBodyAlpha005);
  color: var(--colorTextBody);
}

.shopify-model-viewer-ui
  .shopify-model-viewer-ui__button--control:not(:last-child):after {
  border-color: var(--colorTextBodyAlpha005);
}

.shopify-model-viewer-ui .shopify-model-viewer-ui__button--poster {
  background-color: var(--colorTextBody);
  border: 1px solid;
  border-color: var(--colorBodyAlpha05);
  border-radius: 100%;
  color: var(--colorBody);
}

.shopify-model-viewer-ui .shopify-model-viewer-ui__button--poster:focus,
.shopify-model-viewer-ui .shopify-model-viewer-ui__button--poster:hover {
  color: var(--colorBody);
}

.product-single__view-in-space {
  background-color: var(--colorTextBodyAlpha008);
  color: var(--colorTextBody);
  display: block;
  margin: 40px 10% 10px;
  padding: 5px 10px 10px;
  width: 80%;
  width: calc(80% - 4px);
}

.product-single__view-in-space[data-shopify-xr-hidden] {
  display: none;
}

.product-single__view-in-space-text {
  display: inline-block;
  font-size: var(--typeBodySmallSize);
  margin-left: 5px;
  vertical-align: middle;
}

.shopify-model-viewer-ui,
.shopify-model-viewer-ui model-viewer {
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.shopify-model-viewer-ui__button[hidden] {
  display: none;
}

.product-single__close-media {
  position: absolute;
  right: 10px;
  top: 10px;
  z-index: 2;
}

.price-range__slider-wrapper {
  padding: 0 8px 8px;
}

@media only screen and (max-width: 768px) {
  .price-range__slider-wrapper {
    padding: 0 10px 8px;
  }
}

.price-range__input {
  display: none;
}

.price-range__display-wrapper {
  display: flex;
  flex: 1 1 auto;
  justify-content: space-between;
  padding: 0;
  padding-bottom: 8px;
  width: 100%;
}

@media only screen and (max-width: 768px) {
  .price-range__display-wrapper {
    padding: 0;
  }
}

.noUi-horizontal .noUi-handle {
  background: var(--colorTextBody);
  border: 0;
  border-radius: 50%;
  box-shadow: 0 0 1px 2px #fff;
  cursor: pointer;
  height: 12px;
  right: -6px;
  top: -3px;
  width: 12px;
}

.noUi-horizontal .noUi-handle:focus,
.noUi-horizontal .noUi-handle:hover {
  height: 14px;
  right: -7px;
  top: -4px;
  width: 14px;
}

.noUi-horizontal .noUi-handle:after,
.noUi-horizontal .noUi-handle:before {
  content: none;
}

.noUi-target {
  background: #f4f4f4;
  border: 0;
  box-shadow: none;
}

.noUi-connect {
  background: var(--colorTextBody);
}

.noUi-horizontal {
  height: 6px;
}

.countdown__content {
  background-color: var(--countdown-background-color);
  color: var(--countdown-text-color);
}

.countdown__block--button .btn.btn--secondary {
  color: var(--accent-color);
}

@keyframes kit-pulse {
  0% {
    box-shadow: 0 0 0 0
      color-mix(in srgb, var(--hotspot-color) 50%, transparent);
  }
  to {
    box-shadow: 0 0 0 10px transparent;
  }
}

.kit-shoppable-hero__content,
.kit-shoppable-hero__content .btn,
.kit-shoppable-hero__content .hero__link,
.kit-shoppable-hero__content .kit-text {
  overflow-wrap: break-word;
  word-break: break-word;
}

.shoppable-hero__btn {
  animation: kit-pulse 2s infinite;
  background: var(--hotspot-color);
  border: 0;
  border-radius: 50%;
  color: var(--hotspot-text-color);
  cursor: pointer;
  height: 40px;
  line-height: 0;
  padding: 10px;
  position: relative;
  transition: background-color 0.2s ease;
  width: 40px;
}

.kit-shoppable-hero__hotspot:not(:has(kit-popover)) .shoppable-hero__btn {
  cursor: default;
}

.shoppable-hero__btn .icon-plus path {
  stroke: transparent;
}

.kit-shoppable-hero .kit-popover {
  border: 1px solid var(--colorBorder);
  border-radius: 2px;
  box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.15);
  max-width: 61.803%;
  padding: 12px 0 0;
}

@media only screen and (min-width: 769px) {
  .kit-shoppable-hero .kit-popover {
    max-width: 23.6068%;
  }
}

.shoppable-hero__popover-body {
  display: flex;
  flex-direction: column;
  font-size: var(--typeBodySmallSize);
  gap: 5px;
  padding: 0 12px;
}

.shoppable-hero__popover-title {
  margin: 0;
  overflow-wrap: break-word;
  word-break: break-word;
}

.shoppable-hero__popover-body .grid-product__price {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 0;
}

.shoppable-hero__popover-footer {
  border-top: 1px solid var(--colorBorder);
  display: flex;
  justify-content: center;
  margin-top: 5px;
  padding: 6px 12px;
}

.shoppable-hero__popover-link {
  align-items: center;
  display: flex;
  font-size: var(--typeBodyExtraSmallSize);
  gap: 4px;
  letter-spacing: var(--typeUppercaseSpacing);
  overflow-wrap: break-word;
  -webkit-text-decoration: none;
  text-decoration: none;
  text-transform: uppercase;
  word-break: break-word;
}

.shoppable-hero__popover-link:hover {
  opacity: 0.7;
}

.shoppable-hero__popover-link .icon-chevron-right {
  height: 0.75em;
  width: 0.75em;
}

@media only screen and (max-width: 768px) {
  .kit-shoppable-hero {
    margin-bottom: 40px;
  }

  .shoppable-hero__btn {
    height: 30px;
    padding: 6px;
    width: 30px;
  }

  .shoppable-hero__btn svg {
    height: 18px;
    width: 18px;
  }
}

::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.5;
}

:-moz-placeholder {
  color: inherit;
  opacity: 0.5;
}

:-ms-input-placeholder {
  color: inherit;
  opacity: 0.5;
}

::-ms-input-placeholder {
  color: inherit;
  opacity: 1;
}

input,
select,
textarea {
  background-color: inherit;
  color: inherit;
}

input.disabled,
input[disabled],
select.disabled,
select[disabled],
textarea.disabled,
textarea[disabled] {
  background-color: #f6f6f6;
  border-color: transparent;
}

input:active,
input:focus,
select:active,
select:focus,
textarea:active,
textarea:focus {
  border: 1px solid;
  border-color: var(--colorTextBody);
}

input[type="image"] {
  background-color: transparent;
}

[data-center-text="center"] .social-sharing {
  text-align: center;
}

.social-sharing .icon {
  height: 18px;
  width: 18px;
}

.social-sharing__link {
  border-radius: 2px;
  color: var(--colorTextBody);
  display: inline-block;
  font-weight: 400;
  margin: 0 18px 0 0;
  -webkit-text-decoration: none;
  text-decoration: none;
}

.social-sharing__link:last-child {
  margin-right: 0;
}

html[dir="rtl"] .social-sharing__link {
  margin: 0 0 0 18px;
}

html[dir="rtl"] .social-sharing__link:last-child {
  margin-left: 0;
}

.social-sharing__title {
  display: inline-block;
  font-size: var(--typeBodySmallSize);
  padding-left: 3px;
  padding-right: 15px;
  vertical-align: middle;
}

html[dir="rtl"] .social-sharing__title {
  padding-left: 15px;
  padding-right: 3px;
}

.grid-search {
  margin-bottom: 30px;
}

.grid-search__product {
  position: relative;
  text-align: center;
}

.grid-search__page-link {
  background-color: var(--colorBodyLightDim);
  color: var(--colorTextBody);
  display: block;
  overflow: hidden;
  padding: 20px;
  text-overflow: ellipsis;
}

.grid-search__page-link:focus,
.grid-search__page-link:hover {
  background-color: var(--colorBodyMediumDim);
}

.grid-search__page-content {
  display: block;
  height: 100%;
  overflow: hidden;
}

.grid-search__page-content img {
  display: block;
  margin-bottom: 10px;
}

.grid-search__image {
  display: block;
  margin: 0 auto;
  max-height: 100%;
  max-width: 100%;
  padding: 20px;
}

@media only screen and (min-width: 769px) {
  .grid-search__image {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
  }
}

.index-section {
  margin: 40px 0;
}

.index-section--small {
  margin: 18px 0;
}

.index-section + .index-section,
.index-section + .index-section--hidden,
.main-content + .index-section {
  margin-top: 0;
}

.index-section--flush {
  margin: 0;
}

.section--divider {
  border-top: 1px solid;
  border-top-color: var(--colorBorder);
  padding-top: 40px;
}

.index-section--faq {
  margin-bottom: 40px;
}

.newsletter-section {
  padding: 40px 0;
}

.newsletter-section--with-divider {
  border-top: 1px solid;
  border-top-color: var(--colorBorder);
}

.template-challange .index-section--footer {
  display: none;
}

.testimonials-section {
  padding: 25.5px 0;
}

.testimonials-section--with-divider {
  border-top: 1px solid;
  border-top-color: var(--colorBorder);
}

@media only screen and (min-width: 769px) {
  .index-section {
    margin: 75px 0;
  }

  .index-section--small {
    margin: 30px 0;
  }

  .section--divider {
    padding-top: 75px;
  }

  .index-section--faq {
    margin: 75px 0 37.5px;
  }

  .newsletter-section {
    padding: 75px 0;
  }

  .testimonials-section {
    padding: 75px 0;
  }
}

.page-blocks--flush .page-width {
  padding: 0;
}

.page-blocks > div:first-child .index-section {
  margin-top: 0;
}

.feature-row-wrapper {
  direction: ltr;
  overflow: hidden;
}

.feature-row {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
}

@media only screen and (min-width: 1050px) {
  .feature-row {
    margin: 0 6%;
  }
}

@media only screen and (max-width: 768px) {
  .feature-row {
    flex-direction: column;
    margin: 0;
  }
}

@media only screen and (max-width: 959px) {
  .feature-row--small-none {
    display: block;
  }
}

.feature-row__item {
  flex: 0 1 57%;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  .feature-row__item {
    flex: 1 1 auto;
    max-width: 100%;
    min-width: 100%;
  }
}

.feature-row__item--overlap-images {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0 0 0 -30px;
  padding: 0 0 15px;
}

@media only screen and (min-width: 769px) {
  .feature-row__item--overlap-images {
    margin: 0 auto;
    padding: 50px 0;
  }
}

.feature-row__item--overlap-images > * {
  width: 50%;
}

.feature-row__item--overlap-images > :first-child {
  transform: translate(30px, 30px);
  z-index: 1;
}

@media only screen and (min-width: 769px) {
  .feature-row__item--overlap-images > :first-child {
    transform: translate(50px, 50px);
  }
}

.feature-row__item--overlap-images svg {
  border: 2px solid;
  border-color: var(--colorBody);
}

.feature-row__image {
  display: block;
  margin: 0 auto;
  order: 1;
}

@media only screen and (min-width: 769px) {
  .feature-row__image {
    order: 2;
  }
}

.feature-row__text {
  flex: 0 1 43%;
  min-width: 43%;
  padding: 0;
}

@media only screen and (max-width: 768px) {
  .feature-row__text {
    margin-top: 0;
    order: 2;
    padding: 30px 20px 0;
    padding-bottom: 0;
  }
}

.feature-row__text .rte {
  margin: 0;
}

.feature-row__text .btn {
  margin-top: 15px;
}

@media only screen and (min-width: 769px) {
  .feature-row__text--left {
    padding-left: 60px;
  }

  .feature-row__text--right {
    padding-right: 60px;
  }
}

.product-block {
  margin-bottom: 25px;
}

.product-block hr {
  margin: 0;
}

.product-block--tab + .product-block--tab {
  margin-top: -25px;
}

.product-block--sales-point + .product-block--sales-point {
  margin-top: -20px;
}

.product-block--header + .product-block--price {
  margin-top: -20px;
}

.theme-block {
  margin-bottom: 30px;
}

.theme-block:last-child {
  margin-bottom: 0;
}

.size-chart__standalone .tool-tip-trigger__title {
  font-size: 0.8em;
  letter-spacing: var(--typeUppercaseSpacing);
}

.slideshow-wrapper {
  position: relative;
}

.slideshow__pause:focus {
  clip: auto;
  background-color: var(--colorBtnPrimary);
  color: var(--colorBtnPrimaryText);
  height: auto;
  margin: 0;
  padding: 10px;
  transition: none;
  width: auto;
  z-index: 10000;
}

.video-is-playing .slideshow__pause:focus {
  display: none;
}

.slideshow__pause-stop {
  display: block;
}

.is-paused .slideshow__pause-stop {
  display: none;
}

.slideshow__pause-play {
  display: none;
}

.is-paused .slideshow__pause-play {
  display: block;
}

.slideshow__slide {
  display: none;
  height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.slideshow__slide:first-child {
  display: block;
}

.flickity-slider .slideshow__slide {
  display: block;
}

.hero {
  background: var(--colorLargeImageBg);
  overflow: hidden;
  position: relative;
}

.hero__media-container {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.hero__image-wrapper,
.hero__media {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.hero__image-wrapper:before,
.hero__media:before {
  background-color: var(--colorImageOverlay);
  bottom: 0;
  content: "";
  left: 0;
  opacity: var(--colorImageOverlayOpacity);
  position: absolute;
  right: 0;
  top: 0;
  z-index: 3;
}

.video-interactable .hero__image-wrapper:before,
.video-interactable .hero__media:before {
  pointer-events: none;
}

.hero__image {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  position: relative;
  width: 100%;
  z-index: 1;
}

.hero__media {
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 1;
}

.hero__image-wrapper--no-overlay:before {
  content: none;
}

.hero__media iframe,
.hero__media video {
  height: 100%;
  pointer-events: none;
  width: 100%;
}

.video-interactable .hero__media iframe,
.video-interactable .hero__media video {
  pointer-events: auto;
}

.video-parent-section.loading .hero__media iframe,
.video-parent-section.loading .hero__media video {
  opacity: 0.01;
}

.video-parent-section.loaded .hero__media iframe,
.video-parent-section.loaded .hero__media video {
  animation: zoom-fade 2.5s cubic-bezier(0.26, 0.54, 0.32, 1) 0s forwards;
  opacity: 1;
  transition: none;
}

.hero__media video {
  font-family: "object-fit: cover";
  -o-object-fit: cover;
  object-fit: cover;
  position: relative;
}

.hero__media iframe {
  left: 0;
  left: -100%;
  max-width: none;
  position: absolute;
  top: 0;
  width: 300%;
}

@media screen and (min-width: 1140px) {
  .hero__media iframe {
    height: 300%;
    left: auto;
    top: -100%;
    width: 100%;
  }
}

.vimeo-mobile-trigger {
  display: block;
  margin-top: 90px;
  position: absolute;
  width: 100%;
  z-index: 2;
}

.hero__text-content .vimeo-mobile-trigger {
  bottom: 120%;
}

.vimeo-mobile-trigger .icon {
  background-color: #fff;
  border-radius: 50%;
  height: 40px;
  padding: 10px;
  width: 40px;
}

.hero__slide-link {
  display: block;
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: 5;
}

.hero__slide-link:hover
  ~ .hero__text-wrap
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse) {
  background: var(--colorBtnPrimaryLight);
  transition-delay: 0.25s;
}

.hero__slide-link:hover
  ~ .hero__text-wrap
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):after {
  animation: shine 0.75s cubic-bezier(0.01, 0.56, 1, 1);
}

[data-button_style="angled"]
  .hero__slide-link:hover
  ~ .hero__text-wrap
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):after {
  animation: none;
}

.hero__text-wrap {
  color: var(--colorHeroText);
  height: 100%;
  position: relative;
}

.video-interactable .hero__text-wrap {
  pointer-events: none;
}

.hero__text-wrap .page-width {
  display: table;
  height: 100%;
  width: 100%;
}

.hero__text-content {
  padding: 15px 0;
  position: relative;
  z-index: 4;
}

@media only screen and (min-width: 769px) {
  .hero__text-content {
    padding: 45px 0;
  }
}

[data-dots="true"] .hero__text-content {
  padding-bottom: 40px;
}

.hero__text-shadow {
  display: inline-block;
  position: relative;
}

.hero__text-shadow:before {
  background: radial-gradient(
    rgba(0, 0, 0, var(--colorImageOverlayTextShadow)) 0%,
    transparent 60%
  );
  bottom: 0;
  content: "";
  left: 0;
  margin: -100px -200px -100px -200px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: auto;
  z-index: -1;
}

.hero__top-subtitle {
  font-size: var(--typeHeroSubtitleSize);
  letter-spacing: var(--typeUppercaseSpacing);
  margin-bottom: 5px;
  text-transform: uppercase;
}

.hero__title {
  display: block;
  margin-bottom: 0;
}

.hero__subtext {
  margin-top: 20px;
}

.hero__subtitle {
  display: block;
  font-size: var(--typeHeroTextSize);
  margin-bottom: 30px;
  margin-top: 15px;
  vertical-align: middle;
}

.hero__link {
  display: block;
  position: relative;
}

.video-interactable .hero__link {
  pointer-events: auto;
}

.hero__link .btn {
  margin: 4px 3px 2px 0;
}

@media only screen and (min-width: 769px) {
  .hero__link .btn {
    margin-right: 5px;
    margin-top: 0;
  }
}

[data-button_style="angled"] .hero__link .btn {
  margin-left: 12px;
}

.hero__link .btn + .btn {
  margin-left: 2px;
}

@media only screen and (min-width: 769px) {
  .hero__link .btn + .btn {
    margin-left: 10px;
  }
}

[data-button_style="angled"] .hero__link .btn + .btn {
  margin-left: 12px;
}

.hero__link .btn .icon-play {
  margin-right: 5px;
  position: relative;
  top: -2px;
}

[data-button_style="angled"] .hero__link .animation-cropper {
  padding-right: 10px;
}

.hero__text-content {
  display: table-cell;
}

.hero__text-content .hero__link {
  margin-top: 7.5px;
}

@media only screen and (min-width: 769px) {
  .hero__text-content .hero__link {
    margin-top: 15px;
  }
}

.hero__text-content.horizontal-left {
  text-align: left;
}

.hero__text-content.horizontal-center {
  text-align: center;
}

.hero__text-content.horizontal-right {
  text-align: right;
}

.hero__text-content.vertical-center {
  vertical-align: middle;
}

.hero__text-content.vertical-bottom {
  vertical-align: bottom;
}

.overlaid-header
  .index-section--hero:first-child
  .hero__text-content.vertical-center {
  padding-top: 50px;
}

@media only screen and (min-width: 769px) {
  .overlaid-header
    .index-section--hero:first-child
    .hero__text-content.vertical-center {
    padding-top: 90px;
  }
}

.hero--450px {
  height: 292.5px;
}

.hero--550px {
  height: 357.5px;
}

.hero--650px {
  height: 422.5px;
}

.hero--750px {
  height: 487.5px;
}

.hero--100vh {
  height: 100vh;
}

@media only screen and (min-width: 769px) {
  .hero--natural[data-natural] {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
  }
  .hero--450px {
    height: 450px;
  }
  .hero--550px {
    height: 550px;
  }
  .hero--650px {
    height: 650px;
  }
  .hero--750px {
    height: 750px;
  }
}

@media only screen and (max-width: 768px) {
  .hero--mobile--auto[data-mobile-natural="true"] {
    bottom: 0;
    height: auto;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
  }
  .hero--natural[data-mobile-natural="false"] {
    height: 500px;
  }
  .hero--mobile--250px[data-mobile-natural="false"] {
    height: 250px;
  }
  .hero--mobile--300px[data-mobile-natural="false"] {
    height: 300px;
  }
  .hero--mobile--400px[data-mobile-natural="false"] {
    height: 400px;
  }
  .hero--mobile--500px[data-mobile-natural="false"] {
    height: 500px;
  }
  .hero--mobile--100vh[data-mobile-natural="false"] {
    height: 90vh;
  }
}

.slideshow__slide .animation-cropper,
[data-aos="hero__animation"] .animation-cropper {
  opacity: 0;
}

.slideshow__slide .animation-contents,
[data-aos="hero__animation"] .animation-contents {
  opacity: 0;
  transform: translateY(15px);
  transition: none;
}

.slideshow__slide:not(.animate-out) .hero__image,
[data-aos="hero__animation"]:not(.animate-out) .hero__image {
  opacity: 0;
  transition: none;
}

.slideshow__slide .hero__link .btn,
[data-aos="hero__animation"] .hero__link .btn {
  opacity: 0;
  transition: none;
}

.slideshow__slide .hero__image-wrapper,
[data-aos="hero__animation"] .hero__image-wrapper {
  opacity: 0;
  transform: translateX(200px);
  transition: none;
}

.loaded .slideshow__slide.is-selected .animation-cropper,
.loaded[data-aos="hero__animation"] .animation-cropper {
  opacity: 1;
}

.loaded .slideshow__slide.is-selected .animation-contents,
.loaded[data-aos="hero__animation"] .animation-contents {
  transform: translateY(0px);
}

.loaded .slideshow__slide.is-selected .hero__title .animation-contents,
.loaded[data-aos="hero__animation"] .hero__title .animation-contents {
  animation: 0.8s cubic-bezier(0.26, 0.54, 0.32, 1) 0.3s forwards;
  animation-name: rise-up;
}

.loaded .slideshow__slide.is-selected .hero__subtitle .animation-contents,
.loaded .slideshow__slide.is-selected .hero__top-subtitle .animation-contents,
.loaded[data-aos="hero__animation"] .hero__subtitle .animation-contents,
.loaded[data-aos="hero__animation"] .hero__top-subtitle .animation-contents {
  animation: 1s cubic-bezier(0.26, 0.54, 0.32, 1) 0.7s forwards;
  animation-name: rise-up;
}

.loaded .slideshow__slide.is-selected .hero__link .animation-contents,
.loaded[data-aos="hero__animation"] .hero__link .animation-contents {
  opacity: 1;
}

.loaded .slideshow__slide.is-selected .hero__link .btn,
.loaded[data-aos="hero__animation"] .hero__link .btn {
  animation: fade-in 2s ease 1.3s forwards;
}

.loaded .slideshow__slide.is-selected .hero__link .btn:nth-child(2),
.loaded[data-aos="hero__animation"] .hero__link .btn:nth-child(2) {
  animation: fade-in 2s ease 1.6s forwards;
}

.loaded .slideshow__slide.is-selected .hero__image,
.loaded .slideshow__slide.is-selected .hero__image--svg,
.loaded .slideshow__slide.is-selected .hero__media,
.loaded[data-aos="hero__animation"] .hero__image,
.loaded[data-aos="hero__animation"] .hero__image--svg,
.loaded[data-aos="hero__animation"] .hero__media {
  opacity: 1;
  transition: none;
}

.loaded .slideshow__slide.is-selected .hero__image-wrapper,
.loaded[data-aos="hero__animation"] .hero__image-wrapper {
  opacity: 1;
  transform: translateX(0px);
  transition:
    transform 0.7s ease,
    opacity 0.7s ease;
}

.loaded[data-aos="hero__animation"] .hero__image-wrapper {
  transition: opacity 0.7s ease !important;
}

.no-js .hero__image,
.no-js .hero__image-wrapper {
  opacity: 1 !important;
}

.no-js .hero__image,
.no-js .hero__image-wrapper {
  transform: none;
}

.slideshow__slide.animate-out .animation-cropper {
  opacity: 0;
  transition: none;
}

.slideshow__slide.animate-out .hero__image-wrapper {
  opacity: 0;
  transform: translateX(-200px);
  transition:
    transform 0.5s ease-in 0.05s,
    opacity 0.5s ease-in 0.05s;
}

.slideshow__slide.animate-out .hero__link {
  opacity: 0;
  transition: none;
}

.collection-content {
  padding-top: 22.5px;
}

@media only screen and (min-width: 769px) {
  .collection-content {
    padding-top: 45px;
  }
}

.collection-filter {
  align-items: center;
  display: flex;
  justify-content: flex-end;
}

@media only screen and (max-width: 768px) {
  .collection-filter {
    flex-wrap: wrap;
    justify-content: space-between;
    position: sticky;
    top: 17px;
    z-index: 5;
  }

  .sticky-header .collection-filter {
    top: 86px;
  }
}

.collection-filter .btn,
.collection-filter select {
  font-size: 16px;
  height: 44px;
}

.collection-filter select {
  display: block;
  width: 100%;
}

.collection-filter .btn {
  border: 1px solid;
  border-color: var(--colorBorder);
  padding: 0 20px;
}

@media only screen and (max-width: 768px) {
  .collection-filter .btn {
    text-align: left;
    width: 100%;
  }
}

.collection-filter .btn .icon {
  margin-right: 10px;
  position: relative;
  top: -2px;
}

.collection-filter__item {
  flex: 1 1 auto;
  margin-bottom: 15px;
}

.collection-filter .btn:not(.btn--tertiary-active),
.collection-filter__sort-container {
  background: var(--colorBody);
}

.collection-filter__item--drawer {
  flex: 0 1 48%;
}

.collection-filter__item--count {
  flex: 1 1 170%;
  text-align: center;
}

.collection-filter__item--sort {
  flex: 0 1 48%;
}

@media only screen and (max-width: 768px) {
  .collection-filter__item--count {
    flex: 1 1 100%;
    order: 3;
  }
}

.image-filter__wrapper ul {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, 1fr);
}

.image-filter__wrapper ul label {
  align-items: flex-start;
  border: 1px solid transparent;
  height: 100%;
}

.image-filter__wrapper ul label:active,
.image-filter__wrapper ul label:focus-within,
.image-filter__wrapper ul label:hover {
  border-color: var(--colorBorder);
}

.image-filter__wrapper ul .tag__text {
  margin-bottom: 4px;
  margin-left: 0;
}

.image-filter__wrapper .tag--active label {
  border-color: var(--colorTextBody);
}

.image-filter__image-wrapper {
  display: flex;
  flex-direction: column;
  gap: 10px;
  text-align: center;
}

.rte.collection__description {
  margin-bottom: 45px;
}

.collection-hero {
  background: var(--colorLargeImageBg);
  box-sizing: initial;
  height: 250px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

@media only screen and (min-width: 769px) {
  .collection-hero {
    height: 420px;
  }
}

.collection-hero--small {
  height: 200px;
}

@media only screen and (min-width: 769px) {
  .collection-hero--small {
    height: 300px;
  }
}

.collection-hero--large {
  height: 350px;
}

@media only screen and (min-width: 769px) {
  .collection-hero--large {
    height: 550px;
  }
}

.collection-hero__content {
  align-items: flex-end;
  bottom: 0;
  display: flex;
  left: 0;
  padding: 15px 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

@media only screen and (min-width: 769px) {
  .collection-hero__content {
    padding: 30px 0;
  }
}

[data-type_headers_align_text="center"] .collection-hero__content {
  align-items: center;
}

.overlaid-header .collection-hero__content {
  padding-top: 70px;
}

@media only screen and (min-width: 769px) {
  .overlaid-header .collection-hero__content {
    padding-top: 100px;
  }
}

.collection-hero__content .page-width {
  width: 100%;
}

.collection-hero__content:before {
  background-color: var(--colorImageOverlay);
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  opacity: var(--colorImageOverlayOpacity);
  position: absolute;
  right: 0;
  top: 0;
  z-index: auto;
}

.collection-hero__content .section-header {
  animation: fade-in 0.5s 1s forwards;
  opacity: 0;
}

[data-disable-animations="true"] .collection-hero__content .section-header {
  animation: none;
  opacity: 1;
}

.collection-hero__image {
  animation: zoom-fade 2.5s cubic-bezier(0.26, 0.54, 0.32, 1) 0s forwards;
  transition: none;
}

[data-disable-animations="true"] .collection-hero__image {
  animation: none;
  opacity: 1;
}

.collection-grid__wrapper.unload {
  min-height: 180px;
  opacity: 0.2;
  position: relative;
  transition: opacity 0.3s;
}

.collection-grid__wrapper.unload [data-section-type="collection-grid"] {
  animation: grid-product__loading 1.5s ease 1.5s infinite;
}

.collection-sidebar {
  margin-bottom: 20px;
  padding-right: 10px;
}

@media only screen and (min-width: 769px) {
  .grid__item--sidebar {
    max-height: 90vh;
    overflow-y: auto;
    position: sticky;
    top: 10px;
  }
}

.collection-sidebar__group {
  border-top: 1px solid;
  border-top-color: var(--colorDrawerBorder);
  margin-bottom: 5px;
  margin-top: 5px;
  overflow: hidden;
  padding-top: 5px;
}

.collection-sidebar__group:first-child {
  margin-top: 0;
}

.collection-sidebar__group .collapsible-content__inner {
  padding-bottom: 5px;
}

.filter-form div:first-of-type .collection-sidebar__group {
  border-top: 0;
  padding-top: 0;
}

.is-light .site-header__logo .logo--has-inverted {
  display: none;
}

.site-header__logo .logo--inverted {
  display: none;
}

.is-light .site-header__logo .logo--inverted {
  display: block;
}

@media only screen and (min-width: 769px) {
  .site-header__logo {
    text-align: left;
  }
}

.header-logo a,
.site-header__logo a {
  color: var(--colorNavText);
}

.is-light .header-logo a,
.is-light .site-header__logo a {
  color: #fff;
}

.is-light .header-logo a:hover,
.is-light .site-header__logo a:hover {
  color: #fff;
}

.is-light .site-header {
  box-shadow: none;
}

.site-header--password {
  color: var(--colorNavText);
}

.site-header--password a,
.site-header--password a:hover {
  color: var(--colorNavText);
}

.is-light .site-header--password {
  color: #fff;
}

.is-light .site-header--password a,
.is-light .site-header--password a:hover {
  color: #fff;
}

.site-nav__dropdown-link {
  display: block;
  padding: 8px 15px;
  white-space: nowrap;
}

.site-nav__dropdown-link.site-nav__dropdown-link--has-children {
  padding-right: 30px;
}

.megamenu .site-nav__dropdown-link {
  padding: 4px 0;
  white-space: normal;
}

.tag-list__header {
  text-align: left;
}

.tag-list .tag-list {
  margin-left: 15px;
}

.tag-list a,
.tag-list label {
  cursor: pointer;
  display: block;
  line-height: 1.4;
}

.tag-list label:hover,
.tag:focus-within label {
  -webkit-text-decoration: underline;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.tag--active > a,
.tag--active > label {
  font-weight: 900;
}

.tag-list--active-tags:empty {
  display: none;
}

.tag-list--checkboxes {
  padding-bottom: 6px;
}

.tag-list--checkboxes a {
  font-size: calc(var(--typeBaseSize) - 2px);
  font-size: max(calc(var(--typeBaseSize) - 2px), 14px);
  padding-left: 25px;
  position: relative;
}

.tag-list--checkboxes a:before {
  content: "";
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.tag-list--checkboxes a:before {
  border: 1px solid;
  border-color: var(--colorBorder);
  height: 16px;
  width: 16px;
}

.tag--active .tag__checkbox:after,
.tag-list--checkboxes .tag--active a:after,
input:checked ~ .tag__checkbox:after {
  background-color: var(--colorTextBody);
  border-color: var(--colorTextBody);
}

.tag--remove {
  position: relative;
}

.tag--remove a {
  text-align: left;
}

.tag--remove .icon {
  color: var(--colorBtnPrimaryText);
  pointer-events: none;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}

.tag-list--swatches {
  margin-left: -2px;
  margin-top: 2px;
}

.drawer .tag-list--swatches {
  margin-left: -2px;
}

.tag-list--swatches li {
  display: inline-block;
}

label.tag__checkbox-wrapper {
  display: flex;
}

.tag__checkbox {
  padding-left: 25px;
  position: relative;
}

.tag__checkbox:after,
.tag__checkbox:before {
  content: "";
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.tag__checkbox:before {
  border: 1px solid;
  border-color: var(--colorBorder);
  height: 16px;
  width: 16px;
}

.tag__checkbox:after {
  height: 10px;
  left: 3px;
  width: 10px;
}

.tag__input {
  cursor: pointer;
  height: 0;
  opacity: 0;
  position: absolute;
  width: 0;
}

.variant-input-wrap {
  border: 0;
  margin: 0 0 -12px;
  padding: 0;
  position: relative;
}

.variant-input-wrap input {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.variant-input-wrap label {
  background-color: var(--colorBody);
  box-shadow: 0 0 0 1px var(--colorBorder);
  display: inline-block;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: var(--typeBodySizeMobile);
  font-weight: 400;
  letter-spacing: var(--typeBaseSpacing);
  line-height: var(--typeBaseLineHeight);
  margin: 0 8px 12px 0;
  overflow: hidden;
  padding: 7px 15px 7px;
  position: relative;
}

@media only screen and (min-width: 769px) {
  .variant-input-wrap label {
    font-size: var(--typeBodySize);
  }
}

[data-center-text="center"] .variant-input-wrap label {
  margin: 0 4px 12px;
}

.variant-input-wrap label.disabled {
  color: var(--colorBorder);
}

.variant-input-wrap label.disabled:after {
  border-left: 1px solid;
  border-color: var(--colorBorder);
  bottom: 0;
  content: "";
  left: 50%;
  position: absolute;
  top: 0;
  transform: rotate(45deg);
}

.variant-input-wrap input[type="radio"]:focus + label {
  border-color: var(--colorTextBodyAlpha005);
  box-shadow: 0 0 0 1px var(--colorTextBody);
}

.variant-input-wrap input[type="radio"]:checked + label {
  box-shadow: 0 0 0 2px var(--colorTextBody);
}

.variant-input {
  display: inline-block;
}

select .variant-input {
  display: block;
}

.variant-wrapper + .variant-wrapper {
  margin-top: 25px;
}

.no-js .variant-wrapper {
  display: none;
}

.variant-wrapper--dropdown {
  display: inline-block;
  margin-bottom: 0;
  margin-right: 15px;
  max-width: 100%;
}

.variant__label[for] {
  cursor: default;
  display: block;
  margin-bottom: 10px;
}

.variant__label-info {
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.grid-product {
  margin-bottom: 15px;
}

@media only screen and (min-width: 769px) {
  .grid-product {
    margin-bottom: 30px;
  }
}

@media only screen and (max-width: 768px) {
  .grid-overflow-wrapper .grid-product {
    margin-bottom: 0;
  }
}

.grid-product__content {
  position: relative;
  text-align: left;
}

html[dir="rtl"] .grid-product__content {
  text-align: right;
}

.grid__item-image-wrapper {
  position: relative;
}

.grid-product__title--heading {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-weight: var(--typeHeaderWeight);
  letter-spacing: var(--typeHeaderSpacing);
  line-height: var(--typeHeaderLineHeight);
}

[data-type_header_capitalize="true"] .grid-product__title--heading {
  text-transform: uppercase;
}

.grid-product__title--heading {
  font-size: calc(var(--typeBaseSize) + 2px);
  line-height: 1;
}

[data-type_product_capitalize="true"] .grid-product__title {
  font-size: calc(var(--typeBaseSize) - 2px);
  letter-spacing: var(--typeUppercaseSpacing);
  text-transform: uppercase;
}

@media only screen and (max-width: 768px) {
  [data-type_product_capitalize="true"] .grid-product__title {
    font-size: var(--typeBodySizeMobile);
  }
}

.grid-product__title {
  -webkit-hyphens: auto;
  hyphens: auto;
  word-break: break-word;
}

.grid-product__link {
  display: block;
}

.grid-product__link:after {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.grid-product__link--inline {
  display: flex;
}

.grid-product__link--inline .grid-product__image-mask {
  flex: 0 0 auto;
  margin-right: 10px;
}

.grid-product__link--inline .grid__image-ratio {
  width: 80px;
}

.grid-product__link--inline .grid-product__meta {
  text-align: left;
}

.grid-product__image-mask {
  overflow: hidden;
  position: relative;
}

.grid-product__image {
  display: block;
  height: 100%;
  margin: 0 auto;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.grid-product__secondary-image {
  background-color: var(--colorBody);
  bottom: -1px;
  left: -1px;
  opacity: 0;
  position: absolute;
  right: -1px;
  top: -1px;
}

.grid-product__secondary-image img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.grid-product__content:hover .grid-product__secondary-image {
  animation: fade-in 0.2s cubic-bezier(0.26, 0.54, 0.32, 1) 0s forwards;
}

@media only screen and (max-width: 768px) {
  .supports-touch .grid-product__secondary-image {
    display: none;
  }
}

.grid-product__color-image {
  background-color: var(--colorBody);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 0;
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: opacity 0.4s ease;
}

.grid-product__color-image.is-active {
  animation: fade-in 0.5s cubic-bezier(0.26, 0.54, 0.32, 1) 0s forwards;
}

[data-center-text="center"] .grid-product__meta {
  text-align: center;
}

.grid-product__meta {
  line-height: var(--typeBaselineHeightMinus01);
  padding: 10px 0 6px 0;
  position: relative;
}

@media only screen and (max-width: 768px) {
  .small--grid--flush .grid-product__meta {
    padding-left: 10px;
    padding-right: 10px;
  }
}

.grid-product__vendor {
  font-size: var(--typeAccentSmallSize);
  letter-spacing: var(--typeUppercaseSpacing);
  margin-top: 5px;
  opacity: 0.65;
  text-transform: uppercase;
}

.grid-product__price {
  color: var(--colorPrice);
  font-size: var(--typeBodySmallSize);
  margin-top: 5px;
}

.grid-product__price--original {
  margin-right: 5px;
  -webkit-text-decoration: line-through;
  text-decoration: line-through;
}

.grid-product__price--savings {
  color: var(--colorTextSavings);
  margin-left: 5px;
}

.grid-product__tag {
  background-color: var(--colorBtnPrimary);
  color: var(--colorBtnPrimaryText);
  font-size: calc(var(--typeBaseSize) * 0.65);
  line-height: 1;
  padding: 6px 5px 6px 7px;
  position: absolute;
  right: 0;
  top: 0;
  transition: opacity 0.4s ease;
  z-index: 2;
}

.grid-product__tag.grid-product__tag--sold-out {
  background-color: var(--colorBody);
  color: var(--colorTextBody);
}

@media only screen and (min-width: 769px) {
  .grid-product__tag {
    font-size: calc(var(--typeBaseSize) * 0.85);
    padding: 7px 7px 7px 9px;
  }
}

.grid-product__tag--sale {
  background-color: var(--colorSaleTag);
  color: var(--colorSaleTagText);
}

.quick-product__btn {
  background-color: var(--colorBtnPrimary);
  bottom: 10px;
  color: var(--colorBtnPrimaryText);
  cursor: pointer;
  font-size: var(--typeBodySmallSize);
  left: 10px;
  opacity: 0;
  overflow: hidden;
  padding: 8px 5px;
  position: absolute;
  right: 10px;
  text-align: center;
  transform: translateY(5px);
  transition:
    opacity 0.25s ease,
    transform 0.25s ease-out,
    background 0.4s ease;
  width: calc(100% - 20px);
  z-index: 2;
}

.no-js .quick-product__btn {
  display: none;
}

.grid-product__content:hover .quick-product__btn {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 0.25s ease,
    transform 0.25s ease-out;
}

.supports-touch .quick-product__btn {
  display: none;
}

.grid-product:focus-within .quick-product__btn {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 0.25s ease,
    transform 0.25s ease-out;
}

.quick-product__btn.btn--not-ready {
  opacity: 0 !important;
}

@media only screen and (max-width: 768px) {
  .grid-overflow-wrapper {
    -webkit-overflow-scrolling: touch;
    overflow: hidden;
    overflow-x: scroll;
  }

  .grid-overflow-wrapper .grid {
    display: flex;
    white-space: nowrap;
  }

  .grid-overflow-wrapper .grid__item {
    display: inline-block;
    flex: 0 0 39vw;
    float: none;
    white-space: normal;
    width: 39vw;
  }

  .grid-overflow-wrapper .grid__item:first-child {
    margin-left: 17px;
  }

  .grid-overflow-wrapper .grid__item:last-child:after {
    content: "";
    display: inline-block;
    margin-right: 17px;
    width: 100%;
  }

  .grid-overflow-wrapper .grid-product__price,
  .grid-overflow-wrapper .grid__item {
    font-size: 0.75rem;
  }

  [data-aos="overflow__animation"] {
    transform: translateX(100vw);
    transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

  .aos-animate[data-aos="overflow__animation"] {
    transform: translateX(0);
  }

  [data-disable-animations="true"] [data-aos="overflow__animation"] {
    transform: none;
    transition: none;
  }
}

[data-center-text="center"] .grid-product__colors {
  text-align: center;
}

.grid-product__colors {
  display: flex;
  flex-wrap: wrap;
  line-height: 15px;
  margin-top: 3px;
}

@media only screen and (min-width: 769px) {
  .grid-product__colors {
    line-height: 19px;
  }
}

[data-center-text="center"] .grid-product__colors {
  align-items: center;
  justify-content: center;
}

.grid-product__colors + .grid-product__colors {
  margin-top: 4px;
}

.sales-points {
  list-style: none;
  margin: 25px 0;
  padding: 0;
}

.quick-add-modal .sales-points {
  display: none;
}

.sales-point {
  display: block;
  margin-bottom: 10px;
}

.sales-point:last-child {
  margin-bottom: 0;
}

.sales-point .icon {
  height: 25px;
  margin-right: 10px;
  position: relative;
  width: 25px;
}

[dir="rtl"] .sales-point .icon {
  margin-left: 10px;
  margin-right: 0;
}

@media only screen and (max-width: 768px) {
  .sales-point .icon-and-text {
    justify-content: center;
  }
}

@keyframes inventory-pulse {
  0% {
    opacity: 0.5;
  }
  to {
    opacity: 0;
    transform: scale(2.5);
  }
}

.icon--inventory:after,
.icon--inventory:before {
  background: #54c63a;
  border-radius: 9px;
  content: "";
  height: 9px;
  left: 0;
  margin: 8px;
  position: absolute;
  top: 0;
  width: 9px;
}

.icon--inventory:before {
  animation: inventory-pulse 2s linear infinite;
}

.inventory--low .icon--inventory:after,
.inventory--low .icon--inventory:before {
  background: #f4af29;
}

.color-swatch {
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: 0 0 0 1px var(--colorBorder);
  display: block;
  height: 40px;
  margin: 0 4px 4px;
  overflow: hidden;
  position: relative;
  text-indent: -9999px;
  transition: box-shadow 0.2s ease;
  width: 40px;
}

[data-swatch_style="round"] .color-swatch {
  border-radius: 100%;
}

.color-swatch:before {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
}

.color-swatch:before {
  border: 3px solid;
  border-color: var(--colorBody);
}

[data-swatch_style="round"] .color-swatch:before {
  border-radius: 100%;
  border-width: 4px;
  bottom: -1px;
  left: -1px;
  right: -1px;
  top: -1px;
}

.tag:focus-within .color-swatch,
.tag:not(.tag--active) label:hover .color-swatch:hover,
a.color-swatch:hover {
  box-shadow: 0 0 0 1px var(--colorTextBody);
}

.tag--active .color-swatch {
  box-shadow: 0 0 0 2px var(--colorTextBody);
}

.color-swatch--small {
  height: 15px;
  width: 15px;
}

@media only screen and (min-width: 769px) {
  .color-swatch--small {
    height: 19px;
    width: 19px;
  }
}

.color-swatch--small:before {
  border: 2px solid;
  border-color: var(--colorBody);
}

[data-swatch_style="round"] .color-swatch--small:before {
  border-width: 3px;
}

.tag--swatch {
  display: inline-block;
}

.tag--swatch > label {
  margin-bottom: 0;
}

.tag--show-label {
  width: 100%;
}

.tag--show-label label {
  align-items: center;
  display: flex;
}

.tag--show-label .tag__text {
  display: block !important;
}

.tag--show-label .tag__text {
  margin-left: 0.5rem;
}

.color-swatch--filter {
  height: 35px;
  width: 35px;
}

.tag--active .color-swatch--filter:hover:after {
  border-left: 1px solid;
  border-color: var(--colorBorder);
  bottom: 0;
  content: "";
  left: 50%;
  position: absolute;
  top: 0;
  transform: rotate(45deg);
}

.collection-item {
  display: block;
  margin-bottom: 17px;
  overflow: hidden;
  position: relative;
}

@media only screen and (min-width: 769px) {
  .collection-item {
    margin-bottom: 22px;
  }
}

.grid--no-gutters .collection-item {
  margin-bottom: 0;
}

.collection-item:hover .collection-image {
  transform: scale(1.03);
  transition: all 0.8s ease;
}

[data-disable-animations="true"] .collection-item:hover .collection-image {
  transform: none;
  transition: none;
}

.collection-item:not(.collection-item--below):after {
  background-color: var(--colorGridOverlay);
  bottom: 0;
  content: "";
  left: 0;
  opacity: var(--colorGridOverlayOpacity);
  position: absolute;
  right: 0;
  top: 0;
  transition: opacity 0.8s ease;
  z-index: auto;
}

.collection-item:not(.collection-item--below):hover:after {
  opacity: calc(var(--colorGridOverlayOpacity) + 0.15);
}

.collection-image {
  position: relative;
  transition: transform 0.3s ease;
}

.collection-image img {
  height: 100%;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
}

.collection-item--below img {
  -o-object-fit: contain;
  object-fit: contain;
}

.collection-image--placeholder {
  opacity: 1;
}

.collection-image--placeholder svg {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.collection-image--square {
  padding-bottom: 100%;
}

.collection-image--landscape {
  padding-top: 75%;
}

.collection-image--portrait {
  padding-top: 150%;
}

.collection-item__title {
  display: block;
  font-size: var(--typeCollectionTitleMobile);
  line-height: 1em;
  z-index: 2;
}

@media only screen and (min-width: 769px) {
  .collection-item__title {
    font-size: var(--typeCollectionTitle);
  }

  .medium-up--one-fifth .collection-item__title {
    font-size: 16px;
  }
}

[data-type_product_capitalize="true"] .collection-item__title span {
  font-size: 0.8em;
  letter-spacing: var(--typeUppercaseSpacing);
  text-transform: uppercase;
}

.collection-item--below .collection-item__title {
  margin-top: 5px;
}

.collection-item__title--heading {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-weight: var(--typeHeaderWeight);
  letter-spacing: var(--typeHeaderSpacing);
  line-height: var(--typeHeaderLineHeight);
}

[data-type_header_capitalize="true"] .collection-item__title--heading {
  text-transform: uppercase;
}

.collection-item__title--overlaid,
.collection-item__title--overlaid-box {
  display: block;
  left: 10px;
  position: absolute;
  right: 10px;
}

.collection-item__title--overlaid {
  color: #fff;
  text-shadow: 0 0 50px #000;
}

.collection-item__title--overlaid-box > span {
  background-color: var(--colorBody);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  color: var(--colorTextBody);
  display: inline-block;
  padding: 8px 15px;
}

.collection-item__title--bottom-center,
.collection-item__title--center,
.collection-item__title--top-center {
  text-align: center;
}

.collection-item__title--bottom-right,
.collection-item__title--top-right .collection-item__title--right {
  text-align: right;
}

.collection-item__title--center[class*="collection-item__title--overlaid"],
.collection-item__title--left[class*="collection-item__title--overlaid"],
.collection-item__title--right[class*="collection-item__title--overlaid"] {
  top: 50%;
  transform: translateY(-50%);
}

.collection-item__title--top-center[class*="collection-item__title--overlaid"],
.collection-item__title--top-left[class*="collection-item__title--overlaid"],
.collection-item__title--top-right[class*="collection-item__title--overlaid"] {
  top: 10px;
}

@media only screen and (min-width: 769px) {
  .collection-item__title--top-center[class*="collection-item__title--overlaid"],
  .collection-item__title--top-left[class*="collection-item__title--overlaid"],
  .collection-item__title--top-right[class*="collection-item__title--overlaid"] {
    top: 18px;
  }
}

.collection-item__title--bottom-center[class*="collection-item__title--overlaid"],
.collection-item__title--bottom-left[class*="collection-item__title--overlaid"],
.collection-item__title--bottom-right[class*="collection-item__title--overlaid"] {
  bottom: 10px;
}

@media only screen and (min-width: 769px) {
  .collection-item__title--bottom-center[class*="collection-item__title--overlaid"],
  .collection-item__title--bottom-left[class*="collection-item__title--overlaid"],
  .collection-item__title--bottom-right[class*="collection-item__title--overlaid"] {
    bottom: 18px;
  }
}

.custom-content {
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -22px;
  margin-left: -22px;
  width: auto;
}

@media only screen and (max-width: 768px) {
  .custom-content {
    margin-bottom: -17px;
    margin-left: -17px;
  }
}

.custom__item {
  flex: 0 0 auto;
  margin-bottom: 22px;
  max-width: 100%;
  padding-left: 22px;
}

@media only screen and (max-width: 768px) {
  .custom__item {
    flex: 0 0 auto;
    margin-bottom: 17px;
    padding-left: 17px;
  }

  .custom__item.small--one-half {
    flex: 1 0 50%;
    margin-left: auto;
    margin-right: auto;
    max-width: 400px;
  }
}

.custom__item img {
  display: block;
}

.custom__item-inner {
  display: inline-block;
  max-width: 100%;
  position: relative;
  text-align: left;
  width: 100%;
}

.custom__item-inner--html,
.custom__item-inner--video {
  display: block;
}

.custom__item-inner--image {
  width: 100%;
}

.custom__item-inner--html img {
  display: block;
  margin: 0 auto;
}

.custom__item-inner--placeholder-image {
  width: 100%;
}

.align--top-middle {
  text-align: center;
}

.align--top-right {
  text-align: right;
}

.align--middle-left {
  align-self: center;
}

.align--center {
  align-self: center;
  text-align: center;
}

.align--middle-right {
  align-self: center;
  text-align: right;
}

.align--bottom-left {
  align-self: flex-end;
}

.align--bottom-middle {
  align-self: flex-end;
  text-align: center;
}

.align--bottom-right {
  align-self: flex-end;
  text-align: right;
}

.article__grid-image {
  display: block;
  margin-bottom: 17px;
  text-align: center;
}

@media only screen and (min-width: 769px) {
  .article__grid-image {
    margin-bottom: 20px;
  }
}

.article__grid-image img {
  display: block;
}

.article__title {
  font-size: calc(var(--typeBaseSize) + 2px);
}

.article__date {
  font-size: var(--typeBodyExtraSmallSize);
  margin-bottom: 3px;
}

.section-header .article__date {
  margin-bottom: 15px;
}

.article__author {
  font-size: var(--typeBodyExtraSmallSize);
  margin-top: 2px;
}

.article__grid-meta {
  margin-bottom: 30px;
}

@media only screen and (min-width: 769px) {
  [data-center-text="center"] .article__grid-meta {
    text-align: center;
  }
}

.article__excerpt {
  margin-top: 10px;
}

.logo-bar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: -30px;
  text-align: center;
}

.logo-bar__item {
  flex: 0 1 110px;
  margin: 0 15px 20px;
  vertical-align: middle;
}

@media only screen and (min-width: 769px) {
  .logo-bar__item {
    flex: 0 1 160px;
    margin: 0 20px 30px;
  }
}

.logo-bar__image {
  display: block;
  height: 100%;
  margin: 0 auto;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.logo-bar__link {
  display: block;
}

[data-aos="logo__animation"] .logo-bar__item {
  opacity: 0;
}

[data-aos="logo__animation"].aos-animate .logo-bar__item {
  animation: fade-in 0.5s ease 0s forwards;
}

[data-aos="logo__animation"].aos-animate .logo-bar__item:nth-child(2) {
  animation-delay: 0.2s;
}

[data-aos="logo__animation"].aos-animate .logo-bar__item:nth-child(3) {
  animation-delay: 0.4s;
}

[data-aos="logo__animation"].aos-animate .logo-bar__item:nth-child(4) {
  animation-delay: 0.6s;
}

[data-aos="logo__animation"].aos-animate .logo-bar__item:nth-child(5) {
  animation-delay: 0.8s;
}

[data-aos="logo__animation"].aos-animate .logo-bar__item:nth-child(6) {
  animation-delay: 1s;
}

[data-aos="logo__animation"].aos-animate .logo-bar__item:nth-child(7) {
  animation-delay: 1.2s;
}

[data-aos="logo__animation"].aos-animate .logo-bar__item:nth-child(8) {
  animation-delay: 1.4s;
}

[data-aos="logo__animation"].aos-animate .logo-bar__item:nth-child(9) {
  animation-delay: 1.6s;
}

[data-aos="logo__animation"].aos-animate .logo-bar__item:nth-child(10) {
  animation-delay: 1.8s;
}

.background-media-text {
  background: var(--colorLargeImageBg);
  background-size: cover;
  overflow: hidden;
  position: absolute;
  width: 100%;
}

.background-media-text__video {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 0;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

@media only screen and (max-width: 768px) {
  .background-media-text__video {
    left: -150%;
    width: 400%;
  }

  html[dir="rtl"] .background-media-text__video {
    left: auto;
    right: -150%;
  }
}

.background-media-text__video iframe,
.background-media-text__video video {
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
}

@media only screen and (min-width: 769px) {
  .background-media-text__video iframe,
  .background-media-text__video video {
    height: 120%;
    height: 150%;
    left: -150%;
    max-width: none;
    width: 400%;
  }
}

@media screen and (min-width: 1140px) {
  .background-media-text__video iframe,
  .background-media-text__video video {
    height: 300%;
    left: auto;
    top: -100%;
    width: 100%;
  }
}

.video-interactable .background-media-text__video iframe,
.video-interactable .background-media-text__video video {
  pointer-events: auto;
}

.background-media-text__inner {
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: 2;
}

.background-media-text__aligner {
  margin: 60px;
}

.background-media-text__text {
  background: var(--colorBody);
  font-size: var(--typeHeroSubtitleSize);
  padding: 30px;
  text-align: left;
  width: 380px;
}

.background-media-text--left .background-media-text__text {
  text-align: left;
}

.background-media-text--right .background-media-text__text {
  text-align: right;
}

@media only screen and (max-width: 768px) {
  .background-media-text__text {
    text-align: center;
  }
}

.background-media-text__text--framed {
  border: 7px solid;
  border-color: var(--colorBody);
  box-shadow: inset 0 0 0 2px var(--colorTextBody);
}

@media only screen and (min-width: 769px) {
  .background-media-text__text--framed {
    border-width: 10px;
  }
}

.background-media-text__text .btn {
  margin-top: 15px;
}

@media only screen and (min-width: 769px) {
  .background-media-text--left .animation-cropper {
    float: left;
  }

  .background-media-text--right .animation-cropper {
    float: right;
  }
}

.background-media-text__container {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

@media only screen and (max-width: 768px) {
  .background-media-text {
    position: relative;
  }
  .background-media-text__inner {
    position: relative;
  }
  .background-media-text__container,
  .background-media-text__video {
    height: 240px;
    position: relative;
  }
  .promo-video .background-media-text__container,
  .promo-video .background-media-text__video {
    height: 550px;
  }
  .background-media-text__aligner {
    margin: -6px 6px 6px;
  }
  .background-media-text__text {
    padding: 22.5px;
    width: auto;
  }
  .background-media-text.loading:after,
  .background-media-text.loading:before {
    top: 117px;
  }
}

@media only screen and (min-width: 769px) {
  .background-media-text--450,
  .background-media-text--450 .background-media-text__video,
  .background-media-text__spacer.background-media-text--450 {
    min-height: 450px;
  }
  .background-media-text--550,
  .background-media-text--550 .background-media-text__video,
  .background-media-text__spacer.background-media-text--550 {
    min-height: 550px;
  }
  .background-media-text--650,
  .background-media-text--650 .background-media-text__video,
  .background-media-text__spacer.background-media-text--650 {
    min-height: 650px;
  }
  .background-media-text--750,
  .background-media-text--750 .background-media-text__video,
  .background-media-text__spacer.background-media-text--750 {
    min-height: 750px;
  }
}

[data-aos="background-media-text__animation"] .background-media-text__image,
[data-aos="background-media-text__animation"] .background-media-text__image svg,
[data-aos="background-media-text__animation"] .background-media-text__video {
  animation: zoom-fade 2.5s cubic-bezier(0.26, 0.54, 0.32, 1) 0s forwards;
  transition: none;
}

[data-disable-animations="true"]
  [data-aos="background-media-text__animation"]
  .background-media-text__image,
[data-disable-animations="true"]
  [data-aos="background-media-text__animation"]
  .background-media-text__image
  svg,
[data-disable-animations="true"]
  [data-aos="background-media-text__animation"]
  .background-media-text__video {
  animation: none;
  opacity: 1;
}

[data-aos="background-media-text__animation"].aos-animate
  .background-media-text__image,
[data-aos="background-media-text__animation"].aos-animate
  .background-media-text__image
  svg,
[data-aos="background-media-text__animation"].loaded.aos-animate
  .background-media-text__video {
  animation: zoom-fade 2.5s cubic-bezier(0.26, 0.54, 0.32, 1) 0s forwards;
  transition: none;
}

[data-disable-animations="true"]
  .aos-animate[data-aos="background-media-text__animation"]
  .background-media-text__image,
[data-disable-animations="true"]
  .aos-animate[data-aos="background-media-text__animation"]
  .background-media-text__image
  svg,
[data-disable-animations="true"]
  .loaded.aos-animate[data-aos="background-media-text__animation"]
  .background-media-text__video {
  animation: none;
}

@media only screen and (min-width: 769px) {
  [data-aos="background-media-text__animation"]
    .background-media-text__inner
    .animation-contents {
    opacity: 0;
  }
  .no-js
    [data-aos="background-media-text__animation"]
    .background-media-text__inner
    .animation-contents {
    animation: none;
    opacity: 1;
  }

  [data-aos="background-media-text__animation"].loaded.aos-animate
    .background-media-text__inner
    .animation-contents {
    animation: rise-up 1s cubic-bezier(0.26, 0.54, 0.32, 1) 0.5s forwards;
  }

  [data-disable-animations="true"]
    .loaded.aos-animate[data-aos="background-media-text__animation"]
    .background-media-text__inner
    .animation-contents {
    animation: none;
    opacity: 1;
  }
}

.quote-icon {
  display: block;
  margin: 0 auto 20px;
}

.testimonial-stars {
  display: block;
  font-size: 16px;
  letter-spacing: 0.2em;
  margin-bottom: 10px;
}

@media only screen and (min-width: 769px) {
  .testimonial-stars {
    font-size: 18px;
    margin-bottom: 15px;
  }
}

.testimonials-slide {
  display: none;
  opacity: 0;
  padding: 40px 0 55px;
  width: 33%;
}

.testimonials-slide:first-child {
  display: block;
}

.flickity-slider .testimonials-slide {
  display: block;
  opacity: 1;
}

.testimonials-slide .testimonials-slider__text {
  transform: scale(0.95);
  transition:
    transform 0.5s ease,
    box-shadow 0.5s ease;
}

.testimonials-slide.is-selected .testimonials-slider__text {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  position: relative;
  transform: scale(1.1);
  z-index: 10;
}

@media only screen and (max-width: 768px) {
  .testimonials-slide {
    width: 100%;
  }

  .testimonials-slide .testimonials-slider__text {
    transform: scale(0.86);
  }

  .testimonials-slide.is-selected .testimonials-slider__text {
    transform: scale(1);
  }
}

.testimonials-slider__text {
  background: var(--colorBody);
  color: var(--colorTextBody);
  margin: 0 30px;
  margin-bottom: 15px;
  padding: 30px 15px;
}

@media only screen and (min-width: 769px) {
  .testimonials-slider__text {
    margin: 0;
    margin-bottom: 0;
    padding: 30px;
  }
}

.testimonials-slider__text cite {
  font-style: normal;
  font-weight: 700;
}

@media only screen and (min-width: 769px) {
  .testimonials-slider__text cite {
    font-size: calc(var(--typeBaseSize) + 1px);
  }
}

.testimonials-slider__text p {
  margin-bottom: 7.5px;
}

.testimonials-slider__text p + cite {
  margin-top: 0;
}

.testimonials__info {
  font-size: calc(var(--typeBaseSize) - 1px);
}

.testimonial-image {
  background-color: var(--colorBody);
  max-width: 142px;
}

.text-center .testimonial-image {
  margin-left: auto;
  margin-right: auto;
}

.testimonial-image .image-wrap {
  background: none;
  height: 100%;
  width: 100%;
}

.testimonial-image--round {
  border-radius: 65px;
  height: 65px;
  max-width: none;
  width: 65px;
}

.testimonial-image--round img {
  border-radius: 65px;
  height: 100%;
  overflow: hidden;
}

.testimonials-section .flickity-page-dots {
  bottom: 0;
}

.announcement-bar {
  background-color: var(--colorAnnouncement);
  border-bottom-color: var(--colorBorder);
  color: var(--colorAnnouncementText);
  font-size: calc(var(--typeBaseSize) * 0.75);
  padding: 10px 0;
  position: relative;
  text-align: center;
}

.announcement-bar a,
.announcement-bar a:visited {
  color: var(--colorAnnouncementText);
}

.announcement-bar a:active,
.announcement-bar a:hover,
.announcement-bar a:visited:active,
.announcement-bar a:visited:hover {
  color: var(--colorAnnouncementText);
}

.has-sticky-announcement-bar--below .announcement-bar {
  z-index: 29;
}

.js-drawer-open .has-sticky-announcement-bar--below .announcement-bar {
  z-index: 20;
}

.announcement-bar--sticky {
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 29;
}

.js-drawer-open:not(.js-drawer-open--search) .announcement-bar--sticky {
  z-index: 20;
}

.has-sticky-announcement-bar--below .announcement-bar--sticky {
  transition: top 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  z-index: 29;
}

.js-drawer-open:not(.js-drawer-open--search)
  .has-sticky-announcement-bar--below
  .announcement-bar--sticky {
  z-index: 20;
}

.announcement-slider__slide {
  overflow: hidden;
  padding: 0 5px;
  position: relative;
  width: 100%;
}

.announcement-link {
  color: var(--colorAnnouncementText);
  display: block;
}

.announcement-link:active,
.announcement-link:hover {
  color: var(--colorAnnouncementText);
}

.announcement-text {
  display: block;
  font-size: 0.9em;
  font-weight: 700;
  letter-spacing: var(--typeUppercaseSpacing);
  text-transform: uppercase;
}

.announcement-link-text {
  display: block;
}

.announcement-link .announcement-link-text {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

.announcement-link-text a {
  color: inherit;
}

@media screen and (min-width: 700px) and (max-height: 550px) {
  .announcement-bar--sticky {
    position: absolute;
    top: auto;
  }
}

@media only screen and (min-width: 769px) {
  .announcement-slider[data-compact="true"] .announcement-slider__slide {
    display: none;
  }

  .announcement-slider[data-compact="true"]
    .announcement-slider__slide:first-child {
    display: block;
  }
  .announcement-slider[data-compact="true"] .announcement-link-text,
  .announcement-slider[data-compact="true"] .announcement-text {
    display: inline;
  }

  .announcement-slider[data-compact="true"]
    .announcement-text
    + .announcement-link-text {
    padding-left: 5px;
  }

  .announcement-slider.flickity-enabled[data-compact="true"]
    .announcement-slider__slide {
    display: block;
  }
  .announcement-slider[data-compact="false"] {
    display: flex;
  }

  .announcement-slider[data-compact="false"] .announcement-slider__slide {
    flex: 1 1 33%;
  }
}

@media only screen and (max-width: 768px) {
  .announcement-slider .announcement-slider__slide {
    display: none;
  }

  .announcement-slider .announcement-slider__slide:first-child {
    display: block;
  }

  .announcement-slider.flickity-enabled .announcement-slider__slide {
    display: block;
  }
}

.shopify-challenge__container {
  padding: 30px 22px;
}

@media only screen and (min-width: 769px) {
  .shopify-challenge__container {
    padding: 120px 0;
  }
}

.newsletter {
  margin: 0 auto;
  max-width: 520px;
}

.newsletter-section .errors {
  margin-left: auto;
  margin-right: auto;
  max-width: 520px;
}

.modal .newsletter .h1 {
  margin-bottom: 15px;
}

@media only screen and (min-width: 769px) {
  .modal .newsletter .h1 {
    margin-bottom: 30px;
  }
}

.modal .newsletter .image-wrap {
  margin-bottom: 7.5px;
}

@media only screen and (min-width: 769px) {
  .modal .newsletter .image-wrap {
    margin-bottom: 15px;
  }
}

.modal .newsletter .text-close {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

.newsletter__input-group {
  margin: 0 auto 20px;
  max-width: 400px;
}

.newsletter__input-group:last-child {
  margin-bottom: 0;
}

.newsletter__input::-webkit-input-placeholder {
  color: var(--colorTextBody);
  opacity: 1;
}

.newsletter__input:-moz-placeholder {
  color: var(--colorTextBody);
  opacity: 1;
}

.newsletter__input::-moz-placeholder {
  color: var(--colorTextBody);
  opacity: 1;
}

.newsletter__input:-ms-input-placeholder {
  color: var(--colorTextBody);
}

.newsletter__input::-ms-input-placeholder {
  color: var(--colorTextBody);
  opacity: 1;
}

@media only screen and (max-width: 768px) {
  .form__submit--large {
    display: none;
  }

  .form__submit--small {
    display: block;
  }
}

@media only screen and (min-width: 769px) {
  .form__submit--large {
    display: block;
  }

  .form__submit--small {
    display: none;
  }
}

[data-has-image] .modal__close {
  background-color: var(--colorBody);
  border-radius: 50%;
  padding: 5px;
  right: 10px;
  top: 10px;
}

@media only screen and (max-width: 768px) {
  [data-has-image] .modal__close {
    background-color: transparent;
    right: 0;
    top: 0;
  }
}

@media only screen and (max-width: 768px) {
  [data-section-type="newsletter-popup"] {
    bottom: 20px;
    text-align: center;
  }

  [data-section-type="newsletter-popup"] .modal__inner {
    max-width: calc(100% - 40px);
  }

  .modal--square[data-section-type="newsletter-popup"] .modal__close {
    padding: 5px;
  }
}

[data-section-type="newsletter-popup"] .h2 {
  margin-bottom: 0;
}

@media only screen and (min-width: 769px) {
  [data-section-type="newsletter-popup"] .h2 {
    margin-bottom: 0;
  }
}

[data-section-type="newsletter-popup"] .rte {
  margin-bottom: 0;
  margin-top: 20px;
}

@media only screen and (min-width: 769px) {
  [data-section-type="newsletter-popup"] .rte {
    margin-bottom: 0;
    margin-top: 20px;
  }
}

[data-section-type="newsletter-popup"] .popup-cta {
  margin-bottom: 0;
}

[data-section-type="newsletter-popup"] .note--success {
  margin-top: 15px;
  text-align: center;
}

[data-section-type="newsletter-popup"] .newsletter__input-group {
  margin-bottom: 0;
  margin-top: 30px;
}

@media only screen and (max-width: 768px) {
  [data-section-type="newsletter-popup"] .newsletter__input-group {
    margin-bottom: 0;
    margin-top: 20px;
  }
}

[data-section-type="newsletter-popup"] .newsletter-button {
  margin-top: 30px;
}

[data-section-type="newsletter-popup"] .social-icons a {
  display: inline-block;
  margin-top: 30px;
  padding: 5px;
}

.modal__centered-content.newsletter--has-image {
  padding: 0;
}

@media only screen and (max-width: 768px) {
  .modal__centered-content.newsletter--has-image {
    padding: 0;
  }
}

.modal__centered-content.newsletter--has-image .newsletter-popup {
  display: flex;
  max-width: 800px;
  min-width: 650px;
}

@media only screen and (max-width: 768px) {
  .modal__centered-content.newsletter--has-image .newsletter-popup {
    max-width: none;
    min-width: 0;
  }
}

.modal__centered-content.newsletter--has-image
  .newsletter-popup.newsletter-popup--image-reversed {
  flex-direction: row-reverse;
}

.modal__centered-content.newsletter--has-image .form__submit--large {
  display: none;
}

.modal__centered-content.newsletter--has-image .form__submit--small {
  display: block;
}

.modal__centered-content.newsletter--has-image
  .newsletter-popup__image-wrapper {
  position: relative;
  width: 50%;
}

@media only screen and (max-width: 768px) {
  .modal__centered-content.newsletter--has-image
    .newsletter-popup__image-wrapper {
    display: none;
  }
}

.modal__centered-content.newsletter--has-image .newsletter-popup__image {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

.modal__centered-content.newsletter--has-image .newsletter-popup__content {
  padding: 40px;
  width: 50%;
}

@media only screen and (max-width: 768px) {
  .modal__centered-content.newsletter--has-image .newsletter-popup__content {
    padding: 0 0 20px;
    width: 100%;
  }
}

newsletter-reminder {
  background-color: var(--colorBtnPrimary);
  color: var(--colorBtnPrimaryText);
}

newsletter-reminder.modal--square .modal__close {
  color: var(--colorBtnPrimaryText);
}

newsletter-reminder.modal--square .modal__close:hover {
  color: var(--colorBtnPrimaryText);
  opacity: 0.5;
}

newsletter-reminder .newsletter-reminder__message {
  font-size: calc(var(--typeHeaderSize) * 0.5);
}

.form__submit--small {
  line-height: 0;
}

.map-section {
  height: 650px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

@media only screen and (min-width: 769px) {
  .map-section {
    height: 500px;
  }
}

.map-section .page-width {
  height: 100%;
}

.map-section--load-error {
  height: auto;
}

.map-onboarding {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 0;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0;
}

.map-section__overlay-wrapper {
  height: 100%;
  position: relative;
}

.map-section__overlay {
  background-color: var(--colorBody);
  display: inline-block;
  margin: 30px;
  max-width: calc(100% - 60px);
  padding: 30px;
  position: relative;
  width: 100%;
  z-index: 3;
}

@media only screen and (min-width: 769px) {
  .map-section__overlay {
    left: 30px;
    margin-top: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 30%;
  }
}

.map-section--load-error .map-section__overlay {
  position: static;
  transform: translateY(0);
}

.map-section__link {
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2;
}

.map-section__container {
  position: absolute !important;
}

.map-section__container {
  height: 150%;
  left: 0;
  margin-bottom: -50%;
  top: 0;
  width: 100%;
}

@media only screen and (min-width: 769px) {
  .map-section__container {
    height: 100%;
    margin: 0 -30% 0 0;
    width: 130%;
  }
}

.display-map--false.bg-image--true .map-section__container {
  height: 100%;
  width: 100%;
}

.display-map--false.bg-image--true .map-section__container img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

[data-aos="map-section__animation"] .map-section__container {
  animation: fade-out 0.5s cubic-bezier(0.26, 0.54, 0.32, 1) 0s forwards;
  opacity: 0;
}

[data-aos="map-section__animation"].aos-animate .map-section__container {
  animation: zoom-fade 2.5s cubic-bezier(0.26, 0.54, 0.32, 1) 0s forwards;
}

.image-row:after {
  clear: both;
  content: "";
  display: table;
}

.image-row__placeholder {
  float: left;
  width: 33.33%;
}

.image-row--gutters .image-row__placeholder {
  margin: 0 1% 2%;
  width: 32%;
}

.image-row--gutters .image-row__placeholder:first-child {
  margin-left: 0;
}

.image-row--gutters .image-row__placeholder:last-child {
  margin-right: 0;
}

.image-row__image {
  float: left;
  min-height: 1px;
  position: relative;
}

.image-row__image:after {
  content: "";
  display: block;
  height: 0;
  width: 100%;
}

.image-row__image img {
  display: block;
  left: 0;
  position: absolute;
  top: 0;
}

[data-zoom="true"] .image-row__image .js-photoswipe__zoom {
  cursor: zoom-in;
}

[data-zoom="true"] .image-row__image a .js-photoswipe__zoom {
  cursor: pointer;
}

.image-grid--space-top {
  padding-top: 40px;
}

@media only screen and (min-width: 769px) {
  .image-grid--space-top {
    padding-top: 75px;
  }
}

.image-grid--space-bottom {
  padding-bottom: 40px;
}

@media only screen and (min-width: 769px) {
  .image-grid--space-bottom {
    padding-bottom: 75px;
  }
}

.image-grid__grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--image-grid-gap, 20px);
  list-style: none;
  margin: 0;
  padding: 0;
}

.image-grid__item {
  flex: 1 1 calc(50% - var(--image-grid-gap, 20px));
  margin-bottom: 0;
}

@media only screen and (min-width: 769px) {
  .image-grid__item {
    flex: 1 1
      calc(100% / var(--image-grid-columns, 5) - var(--image-grid-gap, 20px));
  }
}

.image-grid__image-wrap {
  overflow: hidden;
  position: relative;
  width: 100%;
}

.image-grid__grid--square .image-grid__image-wrap {
  aspect-ratio: 1 / 1;
}

.image-grid__grid--portrait .image-grid__image-wrap {
  aspect-ratio: 2 / 3;
}

.image-grid__grid--landscape .image-grid__image-wrap {
  aspect-ratio: 4 / 3;
}

.image-grid__grid--arch .image-grid__image-wrap {
  aspect-ratio: 1 / 1;
  border-radius: 50% 50% 0 0;
}

.image-grid__image {
  display: block;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: transform 0.3s ease;
  width: 100%;
}

.image-grid__link {
  display: block;
}

.image-grid__image-wrap:after {
  background-color: var(--image-grid-overlay-color);
  bottom: 0;
  content: "";
  left: 0;
  opacity: var(--image-grid-overlay-opacity);
  position: absolute;
  right: 0;
  top: 0;
  transition: opacity 0.8s ease;
  z-index: auto;
}

.image-grid__item-heading {
  color: var(--image-grid-overlay-text-color);
  left: 10px;
  overflow-wrap: break-word;
  position: absolute;
  right: 10px;
  text-align: center;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}

.image-grid__item:has(.image-grid__link):hover .image-grid__image-wrap:after {
  opacity: calc(
    var(--image-grid-overlay-opacity) +
      var(--image-grid-overlay-hover-increment, 0.1)
  );
}

.image-grid__item:has(.image-grid__link):hover .image-grid__image {
  transform: scale(1.03);
  transition: transform 0.8s ease;
}

[data-disable-animations="true"]
  .image-grid__item:has(.image-grid__link):hover
  .image-grid__image {
  transform: none;
  transition: none;
}

@media (prefers-reduced-motion: reduce) {
  .image-grid__item:has(.image-grid__link):hover .image-grid__image {
    transform: none;
    transition: none;
  }
}

.promo-grid--space-top {
  padding-top: 40px;
}

@media only screen and (min-width: 769px) {
  .promo-grid--space-top {
    padding-top: 75px;
  }
}

.promo-grid--space-bottom {
  padding-bottom: 40px;
}

@media only screen and (min-width: 769px) {
  .promo-grid--space-bottom {
    padding-bottom: 75px;
  }
}

.promo-grid__container {
  align-items: flex-start;
  background-repeat: no-repeat;
  display: flex;
  overflow: hidden;
  position: relative;
}

.promo-grid__container .btn {
  margin-right: 10px;
}

@media only screen and (max-width: 768px) {
  .promo-grid__container .btn {
    margin-right: 7px;
  }
}

.promo-grid__container.horizontal-center {
  justify-content: center;
  text-align: center;
}

.promo-grid__container.horizontal-center .btn {
  margin: 2px 5px;
}

.promo-grid__container.horizontal-right {
  justify-content: flex-end;
  text-align: right;
}

@media only screen and (max-width: 768px) {
  .promo-grid__container--boxed .promo-grid__bg {
    height: 60%;
  }

  .promo-grid__container--boxed .promo-grid__content {
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.1);
    margin-top: 55%;
    width: 100%;
  }
}

.promo-grid__container--framed:not(.promo-grid__container--boxed):after {
  border: 7px solid transparent;
  bottom: 0;
  box-shadow: inset 0 0 0 2px var(--colorHeroText);
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: auto;
  z-index: 3;
}

@media only screen and (min-width: 769px) {
  .promo-grid__container--framed:not(.promo-grid__container--boxed):after {
    border-width: 10px;
  }
}

.type-banner
  .promo-grid__container--framed:not(.promo-grid__container--boxed):after,
.type-product
  .promo-grid__container--framed:not(.promo-grid__container--boxed):after,
.type-sale_collection
  .promo-grid__container--framed:not(.promo-grid__container--boxed):after {
  box-shadow: inset 0 0 0 2px var(--colorTextBody);
}

.video-interactable.promo-grid__container--framed:not(
    .promo-grid__container--boxed
  ):after {
  pointer-events: none;
}

.promo-grid__container--tint:before {
  bottom: 0;
  content: "";
  left: 0;
  opacity: 1;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: auto;
  z-index: 2;
}

.promo-grid__slide-link {
  display: block;
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: 5;
}

.promo-grid__slide-link:hover
  ~ .promo-grid__content
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse) {
  background: var(--colorBtnPrimaryLight);
  transition-delay: 0.25s;
}

[data-button_style="square"]
  .promo-grid__slide-link:hover
  ~ .promo-grid__content
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):after,
[data-button_style^="round"]
  .promo-grid__slide-link:hover
  ~ .promo-grid__content
  .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--inverse):after {
  animation: shine 0.75s cubic-bezier(0.01, 0.56, 1, 1);
}

.promo-grid__content {
  flex: 0 1 auto;
  min-width: 200px;
  padding: 2em 2.5em;
  position: relative;
  z-index: 4;
}

.promo-grid__container--framed:not(.promo-grid__container--boxed)
  .promo-grid__content {
  margin: 1.5em;
}

.promo-grid__content p:last-child {
  margin-bottom: 0;
}

.vertical-top .promo-grid__content {
  align-self: flex-start;
}

.vertical-center .promo-grid__content {
  align-self: center;
}

.vertical-bottom .promo-grid__content {
  align-self: flex-end;
}

.video-interactable .promo-grid__content {
  pointer-events: none;
}

.promo-grid__content--boxed {
  background: var(--colorBody);
  color: var(--colorTextBody);
  margin: 15px;
}

@media only screen and (max-width: 768px) {
  .promo-grid__content--boxed {
    margin: 10px;
  }
}

.promo-grid__content--framed.promo-grid__content--boxed {
  border: 7px solid;
  border-color: var(--colorBody);
  box-shadow: inset 0 0 0 2px var(--colorTextBody);
}

@media only screen and (min-width: 769px) {
  .promo-grid__content--framed.promo-grid__content--boxed {
    border-width: 10px;
  }
}

.type-advanced
  .promo-grid__content:not(.promo-grid__content--boxed):not(
    .promo-grid__content--sale
  ),
.type-simple
  .promo-grid__content:not(.promo-grid__content--boxed):not(
    .promo-grid__content--sale
  ) {
  color: var(--colorHeroText);
}

.type-advanced
  .promo-grid__content:not(.promo-grid__content--boxed):not(
    .promo-grid__content--sale
  )
  a,
.type-simple
  .promo-grid__content:not(.promo-grid__content--boxed):not(
    .promo-grid__content--sale
  )
  a {
  border-bottom: 2px solid;
  border-bottom-color: var(--colorHeroText);
  color: var(--colorHeroText);
}

[data-button_style="square"]
  .type-advanced
  .promo-grid__content:not(.promo-grid__content--boxed):not(
    .promo-grid__content--sale
  )
  a:not(.btn--inverse),
[data-button_style="square"]
  .type-simple
  .promo-grid__content:not(.promo-grid__content--boxed):not(
    .promo-grid__content--sale
  )
  a:not(.btn--inverse),
[data-button_style^="round"]
  .type-advanced
  .promo-grid__content:not(.promo-grid__content--boxed):not(
    .promo-grid__content--sale
  )
  a:not(.btn--inverse),
[data-button_style^="round"]
  .type-simple
  .promo-grid__content:not(.promo-grid__content--boxed):not(
    .promo-grid__content--sale
  )
  a:not(.btn--inverse) {
  border-bottom: 0;
}

.type-advanced
  .promo-grid__content:not(.promo-grid__content--boxed):not(
    .promo-grid__content--sale
  )
  .btn--inverse,
.type-simple
  .promo-grid__content:not(.promo-grid__content--boxed):not(
    .promo-grid__content--sale
  )
  .btn--inverse {
  border-color: var(--colorHeroText);
}

.type-advanced
  .promo-grid__content:not(.promo-grid__content--boxed):not(
    .promo-grid__content--sale
  ):after,
.type-simple
  .promo-grid__content:not(.promo-grid__content--boxed):not(
    .promo-grid__content--sale
  ):after {
  background: radial-gradient(
    rgba(0, 0, 0, var(--colorImageOverlayTextShadow)) 0%,
    transparent 60%
  );
  bottom: 0;
  content: "";
  left: 0;
  margin: -100px -200px -100px -200px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: auto;
  z-index: 2;
}

.type-advanced .rte--strong,
.type-product .rte--strong,
.type-sale_collection .rte--strong {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-weight: var(--typeHeaderWeight);
  letter-spacing: var(--typeHeaderSpacing);
  line-height: var(--typeHeaderLineHeight);
}

[data-type_header_capitalize="true"] .type-advanced .rte--strong,
[data-type_header_capitalize="true"] .type-product .rte--strong,
[data-type_header_capitalize="true"] .type-sale_collection .rte--strong {
  text-transform: uppercase;
}

.type-advanced .rte--strong,
.type-product .rte--strong,
.type-sale_collection .rte--strong {
  line-height: 1.1;
}

.type-advanced .rte--em,
.type-product .rte--em,
.type-sale_collection .rte--em {
  font-size: 0.9375em;
  letter-spacing: var(--typeUppercaseSpacing);
  line-height: 1.2;
  text-transform: uppercase;
}

.promo-grid__bg {
  height: 100%;
  left: 0;
  position: absolute;
  text-align: left;
  top: 0;
  width: 100%;
}

.promo-grid__container:not(.promo-grid__container--boxed)
  .promo-grid__bg:before {
  background-color: var(--colorImageOverlay);
  bottom: 0;
  content: "";
  left: 0;
  opacity: var(--colorImageOverlayOpacity);
  position: absolute;
  right: 0;
  top: 0;
  z-index: 3;
}

.promo-grid__bg .placeholder-svg {
  left: 50%;
  max-width: none;
  padding: 0;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: auto;
}

.type-simple .promo-grid__bg .placeholder-svg {
  height: auto;
  max-height: inherit;
  width: 100%;
}

.video-interactable .promo-grid__bg:before {
  pointer-events: none;
}

.promo-grid__bg-image {
  z-index: 1;
}

.aos-animate[data-aos="image-fade-in"] .promo-grid__bg-image {
  animation: fade-in 1s cubic-bezier(0.26, 0.54, 0.32, 1) 0s forwards;
  transition: none;
}

.promo-grid__text {
  position: relative;
  z-index: 3;
}

.promo-grid__text .btn {
  margin-bottom: 2px;
  margin-top: 2px;
}

.type-advanced .promo-grid__content {
  padding: 2em;
}

@media only screen and (max-width: 768px) {
  .type-advanced .promo-grid__content {
    padding: 1.5em;
  }
}

.type-advanced .btn {
  margin-bottom: 10px;
}

@media only screen and (max-width: 768px) {
  .type-advanced .btn {
    margin-bottom: 7px;
  }
}

.type-sale_collection {
  flex-grow: 1;
  max-height: 600px;
}

.type-sale_collection .promo-grid__container {
  align-items: center;
  background: var(--colorSmallImageBg);
}

.type-sale_collection .promo-grid__content {
  flex: 0 1 auto;
  min-width: 0;
  padding: 2em;
}

@media only screen and (max-width: 768px) {
  .type-sale_collection .promo-grid__content {
    font-size: 0.9em;
    padding: 1em;
  }
}

@media only screen and (min-width: 769px) {
  .type-sale_collection
    .promo-grid__content:not(.promo-grid__content--small-text) {
    font-size: 1.5em;
  }
}

.type-sale_collection .rte--block {
  margin-bottom: 7.5px;
}

.type-sale_collection .rte--block:last-child {
  margin-bottom: 0;
}

.type-sale_collection .rte--strong {
  display: block;
  font-size: 3.375em;
  line-height: 1;
  position: relative;
  white-space: nowrap;
}

.type-sale_collection small {
  display: inline;
  font-size: 0.25em;
  letter-spacing: 0;
  margin-left: -2.9em;
}

.type-sale-images {
  flex: 1 1 50%;
}

.type-sale-images svg {
  display: block;
  float: left;
  width: 50%;
}

.type-sale-images__crop {
  overflow: hidden;
  width: 100%;
}

.type-sale-images__image {
  float: left;
  width: 50%;
}

.type-simple .promo-grid__content {
  padding: 30px;
}

@media only screen and (max-width: 768px) {
  .type-simple .promo-grid__content {
    padding: 15px;
  }
}

.promo-grid__title:last-child {
  margin-bottom: 0;
}

.type-image .promo-grid__container {
  background: none;
}

.type-image .image-wrap,
.type-image a,
.type-image img {
  width: 100%;
}

.type-banner {
  flex: 1 0 100%;
}

.type-banner .promo-grid__container {
  background: none;
}

.type-banner .promo-grid__container--framed:not(.promo-grid__container--boxed) {
  padding: 1em;
}

.type-banner p {
  display: inline-block;
  line-height: 1.2;
  margin: 5px 10px;
  vertical-align: middle;
}

.type-banner__link {
  display: block;
  flex: 1 1 100%;
}

.type-banner__content {
  align-items: center;
  display: flex;
  justify-content: center;
  padding: 0 10px;
  width: 100%;
}

.type-banner__text {
  flex: 0 1 auto;
  padding: 10px 20px;
  position: relative;
  z-index: 3;
}

.type-banner__image {
  flex: 0 0 45%;
}

@media only screen and (min-width: 769px) {
  .type-banner__image {
    flex: 0 0 200px;
  }
}

.type-product__wrapper {
  align-self: center;
  flex: 1 1 100%;
  padding: 2em 0;
  position: relative;
  z-index: 4;
}

.type-product__wrapper.promo-grid__container--tint {
  padding: 2em;
}

.promo-grid__container--framed .type-product__wrapper {
  padding: 2em;
}

@media only screen and (max-width: 768px) {
  .type-product__content {
    margin-top: 15px;
  }
}

.type-product__images {
  margin: 10px 0 10px 10px;
  position: relative;
  width: 100%;
}

.type-product__image {
  position: relative;
}

.type-product__image:first-child {
  max-width: 75%;
  width: 100%;
}

.type-product__image:nth-child(2) {
  bottom: 40px;
  max-width: 30%;
  position: absolute;
  right: 0;
  width: 100%;
}

.type-product__labels {
  position: absolute;
  right: -10px;
  text-align: right;
  top: -10px;
  z-index: 3;
}

@media only screen and (min-width: 769px) {
  .type-product__labels .flex-grid__item--33,
  .type-product__labels .flex-grid__item--50 {
    font-size: 0.9em;
  }
}

.type-product__label {
  background-color: var(--colorBtnPrimary);
  clear: both;
  color: var(--colorBtnPrimaryText);
  float: right;
  padding: 4px 12px;
}

.type-product__label--secondary {
  background-color: var(--colorBody);
  color: var(--colorTextBody);
}

.store-availability {
  display: flex;
  justify-content: space-around;
}

.store-availability .icon {
  height: 12px;
  margin: 6px 0 0;
  width: 12px;
}

.store-availability .icon-in-stock {
  fill: #56ad6a;
}

.store-availability .icon-out-of-stock {
  fill: #d02e2e;
}

.store-availability + .store-availability {
  margin-top: 20px;
}

.store-availability__info {
  flex: 0 1 90%;
  margin-left: 10px;
  text-align: left;
}

html[dir="rtl"] .store-availability__info {
  margin-left: 0;
  margin-right: 10px;
  text-align: right;
}

.store-availability__info > div {
  margin-bottom: 5px;
}

.store-availability__info > div:last-child {
  margin-bottom: 0;
}

.store-availability__info a {
  -webkit-text-decoration: underline;
  text-decoration: underline;
}

.store-availability__small {
  font-size: 0.8em;
}

.store-availability__small a {
  display: block;
  margin-top: 10px;
}

.modal .store-availability__small--link {
  display: none;
}

.age-verification-popup {
  bottom: 0;
  top: 0;
}

.age-verification-popup.age-verification-popup--image-false {
  background-color: var(--colorBody);
}

.age-verification-popup.age-verification-popup--image-false.modal:before {
  animation: none;
  background-color: var(--colorBody);
}

.age-verification-popup.age-verification-popup--image-false .modal__inner {
  box-shadow: none;
}

.age-verification-popup.modal--mobile-friendly.modal--square
  .modal__centered-content {
  background-color: var(--colorDrawers);
}

@media only screen and (min-width: 769px) {
  .cart__page {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .cart__page-col:first-child {
    flex: 1 1 60%;
    padding-right: 100px;
  }

  .cart__page-col:last-child {
    flex: 0 1 35%;
    padding: 30px;
    position: sticky;
    top: 10%;
  }

  .cart__page-col:last-child:after {
    background-color: var(--colorTextBody);
    bottom: 0;
    content: "";
    left: 0;
    opacity: 0.03;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
  }
}

.cart__item {
  border-bottom: 1px solid;
  border-bottom-color: var(--colorBorder);
  display: flex;
  margin-bottom: 20px;
  padding-bottom: 20px;
}

.cart__item:first-child {
  padding-top: 10px;
}

.cart__item:last-child {
  border-bottom: 0;
  margin-bottom: 0;
}

.cart__image {
  flex: 0 0 150px;
  margin-right: var(--grid-gutter);
  position: relative;
}

.cart__image a {
  display: block;
  height: 100px;
  position: relative;
  width: 100%;
}

.cart__image img {
  display: block;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  position: absolute;
  width: 100%;
}

.drawer .cart__image {
  flex: 0 0 100px;
}

.cart__item-details {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
}

.cart__item-title {
  flex: 1 1 100%;
}

.drawer .cart__item-title {
  font-size: var(--typeBodySmallSize);
}

.cart__item-sub {
  display: flex;
  flex: 1 1 100%;
  justify-content: space-between;
  line-height: 1;
}

.cart__item-sub > div:first-child {
  margin-right: 10px;
}

.cart__item-row {
  margin-bottom: 20px;
}

.cart__remove a {
  display: inline-block;
  margin-top: 10px;
}

.drawer .cart__remove {
  display: none;
}

.cart__checkout {
  width: 100%;
}

.cart__item-name {
  display: block;
  font-size: calc(var(--typeBaseSize) + 1px);
  margin-bottom: 8px;
}

.cart__item--variants {
  margin-bottom: 10px;
}

.cart__item--variants span {
  font-weight: 700;
}

.cart__price {
  display: block;
}

.cart__price--strikethrough {
  -webkit-text-decoration: line-through;
  text-decoration: line-through;
}

.cart__discount {
  color: var(--colorTextSavings);
}

.cart__terms {
  align-items: center;
  display: flex;
  justify-content: center;
}

.cart__terms label {
  letter-spacing: 0;
  margin-bottom: 0;
  text-transform: none;
}

.cart__checkout-wrapper {
  margin-top: 20px;
}

.cart__checkout-wrapper .additional-checkout-buttons {
  margin-top: 12px;
}

.drawer .additional-checkout-buttons {
  margin: 10px 0;
}

.drawer .additional-checkout-buttons [data-shopify-buttoncontainer] {
  justify-content: center;
}

.drawer .additional-checkout-buttons [data-shopify-buttoncontainer] > * {
  height: auto !important;
}

iframe.zoid-component-frame {
  z-index: 1 !important;
}

.drawer__cart-empty {
  display: none;
}

.drawer.is-empty .drawer__inner {
  display: none;
}

.drawer.is-empty .drawer__cart-empty {
  display: block;
}

.cart__item--properties {
  font-size: calc(var(--typeBaseSize) - 2px);
  line-height: 1.3;
  margin-bottom: 10px;
}

.cart__item--properties span {
  font-weight: 700;
}

@media only screen and (min-width: 769px) {
  .product-single__sticky {
    position: sticky;
    top: 20px;
  }
  .sticky-header .product-single__sticky {
    top: 140px;
  }

  .modal--quick-shop .product-single__sticky {
    top: 0;
  }
}

.page-content--product {
  padding-top: 55px;
}

@media only screen and (max-width: 768px) {
  .page-content--product {
    padding-top: 0;
  }

  .grid--product-images-right {
    display: flex;
    flex-wrap: wrap;
  }

  .grid--product-images-right .grid__item:first-child {
    order: 2;
  }
}

.modal .page-content--product {
  max-width: 100%;
  width: 1500px;
}

.product-single__meta {
  padding-left: 45px;
}

@media only screen and (max-width: 768px) {
  .product-single__meta {
    margin-top: 15px;
    padding-left: 0;
    text-align: center;
  }
}

.grid--product-images-right .product-single__meta {
  padding-left: 0;
  padding-right: 45px;
}

@media only screen and (max-width: 768px) {
  .grid--product-images-right .product-single__meta {
    padding-right: 0;
  }
}

.product-single__meta .social-sharing {
  margin-top: 30px;
}

.product-single__meta .rte {
  text-align: left;
}

html[dir="rtl"] .product-single__meta .rte {
  text-align: right;
}

.product-single__vendor {
  font-size: var(--typeAccentSmallSize);
  letter-spacing: var(--typeUppercaseSpacing);
  margin-bottom: 7.5px;
  text-transform: uppercase;
}

.product-single__title {
  word-wrap: break-word;
  margin-bottom: 10px;
}

.product-single__sku {
  margin-bottom: 5px;
}

.product-single__description-full {
  margin: 30px 0;
}

.product-single__description-full + .collapsibles-wrapper {
  margin: 0 0;
}

@media only screen and (min-width: 769px) {
  .product-single__description-full {
    margin: 30px 95px;
  }

  .product-single__description-full + .collapsibles-wrapper {
    margin: 0 95px;
  }
}

.product-single__variants {
  display: none;
}

.no-js .product-single__variants {
  display: block;
  margin-bottom: 30px;
}

.product-image-main {
  position: relative;
}

[data-button_style="angled"]
  .product-image-main
  .btn:not(.product__photo-zoom) {
  display: inline-block;
  position: absolute;
  top: 50%;
}

.product__video-wrapper {
  background-color: var(--colorSmallImageBg);
  height: auto;
  max-width: 100%;
  overflow: hidden;
  padding-bottom: 100%;
  position: relative;
}

.product__video-wrapper iframe {
  height: 100%;
  transition: opacity 0.5s ease-in;
  width: 100%;
}

.product__video-wrapper.loaded[data-video-style="muted"]:before {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.product__video-wrapper.video-interactable:before {
  display: none;
}

.product__video-wrapper.loaded:after {
  display: none;
}

.product__video-wrapper.loading iframe {
  opacity: 0.01;
}

.product__video-wrapper.loaded iframe {
  opacity: 1;
}

.product__video {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.product__video-overlay {
  bottom: 40px;
  left: 0;
  position: absolute;
  top: 32px;
  width: 40%;
  z-index: 3;
}

.product__video-overlay:before {
  content: "";
  display: block;
  height: 35%;
  left: 100%;
  position: absolute;
  top: 0;
  width: 60%;
}

.product__video-overlay + .product__video-overlay {
  left: auto;
  right: 0;
}

.product__video-overlay + .product__video-overlay:before {
  bottom: 0;
  left: auto;
  right: 100%;
  top: auto;
}

.product-video-trigger {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

.product__photos--beside {
  display: flex;
  width: 100%;
}

.product__photos {
  direction: ltr;
}

.product__photos a {
  display: block;
  max-width: 100%;
}

.product__photos img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  width: 100%;
}

.product__main-photos {
  flex: 1 1 auto;
  position: relative;
}

.product__main-photos .flickity-page-dots {
  display: none;
}

@media only screen and (max-width: 768px) {
  .product__main-photos {
    margin-bottom: 30px;
    margin-left: -17px;
    margin-right: -17px;
  }

  .product__main-photos .flickity-page-dots {
    display: block;
  }
}

.product-main-slide:not(.is-selected) button,
.product-main-slide:not(.is-selected) iframe,
.product-main-slide:not(.is-selected) model-viewer,
.product-main-slide:not(.is-selected) video {
  display: none;
}

.product-main-slide {
  display: none;
  overflow: hidden;
  width: 100%;
}

.product-main-slide:first-child {
  display: block;
}

.flickity-slider .product-main-slide {
  display: block;
}

@media only screen and (max-width: 768px) {
  .grid--product-images--partial .flickity-slider .product-main-slide {
    margin-right: 4px;
    width: 75%;
  }
}

.product__thumbs {
  position: relative;
}

.product__thumbs--below {
  margin-top: 8.5px;
}

@media only screen and (min-width: 769px) {
  .product__thumbs--below {
    margin-top: 15px;
  }
}

.product__thumbs--beside {
  flex: 0 0 60px;
  margin-left: 8.5px;
  max-width: 60px;
}

@media only screen and (min-width: 769px) {
  .product__thumbs--beside {
    flex: 0 0 80px;
    margin-left: 15px;
    max-width: 80px;
  }

  .product__thumbs--beside.product__thumbs-placement--left {
    margin-left: 0;
    margin-right: 15px;
    order: -1;
  }
}

.product__thumbs--scroller {
  -ms-overflow-style: -ms-autohiding-scrollbar;
  scroll-behavior: smooth;
  scrollbar-width: none;
}

.product__thumbs--scroller::-webkit-scrollbar {
  height: 0;
  width: 0;
}

.product__thumbs--below .product__thumbs--scroller {
  overflow-x: scroll;
  white-space: nowrap;
}

.product__thumbs--beside .product__thumbs--scroller {
  bottom: 0;
  left: 0;
  overflow-y: scroll;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}

.product__thumb-item {
  border: 2px solid transparent;
}

.product__thumb-item a.is-active,
.product__thumb-item a:focus {
  outline: none;
}

.product__thumb-item a.is-active:before,
.product__thumb-item a:focus:before {
  bottom: 0;
  box-shadow: inset 0 0 0 2px var(--colorTextBody);
  content: "";
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.product__thumb-item a:active:before {
  content: none;
}

.product__thumbs--beside .product__thumb-item {
  margin-bottom: 8.5px;
}

@media only screen and (min-width: 769px) {
  .product__thumbs--beside .product__thumb-item {
    margin-bottom: 15px;
  }
}

.product__thumbs--beside .product__thumb-item:last-child {
  margin-bottom: 0;
}

.product__thumbs--below .product__thumb-item {
  display: inline-block;
  margin-right: 8.5px;
  max-width: 80px;
  vertical-align: middle;
}

@media only screen and (min-width: 769px) {
  .product__thumbs--below .product__thumb-item {
    margin-right: 15px;
  }
}

.product__thumbs--below .product__thumb-item:last-child {
  margin-right: 0;
}

.product__price {
  color: var(--colorPrice);
  font-size: calc(var(--typeBaseSize) + 2px);
  margin-right: 5px;
}

.product__price.on-sale {
  padding-right: 5px;
}

.product__unit-price {
  font-size: 0.8em;
  opacity: 0.8;
}

.product__unit-price--spacing {
  margin-top: 10px;
}

.product__price--compare {
  display: inline-block;
  padding-right: 5px;
  -webkit-text-decoration: line-through;
  text-decoration: line-through;
}

.product__price-savings {
  color: var(--colorTextSavings);
  white-space: nowrap;
}

.product__quantity label {
  display: block;
  margin-bottom: 10px;
}

.product-form-holder--loaded {
  animation: fade-in 1s ease;
}

.add-to-cart[disabled] + .shopify-payment-button {
  display: none;
}

.product-slideshow.flickity-enabled .product-main-slide {
  display: none;
}

.product-slideshow.flickity-enabled .flickity-viewport .product-main-slide {
  display: block;
}

.product__photo-zoom {
  position: absolute !important;
}

.product__photo-zoom {
  bottom: 0;
  cursor: zoom-in;
  right: 0;
}

@media only screen and (max-width: 768px) {
  .product__photo-zoom {
    padding: 6px;
  }

  .product__main-photos .product__photo-zoom {
    margin-bottom: 10px;
    margin-right: 10px;
  }

  .product-slideshow .product__photo-zoom {
    opacity: 0;
    transition: opacity 0.5s ease-out;
  }

  .product-slideshow .is-selected .product__photo-zoom {
    opacity: 1;
  }
}

@media only screen and (min-width: 769px) {
  .product__photo-zoom {
    border-radius: 0;
    left: 0;
    margin: 0;
    opacity: 0;
    top: 0;
    width: 100%;
  }

  .product__photo-zoom span,
  .product__photo-zoom svg {
    display: none;
  }
}

.product__thumb-arrow {
  background: var(--colorBody);
  border-radius: 0;
  color: var(--colorTextBody);
  padding: 0;
  position: absolute;
  transform: none;
  z-index: 2;
}

.product__thumb-arrow .icon {
  display: inline-block;
  height: 10px;
  width: 6px;
}

.product__thumbs[data-position="below"] .product__thumb-arrow {
  height: 100%;
  top: 0;
  width: 25px;
}

.product__thumbs[data-position="below"]
  .product__thumb-arrow.product__thumb-arrow--prev {
  left: 0;
  text-align: left;
}

.product__thumbs[data-position="below"]
  .product__thumb-arrow.product__thumb-arrow--next {
  right: 0;
  text-align: right;
}

.product__thumbs[data-position="beside"] .product__thumb-arrow {
  width: 100%;
}

.product__thumbs[data-position="beside"] .product__thumb-arrow .icon {
  margin: 0 auto;
  transform: rotate(90deg);
}

.product__thumbs[data-position="beside"]
  .product__thumb-arrow.product__thumb-arrow--prev {
  left: auto;
  padding-bottom: 10px;
  top: 0;
}

.product__thumbs[data-position="beside"]
  .product__thumb-arrow.product__thumb-arrow--next {
  bottom: 0;
  padding-top: 10px;
  right: auto;
  top: auto;
}

.product__thumb {
  cursor: pointer;
  display: block;
  position: relative;
}

.product__thumb > .image-wrap img {
  height: auto;
  position: static;
}

.product__thumb-icon {
  background-color: var(--colorTextBody);
  border-radius: 100px;
  font-size: 0;
  opacity: 0;
  padding: 6px;
  position: absolute;
  right: 5px;
  top: 5px;
  transition: opacity 0.5s ease;
  z-index: 1;
}

.aos-animate .product__thumb-icon {
  opacity: 1;
}

.product__thumb-icon .icon {
  fill: var(--colorBody);
  height: 10px;
  width: 10px;
}

@media only screen and (min-width: 769px) {
  .product__thumb-icon .icon {
    height: 13px;
    width: 13px;
  }
}

.product__policies {
  font-size: 0.85em;
}

.shopify-payment-terms {
  margin: 12px 0;
}

.shopify-payment-terms:empty {
  display: none;
}

.modal .shopify-payment-terms {
  display: none;
}

.template-blog .article {
  margin-bottom: 45px;
}

@media only screen and (min-width: 769px) {
  .template-blog .article {
    margin-bottom: 90px;
  }
}

.template-blog .article:last-child {
  margin-bottom: 0;
}

@media only screen and (min-width: 769px) {
  .template-blog .article:last-child {
    margin-bottom: 45px;
  }
}

.article__body {
  margin-bottom: 15px;
}

@media only screen and (min-width: 769px) {
  .article__body {
    margin-bottom: 30px;
  }
}

.article__comment {
  margin-bottom: 30px;
}

.article__comment:last-child {
  margin-bottom: 0;
}

.password-page__header__grid {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  justify-content: space-between;
}

.password-page__logo h1 {
  margin-bottom: 0;
}

.password-page__logo .logo {
  max-width: 100%;
}

.password-login {
  display: block;
  margin: 0 auto;
  padding: 7.5px 15px;
}

.password-form {
  margin-bottom: 1em;
}

.password__lock .icon {
  height: 24px;
  margin-right: 4px;
  position: relative;
  top: -2px;
  width: 24px;
}

.icon-shopify-logo {
  height: 20px;
  width: 60px;
}

@media only screen and (max-width: 768px) {
  #LoginModal .modal__close {
    padding: 20px;
  }
}

#LoginModal .modal__inner {
  background: var(--colorBody);
  color: var(--colorTextBody);
  padding: 30px;
}

@media only screen and (max-width: 768px) {
  #LoginModal .modal__inner {
    margin-bottom: 40vh;
  }
}

.password-admin-link {
  margin: 0;
}

.password-admin-link a {
  border-bottom: 2px solid !important;
  border-bottom-color: var(--colorBorder) !important;
}

.template-giftcard,
.template-giftcard body {
  background: var(--colorBody);
}

.template-giftcard a,
.template-giftcard body a {
  -webkit-text-decoration: none;
  text-decoration: none;
}

.template-giftcard .page-width {
  max-width: 588px;
}

.giftcard-header {
  font-size: 1em;
  padding: 60px 0;
  text-align: center;
}

.giftcard-header a {
  display: block;
  margin: 0 auto;
}

.template-giftcard .shop-url {
  display: none;
}

.giftcard__border {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  padding: 1.5em;
}

.giftcard__content {
  background-color: var(--colorBody);
  color: var(--colorTextBody);
}

.giftcard__content:after {
  clear: both;
  content: "";
  display: table;
}

.giftcard__header {
  padding: 15px;
}

.giftcard__header:after {
  clear: both;
  content: "";
  display: table;
}

.giftcard__title {
  float: left;
  margin-bottom: 0;
}

.giftcard__tag {
  background-color: var(--colorTextBody);
  border: 1px solid transparent;
  border-radius: 4px;
  color: var(--colorBody);
  display: block;
  float: right;
  font-size: 0.75em;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 10px;
  text-transform: uppercase;
}

.giftcard__tag--active {
  background: transparent;
  border: 1px solid;
  border-color: var(--colorBorder);
  color: var(--colorTextBody);
}

.giftcard__wrap {
  margin: 15px 15px 30px;
  position: relative;
}

.giftcard__wrap img {
  border-radius: 10px;
  display: block;
  position: relative;
  z-index: 2;
}

.giftcard__code {
  bottom: 30px;
  position: absolute;
  text-align: center;
  width: 100%;
  z-index: 50;
}

.giftcard__code--medium {
  font-size: 0.875em;
}

.giftcard__code--small {
  font-size: 0.75em;
}

.giftcard__code__inner {
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
  display: inline-block;
  max-width: 450px;
  padding: 0.5em;
  vertical-align: baseline;
}

.giftcard__code--small .giftcard__code__inner {
  overflow: auto;
}

.giftcard__code__text {
  border: 1px dashed;
  border-color: var(--colorBorder);
  border-radius: 2px;
  color: var(--colorTextBody);
  display: inline-block;
  font-size: 1.875em;
  font-weight: 400;
  line-height: 1;
  padding: 0.4em 0.5em;
  text-transform: uppercase;
  vertical-align: baseline;
}

.disabled .giftcard__code__text {
  color: #999;
  -webkit-text-decoration: line-through;
  text-decoration: line-through;
}

.giftcard__amount {
  color: #fff;
  font-size: 2.75em;
  line-height: 1.2;
  padding: 15px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 50;
}

.giftcard__amount strong {
  display: block;
  text-shadow: 3px 3px 0 rgba(0, 0, 0, 0.1);
}

.giftcard__amount--medium {
  font-size: 2em;
}

.tooltip {
  color: #fff;
  display: block;
  margin-top: 16px;
  position: absolute;
  right: 50%;
  text-align: center;
  top: -50%;
  white-space: nowrap;
  z-index: 3;
}

.tooltip:before {
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 5px solid #333;
  border-top: 5px solid rgba(51, 51, 51, 0.9);
  bottom: 0;
  content: "";
  display: block;
  height: 0;
  left: 100%;
  margin-bottom: -5px;
  margin-left: -5px;
  position: absolute;
  width: 0;
}

.tooltip__label {
  background: #333;
  background: rgba(51, 51, 51, 0.9);
  border: none;
  border-radius: 4px;
  display: block;
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  margin-left: 0.25em;
  min-height: 14px;
  padding: 0.5em 0.75em;
  position: relative;
  right: -50%;
  -webkit-text-decoration: none;
  text-decoration: none;
  text-shadow: none;
}

.tooltip__label small {
  color: #b3b3b3;
  font-size: 0.875em;
  letter-spacing: var(--typeUppercaseSpacing);
  text-transform: uppercase;
}

.giftcard__instructions {
  margin: 0 15px 30px;
  text-align: center;
}

.giftcard__actions {
  overflow: hidden;
  padding-bottom: 1em;
  position: relative;
  text-align: center;
}

.template-giftcard .action-link {
  display: block;
  font-size: 0.875em;
  font-weight: 700;
  left: 15px;
  letter-spacing: var(--typeUppercaseSpacing);
  margin-top: -10px;
  padding-top: 4px;
  position: absolute;
  text-transform: uppercase;
  top: 50%;
}

.template-giftcard .action-link:focus,
.template-giftcard .action-link:hover {
  color: var(--colorTextBody);
}

.template-giftcard .action-link__print {
  background-image: url(/cdn/s/assets/gift-card/icon-print-164daa1ae32d10d1f9b83ac21b6f2c70.png);
  background-position: 0 0;
  background-repeat: no-repeat;
  display: inline-block;
  height: 17px;
  margin-right: 10px;
  opacity: 1;
  vertical-align: baseline;
  vertical-align: middle;
  width: 17px;
}

.giftcard__footer {
  padding: 60px 0;
  text-align: center;
}

#QrCode img {
  border: 1px solid;
  border-color: var(--colorBorder);
  border-radius: 4px;
  margin: 0 auto 30px;
  padding: 30px;
}

@media only screen and (max-width: 768px) {
  .giftcard {
    font-size: 12px;
  }

  .giftcard-header {
    padding: 30px 0;
  }

  .header-logo {
    font-size: 2em;
  }

  .giftcard__border {
    padding: 15px;
  }

  .giftcard__actions {
    padding: 15px;
  }

  .giftcard__actions .btn {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
  }

  .template-giftcard .action-link {
    display: none;
  }
}

@media screen and (max-width: 400px) {
  .giftcard__amount strong {
    text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.1);
  }

  .giftcard__wrap:after,
  .giftcard__wrap:before {
    display: none;
  }

  .giftcard__code {
    font-size: 0.75em;
  }

  .giftcard__code--medium {
    font-size: 0.65em;
  }

  .giftcard__code--small {
    font-size: 0.55em;
  }
}

@media screen and (max-height: 800px) {
  .header-logo img {
    max-height: 90px;
  }
}

@media print {
  @page {
    margin: 0.5cm;
  }

  h2,
  h3,
  p {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }

  body,
  html {
    background-color: #fff;
  }

  .giftcard-header {
    padding: 10px 0;
  }

  .giftcard__border,
  .giftcard__content {
    border: 0 none;
  }

  .add-to-apple-wallet,
  .giftcard__actions,
  .giftcard__wrap:after,
  .giftcard__wrap:before,
  .site-header__logo-link img:nth-child(2),
  .tooltip {
    display: none;
  }

  .giftcard__title {
    float: none;
    text-align: center;
  }

  .giftcard__code__text {
    color: #555;
  }

  .template-giftcard .shop-url {
    display: block;
  }

  .template-giftcard .logo {
    color: #58686f;
  }
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRoZW1lLmNzcyIsImdsb2JhbC92YXJpYWJsZXMtcm9vdC5jc3MubGlxdWlkIiwiZ2xvYmFsL2tleWZyYW1lcy5jc3MiLCJ2ZW5kb3IvZmxpY2tpdHkuY3NzIiwiLi4vLi4vLi4vLi4vc2hhcmVkL3N0eWxlcy92ZW5kb3Ivbm91aXNsaWRlci5jc3MiLCIuLi8uLi8uLi8uLi9zaGFyZWQvc3R5bGVzL21vZHVsZXMvdG9vbC10aXAuY3NzIiwiLi4vLi4vLi4vLi4vc2hhcmVkL3N0eWxlcy9tb2R1bGVzL3Rvb2wtdGlwLXRyaWdnZXIuY3NzIiwiLi4vLi4vLi4vLi4vc2hhcmVkL3N0eWxlcy9tb2R1bGVzL3RleHQtd2l0aC1pY29ucy5jc3MiLCIuLi8uLi8uLi8uLi9zaGFyZWQvc3R5bGVzL21vZHVsZXMvbmV3c2xldHRlci1yZW1pbmRlci5jc3MiLCIuLi8uLi8uLi8uLi9zaGFyZWQvc3R5bGVzL21vZHVsZXMvcGFyYWxsYXguY3NzIiwiLi4vLi4vLi4vLi4vc2hhcmVkL3N0eWxlcy9tb2R1bGVzL2NvdW50ZG93bi5jc3MiLCIuLi8uLi8uLi8uLi9zaGFyZWQvc3R5bGVzL21vZHVsZXMvaG90c3BvdHMuY3NzIiwiLi4vLi4vLi4vLi4vc2hhcmVkL3N0eWxlcy9tb2R1bGVzL2ltYWdlLWNvbXBhcmUuY3NzIiwiLi4vLi4vLi4vLi4vc2hhcmVkL3N0eWxlcy9tb2R1bGVzL2FnZS12ZXJpZmljYXRpb24tcG9wdXAuY3NzIiwiLi4vLi4vLi4vLi4vc2hhcmVkL3N0eWxlcy9tb2R1bGVzL3Byb2R1Y3QtY29tcGxlbWVudGFyeS5jc3MiLCIuLi8uLi8uLi8uLi9zaGFyZWQvc3R5bGVzL21vZHVsZXMvaW1hZ2VzLmNzcyIsIi4uLy4uLy4uLy4uL3NoYXJlZC9zdHlsZXMvbW9kdWxlcy9zdmctbWFza3MuY3NzIiwiLi4vLi4vLi4vLi4vc2hhcmVkL3N0eWxlcy9tb2R1bGVzL3RleHQtYW5kLWltYWdlLmNzcyIsIi4uLy4uLy4uLy4uL3NoYXJlZC9zdHlsZXMvbW9kdWxlcy9zY3JvbGxpbmctdGV4dC5jc3MiLCIuLi8uLi8uLi8uLi9zaGFyZWQvc3R5bGVzL21vZHVsZXMvbmV3c2xldHRlci1zZWN0aW9uLmNzcyIsIi4uLy4uLy4uLy4uL3NoYXJlZC9zdHlsZXMvbW9kdWxlcy9wcmVkaWN0aXZlLXNlYXJjaC5jc3MiLCIuLi8uLi8uLi8uLi9zaGFyZWQvc3R5bGVzL21vZHVsZXMvcmVjaXBpZW50LWZvcm0uY3NzIiwicGFydGlhbHMvbm9ybWFsaXplLmNzcyIsInBhcnRpYWxzL2dyaWQuY3NzIiwiPG5vIHNvdXJjZT4iLCJwYXJ0aWFscy9ncmlkLW1peGlucy5jc3MiLCJwYXJ0aWFscy9mbGV4LWdyaWQuY3NzIiwicGFydGlhbHMvaGVscGVycy5jc3MiLCJnbG9iYWwvbWl4aW5zLmNzcyIsInBhcnRpYWxzL2Jhc2UuY3NzIiwicGFydGlhbHMvdHlwb2dyYXBoeS5jc3MiLCJwYXJ0aWFscy9saXN0cy5jc3MiLCJwYXJ0aWFscy90YWJsZXMuY3NzIiwicGFydGlhbHMvbGlua3MuY3NzIiwicGFydGlhbHMvYnV0dG9ucy5jc3MiLCJwYXJ0aWFscy9tZWRpYS5jc3MiLCJwYXJ0aWFscy9mb3Jtcy5jc3MiLCJwYXJ0aWFscy9pbnB1dC1ncm91cC5jc3MiLCJwYXJ0aWFscy9pY29ucy5jc3MiLCJwYXJ0aWFscy9kcmF3ZXJzLmNzcyIsInBhcnRpYWxzL2JsYW5rLXN0YXRlcy5jc3MiLCJwYXJ0aWFscy9hbmltYXRpb25zLmNzcyIsInBhcnRpYWxzL3Rvb2x0aXAuY3NzIiwicGFydGlhbHMvcHJvZHVjdC1jb21wbGVtZW50YXJ5LmNzcyIsInBhcnRpYWxzL3ByZWRpY3RpdmUtc2VhcmNoLmNzcyIsIm1vZHVsZXMvZm9vdGVyLmNzcyIsIm1vZHVsZXMvbm90ZXMuY3NzIiwibW9kdWxlcy9wYWdpbmF0aW9uLmNzcyIsIm1vZHVsZXMvcnRlLmNzcyIsIm1vZHVsZXMvc2l0ZS1oZWFkZXItc3RydWN0dXJlLmNzcyIsIm1vZHVsZXMvc2l0ZS1oZWFkZXIuY3NzIiwibW9kdWxlcy9zaXRlLWhlYWRlci1zZWFyY2guY3NzIiwibW9kdWxlcy9wcmVkaWN0aXZlLXNlYXJjaC5jc3MiLCJtb2R1bGVzL3NlYXJjaC1iYXIuY3NzIiwibW9kdWxlcy90b29sYmFyLmNzcyIsIm1vZHVsZXMvc2VjdGlvbi1oZWFkZXIuY3NzIiwibW9kdWxlcy9zaXRlLW5hdi5jc3MiLCJtb2R1bGVzL21lZ2FtZW51LmNzcyIsIm1vZHVsZXMvbW9kYWxzLmNzcyIsIm1vZHVsZXMvanMtcXR5LmNzcyIsIm1vZHVsZXMvY3VycmVuY3ktcGlja2VyLmNzcyIsIm1vZHVsZXMvY29sbGFwc2libGUuY3NzIiwibW9kdWxlcy9waG90b3N3aXBlLmNzcyIsIm1vZHVsZXMvZGlzY2xvc3VyZS5jc3MiLCJtb2R1bGVzL211bHRpLXNlbGVjdG9ycy5jc3MiLCJtb2R1bGVzL21vZGVsLXZpZXdlci5jc3MiLCJtb2R1bGVzL3ByaWNlLXJhbmdlLmNzcyIsIm1vZHVsZXMvY291bnRkb3duLmNzcyIsIm1vZHVsZXMvc2hvcHBhYmxlLWhlcm8uY3NzIiwicGFydGlhbHMvdGhlbWUtZm9ybXMuY3NzIiwicGFydGlhbHMvc29jaWFsLWJ1dHRvbnMuY3NzIiwicGFydGlhbHMvc2VhcmNoLWdyaWQuY3NzIiwicGFydGlhbHMvc2VjdGlvbnMuY3NzIiwicGFydGlhbHMvcHJvZHVjdC1ibG9ja3MuY3NzIiwibW9kdWxlcy9zbGlkZXNob3cuY3NzIiwibW9kdWxlcy9oZXJvLmNzcyIsIm1vZHVsZXMvY29sbGVjdGlvbi5jc3MiLCJtb2R1bGVzL3RoZW1lLXNpdGUtaGVhZGVyLmNzcyIsIm1vZHVsZXMvdGhlbWUtdGFncy5jc3MiLCJtb2R1bGVzL3Byb2R1Y3Qtc2luZ2xlLXZhcmlhbnRzLmNzcyIsIm1vZHVsZXMvcHJvZHVjdC1ncmlkLWl0ZW0uY3NzIiwibW9kdWxlcy9zYWxlcy1wb2ludC5jc3MiLCJtb2R1bGVzL3Byb2R1Y3QtaW52ZW50b3J5LmNzcyIsIm1vZHVsZXMvY29sb3Itc3dhdGNoLmNzcyIsIm1vZHVsZXMvY29sbGVjdGlvbi1ncmlkLWl0ZW0uY3NzIiwibW9kdWxlcy9zZWN0aW9uLWN1c3RvbS1jb250ZW50LmNzcyIsIm1vZHVsZXMvYmxvZy1wb3N0cy5jc3MiLCJtb2R1bGVzL2xvZ28tbGlzdC5jc3MiLCJtb2R1bGVzL2JhY2tncm91bmQtbWVkaWEtdGV4dC5jc3MiLCJtb2R1bGVzL3Rlc3RpbW9uaWFscy5jc3MiLCJtb2R1bGVzL2Fubm91bmNlbWVudC1iYXIuY3NzIiwibW9kdWxlcy9uZXdzbGV0dGVyLmNzcyIsIm1vZHVsZXMvbWFwLmNzcyIsIm1vZHVsZXMvaW1hZ2Utcm93LmNzcyIsIm1vZHVsZXMvaW1hZ2UtZ3JpZC5jc3MiLCJtb2R1bGVzL3Byb21vLXR5cGVzLmNzcyIsIm1vZHVsZXMvc3RvcmUtYXZhaWxhYmlsaXR5LmNzcyIsIm1vZHVsZXMvYWdlLXZlcmlmaWNhdGlvbi1wb3B1cC5jc3MiLCJ0ZW1wbGF0ZXMvY2FydC5jc3MiLCJ0ZW1wbGF0ZXMvcHJvZHVjdC5jc3MiLCJ0ZW1wbGF0ZXMvYmxvZy5jc3MiLCJ0ZW1wbGF0ZXMvcGFzc3dvcmQuY3NzIiwidGVtcGxhdGVzL2dpZnQtY2FyZC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCOztBQUVoQjs7O0NBR0M7O0FDTEQ7RUFDRTtJQUNFLGtCQUFtQjtJQUNuQixvQkFBcUI7RUFDdkI7QUFDRjs7QUNMQTtFQUNFO0lBQ0Usc0JBQXVCO0VBQ3pCOztFQUVBO0lBQ0Usd0JBQXlCO0VBQzNCO0FBQ0Y7O0FBRUE7RUFDRSxJQUE4RCxTQUFVLEVBQXZDLG1CQUEyQixJQUFyRCx1QkFBd0IsRUFBMkM7RUFDMUUsS0FBOEQsU0FBVSxFQUF2QyxtQkFBMkIsR0FBckQsdUJBQXdCLEVBQTJDO0VBQzFFLEtBQWdFLFNBQVUsRUFBdkMsbUJBQTJCLEdBQXZELHlCQUEwQixFQUEyQztFQUM1RSxJQUFnRSxTQUFVLEVBQXZDLG1CQUEyQixFQUF2RCx5QkFBMEIsRUFBMkM7QUFDOUU7O0FBRUE7RUFDRSxJQUFPLDJCQUE0QixFQUFFO0VBQ3JDLElBQUssdUJB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QUVBO0lBTUUsWUFBYTtFQUNmOztFQUVBO0lBQ0UsVUFBVztJQUNYLGlCQUFrQjtFQUNwQjs7RUFFQTtJQUNFLFVBQVc7RUFDYjs7RUFFQTtJQUNFLGFBQWM7RUFDaEI7O0VBRUE7SUFDRSxhQUFjO0VBQ2hCO0FBQ0YiLCJmaWxlIjoidGhlbWUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vKiFcbiAgSW1wdWxzZSwgYnkgQXJjaGV0eXBlIFRoZW1lc1xuICBodHRwOi8vYXJjaGV0eXBldGhlbWVzLmNvXG4qL1xuXG5AaW1wb3J0IHVybCgnZ2xvYmFsL21peGlucy5jc3MnKTtcbkBpbXBvcnQgdXJsKCdnbG9iYWwvdmFyaWFibGVzLXJvb3QuY3NzLmxpcXVpZCcpO1xuQGltcG9ydCB1cmwoJ2dsb2JhbC92YXJpYWJsZXMuY3NzJyk7XG5AaW1wb3J0IHVybCgnZ2xvYmFsL2tleWZyYW1lcy5jc3MnKTtcblxuQGltcG9ydCB1cmwoJ3ZlbmRvci9mbGlja2l0eS5jc3MnKTtcbkBpbXBvcnQgdXJsKCcuLi8uLi8uLi8uLi9zaGFyZWQvc3R5bGVzL3ZlbmRvci9ub3Vpc2xpZGVyLmNzcycpO1xuQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uL3NoYXJlZC9zdHlsZXMvbW9kdWxlcy90b29sLXRpcC5jc3MnKTtcbkBpbXBvcnQgdXJsKCcuLi8uLi8uLi8uLi9zaGFyZWQvc3R5bGVzL21vZHVsZXMvdG9vbC10aXAtdHJpZ2dlci5jc3MnKTtcbkBpbXBvcnQgdXJsKCcuLi8uLi8uLi8uLi9zaGFyZWQvc3R5bGVzL21vZHVsZXMvdGV4dC13aXRoLWljb25zLmNzcycpO1xuQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uL3NoYXJlZC9zdHlsZXMvbW9kdWxlcy9uZXdzbGV0dGVyLXJlbWluZGVyLmNzcycpO1xuQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uL3NoYXJlZC9zdHlsZXMvbW9kdWxlcy9wYXJhbGxheC5jc3MnKTtcbkBpbXBvcnQgdXJsKCcuLi8uLi8uLi8uLi9zaGFyZWQvc3R5bGVzL21vZHVsZXMvY291bnRkb3duLmNzcycpO1xuQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uL3NoYXJlZC9zdHlsZXMvbW9kdWxlcy9ob3RzcG90cy5jc3MnKTtcbkBpbXBvcnQgdXJsKCcuLi8uLi8uLi8uLi9zaGFyZWQvc3R5bGVzL21vZHVsZXMvaW1hZ2UtY29tcGFyZS5jc3MnKTtcbkBpbXBvcnQgdXJsKCcuLi8uLi8uLi8uLi9zaGFyZWQvc3R5bGVzL21vZHVsZXMvYWdlLXZlcmlmaWNhdGlvbi1wb3B1cC5jc3MnKTtcbkBpbXBvcnQgdXJsKCcuLi8uLi8uLi8uLi9zaGFyZWQvc3R5bGVzL21vZHVsZXMvcHJvZHVjdC1jb21wbGVtZW50YXJ5LmNzcycpO1xuQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uL3NoYXJlZC9zdHlsZXMvbW9kdWxlcy9pbWFnZXMuY3NzJyk7XG5AaW1wb3J0IHVybCgnLi4vLi4vLi4vLi4vc2hhcmVkL3N0eWxlcy9tb2R1bGVzL3N2Zy1tYXNrcy5jc3MnKTtcbkBpbXBvcnQgdXJsKCcuLi8uLi8uLi8uLi9zaGFyZWQvc3R5bGVzL21vZHVsZXMvdGV4dC1hbmQtaW1hZ2UuY3NzJyk7XG5AaW1wb3J0IHVybCgnLi4vLi4vLi4vLi4vc2hhcmVkL3N0eWxlcy9tb2R1bGVzL3Njcm9sbGluZy10ZXh0LmNzcycpO1xuQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uL3NoYXJlZC9zdHlsZXMvbW9kdWxlcy9uZXdzbGV0dGVyLXNlY3Rpb24uY3NzJyk7XG5AaW1wb3J0IHVybCgnLi4vLi4vLi4vLi4vc2hhcmVkL3N0eWxlcy9tb2R1bGVzL3ByZWRpY3RpdmUtc2VhcmNoLmNzcycpO1xuQGltcG9ydCB1cmwoJy4uLy4uLy4uLy4uL3NoYXJlZC9zdHlsZXMvbW9kdWxlcy9yZWNpcGllbnQtZm9ybS5jc3MnKTtcblxuQGltcG9ydCB1cmwoJ3BhcnRpYWxzL25vcm1hbGl6ZS5jc3MnKTtcbkBpbXBvcnQgdXJsKCdwYXJ0aWFscy9ncmlkLmNzcycpO1xuQGltcG9ydCB1cmwoJ3BhcnRpYWxzL2dyaWQtbWl4aW5zLmNzcycpO1xuQGltcG9ydCB1cmwoJ3BhcnRpYWxzL2ZsZXgtZ3JpZC5jc3MnKTtcbkBpbXBvcnQgdXJsKCdwYXJ0aWFscy9oZWxwZXJzLmNzcycpO1xuQGltcG9ydCB1cmwoJ3BhcnRpYWxzL2Jhc2UuY3NzJyk7XG5AaW1wb3J0IHVybCgncGFydGlhbHMvdHlwb2dyYXBoeS5jc3MnKTtcbkBpbXBvcnQgdXJsKCdwYXJ0aWFscy9saXN0cy5jc3MnKTtcbkBpbXBvcnQgdXJsKCdwYXJ0aWFscy90YWJsZXMuY3NzJyk7XG5AaW1wb3J0IHVybCgncGFydGlhbHMvbGlua3MuY3NzJyk7XG5AaW1wb3J0IHVybCgncGFydGlhbHMvYnV0dG9ucy5jc3MnKTtcbkBpbXBvcnQgdXJsKCdwYXJ0aWFscy9tZWRpYS5jc3MnKTtcbkBpbXBvcnQgdXJsKCdwYXJ0aWFscy9mb3Jtcy5jc3MnKTtcbkBpbXBvcnQgdXJsKCdwYXJ0aWFscy9pbnB1dC1ncm91cC5jc3MnKTtcbkBpbXBvcnQgdXJsKCdwYXJ0aWFscy9pY29ucy5jc3MnKTtcbkBpbXBvcnQgdXJsKCdwYXJ0aWFscy9kcmF3ZXJzLmNzcycpO1xuQGltcG9ydCB1cmwoJ3BhcnRpYWxzL2JsYW5rLXN0YXRlcy5jc3MnKTtcbkBpbXBvcnQgdXJsKCdwYXJ0aWFscy9hbmltYXRpb25zLmNzcycpO1xuQGltcG9ydCB1cmwoJ3BhcnRpYWxzL3Rvb2x0aXAuY3NzJyk7XG5AaW1wb3J0IHVybCgncGFydGlhbHMvcHJvZHVjdC1jb21wbGVtZW50YXJ5LmNzcycpO1xuQGltcG9ydCB1cmwoJ3BhcnRpYWxzL3ByZWRpY3RpdmUtc2VhcmNoLmNzcycpO1xuXG5AaW1wb3J0IHVybCgnbW9kdWxlcy9mb290ZXIuY3NzJyk7XG5AaW1wb3J0IHVybCgnbW9kdWxlcy9ub3Rlcy5jc3MnKTtcbkBpbXBvcnQgdXJsKCdtb2R1bGVzL3BhZ2luYXRpb24uY3NzJyk7XG5AaW1wb3J0IHVybCgnbW9kdWxlcy9ydGUuY3NzJyk7XG5AaW1wb3J0IHVybCgnbW9kdWxlcy9zaXRlLWhlYWRlci1zdHJ1Y3R1cmUuY3NzJyk7XG5AaW1wb3J0IHVybCgnbW9kdWxlcy9zaXRlLWhlYWRlci5jc3MnKTtcbkBpbXBvcnQgdXJsKCdtb2R1bGVzL3NpdGUtaGVhZGVyLXNlYXJjaC5jc3MnKTtcbkBpbXBvcnQgdXJsKCdtb2R1bGVzL3ByZWRpY3RpdmUtc2VhcmNoLmNzcycpO1xuQGltcG9ydCB1cmwoJ21vZHVsZXMvc2VhcmNoLWJhci5jc3MnKTtcbkBpbXBvcnQgdXJsKCdtb2R1bGVzL3Rvb2xiYXIuY3NzJyk7XG5AaW1wb3J0IHVybCgnbW9kdWxlcy9zZWN0aW9uLWhlYWRlci5jc3MnKTtcbkBpbXBvcnQgdXJsKCdtb2R1bGVzL3NpdGUtbmF2LmNzcycpO1xuQGltcG9ydCB1cmwoJ21vZHVsZXMvbWVnYW1lbnUuY3NzJyk7XG5AaW1wb3J0IHVybCgnbW9kdWxlcy9tb2RhbHMuY3NzJyk7XG5AaW1wb3J0IHVybCgnbW9kdWxlcy9qcy1xdHkuY3NzJyk7XG5AaW1wb3J0IHVybCgnbW9kdWxlcy9jdXJyZW5jeS1waWNrZXIuY3NzJyk7XG5AaW1wb3J0IHVybCgnbW9kdWxlcy9jb2xsYXBzaWJsZS5jc3MnKTtcbkBpbXBvcnQgdXJsKCdtb2R1bGVzL3Bob3Rvc3dpcGUuY3NzJyk7XG5AaW1wb3J0IHVybCgnbW9kdWxlcy9kaXNjbG9zdXJlLmNzcycpO1xuQGltcG9ydCB1cmwoJ21vZHVsZXMvbXVsdGktc2VsZWN0b3JzLmNzcycpO1xuQGltcG9ydCB1cmwoJ21vZHVsZXMvbW9kZWwtdmlld2VyLmNzcycpO1xuQGltcG9ydCB1cmwoJ21vZHVsZXMvcHJpY2UtcmFuZ2UuY3NzJyk7XG5AaW1wb3J0IHVybCgnbW9kdWxlcy9jb3VudGRvd24uY3NzJyk7XG5AaW1wb3J0IHVybCgnbW9kdWxlcy9zaG9wcGFibGUtaGVyby5jc3MnKTtcblxuQGltcG9ydCB1cmwoJ3BhcnRpYWxzL3RoZW1lLWZvcm1zLmNzcycpO1xuQGltcG9ydCB1cmwoJ3BhcnRpYWxzL3NvY2lhbC1idXR0b25zLmNzcycpO1xuQGltcG9ydCB1cmwoJ3BhcnRpYWxzL3NlYXJjaC1ncmlkLmNzcycpO1xuQGltcG9ydCB1cmwoJ3BhcnRpYWxzL3NlY3Rpb25zLmNzcycpO1xuQGltcG9ydCB1cmwoJ3BhcnRpYWxzL3Byb2R1Y3QtYmxvY2tzLmNzcycpO1xuXG5AaW1wb3J0IHVybCgnbW9kdWxlcy9zbGlkZXNob3cuY3NzJyk7XG5AaW1wb3J0IHVybCgnbW9kdWxlcy9oZXJvLmNzcycpO1xuQGltcG9ydCB1cmwoJ21vZHVsZXMvY29sbGVjdGlvbi5jc3MnKTtcbkBpbXBvcnQgdXJsKCdtb2R1bGVzL3RoZW1lLXNpdGUtaGVhZGVyLmNzcycpO1xuQGltcG9ydCB1cmwoJ21vZHVsZXMvdGhlbWUtdGFncy5jc3MnKTtcbkBpbXBvcnQgdXJsKCdtb2R1bGVzL3Byb2R1Y3Qtc2luZ2xlLXZhcmlhbnRzLmNzcycpO1xuQGltcG9ydCB1cmwoJ21vZHVsZXMvcHJvZHVjdC1ncmlkLWl0ZW0uY3NzJyk7XG5AaW1wb3J0IHVybCgnbW9kdWxlcy9zYWxlcy1wb2ludC5jc3MnKTtcbkBpbXBvcnQgdXJsKCdtb2R1bGVzL3Byb2R1Y3QtaW52ZW50b3J5LmNzcycpO1xuQGltcG9ydCB1cmwoJ21vZHVsZXMvY29sb3Itc3dhdGNoLmNzcycpO1xuQGltcG9ydCB1cmwoJ21vZHVsZXMvY29sbGVjdGlvbi1ncmlkLWl0ZW0uY3NzJyk7XG5AaW1wb3J0IHVybCgnbW9kdWxlcy9zZWN0aW9uLWN1c3RvbS1jb250ZW50LmNzcycpO1xuQGltcG9ydCB1cmwoJ21vZHVsZXMvYmxvZy1wb3N0cy5jc3MnKTtcbkBpbXBvcnQgdXJsKCdtb2R1bGVzL2xvZ28tbGlzdC5jc3MnKTtcbkBpbXBvcnQgdXJsKCdtb2R1bGVzL2JhY2tncm91bmQtbWVkaWEtdGV4dC5jc3MnKTtcbkBpbXBvcnQgdXJsKCdtb2R1bGVzL3Rlc3RpbW9uaWFscy5jc3MnKTtcbkBpbXBvcnQgdXJsKCdtb2R1bGVzL2Fubm91bmNlbWVudC1iYXIuY3NzJyk7XG5AaW1wb3J0IHVybCgnbW9kdWxlcy9uZXdzbGV0dGVyLmNzcycpO1xuQGltcG9ydCB1cmwoJ21vZHVsZXMvbWFwLmNzcycpO1xuQGltcG9ydCB1cmwoJ21vZHVsZXMvaW1hZ2Utcm93LmNzcycpO1xuQGltcG9ydCB1cmwoJ21vZHVsZXMvaW1hZ2UtZ3JpZC5jc3MnKTtcbkBpbXBvcnQgdXJsKCdtb2R1bGVzL3Byb21vLXR5cGVzLmNzcycpO1xuQGltcG9ydCB1cmwoJ21vZHVsZXMvc3RvcmUtYXZhaWxhYmlsaXR5LmNzcycpO1xuQGltcG9ydCB1cmwoJ21vZHVsZXMvYWdlLXZlcmlmaWNhdGlvbi1wb3B1cC5jc3MnKTtcblxuQGltcG9ydCB1cmwoJ3RlbXBsYXRlcy9jYXJ0LmNzcycpO1xuQGltcG9ydCB1cmwoJ3RlbXBsYXRlcy9wcm9kdWN0LmNzcycpO1xuQGltcG9ydCB1cmwoJ3RlbXBsYXRlcy9ibG9nLmNzcycpO1xuQGltcG9ydCB1cmwoJ3RlbXBsYXRlcy9wYXNzd29yZC5jc3MnKTtcbkBpbXBvcnQgdXJsKCd0ZW1wbGF0ZXMvZ2lmdC1jYXJkLmNzcycpO1xuIiwiQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICA6cm9vdCB7XG4gICAgLS1ncmlkLWd1dHRlcjogMjJweDtcbiAgICAtLWRyYXdlci1ndXR0ZXI6IDMwcHg7XG4gIH1cbn1cbiIsIkBrZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBwcmVsb2FkaW5nIHtcbiAgMCUgeyAgIHRyYW5zZm9ybS1vcmlnaW46IDAlIDUwJTsgdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDEsIDEpOyBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7ICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7IHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgb3BhY2l0eTogMTsgfVxuICA0MSUgeyAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7IHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgb3BhY2l0eTogMTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7IHRyYW5zZm9ybTogc2NhbGUzZCgwLCAxLCAxKTsgb3BhY2l0eTogMTsgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlc2hvd0JhcnMge1xuICBmcm9tIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICB0byB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxufVxuXG4vKkFqYXggbG9hZCBwcm9kdWN0cyovXG5Aa2V5ZnJhbWVzIGdyaWQtcHJvZHVjdF9fbG9hZGluZyB7XG4gIDAlIHsgb3BhY2l0eTogMTsgfVxuICA2MCUgeyBvcGFjaXR5OiAwOyB9XG4gIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5cbi8qQnV0dG9uIGFuaW1hdGlvbnMqL1xuQGtleWZyYW1lcyBzaGluZSB7XG4gIDEwMCUge1xuICAgIGxlZnQ6IC0yMDAlO1xuICB9XG59XG5cbi8qT3ZlcmxheSBhbmltYXRpb25zIChtb2RhbHMsIHBhbmVscykqL1xuQGtleWZyYW1lcyBvdmVybGF5LW9uIHtcbiAgZnJvbSB7IG9wYWNpdHk6IDA7IH1cbiAgdG8geyBvcGFjaXR5OiAwLjY7IH1cbn1cblxuQGtleWZyYW1lcyBvdmVybGF5LW9mZiB7XG4gIGZyb20geyBvcGFjaXR5OiAwLjY7IH1cbiAgdG8geyBvcGFjaXR5OiAwOyB9XG59XG5cbkBrZXlmcmFtZXMgZnVsbC1vdmVybGF5LW9uIHtcbiAgZnJvbSB7IG9wYWNpdHk6IDA7IH1cbiAgdG8geyBvcGFjaXR5OiAxOyB9XG59XG5cbkBrZXlmcmFtZXMgZnVsbC1vdmVybGF5LW9mZiB7XG4gIGZyb20geyBvcGFjaXR5OiAxOyB9XG4gIHRvIHsgb3BhY2l0eTogMDsgfVxufVxuXG5Aa2V5ZnJhbWVzIG1vZGFsLW9wZW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBtb2RhbC1jbG9zaW5nIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgfVxufVxuXG4vKlRleHQgYW5pbWF0aW9ucyovXG5Aa2V5ZnJhbWVzIHJpc2UtdXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjAlKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcmlzZS11cC1vdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMjAlKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGUtaW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZS1vdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi8qQmFja2dyb3VuZCBpbWFnZSBhbmltYXRpb25zKi9cbkBrZXlmcmFtZXMgem9vbS1mYWRlIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMywxLjMpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwxKTtcbiAgfVxufVxuXG4vKlByb2R1Y3QgZm9ybSBwbGFjZWhvbGRlciovXG5Aa2V5ZnJhbWVzIHBsYWNlaG9sZGVyLXNoaW1tZXIge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1MCUgMDtcbiAgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNTAlIDA7XG4gIH1cbn1cbiIsIi5mbGlja2l0eS1lbmFibGVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZmxpY2tpdHktZW5hYmxlZDpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLmZsaWNraXR5LXZpZXdwb3J0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zNXM7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmZsaWNraXR5LXNsaWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmZsaWNraXR5LWVuYWJsZWQuaXMtZHJhZ2dhYmxlIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5mbGlja2l0eS1lbmFibGVkLmlzLWRyYWdnYWJsZSAuZmxpY2tpdHktdmlld3BvcnQge1xuICBjdXJzb3I6IG1vdmU7XG4gIGN1cnNvcjogZ3JhYjtcbn1cblxuLmZsaWNraXR5LWVuYWJsZWQuaXMtZHJhZ2dhYmxlIC5mbGlja2l0eS12aWV3cG9ydC5pcy1wb2ludGVyLWRvd24ge1xuICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG4uZmxpY2tpdHktYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAkY29sb3JCdG5QcmltYXJ5VGV4dDtcbiAgYmFja2dyb3VuZDogJGNvbG9yQnRuUHJpbWFyeTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIEBuZXN0IC5oZXJvICYge1xuICAgIGNvbG9yOiAkY29sb3JUZXh0Qm9keTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JCb2R5O1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDVweCByZ2JhKDAsMCwwLDAuMSk7XG4gIH1cbn1cblxuLmZsaWNraXR5LWJ1dHRvbjpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmZsaWNraXR5LWJ1dHRvbjpkaXNhYmxlZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGN1cnNvcjogYXV0bztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIHtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAvKlNtYWxsZXIgYXJyb3dzIG9uIG1vYmlsZSovXG4gIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgIHdpZHRoOiAzM3B4O1xuICAgIGhlaWdodDogMzNweDtcbiAgfVxufVxuXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxLjEyKTtcbn1cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDVzIGVhc2Utb3V0O1xufVxuXG4uZmxpY2tpdHktcHJldmlvdXMgeyBsZWZ0OiAxMHB4OyB9XG4uZmxpY2tpdHktbmV4dCB7IHJpZ2h0OiAxMHB4OyB9XG4uZmxpY2tpdHktcnRsIC5mbGlja2l0eS1wcmV2aW91cyB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMHB4O1xufVxuLmZsaWNraXR5LXJ0bCAuZmxpY2tpdHktbmV4dCB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMHB4O1xufVxuXG4uZmxpY2tpdHktYnV0dG9uLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDM1JTtcbiAgdG9wOiAzNSU7XG4gIHdpZHRoOiAzMCU7XG4gIGhlaWdodDogMzAlO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbi5mbGlja2l0eS1wYWdlLWRvdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3R0b206IC0yNXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG5cbiAgQG5lc3QgLmhlcm8gJiB7XG4gICAgYm90dG9tOiAyMHB4O1xuICAgIGNvbG9yOiAkc2xpZGVzaG93LXRleHQtbGlnaHQ7XG4gIH1cbn1cblxuLmZsaWNraXR5LXJ0bCAuZmxpY2tpdHktcGFnZS1kb3RzIHsgZGlyZWN0aW9uOiBydGw7IH1cblxuLmZsaWNraXR5LXBhZ2UtZG90cyAuZG90IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgbWFyZ2luOiAwIDVweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG9wYWNpdHk6IDAuNDtcblxuICAmOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjY7XG4gIH1cbn1cblxuLmZsaWNraXR5LXBhZ2UtZG90cyAuZG90LmlzLXNlbGVjdGVkIHtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICB3aWR0aDogOXB4O1xuICBoZWlnaHQ6IDlweDtcbn1cblxuLmZsaWNraXR5LWVuYWJsZWQuaXMtZmFkZSAuZmxpY2tpdHktc2xpZGVyID4gKiB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAwO1xufVxuXG4uZmxpY2tpdHktZW5hYmxlZC5pcy1mYWRlIC5mbGlja2l0eS1zbGlkZXIgPiAuaXMtc2VsZWN0ZWQge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgei1pbmRleDogMTtcbn1cblxuLypcbiAgSGVybyBzcGVjaWZpYyBzdHlsZXMgZm9yIGZsaWNraXR5IGRvdHMvYXJyb3dzXG4gKi9cbi5oZXJvW2RhdGEtYXJyb3dzPVwidHJ1ZVwiXSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB6LWluZGV4OiA1O1xuXG4gICYgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IC0yMHB4O1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gICYgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b246aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xMik7XG4gIH1cbiAgJiAuZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICAmIC5mbGlja2l0eS1wcmV2aW91cyB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogOTBweDtcbiAgfVxuICAmIC5mbGlja2l0eS1uZXh0IHtcbiAgICByaWdodDogNDBweDtcbiAgfVxuICAmLmZsaWNraXR5LXJ0bCAuZmxpY2tpdHktcHJldmlvdXMge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDkwcHg7XG4gIH1cbiAgJi5mbGlja2l0eS1ydGwgLmZsaWNraXR5LW5leHQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDQwcHg7XG4gIH1cblxuICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICAmIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIHtcbiAgICAgIGJvdHRvbTogLTE2cHg7XG4gICAgfVxuICAgICYgLmZsaWNraXR5LXByZXZpb3VzIHtcbiAgICAgIHJpZ2h0OiA2MHB4O1xuICAgIH1cbiAgICAmIC5mbGlja2l0eS1uZXh0IHtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgIH1cbiAgICAmLmZsaWNraXR5LXJ0bCAuZmxpY2tpdHktcHJldmlvdXMge1xuICAgICAgbGVmdDogNjBweDtcbiAgICB9XG4gICAgJi5mbGlja2l0eS1ydGwgLmZsaWNraXR5LW5leHQge1xuICAgICAgbGVmdDogMjBweDtcbiAgICB9XG4gIH1cbn1cblxuLypDaGFuZ2UgZG90cyB0byBiYXJzKi9cbltkYXRhLWJhcnM9XCJ0cnVlXCJdIHtcbiAgJi5oZXJvIC5mbGlja2l0eS1wYWdlLWRvdHMge1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDZweDtcbiAgICBsaW5lLWhlaWdodDogNnB4O1xuICAgIHotaW5kZXg6IDY7XG4gIH1cblxuICAmIC5mbGlja2l0eS1wYWdlLWRvdHMgLmRvdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogNnB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgICB3aWR0aDogNDVweDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgIH1cblxuICAgICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cblxuICAgICYuaXMtc2VsZWN0ZWQ6YWZ0ZXIge1xuICAgICAgYW5pbWF0aW9uOiBzbGlkZXNob3dCYXJzIDBzIGxpbmVhciBmb3J3YXJkcztcbiAgICB9XG4gIH1cbn1cbiIsIi8qIEZ1bmN0aW9uYWwgc3R5bGluZztcbiAqIFRoZXNlIHN0eWxlcyBhcmUgcmVxdWlyZWQgZm9yIG5vVWlTbGlkZXIgdG8gZnVuY3Rpb24uXG4gKiBZb3UgZG9uJ3QgbmVlZCB0byBjaGFuZ2UgdGhlc2UgcnVsZXMgdG8gYXBwbHkgeW91ciBkZXNpZ24uXG4gKi9cbiAubm9VaS10YXJnZXQsXG4gLm5vVWktdGFyZ2V0ICoge1xuICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuIH1cblxuIC5ub1VpLXRhcmdldCB7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gfVxuXG4gLm5vVWktYmFzZSxcbiAubm9VaS1jb25uZWN0cyB7XG4gICB3aWR0aDogMTAwJTtcbiAgIGhlaWdodDogMTAwJTtcbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgIHotaW5kZXg6IDE7XG4gfVxuXG4gLyogV3JhcHBlciBmb3IgYWxsIGNvbm5lY3QgZWxlbWVudHMuXG4gICovXG4gLm5vVWktY29ubmVjdHMge1xuICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgIHotaW5kZXg6IDA7XG4gfVxuXG4gLm5vVWktY29ubmVjdCxcbiAubm9VaS1vcmlnaW4ge1xuICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIHotaW5kZXg6IDE7XG4gICB0b3A6IDA7XG4gICByaWdodDogMDtcbiAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgIHRyYW5zZm9ybS1zdHlsZTogZmxhdDtcbiB9XG5cbiAubm9VaS1jb25uZWN0IHtcbiAgIGhlaWdodDogMTAwJTtcbiAgIHdpZHRoOiAxMDAlO1xuIH1cblxuIC5ub1VpLW9yaWdpbiB7XG4gICBoZWlnaHQ6IDEwJTtcbiAgIHdpZHRoOiAxMCU7XG4gfVxuXG4gLyogT2Zmc2V0IGRpcmVjdGlvblxuICAqL1xuIC5ub1VpLXR4dC1kaXItcnRsLm5vVWktaG9yaXpvbnRhbCAubm9VaS1vcmlnaW4ge1xuICAgbGVmdDogMDtcbiAgIHJpZ2h0OiBhdXRvO1xuIH1cblxuIC8qIEdpdmUgb3JpZ2lucyAwIGhlaWdodC93aWR0aCBzbyB0aGV5IGRvbid0IGludGVyZmVyZSB3aXRoIGNsaWNraW5nIHRoZVxuICAqIGNvbm5lY3QgZWxlbWVudHMuXG4gICovXG4gLm5vVWktdmVydGljYWwgLm5vVWktb3JpZ2luIHtcbiAgIHdpZHRoOiAwO1xuIH1cbiAubm9VaS1ob3Jpem9udGFsIC5ub1VpLW9yaWdpbiB7XG4gICBoZWlnaHQ6IDA7XG4gfVxuIC5ub1VpLWhhbmRsZSB7XG4gICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiB9XG4gLm5vVWktdG91Y2gtYXJlYSB7XG4gICBoZWlnaHQ6IDEwMCU7XG4gICB3aWR0aDogMTAwJTtcbiB9XG4gLm5vVWktc3RhdGUtdGFwIC5ub1VpLWNvbm5lY3QsXG4gLm5vVWktc3RhdGUtdGFwIC5ub1VpLW9yaWdpbiB7XG4gICAtd2Via2l0LXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gfVxuIC5ub1VpLXN0YXRlLWRyYWcgKiB7XG4gICBjdXJzb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiB9XG5cbiAvKiBTbGlkZXIgc2l6ZSBhbmQgaGFuZGxlIHBsYWNlbWVudDtcbiAgKi9cbiAubm9VaS1ob3Jpem9udGFsIHtcbiAgIGhlaWdodDogMThweDtcbiB9XG4gLm5vVWktaG9yaXpvbnRhbCAubm9VaS1oYW5kbGUge1xuICAgd2lkdGg6IDM0cHg7XG4gICBoZWlnaHQ6IDI4cHg7XG4gICByaWdodDogLTE3cHg7XG4gICB0b3A6IC02cHg7XG4gfVxuIC5ub1VpLXZlcnRpY2FsIHtcbiAgIHdpZHRoOiAxOHB4O1xuIH1cbiAubm9VaS12ZXJ0aWNhbCAubm9VaS1oYW5kbGUge1xuICAgd2lkdGg6IDI4cHg7XG4gICBoZWlnaHQ6IDM0cHg7XG4gICByaWdodDogLTZweDtcbiAgIHRvcDogLTE3cHg7XG4gfVxuIC5ub1VpLXR4dC1kaXItcnRsLm5vVWktaG9yaXpvbnRhbCAubm9VaS1oYW5kbGUge1xuICAgbGVmdDogLTE3cHg7XG4gICByaWdodDogYXV0bztcbiB9XG5cbiAvKiBTdHlsaW5nO1xuICAqIEdpdmluZyB0aGUgY29ubmVjdCBlbGVtZW50IGEgYm9yZGVyIHJhZGl1cyBjYXVzZXMgaXNzdWVzIHdpdGggdXNpbmcgdHJhbnNmb3JtOiBzY2FsZVxuICAqL1xuIC5ub1VpLXRhcmdldCB7XG4gICBiYWNrZ3JvdW5kOiAjRkFGQUZBO1xuICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgYm9yZGVyOiAxcHggc29saWQgI0QzRDNEMztcbiAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCAjRjBGMEYwLCAwIDNweCA2cHggLTVweCAjQkJCO1xuIH1cbiAubm9VaS1jb25uZWN0cyB7XG4gICBib3JkZXItcmFkaXVzOiAzcHg7XG4gfVxuIC5ub1VpLWNvbm5lY3Qge1xuICAgYmFja2dyb3VuZDogIzNGQjhBRjtcbiB9XG4gLyogSGFuZGxlcyBhbmQgY3Vyc29ycztcbiAgKi9cbiAubm9VaS1kcmFnZ2FibGUge1xuICAgY3Vyc29yOiBldy1yZXNpemU7XG4gfVxuIC5ub1VpLXZlcnRpY2FsIC5ub1VpLWRyYWdnYWJsZSB7XG4gICBjdXJzb3I6IG5zLXJlc2l6ZTtcbiB9XG4gLm5vVWktaGFuZGxlIHtcbiAgIGJvcmRlcjogMXB4IHNvbGlkICNEOUQ5RDk7XG4gICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICBiYWNrZ3JvdW5kOiAjRkZGO1xuICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDFweCAjRkZGLCBpbnNldCAwIDFweCA3cHggI0VCRUJFQiwgMCAzcHggNnB4IC0zcHggI0JCQjtcbiB9XG4gLm5vVWktYWN0aXZlIHtcbiAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxcHggI0ZGRiwgaW5zZXQgMCAxcHggN3B4ICNEREQsIDAgM3B4IDZweCAtM3B4ICNCQkI7XG4gfVxuIC8qIEhhbmRsZSBzdHJpcGVzO1xuICAqL1xuIC5ub1VpLWhhbmRsZTpiZWZvcmUsXG4gLm5vVWktaGFuZGxlOmFmdGVyIHtcbiAgIGNvbnRlbnQ6IFwiXCI7XG4gICBkaXNwbGF5OiBibG9jaztcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIGhlaWdodDogMTRweDtcbiAgIHdpZHRoOiAxcHg7XG4gICBiYWNrZ3JvdW5kOiAjRThFN0U2O1xuICAgbGVmdDogMTRweDtcbiAgIHRvcDogNnB4O1xuIH1cbiAubm9VaS1oYW5kbGU6YWZ0ZXIge1xuICAgbGVmdDogMTdweDtcbiB9XG4gLm5vVWktdmVydGljYWwgLm5vVWktaGFuZGxlOmJlZm9yZSxcbiAubm9VaS12ZXJ0aWNhbCAubm9VaS1oYW5kbGU6YWZ0ZXIge1xuICAgd2lkdGg6IDE0cHg7XG4gICBoZWlnaHQ6IDFweDtcbiAgIGxlZnQ6IDZweDtcbiAgIHRvcDogMTRweDtcbiB9XG4gLm5vVWktdmVydGljYWwgLm5vVWktaGFuZGxlOmFmdGVyIHtcbiAgIHRvcDogMTdweDtcbiB9XG4gLyogRGlzYWJsZWQgc3RhdGU7XG4gICovXG4gW2Rpc2FibGVkXSAubm9VaS1jb25uZWN0IHtcbiAgIGJhY2tncm91bmQ6ICNCOEI4Qjg7XG4gfVxuIFtkaXNhYmxlZF0ubm9VaS10YXJnZXQsXG4gW2Rpc2FibGVkXS5ub1VpLWhhbmRsZSxcbiBbZGlzYWJsZWRdIC5ub1VpLWhhbmRsZSB7XG4gICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuIH1cbiAvKiBCYXNlO1xuICAqXG4gICovXG4gLm5vVWktcGlwcyxcbiAubm9VaS1waXBzICoge1xuICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiB9XG4gLm5vVWktcGlwcyB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICBjb2xvcjogIzk5OTtcbiB9XG4gLyogVmFsdWVzO1xuICAqXG4gICovXG4gLm5vVWktdmFsdWUge1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiB9XG4gLm5vVWktdmFsdWUtc3ViIHtcbiAgIGNvbG9yOiAjY2NjO1xuICAgZm9udC1zaXplOiAxMHB4O1xuIH1cbiAvKiBNYXJraW5ncztcbiAgKlxuICAqL1xuIC5ub1VpLW1hcmtlciB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICBiYWNrZ3JvdW5kOiAjQ0NDO1xuIH1cbiAubm9VaS1tYXJrZXItc3ViIHtcbiAgIGJhY2tncm91bmQ6ICNBQUE7XG4gfVxuIC5ub1VpLW1hcmtlci1sYXJnZSB7XG4gICBiYWNrZ3JvdW5kOiAjQUFBO1xuIH1cbiAvKiBIb3Jpem9udGFsIGxheW91dDtcbiAgKlxuICAqL1xuIC5ub1VpLXBpcHMtaG9yaXpvbnRhbCB7XG4gICBwYWRkaW5nOiAxMHB4IDA7XG4gICBoZWlnaHQ6IDgwcHg7XG4gICB0b3A6IDEwMCU7XG4gICBsZWZ0OiAwO1xuICAgd2lkdGg6IDEwMCU7XG4gfVxuIC5ub1VpLXZhbHVlLWhvcml6b250YWwge1xuICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpO1xuICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKTtcbiB9XG4gLm5vVWktcnRsIC5ub1VpLXZhbHVlLWhvcml6b250YWwge1xuICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIDUwJSk7XG4gICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIDUwJSk7XG4gfVxuIC5ub1VpLW1hcmtlci1ob3Jpem9udGFsLm5vVWktbWFya2VyIHtcbiAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgd2lkdGg6IDJweDtcbiAgIGhlaWdodDogNXB4O1xuIH1cbiAubm9VaS1tYXJrZXItaG9yaXpvbnRhbC5ub1VpLW1hcmtlci1zdWIge1xuICAgaGVpZ2h0OiAxMHB4O1xuIH1cbiAubm9VaS1tYXJrZXItaG9yaXpvbnRhbC5ub1VpLW1hcmtlci1sYXJnZSB7XG4gICBoZWlnaHQ6IDE1cHg7XG4gfVxuIC8qIFZlcnRpY2FsIGxheW91dDtcbiAgKlxuICAqL1xuIC5ub1VpLXBpcHMtdmVydGljYWwge1xuICAgcGFkZGluZzogMCAxMHB4O1xuICAgaGVpZ2h0OiAxMDAlO1xuICAgdG9wOiAwO1xuICAgbGVmdDogMTAwJTtcbiB9XG4gLm5vVWktdmFsdWUtdmVydGljYWwge1xuICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuIH1cbiAubm9VaS1ydGwgLm5vVWktdmFsdWUtdmVydGljYWwge1xuICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCA1MCUpO1xuICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgNTAlKTtcbiB9XG4gLm5vVWktbWFya2VyLXZlcnRpY2FsLm5vVWktbWFya2VyIHtcbiAgIHdpZHRoOiA1cHg7XG4gICBoZWlnaHQ6IDJweDtcbiAgIG1hcmdpbi10b3A6IC0xcHg7XG4gfVxuIC5ub1VpLW1hcmtlci12ZXJ0aWNhbC5ub1VpLW1hcmtlci1zdWIge1xuICAgd2lkdGg6IDEwcHg7XG4gfVxuIC5ub1VpLW1hcmtlci12ZXJ0aWNhbC5ub1VpLW1hcmtlci1sYXJnZSB7XG4gICB3aWR0aDogMTVweDtcbiB9XG4gLm5vVWktdG9vbHRpcCB7XG4gICBkaXNwbGF5OiBibG9jaztcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIGJvcmRlcjogMXB4IHNvbGlkICNEOUQ5RDk7XG4gICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgY29sb3I6ICMwMDA7XG4gICBwYWRkaW5nOiA1cHg7XG4gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuIH1cbiAubm9VaS1ob3Jpem9udGFsIC5ub1VpLXRvb2x0aXAge1xuICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAgbGVmdDogNTAlO1xuICAgYm90dG9tOiAxMjAlO1xuIH1cbiAubm9VaS12ZXJ0aWNhbCAubm9VaS10b29sdGlwIHtcbiAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgIHRvcDogNTAlO1xuICAgcmlnaHQ6IDEyMCU7XG4gfVxuIC5ub1VpLWhvcml6b250YWwgLm5vVWktb3JpZ2luID4gLm5vVWktdG9vbHRpcCB7XG4gICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgMCk7XG4gICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIDApO1xuICAgbGVmdDogYXV0bztcbiAgIGJvdHRvbTogMTBweDtcbiB9XG4gLm5vVWktdmVydGljYWwgLm5vVWktb3JpZ2luID4gLm5vVWktdG9vbHRpcCB7XG4gICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xOHB4KTtcbiAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xOHB4KTtcbiAgIHRvcDogYXV0bztcbiAgIHJpZ2h0OiAyOHB4O1xuIH1cbiIsInRvb2wtdGlwIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxudG9vbC10aXBbZGF0YS10b29sLXRpcC1vcGVuPVwidHJ1ZVwiXSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB6LWluZGV4OiAxMDAwMTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvck1vZGFsQmcpO1xuICAgIGFuaW1hdGlvbjogb3ZlcmxheS1vbiAwLjNzIGZvcndhcmRzO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4udG9vbC10aXBfX2lubmVyIHtcbiAgYW5pbWF0aW9uOiBtb2RhbC1jbG9zZSAwLjNzIGZvcndhcmRzO1xuICBvcGFjaXR5OiAwO1xuXG4gIEBuZXN0IHRvb2wtdGlwW2RhdGEtdG9vbC10aXAtb3Blbj1cInRydWVcIl0gJiB7XG4gICAgYW5pbWF0aW9uOiBtb2RhbC1vcGVuIDAuM3MgZm9yd2FyZHM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yQm9keSk7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDIwcHggIzAwMDAwMDE3O1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgICBtaW4td2lkdGg6IDI1MHB4O1xuICAgIG1pbi1oZWlnaHQ6IDI1MHB4O1xuXG4gICAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogOTMlO1xuICAgIH1cbiAgfVxufVxuXG4udG9vbC10aXBfX2NvbnRlbnQge1xuICBvdmVyZmxvdzogYXV0bztcbiAgbWF4LWhlaWdodDogODB2aDtcblxuICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgfVxufVxuXG4udG9vbC10aXBfX2Nsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG4udG9vbC10aXBfX2Nsb3NlIC5pY29uIHtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMjhweDtcbn1cbiIsIi50b29sLXRpcC10cmlnZ2VyIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50b29sLXRpcC10cmlnZ2VyIC5pY29uIHtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMjhweDtcbn1cblxuLnRvb2wtdGlwLXRyaWdnZXJfX3RpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4udG9vbC10aXAtdHJpZ2dlcl9fdGl0bGU6aG92ZXIsXG4udG9vbC10aXAtdHJpZ2dlcl9fdGl0bGU6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi50b29sLXRpcC10cmlnZ2VyX19jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvKiBFbnN1cmUgb3VyIGNvbnRlbnQgaXMgYWx3YXlzIGhpZGRlbiAqL1xufVxuXG4vKiBTaXplIGNoYXJ0IHRyaWdnZXIgKi9cblxuLnNpemUtY2hhcnRfX3N0YW5kYWxvbmUge1xuICBtYXJnaW46IHZhcigtLXNpemVDaGFydE1hcmdpbik7XG5cbiAgJiBzdmcge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXplQ2hhcnRJY29uTWFyZ2luKTtcbiAgfVxufVxuIiwiLnRleHQtd2l0aC1pY29uc19fYmxvY2tzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICBtYXJnaW4tcmlnaHQ6IC0zMHB4O1xuXG4gIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5oYXMtMS1wZXItcm93IC50ZXh0LXdpdGgtaWNvbnNfX2Jsb2NrIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5oYXMtMi1wZXItcm93IC50ZXh0LXdpdGgtaWNvbnNfX2Jsb2NrIHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLmhhcy0zLXBlci1yb3cgLnRleHQtd2l0aC1pY29uc19fYmxvY2sge1xuICB3aWR0aDogMzMuMzMzJTtcbn1cblxuLmhhcy00LXBlci1yb3cgLnRleHQtd2l0aC1pY29uc19fYmxvY2sge1xuICB3aWR0aDogMjUlO1xufVxuXG4uaGFzLTUtcGVyLXJvdyAudGV4dC13aXRoLWljb25zX19ibG9jayB7XG4gIHdpZHRoOiAyMCU7XG59XG5cbi50ZXh0LXdpdGgtaWNvbnNfX2Jsb2NrcyAudGV4dC13aXRoLWljb25zX19ibG9jayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IG5vbmU7XG4gIHBhZGRpbmc6IDMwcHg7XG5cbiAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAwIDYwcHg7XG4gIH1cbn1cblxuLnRleHQtd2l0aC1pY29uc19fYmxvY2staWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICYgLmljb24ge1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGhlaWdodDogNzBweDtcblxuICAgIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgfVxuICB9XG59XG5cbi50ZXh0LXdpdGgtaWNvbnNfX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuIiwiLyogTmV3c2xldHRlciByZW1pbmRlciAqL1xuXG5uZXdzbGV0dGVyLXJlbWluZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAyMHB4O1xuICBib3R0b206IDIwcHg7XG4gIHRyYW5zaXRpb246IGVhc2UtaW4tb3V0IDAuM3Mgb3BhY2l0eTtcbiAgYm94LXNoYWRvdzogMCAxMnB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgbWF4LXdpZHRoOiAyNDBweDtcbiAgei1pbmRleDogMTA7XG4gIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gIH1cblxuICAmW2RhdGEtZW5hYmxlZD1cImZhbHNlXCJdIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICZbY2xhc3MqPVwiY29sb3Itc2NoZW1lLVwiXTpub3QoLmNvbG9yLXNjaGVtZS1ub25lKSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG5cbiAgJiAuY29sb3Itc2NoZW1lLW5vbmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvckJ0blByaW1hcnlUZXh0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvckJ0blByaW1hcnkpO1xuICB9XG59XG5cbi5uZXdzbGV0dGVyLXJlbWluZGVyX19tZXNzYWdlLmgzIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiB2YXIoLS1uZXdzbGV0dGVyUmVtaW5kZXJQYWRkaW5nKTtcbiAgbWFyZ2luOiAwO1xufVxuIiwiLnBhcmFsbGF4LWltYWdlIGltZyB7XG4gIHdpZHRoOiAgMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLnBhcmFsbGF4LWltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogIDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDVzIGxpbmVhcjtcbn1cbiIsIi8qIENvdW50ZG93biAqL1xuLmNvdW50ZG93bi13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY291bnRkb3duX19iYWNrZ3JvdW5kLWltYWdlLXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5jb3VudGRvd25fX2JhY2tncm91bmQtaW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5jb3VudGRvd25fX21vYmlsZS1pbWFnZS13cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4uY291bnRkb3duX19tb2JpbGUtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLmNvdW50ZG93bi1sYXlvdXQtLWJhbm5lciB7XG4gICYgLmNvdW50ZG93bl9fY29udGVudCB7XG4gICAgcGFkZGluZzogMnJlbTtcblxuICAgIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgIGdhcDogMXJlbTtcbiAgICAgIHBhZGRpbmc6IDEuNnJlbSAycmVtO1xuICAgIH1cbiAgfVxuXG4gICYuY291bnRkb3duLWJsb2Nrcy0tMi5wYWdlLXdpZHRoIHtcbiAgICAmIC5jb3VudGRvd25fX2NvbnRlbnQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgfVxuICB9XG5cbiAgJi5jb3VudGRvd24tYmxvY2tzLS0yIHtcbiAgICAmIC5jb3VudGRvd25fX2NvbnRlbnQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgJiAuY291bnRkb3duX19ibG9jayB7XG4gICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAgd2lkdGg6IDMzJTtcbiAgICB9XG4gIH1cbn1cblxuLmNvdW50ZG93bl9fY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDY1MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogNXJlbSAycmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQG5lc3QgLnBhZ2Utd2lkdGggJiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgQG5lc3QgLmNvdW50ZG93bi1sYXlvdXQtLWhlcm8gJiB7XG4gICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB9XG4gIH1cbn1cblxuLmNvdW50ZG93bl9fYmxvY2sge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAxcmVtIGF1dG87XG4gIHotaW5kZXg6IDM7XG59XG5cbi5jb3VudGRvd25fX2Jsb2NrLS1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgJiAuY291bnRkb3duX19ibG9jay0tYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7IC8qIE5lc3RlZCBidXR0b24gd2lsbCBnZXQgc3BhY2luZyBmcm9tIHRleHQgYWJvdmUgaXQgKi9cbiAgfVxufVxuXG4uY291bnRkb3duX19ibG9jay0tdGltZXIsXG4uY291bnRkb3duX19ibG9jay0tY29udGVudCB7XG4gIEBuZXN0IC5jb3VudGRvd24tYmxvY2tzLS0yLmNvdW50ZG93bi1sYXlvdXQtLWJhbm5lciAmIHtcbiAgICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgICB3aWR0aDogNTAlXG4gICAgfVxuICB9XG59XG5cbi5jb3VudGRvd25fX2Jsb2NrLS1idXR0b24uYnV0dG9uLWJsb2NrLWFjdGl2ZSB7XG4gIEBuZXN0IC5jb3VudGRvd24tYmxvY2tzLS0yLmNvdW50ZG93bi1sYXlvdXQtLWJhbm5lciAmIHtcbiAgICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgICB3aWR0aDogNTAlXG4gICAgfVxuICB9XG59XG5cbi5jb3VudGRvd25fX3RleHQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIEBuZXN0IC5jb3VudGRvd24tbGF5b3V0LS1oZXJvICYge1xuICAgIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICB9XG59XG5cbi5jb3VudGRvd25fX3RleHQtd3JhcHBlci0tY29udGVudC1hbGlnbm1lbnQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5jb3VudGRvd25fX3RleHQtd3JhcHBlci0tY29udGVudC1hbGlnbm1lbnQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmNvdW50ZG93bl9fZGlzcGxheSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5jb3VudGRvd25fX2Rpc3BsYXktLWxvYWRlZCB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgZWFzZS1pbiAwLjNzO1xufVxuXG4uY291bnRkb3duX19kaXNwbGF5LS12aXNpYmxlICsgLmNvdW50ZG93bl9fdGltZXItbWVzc2FnZS0tdmlzaWJsZSB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcbn1cblxuLmNvdW50ZG93bl9fZGlzcGxheS0taGlkZGVuIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgZWFzZS1vdXQgM3M7XG59XG5cbi5jb3VudGRvd25fX2Rpc3BsYXktYmxvY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gIHBhZGRpbmc6IDAgMXJlbTtcblxuICAmIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuXG4gICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIH1cbiAgfVxuXG4gICYgc3BhbiB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuN3B4O1xuXG4gICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIH1cbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICB9XG5cbiAgQG5lc3QgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5jb3VudGRvd25fX3RpbWVyLW1lc3NhZ2Uge1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG1hcmdpbjogMDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4uY291bnRkb3duX190aW1lci1tZXNzYWdlLS12aXNpYmxlIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSBlYXNlLWluIDFzO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5jb3VudGRvd25fX2Jsb2NrLS1oaWRkZW4ge1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG1hcmdpbjogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSBlYXNlLW91dCAxcztcbiAgd2lkdGg6IDAgIWltcG9ydGFudDtcbn1cblxuLmNvdW50ZG93bl9fb3ZlcmxheSB7XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvdW50ZG93bi1vdmVybGF5LXJnYmEpO1xuICB9XG59XG4iLCIuaG90c3BvdHMtc2VjdGlvbiAuaW5kZXgtc2VjdGlvbiB7XG4gIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbn1cblxuLmhvdHNwb3RzLXNlY3Rpb24gLmhvdHNwb3RzLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgJi5pcy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbn1cblxuLmhvdHNwb3RzX190aXRsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogMS41cmVtO1xufVxuXG4uaG90c3BvdHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA3MCU7XG5cbiAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmIC5ncmlkX19pbWFnZS1yYXRpbyBpbWcge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcblxuICAgIEBuZXN0IFtkYXRhLWFuaW1hdGVfaW1hZ2VzPVwidHJ1ZVwiXSAmIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG5cbi5ob3RzcG90c19fYnV0dG9ucyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uaG90c3BvdF9fYnV0dG9uIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDM4JTtcbiAgdG9wOiAzOCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGNvbG9yOiAjZmZmO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgcGFkZGluZzogNnB4O1xuICB9XG5cblxuICAmOmhvdmVyIC5ob3RzcG90X19idXR0b24tY29udGVudCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB9XG59XG5cbi5ob3RzcG90X19idXR0b24tY29udGVudCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvclRleHRCb2R5KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JCb2R5KTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDFyZW0pO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICBtaW4td2lkdGg6IDVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm94LXNoYWRvdzogM3B4IDNweCAxMHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG5cbiAgJiBwLFxuICAmIHNwYW4ge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbWFyZ2luLWJvdHRvbTogMFxuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xMHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAgNXB4IDEwcHggNXB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHZhcigtLWNvbG9yQm9keSkgdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmIC5jb250ZW50X19wcmljZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cblxuLmhvdHNwb3RzX19jb250ZW50IHtcbiAgd2lkdGg6IDMwJTtcbiAgcGFkZGluZzogMjRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBAbmVzdCAucGFnZS13aWR0aCAmIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcblxuICAgIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIEBuZXN0IC5wYWdlLXdpZHRoLmlzLXJldmVyc2UgJiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG5cbiAgICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMXJlbSAyMHB4IDA7XG4gIH1cbn1cblxuLmhvdHNwb3QtY29udGVudF9fYmxvY2sge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXgtaGVpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYW5pbWF0aW9uOiBmYWRlLWluIC41cyBlYXNlIDBzIGZvcndhcmRzO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG5cbiAgLyogYW5pbWF0aW9uIGFuZCBwb3NpdGlvbjpzdGlja3kgY2F1c2VzIGlzc3VlcyBpbiB0aGVtZXMgd2hlcmUgcXVpY2tzaG9wIG1vZGFsIGlzIG5lc3RlZCAqL1xuICBAbmVzdCAubW9kYWwtb3BlbiAmLFxuICAubW9kYWwtY2xvc2luZyAmIHtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxuXG4gIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC1oZWlnaHQ6IGluaXRpYWw7XG4gIH1cblxuICAmIC5ncmlkLXByb2R1Y3RfX2ltYWdlLXdyYXAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gICYgLmdyaWRfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAmIC5ncmlkLXByb2R1Y3RfX3RhZ3Mge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgJiAuZ3JpZC1wcm9kdWN0X190YWcge1xuICAgIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gICYgLmdyaWQtaXRlbV9fbWV0YSxcbiAgJiAuZ3JpZC1wcm9kdWN0X19tZXRhIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcblxuICAgIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgJiAuZ3JpZC1pdGVtX19tZXRhLW1haW4sXG4gICAgICAmIC5ncmlkLWl0ZW1fX21ldGEtc2Vjb25kYXJ5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhICgtLXNtYWxsKSB7XG5cbiAgICAmIC5ncmlkLXByb2R1Y3Qge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICAmIC5xdWljay1hZGQtYnRuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogQ2xhc3MgaXMgdW5pcXVlIHRvIEltcHVsc2UgKi9cbiAgICAmIC5ncmlkX19pdGVtLWltYWdlLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgJiAuZ3JpZC1wcm9kdWN0X19pbWFnZS1tYXNrIHtcbiAgICAgICAgZmxleDogMCAwIDMwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5ncmlkLWl0ZW1fX2xpbmssXG4gICAgJiAuZ3JpZC1wcm9kdWN0X19saW5rIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAvKiBUT0RPOiBBZGp1c3QgZ2xvYmFsIHN0eWxpbmdzIGluIGdyaWQuY3NzIHNvIHdlIGRvbid0IGhhdmUgdG8gYWRkIGV4Y2VwdGlvbnMgbGlrZSB0aGlzICovXG4gICAgJiAuZ3JpZC1pdGVtX19saW5rIHtcbiAgICAgIEBuZXN0IFtkYXRhLWdyaWQtc3R5bGU9XCJncmV5LXJvdW5kXCJdICYge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAxMHB4O1xuICAgICAgfVxuXG4gICAgICBAbmVzdCBbZGF0YS1ncmlkLXN0eWxlPVwid2hpdGUtcm91bmRcIl0gJiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHggMCAwIDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiAuZ3JpZC1wcm9kdWN0X19pbWFnZS1tYXNrLFxuICAgICYgLmdyaWQtcHJvZHVjdF9faW1hZ2Utd3JhcCxcbiAgICAmIC5wcm9kdWN0LXNsaWRlciB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgIH1cblxuICAgICYgLmdyaWQtcHJvZHVjdF9fYWN0aW9ucyB7XG4gICAgICByaWdodDogaW5pdGlhbDtcbiAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgfVxuICB9XG5cbn1cblxuLmhvdHNwb3QtY29udGVudF9fYmxvY2sgLm1vZGFsIC5ncmlkX19pdGVtIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4iLCJpbWFnZS1jb21wYXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMyMjI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jb21wYXJpc29uX19kcmFnZ2FibGUge1xuICB3aWR0aDogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogNTAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAyO1xufVxuXG4uY29tcGFyaXNvbl9faW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG9wYWNpdHk6IDE7XG4gIGFuaW1hdGlvbjogbm9uZTtcbn1cblxuLmNvbXBhcmlzb25fX2ltYWdlLXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uY29tcGFyaXNvbl9fYnV0dG9uIHtcbiAgd2lkdGg6IDY0cHg7XG4gIGhlaWdodDogNjRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zMnB4LCAtNTAlKTtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDM7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjtcbiAgcGFkZGluZzogMDtcblxuICBAbmVzdCAuY29tcGFyaXNvbi0tc3R5bGUtbWluaW1hbCAmIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgd2lkdGg6IDExMnB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01NnB4LCAtNTAlKTtcblxuICAgICYgc3ZnIHtcbiAgICAgIG1hcmdpbjogMCAyMHB4O1xuXG4gICAgICBAc3VwcG9ydHMgKC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZSkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgJi5pY29uLWNoZXZyb24tbGVmdCB7XG4gICAgICAgICAgbGVmdDogMnB4O1xuICAgICAgICAgIHdpZHRoOiA5cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmljb24tY2hldnJvbi1yaWdodCB7XG4gICAgICAgICAgcmlnaHQ6IDJweDtcbiAgICAgICAgICB3aWR0aDogOXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQG5lc3QgLmNvbXBhcmlzb24tLXN0eWxlLWNsYXNzaWMgJiB7XG4gICAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgICB3aWR0aDogNDhweDtcbiAgICAgIGhlaWdodDogNDhweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0yNHB4LCAtNTAlKTtcbiAgICB9XG4gIH1cblxuXG4gICYgc3ZnIHtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDJweDtcbiAgICBoZWlnaHQ6IDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8qIEFnZSB2ZXJpZmljYXRpb24gcG9wdXAgKi9cbi5hZ2UtdmVyaWZpY2F0aW9uLXBvcHVwIHtcbiAgJiAucnRlIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gICYgLmFnZS12ZXJpZmljYXRpb24tcG9wdXBfX2J0bnMtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICB9XG59XG5cbi5hZ2UtdmVyaWZpY2F0aW9uLXBvcHVwX19iYWNrZ3JvdW5kLWltYWdlLXdyYXBwZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5hZ2UtdmVyaWZpY2F0aW9uLXBvcHVwX19iYWNrZ3JvdW5kLWltYWdlIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5hZ2UtdmVyaWZpY2F0aW9uLXBvcHVwX19jb250ZW50LS1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEuNXMgZWFzZS1pbjtcbn1cblxuLmFnZS12ZXJpZmljYXRpb24tcG9wdXBfX2NvbnRlbnQtLWluYWN0aXZlLFxuLmFnZS12ZXJpZmljYXRpb24tcG9wdXBfX2NvbnRlbnQtLWluYWN0aXZlICosXG4uYWdlLXZlcmlmaWNhdGlvbi1wb3B1cF9fY29udGVudC0taW5hY3RpdmUgLmJ0biB7XG4gIG9wYWNpdHk6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGZvbnQtc2l6ZTogMDtcbn1cblxuLmFnZS12ZXJpZmljYXRpb24tcG9wdXBfX2RlY2xpbmUtY29udGVudC0taW5hY3RpdmUsXG4uYWdlLXZlcmlmaWNhdGlvbi1wb3B1cF9fZGVjbGluZS1jb250ZW50LS1pbmFjdGl2ZSAqLFxuLmFnZS12ZXJpZmljYXRpb24tcG9wdXBfX2RlY2xpbmUtY29udGVudC0taW5hY3RpdmUgLmJ0biB7XG4gIG9wYWNpdHk6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGZvbnQtc2l6ZTogMDtcbn1cblxuLmFnZS12ZXJpZmljYXRpb24tcG9wdXBfX2RlY2xpbmUtY29udGVudC0tYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxLjVzIGVhc2UtaW47XG59XG5cbi5hZ2UtdmVyaWZpY2F0aW9uLXBvcHVwX19jb250ZW50LXdyYXBwZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1heC13aWR0aDogNTIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuIiwicHJvZHVjdC1yZWNvbW1lbmRhdGlvbnNbZGF0YS1pbnRlbnQ9XCJjb21wbGVtZW50YXJ5XCJdIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJiAucHJvZHVjdC1yZWNvbW1lbmRhdGlvbnNfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNzIlO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gICYgLmdyaWQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgJiAuZ3JpZF9faXRlbSxcbiAgJiAuZ3JpZC1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuXG4gICAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJiAuZ3JpZC1wcm9kdWN0X19pbWFnZS13cmFwIHtcbiAgICBtaW4td2lkdGg6IDkwcHg7XG4gIH1cblxuICAmIC5ncmlkX19pbWFnZS1yYXRpbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmIGltZy5pbWFnZS1zdHlsZS0tY2lyY2xlIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgd2lkdGg6IDg1JTtcbiAgICBoZWlnaHQ6IDg1JTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuXG4gICYgLmdyaWRfX2l0ZW0taW1hZ2Utd3JhcHBlciAuZ3JpZC1wcm9kdWN0X19saW5rIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYgLmdyaWRfX2l0ZW0taW1hZ2Utd3JhcHBlcixcbiAgJiAuZ3JpZC1wcm9kdWN0X19saW5rLFxuICAmIC5ncmlkLWl0ZW1fX2xpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICYgLmdyaWQtcHJvZHVjdF9faW1hZ2UtbWFzayxcbiAgICAmIC5ncmlkLXByb2R1Y3RfX2ltYWdlLXdyYXAsXG4gICAgJiAuaW1hZ2Utd3JhcCB7XG4gICAgICB3aWR0aDogMTEycHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJiAuZ3JpZC1wcm9kdWN0X19tZXRhIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0OHB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDExMnB4KTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgJiAuZ3JpZC1wcm9kdWN0X19hY3Rpb25zIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICAmIC5ncmlkLXByb2R1Y3RfX3RhZyB7XG4gICAgdG9wOiBpbml0aWFsO1xuICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9XG5cbiAgJiAuZmxpY2tpdHktdmlld3BvcnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJiAuZmxpY2tpdHktcHJldmlvdXMge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdG9wOiAtMzJweDtcbiAgICByaWdodDogNTBweDtcblxuICAgIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgICAgcmlnaHQ6IDQ1cHg7XG4gICAgfVxuICB9XG5cbiAgJiAuZmxpY2tpdHktbmV4dCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAtMzJweDtcbiAgfVxuXG4gICYgLmZsaWNraXR5LXBhZ2UtZG90cyB7XG4gICAgdG9wOiAtNDFweDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3R0b206IGF1dG87XG4gIH1cblxuICAmIC5mbGlja2l0eS1idXR0b246ZGlzYWJsZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDAuMzU7XG4gIH1cbn1cblxuLnByb2R1Y3QtcmVjb21tZW5kYXRpb25zX19zbGlkZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgJiAuZ3JpZF9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5cbi5wcm9kdWN0LXJlY29tbWVuZGF0aW9ucy0tdGl0bGUtbWlzc2luZyB7XG4gIG1hcmdpbi10b3A6IDgwcHg7XG59XG4iLCIvKlxuICBTaGFyZWQgc3R5bGluZyBmb3IgYWxsIGltYWdlcyBpbiBvdXIgdGhlbWVzXG5cbiAgSXQncyBhIHdvcmsgaW4gcHJvZ3Jlc3MgYW5kIHdlJ3JlIHRyeWluZyB0byBtb3ZlIGF3YXkgZnJvbSBoYXZpbmcgdG8gYWRkIHNwZWNpZmljIHN0eWxpbmcgZm9yIGltYWdlcyBpbiB0aGVtZXNcblxuICBBbGwgaW1hZ2VzIG5vdyBoYXZlIGEgYmFzZSBmYWRlLWluIGFuaW1hdGlvbiB3aGVuIHRoZXkncmUgbG9hZGVkXG5cbiAgTW90aW9uICYgU3RyZWFtbGluZSBoYXZlIHNldHRpbmdzIHRvIGVuYWJsZS9kaXNhYmxlIGFuaW1hdGlvbnMgZm9yIGltYWdlc1xuKi9cblxuaW1hZ2UtZWxlbWVudCB7XG4gIC5zdmctbWFzayAmLFxuICAuaW1hZ2Utd3JhcDpub3QoLmltYWdlLXdyYXBfX3RodW1ibmFpbCkgJixcbiAgLmdyaWRfX2ltYWdlLXJhdGlvICYsXG4gIC5jb3VudGRvd25fX2JhY2tncm91bmQtaW1hZ2Utd3JhcHBlciAmLFxuICAuc29jaWFsLXNlY3Rpb25fX2ltYWdlLXdyYXBwZXIgJixcbiAgLmZhZGluZy1pbWFnZXNfX2l0ZW0td3JhcHBlciAmIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbmltZyB7XG4gIGJvcmRlcjogMCBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5pbWFnZS1lbGVtZW50IHtcbiAgb3BhY2l0eTogMDtcblxuICAmW2xvYWRpbmc9XCJlYWdlclwiXSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIEBuZXN0IC50ZW1wbGF0ZS1naWZ0Y2FyZCAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgQG5lc3QgW2RhdGEtYW5pbWF0ZV9pbWFnZXM9XCJmYWxzZVwiXSAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgQG5lc3QgW2RhdGEtbWVkaWEtZ2FsbGVyeS1sYXlvdXQ9XCJzdGFja2VkXCJdICYge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICBAbmVzdCBbZGF0YS1hb3M9XCJpbWFnZS1mYWRlLWluXCJdLmFvcy1hbmltYXRlICYge1xuICAgIGFuaW1hdGlvbjogZmFkZS1pbiAwLjVzIGN1YmljLWJlemllcigwLjI5LCAwLjY1LCAwLjU4LCAxKSBmb3J3YXJkcztcblxuICAgICYubG9hZGVyLWxvZ29fX2ltZyB7XG4gICAgICBhbmltYXRpb246IHB1bHNlLWZhZGUgMC40cyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBzaG91bGQgZW5zdXJlIHRoYXQgaW1hZ2VzIGFyZW4ndCBhbmltYXRlZCBpbiBNb3Rpb24gJiBTdHJlYW1saW5lXG4gICAgLy8gV2hlbiB0aGUgdXNlciBoYXMgZGlzYWJsZWQgYW5pbWF0aW9uc1xuICAgIEBuZXN0IFtkYXRhLWFuaW1hdGVfaW1hZ2VzPVwiZmFsc2VcIl0gJiB7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gR2VtJ3MgbmV3IHN0YWNrZWQgaW1hZ2VzIHdpbGwgaGF2ZSB0aGUgZmFkZS1pbiBhbmltYXRpb24gZGlzYWJsZWRcbiAgICBAbmVzdCBbZGF0YS1tZWRpYS1nYWxsZXJ5LWxheW91dD1cInN0YWNrZWRcIl0gJiB7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGFuaW1hdGlvbiBmcm9tIGNvbG9yIHNjaGVtZSBpbWFnZXNcbiAgICAmLnNjaGVtZS1pbWFnZSB7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJi5oZXJvX19pbWFnZSB7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyBzaG91bGQgZW5zdXJlIHRoYXQgaW1hZ2VzIHNob3cgdXAgaWYgSlMgaXMgZGlzYWJsZWRcbiAgQG5lc3QgLm5vLWpzICYge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmltYWdlLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5pbWFnZS13cmFwIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4ucnRlIHBbc3R5bGUqPVwidGV4dC1hbGlnbjogY2VudGVyXCJdLFxuLnJ0ZSBkaXZbc3R5bGUqPVwidGV4dC1hbGlnbjogY2VudGVyXCJdIHtcbiAgJiBpbWcge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuIiwiLnN2Zy1tYXNrIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDEwMCUgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG5cbiAgJiAuZ3JpZF9faW1hZ2UtcmF0aW8ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgfVxuXG4gICYgaW1nLFxuICAmIHN2Zzpub3QoLmljb24pLFxuICAmIHZpZGVvIHtcbiAgICBtYXNrLXNpemU6IDEwMCUgMTAwJTtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBvYmplY3QtZml0OiBjb3ZlciAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zdmctbWFzay0tbGFuZHNjYXBlIHtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JSAhaW1wb3J0YW50O1xufVxuXG4uc3ZnLW1hc2stLXBvcnRyYWl0IHtcbiAgcGFkZGluZy1ib3R0b206IDE1MCUgIWltcG9ydGFudDtcbn1cblxuLnN2Zy1tYXNrLS1zcXVhcmUge1xuICBwYWRkaW5nLWJvdHRvbTogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uc3ZnLW1hc2stLXJvdW5kZWQtdG9wIGltZyxcbi5zdmctbWFzay0tcm91bmRlZC10b3Agc3ZnOm5vdCguaWNvbiksXG4uc3ZnLW1hc2stLXJvdW5kZWQtdG9wIHZpZGVvIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNTAlO1xufVxuXG4uc3ZnLW1hc2stLXJvdW5kZWQgaW1nLFxuLnN2Zy1tYXNrLS1yb3VuZGVkIHN2Zzpub3QoLmljb24pLFxuLnN2Zy1tYXNrLS1yb3VuZGVkIHZpZGVvIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4uc3ZnLW1hc2stLXN0YXIgaW1nLFxuLnN2Zy1tYXNrLS1zdGFyIHN2Zzpub3QoLmljb24pLFxuLnN2Zy1tYXNrLS1zdGFyIHZpZGVvIHtcbiAgbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBuTVRJNE5DY2dhR1ZwWjJoMFBTY3hNalV4SnlCMmFXVjNRbTk0UFNjd0lEQWdNVEk0TkNBeE1qVXhKeUJtYVd4c1BTZHViMjVsSnlCNGJXeHVjejBuYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNuUGp4d1lYUm9JR1E5SjAwMk5ESWdNRXc0TVRrdU1EQTNJREk1TUM0ME5ERk1NVEUxTmk0ME5TQXlORGN1TnpRMFRERXdNemt1TnpNZ05UWTNMakl5VERFeU9ETXVOU0E0TURRdU5ERTVURGsyTUM0NU5UWWdPVEV5TGpNMU9VdzVNamN1TkRrMUlERXlOVEF1T0RSTU5qUXlJREV3TmpVdU9UWk1NelUyTGpVd05DQXhNalV3TGpnMFRETXlNeTR3TkRRZ09URXlMak0xT1V3d0xqUTVOelF6TnlBNE1EUXVOREU1VERJME5DNHlOamdnTlRZM0xqSXlUREV5Tnk0MU5UVWdNalEzTGpjME5FdzBOalF1T1RreklESTVNQzQwTkRGTU5qUXlJREJhSnlCbWFXeHNQU2NqUVRRNU5VWkNKeTgrUEM5emRtYytDZz09XCIpO1xufVxuXG4uc3ZnLW1hc2stLXJvdW5kZWQtd2F2ZSBpbWcsXG4uc3ZnLW1hc2stLXJvdW5kZWQtd2F2ZSBzdmc6bm90KC5pY29uKSxcbi5zdmctbWFzay0tcm91bmRlZC13YXZlIHZpZGVvIHtcbiAgbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBuTVRBMk5pY2dhR1ZwWjJoMFBTY3hNRFkySnlCMmFXVjNRbTk0UFNjd0lEQWdNVEEyTmlBeE1EWTJKeUJtYVd4c1BTZHViMjVsSnlCNGJXeHVjejBuYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNuUGp4d1lYUm9JR1E5SjAwME9USXVOVEE1SURNeExqZ3lPVEpETlRBekxqQTFOQ0F0TVRBdU16RTBPU0ExTmpJdU9UUTJJQzB4TUM0ek1UUTVJRFUzTXk0ME9URWdNekV1T0RJNU1sWXpNUzQ0TWpreVF6VTRNaTQwTWpRZ05qY3VOVE14SURZeU9TNDRNek1nTnpVdU1ETTVPQ0EyTkRrdU16WXhJRFF6TGpnME5UaFdORE11T0RRMU9FTTJOekl1TkRFeklEY3VNREl5T0RrZ056STVMak0zTkNBeU5TNDFNekEzSURjeU5pNHpPQ0EyT0M0NE56QTNWalk0TGpnM01EZEROekl6TGpnME15QXhNRFV1TlRnMklEYzJOaTQyTVRFZ01USTNMak0zTnlBM09UUXVPREl6SURFd015NDNORFJXTVRBekxqYzBORU00TWpndU1USTFJRGMxTGpnME55QTROell1TlRnZ01URXhMakExTVNBNE5qQXVNek01SURFMU1TNHpORFJXTVRVeExqTTBORU00TkRZdU5UZ3hJREU0TlM0ME56Z2dPRGd3TGpVeU1pQXlNVGt1TkRFNUlEa3hOQzQyTlRZZ01qQTFMalkyTVZZeU1EVXVOall4UXprMU5DNDVORGtnTVRnNUxqUXlJRGs1TUM0eE5UTWdNak0zTGpnM05TQTVOakl1TWpVMklESTNNUzR4TnpkV01qY3hMakUzTjBNNU16Z3VOakl6SURJNU9TNHpPRGtnT1RZd0xqUXhOQ0F6TkRJdU1UVTNJRGs1Tnk0eE1qa2dNek01TGpZeVZqTXpPUzQyTWtNeE1EUXdMalEzSURNek5pNDJNallnTVRBMU9DNDVPQ0F6T1RNdU5UZzNJREV3TWpJdU1UVWdOREUyTGpZek9WWTBNVFl1TmpNNVF6azVNQzQ1TmlBME16WXVNVFkzSURrNU9DNDBOamtnTkRnekxqVTNOaUF4TURNMExqRTNJRFE1TWk0MU1EbFdORGt5TGpVd09VTXhNRGMyTGpNeElEVXdNeTR3TlRRZ01UQTNOaTR6TVNBMU5qSXVPVFEySURFd016UXVNVGNnTlRjekxqUTVNVlkxTnpNdU5Ea3hRems1T0M0ME5qa2dOVGd5TGpReU5DQTVPVEF1T1RZZ05qSTVMamd6TXlBeE1ESXlMakUxSURZME9TNHpOakZXTmpRNUxqTTJNVU14TURVNExqazRJRFkzTWk0ME1UTWdNVEEwTUM0ME55QTNNamt1TXpjMElEazVOeTR4TWprZ056STJMak00VmpjeU5pNHpPRU01TmpBdU5ERTBJRGN5TXk0NE5ETWdPVE00TGpZeU15QTNOall1TmpFeElEazJNaTR5TlRZZ056azBMamd5TTFZM09UUXVPREl6UXprNU1DNHhOVE1nT0RJNExqRXlOU0E1TlRRdU9UUTVJRGczTmk0MU9DQTVNVFF1TmpVMklEZzJNQzR6TXpsV09EWXdMak16T1VNNE9EQXVOVEl5SURnME5pNDFPREVnT0RRMkxqVTRNU0E0T0RBdU5USXlJRGcyTUM0ek16a2dPVEUwTGpZMU5sWTVNVFF1TmpVMlF6ZzNOaTQxT0NBNU5UUXVPVFE1SURneU9DNHhNalVnT1Rrd0xqRTFNeUEzT1RRdU9ESXpJRGsyTWk0eU5UWldPVFl5TGpJMU5rTTNOall1TmpFeElEa3pPQzQyTWpNZ056SXpMamcwTXlBNU5qQXVOREUwSURjeU5pNHpPQ0E1T1RjdU1USTVWams1Tnk0eE1qbEROekk1TGpNM05DQXhNRFF3TGpRM0lEWTNNaTQwTVRNZ01UQTFPQzQ1T0NBMk5Ea3VNell4SURFd01qSXVNVFZXTVRBeU1pNHhOVU0yTWprdU9ETXpJRGs1TUM0NU5pQTFPREl1TkRJMElEazVPQzQwTmprZ05UY3pMalE1TVNBeE1ETTBMakUzVmpFd016UXVNVGRETlRZeUxqazBOaUF4TURjMkxqTXhJRFV3TXk0d05UUWdNVEEzTmk0ek1TQTBPVEl1TlRBNUlERXdNelF1TVRkV01UQXpOQzR4TjBNME9ETXVOVGMySURrNU9DNDBOamtnTkRNMkxqRTJOeUE1T1RBdU9UWWdOREUyTGpZek9TQXhNREl5TGpFMVZqRXdNakl1TVRWRE16a3pMalU0TnlBeE1EVTRMams0SURNek5pNDJNallnTVRBME1DNDBOeUF6TXprdU5qSWdPVGszTGpFeU9WWTVPVGN1TVRJNVF6TTBNaTR4TlRjZ09UWXdMalF4TkNBeU9Ua3VNemc1SURrek9DNDJNak1nTWpjeExqRTNOeUE1TmpJdU1qVTJWamsyTWk0eU5UWkRNak0zTGpnM05TQTVPVEF1TVRVeklERTRPUzQwTWlBNU5UUXVPVFE1SURJd05TNDJOakVnT1RFMExqWTFObFk1TVRRdU5qVTJRekl4T1M0ME1Ua2dPRGd3TGpVeU1pQXhPRFV1TkRjNElEZzBOaTQxT0RFZ01UVXhMak0wTkNBNE5qQXVNek01VmpnMk1DNHpNemxETVRFeExqQTFNU0E0TnpZdU5UZ2dOelV1T0RRM0lEZ3lPQzR4TWpVZ01UQXpMamMwTkNBM09UUXVPREl6VmpjNU5DNDRNak5ETVRJM0xqTTNOeUEzTmpZdU5qRXhJREV3TlM0MU9EWWdOekl6TGpnME15QTJPQzQ0TnpBM0lEY3lOaTR6T0ZZM01qWXVNemhETWpVdU5UTXdOeUEzTWprdU16YzBJRGN1TURJeU9EY2dOamN5TGpReE15QTBNeTQ0TkRVNElEWTBPUzR6TmpGV05qUTVMak0yTVVNM05TNHdNems0SURZeU9TNDRNek1nTmpjdU5UTXhJRFU0TWk0ME1qUWdNekV1T0RJNU1pQTFOek11TkRreFZqVTNNeTQwT1RGRExURXdMak14TkRrZ05UWXlMamswTmlBdE1UQXVNekUwT1NBMU1ETXVNRFUwSURNeExqZ3lPVElnTkRreUxqVXdPVlkwT1RJdU5UQTVRelkzTGpVek1TQTBPRE11TlRjMklEYzFMakF6T1RnZ05ETTJMakUyTnlBME15NDRORFU0SURReE5pNDJNemxXTkRFMkxqWXpPVU0zTGpBeU1qZzJJRE01TXk0MU9EY2dNalV1TlRNd055QXpNell1TmpJMklEWTRMamczTURjZ016TTVMall5VmpNek9TNDJNa014TURVdU5UZzJJRE0wTWk0eE5UY2dNVEkzTGpNM055QXlPVGt1TXpnNUlERXdNeTQzTkRRZ01qY3hMakUzTjFZeU56RXVNVGMzUXpjMUxqZzBOeUF5TXpjdU9EYzFJREV4TVM0d05URWdNVGc1TGpReUlERTFNUzR6TkRRZ01qQTFMalkyTVZZeU1EVXVOall4UXpFNE5TNDBOemdnTWpFNUxqUXhPU0F5TVRrdU5ERTVJREU0TlM0ME56Z2dNakExTGpZMk1TQXhOVEV1TXpRMFZqRTFNUzR6TkRSRE1UZzVMalF5SURFeE1TNHdOVEVnTWpNM0xqZzNOU0EzTlM0NE5EY2dNamN4TGpFM055QXhNRE11TnpRMFZqRXdNeTQzTkRSRE1qazVMak00T1NBeE1qY3VNemMzSURNME1pNHhOVGNnTVRBMUxqVTROaUF6TXprdU5qSWdOamd1T0Rjd04xWTJPQzQ0TnpBM1F6TXpOaTQyTWpZZ01qVXVOVE13TnlBek9UTXVOVGczSURjdU1ESXlPRGNnTkRFMkxqWXpPU0EwTXk0NE5EVTRWalF6TGpnME5UaERORE0yTGpFMk55QTNOUzR3TXprNElEUTRNeTQxTnpZZ05qY3VOVE14SURRNU1pNDFNRGtnTXpFdU9ESTVNbFl6TVM0NE1qa3lXaWNnWm1sc2JEMG5JMEUwT1RWR1FpY3ZQand2YzNablBnbz1cIik7XG59XG5cbi5zdmctbWFzay0tc3BsYXQtMSBpbWcsXG4uc3ZnLW1hc2stLXNwbGF0LTEgc3ZnOm5vdCguaWNvbiksXG4uc3ZnLW1hc2stLXNwbGF0LTEgdmlkZW8ge1xuICBtYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMG5NVEEwT0NjZ2FHVnBaMmgwUFNjeE1EVXlKeUIyYVdWM1FtOTRQU2N3SURBZ01UQTBPQ0F4TURVeUp5Qm1hV3hzUFNkdWIyNWxKeUI0Yld4dWN6MG5hSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY25Qanh3WVhSb0lHWnBiR3d0Y25Wc1pUMG5aWFpsYm05a1pDY2dZMnhwY0MxeWRXeGxQU2RsZG1WdWIyUmtKeUJrUFNkTk5UY3dMamt3TlNBeE5USXVNelE0UXpZNE9DNDBOREVnTVRRd0xqTXpJRGMzTVM0eE9EY2dMVEkzTGpreE5EZ2dPRGcwTGprME1TQTBMakF5TlRjMVF6azROeTQ1T1RjZ016SXVPVFl5TXlBeE1EQTJMakl6SURFM09DNHhPRGdnTVRBek1pNDJJREk0TVM0NU9EVkRNVEExTlM0M05pQXpOek11TVRVMElERXdOVEl1TWpVZ05EWTRMakV6TkNBeE1ESTFMamMySURVMU9DNHpPRGhETVRBd01TNDNJRFkwTUM0ek16WWdPVFF3TGpJNU9DQTNNREF1TlRNNUlEZzRPUzQxTlRJZ056WTVMakl4T1VNNE16UXVNREl5SURnME5DNHpOelVnTnprMUxqTWdPVE0wTGpRMklEY3hNeTQ1TlNBNU9EQXVNemszUXpZeU1pNHpNVGdnTVRBek1pNHhOQ0ExTVRBdU1UQTRJREV3TnpNdU5TQTBNVEF1TkRNMklERXdNemt1TnpkRE16RXhMakU0TmlBeE1EQTJMakU0SURJM05TNDVNamNnT0RnM0xqUXdOU0F5TURZdU5qYzNJRGd3T0M0M016ZERNVE0yTGpjd015QTNNamt1TWpRNElERTBMalkxTXpZZ05qYzVMamszT0NBeExqSXlOREUwSURVM05DNDVNRGRETFRFeUxqSXhORFlnTkRZNUxqYzJNeUE0T0M0eU9EazJJRE00T0M0ME16TWdNVFF4TGpJeU1TQXlPVFl1TmpFeVF6RTRPQzQyTVRZZ01qRTBMak01TkNBeU1EVXVOalF6SURrMExqUTRNakVnTWprMUxqVTNOU0EyTkM0eU9EaERNemc0TGpnd09TQXpNaTQ1T0RVeElEUTNNeTR3TnpFZ01UWXlMak0xTVNBMU56QXVPVEExSURFMU1pNHpORGhhSnlCbWFXeHNQU2NqUVRRNU5VWkNKeTgrUEM5emRtYytDZz09XCIpO1xufVxuXG4uc3ZnLW1hc2stLXNwbGF0LTIgaW1nLFxuLnN2Zy1tYXNrLS1zcGxhdC0yIHN2Zzpub3QoLmljb24pLFxuLnN2Zy1tYXNrLS1zcGxhdC0yIHZpZGVvIHtcbiAgbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCbWFXeHNQU2R1YjI1bEp5Qm9aV2xuYUhROUp6ZzVOaWNnZG1sbGQwSnZlRDBuTUNBd0lEazNOeUE0T1RZbklIZHBaSFJvUFNjNU56Y25JSGh0Ykc1elBTZG9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5YytQSEJoZEdnZ1kyeHBjQzF5ZFd4bFBTZGxkbVZ1YjJSa0p5QmtQU2R0T1RjMUxqWTROQ0F6T0RFdU9ETXlZekUzTGpJMk15QTVOUzR3TXpNdE1UUXdMakl4TkNBeE1qa3VNak14TFRFNE55NHhOemNnTWpFekxqWTJOaTAxTWk0eE16Z2dPVE11TnpNM0lEZ3VOVEUxSURJNE9DNHdPVFV0T1RndU1qVXpJREk1T1M0MU1ETXRNVEkzTGpFM05TQXhNeTQxT0RjdE1UTTRMakEwT1MweE1UVXVNell5TFRJMk15MHhOREl1TmpNdE1UQTVMalU0TlMweU15NDVNVFF0TWpJMExqVXpOU0E1TVM0NE9UUXRNekE0TGpjeE5TQXhOeTQ0TmpRdE9EUXVOVFF6TXkwM05DNHpORGdnTVRFNExqWTRPQzB5TURjdU16Y3pJRGt6TGpneU9TMHpNVGN1TURrMExUSXlMakUwT1MwNU55NDNOaTB5TURRdU1UazJOekl0TVRBMExqZzNPQzB5TVRJdU1EY3hOREF4TFRJd05DNDRMVFl1T0RZMU5UYzVMVGczTGpFeE9DQXhNRGN1TURJeE5EQXhMVEV6Tmk0eE56Y2dNVGd4TGpVNU5qUXdNUzB4T0RFdU9UQXhNeUEyTmk0eE5qTXROREF1TlRZMk9DQXhOREl1TlRNeExUYzJMamN3TkRrZ01qRTVMakE0TWkwMk15NDNOams1TmlBM01TNHpPRE1nTVRJdU1EWXhOellnTVRRd0xqUTROaUEyTWk0M056TTFOaUF4TmpndU9EVXlJREV5T1M0ek1qQXlOaUE1TGpreU9TQXlNeTR5T1RNZ01qVXVPRE01SURVMExqVXlPQ0EyT1M0NU1pQTNPQzQxTVRjZ09URXVPRFU1SURRNUxqazVJRE13TkM0NE1UWWdNQ0F6TXpVdU9UTTNJREUzTVM0ek1qVjZKeUJtYVd4c1BTY2pZVFE1TldaaUp5Qm1hV3hzTFhKMWJHVTlKMlYyWlc1dlpHUW5MejQ4TDNOMlp6ND1cIik7XG59XG5cbi5zdmctbWFzay0tc3BsYXQtMyBpbWcsXG4uc3ZnLW1hc2stLXNwbGF0LTMgc3ZnOm5vdCguaWNvbiksXG4uc3ZnLW1hc2stLXNwbGF0LTMgdmlkZW8ge1xuICBtYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMG5NVEEzTWljZ2FHVnBaMmgwUFNjeE1EVXhKeUIyYVdWM1FtOTRQU2N3SURBZ01UQTNNaUF4TURVeEp5Qm1hV3hzUFNkdWIyNWxKeUI0Yld4dWN6MG5hSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY25Qanh3WVhSb0lHWnBiR3d0Y25Wc1pUMG5aWFpsYm05a1pDY2dZMnhwY0MxeWRXeGxQU2RsZG1WdWIyUmtKeUJrUFNkTk5qRTRMamt4TXlBeU1UVXVNemd6UXpjME5TNDNOelVnTWpJMUxqWTFOeUE0TkRFdU56VWdNVGd1TURBME9TQTVOakF1TmpjNElEWXpMak15TWpSRE1UQTJPUzQ0TlNBeE1EUXVPVEkwSURFd056QXVORE1nTWpjeExqSTJNaUF4TURjeExqazVJRE00T0M0d01qaERNVEEzTXk0eU5TQTBPREl1TWpnNElEazNNaTR3TWpZZ05UVXdMamcxTlNBNU5qZ3VORFE1SURZME5TNHdOVFZET1RZMExqRTBOeUEzTlRndU16TXhJREV4TURNdU5qa2dPRFk0TGpJNU9DQXhNRFE1TGprMklEazJPQzR4TWpaRE1UQXdNQzR5TkNBeE1EWXdMalVnT0RVMkxqUTJPQ0F4TURNNExqZ3lJRGMxTVM0NE56WWdNVEEwTnk0ME1VTTJOalF1TXpFMklERXdOVFF1TmlBMU56TXVOalkwSURFd05UUXVORFFnTkRrMUxqZzNJREV3TVRNdU5qUkROREkwTGpjek1TQTVOell1TXpNeElEUXdPUzQ0TXpRZ09EYzRMalk0T1NBek5ETXVOVGd5SURnek15NHlOekpETWpReExqTTBPU0EzTmpNdU1Ua2dOall1TXprNU55QTNPVE11TkRFMklERXlMakV4T1RRZ05qZ3lMakF5TTBNdE16Y3VOVGN6T0NBMU9EQXVNRFEwSURjNUxqSTNOVFlnTkRjeUxqVXpPQ0F4TVRVdU5EQXlJRE0yTlM0d01EaERNVFUyTGpZM01pQXlOREl1TVRZMElERXhOUzR6TWlBME1TNDROVFl6SURJek9TNDFPVGdnTkM0NU1qVTNNME16T0RFdU1EZ3hJQzB6Tnk0eE1UYzJJRFEzTVM0M09URWdNakF6TGpRMk9DQTJNVGd1T1RFeklESXhOUzR6T0ROYUp5Qm1hV3hzUFNjalFUUTVOVVpDSnk4K1BDOXpkbWMrQ2c9PVwiKTtcbn1cblxuLnN2Zy1tYXNrLS1zcGxhdC00IGltZyxcbi5zdmctbWFzay0tc3BsYXQtNCBzdmc6bm90KC5pY29uKSxcbi5zdmctbWFzay0tc3BsYXQtNCB2aWRlbyB7XG4gIG1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwbk5URTRKeUJvWldsbmFIUTlKelV3TkNjZ2RtbGxkMEp2ZUQwbk1DQXdJRFV4T0NBMU1EUW5JR1pwYkd3OUoyNXZibVVuSUhodGJHNXpQU2RvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeWMrUEhCaGRHZ2dabWxzYkMxeWRXeGxQU2RsZG1WdWIyUmtKeUJqYkdsd0xYSjFiR1U5SjJWMlpXNXZaR1FuSUdROUowMHpNRE11TnpreklEZzBMalkzTTBNek1Ua3VPVFF5SURFd09DNDFNakVnTXpNMUxqVXpJREV5T0M0eU5UTWdNell3TGpJNE9TQXhNek11TXprM1F6UXdNeTQyTkRNZ01UUXlMalF3TkNBME5UUXVOREl4SURrM0xqY3pNaUEwT1RBdU5EYzVJREV5TXk0ME5UZEROVEl3TGpNeE1TQXhORFF1TnpNNUlEVXlNeTQ0SURJeE1DNDJORFlnTlRFd0xqUTNPU0F5TXpVdU9UazVRelE1TkM0NU56a2dNalkxTGpRNU9TQTBOVGd1TWpjNElESTRNQzR3TkNBME5ESXVPVGM1SURNd09TNDVPVGxETkRJMExqWXlPU0F6TkRVdU9UTXhJRFExTXk0M05DQXpPRFF1T1RZM0lEUXhNQzQwTnprZ05ERXpMalE1T1VNek56Y3VOVGM0SURRek5TNHhPVGdnTXpReExqZ3hOaUF6T1RjdU9EY3lJRE13TXk0M09UTWdOREE0TGpFNU9FTXlORE11T0RnMklEUXlOQzQwTmpZZ01qQTVMaklnTlRBMExqVTBNU0F4TkRjdU1UUTRJRFV3TWk0NU9UbERPRGt1TXpReE5DQTFNREV1TlRZeklETXhMalV4TURNZ05EVTBMamd6TmlBeE1DNDBOemt6SURRd01DNDVNRGhETFRFd0xqYzBPREVnTXpRMkxqUTNOeUF5TGpRek5UTTVJREkzTlM0d05UWWdOREV1TWpFMUlESXpNUzR6TmpaRE5qa3VOU0F4T1RrdU5TQXhNRFVnTVRnNUlERXlNaTQwT0NBeE16bERNVE14TGprek5TQXhNVEV1T1RVeklERXhPUzQwT0NBek5pQXhOelF1TXpjM0lEWXVPVFE1T1RoRE1qRTVMall4TnlBdE1UWXVPVGc1T1NBeU5qWXVORFF5SURJMExqQXlNakVnTXpBekxqYzVNeUE0TkM0Mk56TmFKeUJtYVd4c1BTY2pRVFE1TlVaQ0p5OCtQQzl6ZG1jK0NnPT1cIik7XG59XG4iLCIuZmVhdHVyZS1yb3dfX2l0ZW0tLW92ZXJsYXAtaW1hZ2VzIHtcbiAgJiAuZmVhdHVyZS1yb3dfX2ZpcnN0LWltYWdlIHtcbiAgICB3aWR0aDogNTUlO1xuICB9XG5cbiAgJiAuZmVhdHVyZS1yb3dfX3NlY29uZC1pbWFnZSB7XG4gICAgd2lkdGg6IDYwJTtcbiAgfVxufVxuXG4uZmVhdHVyZS1yb3dfX2l0ZW0tLXBsYWNlaG9sZGVyLWltYWdlcyB7XG4gICYgLnBsYWNlaG9sZGVyLWltYWdlLXdyYXAge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLmZlYXR1cmUtcm93LXdyYXBwZXIgLmZlYXR1cmUtcm93X19pbWFnZXMge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwO1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tZG93bikge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICB9XG59XG5cbi5mZWF0dXJlLXJvdy13cmFwcGVyIC5mZWF0dXJlLXJvd19fdGV4dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDA7XG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIG1pbi13aWR0aDogNDMlO1xuICAgIGZsZXg6IDAgMSA0MyU7XG4gIH1cbn1cblxuLmZlYXR1cmUtcm93LS0zMyB7XG4gICYgLmZlYXR1cmUtcm93X19pbWFnZXMge1xuICAgIG1heC13aWR0aDogNTAlO1xuXG4gICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgZmxleDogMCAxIDMzLjMzMyU7XG4gICAgfVxuICB9XG59XG5cbi5mZWF0dXJlLXJvdy0tNTAge1xuICAmIC5mZWF0dXJlLXJvd19faW1hZ2VzIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG5cbiAgICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBmbGV4OiAwIDEgNTAlO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmZlYXR1cmUtcm93LS02NiB7XG4gICYgLmZlYXR1cmUtcm93X19pbWFnZXMge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcblxuICAgIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGZsZXg6IDAgMSA2Ni42NjYlO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuIiwiLnNjcm9sbGluZy10ZXh0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlyZWN0aW9uOiBsdHI7XG59XG5cbi5zY3JvbGxpbmctdGV4dF9faW5uZXIge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWFyZ2luOiAwLjE1ZW0gMDtcbiAgYW5pbWF0aW9uOiBzY3JvbGxpbmctdGV4dCB2YXIoLS1tb3ZlLXNwZWVkKSBsaW5lYXIgaW5maW5pdGU7XG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nO1xufVxuXG4uc2Nyb2xsaW5nLXRleHRfX2lubmVyLS1yaWdodCB7XG4gIGFuaW1hdGlvbjogc2Nyb2xsaW5nLXRleHQtcmlnaHQgdmFyKC0tbW92ZS1zcGVlZCkgbGluZWFyIGluZmluaXRlO1xufVxuXG4uc2Nyb2xsaW5nLXRleHQgc3BhbiB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5zY3JvbGxpbmctdGV4dDpob3ZlciAuc2Nyb2xsaW5nLXRleHRfX2lubmVyLFxuLnNjcm9sbGluZy10ZXh0OmZvY3VzIC5zY3JvbGxpbmctdGV4dF9faW5uZXIge1xuICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xufVxuXG5Aa2V5ZnJhbWVzIHNjcm9sbGluZy10ZXh0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzY3JvbGxpbmctdGV4dC1yaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG4iLCIubmV3c2xldHRlci1jb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5uZXdzbGV0dGVyLXNlY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDQwcHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDYwcHggMDtcblxuICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgfVxufVxuXG4ubmV3c2xldHRlci1zZWN0aW9uLS1pbWFnZS1sZWZ0IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxufVxuXG4ubmV3c2xldHRlci1zZWN0aW9uX19jb250ZW50IHtcbiAgZmxleDogMTAwJTtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgQG5lc3QgLm5ld3NsZXR0ZXItc2VjdGlvbi0tbm8taW1hZ2UgJiB7XG4gICAgZmxleDogMTAwJTtcbiAgfVxuXG4gICYgZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBuZXN0IC50ZXh0LWxlZnQgJiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgQG5lc3QgLnRleHQtY2VudGVyICYge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgQG5lc3QgLnRleHQtcmlnaHQgJiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cbiAgfVxuXG4gICYgLm5ld3NsZXR0ZXJfX2lucHV0LWdyb3VwIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLm5ld3NsZXR0ZXItc2VjdGlvbl9faW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcblxuICAmIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi5uZXdzbGV0dGVyLXNlY3Rpb25fX2ltYWdlLS0zMyB7XG4gIGZsZXg6IDMzLjMzMyUgMCAwO1xufVxuXG4ubmV3c2xldHRlci1zZWN0aW9uX19pbWFnZS0tNTAge1xuICBmbGV4OiA1MCUgMCAwO1xuXG4gIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ubmV3c2xldHRlci1zZWN0aW9uX19pbWFnZS0tNjYge1xuICBmbGV4OiA2Ni42NjYlIDAgMDtcblxuICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLm5ld3NsZXR0ZXItZm9ybS1ncm91cCB7XG4gIEBuZXN0IC50ZXh0LWxlZnQgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgQG5lc3QgLnRleHQtcmlnaHQgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4iLCIucHJlZGljdGl2ZS1vdmVyZmxvdy1oaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG59XG5cbnByZWRpY3RpdmUtc2VhcmNoIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA5NjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGZsZXg6IDk5O1xuICB9XG5cbiAgJi5pcy1hY3RpdmUgLnByZWRpY3RpdmVfX3NjcmVlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gICYuaXMtYWN0aXZlIC5idG4tLWNsb3NlLXNlYXJjaCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG5cbltkYXRhLWRhcms9XCJ0cnVlXCJdIHtcbiAgJiBpbnB1dCB7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgfVxuXG4gICYgLmJ0bi0tc2VhcmNoIHBhdGgge1xuICAgIHN0cm9rZTogI2ZmZiAhaW1wb3J0YW50O1xuICB9XG59XG5cbltkYXRhLWRhcms9XCJmYWxzZVwiXSB7XG4gICYgaW5wdXQge1xuICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmIC5idG4tLXNlYXJjaCBwYXRoIHtcbiAgICBzdHJva2U6ICMwMDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4ucHJlZGljdGl2ZV9fc2NyZWVuIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3JNb2RhbEJnKTtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxucHJlZGljdGl2ZS1zZWFyY2ggZm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgei1pbmRleDogNDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNlYXJjaF9faW5wdXQtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogNTtcbiAgdHJhbnNpdGlvbjogZmxleCAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4uc2VhcmNoX19pbnB1dCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yTmF2U2VhcmNoLCAjZmZmKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJvZHktdGV4dCk7XG4gIGZsZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXJvdW5kbmVzcywgMCkgKjIpO1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG59XG5cbi5idG4tLXNlYXJjaCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgcmlnaHQ6IDE1cHg7XG5cbiAgJiAuaWNvbiB7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIHdpZHRoOiAyNXB4O1xuICB9XG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIHJpZ2h0OiAxMHB4O1xuICB9XG5cbiAgQG5lc3QgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxNXB4O1xuXG4gICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAgbGVmdDogMTBweDtcbiAgICB9XG4gIH1cbn1cblxuLmJ0bi0tY2xvc2Utc2VhcmNoIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxleDogMzBweCAwIDA7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuXG4gICYgLmljb24ge1xuICAgIGhlaWdodDogMjVweDtcbiAgICB3aWR0aDogMjVweDtcbiAgfVxuXG4gICYgLmljb24gcGF0aCB7XG4gICAgc3Ryb2tlOiB2YXIoLS1jb2xvck5hdlRleHQpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnNlYXJjaF9fcmVzdWx0cyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJvZHkpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYm9keS10ZXh0KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gIG1heC1oZWlnaHQ6IDgwdmg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIHZhcigtLXBhZ2VXaWR0aFBhZGRpbmcsIDE3cHgpICogMik7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tcGFnZVdpZHRoUGFkZGluZywgMTdweCkgKiAtMSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXBhZ2VXaWR0aFBhZGRpbmcsIDE3cHgpICogLTEpO1xuICAgIG1heC1oZWlnaHQ6IDc1dmg7XG5cbiAgICBAbmVzdCAudGVtcGxhdGUtc2VhcmNoIC5wYWdlLWNvbnRlbnQgJiB7XG4gICAgICBtYXgtaGVpZ2h0OiA1MHZoO1xuICAgIH1cbiAgfVxufVxuXG4ucmVzdWx0cyB7XG4gIHBhZGRpbmc6IDAgMjBweCAyMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJiB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gICYgbGkge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjA1KTtcbiAgICB9XG5cbiAgICAmIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi5yZXN1bHRzLS1xdWVyaWVzIHtcbiAgJiBzcGFuIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgJiBtYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG59XG5cbi5yZXN1bHRzLS1wcm9kdWN0cyBzcGFuIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi5yZXN1bHRzLS1wcm9kdWN0cyAjcHJlZGljdGl2ZS1zZWFyY2gtcHJvZHVjdHMge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ucmVzdWx0cy1wcm9kdWN0c19faW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiA4MHB4O1xuICBtYXgtd2lkdGg6IDgwcHg7XG4gIGhlaWdodDogODBweDtcbn1cblxuLnJlc3VsdHMtcHJvZHVjdHNfX2luZm8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ucHJlZGljdGl2ZS1zZWFyY2gtcmVzdWx0cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcGFkZGluZzogNDBweCAwIDA7XG5cbiAgJiBoMyB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3JCb3JkZXIpO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbn1cblxuLnByZWRpY3RpdmUtc2VhcmNoLXJlc3VsdHMtLW5vbmUge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuLnByZWRpY3RpdmUtc2VhcmNoX19uby1yZXN1bHRzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxufVxuXG4ucmVzdWx0c19fZ3JvdXAtMSB7XG4gIGZsZXg6IDEwMCUgMCAwO1xuXG4gICYgPiBkaXY6bm90KC5yZXN1bHRzLS1xdWVyaWVzKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucmVzdWx0c19fZ3JvdXAtMiB7XG4gIGZsZXg6IDEwMCUgMCAwO1xufVxuXG4ucmVzdWx0c19fc2VhcmNoLWJ0biB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3JCb3JkZXIpO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC4wNSk7XG4gIH1cbn1cblxuLyogQ29udGFpbmVyc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBjb250YWluZXIgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLnByZWRpY3RpdmUtc2VhcmNoLXJlc3VsdHMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cblxuICAucmVzdWx0cyB7XG4gICAgcGFkZGluZzogMCA0MHB4IDIwcHg7XG4gIH1cblxuICAucmVzdWx0c19fZ3JvdXAtMSB7XG4gICAgZmxleDogMSAwIDA7XG5cbiAgICAmIGRpdjpub3QoLnJlc3VsdHMtLXF1ZXJpZXMpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5yZXN1bHRzX19ncm91cC0yIHtcbiAgICBmbGV4OiAyIDAgMDtcblxuICAgICYgPiBkaXY6bm90KC5yZXN1bHRzLS1wcm9kdWN0cykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAucmVzdWx0c19fc2VhcmNoLWJ0biB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCA0MHB4O1xuICB9XG59XG5cbi8qXG4ud29ya2Fyb3VuZCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvckJvcmRlcik7XG59XG4qL1xuIiwiLnJlY2lwaWVudC1mb3JtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAyZW0gYXV0bztcblxuICAmIC5maWVsZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJiAuZmllbGRfX2xhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjFzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gLjFzIGVhc2UtaW4tb3V0O1xuICAgIG1hcmdpbjogMDtcblxuICAgIEBtZWRpYSAoLS1tZWRpdW0tZG93bikge1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICB9XG4gIH1cblxuICAmIC5maWVsZF9fbGFiZWw6bm90KC52YXJpYW50X19idXR0b24tbGFiZWwpOm5vdCgudGV4dC1sYWJlbCksXG4gICYgbGFiZWw6bm90KC52YXJpYW50X19idXR0b24tbGFiZWwpOm5vdCgudGV4dC1sYWJlbCkge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cblxuICAmIC5maWVsZF9faW5wdXQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuXG4gICAgQG1lZGlhICgtLW1lZGl1bS1kb3duKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjZlbTtcbiAgICB9XG5cbiAgICAmLnRleHQtYXJlYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgaGVpZ2h0OiAxNTBweDtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB+IGxhYmVsLFxuICAgICY6bm90KDpwbGFjZWhvbGRlci1zaG93bikgfiBsYWJlbCB7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjg1KSB0cmFuc2xhdGVZKC0wLjRlbSkgdHJhbnNsYXRlWCgwLjE1ZW0pO1xuICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6bm90KDpwbGFjZWhvbGRlci1zaG93bikge1xuICAgICAgcGFkZGluZzogMTZweCAxMHB4IDA7XG4gICAgfVxuICB9XG5cbiAgJiAuZmllbGRfX2lucHV0LS1lcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZXJyb3JSZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGVycm9yUmVkQmc7XG4gICAgY29sb3I6ICRlcnJvclJlZDtcblxuICAgICYgfiBsYWJlbCB7XG4gICAgICBjb2xvcjogJGVycm9yUmVkO1xuICAgIH1cbiAgfVxuXG4gIC5yZWNpcGllbnQtZm9ybV9fY2hlY2tib3gtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcblxuICAgIEBtZWRpYSAoLS1tZWRpdW0tZG93bikge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gICAgfVxuICB9XG5cbiAgJiBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIGhlaWdodDogMTZweDtcbiAgICB3aWR0aDogMTZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3JCb3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIH1cblxuICAmIC5jaGVja2JveC1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmIC5yZWNpcGllbnQtZm9ybS1maWVsZC1sYWJlbC0tc3BhY2UtYmV0d2VlbiA+IHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gIH1cblxuICAmIC5yZWNpcGllbnQtZmllbGRzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIqLCBpbnB1dCwgOmJlZm9yZSwgOmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaHRtbCwgYm9keSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbmF2LCBzZWN0aW9uLCBzdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmF1ZGlvLCBjYW52YXMsIHByb2dyZXNzLCB2aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4iLCIuZ3JpZCB7XG4gIEBtaXhpbiBjbGVhcmZpeDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tbGVmdDogLSRncmlkLWd1dHRlcjtcblxuICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICBtYXJnaW4tbGVmdDogLSRncmlkLWd1dHRlci1zbWFsbDtcblxuICAgIEBuZXN0IGh0bWxbZGlyPVwicnRsXCJdICYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1ndXR0ZXItc21hbGw7XG4gICAgfVxuICB9XG5cbiAgQG5lc3QgaHRtbFtkaXI9XCJydGxcIl0gJiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtZ3V0dGVyO1xuICB9XG59XG5cbi5ncmlkLS1zbWFsbCB7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDtcblxuICAmIC5ncmlkX19pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIH1cbn1cblxuLmdyaWRfX2l0ZW0ge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1ndXR0ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG5cbiAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1ndXR0ZXItc21hbGw7XG5cbiAgICBAbmVzdCBodG1sW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLWd1dHRlci1zbWFsbDtcbiAgICB9XG4gIH1cblxuICBAbmVzdCBodG1sW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLWd1dHRlcjtcbiAgfVxufVxuXG4uZ3JpZC0tbm8tZ3V0dGVycyB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICYgLmdyaWRfX2l0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG4uZ3JpZC0tZmx1c2gtYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogLSRncmlkLWd1dHRlcjtcbiAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgJiA+IC5ncmlkX19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1ndXR0ZXI7XG4gIH1cbn1cblxuLmdyaWQtLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmIC5ncmlkX19pdGVtIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgQG5lc3QgaHRtbFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEd1dHRlcmxlc3MgZ3JpZHMgaGF2ZSBhbGwgdGhlIHByb3BlcnRpZXMgb2YgcmVndWxhciBncmlkcywgbWludXMgYW55IHNwYWNpbmcuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmdyaWQtLWZ1bGwge1xuICBtYXJnaW4tbGVmdDogMDtcblxuICAmID4gLmdyaWRfX2l0ZW0ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5AbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gIC5ncmlkLS10YWJsZS1sYXJnZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcblxuICAgICYgPiAuZ3JpZF9faXRlbSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tc21hbGwpIHtcbiAgLnNtYWxsLS1ncmlkLS1mbHVzaCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG5cbiAgICBAbmVzdCAucGFnZS13aWR0aCAmIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJHBhZ2Utd2lkdGgtZ3V0dGVyLXNtYWxsO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0kcGFnZS13aWR0aC1ndXR0ZXItc21hbGwgKyAycHgpO1xuICAgIH1cblxuICAgICYgPiAuZ3JpZF9faXRlbSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgICB9XG4gIH1cbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFRleHQgQ29sdW1ucyBHcmlkIC0tIFNob3dzIDItMyBpdGVtcyBwZXIgcm93LCBmdWxsIHdpZHRoIGp1c3RpZnlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4gIFxuLnRleHQtY29sdW1uX19ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdhcDogJGdyaWQtZ3V0dGVyO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgLnRleHQtY29sdW1uX19ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIDFmcik7IC8qIDYtY29sdW1uIGdyaWQgKi9cbiAgfSBcblxuICAvKiBEZWZhdWx0OiBFYWNoIGl0ZW0gc3BhbnMgMyBjb2x1bW5zIChzbyAyIGl0ZW1zIHBlciByb3cpICovXG4gIC50ZXh0LWNvbHVtbl9fZ3JpZCA+ICoge1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDM7XG4gIH1cblxuICAvKiBTcGVjaWFsIGNhc2UgZm9yIGV4YWN0bHkgMyBpdGVtczogMyBjb2x1bW5zLCAxIHJvdyAqL1xuICAudGV4dC1jb2x1bW5fX2dyaWQ6aGFzKD4gKjpudGgtY2hpbGQoMyk6bGFzdC1jaGlsZCkgPiAqIHtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICB9XG5cbiAgLyogRm9yIGFueSBvZGQgbnVtYmVyIG9mIGl0ZW1zIChleGNsdWRpbmcgZXhhY3RseSAzIGl0ZW1zKSAqL1xuICAudGV4dC1jb2x1bW5fX2dyaWQ6aGFzKD4gKjpudGgtY2hpbGQob2RkKTpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDMpKSkgPiAqOm50aC1sYXN0LWNoaWxkKC1uKzMpIHtcbiAgICAvKiBMYXN0IDMgaXRlbXMgaW4gdGhlIGdyaWQgc3BhbiAyIGNvbHVtbnMgZWFjaCAqL1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gIH1cbn1cbiIsbnVsbCwiQGN1c3RvbS1tZWRpYSAtLXNtYWxsIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCk7XG5AY3VzdG9tLW1lZGlhIC0tbWVkaXVtLXVwIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0tdXApO1xuQGN1c3RvbS1tZWRpYSAtLW1lZGl1bS1kb3duIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0tZG93bik7XG5AY3VzdG9tLW1lZGlhIC0td2lkZXNjcmVlbiBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtd2lkZXNjcmVlbik7XG5cbkBtaXhpbiBncmlkLWNvbHVtbi1nZW5lcmF0b3I7XG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ2VuZXJhdG9yIHNtYWxsO1xuQG1peGluIGdyaWQtY29sdW1uLWdlbmVyYXRvciBtZWRpdW0tdXA7XG5cbkBtaXhpbiByZXNwb25zaXZlLWRpc3BsYXktaGVscGVyO1xuQG1peGluIHJlc3BvbnNpdmUtZGlzcGxheS1oZWxwZXIgc21hbGw7XG5AbWl4aW4gcmVzcG9uc2l2ZS1kaXNwbGF5LWhlbHBlciBtZWRpdW0tZG93bjtcbkBtaXhpbiByZXNwb25zaXZlLWRpc3BsYXktaGVscGVyIG1lZGl1bS11cDtcbiIsIi5mbGV4LWdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXg6IDEgMSAxMDAlO1xuXG4gIEBuZXN0IFtkYXRhLWNlbnRlci10ZXh0PVwiY2VudGVyXCJdICYge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG5cbi5mbGV4LWdyaWQtLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mbGV4LWdyaWQtLWd1dHRlcnMge1xuICBtYXJnaW4tdG9wOiBjYWxjKC0kZ3V0dGVyIC8gMik7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0kZ3V0dGVyIC8gMik7XG59XG5cbi5mbGV4LWdyaWRfX2l0ZW0ge1xuICBmbGV4OiAwIDEgMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgQG5lc3QgLmZsZXgtZ3JpZC0tZ3V0dGVycyAmIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygkZ3V0dGVyIC8gMik7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKCRndXR0ZXIgLyAyKTtcbiAgfVxuXG4gICYgPiAqIHtcbiAgICBmbGV4OiAxIDEgMTAwJTtcbiAgfVxufVxuXG4uZmxleC1ncmlkX19pdGVtLS1zdHJldGNoIHtcbiAgZmxleDogMSAxIDEwMCU7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgbWluLXdpZHRoOiAyNTBweDtcbiAgfVxufVxuXG4vKkZsZXggZ3JpZCBzaXppbmcgZnJvbSB0aGVtZSBzZXR0aW5ncyovXG5AbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gIC5mbGV4LWdyaWRfX2l0ZW0tLTMzIHtcbiAgICBmbGV4LWJhc2lzOiAzMy4zMyU7XG4gIH1cblxuICAuZmxleC1ncmlkX19pdGVtLS01MCB7XG4gICAgZmxleC1iYXNpczogNTAlO1xuICB9XG59XG5cbi8qUmV2ZXJzZSBvcmRlciBvciBlbGVtZW50cyovXG5AbWVkaWEgKC0tc21hbGwpIHtcbiAgLmZsZXgtZ3JpZF9faXRlbS0tbW9iaWxlLXNlY29uZCB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbn1cbiIsIi5jbGVhcmZpeCB7XG4gIEBtaXhpbiBjbGVhcmZpeDtcbn1cblxuaHRtbDpub3QoLm5vLWpzKTpub3QoLnRhYi1vdXRsaW5lKSAqOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmlzLXRyYW5zaXRpb25pbmcge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5kaXNwbGF5LXRhYmxlIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZGlzcGxheS10YWJsZS1jZWxsIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZmxvYXQ6IG5vbmU7XG59XG5cbkBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgLm1lZGl1bS11cC0tZGlzcGxheS10YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5tZWRpdW0tdXAtLWRpc3BsYXktdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICBAbWl4aW4gdmlzdWFsbHlIaWRkZW47XG59XG5cbi8qS2VlcCBkaW1lbnNpb25zIGJ1dCBoaWRlIHZpc3VhbGx5Ki9cbi52aXN1YWxseS1pbnZpc2libGUge1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBTa2lwIHRvIGNvbnRlbnQgYnV0dG9uXG4gICAgLSBPdmVycmlkZXMgLnZpc3VhbGx5LWhpZGRlbiB3aGVuIGZvY3VzZWRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uc2tpcC1saW5rOmZvY3VzIHtcbiAgY2xpcDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogJGNvbG9yVGV4dEJvZHk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvckJvZHk7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG9wYWNpdHk6IDE7XG4gIHotaW5kZXg6ICR6aW5kZXhTa2lwVG9Db250ZW50O1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuIiwiQGRlZmluZS1taXhpbiB2aXN1YWxseUhpZGRlbiB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuXG5AZGVmaW5lLW1peGluIG92ZXJsYXkgJHppbmRleDogYXV0byB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleDtcbn1cblxuQGRlZmluZS1taXhpbiBiYXNlRm9udFN0YWNrIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXR5cGVCYXNlUHJpbWFyeSksIHZhcigtLXR5cGVCYXNlRmFsbGJhY2spO1xuICBmb250LXNpemU6IHZhcigtLXR5cGVCb2R5U2l6ZU1vYmlsZSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS10eXBlQmFzZVNwYWNpbmcpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tdHlwZUJhc2VMaW5lSGVpZ2h0KTtcblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10eXBlQm9keVNpemUpO1xuICB9XG59XG5cbkBkZWZpbmUtbWl4aW4gYmFzZVNtYWxsRm9udFN0YWNrIHtcbiAgZm9udC1zaXplOiB2YXIoLS10eXBlQm9keVNtYWxsU2l6ZSk7XG59XG5cbkBkZWZpbmUtbWl4aW4gYmFzZUV4dHJhU21hbGxGb250U3RhY2sge1xuICBmb250LXNpemU6IHZhcigtLXR5cGVCb2R5RXh0cmFTbWFsbFNpemUpO1xufVxuXG5AZGVmaW5lLW1peGluIGhlYWRpbmdUZXh0Q2VudGVyIHtcbiAgQG5lc3QgW2RhdGEtdHlwZV9oZWFkZXJzX2FsaWduX3RleHQ9XCJjZW50ZXJcIl0gJiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbkBkZWZpbmUtbWl4aW4gYmFzZVRleHRDZW50ZXIge1xuICBAbmVzdCBbZGF0YS1jZW50ZXItdGV4dD1cImNlbnRlclwiXSAmIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuQGRlZmluZS1taXhpbiBoZWFkaW5nRm9udFN0YWNrIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXR5cGVIZWFkZXJQcmltYXJ5KSwgdmFyKC0tdHlwZUhlYWRlckZhbGxiYWNrKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXR5cGVIZWFkZXJXZWlnaHQpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tdHlwZUhlYWRlclNwYWNpbmcpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tdHlwZUhlYWRlckxpbmVIZWlnaHQpO1xuXG4gIEBuZXN0IFtkYXRhLXR5cGVfaGVhZGVyX2NhcGl0YWxpemU9XCJ0cnVlXCJdICYge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbn1cblxuQGRlZmluZS1taXhpbiBhY2NlbnRGb250U3RhY2sge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tdHlwZVVwcGVyY2FzZVNwYWNpbmcpO1xufVxuXG5AZGVmaW5lLW1peGluIGFjY2VudEZvbnRTbWFsbFNpemUge1xuICBmb250LXNpemU6IHZhcigtLXR5cGVBY2NlbnRTbWFsbFNpemUpO1xufVxuXG5cbkBkZWZpbmUtbWl4aW4gaGVyb1NjcmltIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9ySW1hZ2VPdmVybGF5O1xuICBvcGFjaXR5OiAkY29sb3JJbWFnZU92ZXJsYXlPcGFjaXR5O1xufVxuXG5AZGVmaW5lLW1peGluIGhlcm9SYWRpYWwge1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAkY29sb3JJbWFnZU92ZXJsYXlUZXh0U2hhZG93KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSA2MCUpO1xuICBtYXJnaW46IC0xMDBweCAtMjAwcHggLTEwMHB4IC0yMDBweDtcbn1cbiIsImh0bWwge1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cblxuaHRtbFtkaXI9XCJydGxcIl0ge1xuICBkaXJlY3Rpb246IHJ0bDtcbn1cblxuaHRtbCxcbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JCb2R5O1xuICBjb2xvcjogJGNvbG9yVGV4dEJvZHk7XG59XG5cbkBtZWRpYSAoLS1zbWFsbCkge1xuICAuc3VwcG9ydHMtdG91Y2gubG9jay1zY3JvbGwge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAvKiBpT1Mgc3BlY2lmaWMgZml4ICovXG4gICAgQHN1cHBvcnRzICgtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmUpIHtcbiAgICAgIG92ZXJmbG93OiBpbml0aWFsO1xuICAgIH1cbiAgfVxufVxuXG4ucGFnZS13aWR0aCB7XG4gIG1heC13aWR0aDogJHBhZ2Utd2lkdGg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ucGFnZS13aWR0aCxcbi5wYWdlLWZ1bGwge1xuICBwYWRkaW5nOiAwICRwYWdlLXdpZHRoLWd1dHRlci1zbWFsbDtcblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgcGFkZGluZzogMCAkcGFnZS13aWR0aC1ndXR0ZXItbGFyZ2U7XG4gIH1cbn1cblxuLnBhZ2Utd2lkdGgtLW5hcnJvdyB7XG4gIG1heC13aWR0aDogJHBhZ2Utd2lkdGgtbmFycm93O1xufVxuXG4ucGFnZS13aWR0aC0tdGlueSB7XG4gIG1heC13aWR0aDogNDUwcHg7XG59XG5cbkBtZWRpYSAoLS1zbWFsbCkge1xuICAucGFnZS13aWR0aC0tZmx1c2gtc21hbGwge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLnBhZ2UtY29udGVudCxcbi5zaG9waWZ5LXBvbGljeV9fY29udGFpbmVyLFxuLnNob3BpZnktZW1haWwtbWFya2V0aW5nLWNvbmZpcm1hdGlvbl9fY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6ICRpbmRleFNlY3Rpb25NYXJnaW5TbWFsbDtcbiAgcGFkZGluZy1ib3R0b206ICRpbmRleFNlY3Rpb25NYXJnaW5TbWFsbDtcblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgcGFkZGluZy10b3A6ICRpbmRleFNlY3Rpb25NYXJnaW5MYXJnZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGluZGV4U2VjdGlvbk1hcmdpbkxhcmdlO1xuICB9XG59XG5cbi5zaG9waWZ5LWVtYWlsLW1hcmtldGluZy1jb25maXJtYXRpb25fX2NvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnBhZ2UtY29udGVudC0tdG9wLFxuLnBhZ2UtY29udGVudC0td2l0aC1ibG9ja3Mge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLnBhZ2UtY29udGVudC0tYm90dG9tIHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbi5tYWluLWNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogMzAwcHg7XG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBtaW4taGVpZ2h0OiA3MDBweDtcbiAgfVxuXG4gIEBuZXN0IC50ZW1wbGF0ZS1jaGFsbGFuZ2UgJiB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxufVxuXG5ocixcbi5oci0tc21hbGwsXG4uaHItLW1lZGl1bSxcbi5oci0tbGFyZ2Uge1xuICBoZWlnaHQ6IDFweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gIGJvcmRlci10b3AtY29sb3I6ICRjb2xvckJvcmRlcjtcbn1cblxuLmhyLS1zbWFsbCB7XG4gIG1hcmdpbjogMTVweCBhdXRvO1xufVxuXG4uaHItLW1lZGl1bSB7XG4gIG1hcmdpbjogMjVweCBhdXRvO1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBtYXJnaW46IDM1cHggYXV0bztcbiAgfVxufVxuXG4uaHItLWxhcmdlIHtcbiAgbWFyZ2luOiAkZ3V0dGVyIGF1dG87XG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIG1hcmdpbjogY2FsYygkZ3V0dGVyICogMS41KSBhdXRvO1xuICB9XG5cbiAgQG5lc3QgLnBhZ2UtYmxvY2tzICsgJixcbiAgLnBhZ2UtYmxvY2tzICsgW2RhdGEtc2VjdGlvbi10eXBlPVwicmVjZW50bHktdmlld2VkXCJdICYge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLmhyLS1jbGVhciB7XG4gIGJvcmRlcjogMDtcbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIFJlc3BvbnNpdmUgdGFibGVzLCBkZWZpbmVkIHdpdGggLnRhYmxlLS1yZXNwb25zaXZlIG9uIHRhYmxlIGVsZW1lbnQuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLnRhYmxlLS1yZXNwb25zaXZlIHtcbiAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgJiB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYgdHIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJiB0cixcbiAgICAmIHRkIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmIHRoLFxuICAgICYgdGQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgfVxuXG4gICAgJiB0ZDpiZWZvcmUge1xuICAgICAgY29udGVudDogYXR0cihkYXRhLWxhYmVsKTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLXNtYWxsKSB7XG4gIC50YWJsZS0tc21hbGwtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnRhYmxlX19zZWN0aW9uICsgLnRhYmxlX19zZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvckJvcmRlcjtcbiAgICB9XG4gIH1cbn1cblxuZGV0YWlscyBzdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgZGlzcGxheTpub25lO1xufVxuIiwiYm9keSxcbmlucHV0LFxudGV4dGFyZWEsXG5idXR0b24sXG5zZWxlY3QsXG4uZmF1eC1zZWxlY3Qge1xuICBAbWl4aW4gYmFzZUZvbnRTdGFjaztcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplU3BlZWQ7XG59XG5cbmJvZHkge1xuICBmb250LXdlaWdodDogdmFyKC0tdHlwZUJhc2VXZWlnaHQpO1xufVxuXG5wIHtcbiAgbWFyZ2luOiAwIDAgY2FsYygkZ3V0dGVyIC8gMikgMDtcblxuICAmIGltZyB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbmVtIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5iLCBzdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuc21hbGwsXG5wW2RhdGEtc3BhbS1kZXRlY3Rpb24tZGlzY2xhaW1lcl0ge1xuICBmb250LXNpemU6IDAuODVlbTtcbn1cblxuc3VwLCBzdWIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogNjAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjVlbTtcbn1cblxuYmxvY2txdW90ZSxcbi5ydGUgYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogY2FsYygkZ3V0dGVyIC8gMikgJGd1dHRlciA0MHB4O1xuXG4gICYgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICYgKyBjaXRlIHtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoJGd1dHRlciAvIDIpO1xuICAgIH1cbiAgfVxuXG4gICYgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuY29kZSwgcHJlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZjdmNTtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBib3JkZXI6IDAgbm9uZTtcbiAgcGFkZGluZzogMCAycHg7XG4gIGNvbG9yOiAjNTFhYjYyO1xufVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbiAgcGFkZGluZzogY2FsYygkZ3V0dGVyIC8gMik7XG4gIG1hcmdpbjogMCAwICRndXR0ZXI7XG59XG5cbmxhYmVsOm5vdCgudmFyaWFudF9fYnV0dG9uLWxhYmVsKTpub3QoLnRleHQtbGFiZWwpLFxuLmxhYmVsIHtcbiAgQG1peGluIGFjY2VudEZvbnRTdGFjaztcbiAgQG1peGluIGFjY2VudEZvbnRTbWFsbFNpemU7XG59XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5sYWJlbC1pbmZvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbmgxLCAuaDEsXG5oMiwgLmgyLFxuaDMsIC5oMyxcbmg0LCAuaDQsXG5oNSwgLmg1LFxuaDYsIC5oNiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCAxMHB4O1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBtYXJnaW46IDAgMCBjYWxjKCRndXR0ZXIgLyAyKTtcbiAgfVxuXG4gICYgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICB9XG59XG5cbmgxLCAuaDEsXG5oMiwgLmgyLFxuaDMsIC5oMyB7XG4gIEBtaXhpbiBoZWFkaW5nRm9udFN0YWNrO1xufVxuXG5oMSwgLmgxIHtcbiAgZm9udC1zaXplOiB2YXIoLS10eXBlSDFTaXplTW9iaWxlKTtcblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10eXBlSDFTaXplKTtcbiAgfVxufVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiB2YXIoLS10eXBlSDJTaXplTW9iaWxlKTtcblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10eXBlSDJTaXplKTtcbiAgfVxufVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiB2YXIoLS10eXBlSDNTaXplTW9iaWxlKTtcblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10eXBlSDNTaXplKTtcbiAgfVxufVxuXG5oNCwgLmg0IHtcbiAgQG1peGluIGFjY2VudEZvbnRTdGFjaztcbiAgQG1peGluIGFjY2VudEZvbnRTbWFsbFNpemU7XG59XG5cbmg1LCAuaDUsXG5oNiwgLmg2IHtcbiAgQG1peGluIGFjY2VudEZvbnRTdGFjaztcbiAgQG1peGluIGFjY2VudEZvbnRTbWFsbFNpemU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG59XG5cbi5zdWJoZWFkaW5nIHtcbiAgQG1peGluIGFjY2VudEZvbnRTdGFjaztcbn1cblxuLypTdGFuZGFyZGl6ZSB0ZXh0IHNwYWNpbmcgc29tZXRpbWVzKi9cbi50ZXh0LXNwYWNpbmcsXG4udGV4dC1zcGFjaW5nLnJ0ZTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygkZ3V0dGVyIC8gMik7XG59XG5cbi5ydGUge1xuICAmIHRhYmxlIHtcbiAgICBAbWVkaWEgKC0tc21hbGwpIHtcblxuICAgICAgJiB0ZCxcbiAgICAgICYgdGgge1xuICAgICAgICBwYWRkaW5nOiA2cHggOHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBuZXN0IC5jb2xsYXBzaWJsZS1jb250ZW50ICYge1xuICAgICAgJiB0ZCxcbiAgICAgICYgdGgge1xuICAgICAgICBwYWRkaW5nOiA2cHggOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY29tbWVudC1hdXRob3Ige1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY29tbWVudC1kYXRlIHtcbiAgQG1peGluIGJhc2VTbWFsbEZvbnRTdGFjaztcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDNweDtcblxuICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKCRndXR0ZXIgLyAyKTtcbiAgfVxufVxuXG4uYWpheGNhcnRfX3N1YnRvdGFsIHtcbiAgQG1peGluIGFjY2VudEZvbnRTdGFjaztcbiAgQG1peGluIGFjY2VudEZvbnRTbWFsbFNpemU7XG59XG5cbi5ydGUge1xuICAmIC5lbmxhcmdlLXRleHQge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IHZhcigtLXR5cGVFbmxhcmdlVGV4dFNpemUpO1xuICB9XG5cbiAgJiAuZW5sYXJnZS10ZXh0LS1vZmZzZXQge1xuICAgICYgcCB7XG4gICAgICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1JTtcblxuICAgICAgICBAbmVzdCAudGV4dC1jZW50ZXIgJiB7XG4gICAgICAgICAgcGFkZGluZzogMCA1JTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gIC50YWJsZS0tc21hbGwtdGV4dCB7XG4gICAgQG1peGluIGJhc2VTbWFsbEZvbnRTdGFjaztcbiAgfVxufVxuXG4uaW5kZXgtc2VjdGlvbi0tZm9vdGVyIHtcbiAgJiBoMyB7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgfVxufVxuXG4vKj09PT09PT09PT09PT09PT0gUlRMIG92ZXJyaWRlcyA9PT09PT09PT09PT09PT09Ki9cbmh0bWxbZGlyPVwicnRsXCJdIHtcbiAgJiAudGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgJiAudGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qSWNvbiArIHRleHQgZWxlbWVudCB0aGF0IHByZXZlbnRzIGF3a3dhcmQgbGluZSB3cmFwcGluZyovXG4uaWNvbi1hbmQtdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICYgLmljb24ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG59XG4iLCJ1bCwgb2wge1xuICBtYXJnaW46IDAgMCBjYWxjKCRndXR0ZXIgLyAyKSAkZ3V0dGVyO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xufVxuXG5vbCBvbCB7XG4gIGxpc3Qtc3R5bGU6IGxvd2VyLWFscGhhO1xufVxuXG5vbCB7IGxpc3Qtc3R5bGU6IGRlY2ltYWw7IH1cbnVsIHVsLCB1bCBvbCxcbm9sIG9sLCBvbCB1bCB7IG1hcmdpbjogNHB4IDAgNXB4IDIwcHg7IH1cbmxpIHsgbWFyZ2luLWJvdHRvbTogMC4yNWVtOyB9XG5cbnVsLnNxdWFyZSB7IGxpc3Qtc3R5bGU6IHNxdWFyZSBvdXRzaWRlOyB9XG51bC5kaXNjIHsgbGlzdC1zdHlsZTogZGlzYyBvdXRzaWRlOyB9XG5vbC5hbHBoYSB7IGxpc3Qtc3R5bGU6IGxvd2VyLWFscGhhIG91dHNpZGU7IH1cblxuLm5vLWJ1bGxldHMge1xuICBsaXN0LXN0eWxlOiBub25lIG91dHNpZGU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4uaW5saW5lLWxpc3Qge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG5cbiAgJiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuIiwidGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXNwYWNpbmc6IDFweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IDAgbm9uZTtcbiAgYmFja2dyb3VuZDogJGNvbG9yQm9yZGVyO1xufVxuXG4udGFibGUtd3JhcHBlciB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxudGQsXG50aCB7XG4gIGJvcmRlcjogMCBub25lO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGJhY2tncm91bmQ6ICRjb2xvckJvZHk7XG5cbiAgQG5lc3QgaHRtbFtkaXI9XCJydGxcIl0gJiB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cblxudGgge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxudGgsXG4udGFibGVfX3RpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4iLCJhLFxuLnRleHQtbGluayB7XG4gIGNvbG9yOiAkY29sb3JUZXh0Qm9keTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yVGV4dEJvZHk7XG4gIH1cbn1cblxuLypGb3JjZSBhbiBpbnB1dC9idXR0b24gdG8gbG9vayBsaWtlIGEgdGV4dCBsaW5rKi9cbi50ZXh0LWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGJvcmRlcjogMCBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi8qTGlua3MgaW4gUlRFKi9cbi5ydGUgYSxcbi5zaG9waWZ5LXBvbGljeV9fY29udGFpbmVyIGEsXG4uc2hvcGlmeS1lbWFpbC1tYXJrZXRpbmctY29uZmlybWF0aW9uX19jb250YWluZXIgYSB7XG4gIGNvbG9yOiAkY29sb3JMaW5rO1xufVxuIiwiYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLmJ0bixcbi5ydGUgLmJ0bixcbi5zaG9waWZ5LXBheW1lbnQtYnV0dG9uIC5zaG9waWZ5LXBheW1lbnQtYnV0dG9uX19idXR0b24tLXVuYnJhbmRlZCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcblxuICBmb250LXNpemU6IGNhbGModmFyKC0tdHlwZUJhc2VTaXplKSAtIDRweCk7XG4gIGZvbnQtc2l6ZTogbWF4KGNhbGModmFyKC0tdHlwZUJhc2VTaXplKSAtIDRweCksIDEzcHgpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgQG1peGluIGFjY2VudEZvbnRTdGFjaztcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRidG5QcmltYXJ5UGFkZGluZztcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogYXV0bztcbiAgbWluLXdpZHRoOiA5MHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvblJhZGl1cyk7XG4gIGNvbG9yOiAkY29sb3JCdG5QcmltYXJ5VGV4dDtcbiAgYmFja2dyb3VuZDogJGNvbG9yQnRuUHJpbWFyeTtcblxuICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICBwYWRkaW5nOiAkYnRuUHJpbWFyeVBhZGRpbmdTbWFsbDtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tdHlwZUJhc2VTaXplKSAtIDVweCk7XG4gICAgZm9udC1zaXplOiBtYXgoY2FsYyh2YXIoLS10eXBlQmFzZVNpemUpIC0gNXB4KSwgMTFweCk7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yQnRuUHJpbWFyeVRleHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yQnRuUHJpbWFyeTtcbiAgfVxuXG4gICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgY29sb3I6ICRkaXNhYmxlZEdyZXlUZXh0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkaXNhYmxlZEdyZXk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkZGlzYWJsZWRHcmV5VGV4dDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkaXNhYmxlZEdyZXk7XG4gICAgfVxuXG4gICAgQG5lc3QgW2RhdGEtYnV0dG9uX3N0eWxlPSdhbmdsZWQnXSAmIHtcbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkaXNhYmxlZEdyZXk7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGRpc2FibGVkQm9yZGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRkaXNhYmxlZEJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKkN1c3RvbSBzZXR0aW5nLWJhc2VkIHN0eWxlcyovXG4gIEBuZXN0IFtkYXRhLWJ1dHRvbl9zdHlsZT0nYW5nbGVkJ10gJiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIHRyYW5zZm9ybTpza2V3WCgtJGJ1dHRvblNrZXdEZWcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtNnB4O1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IC02cHg7XG4gICAgfVxuXG4gICAgJi5idG4tLXNtYWxsIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogLTVweDtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICByaWdodDogLTVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKkhvdmVyIGVmZmVjdCBvbiBub24tYW5nbGVkIGJ1dHRvbnMuIE11c3Qgb25seSBoYXZlIC5idG4gY2xhc3MqL1xuICBAbmVzdCBbZGF0YS1idXR0b25fc3R5bGU9J3NxdWFyZSddICYsXG4gIFtkYXRhLWJ1dHRvbl9zdHlsZV49J3JvdW5kJ10gJiB7XG4gICAgJjpub3QoLmJ0bi0tc2Vjb25kYXJ5KTpub3QoLmJ0bi0tdGVydGlhcnkpOm5vdCguYnRuLS1pbnZlcnNlKTpub3QoLmJ0bi0tYm9keSk6bm90KC5idG4tLXN0YXRpYykge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlIDBzO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAxNTAlO1xuICAgICAgICB3aWR0aDogMjAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0yMGRlZyk7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCx0cmFuc3BhcmVudCwgcmdiYSgyNTUsMjU1LDI1NSwuMjUpLHRyYW5zcGFyZW50KTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlcjphZnRlciB7XG4gICAgICAgIGFuaW1hdGlvbjogc2hpbmUgMC43NXMgY3ViaWMtYmV6aWVyKDAuMDEsIDAuNTYsIDEsIDEpO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yQnRuUHJpbWFyeUxpZ2h0O1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjI1cztcbiAgICAgIH1cblxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3JCdG5QcmltYXJ5O1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLypNaW1pYyB0aGUgLmJ0biBob3ZlciBzdHlsZSBmb3IgU2hvcGlmeSBQYXltZW50IEJ1dHRvbiovXG4uc2hvcGlmeS1wYXltZW50LWJ1dHRvbiAuc2hvcGlmeS1wYXltZW50LWJ1dHRvbl9fYnV0dG9uLS11bmJyYW5kZWQ6aG92ZXI6bm90KFtkaXNhYmxlZF0pIHtcbiAgY29sb3I6ICRjb2xvckJ0blByaW1hcnlUZXh0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JCdG5QcmltYXJ5O1xufVxuXG4vKk1vcmUgcGF5bWVudCBvcHRpb25zIGJ1dHRvbiBjb2xvciovXG4uc2hvcGlmeS1wYXltZW50LWJ1dHRvbl9fbW9yZS1vcHRpb25zIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5idG4tLXNlY29uZGFyeSxcbi5ydGUgLmJ0bi0tc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICRjb2xvclRleHRCb2R5O1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3JCb3JkZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gIEBuZXN0IFtkYXRhLWJ1dHRvbl9zdHlsZT0nYW5nbGVkJ10gJiB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yQm9yZGVyO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvckJvcmRlcjtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB0b3A6IC0xcHg7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3JCb3JkZXI7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3JCb3JkZXI7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3JCb3JkZXI7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGNvbG9yQm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3JUZXh0Qm9keTtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvclRleHRCb2R5O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjNzIGVhc2U7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvclRleHRCb2R5O1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuM3MgZWFzZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yVGV4dEJvZHk7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC4zcyBlYXNlO1xuICAgIH1cbiAgfVxufVxuXG4uYnRuLS10ZXJ0aWFyeSxcbi5ydGUgLmJ0bi0tdGVydGlhcnkge1xuICAvKlVuZG8gLmJ0biBzdHlsZXMqL1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IGluaXRpYWw7XG5cbiAgLypOZXcgc3R5bGVzKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICRjb2xvckJvcmRlcjtcbiAgY29sb3I6ICRjb2xvclRleHRCb2R5O1xuICBwYWRkaW5nOiAkZm9ybUVsZW1lbnRQYWRkaW5nO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkY29sb3JUZXh0Qm9keTtcbiAgfVxuXG4gICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgY29sb3I6ICRkaXNhYmxlZEdyZXlUZXh0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkaXNhYmxlZEdyZXk7XG4gICAgYm9yZGVyLWNvbG9yOiAkZGlzYWJsZWRCb3JkZXI7XG4gIH1cblxuICBAbmVzdCBbZGF0YS1idXR0b25fc3R5bGU9J2FuZ2xlZCddICYge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLypGb3JjZSBzYW1lIGNvbG9ycyBhcyAuYnRuKi9cbi5idG4tLXRlcnRpYXJ5LWFjdGl2ZSB7XG4gIGNvbG9yOiAkY29sb3JCdG5QcmltYXJ5VGV4dDtcbiAgYmFja2dyb3VuZDogJGNvbG9yQnRuUHJpbWFyeTtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3JCdG5QcmltYXJ5O1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3JCdG5QcmltYXJ5VGV4dDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JCdG5QcmltYXJ5O1xuICB9XG59XG5cbi8qQnV0dG9uIHRoYXQgbWF0Y2hlcyBib2R5IGJhY2tncm91bmQqL1xuLmJ0bi0tYm9keSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICRjb2xvckJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yQm9keTtcbiAgY29sb3I6ICRjb2xvclRleHRCb2R5O1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvckJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JCb2R5O1xuICAgIGNvbG9yOiAkY29sb3JUZXh0Qm9keTtcbiAgfVxufVxuXG4uYnRuLS1jaXJjbGUge1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG1pbi13aWR0aDogMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgJiAuaWNvbiB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICB9XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bzsgLypmb3IgcGhvdG9zd2lwZSBjbG9zZSBidXR0b24qL1xuICB9XG5cbiAgJi5idG4tLWxhcmdlIC5pY29uIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gIH1cblxuICAmLmJ0bi0tbGFyZ2Uge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gIH1cblxuICAvKlVuZG8gYW5nbGVkIGJ1dHRvbiBzdHlsZXMgb24gY2lyY2xlcywgYnV0IGtlZXAgYm9yZGVyKi9cbiAgQG5lc3QgW2RhdGEtYnV0dG9uX3N0eWxlPSdhbmdsZWQnXSAmIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvckJvcmRlcjtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmJ0bi0tc21hbGwge1xuICBwYWRkaW5nOiA4cHggMTRweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTUwJSA0NSU7XG4gIG1pbi13aWR0aDogOTBweDtcbiAgZm9udC1zaXplOiBjYWxjKHZhcigtLXR5cGVCYXNlU2l6ZSkgLSA2cHgpO1xuICBmb250LXNpemU6IG1heChjYWxjKHZhcigtLXR5cGVCYXNlU2l6ZSkgLSA2cHgpLCAxMnB4KTtcblxuICBAbmVzdCBbZGF0YS1idXR0b25fc3R5bGU9J2FuZ2xlZCddICYge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICB9XG59XG5cbi5idG4tLXNlY29uZGFyeS5idG4tLXNtYWxsIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmJ0bi0tbGFyZ2Uge1xuICBwYWRkaW5nOiAxNXB4IDIwcHg7XG59XG5cbi5idG4tLWZ1bGwge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGJ0blByaW1hcnlQYWRkaW5nO1xuICB0cmFuc2l0aW9uOiBub25lO1xuICBwYWRkaW5nOiAxM3B4IDIwcHg7XG5cbiAgQG5lc3QgW2RhdGEtYnV0dG9uX3N0eWxlPSdhbmdsZWQnXSAmIHtcbiAgICBtYXgtd2lkdGg6IDk0JTtcbiAgfVxufVxuXG5bZGF0YS1idXR0b25fc3R5bGU9J2FuZ2xlZCddIC5zaG9waWZ5LXBheW1lbnQtYnV0dG9uIC5zaG9waWZ5LXBheW1lbnQtYnV0dG9uX19idXR0b24tLXVuYnJhbmRlZCB7XG4gICAgbWF4LXdpZHRoOiA5NCU7XG59XG5cbi5idG4tLWludmVyc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICBAbmVzdCBbZGF0YS1idXR0b25fc3R5bGU9J2FuZ2xlZCddICYge1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICAgIHRvcDogLTJweDtcbiAgICAgIGJvdHRvbTogLTJweDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQ7XG4gICAgfVxuICB9XG5cbiAgLypTcGVjaWZpYyBjb2xvciB3aGVuIGluIGEgaGVybyovXG4gIEBuZXN0IC5oZXJvX19saW5rICYge1xuICAgIGNvbG9yOiAkY29sb3JIZXJvVGV4dDtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvckhlcm9UZXh0O1xuXG4gICAgQG5lc3QgW2RhdGEtYnV0dG9uX3N0eWxlPSdhbmdsZWQnXSAmIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JIZXJvVGV4dDtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9ySGVyb1RleHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5idG4tLWxvYWRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JCdG5QcmltYXJ5RGltO1xuICBjb2xvcjogJGNvbG9yQnRuUHJpbWFyeURpbTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yQnRuUHJpbWFyeURpbTtcbiAgICBjb2xvcjogJGNvbG9yQnRuUHJpbWFyeURpbTtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgbWFyZ2luLXRvcDogLTEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yQnRuUHJpbWFyeVRleHQ7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYW5pbWF0aW9uOiBzcGluIDFzIGluZmluaXRlIGxpbmVhcjtcbiAgfVxuXG4gIEBuZXN0IFtkYXRhLWJ1dHRvbl9zdHlsZT0nYW5nbGVkJ10gJiB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3JCdG5QcmltYXJ5VGV4dCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvckJ0blByaW1hcnlEaW07XG4gICAgfVxuXG4gICAgJi5idG4tLXNlY29uZGFyeTphZnRlciB7XG4gICAgICBib3R0b206IDFweDtcbiAgICB9XG4gIH1cbn1cblxuLypBbHQgbG9hZGluZyBzdGF0ZSovXG4uYnRuLS1sb2FkaW5nLmJ0bi0tc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICRjb2xvclRleHRCb2R5O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAmOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3JUZXh0Qm9keTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4ucmV0dXJuLWxpbmsge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgbWFyZ2luLXRvcDogNTBweDtcblxuICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICBwYWRkaW5nOiAyMnB4IDE3cHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAbmVzdCBbZGF0YS1idXR0b25fc3R5bGU9J2FuZ2xlZCddICYge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICB9XG4gIH1cblxuICAmIC5pY29uIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgfVxufVxuXG4uY29sbGFwc2libGUtdHJpZ2dlci1idG4ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBAbWl4aW4gYmFzZVRleHRDZW50ZXI7XG4gIEBtaXhpbiBhY2NlbnRGb250U3RhY2s7XG4gIEBtaXhpbiBhY2NlbnRGb250U21hbGxTaXplO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDE1cHggMTBweCAxNXB4IDA7XG5cbiAgQG5lc3QgLmNvbGxlY3Rpb24tc2lkZWJhcl9fZ3JvdXAgJiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4uY29sbGFwc2libGUtdHJpZ2dlci1idG4tLWJvcmRlcnMge1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3JCb3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDEycHg7XG5cbiAgJiAuY29sbGFwc2libGUtdHJpZ2dlcl9faWNvbiB7XG4gICAgcmlnaHQ6IDEycHg7XG4gIH1cblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgcGFkZGluZzogMTVweDtcblxuICAgICYgLmNvbGxhcHNpYmxlLXRyaWdnZXJfX2ljb24ge1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgfVxuICB9XG5cbiAgQG5lc3QgLmNvbGxhcHNpYmxlLWNvbnRlbnQgKyAmIHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICB9XG5cbiAgJiArIC5jb2xsYXBzaWJsZS1jb250ZW50IC5jb2xsYXBzaWJsZS1jb250ZW50X19pbm5lciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3JCb3JkZXI7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBwYWRkaW5nOiAwIDIwcHggMjBweDtcbiAgICBmb250LXNpemU6IHZhcigtLXR5cGVCb2R5U2l6ZU1vYmlsZSk7XG5cbiAgICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgICBmb250LXNpemU6IHZhcigtLXR5cGVCb2R5U2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgJiArIC5jb2xsYXBzaWJsZS1jb250ZW50LS1leHBhbmRlZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlcjtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgIH1cbiAgfVxufVxuXG4uY29sbGFwc2libGUtdHJpZ2dlci1idG4tLWJvcmRlcnMtdG9wIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3JCb3JkZXI7XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBCdXR0b24gc3R5bGVzIHdoZW4gYWRkaXRpb25hbCBxdWljayBjaGVja291dCBidXR0b25zXG4gIGFyZSBlbmFibGVkIG9uIHByb2R1Y3QgcGFnZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5zaG9waWZ5LXBheW1lbnQtYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLnNob3BpZnktcGF5bWVudC1idXR0b24gLnNob3BpZnktcGF5bWVudC1idXR0b25fX2J1dHRvbi0tdW5icmFuZGVkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4ucGF5bWVudC1idXR0b25zIHtcbiAgJiAuYWRkLXRvLWNhcnQsXG4gICYgLnNob3BpZnktcGF5bWVudC1idXR0b24sXG4gICYgLnNob3BpZnktcGF5bWVudC1idXR0b25fX2J1dHRvbi0tdW5icmFuZGVkIHtcbiAgICBtaW4taGVpZ2h0OiAkYnRuTWluSGVpZ2h0V2hlblF1aWNrQ2hlY2tvdXQ7XG4gIH1cbn1cblxuLmFkZC10by1jYXJ0LmJ0bi0tc2Vjb25kYXJ5IHtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yVGV4dEJvZHk7XG5cbiAgQG5lc3QgW2RhdGEtYnV0dG9uX3N0eWxlPSdhbmdsZWQnXSAmIHtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yVGV4dEJvZHk7XG4gICAgfVxuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgIGJvcmRlci1jb2xvcjogJGRpc2FibGVkQm9yZGVyO1xuXG4gICAgQG5lc3QgW2RhdGEtYnV0dG9uX3N0eWxlPSdhbmdsZWQnXSAmIHtcbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGRpc2FibGVkQm9yZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc2hvcGlmeS1wYXltZW50LWJ1dHRvbl9fYnV0dG9uLS1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCJzdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmlmcmFtZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnZpZGVvLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgaGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG5cbiAgJiBpZnJhbWUsXG4gICYgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLnZpZGVvLXdyYXBwZXItLW1vZGFsIHtcbiAgd2lkdGg6IDEwMDBweDtcbn1cblxuLmdyaWRfX2ltYWdlLXJhdGlvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JTbWFsbEltYWdlQmc7XG5cbiAgJiBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG5cbiAgICAmLmdyaWRfX2ltYWdlLWNvbnRhaW4ge1xuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB9XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJiAucGxhY2Vob2xkZXItc3ZnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbi5ncmlkX19pbWFnZS1yYXRpby0tb2JqZWN0IHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmdyaWRfX2ltYWdlLXJhdGlvLS13aWRlOmJlZm9yZSB7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi5ncmlkX19pbWFnZS1yYXRpby0tbGFuZHNjYXBlOmJlZm9yZSB7XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG59XG5cbi5ncmlkX19pbWFnZS1yYXRpby0tc3F1YXJlOmJlZm9yZSB7XG4gIHBhZGRpbmctYm90dG9tOiAxMDAlO1xufVxuXG4uZ3JpZF9faW1hZ2UtcmF0aW8tLXBvcnRyYWl0OmJlZm9yZSB7XG4gIHBhZGRpbmctYm90dG9tOiAxNTAlO1xufVxuXG4uaW1hZ2UtZml0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgZm9udC1mYW1pbHk6IFwib2JqZWN0LWZpdDogY292ZXJcIjtcbiAgei1pbmRleDogMTtcbn1cblxuLnBhcmFsbGF4LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzAlO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDE2MCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucGFyYWxsYXgtaW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTUlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMTAlO1xuXG4gICYgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbiIsImZvcm0ge1xuICBtYXJnaW46IDA7XG59XG5cbi5mb3JtLXZlcnRpY2FsIHtcbiAgQG1peGluIGJhc2VUZXh0Q2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKCRndXR0ZXIgLyAyKTtcblxuICAmIGxhYmVsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbi5pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbkBtZWRpYSAoLS1tZWRpdW0tZG93bikge1xuICBpbnB1dCxcbiAgdGV4dGFyZWEsXG4gIHNlbGVjdCB7XG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuYnV0dG9uLFxuaW5wdXQsXG50ZXh0YXJlYSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICRjb2xvckJvcmRlcjtcbiAgcGFkZGluZzogY2FsYygkZ3V0dGVyIC8gMik7XG59XG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuYnV0dG9uLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuaW5wdXQsXG50ZXh0YXJlYSxcbnNlbGVjdCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICRjb2xvckJvcmRlcjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkZm9ybUVsZW1lbnRQYWRkaW5nO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuXG4gICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRpc2FibGVkR3JleTtcbiAgICBib3JkZXItY29sb3I6ICRkaXNhYmxlZEJvcmRlcjtcbiAgfVxuXG4gICYuaW5wdXQtZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxudGV4dGFyZWEge1xuICBtaW4taGVpZ2h0OiAxMDBweDtcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgbWFyZ2luOiAwIDEwcHggMCAwO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogYXV0bztcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBjaGVja2JveDtcbiAgLW1vei1hcHBlYXJhbmNlOiBjaGVja2JveDtcbn1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiByYWRpbztcbiAgLW1vei1hcHBlYXJhbmNlOiByYWRpbztcbn1cblxuaW5wdXRbdHlwZT1cImltYWdlXCJdIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG5zZWxlY3QsXG4uZmF1eC1zZWxlY3Qge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZy1yaWdodDogMjhweDtcbiAgdGV4dC1pbmRlbnQ6IDAuMDFweDtcbiAgdGV4dC1vdmVyZmxvdzogJyc7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbnNlbGVjdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tdXJsSWNvU2VsZWN0KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTBweCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTFweDtcblxuICBAbmVzdCAuaXMtbGlnaHQgJiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tdXJsSWNvU2VsZWN0V2hpdGUpO1xuICB9XG59XG5cbi5mYXV4LXNlbGVjdCAuaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDEwcHg7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiAxMXB4O1xuICBoZWlnaHQ6IDExcHg7XG59XG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qRm9yY2Ugb3B0aW9uIGNvbG9yIChhZmZlY3RzIElFIGFuZCBzb21lIEZpcmVmb3ggdmVyc2lvbnMpKi9cbm9wdGlvbiB7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gICZbZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogI2NjYztcbiAgfVxufVxuXG5zZWxlY3Q6Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaGlkZGVuLWxhYmVsIHtcbiAgQG1peGluIHZpc3VhbGx5SGlkZGVuO1xufVxuXG5sYWJlbFtmb3JdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZm9ybS12ZXJ0aWNhbCB7XG4gICYgaW5wdXQsXG4gICYgc2VsZWN0LFxuICAmIHRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgJiBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICYgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAmIC5idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gICYgLmJ0bjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG5cbnNtYWxsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmlucHV0LFxudGV4dGFyZWEge1xuICAmLmVycm9yIHtcbiAgICBib3JkZXItY29sb3I6ICRlcnJvclJlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXJyb3JSZWRCZztcbiAgICBjb2xvcjogJGVycm9yUmVkO1xuICB9XG59XG5cbmxhYmVsLmVycm9yIHtcbiAgY29sb3I6ICRlcnJvclJlZDtcbn1cblxuLnNlbGVjdG9yLXdyYXBwZXIge1xuICAmIGxhYmVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cblxuICAmICsgLnNlbGVjdG9yLXdyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoJGd1dHRlciAvIDIpO1xuICB9XG59XG4iLCIuaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gICYgLmlucHV0LWdyb3VwLWZpZWxkOmZpcnN0LWNoaWxkLFxuICAmIC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgLmJ0bixcbiAgJiBpbnB1dFt0eXBlPVwiaGlkZGVuXCJdOmZpcnN0LWNoaWxkICsgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzO1xuICB9XG5cbiAgJiAuaW5wdXQtZ3JvdXAtZmllbGQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMDtcbiAgfVxuXG4gICYgLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCAuYnRuLFxuICAmIGlucHV0W3R5cGU9XCJoaWRkZW5cIl06Zmlyc3QtY2hpbGQgKyAuaW5wdXQtZ3JvdXAtYnRuIC5idG4ge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvblJhZGl1cykgMCAwIHZhcigtLWJ1dHRvblJhZGl1cyk7XG4gIH1cblxuICAmIC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCAuYnRuIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIHZhcigtLWJ1dHRvblJhZGl1cykgdmFyKC0tYnV0dG9uUmFkaXVzKSAwO1xuICB9XG5cbiAgJiBpbnB1dCB7XG4gICAgLypOYXN0eSBGaXJlZm94IGhhY2sgZm9yIGlucHV0cyBodHRwOi8vZGF2aWR3YWxzaC5uYW1lL2ZpcmVmb3gtYnV0dG9ucyovXG4gICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gICAgfVxuICB9XG59XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtYXJnaW46IDA7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGZsZXg7IC8qZm9yY2VzIC5idG4gZnVsbCBoZWlnaHQqL1xuXG4gICYgLmljb24ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBpbml0aWFsO1xuICB9XG5cbiAgQG5lc3QgW2RhdGEtYnV0dG9uX3N0eWxlPSdhbmdsZWQnXSAmIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLThweDtcbiAgfVxufVxuIiwiLmljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcblxuICBAbmVzdCAubm8tc3ZnICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuc3ZnLFxuc3ltYm9sIHtcbiAgJi5pY29uIHtcbiAgICAmIGNpcmNsZSxcbiAgICAmIGVsbGlwc2UsXG4gICAgJiBnLFxuICAgICYgbGluZSxcbiAgICAmIHBhdGgsXG4gICAgJiBwb2x5Z29uLFxuICAgICYgcG9seWxpbmUsXG4gICAgJiByZWN0IHtcbiAgICAgIGZpbGw6IGluaGVyaXQ7XG4gICAgICBzdHJva2U6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG5cbi8qIE92ZXJyaWRlIHRoZSBhYm92ZSBmb3Igb3VyIHN0cm9rZS1vbmx5IGljb25zICovXG5zdmcge1xuICAmLmljb24tY2FydCxcbiAgJi5pY29uLWJhZyxcbiAgJi5pY29uLWJhZy1taW5pbWFsLFxuICAmLmljb24tc2VhcmNoLFxuICAmLmljb24tY2xvc2UsXG4gICYuaWNvbi1jaGV2cm9uLWRvd24sXG4gICYuaWNvbi1lbWFpbCxcbiAgJi5pY29uLXVzZXIsXG4gICYuaWNvbi1oYW1idXJnZXIsXG4gICYuaWNvbi1maWx0ZXIsXG4gICYuaWNvbi1nbG9iZSxcbiAgJi5pY29uLXRydWNrLFxuICAmLmljb24tcGFja2FnZSxcbiAgJi5pY29uLWNpcmNsZS1jaGVja21hcmssXG4gICYuaWNvbi1sZWFmLFxuICAmLmljb24tbG9jayxcbiAgJi5pY29uLWdpZnQsXG4gICYuaWNvbi1yaWJib24sXG4gICYuaWNvbi1waG9uZSxcbiAgJi5pY29uLWhlYXJ0LFxuICAmLmljb24tc2hpZWxkLFxuICAmLmljb24tdGFnLFxuICAmLmljb24tc2l6ZS1jaGFydCxcbiAgJi5pY29uLXRjd2ktYmlsbHMsXG4gICYuaWNvbi10Y3dpLWNhbGVuZGFyLFxuICAmLmljb24tdGN3aS1jYXJ0LFxuICAmLmljb24tdGN3aS1jaGFyaXR5LFxuICAmLmljb24tdGN3aS1nZWFycyxcbiAgJi5pY29uLXRjd2ktZ2lmdCxcbiAgJi5pY29uLXRjd2ktZ2xvYmUsXG4gICYuaWNvbi10Y3dpLW9wZW4tZW52ZWxvcGUsXG4gICYuaWNvbi10Y3dpLXBhY2thZ2UsXG4gICYuaWNvbi10Y3dpLXBsYW50LFxuICAmLmljb24tdGN3aS1yZWN5Y2xlLFxuICAmLmljb24tdGN3aS1yaWJib24sXG4gICYuaWNvbi10Y3dpLXNhbGVzLXRhZyxcbiAgJi5pY29uLXRjd2ktc2hpZWxkLFxuICAmLmljb24tdGN3aS1zdG9wd2F0Y2gsXG4gICYuaWNvbi10Y3dpLXN0b3JlLFxuICAmLmljb24tdGN3aS10aHVtYnMtdXAsXG4gICYuaWNvbi10Y3dpLXRyb3BoeSxcbiAgJi5pY29uLXRjd2ktdHJ1Y2ssXG4gICYuaWNvbi10Y3dpLXdhbGxldCxcbiAgJi5pY29uLXRjd2ktY2hhdCxcbiAgJi5pY29uLXRjd2ktcGhvbmUsXG4gICYuaWNvbi10Y3dpLXNoaXJ0LFxuICAmLmljb24tdGN3aS1zcGFya2xlLFxuICAmLmljb24tdGN3aS1oYW5nZXIsXG4gICYuaWNvbi10Y3dpLXN1bixcbiAgJi5pY29uLXRjd2ktbG9jYXRpb24sXG4gICYuaWNvbi10Y3dpLWxpZ2h0bmluZy1ib2x0LFxuICAmLmljb24tdGN3aS1jcmVkaXQtY2FyZHMsXG4gICYuaWNvbi10Y3dpLWNvdHRvbixcbiAgJi5pY29uLXRjd2ktcmV0dXJuLFxuICAmLmljb24tdGN3aS1oZWFydCB7XG4gICAgJiBjaXJjbGUsXG4gICAgJiBlbGxpcHNlLFxuICAgICYgZyxcbiAgICAmIGxpbmUsXG4gICAgJiBwYXRoLFxuICAgICYgcG9seWdvbixcbiAgICAmIHBvbHlsaW5lLFxuICAgICYgcmVjdCB7XG4gICAgICBmaWxsOiBub25lO1xuICAgICAgc3Ryb2tlLXdpZHRoOiB2YXIoLS1pY29uV2VpZ2h0KTtcbiAgICAgIHN0cm9rZTogY3VycmVudENvbG9yO1xuICAgICAgc3Ryb2tlLWxpbmVjYXA6IHZhcigtLWljb25MaW5lY2Fwcyk7XG4gICAgICBzdHJva2UtbGluZWpvaW46IHZhcigtLWljb25MaW5lY2Fwcyk7XG4gICAgfVxuICB9XG59XG5cbnN2Zy5pY29uLWNhcnQgY2lyY2xlIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4uaWNvbl9fZmFsbGJhY2stdGV4dCB7XG4gIEBtaXhpbiB2aXN1YWxseUhpZGRlbjtcbn1cbiIsIi5qcy1kcmF3ZXItb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5kcmF3ZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1heC13aWR0aDogOTUlO1xuICB6LWluZGV4OiAkemluZGV4RHJhd2VyO1xuICBjb2xvcjogJGNvbG9yRHJhd2VyVGV4dDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yRHJhd2VycztcbiAgYm94LXNoYWRvdzogMCAwIDE1MHB4IHJnYmEoMCwwLDAsMC4xKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG5cbiAgLyogQWxsb3cgd2hvbGUgZHJhd2VyIHRvIGJlIHNjcm9sbGFibGUgb24gc2hvcnQgc2NyZWVuc1xuICAgICB0eXBpY2FsbHkgd2hlbiBBbmRyb2lkIGtleWJvYXJkIGlzIG9wZW4qL1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogJGZpeGVkSGVpZ2h0TGltaXQpIHtcbiAgICBvdmVyZmxvdzogc2Nyb2xsO1xuXG4gICAgJiAuZHJhd2VyX19jb250ZW50cyB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgJiBhOm5vdCguYnRuKSB7XG4gICAgY29sb3I6ICRjb2xvckRyYXdlclRleHQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3JEcmF3ZXJUZXh0O1xuICAgIH1cbiAgfVxuXG4gICYgaW5wdXQsXG4gICYgdGV4dGFyZWEge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yRHJhd2VyQm9yZGVyO1xuICB9XG5cbiAgJiAuYnRuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JEcmF3ZXJCdXR0b247XG4gICAgY29sb3I6ICRjb2xvckRyYXdlckJ1dHRvblRleHQ7XG4gIH1cbn1cblxuLmRyYXdlci0tbGVmdCB7XG4gIHdpZHRoOiAkZHJhd2VyTmF2V2lkdGg7XG4gIGxlZnQ6IC0kZHJhd2VyTmF2V2lkdGg7XG5cbiAgJi5kcmF3ZXItLWlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkZHJhd2VyTmF2V2lkdGgpO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNDVzO1xuICB9XG59XG5cbi5kcmF3ZXItLXJpZ2h0IHtcbiAgd2lkdGg6ICRkcmF3ZXJDYXJ0V2lkdGg7XG4gIHJpZ2h0OiAtJGRyYXdlckNhcnRXaWR0aDtcblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgd2lkdGg6ICRkcmF3ZXJDYXJ0V2lkdGhMYXJnZTtcbiAgICByaWdodDogLSRkcmF3ZXJDYXJ0V2lkdGhMYXJnZTtcbiAgfVxuXG4gICYuZHJhd2VyLS1pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRkcmF3ZXJDYXJ0V2lkdGgpO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNDVzO1xuXG4gICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kZHJhd2VyQ2FydFdpZHRoTGFyZ2UpO1xuICAgIH1cbiAgfVxufVxuXG4uanMtZHJhd2VyLW9wZW4gLm1haW4tY29udGVudDphZnRlcixcbi5qcy1kcmF3ZXItY2xvc2luZyAubWFpbi1jb250ZW50OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yTW9kYWxCZztcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogJHppbmRleERyYXdlck92ZXJsYXk7XG59XG5cbi5qcy1kcmF3ZXItb3BlbiAubWFpbi1jb250ZW50OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBvdmVybGF5LW9uIDAuMzVzIGZvcndhcmRzO1xufVxuXG4uanMtZHJhd2VyLWNsb3NpbmcgLm1haW4tY29udGVudDphZnRlciB7XG4gIGFuaW1hdGlvbjogb3ZlcmxheS1vZmYgMC4yNXMgZm9yd2FyZHM7XG59XG5cbi5kcmF3ZXJfX2hlYWRlcixcbi5kcmF3ZXJfX2ZpeGVkLWhlYWRlcixcbi5kcmF3ZXJfX3Njcm9sbGFibGUsXG4uZHJhd2VyX19mb290ZXIge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLWRyYXdlci1ndXR0ZXIpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1kcmF3ZXItZ3V0dGVyKTtcbn1cblxuLmRyYXdlcl9faGVhZGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1pbi1oZWlnaHQ6ICRkcmF3ZXJIZWFkZXJIZWlnaHQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiBjYWxjKCRndXR0ZXIgLyAyLjYpIDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yRHJhd2VyQm9yZGVyO1xufVxuXG4uZHJhd2VyX19maXhlZC1oZWFkZXIge1xuICBtaW4taGVpZ2h0OiAkZHJhd2VySGVhZGVySGVpZ2h0O1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLypmb3IgY2xvc2UgYnV0dG9uIGhpdCBhcmVhKi9cbn1cblxuLmRyYXdlcl9faGVhZGVyLFxuLmRyYXdlcl9fZml4ZWQtaGVhZGVyIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gIC5kcmF3ZXJfX2hlYWRlcixcbiAgLmRyYXdlcl9fZml4ZWQtaGVhZGVyIHtcbiAgICBtaW4taGVpZ2h0OiAkZHJhd2VySGVhZGVySGVpZ2h0TGFyZ2U7XG4gIH1cbn1cblxuLmRyYXdlcl9fdGl0bGUsXG4uZHJhd2VyX19jbG9zZSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5kcmF3ZXJfX3RpdGxlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5kcmF3ZXJfX2Nsb3NlIHtcbiAgd2lkdGg6IDElO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qQnV0dG9uIHNpdHMgb24gcmlnaHQgYnkgZGVmYXVsdCovXG4uZHJhd2VyX19jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgcmlnaHQ6IGNhbGModmFyKC0tZHJhd2VyLWd1dHRlcikgKiAtMSk7XG4gIHBhZGRpbmc6IDAgdmFyKC0tZHJhd2VyLWd1dHRlcik7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gICY6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JEcmF3ZXJzRGltO1xuICB9XG5cbiAgJiAuaWNvbiB7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIHdpZHRoOiAyOHB4O1xuICB9XG59XG5cbi8qUmFyZSB1c2UgY2FzZSBsZWZ0IGNsb3NlIGJ1dHRvbiovXG4uZHJhd2VyX19jbG9zZS0tbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgJiAuZHJhd2VyX19jbG9zZS1idXR0b24ge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGNhbGModmFyKC0tZHJhd2VyLWd1dHRlcikgKiAtMSk7XG4gIH1cbn1cblxuLmRyYXdlcl9fY29udGVudHMge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5kcmF3ZXJfX2lubmVyLFxuLmRyYXdlcl9fc2Nyb2xsYWJsZSB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG5cbi5kcmF3ZXJfX3Njcm9sbGFibGUge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tZHJhd2VyLWd1dHRlcik7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLmRyYXdlcl9fZm9vdGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3JEcmF3ZXJCb3JkZXI7XG4gIHBhZGRpbmctdG9wOiBjYWxjKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWRyYXdlci1ndXR0ZXIpO1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygkZ3V0dGVyIC8gMS4zNSk7XG4gIH1cbn1cblxuLmRyYXdlcl9faW5uZXIuaXMtbG9hZGluZyB7XG4gICYgLmRyYXdlcl9fc2Nyb2xsYWJsZSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UgMC43cztcbiAgICBvcGFjaXR5OiAwLjQ7XG4gIH1cbn1cblxuLmNhcnQtbm90ZXMge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBtaW4taGVpZ2h0OiA2MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICB9XG59XG4iLCIucGxhY2Vob2xkZXItc3ZnIHtcbiAgZmlsbDogIzk5OTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UxZTFlMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMzBweCAwO1xufVxuXG4ucGxhY2Vob2xkZXItbm9ibG9ja3Mge1xuICBwYWRkaW5nOiA0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qUGxhY2Vob2xkZXIgYW5pbWF0aW9uIGZvciBsb2FkaW5nIHByb2R1Y3QgZm9ybSovXG4ucGxhY2Vob2xkZXItY29udGVudCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGFuaW1hdGlvbjogcGxhY2Vob2xkZXItc2hpbW1lciAxLjNzIGxpbmVhciBpbmZpbml0ZTtcbiAgYmFja2dyb3VuZC1zaXplOiA0MDAlIDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcblxuICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIkBtaXhpbiBhbmltYXRpb24tZGVsYXkgMjA7XG5AbWl4aW4gYXBwZWFyLWRlbGF5IDIwO1xuXG4uYW5pbWF0aW9uLWNyb3BwZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cblxuLmltYWdlLXdyYXAge1xuICBiYWNrZ3JvdW5kOiAkY29sb3JTbWFsbEltYWdlQmc7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmltYWdlLXdyYXAge1xuICAmIHN2ZyxcbiAgJiAuYW5pbWF0ZS1tZSB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIEBuZXN0IC5uby1qcyAmIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG5cbi5hb3MtYW5pbWF0ZSAuaW1hZ2Utd3JhcCB7XG4gICYgc3ZnLFxuICAmIC5hbmltYXRlLW1lIHtcbiAgICBhbmltYXRpb246IGZhZGUtaW4gMXMgY3ViaWMtYmV6aWVyKDAuMjYsIDAuNTQsIDAuMzIsIDEpIDBzIGZvcndhcmRzO1xuICB9XG59XG5cbi5pbWFnZS13cmFwIGltZyB7XG4gIEBuZXN0IFtkYXRhLWFvcz1cInJvdy1vZi0zXCJdLmFvcy1hbmltYXRlOm50aC1jaGlsZCgzbisyKSAmIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDE1MG1zO1xuICB9XG5cbiAgQG5lc3QgW2RhdGEtYW9zPVwicm93LW9mLTNcIl0uYW9zLWFuaW1hdGU6bnRoLWNoaWxkKDNuKzMpICYge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMzAwbXM7XG4gIH1cblxuICBAbmVzdCBbZGF0YS1hb3M9XCJyb3ctb2YtNFwiXS5hb3MtYW5pbWF0ZTpudGgtY2hpbGQoNG4rMikgJiB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAxMjBtcztcbiAgfVxuXG4gIEBuZXN0IFtkYXRhLWFvcz1cInJvdy1vZi00XCJdLmFvcy1hbmltYXRlOm50aC1jaGlsZCg0biszKSAmIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDI0MG1zO1xuICB9XG5cbiAgQG5lc3QgW2RhdGEtYW9zPVwicm93LW9mLTRcIl0uYW9zLWFuaW1hdGU6bnRoLWNoaWxkKDRuKzQpICYge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMzYwbXM7XG4gIH1cblxuICBAbmVzdCBbZGF0YS1hb3M9XCJyb3ctb2YtNVwiXS5hb3MtYW5pbWF0ZTpudGgtY2hpbGQoNW4rMikgJiB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiA3NW1zO1xuICB9XG5cbiAgQG5lc3QgW2RhdGEtYW9zPVwicm93LW9mLTVcIl0uYW9zLWFuaW1hdGU6bnRoLWNoaWxkKDVuKzMpICYge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMTUwbXM7XG4gIH1cblxuICBAbmVzdCBbZGF0YS1hb3M9XCJyb3ctb2YtNVwiXS5hb3MtYW5pbWF0ZTpudGgtY2hpbGQoNW4rNCkgJiB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAyMjVtcztcbiAgfVxuXG4gIEBuZXN0IFtkYXRhLWFvcz1cInJvdy1vZi01XCJdLmFvcy1hbmltYXRlOm50aC1jaGlsZCg1bis1KSAmIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDMwMG1zO1xuICB9XG5cbiAgQG5lc3QgW2RhdGEtYW9zPVwicm93LW9mLTZcIl0uYW9zLWFuaW1hdGU6bnRoLWNoaWxkKDZuKzIpICYge1xuICAgIGFuaW1hdGlvbi1kZWxheTogNTBtcztcbiAgfVxuXG4gIEBuZXN0IFtkYXRhLWFvcz1cInJvdy1vZi02XCJdLmFvcy1hbmltYXRlOm50aC1jaGlsZCg2biszKSAmIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDEwMG1zO1xuICB9XG5cbiAgQG5lc3QgW2RhdGEtYW9zPVwicm93LW9mLTZcIl0uYW9zLWFuaW1hdGU6bnRoLWNoaWxkKDZuKzQpICYge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMTUwbXM7XG4gIH1cblxuICBAbmVzdCBbZGF0YS1hb3M9XCJyb3ctb2YtNlwiXS5hb3MtYW5pbWF0ZTpudGgtY2hpbGQoNm4rNSkgJiB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAyMDBtcztcbiAgfVxuXG4gIEBuZXN0IFtkYXRhLWFvcz1cInJvdy1vZi02XCJdLmFvcy1hbmltYXRlOm50aC1jaGlsZCg2bis2KSAmIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDI1MG1zO1xuICB9XG59XG5cbi5jb2xsZWN0aW9uLWltYWdlIHtcbiAgQG5lc3QgW2RhdGEtYW9zPVwicm93LW9mLTNcIl0uYW9zLWFuaW1hdGU6bnRoLWNoaWxkKDNuKzIpICYge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMTUwbXM7XG4gIH1cblxuICBAbmVzdCBbZGF0YS1hb3M9XCJyb3ctb2YtM1wiXS5hb3MtYW5pbWF0ZTpudGgtY2hpbGQoM24rMykgJiB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcztcbiAgfVxuXG4gIEBuZXN0IFtkYXRhLWFvcz1cInJvdy1vZi00XCJdLmFvcy1hbmltYXRlOm50aC1jaGlsZCg0bisyKSAmIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDEyMG1zO1xuICB9XG5cbiAgQG5lc3QgW2RhdGEtYW9zPVwicm93LW9mLTRcIl0uYW9zLWFuaW1hdGU6bnRoLWNoaWxkKDRuKzMpICYge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMjQwbXM7XG4gIH1cbiAgQG5lc3QgW2RhdGEtYW9zPVwicm93LW9mLTRcIl0uYW9zLWFuaW1hdGU6bnRoLWNoaWxkKDRuKzQpICYge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMzYwbXM7XG4gIH1cblxuICBAbmVzdCBbZGF0YS1hb3M9XCJyb3ctb2YtNVwiXS5hb3MtYW5pbWF0ZTpudGgtY2hpbGQoNW4rMikgJiB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiA3NW1zO1xuICB9XG5cbiAgQG5lc3QgW2RhdGEtYW9zPVwicm93LW9mLTVcIl0uYW9zLWFuaW1hdGU6bnRoLWNoaWxkKDVuKzMpICYge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMTUwbXM7XG4gIH1cblxuICBAbmVzdCBbZGF0YS1hb3M9XCJyb3ctb2YtNVwiXS5hb3MtYW5pbWF0ZTpudGgtY2hpbGQoNW4rNCkgJiB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAyMjVtcztcbiAgfVxuXG4gIEBuZXN0IFtkYXRhLWFvcz1cInJvdy1vZi01XCJdLmFvcy1hbmltYXRlOm50aC1jaGlsZCg1bis1KSAmIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDMwMG1zO1xuICB9XG5cbiAgQG5lc3QgW2RhdGEtYW9zPVwicm93LW9mLTZcIl0uYW9zLWFuaW1hdGU6bnRoLWNoaWxkKDZuKzIpICYge1xuICAgIGFuaW1hdGlvbi1kZWxheTogNTBtcztcbiAgfVxuXG4gIEBuZXN0IFtkYXRhLWFvcz1cInJvdy1vZi02XCJdLmFvcy1hbmltYXRlOm50aC1jaGlsZCg2biszKSAmIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDEwMG1zO1xuICB9XG5cbiAgQG5lc3QgW2RhdGEtYW9zPVwicm93LW9mLTZcIl0uYW9zLWFuaW1hdGU6bnRoLWNoaWxkKDZuKzQpICYge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMTUwbXM7XG4gIH1cblxuICBAbmVzdCBbZGF0YS1hb3M9XCJyb3ctb2YtNlwiXS5hb3MtYW5pbWF0ZTpudGgtY2hpbGQoNm4rNSkgJiB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAyMDBtcztcbiAgfVxuXG4gIEBuZXN0IFtkYXRhLWFvcz1cInJvdy1vZi02XCJdLmFvcy1hbmltYXRlOm50aC1jaGlsZCg2bis2KSAmIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDI1MG1zO1xuICB9XG59XG5cbi5sb2FkaW5nOmFmdGVyLFxuLmxvYWRpbmc6YmVmb3JlLFxuLnVubG9hZDpiZWZvcmUsXG4udW5sb2FkOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDNweDtcbiAgYmFja2dyb3VuZDogJGNvbG9yQm9keTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luOiAtMXB4IDAgMCAtNTBweDtcbiAgei1pbmRleDogJHotaW5kZXgtbG9hZGVyO1xuICBvcGFjaXR5OiAwO1xuXG4gIEBuZXN0IC5uby1qcyAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5sb2FkaW5nOmJlZm9yZSxcbi51bmxvYWQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogJGNvbG9yVGV4dEJvZHk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5sb2FkaW5nOmFmdGVyLFxuLnVubG9hZDphZnRlciB7XG4gIG9wYWNpdHk6IDA7XG4gIGFuaW1hdGlvbjogcHJlbG9hZGluZyAwLjVzIGVhc2UgMC4zcyBpbmZpbml0ZTtcbn1cblxuLmxvYWRpbmctLWRlbGF5ZWQ6YmVmb3JlIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjhzICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXMgIWltcG9ydGFudDtcbn1cblxuLmxvYWRpbmctLWRlbGF5ZWQ6YWZ0ZXIge1xuICBhbmltYXRpb24tZGVsYXk6IDEuM3MgIWltcG9ydGFudDtcbn1cblxuLypEZWxheSBhbmltYXRpb25zLCB1c2VkIGluIGRyYXdlcnMqL1xuLmFwcGVhci1hbmltYXRpb24ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNjBweCk7XG5cbiAgQG5lc3QgW2RhdGEtZGlzYWJsZS1hbmltYXRpb25zPVwidHJ1ZVwiXSAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uanMtZHJhd2VyLW9wZW4gLmFwcGVhci1hbmltYXRpb24ge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbn1cblxuLmpzLWRyYXdlci1jbG9zaW5nIC5hcHBlYXItYW5pbWF0aW9uIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuNXM7XG59XG4iLCJ0b29sLXRpcFtkYXRhLXRvb2wtdGlwLW9wZW49XCJ0cnVlXCJdIC50b29sLXRpcF9faW5uZXIge1xuICBwYWRkaW5nOiA0NXB4O1xuXG4gIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgIHBhZGRpbmc6IDQ1cHggMjBweCAyMHB4O1xuICB9XG59XG5cbi50b29sLXRpcF9fY2xvc2Uge1xuICBwYWRkaW5nOiAxMHB4O1xufVxuIiwiW2RhdGEtY2VudGVyLXRleHQ9XCJjZW50ZXJcIl0gcHJvZHVjdC1yZWNvbW1lbmRhdGlvbnNbZGF0YS1pbnRlbnQ9XCJjb21wbGVtZW50YXJ5XCJdIHtcblxuICAmIC5ncmlkLXByb2R1Y3RfX2NvbG9ycyB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG59XG4iLCJwcmVkaWN0aXZlLXNlYXJjaCB7XG4gICYgLnNlYXJjaF9fcmVzdWx0cyB7XG4gICAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMzBweCk7XG4gICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICAgIH1cbiAgfVxuXG4gICYgZm9ybSB7XG4gICAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgICBtYXJnaW46IDAgMTBweCAwIDIwcHg7XG4gICAgfVxuICB9XG59XG4iLCIuZm9vdGVyLXByb21vdGlvbnMge1xuICBAbWl4aW4gYmFzZVRleHRDZW50ZXI7XG5cbiAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgJiAuZ3JpZF9faXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc2l0ZS1mb290ZXIge1xuICBwYWRkaW5nLWJvdHRvbTogJGd1dHRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yRm9vdGVyO1xuICBjb2xvcjogJGNvbG9yRm9vdGVyVGV4dDtcblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoJGd1dHRlciAqIDIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKCRndXR0ZXIgKiAyKTtcbiAgfVxuXG4gICYgLmZvb3Rlcl9fY29sbGFwc2libGUge1xuICAgIEBtaXhpbiBiYXNlU21hbGxGb250U3RhY2s7XG4gIH1cblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgJiB0ZXh0YXJlYSxcbiAgICAmIHNlbGVjdCxcbiAgICAmIGlucHV0IHtcbiAgICAgIEBtaXhpbiBiYXNlU21hbGxGb250U3RhY2s7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgQG1peGluIGJhc2VUZXh0Q2VudGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgJiAuZ3JpZF9faXRlbSB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yRm9vdGVyVGV4dDtcbiAgICAgICAgb3BhY2l0eTogMC4xMjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiBidXR0b24uZm9vdGVyX190aXRsZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgJiBhIHtcbiAgICBjb2xvcjogJGNvbG9yRm9vdGVyVGV4dDtcbiAgfVxufVxuXG4uZm9vdGVyX19zbWFsbC10ZXh0IHtcbiAgQG1peGluIGJhc2VFeHRyYVNtYWxsRm9udFN0YWNrO1xuICBwYWRkaW5nOiBjYWxjKCRndXR0ZXIgLyA0KSAwO1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBAbmVzdCB1bCArICYge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKCRndXR0ZXIgLyAyKTtcbiAgfVxufVxuXG4uZm9vdGVyX19jbGVhciB7XG4gIGNsZWFyOiBib3RoO1xuICBoZWlnaHQ6ICRndXR0ZXI7XG59XG5cbi5mb290ZXJfX3NlY3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgbWFyZ2luLXRvcDogJGd1dHRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgLmZvb3Rlcl9faXRlbS1wYWRkaW5nIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCRndXR0ZXIgKiAyKTtcbiAgfVxufVxuXG4uZm9vdGVyX190aXRsZSB7XG4gIGNvbG9yOiAkY29sb3JGb290ZXJUZXh0O1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgQG1peGluIGJhc2VUZXh0Q2VudGVyO1xuICB9XG59XG5cbi5zaXRlLWZvb3Rlcl9fbGlua2xpc3Qge1xuICBtYXJnaW46IDA7XG5cbiAgJiBhIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiA0cHggMDtcbiAgfVxufVxuXG4uZm9vdGVyX19uZXdzbGV0dGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9vdGVyX19uZXdzbGV0dGVyLWlucHV0IHtcbiAgcGFkZGluZzogMTBweCA0NXB4IDEwcHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yRm9vdGVyO1xuICBjb2xvcjogJGNvbG9yRm9vdGVyVGV4dDtcbiAgbWF4LXdpZHRoOiAzMDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3JGb290ZXJUZXh0O1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yRm9vdGVyVGV4dDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3JGb290ZXJUZXh0O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmOi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3JGb290ZXJUZXh0O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGNvbG9yRm9vdGVyVGV4dDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3JGb290ZXJUZXh0O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3JGb290ZXJUZXh0O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmZvb3Rlcl9fbmV3c2xldHRlci1pbnB1dC0tYWN0aXZlIHtcbiAgcGFkZGluZy1yaWdodDogODBweDtcbn1cblxuLmZvb3Rlcl9fbmV3c2xldHRlci1idG4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHJpZ2h0OiAwO1xuICBjb2xvcjogJGNvbG9yRm9vdGVyVGV4dDtcbiAgcGFkZGluZzogMDtcblxuICAmIC5pY29uIHtcbiAgICB3aWR0aDogMjZweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gIH1cblxuICBAbmVzdCAuZm9vdGVyX19uZXdzbGV0dGVyLWlucHV0LS1hY3RpdmUgKyAmIHtcbiAgICAmIC5pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJiAuZm9vdGVyX19uZXdzbGV0dGVyLWJ0bi1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlcl9fbmV3c2xldHRlci1idG4tbGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBAbWl4aW4gYmFzZVNtYWxsRm9udFN0YWNrO1xufVxuXG4uZm9vdGVyX19sb2dvIHtcbiAgbWFyZ2luOiBjYWxjKCRndXR0ZXIgLyAyKSAwO1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBtYXJnaW46IDAgMCBjYWxjKCRndXR0ZXIgLyAxLjUpO1xuICB9XG5cbiAgJiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYgaW1nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLmZvb3Rlcl9fc29jaWFsIHtcbiAgbWFyZ2luOiAwO1xuXG4gIEBuZXN0IGZvcm0gKyAmIHtcbiAgICBtYXJnaW4tdG9wOiAkZ3V0dGVyO1xuICB9XG5cbiAgJiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAxNXB4IDE1cHggMDtcbiAgfVxuXG4gICYgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmIC5pY29uIHtcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG5cbiAgICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICB9XG5cbiAgICAmLmljb24tLXdpZGUge1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgfVxuICB9XG59XG5cbi8qQ29sbGFwc2libGUgYnV0dG9ucyovXG4uZm9vdGVyX19jb2xsYXBzaWJsZSB7XG4gIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgIHBhZGRpbmc6IDAgMCBjYWxjKCRndXR0ZXIgLyAyKSAwO1xuICB9XG59XG5cbi5mb290ZXJfY29sbGFwc2libGUtLWRpc2FibGVkIHtcbiAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoJGd1dHRlciAvIDIpO1xuICB9XG59XG5cbi5jb2xsYXBzaWJsZS1jb250ZW50X19pbm5lciBwIHtcbiAgJiBhOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMnB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvckZvb3RlclRleHQ7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC41cyBlYXNlO1xuICB9XG5cbiAgJiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yRm9vdGVyVGV4dEFscGhhMDEpO1xuXG4gICAgJjpob3ZlcjphZnRlcixcbiAgICAmOmZvY3VzOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4uc2l0ZS1mb290ZXIge1xuICAmIHNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tdXJsSWNvU2VsZWN0Rm9vdGVyKTtcbiAgfVxufVxuXG4ucGF5bWVudC1pY29ucyB7XG4gIEBtaXhpbiBiYXNlVGV4dENlbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcblxuICAmIGxpIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgbWFyZ2luOiAwIDRweCAwO1xuICB9XG59XG5cbi5mb290ZXJfX2ZvbGxvdy1vbi1zaG9wIHtcbiAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgbWFyZ2luOiAxNXB4IDA7XG4gIH1cbn1cbiIsIi5ub3RlLFxuLmVycm9ycyB7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKCRndXR0ZXIgLyAyKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgJiB1bCxcbiAgJiBvbCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJiBsaTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJiBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5ub3RlIHtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3JCb3JkZXI7XG59XG5cbi5lcnJvcnMge1xuICAmIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBkaXNjIG91dHNpZGU7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIH1cbn1cblxuLm5vdGUtLXN1Y2Nlc3Mge1xuICBjb2xvcjogJHN1Y2Nlc3NHcmVlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHN1Y2Nlc3NHcmVlbkJnO1xuICBib3JkZXItY29sb3I6ICRzdWNjZXNzR3JlZW47XG5cbiAgJiBhIHtcbiAgICBjb2xvcjogJHN1Y2Nlc3NHcmVlbjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1lcnJvcixcbi5lcnJvcnMge1xuICBjb2xvcjogJGVycm9yUmVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXJyb3JSZWRCZztcbiAgYm9yZGVyLWNvbG9yOiAkZXJyb3JSZWQ7XG5cbiAgJiBhIHtcbiAgICBjb2xvcjogJGVycm9yUmVkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIucGFnaW5hdGlvbiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogY2FsYygkZ3V0dGVyICogMikgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICYgPiBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gICYgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgJiBhLFxuICAmIC5wYWdlLmN1cnJlbnQge1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICB9XG5cbiAgJiAucGFnZS5jdXJyZW50IHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cblxuICAmIC5uZXh0LFxuICAmIC5wcmV2IHtcbiAgICBjb2xvcjogJGNvbG9yQnRuUHJpbWFyeVRleHQ7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yQnRuUHJpbWFyeTtcbiAgICB3aWR0aDogNDNweDtcbiAgICBtYXJnaW46IDAgMTBweDtcblxuICAgIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgICAgd2lkdGg6IDM1cHg7XG4gICAgfVxuXG4gICAgJiBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgIH1cblxuICAgICYgLmljb24ge1xuICAgICAgY29sb3I6ICRjb2xvckJ0blByaW1hcnlUZXh0O1xuICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG5cbiAgICAgIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnJ0ZSB7XG4gIEBtaXhpbiBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygkZ3V0dGVyIC8gNCk7XG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoJGd1dHRlciAvIDIpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJiArIC5ydGUge1xuICAgIG1hcmdpbi10b3A6ICRndXR0ZXI7XG4gIH1cblxuICAmIHAsXG4gICYgdWwsXG4gICYgb2wsXG4gICYgdGFibGUge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gICYgdWwge1xuICAgICYgdWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvKkFkZCBzb21lIHRvcCBtYXJnaW4gdG8gaGVhZGVycyBmcm9tIHRoZSByaWNoIHRleHQgZWRpdG9yKi9cblxuICAmIGgxLCAmIGgyLCAmIGgzLCAmIGg0LCAmIGg1LCAmIGg2IHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIH1cblxuICAmIGgxLCAmIGgyLCAmIGgzLCAmIGg0LCAmIGg1LCAmIGg2IHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgJiBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvKkluIGNhc2UgbWVyY2hhbnRzIHBhc3RlIG1ldGEgdGFncyBpbnRvIHRoZWlyIGNvbnRlbnQgYnkgYWNjaWRlbnQqL1xuXG4gICYgbWV0YTpmaXJzdC1jaGlsZCB7XG4gICAgJiArIGgxLCAmICsgaDIsICYgKyBoMywgJiArIGg0LCAmICsgaDUsICYgKyBoNiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gICYgPiBkaXYge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoJGd1dHRlciAvIDIpO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgJiBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICYgdGFibGUge1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIH1cbn1cblxuLnJ0ZS0tYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICB9XG59XG5cbi5ydGUtc2V0dGluZyB7XG4gICYgPiBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLnJ0ZSxcbi5ydGUtc2V0dGluZyB7XG4gICYgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJiBpbWcge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gICYgYTpub3QoLnJ0ZV9faW1hZ2UpOm5vdCguYnRuKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1jb2xvclRleHRCb2R5QWxwaGEwMTUpO1xuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDFweDtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoY3VycmVudENvbG9yLCBjdXJyZW50Q29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBib3R0b207XG4gICAgYmFja2dyb3VuZC1zaXplOiAwJSAycHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplIDAuNXMgZWFzZTtcbiAgfVxuICBcbiAgJiBhOm5vdCgucnRlX19pbWFnZSk6bm90KC5idG4pOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMnB4O1xuICB9XG5cbiAgJiBhOm5vdCguYnRuKSB7XG4gICAgJjpob3ZlcjphZnRlcixcbiAgICAmOmZvY3VzOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICYgYS5ydGVfX2ltYWdlOmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lO1xuICB9XG59XG5cbi50ZXh0LWNlbnRlciAucnRlLFxuLnRleHQtY2VudGVyLnJ0ZSB7XG4gICYgdWwsXG4gICYgb2wge1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4ucnRlLS1ub21hcmdpbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5ydGUgYixcbi5ydGUgc3Ryb25nLFxuLnJ0ZS1zZXR0aW5nIGIsXG4ucnRlLXNldHRpbmcgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4iLCIuaGVhZGVyLWxheW91dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmhlYWRlci1sYXlvdXQtLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5oZWFkZXItaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXg6IDEgMSBhdXRvO1xufVxuXG4uaGVhZGVyLWl0ZW0tLWxvZ28ge1xuICBmbGV4OiAwIDAgYXV0bztcbn1cblxuLmhlYWRlci1pdGVtLS1pY29ucyB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGZsZXg6IDAgMSBhdXRvO1xufVxuXG4vKlNhbWUgZGVmYXVsdCBsb2dvIGFuZCBpY29uIGNvbnRhaW5lciBzaXplLCBsb2dvIGJsb2NrIHdpZHRoIG92ZXJyaWRlcyovXG4uaGVhZGVyLWxheW91dC0tbGVmdC1jZW50ZXIge1xuICAmIC5oZWFkZXItaXRlbS0tbG9nbyxcbiAgJiAuaGVhZGVyLWl0ZW0tLWljb25zIHtcbiAgICBmbGV4OiAwIDAgMjAwcHg7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG5cbiAgICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgICBtaW4td2lkdGg6IDEzMHB4OyAvKmFwcHJveCB3aWR0aCBvZiAyIGljb25zKi9cbiAgICB9XG4gIH1cbn1cblxuLmhlYWRlci1sYXlvdXRbZGF0YS1sb2dvLWFsaWduPVwiY2VudGVyXCJdIHtcbiAgJiAuaGVhZGVyLWl0ZW0tLWxvZ28ge1xuICAgIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICAgIG1hcmdpbjogMCAzMHB4O1xuICAgIH1cbiAgfVxuXG4gICYgLmhlYWRlci1pdGVtLS1uYXZpZ2F0aW9uLFxuICAmIC5oZWFkZXItaXRlbS0taWNvbnMge1xuICAgIGZsZXg6IDEgMSAxMzBweDsgLyphcHJveCB3aWR0aCBvZiAyIGljb25zKi9cbiAgfVxufVxuXG4uaGVhZGVyLWxheW91dFtkYXRhLWxvZ28tYWxpZ249XCJsZWZ0XCJdIHtcbiAgJiAuc2l0ZS1oZWFkZXJfX2xvZ28ge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygkZ3V0dGVyIC8gMyk7XG4gIH1cbn1cblxuLmhlYWRlci1pdGVtLS1sb2dvLXNwbGl0IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXg6IDEgMSAxMDAlO1xuXG4gICYgLmhlYWRlci1pdGVtOm5vdCguaGVhZGVyLWl0ZW0tLWxvZ28pIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxleDogMSAxIDIwJTtcbiAgfVxufVxuXG4uaGVhZGVyLWl0ZW0tLXNwbGl0LWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4vKkljb24gYWxpZ25tZW50Ki9cbi5oZWFkZXItaXRlbS0tbGVmdCB7XG4gICYgLnNpdGUtbmF2IHtcbiAgICBtYXJnaW4tbGVmdDogLSRzaXRlTmF2SWNvblBhZGRpbmc7XG5cbiAgICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0kc2l0ZU5hdkl0ZW1QYWRkaW5nIC8gMik7XG4gICAgfVxuICB9XG59XG5cbi5oZWFkZXItaXRlbS0taWNvbnMge1xuICAmIC5zaXRlLW5hdiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJHNpdGVOYXZJY29uUGFkZGluZztcblxuICAgIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0kc2l0ZU5hdkl0ZW1QYWRkaW5nIC8gMik7XG4gICAgfVxuICB9XG59XG4iLCIuc2l0ZS1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDdweCAwO1xuICBiYWNrZ3JvdW5kOiAkY29sb3JOYXY7XG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIHBhZGRpbmc6IDIwcHggMDtcblxuICAgIEBuZXN0IC50b29sYmFyICsgLmhlYWRlci1zdGlja3ktd3JhcHBlciAmIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWNvbG9ySGVhZGVyVGV4dEFscGhhMDEpO1xuICAgIH1cbiAgfVxufVxuXG4uc2l0ZS1oZWFkZXItLXN0dWNrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgei1pbmRleDogJHotaW5kZXgtc3R1Y2staGVhZGVyO1xuXG4gIC8qUmVhcnJhbmdlbWVudCBmb3Igd2hlbiB0b3Agc2VhcmNoIGRyYXdlciBpcyBvcGVuIHNvIG5hdiBpcyBhYm92ZSBvdmVybGF5Ki9cbiAgQG5lc3QgLmpzLWRyYXdlci1vcGVuLS1zZWFyY2ggJiB7XG4gICAgei1pbmRleDogJHotaW5kZXgtaGVhZGVyLXNlYXJjaDtcbiAgfVxuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gIH1cbn1cblxuLypEaXNhYmxlIHN0aWNreSBoZWFkZXIgYW5kIGFubm91bmNlbWVudCBiYXIgb24gc2hvcnQgYW5kIHdpZGUgc2NyZWVucyovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MDBweCkgYW5kIChtYXgtaGVpZ2h0OiA1NTBweCkge1xuICAuc2l0ZS1oZWFkZXItLXN0dWNrLFxuICAuc2l0ZS1oZWFkZXItLW9wZW5pbmcge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cblxuLnNpdGUtaGVhZGVyLS1vcGVuaW5nIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcblxuICBAbmVzdCAuaGFzLXN0aWNreS1hbm5vdW5jZW1lbnQtYmFyICYge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgdmFyKC0tc3RpY2t5LWFubm91bmNlbWVudC1iYXItaGVpZ2h0LCAwKSwgMCk7XG4gIH1cbn1cblxuLnNpdGUtaGVhZGVyX19sb2dvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IGNhbGMoJGd1dHRlciAvIDMpIDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDMwcHg7IC8qd2hlbiBubyBpbWFnZSovXG4gIHotaW5kZXg6IGNhbGMoJHppbmRleE5hdkRyb3Bkb3ducyArIDEpO1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBAbmVzdCAudGV4dC1jZW50ZXIgJiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luOiBjYWxjKCRndXR0ZXIgLyAzKSBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBuZXN0IC5oZWFkZXItbGF5b3V0W2RhdGEtbG9nby1hbGlnbj1cImNlbnRlclwiXSAmIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgJiBhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmIGEsXG4gICYgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgQG5lc3QgLnNpdGUtaGVhZGVyICYge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB9XG4gIH1cbn1cblxuLnNpdGUtaGVhZGVyX19sb2dvLWxpbmsge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAkY29sb3JOYXZUZXh0O1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3JOYXZUZXh0O1xuICB9XG5cbiAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuLypTdGlja3kgaGVhZGVyIG9uIHRvcCBvZiBpbWFnZS9zbGlkZXNob3cqL1xuLmhlYWRlci1zdGlja3ktd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogJHotaW5kZXgtaGVhZGVyLXNlYXJjaDtcblxuICAvKiBVcGRhdGUgd2hlbiBkcmF3ZXIgaXMgb3BlbiAqL1xuICBAbmVzdCAuanMtZHJhd2VyLW9wZW46bm90KC5qcy1kcmF3ZXItb3Blbi0tc2VhcmNoKSAmIHtcbiAgICB6LWluZGV4OiAkei1pbmRleC1zdGlja3ktaGVhZGVyO1xuICB9XG5cbiAgLyogV2hlbiBhIGRyb3Bkb3duL21lZ2FtZW51IGlzIG9wZW4sIHJhaXNlIHotaW5kZXggYWJvdmUgdGhlIHN0aWNreSBhbm5vdW5jZW1lbnQgYmFyLlxuICAgICBFeGNlcHRpb246IG92ZXJsYXkgaGVhZGVyIGF0IHRvcCBvZiBwYWdlIChub3QgeWV0IHNjcm9sbGVkL3N0dWNrKSDigJQgaW4gdGhhdCBjYXNlXG4gICAgIHRoZSBhbm5vdW5jZW1lbnQgYmFyIHNob3VsZCByZW1haW4gdmlzaWJsZSBvbiB0b3Agb2YgdGhlIG1lZ2FtZW51LiAqL1xuICAmOmhhcyguc2l0ZS1oZWFkZXItLXN0dWNrKTpoYXMoZGV0YWlsc1tvcGVuXSksXG4gICY6bm90KDpoYXMoLmhlYWRlci13cmFwcGVyLS1zdGlja3kpKTpoYXMoZGV0YWlsc1tvcGVuXSkge1xuICAgIHotaW5kZXg6IGNhbGMoJHotaW5kZXgtaGVhZGVyLXNlYXJjaCArIDIpO1xuICB9XG59XG5cbi5oZWFkZXItd3JhcHBlci0tc3RpY2t5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAkei1pbmRleC1zdGlja3ktaGVhZGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsMCwwLDAuMykgMCUscmdiYSgwLDAsMCwwKSAxMDAlKTtcblxuICAmIC5zaXRlLWhlYWRlcjpub3QoLnNpdGUtaGVhZGVyLS1zdHVjaykge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cblxuICAvKlJlYXJyYW5nZW1lbnQgZm9yIHdoZW4gdG9wIHNlYXJjaCBkcmF3ZXIgaXMgb3BlbiBzbyBuYXYgaXMgYWJvdmUgb3ZlcmxheSovXG4gIEBuZXN0IC5qcy1kcmF3ZXItb3Blbi0tc2VhcmNoICYge1xuICAgIHotaW5kZXg6ICR6LWluZGV4LWhlYWRlci1zZWFyY2g7XG4gIH1cbn1cbiIsIi5zaXRlLWhlYWRlcl9fc2VhcmNoLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMjAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAkei1pbmRleC1oZWFkZXItc2VhcmNoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBib3R0b206IDA7XG4gIH1cbn1cblxuLnNpdGUtaGVhZGVyX19zZWFyY2gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogJHotaW5kZXgtaGVhZGVyLXNlYXJjaDtcbiAgZGlzcGxheTogZmxleDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTEwJSwgMCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvckJvZHk7XG4gIGNvbG9yOiAkY29sb3JUZXh0Qm9keTtcbiAgYm94LXNoYWRvdzogMCAxNXB4IDQ1cHggcmdiKDAsIDAsIDAsIDAuMSk7XG5cbiAgJiAucGFnZS13aWR0aCB7XG4gICAgZmxleDogMSAxIDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICBAbmVzdCAuaXMtYWN0aXZlICYge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAmIC5pY29uIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gIH1cbn1cblxuLnNpdGUtaGVhZGVyX19zZWFyY2gtaW5wdXQge1xuICBib3JkZXI6IDA7XG4gIHdpZHRoOiAxMDBweDsgLypmbGV4Ym94IG92ZXJyaWRlcywgYnV0IGZpeGVzIGJyb3dzZXIgaXNzdWVzKi9cbiAgZmxleDogMSAxIGF1dG87XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IDA7IC8qb25seSBhY3RpdmUgZWxlbWVudCBvbiB0aGUgcGFnZSwgc28gdGhpcyBpcyBhY2NlcHRhYmxlKi9cbiAgfVxufVxuXG4vKlN1Ym1pdCBhbmQgY2FuY2VsIGJ1dHRvbnMqL1xuLnNpdGUtaGVhZGVyX19zZWFyY2gtYnRuIHtcbiAgcGFkZGluZzogMCBjYWxjKCRndXR0ZXIgLyAyKTtcbn1cblxuQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAuc2l0ZS1oZWFkZXJfX3NlYXJjaC1idG4tLXN1Ym1pdCB7XG4gICAgcGFkZGluZzogMCBjYWxjKCRndXR0ZXIgLyAyKSAwIDA7XG5cbiAgICAmIC5pY29uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTFweDtcbiAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLnByZWRpY3RpdmUtcmVzdWx0cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yQm9keTtcbiAgY29sb3I6ICRjb2xvclRleHRCb2R5O1xuICBtYXgtaGVpZ2h0OiA3MHZoO1xuICBtYXgtaGVpZ2h0OiBjYWxjKDkwdmggLSAxMDAlKTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4wOSk7XG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDAlIC0gMzNweCk7IC8qc2VhcmNoIGJhciArIHRvb2xiYXIqL1xuICB9XG59XG5cbi5wcmVkaWN0aXZlX19sYWJlbCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yQm9yZGVyO1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4vKkxheW91dCBmb3IgYXJ0aWNsZS9pbWFnZXMqL1xuJHByZWRpY3RpdmVHYXA6IDEwcHg7XG4ucHJlZGljdGl2ZS1yZXN1bHRfX2xheW91dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogJHByZWRpY3RpdmVHYXA7XG4gIG1hcmdpbi1sZWZ0OiAtJHByZWRpY3RpdmVHYXA7XG4gIG1hcmdpbi1yaWdodDogLSRwcmVkaWN0aXZlR2FwO1xuXG4gICYgPiBkaXYge1xuICAgIG1hcmdpbjogMCAkcHJlZGljdGl2ZUdhcCAkZ3V0dGVyO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgJiBbZGF0YS10eXBlLXByb2R1Y3RzXSB7XG4gICAgZmxleDogMSAxIDYwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgICBtYXJnaW4tbGVmdDogLSRncmlkLWd1dHRlci1zbWFsbDtcblxuICAgICAgQG5lc3QgaHRtbFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1ndXR0ZXItc21hbGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiAuZ3JpZC1wcm9kdWN0X19pbWFnZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICYgW2RhdGEtdHlwZS1jb2xsZWN0aW9uc10sXG4gICYgW2RhdGEtdHlwZS1wYWdlc10ge1xuICAgIGZsZXg6IDEgMSAyMDBweDtcbiAgfVxuXG4gICYgW2RhdGEtdHlwZS1hcnRpY2xlc10ge1xuICAgIGZsZXg6IDEgMSA2MCU7XG5cbiAgICAmIC5ncmlkLXByb2R1Y3RfX2xpbmstLWlubGluZSB7XG4gICAgICBnYXA6IDEwcHg7XG4gICAgfVxuICB9XG59XG5cbi5wcmVkaWN0aXZlX19pbWFnZS13cmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG5cbiAgJiBpbWcge1xuICAgIG9iamVjdC1wb3NpdGlvbjogNTAlIDA7XG4gIH1cbn1cblxuLnByZWRpY3RpdmUtcmVzdWx0c19fZm9vdGVyIHtcbiAgcGFkZGluZzogMCAwIDMwcHg7XG59XG4iLCIuc2VhcmNoLWJhciB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnNlYXJjaC1iYXItLXBhZ2Uge1xuICBtYXgtd2lkdGg6IDMwMHB4O1xuICBtYXJnaW4tdG9wOiBjYWxjKC0kZ3V0dGVyIC8gMik7XG5cbiAgQG5lc3QgW2RhdGEtdHlwZV9oZWFkZXJzX2FsaWduX3RleHQ9XCJjZW50ZXJcIl0gJiB7XG4gICAgbWFyZ2luOiBjYWxjKC0kZ3V0dGVyIC8gMikgYXV0byAwO1xuICB9XG59XG5cbi5zZWFyY2gtYmFyLS1kcmF3ZXIge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoJGd1dHRlciAvIDIpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvckRyYXdlckJvcmRlcjtcblxuICAmIGlucHV0IHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLnNlYXJjaC1iYXIgLmljb24ge1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuIiwiLnRvb2xiYXIge1xuICBiYWNrZ3JvdW5kOiAkY29sb3JOYXY7XG4gIGNvbG9yOiAkY29sb3JOYXZUZXh0O1xuICBAbWl4aW4gYmFzZVNtYWxsRm9udFN0YWNrO1xuXG4gICYgYSB7XG4gICAgY29sb3I6ICRjb2xvck5hdlRleHQ7XG4gIH1cblxuICAvKkRvIG5vdCBzaG93IGluIHN0aWNreSBoZWFkZXIqL1xuICBAbmVzdCAuc2l0ZS1oZWFkZXItLXN0dWNrICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRvb2xiYXItLXRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAkY29sb3JTdGlja3lOYXZMaW5rcztcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuICAmIGEge1xuICAgIGNvbG9yOiAkY29sb3JTdGlja3lOYXZMaW5rcztcbiAgfVxuXG4gICYgLnRvb2xiYXJfX2NvbnRlbnQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMik7XG4gIH1cbn1cblxuLnRvb2xiYXJfX2NvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udG9vbGJhcl9faXRlbSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBwYWRkaW5nOiAwIDVweDtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAmIHNlbGVjdCxcbiAgJiAuZmF1eC1zZWxlY3Qge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIH1cbn1cblxuLnRvb2xiYXJfX2l0ZW0tLW1lbnUge1xuICBmbGV4OiAxIDEgYXV0bztcbn1cblxuLnRvb2xiYXJfX21lbnUge1xuICBtYXJnaW4tbGVmdDogY2FsYygtJGd1dHRlciAvIDMpOyAvKmVxdWl2YWxlbnQgb2YgYSBwYWRkaW5nKi9cblxuICAmIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDVweCBjYWxjKCRndXR0ZXIgLyAzKTtcbiAgfVxufVxuXG4udG9vbGJhcl9fc29jaWFsIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgJiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiA1cHg7XG4gIH1cblxuICAmIC5pY29uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMnB4O1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgfVxufVxuIiwiLnNlY3Rpb24taGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNlY3Rpb25IZWFkZXJCb3R0b21TbWFsbDtcblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNlY3Rpb25IZWFkZXJCb3R0b207XG4gIH1cblxuICBAbmVzdCBbZGF0YS10eXBlX2hlYWRlcnNfYWxpZ25fdGV4dD1cImNlbnRlclwiXSAmIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmIHNlbGVjdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbn1cblxuLnNlY3Rpb24taGVhZGVyLS1mbHVzaCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5zZWN0aW9uLWhlYWRlci0td2l0aC1saW5rIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAmIHNlbGVjdCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbn1cblxuLnNlY3Rpb24taGVhZGVyLS1oZXJvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAxIDEgMTAwJTtcbiAgY29sb3I6ICRjb2xvckhlcm9UZXh0O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICYgYSB7XG4gICAgY29sb3I6ICRjb2xvckhlcm9UZXh0O1xuICB9XG59XG5cbi5zZWN0aW9uLWhlYWRlcl9fc2hhZG93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJjpiZWZvcmUge1xuICAgIEBtaXhpbiBvdmVybGF5O1xuICAgIEBtaXhpbiBoZXJvUmFkaWFsO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgJiAuYnJlYWRjcnVtYixcbiAgJiAuc2VjdGlvbi1oZWFkZXJfX3RpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuLnNlY3Rpb24taGVhZGVyX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgQG5lc3QgLnNlY3Rpb24taGVhZGVyLS13aXRoLWxpbmsgJiB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIH1cblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgQG5lc3QgLnNlY3Rpb24taGVhZGVyLS1oZXJvICYge1xuICAgICAgZm9udC1zaXplOiB2YXIoLS10eXBlSDFTaXplSGVybyk7XG4gICAgfVxuICB9XG59XG5cbi5zZWN0aW9uLWhlYWRlcl9fbGluayB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBtYXJnaW4tdG9wOiAyNXB4O1xuXG4gIEBuZXN0IC5zZWN0aW9uLWhlYWRlci0td2l0aC1saW5rICYge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLnNlY3Rpb24taGVhZGVyLS00MDQge1xuICBwYWRkaW5nLXRvcDogODBweDtcbn1cblxuLnNlY3Rpb24taGVhZGVyIHNlbGVjdCB7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuXG4uc2VjdGlvbi1oZWFkZXIgcCB7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuIiwiLnNpdGUtbmF2IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uc2l0ZS1uYXZpZ2F0aW9uIHtcbiAgQG5lc3QgLnRleHQtY2VudGVyICYge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgQG5lc3QgLmhlYWRlci1sYXlvdXQtLWxlZnQgJiB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKCRndXR0ZXIgLyAzKTtcbiAgfVxufVxuXG4uc2l0ZS1uYXZfX2ljb25zIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnNpdGUtbmF2X19pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICAmIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYgLmljb24tY2hldnJvbi1kb3duIHtcbiAgICB3aWR0aDogJGRlc2t0b3BNZW51Q2hldnJvblNpemU7XG4gICAgaGVpZ2h0OiAkZGVza3RvcE1lbnVDaGV2cm9uU2l6ZTtcbiAgfVxufVxuXG4uc2l0ZS1uYXZfX2xpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcGFkZGluZzogY2FsYygkc2l0ZU5hdkl0ZW1QYWRkaW5nIC8gMikgJHNpdGVOYXZJdGVtUGFkZGluZztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY29sb3I6ICRjb2xvck5hdlRleHQ7XG5cbiAgQG5lc3QgLnNpdGUtaGVhZGVyLS1oZWFkaW5nLXN0eWxlICYge1xuICAgIEBtaXhpbiBoZWFkaW5nRm9udFN0YWNrO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvck5hdlRleHQ7XG4gIH1cblxuICBAbmVzdCAuaXMtbGlnaHQgJiB7XG4gICAgY29sb3I6ICRjb2xvclN0aWNreU5hdkxpbmtzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGNvbG9yU3RpY2t5TmF2TGlua3M7XG4gICAgfVxuICB9XG5cbiAgQG5lc3QgLnNpdGUtbmF2LS1oYXMtZHJvcGRvd24gPiAmIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogY2FsYygkemluZGV4TmF2RHJvcGRvd25zICsgMSk7XG4gIH1cblxuICAmIC5pY29uLWNoZXZyb24tZG93biB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgfVxuXG4gIEBtZWRpYSAoLS1tZWRpdW0tZG93bikge1xuICAgIHBhZGRpbmc6IGNhbGMoJHNpdGVOYXZJdGVtUGFkZGluZyAvIDIpO1xuXG4gICAgQG5lc3QgLmhlYWRlci1sYXlvdXQtLWNlbnRlciAmIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgIH1cbiAgfVxufVxuXG4uc2l0ZS1uYXZfX2xpbmstLXVuZGVybGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwICRzaXRlTmF2SXRlbVBhZGRpbmc7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvck5hdlRleHQ7XG4gICAgdHJhbnNpdGlvbjogcmlnaHQgMC41cztcblxuICAgIEBuZXN0IFtkYXRhLWRpc2FibGUtYW5pbWF0aW9ucz1cInRydWVcIl0gJiB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8qV2hpdGUgdW5kZXJsaW5lIHdoZW4gbm8gZHJvcGRvd24qL1xuICBAbmVzdCAuaXMtbGlnaHQgLnNpdGUtbmF2X19pdGVtOm5vdCguc2l0ZS1uYXYtLWhhcy1kcm9wZG93bikgJjphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbiAgfVxuXG4gIC8qRHJvcGRvd24gdGV4dCBjb2xvciB1bmRlcmxpbmUgd2hlbiBpbiBkcm9wZG93biBsaW5rKi9cbiAgQG5lc3QgLnNpdGUtbmF2LS1oYXMtZHJvcGRvd24gJjphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yTmF2VGV4dDtcbiAgfVxuXG4gIC8qV2hpdGUgRHJvcGRvd24gdGV4dCBjb2xvciB1bmRlcmxpbmUgd2hlbiBpbiBkcm9wZG93biBsaW5rKi9cbiAgQG5lc3QgLmlzLWxpZ2h0IC5zaXRlLW5hdi0taGFzLWRyb3Bkb3duICY6YWZ0ZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7XG4gIH1cblxuICBAbmVzdCAuc2l0ZS1uYXZfX2l0ZW06aG92ZXIgJjphZnRlciB7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cblxuLnNpdGUtbmF2X19kZXRhaWxzIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICYgLnNpdGUtbmF2X19kcm9wZG93bixcbiAgJiAubWVnYW1lbnUge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxufVxuXG4vKktlZXAgYWN0aXZlIHN0YXRlIG9uIHBhcmVudCBkcm9wZG93biBsaW5rKi9cbi5zaXRlLW5hdi0taGFzLWRyb3Bkb3duIHtcbiAgei1pbmRleDogY2FsYygkemluZGV4TmF2RHJvcGRvd25zICsgMSk7XG5cbiAgJi5pcy1mb2N1c2VkLFxuICAmOmhvdmVyIHtcbiAgICB6LWluZGV4OiBjYWxjKCR6aW5kZXhOYXZEcm9wZG93bnMgKyAyKTtcbiAgfVxufVxuXG4uc2l0ZS1uYXYtLWhhcy1kcm9wZG93bi5pcy1mb2N1c2VkID4gYSxcbi5zaXRlLW5hdi0taGFzLWRyb3Bkb3duOmhvdmVyID4gYSB7XG4gIGNvbG9yOiAkY29sb3JUZXh0Qm9keSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JOYXY7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5zaXRlLW5hdl9fbGluay0taWNvbiB7XG4gIHBhZGRpbmctbGVmdDogJHNpdGVOYXZJY29uUGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHNpdGVOYXZJY29uUGFkZGluZztcblxuICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoJHNpdGVOYXZJdGVtUGFkZGluZyAvIDIpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoJHNpdGVOYXZJdGVtUGFkZGluZyAvIDIpO1xuXG4gICAgJiArIC5zaXRlLW5hdl9fbGluay0taWNvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogLTRweDsgLyp+YW1vdW50IG9mIGlubGluZS1ibG9jayBzcGFjZSovXG4gICAgfVxuICB9XG5cbiAgJiAuaWNvbiB7XG4gICAgd2lkdGg6ICRkZXNrdG9wTWVudUljb25TaXplO1xuICAgIGhlaWdodDogJGRlc2t0b3BNZW51SWNvblNpemU7XG4gIH1cbn1cblxuLnNpdGUtbmF2X19kcm9wZG93biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiAwO1xuICB6LWluZGV4OiAkemluZGV4TmF2RHJvcGRvd25zO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JOYXY7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogY2FsYygkZ3V0dGVyIC8gMykgMCA1cHg7XG4gIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4wOSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEycHgsIDApO1xuXG4gIEBuZXN0IGRldGFpbHNbb3Blbl0gPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGN1YmljLWJlemllcigwLjIsIDAuMDYsIDAuMDUsIDAuOTUpO1xuICB9XG5cbiAgJiBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgJiA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiBjYWxjKCR6aW5kZXhOYXZEcm9wZG93bnMgKyAxKTtcbiAgICB9XG4gIH1cblxuICAmIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvck5hdjtcbiAgICBjb2xvcjogJGNvbG9yTmF2VGV4dDtcbiAgfVxufVxuXG4uc2l0ZS1uYXZfX2RlZXAtZHJvcGRvd24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JOYXY7XG4gIGJveC1zaGFkb3c6IDAgMTBweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4wOSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogJHppbmRleE5hdkRyb3Bkb3ducztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTJweCwgMCwgMCk7XG5cbiAgQG5lc3QgLnNpdGUtbmF2X19kZWVwLWRyb3Bkb3duLXRyaWdnZXI6aG92ZXIgJixcbiAgLmlzLWZvY3VzZWQgKyAmIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgY3ViaWMtYmV6aWVyKDAuMiwgMC4wNiwgMC4wNSwgMC45NSk7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC4wOSksIHRyYW5zcGFyZW50KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICYgLnNpdGUtbmF2X19kcm9wZG93bi1saW5rOmhvdmVyLFxuICAmIC5zaXRlLW5hdl9fZHJvcGRvd24tbGluazpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yTmF2RGltO1xuICB9XG59XG5cbi5zaXRlLW5hdl9fZHJvcGRvd24tbGluay0taGFzLWNoaWxkcmVuIHtcbiAgQG5lc3QgLnNpdGUtbmF2X19kZWVwLWRyb3Bkb3duLXRyaWdnZXI6aG92ZXIgJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yTmF2RGltO1xuICB9XG59XG5cbi5zaXRlLW5hdl9fZHJvcGRvd24tbGluay0tc2Vjb25kLWxldmVsIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yTmF2RGltO1xuICB9XG59XG5cbi8qUm90YXRlIHRvIGZhY2UgcmlnaHQqL1xuLnNpdGUtbmF2X19kZWVwLWRyb3Bkb3duLXRyaWdnZXIgLmljb24tY2hldnJvbi1kb3duIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDEwcHg7XG4gIHdpZHRoOiAkZGVza3RvcE1lbnVDaGV2cm9uU2l6ZTtcbiAgaGVpZ2h0OiAkZGVza3RvcE1lbnVDaGV2cm9uU2l6ZTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGVYKDUwJSk7XG59XG5cbi8qIEluY3JlYXNlIHotaW5kZXggb24gYW4gb3BlbiBkcm9wZG93biB0byBhdm9pZCBvdmVybGFwcGluZyBtdWx0aS1saW5lIG5hdnMgKi9cbi5zaXRlLW5hdl9fZGV0YWlsc1tvcGVuXSAuc2l0ZS1uYXZfX2Ryb3Bkb3duIHtcbiAgei1pbmRleDogY2FsYygkemluZGV4TmF2RHJvcGRvd25zICsgMyk7XG59XG5cbi8qIFJhaXNlIHRoZSBwYXJlbnQgbmF2IGl0ZW0ncyBzdGFja2luZyBjb250ZXh0IHdoZW4gaXRzIGRyb3Bkb3duIGlzIG9wZW4sXG4gICBzbyBpdCBzaXRzIGFib3ZlIG90aGVyIG5hdiBpdGVtcyB0aGF0IG1heSBiZSBob3ZlcmVkICgrMikgKi9cbi5zaXRlLW5hdi0taGFzLWRyb3Bkb3duOmhhcyhkZXRhaWxzW29wZW5dKSB7XG4gIHotaW5kZXg6IGNhbGMoJHppbmRleE5hdkRyb3Bkb3ducyArIDMpO1xufVxuXG4ubW9iaWxlLW5hdiB7XG4gIG1hcmdpbjogY2FsYyh2YXIoLS1kcmF3ZXItZ3V0dGVyKSAqIC0xKSBjYWxjKHZhcigtLWRyYXdlci1ndXR0ZXIpICogLTEpIDA7XG5cbiAgJiBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG59XG5cbi5tb2JpbGUtbmF2X19zZWFyY2gge1xuICBwYWRkaW5nOiBjYWxjKCRndXR0ZXIgLyAyKTtcbn1cblxuLm1vYmlsZS1uYXZfX2l0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC8qQmFja2dyb3VuZCBjb2xvciBvbiB0b3AgbGV2ZWwgaXRlbXMgc28gdGhlcmUgaXMgbm9cbiAgZWxlbWVudCBvdmVybGFwIG9uIHN1Ym5hdidzIENTUyB0b2dnbGUgYW5pbWF0aW9uKi9cbiAgQG5lc3QgLm1vYmlsZS1uYXYgPiAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JEcmF3ZXJzO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiB2YXIoLS1kcmF3ZXItZ3V0dGVyKTtcbiAgICByaWdodDogdmFyKC0tZHJhd2VyLWd1dHRlcik7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvckRyYXdlckJvcmRlcjtcbiAgfVxufVxuXG4vKkxvZ2luL2xvZ291dCBsaW5rcyBjYW4ndCBoYXZlIGEgY2xhc3Mgb24gdGhlbSwgc28gc3R5bGUgPGE+IGVsZW1lbnQqL1xuLm1vYmlsZS1uYXZfX2xpbmssXG4ubW9iaWxlLW5hdl9fZmF1eC1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tb2JpbGUtbmF2X19saW5rLS10b3AtbGV2ZWwge1xuICBmb250LXNpemU6IDEuNGVtO1xuXG4gIEBuZXN0IC5tb2JpbGUtbmF2LS1oZWFkaW5nLXN0eWxlICYge1xuICAgIEBtaXhpbiBoZWFkaW5nRm9udFN0YWNrO1xuICB9XG59XG5cbi5tb2JpbGUtbmF2X19saW5rLFxuLm1vYmlsZS1uYXZfX2ZhdXgtbGluayxcbi5tb2JpbGUtbmF2X190b2dnbGUgYnV0dG9uLFxuLm1vYmlsZS1uYXZfX3RvZ2dsZSAuZmF1eC1idXR0b24ge1xuICBjb2xvcjogJGNvbG9yRHJhd2VyVGV4dDtcbiAgcGFkZGluZzogY2FsYygkZ3V0dGVyIC8gMikgdmFyKC0tZHJhd2VyLWd1dHRlcik7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRjb2xvckRyYXdlclRleHREYXJrO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvckRyYXdlcnNEaW07XG4gIH1cbn1cblxuLm1vYmlsZS1uYXZfX2NoaWxkLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gICYgYSxcbiAgJiAubW9iaWxlLW5hdl9fbGluayB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAmIC5jb2xsYXBzaWJsZS10cmlnZ2VyOm5vdCgubW9iaWxlLW5hdl9fbGluay0tYnV0dG9uKSB7XG4gICAgZmxleDogMCAwIGNhbGMoJGNvbGxhcHNpYmxlLXRyaWdnZXItY2lyY2xlLXdpZHRoICsgMTZweCk7XG4gIH1cblxuICAmIC5jb2xsYXBzaWJsZS10cmlnZ2VyX19pY29uIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgfVxuXG4gIEBuZXN0IFtkaXI9XCJydGxcIl0gJiB7XG4gICAgJiAuY29sbGFwc2libGUtdHJpZ2dlcl9faWNvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICB9XG4gIH1cbn1cblxuLm1vYmlsZS1uYXZfX2l0ZW0tLXNlY29uZGFyeSB7XG4gICYgYSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IC8qbm8gdHJhaWxpbmcgYm9yZGVyKi9cbiAgfVxufVxuXG4vKlNwYWNpbmcgYWJvdmUgc2Vjb25kYXJ5IGxpbmtzKi9cbi5tb2JpbGUtbmF2X19pdGVtOm5vdCgubW9iaWxlLW5hdl9faXRlbS0tc2Vjb25kYXJ5KSArIC5tb2JpbGUtbmF2X19pdGVtLS1zZWNvbmRhcnkge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4ubW9iaWxlLW5hdl9faGFzLXN1Ymxpc3QsXG4ubW9iaWxlLW5hdl9fbGluay0tYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAmID4gKiB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDsgLypCcmVha3MgbG9uZyBwcm9ibGVtYXRpYyB3b3JkcyovXG4gIH1cbn1cblxuLm1vYmlsZS1uYXZfX2xpbmstLWJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nOiAwO1xufVxuXG4ubW9iaWxlLW5hdl9fdG9nZ2xlIHtcbiAgZmxleDogMCAxIGF1dG87XG5cbiAgJiAuaWNvbiB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICB9XG5cbiAgJiBidXR0b24sXG4gICYgLmZhdXgtYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDYwJTtcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgbWFyZ2luOiAyMCUgMDtcbiAgfVxuXG4gICYgYnV0dG9uIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3JEcmF3ZXJCb3JkZXI7XG4gIH1cblxuICBAbmVzdCBbZGlyPVwicnRsXCJdICYge1xuICAgICYgYnV0dG9uIHtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRjb2xvckRyYXdlckJvcmRlcjtcbiAgICB9XG4gIH1cbn1cblxuLm1vYmlsZS1uYXZfX3N1Ymxpc3Qge1xuICBtYXJnaW46IDA7XG5cbiAgJiAubW9iaWxlLW5hdl9faXRlbTphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG5cbiAgJiAubW9iaWxlLW5hdl9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygkZ3V0dGVyIC8gMik7XG4gIH1cblxuICAmIC5tb2JpbGUtbmF2X19saW5rLFxuICAmIC5tb2JpbGUtbmF2X19mYXV4LWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgcGFkZGluZzogY2FsYygkZ3V0dGVyIC8gNCkgMjVweCBjYWxjKCRndXR0ZXIgLyA0KSB2YXIoLS1kcmF3ZXItZ3V0dGVyKTtcbiAgfVxufVxuXG4ubW9iaWxlLW5hdl9fZ3JhbmRjaGlsZGxpc3Qge1xuICBtYXJnaW46IDA7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgbGVmdDogMTdweDtcbiAgICB0b3A6IDEwcHg7XG4gICAgYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgQG5lc3QgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDE3cHg7XG4gICAgfVxuICB9XG5cbiAgJiAubW9iaWxlLW5hdl9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuXG4gICYgLm1vYmlsZS1uYXZfX2xpbmsge1xuICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgfVxufVxuXG4ubW9iaWxlLW5hdl9fc29jaWFsIHtcbiAgbGlzdC1zdHlsZTogbm9uZSBvdXRzaWRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcbiAgbWFyZ2luOiAxNXB4IDAgMjBweCAwO1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1kcmF3ZXItZ3V0dGVyKSAqIC0xKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tZHJhd2VyLWd1dHRlcikgKiAtMSk7XG4gIH1cblxuICAmIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEycHggMzBweDtcblxuICAgICYgLmljb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtMXB4O1xuICAgIH1cbiAgfVxufVxuXG4ubW9iaWxlLW5hdl9fc29jaWFsLWl0ZW0ge1xuICBmbGV4OiAwIDEgMzMuMzMlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICRjb2xvckRyYXdlckJvcmRlcjtcbiAgbWFyZ2luOiAwIDAgLTFweDtcblxuICAmOm50aC1jaGlsZCgzbi0xKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICB9XG59XG5cbkBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgLnNpdGUtbmF2X19saW5rLS1pY29uIC5pY29uIHtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG5cbiAgICAmLmljb24tdXNlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDFweDtcbiAgICB9XG4gIH1cbn1cblxuLmNhcnQtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXJ0LWxpbmtfX2J1YmJsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jYXJ0LWxpbmtfX2J1YmJsZS0tdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yQ2FydERvdDtcbiAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yQm9keTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIC8qU2xpZ2h0IHBvc2l0aW9uIGNoYW5nZSB3aXRoIGNhcnQgaWNvbiovXG4gIEBuZXN0IFtkYXRhLWljb249XCJjYXJ0XCJdICYge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogLTRweDtcbiAgfVxuXG4gIEBuZXN0IFtkYXRhLWljb249XCJiYWctbWluaW1hbFwiXSAmIHtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgfVxufVxuXG4uYnJlYWRjcnVtYiB7XG4gIEBtaXhpbiBoZWFkaW5nVGV4dENlbnRlcjtcbiAgQG1peGluIGJhc2VTbWFsbEZvbnRTdGFjaztcbiAgbWFyZ2luOiAtMjVweCAwIDEwcHg7XG5cbiAgQG5lc3QgLnRlbXBsYXRlLXByb2R1Y3QgJiB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygkZ3V0dGVyIC8gMik7XG4gIH1cbn1cblxuLmJyZWFkY3J1bWJfX2RpdmlkZXIge1xuICBjb2xvcjogY3VycmVudENvbG9yO1xufVxuIiwiLm1lZ2FtZW51IHtcbiAgcGFkZGluZzogY2FsYygkZ3V0dGVyICogMS4zKSAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tdHlwZUhlYWRlckxpbmVIZWlnaHQpO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIGNvbG9yOiAkY29sb3JOYXZUZXh0O1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgY3ViaWMtYmV6aWVyKDAuMiwgMC4wNiwgMC4wNSwgMC45NSk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuM3M7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1oZWFkZXItaGVpZ2h0LCAxMDBweCkpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gIEBuZXN0IGRldGFpbHNbb3Blbl0gPiAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuXG4gICAgJiAuYXBwZWFyLWFuaW1hdGlvbiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uc2l0ZS1uYXYtLWlzLW1lZ2FtZW51LnNpdGUtbmF2X19pdGVtIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbn1cblxuLm1lZ2FtZW51X19jb2xsZWN0aW9uLWltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKCRndXR0ZXIgLyAxLjUpO1xufVxuXG4vKkNlbnRlciBncmlkIGl0ZW1zIGluIG1lZ2FtZW51IHdoZW4gbG9nbyBjZW50ZXJlZCovXG4udGV4dC1jZW50ZXIgLm1lZ2FtZW51IC5ncmlkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICYgLmdyaWRfX2l0ZW0ge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuLm1lZ2FtZW51IC5zaXRlLW5hdl9fZHJvcGRvd24tbGluazpub3QoLnNpdGUtbmF2X19kcm9wZG93bi1saW5rLS10b3AtbGV2ZWwpIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tdHlwZUJhc2VTaXplKSAtIDFweCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLXR5cGVCYXNlTGluZUhlaWdodCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yTmF2VGV4dDtcbiAgICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuNXM7XG5cbiAgICAgIEBuZXN0IFtkYXRhLWRpc2FibGUtYW5pbWF0aW9ucz1cInRydWVcIl0gJiB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlcjphZnRlciB7XG4gICAgICByaWdodDogMDtcbiAgICB9XG59XG5cbi5tZWdhbWVudSBoNSxcbi5tZWdhbWVudSAuaDUge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBNZWdhbWVudSBsYXlvdXQgKi9cbi5tZWdhbWVudV9faW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAkZ3V0dGVyO1xufVxuXG4ubWVnYW1lbnVfX2lubmVyLS1jZW50ZXIge1xuICAmIC5tZWdhbWVudV9fbmF2IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE4MHB4LCAyMjBweCkpO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG5cbi5tZWdhbWVudV9fbmF2IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTgwcHgsIDFmcikpO1xuICBnYXA6ICRndXR0ZXI7XG4gIGZsZXg6IDEgMSAwJTtcbiAgbWluLXdpZHRoOiAwO1xuXG4gICYgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLm1lZ2FtZW51X19jb2x1bW4ge1xuICBtaW4td2lkdGg6IDEwMHB4O1xuICBtYXgtd2lkdGg6IDMwMHB4O1xufVxuXG4ubWVnYW1lbnVfX2NvbHVtbi1pbWFnZSB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoJGd1dHRlciAvIDEuNSk7XG59XG5cbi5tZWdhbWVudV9fY29sdW1uLWltYWdlLXBsYWNlaG9sZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygkZ3V0dGVyIC8gMS41KTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBQcm9tbyB0aWxlcyAqL1xuLm1lZ2FtZW51X19wcm9tb3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6ICRndXR0ZXI7XG4gIGZsZXg6IDAgMCAzMyU7XG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1lZ2FtZW51X19pbm5lcjpoYXMoLm1lZ2FtZW51X19wcm9tb3MtLWJlZm9yZSk6aGFzKC5tZWdhbWVudV9fcHJvbW9zLS1hZnRlcikge1xuICAmIC5tZWdhbWVudV9fcHJvbW9zIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDMzJSAvIDIpO1xuICB9XG59XG5cbi5tZWdhbWVudV9fcHJvbW8ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleDogMSAxIDAlO1xuICBtaW4td2lkdGg6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4ubWVnYW1lbnVfX3Byb21vLWltYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygkZ3V0dGVyIC8gMik7XG59XG5cbi5tZWdhbWVudV9fcHJvbW8taW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4ubWVnYW1lbnVfX3Byb21vLWNvbnRlbnQge1xuICBwYWRkaW5nOiAwIDJweDtcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbn1cblxuLm1lZ2FtZW51X19wcm9tby1oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcblxuICAmLmg0IHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxufVxuXG4ubWVnYW1lbnVfX3Byb21vLXRleHQge1xuICBmb250LXNpemU6IGNhbGModmFyKC0tdHlwZUJhc2VTaXplKSAtIDFweCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS10eXBlQmFzZUxpbmVIZWlnaHQpO1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4vKiBNb2JpbGUgcHJvbW9zICovXG5AbWVkaWEgKC0tc21hbGwpIHtcbiAgLm1lZ2FtZW51X19tb2JpbGUtcHJvbW9zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMzBweDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHBhZGRpbmc6ICRndXR0ZXIgdmFyKC0tZHJhd2VyLWd1dHRlcik7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgJiAubWVnYW1lbnVfX3Byb21vIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAmIC5tZWdhbWVudV9fcHJvbW86b25seS1jaGlsZCB7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICB3aWR0aDogNzUlO1xuICAgICAgbWF4LXdpZHRoOiAyODBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICAgICYgLmJ0bi0tc2Vjb25kYXJ5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICRjb2xvckRyYXdlclRleHQ7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvckRyYXdlckJvcmRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi5tb2RhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAkemluZGV4TW9kYWw7XG4gIGNvbG9yOiAkY29sb3JNb2RhbFRleHQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICYubW9kYWwtLXF1aWNrLXNob3Age1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG5cbiAgJiBhLFxuICAmIGE6aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAgJiAuYnRuOm5vdChbZGlzYWJsZWRdKTpub3QoLmJ0bi0tc2Vjb25kYXJ5KTpub3QoLmJ0bi0tYm9keSksXG4gICYgLmJ0bjpub3QoW2Rpc2FibGVkXSk6bm90KC5idG4tLXNlY29uZGFyeSk6bm90KC5idG4tLWJvZHkpOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yQnRuUHJpbWFyeVRleHQ7XG4gIH1cblxuICBAbmVzdCAubW9kYWwtb3BlbiAmIHtcbiAgICAmIC5tb2RhbF9faW5uZXIge1xuICAgICAgYW5pbWF0aW9uOiBtb2RhbC1vcGVuIDAuNXMgZm9yd2FyZHM7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JNb2RhbEJnO1xuICAgICAgYW5pbWF0aW9uOiBvdmVybGF5LW9uIDAuNXMgZm9yd2FyZHM7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgQG5lc3QgLm1vZGFsLWNsb3NpbmcgJiB7XG4gICAgJiAubW9kYWxfX2lubmVyIHtcbiAgICAgIGFuaW1hdGlvbjogbW9kYWwtY2xvc2luZyAwLjVzIGZvcndhcmRzO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yTW9kYWxCZztcbiAgICAgIGFuaW1hdGlvbjogb3ZlcmxheS1vZmYgMC41cyBmb3J3YXJkcztcbiAgICB9XG4gIH1cblxuICBAbmVzdCAubW9kYWwtb3Blbi0tc29saWQgJjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvck1vZGFsQmc7XG4gIH1cbn1cblxuLm1vZGFsLS1zb2xpZCB7XG4gIEBuZXN0IC5tb2RhbC1vcGVuICYge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICBhbmltYXRpb246IGZ1bGwtb3ZlcmxheS1vbiAwLjVzIGZvcndhcmRzO1xuICAgIH1cbiAgfVxuXG4gIEBuZXN0IC5tb2RhbC1jbG9zaW5nICYge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICBhbmltYXRpb246IGZ1bGwtb3ZlcmxheS1vZmYgMC41cyBmb3J3YXJkcztcbiAgICB9XG4gIH1cbn1cblxuLm1vZGFsLS1pcy1jbG9zaW5nIHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyAvKm92ZXJyaWRlIC5pcy10cmFuc2l0aW9uaW5nIHN0eWxlcyovXG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tb2RhbC0taXMtYWN0aXZlIHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyAvKm92ZXJyaWRlIC5pcy10cmFuc2l0aW9uaW5nIHN0eWxlcyovXG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qQ2xhc3Mgb24gYm9keSBlbGVtZW50IHdoZW4gbW9kYWwgb3Blbi5cbk9ubHkgbWVkaXVtLXVwIGJlY2F1c2UgaU9TIGp1bXBzIHRvIHRvcCBvdGhlcndpc2UqL1xuQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAubW9kYWwtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4ubW9kYWxfX2lubmVyIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIG1hcmdpbjogY2FsYygkZ3V0dGVyIC8gMik7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gY2FsYygkZ3V0dGVyIC8gMikpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBtYXJnaW46IDQwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgfVxuXG4gIEBuZXN0IC5tb2RhbC0tc3F1YXJlICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvckJvZHk7XG4gICAgY29sb3I6ICRjb2xvclRleHRCb2R5O1xuICAgIGJveC1zaGFkb3c6IDAgMTVweCA0NXB4IHJnYigwLCAwLCAwLCAwLjEpO1xuICB9XG5cbiAgJiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC1oZWlnaHQ6IDkwdmg7XG4gIH1cbn1cblxuLypObyBtYXggaGVpZ2h0IG9uIHByb2R1Y3QgaW1hZ2VzKi9cbi5tb2RhbF9faW5uZXIge1xuICAmIC5pbWFnZS13cmFwIGltZyB7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgfVxufVxuXG4ubW9kYWxfX2NlbnRlcmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAwIDEgYXV0bztcbiAgbWluLXdpZHRoOiAxcHg7IC8qaWUxMCB0aGluZyovXG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLm1vZGFsX19jZW50ZXJlZC1jb250ZW50IHtcbiAgQG5lc3QgLm1vZGFsLS1zcXVhcmUgJiB7XG4gICAgbWF4LWhlaWdodDogODB2aDtcbiAgICBwYWRkaW5nOiBjYWxjKCRndXR0ZXIgKiAuNzUpO1xuICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAgcGFkZGluZzogY2FsYygkZ3V0dGVyICogMS41KTtcbiAgICAgIG1heC1oZWlnaHQ6IDkwdmg7XG4gICAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICB9XG4gIH1cbn1cblxuLm1vZGFsX19jbG9zZSB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogY2FsYygkZ3V0dGVyIC8gMik7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgY29sb3I6ICRjb2xvck1vZGFsVGV4dDtcblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgcGFkZGluZzogJGd1dHRlcjtcbiAgfVxuXG4gICYgLmljb24ge1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3JNb2RhbFRleHQ7XG4gIH1cblxuICBAbmVzdCAubW9kYWwtLXNxdWFyZSAmIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29sb3I6ICRjb2xvclRleHRCb2R5O1xuICAgIHBhZGRpbmc6IGNhbGMoJGd1dHRlciAvIDMpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY29sb3JUZXh0Qm9keTtcbiAgICB9XG4gIH1cbn1cblxuLypBamF4IHBhZ2UgYWRqdXN0bWVudHMqL1xuLm1vZGFsIHtcbiAgJiAucGFnZS1jb250ZW50LFxuICAmIC5wYWdlLXdpZHRoIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8qR29vZ2xlLWZyaWVuZGx5IG5vbiBpbnRydXNpdmUgbW9iaWxlIG1vZGFsKi9cbi5wb3B1cC1jdGEge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKCRndXR0ZXIgLyAyKTtcbn1cblxuQG1lZGlhICgtLXNtYWxsKSB7XG4gIC5tb2RhbC0tbW9iaWxlLWZyaWVuZGx5IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgJi5tb2RhbC0tc3F1YXJlIC5tb2RhbF9fY2VudGVyZWQtY29udGVudCB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XG4gICAgfVxuXG4gICAgJi5tb2RhbC0taXMtYWN0aXZlIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cblxuICAgIEBuZXN0IC5tb2RhbC1vcGVuICYge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgLm1vZGFsX19pbm5lciB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJiAuaDEge1xuICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICB9XG5cbiAgICAmIGlucHV0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYgLnRleHQtY2xvc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5qcy1xdHlfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiA4MHB4O1xuICBtaW4td2lkdGg6IDYwcHg7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JCb2R5O1xuICBjb2xvcjogJGNvbG9yVGV4dEJvZHk7XG5cbiAgJi5pcy1sb2FkaW5nIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cblxuLmpzLXF0eV9fbnVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDVweCAyMHB4O1xuICBtYXJnaW46IDA7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5qcy1xdHlfX2FkanVzdCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGJvcmRlcjogMCBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLW91dDtcbiAgei1pbmRleDogMjtcbiAgZmlsbDogJGNvbG9yVGV4dEJvZHk7XG5cbiAgJiAuaWNvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiA4cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgZmlsbDogaW5oZXJpdDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvckJvZHlEaW07XG4gICAgY29sb3I6ICRjb2xvclRleHRCb2R5O1xuICB9XG5cbiAgQG5lc3QgLmpzLXF0eV9fbnVtOmFjdGl2ZSB+ICYsXG4gIC5qcy1xdHlfX251bTpmb2N1cyB+ICYge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yVGV4dEJvZHk7XG4gIH1cbn1cblxuLmpzLXF0eV9fYWRqdXN0LS1wbHVzIHtcbiAgcmlnaHQ6IDA7XG59XG5cbi5qcy1xdHlfX2FkanVzdC0tbWludXMge1xuICBsZWZ0OiAwO1xufVxuXG4uZHJhd2VyIHtcbiAgJiAuanMtcXR5X193cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvckRyYXdlckJvcmRlcjtcbiAgfVxuXG4gICYgLmpzLXF0eV9fbnVtIHtcbiAgICBjb2xvcjogJGNvbG9yRHJhd2VyVGV4dDtcbiAgICBwYWRkaW5nLXRvcDogMnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAycHg7XG4gIH1cblxuICAmIC5qcy1xdHlfX2FkanVzdCB7XG4gICAgY29sb3I6ICRjb2xvckRyYXdlclRleHQ7XG4gICAgZmlsbDogJGNvbG9yRHJhd2VyVGV4dDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yRHJhd2VyVGV4dDtcbiAgICAgIGNvbG9yOiAkY29sb3JEcmF3ZXJzO1xuICAgICAgZmlsbDogJGNvbG9yRHJhd2VycztcbiAgICB9XG4gIH1cbn1cbiIsIi5jdXJyZW5jeS1mbGFnIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjU1KTtcbiAgbWFyZ2luOiAtMC41NXJlbTtcbn1cblxuLypcbiAgQ2VudGVyIHBvcHVwIG9uIG1vYmlsZSBzbyBsb25nIGNvdW50cnkvY3VycmVuY3kgbmFtZXNcbiAgZG8gbm90IGNhdXNlIGhvcml6b250YWwgc2Nyb2xsXG4gKi9cbkBtZWRpYSAoLS1zbWFsbCkge1xuICBbZGF0YS1kaXNjbG9zdXJlLWN1cnJlbmN5XSAuZGlzY2xvc3VyZS1saXN0IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIG1heC13aWR0aDogOTV2dztcbiAgfVxufVxuIiwiLypjb2xsYXBzaWJsZXMtd3JhcHBlciBpcyBhbiBvcHRpb25hbCB3cmFwcGVyKi9cbi5jb2xsYXBzaWJsZXMtd3JhcHBlci0tYm9yZGVyLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yQm9yZGVyO1xufVxuXG4uY29sbGFwc2libGVzLXdyYXBwZXItLWJvcmRlci1ib3R0b20gKyAuY29sbGFwc2libGVzLXdyYXBwZXItLWJvcmRlci1ib3R0b20gLmNvbGxhcHNpYmxlLXRyaWdnZXItYnRuLS1ib3JkZXJzIHtcbiAgYm9yZGVyLXRvcDogMDtcbn1cblxuLnByb2R1Y3QtYmxvY2stLXRhYiArIC5wcm9kdWN0LWJsb2NrLS10YWIgLmNvbGxhcHNpYmxlLXRyaWdnZXItYnRuLS1ib3JkZXJzIHtcbiAgYm9yZGVyLXRvcDogMDtcbn1cblxuLmNvbGxhcHNpYmxlLXRyaWdnZXIge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY29sbGFwc2libGUtdHJpZ2dlcl9faWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6ICRjb2xsYXBzaWJsZS10cmlnZ2VyLWljb24td2lkdGgtc21hbGw7XG4gIGhlaWdodDogJGNvbGxhcHNpYmxlLXRyaWdnZXItaWNvbi13aWR0aC1zbWFsbDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICB3aWR0aDogJGNvbGxhcHNpYmxlLXRyaWdnZXItaWNvbi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjb2xsYXBzaWJsZS10cmlnZ2VyLWljb24td2lkdGg7XG4gIH1cblxuICBAbmVzdCAubW9iaWxlLW5hdl9faGFzLXN1Ymxpc3QgJiB7XG4gICAgcmlnaHQ6IDI1cHg7XG4gIH1cblxuICAmIC5pY29uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGNvbGxhcHNpYmxlLXRyaWdnZXItaWNvbi13aWR0aC1zbWFsbDtcbiAgICBoZWlnaHQ6ICRjb2xsYXBzaWJsZS10cmlnZ2VyLWljb24td2lkdGgtc21hbGw7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZS1pbjtcblxuICAgIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICAgIHdpZHRoOiAkY29sbGFwc2libGUtdHJpZ2dlci1pY29uLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkY29sbGFwc2libGUtdHJpZ2dlci1pY29uLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4uY29sbGFwc2libGUtdHJpZ2dlci0taW5saW5lIHtcbiAgcGFkZGluZzogMTFweCAwIDExcHggNDBweDtcblxuICAmIC5jb2xsYXBzaWJsZS10cmlnZ2VyX19pY29uIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbi5jb2xsYXBzaWJsZS10cmlnZ2VyX19pY29uLS1jaXJjbGUge1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3JCb3JkZXI7XG4gIHdpZHRoOiAkY29sbGFwc2libGUtdHJpZ2dlci1jaXJjbGUtd2lkdGg7XG4gIGhlaWdodDogJGNvbGxhcHNpYmxlLXRyaWdnZXItY2lyY2xlLXdpZHRoO1xuICBib3JkZXItcmFkaXVzOiAkY29sbGFwc2libGUtdHJpZ2dlci1jaXJjbGUtd2lkdGg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmIC5pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB9XG59XG5cbi5jb2xsYXBzaWJsZS10cmlnZ2VyLmlzLW9wZW4gLmNvbGxhcHNpYmxlLXRyaWdnZXJfX2ljb24gPiAuaWNvbi1jaGV2cm9uLWRvd24ge1xuICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG59XG5cbi8qU2xpZ2h0bHkgZGlmZmVyZW50IGZvciBjaXJjbGUgYnV0dG9ucyovXG4uY29sbGFwc2libGUtdHJpZ2dlci5pcy1vcGVuIC5jb2xsYXBzaWJsZS10cmlnZ2VyX19pY29uLS1jaXJjbGUgPiAuaWNvbi1jaGV2cm9uLWRvd24ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZVkoLTEpO1xufVxuXG4uY29sbGFwc2libGUtY29udGVudCB7XG4gIHRyYW5zaXRpb246ICRjb2xsYXBzaWJsZS1jbG9zZS10cmFuc2l0aW9uO1xuXG4gICYuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246ICRjb2xsYXBzaWJsZS1vcGVuLXRyYW5zaXRpb247XG4gIH1cbn1cblxuLmNvbGxhcHNpYmxlLWNvbnRlbnQtLWFsbCB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgJiAuY29sbGFwc2libGUtY29udGVudF9faW5uZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgfVxufVxuXG5AbWVkaWEgKC0tc21hbGwpIHtcbiAgLmNvbGxhcHNpYmxlLWNvbnRlbnQtLXNtYWxsIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICBoZWlnaHQ6IDA7XG5cbiAgICAmIC5jb2xsYXBzaWJsZS1jb250ZW50X19pbm5lciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gICAgfVxuICB9XG59XG5cbi5jb2xsYXBzaWJsZS1jb250ZW50X19pbm5lciB7XG4gIHRyYW5zaXRpb246ICRjb2xsYXBzaWJsZS1jb250ZW50LWNsb3NlLXRyYW5zaXRpb247XG5cbiAgQG5lc3QgLmlzLW9wZW4gJiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zaXRpb246ICRjb2xsYXBzaWJsZS1jb250ZW50LW9wZW4tdHJhbnNpdGlvbjtcbiAgfVxufVxuXG4uZmFxLWl0ZW0gLmNvbGxhcHNpYmxlLXRyaWdnZXIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmZhcS1pdGVtIC5jb2xsYXBzaWJsZS10cmlnZ2VyX19pY29uIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG59XG5cbi5mYXEtaXRlbSAuY29sbGFwc2libGUtdHJpZ2dlcjpob3ZlciAuY29sbGFwc2libGUtdHJpZ2dlcl9faWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCBjdXJyZW50Q29sb3IgOCUsIHRyYW5zcGFyZW50KTtcbn1cblxuLmNvbGxhcHNpYmxlLXRyaWdnZXItLWljb24tcmlnaHQge1xuICBwYWRkaW5nOiAxMXB4IDQwcHggMTFweCAwO1xuXG4gICYgLmNvbGxhcHNpYmxlLXRyaWdnZXJfX2ljb24ge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cblxuLnJ0ZS5jb2xsYXBzaWJsZS1jb250ZW50X19pbm5lci0tZmFxIHtcbiAgcGFkZGluZy1ib3R0b206ICRndXR0ZXI7XG59XG5cbi5jb2xsYXBzaWJsZS1sYWJlbF9fY2xvc2VkIHtcbiAgQG5lc3QgLmNvbGxhcHNpYmxlLXRyaWdnZXJbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY29sbGFwc2libGUtbGFiZWxfX29wZW4ge1xuICBkaXNwbGF5OiBub25lO1xuXG4gIEBuZXN0IC5jb2xsYXBzaWJsZS10cmlnZ2VyW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdICYge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vKkN1c3RvbSBmdW5jdGlvbmFsaXR5IGZvciBjb2xsZWN0aW9uIHNpZGViYXIqL1xuLmNvbGxhcHNpYmxlLWNvbnRlbnQtLXNpZGViYXIge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICAmLmlzLW9wZW4ge1xuICAgICAgb3ZlcmZsb3c6IGluaXRpYWw7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi5wc3dwIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgei1pbmRleDogMTUwMDtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLnBzd3AgaW1nIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4vKiBzdHlsZSBpcyBhZGRlZCB3aGVuIEpTIG9wdGlvbiBzaG93SGlkZU9wYWNpdHkgaXMgc2V0IHRvIHRydWUgKi9cbi5wc3dwLS1hbmltYXRlX29wYWNpdHkge1xuICAvKiAwLjAwMSwgYmVjYXVzZSBvcGFjaXR5OjAgZG9lc24ndCB0cmlnZ2VyIFBhaW50IGFjdGlvbiwgd2hpY2ggY2F1c2VzIGxhZyBhdCBzdGFydCBvZiB0cmFuc2l0aW9uICovXG4gIG9wYWNpdHk6IDAuMDAxO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTsgfVxuXG4ucHN3cC0tb3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wc3dwLS16b29tLWFsbG93ZWQgLnBzd3BfX2ltZyB7XG4gIGN1cnNvcjogem9vbS1pbjsgfVxuXG4ucHN3cC0tem9vbWVkLWluIC5wc3dwX19pbWcge1xuICBjdXJzb3I6IGdyYWI7IH1cblxuLnBzd3AtLWRyYWdnaW5nIC5wc3dwX19pbWcge1xuICBjdXJzb3I6IGdyYWJiaW5nOyB9XG5cbi8qXG4gIEJhY2tncm91bmQgaXMgYWRkZWQgYXMgYSBzZXBhcmF0ZSBlbGVtZW50LlxuICBBcyBhbmltYXRpbmcgb3BhY2l0eSBpcyBtdWNoIGZhc3RlciB0aGFuIGFuaW1hdGluZyByZ2JhKCkgYmFja2dyb3VuZC1jb2xvci5cbiovXG4ucHN3cF9fYmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogJGNvbG9yQm9keTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7IH1cblxuLnBzd3BfX3Njcm9sbC13cmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnBzd3BfX2NvbnRhaW5lcixcbi5wc3dwX196b29tLXdyYXAge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwOyB9XG5cbi8qIFByZXZlbnQgc2VsZWN0aW9uIGFuZCB0YXAgaGlnaGxpZ2h0cyAqL1xuLnBzd3BfX2NvbnRhaW5lcixcbi5wc3dwX19pbWcge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyB9XG5cbi5wc3dwX196b29tLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLyogZm9yIG9wZW4vY2xvc2UgdHJhbnNpdGlvbiAqL1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yMiwgMSk7IH1cblxuLnBzd3BfX2JnIHtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gIC8qIGZvciBvcGVuL2Nsb3NlIHRyYW5zaXRpb24gKi9cbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIyLCAxKTsgfVxuXG4ucHN3cC0tYW5pbWF0ZWQtaW4gLnBzd3BfX2JnLFxuLnBzd3AtLWFuaW1hdGVkLWluIC5wc3dwX196b29tLXdyYXAge1xuICB0cmFuc2l0aW9uOiBub25lOyB9XG5cbi5wc3dwX19jb250YWluZXIsXG4ucHN3cF9fem9vbS13cmFwIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnBzd3BfX2l0ZW0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ucHN3cF9faW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7IH1cblxuLypcbiAgc3RyZXRjaGVkIHRodW1ibmFpbCBvciBkaXYgcGxhY2Vob2xkZXIgZWxlbWVudCAoc2VlIGJlbG93KVxuICBzdHlsZSBpcyBhZGRlZCB0byBhdm9pZCBmbGlja2VyaW5nIGluIHdlYmtpdC9ibGluayB3aGVuIGxheWVycyBvdmVybGFwXG4qL1xuLnBzd3BfX2ltZy0tcGxhY2Vob2xkZXIge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4ucHN3cC0taWUgLnBzd3BfX2ltZyB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLypcbiAgRXJyb3IgbWVzc2FnZSBhcHBlYXJzIHdoZW4gaW1hZ2UgaXMgbm90IGxvYWRlZFxuICAoSlMgb3B0aW9uIGVycm9yTXNnIGNvbnRyb2xzIG1hcmt1cClcbiovXG4ucHN3cF9fZXJyb3ItbXNnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIG1hcmdpbi10b3A6IC04cHg7XG4gIGNvbG9yOiAjQ0NDOyB9XG5cbi5wc3dwX19lcnJvci1tc2cgYSB7XG4gIGNvbG9yOiAjQ0NDO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4ucHN3cF9fYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8qQmVjYXVzZSBKUyBsaXN0ZW5zIHRvIGNsaWNrIG9uIGJ1dHRvbiBlbGVtZW50IGl0c2VsZiovXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH1cblxuICAvKklnbm9yZSBjbGlja3Mgb24gc3ZncyBpbnNpZGUgYnV0dG9uKi9cbiAgJiBzdmcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG5cbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0IC5pY29uLFxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0IC5pY29uIHtcbiAgd2lkdGg6IDEzcHg7XG4gIGhlaWdodDogMTNweDtcbiAgbWFyZ2luOiA4cHg7XG59XG5cbi5wc3dwX19idXR0b25bZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIEhpZGUgYXJyb3cgYnV0dG9ucyB3aGVuIGdhbGxlcnkgaGFzIG9ubHkgb25lIGl0ZW0gKi9cbi5wc3dwX19idXR0b24tLWFycm93LS1sZWZ0LnBzd3BfX2VsZW1lbnQtLWRpc2FibGVkLFxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0LnBzd3BfX2VsZW1lbnQtLWRpc2FibGVkIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5wc3dwX191aSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvdHRvbTogJGd1dHRlcjtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIDAuNnM7XG5cbiAgJiAuYnRuIHtcbiAgICBtYXJnaW46IDE1cHg7XG4gIH1cbn1cblxuLnBzd3BfX3VpLS1oaWRkZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUwJSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cztcbn1cblxuLyogRml4ZXMgZm9yIGlPUzE1ICovXG4vKiBTZWUgaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vZGltc2VtZW5vdi8wYjhjMjU1YzBkODdmMjk4OWU4YWI4NzYwNzM1MzRlYSAqL1xuXG5odG1sLnBzd3Atb3Blbi1pbi1pb3MsXG5odG1sLnBzd3Atb3Blbi1pbi1pb3MgYm9keSB7XG4gIGJhY2tncm91bmQ6ICM0NDQ7XG4gIGhlaWdodDogdmFyKC0td2luZG93LWlubmVyLWhlaWdodCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIEhpZGUgcGFnZSBjb250ZW50IHZpYSBDU1Mgd2hlbiBQaG90b1N3aXBlIG9wZW5zICovXG4ucHN3cC1vcGVuLWluLWlvcyBib2R5ID4gKiB7XG4gIGRpc3BsYXk6IG5vbmU7IFxufVxuLnBzd3Atb3Blbi1pbi1pb3MgYm9keSAucHN3cC5wc3dwLS1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7IFxufSBcbiIsIiRtYXgtaGVpZ2h0LWRpc2Nsb3N1cmU6IDYwdmg7XG4kbWluLWhlaWdodC1kaXNjbG9zdXJlOiA5MnB4O1xuXG4uZGlzY2xvc3VyZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRpc2Nsb3N1cmVfX3RvZ2dsZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5kaXNjbG9zdXJlLWxpc3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JCb2R5O1xuICBjb2xvcjogJGNvbG9yVGV4dEJvZHk7XG4gIGJvdHRvbTogMTAwJTtcbiAgcGFkZGluZzogMTBweCAwO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6ICRtaW4taGVpZ2h0LWRpc2Nsb3N1cmU7XG4gIG1heC1oZWlnaHQ6ICRtYXgtaGVpZ2h0LWRpc2Nsb3N1cmU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4wOSk7XG5cbiAgJiBhIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICB9XG59XG5cbi5kaXNjbG9zdXJlLWxpc3QtLWRvd24ge1xuICBib3R0b206IGF1dG87XG4gIHRvcDogMTAwJTtcbiAgei1pbmRleDogJHotaW5kZXgtZGlzY2xvc3VyZS1oZWFkZXI7XG59XG5cbi5kaXNjbG9zdXJlLWxpc3QtLWxlZnQge1xuICByaWdodDogMDtcbn1cblxuLmRpc2Nsb3N1cmUtbGlzdC0tdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZGlzY2xvc3VyZS1saXN0X19pdGVtIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcGFkZGluZzogNXB4IDE1cHggNHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uZGlzY2xvc3VyZS1saXN0X19vcHRpb24ge1xuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICAmIC5kaXNjbG9zdXJlLWxpc3RfX2xhYmVsIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG4uZGlzY2xvc3VyZS1saXN0X19pdGVtLS1jdXJyZW50IHtcbiAgJiAuZGlzY2xvc3VyZS1saXN0X19sYWJlbCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbn1cblxuLmRpc2Nsb3N1cmUtbGlzdF9fbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4ycmVtO1xuXG4gIEBuZXN0IFtkYXRhLWRpc2Nsb3N1cmUtY3VycmVuY3ldICYge1xuICAgIHBhZGRpbmctbGVmdDogMTBweFxuICB9XG5cbiAgJiBzcGFuIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICBAbmVzdCAuaXMtYWN0aXZlICYge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICB9XG4gIH1cbn1cbiIsIi5tdWx0aS1zZWxlY3RvcnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ubXVsdGktc2VsZWN0b3JzX19pdGVtIHtcbiAgbWFyZ2luOiAwIDIwcHggMTBweDtcblxuICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICBtYXJnaW46IDEwcHggMjBweDtcbiAgfVxuXG4gIEBuZXN0IC50b29sYmFyICYge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi9nbG9iYWwvdmFyaWFibGVzLXJvb3QuY3NzLmxpcXVpZCc7XG5cbi8qTW9kZWwgdmlld2VyIGNvbnRyb2xzKi9cbi5zaG9waWZ5LW1vZGVsLXZpZXdlci11aSB7XG4gICYgLnNob3BpZnktbW9kZWwtdmlld2VyLXVpX19jb250cm9scy1hcmVhIHtcbiAgICBvcGFjaXR5OiAxOyAvKmFsd2F5cyBzaG93IGNvbnRyb2xzKi9cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3JCb2R5O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3JUZXh0Qm9keUFscGhhMDA1KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICB9XG5cbiAgJiAuc2hvcGlmeS1tb2RlbC12aWV3ZXItdWlfX2J1dHRvbiB7XG4gICAgY29sb3I6ICRjb2xvclRleHRCb2R5O1xuICB9XG5cbiAgJiAuc2hvcGlmeS1tb2RlbC12aWV3ZXItdWlfX2J1dHRvbi0tY29udHJvbCB7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGNvbG9yVGV4dEJvZHk7XG4gICAgfVxuXG4gICAgJjphY3RpdmUsXG4gICAgJi5mb2N1cy12aXNpYmxlOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY29sb3JUZXh0Qm9keTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yVGV4dEJvZHlBbHBoYTAwNSk7XG4gICAgfVxuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3JUZXh0Qm9keUFscGhhMDA1KTtcbiAgICB9XG4gIH1cblxuICAmIC5zaG9waWZ5LW1vZGVsLXZpZXdlci11aV9fYnV0dG9uLS1wb3N0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvclRleHRCb2R5O1xuICAgIGNvbG9yOiAkY29sb3JCb2R5O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvckJvZHlBbHBoYTA1KTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yQm9keTtcbiAgICB9XG4gIH1cbn1cblxuLypWaWV3IGluIHNwYWNlIGJ1dHRvbiovXG4ucHJvZHVjdC1zaW5nbGVfX3ZpZXctaW4tc3BhY2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICRjb2xvclRleHRCb2R5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvclRleHRCb2R5QWxwaGEwMDgpO1xuICB3aWR0aDogODAlO1xuICB3aWR0aDogY2FsYyg4MCUgLSA0cHgpOyAvKjRweCA9IHJpZ2h0IG1hcmdpbiBvbiBwcm9kdWN0LWltYWdlLW1haW4qL1xuICBtYXJnaW46IDQwcHggMTAlIDEwcHg7XG4gIHBhZGRpbmc6IDVweCAxMHB4IDEwcHg7XG5cbiAgJltkYXRhLXNob3BpZnkteHItaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucHJvZHVjdC1zaW5nbGVfX3ZpZXctaW4tc3BhY2UtdGV4dCB7XG4gIEBtaXhpbiBiYXNlU21hbGxGb250U3RhY2s7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLypNb2RlbCB2aWV3ZXIgY29udGFpbmVyKi9cbi5zaG9waWZ5LW1vZGVsLXZpZXdlci11aSxcbi5zaG9waWZ5LW1vZGVsLXZpZXdlci11aSBtb2RlbC12aWV3ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5zaG9waWZ5LW1vZGVsLXZpZXdlci11aV9fYnV0dG9uW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHJvZHVjdC1zaW5nbGVfX2Nsb3NlLW1lZGlhIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcHg7XG4gIHJpZ2h0OiAxMHB4O1xuICB6LWluZGV4OiAyO1xufVxuIiwiLnByaWNlLXJhbmdlX19zbGlkZXItd3JhcHBlciB7XG4gIHBhZGRpbmc6IDAgOHB4IDhweDtcblxuICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICBwYWRkaW5nOiAwIDEwcHggOHB4O1xuICB9XG59XG5cbi5wcmljZS1yYW5nZV9faW5wdXQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHJpY2UtcmFuZ2VfX2Rpc3BsYXktd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLm5vVWktaG9yaXpvbnRhbCAubm9VaS1oYW5kbGUge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3JUZXh0Qm9keSk7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggMnB4IHJnYigyNTUgMjU1IDI1NSk7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcmlnaHQ6IC02cHg7XG4gIHRvcDogLTNweDtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgcmlnaHQ6IC03cHg7XG4gICAgdG9wOiAtNHB4O1xuICB9XG5cbiAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7XG4gIH1cbn1cblxuLm5vVWktdGFyZ2V0IHtcbiAgYmFja2dyb3VuZDogI2Y0ZjRmNDtcbiAgYm9yZGVyOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ubm9VaS1jb25uZWN0IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3JUZXh0Qm9keSk7XG59XG5cbi5ub1VpLWhvcml6b250YWwge1xuICBoZWlnaHQ6IDZweDtcbn1cbiIsIi5jb3VudGRvd25fX2NvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb3VudGRvd24tYmFja2dyb3VuZC1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1jb3VudGRvd24tdGV4dC1jb2xvcik7XG59XG5cbi5jb3VudGRvd25fX2Jsb2NrLS1idXR0b24ge1xuICAmIC5idG4uYnRuLS1zZWNvbmRhcnkge1xuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3IpO1xuICAgIC8qXG4gICAgICBJbXB1bHNlIHNlY29uZGFyeSBidG4gaXMgY29ubmVjdGVkIHRvXG4gICAgICB0aGUgdGhlbWUgc2V0dGluZyBmb3IgYm9yZGVyIGNvbG9yXG4gICAgKi9cbiAgfVxufVxuIiwiQGtleWZyYW1lcyBraXQtcHVsc2Uge1xuICAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0taG90c3BvdC1jb2xvcikgNTAlLCB0cmFuc3BhcmVudCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4ua2l0LXNob3BwYWJsZS1oZXJvX19jb250ZW50LFxuLmtpdC1zaG9wcGFibGUtaGVyb19fY29udGVudCAua2l0LXRleHQsXG4ua2l0LXNob3BwYWJsZS1oZXJvX19jb250ZW50IC5oZXJvX19saW5rLFxuLmtpdC1zaG9wcGFibGUtaGVyb19fY29udGVudCAuYnRuIHtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLnNob3BwYWJsZS1oZXJvX19idG4ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ob3RzcG90LWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLWhvdHNwb3QtdGV4dC1jb2xvcik7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuICBoZWlnaHQ6IDQwcHg7XG4gIHdpZHRoOiA0MHB4O1xuICBhbmltYXRpb246IGtpdC1wdWxzZSAycyBpbmZpbml0ZTtcbn1cblxuLmtpdC1zaG9wcGFibGUtaGVyb19faG90c3BvdDpub3QoOmhhcyhraXQtcG9wb3ZlcikpIC5zaG9wcGFibGUtaGVyb19fYnRuIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uc2hvcHBhYmxlLWhlcm9fX2J0biAuaWNvbi1wbHVzIHBhdGgge1xuICBzdHJva2U6IHRyYW5zcGFyZW50O1xufVxuXG4ua2l0LXNob3BwYWJsZS1oZXJvIC5raXQtcG9wb3ZlciB7XG4gIHBhZGRpbmc6IDEycHggMCAwO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvckJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm94LXNoYWRvdzogMCAwIDQwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBtYXgtd2lkdGg6IDYxLjgwMyU7IC8qIDEwMCUgLSAxL8+GICovXG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIG1heC13aWR0aDogMjMuNjA2OCU7IC8qIDEwMCUgLyDPhsKzICovXG4gIH1cbn1cblxuLnNob3BwYWJsZS1oZXJvX19wb3BvdmVyLWJvZHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDVweDtcbiAgcGFkZGluZzogMCAxMnB4O1xuICBmb250LXNpemU6IHZhcigtLXR5cGVCb2R5U21hbGxTaXplKTtcbn1cblxuLnNob3BwYWJsZS1oZXJvX19wb3BvdmVyLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4uc2hvcHBhYmxlLWhlcm9fX3BvcG92ZXItYm9keSAuZ3JpZC1wcm9kdWN0X19wcmljZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBnYXA6IDVweDtcbn1cblxuLnNob3BwYWJsZS1oZXJvX19wb3BvdmVyLWZvb3RlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvckJvcmRlcik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiA2cHggMTJweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4uc2hvcHBhYmxlLWhlcm9fX3BvcG92ZXItbGluayB7XG4gIEBtaXhpbiBhY2NlbnRGb250U3RhY2s7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdHlwZUJvZHlFeHRyYVNtYWxsU2l6ZSk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cbiAgJjpob3ZlciB7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgJiAuaWNvbi1jaGV2cm9uLXJpZ2h0IHtcbiAgICB3aWR0aDogLjc1ZW07XG4gICAgaGVpZ2h0OiAuNzVlbTtcbiAgfVxufVxuXG5AbWVkaWEgKC0tc21hbGwpIHtcbiAgLmtpdC1zaG9wcGFibGUtaGVybyB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGluZGV4U2VjdGlvbk1hcmdpblNtYWxsO1xuICB9XG5cbiAgLnNob3BwYWJsZS1oZXJvX19idG4ge1xuICAgIHBhZGRpbmc6IDZweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgd2lkdGg6IDMwcHg7XG4gIH1cblxuICAuc2hvcHBhYmxlLWhlcm9fX2J0biBzdmcge1xuICAgIGhlaWdodDogMThweDtcbiAgICB3aWR0aDogMThweDtcbiAgfVxufVxuIiwiOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgIGNvbG9yOiBpbmhlcml0O1xuICAgb3BhY2l0eTogMC41O1xufVxuXG46LW1vei1wbGFjZWhvbGRlciB7XG4gICBjb2xvcjogaW5oZXJpdDtcbiAgIG9wYWNpdHk6IDAuNTtcbn1cblxuOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICBjb2xvcjogaW5oZXJpdDtcbiAgIG9wYWNpdHk6IDAuNTtcbn1cblxuOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgY29sb3I6IGluaGVyaXQ7XG4gICBvcGFjaXR5OiAxO1xufVxuXG5pbnB1dCxcbnRleHRhcmVhLFxuc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkaXNhYmxlZEdyZXk7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvclRleHRCb2R5O1xuICB9XG59XG5cbmlucHV0W3R5cGU9XCJpbWFnZVwiXSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuIiwiJHNoYXJlQnV0dG9uSGVpZ2h0OiAxOHB4O1xuXG4uc29jaWFsLXNoYXJpbmcge1xuICBAbWl4aW4gYmFzZVRleHRDZW50ZXI7XG5cbiAgJiAuaWNvbiB7XG4gICAgaGVpZ2h0OiAkc2hhcmVCdXR0b25IZWlnaHQ7XG4gICAgd2lkdGg6ICRzaGFyZUJ1dHRvbkhlaWdodDtcbiAgfVxufVxuXG4uc29jaWFsLXNoYXJpbmdfX2xpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAkY29sb3JUZXh0Qm9keTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBtYXJnaW46IDAgMThweCAwIDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gIEBuZXN0IGh0bWxbZGlyPVwicnRsXCJdICYge1xuICAgIG1hcmdpbjogMCAwIDAgMThweDtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLnNvY2lhbC1zaGFyaW5nX190aXRsZSB7XG4gIEBtaXhpbiBiYXNlU21hbGxGb250U3RhY2s7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAzcHg7XG5cbiAgQG5lc3QgaHRtbFtkaXI9XCJydGxcIl0gJiB7XG4gICAgcGFkZGluZy1yaWdodDogM3B4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgfVxufVxuIiwiLmdyaWQtc2VhcmNoIHtcbiAgbWFyZ2luLWJvdHRvbTogJGd1dHRlcjtcbn1cblxuLmdyaWQtc2VhcmNoX19wcm9kdWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5ncmlkLXNlYXJjaF9fcGFnZS1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yQm9keUxpZ2h0RGltKTtcbiAgcGFkZGluZzogMjBweDtcbiAgY29sb3I6ICRjb2xvclRleHRCb2R5O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvckJvZHlNZWRpdW1EaW0pO1xuICB9XG59XG5cbi5ncmlkLXNlYXJjaF9fcGFnZS1jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmdyaWQtc2VhcmNoX19wYWdlLWNvbnRlbnQgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5ncmlkLXNlYXJjaF9faW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgfVxufVxuIiwiLmluZGV4LXNlY3Rpb24ge1xuICBtYXJnaW46ICRpbmRleFNlY3Rpb25NYXJnaW5TbWFsbCAwO1xufVxuXG4uaW5kZXgtc2VjdGlvbi0tc21hbGwge1xuICBtYXJnaW46IGNhbGMoJGd1dHRlciAqIDAuNikgMDtcbn1cblxuLmluZGV4LXNlY3Rpb24gKyAuaW5kZXgtc2VjdGlvbixcbi5pbmRleC1zZWN0aW9uICsgLmluZGV4LXNlY3Rpb24tLWhpZGRlbixcbi5tYWluLWNvbnRlbnQgKyAuaW5kZXgtc2VjdGlvbiB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5pbmRleC1zZWN0aW9uLS1mbHVzaCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnNlY3Rpb24tLWRpdmlkZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gIGJvcmRlci10b3AtY29sb3I6ICRjb2xvckJvcmRlcjtcbiAgcGFkZGluZy10b3A6ICRpbmRleFNlY3Rpb25NYXJnaW5TbWFsbDtcbn1cblxuLmluZGV4LXNlY3Rpb24tLWZhcSB7XG4gIG1hcmdpbi1ib3R0b206ICRpbmRleFNlY3Rpb25NYXJnaW5TbWFsbDtcbn1cblxuLmluZGV4LXNlY3Rpb24tLWZhcSB7XG4gIG1hcmdpbi1ib3R0b206ICRpbmRleFNlY3Rpb25NYXJnaW5TbWFsbDtcbn1cblxuLm5ld3NsZXR0ZXItc2VjdGlvbiB7XG4gIHBhZGRpbmc6ICRpbmRleFNlY3Rpb25NYXJnaW5TbWFsbCAwO1xufVxuXG4ubmV3c2xldHRlci1zZWN0aW9uLS13aXRoLWRpdmlkZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gIGJvcmRlci10b3AtY29sb3I6ICRjb2xvckJvcmRlcjtcbn1cblxuLypIaWRlIGZvb3RlciBzZWN0aW9ucyBvbiAvY2hhbGxlbmdlIHBhZ2UqL1xuLnRlbXBsYXRlLWNoYWxsYW5nZSAuaW5kZXgtc2VjdGlvbi0tZm9vdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRlc3RpbW9uaWFscy1zZWN0aW9uIHtcbiAgcGFkZGluZzogY2FsYygkZ3V0dGVyICogMC44NSkgMDtcbn1cblxuLnRlc3RpbW9uaWFscy1zZWN0aW9uLS13aXRoLWRpdmlkZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gIGJvcmRlci10b3AtY29sb3I6ICRjb2xvckJvcmRlcjtcbn1cblxuLypMYXJnZSBzY3JlZW4gc2VjdGlvbiBzcGFjaW5nKi9cbkBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgLmluZGV4LXNlY3Rpb24ge1xuICAgIG1hcmdpbjogJGluZGV4U2VjdGlvbk1hcmdpbkxhcmdlIDA7XG4gIH1cblxuICAuaW5kZXgtc2VjdGlvbi0tc21hbGwge1xuICAgIG1hcmdpbjogJGd1dHRlciAwO1xuICB9XG5cbiAgLnNlY3Rpb24tLWRpdmlkZXIge1xuICAgIHBhZGRpbmctdG9wOiAkaW5kZXhTZWN0aW9uTWFyZ2luTGFyZ2U7XG4gIH1cblxuICAuaW5kZXgtc2VjdGlvbi0tZmFxIHtcbiAgICBtYXJnaW46ICRpbmRleFNlY3Rpb25NYXJnaW5MYXJnZSAwIGNhbGMoJGluZGV4U2VjdGlvbk1hcmdpbkxhcmdlIC8gMik7XG4gIH1cblxuICAubmV3c2xldHRlci1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAkaW5kZXhTZWN0aW9uTWFyZ2luTGFyZ2UgMDtcbiAgfVxuXG4gIC50ZXN0aW1vbmlhbHMtc2VjdGlvbiB7XG4gICAgcGFkZGluZzogY2FsYygkZ3V0dGVyICogMi41KSAwO1xuICB9XG59XG5cbi5wYWdlLWJsb2Nrcy0tZmx1c2ggLnBhZ2Utd2lkdGgge1xuICBwYWRkaW5nOiAwO1xufVxuXG4ucGFnZS1ibG9ja3MgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAmIC5pbmRleC1zZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi8qPT09PT09PT09PT09PT09PSBGZWF0dXJlZCByb3cgc2VjdGlvbiA9PT09PT09PT09PT09PT09Ki9cbi5mZWF0dXJlLXJvdy13cmFwcGVyIHtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5mZWF0dXJlLXJvdyB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgQG1lZGlhICgtLXdpZGVzY3JlZW4pIHtcbiAgICBtYXJnaW46IDAgNiU7XG4gIH1cblxuICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG5AbWVkaWEgKC0tbWVkaXVtLWRvd24pIHtcbiAgLmZlYXR1cmUtcm93LS1zbWFsbC1ub25lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uZmVhdHVyZS1yb3dfX2l0ZW0ge1xuICBmbGV4OiAwIDEgNTclO1xuICBtYXJnaW46IDAgYXV0bztcblxuICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5mZWF0dXJlLXJvd19faXRlbS0tb3ZlcmxhcC1pbWFnZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMCAxNXB4O1xuICBtYXJnaW46IDAgMCAwIC0zMHB4O1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAmID4gKiB7XG4gICAgd2lkdGg6IDUwJTtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDMwcHgsIDMwcHgpO1xuXG4gICAgICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwcHgsIDUwcHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYgc3ZnIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvckJvZHk7XG4gIH1cbn1cblxuLmZlYXR1cmUtcm93X19pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgb3JkZXI6IDE7XG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIG9yZGVyOiAyO1xuICB9XG59XG5cbi5mZWF0dXJlLXJvd19fdGV4dCB7XG4gIG1pbi13aWR0aDogNDMlO1xuICBmbGV4OiAwIDEgNDMlO1xuICBwYWRkaW5nOiAwO1xuXG4gIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgIG9yZGVyOiAyO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZzogMzBweCAyMHB4IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IC8qYWx3YXlzIGxhc3QgZWxlbWVudCBvbiBtb2JpbGUqL1xuICB9XG5cbiAgJiAucnRlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmIC5idG4ge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoJGd1dHRlciAvIDIpO1xuICB9XG59XG5cbkBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgLmZlYXR1cmUtcm93X190ZXh0LS1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoJGd1dHRlciAqIDIpO1xuICB9XG5cbiAgLmZlYXR1cmUtcm93X190ZXh0LS1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYygkZ3V0dGVyICogMik7XG4gIH1cbn1cbiIsIi5wcm9kdWN0LWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAmIGhyIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLnByb2R1Y3QtYmxvY2stLXRhYiArIC5wcm9kdWN0LWJsb2NrLS10YWIge1xuICBtYXJnaW4tdG9wOiAtMjVweDtcbn1cblxuLnByb2R1Y3QtYmxvY2stLXNhbGVzLXBvaW50ICsgLnByb2R1Y3QtYmxvY2stLXNhbGVzLXBvaW50IHtcbiAgbWFyZ2luLXRvcDogLTIwcHg7XG59XG5cbi5wcm9kdWN0LWJsb2NrLS1oZWFkZXIgKyAucHJvZHVjdC1ibG9jay0tcHJpY2Uge1xuICBtYXJnaW4tdG9wOiAtMjBweDtcbn1cblxuLnRoZW1lLWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLnNpemUtY2hhcnRfX3N0YW5kYWxvbmUgLnRvb2wtdGlwLXRyaWdnZXJfX3RpdGxlIHtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXR5cGVVcHBlcmNhc2VTcGFjaW5nKTtcbiAgZm9udC1zaXplOiAwLjhlbTtcbn1cbiIsIi5zbGlkZXNob3ctd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLypQYXVzZSBidXR0b24gKGZvY3VzYWJsZSBieSBrZXlib2FyZCBvbmx5KSovXG4uc2xpZGVzaG93X19wYXVzZTpmb2N1cyB7XG4gIGNsaXA6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICRjb2xvckJ0blByaW1hcnlUZXh0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JCdG5QcmltYXJ5O1xuICBwYWRkaW5nOiAxMHB4O1xuICB6LWluZGV4OiAkemluZGV4U2tpcFRvQ29udGVudDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcblxuICBAbmVzdCAudmlkZW8taXMtcGxheWluZyAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zbGlkZXNob3dfX3BhdXNlLXN0b3Age1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbmVzdCAuaXMtcGF1c2VkICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnNsaWRlc2hvd19fcGF1c2UtcGxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgQG5lc3QgLmlzLXBhdXNlZCAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uc2xpZGVzaG93X19zbGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIEBuZXN0IC5mbGlja2l0eS1zbGlkZXIgJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIiR6LWluZGV4LWhlcm8taW1hZ2U6IDE7XG4kei1pbmRleC1oZXJvLXZpZGVvOiAyO1xuJHotaW5kZXgtaGVyby1pbWFnZS1vdmVybGF5OiAzO1xuJHotaW5kZXgtaGVyby10ZXh0OiA0O1xuJHNsaWRlc2hvd0ltYWdlQW5pbWF0aW9uQW1vdW50OiAyMDBweDtcbiRzbGlkZXNob3dJbWFnZUFuaW1hdGlvblNwZWVkOiAwLjVzO1xuXG4uaGVybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogJGNvbG9yTGFyZ2VJbWFnZUJnO1xufVxuXG4uaGVyb19fbWVkaWEtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5oZXJvX19pbWFnZS13cmFwcGVyLFxuLmhlcm9fX21lZGlhIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJjpiZWZvcmUge1xuICAgIEBtaXhpbiBvdmVybGF5ICR6LWluZGV4LWhlcm8taW1hZ2Utb3ZlcmxheTtcbiAgICBAbWl4aW4gaGVyb1NjcmltO1xuXG4gICAgQG5lc3QgLnZpZGVvLWludGVyYWN0YWJsZSAmIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uaGVyb19faW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6ICR6LWluZGV4LWhlcm8taW1hZ2U7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uaGVyb19fbWVkaWEge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICB6LWluZGV4OiAkei1pbmRleC1oZXJvLWltYWdlO1xufVxuXG4uaGVyb19faW1hZ2Utd3JhcHBlci0tbm8tb3ZlcmxheTpiZWZvcmUge1xuICBjb250ZW50OiBub25lO1xufVxuXG4uaGVyb19fbWVkaWEgaWZyYW1lLFxuLmhlcm9fX21lZGlhIHZpZGVvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgQG5lc3QgLnZpZGVvLWludGVyYWN0YWJsZSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxuXG4gIEBuZXN0IC52aWRlby1wYXJlbnQtc2VjdGlvbi5sb2FkaW5nICYge1xuICAgIG9wYWNpdHk6IDAuMDE7IC8qc25lYWt5IHdheSB0byBhdm9pZCB0YWxraW5nIHRvIGFuIGludmlzaWJsZSBZVCBpZnJhbWUqL1xuICB9XG5cbiAgQG5lc3QgLnZpZGVvLXBhcmVudC1zZWN0aW9uLmxvYWRlZCAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGFuaW1hdGlvbjogem9vbS1mYWRlIDIuNXMgY3ViaWMtYmV6aWVyKDAuMjYsIDAuNTQsIDAuMzIsIDEpIDBzIGZvcndhcmRzO1xuICAgIHRyYW5zaXRpb246IG5vbmU7IC8qZml4ZXMgc2FmYXJpIGFuaW1hdGlvbiBjb25mbGljdCovXG4gIH1cbn1cblxuLypNUDQgc2l6aW5nKi9cbi5oZXJvX19tZWRpYSB2aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6IGNvdmVyXCI7XG59XG5cbi8qWW91VHViZSBpZnJhbWVzIG5lZWQgbW9yZSBzcGVjaWZpYyBzaXppbmcqL1xuLmhlcm9fX21lZGlhIGlmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMzAwJTtcbiAgbGVmdDogLTEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcblxuICAvKlRoaXMgbWluLXdpZHRoIG1heSBuZWVkIHRvIGNoYW5nZSBzbGlnaHRseSBkZXBlbmRpbmcgb25cbiAgZW1iZWRkZWQgdmlkZW8gZGltZW5zaW9ucy4gQ2FuIGRvIG9uIGEgcGVyLXNob3AgYmFzaXMqL1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTQwcHgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDMwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICB0b3A6IC0xMDAlO1xuICB9XG59XG5cbi8qTW9iaWxlIG9ubHkgdmltZW8gcGxheSBidXR0b24qL1xuLnZpbWVvLW1vYmlsZS10cmlnZ2VyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDI7XG4gIG1hcmdpbi10b3A6IDkwcHg7XG5cbiAgQG5lc3QgLmhlcm9fX3RleHQtY29udGVudCAmIHtcbiAgICBib3R0b206IDEyMCU7XG4gIH1cblxuICAmIC5pY29uIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxufVxuXG4uaGVyb19fc2xpZGUtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IGNhbGMoJHotaW5kZXgtaGVyby10ZXh0ICsgMSk7XG5cbiAgJjpob3ZlciB7XG4gICAgJiB+IC5oZXJvX190ZXh0LXdyYXAgLmJ0bjpub3QoLmJ0bi0tc2Vjb25kYXJ5KTpub3QoLmJ0bi0tdGVydGlhcnkpOm5vdCguYnRuLS1pbnZlcnNlKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JCdG5QcmltYXJ5TGlnaHQ7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjI1cztcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGFuaW1hdGlvbjogc2hpbmUgMC43NXMgY3ViaWMtYmV6aWVyKDAuMDEsIDAuNTYsIDEsIDEpO1xuICAgICAgfVxuXG4gICAgICBAbmVzdCBbZGF0YS1idXR0b25fc3R5bGU9J2FuZ2xlZCddICYge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmhlcm9fX3RleHQtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjb2xvcjogJGNvbG9ySGVyb1RleHQ7XG5cbiAgQG5lc3QgLnZpZGVvLWludGVyYWN0YWJsZSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICYgLnBhZ2Utd2lkdGgge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG4uaGVyb19fdGV4dC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiBjYWxjKCRndXR0ZXIgLyAyKSAwO1xuICB6LWluZGV4OiAkei1pbmRleC1oZXJvLXRleHQ7XG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBwYWRkaW5nOiBjYWxjKCRndXR0ZXIgKiAxLjUpIDA7XG4gIH1cblxuICBAbmVzdCBbZGF0YS1kb3RzPVwidHJ1ZVwiXSAmIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgfVxufVxuXG4uaGVyb19fdGV4dC1zaGFkb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOmJlZm9yZSB7XG4gICAgQG1peGluIG92ZXJsYXk7XG4gICAgQG1peGluIGhlcm9SYWRpYWw7XG4gICAgei1pbmRleDogLTE7XG4gIH1cbn1cblxuLmhlcm9fX3RvcC1zdWJ0aXRsZSB7XG4gIEBtaXhpbiBhY2NlbnRGb250U3RhY2s7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdHlwZUhlcm9TdWJ0aXRsZVNpemUpO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5oZXJvX190aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uaGVyb19fc3VidGV4dCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5oZXJvX19zdWJ0aXRsZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdHlwZUhlcm9UZXh0U2l6ZSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uaGVyb19fbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgLypJRSBjbGlja2FiaWxpdHkgZml4Ki9cbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG5lc3QgLnZpZGVvLWludGVyYWN0YWJsZSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxuXG4gICYgLmJ0biB7XG4gICAgbWFyZ2luOiA0cHggM3B4IDJweCAwO1xuXG4gICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIEBuZXN0IFtkYXRhLWJ1dHRvbl9zdHlsZT0nYW5nbGVkJ10gJiB7XG4gICAgICBtYXJnaW4tbGVmdDogJGJ1dHRvblNrZXc7XG4gICAgfVxuICB9XG5cbiAgJiAuYnRuICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcblxuICAgIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIH1cblxuICAgIEBuZXN0IFtkYXRhLWJ1dHRvbl9zdHlsZT0nYW5nbGVkJ10gJiB7XG4gICAgICBtYXJnaW4tbGVmdDogJGJ1dHRvblNrZXc7XG4gICAgfVxuICB9XG5cbiAgLypQbGF5IGljb24gaW4gYnV0dG9uKi9cbiAgJiAuYnRuIC5pY29uLXBsYXkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0ycHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIH1cblxuICAvKkV4dHJhIHBhZGRpbmcgaW4gY2FzZSBpbnNpZGUgYW5pbWF0aW9uIGNyb3BwZXIqL1xuICBAbmVzdCBbZGF0YS1idXR0b25fc3R5bGU9J2FuZ2xlZCddICYge1xuICAgICYgLmFuaW1hdGlvbi1jcm9wcGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgfVxuICB9XG59XG5cbi8qVGV4dCBhbGlnbm1lbnQqL1xuLmhlcm9fX3RleHQtY29udGVudCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cbiAgJiAuaGVyb19fbGluayB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygkZ3V0dGVyIC8gNCk7XG5cbiAgICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKCRndXR0ZXIgLyAyKTtcbiAgICB9XG4gIH1cblxuICAmLmhvcml6b250YWwtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gICYuaG9yaXpvbnRhbC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICYuaG9yaXpvbnRhbC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAmLnZlcnRpY2FsLWNlbnRlciB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gICYudmVydGljYWwtYm90dG9tIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB9XG59XG5cbi8qVG9wIHBhZGRpbmcgYWRqdXN0bWVudCB0byBhY2NvdW50IGZvciBvdmVybGFpZCBoZWFkZXIqL1xuLm92ZXJsYWlkLWhlYWRlciAuaW5kZXgtc2VjdGlvbi0taGVybzpmaXJzdC1jaGlsZCAuaGVyb19fdGV4dC1jb250ZW50LnZlcnRpY2FsLWNlbnRlciB7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgcGFkZGluZy10b3A6IDkwcHg7XG4gIH1cbn1cblxuLmhlcm8tLTQ1MHB4IHtcbiAgaGVpZ2h0OiBjYWxjKDQ1MHB4ICogMC42NSk7XG59XG4uaGVyby0tNTUwcHgge1xuICBoZWlnaHQ6IGNhbGMoNTUwcHggKiAwLjY1KTtcbn1cbi5oZXJvLS02NTBweCB7XG4gIGhlaWdodDogY2FsYyg2NTBweCAqIDAuNjUpO1xufVxuLmhlcm8tLTc1MHB4IHtcbiAgaGVpZ2h0OiBjYWxjKDc1MHB4ICogMC42NSk7XG59XG4uaGVyby0tMTAwdmgge1xuICBoZWlnaHQ6IDEwMHZoO1xufVxuXG5AbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gIC5oZXJvLS1uYXR1cmFsW2RhdGEtbmF0dXJhbF0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH1cbiAgLmhlcm8tLTQ1MHB4IHtcbiAgICBoZWlnaHQ6IDQ1MHB4O1xuICB9XG4gIC5oZXJvLS01NTBweCB7XG4gICAgaGVpZ2h0OiA1NTBweDtcbiAgfVxuICAuaGVyby0tNjUwcHgge1xuICAgIGhlaWdodDogNjUwcHg7XG4gIH1cbiAgLmhlcm8tLTc1MHB4IHtcbiAgICBoZWlnaHQ6IDc1MHB4O1xuICB9XG59XG5cbkBtZWRpYSAoLS1zbWFsbCkge1xuICAuaGVyby0tbW9iaWxlLS1hdXRvW2RhdGEtbW9iaWxlLW5hdHVyYWw9XCJ0cnVlXCJdIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuaGVyby0tbmF0dXJhbFtkYXRhLW1vYmlsZS1uYXR1cmFsPVwiZmFsc2VcIl0ge1xuICAgIGhlaWdodDogNTAwcHg7IC8qZm9yY2UgaXQganVzdCBpbiB0aGlzIGNhc2UqL1xuICB9XG4gIC5oZXJvLS1tb2JpbGUtLTI1MHB4W2RhdGEtbW9iaWxlLW5hdHVyYWw9XCJmYWxzZVwiXSB7XG4gICAgaGVpZ2h0OiAyNTBweDtcbiAgfVxuICAuaGVyby0tbW9iaWxlLS0zMDBweFtkYXRhLW1vYmlsZS1uYXR1cmFsPVwiZmFsc2VcIl0ge1xuICAgIGhlaWdodDogMzAwcHg7XG4gIH1cbiAgLmhlcm8tLW1vYmlsZS0tNDAwcHhbZGF0YS1tb2JpbGUtbmF0dXJhbD1cImZhbHNlXCJdIHtcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICB9XG4gIC5oZXJvLS1tb2JpbGUtLTUwMHB4W2RhdGEtbW9iaWxlLW5hdHVyYWw9XCJmYWxzZVwiXSB7XG4gICAgaGVpZ2h0OiA1MDBweDtcbiAgfVxuICAuaGVyby0tbW9iaWxlLS0xMDB2aFtkYXRhLW1vYmlsZS1uYXR1cmFsPVwiZmFsc2VcIl0ge1xuICAgIGhlaWdodDogOTB2aDtcbiAgfVxufVxuXG4vKkhlcm8gYW5kIHNsaWRlc2hvdyBzaGFyZWQgc3RhcnRpbmcgYW5pbWF0aW9uKi9cbi5zbGlkZXNob3dfX3NsaWRlLFxuW2RhdGEtYW9zPVwiaGVyb19fYW5pbWF0aW9uXCJdIHtcbiAgLypEZWZhdWx0IHBvc2l0aW9uaW5nIHByZS1hbmltYXRpb24qL1xuICAmIC5hbmltYXRpb24tY3JvcHBlciB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICYgLmFuaW1hdGlvbi1jb250ZW50cyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTVweCk7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8qT3ZlcnJpZGUgbGF6eWxvYWQgc3R5bGUqL1xuICAmOm5vdCguYW5pbWF0ZS1vdXQpIC5oZXJvX19pbWFnZSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG5cbiAgJiAuaGVyb19fbGluayAuYnRuIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cblxuICAvKkRpc2FibGUgYW5pbWF0aW9ucyB3aGVuIG5vdCBhY3RpdmUgb3IgZmFkaW5nIG91dCovXG4gICYgLmhlcm9fX2ltYWdlLXdyYXBwZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2xpZGVzaG93SW1hZ2VBbmltYXRpb25BbW91bnQpO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4vKkhlcm8gYW5kIHNsaWRlc2hvdyBzaGFyZWQgYWN0aXZlIGFuaW1hdGlvbiAqL1xuLmxvYWRlZCAuc2xpZGVzaG93X19zbGlkZS5pcy1zZWxlY3RlZCxcbltkYXRhLWFvcz1cImhlcm9fX2FuaW1hdGlvblwiXS5sb2FkZWQge1xuICAmIC5hbmltYXRpb24tY3JvcHBlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICYgLmFuaW1hdGlvbi1jb250ZW50cyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gIH1cblxuICAmIC5oZXJvX190aXRsZSAuYW5pbWF0aW9uLWNvbnRlbnRzIHtcbiAgICBhbmltYXRpb246IDAuOHMgY3ViaWMtYmV6aWVyKDAuMjYsIDAuNTQsIDAuMzIsIDEpIDAuM3MgZm9yd2FyZHM7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHJpc2UtdXA7XG4gIH1cblxuICAmIC5oZXJvX190b3Atc3VidGl0bGUgLmFuaW1hdGlvbi1jb250ZW50cyxcbiAgJiAuaGVyb19fc3VidGl0bGUgLmFuaW1hdGlvbi1jb250ZW50cyB7XG4gICAgYW5pbWF0aW9uOiAxcyBjdWJpYy1iZXppZXIoMC4yNiwgMC41NCwgMC4zMiwgMSkgMC43cyBmb3J3YXJkcztcbiAgICBhbmltYXRpb24tbmFtZTogcmlzZS11cDtcbiAgfVxuXG4gICYgLmhlcm9fX2xpbmsgLmFuaW1hdGlvbi1jb250ZW50cyB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICYgLmhlcm9fX2xpbmsgLmJ0biB7XG4gICAgYW5pbWF0aW9uOiBmYWRlLWluIDJzIGVhc2UgMS4zcyBmb3J3YXJkcztcbiAgfVxuXG4gICYgLmhlcm9fX2xpbmsgLmJ0bjpudGgtY2hpbGQoMikge1xuICAgIGFuaW1hdGlvbjogZmFkZS1pbiAycyBlYXNlIDEuNnMgZm9yd2FyZHM7XG4gIH1cblxuICAmIC5oZXJvX19tZWRpYSxcbiAgJiAuaGVyb19faW1hZ2UsXG4gICYgLmhlcm9fX2ltYWdlLS1zdmcge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuXG4gICYgLmhlcm9fX2ltYWdlLXdyYXBwZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGNhbGMoJHNsaWRlc2hvd0ltYWdlQW5pbWF0aW9uU3BlZWQgKyAwLjJzKSBlYXNlLCBvcGFjaXR5IGNhbGMoJHNsaWRlc2hvd0ltYWdlQW5pbWF0aW9uU3BlZWQgKyAwLjJzKSBlYXNlO1xuICB9XG59XG5cbi8qV2hlbiBub3QgaW4gYSBzbGlkZXNob3csIHNpbXBsZSBmYWRlIGFuaW1hdGlvbiovXG5bZGF0YS1hb3M9XCJoZXJvX19hbmltYXRpb25cIl0ubG9hZGVkIHtcbiAgJiAuaGVyb19faW1hZ2Utd3JhcHBlciB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSBjYWxjKCRzbGlkZXNob3dJbWFnZUFuaW1hdGlvblNwZWVkICsgMC4ycykgZWFzZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5uby1qcyB7XG4gICYgLmhlcm9fX2ltYWdlLFxuICAmIC5oZXJvX19pbWFnZS13cmFwcGVyIHtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi8qU2xpZGVzaG93IGZhZGluZyBvdXQgYW5pbWF0aW9uKi9cbi5zbGlkZXNob3dfX3NsaWRlLmFuaW1hdGUtb3V0IHtcbiAgJiAuYW5pbWF0aW9uLWNyb3BwZXIge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuXG4gICYgLmhlcm9fX2ltYWdlLXdyYXBwZXIge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2xpZGVzaG93SW1hZ2VBbmltYXRpb25BbW91bnQpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkc2xpZGVzaG93SW1hZ2VBbmltYXRpb25TcGVlZCBlYXNlLWluIDAuMDVzLCBvcGFjaXR5ICRzbGlkZXNob3dJbWFnZUFuaW1hdGlvblNwZWVkIGVhc2UtaW4gMC4wNXM7XG4gIH1cblxuICAmIC5oZXJvX19saW5rIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cbiIsIi5jb2xsZWN0aW9uLWNvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogY2FsYygkZ3V0dGVyICogMC43NSk7IC8qc2FtZSBhcyBwYWdlLWNvbnRlbnQqL1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygkZ3V0dGVyICogMS41KTtcbiAgfVxufVxuXG4uY29sbGVjdGlvbi1maWx0ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6ICRncmlkLWd1dHRlci1zbWFsbDtcbiAgICB6LWluZGV4OiA1O1xuXG4gICAgQG5lc3QgLnN0aWNreS1oZWFkZXIgJiB7XG4gICAgICB0b3A6IDg2cHg7IC8qdXBkYXRlZCB3aXRoIEpTIGJhc2VkIG9uIHN0aWNreSBoZWFkZXIgaGVpZ2h0Ki9cbiAgICB9XG4gIH1cblxuICAmIHNlbGVjdCxcbiAgJiAuYnRuIHtcbiAgICBoZWlnaHQ6IDQ0cHg7IC8qbWFnaWMgbnVtYmVyLCBqdXN0IGluIGZpbHRlciBtZW51Ki9cbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cblxuICAmIHNlbGVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmIC5idG4ge1xuICAgIHBhZGRpbmc6IDAgMjBweDsgLypiZWNhdXNlIGl0IGhhcyBhIGZpeGVkIGhlaWdodCovXG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3JCb3JkZXI7XG5cbiAgICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAmIC5pY29uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTJweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG4gIH1cbn1cblxuLmNvbGxlY3Rpb24tZmlsdGVyX19pdGVtIHtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoJGd1dHRlciAvIDIpO1xufVxuXG4uY29sbGVjdGlvbi1maWx0ZXIgLmJ0bjpub3QoLmJ0bi0tdGVydGlhcnktYWN0aXZlKSxcbi5jb2xsZWN0aW9uLWZpbHRlcl9fc29ydC1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiAkY29sb3JCb2R5O1xufVxuXG4uY29sbGVjdGlvbi1maWx0ZXJfX2l0ZW0tLWRyYXdlciB7XG4gIGZsZXg6IDAgMSA0OCU7XG59XG5cbi5jb2xsZWN0aW9uLWZpbHRlcl9faXRlbS0tY291bnQge1xuICBmbGV4OiAxIDEgMTcwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY29sbGVjdGlvbi1maWx0ZXJfX2l0ZW0tLXNvcnQge1xuICBmbGV4OiAwIDEgNDglO1xufVxuXG5AbWVkaWEgKC0tc21hbGwpIHtcbiAgLmNvbGxlY3Rpb24tZmlsdGVyX19pdGVtLS1jb3VudCB7XG4gICAgb3JkZXI6IDM7XG4gICAgZmxleDogMSAxIDEwMCU7XG4gIH1cbn1cblxuLmltYWdlLWZpbHRlcl9fd3JhcHBlciB1bCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIGdhcDogMTBweDtcblxuICBsYWJlbCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yQm9yZGVyKTtcbiAgICB9XG4gIH1cblxuICAudGFnX190ZXh0IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIH1cbn1cblxuLmltYWdlLWZpbHRlcl9fd3JhcHBlciAudGFnLS1hY3RpdmUgbGFiZWwge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yVGV4dEJvZHkpO1xufVxuXG4uaW1hZ2UtZmlsdGVyX19pbWFnZS13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5ydGUuY29sbGVjdGlvbl9fZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKCRndXR0ZXIgKiAxLjUpO1xufVxuXG4kY29sbGVjdGlvbkhlcm9MYXJnZTogNDIwcHg7XG4kY29sbGVjdGlvbkhlcm9TbWFsbDogMjUwcHg7XG4uY29sbGVjdGlvbi1oZXJvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY29sbGVjdGlvbkhlcm9TbWFsbDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogJGNvbG9yTGFyZ2VJbWFnZUJnO1xuICBib3gtc2l6aW5nOiBpbml0aWFsO1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBoZWlnaHQ6ICRjb2xsZWN0aW9uSGVyb0xhcmdlO1xuICB9XG59XG5cbi5jb2xsZWN0aW9uLWhlcm8tLXNtYWxsIHtcbiAgaGVpZ2h0OiAyMDBweDtcblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgfVxufVxuXG4uY29sbGVjdGlvbi1oZXJvLS1sYXJnZSB7XG4gIGhlaWdodDogMzUwcHg7XG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIGhlaWdodDogNTUwcHg7XG4gIH1cbn1cblxuLmNvbGxlY3Rpb24taGVyb19fY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIHBhZGRpbmc6IGNhbGMoJGd1dHRlciAvIDIpIDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIHBhZGRpbmc6ICRndXR0ZXIgMDtcbiAgfVxuXG4gIEBuZXN0IFtkYXRhLXR5cGVfaGVhZGVyc19hbGlnbl90ZXh0PVwiY2VudGVyXCJdICYge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAvKkFjY291bnQgZm9yIG92ZXJsYXllZCBoZWFkZXIvdG9vbGJhciovXG4gIEBuZXN0IC5vdmVybGFpZC1oZWFkZXIgJiB7XG4gICAgcGFkZGluZy10b3A6IDcwcHg7XG5cbiAgICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgfVxuICB9XG5cbiAgJiAucGFnZS13aWR0aCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgQG1peGluIG92ZXJsYXk7XG4gICAgQG1peGluIGhlcm9TY3JpbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYgLnNlY3Rpb24taGVhZGVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGFuaW1hdGlvbjogZmFkZS1pbiAwLjVzIGZvcndhcmRzIDFzO1xuXG4gICAgQG5lc3QgW2RhdGEtZGlzYWJsZS1hbmltYXRpb25zPVwidHJ1ZVwiXSAmIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8qQXBwbHkgYW5pbWF0aW9ucyovXG4uY29sbGVjdGlvbi1oZXJvX19pbWFnZSB7XG4gIGFuaW1hdGlvbjogem9vbS1mYWRlIDIuNXMgY3ViaWMtYmV6aWVyKDAuMjYsIDAuNTQsIDAuMzIsIDEpIDBzIGZvcndhcmRzO1xuICB0cmFuc2l0aW9uOiBub25lOyAvKmZpeGVzIHNhZmFyaSBhbmltYXRpb24gY29uZmxpY3QqL1xuXG4gIEBuZXN0IFtkYXRhLWRpc2FibGUtYW5pbWF0aW9ucz1cInRydWVcIl0gJiB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICAgIG9wYWNpdHk6IDFcbiAgfVxufVxuXG4vKlVubG9hZCBhamF4IHN0eWxlcyovXG4uY29sbGVjdGlvbi1ncmlkX193cmFwcGVyLnVubG9hZCB7XG4gIG1pbi1oZWlnaHQ6IDE4MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG9wYWNpdHk6IDAuMjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuXG4gICYgW2RhdGEtc2VjdGlvbi10eXBlPVwiY29sbGVjdGlvbi1ncmlkXCJdIHtcbiAgICBhbmltYXRpb246IGdyaWQtcHJvZHVjdF9fbG9hZGluZyAxLjVzIGVhc2UgaW5maW5pdGUgMS41cztcbiAgfVxufVxuXG4uY29sbGVjdGlvbi1zaWRlYmFyIHtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAuZ3JpZF9faXRlbS0tc2lkZWJhciB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDEwcHg7IC8qdXBkYXRlZCB3aXRoIHN0aWNreSBoZWFkZXIgSlMqL1xuICAgIG1heC1oZWlnaHQ6IDkwdmg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4uY29sbGVjdGlvbi1zaWRlYmFyX19ncm91cCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yRHJhd2VyQm9yZGVyO1xuICBwYWRkaW5nLXRvcDogNXB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgJiAuY29sbGFwc2libGUtY29udGVudF9faW5uZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gIH1cbn1cblxuLypSZW1vdmUgdG9wIGJvcmRlciBmcm9tIGZpcnN0IGZpbHRlciBncm91cCovXG4uZmlsdGVyLWZvcm0gZGl2OmZpcnN0LW9mLXR5cGUgLmNvbGxlY3Rpb24tc2lkZWJhcl9fZ3JvdXAge1xuICBib3JkZXItdG9wOiAwO1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbiIsIi5zaXRlLWhlYWRlcl9fbG9nbyAubG9nby0taGFzLWludmVydGVkIHtcbiAgQG5lc3QgLmlzLWxpZ2h0ICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnNpdGUtaGVhZGVyX19sb2dvIC5sb2dvLS1pbnZlcnRlZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgQG5lc3QgLmlzLWxpZ2h0ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5zaXRlLWhlYWRlcl9fbG9nbyB7XG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbi5zaXRlLWhlYWRlcl9fbG9nbyBhLFxuLmhlYWRlci1sb2dvIGEge1xuICBjb2xvcjogJGNvbG9yTmF2VGV4dDtcblxuICBAbmVzdCAuaXMtbGlnaHQgJiB7XG4gICAgY29sb3I6ICRjb2xvclN0aWNreU5hdkxpbmtzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGNvbG9yU3RpY2t5TmF2TGlua3M7XG4gICAgfVxuICB9XG59XG5cbi5zaXRlLWhlYWRlciB7XG4gIEBuZXN0IC5pcy1saWdodCAmIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbi5zaXRlLWhlYWRlci0tcGFzc3dvcmQge1xuICBjb2xvcjogdmFyKC0tY29sb3JOYXZUZXh0KTtcblxuICAmIGEsXG4gICYgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yTmF2VGV4dCk7XG4gIH1cblxuICBAbmVzdCAuaXMtbGlnaHQgJiB7XG4gICAgY29sb3I6ICRjb2xvclN0aWNreU5hdkxpbmtzO1xuXG4gICAgJiBhLFxuICAgICYgYTpob3ZlciB7XG4gICAgICBjb2xvcjogJGNvbG9yU3RpY2t5TmF2TGlua3M7XG4gICAgfVxuICB9XG59XG5cbi5zaXRlLW5hdl9fZHJvcGRvd24tbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA4cHggMTVweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAmLnNpdGUtbmF2X19kcm9wZG93bi1saW5rLS1oYXMtY2hpbGRyZW4ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cblxuICBAbmVzdCAubWVnYW1lbnUgJiB7XG4gICAgcGFkZGluZzogNHB4IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuIiwiJHRhZ0FjdGl2ZUljb25TaXplOiAxNnB4O1xuJHRhZ0FjdGl2ZUljb25TaXplQWN0aXZlOiAxMHB4O1xuXG4udGFnLWxpc3RfX2hlYWRlciB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50YWctbGlzdCAudGFnLWxpc3Qge1xuICBtYXJnaW4tbGVmdDogY2FsYygkZ3V0dGVyIC8gMik7XG59XG5cbi50YWctbGlzdCBhLFxuLnRhZy1saXN0IGxhYmVsIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLnRhZy1saXN0IGxhYmVsOmhvdmVyLFxuLnRhZzpmb2N1cy13aXRoaW4gbGFiZWwge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi50YWctLWFjdGl2ZSA+IGEsXG4udGFnLS1hY3RpdmUgPiBsYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG59XG5cbi50YWctbGlzdC0tYWN0aXZlLXRhZ3M6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udGFnLWxpc3QtLWNoZWNrYm94ZXMge1xuICBwYWRkaW5nLWJvdHRvbTogNnB4O1xuXG4gICYgYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tdHlwZUJhc2VTaXplKSAtIDJweCk7XG4gICAgZm9udC1zaXplOiBtYXgoY2FsYyh2YXIoLS10eXBlQmFzZVNpemUpIC0gMnB4KSwgMTRweCk7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yQm9yZGVyO1xuICAgICAgaGVpZ2h0OiAkdGFnQWN0aXZlSWNvblNpemU7XG4gICAgICB3aWR0aDogJHRhZ0FjdGl2ZUljb25TaXplO1xuICAgIH1cbiAgfVxufVxuXG4udGFnLWxpc3QtLWNoZWNrYm94ZXMgLnRhZy0tYWN0aXZlIGE6YWZ0ZXIsXG4udGFnLS1hY3RpdmUgLnRhZ19fY2hlY2tib3g6YWZ0ZXIsXG5pbnB1dDpjaGVja2VkIH4gLnRhZ19fY2hlY2tib3g6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JUZXh0Qm9keTtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3JUZXh0Qm9keTtcbn1cblxuLypSZW1vdmUgdGFncyAodG9wIG9mIHNpZGViYXIpKi9cbi50YWctLXJlbW92ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmIGEge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAvKlggaWNvbiBzaXRzIG92ZXIgYnV0dG9uLCBub3QgaW4gaXQqL1xuICAmIC5pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbG9yOiAkY29sb3JCdG5QcmltYXJ5VGV4dDtcbiAgfVxufVxuXG4vKkNvbG9yIHN3YXRjaGVzIGluIHNpZGViYXIqL1xuLnRhZy1saXN0LS1zd2F0Y2hlcyB7XG4gIG1hcmdpbi10b3A6IDJweDtcbiAgbWFyZ2luLWxlZnQ6IC0ycHg7XG5cbiAgQG5lc3QgLmRyYXdlciAmIHtcbiAgICBtYXJnaW4tbGVmdDogLTJweDtcbiAgfVxuXG4gICYgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG5sYWJlbC50YWdfX2NoZWNrYm94LXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4udGFnX19jaGVja2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvckJvcmRlcik7XG4gICAgaGVpZ2h0OiAkdGFnQWN0aXZlSWNvblNpemU7XG4gICAgd2lkdGg6ICR0YWdBY3RpdmVJY29uU2l6ZTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGhlaWdodDogJHRhZ0FjdGl2ZUljb25TaXplQWN0aXZlO1xuICAgIHdpZHRoOiAkdGFnQWN0aXZlSWNvblNpemVBY3RpdmU7XG4gICAgbGVmdDogM3B4O1xuICB9XG59XG5cbi50YWdfX2lucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbn1cbiIsIiRsYWJlbC1ib3R0b20tbWFyZ2luOiAxMnB4O1xuXG4udmFyaWFudC1pbnB1dC13cmFwIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgMCAtJGxhYmVsLWJvdHRvbS1tYXJnaW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmIGlucHV0IHtcbiAgICBAbWl4aW4gdmlzdWFsbHlIaWRkZW47XG4gIH1cblxuICAmIGxhYmVsIHtcbiAgICBAbWl4aW4gYmFzZUZvbnRTdGFjaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgcGFkZGluZzogN3B4IDE1cHggN3B4O1xuICAgIG1hcmdpbjogMCA4cHggJGxhYmVsLWJvdHRvbS1tYXJnaW4gMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JCb2R5O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY29sb3JCb3JkZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBuZXN0IFtkYXRhLWNlbnRlci10ZXh0PVwiY2VudGVyXCJdICYge1xuICAgICAgbWFyZ2luOiAwIDRweCAkbGFiZWwtYm90dG9tLW1hcmdpbjtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkY29sb3JCb3JkZXI7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZDphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yQm9yZGVyO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIH1cbiAgfVxuXG4gICYgaW5wdXRbdHlwZT0ncmFkaW8nXTpmb2N1cyArIGxhYmVsIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yVGV4dEJvZHlBbHBoYTAwNSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjb2xvclRleHRCb2R5O1xuICB9XG5cbiAgJiBpbnB1dFt0eXBlPSdyYWRpbyddOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICRjb2xvclRleHRCb2R5O1xuICB9XG59XG5cbi52YXJpYW50LWlucHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIC8qRmlyZWZveCBidWcgZml4Ki9cbiAgQG5lc3Qgc2VsZWN0ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi52YXJpYW50LXdyYXBwZXIgKyAudmFyaWFudC13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMjVweDtcbn1cblxuLm5vLWpzIC52YXJpYW50LXdyYXBwZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udmFyaWFudC13cmFwcGVyLS1kcm9wZG93biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoJGd1dHRlciAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4udmFyaWFudF9fbGFiZWxbZm9yXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi52YXJpYW50X19sYWJlbC1pbmZvIHtcbiAgLyp1bmRvIGFjY2VudCBzdGFjayBzdHlsZXMqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG59XG4iLCIuZ3JpZC1wcm9kdWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXI7XG4gIH1cblxuICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICBAbmVzdCAuZ3JpZC1vdmVyZmxvdy13cmFwcGVyICYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLmdyaWQtcHJvZHVjdF9fY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICBAbmVzdCBodG1sW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG4uZ3JpZF9faXRlbS1pbWFnZS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZ3JpZC1wcm9kdWN0X190aXRsZS0taGVhZGluZyB7XG4gIEBtaXhpbiBoZWFkaW5nRm9udFN0YWNrO1xuICBmb250LXNpemU6IGNhbGModmFyKC0tdHlwZUJhc2VTaXplKSArIDJweCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5bZGF0YS10eXBlX3Byb2R1Y3RfY2FwaXRhbGl6ZT1cInRydWVcIl0ge1xuICAmIC5ncmlkLXByb2R1Y3RfX3RpdGxlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS10eXBlQmFzZVNpemUpIC0gMnB4KTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tdHlwZVVwcGVyY2FzZVNwYWNpbmcpO1xuXG4gICAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgICBmb250LXNpemU6IHZhcigtLXR5cGVCb2R5U2l6ZU1vYmlsZSk7XG4gICAgfVxuICB9XG59XG5cbi8qIFByZXZlbnQgbG9uZyB3b3JkcyBmcm9tIGJyZWFraW5nIG91dCBvZiBhdmFpbGFibGUgc3BhY2UgKi9cbi5ncmlkLXByb2R1Y3RfX3RpdGxlIHtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgaHlwaGVuczogYXV0bztcbn1cblxuLmdyaWQtcHJvZHVjdF9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuXG4uZ3JpZC1wcm9kdWN0X19saW5rLS1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gICYgLmdyaWQtcHJvZHVjdF9faW1hZ2UtbWFzayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB9XG5cbiAgJiAuZ3JpZF9faW1hZ2UtcmF0aW8ge1xuICAgIHdpZHRoOiA4MHB4O1xuICB9XG5cbiAgJiAuZ3JpZC1wcm9kdWN0X19tZXRhIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbi5ncmlkLXByb2R1Y3RfX2ltYWdlLW1hc2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5ncmlkLXByb2R1Y3RfX2ltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLmdyaWQtcHJvZHVjdF9fc2Vjb25kYXJ5LWltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xcHg7XG4gIGxlZnQ6IC0xcHg7XG4gIHJpZ2h0OiAtMXB4O1xuICBib3R0b206IC0xcHg7XG4gIG9wYWNpdHk6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvckJvZHk7XG5cbiAgJiBpbWcge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxuXG4gIEBuZXN0IC5ncmlkLXByb2R1Y3RfX2NvbnRlbnQ6aG92ZXIgJiB7XG4gICAgYW5pbWF0aW9uOiBmYWRlLWluIDAuMnMgY3ViaWMtYmV6aWVyKDAuMjYsIDAuNTQsIDAuMzIsIDEpIDBzIGZvcndhcmRzO1xuICB9XG5cbiAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgQG5lc3QgLnN1cHBvcnRzLXRvdWNoICYge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmdyaWQtcHJvZHVjdF9fY29sb3ItaW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yQm9keTtcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgYW5pbWF0aW9uOiBmYWRlLWluIDAuNXMgY3ViaWMtYmV6aWVyKDAuMjYsIDAuNTQsIDAuMzIsIDEpIDBzIGZvcndhcmRzO1xuICB9XG59XG5cbi5ncmlkLXByb2R1Y3RfX21ldGEge1xuICBAbWl4aW4gYmFzZVRleHRDZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTBweCAwIDZweCAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tdHlwZUJhc2VsaW5lSGVpZ2h0TWludXMwMSk7XG5cbiAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgQG5lc3QgLnNtYWxsLS1ncmlkLS1mbHVzaCAmIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgfVxuICB9XG59XG5cbi5ncmlkLXByb2R1Y3RfX3ZlbmRvciB7XG4gIEBtaXhpbiBhY2NlbnRGb250U3RhY2s7XG4gIEBtaXhpbiBhY2NlbnRGb250U21hbGxTaXplO1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIG9wYWNpdHk6IDAuNjU7XG59XG5cbi5ncmlkLXByb2R1Y3RfX3ByaWNlIHtcbiAgQG1peGluIGJhc2VTbWFsbEZvbnRTdGFjaztcbiAgY29sb3I6ICRjb2xvclByaWNlO1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi5ncmlkLXByb2R1Y3RfX3ByaWNlLS1vcmlnaW5hbCB7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLmdyaWQtcHJvZHVjdF9fcHJpY2UtLXNhdmluZ3Mge1xuICBjb2xvcjogJGNvbG9yVGV4dFNhdmluZ3M7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbi5ncmlkLXByb2R1Y3RfX3RhZyB7XG4gIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS10eXBlQmFzZVNpemUpICogMC42NSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IDZweCA1cHggNnB4IDdweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yQnRuUHJpbWFyeTtcbiAgY29sb3I6ICRjb2xvckJ0blByaW1hcnlUZXh0O1xuICB6LWluZGV4OiAyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZTtcblxuICAmLmdyaWQtcHJvZHVjdF9fdGFnLS1zb2xkLW91dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yQm9keTtcbiAgICBjb2xvcjogJGNvbG9yVGV4dEJvZHk7XG4gIH1cblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXR5cGVCYXNlU2l6ZSkgKiAwLjg1KTtcbiAgICBwYWRkaW5nOiA3cHggN3B4IDdweCA5cHg7XG4gIH1cbn1cblxuLmdyaWQtcHJvZHVjdF9fdGFnLS1zYWxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yU2FsZVRhZztcbiAgY29sb3I6ICRjb2xvclNhbGVUYWdUZXh0O1xufVxuXG4ucXVpY2stcHJvZHVjdF9fYnRuIHtcbiAgQG1peGluIGJhc2VTbWFsbEZvbnRTdGFjaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwcHg7XG4gIHJpZ2h0OiAxMHB4O1xuICBsZWZ0OiAxMHB4O1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JCdG5QcmltYXJ5O1xuICBjb2xvcjogJGNvbG9yQnRuUHJpbWFyeVRleHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDhweCA1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLCB0cmFuc2Zvcm0gMC4yNXMgZWFzZS1vdXQsIGJhY2tncm91bmQgMC40cyBlYXNlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG5cbiAgQG5lc3QgLm5vLWpzICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAbmVzdCAuZ3JpZC1wcm9kdWN0X19jb250ZW50OmhvdmVyICYge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZSwgdHJhbnNmb3JtIDAuMjVzIGVhc2Utb3V0O1xuICB9XG5cbiAgQG5lc3QgLnN1cHBvcnRzLXRvdWNoICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAbmVzdCAuZ3JpZC1wcm9kdWN0OmZvY3VzLXdpdGhpbiAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2UsIHRyYW5zZm9ybSAwLjI1cyBlYXNlLW91dDtcbiAgfVxuXG4gICYuYnRuLS1ub3QtcmVhZHkge1xuICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKk1vYmlsZSBob3Jpem9udGFsIG92ZXJmbG93IGdyaWQqL1xuQG1lZGlhICgtLXNtYWxsKSB7XG4gIC5ncmlkLW92ZXJmbG93LXdyYXBwZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgICYgLmdyaWQge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgJiAuZ3JpZF9faXRlbSB7XG4gICAgICB3aWR0aDogMzl2dztcbiAgICAgIGZsZXg6IDAgMCAzOXZ3O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRwYWdlLXdpZHRoLWd1dHRlci1zbWFsbDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJHBhZ2Utd2lkdGgtZ3V0dGVyLXNtYWxsO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgLmdyaWRfX2l0ZW0sXG4gICAgJiAuZ3JpZC1wcm9kdWN0X19wcmljZSB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgfVxuICB9XG5cbiAgW2RhdGEtYW9zPVwib3ZlcmZsb3dfX2FuaW1hdGlvblwiXSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMHZ3KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44cyBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KTtcblxuICAgICYuYW9zLWFuaW1hdGUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cblxuICAgIEBuZXN0IFtkYXRhLWRpc2FibGUtYW5pbWF0aW9ucz1cInRydWVcIl0gJiB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uZ3JpZC1wcm9kdWN0X19jb2xvcnMge1xuICBAbWl4aW4gYmFzZVRleHRDZW50ZXI7XG4gIG1hcmdpbi10b3A6IDNweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBsaW5lLWhlaWdodDogJGNvbG9yU3dhdGNoQ29sbGVjdGlvblNpemU7XG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIGxpbmUtaGVpZ2h0OiAkY29sb3JTd2F0Y2hDb2xsZWN0aW9uU2l6ZUxhcmdlO1xuICB9XG5cbiAgQG5lc3QgW2RhdGEtY2VudGVyLXRleHQ9XCJjZW50ZXJcIl0gJiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gICYgKyAuZ3JpZC1wcm9kdWN0X19jb2xvcnMge1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgfVxufVxuIiwiLnNhbGVzLXBvaW50cyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMjVweCAwO1xuXG4gIEBuZXN0IC5xdWljay1hZGQtbW9kYWwgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uc2FsZXMtcG9pbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmIC5pY29uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgIEBuZXN0IFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLXNtYWxsKSB7XG4gIC5zYWxlcy1wb2ludCAuaWNvbi1hbmQtdGV4dCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cbiIsIi8qSW52ZW50b3J5IGluZGljYXRvciovXG5Aa2V5ZnJhbWVzIGludmVudG9yeS1wdWxzZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgyLjUpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmljb24tLWludmVudG9yeSB7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICB3aWR0aDogOXB4O1xuICAgIGhlaWdodDogOXB4O1xuICAgIGJhY2tncm91bmQ6ICM1NGM2M2E7XG4gICAgYm9yZGVyLXJhZGl1czogOXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBjb250ZW50OiAnJztcbiAgICBtYXJnaW46IDhweDtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBhbmltYXRpb246IGludmVudG9yeS1wdWxzZSAycyBsaW5lYXIgaW5maW5pdGU7XG4gIH1cblxuICBAbmVzdCAuaW52ZW50b3J5LS1sb3cgJiB7XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjRBRjI5O1xuICAgIH1cbiAgfVxufVxuIiwiLmNvbG9yLXN3YXRjaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDAgNHB4IDRweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHdpZHRoOiA0MHB4O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNvbG9yQm9yZGVyO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMnMgZWFzZTtcblxuICBAbmVzdCBbZGF0YS1zd2F0Y2hfc3R5bGU9J3JvdW5kJ10gJiB7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgYm9yZGVyOiAzcHggc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3JCb2R5O1xuXG4gICAgLypUcnkgYW5kIGF2b2lkIG92ZXItcGl4ZWxhdGVkIGJvcmRlcnMgb24gc29tZSBzY3JlZW5zKi9cbiAgICBAbmVzdCBbZGF0YS1zd2F0Y2hfc3R5bGU9J3JvdW5kJ10gJiB7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA0cHg7XG4gICAgICB0b3A6IC0xcHg7XG4gICAgICBsZWZ0OiAtMXB4O1xuICAgICAgcmlnaHQ6IC0xcHg7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgfVxuICB9XG59XG5cbi8qUHJvZHVjdCBncmlkIGRpcmVjdCB2YXJpYW50IGxpbmtzIGFuZFxuc2lkZWJhciBjb2xvciBzd2F0Y2hlcyovXG5hLmNvbG9yLXN3YXRjaDpob3Zlcixcbi50YWc6bm90KC50YWctLWFjdGl2ZSkgbGFiZWw6aG92ZXIgLmNvbG9yLXN3YXRjaDpob3Zlcixcbi50YWc6Zm9jdXMtd2l0aGluIC5jb2xvci1zd2F0Y2gge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNvbG9yVGV4dEJvZHk7XG59XG5cbi50YWctLWFjdGl2ZSAuY29sb3Itc3dhdGNoIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICRjb2xvclRleHRCb2R5O1xufVxuXG4uY29sb3Itc3dhdGNoLS1zbWFsbCB7XG4gIHdpZHRoOiAkY29sb3JTd2F0Y2hDb2xsZWN0aW9uU2l6ZTtcbiAgaGVpZ2h0OiAkY29sb3JTd2F0Y2hDb2xsZWN0aW9uU2l6ZTtcblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgd2lkdGg6ICRjb2xvclN3YXRjaENvbGxlY3Rpb25TaXplTGFyZ2U7XG4gICAgaGVpZ2h0OiAkY29sb3JTd2F0Y2hDb2xsZWN0aW9uU2l6ZUxhcmdlO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yQm9keTtcblxuICAgIEBuZXN0IFtkYXRhLXN3YXRjaF9zdHlsZT0ncm91bmQnXSAmIHtcbiAgICAgIGJvcmRlci13aWR0aDogM3B4O1xuICAgIH1cbiAgfVxufVxuXG4udGFnLS1zd2F0Y2gge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJiA+IGxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi50YWctLXNob3ctbGFiZWwge1xuICB3aWR0aDogMTAwJTtcblxuICBsYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLnRhZ19fdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICB9XG59XG5cbi5jb2xvci1zd2F0Y2gtLWZpbHRlciB7XG4gIHdpZHRoOiAkY29sb3JTd2F0Y2hTaWRlYmFyU2l6ZTtcbiAgaGVpZ2h0OiAkY29sb3JTd2F0Y2hTaWRlYmFyU2l6ZTtcbn1cblxuLnRhZy0tYWN0aXZlIC5jb2xvci1zd2F0Y2gtLWZpbHRlcjpob3ZlcjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3JCb3JkZXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cbiIsIi5jb2xsZWN0aW9uLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1ndXR0ZXItc21hbGw7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIG1hcmdpbi1ib3R0b206ICRncmlkLWd1dHRlcjtcbiAgfVxuXG4gIEBuZXN0IC5ncmlkLS1uby1ndXR0ZXJzICYge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmOmhvdmVyIC5jb2xsZWN0aW9uLWltYWdlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMsMS4wMyk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHMgZWFzZTtcblxuICAgIEBuZXN0IFtkYXRhLWRpc2FibGUtYW5pbWF0aW9ucz1cInRydWVcIl0gJiB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uY29sbGVjdGlvbi1pdGVtOm5vdCguY29sbGVjdGlvbi1pdGVtLS1iZWxvdykge1xuICAmOmFmdGVyIHtcbiAgICBAbWl4aW4gb3ZlcmxheTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JHcmlkT3ZlcmxheTtcbiAgICBvcGFjaXR5OiB2YXIoLS1jb2xvckdyaWRPdmVybGF5T3BhY2l0eSk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzIGVhc2U7XG4gIH1cblxuICAmOmhvdmVyOmFmdGVyIHtcbiAgICBvcGFjaXR5OiBjYWxjKHZhcigtLWNvbG9yR3JpZE92ZXJsYXlPcGFjaXR5KSArIDAuMTUpO1xuICB9XG59XG5cbi5jb2xsZWN0aW9uLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuXG4gICYgaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG59XG5cbi5jb2xsZWN0aW9uLWl0ZW0tLWJlbG93IGltZyB7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi5jb2xsZWN0aW9uLWltYWdlLS1wbGFjZWhvbGRlciB7XG4gIG9wYWNpdHk6IDE7XG5cbiAgJiBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gIH1cbn1cblxuLmNvbGxlY3Rpb24taW1hZ2UtLXNxdWFyZSB7XG4gIHBhZGRpbmctYm90dG9tOiAxMDAlO1xufVxuXG4uY29sbGVjdGlvbi1pbWFnZS0tbGFuZHNjYXBlIHtcbiAgcGFkZGluZy10b3A6IDc1JTtcbn1cblxuLmNvbGxlY3Rpb24taW1hZ2UtLXBvcnRyYWl0IHtcbiAgcGFkZGluZy10b3A6IDE1MCU7XG59XG5cbi5jb2xsZWN0aW9uLWl0ZW1fX3RpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHotaW5kZXg6IDI7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdHlwZUNvbGxlY3Rpb25UaXRsZU1vYmlsZSk7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdHlwZUNvbGxlY3Rpb25UaXRsZSk7XG5cbiAgICAvKlNsaWdodGx5IHNtYWxsZXIgYmFzZSB3aGVuIDUtYWNyb3NzIG9uIGRlc2t0b3AqL1xuICAgIEBuZXN0IC5tZWRpdW0tdXAtLW9uZS1maWZ0aCAmIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG4gIH1cblxuICBAbmVzdCBbZGF0YS10eXBlX3Byb2R1Y3RfY2FwaXRhbGl6ZT1cInRydWVcIl0gJiB7XG4gICAgJiBzcGFuIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXR5cGVVcHBlcmNhc2VTcGFjaW5nKTtcbiAgICB9XG4gIH1cblxuICBAbmVzdCAuY29sbGVjdGlvbi1pdGVtLS1iZWxvdyAmIHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gIH1cbn1cblxuLmNvbGxlY3Rpb24taXRlbV9fdGl0bGUtLWhlYWRpbmcge1xuICBAbWl4aW4gaGVhZGluZ0ZvbnRTdGFjaztcbn1cblxuLmNvbGxlY3Rpb24taXRlbV9fdGl0bGUtLW92ZXJsYWlkLFxuLmNvbGxlY3Rpb24taXRlbV9fdGl0bGUtLW92ZXJsYWlkLWJveCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDEwcHg7XG4gIHJpZ2h0OiAxMHB4O1xufVxuXG4uY29sbGVjdGlvbi1pdGVtX190aXRsZS0tb3ZlcmxhaWQge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1zaGFkb3c6IDAgMCA1MHB4IHJnYmEoMCwwLDAsMSk7XG59XG5cbi5jb2xsZWN0aW9uLWl0ZW1fX3RpdGxlLS1vdmVybGFpZC1ib3gge1xuICAmID4gc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvckJvZHk7XG4gICAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICAgIHBhZGRpbmc6IDhweCAxNXB4O1xuICAgIGNvbG9yOiAkY29sb3JUZXh0Qm9keTtcbiAgfVxufVxuXG4vKlRpdGxlIGFsaWdubWVudCovXG4uY29sbGVjdGlvbi1pdGVtX190aXRsZS0tdG9wLWNlbnRlcixcbi5jb2xsZWN0aW9uLWl0ZW1fX3RpdGxlLS1jZW50ZXIsXG4uY29sbGVjdGlvbi1pdGVtX190aXRsZS0tYm90dG9tLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNvbGxlY3Rpb24taXRlbV9fdGl0bGUtLXRvcC1yaWdodFxuLmNvbGxlY3Rpb24taXRlbV9fdGl0bGUtLXJpZ2h0LFxuLmNvbGxlY3Rpb24taXRlbV9fdGl0bGUtLWJvdHRvbS1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uY29sbGVjdGlvbi1pdGVtX190aXRsZS0tbGVmdCxcbi5jb2xsZWN0aW9uLWl0ZW1fX3RpdGxlLS1jZW50ZXIsXG4uY29sbGVjdGlvbi1pdGVtX190aXRsZS0tcmlnaHQge1xuICAmW2NsYXNzKj1cImNvbGxlY3Rpb24taXRlbV9fdGl0bGUtLW92ZXJsYWlkXCJdIHtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cblxuLypUb3AgYWxpZ24gc29tZSB0aXRsZXMqL1xuLmNvbGxlY3Rpb24taXRlbV9fdGl0bGUtLXRvcC1sZWZ0LFxuLmNvbGxlY3Rpb24taXRlbV9fdGl0bGUtLXRvcC1jZW50ZXIsXG4uY29sbGVjdGlvbi1pdGVtX190aXRsZS0tdG9wLXJpZ2h0IHtcbiAgJltjbGFzcyo9XCJjb2xsZWN0aW9uLWl0ZW1fX3RpdGxlLS1vdmVybGFpZFwiXSB7XG4gICAgdG9wOiAxMHB4O1xuXG4gICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAgdG9wOiAxOHB4O1xuICAgIH1cbiAgfVxufVxuXG4vKkJvdHRvbSBhbGlnbiBzb21lIHRpdGxlcyovXG4uY29sbGVjdGlvbi1pdGVtX190aXRsZS0tYm90dG9tLWxlZnQsXG4uY29sbGVjdGlvbi1pdGVtX190aXRsZS0tYm90dG9tLWNlbnRlcixcbi5jb2xsZWN0aW9uLWl0ZW1fX3RpdGxlLS1ib3R0b20tcmlnaHQge1xuICAmW2NsYXNzKj1cImNvbGxlY3Rpb24taXRlbV9fdGl0bGUtLW92ZXJsYWlkXCJdIHtcbiAgICBib3R0b206IDEwcHg7XG5cbiAgICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgICBib3R0b206IDE4cHg7XG4gICAgfVxuICB9XG59XG4iLCIuY3VzdG9tLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogLSRncmlkLWd1dHRlcjtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1ndXR0ZXI7XG5cbiAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRncmlkLWd1dHRlci1zbWFsbDtcbiAgICBtYXJnaW4tbGVmdDogLSRncmlkLWd1dHRlci1zbWFsbDtcbiAgfVxufVxuXG4uY3VzdG9tX19pdGVtIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1hcmdpbi1ib3R0b206ICRncmlkLWd1dHRlcjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1ndXR0ZXI7XG4gIG1heC13aWR0aDogMTAwJTtcblxuICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWd1dHRlci1zbWFsbDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1ndXR0ZXItc21hbGw7XG5cbiAgICAmLnNtYWxsLS1vbmUtaGFsZiB7XG4gICAgICBmbGV4OiAxIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICYgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uY3VzdG9tX19pdGVtLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jdXN0b21fX2l0ZW0taW5uZXItLXZpZGVvLFxuLmN1c3RvbV9faXRlbS1pbm5lci0taHRtbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY3VzdG9tX19pdGVtLWlubmVyLS1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY3VzdG9tX19pdGVtLWlubmVyLS1odG1sIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmN1c3RvbV9faXRlbS1pbm5lci0tcGxhY2Vob2xkZXItaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFsaWduLS10b3AtbWlkZGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYWxpZ24tLXRvcC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYWxpZ24tLW1pZGRsZS1sZWZ0IHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG4uYWxpZ24tLWNlbnRlciB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYWxpZ24tLW1pZGRsZS1yaWdodCB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5hbGlnbi0tYm90dG9tLWxlZnQge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbn1cblxuLmFsaWduLS1ib3R0b20tbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmFsaWduLS1ib3R0b20tcmlnaHQge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4iLCIuYXJ0aWNsZV9fZ3JpZC1pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDE3cHg7XG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cblxuICAmIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmFydGljbGVfX3RpdGxlIHtcbiAgZm9udC1zaXplOiBjYWxjKHZhcigtLXR5cGVCYXNlU2l6ZSkgKyAycHgpO1xufVxuXG4uYXJ0aWNsZV9fZGF0ZSB7XG4gIEBtaXhpbiBiYXNlRXh0cmFTbWFsbEZvbnRTdGFjaztcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xuXG4gIEBuZXN0IC5zZWN0aW9uLWhlYWRlciAmIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKCRndXR0ZXIgLyAyKTtcbiAgfVxufVxuXG4uYXJ0aWNsZV9fYXV0aG9yIHtcbiAgbWFyZ2luLXRvcDogMnB4O1xuICBAbWl4aW4gYmFzZUV4dHJhU21hbGxGb250U3RhY2s7XG59XG5cbi5hcnRpY2xlX19ncmlkLW1ldGEge1xuICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBAbWl4aW4gYmFzZVRleHRDZW50ZXI7XG4gIH1cbn1cblxuLmFydGljbGVfX2V4Y2VycHQge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuIiwiLmxvZ28tYmFyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAtJGd1dHRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmxvZ28tYmFyX19pdGVtIHtcbiAgZmxleDogMCAxIDExMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgY2FsYygkZ3V0dGVyIC8gMikgY2FsYygkZ3V0dGVyIC8gMS41KTtcblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgZmxleDogMCAxIDE2MHB4O1xuICAgIG1hcmdpbjogMCBjYWxjKCRndXR0ZXIgLyAxLjUpICRndXR0ZXI7XG4gIH1cbn1cblxuLmxvZ28tYmFyX19pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5sb2dvLWJhcl9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5bZGF0YS1hb3M9XCJsb2dvX19hbmltYXRpb25cIl0gLmxvZ28tYmFyX19pdGVtIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuW2RhdGEtYW9zPVwibG9nb19fYW5pbWF0aW9uXCJdLmFvcy1hbmltYXRlIC5sb2dvLWJhcl9faXRlbSB7XG4gIGFuaW1hdGlvbjogZmFkZS1pbiAwLjVzIGVhc2UgMHMgZm9yd2FyZHM7XG59XG5bZGF0YS1hb3M9XCJsb2dvX19hbmltYXRpb25cIl0uYW9zLWFuaW1hdGUgLmxvZ28tYmFyX19pdGVtOm50aC1jaGlsZCgyKSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMC4ycztcbn1cbltkYXRhLWFvcz1cImxvZ29fX2FuaW1hdGlvblwiXS5hb3MtYW5pbWF0ZSAubG9nby1iYXJfX2l0ZW06bnRoLWNoaWxkKDMpIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjRzO1xufVxuW2RhdGEtYW9zPVwibG9nb19fYW5pbWF0aW9uXCJdLmFvcy1hbmltYXRlIC5sb2dvLWJhcl9faXRlbTpudGgtY2hpbGQoNCkge1xuICBhbmltYXRpb24tZGVsYXk6IDAuNnM7XG59XG5bZGF0YS1hb3M9XCJsb2dvX19hbmltYXRpb25cIl0uYW9zLWFuaW1hdGUgLmxvZ28tYmFyX19pdGVtOm50aC1jaGlsZCg1KSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMC44cztcbn1cbltkYXRhLWFvcz1cImxvZ29fX2FuaW1hdGlvblwiXS5hb3MtYW5pbWF0ZSAubG9nby1iYXJfX2l0ZW06bnRoLWNoaWxkKDYpIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjBzO1xufVxuW2RhdGEtYW9zPVwibG9nb19fYW5pbWF0aW9uXCJdLmFvcy1hbmltYXRlIC5sb2dvLWJhcl9faXRlbTpudGgtY2hpbGQoNykge1xuICBhbmltYXRpb24tZGVsYXk6IDEuMnNcbn1cbltkYXRhLWFvcz1cImxvZ29fX2FuaW1hdGlvblwiXS5hb3MtYW5pbWF0ZSAubG9nby1iYXJfX2l0ZW06bnRoLWNoaWxkKDgpIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjRzO1xufVxuW2RhdGEtYW9zPVwibG9nb19fYW5pbWF0aW9uXCJdLmFvcy1hbmltYXRlIC5sb2dvLWJhcl9faXRlbTpudGgtY2hpbGQoOSkge1xuICBhbmltYXRpb24tZGVsYXk6IDEuNnM7XG59XG5bZGF0YS1hb3M9XCJsb2dvX19hbmltYXRpb25cIl0uYW9zLWFuaW1hdGUgLmxvZ28tYmFyX19pdGVtOm50aC1jaGlsZCgxMCkge1xuICBhbmltYXRpb24tZGVsYXk6IDEuOHM7XG59XG4iLCIuYmFja2dyb3VuZC1tZWRpYS10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogJGNvbG9yTGFyZ2VJbWFnZUJnO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4uYmFja2dyb3VuZC1tZWRpYS10ZXh0X192aWRlbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB6LWluZGV4OiAwO1xufVxuXG4uYmFja2dyb3VuZC1tZWRpYS10ZXh0X192aWRlbyB7XG4gIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgIHdpZHRoOiA0MDAlO1xuICAgIGxlZnQ6IC0xNTAlO1xuXG4gICAgaHRtbFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IC0xNTAlO1xuICAgIH1cbiAgfVxuXG4gICYgaWZyYW1lLFxuICAmIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAgaGVpZ2h0OiAxMjAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgbGVmdDogLTE1MCU7XG4gICAgICBoZWlnaHQ6IDE1MCU7XG4gICAgICB3aWR0aDogNDAwJTtcbiAgICB9XG5cbiAgICAvKlRoaXMgbWluLXdpZHRoIG1heSBuZWVkIHRvIGNoYW5nZSBzbGlnaHRseSBkZXBlbmRpbmcgb25cbiAgICBlbWJlZGRlZCB2aWRlbyBkaW1lbnNpb25zLiBDYW4gZG8gb24gYSBwZXItc2hvcCBiYXNpcyovXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE0MHB4KSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMzAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB0b3A6IC0xMDAlO1xuICAgIH1cbiAgfVxufVxuXG4udmlkZW8taW50ZXJhY3RhYmxlIC5iYWNrZ3JvdW5kLW1lZGlhLXRleHRfX3ZpZGVvIHtcbiAgJiBpZnJhbWUsXG4gICYgdmlkZW8ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB9XG59XG5cbi5iYWNrZ3JvdW5kLW1lZGlhLXRleHRfX2lubmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYmFja2dyb3VuZC1tZWRpYS10ZXh0X19hbGlnbmVyIHtcbiAgbWFyZ2luOiBjYWxjKCRndXR0ZXIgKiAyKTtcbn1cblxuLmJhY2tncm91bmQtbWVkaWEtdGV4dF9fdGV4dCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtc2l6ZTogdmFyKC0tdHlwZUhlcm9TdWJ0aXRsZVNpemUpO1xuICBiYWNrZ3JvdW5kOiAkY29sb3JCb2R5O1xuICBwYWRkaW5nOiAkZ3V0dGVyO1xuICB3aWR0aDogMzgwcHg7XG5cbiAgQG5lc3QgLmJhY2tncm91bmQtbWVkaWEtdGV4dC0tbGVmdCAmIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgQG5lc3QgLmJhY2tncm91bmQtbWVkaWEtdGV4dC0tcmlnaHQgJiB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLmJhY2tncm91bmQtbWVkaWEtdGV4dF9fdGV4dC0tZnJhbWVkIHtcbiAgYm9yZGVyOiAkdGV4dEZyYW1lTWFyZ2luU21hbGwgc29saWQ7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yQm9keTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4ICRjb2xvclRleHRCb2R5O1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBib3JkZXItd2lkdGg6ICR0ZXh0RnJhbWVNYXJnaW5MYXJnZTtcbiAgfVxufVxuXG4uYmFja2dyb3VuZC1tZWRpYS10ZXh0X190ZXh0IC5idG4ge1xuICBtYXJnaW4tdG9wOiBjYWxjKCRndXR0ZXIgLyAyKTtcbn1cblxuQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAuYmFja2dyb3VuZC1tZWRpYS10ZXh0LS1sZWZ0IC5hbmltYXRpb24tY3JvcHBlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cblxuICAuYmFja2dyb3VuZC1tZWRpYS10ZXh0LS1yaWdodCAuYW5pbWF0aW9uLWNyb3BwZXIge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuXG4vKlNlY3Rpb24gaGVpZ2h0Ki9cbi5iYWNrZ3JvdW5kLW1lZGlhLXRleHRfX2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xufVxuXG5AbWVkaWEgKC0tc21hbGwpIHtcbiAgLmJhY2tncm91bmQtbWVkaWEtdGV4dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5iYWNrZ3JvdW5kLW1lZGlhLXRleHRfX2lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLmJhY2tncm91bmQtbWVkaWEtdGV4dF9fY29udGFpbmVyLFxuICAuYmFja2dyb3VuZC1tZWRpYS10ZXh0X192aWRlbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMjQwcHg7XG5cbiAgICBAbmVzdCAucHJvbW8tdmlkZW8gJiB7XG4gICAgICBoZWlnaHQ6IDU1MHB4O1xuICAgIH1cbiAgfVxuICAuYmFja2dyb3VuZC1tZWRpYS10ZXh0X19hbGlnbmVyIHtcbiAgICBtYXJnaW46IC02cHggNnB4IDZweDtcbiAgfVxuICAuYmFja2dyb3VuZC1tZWRpYS10ZXh0X190ZXh0IHtcbiAgICBwYWRkaW5nOiBjYWxjKCRndXR0ZXIgKiAwLjc1KTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAuYmFja2dyb3VuZC1tZWRpYS10ZXh0LmxvYWRpbmcge1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgdG9wOiAxMTdweDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAuYmFja2dyb3VuZC1tZWRpYS10ZXh0X19zcGFjZXIuYmFja2dyb3VuZC1tZWRpYS10ZXh0LS00NTAsXG4gIC5iYWNrZ3JvdW5kLW1lZGlhLXRleHQtLTQ1MCxcbiAgLmJhY2tncm91bmQtbWVkaWEtdGV4dC0tNDUwIC5iYWNrZ3JvdW5kLW1lZGlhLXRleHRfX3ZpZGVvIHtcbiAgICBtaW4taGVpZ2h0OiA0NTBweDtcbiAgfVxuICAuYmFja2dyb3VuZC1tZWRpYS10ZXh0X19zcGFjZXIuYmFja2dyb3VuZC1tZWRpYS10ZXh0LS01NTAsXG4gIC5iYWNrZ3JvdW5kLW1lZGlhLXRleHQtLTU1MCxcbiAgLmJhY2tncm91bmQtbWVkaWEtdGV4dC0tNTUwIC5iYWNrZ3JvdW5kLW1lZGlhLXRleHRfX3ZpZGVvIHtcbiAgICBtaW4taGVpZ2h0OiA1NTBweDtcbiAgfVxuICAuYmFja2dyb3VuZC1tZWRpYS10ZXh0X19zcGFjZXIuYmFja2dyb3VuZC1tZWRpYS10ZXh0LS02NTAsXG4gIC5iYWNrZ3JvdW5kLW1lZGlhLXRleHQtLTY1MCxcbiAgLmJhY2tncm91bmQtbWVkaWEtdGV4dC0tNjUwIC5iYWNrZ3JvdW5kLW1lZGlhLXRleHRfX3ZpZGVvIHtcbiAgICBtaW4taGVpZ2h0OiA2NTBweDtcbiAgfVxuICAuYmFja2dyb3VuZC1tZWRpYS10ZXh0X19zcGFjZXIuYmFja2dyb3VuZC1tZWRpYS10ZXh0LS03NTAsXG4gIC5iYWNrZ3JvdW5kLW1lZGlhLXRleHQtLTc1MCxcbiAgLmJhY2tncm91bmQtbWVkaWEtdGV4dC0tNzUwIC5iYWNrZ3JvdW5kLW1lZGlhLXRleHRfX3ZpZGVvIHtcbiAgICBtaW4taGVpZ2h0OiA3NTBweDtcbiAgfVxufVxuXG5bZGF0YS1hb3M9XCJiYWNrZ3JvdW5kLW1lZGlhLXRleHRfX2FuaW1hdGlvblwiXSAuYmFja2dyb3VuZC1tZWRpYS10ZXh0X19pbWFnZSxcbltkYXRhLWFvcz1cImJhY2tncm91bmQtbWVkaWEtdGV4dF9fYW5pbWF0aW9uXCJdIC5iYWNrZ3JvdW5kLW1lZGlhLXRleHRfX2ltYWdlIHN2ZyxcbltkYXRhLWFvcz1cImJhY2tncm91bmQtbWVkaWEtdGV4dF9fYW5pbWF0aW9uXCJdIC5iYWNrZ3JvdW5kLW1lZGlhLXRleHRfX3ZpZGVvIHtcbiAgYW5pbWF0aW9uOiB6b29tLWZhZGUgMi41cyBjdWJpYy1iZXppZXIoMC4yNiwgMC41NCwgMC4zMiwgMSkgMHMgZm9yd2FyZHM7XG4gIHRyYW5zaXRpb246IG5vbmU7IC8qZml4ZXMgc2FmYXJpIGFuaW1hdGlvbiBjb25mbGljdCovXG5cbiAgQG5lc3QgW2RhdGEtZGlzYWJsZS1hbmltYXRpb25zPVwidHJ1ZVwiXSAmIHtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5bZGF0YS1hb3M9XCJiYWNrZ3JvdW5kLW1lZGlhLXRleHRfX2FuaW1hdGlvblwiXS5hb3MtYW5pbWF0ZSAuYmFja2dyb3VuZC1tZWRpYS10ZXh0X19pbWFnZSxcbltkYXRhLWFvcz1cImJhY2tncm91bmQtbWVkaWEtdGV4dF9fYW5pbWF0aW9uXCJdLmFvcy1hbmltYXRlIC5iYWNrZ3JvdW5kLW1lZGlhLXRleHRfX2ltYWdlIHN2ZyxcbltkYXRhLWFvcz1cImJhY2tncm91bmQtbWVkaWEtdGV4dF9fYW5pbWF0aW9uXCJdLmxvYWRlZC5hb3MtYW5pbWF0ZSAuYmFja2dyb3VuZC1tZWRpYS10ZXh0X192aWRlbyB7XG4gIGFuaW1hdGlvbjogem9vbS1mYWRlIDIuNXMgY3ViaWMtYmV6aWVyKDAuMjYsIDAuNTQsIDAuMzIsIDEpIDBzIGZvcndhcmRzO1xuICB0cmFuc2l0aW9uOiBub25lOyAvKmZpeGVzIHNhZmFyaSBhbmltYXRpb24gY29uZmxpY3QqL1xuXG4gIEBuZXN0IFtkYXRhLWRpc2FibGUtYW5pbWF0aW9ucz1cInRydWVcIl0gJiB7XG4gICAgYW5pbWF0aW9uOiBub25lO1xuICB9XG59XG5cbkBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgW2RhdGEtYW9zPVwiYmFja2dyb3VuZC1tZWRpYS10ZXh0X19hbmltYXRpb25cIl0gLmJhY2tncm91bmQtbWVkaWEtdGV4dF9faW5uZXIgLmFuaW1hdGlvbi1jb250ZW50cyB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIEBuZXN0IC5uby1qcyAmIHtcbiAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgW2RhdGEtYW9zPVwiYmFja2dyb3VuZC1tZWRpYS10ZXh0X19hbmltYXRpb25cIl0ubG9hZGVkLmFvcy1hbmltYXRlIC5iYWNrZ3JvdW5kLW1lZGlhLXRleHRfX2lubmVyIC5hbmltYXRpb24tY29udGVudHMge1xuICAgIGFuaW1hdGlvbjogcmlzZS11cCAxcyBjdWJpYy1iZXppZXIoMC4yNiwgMC41NCwgMC4zMiwgMSkgMC41cyBmb3J3YXJkcztcblxuICAgIEBuZXN0IFtkYXRhLWRpc2FibGUtYW5pbWF0aW9ucz1cInRydWVcIl0gJiB7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuIiwiLnF1b3RlLWljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbn1cblxuLnRlc3RpbW9uaWFsLXN0YXJzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxufVxuXG4udGVzdGltb25pYWxzLXNsaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZzogNDBweCAwIDU1cHg7XG4gIHdpZHRoOiAzMyU7XG5cbiAgLypIaWRlIGFsbCBidXQgZmlyc3Qgc2xpZGUgdG8gcHJldmVudCBwYWdlIHJlZmxvd3MgcHJpb3IgdG8gaW5pdCovXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgQG5lc3QgLmZsaWNraXR5LXNsaWRlciAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJiAudGVzdGltb25pYWxzLXNsaWRlcl9fdGV4dCB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlLCBib3gtc2hhZG93IDAuNXMgZWFzZTtcbiAgfVxuXG4gICYuaXMtc2VsZWN0ZWQgLnRlc3RpbW9uaWFscy1zbGlkZXJfX3RleHQge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMjVweCByZ2JhKDAsMCwwLDAuMSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwO1xuICB9XG5cbiAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgJiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmIC50ZXN0aW1vbmlhbHMtc2xpZGVyX190ZXh0IHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44Nik7XG4gICAgfVxuXG4gICAgJi5pcy1zZWxlY3RlZCAudGVzdGltb25pYWxzLXNsaWRlcl9fdGV4dCB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbiAgfVxufVxuXG4udGVzdGltb25pYWxzLXNsaWRlcl9fdGV4dCB7XG4gIG1hcmdpbjogMCAzMHB4O1xuICBwYWRkaW5nOiAzMHB4IGNhbGMoJGd1dHRlciAvIDIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvckJvZHkpO1xuICBjb2xvcjogdmFyKC0tY29sb3JUZXh0Qm9keSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJiBjaXRlIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgICBmb250LXNpemU6IGNhbGModmFyKC0tdHlwZUJhc2VTaXplKSArIDFweCk7XG4gICAgfVxuICB9XG5cbiAgJiBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKCRndXR0ZXIgLyA0KTtcblxuICAgICYgKyBjaXRlIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi50ZXN0aW1vbmlhbHNfX2luZm8ge1xuICBmb250LXNpemU6IGNhbGModmFyKC0tdHlwZUJhc2VTaXplKSAtIDFweCk7XG59XG5cbiR0ZXN0aW1vbmlhbEltYWdlU2l6ZTogMTQycHg7XG4kdGVzdGltb25pYWxJbWFnZVNpemVSb3VuZDogNjVweDtcblxuLnRlc3RpbW9uaWFsLWltYWdlIHtcbiAgbWF4LXdpZHRoOiAkdGVzdGltb25pYWxJbWFnZVNpemU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvckJvZHk7XG5cbiAgQG5lc3QgLnRleHQtY2VudGVyICYge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gICYgLmltYWdlLXdyYXAge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi50ZXN0aW1vbmlhbC1pbWFnZS0tcm91bmQge1xuICB3aWR0aDogJHRlc3RpbW9uaWFsSW1hZ2VTaXplUm91bmQ7XG4gIGhlaWdodDogJHRlc3RpbW9uaWFsSW1hZ2VTaXplUm91bmQ7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogJHRlc3RpbW9uaWFsSW1hZ2VTaXplUm91bmQ7XG5cbiAgLypmaXggYW5pbWF0aW9uIGJ1ZyBpbiBTYWZhcmkqL1xuICAmIGltZyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItcmFkaXVzOiAkdGVzdGltb25pYWxJbWFnZVNpemVSb3VuZDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLnRlc3RpbW9uaWFscy1zZWN0aW9uIC5mbGlja2l0eS1wYWdlLWRvdHMge1xuICBib3R0b206IDA7XG59XG4iLCIuYW5ub3VuY2VtZW50LWJhciB7XG4gIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS10eXBlQmFzZVNpemUpICogMC43NSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JBbm5vdW5jZW1lbnQ7XG4gIGNvbG9yOiAkY29sb3JBbm5vdW5jZW1lbnRUZXh0O1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvckJvcmRlcjsgLypvbmx5IHdoZW4gc2FtZSBiZyBhcyBib2R5Ki9cblxuICAmIGEsXG4gICYgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGNvbG9yQW5ub3VuY2VtZW50VGV4dDtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgY29sb3I6ICRjb2xvckFubm91bmNlbWVudFRleHQ7XG4gICAgfVxuICB9XG59XG5cbi5oYXMtc3RpY2t5LWFubm91bmNlbWVudC1iYXItLWJlbG93IC5hbm5vdW5jZW1lbnQtYmFyIHtcbiAgei1pbmRleDogY2FsYygkei1pbmRleC1oZWFkZXItc2VhcmNoICsgMSk7XG59XG5cbi5qcy1kcmF3ZXItb3BlbiAuaGFzLXN0aWNreS1hbm5vdW5jZW1lbnQtYmFyLS1iZWxvdyAuYW5ub3VuY2VtZW50LWJhciB7XG4gIHotaW5kZXg6ICR6LWluZGV4LXN0dWNrLWhlYWRlcjtcbn1cblxuLmFubm91bmNlbWVudC1iYXItLXN0aWNreSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogY2FsYygkei1pbmRleC1oZWFkZXItc2VhcmNoICsgMSk7XG5cbiAgQG5lc3QgLmpzLWRyYXdlci1vcGVuOm5vdCguanMtZHJhd2VyLW9wZW4tLXNlYXJjaCkgJiB7XG4gICAgei1pbmRleDogJHotaW5kZXgtc3R1Y2staGVhZGVyO1xuICB9XG5cbiAgQG5lc3QgLmhhcy1zdGlja3ktYW5ub3VuY2VtZW50LWJhci0tYmVsb3cgJiB7XG4gICAgei1pbmRleDogY2FsYygkei1pbmRleC1oZWFkZXItc2VhcmNoICsgMSk7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuNHMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgfVxuXG4gIEBuZXN0IC5qcy1kcmF3ZXItb3Blbjpub3QoLmpzLWRyYXdlci1vcGVuLS1zZWFyY2gpIC5oYXMtc3RpY2t5LWFubm91bmNlbWVudC1iYXItLWJlbG93ICYge1xuICAgIHotaW5kZXg6ICR6LWluZGV4LXN0dWNrLWhlYWRlcjtcbiAgfVxufVxuXG4uYW5ub3VuY2VtZW50LXNsaWRlcl9fc2xpZGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDAgNXB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFubm91bmNlbWVudC1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAkY29sb3JBbm5vdW5jZW1lbnRUZXh0O1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGNvbG9yQW5ub3VuY2VtZW50VGV4dDtcbiAgfVxufVxuXG4uYW5ub3VuY2VtZW50LXRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS10eXBlVXBwZXJjYXNlU3BhY2luZyk7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5hbm5vdW5jZW1lbnQtbGluay10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQG5lc3QgLmFubm91bmNlbWVudC1saW5rICYge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgJiBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vKkRpc2FibGUgc3RpY2t5IGFubm91bmNlbWVudCBiYXIgb24gc2hvcnQgYW5kIHdpZGUgc2NyZWVucyovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MDBweCkgYW5kIChtYXgtaGVpZ2h0OiA1NTBweCkge1xuICAuYW5ub3VuY2VtZW50LWJhci0tc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG59XG5cbkBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgLyoxIHNsaWRlIGF0IGEgdGltZSwgaW5saW5lIHRleHQqL1xuICAuYW5ub3VuY2VtZW50LXNsaWRlcltkYXRhLWNvbXBhY3Q9XCJ0cnVlXCJdIHtcbiAgICAmIC5hbm5vdW5jZW1lbnQtc2xpZGVyX19zbGlkZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICAgICYgLmFubm91bmNlbWVudC10ZXh0LFxuICAgICYgLmFubm91bmNlbWVudC1saW5rLXRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cblxuICAgICYgLmFubm91bmNlbWVudC10ZXh0ICsgLmFubm91bmNlbWVudC1saW5rLXRleHQge1xuICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgfVxuXG4gICAgJi5mbGlja2l0eS1lbmFibGVkIC5hbm5vdW5jZW1lbnQtc2xpZGVyX19zbGlkZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAvKlVwIHRvIDMgYmVzaWRlIGVhY2hvdGhlciovXG4gIC5hbm5vdW5jZW1lbnQtc2xpZGVyW2RhdGEtY29tcGFjdD1cImZhbHNlXCJdIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgJiAuYW5ub3VuY2VtZW50LXNsaWRlcl9fc2xpZGUge1xuICAgICAgZmxleDogMSAxIDMzJTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLXNtYWxsKSB7XG4gIC5hbm5vdW5jZW1lbnQtc2xpZGVyIHtcbiAgICAmIC5hbm5vdW5jZW1lbnQtc2xpZGVyX19zbGlkZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5mbGlja2l0eS1lbmFibGVkIC5hbm5vdW5jZW1lbnQtc2xpZGVyX19zbGlkZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi5zaG9waWZ5LWNoYWxsZW5nZV9fY29udGFpbmVyIHtcbiAgcGFkZGluZzogMzBweCAyMnB4O1xuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgcGFkZGluZzogMTIwcHggMDtcbiAgfVxufVxuXG4ubmV3c2xldHRlciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDUyMHB4O1xufVxuXG4ubmV3c2xldHRlci1zZWN0aW9uIC5lcnJvcnMge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDUyMHB4O1xufVxuXG4ubW9kYWwgLm5ld3NsZXR0ZXIgLmgxIHtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygkZ3V0dGVyIC8gMik7XG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuICB9XG59XG5cbi5tb2RhbCAubmV3c2xldHRlciAuaW1hZ2Utd3JhcCB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoJGd1dHRlciAvIDQpO1xuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYygkZ3V0dGVyIC8gMik7XG4gIH1cbn1cblxuLm1vZGFsIC5uZXdzbGV0dGVyIC50ZXh0LWNsb3NlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5uZXdzbGV0dGVyX19pbnB1dC1ncm91cCB7XG4gIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gIG1heC13aWR0aDogNDAwcHg7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5uZXdzbGV0dGVyX19pbnB1dCB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3JUZXh0Qm9keTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGNvbG9yVGV4dEJvZHk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3JUZXh0Qm9keTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3JUZXh0Qm9keTtcbiAgfVxuXG4gICY6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvclRleHRCb2R5O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQG1lZGlhICgtLXNtYWxsKSB7XG4gIC5mb3JtX19zdWJtaXQtLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmZvcm1fX3N1Ym1pdC0tc21hbGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgLmZvcm1fX3N1Ym1pdC0tbGFyZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmZvcm1fX3N1Ym1pdC0tc21hbGwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuW2RhdGEtaGFzLWltYWdlXSAubW9kYWxfX2Nsb3NlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JCb2R5KTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBwYWRkaW5nOiA1cHg7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6MTBweDtcblxuICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cblxuW2RhdGEtc2VjdGlvbi10eXBlPVwibmV3c2xldHRlci1wb3B1cFwiXSB7XG4gIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgIGJvdHRvbTogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmIC5tb2RhbF9faW5uZXIge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICB9XG5cbiAgICAmLm1vZGFsLS1zcXVhcmUgLm1vZGFsX19jbG9zZSB7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgfVxuICB9XG5cbiAgJiAuaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gICYgLnJ0ZSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgJiAucG9wdXAtY3RhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJiAubm90ZS0tc3VjY2VzcyB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmIC5uZXdzbGV0dGVyX19pbnB1dC1ncm91cCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAmIC5uZXdzbGV0dGVyLWJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxuXG4gICYgLnNvY2lhbC1pY29ucyBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBwYWRkaW5nOiA1cHg7XG5cbiAgfVxufVxuXG4ubW9kYWxfX2NlbnRlcmVkLWNvbnRlbnQubmV3c2xldHRlci0taGFzLWltYWdlIHtcbiAgcGFkZGluZzogMDtcblxuICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgJiAubmV3c2xldHRlci1wb3B1cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgIG1pbi13aWR0aDogNjUwcHg7XG5cbiAgICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAmLm5ld3NsZXR0ZXItcG9wdXAtLWltYWdlLXJldmVyc2VkIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICB9XG4gIH1cblxuICAmIC5mb3JtX19zdWJtaXQtLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJiAuZm9ybV9fc3VibWl0LS1zbWFsbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmIC5uZXdzbGV0dGVyLXBvcHVwX19pbWFnZS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDUwJTtcblxuICAgIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmIC5uZXdzbGV0dGVyLXBvcHVwX19pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gICYgLm5ld3NsZXR0ZXItcG9wdXBfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgd2lkdGg6IDUwJTtcblxuICAgIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxubmV3c2xldHRlci1yZW1pbmRlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvckJ0blByaW1hcnlUZXh0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JCdG5QcmltYXJ5KTtcblxuICAmLm1vZGFsLS1zcXVhcmUgLm1vZGFsX19jbG9zZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yQnRuUHJpbWFyeVRleHQpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3JCdG5QcmltYXJ5VGV4dCk7XG4gICAgICBvcGFjaXR5OiA1MCU7XG4gICAgfVxuICB9XG5cbiAgJiAubmV3c2xldHRlci1yZW1pbmRlcl9fbWVzc2FnZSB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXR5cGVIZWFkZXJTaXplKSowLjUpO1xuICB9XG59XG5cbi5mb3JtX19zdWJtaXQtLXNtYWxsIHtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG4iLCIubWFwLXNlY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNjUwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBoZWlnaHQ6IDUwMHB4O1xuICB9XG5cbiAgJiAucGFnZS13aWR0aCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5tYXAtc2VjdGlvbi0tbG9hZC1lcnJvciB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLm1hcC1vbmJvYXJkaW5nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHotaW5kZXg6IDA7XG59XG5cbi5tYXAtc2VjdGlvbl9fb3ZlcmxheS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5tYXAtc2VjdGlvbl9fb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JCb2R5O1xuICBwYWRkaW5nOiAkZ3V0dGVyO1xuICBtYXJnaW46ICRndXR0ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRndXR0ZXIqMik7XG4gIHotaW5kZXg6IDM7XG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAkZ3V0dGVyO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHdpZHRoOiAzMCU7XG4gIH1cblxuICBAbmVzdCAubWFwLXNlY3Rpb24tLWxvYWQtZXJyb3IgJiB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLm1hcC1zZWN0aW9uX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAyO1xufVxuXG4vKk9wdGljYWxseSBjZW50ZXIgbWFwIGluIHZpc2libGUgYXJlYSB3aXRoXG5leHRlbmRlZCBoZWlnaHQvd2lkdGhzIGFuZCBuZWdhdGl2ZSBtYXJnaW5zKi9cbi5tYXAtc2VjdGlvbl9fY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IC8qYXBpIHdpbGwgaW5saW5lIHJlbGF0aXZlIHNvbWV0aW1lcyovXG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTUwJTtcbiAgbWFyZ2luLWJvdHRvbTogLTUwJTtcblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgd2lkdGg6IDEzMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMCAtMzAlIDAgMDtcbiAgfVxuXG4gIEBuZXN0IC5kaXNwbGF5LW1hcC0tZmFsc2UuYmctaW1hZ2UtLXRydWUgJiAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgICYgaW1nIHtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbltkYXRhLWFvcz1cIm1hcC1zZWN0aW9uX19hbmltYXRpb25cIl0gLm1hcC1zZWN0aW9uX19jb250YWluZXIge1xuICBhbmltYXRpb246IGZhZGUtb3V0IDAuNXMgY3ViaWMtYmV6aWVyKDAuMjYsIDAuNTQsIDAuMzIsIDEpIDBzIGZvcndhcmRzO1xuICBvcGFjaXR5OiAwO1xufVxuXG5bZGF0YS1hb3M9XCJtYXAtc2VjdGlvbl9fYW5pbWF0aW9uXCJdLmFvcy1hbmltYXRlIC5tYXAtc2VjdGlvbl9fY29udGFpbmVyIHtcbiAgYW5pbWF0aW9uOiB6b29tLWZhZGUgMi41cyBjdWJpYy1iZXppZXIoMC4yNiwgMC41NCwgMC4zMiwgMSkgMHMgZm9yd2FyZHM7XG59XG4iLCIuaW1hZ2Utcm93IHtcbiAgQG1peGluIGNsZWFyZml4O1xufVxuXG4uaW1hZ2Utcm93X19wbGFjZWhvbGRlciB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMzMuMzMlO1xuXG4gIEBuZXN0IC5pbWFnZS1yb3ctLWd1dHRlcnMgJiB7XG4gICAgd2lkdGg6IDMyJTtcbiAgICBtYXJnaW46IDAgMSUgMiU7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5pbWFnZS1yb3dfX2ltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIGZsb2F0OiBsZWZ0O1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICYgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuLypab29tIGN1cnNvciB1bmxlc3MgaW5zaWRlIGEgbGluayovXG5bZGF0YS16b29tPVwidHJ1ZVwiXSB7XG4gICYgLmltYWdlLXJvd19faW1hZ2UgLmpzLXBob3Rvc3dpcGVfX3pvb20ge1xuICAgIGN1cnNvcjogem9vbS1pbjtcbiAgfVxuXG4gICYgLmltYWdlLXJvd19faW1hZ2UgYSAuanMtcGhvdG9zd2lwZV9fem9vbSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG4iLCIuaW1hZ2UtZ3JpZC0tc3BhY2UtdG9wIHtcbiAgcGFkZGluZy10b3A6ICRpbmRleFNlY3Rpb25NYXJnaW5TbWFsbDtcblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgcGFkZGluZy10b3A6ICRpbmRleFNlY3Rpb25NYXJnaW5MYXJnZTtcbiAgfVxufVxuXG4uaW1hZ2UtZ3JpZC0tc3BhY2UtYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206ICRpbmRleFNlY3Rpb25NYXJnaW5TbWFsbDtcblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgcGFkZGluZy1ib3R0b206ICRpbmRleFNlY3Rpb25NYXJnaW5MYXJnZTtcbiAgfVxufVxuXG4vKiBHcmlkIGxheW91dCAqL1xuLmltYWdlLWdyaWRfX2dyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogdmFyKC0taW1hZ2UtZ3JpZC1nYXAsIDIwcHgpO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5pbWFnZS1ncmlkX19pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZmxleDogMSAxIGNhbGMoNTAlIC0gdmFyKC0taW1hZ2UtZ3JpZC1nYXAsIDIwcHgpKTtcblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgZmxleDogMSAxIGNhbGMoMTAwJSAvIHZhcigtLWltYWdlLWdyaWQtY29sdW1ucywgNSkgLSB2YXIoLS1pbWFnZS1ncmlkLWdhcCwgMjBweCkpO1xuICB9XG59XG5cbi5pbWFnZS1ncmlkX19pbWFnZS13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmltYWdlLWdyaWRfX2dyaWQtLXNxdWFyZSAuaW1hZ2UtZ3JpZF9faW1hZ2Utd3JhcCB7XG4gIGFzcGVjdC1yYXRpbzogMSAvIDE7XG59XG5cbi5pbWFnZS1ncmlkX19ncmlkLS1wb3J0cmFpdCAuaW1hZ2UtZ3JpZF9faW1hZ2Utd3JhcCB7XG4gIGFzcGVjdC1yYXRpbzogMiAvIDM7XG59XG5cbi5pbWFnZS1ncmlkX19ncmlkLS1sYW5kc2NhcGUgLmltYWdlLWdyaWRfX2ltYWdlLXdyYXAge1xuICBhc3BlY3QtcmF0aW86IDQgLyAzO1xufVxuXG4uaW1hZ2UtZ3JpZF9fZ3JpZC0tYXJjaCAuaW1hZ2UtZ3JpZF9faW1hZ2Utd3JhcCB7XG4gIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gIGJvcmRlci1yYWRpdXM6IDUwJSA1MCUgMCAwO1xufVxuXG4uaW1hZ2UtZ3JpZF9faW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG59XG5cbi5pbWFnZS1ncmlkX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5pbWFnZS1ncmlkX19pbWFnZS13cmFwIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBtaXhpbiBvdmVybGF5O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWltYWdlLWdyaWQtb3ZlcmxheS1jb2xvcik7XG4gICAgb3BhY2l0eTogdmFyKC0taW1hZ2UtZ3JpZC1vdmVybGF5LW9wYWNpdHkpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44cyBlYXNlO1xuICB9XG59XG5cbi5pbWFnZS1ncmlkX19pdGVtLWhlYWRpbmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAkdGV4dEZyYW1lTWFyZ2luTGFyZ2U7XG4gIHJpZ2h0OiAkdGV4dEZyYW1lTWFyZ2luTGFyZ2U7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogdmFyKC0taW1hZ2UtZ3JpZC1vdmVybGF5LXRleHQtY29sb3IpO1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuXG4uaW1hZ2UtZ3JpZF9faXRlbTpoYXMoLmltYWdlLWdyaWRfX2xpbmspOmhvdmVyIC5pbWFnZS1ncmlkX19pbWFnZS13cmFwOjphZnRlciB7XG4gIG9wYWNpdHk6IGNhbGModmFyKC0taW1hZ2UtZ3JpZC1vdmVybGF5LW9wYWNpdHkpICsgdmFyKC0taW1hZ2UtZ3JpZC1vdmVybGF5LWhvdmVyLWluY3JlbWVudCwgMC4xKSk7XG59XG5cbi5pbWFnZS1ncmlkX19pdGVtOmhhcyguaW1hZ2UtZ3JpZF9fbGluayk6aG92ZXIgLmltYWdlLWdyaWRfX2ltYWdlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuOHMgZWFzZTtcblxuICBAbmVzdCBbZGF0YS1kaXNhYmxlLWFuaW1hdGlvbnM9XCJ0cnVlXCJdICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG5cbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuIiwiJHotaW5kZXgtcHJvbW8tdGludDogMjtcbiR6LWluZGV4LXByb21vLWNvbG9yLW92ZXJsYXk6IDM7XG4kei1pbmRleC1wcm9tby1mcmFtZTogMztcbiR6LWluZGV4LXByb21vLXRleHQ6IDM7XG4kei1pbmRleC1wcm9tby1jb250ZW50OiA0O1xuJHotaW5kZXgtcHJvbW8tbGluazogNTtcblxuLnByb21vLWdyaWQtLXNwYWNlLXRvcCB7XG4gIHBhZGRpbmctdG9wOiAkaW5kZXhTZWN0aW9uTWFyZ2luU21hbGw7XG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBwYWRkaW5nLXRvcDogJGluZGV4U2VjdGlvbk1hcmdpbkxhcmdlO1xuICB9XG59XG5cbi5wcm9tby1ncmlkLS1zcGFjZS1ib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogJGluZGV4U2VjdGlvbk1hcmdpblNtYWxsO1xuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgcGFkZGluZy1ib3R0b206ICRpbmRleFNlY3Rpb25NYXJnaW5MYXJnZTtcbiAgfVxufVxuXG4ucHJvbW8tZ3JpZF9fY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAmIC5idG4ge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gICAgfVxuICB9XG5cbiAgJi5ob3Jpem9udGFsLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJiAuYnRuIHtcbiAgICAgIG1hcmdpbjogMnB4IDVweDtcbiAgICB9XG4gIH1cblxuICAmLmhvcml6b250YWwtcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cblxuLnByb21vLWdyaWRfX2NvbnRhaW5lci0tYm94ZWQge1xuICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICAmIC5wcm9tby1ncmlkX19iZyB7XG4gICAgICBoZWlnaHQ6IDYwJTtcbiAgICB9XG5cbiAgICAmIC5wcm9tby1ncmlkX19jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogNTUlO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDUwcHggcmdiYSgwLDAsMCwwLjEpO1xuICAgIH1cbiAgfVxufVxuXG4vKkZyYW1lZCBidXQgbm90IGJveGVkKi9cbi5wcm9tby1ncmlkX19jb250YWluZXItLWZyYW1lZDpub3QoLnByb21vLWdyaWRfX2NvbnRhaW5lci0tYm94ZWQpOmFmdGVyIHtcbiAgQG1peGluIG92ZXJsYXk7XG4gIGJvcmRlcjogJHRleHRGcmFtZU1hcmdpblNtYWxsIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggJGNvbG9ySGVyb1RleHQ7XG4gIHotaW5kZXg6ICR6LWluZGV4LXByb21vLWZyYW1lO1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBib3JkZXItd2lkdGg6ICR0ZXh0RnJhbWVNYXJnaW5MYXJnZTtcbiAgfVxuXG4gIC8qV2hlbiB0ZXh0IGlzIG5vdCBvdmVybGF5aW5nIGltYWdlLCBib3JkZXIgc2hvdWxkIGJlIHRleHQgY29sb3IqL1xuICBAbmVzdCAudHlwZS1zYWxlX2NvbGxlY3Rpb24gJixcbiAgLnR5cGUtcHJvZHVjdCAmLFxuICAudHlwZS1iYW5uZXIgJiB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4ICRjb2xvclRleHRCb2R5O1xuICB9XG59XG5cbi52aWRlby1pbnRlcmFjdGFibGUucHJvbW8tZ3JpZF9fY29udGFpbmVyLS1mcmFtZWQ6bm90KC5wcm9tby1ncmlkX19jb250YWluZXItLWJveGVkKTphZnRlciB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ucHJvbW8tZ3JpZF9fY29udGFpbmVyLS10aW50OmJlZm9yZSB7XG4gIEBtaXhpbiBvdmVybGF5O1xuICBvcGFjaXR5OiAxO1xuICB6LWluZGV4OiAkei1pbmRleC1wcm9tby10aW50O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnByb21vLWdyaWRfX3NsaWRlLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAkei1pbmRleC1wcm9tby1saW5rO1xuXG4gICY6aG92ZXIge1xuICAgICYgfiAucHJvbW8tZ3JpZF9fY29udGVudCAuYnRuOm5vdCguYnRuLS1zZWNvbmRhcnkpOm5vdCguYnRuLS10ZXJ0aWFyeSk6bm90KC5idG4tLWludmVyc2UpIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvckJ0blByaW1hcnlMaWdodDtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjVzO1xuXG4gICAgICBAbmVzdCBbZGF0YS1idXR0b25fc3R5bGU9J3NxdWFyZSddICYsXG4gICAgICBbZGF0YS1idXR0b25fc3R5bGVePSdyb3VuZCddICYge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBhbmltYXRpb246IHNoaW5lIDAuNzVzIGN1YmljLWJlemllcigwLjAxLCAwLjU2LCAxLCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucHJvbW8tZ3JpZF9fY29udGVudCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBwYWRkaW5nOiAyZW0gMi41ZW07IC8qUmVsYXRpdmUgdG8gdGV4dC1zaXplKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICB6LWluZGV4OiAkei1pbmRleC1wcm9tby1jb250ZW50O1xuXG4gIEBuZXN0IC5wcm9tby1ncmlkX19jb250YWluZXItLWZyYW1lZDpub3QoLnByb21vLWdyaWRfX2NvbnRhaW5lci0tYm94ZWQpICYge1xuICAgIG1hcmdpbjogMS41ZW07XG4gIH1cblxuICAmIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIEBuZXN0IC52ZXJ0aWNhbC10b3AgJiB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgfVxuXG4gIEBuZXN0IC52ZXJ0aWNhbC1jZW50ZXIgJiB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG5cbiAgQG5lc3QgLnZlcnRpY2FsLWJvdHRvbSAmIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgfVxufVxuXG4udmlkZW8taW50ZXJhY3RhYmxlIC5wcm9tby1ncmlkX19jb250ZW50IHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5wcm9tby1ncmlkX19jb250ZW50LS1ib3hlZCB7XG4gIGJhY2tncm91bmQ6ICRjb2xvckJvZHk7XG4gIGNvbG9yOiAkY29sb3JUZXh0Qm9keTtcbiAgbWFyZ2luOiBjYWxjKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICBtYXJnaW46IDEwcHg7XG4gIH1cbn1cblxuLnByb21vLWdyaWRfX2NvbnRlbnQtLWZyYW1lZC5wcm9tby1ncmlkX19jb250ZW50LS1ib3hlZCB7XG4gIGJvcmRlcjogJHRleHRGcmFtZU1hcmdpblNtYWxsIHNvbGlkO1xuICBib3JkZXItY29sb3I6ICRjb2xvckJvZHk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCAkY29sb3JUZXh0Qm9keTtcblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgYm9yZGVyLXdpZHRoOiAkdGV4dEZyYW1lTWFyZ2luTGFyZ2U7XG4gIH1cbn1cblxuLypSYWRpYWwgZ3JhZGllbnQgb24gb25seSBzb21lIHR5cGVzKi9cbi50eXBlLWFkdmFuY2VkLFxuLnR5cGUtc2ltcGxlIHtcbiAgJiAucHJvbW8tZ3JpZF9fY29udGVudDpub3QoLnByb21vLWdyaWRfX2NvbnRlbnQtLWJveGVkKTpub3QoLnByb21vLWdyaWRfX2NvbnRlbnQtLXNhbGUpIHtcbiAgICBjb2xvcjogJGNvbG9ySGVyb1RleHQ7XG5cbiAgICAmIGEge1xuICAgICAgY29sb3I6ICRjb2xvckhlcm9UZXh0O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9ySGVyb1RleHQ7XG5cbiAgICAgIEBuZXN0IFtkYXRhLWJ1dHRvbl9zdHlsZT0nc3F1YXJlJ10gJixcbiAgICAgIFtkYXRhLWJ1dHRvbl9zdHlsZV49J3JvdW5kJ10gJiB7XG4gICAgICAgICY6bm90KC5idG4tLWludmVyc2UpIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiAuYnRuLS1pbnZlcnNlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9ySGVyb1RleHQ7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBAbWl4aW4gb3ZlcmxheTtcbiAgICAgIEBtaXhpbiBoZXJvUmFkaWFsO1xuICAgICAgei1pbmRleDogJHotaW5kZXgtcHJvbW8tdGludDtcbiAgICB9XG4gIH1cbn1cblxuLnR5cGUtYWR2YW5jZWQsXG4udHlwZS1wcm9kdWN0LFxuLnR5cGUtc2FsZV9jb2xsZWN0aW9uIHtcbiAgJiAucnRlLS1zdHJvbmcge1xuICAgIEBtaXhpbiBoZWFkaW5nRm9udFN0YWNrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIH1cblxuICAmIC5ydGUtLWVtIHtcbiAgICBAbWl4aW4gYWNjZW50Rm9udFN0YWNrO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxufVxuXG4ucHJvbW8tZ3JpZF9fYmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAvKkFkZCBjb2xvciBvdmVybGF5IGlmIG5vdCBib3hlZCB2ZXJzaW9uKi9cbiAgQG5lc3QgLnByb21vLWdyaWRfX2NvbnRhaW5lcjpub3QoLnByb21vLWdyaWRfX2NvbnRhaW5lci0tYm94ZWQpICY6YmVmb3JlIHtcbiAgICBAbWl4aW4gb3ZlcmxheSAkei1pbmRleC1wcm9tby1jb2xvci1vdmVybGF5O1xuICAgIEBtaXhpbiBoZXJvU2NyaW07XG4gIH1cblxuICAmIC5wbGFjZWhvbGRlci1zdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4udHlwZS1zaW1wbGUge1xuICAucHJvbW8tZ3JpZF9fYmcgLnBsYWNlaG9sZGVyLXN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cbn1cblxuLnZpZGVvLWludGVyYWN0YWJsZSAucHJvbW8tZ3JpZF9fYmc6YmVmb3JlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5wcm9tby1ncmlkX19iZy1pbWFnZSB7XG4gIHotaW5kZXg6ICR6LWluZGV4LWhlcm8taW1hZ2U7XG5cbiAgQG5lc3QgW2RhdGEtYW9zPVwiaW1hZ2UtZmFkZS1pblwiXS5hb3MtYW5pbWF0ZSAmIHtcbiAgICBhbmltYXRpb246IGZhZGUtaW4gMXMgY3ViaWMtYmV6aWVyKDAuMjYsIDAuNTQsIDAuMzIsIDEpIDBzIGZvcndhcmRzO1xuICAgIHRyYW5zaXRpb246IG5vbmU7IC8qZml4ZXMgc2FmYXJpIGFuaW1hdGlvbiBjb25mbGljdCovXG4gIH1cbn1cblxuLnByb21vLWdyaWRfX3RleHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6ICR6LWluZGV4LXByb21vLWZyYW1lO1xuXG4gICYgLmJ0biB7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PSBUeXBlOiBBZHZhbmNlZCA9PT09PT09PT09PT09PT09PT09PT0gKi9cbi50eXBlLWFkdmFuY2VkIHtcbiAgJiAucHJvbW8tZ3JpZF9fY29udGVudCB7XG4gICAgcGFkZGluZzogMmVtO1xuXG4gICAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgICBwYWRkaW5nOiAxLjVlbTtcbiAgICB9XG4gIH1cblxuICAmIC5idG4ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICB9XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT0gVHlwZTogU2FsZSBDb2xsZWN0aW9uID09PT09PT09PT09PT09PT09PT09PSAqL1xuLnR5cGUtc2FsZV9jb2xsZWN0aW9uIHtcbiAgZmxleC1ncm93OiAxO1xuICBtYXgtaGVpZ2h0OiA2MDBweDtcblxuICAmIC5wcm9tby1ncmlkX19jb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvclNtYWxsSW1hZ2VCZztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJiAucHJvbW8tZ3JpZF9fY29udGVudCB7XG4gICAgcGFkZGluZzogMmVtO1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcblxuICAgIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgICAmOm5vdCgucHJvbW8tZ3JpZF9fY29udGVudC0tc21hbGwtdGV4dCkge1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qQ3VzdG9tIHR5cG9ncmFwaHkgc3R5bGVzKi9cbiAgJiAucnRlLS1ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogNy41cHg7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAmIC5ydGUtLXN0cm9uZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMy4zNzVlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgLypDdXN0b20gdHlwZSBsYXlvdXQgZm9yIFwib2ZmXCIgd2hlbiBmb2xsb3dpbmcgXCIlXCIqL1xuICAmIHNtYWxsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgZm9udC1zaXplOiAwLjI1ZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0yLjllbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgfVxufVxuXG4udHlwZS1zYWxlLWltYWdlcyB7XG4gIGZsZXg6IDEgMSA1MCU7XG5cbiAgJiBzdmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuLnR5cGUtc2FsZS1pbWFnZXNfX2Nyb3Age1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnR5cGUtc2FsZS1pbWFnZXNfX2ltYWdlIHtcbiAgd2lkdGg6IDUwJTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09IFR5cGU6IFNpbXBsZSA9PT09PT09PT09PT09PT09PT09PT0gKi9cbi50eXBlLXNpbXBsZSB7XG4gICYgLnByb21vLWdyaWRfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IGNhbGMoJGd1dHRlciAvIDEpO1xuICAgIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgICAgcGFkZGluZzogY2FsYygkZ3V0dGVyIC8gMik7XG4gICAgfVxuICB9XG59XG5cbi5wcm9tby1ncmlkX190aXRsZTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT0gVHlwZTogSW1hZ2UgPT09PT09PT09PT09PT09PT09PT09ICovXG4udHlwZS1pbWFnZSB7XG4gICYgLnByb21vLWdyaWRfX2NvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgfVxuXG4gICYgaW1nLFxuICAmIGEsXG4gICYgLmltYWdlLXdyYXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8qPT09PT09PT09PT09PT09PSBUeXBlOiBCYW5uZXIgPT09PT09PT09PT09PT09PSovXG4udHlwZS1iYW5uZXIge1xuICBmbGV4OiAxIDAgMTAwJTtcblxuICAmIC5wcm9tby1ncmlkX19jb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cblxuICAmIC5wcm9tby1ncmlkX19jb250YWluZXItLWZyYW1lZDpub3QoLnByb21vLWdyaWRfX2NvbnRhaW5lci0tYm94ZWQpIHtcbiAgICBwYWRkaW5nOiAxZW07XG4gIH1cblxuICAmIHAge1xuICAgIG1hcmdpbjogNXB4IDEwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxufVxuXG4udHlwZS1iYW5uZXJfX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleDogMSAxIDEwMCU7XG59XG5cbi50eXBlLWJhbm5lcl9fY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMCAxMHB4O1xufVxuXG4udHlwZS1iYW5uZXJfX3RleHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB6LWluZGV4OiAkei1pbmRleC1wcm9tby10ZXh0O1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG59XG5cbi50eXBlLWJhbm5lcl9faW1hZ2Uge1xuICBmbGV4OiAwIDAgNDUlO1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBmbGV4OiAwIDAgMjAwcHg7XG4gIH1cbn1cblxuLyo9PT09PT09PT09PT09PT09IFR5cGU6IFByb2R1Y3QgPT09PT09PT09PT09PT09PSovXG4udHlwZS1wcm9kdWN0X193cmFwcGVyIHtcbiAgZmxleDogMSAxIDEwMCU7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAyZW0gMDtcbiAgei1pbmRleDogJHotaW5kZXgtcHJvbW8tY29udGVudDtcblxuICAmLnByb21vLWdyaWRfX2NvbnRhaW5lci0tdGludCB7XG4gICAgcGFkZGluZzogMmVtO1xuICB9XG5cbiAgQG5lc3QgLnByb21vLWdyaWRfX2NvbnRhaW5lci0tZnJhbWVkICYge1xuICAgIHBhZGRpbmc6IDJlbTtcbiAgfVxufVxuXG4udHlwZS1wcm9kdWN0X19jb250ZW50IHtcbiAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygkZ3V0dGVyIC8gMik7XG4gIH1cbn1cblxuLnR5cGUtcHJvZHVjdF9faW1hZ2VzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAxMHB4IDAgMTBweCAxMHB4O1xufVxuXG4udHlwZS1wcm9kdWN0X19pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgfVxuXG4gICY6bnRoLWNoaWxkKDIpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiA0MHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMzAlO1xuICB9XG59XG5cbi50eXBlLXByb2R1Y3RfX2xhYmVscyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTBweDtcbiAgcmlnaHQ6IC0xMHB4O1xuICB6LWluZGV4OiAkei1pbmRleC1wcm9tby10ZXh0O1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgJiAuZmxleC1ncmlkX19pdGVtLS01MCxcbiAgICAmIC5mbGV4LWdyaWRfX2l0ZW0tLTMzIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgfVxuICB9XG59XG5cbi50eXBlLXByb2R1Y3RfX2xhYmVsIHtcbiAgcGFkZGluZzogNHB4IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvckJ0blByaW1hcnk7XG4gIGNvbG9yOiAkY29sb3JCdG5QcmltYXJ5VGV4dDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBjbGVhcjogYm90aDtcbn1cblxuLnR5cGUtcHJvZHVjdF9fbGFiZWwtLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvckJvZHk7XG4gIGNvbG9yOiAkY29sb3JUZXh0Qm9keTtcbn1cbiIsIi5zdG9yZS1hdmFpbGFiaWxpdHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcblxuICAmIC5pY29uIHtcbiAgICBtYXJnaW46IDZweCAwIDA7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICB9XG5cbiAgJiAuaWNvbi1pbi1zdG9jayB7XG4gICAgZmlsbDogJHN1Y2Nlc3NHcmVlbjtcbiAgfVxuXG4gICYgLmljb24tb3V0LW9mLXN0b2NrIHtcbiAgICBmaWxsOiAkZXJyb3JSZWQ7XG4gIH1cblxuICAmICsgLnN0b3JlLWF2YWlsYWJpbGl0eSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxufVxuXG4uc3RvcmUtYXZhaWxhYmlsaXR5X19pbmZvIHtcbiAgZmxleDogMCAxIDkwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG5cbiAgQG5lc3QgaHRtbFtkaXI9XCJydGxcIl0gJiB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB9XG5cbiAgJiA+IGRpdiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgJiBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxufVxuXG4uc3RvcmUtYXZhaWxhYmlsaXR5X19zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG5cbiAgJiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG59XG5cbi5zdG9yZS1hdmFpbGFiaWxpdHlfX3NtYWxsLS1saW5rIHtcbiAgQG5lc3QgLm1vZGFsICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi5hZ2UtdmVyaWZpY2F0aW9uLXBvcHVwIHtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG5cbiAgJi5hZ2UtdmVyaWZpY2F0aW9uLXBvcHVwLS1pbWFnZS1mYWxzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JCb2R5KTtcblxuICAgICYubW9kYWw6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yQm9keSk7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJiAubW9kYWxfX2lubmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5tb2RhbC0tbW9iaWxlLWZyaWVuZGx5Lm1vZGFsLS1zcXVhcmUgLm1vZGFsX19jZW50ZXJlZC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvckRyYXdlcnMpO1xuICB9XG59XG4iLCIvKiBDYXJ0IHBhZ2UgbGF5b3V0ICovXG5AbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gIC5jYXJ0X19wYWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICAuY2FydF9fcGFnZS1jb2w6Zmlyc3QtY2hpbGQge1xuICAgIGZsZXg6IDEgMSA2MCU7XG4gICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gIH1cblxuICAuY2FydF9fcGFnZS1jb2w6bGFzdC1jaGlsZCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDEwJTtcbiAgICBmbGV4OiAwIDEgMzUlO1xuICAgIHBhZGRpbmc6IDMwcHg7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBtaXhpbiBvdmVybGF5IC0xO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3JUZXh0Qm9keSk7XG4gICAgICBvcGFjaXR5OiAwLjAzO1xuICAgIH1cbiAgfVxufVxuXG4uY2FydF9faXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWNvbG9yQm9yZGVyKTtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICB9XG59XG5cbi5jYXJ0X19pbWFnZSB7XG4gIGZsZXg6IDAgMCAxNTBweDtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1ncmlkLWd1dHRlcik7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmIGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICB9XG5cbiAgJiBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8qU21hbGxlciBpbWFnZSBpbiBkcmF3ZXIqL1xuICBAbmVzdCAuZHJhd2VyICYge1xuICAgIGZsZXg6IDAgMCAxMDBweDtcbiAgfVxufVxuXG4uY2FydF9faXRlbS1kZXRhaWxzIHtcbiAgZmxleDogMSAxIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmNhcnRfX2l0ZW0tdGl0bGUge1xuICBmbGV4OiAxIDEgMTAwJTtcblxuICBAbmVzdCAuZHJhd2VyICYge1xuICAgIEBtaXhpbiBiYXNlU21hbGxGb250U3RhY2s7XG4gIH1cbn1cblxuLmNhcnRfX2l0ZW0tc3ViIHtcbiAgZmxleDogMSAxIDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgJiA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB9XG59XG5cbi5jYXJ0X19pdGVtLXJvdyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5jYXJ0X19yZW1vdmUge1xuICAmIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG5cbiAgLypIaWRlIGluIGRyYXdlciovXG4gIEBuZXN0IC5kcmF3ZXIgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY2FydF9fY2hlY2tvdXQge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNhcnRfX2l0ZW0tbmFtZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IGNhbGModmFyKC0tdHlwZUJhc2VTaXplKSArIDFweCk7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLmNhcnRfX2l0ZW0tLXZhcmlhbnRzIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAmIHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG59XG5cbi5jYXJ0X19wcmljZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2FydF9fcHJpY2UtLXN0cmlrZXRocm91Z2gge1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cblxuLmNhcnRfX2Rpc2NvdW50IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yVGV4dFNhdmluZ3MpO1xufVxuXG4uY2FydF9fdGVybXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAmIGxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICB9XG59XG5cbi5jYXJ0X19jaGVja291dC13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcblxuICAmIC5hZGRpdGlvbmFsLWNoZWNrb3V0LWJ1dHRvbnMge1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gIH1cbn1cblxuLmRyYXdlciAuYWRkaXRpb25hbC1jaGVja291dC1idXR0b25zIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG5cbiAgJiBbZGF0YS1zaG9waWZ5LWJ1dHRvbmNvbnRhaW5lcl0ge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgJiA+ICoge1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8qUGF5UGFsIGJ1dHRvbiBoYXMgdW5oZWxwZnVsIHotaW5kZXgqL1xuaWZyYW1lLnpvaWQtY29tcG9uZW50LWZyYW1lIHtcbiAgei1pbmRleDogMSAhaW1wb3J0YW50O1xufVxuXG4uZHJhd2VyX19jYXJ0LWVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmRyYXdlci5pcy1lbXB0eSB7XG4gICYgLmRyYXdlcl9faW5uZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmIC5kcmF3ZXJfX2NhcnQtZW1wdHkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8qIENhcnQgcHJvcGVydGllcyAqL1xuLmNhcnRfX2l0ZW0tLXByb3BlcnRpZXMge1xuICBmb250LXNpemU6IGNhbGModmFyKC0tdHlwZUJhc2VTaXplKSAtIDJweCk7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgJiBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG59XG4iLCJAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gIC5wcm9kdWN0LXNpbmdsZV9fc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMjBweDtcblxuICAgIEBuZXN0IC5zdGlja3ktaGVhZGVyICYge1xuICAgICAgdG9wOiAxNDBweDtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtLXF1aWNrLXNob3AgLnByb2R1Y3Qtc2luZ2xlX19zdGlja3kge1xuICAgIHRvcDogMDtcbiAgfVxufVxuXG4ucGFnZS1jb250ZW50LS1wcm9kdWN0IHtcbiAgcGFkZGluZy10b3A6IDU1cHg7XG59XG5cbkBtZWRpYSAoLS1zbWFsbCkge1xuICAucGFnZS1jb250ZW50LS1wcm9kdWN0IHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuXG4gIC5ncmlkLS1wcm9kdWN0LWltYWdlcy1yaWdodCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAmIC5ncmlkX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIG9yZGVyOiAyO1xuICAgIH1cbiAgfVxufVxuXG4vKlByZXZlbnQgcXVpY2sgdmlldyBob3Jpem9udGFsIGphbmsgd2hlbiBpbWFnZSBsb2FkcyovXG4ubW9kYWwgLnBhZ2UtY29udGVudC0tcHJvZHVjdCB7XG4gIHdpZHRoOiAkcGFnZS13aWR0aDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ucHJvZHVjdC1zaW5nbGVfX21ldGEge1xuICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG5cbiAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKCRndXR0ZXIgLyAyKTtcbiAgfVxuXG4gIEBuZXN0IC5ncmlkLS1wcm9kdWN0LWltYWdlcy1yaWdodCAmIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogNDVweDtcblxuICAgIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAmIC5zb2NpYWwtc2hhcmluZyB7XG4gICAgbWFyZ2luLXRvcDogJGd1dHRlcjtcbiAgfVxuXG4gICYgLnJ0ZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIEBuZXN0IGh0bWxbZGlyPVwicnRsXCJdICYge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi5wcm9kdWN0LXNpbmdsZV9fdmVuZG9yIHtcbiAgQG1peGluIGFjY2VudEZvbnRTdGFjaztcbiAgQG1peGluIGFjY2VudEZvbnRTbWFsbFNpemU7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoJGd1dHRlciAvIDQpO1xufVxuXG4ucHJvZHVjdC1zaW5nbGVfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4ucHJvZHVjdC1zaW5nbGVfX3NrdSB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoJGd1dHRlciAvIDYpO1xufVxuXG4ucHJvZHVjdC1zaW5nbGVfX2Rlc2NyaXB0aW9uLWZ1bGwge1xuICBtYXJnaW46ICRndXR0ZXIgMDtcblxuICAmICsgLmNvbGxhcHNpYmxlcy13cmFwcGVyIHtcbiAgICBtYXJnaW46IDAgMDtcbiAgfVxuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBtYXJnaW46ICRndXR0ZXIgOTVweDtcblxuICAgICYgKyAuY29sbGFwc2libGVzLXdyYXBwZXIge1xuICAgICAgbWFyZ2luOiAwIDk1cHg7XG4gICAgfVxuICB9XG59XG5cbi5wcm9kdWN0LXNpbmdsZV9fdmFyaWFudHMge1xuICBkaXNwbGF5OiBub25lO1xuXG4gIEBuZXN0IC5uby1qcyAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuICB9XG59XG5cbi5wcm9kdWN0LWltYWdlLW1haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbltkYXRhLWJ1dHRvbl9zdHlsZT1cImFuZ2xlZFwiXSAucHJvZHVjdC1pbWFnZS1tYWluIC5idG46bm90KC5wcm9kdWN0X19waG90by16b29tKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdG9wOiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnByb2R1Y3RfX3ZpZGVvLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDEwMCU7IC8qYXBzZWN0IHJhdGlvIG92ZXJ3cml0dGVuIGlubGluZSovXG4gIGhlaWdodDogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yU21hbGxJbWFnZUJnO1xuXG4gICYgaWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UtaW47XG4gIH1cblxuICAvKlB1dCBvdmVybGF5IG9uIG11dGVkIHZpZGVvcyBiZWNhdXNlIHRoZXkgY2Fubm90IGJlIGludGVyYWN0ZWQgd2l0aCovXG4gICZbZGF0YS12aWRlby1zdHlsZT1cIm11dGVkXCJdLmxvYWRlZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIC8qVW5sZXNzIGxvdyBwb3dlciBtb2RlIHJlcXVpcmVzIHRoZW0gdG8gYmUgdG91Y2hlZCB0byBzdGFydCovXG4gICYudmlkZW8taW50ZXJhY3RhYmxlOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qTWFrZSBzdXJlIHN0YXRlcyBkb24ndCBvdmVybGFwKi9cbiAgJi5sb2FkZWQ6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmLmxvYWRpbmcgaWZyYW1lIHtcbiAgICBvcGFjaXR5OiAwLjAxOyAvKnNuZWFreSB3YXkgdG8gYXZvaWQgdGFsa2luZyB0byBhbiBpbnZpc2libGUgWVQgaWZyYW1lKi9cbiAgfVxuXG4gICYubG9hZGVkIGlmcmFtZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucHJvZHVjdF9fdmlkZW8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnByb2R1Y3RfX3ZpZGVvLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiA0MCU7XG4gIHRvcDogMzJweDtcbiAgYm90dG9tOiA0MHB4O1xuICB6LWluZGV4OiAzO1xuXG4gICY6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBoZWlnaHQ6IDM1JTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuXG4gICYgKyAucHJvZHVjdF9fdmlkZW8tb3ZlcmxheSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi5wcm9kdWN0LXZpZGVvLXRyaWdnZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vKkltYWdlcyovXG4ucHJvZHVjdF9fcGhvdG9zLS1iZXNpZGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnByb2R1Y3RfX3Bob3RvcyB7XG4gIGRpcmVjdGlvbjogbHRyO1xuXG4gICYgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ucHJvZHVjdF9fbWFpbi1waG90b3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDEgMSBhdXRvO1xuXG4gICYgLmZsaWNraXR5LXBhZ2UtZG90cyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0kcGFnZS13aWR0aC1ndXR0ZXItc21hbGw7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJHBhZ2Utd2lkdGgtZ3V0dGVyLXNtYWxsO1xuXG4gICAgJiAuZmxpY2tpdHktcGFnZS1kb3RzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4vKkhpZGUgc2VsZWN0YWJsZSBlbGVtZW50cyB3aGVuIHNsaWRlIGlzIG5vdCBhY3RpdmUqL1xuLnByb2R1Y3QtbWFpbi1zbGlkZTpub3QoLmlzLXNlbGVjdGVkKSB7XG4gICYgYnV0dG9uLFxuICAmIHZpZGVvLFxuICAmIGlmcmFtZSxcbiAgJiBtb2RlbC12aWV3ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnByb2R1Y3QtbWFpbi1zbGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC8qSGlkZSBhbGwgYnV0IGZpcnN0IHNsaWRlIHRvIHByZXZlbnQgcGFnZSByZWZsb3dzIHByaW9yIHRvIGluaXQqL1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIEBuZXN0IC5mbGlja2l0eS1zbGlkZXIgJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAvKnNob3cgYSBiaXQgb2YgdGhlIG5leHQgaW1hZ2UqL1xuICAgIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgICAgQG5lc3QgLmdyaWQtLXByb2R1Y3QtaW1hZ2VzLS1wYXJ0aWFsICYge1xuICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByb2R1Y3RfX3RodW1icyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnByb2R1Y3RfX3RodW1icy0tYmVsb3cge1xuICBtYXJnaW4tdG9wOiBjYWxjKCRncmlkLWd1dHRlci1zbWFsbCAvIDIpO1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKCRndXR0ZXIgLyAyKTtcbiAgfVxufVxuXG4ucHJvZHVjdF9fdGh1bWJzLS1iZXNpZGUge1xuICBmbGV4OiAwIDAgNjBweDtcbiAgbWF4LXdpZHRoOiA2MHB4O1xuICBtYXJnaW4tbGVmdDogY2FsYygkZ3JpZC1ndXR0ZXItc21hbGwgLyAyKTtcblxuICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgZmxleDogMCAwIDgwcHg7XG4gICAgbWF4LXdpZHRoOiA4MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCRndXR0ZXIgLyAyKTtcblxuICAgICYucHJvZHVjdF9fdGh1bWJzLXBsYWNlbWVudC0tbGVmdCB7XG4gICAgICBvcmRlcjogLTE7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYygkZ3V0dGVyIC8gMik7XG4gICAgfVxuICB9XG59XG5cbi5wcm9kdWN0X190aHVtYnMtLXNjcm9sbGVyIHtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgfVxuXG4gIEBuZXN0IC5wcm9kdWN0X190aHVtYnMtLWJlbG93ICYge1xuICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgQG5lc3QgLnByb2R1Y3RfX3RodW1icy0tYmVzaWRlICYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICB9XG59XG5cbi5wcm9kdWN0X190aHVtYi1pdGVtIHtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgJiBhOmZvY3VzLFxuICAmIGEuaXMtYWN0aXZlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCAkY29sb3JUZXh0Qm9keTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG5cbiAgLypEb24ndCBwcmUtZm9jdXMgdGh1bWJuYWlscyovXG4gICYgYTphY3RpdmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBub25lO1xuICB9XG5cbiAgQG5lc3QgLnByb2R1Y3RfX3RodW1icy0tYmVzaWRlICYge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoJGdyaWQtZ3V0dGVyLXNtYWxsIC8gMik7XG5cbiAgICBAbWVkaWEgKC0tbWVkaXVtLXVwKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKCRndXR0ZXIgLyAyKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICBAbmVzdCAucHJvZHVjdF9fdGh1bWJzLS1iZWxvdyAmIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoJGdyaWQtZ3V0dGVyLXNtYWxsIC8gMik7XG4gICAgbWF4LXdpZHRoOiA4MHB4O1xuXG4gICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCRndXR0ZXIgLyAyKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4ucHJvZHVjdF9fcHJpY2Uge1xuICBjb2xvcjogJGNvbG9yUHJpY2U7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBmb250LXNpemU6IGNhbGModmFyKC0tdHlwZUJhc2VTaXplKSArIDJweCk7XG5cbiAgJi5vbi1zYWxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gIH1cbn1cblxuLypVc2VkIGFueXdoZXJlIHVuaXQgcHJpY2UgaXMgdmlzaWJsZSovXG4ucHJvZHVjdF9fdW5pdC1wcmljZSB7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIG9wYWNpdHk6IDAuODtcbn1cblxuLnByb2R1Y3RfX3VuaXQtcHJpY2UtLXNwYWNpbmcge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4ucHJvZHVjdF9fcHJpY2UtLWNvbXBhcmUge1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5cbi5wcm9kdWN0X19wcmljZS1zYXZpbmdzIHtcbiAgY29sb3I6ICRjb2xvclRleHRTYXZpbmdzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKlF1YW50aXR5IHNlbGVjdG9yIGFuZCBsYWJlbCovXG4ucHJvZHVjdF9fcXVhbnRpdHkge1xuICAmIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG59XG5cbi5wcm9kdWN0LWZvcm0taG9sZGVyLS1sb2FkZWQge1xuICBhbmltYXRpb246IGZhZGUtaW4gMXMgZWFzZTtcbn1cblxuLypIaWRlIFNob3BpZnkgUGF5bWVudCBCdXR0b25zIGlmIG5vIHZhcmlhbnQqL1xuLmFkZC10by1jYXJ0W2Rpc2FibGVkXSArIC5zaG9waWZ5LXBheW1lbnQtYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogV2hlbiBpbWFnZSBzZXRzIGFyZSBlbmFibGVkLCBoaWRlIHNsaWRlcyB0aGF0IGFyZW4ndCBpbiB0aGUgc2xpZGVyICovXG4ucHJvZHVjdC1zbGlkZXNob3cuZmxpY2tpdHktZW5hYmxlZCB7XG4gICYgLnByb2R1Y3QtbWFpbi1zbGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICYgLmZsaWNraXR5LXZpZXdwb3J0IC5wcm9kdWN0LW1haW4tc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8qWm9vbSBidXR0b24qL1xuLnByb2R1Y3RfX3Bob3RvLXpvb20ge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgY3Vyc29yOiB6b29tLWluO1xuXG4gIC8qT25seSBzaG93IGFjdGl2ZSBzbGlkZSdzIHpvb20gYnV0dG9uIChtb2JpbGUpKi9cbiAgQG1lZGlhICgtLXNtYWxsKSB7XG4gICAgcGFkZGluZzogNnB4O1xuXG4gICAgQG5lc3QgLnByb2R1Y3RfX21haW4tcGhvdG9zICYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG5cbiAgICAvKkhpZGUgem9vbSBidXR0b24gb24gYWxsIHNsaWRlcyovXG4gICAgQG5lc3QgLnByb2R1Y3Qtc2xpZGVzaG93ICYge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLW91dDtcbiAgICB9XG5cbiAgICBAbmVzdCAucHJvZHVjdC1zbGlkZXNob3cgLmlzLXNlbGVjdGVkICYge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAvKlZpc3VhbGx5IGhpZGRlbiwgY292ZXJzIGZ1bGwgaW1hZ2Ugb24gZGVza3RvcCovXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgJiBzdmcsXG4gICAgJiBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8qVGh1bWIgc2xpZGVyIGFycm93cyovXG4ucHJvZHVjdF9fdGh1bWItYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICRjb2xvckJvZHk7XG4gIGNvbG9yOiAkY29sb3JUZXh0Qm9keTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiAyO1xuXG4gICYgLmljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNnB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgfVxufVxuXG4ucHJvZHVjdF9fdGh1bWJzW2RhdGEtcG9zaXRpb249XCJiZWxvd1wiXSAucHJvZHVjdF9fdGh1bWItYXJyb3cge1xuICB0b3A6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDI1cHg7XG5cbiAgJi5wcm9kdWN0X190aHVtYi1hcnJvdy0tcHJldiB7XG4gICAgbGVmdDogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgJi5wcm9kdWN0X190aHVtYi1hcnJvdy0tbmV4dCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cblxuLnByb2R1Y3RfX3RodW1ic1tkYXRhLXBvc2l0aW9uPVwiYmVzaWRlXCJdIC5wcm9kdWN0X190aHVtYi1hcnJvdyB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICYgLmljb24ge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgfVxuXG4gICYucHJvZHVjdF9fdGh1bWItYXJyb3ctLXByZXYge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgJi5wcm9kdWN0X190aHVtYi1hcnJvdy0tbmV4dCB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgfVxufVxuXG4ucHJvZHVjdF9fdGh1bWIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJiA+IC5pbWFnZS13cmFwIGltZyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLnByb2R1Y3RfX3RodW1iLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNXB4O1xuICByaWdodDogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JUZXh0Qm9keTtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIHBhZGRpbmc6IDZweDtcbiAgei1pbmRleDogMTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2U7XG4gIGZvbnQtc2l6ZTogMDtcblxuICBAbmVzdCAuYW9zLWFuaW1hdGUgJiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICYgLmljb24ge1xuICAgIGZpbGw6ICRjb2xvckJvZHk7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuXG4gICAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgfVxuICB9XG59XG5cbi5wcm9kdWN0X19wb2xpY2llcyB7XG4gIGZvbnQtc2l6ZTogMC44NWVtO1xufVxuXG4uc2hvcGlmeS1wYXltZW50LXRlcm1zIHtcbiAgbWFyZ2luOiAxMnB4IDA7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBuZXN0IC5tb2RhbCAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIudGVtcGxhdGUtYmxvZyAuYXJ0aWNsZSB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoJGd1dHRlciAqIDEuNSk7XG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoJGd1dHRlciAqIDMpO1xuICB9XG59XG5cbi50ZW1wbGF0ZS1ibG9nIC5hcnRpY2xlOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIEBtZWRpYSAoLS1tZWRpdW0tdXApIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKCRndXR0ZXIgKiAxLjUpO1xuICB9XG59XG5cbi5hcnRpY2xlX19ib2R5IHtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhICgtLW1lZGl1bS11cCkge1xuICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXI7XG4gIH1cbn1cblxuLmFydGljbGVfX2NvbW1lbnQge1xuICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiLnBhc3N3b3JkLXBhZ2VfX2hlYWRlcl9fZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5wYXNzd29yZC1wYWdlX19sb2dvIHtcbiAgJiBoMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICYgLmxvZ28ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ucGFzc3dvcmQtbG9naW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IGNhbGMoJGd1dHRlciAvIDQpIDE1cHg7XG59XG5cbi5wYXNzd29yZC1mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4ucGFzc3dvcmRfX2xvY2sgLmljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTJweDtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG59XG5cbi5pY29uLXNob3BpZnktbG9nbyB7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDIwcHg7XG59XG5cbiNMb2dpbk1vZGFsIC5tb2RhbF9fY2xvc2Uge1xuICBAbWVkaWEgKC0tc21hbGwpIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG59XG5cbiNMb2dpbk1vZGFsIC5tb2RhbF9faW5uZXIge1xuICBiYWNrZ3JvdW5kOiAkY29sb3JCb2R5O1xuICBjb2xvcjogJGNvbG9yVGV4dEJvZHk7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIEBtZWRpYSAoLS1zbWFsbCkge1xuICAgIG1hcmdpbi1ib3R0b206IDQwdmg7XG4gIH1cbn1cblxuLnBhc3N3b3JkLWFkbWluLWxpbmsge1xuICBtYXJnaW46IDA7XG5cbiAgJiBhIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3JCb3JkZXIgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLnRlbXBsYXRlLWdpZnRjYXJkLFxuLnRlbXBsYXRlLWdpZnRjYXJkIGJvZHkge1xuICBiYWNrZ3JvdW5kOiAkY29sb3JCb2R5O1xuXG4gICYgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi50ZW1wbGF0ZS1naWZ0Y2FyZCAucGFnZS13aWR0aCB7XG4gIG1heC13aWR0aDogNTg4cHg7XG59XG5cbi5naWZ0Y2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiBjYWxjKCRndXR0ZXIgKiAyKSAwO1xuICBmb250LXNpemU6IDFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICYgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuLnRlbXBsYXRlLWdpZnRjYXJkIC5zaG9wLXVybCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5naWZ0Y2FyZF9fYm9yZGVyIHtcbiAgcGFkZGluZzogMS41ZW07XG4gIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMCwwLDAsMC4zKTtcbn1cblxuLmdpZnRjYXJkX19jb250ZW50IHtcbiAgQG1peGluIGNsZWFyZml4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JCb2R5O1xuICBjb2xvcjogJGNvbG9yVGV4dEJvZHk7XG59XG5cbi5naWZ0Y2FyZF9faGVhZGVyIHtcbiAgQG1peGluIGNsZWFyZml4O1xuICBwYWRkaW5nOiBjYWxjKCRndXR0ZXIgLyAyKTtcbn1cblxuLmdpZnRjYXJkX190aXRsZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZ2lmdGNhcmRfX3RhZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogcmlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvclRleHRCb2R5O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICRjb2xvckJvZHk7XG4gIHBhZGRpbmc6IGNhbGMoJGd1dHRlciAvIDMpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogLjA1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZ2lmdGNhcmRfX3RhZy0tYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAkY29sb3JUZXh0Qm9keTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yQm9yZGVyO1xufVxuXG4uZ2lmdGNhcmRfX3dyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogY2FsYygkZ3V0dGVyIC8gMikgY2FsYygkZ3V0dGVyIC8gMikgJGd1dHRlcjtcblxuICAmIGltZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgei1pbmRleDogMjtcbiAgfVxufVxuXG4uZ2lmdGNhcmRfX2NvZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogJGd1dHRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogNTA7XG59XG5cbi5naWZ0Y2FyZF9fY29kZS0tbWVkaXVtIHtcbiAgZm9udC1zaXplOiAuODc1ZW07XG59XG5cbi5naWZ0Y2FyZF9fY29kZS0tc21hbGwge1xuICBmb250LXNpemU6IC43NWVtO1xufVxuXG4uZ2lmdGNhcmRfX2NvZGVfX2lubmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IC41ZW07XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgbWF4LXdpZHRoOiA0NTBweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLDAsMCwwLjEpO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLDAsMCwwLjEpO1xuXG4gIEBuZXN0IC5naWZ0Y2FyZF9fY29kZS0tc21hbGwgJiB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cbn1cblxuLmdpZnRjYXJkX19jb2RlX190ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxLjg3NWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlcjogMXB4IGRhc2hlZDtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3JCb3JkZXI7XG4gIHBhZGRpbmc6IC40ZW0gLjVlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGNvbG9yOiAkY29sb3JUZXh0Qm9keTtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgQG5lc3QgLmRpc2FibGVkICYge1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICB9XG59XG5cbi5naWZ0Y2FyZF9fYW1vdW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAyLjc1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHBhZGRpbmc6IGNhbGMoJGd1dHRlciAvIDIpO1xuICB6LWluZGV4OiA1MDtcblxuICAmIHN0cm9uZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1zaGFkb3c6IDNweCAzcHggMCByZ2JhKDAsMCwwLDAuMSk7XG4gIH1cbn1cblxuLmdpZnRjYXJkX19hbW91bnQtLW1lZGl1bSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuXG4udG9vbHRpcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTUwJTtcbiAgcmlnaHQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgei1pbmRleDogMztcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMTAwJTtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IC01cHg7XG4gICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiA1cHggc29saWQgIzMzMztcbiAgICBib3JkZXItdG9wOiA1cHggc29saWQgcmdiYSg1MSw1MSw1MSwwLjkpO1xuICB9XG59XG5cbi50b29sdGlwX19sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiAtNTAlO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgYmFja2dyb3VuZDogcmdiYSg1MSw1MSw1MSwwLjkpO1xuICBtaW4taGVpZ2h0OiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBwYWRkaW5nOiAuNWVtIC43NWVtO1xuICBtYXJnaW4tbGVmdDogLjI1ZW07XG5cbiAgJiBzbWFsbCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tdHlwZVVwcGVyY2FzZVNwYWNpbmcpO1xuICAgIGNvbG9yOiAjYjNiM2IzO1xuICAgIGZvbnQtc2l6ZTogLjg3NWVtO1xuICB9XG59XG5cbi5naWZ0Y2FyZF9faW5zdHJ1Y3Rpb25zIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDAgY2FsYygkZ3V0dGVyIC8gMikgJGd1dHRlcjtcbn1cblxuLmdpZnRjYXJkX19hY3Rpb25zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctYm90dG9tOiAxZW07XG59XG5cbi50ZW1wbGF0ZS1naWZ0Y2FyZCAuYWN0aW9uLWxpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IGNhbGMoJGd1dHRlciAvIDIpO1xuICB0b3A6IDUwJTtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiA0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS10eXBlVXBwZXJjYXNlU3BhY2luZyk7XG4gIG1hcmdpbi10b3A6IC0xMHB4O1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3JUZXh0Qm9keTtcbiAgfVxufVxuXG4udGVtcGxhdGUtZ2lmdGNhcmQgLmFjdGlvbi1saW5rX19wcmludCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB3aWR0aDogMTdweDtcbiAgaGVpZ2h0OiAxN3B4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLy9jZG4uc2hvcGlmeS5jb20vcy9hc3NldHMvZ2lmdC1jYXJkL2ljb24tcHJpbnQtMTY0ZGFhMWFlMzJkMTBkMWY5YjgzYWMyMWI2ZjJjNzAucG5nJyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbn1cblxuLmdpZnRjYXJkX19mb290ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IGNhbGMoJGd1dHRlciAqIDIpIDA7XG59XG5cbiNRckNvZGUge1xuICAmIGltZyB7XG4gICAgcGFkZGluZzogJGd1dHRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvckJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gJGd1dHRlcjtcbiAgfVxufVxuXG5AbWVkaWEgKC0tc21hbGwpIHtcbiAgLmdpZnRjYXJkIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cblxuICAuZ2lmdGNhcmQtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAkZ3V0dGVyIDA7XG4gIH1cblxuICAuaGVhZGVyLWxvZ28ge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICB9XG5cbiAgLmdpZnRjYXJkX19ib3JkZXIge1xuICAgIHBhZGRpbmc6IGNhbGMoJGd1dHRlciAvIDIpO1xuICB9XG5cbiAgLmdpZnRjYXJkX19hY3Rpb25zIHtcbiAgICBwYWRkaW5nOiBjYWxjKCRndXR0ZXIgLyAyKTtcbiAgfVxuXG4gIC5naWZ0Y2FyZF9fYWN0aW9ucyAuYnRuIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC50ZW1wbGF0ZS1naWZ0Y2FyZCAuYWN0aW9uLWxpbmsge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLyo9PT09PT09PT09PT09PT09IFNtYWxsIHdpZHRoID09PT09PT09PT09PT09PT0qL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgLmdpZnRjYXJkX19hbW91bnQgc3Ryb25nIHtcbiAgICB0ZXh0LXNoYWRvdzogMnB4IDJweCAwIHJnYmEoMCwwLDAsMC4xKTtcbiAgfVxuXG4gIC5naWZ0Y2FyZF9fd3JhcDpiZWZvcmUsXG4gIC5naWZ0Y2FyZF9fd3JhcDphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5naWZ0Y2FyZF9fY29kZSB7XG4gICAgZm9udC1zaXplOiAuNzVlbTtcbiAgfVxuXG4gIC5naWZ0Y2FyZF9fY29kZS0tbWVkaXVtIHtcbiAgICBmb250LXNpemU6IC42NWVtO1xuICB9XG5cbiAgLmdpZnRjYXJkX19jb2RlLS1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAuNTVlbTtcbiAgfVxufVxuXG5cbi8qPT09PT09PT09PT09PT09PSBTbWFsbCBoZWlnaHQgPT09PT09PT09PT09PT09PSovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogODAwcHgpIHtcbiAgLmhlYWRlci1sb2dvIGltZyB7XG4gICAgbWF4LWhlaWdodDogOTBweDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQge1xuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTtcbiAgfVxuXG4gIHAsIGgyLCBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7XG4gIH1cblxuICBoMiwgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICB9XG5cbiAgaHRtbCwgYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgfVxuXG4gIC5naWZ0Y2FyZC1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgfVxuXG4gIC5naWZ0Y2FyZF9fY29udGVudCxcbiAgLmdpZnRjYXJkX19ib3JkZXIge1xuICAgIGJvcmRlcjogMCBub25lO1xuICB9XG5cbiAgLnNpdGUtaGVhZGVyX19sb2dvLWxpbmsgaW1nOm50aC1jaGlsZCgyKSxcbiAgLmdpZnRjYXJkX19hY3Rpb25zLFxuICAuZ2lmdGNhcmRfX3dyYXA6YmVmb3JlLFxuICAuZ2lmdGNhcmRfX3dyYXA6YWZ0ZXIsXG4gIC50b29sdGlwLFxuICAuYWRkLXRvLWFwcGxlLXdhbGxldCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5naWZ0Y2FyZF9fdGl0bGUge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5naWZ0Y2FyZF9fY29kZV9fdGV4dCB7XG4gICAgY29sb3I6ICM1NTU7XG4gIH1cblxuICAudGVtcGxhdGUtZ2lmdGNhcmQgLnNob3AtdXJsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC50ZW1wbGF0ZS1naWZ0Y2FyZCAubG9nbyB7XG4gICAgY29sb3I6ICM1ODY4NkY7XG4gIH1cbn1cbiJdfQ== */
