/* Mixin origin: https://marc-ed-raffalli.github.io/2017/10/14/sass-font-face.html */
@font-face {
  font-family: "opensans";
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url("../../fonts/opensans/open-sans-v20-latin-regular.woff") format("woff"), url("../../fonts/opensans/open-sans-v20-latin-regular.woff2") format("woff2");
}

@font-face {
  font-family: "opensans";
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  src: url("../../fonts/opensans/open-sans-v20-latin-600.woff") format("woff"), url("../../fonts/opensans/open-sans-v20-latin-600.woff2") format("woff2");
}

@font-face {
  font-family: "opensans";
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url("../../fonts/opensans/open-sans-v20-latin-700.woff") format("woff"), url("../../fonts/opensans/open-sans-v20-latin-700.woff2") format("woff2");
}

@font-face {
  font-family: "oswald";
  font-weight: 300;
  font-style: normal;
  font-display: swap;
  src: url("../../fonts/oswald/oswald-v38-latin-300.woff") format("woff"), url("../../fonts/oswald/oswald-v38-latin-300.woff2") format("woff2");
}

@font-face {
  font-family: "oswald";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url("../../fonts/oswald/oswald-v38-latin-regular.woff") format("woff"), url("../../fonts/oswald/oswald-v38-latin-regular.woff2") format("woff2");
}

@font-face {
  font-family: "oswald";
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  src: url("../../fonts/oswald/oswald-v38-latin-600.woff") format("woff"), url("../../fonts/oswald/oswald-v38-latin-600.woff2") format("woff2");
}

@font-face {
  font-family: "star";
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url("../../fonts/star/star.woff") format("woff");
}

:root {
  --color-primary: #41503d;
  --color-primary-dark-navy: #2c5234;
  --color-secondary-blue-jeans: #41503d;
  --color-secondary-blue-crayola: #b5c288;
  --color-secondary-blue-gray: #5D6199;
  --color-secondary-alice-blue: rgba(35, 83, 0, 0.37);
  --color-secondary-space-cadet: #1A1D48;
  --color-secondary-periwinkle: #D2D5F3;
  --color-secondary-independence: #575E78;
  --color-extra-base: #fefde8;
  --color-extra-links: #2BA249;
  --color-extra-black: #000000;
  --color-extra-white: #ffffff;
  --color-extra-gray: #E1E3E8;
  --color-extra-error: #ED474A;
  --color-extra-success: #2BA249;
  --color-extra-warning: #E28413;
  --color-extra-info: #20234E;
  --color-social-facebook: #3b5998;
  --color-social-twitter: #55acee;
  --color-social-youtube: #cd201f;
  --color-social-instagram: #c13584;
  --color-social-linkedin: #0077b5;
  --color-social-whatsapp: #25d366;
  --color-social-viber: #8f5db7;
  --base-font-family: opensans, sans-serif;
  --base-font-weight: 500;
  --base-font-size: 1.8rem;
  --base-line-height: 1.5;
  --headings-font-family: Heebo, sans-serif;
  --headings-font-weight: 400;
  --headings-line-height: 1.25;
  --page-width: 1440px;
  --page-width-md: 768px;
  --page-width-xl: 1440px;
}

html {
  box-sizing: border-box;
}

*, *::before, *::after {
  box-sizing: inherit;
}

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
  background-image: url(../../_dist/images/background-noise.png);
  background-color: #f4f1bb;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  /* stylelint-disable-line font-family-no-duplicate-names */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  /* stylelint-disable-line font-family-no-duplicate-names */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: .35em .75em .625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type='checkbox'],
[type='radio'] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/**
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/**
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

body,
h1, h2, h3, h4, h5, h6,
blockquote, p, pre,
dl, dd, ol, ul,
figure,
hr,
fieldset, legend {
  margin: 0;
  padding: 0;
}

p, li,
h1, h2, h3, h4, h5 {
  word-break: break-word;
  hyphens: none;
}

li > ol,
li > ul {
  margin-bottom: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset {
  min-width: 0;
  border: 0;
}

button,
input,
optgroup,
select,
textarea {
  line-height: inherit;
}

button {
  color: inherit;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

button,
input[type='submit'] {
  border: 0;
  cursor: pointer;
  display: inline-block;
}

button:focus,
input[type='submit']:focus {
  outline: none;
}

hr {
  border: 0;
  border-bottom: 1px solid;
}

a {
  text-decoration: none;
  transition: .4s color;
}

a:not([class]) {
  color: var(--color-primary);
}

img {
  font-style: italic;
  height: auto;
  max-width: 100%;
  vertical-align: middle;
}

svg {
  max-width: 100%;
  vertical-align: middle;
}

html {
  color: var(--color-extra-base);
  font-family: var(--base-font-family);
  font-weight: var(--base-font-weight);
  line-height: var(--base-line-height);
  min-height: 100%;
  overflow-y: scroll;
  scroll-behavior: smooth;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 42%;
}

@media (min-width: 768px) {
  html {
    font-size: 50.5%;
  }
}

@media (min-width: 1280px) {
  html {
    font-size: 62.5%;
  }
}

@-ms-viewport {
  width: device-width;
}

body {
  font-size: var(--base-font-size);
}

.privacy-policy {
  color: #41503d;
}

.hentry {
  color: #41503d;
}

table {
  width: 100%;
}

h1,
h2,
h3,
h4,
h5 {
  font-family: var(--headings-font-family);
  font-family: "Heebo", sans-serif;
  font-weight: var(--headings-font-weight);
  line-height: calc( 2px + 2ex + 2px);
  margin-bottom: 0.65em;
}

h1 {
  font-size: 7rem;
}

h2 {
  font-size: 5.4rem;
}

h3 {
  font-size: 3.2rem;
}

h4 {
  font-size: 2.5rem;
}

h5 {
  font-size: 2.2rem;
}

.o-wrap,
.o-wrap-fluid {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 18px;
  padding-left: 18px;
}

.o-wrap {
  max-width: var(--page-width);
}

.o-wrap--md {
  max-width: var(--page-width-md);
}

.o-wrap--xl {
  max-width: var(--page-width-xl);
}

.o-wrap-fluid--with-margin {
  margin-top: 25rem;
}

.o-row--no-gutters,
.o-stack--no-gutters {
  margin-right: 0;
  margin-left: 0;
}

.o-row--no-gutters > [class^='o-col'],
.o-stack--no-gutters > * {
  padding-right: 0;
  padding-left: 0;
}

.o-icon {
  display: inline-block;
  vertical-align: middle;
  height: 1em;
  width: 1em;
  position: relative;
  pointer-events: none;
}

.o-list {
  list-style: none;
  margin-left: 0;
}

.o-list-inline {
  list-style: none;
  margin-left: 0;
}

.o-list-inline__item {
  display: inline-block;
}

.error404 .c-menu__link {
  color: #41503d !important;
}

.c-header {
  padding: 1.6rem;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 940;
}

.admin-bar .c-header {
  top: 46px;
  position: absolute !important;
}

@media (min-width: 601px) {
  .admin-bar .c-header {
    position: fixed !important;
  }
}

@media (min-width: 782px) {
  .admin-bar .c-header {
    top: 32px;
  }
}

.c-header.is-fixed {
  background-color: #b5c288;
}

.c-header-bar {
  margin-top: -1.6rem;
  margin-left: -1.6rem;
  margin-right: -1.6rem;
  margin-bottom: 0.8rem;
  padding: 0.8rem;
  text-align: center;
  font-size: 0.85em;
}

.c-header-bar:not(.is-active) {
  display: none;
}

.c-header-bar--light {
  background-color: var(--color-secondary-alice-blue);
  color: var(--color-primary-dark-navy);
}

.c-header-bar--light .c-header-bar__close {
  color: var(--color-primary-dark-navy);
}

.c-header-bar--dark {
  color: var(--color-extra-white);
  background-color: var(--color-primary);
}

.c-header-bar--dark .c-header-bar__close {
  color: var(--color-extra-white);
}

.c-header-bar strong,
.c-header-bar b {
  font-weight: bolder;
}

.c-header-bar__close {
  display: inline-block;
  border-radius: 100%;
  cursor: pointer;
  transform: rotate(45deg);
  margin-left: 1.6rem;
}

@media (min-width: 576px) {
  .c-header-bar__close {
    float: right;
  }
}

.c-header__body {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.c-header__logo {
  margin-right: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.c-header__logo:hover img:first-of-type {
  transform: rotate(35deg) scale(1.2);
}

.c-header__logo img {
  max-width: 100%;
  width: 100%;
  transition: transform 1s ease;
}

.c-header__logo img:first-of-type {
  max-height: 7.6rem;
}

.c-header__logo img:last-of-type {
  max-height: 5.6rem;
  margin-left: 2rem;
}

.c-header__menu {
  flex: 0 0 auto;
  margin-right: 6.4rem;
}

@media (max-width: 1279px) {
  .c-header__menu {
    display: none;
  }
}

.c-header__search {
  position: relative;
  margin-right: 3.2rem;
}

.c-header__woocommerce {
  flex: 0 0 auto;
}

.c-header__woocommerce .c-menu-link + .c-menu-link {
  margin-left: 1.6rem;
}

.c-header__toggle {
  margin-left: 1.6rem;
}

@media (min-width: 1280px) {
  .c-header__toggle {
    display: none;
  }
}

@media (max-width: 380px) {
  .c-header__logo img:first-child {
    width: 7.6rem;
  }
  .c-header__logo img:last-child {
    display: none;
  }
}

@media (max-width: 767px) {
  .c-header .o-wrap {
    padding-left: 0;
    padding-right: 0;
  }
}

.hexagon {
  position: relative;
  width: 60px;
  height: 34.64px;
  margin: 17.32px 0;
  border-left: solid 2px #41503d;
  border-right: solid 2px #41503d;
}

.hexagon:before,
.hexagon:after {
  content: "";
  position: absolute;
  z-index: 1;
  width: 42.43px;
  height: 42.43px;
  -webkit-transform: scaleY(0.5774) rotate(-45deg);
  -ms-transform: scaleY(0.5774) rotate(-45deg);
  transform: scaleY(0.5774) rotate(-45deg);
  background-color: inherit;
  left: 6.7868px;
}

.hexagon:before {
  top: -21.2132px;
  border-top: solid 2.8284px #41503d;
  border-right: solid 2.8284px #41503d;
}

.hexagon:after {
  bottom: -21.2132px;
  border-bottom: solid 2.8284px #41503d;
  border-left: solid 2.8284px #41503d;
}

.c-hero {
  position: relative;
}

.c-hero .o-wrap-outer {
  max-width: 1920px;
  position: relative;
  margin: 0 auto;
}

.c-hero .o-wrap {
  padding: 0;
}

@media (min-width: 1024px) {
  .c-hero + section {
    margin-top: 6.4rem;
  }
}

.c-hero--size-s .c-hero__body {
  min-height: 65rem !important;
}

@media (min-width: 1024px) {
  .c-hero__bg {
    opacity: 0.2;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    border-bottom-left-radius: 20rem;
    background-color: #378400;
  }
}

@media (min-width: 1024px) {
  .c-hero__body {
    min-height: 78rem;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
  }
}

.c-hero__content {
  padding: 16rem 1.6rem 12.8rem 1.6rem;
  z-index: 20;
  text-align: center;
}

@media (min-width: 1024px) {
  .c-hero__content {
    flex: 0 1 58%;
    align-self: center;
    padding-left: 9.6rem;
    text-align: left;
  }
}

.c-hero__title {
  max-width: 90%;
  margin: 0 auto 3rem auto;
}

.c-hero__title b,
.c-hero__title span {
  color: var(--color-primary);
  font-weight: 400;
}

@media (min-width: 768px) {
  .c-hero__title {
    max-width: 20ch;
  }
}

@media (min-width: 1024px) {
  .c-hero__title {
    margin: 0 0 3rem 0;
  }
}

.c-hero__description {
  font-size: 2.6rem;
  max-width: 42ch;
  margin: 0 auto;
}

@media (min-width: 1024px) {
  .c-hero__description {
    margin: unset;
  }
}

.c-hero__icons {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  margin-top: 6rem;
  z-index: 20;
}

@media (max-width: 1023px) {
  .c-hero__icons--desktop {
    display: none;
  }
}

.c-hero__icons--mobile {
  margin-top: -25%;
  z-index: 20;
  position: relative;
}

@media (min-width: 1024px) {
  .c-hero__icons--mobile {
    display: none;
  }
}

.c-hero__icons .c-hero__icon {
  flex: 0 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.c-hero__icons .c-hero__icon:not(:last-of-type) {
  margin-bottom: 3.2rem;
}

@media (max-width: 1023px) {
  .c-hero__icons {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 1279px) {
  .c-hero__icons {
    padding: 3.2rem;
    background-color: #fcfbe5;
    box-shadow: 0px 0.7rem 2.4rem #41503d;
    border-radius: 6.4rem 0;
    max-width: 60rem;
  }
}

@media (min-width: 1280px) {
  .c-hero__icons {
    flex-direction: row;
  }
  .c-hero__icons .c-hero__icon {
    margin-bottom: 0 !important;
    margin-right: 3.2rem;
  }
}

.c-hero__icons .c-hero__icon-figure {
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-hero__icons .c-hero__icon-figure img {
  max-width: 3rem;
  transition: 0.4s transform;
}

.c-hero__icons .c-hero__icon-desc {
  margin-left: 2rem;
  font-size: 1.8rem;
  color: var(--color-primary-dark-navy);
  font-weight: 600;
}

.c-hero__cta {
  margin-top: 5rem;
}

.c-hero__image {
  z-index: 15;
  position: relative;
}

.c-hero__image::after {
  content: "";
  display: block;
  width: 100%;
  height: 6rem;
  border-radius: 100%;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  position: absolute;
  top: -2px;
  background-image: url(../../_dist/images/background-noise.png);
  background-color: #f4f1bb;
}

@media (min-width: 1024px) {
  .c-hero__image {
    position: absolute;
    right: 0;
    bottom: 0;
    top: 0;
    margin-bottom: -6rem;
    max-width: 1084px;
    width: 50%;
  }
  .c-hero__image::after {
    display: none;
  }
}

.c-hero__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  display: block;
  background: linear-gradient(180deg, #b3c388 15%, rgba(255, 255, 255, 0) 50%);
  z-index: 20;
}

@media (max-width: 1023px) {
  .c-hero__overlay {
    display: none !important;
  }
}

.c-hero__shape {
  height: 100%;
  width: 100%;
}

.c-hero__shape img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (min-width: 1024px) {
  .c-hero__shape {
    clip-path: url(#shape);
  }
}

.c-hero__layered {
  position: absolute;
  bottom: -6rem;
  left: 50%;
  transform: translateX(-50%);
}

.c-hero__layered-front {
  position: absolute;
  top: 50%;
  transform: translateY(-40%);
  right: 0;
  width: 100%;
}

.c-hero__oval {
  position: absolute;
  width: 100%;
  margin-top: -50%;
}

.c-hero__oval svg {
  width: 100%;
}

.c-hero__scroll {
  position: absolute;
  bottom: 2rem;
  left: 8rem;
  transform: translateX(-50%);
  background-color: transparent;
  display: inline-flex;
  padding: 1rem;
  width: 13rem;
  height: 13rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  z-index: 200;
}

@media (max-width: 1023px) {
  .c-hero__scroll {
    display: none;
  }
}

.c-hero--layered .c-hero__layered {
  width: 80%;
}

@media (min-width: 1024px) {
  .c-hero--layered .c-hero__layered {
    display: flex;
    justify-content: center;
  }
}

.c-scroll {
  display: block;
  border: thin dashed var(--color-secondary-blue-jeans);
  width: 10rem;
  height: 10rem;
  border-radius: inherit;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.5s border-color;
}

.c-scroll::before, .c-scroll::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: inherit;
}

.c-scroll::before {
  background-color: transparent;
  border: thin dashed var(--color-secondary-blue-jeans);
  width: 8rem;
  height: 8rem;
  z-index: -1;
  transition: 1s border-color;
}

.c-scroll::after {
  background-color: var(--color-extra-white);
  width: 6rem;
  height: 6rem;
  z-index: 0;
  transition: 2s border-color;
}

.c-scroll:hover {
  border-color: var(--color-primary);
}

.c-scroll:hover::before {
  border-color: var(--color-primary);
}

.c-scroll svg {
  height: 3rem;
  width: auto;
  stroke: var(--color-primary);
  z-index: 5;
  transition: 1s transform;
}

@keyframes scroll {
  0% {
    transform: translateY(0);
  }
  30% {
    transform: translateY(100px);
  }
}

svg #wheel {
  animation: scroll ease 1.5s infinite;
}

@media (max-width: 1023px) {
  .home .c-hero__layered-front img {
    margin-left: -17% !important;
    z-index: 10 !important;
    position: relative !important;
  }
}

@media (min-width: 1024px) {
  .home .c-hero__content {
    padding-bottom: 1.6rem;
  }
}

.c-menu-wrap {
  width: 100%;
  display: flex;
  align-items: center;
}

.c-menu {
  list-style: none;
  margin-bottom: 0;
}

.c-menu--horizontal {
  display: inline-block;
  margin-left: -0.8rem;
  position: relative;
}

.c-menu--horizontal .c-menu__item {
  display: inline-block;
}

.c-menu--horizontal .c-menu__item:not(:last-of-type) {
  margin-right: 1.6rem;
}

.c-menu--horizontal .c-menu__item:hover .c-submenu {
  opacity: 1;
  height: auto;
  overflow: unset;
  padding: 1.6rem;
}

.c-menu--horizontal .c-menu__link {
  display: block;
  padding: 0.8rem;
  transition: 0.4s color ease;
}

.c-menu--horizontal .c-submenu {
  background-color: #9faf76;
  box-shadow: 0px 0.7rem 2.4rem #41503d;
  border-radius: 0 3.2rem;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: wrap;
  list-style: none;
  margin-bottom: 0;
  margin-left: -2.2rem;
  transition: 0.4s opacity;
  text-align: center;
  width: 120%;
  position: absolute;
  top: 100%;
  left: 0;
  opacity: 0;
  height: 0;
  overflow: hidden;
}

@media (min-width: 1440px) {
  .c-menu--horizontal .c-submenu {
    margin-left: -50%;
  }
}

.c-menu--horizontal .c-submenu .c-submenu__item {
  flex: 0 0 25%;
  position: relative;
  display: inline-block;
  border-radius: 0 3.2rem;
  padding: 0.8rem;
  transition: background-color 0.4s;
}

.c-menu--horizontal .c-submenu .c-submenu__item:hover {
  background-color: rgba(0, 0, 0, 0.1);
}

.c-menu--horizontal .c-submenu .c-submenu__link {
  color: var(--color-extra-base);
  display: block;
  padding: 0.8rem 1.6rem;
  text-align: center;
  font-size: 0.85em;
}

.c-menu--horizontal .c-submenu .c-submenu__link:hover {
  color: var(--color-primary);
}

.c-menu--horizontal .c-submenu .c-submenu__link img {
  max-width: 10rem;
  display: block;
  margin: 0 auto 0.8rem auto;
  width: auto;
  height: 10rem;
}

.c-menu--vertical {
  display: block;
}

.c-menu--vertical .c-menu__item {
  display: block;
  text-align: left;
}

.c-menu--vertical .c-menu__item.is-expanded .c-submenu {
  opacity: 1;
  height: auto;
  overflow: unset;
  padding: 3.2rem;
}

.c-menu--vertical .c-menu__link {
  margin-bottom: 2px;
  display: block;
  padding: 0.8rem 1.6rem;
}

.c-menu--vertical .c-submenu {
  height: 0;
  list-style: none;
  margin-bottom: 0;
  opacity: 0;
  overflow: hidden;
  transition: 0.4s opacity, 0.4s height;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  background-color: #638456;
  box-shadow: 0 0.7rem 5.4rem #41503d;
}

.c-menu--vertical .c-submenu .c-submenu__item {
  flex: 0 0 45%;
  position: relative;
  padding: 1.6rem;
  margin-bottom: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-menu--vertical .c-submenu .c-submenu__link {
  display: block;
  padding: 0.8rem 1.6rem;
  font-size: 2.4rem;
  text-align: center;
  color: var(--color-extra-base);
}

.c-menu--vertical .c-submenu .c-submenu__link img {
  max-width: 20rem;
  max-height: 20rem;
  display: block;
  margin: 0 auto;
  text-align: center;
  margin-bottom: 1.6rem;
  width: 100%;
}

.c-menu--header {
  font-size: 2rem;
  font-family: var(--headings-font-family);
  text-transform: uppercase;
}

.c-menu--header .c-menu__link {
  color: var(--color-primary);
}

.c-menu--header .c-menu__link:hover {
  color: var(--color-extra-base);
}

.c-menu--mobile {
  font-size: 4rem;
  font-family: var(--headings-font-family);
  text-transform: uppercase;
}

.c-menu--mobile .c-menu__link {
  color: var(--color-extra-base);
}

.c-menu--mobile .c-menu__link:hover {
  color: var(--color-primary);
}

.c-menu--footer .c-menu__link {
  color: var(--color-extra-white);
}

.c-menu--footer .c-menu__link:hover {
  color: #b5c288;
}

.c-menu--horizontal .has-submenu {
  padding-right: 0.25rem;
}

.has-submenu .c-menu__link {
  position: relative;
}

.has-submenu .c-menu__link::after {
  content: "";
  display: inline-block;
  background-image: url(../../_dist/images/arrow-downAsset.png);
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  right: -1.2rem;
  top: 1.6rem;
  width: 1.6rem;
  height: 1.6rem;
  padding: 0.1rem;
  transition: transform 0.4s;
}

.c-menu--horizontal .has-submenu .c-menu__link:hover::after {
  transform: rotate(-180deg);
}

.c-menu--vertical .has-submenu .c-menu__link::after {
  right: 1.6rem;
  width: 2rem;
  height: 2rem;
  right: auto;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 1.6rem;
}

.has-submenu.is-expanded .c-menu__link::after {
  transform: rotate(0deg);
}

.c-menu--vertical .has-submenu.is-expanded .c-menu__link::after {
  transform: translateY(-50%) rotate(-180deg);
}

.c-menu-link {
  background-color: var(--color-primary);
  color: var(--color-extra-white);
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: 0.4s background-color;
}

.c-menu-link .o-icon {
  width: 2rem;
  height: 2rem;
}

.c-menu-link__label {
  font-size: 1rem;
  line-height: 1;
  background-color: var(--color-extra-white);
  border-radius: 100%;
  color: var(--color-primary);
  position: absolute;
  width: 1.6rem;
  height: 1.6rem;
  top: 0.5rem;
  right: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-menu-link:hover {
  background-color: var(--color-primary-dark-navy);
}

@media (min-width: 576px) {
  .c-menu-link {
    width: 6.4rem;
    height: 6.4rem;
  }
  .c-menu-link .o-icon {
    width: 2.5rem;
    height: 2.5rem;
  }
  .c-menu-link__label {
    width: 2rem;
    height: 2rem;
    top: 1rem;
    right: 1rem;
    font-size: 1.2rem;
  }
}

.c-offcanvas {
  background-color: #4a58448c;
  height: 100vh;
  width: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 960;
  opacity: 0;
  visibility: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s, visibility 0.2s, transform 0.3s;
}

.c-offcanvas__close {
  position: absolute;
  right: 0;
  top: 0;
  padding: 1.6rem;
  color: var(--color-extra-gray);
  cursor: pointer;
  transition: color 0.4s;
}

.c-offcanvas__close:hover {
  color: var(--color-primary);
}

.c-offcanvas__close .o-icon {
  font-size: 1em;
  transform: rotate(45deg);
}

.c-offcanvas__inner {
  flex: 0 0 100%;
  position: relative;
  overflow-y: auto;
}

.c-offcanvas.is-active {
  opacity: 1;
  visibility: visible;
  overflow-y: auto;
}

.c-offcanvas--exit .c-offcanvas__inner {
  height: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 1.6rem;
}

@media (min-width: 768px) {
  .c-offcanvas--exit .c-offcanvas__inner {
    align-items: center;
  }
}

.c-offcanvas--mobile-menu {
  background-color: white;
  align-items: flex-start;
}

.c-offcanvas--mobile-menu .c-offcanvas__inner {
  height: 100%;
  background: linear-gradient(335deg, #41503d 0%, #a2e786 100%);
}

.c-offcanvas--mobile-menu .c-offcanvas__close {
  color: var(--color-primary);
  top: 3.2rem;
  right: 3.2rem;
}

.c-offcanvas--mobile-menu .c-offcanvas__close .o-icon {
  font-size: 2em;
}

.c-offcanvas--mobile-menu .c-offcanvas__header {
  margin-bottom: 3.2rem;
  padding: 1.6rem;
  margin-right: 9.6rem;
}

.c-offcanvas--mobile-menu .c-offcanvas__header .c-offcanvas__logo {
  max-width: 40rem;
  width: 100%;
  display: block;
}

.c-offcanvas--gallery {
  background: var(--color-extra-white);
}

.c-offcanvas--gallery .c-offcanvas__inner {
  background: linear-gradient(0deg, #41503d 0%, #fcfbe5 100%);
  height: 100%;
  padding: 1.6rem;
  display: flex;
  align-items: center;
}

@media (min-width: 768px) {
  .c-offcanvas--gallery .c-offcanvas__inner {
    align-items: center;
  }
}

.c-offcanvas__search {
  padding: 1.6rem;
  margin-bottom: 3.2rem;
}

@media (min-width: 768px) {
  .c-offcanvas__search {
    display: none;
  }
}

.has-offcanvas {
  overflow-y: hidden;
  width: 100%;
  margin-right: 25px;
}

.has-offcanvas #wpadminbar {
  display: none;
}

.c-dialog {
  max-width: 96rem;
  width: 100%;
  margin: 0 auto;
  position: relative;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  border-radius: 6.4rem 0;
}

.c-dialog--small {
  max-width: 50rem;
}

.c-dialog--compact .c-dialog__content {
  padding: 3.2rem;
}

@media (max-width: 1023px) {
  .c-dialog {
    flex-direction: column;
  }
}

.c-dialog__close {
  position: absolute;
  right: 1.6rem;
  top: 1.6rem;
  transform: rotate(45deg);
  cursor: pointer;
}

.c-dialog__close::hover {
  color: var(--color-primary);
}

.c-dialog__image {
  flex: 0 0 35rem;
  width: 100%;
  background-color: var(--color-primary-dark-navy);
  border-top-left-radius: 6.4rem;
  position: relative;
}

@media (max-width: 1023px) {
  .c-dialog__image img {
    bottom: -1.6rem;
    max-width: 40rem;
  }
}

.c-dialog__image img {
  position: absolute;
  bottom: -6.4rem;
  left: 50%;
  transform: translateX(-50%);
  max-width: 48rem;
}

.c-dialog__content {
  flex: 1 1 auto;
  background-color: #b3c388;
  padding: 6.4rem;
  text-align: center;
  border-bottom-right-radius: 6.4rem;
}

@media (max-width: 1023px) {
  .c-dialog__content {
    flex: 1 1 100%;
    padding-top: 9.6rem;
  }
}

.c-dialog__title {
  text-transform: uppercase;
  margin-bottom: 1.6rem;
}

.is-minor .c-dialog__notice--1 {
  display: none;
}

.c-dialog__notice--2 {
  display: none;
}

.is-minor .c-dialog__notice--2 {
  display: block;
}

.c-dialog__cta {
  margin-top: 3.2rem;
}

.is-minor .c-dialog__cta {
  display: none;
}

.c-dialog__ornament {
  position: absolute;
}

@media (max-width: 1023px) {
  .c-dialog__ornament {
    display: none;
  }
}

.c-dialog__ornament--1 {
  top: -4rem;
  left: -6rem;
  z-index: -1;
}

.c-dialog__ornament--1 img {
  max-width: 12rem;
  transform: rotate(25deg);
}

.c-dialog__ornament--2 {
  bottom: -12rem;
  right: -5rem;
  z-index: -1;
}

.c-dialog__ornament--2 img {
  max-width: 12rem;
  transform: rotate(45deg);
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JpdGljYWwuY3NzIiwic291cmNlcyI6WyJjcml0aWNhbC5zY3NzIiwidG9vbHMvX2luZGV4LnNjc3MiLCJ0b29scy9fYXNwZWN0LXJhdGlvLnNjc3MiLCJ0b29scy9fYnJlYWtwb2ludHMuc2NzcyIsInRvb2xzL19jb2xvcnMuc2NzcyIsInRvb2xzL19mb250LWZhY2Uuc2NzcyIsInRvb2xzL19zcGFjaW5nLnNjc3MiLCJ0b29scy9fei1pbmRleC5zY3NzIiwic2V0dGluZ3MvX2luZGV4LnNjc3MiLCJzZXR0aW5ncy9fYnJlYWtwb2ludHMuc2NzcyIsInNldHRpbmdzL19jb2xvcnMuc2NzcyIsInNldHRpbmdzL19kZXZlbG9wbWVudC5zY3NzIiwic2V0dGluZ3MvX2dyaWQuc2NzcyIsInNldHRpbmdzL19zcGFjaW5nLnNjc3MiLCJzZXR0aW5ncy9fdHlwb2dyYXBoeS5zY3NzIiwic2V0dGluZ3MvX3ppbmRleC5zY3NzIiwic2V0dGluZ3MvX3Jvb3Quc2NzcyIsImdlbmVyaWMvX2luZGV4LnNjc3MiLCJnZW5lcmljL19ib3gtc2l6aW5nLnNjc3MiLCJnZW5lcmljL19ub3JtYWxpemUuc2NzcyIsImdlbmVyaWMvX3Jlc2V0LnNjc3MiLCJlbGVtZW50cy9faW5kZXguc2NzcyIsImVsZW1lbnRzL19mb3Jtcy5zY3NzIiwiZWxlbWVudHMvX2hyLnNjc3MiLCJlbGVtZW50cy9fbGlua3Muc2NzcyIsImVsZW1lbnRzL19tZWRpYS5zY3NzIiwiZWxlbWVudHMvX3BhZ2Uuc2NzcyIsImVsZW1lbnRzL190YWJsZS5zY3NzIiwiZWxlbWVudHMvX3R5cG9ncmFwaHkuc2NzcyIsIm9iamVjdHMvX2luZGV4LnNjc3MiLCJvYmplY3RzL19ncmlkLnNjc3MiLCJvYmplY3RzL19pY29uLnNjc3MiLCJvYmplY3RzL19saXN0cy5zY3NzIiwib2JqZWN0cy9fcGFnZS5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19oZXJvLnNjc3MiLCJjb21wb25lbnRzL19tZW51LnNjc3MiLCJjb21wb25lbnRzL19vZmZjYW52YXMuc2NzcyIsImNvbXBvbmVudHMvX2RpYWxvZy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENoYXJzZXRcclxuQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuQGltcG9ydCAndG9vbHMvaW5kZXgnO1xyXG5AaW1wb3J0ICdzZXR0aW5ncy9pbmRleCc7XHJcbkBpbXBvcnQgJ2dlbmVyaWMvaW5kZXgnO1xyXG5AaW1wb3J0ICdlbGVtZW50cy9pbmRleCc7XHJcbkBpbXBvcnQgJ29iamVjdHMvaW5kZXgnO1xyXG5cclxuQGltcG9ydCAnY29tcG9uZW50cy9oZWFkZXInO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2hlcm8nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL29mZmNhbnZhcyc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZGlhbG9nJzsiLCJAaW1wb3J0ICdhc3BlY3QtcmF0aW8nO1xyXG5AaW1wb3J0ICdicmVha3BvaW50cyc7XHJcbkBpbXBvcnQgJ2NvbG9ycyc7XHJcbkBpbXBvcnQgJ2ZvbnQtZmFjZSc7XHJcbkBpbXBvcnQgJ3NwYWNpbmcnO1xyXG5AaW1wb3J0ICd6LWluZGV4JztcclxuIiwiQG1peGluIGFzcGVjdC1yYXRpbygkeCwkeSkge1xyXG4gICAgJHBhZGRpbmc6IHVucXVvdGUoICggJHkgLyAkeCApICogMTAwICsgJyUnICk7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgPiAqIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgfVxyXG59XHJcbiIsIi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cclxuXHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xyXG4gICAgJG46IGluZGV4KCAkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUgKTtcclxuXHJcbiAgICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcclxufVxyXG5cclxuXHJcbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cclxuXHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcclxuICAgICRtaW46IG1hcC1nZXQoICRicmVha3BvaW50cywgJG5hbWUgKTtcclxuXHJcbiAgICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XHJcbn1cclxuXHJcblxyXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LiBUaGUgbWF4aW11bVxyXG4vLyB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMS5cclxuXHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcclxuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoICRuYW1lLCAkYnJlYWtwb2ludHMgKTtcclxuXHJcbiAgICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIDFweCwgbnVsbCk7XHJcbn1cclxuXHJcblxyXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lXHJcbi8vIHdpdGggYSBkYXNoIGluZnJvbnQuIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxyXG5cclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XHJcbiAgICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsICcnLCAnLSN7JG5hbWV9Jyk7XHJcbn1cclxuXHJcblxyXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0XHJcbi8vIGJyZWFrcG9pbnQuIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXHJcblxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcclxuICAgICRtaW46IGJyZWFrcG9pbnQtbWluKCAkbmFtZSwgJGJyZWFrcG9pbnRzICk7XHJcblxyXG4gICAgQGlmICRtaW4ge1xyXG4gICAgICAgIEBtZWRpYSAoIG1pbi13aWR0aDogJG1pbiApIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdFxyXG4vLyBicmVha3BvaW50LiBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxyXG5cclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcclxuICAgICRtYXg6IGJyZWFrcG9pbnQtbWF4KCAkbmFtZSwgJGJyZWFrcG9pbnRzICk7XHJcblxyXG4gICAgQGlmICRtYXgge1xyXG4gICAgICAgIEBtZWRpYSAoIG1heC13aWR0aDogJG1heCApIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLiBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlblxyXG4vLyB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHMuXHJcblxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xyXG4gICAgJG1pbjogYnJlYWtwb2ludC1taW4oICRsb3dlciwgJGJyZWFrcG9pbnRzICk7XHJcbiAgICAkbWF4OiBicmVha3BvaW50LW1heCggJHVwcGVyLCAkYnJlYWtwb2ludHMgKTtcclxuXHJcbiAgICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xyXG4gICAgICAgIEBtZWRpYSAoIG1pbi13aWR0aDogJG1pbiApIGFuZCAoIG1heC13aWR0aDogJG1heCApIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cclxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueVxyXG4vLyB3aWRlciBvciBuYXJyb3dlci5cclxuXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAkbWluOiBicmVha3BvaW50LW1pbiggJG5hbWUsICRicmVha3BvaW50cyApO1xyXG4gICAgJG1heDogYnJlYWtwb2ludC1tYXgoICRuYW1lLCAkYnJlYWtwb2ludHMgKTtcclxuXHJcbiAgICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xyXG4gICAgICAgIEBtZWRpYSAoIG1pbi13aWR0aDogJG1pbiApIGFuZCAoIG1heC13aWR0aDogJG1heCApIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gRmFsbGJhY2tcclxuXHJcbkBmdW5jdGlvbiBjb2xvcigkY29sb3ItbWFwLCAkY29sb3ItbmFtZTpudWxsKSB7XHJcbiAgICAkdmFsdWU6IDA7XHJcblxyXG4gICAgQGlmICgkY29sb3ItbmFtZSAhPSBudWxsKSB7XHJcbiAgICAgICAgJHZhbHVlOiB2YXIoLS1jb2xvci0jeyRjb2xvci1tYXB9LSN7JGNvbG9yLW5hbWV9KTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICR2YWx1ZTogdmFyKC0tY29sb3ItI3skY29sb3ItbWFwfSk7XHJcbiAgICB9XHJcbiAgICBAcmV0dXJuICR2YWx1ZTtcclxufVxyXG4iLCJAZnVuY3Rpb24gY3JlYXRlRm9udE1hcCgkZmlsZSwgJHdlaWdodDpub3JtYWwsICRzdHlsZTpub3JtYWwpIHtcclxuXHQkZGVmOiAoXHJcblx0XHRcdGZpbGU6ICRmaWxlLFxyXG5cdFx0XHR3ZWlnaHQ6ICR3ZWlnaHQsXHJcblx0XHRcdHN0eWxlOiAkc3R5bGVcclxuXHQpO1xyXG5cdEByZXR1cm4gJGRlZjtcclxufVxyXG5cclxuQG1peGluIGFkZEZvbnRGYWNlKCRmb250RmFtaWx5LCAkYmFzZVBhdGgsICRmb3JtYXRzLCAkZGVmTGlzdCkge1xyXG5cdEBlYWNoICRkZWYgaW4gJGRlZkxpc3Qge1xyXG5cdFx0JHNyYzogKCk7XHJcblx0XHRAZWFjaCAkZm9ybWF0IGluICRmb3JtYXRzIHtcclxuXHRcdFx0JGV4dDogJGZvcm1hdDtcclxuXHJcblx0XHRcdEBpZiAoJGZvcm1hdCA9PSAndHJ1ZXR5cGUnKSB7XHJcblx0XHRcdFx0JGV4dDogJ3R0Zic7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCR1cmw6IHVybCgnI3skYmFzZVBhdGh9LyN7bWFwX2dldCgkZGVmLCAnZmlsZScpfS4jeyRleHR9JykgZm9ybWF0KHF1b3RlKCRmb3JtYXQpKTtcclxuXHRcdFx0JHNyYzogYXBwZW5kKCRzcmMsICR1cmwsIGNvbW1hKTtcclxuXHRcdH1cclxuXHJcblx0XHRAZm9udC1mYWNlIHtcclxuXHRcdFx0Zm9udC1mYW1pbHk6IHF1b3RlKCRmb250RmFtaWx5KTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IG1hcF9nZXQoJGRlZiwgJ3dlaWdodCcpO1xyXG5cdFx0XHRmb250LXN0eWxlOiBtYXBfZ2V0KCRkZWYsICdzdHlsZScpO1xyXG5cdFx0XHRmb250LWRpc3BsYXk6IHN3YXA7XHJcblx0XHRcdHNyYzogJHNyYztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8qIE1peGluIG9yaWdpbjogaHR0cHM6Ly9tYXJjLWVkLXJhZmZhbGxpLmdpdGh1Yi5pby8yMDE3LzEwLzE0L3Nhc3MtZm9udC1mYWNlLmh0bWwgKi8iLCJAZnVuY3Rpb24gc3BhY2luZygkc3BhY2luZy1uYW1lKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHNwYWNlcnMsICRzcGFjaW5nLW5hbWUpO1xyXG59XHJcbiIsIkBmdW5jdGlvbiB6LWluZGV4KCR6LWluZGV4LW5hbWUpIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkei1pbmRleCwgJHotaW5kZXgtbmFtZSk7XHJcbn1cclxuIiwiLy8vIFNFVFRJTkdTIC8gQUxMXHJcblxyXG5cclxuQGltcG9ydCAnYnJlYWtwb2ludHMnO1xyXG5AaW1wb3J0ICdjb2xvcnMnO1xyXG5AaW1wb3J0ICdkZXZlbG9wbWVudCc7XHJcbkBpbXBvcnQgJ2dyaWQnO1xyXG5AaW1wb3J0ICdzcGFjaW5nJztcclxuQGltcG9ydCAndHlwb2dyYXBoeSc7XHJcbkBpbXBvcnQgJ3ppbmRleCc7XHJcblxyXG4vLyBEZWNsYXJlIHJvb3QgY3NzIHZhcmlhYmxlc1xyXG5AaW1wb3J0ICdyb290JzsiLCIvLy8gU0VUVElOR1MgLyBCUkVBS1BPSU5UU1xyXG5cclxuXHJcbiRicmVha3BvaW50czogKFxyXG4gICAgeHM6IDAsXHJcbiAgICBzbTogNTc2cHgsXHJcbiAgICBtZDogNzY4cHgsXHJcbiAgICBsZzogMTAyNHB4LFxyXG4gICAgeGw6IDEyODBweCxcclxuICAgIHh4bDogMTQ0MHB4LFxyXG4gICAgMnhsOiAxNjYwcHgsXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kcGFnZS13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsIHh4bCkgIWRlZmF1bHQ7XHJcbiRwYWdlLXdpZHRoLW1kOiBtYXAtZ2V0KCRicmVha3BvaW50cywgbWQpICFkZWZhdWx0O1xyXG4kcGFnZS13aWR0aC14bDogMTQ0MHB4ICFkZWZhdWx0O1xyXG4iLCIvLy8gU0VUVElOR1MgLyBDT0xPUlNcclxuXHJcblxyXG4kY29sb3JzOiAoXHJcbiAgICBwcmltYXJ5OiAoXHJcbiAgICAgICAgZGVmYXVsdDogICAgICAgICM0MTUwM2QsXHJcbiAgICAgICAgZGFyay1uYXZ5OiAgICAgICMyYzUyMzRcclxuICAgICksXHJcbiAgICBzZWNvbmRhcnk6IChcclxuICAgICAgICBibHVlLWplYW5zOiAgICAgIzQxNTAzZCxcclxuICAgICAgICBibHVlLWNyYXlvbGE6ICAgI2I1YzI4OCxcclxuICAgICAgICBibHVlLWdyYXk6ICAgICAgIzVENjE5OSxcclxuICAgICAgICBhbGljZS1ibHVlOiAgICAgcmdiYSgzNSwgODMsIDAsIDAuMzcpLFxyXG4gICAgICAgIHNwYWNlLWNhZGV0OiAgICAjMUExRDQ4LFxyXG4gICAgICAgIHBlcml3aW5rbGU6ICAgICAjRDJENUYzLFxyXG4gICAgICAgIGluZGVwZW5kZW5jZTogICAjNTc1RTc4XHJcbiAgICApLFxyXG4gICAgZXh0cmE6IChcclxuICAgICAgICBiYXNlOiAgICAgICAgICAgI2ZlZmRlOCxcclxuICAgICAgICBsaW5rczogICAgICAgICAgIzJCQTI0OSxcclxuICAgICAgICBibGFjazogICAgICAgICAgIzAwMDAwMCxcclxuICAgICAgICB3aGl0ZTogICAgICAgICAgI2ZmZmZmZixcclxuICAgICAgICBncmF5OiAgICAgICAgICAgI0UxRTNFOCxcclxuICAgICAgICBlcnJvcjogICAgICAgICAgI0VENDc0QSxcclxuICAgICAgICBzdWNjZXNzOiAgICAgICAgIzJCQTI0OSxcclxuICAgICAgICB3YXJuaW5nOiAgICAgICAgI0UyODQxMyxcclxuICAgICAgICBpbmZvOiAgICAgICAgICAgIzIwMjM0RSxcclxuICAgICksXHJcbiAgICBzb2NpYWw6IChcclxuICAgICAgICBmYWNlYm9vazogICAgICAgIzNiNTk5OCxcclxuICAgICAgICB0d2l0dGVyOiAgICAgICAgIzU1YWNlZSxcclxuICAgICAgICB5b3V0dWJlOiAgICAgICAgI2NkMjAxZixcclxuICAgICAgICBpbnN0YWdyYW06ICAgICAgI2MxMzU4NCxcclxuICAgICAgICBsaW5rZWRpbjogICAgICAgIzAwNzdiNSxcclxuICAgICAgICB3aGF0c2FwcDogICAgICAgIzI1ZDM2NixcclxuICAgICAgICB2aWJlcjogICAgICAgICAgIzhmNWRiN1xyXG4gICAgKVxyXG4pICFkZWZhdWx0O1xyXG4iLCIkZW5hYmxlLW5hbWVzcGFjZS1vdXRsaW5lOiBmYWxzZTtcclxuXHJcbkBpZiAoICRlbmFibGUtbmFtZXNwYWNlLW91dGxpbmUgKSB7XHJcblxyXG4gICAgW2NsYXNzXj1cIm8tXCJdLFxyXG4gICAgW2NsYXNzKj1cIiBvLVwiXSB7XHJcbiAgICAgICAgb3V0bGluZTogMXB4IGRhc2hlZCBibHVlO1xyXG4gICAgfVxyXG5cclxuICAgIFtjbGFzc149XCJjLVwiXSxcclxuICAgIFtjbGFzcyo9XCIgYy1cIl0ge1xyXG4gICAgICAgIG91dGxpbmU6IDFweCBkYXNoZWQgbGltZWdyZWVuO1xyXG4gICAgfVxyXG5cclxuICAgIFtjbGFzc149XCJ1LVwiXSxcclxuICAgIFtjbGFzcyo9XCIgdS1cIl0ge1xyXG4gICAgICAgIG91dGxpbmU6IDFweCBkYXNoZWQgdmlvbGV0O1xyXG4gICAgfVxyXG5cclxuICAgIFtjbGFzc149XCJfXCJdLFxyXG4gICAgW2NsYXNzKj1cIiBfXCJdIHtcclxuICAgICAgICBvdXRsaW5lOiAxcHggZGFzaGVkIHJlZDtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiJGdyaWQtY29sdW1ucyAgIDogMTIgIWRlZmF1bHQ7XHJcbiRncmlkLWd1dHRlciAgICA6IDM2cHggIWRlZmF1bHQ7XHJcbiIsIiRzcGFjZXItYmFzZTogICAgICAgMS42cmVtICFkZWZhdWx0O1xyXG4kc3BhY2VyLWhhbGY6ICAgICAgICRzcGFjZXItYmFzZSAvIDIgIWRlZmF1bHQ7XHJcbiRzcGFjZXItcXVhcnRlcjogICAgJHNwYWNlci1iYXNlIC8gNCAhZGVmYXVsdDtcclxuJHNwYWNlci10aGlyZDogICAgICAkc3BhY2VyLWJhc2UgLyAzICFkZWZhdWx0O1xyXG5cclxuJHNwYWNlcnM6IChcclxuICAgIDA6IDAsXHJcbiAgICAxOiAgJHNwYWNlci1iYXNlLCAgICAgICAvLyAxNi0xOFxyXG4gICAgMjogICRzcGFjZXItYmFzZSAqIDIsICAgLy8gMzItMzZcclxuICAgIDM6ICAkc3BhY2VyLWJhc2UgKiAzLCAgIC8vIDQ4LTU0XHJcbiAgICA0OiAgJHNwYWNlci1iYXNlICogNCwgICAvLyA2NC03MlxyXG4gICAgNjogICRzcGFjZXItYmFzZSAqIDYsICAgLy8gOTYtMTA4XHJcbiAgICA4OiAgJHNwYWNlci1iYXNlICogOCwgICAvLyAxMjgtMTI0XHJcbiAgICAxMDogJHNwYWNlci1iYXNlICogMTAsICAvLyAxNjAtMTgwXHJcbiAgICAxMjogJHNwYWNlci1iYXNlICogMTIsICAvLyAxOTItMjE2XHJcbiAgICAxNjogJHNwYWNlci1iYXNlICogMTYsICAvLyAyNTYtMjg4XHJcbiAgICAyMDogJHNwYWNlci1iYXNlICogMjAgICAvLyAzMjAtMzYwXHJcbiApICFkZWZhdWx0O1xyXG4iLCIvLy8gU0VUVElOR1MgLyBUWVBPR1JBUEhZXHJcblxyXG4kZGVmYXVsdC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sICdCbGlua01hY1N5c3RlbUZvbnQnLCAnU2Vnb2UgVUknLCAnUm9ib3RvJywgJ0hlbHZldGljYSBOZXVlJywgJ0FyaWFsJywgc2Fucy1zZXJpZiwgJ0FwcGxlIENvbG9yIEVtb2ppJywgJ1NlZ29lIFVJIEVtb2ppJywgJ1NlZ29lIFVJIFN5bWJvbCcgIWRlZmF1bHQ7XHJcblxyXG4kZm9udC13ZWlnaHQtdGhpbjogMTAwICFkZWZhdWx0O1xyXG4kZm9udC13ZWlnaHQtZXh0cmEtbGlnaHQ6IDIwMCAhZGVmYXVsdDtcclxuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAzMDAgIWRlZmF1bHQ7XHJcbiRmb250LXdlaWdodC1ub3JtYWw6IDQwMCAhZGVmYXVsdDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bTogNTAwICFkZWZhdWx0O1xyXG4kZm9udC13ZWlnaHQtYm9sZGVyOiA2MDAgIWRlZmF1bHQ7XHJcbiRmb250LXdlaWdodC1ib2xkOiA3MDAgIWRlZmF1bHQ7XHJcbiRmb250LXdlaWdodC1ibGFjazogOTAwICFkZWZhdWx0O1xyXG5cclxuJHR5cG9ncmFwaHk6IChcclxuICAgIGJhc2U6IChcclxuICAgICAgICBmb250LWZhbWlseTogICAgJ29wZW5zYW5zLCBzYW5zLXNlcmlmJyxcclxuICAgICAgICBmb250LXdlaWdodDogICAgJGZvbnQtd2VpZ2h0LW1lZGl1bSxcclxuICAgICAgICBmb250LXNpemU6ICAgICAgMS44cmVtLFxyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAgICAxLjUsXHJcbiAgICApLFxyXG4gICAgaGVhZGluZ3M6IChcclxuICAgICAgICBmb250LWZhbWlseTogICAgJ0hlZWJvLCBzYW5zLXNlcmlmJyxcclxuICAgICAgICBmb250LXdlaWdodDogICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCxcclxuICAgICAgICBsaW5lLWhlaWdodDogICAgMS4yNSxcclxuICAgIClcclxuKTtcclxuXHJcbkBpbmNsdWRlIGFkZEZvbnRGYWNlKG9wZW5zYW5zLCAnLi4vLi4vZm9udHMvb3BlbnNhbnMnLCAoJ3dvZmYnLCAnd29mZjInKSwgKFxyXG4gICAgICAgIGNyZWF0ZUZvbnRNYXAoJ29wZW4tc2Fucy12MjAtbGF0aW4tcmVndWxhcicsIDUwMCksXHJcbiAgICAgICAgY3JlYXRlRm9udE1hcCgnb3Blbi1zYW5zLXYyMC1sYXRpbi02MDAnLCA2MDApLFxyXG4gICAgICAgIGNyZWF0ZUZvbnRNYXAoJ29wZW4tc2Fucy12MjAtbGF0aW4tNzAwJywgNzAwKSxcclxuKSk7XHJcblxyXG5AaW5jbHVkZSBhZGRGb250RmFjZShvc3dhbGQsICcuLi8uLi9mb250cy9vc3dhbGQnLCAoJ3dvZmYnLCAnd29mZjInKSwgKFxyXG4gICAgICAgIGNyZWF0ZUZvbnRNYXAoJ29zd2FsZC12MzgtbGF0aW4tMzAwJywgMzAwKSxcclxuICAgICAgICBjcmVhdGVGb250TWFwKCdvc3dhbGQtdjM4LWxhdGluLXJlZ3VsYXInLCA0MDApLFxyXG4gICAgICAgIGNyZWF0ZUZvbnRNYXAoJ29zd2FsZC12MzgtbGF0aW4tNjAwJywgNjAwKSxcclxuKSk7XHJcblxyXG5AaW5jbHVkZSBhZGRGb250RmFjZShzdGFyLCAnLi4vLi4vZm9udHMvc3RhcicsICgnd29mZicpLCAoXHJcbiAgICAgICAgY3JlYXRlRm9udE1hcCgnc3RhcicsIDUwMCksXHJcbikpOyIsIi8vLyBTRVRUSU5HUyAvIFotSU5ERVhcclxuXHJcblxyXG4kei1pbmRleDogKFxyXG4gICAgaGVhZGVyICAgICAgICAgIDogOTAwLFxyXG4gICAgbmF2aWdhdGlvbiAgICAgIDogOTEwLFxyXG4gICAgaGFtYnVyZ2VyICAgICAgIDogOTIwLFxyXG4gICAgZHJvcGRvd24gICAgICAgIDogOTMwLFxyXG4gICAgZml4ZWQgICAgICAgICAgIDogOTQwLFxyXG4gICAgc3RpY2t5ICAgICAgICAgIDogOTUwLFxyXG4gICAgb2ZmY2FudmFzICAgICAgIDogOTYwLFxyXG4gICAgY29va2llcyAgICAgICAgIDogOTcwLFxyXG4gICAgcHJlbG9hZGVyICAgICAgIDogMTAwMDBcclxuKSAhZGVmYXVsdDtcclxuIiwiOnJvb3Qge1xyXG5cclxuICAgIC8vIEdlbmVyYXRlIGNvbG9yc1xyXG4gICAgQGVhY2ggJGNvbG9yLW1hcCwgJGNvbG9yLW1hcC1jb2xvcnMgaW4gJGNvbG9ycyB7XHJcbiAgICAgICAgQGVhY2ggJGNvbG9yLW5hbWUsICRjb2xvci12YWx1ZSBpbiAkY29sb3ItbWFwLWNvbG9ycyB7XHJcbiAgICAgICAgICAgICRzZWxlY3Rvci1zdWZmaXg6ICRjb2xvci1tYXA7XHJcblxyXG4gICAgICAgICAgICBAaWYgKCRjb2xvci1uYW1lICE9IGRlZmF1bHQpIHtcclxuICAgICAgICAgICAgICAgICRzZWxlY3Rvci1zdWZmaXg6ICRjb2xvci1tYXAgKyAnLScgKyAkY29sb3ItbmFtZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gQGlmICgkY29sb3ItbWFwID09IGV4dHJhKSB7XHJcbiAgICAgICAgICAgIC8vICAgICAkc2VsZWN0b3Itc3VmZml4OiAkY29sb3ItbmFtZTtcclxuICAgICAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAgICAgLS1jb2xvci0je1wiXCIgKyAkc2VsZWN0b3Itc3VmZml4fSA6ICN7XCJcIiArICRjb2xvci12YWx1ZX07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEdlbmVyYXRlIHR5cG9ncmFwaHlcclxuICAgIEBlYWNoICR0eXBvZ3JhcGh5LWZhbWlseSwgJHR5cG9ncmFwaHktZmFtaWx5LXZhbHVlcyBpbiAkdHlwb2dyYXBoeSB7XHJcbiAgICAgICAgQGVhY2ggJHR5cG9ncmFwaHktYXR0cmlidXRlLCAkdHlwb2dyYXBoeS12YWx1ZSBpbiAkdHlwb2dyYXBoeS1mYW1pbHktdmFsdWVzIHtcclxuICAgICAgICAgICAgLS0je1wiXCIgKyAkdHlwb2dyYXBoeS1mYW1pbHl9LSN7XCJcIiArICR0eXBvZ3JhcGh5LWF0dHJpYnV0ZX06ICN7XCJcIiArICR0eXBvZ3JhcGh5LXZhbHVlfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUGFnZSBzaXplXHJcbiAgICAtLXBhZ2Utd2lkdGg6ICN7JHBhZ2Utd2lkdGh9O1xyXG4gICAgLS1wYWdlLXdpZHRoLW1kOiAjeyRwYWdlLXdpZHRoLW1kfTtcclxuICAgIC0tcGFnZS13aWR0aC14bDogI3skcGFnZS13aWR0aC14bH07XHJcblxyXG59XHJcbiIsIkBpbXBvcnQgJ2JveC1zaXppbmcnO1xyXG5AaW1wb3J0ICdub3JtYWxpemUnO1xyXG5AaW1wb3J0ICdyZXNldCc7XHJcbiIsImh0bWwge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuKiB7XHJcbiAgICAmLFxyXG4gICAgJjo6YmVmb3JlLFxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xyXG5cclxuLyogRG9jdW1lbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxyXG4gKi9cclxuXHJcbmh0bWwge1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cclxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBTZWN0aW9uc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5ib2R5IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9fZGlzdC9pbWFnZXMvYmFja2dyb3VuZC1ub2lzZS5wbmcpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjFiYjtcclxufVxyXG5cclxuLyogR3JvdXBpbmcgY29udGVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXHJcbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxyXG4gKi9cclxuXHJcbmhyIHtcclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXHJcbiAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cclxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxucHJlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqLyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZvbnQtZmFtaWx5LW5vLWR1cGxpY2F0ZS1uYW1lcyAqL1xyXG4gICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cclxufVxyXG5cclxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXHJcbiAqL1xyXG5cclxuYSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXHJcbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYWJiclsgdGl0bGUgXSB7XHJcbiAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxyXG4gKi9cclxuXHJcbmIsXHJcbnN0cm9uZyB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbmNvZGUsXHJcbmtiZCxcclxuc2FtcCB7XHJcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi8gLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBmb250LWZhbWlseS1uby1kdXBsaWNhdGUtbmFtZXMgKi9cclxuICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5zbWFsbCB7XHJcbiAgICBmb250LXNpemU6IDgwJTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxyXG4gKiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuc3ViLFxyXG5zdXAge1xyXG4gICAgZm9udC1zaXplOiA3NSU7XHJcbiAgICBsaW5lLWhlaWdodDogMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuc3ViIHtcclxuICAgIGJvdHRvbTogLS4yNWVtO1xyXG59XHJcblxyXG5zdXAge1xyXG4gICAgdG9wOiAtLjVlbTtcclxufVxyXG5cclxuLyogRW1iZWRkZWQgY29udGVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXHJcbiAqL1xyXG5cclxuaW1nIHtcclxuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuLyogRm9ybXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cclxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQsXHJcbm9wdGdyb3VwLFxyXG5zZWxlY3QsXHJcbnRleHRhcmVhIHtcclxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXHJcbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cclxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXHJcbiAgICBtYXJnaW46IDA7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQgeyAvKiAxICovXHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxyXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5zZWxlY3QgeyAvKiAxICovXHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5bIHR5cGU9J2J1dHRvbicgXSxcclxuWyB0eXBlPSdyZXNldCcgXSxcclxuWyB0eXBlPSdzdWJtaXQnIF0ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuWyB0eXBlPSdidXR0b24nIF06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblsgdHlwZT0ncmVzZXQnIF06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblsgdHlwZT0nc3VibWl0JyBdOjotbW96LWZvY3VzLWlubmVyIHtcclxuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXHJcbiAqL1xyXG5cclxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxyXG5bIHR5cGU9J2J1dHRvbicgXTotbW96LWZvY3VzcmluZyxcclxuWyB0eXBlPSdyZXNldCcgXTotbW96LWZvY3VzcmluZyxcclxuWyB0eXBlPSdzdWJtaXQnIF06LW1vei1mb2N1c3Jpbmcge1xyXG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmZpZWxkc2V0IHtcclxuICAgIHBhZGRpbmc6IC4zNWVtIC43NWVtIC42MjVlbTtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXHJcbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cclxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxyXG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5sZWdlbmQge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xyXG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cclxuICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cclxuICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cclxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXHJcbiAqL1xyXG5cclxucHJvZ3Jlc3Mge1xyXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXHJcbiAqL1xyXG5cclxudGV4dGFyZWEge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cclxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxyXG4gKi9cclxuXHJcblsgdHlwZT0nY2hlY2tib3gnIF0sXHJcblsgdHlwZT0ncmFkaW8nIF0ge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xyXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxyXG4gKi9cclxuXHJcblsgdHlwZT0nbnVtYmVyJyBdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxyXG5bIHR5cGU9J251bWJlcicgXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cclxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXHJcbiAqL1xyXG5cclxuWyB0eXBlPSdzZWFyY2gnIF0ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cclxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXHJcbiAqL1xyXG5cclxuWyB0eXBlPSdzZWFyY2gnIF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxyXG4gKi9cclxuXHJcbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cclxuICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cclxufVxyXG5cclxuLyogSW50ZXJhY3RpdmVcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmRldGFpbHMge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuc3VtbWFyeSB7XHJcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XHJcbn1cclxuXHJcbi8qIE1pc2NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXHJcbiAqL1xyXG5cclxudGVtcGxhdGUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxyXG4gKi9cclxuXHJcblsgaGlkZGVuIF0ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG4iLCIvLy8gR0VORVJJQyAvIFJFU0VUXHJcblxyXG5cclxuLy8gQSB2ZXJ5IHNpbXBsZSByZXNldCB0aGF0IHNpdHMgb24gdG9wIG9mIE5vcm1hbGl6ZS5jc3MuXHJcblxyXG5ib2R5LFxyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxyXG5ibG9ja3F1b3RlLCBwLCBwcmUsXHJcbmRsLCBkZCwgb2wsIHVsLFxyXG5maWd1cmUsXHJcbmhyLFxyXG5maWVsZHNldCwgbGVnZW5kIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcblxyXG4vLyBIZWxwIHByZXZlbnQgb3ZlcmZsb3cgb2YgbG9uZyB3b3Jkcy9uYW1lcy9VUkxzXHJcblxyXG5wLCBsaSxcclxuaDEsIGgyLCBoMywgaDQsIGg1IHtcclxuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgICBoeXBoZW5zOiBub25lO1xyXG59XHJcblxyXG5cclxuLy8gUmVtb3ZlIHRyYWlsaW5nIG1hcmdpbnMgZnJvbSBuZXN0ZWQgbGlzdHMuXHJcblxyXG5saSA+IHtcclxuICAgIG9sLFxyXG4gICAgdWwge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyBSZW1vdmUgZGVmYXVsdCB0YWJsZSBzcGFjaW5nLlxyXG5cclxudGFibGUge1xyXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xyXG59XHJcblxyXG5cclxuLy8gUmVzZXQgQ2hyb21lIGFuZCBGaXJlZm94IGJlaGF2aW91ciB3aGljaCBzZXRzIGEgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMuXHJcblxyXG5maWVsZHNldCB7XHJcbiAgICBtaW4td2lkdGg6IDA7XHJcbiAgICBib3JkZXI6IDA7XHJcbn1cclxuXHJcblxyXG4vLyAxLiBJbmhlcml0IGdlbmVyaWMgYGxpbmUtaGVpZ2h0YCBvbiBzb21lIGZvcm0gZWxlbWVudHMuXHJcbi8vIDIuIEluaGVyaXQgY29sb3Igb24gYnV0dG9uIGVsZW1lbnRzLCBTYWZhcmkgYG1vdXNlZG93bmAgY29sb3IgaXNzdWUgZml4LlxyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCxcclxub3B0Z3JvdXAsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8vIFsxXVxyXG59XHJcblxyXG5idXR0b24ge1xyXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIFsyXVxyXG59XHJcblxyXG5cclxuLy8gUmVtb3ZlIGFsbCBhbmltYXRpb25zIGFuZCB0cmFuc2l0aW9ucyBmb3IgcGVvcGxlIHRoYXQgcHJlZmVyIG5vdCB0byBzZWUgdGhlbVxyXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xyXG4gICAgaHRtbDpmb2N1cy13aXRoaW4ge1xyXG4gICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0bztcclxuICAgIH1cclxuICAgICosXHJcbiAgICAqOjpiZWZvcmUsXHJcbiAgICAqOjphZnRlciB7XHJcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XHJcbiAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcclxuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XHJcbiAgICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuIiwiQGltcG9ydCAnZm9ybXMnO1xyXG5AaW1wb3J0ICdocic7XHJcbkBpbXBvcnQgJ2xpbmtzJztcclxuQGltcG9ydCAnbWVkaWEnO1xyXG5AaW1wb3J0ICdwYWdlJztcclxuQGltcG9ydCAndGFibGUnO1xyXG5AaW1wb3J0ICd0eXBvZ3JhcGh5JztcclxuIiwiYnV0dG9uLFxyXG5pbnB1dFsgdHlwZT0nc3VibWl0JyBdIHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgfVxyXG59XHJcbiIsImhyIHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcclxufVxyXG4iLCJhIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRyYW5zaXRpb246IC40cyBjb2xvcjtcclxuXHJcbiAgICAmOm5vdChbY2xhc3NdKSB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xyXG4gICAgfVxyXG59XHJcbiIsImltZyB7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG5zdmcge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG4iLCJodG1sIHtcclxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1leHRyYS1iYXNlKTtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1iYXNlLWZvbnQtZmFtaWx5KTtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1iYXNlLWZvbnQtd2VpZ2h0KTtcclxuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1iYXNlLWxpbmUtaGVpZ2h0KTtcclxuXHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XHJcblxyXG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoIDAsIDAsIDAsIDAgKTtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuXHJcbiAgICBmb250LXNpemU6IDQyJTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiA1MC41JTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiA2Mi41JTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIElFMTArIGRvZXNuJ3QgaG9ub3IgYDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiPmAgaW4gc29tZSBjYXNlcy5cclxuQGF0LXJvb3Qge1xyXG4gICAgQC1tcy12aWV3cG9ydCB7XHJcbiAgICAgICAgd2lkdGg6IGRldmljZS13aWR0aDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbmJvZHkge1xyXG4gICAgZm9udC1zaXplOiB2YXIoLS1iYXNlLWZvbnQtc2l6ZSk7XHJcbn1cclxuXHJcbi5wcml2YWN5LXBvbGljeSB7XHJcbiAgICBjb2xvcjogIzQxNTAzZDtcclxufVxyXG4uaGVudHJ5IHtcclxuICAgIGNvbG9yOiAjNDE1MDNkO1xyXG59IiwidGFibGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuIiwiaDEsXHJcbmgyLFxyXG5oMyxcclxuaDQsXHJcbmg1IHtcclxuICBmb250LWZhbWlseTogdmFyKC0taGVhZGluZ3MtZm9udC1mYW1pbHkpO1xyXG4gIGZvbnQtZmFtaWx5OiBcIkhlZWJvXCIsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWhlYWRpbmdzLWZvbnQtd2VpZ2h0KTtcclxuICBsaW5lLWhlaWdodDogY2FsYyhcclxuICAgIDJweCArIDJleCArIDJweFxyXG4gICk7IC8vIEBsaW5rIGh0dHBzOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDIwLzA1LzE4L3VzaW5nLWNhbGMtdG8tZmlndXJlLW91dC1vcHRpbWFsLWxpbmUtaGVpZ2h0L1xyXG4gIG1hcmdpbi1ib3R0b206IDAuNjVlbTsgLy8gU2V0IHdpdGggYGVtYCB0byBiZSByZWxhdGl2ZSB0byBjdXJyZW50IGBmb250LXNpemVgXHJcbn1cclxuXHJcbmgxIHtcclxuICBmb250LXNpemU6IDdyZW07XHJcbn1cclxuXHJcbmgyIHtcclxuICBmb250LXNpemU6IDUuNHJlbTtcclxufVxyXG5cclxuaDMge1xyXG4gIGZvbnQtc2l6ZTogMy4ycmVtO1xyXG59XHJcblxyXG5oNCB7XHJcbiAgZm9udC1zaXplOiAyLjVyZW07XHJcbn1cclxuXHJcbmg1IHtcclxuICBmb250LXNpemU6IDIuMnJlbTtcclxufVxyXG4iLCJAaW1wb3J0ICdncmlkJztcclxuQGltcG9ydCAnaWNvbic7XHJcbkBpbXBvcnQgJ2xpc3RzJztcclxuQGltcG9ydCAncGFnZSc7XHJcbiIsIi8vIFdyYXBwZXJcclxuXHJcbi5vLXdyYXAsXHJcbi5vLXdyYXAtZmx1aWQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLWd1dHRlciAvIDI7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWd1dHRlciAvIDI7XHJcbn1cclxuXHJcbi5vLXdyYXAge1xyXG4gICAgbWF4LXdpZHRoOiB2YXIoLS1wYWdlLXdpZHRoKTtcclxufVxyXG5cclxuLm8td3JhcC0tbWQge1xyXG4gICAgbWF4LXdpZHRoOiB2YXIoLS1wYWdlLXdpZHRoLW1kKTtcclxufVxyXG5cclxuLm8td3JhcC0teGwge1xyXG4gICAgbWF4LXdpZHRoOiB2YXIoLS1wYWdlLXdpZHRoLXhsKTtcclxufVxyXG5cclxuLm8td3JhcC1mbHVpZC0td2l0aC1tYXJnaW4ge1xyXG4gICAgbWFyZ2luLXRvcDogMjVyZW07XHJcbn1cclxuXHJcblxyXG4vLyBObyBndXR0ZXJzXHJcbi5vLXJvdy0tbm8tZ3V0dGVycyxcclxuLm8tc3RhY2stLW5vLWd1dHRlcnMge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbn1cclxuXHJcbi5vLXJvdy0tbm8tZ3V0dGVycyA+IFsgY2xhc3NePSdvLWNvbCcgXSxcclxuLm8tc3RhY2stLW5vLWd1dHRlcnMgPiAqIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbn1cclxuIiwiLm8taWNvbiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgaGVpZ2h0OiAxZW07XHJcbiAgICB3aWR0aDogMWVtO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuIiwiLm8tbGlzdCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbn1cclxuXHJcbi5vLWxpc3QtaW5saW5lIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxufVxyXG5cclxuLm8tbGlzdC1pbmxpbmVfX2l0ZW0ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcbiIsIi8vIC5zaW5nbGUtcG9zdCAsXHJcbi8vIC5wYWdlLXRlbXBsYXRlLXBhZ2UtYmFzaWMge1xyXG4vLyAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgcmdiYSg5MiwgMTc3LCAyMjcsIDAuMTkpIDEwMCUpO1xyXG4vLyB9XHJcblxyXG4vLyAuc2luZ2xlLXBvc3QgeyAvLyBUb2RvOiByZXNwb25zaXZlIGlzc3VlXHJcbi8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2JnLTMucG5nKTtcclxuLy8gICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxuLy8gICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuLy8gfVxyXG5cclxuLy8gLmMtd29vY29tbWVyY2Utd3JhcCB7XHJcbi8vICAgICBtYXJnaW4tdG9wOiAyNXJlbTtcclxuLy8gICAgIEBleHRlbmQgLm8td3JhcDtcclxuLy8gfVxyXG5cclxuLy8gLmVycm9yNDA0IHtcclxuLy8gICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMCUsIHJnYmEoOTIsIDE3NywgMjI3LCAwLjE5KSAxMDAlKTtcclxuLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvYmctMy5wbmcpO1xyXG4vLyAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4vLyAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuLy8gfVxyXG5cclxuLmVycm9yNDA0IHtcclxuICAuYy1tZW51X19saW5rIHtcclxuICAgIGNvbG9yOiAjNDE1MDNkICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiIsIi5jLWhlYWRlciB7XHJcbiAgcGFkZGluZzogc3BhY2luZygxKTtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgei1pbmRleDogei1pbmRleChmaXhlZCk7XHJcblxyXG4gIC5hZG1pbi1iYXIgJiB7XHJcbiAgICB0b3A6IDQ2cHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAxcHgpIHtcclxuICAgICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc4MnB4KSB7XHJcbiAgICAgIHRvcDogMzJweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuaXMtZml4ZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I1YzI4ODtcclxuICB9XHJcblxyXG4gICYtYmFyIHtcclxuICAgIG1hcmdpbi10b3A6IC0xLjZyZW07XHJcbiAgICBtYXJnaW4tbGVmdDogLTEuNnJlbTtcclxuICAgIG1hcmdpbi1yaWdodDogLTEuNnJlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcclxuICAgIHBhZGRpbmc6IDAuOHJlbTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xyXG5cclxuICAgICY6bm90KC5pcy1hY3RpdmUpIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmLS1saWdodCB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1hbGljZS1ibHVlKTtcclxuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGFyay1uYXZ5KTtcclxuXHJcbiAgICAgIC5jLWhlYWRlci1iYXJfX2Nsb3NlIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrLW5hdnkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi0tZGFyayB7XHJcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1leHRyYS13aGl0ZSk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xyXG5cclxuICAgICAgLmMtaGVhZGVyLWJhcl9fY2xvc2Uge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1leHRyYS13aGl0ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdHJvbmcsXHJcbiAgICBiIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICAgIH1cclxuXHJcbiAgICAmX19jbG9zZSB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiBzcGFjaW5nKDEpO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fYm9keSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAmX19sb2dvIHtcclxuICAgIC8vZmxleDogMCAxIDI3LjJyZW07XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAvLyBtYXgtd2lkdGg6IDEwcmVtO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGltZzpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNWRlZykgc2NhbGUoMS4yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxcyBlYXNlO1xyXG5cclxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA3LjZyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA1LjZyZW07XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX21lbnUge1xyXG4gICAgZmxleDogMCAwIGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IHNwYWNpbmcoNCk7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19zZWFyY2gge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBzcGFjaW5nKDIpO1xyXG4gIH1cclxuXHJcbiAgJl9fd29vY29tbWVyY2Uge1xyXG4gICAgZmxleDogMCAwIGF1dG87XHJcblxyXG4gICAgLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XHJcbiAgICAvLyAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIC8vIH1cclxuXHJcbiAgICAuYy1tZW51LWxpbmsgKyAuYy1tZW51LWxpbmsge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMS42cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fdG9nZ2xlIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBzcGFjaW5nKDEpO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIC5hZG1pbi1iYXIgJiB7XHJcbiAgLy8gICAgIHRvcDogNDZweDtcclxuXHJcbiAgLy8gICAgICYuaXMtc3RpY2t5IHtcclxuICAvLyAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAvLyAgICAgICAgIHRvcDogNDZweDtcclxuICAvLyAgICAgICAgIGxlZnQ6IDA7XHJcbiAgLy8gICAgICAgICB3aWR0aDogMTAwJTtcclxuICAvLyAgICAgICAgIHotaW5kZXg6IDk5OTk5O1xyXG4gIC8vICAgICB9XHJcblxyXG4gIC8vICAgICBAbWVkaWEgKCBtaW4td2lkdGg6IDYwMHB4ICkge1xyXG4gIC8vICAgICAgICAgJi5pcy1zdGlja3kge1xyXG4gIC8vICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgfVxyXG5cclxuICAvLyAgICAgQG1lZGlhICggbWluLXdpZHRoOiA3ODJweCApIHtcclxuICAvLyAgICAgICAgIHRvcDogMzJweDtcclxuXHJcbiAgLy8gICAgICAgICAmLmlzLXN0aWNreSB7XHJcbiAgLy8gICAgICAgICAgICAgdG9wOiAzMnB4O1xyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICB9XHJcbiAgLy8gfVxyXG59XHJcblxyXG4vLyBPdmVycmlkZXNcclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAzODBweCkge1xyXG4gIC5jLWhlYWRlcl9fbG9nbyBpbWc6Zmlyc3QtY2hpbGQge1xyXG4gICAgd2lkdGg6IDcuNnJlbTtcclxuICB9XHJcblxyXG4gIC5jLWhlYWRlcl9fbG9nbyBpbWc6bGFzdC1jaGlsZCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmMtaGVhZGVyIC5vLXdyYXAge1xyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuICB9XHJcbn1cclxuIiwiLmhleGFnb24ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogNjBweDsgXHJcbiAgaGVpZ2h0OiAzNC42NHB4O1xyXG4gIG1hcmdpbjogMTcuMzJweCAwO1xyXG4gIGJvcmRlci1sZWZ0OiBzb2xpZCAycHggIzQxNTAzZDtcclxuICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweCAjNDE1MDNkO1xyXG59XHJcblxyXG4uaGV4YWdvbjpiZWZvcmUsXHJcbi5oZXhhZ29uOmFmdGVyIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAxO1xyXG4gIHdpZHRoOiA0Mi40M3B4O1xyXG4gIGhlaWdodDogNDIuNDNweDtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDAuNTc3NCkgcm90YXRlKC00NWRlZyk7XHJcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGVZKDAuNTc3NCkgcm90YXRlKC00NWRlZyk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZVkoMC41Nzc0KSByb3RhdGUoLTQ1ZGVnKTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xyXG4gIGxlZnQ6IDYuNzg2OHB4O1xyXG59XHJcblxyXG4uaGV4YWdvbjpiZWZvcmUge1xyXG4gIHRvcDogLTIxLjIxMzJweDtcclxuICBib3JkZXItdG9wOiBzb2xpZCAyLjgyODRweCAjNDE1MDNkO1xyXG4gIGJvcmRlci1yaWdodDogc29saWQgMi44Mjg0cHggIzQxNTAzZDtcclxufVxyXG5cclxuLmhleGFnb246YWZ0ZXIge1xyXG4gIGJvdHRvbTogLTIxLjIxMzJweDtcclxuICBib3JkZXItYm90dG9tOiBzb2xpZCAyLjgyODRweCAjNDE1MDNkO1xyXG4gIGJvcmRlci1sZWZ0OiBzb2xpZCAyLjgyODRweCAjNDE1MDNkO1xyXG59XHJcblxyXG4uYy1oZXJvIHtcclxuICAkdGhpczogJjtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIC5vLXdyYXAtb3V0ZXIge1xyXG4gICAgbWF4LXdpZHRoOiAxOTIwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICB9XHJcblxyXG4gIC5vLXdyYXAge1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcblxyXG4gICYgKyBzZWN0aW9uIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgbWFyZ2luLXRvcDogc3BhY2luZyg0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtLXNpemUtcyB7XHJcbiAgICAuYy1oZXJvX19ib2R5IHtcclxuICAgICAgbWluLWhlaWdodDogNjVyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtLXNpemUtbSB7XHJcbiAgfVxyXG5cclxuICAmLS1zaXplLWwge1xyXG4gIH1cclxuXHJcbiAgJl9fYmcge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAvL2JhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNGRkZGRkYgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSksIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKSwgbGluZWFyLWdyYWRpZW50KDBkZWcsICM1Q0IxRTMsICM1Q0IxRTMpLCBsaW5lYXItZ3JhZGllbnQoMGRlZywgIzVDQjFFMywgIzVDQjFFMyk7XHJcbiAgICAgIG9wYWNpdHk6IDAuMjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAyMHJlbTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM3ODQwMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2JvZHkge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICBtaW4taGVpZ2h0OiA3OHJlbTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2NvbnRlbnQge1xyXG4gICAgcGFkZGluZzogc3BhY2luZygxMCkgc3BhY2luZygxKSBzcGFjaW5nKDgpIHNwYWNpbmcoMSk7XHJcbiAgICB6LWluZGV4OiAyMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgIGZsZXg6IDAgMSA1OCU7XHJcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgICAgcGFkZGluZy1sZWZ0OiBzcGFjaW5nKDYpO1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fdGl0bGUge1xyXG4gICAgbWF4LXdpZHRoOiA5MCU7XHJcbiAgICBtYXJnaW46IDAgYXV0byAzcmVtIGF1dG87XHJcblxyXG4gICAgYixcclxuICAgIHNwYW4ge1xyXG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgICAgbWF4LXdpZHRoOiAyMGNoO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgbWFyZ2luOiAwIDAgM3JlbSAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fZGVzY3JpcHRpb24ge1xyXG4gICAgZm9udC1zaXplOiAyLjZyZW07XHJcbiAgICBtYXgtd2lkdGg6IDQyY2g7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgIG1hcmdpbjogdW5zZXQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19pY29ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1hcmdpbi10b3A6IDZyZW07XHJcbiAgICB6LWluZGV4OiAyMDtcclxuXHJcbiAgICAmLS1kZXNrdG9wIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtLW1vYmlsZSB7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0yNSU7XHJcbiAgICAgIHotaW5kZXg6IDIwO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICN7JHRoaXN9X19pY29uIHtcclxuICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nKDIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XHJcbiAgICAgIHBhZGRpbmc6IHNwYWNpbmcoMik7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2ZiZTU7XHJcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwLjdyZW0gMi40cmVtIHJnYig2NSwgODAsIDYxKTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNi40cmVtIDA7XHJcbiAgICAgIG1heC13aWR0aDogNjByZW07XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cclxuICAgICAgI3skdGhpc31fX2ljb24ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IHNwYWNpbmcoMik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjeyR0aGlzfV9faWNvbi1maWd1cmUge1xyXG4gICAgICAvLyBib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tY29sb3Itc2Vjb25kYXJ5LWJsdWUtamVhbnMpO1xyXG4gICAgICAvLyBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAvLyBoZWlnaHQ6IDQuOHJlbTtcclxuICAgICAgLy8gd2lkdGg6IDQuOHJlbTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICBpbWcge1xyXG4gICAgICAgIG1heC13aWR0aDogM3JlbTtcclxuICAgICAgICB0cmFuc2l0aW9uOiAwLjRzIHRyYW5zZm9ybTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICN7JHRoaXN9X19pY29uLWRlc2Mge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMnJlbTtcclxuICAgICAgZm9udC1zaXplOiAxLjhyZW07XHJcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmstbmF2eSk7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fY3RhIHtcclxuICAgIG1hcmdpbi10b3A6IDVyZW07XHJcbiAgfVxyXG5cclxuICAmX19pbWFnZSB7XHJcbiAgICB6LWluZGV4OiAxNTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiA2cmVtO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IC0ycHg7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9fZGlzdC9pbWFnZXMvYmFja2dyb3VuZC1ub2lzZS5wbmcpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmMWJiO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IC02cmVtO1xyXG4gICAgICBtYXgtd2lkdGg6IDEwODRweDtcclxuXHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcblxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fb3ZlcmxheSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxyXG4gICAgICAxODBkZWcsXHJcbiAgICAgICNiM2MzODggMTUlLFxyXG4gICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDUwJVxyXG4gICAgKTtcclxuICAgIHotaW5kZXg6IDIwO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xyXG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19zaGFwZSB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgIGNsaXAtcGF0aDogdXJsKCNzaGFwZSk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcclxuICAgICAgLy8gaW1nIHtcclxuICAgICAgLy8gICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAyMHJlbTtcclxuICAgICAgLy8gfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fbGF5ZXJlZCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IC02cmVtO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG5cclxuICAgICYtZnJvbnQge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwJSk7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fb3ZhbCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6IC01MCU7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19zY3JvbGwge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAycmVtO1xyXG4gICAgbGVmdDogOHJlbTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgd2lkdGg6IDEzcmVtO1xyXG4gICAgaGVpZ2h0OiAxM3JlbTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICB6LWluZGV4OiAyMDA7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLS1sYXllcmVkIHtcclxuICAgIC5jLWhlcm9fX2xheWVyZWQge1xyXG4gICAgICB3aWR0aDogODAlO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jLXNjcm9sbCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgYm9yZGVyOiB0aGluIGRhc2hlZCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmx1ZS1qZWFucyk7XHJcbiAgd2lkdGg6IDEwcmVtO1xyXG4gIGhlaWdodDogMTByZW07XHJcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHRyYW5zaXRpb246IDAuNXMgYm9yZGVyLWNvbG9yO1xyXG5cclxuICAmOjpiZWZvcmUsXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xyXG4gIH1cclxuXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiB0aGluIGRhc2hlZCB2YXIoLS1jb2xvci1zZWNvbmRhcnktYmx1ZS1qZWFucyk7XHJcbiAgICB3aWR0aDogOHJlbTtcclxuICAgIGhlaWdodDogOHJlbTtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gICAgdHJhbnNpdGlvbjogMXMgYm9yZGVyLWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZXh0cmEtd2hpdGUpO1xyXG4gICAgd2lkdGg6IDZyZW07XHJcbiAgICBoZWlnaHQ6IDZyZW07XHJcbiAgICB6LWluZGV4OiAwO1xyXG4gICAgdHJhbnNpdGlvbjogMnMgYm9yZGVyLWNvbG9yO1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdmcge1xyXG4gICAgaGVpZ2h0OiAzcmVtO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBzdHJva2U6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xyXG4gICAgei1pbmRleDogNTtcclxuICAgIHRyYW5zaXRpb246IDFzIHRyYW5zZm9ybTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2Nyb2xsIHtcclxuICAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgfVxyXG4gIDMwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwcHgpO1xyXG4gIH1cclxufVxyXG5cclxuc3ZnICN3aGVlbCB7XHJcbiAgYW5pbWF0aW9uOiBzY3JvbGwgZWFzZSAxLjVzIGluZmluaXRlO1xyXG59XHJcblxyXG4vLyBNT0RJRklDQVRJT05TIEZPUiBIT01FUEFHRVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XHJcbiAgLmhvbWUgLmMtaGVyb19fbGF5ZXJlZC1mcm9udCBpbWcge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xNyUgIWltcG9ydGFudDtcclxuICAgIHotaW5kZXg6IDEwICFpbXBvcnRhbnQ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcclxuICAgIC8vbWFyZ2luLXRvcDogNHJlbSFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgLmhvbWUgLmMtaGVyb19fY29udGVudCB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZygxKTtcclxuICB9XHJcbn1cclxuIiwiLmMtbWVudS13cmFwIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jLW1lbnUge1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLy8gSG9yaXpvbnRhbCBtZW51IChkZWZhdWx0LCBkZXNrdG9wKVxyXG5cclxuLmMtbWVudS0taG9yaXpvbnRhbCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG1hcmdpbi1sZWZ0OiAtJHNwYWNlci1oYWxmO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgLmMtbWVudV9faXRlbSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IHNwYWNpbmcoMSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCggbWQgKSB7XHJcbiAgICAvLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgLy8gfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAuYy1zdWJtZW51IHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBvdmVyZmxvdzogdW5zZXQ7XHJcbiAgICAgICAgcGFkZGluZzogc3BhY2luZygxKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmMtbWVudV9fbGluayB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6ICRzcGFjZXItaGFsZjtcclxuICAgIHRyYW5zaXRpb246IDAuNHMgY29sb3IgZWFzZTtcclxuICB9XHJcblxyXG4gIC5jLXN1Ym1lbnUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzlmYWY3NjtcclxuICAgIGJveC1zaGFkb3c6IDBweCAwLjdyZW0gMi40cmVtICM0MTUwM2Q7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwIDMuMnJlbTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0yLjJyZW07XHJcbiAgICB0cmFuc2l0aW9uOiAwLjRzIG9wYWNpdHk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAvLyBtYXgtd2lkdGg6IDI1cmVtO1xyXG4gICAgLy8gd2lkdGg6IDM1cmVtO1xyXG4gICAgd2lkdGg6IDEyMCU7XHJcblxyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMDAlO1xyXG4gICAgbGVmdDogMDtcclxuXHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xyXG4gICAgICBtYXJnaW4tbGVmdDogLTUwJTtcclxuICAgIH1cclxuXHJcbiAgICAuYy1zdWJtZW51X19pdGVtIHtcclxuICAgICAgZmxleDogMCAwIDI1JTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMy4ycmVtO1xyXG4gICAgICBwYWRkaW5nOiAkc3BhY2VyLWhhbGY7XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC40cztcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jLXN1Ym1lbnVfX2xpbmsge1xyXG4gICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvciggZXh0cmEsIGdyYXktMCApO1xyXG4gICAgICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3IoIGV4dHJhLCBncmF5LTIgKTtcclxuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWV4dHJhLWJhc2UpO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcGFkZGluZzogJHNwYWNlci1oYWxmICRzcGFjZXItYmFzZTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBmb250LXNpemU6IDAuODVlbTtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaW1nIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwcmVtO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjZXItaGFsZiBhdXRvO1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGhlaWdodDogMTByZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIFZlcnRpY2FsIG1lbnUgKGVnLiBtb2JpbGUpXHJcblxyXG4uYy1tZW51LS12ZXJ0aWNhbCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogY29sb3IoIGV4dHJhLCB3aGl0ZSApO1xyXG5cclxuICAuYy1tZW51X19pdGVtIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICAmLmlzLWV4cGFuZGVkIHtcclxuICAgICAgLmMtc3VibWVudSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgb3ZlcmZsb3c6IHVuc2V0O1xyXG4gICAgICAgIHBhZGRpbmc6IHNwYWNpbmcoMik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jLW1lbnVfX2xpbmsge1xyXG4gICAgLy8gY29sb3I6IGNvbG9yKCBleHRyYSwgYmFzZSApO1xyXG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogY29sb3IoIGV4dHJhLCBncmF5LTEgKTtcclxuXHJcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6ICRzcGFjZXItaGFsZiAkc3BhY2VyLWJhc2U7XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmMtc3VibWVudSB7XHJcbiAgICAvLyBAZXh0ZW5kIC51LXRleHQtc21hbGw7IFRvZG86IGZvbnQtc2l6ZSBzbWFsbFxyXG5cclxuICAgIGhlaWdodDogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiAwLjRzIG9wYWNpdHksIDAuNHMgaGVpZ2h0O1xyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzYzODQ1NjtcclxuICAgIGJveC1zaGFkb3c6IDAgMC43cmVtIDUuNHJlbSByZ2IoNjUsIDgwLCA2MSk7XHJcblxyXG4gICAgLmMtc3VibWVudV9faXRlbSB7XHJcbiAgICAgIGZsZXg6IDAgMCA0NSU7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgcGFkZGluZzogJHNwYWNlci1iYXNlO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyLWhhbGY7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5jLXN1Ym1lbnVfX2xpbmsge1xyXG4gICAgICAvLyBjb2xvcjogY29sb3IoIGV4dHJhLCBiYXNlICk7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwYWRkaW5nOiAkc3BhY2VyLWhhbGYgJHNwYWNlci1iYXNlO1xyXG4gICAgICBmb250LXNpemU6IDIuNHJlbTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItZXh0cmEtYmFzZSk7XHJcblxyXG4gICAgICBpbWcge1xyXG4gICAgICAgIG1heC13aWR0aDogMjByZW07XHJcbiAgICAgICAgbWF4LWhlaWdodDogMjByZW07XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gSGVhZGVyIG1lbnVcclxuXHJcbi5jLW1lbnUtLWhlYWRlciB7XHJcbiAgZm9udC1zaXplOiAycmVtO1xyXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1oZWFkaW5ncy1mb250LWZhbWlseSk7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgLmMtbWVudV9fbGluayB7XHJcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1leHRyYS1iYXNlKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jLW1lbnUtLW1vYmlsZSB7XHJcbiAgZm9udC1zaXplOiA0cmVtO1xyXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1oZWFkaW5ncy1mb250LWZhbWlseSk7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgLmMtbWVudV9fbGluayB7XHJcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXh0cmEtYmFzZSk7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jLW1lbnUtLWZvb3RlciB7XHJcbiAgLmMtbWVudV9fbGluayB7XHJcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZXh0cmEtd2hpdGUpO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogI2I1YzI4ODtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEhlbHBlciBjbGFzc2VzXHJcblxyXG4uaGFzLXN1Ym1lbnUge1xyXG4gIC5jLW1lbnUtLWhvcml6b250YWwgJiB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xyXG4gIH1cclxuXHJcbiAgLmMtbWVudV9fbGluayB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vX2Rpc3QvaW1hZ2VzL2Fycm93LWRvd25Bc3NldC5wbmcpO1xyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcblxyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHJpZ2h0OiAtMS4ycmVtO1xyXG4gICAgICB0b3A6IDEuNnJlbTtcclxuICAgICAgd2lkdGg6IDEuNnJlbTtcclxuICAgICAgaGVpZ2h0OiAxLjZyZW07XHJcblxyXG4gICAgICAvLyBib3JkZXI6IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xyXG4gICAgICAvLyBib3JkZXItd2lkdGg6IDAgLjhyZW0gLjhyZW0gMDtcclxuICAgICAgcGFkZGluZzogMC4xcmVtO1xyXG5cclxuICAgICAgLy90cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzO1xyXG4gICAgfVxyXG5cclxuICAgIC5jLW1lbnUtLWhvcml6b250YWwgJiB7XHJcbiAgICAgICY6aG92ZXI6OmFmdGVyIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jLW1lbnUtLXZlcnRpY2FsICYge1xyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgcmlnaHQ6IHNwYWNpbmcoMSk7XHJcbiAgICAgICAgd2lkdGg6IDJyZW07XHJcbiAgICAgICAgaGVpZ2h0OiAycmVtO1xyXG4gICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogc3BhY2luZygxKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5pcy1leHBhbmRlZCB7XHJcbiAgICAuYy1tZW51X19saW5rOjphZnRlciB7XHJcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIC5jLW1lbnUtLXZlcnRpY2FsICYge1xyXG4gICAgICAuYy1tZW51X19saW5rOjphZnRlciB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtMTgwZGVnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gV29vY29tbWVyY2VcclxuXHJcbi5jLW1lbnUtbGluayB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XHJcbiAgY29sb3I6IHZhcigtLWNvbG9yLWV4dHJhLXdoaXRlKTtcclxuICB3aWR0aDogNC44cmVtO1xyXG4gIGhlaWdodDogNC44cmVtO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdHJhbnNpdGlvbjogMC40cyBiYWNrZ3JvdW5kLWNvbG9yO1xyXG5cclxuICAuby1pY29uIHtcclxuICAgIHdpZHRoOiAycmVtO1xyXG4gICAgaGVpZ2h0OiAycmVtO1xyXG4gIH1cclxuXHJcbiAgJl9fbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1leHRyYS13aGl0ZSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDEuNnJlbTtcclxuICAgIGhlaWdodDogMS42cmVtO1xyXG4gICAgdG9wOiAwLjVyZW07XHJcbiAgICByaWdodDogMC41cmVtO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICB9XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrLW5hdnkpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xyXG4gICAgd2lkdGg6IDYuNHJlbTtcclxuICAgIGhlaWdodDogNi40cmVtO1xyXG5cclxuICAgIC5vLWljb24ge1xyXG4gICAgICB3aWR0aDogMi41cmVtO1xyXG4gICAgICBoZWlnaHQ6IDIuNXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAmX19sYWJlbCB7XHJcbiAgICAgIHdpZHRoOiAycmVtO1xyXG4gICAgICBoZWlnaHQ6IDJyZW07XHJcbiAgICAgIHRvcDogMXJlbTtcclxuICAgICAgcmlnaHQ6IDFyZW07XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuYy1vZmZjYW52YXMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM0YTU4NDQ4YztcclxuICBoZWlnaHQ6IDEwMHZoO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgei1pbmRleDogei1pbmRleChvZmZjYW52YXMpO1xyXG5cclxuICBvcGFjaXR5OiAwO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMsIHZpc2liaWxpdHkgMC4ycywgdHJhbnNmb3JtIDAuM3M7XHJcblxyXG4gICZfX2Nsb3NlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcGFkZGluZzogc3BhY2luZygxKTtcclxuICAgIGNvbG9yOiBjb2xvcihleHRyYSwgZ3JheSk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjRzO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogY29sb3IocHJpbWFyeSk7XHJcbiAgICB9XHJcblxyXG4gICAgLm8taWNvbiB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19pbm5lciB7XHJcbiAgICBmbGV4OiAwIDAgMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgfVxyXG5cclxuICAmLmlzLWFjdGl2ZSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgfVxyXG5cclxuICAvLyBWYXJpYXRpb25zXHJcblxyXG4gICYtLWV4aXQge1xyXG4gICAgLmMtb2ZmY2FudmFzX19pbm5lciB7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBwYWRkaW5nOiBzcGFjaW5nKDEpO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtLW1vYmlsZS1tZW51IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHJcbiAgICAuYy1vZmZjYW52YXNfX2lubmVyIHtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXHJcbiAgICAgICAgMzM1ZGVnLFxyXG4gICAgICAgIHJnYig2NSwgODAsIDYxKSAwJSxcclxuICAgICAgICByZ2IoMTYyLCAyMzEsIDEzNCkgMTAwJVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIC5jLW9mZmNhbnZhc19fY2xvc2Uge1xyXG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XHJcbiAgICAgIHRvcDogc3BhY2luZygyKTtcclxuICAgICAgcmlnaHQ6IHNwYWNpbmcoMik7XHJcblxyXG4gICAgICAuby1pY29uIHtcclxuICAgICAgICBmb250LXNpemU6IDJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jLW9mZmNhbnZhc19faGVhZGVyIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZygyKTtcclxuICAgICAgcGFkZGluZzogc3BhY2luZygxKTtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiBzcGFjaW5nKDYpO1xyXG5cclxuICAgICAgLmMtb2ZmY2FudmFzX19sb2dvIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDQwcmVtO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLS1nYWxsZXJ5IHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWV4dHJhLXdoaXRlKTtcclxuXHJcbiAgICAuYy1vZmZjYW52YXNfX2lubmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsICM0MTUwM2QgMCUsICNmY2ZiZTUgMTAwJSk7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgcGFkZGluZzogc3BhY2luZygxKTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19zZWFyY2gge1xyXG4gICAgcGFkZGluZzogc3BhY2luZygxKTtcclxuICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmcoMik7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmhhcy1vZmZjYW52YXMge1xyXG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW4tcmlnaHQ6IDI1cHg7XHJcblxyXG4gICN3cGFkbWluYmFyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcbiIsIi5jLWRpYWxvZyB7XHJcbiAgICBtYXgtd2lkdGg6IDk2cmVtO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAmLS1zbWFsbCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1MHJlbTtcclxuICAgIH1cclxuXHJcbiAgICAmLS1jb21wYWN0IHtcclxuXHJcbiAgICAgICAgLmMtZGlhbG9nX19jb250ZW50IHtcclxuICAgICAgICAgICAgcGFkZGluZzogc3BhY2luZygyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgIGJvcmRlci1yYWRpdXM6IDYuNHJlbSAwO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY2xvc2Uge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogc3BhY2luZygxKTtcclxuICAgICAgICB0b3A6IHNwYWNpbmcoMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgJjo6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2ltYWdlIHtcclxuICAgICAgICBmbGV4OiAwIDAgMzVyZW07XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrLW5hdnkpO1xyXG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDYuNHJlbTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xyXG5cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogLSBzcGFjaW5nKDEpO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MHJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBib3R0b206IC0gc3BhY2luZyg0KTtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDhyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiM2MzODg7XHJcbiAgICAgICAgcGFkZGluZzogc3BhY2luZyg0KTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDYuNHJlbTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDEgMSAxMDAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZyg2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZygxKTtcclxuICAgIH1cclxuXHJcbiAgICAmX19ub3RpY2Uge1xyXG5cclxuICAgICAgICAmLS0xIHtcclxuXHJcbiAgICAgICAgICAgIC5pcy1taW5vciAmIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLTIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLmlzLW1pbm9yICYge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY3RhIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nKDIpO1xyXG5cclxuICAgICAgICAuaXMtbWlub3IgJiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX29ybmFtZW50IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tMSB7XHJcbiAgICAgICAgICAgIHRvcDogLTRyZW07XHJcbiAgICAgICAgICAgIGxlZnQ6IC02cmVtO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEycmVtO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjVkZWcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS0yIHtcclxuICAgICAgICAgICAgYm90dG9tOiAtMTJyZW07XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtNXJlbTtcclxuICAgICAgICAgICAgei1pbmRleDogLTE7XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMnJlbTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUtpQ0EscUZBQXFGO0FBVm5GLFVBQVU7RUFDVCxXQUFXLEVBQUUsVUFBa0I7RUFDL0IsV0FBVyxFU0d1QyxHQUFHO0VURnJELFVBQVUsRUExQnlDLE1BQU07RUEyQnpELFlBQVksRUFBRSxJQUFJO0VBQ2xCLEdBQUcsRUFURyw0REFBb0QsQ0FBQyxjQUFzQixFQUEzRSw2REFBb0QsQ0FBQyxlQUFzQjs7O0FBSWxGLFVBQVU7RUFDVCxXQUFXLEVBQUUsVUFBa0I7RUFDL0IsV0FBVyxFU0ltQyxHQUFHO0VUSGpELFVBQVUsRUExQnlDLE1BQU07RUEyQnpELFlBQVksRUFBRSxJQUFJO0VBQ2xCLEdBQUcsRUFURyx3REFBb0QsQ0FBQyxjQUFzQixFQUEzRSx5REFBb0QsQ0FBQyxlQUFzQjs7O0FBSWxGLFVBQVU7RUFDVCxXQUFXLEVBQUUsVUFBa0I7RUFDL0IsV0FBVyxFU0ttQyxHQUFHO0VUSmpELFVBQVUsRUExQnlDLE1BQU07RUEyQnpELFlBQVksRUFBRSxJQUFJO0VBQ2xCLEdBQUcsRUFURyx3REFBb0QsQ0FBQyxjQUFzQixFQUEzRSx5REFBb0QsQ0FBQyxlQUFzQjs7O0FBSWxGLFVBQVU7RUFDVCxXQUFXLEVBQUUsUUFBa0I7RUFDL0IsV0FBVyxFU1NnQyxHQUFHO0VUUjlDLFVBQVUsRUExQnlD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 */
