@charset "UTF-8";
/**
  * DEFAULT STYLESHEET
  *
  * This will be used unless a page specifically calls a different sheet.
  */
/**
  * COMMON STYLES
  *
  * Defines the styles to import that are required by virtually all pages.
  */
/*! normalize.css v8.0.1 | 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;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* 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 */
  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 */
  -webkit-text-decoration: underline dotted;
          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 */
  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: -0.25em;
}

sup {
  top: -0.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: 0.35em 0.75em 0.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;
}

/**
  * SCSS BREAKPOINTS
  *
  * Define breakpoints for media query use and export them for use with JS.
  */
:export {
  breakpointPhoneSmall: 320;
  breakpointPhoneLarge: 480;
  breakpointTablet: 768;
  breakpointLaptop: 992;
  breakpointDesktop: 1200;
  breakpointDesktopLarge: 1400;
  breakpointHd: 1920;
}

/**
  * SCSS VARIABLES
  */
/**
  * Dimensions:
  */
/**
  * Colors:
  */
/**
  * FONT STYLES
  *
  * Define @font-face styles.
  */
@font-face {
  font-family: Montserrat;
  src: url(../fonts/Montserrat-Regular.ttf);
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: Montserrat;
  src: url(../fonts/Montserrat-Bold.ttf);
  font-weight: 700;
  font-style: normal;
}
/**
  * SCSS MIXINS
  *
  * Standardized style chunks, provided as both SCSS mixins and HTML classes.
  */
.bg-gradient-light {
  background-image: linear-gradient(to right, #f4f9f0, #fff3f3, #ebf0f9, #f7f3fa);
}

.bg-gradient-dark {
  background-color: #656565;
  background-image: linear-gradient(to right, rgba(79, 123, 50, 0.1), rgba(243, 0, 0, 0.1), rgba(107, 143, 208, 0.1), rgba(88, 50, 122, 0.1));
}

.wrap {
  width: 100%;
  height: auto;
}

.inner-wrap {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

.mar-top {
  margin-top: 25px;
  transition: margin 300ms;
}
@media (min-width: 480px) {
  .mar-top {
    margin-top: 25px;
  }
}
@media (min-width: 768px) {
  .mar-top {
    margin-top: 30px;
  }
}
@media (min-width: 992px) {
  .mar-top {
    margin-top: 35px;
  }
}
@media (min-width: 1200px) {
  .mar-top {
    margin-top: 40px;
  }
}

.mar-bottom {
  margin-bottom: 25px;
  transition: margin 300ms;
}
@media (min-width: 480px) {
  .mar-bottom {
    margin-bottom: 25px;
  }
}
@media (min-width: 768px) {
  .mar-bottom {
    margin-bottom: 30px;
  }
}
@media (min-width: 992px) {
  .mar-bottom {
    margin-bottom: 35px;
  }
}
@media (min-width: 1200px) {
  .mar-bottom {
    margin-bottom: 40px;
  }
}

.mar-horizontal {
  margin-top: 25px;
  transition: margin 300ms;
  margin-bottom: 25px;
  transition: margin 300ms;
}
@media (min-width: 480px) {
  .mar-horizontal {
    margin-top: 25px;
  }
}
@media (min-width: 768px) {
  .mar-horizontal {
    margin-top: 30px;
  }
}
@media (min-width: 992px) {
  .mar-horizontal {
    margin-top: 35px;
  }
}
@media (min-width: 1200px) {
  .mar-horizontal {
    margin-top: 40px;
  }
}
@media (min-width: 480px) {
  .mar-horizontal {
    margin-bottom: 25px;
  }
}
@media (min-width: 768px) {
  .mar-horizontal {
    margin-bottom: 30px;
  }
}
@media (min-width: 992px) {
  .mar-horizontal {
    margin-bottom: 35px;
  }
}
@media (min-width: 1200px) {
  .mar-horizontal {
    margin-bottom: 40px;
  }
}

.mar-right {
  margin-right: 10px;
  transition: margin 300ms;
  max-width: calc(100% - 10px);
}
@media (min-width: 480px) {
  .mar-right {
    margin-right: 25px;
    max-width: calc(100% - 25px);
  }
}
@media (min-width: 768px) {
  .mar-right {
    margin-right: 30px;
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 992px) {
  .mar-right {
    margin-right: 60px;
    max-width: calc(100% - 60px);
  }
}
@media (min-width: 1200px) {
  .mar-right {
    margin-right: 80px;
    max-width: calc(100% - 80px);
  }
}

.mar-left {
  margin-left: 10px;
  transition: margin 300ms;
  max-width: calc(100% - 10px);
}
@media (min-width: 480px) {
  .mar-left {
    margin-left: 25px;
    max-width: calc(100% - 25px);
  }
}
@media (min-width: 768px) {
  .mar-left {
    margin-left: 30px;
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 992px) {
  .mar-left {
    margin-left: 60px;
    max-width: calc(100% - 60px);
  }
}
@media (min-width: 1200px) {
  .mar-left {
    margin-left: 80px;
    max-width: calc(100% - 80px);
  }
}

.mar-horizontal {
  margin-left: 10px;
  margin-right: 10px;
  transition: margin 300ms;
  max-width: calc(100% - 20px);
}
@media (min-width: 480px) {
  .mar-horizontal {
    margin-left: 25px;
    margin-right: 25px;
    max-width: calc(100% - 50px);
  }
}
@media (min-width: 768px) {
  .mar-horizontal {
    margin-left: 30px;
    margin-right: 30px;
    max-width: calc(100% - 60px);
  }
}
@media (min-width: 992px) {
  .mar-horizontal {
    margin-left: 60px;
    margin-right: 60px;
    max-width: calc(100% - 120px);
  }
}
@media (min-width: 1200px) {
  .mar-horizontal {
    margin-left: 80px;
    margin-right: 80px;
    max-width: calc(100% - 160px);
  }
}

.pad-top {
  padding-top: 25px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-top {
    padding-top: 25px;
  }
}
@media (min-width: 768px) {
  .pad-top {
    padding-top: 30px;
  }
}
@media (min-width: 992px) {
  .pad-top {
    padding-top: 35px;
  }
}
@media (min-width: 1200px) {
  .pad-top {
    padding-top: 40px;
  }
}

.pad-bottom {
  padding-bottom: 25px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-bottom {
    padding-bottom: 25px;
  }
}
@media (min-width: 768px) {
  .pad-bottom {
    padding-bottom: 30px;
  }
}
@media (min-width: 992px) {
  .pad-bottom {
    padding-bottom: 35px;
  }
}
@media (min-width: 1200px) {
  .pad-bottom {
    padding-bottom: 40px;
  }
}

.pad-left {
  padding-left: 10px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-left {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .pad-left {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .pad-left {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .pad-left {
    padding-left: 80px;
  }
}

.pad-right {
  padding-right: 10px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-right {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .pad-right {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .pad-right {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .pad-right {
    padding-right: 80px;
  }
}

.pad-vertical {
  padding-top: 25px;
  transition: padding 300ms;
  padding-bottom: 25px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-vertical {
    padding-top: 25px;
  }
}
@media (min-width: 768px) {
  .pad-vertical {
    padding-top: 30px;
  }
}
@media (min-width: 992px) {
  .pad-vertical {
    padding-top: 35px;
  }
}
@media (min-width: 1200px) {
  .pad-vertical {
    padding-top: 40px;
  }
}
@media (min-width: 480px) {
  .pad-vertical {
    padding-bottom: 25px;
  }
}
@media (min-width: 768px) {
  .pad-vertical {
    padding-bottom: 30px;
  }
}
@media (min-width: 992px) {
  .pad-vertical {
    padding-bottom: 35px;
  }
}
@media (min-width: 1200px) {
  .pad-vertical {
    padding-bottom: 40px;
  }
}

.pad-horizontal {
  padding-right: 10px;
  transition: padding 300ms;
  padding-left: 10px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-horizontal {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .pad-horizontal {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .pad-horizontal {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .pad-horizontal {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .pad-horizontal {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .pad-horizontal {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .pad-horizontal {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .pad-horizontal {
    padding-left: 80px;
  }
}

.button {
  min-height: 40px;
  background-color: #656565;
  background-image: linear-gradient(to right, rgba(79, 123, 50, 0.1), rgba(243, 0, 0, 0.1), rgba(107, 143, 208, 0.1), rgba(88, 50, 122, 0.1)), linear-gradient(45deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.3) 100%);
  padding: 10px 15px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  color: #f9f9f9;
  cursor: pointer;
  border-radius: 20px;
  border: 1px solid #e2e2e2;
  text-align: center;
  transition: background-color 200ms, text-shadow 200ms;
  font-size: 1.4rem;
  line-height: 1.2;
}
.button:hover {
  background-color: gray;
}

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

.no-scroll {
  overflow: hidden;
}

.h1 {
  font-size: 2.1rem;
  margin-top: 0;
  margin-bottom: 2rem;
}
@media (min-width: 480px) {
  .h1 {
    font-size: 2.4rem;
  }
}

.h2 {
  font-size: 2.2rem;
  margin-bottom: 1.9rem;
  background-image: linear-gradient(to right, #f4f9f0, #fff3f3, #ebf0f9, #f7f3fa);
  margin-top: 0;
  margin-bottom: 30px;
  padding: 10px 20px;
  border-top: 5px solid #c9c9c9;
  border-bottom: 3px solid #e2e2e2;
  box-sizing: border-box;
  font-size: 1.8rem;
}
.h2.close {
  margin-bottom: 0;
}
.h2.red {
  background-image: unset;
  background-color: #c00000;
  color: #ffffff;
}
.h2.green {
  background-image: unset;
  background-color: #385723;
  color: #ffffff;
}
.h2.blue {
  background-image: unset;
  background-color: #4472c4;
  color: #ffffff;
}
.h2.purple {
  background-image: unset;
  background-color: #3e2356;
  color: #ffffff;
}
.h2.black {
  background-image: unset;
  background-color: #000000;
  color: #ffffff;
}
.h2.gray {
  background-color: #656565;
  background-image: linear-gradient(to right, rgba(79, 123, 50, 0.1), rgba(243, 0, 0, 0.1), rgba(107, 143, 208, 0.1), rgba(88, 50, 122, 0.1));
  background-image: unset;
  background-color: #484848;
  color: #ffffff;
}

.h3 {
  font-size: 2.1rem;
  margin-bottom: 1.8rem;
}

.h4 {
  font-size: 1.5rem;
  margin-bottom: 1.7rem;
}

.h5 {
  font-size: 1.3rem;
  margin-bottom: 1.6rem;
}

.h6 {
  font-size: 1.2rem;
  margin-bottom: 1.5rem;
}

.edge-to-edge {
  padding-right: 10px;
  transition: padding 300ms;
  padding-left: 10px;
  transition: padding 300ms;
  margin-left: -10px;
  margin-right: -10px;
  transition: margin 300ms;
  max-width: calc(100% + 20px);
}
@media (min-width: 480px) {
  .edge-to-edge {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .edge-to-edge {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .edge-to-edge {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .edge-to-edge {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .edge-to-edge {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .edge-to-edge {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .edge-to-edge {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .edge-to-edge {
    padding-left: 80px;
  }
}
@media (min-width: 480px) {
  .edge-to-edge {
    margin-left: -25px;
    margin-right: -25px;
    max-width: calc(100% + 50px);
  }
}
@media (min-width: 768px) {
  .edge-to-edge {
    margin-left: -30px;
    margin-right: -30px;
    max-width: calc(100% + 60px);
  }
}
@media (min-width: 992px) {
  .edge-to-edge {
    margin-left: -60px;
    margin-right: -60px;
    max-width: calc(100% + 120px);
  }
}
@media (min-width: 1200px) {
  .edge-to-edge {
    margin-left: 0;
    margin-right: 0;
    max-width: none;
  }
}

.under-header {
  margin: 0 0 25px 0;
  padding: 10px 20px;
  display: block;
  text-align: left;
  background-color: #ffffff;
  border-right: 1px solid transparent;
  border-bottom: 1px solid #e2e2e2;
  border-left: 1px solid transparent;
  font-size: 1.4rem;
  color: #666;
}

.under-header-content {
  background-color: #f9f9f9;
  border: 1px solid #e2e2e2;
}

/**
  * HTML ELEMENT STYLES
  *
  * Style definitions for global element selectors.
  */
* {
  box-sizing: border-box;
}

html {
  height: 100%;
  line-height: 1.7;
  font-size: 62.5%;
}

body {
  min-height: 100%;
  margin: 0;
  display: grid;
  grid-template-rows: auto 1fr auto;
  background-color: #ffffff;
  font-family: "Nunito", sans-serif;
  font-size: 1.6rem;
  color: #666;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  margin-top: 3rem;
  display: block;
  font-weight: 700;
  line-height: 1.3;
  color: #222;
}

h1 {
  font-size: 2.1rem;
  margin-top: 0;
  margin-bottom: 2rem;
  margin-bottom: 25px;
  transition: margin 300ms;
  background-image: linear-gradient(to right, #f4f9f0, #fff3f3, #ebf0f9, #f7f3fa);
  padding: 15px 20px;
  /*
  background-image: linear-gradient(
    to right,
    lighten($green, 72%),
    lighten($red, 60%),
    lighten($blue, 43%),
    lighten($purple, 73%)
  );
  */
  border-top: 5px solid #e2e2e2;
  border-bottom: 5px solid #e2e2e2;
  text-align: center;
}
@media (min-width: 480px) {
  h1 {
    font-size: 2.4rem;
  }
}
@media (min-width: 480px) {
  h1 {
    margin-bottom: 25px;
  }
}
@media (min-width: 768px) {
  h1 {
    margin-bottom: 30px;
  }
}
@media (min-width: 992px) {
  h1 {
    margin-bottom: 35px;
  }
}
@media (min-width: 1200px) {
  h1 {
    margin-bottom: 40px;
  }
}
h1.close {
  margin-bottom: 0;
}
h1.black {
  background-image: unset;
  background-color: #000000;
  color: #ffffff;
}
h1.red {
  background-image: unset;
  background-color: #c00000;
  color: #ffffff;
}
h1.green {
  background-image: unset;
  background-color: #385723;
  color: #ffffff;
}
h1.blue {
  background-image: unset;
  background-color: #4472c4;
  color: #ffffff;
}
h1.purple {
  background-image: unset;
  background-color: #3e2356;
  color: #ffffff;
}

h2 {
  font-size: 2.2rem;
  margin-bottom: 1.9rem;
  background-image: linear-gradient(to right, #f4f9f0, #fff3f3, #ebf0f9, #f7f3fa);
  margin-top: 0;
  margin-bottom: 30px;
  padding: 10px 20px;
  border-top: 5px solid #c9c9c9;
  border-bottom: 3px solid #e2e2e2;
  box-sizing: border-box;
  font-size: 1.8rem;
}
h2.close {
  margin-bottom: 0;
}
h2.red {
  background-image: unset;
  background-color: #c00000;
  color: #ffffff;
}
h2.green {
  background-image: unset;
  background-color: #385723;
  color: #ffffff;
}
h2.blue {
  background-image: unset;
  background-color: #4472c4;
  color: #ffffff;
}
h2.purple {
  background-image: unset;
  background-color: #3e2356;
  color: #ffffff;
}
h2.black {
  background-image: unset;
  background-color: #000000;
  color: #ffffff;
}
h2.gray {
  background-color: #656565;
  background-image: linear-gradient(to right, rgba(79, 123, 50, 0.1), rgba(243, 0, 0, 0.1), rgba(107, 143, 208, 0.1), rgba(88, 50, 122, 0.1));
  background-image: unset;
  background-color: #484848;
  color: #ffffff;
}

h3 {
  font-size: 2.1rem;
  margin-bottom: 1.8rem;
}

h4 {
  font-size: 1.5rem;
  margin-bottom: 1.7rem;
}

h5 {
  font-size: 1.3rem;
  margin-bottom: 1.6rem;
}

h6 {
  font-size: 1.2rem;
  margin-bottom: 1.5rem;
}

p {
  margin: 0 0 1.5rem 0;
  font-weight: 400;
  font-size: 1.4rem;
}

a {
  text-decoration: none;
  font-weight: bold;
  color: #665522;
}
ul, ol {
  margin: 1.5rem 0;
  padding: 0;
  list-style-position: inside;
}

img {
  display: block;
  width: 100%;
}

/* Begin button styles */
button {
  display: block;
  border: none;
  padding: 0;
  margin: 0;
  text-decoration: none;
  background: none;
  cursor: pointer;
  text-align: center;
  -webkit-appearance: none;
  -moz-appearance: none;
}

/* End button styles */
blockquote {
  border-left: 5px solid #000000;
  margin: 1.5em 10px;
  padding: 0.5em 30px;
  quotes: "“";
}
blockquote:before {
  color: #ccc;
  content: open-quote;
  font-size: 4em;
  line-height: 0.1em;
  margin-right: 0.25em;
  vertical-align: -0.4em;
}
blockquote p {
  display: block;
}
blockquote p:first-of-type, blockquote p:nth-of-type(2) {
  font-size: 1.3rem;
}

/**
  * HEADER STYLES
  */
.header-wrap {
  width: 100%;
  height: auto;
  grid-row-start: 1;
  grid-row-end: 2;
  position: relative;
  top: 0;
  z-index: 999;
  transition: background-color 200ms, border 200ms, box-shadow 200ms;
  background-color: #656565;
  background-size: cover;
}
.header-overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: #666;
  opacity: 0.4;
  /*
  &.mitonetwork {
    background-color: $red;
  }

  &.mitotrust {
    background-color: $purple;
  }

  &.mitolibrary {
    background-color: $blue;
  }
  */
}
.header-overlay.mitoguide {
  background-color: #385723;
}
.header-overlay.mitoblog {
  background-color: #3e2356;
}
.header-overlay.bg-visible {
  background-color: #385723;
}

.top-bar-bg {
  width: 100%;
  height: 45px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 6;
  display: none;
  transition: background-color 200ms;
}
.top-bar-bg.bg-visible {
  background-color: #656565;
}
@media (min-width: 992px) {
  .top-bar-bg {
    display: block;
  }
}

.bottom-bar-bg {
  width: 100%;
  height: 50px;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 6;
  display: none;
  transition: background-color 200ms;
  background-color: rgba(255, 255, 255, 0.9);
  border-bottom: 1px solid #d3e7c5;
}
@media (min-width: 992px) {
  .bottom-bar-bg {
    display: block;
  }
}

.beta {
  width: 100%;
  height: auto;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  width: auto;
  height: 22px;
  padding: 0 7px;
  position: absolute;
  top: 5px;
  left: 5px;
  z-index: 7;
  border: 1px solid #73b248;
}
.beta span {
  height: 20px;
  display: flex;
  align-items: center;
  color: #73b248;
  font-size: 1rem;
}
@media (min-width: 992px) {
  .beta {
    height: 44px;
    padding: 0 15px;
    top: 20px;
    left: 20px;
    border: 2px solid #73b248;
  }
  .beta span {
    height: 40px;
    font-size: 2rem;
  }
}

.header {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  height: 90px;
  padding-top: 0;
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 90px auto;
  transition: background-color 200ms;
}
@media (min-width: 992px) {
  .header {
    height: 205px;
    grid-template-columns: 1fr;
    grid-template-rows: 120px 70px;
  }
}

.header-brand {
  padding-right: 10px;
  transition: padding 300ms;
  padding-left: 10px;
  transition: padding 300ms;
  margin-top: 0;
  margin-bottom: 0;
  padding-right: 0;
  height: 90px;
  grid-column: 1/span 1;
  grid-row: 1/span 1;
  position: relative;
  z-index: 5;
}
@media (min-width: 480px) {
  .header-brand {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .header-brand {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .header-brand {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .header-brand {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .header-brand {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .header-brand {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .header-brand {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .header-brand {
    padding-left: 80px;
  }
}
@media (min-width: 992px) {
  .header-brand {
    height: 110px;
    margin-top: 22.5px;
    margin-bottom: 50px;
  }
}
.header-brand a {
  height: 90px;
  padding-top: 0;
  display: flex;
  align-items: center;
  flex-direction: row;
  justify-content: left;
}
@media (min-width: 992px) {
  .header-brand a {
    height: 110px;
    padding-top: 10px;
    justify-content: flex-start;
    flex-direction: column;
  }
}
.header-brand a .logo-image {
  width: auto;
  height: 20px;
  margin-right: 15px;
  text-align: center;
  display: block;
}
@media (min-width: 992px) {
  .header-brand a .logo-image {
    height: 90px;
    margin-right: 0;
  }
}
.header-brand a .logo-text {
  display: none;
  color: #f9f9f9;
  text-align: left;
  padding-left: 0;
  font-weight: bold;
}
@media (min-width: 480px) {
  .header-brand a .logo-text {
    font-size: 1rem;
  }
}
.header-brand a .logo-text .logo-text-title {
  margin: 0 auto;
  display: block;
  line-height: 0.9;
  font-size: 1rem;
}
.header-brand a .logo-text .logo-text-title span.registered {
  font-size: 0.7rem;
  vertical-align: super;
}
@media (min-width: 480px) {
  .header-brand a .logo-text .logo-text-title {
    font-size: 1.4rem;
  }
  .header-brand a .logo-text .logo-text-title span.registered {
    font-size: 0.9rem;
  }
}
@media (min-width: 992px) {
  .header-brand a .logo-text .logo-text-title {
    margin: 20px auto 0 auto;
    font-size: 3rem;
  }
  .header-brand a .logo-text .logo-text-title span.registered {
    font-size: 1.8rem;
  }
}
.header-brand a .logo-text .logo-text-tagline {
  margin: 10px auto 0 auto;
  line-height: 0.8;
  display: none;
  font-size: 0.6rem;
  font-weight: lighter;
  font-style: italic;
  color: #f9f9f9;
}
@media (min-width: 480px) {
  .header-brand a .logo-text .logo-text-tagline {
    font-size: 1.1rem;
  }
}

.header-nav {
  width: 100%;
  height: 0;
  min-height: auto;
  position: absolute;
  top: 90px;
  display: none;
  overflow: hidden;
}
.header-nav.visible {
  height: 100%;
  display: block;
  position: fixed;
  opacity: 1;
}
@media (min-width: 992px) {
  .header-nav {
    height: auto;
    min-height: 205px;
    display: block;
    top: 0;
    overflow: visible;
    opacity: 1 !important;
  }
  .header-nav.visible {
    height: auto;
    display: block;
    position: absolute;
    opacity: 1;
  }
}

.header-nav-main {
  width: 100%;
  padding-right: 0;
  padding-left: 0;
  height: auto;
  position: static;
  top: auto;
  right: auto;
  z-index: 6;
  display: block;
}
@media (min-width: 992px) {
  .header-nav-main {
    height: 50px;
    position: absolute;
    top: auto;
    bottom: 0;
    right: 0;
  }
}
.header-nav-main ul {
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  list-style: none;
}
@media (min-width: 992px) {
  .header-nav-main ul {
    padding-right: 10px;
    transition: padding 300ms;
    padding-left: 10px;
    transition: padding 300ms;
    width: auto;
    max-width: 1400px;
    margin: 0 auto;
    height: 50px;
    flex-direction: row;
    border-top: unset;
    justify-content: center;
  }
}
@media (min-width: 992px) and (min-width: 480px) {
  .header-nav-main ul {
    padding-right: 25px;
  }
}
@media (min-width: 992px) and (min-width: 768px) {
  .header-nav-main ul {
    padding-right: 30px;
  }
}
@media (min-width: 992px) and (min-width: 992px) {
  .header-nav-main ul {
    padding-right: 60px;
  }
}
@media (min-width: 992px) and (min-width: 1200px) {
  .header-nav-main ul {
    padding-right: 80px;
  }
}
@media (min-width: 992px) and (min-width: 480px) {
  .header-nav-main ul {
    padding-left: 25px;
  }
}
@media (min-width: 992px) and (min-width: 768px) {
  .header-nav-main ul {
    padding-left: 30px;
  }
}
@media (min-width: 992px) and (min-width: 992px) {
  .header-nav-main ul {
    padding-left: 60px;
  }
}
@media (min-width: 992px) and (min-width: 1200px) {
  .header-nav-main ul {
    padding-left: 80px;
  }
}
.header-nav-main ul li {
  width: 100%;
  height: auto;
  list-style: none;
  border-top: unset;
  position: relative;
  z-index: 1;
  background-color: #385723;
}
.header-nav-main ul li:nth-child(1) {
  background-color: #385723;
}
.header-nav-main ul li:nth-child(1) ul li {
  padding-left: 0;
  background-color: #385723;
}
.header-nav-main ul li:nth-child(1) ul li:nth-child(1), .header-nav-main ul li:nth-child(1) ul li:nth-child(2) {
  padding-left: 0;
  background-color: #385723;
}
.header-nav-main ul li:nth-child(1) ul li:nth-child(3), .header-nav-main ul li:nth-child(1) ul li:nth-child(4) {
  padding-left: 0;
  background-color: #385723;
}
.header-nav-main ul li:nth-child(2) {
  background-color: #c00000;
}
.header-nav-main ul li:nth-child(2) ul li {
  padding-left: 0;
  background-color: #c00000;
}
.header-nav-main ul li:nth-child(2) ul li:nth-child(1), .header-nav-main ul li:nth-child(2) ul li:nth-child(2) {
  padding-left: 0;
  background-color: #c00000;
}
.header-nav-main ul li:nth-child(2) ul li:nth-child(3), .header-nav-main ul li:nth-child(2) ul li:nth-child(4) {
  padding-left: 0;
  background-color: #c00000;
}
.header-nav-main ul li:nth-child(3) {
  background-color: #4472c4;
}
.header-nav-main ul li:nth-child(3) ul li {
  padding-left: 0;
  background-color: #4472c4;
}
.header-nav-main ul li:nth-child(3) ul li:nth-child(1), .header-nav-main ul li:nth-child(3) ul li:nth-child(2) {
  padding-left: 0;
  background-color: #4472c4;
}
.header-nav-main ul li:nth-child(3) ul li:nth-child(3), .header-nav-main ul li:nth-child(3) ul li:nth-child(4) {
  padding-left: 0;
  background-color: #4472c4;
}
.header-nav-main ul li:nth-child(4) {
  background-color: #3e2356;
}
.header-nav-main ul li:nth-child(4) ul li {
  padding-left: 0;
  background-color: #3e2356;
}
.header-nav-main ul li:nth-child(4) ul li:nth-child(1), .header-nav-main ul li:nth-child(4) ul li:nth-child(2) {
  padding-left: 0;
  background-color: #3e2356;
}
.header-nav-main ul li:nth-child(4) ul li:nth-child(3), .header-nav-main ul li:nth-child(4) ul li:nth-child(4) {
  padding-left: 0;
  background-color: #3e2356;
}
.header-nav-main ul li:nth-child(5) {
  background-color: #000000;
}
.header-nav-main ul li:nth-child(5) ul li {
  padding-left: 0;
  background-color: #000000;
}
.header-nav-main ul li:nth-child(5) ul li:nth-child(1), .header-nav-main ul li:nth-child(5) ul li:nth-child(2) {
  padding-left: 0;
  background-color: #000000;
}
.header-nav-main ul li:nth-child(5) ul li:nth-child(3), .header-nav-main ul li:nth-child(5) ul li:nth-child(4) {
  padding-left: 0;
  background-color: #000000;
}
@media (min-width: 992px) {
  .header-nav-main ul li {
    width: 25%;
    height: auto;
    min-height: 40px;
    margin-top: 2px;
    margin-bottom: 2px;
    background-color: unset;
    border-bottom: unset;
    transition: display 300ms;
  }
  .header-nav-main ul li:hover > ul {
    display: block;
  }
  .header-nav-main ul li:nth-child(1) {
    padding-left: 10px;
    padding-right: 10px;
  }
  .header-nav-main ul li:nth-child(2) {
    padding-right: 10px;
    padding-left: 10px;
  }
  .header-nav-main ul li:nth-child(3) {
    padding-right: 10px;
    padding-left: 10px;
  }
  .header-nav-main ul li:nth-child(4) {
    padding-left: 10px;
    padding-right: 10px;
  }
  .header-nav-main ul li:nth-child(5) {
    padding-left: 10px;
    padding-right: 10px;
  }
}
.header-nav-main ul li a {
  padding-left: 10px;
  transition: padding 300ms;
  width: 100%;
  height: 45px;
  position: relative;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #888888;
  font-weight: bold;
  font-size: 1.4rem;
  color: #f9f9f9;
  justify-content: start;
}
@media (min-width: 480px) {
  .header-nav-main ul li a {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .header-nav-main ul li a {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .header-nav-main ul li a {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .header-nav-main ul li a {
    padding-left: 80px;
  }
}
.header-nav-main ul li a:hover {
  color: #c6c6c6;
}
@media (min-width: 992px) {
  .header-nav-main ul li a {
    width: auto;
    height: 40px;
    padding: 0 5px;
    border-bottom: unset;
    color: #ffffff;
    font-size: 1.3rem;
    text-align: center;
    justify-content: center;
  }
  .header-nav-main ul li a:hover {
    color: #e2e2e2;
  }
}
@media (min-width: 1200px) {
  .header-nav-main ul li a {
    padding: 0 10px;
    font-size: 1.4rem;
  }
}
.header-nav-main ul li .nav-chevron {
  width: 45px;
  height: 45px;
  display: flex;
  position: absolute;
  right: 0;
  align-items: center;
  justify-content: center;
  z-index: 2;
  cursor: pointer;
  color: #f9f9f9;
}
.header-nav-main ul li .nav-chevron:hover {
  color: #c6c6c6;
}
@media (min-width: 992px) {
  .header-nav-main ul li .nav-chevron {
    display: none;
  }
}
.header-nav-main ul li ul {
  width: 100%;
  height: auto;
  position: relative;
  top: 0;
  right: 0;
  left: auto;
  list-style: none;
  display: none;
}
@media (min-width: 992px) {
  .header-nav-main ul li ul {
    padding: 0;
    position: absolute;
    top: 40px;
    left: 0;
    right: auto;
    background-color: #f9f9f9;
  }
}
.header-nav-main ul li ul li {
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  min-height: 45px;
  height: auto;
  list-style: none;
  display: block;
}
.header-nav-main ul li ul li:nth-child(1) {
  padding-left: 0;
  padding-right: 0;
  background-color: inherit;
  display: block;
}
.header-nav-main ul li ul li:nth-child(2) {
  margin-left: 0;
  padding-right: 0;
  padding-left: 0;
  background-color: inherit;
}
.header-nav-main ul li ul li:nth-child(3) {
  margin-left: 0;
  padding-right: 0;
  padding-left: 0;
  background-color: inherit;
}
.header-nav-main ul li ul li:nth-child(4) {
  margin-left: 0;
  padding-left: 0;
  padding-right: 0;
  background-color: inherit;
}
.header-nav-main ul li ul li:nth-child(5) {
  margin-left: 0;
  padding-left: 0;
  padding-right: 0;
}
@media (min-width: 992px) {
  .header-nav-main ul li ul li {
    height: 45px;
    border-top: 1px solid rgba(102, 102, 102, 0.2);
  }
  .header-nav-main ul li ul li:hover > ul {
    display: none;
  }
}
.header-nav-main ul li ul li a {
  padding-left: 3em;
  text-decoration: none;
  text-transform: none;
}
@media (min-width: 992px) {
  .header-nav-main ul li ul li a {
    height: 45px;
    padding-right: 15px;
    padding-left: 15px;
  }
}
.header-nav-main ul li ul li ul li a {
  padding-left: 4.5em;
}
.header-nav-main ul li ul li ul li ul li a {
  padding-left: 6em;
}

.header-nav-top {
  padding-right: 0;
  padding-left: 0;
  width: 100%;
  height: auto;
  position: relative;
  top: auto;
  left: auto;
  z-index: 6;
  display: block;
  clear: both;
}
@media (min-width: 992px) {
  .header-nav-top {
    padding-right: 10px;
    transition: padding 300ms;
    padding-left: 10px;
    transition: padding 300ms;
    width: 100%;
    height: 45px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 6;
  }
}
@media (min-width: 992px) and (min-width: 480px) {
  .header-nav-top {
    padding-right: 25px;
  }
}
@media (min-width: 992px) and (min-width: 768px) {
  .header-nav-top {
    padding-right: 30px;
  }
}
@media (min-width: 992px) and (min-width: 992px) {
  .header-nav-top {
    padding-right: 60px;
  }
}
@media (min-width: 992px) and (min-width: 1200px) {
  .header-nav-top {
    padding-right: 80px;
  }
}
@media (min-width: 992px) and (min-width: 480px) {
  .header-nav-top {
    padding-left: 25px;
  }
}
@media (min-width: 992px) and (min-width: 768px) {
  .header-nav-top {
    padding-left: 30px;
  }
}
@media (min-width: 992px) and (min-width: 992px) {
  .header-nav-top {
    padding-left: 60px;
  }
}
@media (min-width: 992px) and (min-width: 1200px) {
  .header-nav-top {
    padding-left: 80px;
  }
}
.header-nav-top ul {
  width: 100%;
  padding-right: 0;
  height: auto;
  margin: 0;
  display: flex;
  flex-direction: column;
  list-style: none;
  -moz-column-gap: 30px;
       column-gap: 30px;
  flex-flow: column;
}
@media (min-width: 992px) {
  .header-nav-top ul {
    width: auto;
    height: 45px;
    padding-right: 60px;
    flex-direction: row;
    justify-content: flex-end;
  }
}
.header-nav-top ul li {
  padding-right: 10px;
  transition: padding 300ms;
  padding-left: 10px;
  transition: padding 300ms;
  width: 100%;
  height: 45px;
  display: flex;
  align-items: center;
  list-style: none;
  border-bottom: 1px solid #888888;
  position: relative;
}
@media (min-width: 480px) {
  .header-nav-top ul li {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .header-nav-top ul li {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .header-nav-top ul li {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .header-nav-top ul li {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .header-nav-top ul li {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .header-nav-top ul li {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .header-nav-top ul li {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .header-nav-top ul li {
    padding-left: 80px;
  }
}
@media (min-width: 992px) {
  .header-nav-top ul li {
    width: auto;
    padding-right: 0;
    padding-left: 0;
    border-bottom: unset;
  }
}
.header-nav-top ul li a {
  height: 45px;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: bold;
  font-size: 12px;
  display: flex;
  align-items: center;
  color: #f9f9f9;
}
.header-nav-top ul li a:hover {
  color: #c6c6c6;
}
.slide-line {
  height: 3px;
  background-color: #f9f9f9;
}

.header-buttons {
  padding-right: 10px;
  transition: padding 300ms;
  width: auto;
  height: 90px;
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 6;
}
@media (min-width: 480px) {
  .header-buttons {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .header-buttons {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .header-buttons {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .header-buttons {
    padding-right: 80px;
  }
}
@media (min-width: 992px) {
  .header-buttons {
    height: 45px;
    padding-left: 0;
  }
}

.glass {
  padding: 8px 10px;
  display: flex;
  align-items: center;
  top: auto;
}
@media (min-width: 992px) {
  .glass {
    height: 45px;
    border: unset;
  }
}
.glass i {
  color: #f9f9f9;
}
.glass i:hover {
  color: #c6c6c6;
}
.burger {
  margin-left: 0;
  padding: 8px 10px;
  display: flex;
  align-items: center;
}
@media (min-width: 340px) {
  .burger {
    margin-left: 10px;
  }
}
@media (min-width: 992px) {
  .burger {
    display: none;
  }
}
.burger i {
  color: #f9f9f9;
}
.burger i:hover {
  color: #c6c6c6;
}

.header-search-wrap {
  width: 100%;
  height: auto;
  height: auto;
  display: none;
  position: absolute;
  top: 90px;
  left: 0;
  background-color: #656565;
  z-index: 6;
}
@media (min-width: 992px) {
  .header-search-wrap {
    top: 45px;
    height: 110px;
  }
}
.header-search-wrap .site-search {
  padding-right: 10px;
  transition: padding 300ms;
  padding-left: 10px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .header-search-wrap .site-search {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .header-search-wrap .site-search {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .header-search-wrap .site-search {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .header-search-wrap .site-search {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .header-search-wrap .site-search {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .header-search-wrap .site-search {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .header-search-wrap .site-search {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .header-search-wrap .site-search {
    padding-left: 80px;
  }
}

/**
  * SITE SEARCH FORM STYLES
  */
.site-search {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  height: auto;
  padding: 40px 0;
  display: grid;
  grid-template-columns: 1fr 50px;
  grid-template-rows: auto;
}

.search-query {
  height: 50px;
  padding: 0;
  grid-column: 1/span 1;
  grid-row: 1;
  align-self: center;
}
.search-query label {
  width: 100%;
  max-width: 100%;
  height: 30px;
  color: #f9f9f9;
  display: block;
  text-transform: uppercase;
  text-align: left;
  display: none;
}
.search-query input {
  width: 100%;
  max-width: 100%;
  height: 50px;
  padding-left: 20px;
  border: 2px solid #f9f9f9;
  display: block;
  background-color: unset;
  color: #f9f9f9;
}

.search-submit {
  width: 50px;
  height: 50px;
  grid-column: 2/span 1;
  grid-row: 1;
  align-self: start;
  color: #656565;
  font-size: 1.4rem;
  background-color: #f9f9f9;
  transition: background-color 200ms;
}
.search-submit:hover {
  background-color: #c6c6c6;
}

/**
  * MAIN PAGE CONTENT STYLES
  */
.main-wrap {
  background-image: linear-gradient(to right, #f4f9f0, #fff3f3, #ebf0f9, #f7f3fa);
  width: 100%;
  height: auto;
  grid-row-start: 2;
  grid-row-end: 3;
}

.main {
  height: 100%;
  overflow: hidden;
  background-color: rgba(255, 255, 255, 0.5);
  border-top: 5px solid #c9c9c9;
}

.page-header-wrap {
  width: 100%;
  height: auto;
}

.page-header {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding-right: 10px;
  transition: padding 300ms;
  padding-left: 10px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .page-header {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .page-header {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .page-header {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .page-header {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .page-header {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .page-header {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .page-header {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .page-header {
    padding-left: 80px;
  }
}

.page-breadcrumb {
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-breadcrumb #“breadcrumbs” {
  margin-bottom: 0;
  text-align: center;
  font-size: 1.2rem;
}
.page-breadcrumb #“breadcrumbs” a {
  font-weight: normal;
  text-decoration: underline;
}
.page-breadcrumb #“breadcrumbs” span.breadcrumb_last {
  font-weight: bold;
}
.page-breadcrumb p {
  margin-top: 0;
  margin-bottom: 0;
}

.page-nav {
  width: 100%;
  height: auto;
  min-height: auto;
  margin-bottom: 40px;
  top: 90px;
  display: block;
  overflow: visible;
}
.page-nav.bg-visible {
  background-color: #385723;
}
@media (min-width: 992px) {
  .page-nav {
    height: auto;
    margin-bottom: 40px;
    display: block;
    top: 0;
    overflow: visible;
  }
}

.page-nav-main {
  width: 100%;
  padding-right: 0;
  padding-left: 0;
  height: auto;
  position: static;
  top: auto;
  right: auto;
  z-index: 6;
  display: block;
}
@media (min-width: 992px) {
  .page-nav-main {
    height: auto;
    top: auto;
    bottom: 0;
    right: 0;
  }
}
.page-nav-main.black ul li {
  border: 1px solid #f9f9f9;
  background-color: #ffffff;
}
.page-nav-main.black ul li a {
  color: #000000;
}
.page-nav-main.black ul li a:hover {
  color: #333333;
}
.page-nav-main.green ul li {
  border: 1px solid #f9f9f9;
  background-color: #ffffff;
}
.page-nav-main.green ul li a {
  color: #385723;
}
.page-nav-main.green ul li a:hover {
  color: #67a040;
}
.page-nav-main.red ul li {
  border: 1px solid #f9f9f9;
  background-color: #ffffff;
}
.page-nav-main.red ul li a {
  color: #c00000;
}
.page-nav-main.red ul li a:hover {
  color: #ff2727;
}
.page-nav-main.blue ul li {
  border: 1px solid #f9f9f9;
  background-color: #ffffff;
}
.page-nav-main.blue ul li a {
  color: #4472c4;
}
.page-nav-main.blue ul li a:hover {
  color: #92acdc;
}
.page-nav-main.purple ul li {
  border: 1px solid #f9f9f9;
  background-color: #ffffff;
}
.page-nav-main.purple ul li a {
  color: #3e2356;
}
.page-nav-main.purple ul li a:hover {
  color: #72419e;
}
.page-nav-main ul {
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  list-style: none;
  border-bottom: unset;
  border-right: 1px solid #e2e2e2;
  border-left: 1px solid #e2e2e2;
}
@media (min-width: 992px) {
  .page-nav-main ul {
    width: auto;
    max-width: 1400px;
    margin: 0 auto;
    height: auto;
    flex-direction: row;
    border-top: unset;
    justify-content: center;
    background-color: #e2e2e2;
  }
}
.page-nav-main ul li {
  width: 100%;
  height: auto;
  list-style: none;
  border-top: unset;
  position: relative;
  z-index: 1;
}
@media (min-width: 992px) {
  .page-nav-main ul li {
    height: auto;
    min-height: 40px;
    margin-top: 0;
    margin-bottom: 5px;
    margin-left: 5px;
    background-color: unset;
    border-bottom: unset;
    transition: display 300ms;
  }
  .page-nav-main ul li:hover > ul {
    display: block;
  }
  .page-nav-main ul li:first-child {
    margin-left: 0;
  }
}
.page-nav-main ul li a {
  padding-left: 10px;
  transition: padding 300ms;
  width: 100%;
  height: 45px;
  position: relative;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #e2e2e2;
  line-height: 1;
  font-weight: bold;
  font-size: 1.4rem;
  color: #f9f9f9;
  justify-content: start;
  font-family: "Montserrat", sans-serif;
}
@media (min-width: 480px) {
  .page-nav-main ul li a {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .page-nav-main ul li a {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .page-nav-main ul li a {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .page-nav-main ul li a {
    padding-left: 80px;
  }
}
@media (min-width: 992px) {
  .page-nav-main ul li a {
    width: auto;
    height: 40px;
    padding: 0 5px;
    border-bottom: unset;
    color: #ffffff;
    font-size: 1.3rem;
    text-align: center;
    justify-content: center;
  }
}
@media (min-width: 1200px) {
  .page-nav-main ul li a {
    padding: 0 10px;
    font-size: 1.4rem;
  }
}
.page-nav-main ul li .nav-chevron {
  width: 45px;
  height: 45px;
  display: flex;
  position: absolute;
  right: 0;
  align-items: center;
  justify-content: center;
  z-index: 2;
  cursor: pointer;
  color: #f9f9f9;
}
.page-nav-main ul li .nav-chevron:hover {
  color: #c6c6c6;
}
@media (min-width: 992px) {
  .page-nav-main ul li .nav-chevron {
    display: none;
  }
}
.page-nav-main ul li ul {
  width: 100%;
  height: auto;
  position: relative;
  top: 0;
  right: 0;
  left: auto;
  list-style: none;
  display: none;
}
@media (min-width: 992px) {
  .page-nav-main ul li ul {
    min-width: 200px;
    padding: 0;
    position: absolute;
    top: 40px;
    left: 0;
    right: auto;
  }
}
.page-nav-main ul li ul li {
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  min-height: 45px;
  height: auto;
  list-style: none;
  display: block;
}
.page-nav-main ul li ul li:nth-child(1) {
  padding-left: 0;
  padding-right: 0;
  background-color: inherit;
}
.page-nav-main ul li ul li:nth-child(2) {
  margin-left: 0;
  padding-right: 0;
  padding-left: 0;
  background-color: inherit;
}
.page-nav-main ul li ul li:nth-child(3) {
  margin-left: 0;
  padding-left: 0;
  padding-right: 0;
  background-color: inherit;
}
.page-nav-main ul li ul li:nth-child(4) {
  margin-left: 0;
  padding-left: 0;
  padding-right: 0;
  background-color: inherit;
}
.page-nav-main ul li ul li:nth-child(5) {
  margin-left: 0;
  padding-left: 0;
  padding-right: 0;
  background-color: inherit;
}
@media (min-width: 992px) {
  .page-nav-main ul li ul li {
    height: 45px;
    border-top: 1px solid rgba(102, 102, 102, 0.2);
  }
  .page-nav-main ul li ul li:hover > ul {
    display: none;
  }
}
.page-nav-main ul li ul li a {
  padding-left: 3em;
  text-decoration: none;
  text-transform: none;
}
@media (min-width: 992px) {
  .page-nav-main ul li ul li a {
    height: 45px;
    padding-right: 15px;
    padding-left: 15px;
  }
}
.page-nav-main ul li ul li ul li a {
  padding-left: 4.5em;
}
.page-nav-main ul li ul li ul li ul li a {
  padding-left: 6em;
}

.page-main-wrap {
  width: 100%;
  height: auto;
}

.page-main {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
}
@media (min-width: 768px) {
  .page-main {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
}

.page-main.side {
  grid-template-columns: 1fr 0px;
  grid-template-rows: auto auto;
}
@media (min-width: 768px) {
  .page-main.side {
    grid-template-columns: 1fr 320px;
    grid-template-rows: auto 0px;
  }
}

.page-content {
  width: 100%;
  padding-right: 0;
  grid-column: 1/span 1;
  grid-row: 2;
}
@media (min-width: 768px) {
  .page-content {
    grid-column: 1/span 1;
    grid-row: 1;
  }
}
.page-section-wrap {
  width: 100%;
  height: auto;
}

.page-section {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding-right: 10px;
  transition: padding 300ms;
  padding-left: 10px;
  transition: padding 300ms;
  padding-bottom: 25px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .page-section {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .page-section {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .page-section {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .page-section {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .page-section {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .page-section {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .page-section {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .page-section {
    padding-left: 80px;
  }
}
@media (min-width: 480px) {
  .page-section {
    padding-bottom: 25px;
  }
}
@media (min-width: 768px) {
  .page-section {
    padding-bottom: 30px;
  }
}
@media (min-width: 992px) {
  .page-section {
    padding-bottom: 35px;
  }
}
@media (min-width: 1200px) {
  .page-section {
    padding-bottom: 40px;
  }
}

.side .page-content {
  padding-right: 0;
}
@media (min-width: 768px) {
  .side .page-content {
    padding-right: 100px;
  }
}

.page-sidebar {
  padding-bottom: 25px;
  transition: padding 300ms;
  width: 100%;
  grid-column: 1/span 1;
  grid-row: 1;
}
@media (min-width: 480px) {
  .page-sidebar {
    padding-bottom: 25px;
  }
}
@media (min-width: 768px) {
  .page-sidebar {
    padding-bottom: 30px;
  }
}
@media (min-width: 992px) {
  .page-sidebar {
    padding-bottom: 35px;
  }
}
@media (min-width: 1200px) {
  .page-sidebar {
    padding-bottom: 40px;
  }
}
@media (min-width: 768px) {
  .page-sidebar {
    grid-column: 2/span 1;
    grid-row: 1;
  }
}

/**
  * FOOTER STYLES
  */
.footer-wrap {
  grid-row-start: 3;
  grid-row-end: 4;
  background-color: #000000;
}

.footer {
  padding: 30px 0;
  text-align: center;
  overflow: hidden;
  color: #f9f9f9;
}

.footer-nav {
  padding-bottom: 30px;
}
@media (min-width: 768px) {
  .footer-nav {
    width: auto;
  }
}
.footer-nav ul {
  width: 100%;
  margin: 0;
  height: auto;
  display: flex;
  display: inline-block;
  list-style: none;
  text-align: center;
}
@media (min-width: 768px) {
  .footer-nav ul {
    width: auto;
  }
}
.footer-nav ul li {
  padding-right: 10px;
  transition: padding 300ms;
  padding-left: 10px;
  transition: padding 300ms;
  width: 100%;
  padding: 5px 10px;
  list-style: none;
  position: relative;
  display: inline-block;
  position: relative;
  border-right: unset;
}
@media (min-width: 480px) {
  .footer-nav ul li {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .footer-nav ul li {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .footer-nav ul li {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .footer-nav ul li {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .footer-nav ul li {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .footer-nav ul li {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .footer-nav ul li {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .footer-nav ul li {
    padding-left: 80px;
  }
}
@media (min-width: 768px) {
  .footer-nav ul li {
    width: auto;
    padding: 0 12px 0 8px;
    border-right: 1px solid #ffffff;
    /*&:after {
      content: "|";
      color: $brandColorContrast;
      position: absolute;
      top: 0;
      right: -2px;
    }*/
  }
  .footer-nav ul li:last-child {
    border-right: unset;
    /*&:after {
      content: "";
    }*/
  }
}
.footer-nav ul li a {
  width: 100%;
  padding: 0;
  position: relative;
  display: block;
  align-items: center;
  font-size: 1.2rem;
  color: #f9f9f9;
  text-align: center;
  text-decoration: underline;
}
@media (min-width: 768px) {
  .footer-nav ul li a {
    width: auto;
    padding: 0 5px;
  }
}

.footer-socials {
  padding-bottom: 30px;
}
.footer-socials a {
  font-size: 3rem;
}
.footer-socials a i {
  font-size: 3rem;
  color: #ffffff;
}

.copyright {
  margin: 0;
  padding: 0;
  font-size: 10px;
}
.copyright span.registered {
  font-size: 0.7rem;
  vertical-align: super;
}

/**
  * MISCELLANEOUS STYLES
  */
.video {
  padding: 20px;
  background-color: #ffffff;
  border: 1px solid #e2e2e2;
}
.video h4 {
  margin-top: 20px;
  font-size: 1.4rem;
}

.embed-container-wrap {
  width: 100%;
  margin: 0 auto;
}

.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden;
  max-width: 100%;
  height: auto;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRlZmF1bHQuY3NzIiwiZGVmYXVsdC5zY3NzIiwiX2NvbW1vbi5zY3NzIiwibGlicmFyaWVzL19ub3JtYWxpemUuc2NzcyIsImNvbW1vbi9fYnJlYWtwb2ludHMubW9kdWxlcy5zY3NzIiwiY29tbW9uL192YXJpYWJsZXMuc2NzcyIsImNvbW1vbi9fZm9udHMuc2NzcyIsImNvbW1vbi9fbWl4aW5zLnNjc3MiLCJsaWJyYXJpZXMvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImNvbW1vbi9fZWxlbWVudHMuc2NzcyIsImNvbW1vbi9faGVhZGVyLnNjc3MiLCJjb21tb24vX3NlYXJjaGZvcm0uc2NzcyIsImNvbW1vbi9fbWFpbi5zY3NzIiwiY29tbW9uL19mb290ZXIuc2NzcyIsImNvbW1vbi9fbWlzYy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0FoQjs7OztHQUFBO0FDQUE7Ozs7R0FBQTtBQ0FBLDJFQUFBO0FBRUE7K0VBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNFLGlCQUFBLEVBQUEsTUFBQTtFQUNBLDhCQUFBLEVBQUEsTUFBQTtBSFNGOztBR05BOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFLFNBQUE7QUhPRjs7QUdKQTs7RUFBQTtBQUlBO0VBQ0UsY0FBQTtBSE1GOztBR0hBOzs7RUFBQTtBQUtBO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0FIS0Y7O0FHRkE7K0VBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNFLHVCQUFBLEVBQUEsTUFBQTtFQUNBLFNBQUEsRUFBQSxNQUFBO0VBQ0EsaUJBQUEsRUFBQSxNQUFBO0FIR0Y7O0FHQUE7OztFQUFBO0FBS0E7RUFDRSxpQ0FBQSxFQUFBLE1BQUE7RUFDQSxjQUFBLEVBQUEsTUFBQTtBSEVGOztBR0NBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFLDZCQUFBO0FIQUY7O0FHR0E7OztFQUFBO0FBS0E7RUFDRSxtQkFBQSxFQUFBLE1BQUE7RUFDQSwwQkFBQSxFQUFBLE1BQUE7RUFD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QkFBQTtBUDhVRjtBUXdLSTtFRHBlRjtJQWZFLGdCRmhDc0I7RUwrV3hCO0FBQ0Y7QVFtS0k7RURwZUY7SUFYRSxnQkZuQ2tCO0VMbVhwQjtBQUNGO0FROEpJO0VEcGVGO0lBUEUsZ0JGdENrQjtFTHVYcEI7QUFDRjtBUXlKSTtFRHBlRjtJQUhFLGdCRnpDbUI7RUwyWHJCO0FBQ0Y7O0FPeFRFO0VBbkJBLG1CRnJEb0I7RUVzRHBCLHdCQUFBO0FQK1VGO0FRK0lJO0VENWNGO0lBZkUsbUJGeERzQjtFTHdZeEI7QUFDRjtBUTBJSTtFRDVjRjtJQVhFLG1CRjNEa0I7RUw0WXBCO0FBQ0Y7QVFxSUk7RUQ1Y0Y7SUFQRSxtQkY5RGtCO0VMZ1pwQjtBQUNGO0FRZ0lJO0VENWNGO0lBSEUsbUJGakVtQjtFTG9ackI7QUFDRjs7QU96VUU7RUFuREEsZ0JGN0JvQjtFRThCcEIsd0JBQUE7RUF1QkEsbUJGckRvQjtFRXNEcEIsd0JBQUE7QVAwV0Y7QVFvSEk7RURwY0Y7SUEvQ0UsZ0JGaENzQjtFTG1heEI7QUFDRjtBUStHSTtFRHBjRjtJQTNDRSxnQkZuQ2tCO0VMdWFwQjtBQUNGO0FRMEdJO0VEcGNGO0lBdkNFLGdCRnRDa0I7RUwyYXBCO0FBQ0Y7QVFxR0k7RURwY0Y7SUFuQ0UsZ0JGekNtQjtFTCthckI7QUFDRjtBUWdHSTtFRHBjRjtJQXZCRSxtQkZ4RHNCO0VMdWJ4QjtBQUNGO0FRMkZJO0VEcGNGO0lBbkJFLG1CRjNEa0I7RUwyYnBCO0FBQ0Y7QVFzRkk7RURwY0Y7SUFmRSxtQkY5RGtCO0VMK2JwQjtBQUNGO0FRaUZJO0VEcGNGO0lBWEUsbUJGakVtQjtFTG1jckI7QUFDRjs7QU8zVkU7RUF4QkEsa0JGNUZ1QjtFRTZGdkIsd0JBQUE7RUFDQSw0QkFBQTtBUHVYRjtBUXNFSTtFRHZhRjtJQW5CRSxrQkZoR3lCO0lFaUd6Qiw0QkFBQTtFUHdYRjtBQUNGO0FRZ0VJO0VEdmFGO0lBZEUsa0JGcEdxQjtJRXFHckIsNEJBQUE7RVB5WEY7QUFDRjtBUTBESTtFRHZhRjtJQVRFLGtCRnhHcUI7SUV5R3JCLDRCQUFBO0VQMFhGO0FBQ0Y7QVFvREk7RUR2YUY7SUFKRSxrQkY1R3NCO0lFNkd0Qiw0QkFBQTtFUDJYRjtBQUNGOztBTzVWRTtFQXhCQSxpQkZ6SHVCO0VFMEh2Qix3QkFBQTtFQUNBLDRCQUFBO0FQd1hGO0FRd0NJO0VEMVlGO0lBbkJFLGlCRjdIeUI7SUU4SHpCLDRCQUFBO0VQeVhGO0FBQ0Y7QVFrQ0k7RUQxWUY7SUFkRSxpQkZqSXFCO0lFa0lyQiw0QkFBQTtFUDBYRjtBQUNGO0FRNEJJO0VEMVlGO0lBVEUsaUJGcklxQjtJRXNJckIsNEJBQUE7RVAyWEY7QUFDRjtBUXNCSTtFRDFZRjtJQUpFLGlCRnpJc0I7SUUwSXRCLDRCQUFBO0VQNFhGO0FBQ0Y7O0FPeFZFO0VBN0JBLGlCRnRKdUI7RUV1SnZCLGtCRnZKdUI7RUV3SnZCLHdCQUFBO0VBQ0EsNEJBQUE7QVB5WEY7QVFTSTtFRHhXRjtJQXZCRSxpQkYzSnlCO0lFNEp6QixrQkY1SnlCO0lFNkp6Qiw0QkFBQTtFUDBYRjtBQUNGO0FRRUk7RUR4V0Y7SUFqQkUsaUJGaEtxQjtJRWlLckIsa0JGaktxQjtJRWtLckIsNEJBQUE7RVAyWEY7QUFDRjtBUUxJO0VEeFdGO0lBWEUsaUJGcktxQjtJRXNLckIsa0JGdEtxQjtJRXVLckIsNkJBQUE7RVA0WEY7QUFDRjtBUVpJO0VEeFdGO0lBTEUsaUJGMUtzQjtJRTJLdEIsa0JGM0tzQjtJRTRLdEIsNkJBQUE7RVA2WEY7QUFDRjs7QU9uV0U7RUFuQkEsaUJGakxvQjtFRWtMcEIseUJBQUE7QVAwWEY7QVF4Qkk7RURoVkY7SUFmRSxpQkZwTHNCO0VMK2lCeEI7QUFDRjtBUTdCSTtFRGhWRjtJQVhFLGlCRnZMa0I7RUxtakJwQjtBQUNGO0FRbENJO0VEaFZGO0lBUEUsaUJGMUxrQjtFTHVqQnBCO0FBQ0Y7QVF2Q0k7RURoVkY7SUFIRSxpQkY3TG1CO0VMMmpCckI7QUFDRjs7QU9wV0U7RUFuQkEsb0JGek1vQjtFRTBNcEIseUJBQUE7QVAyWEY7QVFqREk7RUR4VEY7SUFmRSxvQkY1TXNCO0VMd2tCeEI7QUFDRjtBUXRESTtFRHhURjtJQVhFLG9CRi9Na0I7RUw0a0JwQjtBQUNGO0FRM0RJO0VEeFRGO0lBUEUsb0JGbE5rQjtFTGdsQnBCO0FBQ0Y7QVFoRUk7RUR4VEY7SUFIRSxvQkZyTm1CO0VMb2xCckI7QUFDRjs7QU9yV0U7RUFuQkEsa0JGeE91QjtFRXlPdkIseUJBQUE7QVA0WEY7QVExRUk7RURoU0Y7SUFmRSxrQkYzT3lCO0VMd21CM0I7QUFDRjtBUS9FSTtFRGhTRjtJQVhFLGtCRjlPcUI7RUw0bUJ2QjtBQUNGO0FRcEZJO0VEaFNGO0lBUEUsa0JGalBxQjtFTGduQnZCO0FBQ0Y7QVF6Rkk7RURoU0Y7SUFIRSxrQkZwUHNCO0VMb25CeEI7QUFDRjs7QU90V0U7RUFuQkEsbUJGaFF1QjtFRWlRdkIseUJBQUE7QVA2WEY7QVFuR0k7RUR4UUY7SUFmRSxtQkZuUXlCO0VMaW9CM0I7QUFDRjtBUXhHSTtFRHhRRjtJQVhFLG1CRnRRcUI7RUxxb0J2QjtBQUNGO0FRN0dJO0VEeFFGO0lBUEUsbUJGelFxQjtFTHlvQnZCO0FBQ0Y7QVFsSEk7RUR4UUY7SUFIRSxtQkY1UXNCO0VMNm9CeEI7QUFDRjs7QU92WEU7RUFuR0EsaUJGakxvQjtFRWtMcEIseUJBQUE7RUF1QkEsb0JGek1vQjtFRTBNcEIseUJBQUE7QVB3Y0Y7QVE5SEk7RURoUUY7SUEvRkUsaUJGcExzQjtFTHFwQnhCO0FBQ0Y7QVFuSUk7RURoUUY7SUEzRkUsaUJGdkxrQjtFTHlwQnBCO0FBQ0Y7QVF4SUk7RURoUUY7SUF2RkUsaUJGMUxrQjtFTDZwQnBCO0FBQ0Y7QVE3SUk7RURoUUY7SUFuRkUsaUJGN0xtQjtFTGlxQnJCO0FBQ0Y7QVFsSkk7RURoUUY7SUF2RUUsb0JGNU1zQjtFTHlxQnhCO0FBQ0Y7QVF2Skk7RURoUUY7SUFuRUUsb0JGL01rQjtFTDZxQnBCO0FBQ0Y7QVE1Skk7RURoUUY7SUEvREUsb0JGbE5rQjtFTGlyQnBCO0FBQ0Y7QVFqS0k7RURoUUY7SUEzREUsb0JGck5tQjtFTHFyQnJCO0FBQ0Y7O0FPOVpFO0VBbkNBLG1CRmhRdUI7RUVpUXZCLHlCQUFBO0VBekJBLGtCRnhPdUI7RUV5T3ZCLHlCQUFBO0FQK2RGO0FRN0tJO0VEeFBGO0lBL0JFLG1CRm5ReUI7RUwyc0IzQjtBQUNGO0FRbExJO0VEeFBGO0lBM0JFLG1CRnRRcUI7RUwrc0J2QjtBQUNGO0FRdkxJO0VEeFBGO0lBdkJFLG1CRnpRcUI7RUxtdEJ2QjtBQUNGO0FRNUxJO0VEeFBGO0lBbkJFLG1CRjVRc0I7RUx1dEJ4QjtBQUNGO0FRak1JO0VEeFBGO0lBdkRFLGtCRjNPeUI7RUwrdEIzQjtBQUNGO0FRdE1JO0VEeFBGO0lBbkRFLGtCRjlPcUI7RUxtdUJ2QjtBQUNGO0FRM01JO0VEeFBGO0lBL0NFLGtCRmpQcUI7RUx1dUJ2QjtBQUNGO0FRaE5JO0VEeFBGO0lBM0NFLGtCRnBQc0I7RUwydUJ4QjtBQUNGOztBT2phRTtFQXRDQSxnQkFBQTtFQUNBLHlCRmxRWTtFRW1RWiwyUkFBQTtFQVVBLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLHNCQUFBO0VBRUEsdUJBQUE7RUFDQSxtQkFBQTtFQUVBLGlCQUFBO0VBQ0EsY0Y1UmE7RUU2UmIsZUFBQTtFQUNBLG1CQUFBO0VBRUEseUJBQUE7RUFDQSxrQkFBQTtFQUNBLHFEQUFBO0VBR0EsaUJBQUE7RUFDQSxnQkFBQTtBUDZiRjtBTzFiRTtFQUNFLHNCQUFBO0FQNGJKOztBTzFhRTtFQVRBLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0Esc0JBQUE7RUFDQSxTQUFBO0FQdWJGOztBTzlhRTtFQUZBLGdCQUFBO0FQb2JGOztBT3RVQTtFQXZHRSxpQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtBUGliRjtBUWpRSTtFRDNFSjtJQWxHSSxpQkFBQTtFUGtiRjtBQUNGOztBTzdVQTtFQWpHRSxpQkFBQTtFQUNBLHFCQUFBO0VBOVhBLCtFQUFBO0VBaVlBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBV0EsNkJBQUE7RUFDQSxnQ0FBQTtFQUlBLHNCQUFBO0VBT0EsaUJBQUE7QVA4WkY7QU81WkU7RUFDRSxnQkFBQTtBUDhaSjtBTzNaRTtFQUNFLHVCQUFBO0VBQ0EseUJGcllLO0VFc1lMLGNGNVhLO0FMeXhCVDtBTzFaRTtFQUNFLHVCQUFBO0VBQ0EseUJGeFlLO0VFeVlMLGNGbFlLO0FMOHhCVDtBT3paRTtFQUNFLHVCQUFBO0VBQ0EseUJGN1lLO0VFOFlMLGNGeFlLO0FMbXlCVDtBT3haRTtFQUNFLHVCQUFBO0VBQ0EseUJGbFpLO0VFbVpMLGNGOVlLO0FMd3lCVDtBT3ZaRTtFQUNFLHVCQUFBO0VBQ0EseUJGalpLO0VFa1pMLGNGcFpLO0FMNnlCVDtBT3RaRTtFQWhiQSx5QkZvQ1k7RUVuQ1osMklBQUE7RUFpYkUsdUJBQUE7RUFDQSx5QkFBQTtFQUNBLGNGM1pLO0FMb3pCVDs7QU96WEE7RUEzQkUsaUJBQUE7RUFDQSxxQkFBQTtBUHdaRjs7QU8xWEE7RUExQkUsaUJBQUE7RUFDQSxxQkFBQTtBUHdaRjs7QU8zWEE7RUF6QkUsaUJBQUE7RUFDQSxxQkFBQTtBUHdaRjs7QU81WEE7RUF4QkUsaUJBQUE7RUFDQSxxQkFBQTtBUHdaRjs7QU81VkE7RUF6UUUsbUJGaFF1QjtFRWlRdkIseUJBQUE7RUF6QkEsa0JGeE91QjtFRXlPdkIseUJBQUE7RUFrUUEsa0JBQUE7RUFDQSxtQkFBQTtFQUNBLHdCQUFBO0VBQ0EsNEJBQUE7QVBrWUY7QVFyVkk7RURsQko7SUFyUUksbUJGblF5QjtFTG0zQjNCO0FBQ0Y7QVExVkk7RURsQko7SUFqUUksbUJGdFFxQjtFTHUzQnZCO0FBQ0Y7QVEvVkk7RURsQko7SUE3UEksbUJGelFxQjtFTDIzQnZCO0FBQ0Y7QVFwV0k7RURsQko7SUF6UEksbUJGNVFzQjtFTCszQnhCO0FBQ0Y7QVF6V0k7RURsQko7SUE3Ukksa0JGM095QjtFTHU0QjNCO0FBQ0Y7QVE5V0k7RURsQko7SUF6Ukksa0JGOU9xQjtFTDI0QnZCO0FBQ0Y7QVFuWEk7RURsQko7SUFyUkksa0JGalBxQjtFTCs0QnZCO0FBQ0Y7QVF4WEk7RURsQko7SUFqUkksa0JGcFBzQjtFTG01QnhCO0FBQ0Y7QVE3WEk7RURsQko7SUF4Qkksa0JBQUE7SUFDQSxtQkFBQTtJQUNBLDRCQUFBO0VQMmFGO0FBQ0Y7QVFwWUk7RURsQko7SUFsQkksa0JBQUE7SUFDQSxtQkFBQTtJQUNBLDRCQUFBO0VQNGFGO0FBQ0Y7QVEzWUk7RURsQko7SUFaSSxrQkFBQTtJQUNBLG1CQUFBO0lBQ0EsNkJBQUE7RVA2YUY7QUFDRjtBUWxaSTtFRGxCSjtJQU5JLGNBQUE7SUFDQSxlQUFBO0lBQ0EsZUFBQTtFUDhhRjtBQUNGOztBTzFaQTtFQVpFLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSx5QkZyZk87RUVzZlAsbUNBQUE7RUFDQSxnQ0FBQTtFQUNBLGtDQUFBO0VBQ0EsaUJBQUE7RUFDQSxXRmpmVztBTDI1QmI7O0FPOVpBO0VBSkUseUJGOWZhO0VFK2ZiLHlCQUFBO0FQc2FGOztBU3g5QkE7Ozs7R0FBQTtBQU9BO0VBQ0Usc0JBQUE7QVR5OUJGOztBU3Q5QkE7RUFDRSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtBVHk5QkY7O0FTdDlCQTtFQUNFLGdCQUFBO0VBQ0EsU0FBQTtFQUNBLGFBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCSnlCTztFSXZCUCxpQ0FBQTtFQUNBLGlCQUFBO0VBQ0EsV0o4Qlc7QUwwN0JiOztBU3I5QkE7RUFDRSxnQkFBQTtFQUNBLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsV0FBQTtBVHc5QkY7O0FTbjlCQTtFRm9WRSxpQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQS9TQSxtQkZyRG9CO0VFc0RwQix3QkFBQTtFQXZFQSwrRUFBQTtFRW9DQSxrQkFBQTtFQUdBOzs7Ozs7OztHQUFBO0VBU0EsNkJBQUE7RUFFQSxnQ0FBQTtFQUdBLGtCQUFBO0FUbTlCRjtBUW5lSTtFQ3RnQko7SUZ5VkksaUJBQUE7RVBvcEJGO0FBQ0Y7QVF4ZUk7RUN0Z0JKO0lGMkNJLG1CRnhEc0I7RUwrL0J4QjtBQUNGO0FRN2VJO0VDdGdCSjtJRitDSSxtQkYzRGtCO0VMbWdDcEI7QUFDRjtBUWxmSTtFQ3RnQko7SUZtREksbUJGOURrQjtFTHVnQ3BCO0FBQ0Y7QVF2Zkk7RUN0Z0JKO0lGdURJLG1CRmpFbUI7RUwyZ0NyQjtBQUNGO0FTMStCRTtFQUNFLGdCQUFBO0FUNCtCSjtBU3orQkU7RUFDRSx1QkFBQTtFQUNBLHlCSnBCSztFSXVCTCxjSnpCSztBTGtnQ1Q7QVN0K0JFO0VBQ0UsdUJBQUE7RUFDQSx5Qkp4Q0s7RUkyQ0wsY0pqQ0s7QUx1Z0NUO0FTbitCRTtFQUNFLHVCQUFBO0VBQ0EseUJKN0NLO0VJZ0RMLGNKekNLO0FMNGdDVDtBU2grQkU7RUFDRSx1QkFBQTtFQUNBLHlCSnBESztFSXVETCxjSmpESztBTGloQ1Q7QVM3OUJFO0VBQ0UsdUJBQUE7RUFDQSx5QkozREs7RUk4REwsY0p6REs7QUxzaENUOztBU3o5QkE7RUZ5UkUsaUJBQUE7RUFDQSxxQkFBQTtFQTlYQSwrRUFBQTtFQWlZQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQVdBLDZCQUFBO0VBQ0EsZ0NBQUE7RUFJQSxzQkFBQTtFQU9BLGlCQUFBO0FQZ3JCRjtBTzlxQkU7RUFDRSxnQkFBQTtBUGdyQko7QU83cUJFO0VBQ0UsdUJBQUE7RUFDQSx5QkZyWUs7RUVzWUwsY0Y1WEs7QUwyaUNUO0FPNXFCRTtFQUNFLHVCQUFBO0VBQ0EseUJGeFlLO0VFeVlMLGNGbFlLO0FMZ2pDVDtBTzNxQkU7RUFDRSx1QkFBQTtFQUNBLHlCRjdZSztFRThZTCxjRnhZSztBTHFqQ1Q7QU8xcUJFO0VBQ0UsdUJBQUE7RUFDQSx5QkZsWks7RUVtWkwsY0Y5WUs7QUwwakNUO0FPenFCRTtFQUNFLHVCQUFBO0VBQ0EseUJGalpLO0VFa1pMLGNGcFpLO0FMK2pDVDtBT3hxQkU7RUFoYkEseUJGb0NZO0VFbkNaLDJJQUFBO0VBaWJFLHVCQUFBO0VBQ0EseUJBQUE7RUFDQSxjRjNaSztBTHNrQ1Q7O0FTcmdDQTtFRitWRSxpQkFBQTtFQUNBLHFCQUFBO0FQMHFCRjs7QVNuZ0NBO0VGNlZFLGlCQUFBO0VB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UXZCLHlCQUFBO0lBekJBLGtCRnhPdUI7SUV5T3ZCLHlCQUFBO0lHNkVVLFdBQUE7SUFDQSxpQkxoVUE7SUtpVUEsY0FBQTtJQUNBLFlMNVRJO0lLNlRKLG1CQUFBO0lBRUEsaUJBQUE7SUFDQSx1QkFBQTtFVjh0Q1Y7QUFDRjtBUWpnQ0k7RUVuUEk7SUhwQ0osbUJGblF5QjtFTCtoRDNCO0FBQ0Y7QVF0Z0NJO0VFblBJO0lIaENKLG1CRnRRcUI7RUxtaUR2QjtBQUNGO0FRM2dDSTtFRW5QSTtJSDVCSixtQkZ6UXFCO0VMdWlEdkI7QUFDRjtBUWhoQ0k7RUVuUEk7SUh4QkosbUJGNVFzQjtFTDJpRHhCO0FBQ0Y7QVFyaENJO0VFblBJO0lINURKLGtCRjNPeUI7RUxtakQzQjtBQUNGO0FRMWhDSTtFRW5QSTtJSHhESixrQkY5T3FCO0VMdWpEdkI7QUFDRjtBUS9oQ0k7RUVuUEk7SUhwREosa0JGalBxQjtFTDJqRHZCO0FBQ0Y7QVFwaUNJO0VFblBJO0lIaERKLGtCRnBQc0I7RUwrakR4QjtBQUNGO0FVcHdDVTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLHlCTGpUSDtBTHVqRFQ7QVVod0NZO0VBQ0UseUJMeFRMO0FMMGpEVDtBVWh3Q2M7RUFDRSxlQUFBO0VBQ0EseUJMNVRQO0FMOGpEVDtBVWh3Q2dCO0VBQ0UsZUFBQTtFQUNBLHlCTGhVVDtBTGtrRFQ7QVUvdkNnQjtFQUNFLGVBQUE7RUFDQSx5QkxyVVQ7QUxza0RUO0FVNXZDWTtFQUNFLHlCTDlVTDtBTDRrRFQ7QVU1dkNjO0VBQ0UsZUFBQTtFQUNBLHlCTGxWUDtBTGdsRFQ7QVU1dkNnQjtFQUNFLGVBQUE7RUFDQSx5Qkx0VlQ7QUxvbERUO0FVM3ZDZ0I7RUFDRSxlQUFBO0VBQ0EseUJMM1ZUO0FMd2xEVDtBVXh2Q1k7RUFDRSx5Qkw3Vkw7QUx1bERUO0FVeHZDYztFQUNFLGVBQUE7RUFDQSx5QkxqV1A7QUwybERUO0FVeHZDZ0I7RUFDRSxlQUFBO0VBQ0EseUJMcldU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RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSx5QkFBQTtBVm12Q2xCO0FVaHZDZ0I7RUFDRSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FWa3ZDbEI7QVF4eUNJO0VFY1U7SUE0Q0ksWUx6bEJIO0lLMGxCRyw4Q0FBQTtFVmt2Q2hCO0VVaHZDZ0I7SUFDRSxhQUFBO0VWa3ZDbEI7QUFDRjtBVS91Q2dCO0VBQ0UsaUJBQUE7RUFTQSxxQkFBQTtFQUVBLG9CQUFBO0FWd3VDbEI7QVF0ekNJO0VFa0VZO0lBbUJJLFlMcG5CTDtJS3NuQkssbUJBQUE7SUFDQSxrQkFBQTtFVm91Q2xCO0FBQ0Y7QVU3dENvQjtFQUNFLG1CQUFBO0FWK3RDdEI7QVV4dEN3QjtFQUNFLGlCQUFBO0FWMHRDMUI7O0FVOXNDTTtFQUNFLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLFVBQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQTtBVml0Q1I7QVFoMUNJO0VFcUhFO0lIaFpKLG1CRmhRdUI7SUVpUXZCLHlCQUFBO0lBekJBLGtCRnhPdUI7SUV5T3ZCLHlCQUFBO0lHcWJRLFdBQUE7SUFDQSxZTG5xQks7SUtvcUJMLGtCQUFBO0lBQ0EsTUFBQTtJQUNBLFFBQUE7SUFDQSxVQUFBO0VWcXRDUjtBQUNGO0FROTFDSTtFRXFIRTtJSDVZRixtQkZuUXlCO0VMNDNEM0I7QUFDRjtBUW4yQ0k7RUVxSEU7SUh4WUYsbUJGdFFxQjtFTGc0RHZCO0FBQ0Y7QVF4MkNJO0VFcUhFO0lIcFlGLG1CRnpRcUI7RUxvNER2QjtBQUNGO0FRNzJDSTtFRXFIRTtJSGhZRixtQkY1UXNCO0VMdzREeEI7QUFDRjtBUWwzQ0k7RUVxSEU7SUhwYUYsa0JGM095QjtFTGc1RDNCO0FBQ0Y7QVF2M0NJO0VFcUhFO0lIaGFGLGtCRjlPcUI7RUxvNUR2QjtBQUNGO0FRNTNDSTtFRXFIRTtJSDVaRixrQkZqUHFCO0VMdzVEdkI7QUFDRjtBUWo0Q0k7RUVxSEU7SUh4WkYsa0JGcFBzQjtFTDQ1RHhCO0FBQ0Y7QVUzdkNRO0VBQ0UsV0FBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLFNBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxnQkFBQTtFQUNBLHFCQUFBO09BQUEsZ0JBQUE7RUFDQSxpQkFBQTtBVjZ2Q1Y7QVFqNUNJO0VFMklJO0lBWUksV0FBQTtJQUNBLFlMdnJCRztJS3dyQkgsbUJBQUE7SUFFQSxtQkFBQTtJQUNBLHlCQUFBO0VWNnZDVjtBQUNGO0FVM3ZDVTtFSDFiUixtQkZoUXVCO0VFaVF2Qix5QkFBQTtFQXpCQSxrQkZ4T3VCO0VFeU92Qix5QkFBQTtFR21kVSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0NBQUE7RUFDQSxrQkFBQTtBVmd3Q1o7QVF2NkNJO0VFK0pNO0lIdGJOLG1CRm5ReUI7RUxxOEQzQjtBQUNGO0FRNTZDSTtFRStKTTtJSGxiTixtQkZ0UXFCO0VMeThEdkI7QUFDRjtBUWo3Q0k7RUUrSk07SUg5YU4sbUJGelFxQjtFTDY4RHZCO0FBQ0Y7QVF0N0NJO0VFK0pNO0lIMWFOLG1CRjVRc0I7RUxpOUR4QjtBQUNGO0FRMzdDSTtFRStKTTtJSDljTixrQkYzT3lCO0VMeTlEM0I7QUFDRjtBUWg4Q0k7RUUrSk07SUgxY04sa0JGOU9xQjtFTDY5RHZCO0FBQ0Y7QVFyOENJO0VFK0pNO0lIdGNOLGtCRmpQcUI7RUxpK0R2QjtBQUNGO0FRMThDSTtFRStKTTtJSGxjTixrQkZwUHNCO0VMcStEeEI7QUFDRjtBUS84Q0k7RUUrSk07SUFXSSxXQUFBO0lBQ0EsZ0JBQUE7SUFDQSxlQUFBO0lBQ0Esb0JBQUE7RVZ5eUNaO0FBQ0Y7QVV2eUNZO0VBQ0UsWUxodEJDO0VLaXRCRCx5QkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsY0xsckJDO0FMMjlEZjtBVXZ5Q2M7RUFDRSxjQUFBO0FWeXlDaEI7QVU5eENNO0VBQ0UsV0FBQTtFQUNBLHlCTGxzQk87QUxrK0RmOztBVTd4Q0k7RUh0ZUYsbUJGaFF1QjtFRWlRdkIseUJBQUE7RUd1ZUksV0FBQTtFQUNBLFlML3VCZTtFS2d2QmYsYUFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsUUFBQTtFQUNBLFVBQUE7QVZpeUNOO0FRci9DSTtFRTJNQTtJSGxlQSxtQkZuUXlCO0VMbWhFM0I7QUFDRjtBUTEvQ0k7RUUyTUE7SUg5ZEEsbUJGdFFxQjtFTHVoRXZCO0FBQ0Y7QVEvL0NJO0VFMk1BO0lIMWRBLG1CRnpRcUI7RUwyaEV2QjtBQUNGO0FRcGdESTtFRTJNQTtJSHRkQSxtQkY1UXNCO0VMK2hFeEI7QUFDRjtBUXpnREk7RUUyTUE7SUFZSSxZTHR2Qk87SUt1dkJQLGVBQUE7RVZzekNOO0FBQ0Y7O0FVcHpDTTtFQUNFLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsU0FBQTtBVnV6Q1I7QVF0aERJO0VFMk5FO0lBT0ksWUxqd0JLO0lLa3dCTCxhQUFBO0VWd3pDUjtBQUNGO0FVdHpDUTtFQUNFLGNManVCSztBTHloRWY7QVV0ekNVO0VBQ0UsY0FBQTtBVnd6Q1o7QVUveUNNO0VBQ0UsY0FBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0FWaXpDUjtBUXhpREk7RUVtUEU7SUFPSSxpQkFBQTtFVmt6Q1I7QUFDRjtBUTdpREk7RUVtUEU7SUFXSSxhQUFBO0VWbXpDUjtBQUNGO0FVanpDUTtFQUNFLGNMNXZCSztBTCtpRWY7QVVqekNVO0VBQ0UsY0FBQTtBVm16Q1o7O0FVOXlDSTtFSGx4QkYsV0FBQTtFQUNBLFlBQUE7RUdteEJJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esa0JBQUE7RUFDQSxTTGh6QmU7RUtpekJmLE9BQUE7RUFDQSx5Qkxwd0JRO0VLcXdCUixVQUFBO0FWa3pDTjtBUXBrREk7RUUwUUE7SUFXSSxTTHB6Qk87SUtxekJQLGFBQUE7RVZtekNOO0FBQ0Y7QVVqekNNO0VIcGpCSixtQkZoUXVCO0VFaVF2Qix5QkFBQTtFQXpCQSxrQkZ4T3VCO0VFeU92Qix5QkFBQTtBUGs0REY7QVFobERJO0VFeVJFO0lIaGpCRixtQkZuUXlCO0VMOG1FM0I7QUFDRjtBUXJsREk7RUV5UkU7SUg1aUJGLG1CRnRRcUI7RUxrbkV2QjtBQUNGO0FRMWxESTtFRXlSRTtJSHhpQkYsbUJGelFxQjtFTHNuRXZCO0FBQ0Y7QVEvbERJO0VFeVJFO0lIcGlCRixtQkY1UXNCO0VMMG5FeEI7QUFDRjtBUXBtREk7RUV5UkU7SUh4a0JGLGtCRjNPeUI7RUxrb0UzQjtBQUNGO0FRem1ESTtFRXlSRTtJSHBrQkYsa0JGOU9xQjtFTHNvRXZCO0FBQ0Y7QVE5bURJO0VFeVJFO0lIaGtCRixrQkZqUHFCO0VMMG9FdkI7QUFDRjtBUW5uREk7RUV5UkU7SUg1akJGLGtCRnBQc0I7RUw4b0V4QjtBQUNGOztBV3JxRUE7O0dBQUE7QUFJQTtFSnlDRSxXQUFBO0VBQ0EsaUJGckNVO0VFc0NWLGNBQUE7RUl6Q0EsWUFBQTtFQUNBLGVBQUE7RUFDQSxhQUFBO0VBQ0EsK0JBQUE7RUFDQSx3QkFBQTtBWHlxRUY7O0FXdHFFRTtFQUNFLFlBQUE7RUFDQSxVQUFBO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7QVh5cUVKO0FXdnFFSTtFQUNFLFdBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLGNOMkJTO0VNMUJULGNBQUE7RUFDQSx5QkFBQTtFQUNBLGdCQUFBO0VBQ0EsYUFBQTtBWHlxRU47QVd0cUVJO0VBQ0UsV0FBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QkFBQTtFQUNBLGNBQUE7RUFDQSx1QkFBQTtFQUNBLGNOWVM7QUw0cEVmOztBV3BxRUU7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0VBQ0EsY05TVTtFTVJWLGlCQUFBO0VBQ0EseUJBQUE7RUFDQSxrQ0FBQTtBWHVxRUo7QVdycUVJO0VBQ0UseUJBQUE7QVh1cUVOOztBWTl0RUE7O0dBQUE7QUFLQTtFTEdFLCtFQUFBO0VBNkJBLFdBQUE7RUFDQSxZQUFBO0VLOUJBLGlCQUFBO0VBQ0EsZUFBQTtBWmd1RUY7O0FZOXRFRTtFQUNFLFlBQUE7RUFDQSxnQkFBQTtFQUNBLDBDQUFBO0VBQ0EsNkJBQUE7QVppdUVKOztBWS90RUk7RUxvQkYsV0FBQTtFQUNBLFlBQUE7QVArc0VGOztBWWh1RU07RUx3QkosV0FBQTtFQUNBLGlCRnJDVTtFRXNDVixjQUFBO0VBbU9BLG1CRmhRdUI7RUVpUXZCLHlCQUFBO0VBekJBLGtCRnhPdUI7RUV5T3ZCLHlCQUFBO0FQb2dFRjtBUWx0REk7RUl4aEJFO0lMaVFGLG1CRm5ReUI7RUxndkUzQjtBQUNGO0FRdnRESTtFSXhoQkU7SUxxUUYsbUJGdFFxQjtFTG92RXZCO0FBQ0Y7QVE1dERJO0VJeGhCRTtJTHlRRixtQkZ6UXFCO0VMd3ZFdkI7QUFDRjtBUWp1REk7RUl4aEJFO0lMNlFGLG1CRjVRc0I7RUw0dkV4QjtBQUNGO0FRdHVESTtFSXhoQkU7SUx5T0Ysa0JGM095QjtFTG93RTNCO0FBQ0Y7QVEzdURJO0VJeGhCRTtJTDZPRixrQkY5T3FCO0VMd3dFdkI7QUFDRjtBUWh2REk7RUl4aEJFO0lMaVBGLGtCRmpQcUI7RUw0d0V2QjtBQUNGO0FRcnZESTtFSXhoQkU7SUxxUEYsa0JGcFBzQjtFTGd4RXhCO0FBQ0Y7O0FZNXdFUTtFQUNFLGdCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7QVord0VWO0FZN3dFVTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtBWit3RVo7QVk3d0VZO0VBQ0UsbUJBQUE7RUFDQSwwQkFBQTtBWit3RWQ7QVk1d0VZO0VBRUUsaUJBQUE7QVo2d0VkO0FZendFVTtFQUNFLGFBQUE7RUFDQSxnQkFBQTtBWjJ3RVo7O0FZenZFUTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUVBLFNQL0RXO0VPZ0VYLGNBQUE7RUFFQSxpQkFBQTtBWjB2RVY7QVl4dkVVO0VBQ0UseUJQekNIO0FMbXlFVDtBUTl4REk7RUl4ZUk7SUFnQkksWUFB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QUFBO0VBQ0Esd0JBQUE7QVp3cEVSO0FRMWtFSTtFSWpGRTtJQU1JLDBCQUFBO0lBQ0Esd0JBQUE7RVp5cEVSO0FBQ0Y7O0FZdHBFTTtFQUNFLDhCQUFBO0VBQ0EsNkJBQUE7QVp5cEVSO0FRcmxFSTtFSXRFRTtJQUtJLGdDQUFBO0lBQ0EsNEJBQUE7RVowcEVSO0FBQ0Y7O0FZeHBFUTtFQUNFLFdBQUE7RUFDQSxnQkFBQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtBWjJwRVY7QVFsbUVJO0VJN0RJO0lBT0kscUJBQUE7SUFDQSxXQUFBO0VaNHBFVjtBQUNGO0FZcnBFVTtFTDNkUixXQUFBO0VBQ0EsWUFBQTtBUG1uRkY7O0FZanBFWTtFTDNkVixXQUFBO0VBQ0EsaUJGckNVO0VFc0NWLGNBQUE7RUFtT0EsbUJGaFF1QjtFRWlRdkIseUJBQUE7RUF6QkEsa0JGeE91QjtFRXlPdkIseUJBQUE7RUF6QkEsb0JGek1vQjtFRTBNcEIseUJBQUE7QVBrOEVGO0FReG5FSTtFSXJDUTtJTGxQUixtQkZuUXlCO0VMc3BGM0I7QUFDRjtBUTduRUk7RUlyQ1E7SUw5T1IsbUJGdFFxQjtFTDBwRnZCO0FBQ0Y7QVFsb0VJO0VJckNRO0lMMU9SLG1CRnpRcUI7RUw4cEZ2QjtBQUNGO0FRdm9FSTtFSXJDUTtJTHRPUixtQkY1UXNCO0VMa3FGeEI7QUFDRjtBUTVvRUk7RUlyQ1E7SUwxUVIsa0JGM095QjtFTDBxRjNCO0FBQ0Y7QVFqcEVJO0VJckNRO0lMdFFSLGtCRjlPcUI7RUw4cUZ2QjtBQUNGO0FRdHBFSTtFSXJDUTtJTGxRUixrQkZqUHFCO0VMa3JGdkI7QUFDRjtBUTNwRUk7RUlyQ1E7SUw5UFIsa0JGcFBzQjtFTHNyRnhCO0FBQ0Y7QVFocUVJO0VJckNRO0lMbFNSLG9CRjVNc0I7RUx1ckZ4QjtBQUNGO0FRcnFFSTtFSXJDUTtJTDlSUixvQkYvTWtCO0VMMnJGcEI7QUFDRjtBUTFxRUk7RUlyQ1E7SUwxUlIsb0JGbE5rQjtFTCtyRnBCO0FBQ0Y7QVEvcUVJO0VJckNRO0lMdFJSLG9CRnJObUI7RUxtc0ZyQjtBQUNG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QUNBLFlBQUE7QWRrNkZWIiwiZmlsZSI6ImRlZmF1bHQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gICogREVGQVVMVCBTVFlMRVNIRUVUXG4gICpcbiAgKiBUaGlzIHdpbGwgYmUgdXNlZCB1bmxlc3MgYSBwYWdlIHNwZWNpZmljYWxseSBjYWxscyBhIGRpZmZlcmVudCBzaGVldC5cbiAgKi9cbi8qKlxuICAqIENPTU1PTiBTVFlMRVNcbiAgKlxuICAqIERlZmluZXMgdGhlIHN0eWxlcyB0byBpbXBvcnQgdGhhdCBhcmUgcmVxdWlyZWQgYnkgdmlydHVhbGx5IGFsbCBwYWdlcy5cbiAgKi9cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9YnV0dG9uXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXJlc2V0XTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXN1Ym1pdF06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1idXR0b25dOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9cmVzZXRdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9c3VibWl0XTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9c2VhcmNoXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gICogU0NTUyBCUkVBS1BPSU5UU1xuICAqXG4gICogRGVmaW5lIGJyZWFrcG9pbnRzIGZvciBtZWRpYSBxdWVyeSB1c2UgYW5kIGV4cG9ydCB0aGVtIGZvciB1c2Ugd2l0aCBKUy5cbiAgKi9cbjpleHBvcnQge1xuICBicmVha3BvaW50UGhvbmVTbWFsbDogMzIwO1xuICBicmVha3BvaW50UGhvbmVMYXJnZTogNDgwO1xuICBicmVha3BvaW50VGFibGV0OiA3Njg7XG4gIGJyZWFrcG9pbnRMYXB0b3A6IDk5MjtcbiAgYnJlYWtwb2ludERlc2t0b3A6IDEyMDA7XG4gIGJyZWFrcG9pbnREZXNrdG9wTGFyZ2U6IDE0MDA7XG4gIGJyZWFrcG9pbnRIZDogMTkyMDtcbn1cblxuLyoqXG4gICogU0NTUyBWQVJJQUJMRVNcbiAgKi9cbi8qKlxuICAqIERpbWVuc2lvbnM6XG4gICovXG4vKipcbiAgKiBDb2xvcnM6XG4gICovXG4vKipcbiAgKiBGT05UIFNUWUxFU1xuICAqXG4gICogRGVmaW5lIEBmb250LWZhY2Ugc3R5bGVzLlxuICAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBNb250c2VycmF0O1xuICBzcmM6IHVybCguLi9mb250cy9Nb250c2VycmF0LVJlZ3VsYXIudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBNb250c2VycmF0O1xuICBzcmM6IHVybCguLi9mb250cy9Nb250c2VycmF0LUJvbGQudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLyoqXG4gICogU0NTUyBNSVhJTlNcbiAgKlxuICAqIFN0YW5kYXJkaXplZCBzdHlsZSBjaHVua3MsIHByb3ZpZGVkIGFzIGJvdGggU0NTUyBtaXhpbnMgYW5kIEhUTUwgY2xhc3Nlcy5cbiAgKi9cbi5iZy1ncmFkaWVudC1saWdodCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2Y0ZjlmMCwgI2ZmZjNmMywgI2ViZjBmOSwgI2Y3ZjNmYSk7XG59XG5cbi5iZy1ncmFkaWVudC1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY1NjU2NTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDc5LCAxMjMsIDUwLCAwLjEpLCByZ2JhKDI0MywgMCwgMCwgMC4xKSwgcmdiYSgxMDcsIDE0MywgMjA4LCAwLjEpLCByZ2JhKDg4LCA1MCwgMTIyLCAwLjEpKTtcbn1cblxuLndyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uaW5uZXItd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5tYXItdG9wIHtcbiAgbWFyZ2luLXRvcDogMjVweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tYXItdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1hci10b3Age1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFyLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFyLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxufVxuXG4ubWFyLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFyLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYXItYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1hci1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1hci1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbn1cblxuLm1hci1ob3Jpem9udGFsIHtcbiAgbWFyZ2luLXRvcDogMjVweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1hci1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1hci1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1hci1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tYXItaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tYXItaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYXItaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYXItaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFyLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbn1cblxuLm1hci1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEwcHgpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tYXItcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI1cHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1hci1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFyLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFyLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDgwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgfVxufVxuXG4ubWFyLWxlZnQge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEwcHgpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tYXItbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNXB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYXItbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYXItbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFyLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gIH1cbn1cblxuLm1hci1ob3Jpem9udGFsIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tYXItaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNTBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFyLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1hci1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogNjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxMjBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1hci1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogODBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDgwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxNjBweCk7XG4gIH1cbn1cblxuLnBhZC10b3Age1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFkLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFkLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFkLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZC10b3Age1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICB9XG59XG5cbi5wYWQtYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZC1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZC1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZC1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWQtYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgfVxufVxuXG4ucGFkLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZC1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFkLWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWQtbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWQtbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICB9XG59XG5cbi5wYWQtcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWQtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFkLXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZC1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFkLXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5cbi5wYWQtdmVydGljYWwge1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFkLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWQtdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWQtdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFkLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWQtdmVydGljYWwge1xuICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWQtdmVydGljYWwge1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG59XG5cbi5wYWQtaG9yaXpvbnRhbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFkLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFkLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFkLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZC1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZC1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFkLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWQtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWQtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICB9XG59XG5cbi5idXR0b24ge1xuICBtaW4taGVpZ2h0OiA0MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjU2NTY1O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoNzksIDEyMywgNTAsIDAuMSksIHJnYmEoMjQzLCAwLCAwLCAwLjEpLCByZ2JhKDEwNywgMTQzLCAyMDgsIDAuMSksIHJnYmEoODgsIDUwLCAxMjIsIDAuMSkpLCBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpIDEwMCUpO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmOWY5Zjk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zLCB0ZXh0LXNoYWRvdyAyMDBtcztcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG4uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogZ3JheTtcbn1cblxuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4ubm8tc2Nyb2xsIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmgxIHtcbiAgZm9udC1zaXplOiAyLjFyZW07XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmgxIHtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgfVxufVxuXG4uaDIge1xuICBmb250LXNpemU6IDIuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS45cmVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmNGY5ZjAsICNmZmYzZjMsICNlYmYwZjksICNmN2YzZmEpO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGJvcmRlci10b3A6IDVweCBzb2xpZCAjYzljOWM5O1xuICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI2UyZTJlMjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG59XG4uaDIuY2xvc2Uge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmgyLnJlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVuc2V0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzAwMDAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5oMi5ncmVlbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVuc2V0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzg1NzIzO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5oMi5ibHVlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5zZXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NDcyYzQ7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmgyLnB1cnBsZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVuc2V0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2UyMzU2O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5oMi5ibGFjayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVuc2V0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5oMi5ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY1NjU2NTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDc5LCAxMjMsIDUwLCAwLjEpLCByZ2JhKDI0MywgMCwgMCwgMC4xKSwgcmdiYSgxMDcsIDE0MywgMjA4LCAwLjEpLCByZ2JhKDg4LCA1MCwgMTIyLCAwLjEpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5zZXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ODQ4NDg7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uaDMge1xuICBmb250LXNpemU6IDIuMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS44cmVtO1xufVxuXG4uaDQge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS43cmVtO1xufVxuXG4uaDUge1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS42cmVtO1xufVxuXG4uaDYge1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG4uZWRnZS10by1lZGdlIHtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuZWRnZS10by1lZGdlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVkZ2UtdG8tZWRnZSB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5lZGdlLXRvLWVkZ2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmVkZ2UtdG8tZWRnZSB7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5lZGdlLXRvLWVkZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lZGdlLXRvLWVkZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5lZGdlLXRvLWVkZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZWRnZS10by1lZGdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuZWRnZS10by1lZGdlIHtcbiAgICBtYXJnaW4tbGVmdDogLTI1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjVweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSArIDUwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmVkZ2UtdG8tZWRnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTMwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyA2MHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5lZGdlLXRvLWVkZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAtNjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC02MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlICsgMTIwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5lZGdlLXRvLWVkZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuLnVuZGVyLWhlYWRlciB7XG4gIG1hcmdpbjogMCAwIDI1cHggMDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlMmUyO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi51bmRlci1oZWFkZXItY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7XG59XG5cbi8qKlxuICAqIEhUTUwgRUxFTUVOVCBTVFlMRVNcbiAgKlxuICAqIFN0eWxlIGRlZmluaXRpb25zIGZvciBnbG9iYWwgZWxlbWVudCBzZWxlY3RvcnMuXG4gICovXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaHRtbCB7XG4gIGhlaWdodDogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuNztcbiAgZm9udC1zaXplOiA2Mi41JTtcbn1cblxuYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmciBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBmb250LWZhbWlseTogXCJOdW5pdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGNvbG9yOiAjNjY2O1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCAuaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgbWFyZ2luLXRvcDogM3JlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGNvbG9yOiAjMjIyO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMi4xcmVtO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2Y0ZjlmMCwgI2ZmZjNmMywgI2ViZjBmOSwgI2Y3ZjNmYSk7XG4gIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgLypcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgIHRvIHJpZ2h0LFxuICAgIGxpZ2h0ZW4oJGdyZWVuLCA3MiUpLFxuICAgIGxpZ2h0ZW4oJHJlZCwgNjAlKSxcbiAgICBsaWdodGVuKCRibHVlLCA0MyUpLFxuICAgIGxpZ2h0ZW4oJHB1cnBsZSwgNzMlKVxuICApO1xuICAqL1xuICBib3JkZXItdG9wOiA1cHggc29saWQgI2UyZTJlMjtcbiAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICNlMmUyZTI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICBoMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGgxIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgaDEge1xuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgaDEge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbn1cbmgxLmNsb3NlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbmgxLmJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5zZXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuaDEucmVkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5zZXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMDAwMDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuaDEuZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnNldDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM4NTcyMztcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5oMS5ibHVlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5zZXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NDcyYzQ7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuaDEucHVycGxlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5zZXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzZTIzNTY7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjlyZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2Y0ZjlmMCwgI2ZmZjNmMywgI2ViZjBmOSwgI2Y3ZjNmYSk7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICNjOWM5Yzk7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjZTJlMmUyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEuOHJlbTtcbn1cbmgyLmNsb3NlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbmgyLnJlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVuc2V0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzAwMDAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbmgyLmdyZWVuIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5zZXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzODU3MjM7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuaDIuYmx1ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVuc2V0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ3MmM0O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbmgyLnB1cnBsZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVuc2V0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2UyMzU2O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbmgyLmJsYWNrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5zZXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuaDIuZ3JheSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NTY1NjU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSg3OSwgMTIzLCA1MCwgMC4xKSwgcmdiYSgyNDMsIDAsIDAsIDAuMSksIHJnYmEoMTA3LCAxNDMsIDIwOCwgMC4xKSwgcmdiYSg4OCwgNTAsIDEyMiwgMC4xKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVuc2V0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDg0ODQ4O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuaDMge1xuICBmb250LXNpemU6IDIuMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS44cmVtO1xufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjdyZW07XG59XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcbn1cblxuaDYge1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG5wIHtcbiAgbWFyZ2luOiAwIDAgMS41cmVtIDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICM2NjU1MjI7XG59XG51bCwgb2wge1xuICBtYXJnaW46IDEuNXJlbSAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG59XG5cbmltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogQmVnaW4gYnV0dG9uIHN0eWxlcyAqL1xuYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyogRW5kIGJ1dHRvbiBzdHlsZXMgKi9cbmJsb2NrcXVvdGUge1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMwMDAwMDA7XG4gIG1hcmdpbjogMS41ZW0gMTBweDtcbiAgcGFkZGluZzogMC41ZW0gMzBweDtcbiAgcXVvdGVzOiBcIuKAnFwiO1xufVxuYmxvY2txdW90ZTpiZWZvcmUge1xuICBjb2xvcjogI2NjYztcbiAgY29udGVudDogb3Blbi1xdW90ZTtcbiAgZm9udC1zaXplOiA0ZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjFlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtMC40ZW07XG59XG5ibG9ja3F1b3RlIHAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbmJsb2NrcXVvdGUgcDpmaXJzdC1vZi10eXBlLCBibG9ja3F1b3RlIHA6bnRoLW9mLXR5cGUoMikge1xuICBmb250LXNpemU6IDEuM3JlbTtcbn1cblxuLyoqXG4gICogSEVBREVSIFNUWUxFU1xuICAqL1xuLmhlYWRlci13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZ3JpZC1yb3ctc3RhcnQ6IDE7XG4gIGdyaWQtcm93LWVuZDogMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDk5OTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcywgYm9yZGVyIDIwMG1zLCBib3gtc2hhZG93IDIwMG1zO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjU2NTY1O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuLmhlYWRlci1vdmVybGF5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NjY7XG4gIG9wYWNpdHk6IDAuNDtcbiAgLypcbiAgJi5taXRvbmV0d29yayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgfVxuXG4gICYubWl0b3RydXN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlO1xuICB9XG5cbiAgJi5taXRvbGlicmFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gIH1cbiAgKi9cbn1cbi5oZWFkZXItb3ZlcmxheS5taXRvZ3VpZGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzg1NzIzO1xufVxuLmhlYWRlci1vdmVybGF5Lm1pdG9ibG9nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNlMjM1Njtcbn1cbi5oZWFkZXItb3ZlcmxheS5iZy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM4NTcyMztcbn1cblxuLnRvcC1iYXItYmcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0NXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogNjtcbiAgZGlzcGxheTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcztcbn1cbi50b3AtYmFyLWJnLmJnLXZpc2libGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjU2NTY1O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b3AtYmFyLWJnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uYm90dG9tLWJhci1iZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA2O1xuICBkaXNwbGF5OiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDNlN2M1O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5ib3R0b20tYmFyLWJnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uYmV0YSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDIycHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNXB4O1xuICBsZWZ0OiA1cHg7XG4gIHotaW5kZXg6IDc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3M2IyNDg7XG59XG4uYmV0YSBzcGFuIHtcbiAgaGVpZ2h0OiAyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogIzczYjI0ODtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5iZXRhIHtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIHRvcDogMjBweDtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM3M2IyNDg7XG4gIH1cbiAgLmJldGEgc3BhbiB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxufVxuXG4uaGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgaGVpZ2h0OiA5MHB4O1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiA5MHB4IGF1dG87XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlciB7XG4gICAgaGVpZ2h0OiAyMDVweDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDEyMHB4IDcwcHg7XG4gIH1cbn1cblxuLmhlYWRlci1icmFuZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgaGVpZ2h0OiA5MHB4O1xuICBncmlkLWNvbHVtbjogMS9zcGFuIDE7XG4gIGdyaWQtcm93OiAxL3NwYW4gMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA1O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5oZWFkZXItYnJhbmQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLWJyYW5kIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaGVhZGVyLWJyYW5kIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXItYnJhbmQge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZWFkZXItYnJhbmQge1xuICAgIGhlaWdodDogMTEwcHg7XG4gICAgbWFyZ2luLXRvcDogMjIuNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cbn1cbi5oZWFkZXItYnJhbmQgYSB7XG4gIGhlaWdodDogOTBweDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogbGVmdDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVhZGVyLWJyYW5kIGEge1xuICAgIGhlaWdodDogMTEwcHg7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbn1cbi5oZWFkZXItYnJhbmQgYSAubG9nby1pbWFnZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVhZGVyLWJyYW5kIGEgLmxvZ28taW1hZ2Uge1xuICAgIGhlaWdodDogOTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cbi5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgY29sb3I6ICNmOWY5Zjk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQgLmxvZ28tdGV4dC10aXRsZSB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQgLmxvZ28tdGV4dC10aXRsZSBzcGFuLnJlZ2lzdGVyZWQge1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IC5sb2dvLXRleHQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICB9XG4gIC5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IC5sb2dvLXRleHQtdGl0bGUgc3Bhbi5yZWdpc3RlcmVkIHtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IC5sb2dvLXRleHQtdGl0bGUge1xuICAgIG1hcmdpbjogMjBweCBhdXRvIDAgYXV0bztcbiAgICBmb250LXNpemU6IDNyZW07XG4gIH1cbiAgLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQgLmxvZ28tdGV4dC10aXRsZSBzcGFuLnJlZ2lzdGVyZWQge1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICB9XG59XG4uaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAubG9nby10ZXh0LXRhZ2xpbmUge1xuICBtYXJnaW46IDEwcHggYXV0byAwIGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAwLjg7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogI2Y5ZjlmOTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAubG9nby10ZXh0LXRhZ2xpbmUge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICB9XG59XG5cbi5oZWFkZXItbmF2IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgbWluLWhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDkwcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uaGVhZGVyLW5hdi52aXNpYmxlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICBvcGFjaXR5OiAxO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZWFkZXItbmF2IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogMjA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgfVxuICAuaGVhZGVyLW5hdi52aXNpYmxlIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmhlYWRlci1uYXYtbWFpbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgei1pbmRleDogNjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG4uaGVhZGVyLW5hdi1tYWluIHVsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZWFkZXItbmF2LW1haW4gdWwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBib3JkZXItdG9wOiB1bnNldDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB1bCB7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB1bCB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB1bCB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXItbmF2LW1haW4gdWwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5oZWFkZXItbmF2LW1haW4gdWwge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIH1cbn1cbi5oZWFkZXItbmF2LW1haW4gdWwgbGkge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3JkZXItdG9wOiB1bnNldDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzg1NzIzO1xufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaTpudGgtY2hpbGQoMSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzg1NzIzO1xufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaTpudGgtY2hpbGQoMSkgdWwgbGkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzODU3MjM7XG59XG4uaGVhZGVyLW5hdi1tYWluIHVsIGxpOm50aC1jaGlsZCgxKSB1bCBsaTpudGgtY2hpbGQoMSksIC5oZWFkZXItbmF2LW1haW4gdWwgbGk6bnRoLWNoaWxkKDEpIHVsIGxpOm50aC1jaGlsZCgyKSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM4NTcyMztcbn1cbi5oZWFkZXItbmF2LW1haW4gdWwgbGk6bnRoLWNoaWxkKDEpIHVsIGxpOm50aC1jaGlsZCgzKSwgLmhlYWRlci1uYXYtbWFpbiB1bCBsaTpudGgtY2hpbGQoMSkgdWwgbGk6bnRoLWNoaWxkKDQpIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzg1NzIzO1xufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaTpudGgtY2hpbGQoMikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzAwMDAwO1xufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaTpudGgtY2hpbGQoMikgdWwgbGkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMDAwMDA7XG59XG4uaGVhZGVyLW5hdi1tYWluIHVsIGxpOm50aC1jaGlsZCgyKSB1bCBsaTpudGgtY2hpbGQoMSksIC5oZWFkZXItbmF2LW1haW4gdWwgbGk6bnRoLWNoaWxkKDIpIHVsIGxpOm50aC1jaGlsZCgyKSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MwMDAwMDtcbn1cbi5oZWFkZXItbmF2LW1haW4gdWwgbGk6bnRoLWNoaWxkKDIpIHVsIGxpOm50aC1jaGlsZCgzKSwgLmhlYWRlci1uYXYtbWFpbiB1bCBsaTpudGgtY2hpbGQoMikgdWwgbGk6bnRoLWNoaWxkKDQpIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzAwMDAwO1xufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaTpudGgtY2hpbGQoMykge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ3MmM0O1xufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaTpudGgtY2hpbGQoMykgdWwgbGkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NDcyYzQ7XG59XG4uaGVhZGVyLW5hdi1tYWluIHVsIGxpOm50aC1jaGlsZCgzKSB1bCBsaTpudGgtY2hpbGQoMSksIC5oZWFkZXItbmF2LW1haW4gdWwgbGk6bnRoLWNoaWxkKDMpIHVsIGxpOm50aC1jaGlsZCgyKSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ0NzJjNDtcbn1cbi5oZWFkZXItbmF2LW1haW4gdWwgbGk6bnRoLWNoaWxkKDMpIHVsIGxpOm50aC1jaGlsZCgzKSwgLmhlYWRlci1uYXYtbWFpbiB1bCBsaTpudGgtY2hpbGQoMykgdWwgbGk6bnRoLWNoaWxkKDQpIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ3MmM0O1xufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaTpudGgtY2hpbGQoNCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2UyMzU2O1xufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaTpudGgtY2hpbGQoNCkgdWwgbGkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzZTIzNTY7XG59XG4uaGVhZGVyLW5hdi1tYWluIHVsIGxpOm50aC1jaGlsZCg0KSB1bCBsaTpudGgtY2hpbGQoMSksIC5oZWFkZXItbmF2LW1haW4gdWwgbGk6bnRoLWNoaWxkKDQpIHVsIGxpOm50aC1jaGlsZCgyKSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNlMjM1Njtcbn1cbi5oZWFkZXItbmF2LW1haW4gdWwgbGk6bnRoLWNoaWxkKDQpIHVsIGxpOm50aC1jaGlsZCgzKSwgLmhlYWRlci1uYXYtbWFpbiB1bCBsaTpudGgtY2hpbGQoNCkgdWwgbGk6bnRoLWNoaWxkKDQpIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2UyMzU2O1xufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaTpudGgtY2hpbGQoNSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaTpudGgtY2hpbGQoNSkgdWwgbGkge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG4uaGVhZGVyLW5hdi1tYWluIHVsIGxpOm50aC1jaGlsZCg1KSB1bCBsaTpudGgtY2hpbGQoMSksIC5oZWFkZXItbmF2LW1haW4gdWwgbGk6bnRoLWNoaWxkKDUpIHVsIGxpOm50aC1jaGlsZCgyKSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cbi5oZWFkZXItbmF2LW1haW4gdWwgbGk6bnRoLWNoaWxkKDUpIHVsIGxpOm50aC1jaGlsZCgzKSwgLmhlYWRlci1uYXYtbWFpbiB1bCBsaTpudGgtY2hpbGQoNSkgdWwgbGk6bnRoLWNoaWxkKDQpIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZWFkZXItbmF2LW1haW4gdWwgbGkge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgICBib3JkZXItYm90dG9tOiB1bnNldDtcbiAgICB0cmFuc2l0aW9uOiBkaXNwbGF5IDMwMG1zO1xuICB9XG4gIC5oZWFkZXItbmF2LW1haW4gdWwgbGk6aG92ZXIgPiB1bCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmhlYWRlci1uYXYtbWFpbiB1bCBsaTpudGgtY2hpbGQoMSkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB9XG4gIC5oZWFkZXItbmF2LW1haW4gdWwgbGk6bnRoLWNoaWxkKDIpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuICAuaGVhZGVyLW5hdi1tYWluIHVsIGxpOm50aC1jaGlsZCgzKSB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIH1cbiAgLmhlYWRlci1uYXYtbWFpbiB1bCBsaTpudGgtY2hpbGQoNCkge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB9XG4gIC5oZWFkZXItbmF2LW1haW4gdWwgbGk6bnRoLWNoaWxkKDUpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgfVxufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaSBhIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0NXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjODg4ODg4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGNvbG9yOiAjZjlmOWY5O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5oZWFkZXItbmF2LW1haW4gdWwgbGkgYSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB1bCBsaSBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHVsIGxpIGEge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHVsIGxpIGEge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaSBhOmhvdmVyIHtcbiAgY29sb3I6ICNjNmM2YzY7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB1bCBsaSBhIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogdW5zZXQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC5oZWFkZXItbmF2LW1haW4gdWwgbGkgYTpob3ZlciB7XG4gICAgY29sb3I6ICNlMmUyZTI7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB1bCBsaSBhIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gIH1cbn1cbi5oZWFkZXItbmF2LW1haW4gdWwgbGkgLm5hdi1jaGV2cm9uIHtcbiAgd2lkdGg6IDQ1cHg7XG4gIGhlaWdodDogNDVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICNmOWY5Zjk7XG59XG4uaGVhZGVyLW5hdi1tYWluIHVsIGxpIC5uYXYtY2hldnJvbjpob3ZlciB7XG4gIGNvbG9yOiAjYzZjNmM2O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZWFkZXItbmF2LW1haW4gdWwgbGkgLm5hdi1jaGV2cm9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uaGVhZGVyLW5hdi1tYWluIHVsIGxpIHVsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZWFkZXItbmF2LW1haW4gdWwgbGkgdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNDBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gIH1cbn1cbi5oZWFkZXItbmF2LW1haW4gdWwgbGkgdWwgbGkge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWluLWhlaWdodDogNDVweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5oZWFkZXItbmF2LW1haW4gdWwgbGkgdWwgbGk6bnRoLWNoaWxkKDEpIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5oZWFkZXItbmF2LW1haW4gdWwgbGkgdWwgbGk6bnRoLWNoaWxkKDIpIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbn1cbi5oZWFkZXItbmF2LW1haW4gdWwgbGkgdWwgbGk6bnRoLWNoaWxkKDMpIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbn1cbi5oZWFkZXItbmF2LW1haW4gdWwgbGkgdWwgbGk6bnRoLWNoaWxkKDQpIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbn1cbi5oZWFkZXItbmF2LW1haW4gdWwgbGkgdWwgbGk6bnRoLWNoaWxkKDUpIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHVsIGxpIHVsIGxpIHtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTAyLCAxMDIsIDEwMiwgMC4yKTtcbiAgfVxuICAuaGVhZGVyLW5hdi1tYWluIHVsIGxpIHVsIGxpOmhvdmVyID4gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5oZWFkZXItbmF2LW1haW4gdWwgbGkgdWwgbGkgYSB7XG4gIHBhZGRpbmctbGVmdDogM2VtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZWFkZXItbmF2LW1haW4gdWwgbGkgdWwgbGkgYSB7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICB9XG59XG4uaGVhZGVyLW5hdi1tYWluIHVsIGxpIHVsIGxpIHVsIGxpIGEge1xuICBwYWRkaW5nLWxlZnQ6IDQuNWVtO1xufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaSB1bCBsaSB1bCBsaSB1bCBsaSBhIHtcbiAgcGFkZGluZy1sZWZ0OiA2ZW07XG59XG5cbi5oZWFkZXItbmF2LXRvcCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIHotaW5kZXg6IDY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVhZGVyLW5hdi10b3Age1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiA2O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLW5hdi10b3Age1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItbmF2LXRvcCB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlci1uYXYtdG9wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlYWRlci1uYXYtdG9wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLW5hdi10b3Age1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1uYXYtdG9wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZWFkZXItbmF2LXRvcCB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlYWRlci1uYXYtdG9wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIH1cbn1cbi5oZWFkZXItbmF2LXRvcCB1bCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgY29sdW1uLWdhcDogMzBweDtcbiAgZmxleC1mbG93OiBjb2x1bW47XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlci1uYXYtdG9wIHVsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbn1cbi5oZWFkZXItbmF2LXRvcCB1bCBsaSB7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM4ODg4ODg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLW5hdi10b3AgdWwgbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLW5hdi10b3AgdWwgbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVhZGVyLW5hdi10b3AgdWwgbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlYWRlci1uYXYtdG9wIHVsIGxpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1uYXYtdG9wIHVsIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLW5hdi10b3AgdWwgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZWFkZXItbmF2LXRvcCB1bCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXItbmF2LXRvcCB1bCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlci1uYXYtdG9wIHVsIGxpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBib3JkZXItYm90dG9tOiB1bnNldDtcbiAgfVxufVxuLmhlYWRlci1uYXYtdG9wIHVsIGxpIGEge1xuICBoZWlnaHQ6IDQ1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICNmOWY5Zjk7XG59XG4uaGVhZGVyLW5hdi10b3AgdWwgbGkgYTpob3ZlciB7XG4gIGNvbG9yOiAjYzZjNmM2O1xufVxuLnNsaWRlLWxpbmUge1xuICBoZWlnaHQ6IDNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbn1cblxuLmhlYWRlci1idXR0b25zIHtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogOTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA2O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5oZWFkZXItYnV0dG9ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItYnV0dG9ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZWFkZXItYnV0dG9ucyB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaGVhZGVyLWJ1dHRvbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVhZGVyLWJ1dHRvbnMge1xuICAgIGhlaWdodDogNDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmdsYXNzIHtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRvcDogYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZ2xhc3Mge1xuICAgIGhlaWdodDogNDVweDtcbiAgICBib3JkZXI6IHVuc2V0O1xuICB9XG59XG4uZ2xhc3MgaSB7XG4gIGNvbG9yOiAjZjlmOWY5O1xufVxuLmdsYXNzIGk6aG92ZXIge1xuICBjb2xvcjogI2M2YzZjNjtcbn1cbi5idXJnZXIge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzQwcHgpIHtcbiAgLmJ1cmdlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYnVyZ2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uYnVyZ2VyIGkge1xuICBjb2xvcjogI2Y5ZjlmOTtcbn1cbi5idXJnZXIgaTpob3ZlciB7XG4gIGNvbG9yOiAjYzZjNmM2O1xufVxuXG4uaGVhZGVyLXNlYXJjaC13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOTBweDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY1NjU2NTtcbiAgei1pbmRleDogNjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVhZGVyLXNlYXJjaC13cmFwIHtcbiAgICB0b3A6IDQ1cHg7XG4gICAgaGVpZ2h0OiAxMTBweDtcbiAgfVxufVxuLmhlYWRlci1zZWFyY2gtd3JhcCAuc2l0ZS1zZWFyY2gge1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1zZWFyY2gtd3JhcCAuc2l0ZS1zZWFyY2gge1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLXNlYXJjaC13cmFwIC5zaXRlLXNlYXJjaCB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZWFkZXItc2VhcmNoLXdyYXAgLnNpdGUtc2VhcmNoIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXItc2VhcmNoLXdyYXAgLnNpdGUtc2VhcmNoIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1zZWFyY2gtd3JhcCAuc2l0ZS1zZWFyY2gge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItc2VhcmNoLXdyYXAgLnNpdGUtc2VhcmNoIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVhZGVyLXNlYXJjaC13cmFwIC5zaXRlLXNlYXJjaCB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXItc2VhcmNoLXdyYXAgLnNpdGUtc2VhcmNoIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIH1cbn1cblxuLyoqXG4gICogU0lURSBTRUFSQ0ggRk9STSBTVFlMRVNcbiAgKi9cbi5zaXRlLXNlYXJjaCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogNDBweCAwO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciA1MHB4O1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG59XG5cbi5zZWFyY2gtcXVlcnkge1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgZ3JpZC1yb3c6IDE7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cbi5zZWFyY2gtcXVlcnkgbGFiZWwge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDMwcHg7XG4gIGNvbG9yOiAjZjlmOWY5O1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zZWFyY2gtcXVlcnkgaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2Y5ZjlmOTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuICBjb2xvcjogI2Y5ZjlmOTtcbn1cblxuLnNlYXJjaC1zdWJtaXQge1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBncmlkLWNvbHVtbjogMi9zcGFuIDE7XG4gIGdyaWQtcm93OiAxO1xuICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgY29sb3I6ICM2NTY1NjU7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xufVxuLnNlYXJjaC1zdWJtaXQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzZjNmM2O1xufVxuXG4vKipcbiAgKiBNQUlOIFBBR0UgQ09OVEVOVCBTVFlMRVNcbiAgKi9cbi5tYWluLXdyYXAge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmNGY5ZjAsICNmZmYzZjMsICNlYmYwZjksICNmN2YzZmEpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBncmlkLXJvdy1zdGFydDogMjtcbiAgZ3JpZC1yb3ctZW5kOiAzO1xufVxuXG4ubWFpbiB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICBib3JkZXItdG9wOiA1cHggc29saWQgI2M5YzljOTtcbn1cblxuLnBhZ2UtaGVhZGVyLXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4ucGFnZS1oZWFkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuXG4ucGFnZS1icmVhZGNydW1iIHtcbiAgbWluLWhlaWdodDogNDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ucGFnZS1icmVhZGNydW1iICPigJxicmVhZGNydW1ic+KAnSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG4ucGFnZS1icmVhZGNydW1iICPigJxicmVhZGNydW1ic+KAnSBhIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4ucGFnZS1icmVhZGNydW1iICPigJxicmVhZGNydW1ic+KAnSBzcGFuLmJyZWFkY3J1bWJfbGFzdCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnBhZ2UtYnJlYWRjcnVtYiBwIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnBhZ2UtbmF2IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgdG9wOiA5MHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4ucGFnZS1uYXYuYmctdmlzaWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzODU3MjM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2UtbmF2IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbn1cblxuLnBhZ2UtbmF2LW1haW4ge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIHotaW5kZXg6IDY7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdlLW5hdi1tYWluIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgfVxufVxuLnBhZ2UtbmF2LW1haW4uYmxhY2sgdWwgbGkge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjlmOWY5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuLnBhZ2UtbmF2LW1haW4uYmxhY2sgdWwgbGkgYSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLnBhZ2UtbmF2LW1haW4uYmxhY2sgdWwgbGkgYTpob3ZlciB7XG4gIGNvbG9yOiAjMzMzMzMzO1xufVxuLnBhZ2UtbmF2LW1haW4uZ3JlZW4gdWwgbGkge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjlmOWY5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuLnBhZ2UtbmF2LW1haW4uZ3JlZW4gdWwgbGkgYSB7XG4gIGNvbG9yOiAjMzg1NzIzO1xufVxuLnBhZ2UtbmF2LW1haW4uZ3JlZW4gdWwgbGkgYTpob3ZlciB7XG4gIGNvbG9yOiAjNjdhMDQwO1xufVxuLnBhZ2UtbmF2LW1haW4ucmVkIHVsIGxpIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Y5ZjlmOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cbi5wYWdlLW5hdi1tYWluLnJlZCB1bCBsaSBhIHtcbiAgY29sb3I6ICNjMDAwMDA7XG59XG4ucGFnZS1uYXYtbWFpbi5yZWQgdWwgbGkgYTpob3ZlciB7XG4gIGNvbG9yOiAjZmYyNzI3O1xufVxuLnBhZ2UtbmF2LW1haW4uYmx1ZSB1bCBsaSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmOWY5Zjk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG4ucGFnZS1uYXYtbWFpbi5ibHVlIHVsIGxpIGEge1xuICBjb2xvcjogIzQ0NzJjNDtcbn1cbi5wYWdlLW5hdi1tYWluLmJsdWUgdWwgbGkgYTpob3ZlciB7XG4gIGNvbG9yOiAjOTJhY2RjO1xufVxuLnBhZ2UtbmF2LW1haW4ucHVycGxlIHVsIGxpIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Y5ZjlmOTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cbi5wYWdlLW5hdi1tYWluLnB1cnBsZSB1bCBsaSBhIHtcbiAgY29sb3I6ICMzZTIzNTY7XG59XG4ucGFnZS1uYXYtbWFpbi5wdXJwbGUgdWwgbGkgYTpob3ZlciB7XG4gIGNvbG9yOiAjNzI0MTllO1xufVxuLnBhZ2UtbmF2LW1haW4gdWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IHVuc2V0O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTJlMmUyO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlMmUyZTI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2UtbmF2LW1haW4gdWwge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTQwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGJvcmRlci10b3A6IHVuc2V0O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMmUyZTI7XG4gIH1cbn1cbi5wYWdlLW5hdi1tYWluIHVsIGxpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm9yZGVyLXRvcDogdW5zZXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1uYXYtbWFpbiB1bCBsaSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgICBib3JkZXItYm90dG9tOiB1bnNldDtcbiAgICB0cmFuc2l0aW9uOiBkaXNwbGF5IDMwMG1zO1xuICB9XG4gIC5wYWdlLW5hdi1tYWluIHVsIGxpOmhvdmVyID4gdWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5wYWdlLW5hdi1tYWluIHVsIGxpOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuLnBhZ2UtbmF2LW1haW4gdWwgbGkgYSB7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgY29sb3I6ICNmOWY5Zjk7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFnZS1uYXYtbWFpbiB1bCBsaSBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1uYXYtbWFpbiB1bCBsaSBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1uYXYtbWFpbiB1bCBsaSBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2UtbmF2LW1haW4gdWwgbGkgYSB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2UtbmF2LW1haW4gdWwgbGkgYSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgIGJvcmRlci1ib3R0b206IHVuc2V0O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFnZS1uYXYtbWFpbiB1bCBsaSBhIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gIH1cbn1cbi5wYWdlLW5hdi1tYWluIHVsIGxpIC5uYXYtY2hldnJvbiB7XG4gIHdpZHRoOiA0NXB4O1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB6LWluZGV4OiAyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjZjlmOWY5O1xufVxuLnBhZ2UtbmF2LW1haW4gdWwgbGkgLm5hdi1jaGV2cm9uOmhvdmVyIHtcbiAgY29sb3I6ICNjNmM2YzY7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2UtbmF2LW1haW4gdWwgbGkgLm5hdi1jaGV2cm9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4ucGFnZS1uYXYtbWFpbiB1bCBsaSB1bCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1uYXYtbWFpbiB1bCBsaSB1bCB7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDQwcHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogYXV0bztcbiAgfVxufVxuLnBhZ2UtbmF2LW1haW4gdWwgbGkgdWwgbGkge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWluLWhlaWdodDogNDVweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5wYWdlLW5hdi1tYWluIHVsIGxpIHVsIGxpOm50aC1jaGlsZCgxKSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbn1cbi5wYWdlLW5hdi1tYWluIHVsIGxpIHVsIGxpOm50aC1jaGlsZCgyKSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG59XG4ucGFnZS1uYXYtbWFpbiB1bCBsaSB1bCBsaTpudGgtY2hpbGQoMykge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xufVxuLnBhZ2UtbmF2LW1haW4gdWwgbGkgdWwgbGk6bnRoLWNoaWxkKDQpIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbn1cbi5wYWdlLW5hdi1tYWluIHVsIGxpIHVsIGxpOm50aC1jaGlsZCg1KSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2UtbmF2LW1haW4gdWwgbGkgdWwgbGkge1xuICAgIGhlaWdodDogNDVweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMDIsIDEwMiwgMTAyLCAwLjIpO1xuICB9XG4gIC5wYWdlLW5hdi1tYWluIHVsIGxpIHVsIGxpOmhvdmVyID4gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5wYWdlLW5hdi1tYWluIHVsIGxpIHVsIGxpIGEge1xuICBwYWRkaW5nLWxlZnQ6IDNlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1uYXYtbWFpbiB1bCBsaSB1bCBsaSBhIHtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIH1cbn1cbi5wYWdlLW5hdi1tYWluIHVsIGxpIHVsIGxpIHVsIGxpIGEge1xuICBwYWRkaW5nLWxlZnQ6IDQuNWVtO1xufVxuLnBhZ2UtbmF2LW1haW4gdWwgbGkgdWwgbGkgdWwgbGkgdWwgbGkgYSB7XG4gIHBhZGRpbmctbGVmdDogNmVtO1xufVxuXG4ucGFnZS1tYWluLXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4ucGFnZS1tYWluIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1tYWluIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gIH1cbn1cblxuLnBhZ2UtbWFpbi5zaWRlIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMHB4O1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1tYWluLnNpZGUge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDMyMHB4O1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAwcHg7XG4gIH1cbn1cblxuLnBhZ2UtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBncmlkLWNvbHVtbjogMS9zcGFuIDE7XG4gIGdyaWQtcm93OiAyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLWNvbnRlbnQge1xuICAgIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgICBncmlkLXJvdzogMTtcbiAgfVxufVxuLnBhZ2Utc2VjdGlvbi13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLnBhZ2Utc2VjdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG59XG5cbi5zaWRlIC5wYWdlLWNvbnRlbnQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zaWRlIC5wYWdlLWNvbnRlbnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xuICB9XG59XG5cbi5wYWdlLXNpZGViYXIge1xuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgd2lkdGg6IDEwMCU7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgZ3JpZC1yb3c6IDE7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZ2Utc2lkZWJhciB7XG4gICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1zaWRlYmFyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdlLXNpZGViYXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlLXNpZGViYXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2Utc2lkZWJhciB7XG4gICAgZ3JpZC1jb2x1bW46IDIvc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxO1xuICB9XG59XG5cbi8qKlxuICAqIEZPT1RFUiBTVFlMRVNcbiAgKi9cbi5mb290ZXItd3JhcCB7XG4gIGdyaWQtcm93LXN0YXJ0OiAzO1xuICBncmlkLXJvdy1lbmQ6IDQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG5cbi5mb290ZXIge1xuICBwYWRkaW5nOiAzMHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICNmOWY5Zjk7XG59XG5cbi5mb290ZXItbmF2IHtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlci1uYXYge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG4uZm9vdGVyLW5hdiB1bCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlci1uYXYgdWwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG4uZm9vdGVyLW5hdiB1bCBsaSB7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmlnaHQ6IHVuc2V0O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5mb290ZXItbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlci1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZm9vdGVyLW5hdiB1bCBsaSB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZm9vdGVyLW5hdiB1bCBsaSB7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5mb290ZXItbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyLW5hdiB1bCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZvb3Rlci1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZm9vdGVyLW5hdiB1bCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlci1uYXYgdWwgbGkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMTJweCAwIDhweDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZmZmZmZmO1xuICAgIC8qJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgIGNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IC0ycHg7XG4gICAgfSovXG4gIH1cbiAgLmZvb3Rlci1uYXYgdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiB1bnNldDtcbiAgICAvKiY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9Ki9cbiAgfVxufVxuLmZvb3Rlci1uYXYgdWwgbGkgYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgY29sb3I6ICNmOWY5Zjk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlci1uYXYgdWwgbGkgYSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogMCA1cHg7XG4gIH1cbn1cblxuLmZvb3Rlci1zb2NpYWxzIHtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG59XG4uZm9vdGVyLXNvY2lhbHMgYSB7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbn1cbi5mb290ZXItc29jaWFscyBhIGkge1xuICBmb250LXNpemU6IDNyZW07XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4uY29weXJpZ2h0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDEwcHg7XG59XG4uY29weXJpZ2h0IHNwYW4ucmVnaXN0ZXJlZCB7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG59XG5cbi8qKlxuICAqIE1JU0NFTExBTkVPVVMgU1RZTEVTXG4gICovXG4udmlkZW8ge1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyO1xufVxuLnZpZGVvIGg0IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG59XG5cbi5lbWJlZC1jb250YWluZXItd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmVtYmVkLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5lbWJlZC1jb250YWluZXIgaWZyYW1lLFxuLmVtYmVkLWNvbnRhaW5lciBvYmplY3QsXG4uZW1iZWQtY29udGFpbmVyIGVtYmVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59IiwiLyoqXG4gICogREVGQVVMVCBTVFlMRVNIRUVUXG4gICpcbiAgKiBUaGlzIHdpbGwgYmUgdXNlZCB1bmxlc3MgYSBwYWdlIHNwZWNpZmljYWxseSBjYWxscyBhIGRpZmZlcmVudCBzaGVldC5cbiAgKi9cblxuQGltcG9ydCAnX2NvbW1vbic7IC8vIENvbW1vbiBzdHlsZXNcbiIsIi8qKlxuICAqIENPTU1PTiBTVFlMRVNcbiAgKlxuICAqIERlZmluZXMgdGhlIHN0eWxlcyB0byBpbXBvcnQgdGhhdCBhcmUgcmVxdWlyZWQgYnkgdmlydHVhbGx5IGFsbCBwYWdlcy5cbiAgKi9cblxuXG4vLyBpbXBvcnQgbGlicmFyaWVzOlxuQGltcG9ydCAnbGlicmFyaWVzL19pbmNsdWRlLW1lZGlhLnNjc3MnOyAvLyBcIkluY2x1ZGUtTWVkaWFcIiBtZWRpYSBxdWVyeSBsaWJyYXJ5IChwcm92aWRlcyBicmVha3BvaW50IGZ1bmN0aW9uYWxpdHkgZm9yIHJlc3BvbnNpdmUgZGVzaWduKVxuQGltcG9ydCAnbGlicmFyaWVzL19ub3JtYWxpemUuc2Nzcyc7ICAgICAvLyBcIk5vcm1hbGl6ZVwiIGNzcyByZXNldCBsaWJyYXJ5XG5cbi8vIGdsb2JhbCBzdHlsZXMgYW5kIGRlcGVuZGVuY2llczpcbkBpbXBvcnQgJ2NvbW1vbi9fYnJlYWtwb2ludHMubW9kdWxlcyc7ICAvLyBicmVha3BvaW50IGRlZmluaXRpb25zIGZvciBtZWRpYSBxdWVyeSB1c2VcbkBpbXBvcnQgJ2NvbW1vbi9fdmFyaWFibGVzJzsgICAgICAgICAgICAvLyBnZW5lcmFsIHZhcmlhYmxlIGRlZmluaXRpb25zIChjb2xvcnMsIGRpbWVuc2lvbnMsIGV0Yy4pXG5AaW1wb3J0ICdjb21tb24vX2ZvbnRzJzsgICAgICAgICAgICAgICAgLy8gQGZvbnQtZmFjZSBkZWZpbml0aW9uc1xuQGltcG9ydCAnY29tbW9uL19taXhpbnMnOyAgICAgICAgICAgICAgIC8vIG1peGluIGFuZCBhc3NvY2lhdGVkIGNsYXNzIGRlZmluaXRpb25zXG5AaW1wb3J0ICdjb21tb24vX2VsZW1lbnRzJzsgICAgICAgICAgICAgLy8gZ2xvYmFsIGVsZW1lbnQgc2VsZWN0b3Igc3R5bGVzXG5AaW1wb3J0ICdjb21tb24vX2hlYWRlcic7ICAgICAgICAgICAgICAgLy8gaGVhZGVyIHN0eWxlc1xuQGltcG9ydCAnY29tbW9uL19zZWFyY2hmb3JtJzsgICAgICAgICAgIC8vIHNlYXJjaCBmb3JtIHN0eWxlc1xuQGltcG9ydCAnY29tbW9uL19tYWluJzsgICAgICAgICAgICAgICAgIC8vIG1haW4gcGFnZSBjb250ZW50IHN0eWxlc1xuQGltcG9ydCAnY29tbW9uL19mb290ZXInOyAgICAgICAgICAgICAgIC8vIGZvb3RlciBzdHlsZXNcbkBpbXBvcnQgJ2NvbW1vbi9fbWlzYyc7ICAgICAgICAgICAgICAgICAvLyBtaXNjLiBzdHlsZXMgKHR5cGljYWxseSBjbGFzc2VzIHRoYXQgYXJlIHVzYWJsZSBpbiBjb250ZW50LCBidXQgbm90IGluaGVyZW50IHRvIHRoZSBzaXRlIHN0cnVjdHVyZSlcbiIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKipcbiAgKiBTQ1NTIEJSRUFLUE9JTlRTXG4gICpcbiAgKiBEZWZpbmUgYnJlYWtwb2ludHMgZm9yIG1lZGlhIHF1ZXJ5IHVzZSBhbmQgZXhwb3J0IHRoZW0gZm9yIHVzZSB3aXRoIEpTLlxuICAqL1xuXG5cbi8vIERlZmluZSBicmVha3BvaW50cyBoZXJlIChpbiBwaXhlbHMpOlxuJGJyZWFrcG9pbnQtcGhvbmUtc21hbGw6ICAgIDMyMDtcbiRicmVha3BvaW50LXBob25lLWxhcmdlOiAgICA0ODA7XG4kYnJlYWtwb2ludC10YWJsZXQ6ICAgICAgICAgNzY4O1xuJGJyZWFrcG9pbnQtbGFwdG9wOiAgICAgICAgIDk5MjtcbiRicmVha3BvaW50LWRlc2t0b3A6ICAgICAgIDEyMDA7XG4kYnJlYWtwb2ludC1kZXNrdG9wLWxhcmdlOiAxNDAwO1xuJGJyZWFrcG9pbnQtaGQ6ICAgICAgICAgICAgMTkyMDtcblxuLy8gRm9ybWF0IGJyZWFrcG9pbnQgZGVmaW5pdGlvbnMgZm9yIHVzZSB3aXRoIGluY2x1ZGUtbWVkaWEuc2NzcyBsaWJyYXJ5OlxuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZS1zbWFsbCc6ICAgJGJyZWFrcG9pbnQtcGhvbmUtc21hbGwgKiAxcHgsXG4gICdwaG9uZS1sYXJnZSc6ICAgJGJyZWFrcG9pbnQtcGhvbmUtbGFyZ2UgKiAxcHgsXG4gICd0YWJsZXQnOiAgICAgICAgJGJyZWFrcG9pbnQtdGFibGV0ICogMXB4LFxuICAnbGFwdG9wJzogICAgICAgICRicmVha3BvaW50LWxhcHRvcCAqIDFweCxcbiAgJ2Rlc2t0b3AnOiAgICAgICAkYnJlYWtwb2ludC1kZXNrdG9wICogMXB4LFxuICAnZGVza3RvcC1sYXJnZSc6ICRicmVha3BvaW50LWRlc2t0b3AtbGFyZ2UgKiAxcHgsXG4gICdoZCc6ICAgICAgICAgICAgJGJyZWFrcG9pbnQtaGQgKiAxcHhcbik7XG5cbi8vIEV4cG9ydCBicmVha3BvaW50IGRlZmluaXRpb25zIGZvciBKUyB1c2U6XG46ZXhwb3J0IHtcbiAgYnJlYWtwb2ludFBob25lU21hbGw6ICRicmVha3BvaW50LXBob25lLXNtYWxsO1xuICBicmVha3BvaW50UGhvbmVMYXJnZTogJGJyZWFrcG9pbnQtcGhvbmUtbGFyZ2U7XG4gIGJyZWFrcG9pbnRUYWJsZXQ6ICRicmVha3BvaW50LXRhYmxldDtcbiAgYnJlYWtwb2ludExhcHRvcDogJGJyZWFrcG9pbnQtbGFwdG9wO1xuICBicmVha3BvaW50RGVza3RvcDogJGJyZWFrcG9pbnQtZGVza3RvcDtcbiAgYnJlYWtwb2ludERlc2t0b3BMYXJnZTogJGJyZWFrcG9pbnQtZGVza3RvcC1sYXJnZTtcbiAgYnJlYWtwb2ludEhkOiAkYnJlYWtwb2ludC1oZDtcbn1cbiIsIi8qKlxuICAqIFNDU1MgVkFSSUFCTEVTXG4gICovXG5cblxuLyoqXG4gICogRGltZW5zaW9uczpcbiAgKi9cblxuJHNpdGVXaWR0aDogMTQwMHB4OyAvLyBNYXggd2lkdGggb2Ygc2l0ZSdzIGNvbnRlbnQgY29udGFpbmVyc1xuXG4vLyBIZWFkZXIgaGVpZ2h0czpcbiRoZWFkZXJIZWlnaHRNb2JpbGU6IDkwcHg7IC8vIEhlaWdodCBvZiBoZWFkZXIgb24gbW9iaWxlIHNpemVzXG4kaGVhZGVySGVpZ2h0RGVza3RvcDogMTYwcHg7IC8vIEhlaWdodCBvZiBoZWFkZXIgb24gZGVza3RvcCBzaXplc1xuJHRvcEJhckhlaWdodDogNDVweDsgLy8gSGVpZ2h0IG9mIHRvcCBuYXYsIG1haW4gbmF2IHN1YiBtZW51IGl0ZW1zIGFuZCBtYWluIG5hdiBtb2JpbGUgbWVudSBpdGVtc1xuJG1haW5OYXZIZWlnaHQ6IDUwcHg7IC8vIEhlaWdodCBvZiBmaXJzdC1sZXZlbCBtYWluIG1lbnUgaXRlbXMgKGRlc2t0b3ApXG5cbi8vIFN0YW5kYXJkaXplZCBzaWRlIHBhZGRpbmc6XG4kY29udGFpbmVyUGFkZGluZ01vYmlsZTogMTBweDtcbiRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZTogMjVweDtcbiRjb250YWluZXJQYWRkaW5nVGFibGV0OiAzMHB4O1xuJGNvbnRhaW5lclBhZGRpbmdMYXB0b3A6IDYwcHg7XG4kY29udGFpbmVyUGFkZGluZ0Rlc2t0b3A6IDgwcHg7XG5cbi8vIFN0YW5kYXJkaXplZCB0b3AgYW5kIGJvdHRvbSBwYWRkaW5nOlxuJHNwYWNlclBhZGRpbmdNb2JpbGU6IDI1cHg7IC8vMTBweDtcbiRzcGFjZXJQYWRkaW5nUGhvbmVMYXJnZTogMjVweDtcbiRzcGFjZXJQYWRkaW5nVGFibGV0OiAzMHB4O1xuJHNwYWNlclBhZGRpbmdMYXB0b3A6IDM1cHg7XG4kc3BhY2VyUGFkZGluZ0Rlc2t0b3A6IDQwcHg7XG5cblxuLyoqXG4gICogQ29sb3JzOlxuICAqL1xuXG4vLyBIdWUgZGVmaW5pdGlvbnM6XG4kcmVkOiAgICAjYzAwMDAwOyAvLyNmZjAwMDA7XG4kb3JhbmdlOiAjZmY4ODAwO1xuJHllbGxvdzogI2ZmZmYwMDtcbiRncmVlbjogICMzODU3MjM7IC8vIzAwZmYwMDtcbiRibHVlOiAgICM0NDcyYzQ7IC8vIzAwMDBmZjtcbiRwdXJwbGU6ICMzZTIzNTY7IC8vI2ZmMDBmZjtcbiRicm93bjogICM2NjU1MjI7XG4kY3JlYW06ICAjZjBlZGU4O1xuXG4vLyBHcmF5c2NhbGUgZGVmaW5pdGlvbnM6XG4kd2hpdGU6ICAjZmZmZmZmO1xuJGdyYXk6ICAgIzg4ODg4ODtcbiRibGFjazogICMwMDAwMDA7XG4kb2ZmV2hpdGU6ICNmZWZlZmU7XG4kbGlnaHRlc3RHcmF5OiAjZjlmOWY5O1xuJGxpZ2h0ZXJHcmF5OiAjZjJmMmYyO1xuJGxpZ2h0R3JheTogI2UyZTJlMjtcbiRtZWRpdW1HcmF5OiAjZTBlMGUwO1xuJGRhcmtHcmF5OiAjOTk5O1xuJGRhcmtlckdyYXk6ICM2NjY7XG4kZGFya2VzdEdyYXk6ICMyMjI7XG4kbmV1dHJhbEdyYXk6ICM2NTY1NjU7XG5cbi8vIEdsb2JhbCBhc3NpZ25tZW50czpcbiRicmFuZENvbG9yUHJpbWFyeTogJGdyZWVuOyAvLyBQcmltYXJ5IGNvbG9yIG9mIGJyYW5kXG4kYnJhbmRDb2xvckNvbnRyYXN0OiAkbGlnaHRlc3RHcmF5OyAvLyBDb2xvciB0aGF0IGNvbnRyYXN0cyB3ZWxsIHdpdGggYnJhbmQgY29sb3IgKG9mdGVuIHVzZWQgZm9yIHRleHQgb24gdG9wIG9mIGJyYW5kIGNvbG9yKVxuXG4kYm9keUNvbG9yOiAkd2hpdGU7IC8vIEJvZHkgYmFja2dyb3VuZCBjb2xvclxuJGNvbnRlbnRDb2xvcjogJHdoaXRlOyAvLyBQYWdlIGNvbnRlbnQgYmFja2dyb3VuZCBjb2xvclxuJGZvbnRDb2xvcjogJGRhcmtlckdyYXk7IC8vIERlZmF1bHQgZm9udCBjb2xvclxuJGxpbmtDb2xvcjogJGJyb3duOyAvL2xpZ2h0ZW4oJGdyZWVuLCAxMCUpOyAvLyBEZWZhdWx0IGxpbmsgY29sb3JcbiRidXR0b25Db2xvcjogJGRhcmtlckdyYXk7IC8vJGJyYW5kQ29sb3JQcmltYXJ5OyAvLyBEZWZhdWx0IGJ1dHRvbiBjb2xvclxuIiwiLyoqXG4gICogRk9OVCBTVFlMRVNcbiAgKlxuICAqIERlZmluZSBAZm9udC1mYWNlIHN0eWxlcy5cbiAgKi9cblxuXG4vLyBNb250c2VycmF0LVJlZ3VsYXIudHRmOlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBNb250c2VycmF0O1xuICBzcmM6IHVybCguLi9mb250cy9Nb250c2VycmF0LVJlZ3VsYXIudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vLyBNb250c2VycmF0LUJvbGQudHRmXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1vbnRzZXJyYXQ7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01vbnRzZXJyYXQtQm9sZC50dGYpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4iLCIvKipcclxuICAqIFNDU1MgTUlYSU5TXHJcbiAgKlxyXG4gICogU3RhbmRhcmRpemVkIHN0eWxlIGNodW5rcywgcHJvdmlkZWQgYXMgYm90aCBTQ1NTIG1peGlucyBhbmQgSFRNTCBjbGFzc2VzLlxyXG4gICovXHJcblxyXG5cclxuQG1peGluIGJnLWdyYWRpZW50LWxpZ2h0IHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXHJcbiAgICB0byByaWdodCxcclxuICAgIGxpZ2h0ZW4oJGdyZWVuLCA3MiUpLFxyXG4gICAgbGlnaHRlbigkcmVkLCA2MCUpLFxyXG4gICAgbGlnaHRlbigkYmx1ZSwgNDMlKSxcclxuICAgIGxpZ2h0ZW4oJHB1cnBsZSwgNzMlKVxyXG4gICk7XHJcbn1cclxuXHJcbi5iZy1ncmFkaWVudC1saWdodCB7XHJcbiAgQGluY2x1ZGUgYmctZ3JhZGllbnQtbGlnaHQ7XHJcbn1cclxuXHJcbkBtaXhpbiBiZy1ncmFkaWVudC1kYXJrIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbEdyYXk7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxyXG4gICAgdG8gcmlnaHQsXHJcbiAgICB0cmFuc3BhcmVudGl6ZShsaWdodGVuKCRncmVlbiwgMTAlKSwgMC45KSxcclxuICAgIHRyYW5zcGFyZW50aXplKGxpZ2h0ZW4oJHJlZCwgMTAlKSwgMC45KSxcclxuICAgIHRyYW5zcGFyZW50aXplKGxpZ2h0ZW4oJGJsdWUsIDEwJSksIDAuOSksXHJcbiAgICB0cmFuc3BhcmVudGl6ZShsaWdodGVuKCRwdXJwbGUsIDEwJSksIDAuOSlcclxuICApOyAgICAgLy8xMzVkZWcsXHJcbn1cclxuXHJcbi5iZy1ncmFkaWVudC1kYXJrIHtcclxuICBAaW5jbHVkZSBiZy1ncmFkaWVudC1kYXJrO1xyXG59XHJcblxyXG5AbWl4aW4gd3JhcCB7IC8vIE1hcmdpbi1sZXNzIHdyYXBwZXJcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuICAud3JhcCB7XHJcbiAgICBAaW5jbHVkZSB3cmFwO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBpbm5lci13cmFwIHsgLy8gV2lkdGgtbGltaXRlZCwgaG9yaXpvbnRhbGx5IGNlbnRlcmluZyB3cmFwcGVyXHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiAkc2l0ZVdpZHRoO1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcbiAgLmlubmVyLXdyYXAge1xyXG4gICAgQGluY2x1ZGUgaW5uZXItd3JhcDtcclxuICB9XHJcblxyXG5AbWl4aW4gbWFyLXRvcCB7IC8vIFN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgdG9wLW1hcmdpbmVkIGNvbnRhaW5lclxyXG4gIG1hcmdpbi10b3A6ICRzcGFjZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIG1hcmdpbi10b3A6ICRzcGFjZXJQYWRkaW5nUGhvbmVMYXJnZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgbWFyZ2luLXRvcDogJHNwYWNlclBhZGRpbmdUYWJsZXQ7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIG1hcmdpbi10b3A6ICRzcGFjZXJQYWRkaW5nTGFwdG9wO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgbWFyZ2luLXRvcDogJHNwYWNlclBhZGRpbmdEZXNrdG9wO1xyXG4gIH1cclxufVxyXG4gIC5tYXItdG9wIHtcclxuICAgIEBpbmNsdWRlIG1hci10b3A7XHJcbiAgfVxyXG5cclxuQG1peGluIG1hci1ib3R0b20geyAvLyBTdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUsIGJvdHRvbS1tYXJnaW5lZCBjb250YWluZXJcclxuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyUGFkZGluZ01vYmlsZTtcclxuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZXJQYWRkaW5nVGFibGV0O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyUGFkZGluZ0xhcHRvcDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZXJQYWRkaW5nRGVza3RvcDtcclxuICB9XHJcbn1cclxuICAubWFyLWJvdHRvbSB7XHJcbiAgICBAaW5jbHVkZSBtYXItYm90dG9tO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBtYXItaG9yaXpvbnRhbCB7IC8vIFN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgdmVydGljYWxseS1tYXJnaW5lZCAoYm90aCB0b3AgYW5kIGJvdHRvbSkgY29udGFpbmVyXHJcbiAgQGluY2x1ZGUgbWFyLXRvcDtcclxuICBAaW5jbHVkZSBtYXItYm90dG9tO1xyXG59XHJcbiAgLm1hci1ob3Jpem9udGFsIHtcclxuICAgIEBpbmNsdWRlIG1hci1ob3Jpem9udGFsO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBtYXItcmlnaHQgeyAvLyBTdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUsIHJpZ2h0LW1hcmdpbmVkIGNvbnRhaW5lclxyXG4gIG1hcmdpbi1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGU7XHJcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xyXG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gJGNvbnRhaW5lclBhZGRpbmdNb2JpbGUpO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZSk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIG1hcmdpbi1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQ7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRjb250YWluZXJQYWRkaW5nVGFibGV0KTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcDtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gJGNvbnRhaW5lclBhZGRpbmdMYXB0b3ApO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3A7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRjb250YWluZXJQYWRkaW5nRGVza3RvcCk7XHJcbiAgfVxyXG59XHJcbiAgLm1hci1yaWdodCB7XHJcbiAgICBAaW5jbHVkZSBtYXItcmlnaHQ7XHJcbiAgfVxyXG5cclxuQG1peGluIG1hci1sZWZ0IHsgLy8gU3RhbmRhcmRpemVkLCByZXNwb25zaXZlLCBsZWZ0LW1hcmdpbmVkIGNvbnRhaW5lclxyXG4gIG1hcmdpbi1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ01vYmlsZTtcclxuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XHJcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAkY29udGFpbmVyUGFkZGluZ01vYmlsZSk7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2UpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQ7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRjb250YWluZXJQYWRkaW5nVGFibGV0KTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nTGFwdG9wO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAkY29udGFpbmVyUGFkZGluZ0xhcHRvcCk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3ApO1xyXG4gIH1cclxufVxyXG4gIC5tYXItbGVmdCB7XHJcbiAgICBAaW5jbHVkZSBtYXItbGVmdDtcclxuICB9XHJcblxyXG5AbWl4aW4gbWFyLWhvcml6b250YWwgeyAvLyBTdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUsIGhvcml6b250YWxseSBwYWRkZWQgKGJvdGggbGVmdCBhbmQgcmlnaHQpIGNvbnRhaW5lclxyXG4gIG1hcmdpbi1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ01vYmlsZTtcclxuICBtYXJnaW4tcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcclxuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICgyICogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGUpKTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZTtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gKDIgKiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2UpKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nVGFibGV0O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ1RhYmxldDtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gKDIgKiAkY29udGFpbmVyUGFkZGluZ1RhYmxldCkpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3A7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nTGFwdG9wO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAoMiAqICRjb250YWluZXJQYWRkaW5nTGFwdG9wKSk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3A7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICgyICogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wKSk7XHJcbiAgfVxyXG59XHJcbiAgLm1hci1ob3Jpem9udGFsIHtcclxuICAgIEBpbmNsdWRlIG1hci1ob3Jpem9udGFsO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBwYWQtdG9wIHsgLy8gU3RhbmRhcmRpemVkLCByZXNwb25zaXZlIHNwYWNlciBmb3IgZWxlbWVudCB0b3BcclxuICBwYWRkaW5nLXRvcDogJHNwYWNlclBhZGRpbmdNb2JpbGU7XHJcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIHBhZGRpbmctdG9wOiAkc3BhY2VyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIHBhZGRpbmctdG9wOiAkc3BhY2VyUGFkZGluZ1RhYmxldDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgcGFkZGluZy10b3A6ICRzcGFjZXJQYWRkaW5nTGFwdG9wO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgcGFkZGluZy10b3A6ICRzcGFjZXJQYWRkaW5nRGVza3RvcDtcclxuICB9XHJcbn1cclxuICAucGFkLXRvcCB7XHJcbiAgICBAaW5jbHVkZSBwYWQtdG9wO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBwYWQtYm90dG9tIHsgLy8gU3RhbmRhcmRpemVkLCByZXNwb25zaXZlIHNwYWNlciBmb3IgZWxlbWVudCBib3R0b21cclxuICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlclBhZGRpbmdNb2JpbGU7XHJcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2VyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2VyUGFkZGluZ1RhYmxldDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjZXJQYWRkaW5nTGFwdG9wO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjZXJQYWRkaW5nRGVza3RvcDtcclxuICB9XHJcbn1cclxuICAucGFkLWJvdHRvbSB7XHJcbiAgICBAaW5jbHVkZSBwYWQtYm90dG9tO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBwYWQtbGVmdCB7IC8vIFN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgbGVmdC1wYWRkZWQgY29udGFpbmVyXHJcbiAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ01vYmlsZTtcclxuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQ7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3A7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nRGVza3RvcDtcclxuICB9XHJcbn1cclxuICAucGFkLWxlZnQge1xyXG4gICAgQGluY2x1ZGUgcGFkLWxlZnQ7XHJcbiAgfVxyXG5cclxuQG1peGluIHBhZC1yaWdodCB7IC8vIFN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgcmlnaHQtcGFkZGVkIGNvbnRhaW5lclxyXG4gIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nVGFibGV0O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nRGVza3RvcDtcclxuICB9XHJcbn1cclxuICAucGFkLXJpZ2h0IHtcclxuICAgIEBpbmNsdWRlIHBhZC1yaWdodDtcclxuICB9XHJcblxyXG5AbWl4aW4gcGFkLXZlcnRpY2FsIHtcclxuICBAaW5jbHVkZSBwYWQtdG9wO1xyXG4gIEBpbmNsdWRlIHBhZC1ib3R0b207XHJcbn1cclxuICAucGFkLXZlcnRpY2FsIHsgLy8gU3RhbmRhcmRpemVkLCByZXNwb25zaXZlIHZlcnRpY2FsIChib3RoIHRvIGFuZCBib3R0b20pIHNwYWNlciBmb3IgZWxlbWVudFxyXG4gICAgQGluY2x1ZGUgcGFkLXZlcnRpY2FsO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBwYWQtaG9yaXpvbnRhbCB7XHJcbiAgQGluY2x1ZGUgcGFkLXJpZ2h0O1xyXG4gIEBpbmNsdWRlIHBhZC1sZWZ0O1xyXG59XHJcbiAgLnBhZC1ob3Jpem9udGFsIHsgLy8gU3RhbmRhcmRpemVkLCByZXNwb25zaXZlLCBob3Jpem9udGFsbHkgcGFkZGVkIChib3RoIGxlZnQgYW5kIHJpZ2h0KSBjb250YWluZXJcclxuICAgIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBidXR0b24geyAvLyBTdGFuZGFyZGl6ZWQgYnV0dG9uXHJcbiAgLy9AaW5jbHVkZSBiZy1ncmFkaWVudC1kYXJrO1xyXG4gIG1pbi1oZWlnaHQ6IDQwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWxHcmF5O1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcclxuICAgIHRvIHJpZ2h0LFxyXG4gICAgdHJhbnNwYXJlbnRpemUobGlnaHRlbigkZ3JlZW4sIDEwJSksIDAuOSksXHJcbiAgICB0cmFuc3BhcmVudGl6ZShsaWdodGVuKCRyZWQsIDEwJSksIDAuOSksXHJcbiAgICB0cmFuc3BhcmVudGl6ZShsaWdodGVuKCRibHVlLCAxMCUpLCAwLjkpLFxyXG4gICAgdHJhbnNwYXJlbnRpemUobGlnaHRlbigkcHVycGxlLCAxMCUpLCAwLjkpXHJcbiAgKSxcclxuICBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50aXplKCR3aGl0ZSwgMC45KSAwJSwgdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjgpIDUwJSwgdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjYpIDUwJSwgdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjcpIDEwMCUpXHJcbiAgO1xyXG4gIC8vbWFyZ2luOiAyMHB4IDA7XHJcbiAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAvL2FsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIC8vdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBjb2xvcjogJGJyYW5kQ29sb3JDb250cmFzdDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogMjBweDsgLy81cHg7XHJcbiAgLy9ib3JkZXI6IDJweCBzb2xpZCAkYnJhbmRDb2xvckNvbnRyYXN0O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodEdyYXk7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXMsIHRleHQtc2hhZG93IDIwMG1zO1xyXG4gIC8vYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbkNvbG9yO1xyXG4gIC8vdGV4dC1zaGFkb3c6IDAgMXB4IDFweCAjMDAwO1xyXG4gIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgLy9jb2xvcjogJGJsYWNrO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGJ1dHRvbkNvbG9yLCAxMCUpO1xyXG4gICAgLy90ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAjMDAwO1xyXG4gIH1cclxufVxyXG4gIC5idXR0b24ge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBzY3JlZW4tcmVhZGVyLXRleHQgeyAvLyBWaXNpYmxlIHRvIHNjcmVlbiByZWFkZXJzIG9ubHlcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDFweDtcclxuICBoZWlnaHQ6IDFweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogLTFweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcbiAgLnNjcmVlbi1yZWFkZXItdGV4dCB7XHJcbiAgICBAaW5jbHVkZSBzY3JlZW4tcmVhZGVyLXRleHQ7XHJcbiAgfVxyXG5cclxuQG1peGluIG5vLXNjcm9sbCB7IC8vIFJlbW92ZSBzY3JvbGxhYmlsaXR5IGZvciBlbGVtZW50XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG4gIC5uby1zY3JvbGwge1xyXG4gICAgQGluY2x1ZGUgbm8tc2Nyb2xsO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBoMSB7XHJcbiAgZm9udC1zaXplOiAyLjFyZW07XHJcbiAgbWFyZ2luLXRvcDogMDtcclxuICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgZm9udC1zaXplOiAyLjRyZW07XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gaDIge1xyXG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xyXG4gIG1hcmdpbi1ib3R0b206IDEuOXJlbTtcclxuXHJcbiAgQGluY2x1ZGUgYmctZ3JhZGllbnQtbGlnaHQ7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAvL2JvcmRlci10b3A6IDVweCBzb2xpZCBsaWdodGVuKCRicmFuZENvbG9yUHJpbWFyeSwgNzQlKTtcclxuICAvL2JvcmRlci1ib3R0b206IDNweCBzb2xpZCBsaWdodGVuKCRicmFuZENvbG9yUHJpbWFyeSwgNjIlKTsgLy9saWdodGVuKCRicmFuZENvbG9yUHJpbWFyeSwgNzQlKTtcclxuXHJcbiAgLy9ib3JkZXItdG9wOiAzcHggc29saWQgbGlnaHRlbigkYnJhbmRDb2xvclByaW1hcnksIDY4JSk7XHJcbiAgLy9ib3JkZXItYm90dG9tOiAzcHggc29saWQgbGlnaHRlbigkYnJhbmRDb2xvclByaW1hcnksIDY4JSk7XHJcbiAgLy9ib3JkZXItbGVmdDogMXB4IHNvbGlkIGxpZ2h0ZW4oJGJyYW5kQ29sb3JQcmltYXJ5LCA2OCUpO1xyXG4gIC8vYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgbGlnaHRlbigkYnJhbmRDb2xvclByaW1hcnksIDY4JSk7XHJcbiAgLy9iYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRicmFuZENvbG9yUHJpbWFyeSwgNzQlKTtcclxuICAvL2NvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XHJcblxyXG4gIGJvcmRlci10b3A6IDVweCBzb2xpZCBkYXJrZW4oJGxpZ2h0R3JheSwgMTAlKTsgLy8kbGlnaHRHcmF5O1xyXG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkbGlnaHRHcmF5O1xyXG4gIC8vYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkbGlnaHRHcmF5O1xyXG4gIC8vYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGxpZ2h0R3JheTtcclxuXHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHJcbiAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbEdyYXk7IC8vJGxpZ2h0ZXN0R3JheTtcclxuICAvL2NvbG9yOiAkd2hpdGU7IC8vJGJsYWNrO1xyXG5cclxuICAvL3RleHQtYWxpZ246IGNlbnRlcjtcclxuICAvL3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgZm9udC1zaXplOiAxLjhyZW07XHJcblxyXG4gICYuY2xvc2Uge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcblxyXG4gICYucmVkIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVuc2V0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDsgLy9saWdodGVuKCRyZWQsIDc0JSk7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gIH1cclxuXHJcbiAgJi5ncmVlbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1bnNldDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjsgLy9saWdodGVuKCRncmVlbiwgNzQlKTtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgfVxyXG5cclxuICAmLmJsdWUge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdW5zZXQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTsgLy9saWdodGVuKCRibHVlLCA2OCUpO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICB9XHJcblxyXG4gICYucHVycGxlIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVuc2V0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZTsgLy9saWdodGVuKCRwdXJwbGUsIDc0JSk7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gIH1cclxuXHJcbiAgJi5ibGFjayB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1bnNldDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgfVxyXG5cclxuICAmLmdyYXkge1xyXG4gICAgQGluY2x1ZGUgYmctZ3JhZGllbnQtZGFyaztcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVuc2V0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkZGFya2VzdEdyYXksIDE1JSk7IC8vbGlnaHRlbigkcHVycGxlLCA3NCUpO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBoMyB7XHJcbiAgZm9udC1zaXplOiAyLjFyZW07XHJcbiAgbWFyZ2luLWJvdHRvbTogMS44cmVtO1xyXG59XHJcblxyXG5AbWl4aW4gaDQge1xyXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gIG1hcmdpbi1ib3R0b206IDEuN3JlbTtcclxufVxyXG5cclxuQG1peGluIGg1IHtcclxuICBmb250LXNpemU6IDEuM3JlbTtcclxuICBtYXJnaW4tYm90dG9tOiAxLjZyZW07XHJcbn1cclxuXHJcbkBtaXhpbiBoNiB7XHJcbiAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG59XHJcblxyXG4uaDEge1xyXG4gIEBpbmNsdWRlIGgxO1xyXG59XHJcblxyXG4uaDIge1xyXG4gIEBpbmNsdWRlIGgyO1xyXG59XHJcblxyXG4uaDMge1xyXG4gIEBpbmNsdWRlIGgzO1xyXG59XHJcblxyXG4uaDQge1xyXG4gIEBpbmNsdWRlIGg0O1xyXG59XHJcblxyXG4uaDUge1xyXG4gIEBpbmNsdWRlIGg1O1xyXG59XHJcblxyXG4uaDYge1xyXG4gIEBpbmNsdWRlIGg2O1xyXG59XHJcblxyXG5AbWl4aW4gZWRnZS10by1lZGdlIHtcclxuICBAaW5jbHVkZSBwYWQtcmlnaHQ7XHJcbiAgQGluY2x1ZGUgcGFkLWxlZnQ7XHJcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiAkY29udGFpbmVyUGFkZGluZ01vYmlsZSk7XHJcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGUpO1xyXG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcclxuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSArICgyICogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGUpKTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlKTtcclxuICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZSk7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSArICgyICogJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlKSk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQpO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQpO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyAoMiAqICRjb250YWluZXJQYWRkaW5nVGFibGV0KSk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3ApO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3ApO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyAoMiAqICRjb250YWluZXJQYWRkaW5nTGFwdG9wKSk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogMDsgLy9jYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wKTtcclxuICAgIG1hcmdpbi1yaWdodDogMDsgLy9jYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wKTtcclxuICAgIG1heC13aWR0aDogbm9uZTsgLy9jYWxjKDEwMCUgKyAoMiAqICRjb250YWluZXJQYWRkaW5nRGVza3RvcCkpO1xyXG4gIH1cclxufVxyXG5cclxuLmVkZ2UtdG8tZWRnZSB7XHJcbiAgQGluY2x1ZGUgZWRnZS10by1lZGdlO1xyXG59XHJcblxyXG5AbWl4aW4gdW5kZXItaGVhZGVyIHtcclxuICBtYXJnaW46IDAgMCAyNXB4IDA7XHJcbiAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlOyAvL2xpZ2h0ZW4oJGxpZ2h0ZXN0R3JheSwgMiUpO1xyXG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyAvL2xpZ2h0ZW4oJGJyYW5kQ29sb3JQcmltYXJ5LCA2OCUpO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHRHcmF5OyAvL2xpZ2h0ZW4oJGJyYW5kQ29sb3JQcmltYXJ5LCA2OCUpO1xyXG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IC8vbGlnaHRlbigkYnJhbmRDb2xvclByaW1hcnksIDY4JSk7XHJcbiAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgY29sb3I6ICRkYXJrZXJHcmF5O1xyXG59XHJcblxyXG4udW5kZXItaGVhZGVyIHtcclxuICBAaW5jbHVkZSB1bmRlci1oZWFkZXI7XHJcbn1cclxuXHJcbkBtaXhpbiB1bmRlci1oZWFkZXItY29udGVudCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0ZXN0R3JheTtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHRHcmF5O1xyXG59XHJcblxyXG4udW5kZXItaGVhZGVyLWNvbnRlbnQge1xyXG4gIEBpbmNsdWRlIHVuZGVyLWhlYWRlci1jb250ZW50O1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xyXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXHJcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xyXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxyXG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XHJcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XHJcbi8vXHJcbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXHJcbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjEuNC45XHJcbi8vXHJcbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcclxuLy9cclxuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXHJcbi8vICAgICAgICAgICAgICAgICAgS2l0dHkgR2lyYXVkZWwgKEBraXR0eWdpcmF1ZGVsKVxyXG4vL1xyXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXHJcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xyXG4vLy9cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgJ3Bob25lJzogMzIwcHgsXHJcbiAgJ3RhYmxldCc6IDc2OHB4LFxyXG4gICdkZXNrdG9wJzogMTAyNHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcclxuLy8vICApO1xyXG4vLy9cclxuJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxyXG4gICdwcmludCc6ICdwcmludCcsXHJcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcclxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXHJcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcclxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxyXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XHJcbi8vL1xyXG4kdW5pdC1pbnRlcnZhbHM6IChcclxuICAncHgnOiAxLFxyXG4gICdlbSc6IDAuMDEsXHJcbiAgJ3JlbSc6IDAuMSxcclxuICAnJzogMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcclxuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXHJcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xyXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAgLmZvbyB7XHJcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xyXG5cclxuLy8vL1xyXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcclxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXHJcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xyXG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XHJcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAd2FybiAkbWVzc2FnZTtcclxuICAgICRfOiBub29wKCk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRtZXNzYWdlO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XHJcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cclxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cclxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcclxuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXHJcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxyXG4vLy9cclxuQGZ1bmN0aW9uIG5vb3AoKSB7fVxyXG5cclxuLy8vXHJcbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy9cclxuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcclxuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcclxuXHJcbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XHJcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cclxuICB9XHJcblxyXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xyXG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcclxuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcclxuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcclxuXHJcbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxyXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XHJcbiAgICAgICAgQHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcbiAgICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFBhcnNpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XHJcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XHJcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xyXG4gICRkaW1lbnNpb246ICd3aWR0aCc7XHJcblxyXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xyXG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRkaW1lbnNpb247XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xyXG4gIEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcclxuXHJcbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XHJcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcclxuICB9XHJcblxyXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XHJcblxyXG4gIEBpZiBub3QgJGludGVydmFsIHtcclxuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cclxuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXHJcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XHJcbiAgfVxyXG5cclxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XHJcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcclxuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xyXG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxyXG4vLy9cclxuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcclxuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXHJcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcclxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xyXG4gIH1cclxuXHJcbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XHJcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblxyXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcclxuLy8vXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3RcclxuLy8vXHJcbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XHJcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xyXG4gICAgQHJldHVybiAoKTtcclxuICB9XHJcblxyXG4gICRyZXN1bHQ6ICgpO1xyXG5cclxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XHJcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcmVzdWx0O1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfVxyXG4vLy9cclxuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcclxuICAgIEByZXR1cm4gJHZhbHVlO1xyXG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcclxuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XHJcbiAgfVxyXG5cclxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcclxuICAkcmVzdWx0OiAwO1xyXG4gICRkaWdpdHM6IDA7XHJcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xyXG4gICRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcclxuXHJcbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXHJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xyXG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcclxuICB9XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcclxuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XHJcblxyXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xyXG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XHJcbiAgICAgICRkaWdpdHM6IDE7XHJcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XHJcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcclxuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcclxuLy8vXHJcbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xyXG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XHJcblxyXG4gIEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcclxuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxyXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxyXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXHJcbi8vLyBmb3IgaW5zdGFuY2UuXHJcbi8vL1xyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xyXG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XHJcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xyXG5cclxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcclxuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcclxuXHJcbiAgQGNvbnRlbnQ7XHJcblxyXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcclxuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cclxuLy8vXHJcbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xyXG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcclxuICAgICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xyXG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xyXG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxyXG4gICAgICBAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKipcbiAgKiBIVE1MIEVMRU1FTlQgU1RZTEVTXG4gICpcbiAgKiBTdHlsZSBkZWZpbml0aW9ucyBmb3IgZ2xvYmFsIGVsZW1lbnQgc2VsZWN0b3JzLlxuICAqL1xuXG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyBDb25zaXN0ZW50IGJveC1zaXppbmcgZm9yIGFsbCBlbGVtZW50c1xufVxuXG5odG1sIHtcbiAgaGVpZ2h0OiAxMDAlOyAvLyBGb3Igc3RpY2t5IGZvb3RlclxuICBsaW5lLWhlaWdodDogMS43OyAvLyBTZXQgZGVmYXVsdCBsaW5lIGhlaWdodFxuICBmb250LXNpemU6IDYyLjUlOyAvLyA2Mi41JSBvZiAxNnB4IGJyb3dzZXIgZm9udCBzaXplIGlzIDEwcHhcbn1cblxuYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IC8vIEZvciBzdGlja3kgZm9vdGVyXG4gIG1hcmdpbjogMDsgLy8gTWFrZSBzdXJlIGJvZHkgZWxlbWVudCBpcyBlZGdlLXRvLWVkZ2VcbiAgZGlzcGxheTogZ3JpZDsgLy8gRm9yIHN0aWNreSBmb290ZXJcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmciBhdXRvOyAvLyBGb3Igc3RpY2t5IGZvb3RlclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keUNvbG9yO1xuICAvL2ZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gIGZvbnQtZmFtaWx5OiBcIk51bml0b1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuNnJlbTsgLy8gUmVzZXQgb3ZlcmFsbCBcInJvb3RcIiBmb250LXNpemUgZm9yIDE2cHggc3RhbmRhcmQgKHJlbGF0aXZlIHRvIDYyLjUlIGFjdHVhbCByb290IHNpemUgZGVjbGFyZWQgYWJvdmUpXG4gIGNvbG9yOiAkZm9udENvbG9yO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCAuaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgbWFyZ2luLXRvcDogM3JlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGNvbG9yOiAjMjIyOyAvLyRicmFuZENvbG9yUHJpbWFyeTtcbiAgLy9mb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xufVxuXG4vLyAoU2VlIG1peGlucyk6XG5oMSB7XG4gIEBpbmNsdWRlIGgxO1xuICBAaW5jbHVkZSBtYXItYm90dG9tO1xuICBAaW5jbHVkZSBiZy1ncmFkaWVudC1saWdodDtcbiAgLy9tYXJnaW46IDAgMCAzNXB4IDA7XG4gIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7IC8vIGxpZ2h0ZW4oJGJyYW5kQ29sb3JQcmltYXJ5LCA3NCUpO1xuICAvL2JvcmRlci1yYWRpdXM6IDMwcHggMzBweCAwIDA7XG4gIC8qXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbiAgICB0byByaWdodCxcbiAgICBsaWdodGVuKCRncmVlbiwgNzIlKSxcbiAgICBsaWdodGVuKCRyZWQsIDYwJSksXG4gICAgbGlnaHRlbigkYmx1ZSwgNDMlKSxcbiAgICBsaWdodGVuKCRwdXJwbGUsIDczJSlcbiAgKTtcbiAgKi9cbiAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICRsaWdodEdyYXk7IC8vZGFya2VuKCRsaWdodEdyYXksIDEwJSk7IC8vYm9yZGVyLXRvcDogNXB4IHNvbGlkICRsaWdodEdyYXk7IC8vbGlnaHRlbigkYnJhbmRDb2xvclByaW1hcnksIDc0JSk7XG4gIC8vYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGxpZ2h0R3JheTsgLy9saWdodGVuKCRicmFuZENvbG9yUHJpbWFyeSwgNzQlKTtcbiAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRsaWdodEdyYXk7IC8vbGlnaHRlbigkYnJhbmRDb2xvclByaW1hcnksIDc0JSk7XG4gIC8vYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkbGlnaHRHcmF5OyAvL2xpZ2h0ZW4oJGJyYW5kQ29sb3JQcmltYXJ5LCA3NCUpO1xuXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmLmNsb3NlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJi5ibGFjayB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdW5zZXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIC8vYm9yZGVyLXRvcDogNXB4IHNvbGlkICRncmF5O1xuICAgIC8vYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRncmF5O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAmLnJlZCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdW5zZXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDsgLy9saWdodGVuKCRyZWQsIDc0JSk7XG4gICAgLy9ib3JkZXItdG9wOiA1cHggc29saWQgJGdyYXk7XG4gICAgLy9ib3JkZXItYm90dG9tOiA1cHggc29saWQgJGdyYXk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gICYuZ3JlZW4ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVuc2V0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjsgLy9saWdodGVuKCRncmVlbiwgNzQlKTtcbiAgICAvL2JvcmRlci10b3A6IDVweCBzb2xpZCAkZ3JheTtcbiAgICAvL2JvcmRlci1ib3R0b206IDVweCBzb2xpZCAkZ3JheTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgJi5ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1bnNldDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTsgLy9saWdodGVuKCRibHVlLCA2OCUpO1xuICAgIC8vYm9yZGVyLXRvcDogNXB4IHNvbGlkICRncmF5O1xuICAgIC8vYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRncmF5O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAmLnB1cnBsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdW5zZXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZTsgLy9saWdodGVuKCRwdXJwbGUsIDc0JSk7XG4gICAgLy9ib3JkZXItdG9wOiA1cHggc29saWQgJGdyYXk7XG4gICAgLy9ib3JkZXItYm90dG9tOiA1cHggc29saWQgJGdyYXk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuXG5oMiB7XG4gIEBpbmNsdWRlIGgyO1xufVxuXG5oMyB7XG4gIEBpbmNsdWRlIGgzO1xuXG4gIC8vcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIC8vYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRsaWdodEdyYXk7XG59XG5cbmg0IHtcbiAgQGluY2x1ZGUgaDQ7XG59XG5cbmg1IHtcbiAgQGluY2x1ZGUgaDU7XG59XG5cbmg2IHtcbiAgQGluY2x1ZGUgaDY7XG59XG5cbnAge1xuICBtYXJnaW46IDAgMCAxLjVyZW0gMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJGxpbmtDb2xvcjtcblxuICAmOmxpbmsge1xuXG4gIH1cblxuICAmOmhvdmVyIHtcblxuICB9XG5cbiAgJjphY3RpdmUge1xuXG4gIH1cblxuICAmOnZpc2l0ZWQge1xuXG4gIH1cbn1cblxuOmZvY3VzIHtcbiAgLy9vdXRsaW5lOiAzcHggc29saWQgb3JhbmdlO1xufVxuXG51bCwgb2wge1xuICBtYXJnaW46IDEuNXJlbSAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG59XG5cbmltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogQmVnaW4gYnV0dG9uIHN0eWxlcyAqL1xuYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuYnV0dG9uOmhvdmVyLFxuYnV0dG9uOmZvY3VzIHtcblxufVxuXG5idXR0b246Zm9jdXMge1xuICAvL291dGxpbmU6IDFweCBzb2xpZCAjZmZmO1xuICAvL291dGxpbmUtb2Zmc2V0OiAtNHB4O1xufVxuXG5idXR0b246YWN0aXZlIHtcbiAgLy90cmFuc2Zvcm06IHNjYWxlKDAuOTkpO1xufVxuLyogRW5kIGJ1dHRvbiBzdHlsZXMgKi9cblxuYmxvY2txdW90ZSB7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGJsYWNrO1xuICBtYXJnaW46IDEuNWVtIDEwcHg7XG4gIHBhZGRpbmc6IDAuNWVtIDMwcHg7XG4gIHF1b3RlczogXCJcXDIwMUNcIjsgLy9cIlxcMjAxRFwiXCJcXDIwMThcIlwiXFwyMDE5XCI7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbG9yOiAjY2NjO1xuICAgIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XG4gICAgZm9udC1zaXplOiA0ZW07XG4gICAgbGluZS1oZWlnaHQ6IDAuMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNWVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiAtMC40ZW07XG4gIH1cblxuICBwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHA6Zmlyc3Qtb2YtdHlwZSwgcDpudGgtb2YtdHlwZSgyKSB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gIH1cbn1cbiIsIi8qKlxuICAqIEhFQURFUiBTVFlMRVNcbiAgKi9cblxuLmhlYWRlci13cmFwIHsgLy8gRWRnZS10by1lZGdlIHdyYXAgZm9yIGV2ZXJ5dGhpbmcgaW4gdGhlIGhlYWRlci4gMXN0IGdyaWQgaXRlbSBpbiA8Ym9keT4gZ3JpZCBjb250YWluZXIuXG4gIEBpbmNsdWRlIHdyYXA7XG4gIGdyaWQtcm93LXN0YXJ0OiAxOyAvLyBGb3Igc3RpY2t5IGZvb3RlclxuICBncmlkLXJvdy1lbmQ6IDI7IC8vIEZvciBzdGlja3kgZm9vdGVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA5OTk7IC8vIFBvc2l0aW9uIGluIGZyb250IG9mIGV2ZXJ5dGhpbmcgZWxzZVxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zLCBib3JkZXIgMjAwbXMsIGJveC1zaGFkb3cgMjAwbXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRuZXV0cmFsR3JheTsgLy8kYnJhbmRDb2xvclByaW1hcnk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgJi5iZy12aXNpYmxlIHtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTtcbiAgfVxufVxuICAuaGVhZGVyLW92ZXJsYXkgeyAvLyBUcmFuc2x1Y2VudCwgXCJkaW1tZXJcIiBsYXllciBvdmVyIGhlYWRlciBiYWNrZ3JvdW5kLWltYWdlLlxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya2VyR3JheTsgLy8kYnJhbmRDb2xvclByaW1hcnk7XG4gICAgb3BhY2l0eTogMC40Oy8vMC41O1xuXG4gICAgJi5taXRvZ3VpZGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgLy9vcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICYubWl0b2Jsb2cge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZTtcbiAgICAgIC8vb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAvKlxuICAgICYubWl0b25ldHdvcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICB9XG5cbiAgICAmLm1pdG90cnVzdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlO1xuICAgIH1cblxuICAgICYubWl0b2xpYnJhcnkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgfVxuICAgICovXG5cbiAgICAmLmJnLXZpc2libGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xuICAgICAgLy9vcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gIC50b3AtYmFyLWJnIHsgLy8gRWRnZS10by1lZGdlIGJhY2tncm91bmQgbGF5ZXIgZm9yIHRoZSB0b3AtbmF2IGJhciAoZGVza3RvcCkuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA2O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcztcblxuICAgICYuYmctdmlzaWJsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbEdyYXk7Ly8kYnJhbmRDb2xvclByaW1hcnk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7IC8vIHRhYmxldFxuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmJvdHRvbS1iYXItYmcgeyAvLyBFZGdlLXRvLWVkZ2UgYmFja2dyb3VuZCBsYXllciBmb3IgdGhlIG1haW4tbmF2IGJhciAoZGVza3RvcCkuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkbWFpbk5hdkhlaWdodDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogNjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjEpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBsaWdodGVuKCRicmFuZENvbG9yUHJpbWFyeSwgNjAlKTtcblxuICAgICYuYmctdmlzaWJsZSB7XG5cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHsgLy8gdGFibGV0XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuYmV0YSB7XG4gICAgQGluY2x1ZGUgd3JhcDtcbiAgICBAaW5jbHVkZSBpbm5lci13cmFwO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogMjJweDtcbiAgICBwYWRkaW5nOiAwIDdweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1cHg7XG4gICAgbGVmdDogNXB4O1xuICAgIHotaW5kZXg6IDc7XG4gICAgYm9yZGVyOiAxcHggc29saWQgbGlnaHRlbigkZ3JlZW4sIDI1JSk7XG5cbiAgICBzcGFuIHtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgY29sb3I6IGxpZ2h0ZW4oJGdyZWVuLCAyNSUpO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikgeyAvLyB0YWJsZXRcbiAgICAgIGhlaWdodDogNDRweDtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgIHRvcDogMjBweDtcbiAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCBsaWdodGVuKCRncmVlbiwgMjUlKTtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXIgeyAvLyBXaWR0aC1saW1pdGVkIGNvbnRhaW5lciBmb3IgdGhlIGhlYWRlci4gVGhpcyBpcyB0aGUgPGhlYWRlcj4gZWxlbWVudCBpdHNlbGYuXG4gICAgQGluY2x1ZGUgaW5uZXItd3JhcDtcbiAgICBoZWlnaHQ6ICRoZWFkZXJIZWlnaHRNb2JpbGU7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IC8vMWZyIDEwMHB4O1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogJGhlYWRlckhlaWdodE1vYmlsZSBhdXRvO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG5cbiAgICAmLmJnLXZpc2libGUge1xuICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7IC8vIHRhYmxldFxuICAgICAgaGVpZ2h0OiBjYWxjKCRoZWFkZXJIZWlnaHREZXNrdG9wICsgJHRvcEJhckhlaWdodCk7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgLy8xZnIgMTAwcHg7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDEyMHB4IDcwcHg7XG4gICAgfVxuICB9XG4gICAgLmhlYWRlci1icmFuZCB7IC8vIENvbnRhaW5lciBmb3IgbG9nbywgdGV4dCBsb2dvLCB0YWdsaW5lLiBDb3ZlcnMgZW50aXJlIGhlYWRlciBhcmVhIChiZWhpbmQgbmF2cylcbiAgICAgIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyAvLyBOZWdhdGUgcmlnaHQgcGFkZGluZyBmcm9tICdjb250YWluZXInIG1peGluIF5eXlxuICAgICAgaGVpZ2h0OiAkaGVhZGVySGVpZ2h0TW9iaWxlO1xuICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgICBncmlkLXJvdzogMSAvIHNwYW4gMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikgeyAvLyB0YWJsZXRcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCRoZWFkZXJIZWlnaHREZXNrdG9wIC0gJG1haW5OYXZIZWlnaHQpO1xuICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKCR0b3BCYXJIZWlnaHQgLyAyKTsgLy8kdG9wQmFySGVpZ2h0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbWFpbk5hdkhlaWdodDtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGhlaWdodDogJGhlYWRlckhlaWdodE1vYmlsZTtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHsgLy8gdGFibGV0XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKCRoZWFkZXJIZWlnaHREZXNrdG9wIC0gJG1haW5OYXZIZWlnaHQpO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsvL2NlbnRlcjtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvZ28taW1hZ2Uge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGhlaWdodDogY2FsYygkaGVhZGVySGVpZ2h0TW9iaWxlIC0gNzBweCk7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikgeyAvLyB0YWJsZXRcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygkaGVhZGVySGVpZ2h0TW9iaWxlKTsgLy8gLTMwcHhcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubG9nby10ZXh0IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyAvL2Jsb2NrO1xuICAgICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcbiAgICAgICAgICAgIC8vcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5sb2dvLXRleHQtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjk7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG5cbiAgICAgICAgICAgIHNwYW4ucmVnaXN0ZXJlZCB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuXG4gICAgICAgICAgICAgIHNwYW4ucmVnaXN0ZXJlZCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7IC8vIHRhYmxldFxuICAgICAgICAgICAgICBtYXJnaW46IDIwcHggYXV0byAwIGF1dG87XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcblxuICAgICAgICAgICAgICBzcGFuLnJlZ2lzdGVyZWQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmxvZ28tdGV4dC10YWdsaW5lIHtcbiAgICAgICAgICAgIC8vbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gMCBhdXRvO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuODtcbiAgICAgICAgICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjZyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuICAgICAgICAgICAgICAvL2Rpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyLW5hdiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICRoZWFkZXJIZWlnaHRNb2JpbGU7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgJi5iZy12aXNpYmxlIHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG4gICAgICB9XG5cbiAgICAgICYudmlzaWJsZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7IC8vIHRhYmxldFxuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoJGhlYWRlckhlaWdodERlc2t0b3AgKyAkdG9wQmFySGVpZ2h0KTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcblxuICAgICAgICAmLnZpc2libGUge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAgIC5oZWFkZXItbmF2LW1haW4ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHotaW5kZXg6IDY7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikgeyAvLyB0YWJsZXRcbiAgICAgICAgICBoZWlnaHQ6ICRtYWluTmF2SGVpZ2h0O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIC8vY29sdW1uLWdhcDogYXV0bztcbiAgICAgICAgICAvL2JvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheTtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikgeyAvLyB0YWJsZXRcbiAgICAgICAgICAgIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRzaXRlV2lkdGg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogJG1haW5OYXZIZWlnaHQ7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgLy9jb2x1bW4tZ2FwOiAxMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogdW5zZXQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy9mbGV4LWVuZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItdG9wOiB1bnNldDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG5cbiAgICAgICAgICAgICY6aG92ZXIgPiB1bCB7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkgeyAvLywgJjpudGgtY2hpbGQoMiksICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuXG4gICAgICAgICAgICAgIHVsIGxpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7Ly8xMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpLCAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7Ly8xMHB4O1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpLCAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7Ly8xMHB4O1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7IC8vJjpudGgtY2hpbGQoNCksICY6bnRoLWNoaWxkKDUpLCAmOm50aC1jaGlsZCg2KSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG5cbiAgICAgICAgICAgICAgdWwgbGkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsvLzEwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpLCAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7Ly8xMHB4O1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzKSwgJjpudGgtY2hpbGQoNCkge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOy8vMTBweDtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHsgLy8mOm50aC1jaGlsZCg3KSwgJjpudGgtY2hpbGQoOCksICY6bnRoLWNoaWxkKDkpIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG5cbiAgICAgICAgICAgICAgdWwgbGkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsvLzEwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSwgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOy8vMTBweDtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpLCAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7Ly8xMHB4O1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDQpIHsgLy8mOm50aC1jaGlsZCgxMCksICY6bnRoLWNoaWxkKDExKSwgJjpudGgtY2hpbGQoMTIpIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZTtcblxuICAgICAgICAgICAgICB1bCBsaSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOy8vMTBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlO1xuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSksICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsvLzEwcHg7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpLCAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7Ly8xMHB4O1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNSkgeyAvLywgJjpudGgtY2hpbGQoMiksICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXG4gICAgICAgICAgICAgIHVsIGxpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7Ly8xMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpLCAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7Ly8xMHB4O1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpLCAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7Ly8xMHB4O1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHsgLy8gdGFibGV0XG4gICAgICAgICAgICAgIHdpZHRoOiAyNSU7IC8vYXV0bztcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKCRtYWluTmF2SGVpZ2h0IC0gMTBweCk7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGRpc3BsYXkgMzAwbXM7XG5cbiAgICAgICAgICAgICAgJjpob3ZlciA+IHVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgIC8vbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICAgIC8vbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgICAgICAgIC8vbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICY6bnRoLWNoaWxkKDUpIHtcbiAgICAgICAgICAgICAgICAgIC8vbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkLWxlZnQ7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5O1xuICAgICAgICAgICAgICAvL3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgICAgY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgICAgICAgIC8vZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcblxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKCRicmFuZENvbG9yQ29udHJhc3QsIDIwJSk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoJG1haW5OYXZIZWlnaHQgLSAxMHB4KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiB1bnNldDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlOyAvLyRicmFuZENvbG9yUHJpbWFyeTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlnaHRHcmF5OyAvLyRibGFjaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7IC8vIHRhYmxldFxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubmF2LWNoZXZyb24ge1xuICAgICAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kQ29sb3JDb250cmFzdDtcblxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKCRicmFuZENvbG9yQ29udHJhc3QsIDIwJSk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHsgLy8gdGFibGV0XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7IC8vIHN1Yi1uYXZcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikgeyAvLyB0YWJsZXRcbiAgICAgICAgICAgICAgICAvL21pbi13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiBjYWxjKCRtYWluTmF2SGVpZ2h0IC0gMTBweCk7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgbGkgeyAvLyBzdWItbmF2XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDUpIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHsgLy8gdGFibGV0XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnRpemUoJGRhcmtlckdyYXksIDAuOCk7XG5cbiAgICAgICAgICAgICAgICAgICY6aG92ZXIgPiB1bCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYSB7IC8vIHN1Yi1uYXZcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogM2VtO1xuICAgICAgICAgICAgICAgICAgLy9AaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAgICAgICAgICAgICAgIC8vd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAvL2hlaWdodDogNDVweDtcbiAgICAgICAgICAgICAgICAgIC8vbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgLy9wYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAvL3BhZGRpbmc6IDAgMCAwIDMwcHg7XG4gICAgICAgICAgICAgICAgICAvL2Rpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAvL2FsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAvL2NvbG9yOiBncmF5O1xuICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAvL3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHsgLy8gdGFibGV0XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgLy9tYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB1bCB7IC8vIHN1Yi1zdWItbmF2XG5cbiAgICAgICAgICAgICAgICAgIGxpIHsgLy8gc3ViLXN1Yi1uYXZcblxuICAgICAgICAgICAgICAgICAgICBhIHsgLy8gc3ViLXN1Yi1uYXZcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQuNWVtO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdWwgeyAvLyBzdWItc3ViLXN1Yi1uYXZcblxuICAgICAgICAgICAgICAgICAgICAgIGxpIHsgLy8gc3ViLXN1Yi1zdWItbmF2XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGEgeyAvLyBzdWItc3ViLXN1Yi1uYXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2ZW07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5oZWFkZXItbmF2LXRvcCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHotaW5kZXg6IDY7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjbGVhcjogYm90aDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHsgLy8gdGFibGV0XG4gICAgICAgICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgei1pbmRleDogNjtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHsgLy8gdG9wIG5hdlxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAzMHB4O1xuICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7IC8vIHRhYmxldFxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyAvLyBQYWRkaW5nIGFnYWluc3QgaGVhZGVyIGJ1dHRvbnMgKHNlYXJjaCBnbGFzcylcbiAgICAgICAgICAgIC8vZmxleC1mbG93OiByb3c7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsaSB7IC8vIHRvcCBuYXZcbiAgICAgICAgICAgIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikgeyAvLyB0YWJsZXRcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEgeyAvLyB0b3AgbmF2XG4gICAgICAgICAgICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kQ29sb3JDb250cmFzdDtcblxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKCRicmFuZENvbG9yQ29udHJhc3QsIDIwJSk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHsgLy8gdGFibGV0XG5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc2xpZGUtbGluZSB7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuICAgICAgfVxuXG4gICAgLmhlYWRlci1idXR0b25zIHtcbiAgICAgIEBpbmNsdWRlIHBhZC1yaWdodDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiAkaGVhZGVySGVpZ2h0TW9iaWxlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHotaW5kZXg6IDY7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikgeyAvLyB0YWJsZXRcbiAgICAgICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICAgICAgLmdsYXNzIHtcbiAgICAgICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRvcDogYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHsgLy8gdGFibGV0XG4gICAgICAgICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICAgIGJvcmRlcjogdW5zZXQ7XG4gICAgICAgIH1cblxuICAgICAgICBpIHtcbiAgICAgICAgICBjb2xvcjogJGJyYW5kQ29sb3JDb250cmFzdDtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IGRhcmtlbigkYnJhbmRDb2xvckNvbnRyYXN0LCAyMCUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikgeyAvLyB0YWJsZXRcbiAgICAgICAgICAgIC8vY29sb3I6ICRtZWRpdW1HcmF5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYnVyZ2VyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj0zNDBweFwiKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHsgLy8gdGFibGV0XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGkge1xuICAgICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogZGFya2VuKCRicmFuZENvbG9yQ29udHJhc3QsIDIwJSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAuaGVhZGVyLXNlYXJjaC13cmFwIHsgLy8gSGVhZGVyLXNwZWNpZmljIHNlYXJjaCB3cmFwXG4gICAgICBAaW5jbHVkZSB3cmFwO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJGhlYWRlckhlaWdodE1vYmlsZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbEdyYXk7Ly8kYnJhbmRDb2xvclByaW1hcnk7XG4gICAgICB6LWluZGV4OiA2O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHsgLy8gdGFibGV0XG4gICAgICAgIHRvcDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCRoZWFkZXJIZWlnaHREZXNrdG9wIC0gJG1haW5OYXZIZWlnaHQpO1xuICAgICAgfVxuXG4gICAgICAuc2l0ZS1zZWFyY2ggeyAvLyBIZWFkZXIgc3BlY2lmaWMgLS0gc2VlIHNlYXJjaC5zY3NzIGZvciBnbG9iYWwgc2VhcmNoIHN0eWxlc1xuICAgICAgICBAaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAgIH1cbiAgICB9XG4iLCIvKipcbiAgKiBTSVRFIFNFQVJDSCBGT1JNIFNUWUxFU1xuICAqL1xuXG4uc2l0ZS1zZWFyY2gge1xuICBAaW5jbHVkZSBpbm5lci13cmFwO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDQwcHggMDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgNTBweDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xufVxuXG4gIC5zZWFyY2gtcXVlcnkge1xuICAgIGhlaWdodDogNTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuICAgIGxhYmVsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuICAgICAgY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgfVxuICB9XG5cbiAgLnNlYXJjaC1zdWJtaXQge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMTtcbiAgICBncmlkLXJvdzogMTtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICBjb2xvcjogJG5ldXRyYWxHcmF5O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcztcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRicmFuZENvbG9yQ29udHJhc3QsIDIwJSk7XG4gICAgfVxuICB9XG4iLCIvKipcbiAgKiBNQUlOIFBBR0UgQ09OVEVOVCBTVFlMRVNcbiAgKi9cblxuXG4ubWFpbi13cmFwIHtcbiAgQGluY2x1ZGUgYmctZ3JhZGllbnQtbGlnaHQ7XG4gIEBpbmNsdWRlIHdyYXA7XG4gIGdyaWQtcm93LXN0YXJ0OiAyOyAvLyBGb3Igc3RpY2t5IGZvb3RlclxuICBncmlkLXJvdy1lbmQ6IDM7IC8vIEZvciBzdGlja3kgZm9vdGVyXG59XG4gIC5tYWluIHsgLy8gQ29udGFpbmVyIGZvciBhbGwgbm9uLWhlYWRlciBhbmQgbm9uLWZvb3RlciBzdHVmZlxuICAgIGhlaWdodDogMTAwJTsgLy8gRm9yIHN0aWNreSBmb290ZXI6IGZpbGwgYW55IGVtcHR5IHNwYWNlIGRvd24gdG8gZm9vdGVyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gRXh0ZW5kcyBoZWlnaHQgdG8gYWNjb21vZGF0ZSBjb250ZW50J3MgbWFyZ2luXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjUpO1xuICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCBkYXJrZW4oJGxpZ2h0R3JheSwgMTAlKTtcbiAgfVxuICAgIC5wYWdlLWhlYWRlci13cmFwIHtcbiAgICAgIEBpbmNsdWRlIHdyYXA7XG5cbiAgICB9XG4gICAgICAucGFnZS1oZWFkZXIgeyAvLyBNYWluIHBhZ2UgaGVhZGVyIChjb250YWlucyBwYWdlIHRpdGxlIEgxLCBpbnRybyB0ZXh0LCBldGMuKVxuICAgICAgICBAaW5jbHVkZSBpbm5lci13cmFwO1xuICAgICAgICAvL0BpbmNsdWRlIHBhZC10b3A7XG4gICAgICAgIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAgICAgICAvL2JvcmRlci10b3A6IDVweCBzb2xpZCBkYXJrZW4oJGxpZ2h0R3JheSwgMTAlKTtcbiAgICAgIH1cbiAgICAgICAgLnBhZ2UtYnJlYWRjcnVtYiB7XG4gICAgICAgICAgbWluLWhlaWdodDogNDBweDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAj4oCcYnJlYWRjcnVtYnPigJ0ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4uYnJlYWRjcnVtYl9sYXN0IHtcbiAgICAgICAgICAgICAgLy9mb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2UtdGl0bGUge1xuICAgICAgICAgIC8vdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgaDEge1xuICAgICAgICAgIC8vICBtYXJnaW46IDAgMCAzNXB4IDA7XG4gICAgICAgICAgLy8gIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5OyAvLyBsaWdodGVuKCRicmFuZENvbG9yUHJpbWFyeSwgNzQlKTtcbiAgICAgICAgICAgIC8vYm9yZGVyLXJhZGl1czogMzBweCAzMHB4IDAgMDtcbiAgICAgICAgICAvLyAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIGxpZ2h0ZW4oJGJyYW5kQ29sb3JQcmltYXJ5LCA3NCUpO1xuICAgICAgICAgIC8vICBib3JkZXItYm90dG9tOiA1cHggc29saWQgbGlnaHRlbigkYnJhbmRDb2xvclByaW1hcnksIDc0JSk7XG4gICAgICAgICAgICAvL2NvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2UtbmF2IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87IC8vMDtcbiAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAkaGVhZGVySGVpZ2h0TW9iaWxlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyAvL25vbmU7XG4gICAgICAgICAgLy9vdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgICAgJi5iZy12aXNpYmxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHsgLy8gdGFibGV0XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgLy9taW4taGVpZ2h0OiBjYWxjKCRoZWFkZXJIZWlnaHREZXNrdG9wICsgJHRvcEJhckhlaWdodCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAgIC5wYWdlLW5hdi1tYWluIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIHotaW5kZXg6IDY7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7IC8vIHRhYmxldFxuICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87IC8vNDVweDsgLy8kbWFpbk5hdkhlaWdodDtcbiAgICAgICAgICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5ibGFjayB7XG5cbiAgICAgICAgICAgICAgdWwge1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0ZXN0R3JheTtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTsgLy8kYmxhY2s7XG5cbiAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBsaWdodGVuKCRibGFjaywgMjAlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmdyZWVuIHtcblxuICAgICAgICAgICAgICB1bCB7XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHRlc3RHcmF5O1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlOyAvLyRncmVlbjtcblxuICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGdyZWVuLCAyMCUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYucmVkIHtcblxuICAgICAgICAgICAgICB1bCB7XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHRlc3RHcmF5O1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlOyAvLyRyZWQ7XG5cbiAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHJlZDtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkcmVkLCAyMCUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYmx1ZSB7XG5cbiAgICAgICAgICAgICAgdWwge1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0ZXN0R3JheTtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTsgLy8kYmx1ZTtcblxuICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkYmx1ZSwgMjAlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnB1cnBsZSB7XG5cbiAgICAgICAgICAgICAgdWwge1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0ZXN0R3JheTtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTsgLy8kcHVycGxlO1xuXG4gICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwdXJwbGU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJHB1cnBsZSwgMjAlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRsaWdodEdyYXk7XG4gICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGxpZ2h0R3JheTtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHsgLy8gdGFibGV0XG4gICAgICAgICAgICAgICAgLy9AaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRzaXRlV2lkdGg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvOyAvLzQ1cHg7IC8vJG1haW5OYXZIZWlnaHQ7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAvL2NvbHVtbi1nYXA6IDEwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogdW5zZXQ7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8vZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgLy9ib3JkZXItYm90dG9tOiA1cHggc29saWQgJGxpZ2h0R3JheTtcbiAgICAgICAgICAgICAgICAvL2JvcmRlci1yaWdodDogMXB4IHNvbGlkICRsaWdodEdyYXk7XG4gICAgICAgICAgICAgICAgLy9ib3JkZXItbGVmdDogMXB4IHNvbGlkICRsaWdodEdyYXk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0R3JheTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiB1bnNldDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIgPiB1bCB7XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHsgLy8gdGFibGV0XG4gICAgICAgICAgICAgICAgICAvL3dpZHRoOiAyNSU7IC8vYXV0bztcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoJG1haW5OYXZIZWlnaHQgLSAxMHB4KTtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7IC8vNXB4O1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBkaXNwbGF5IDMwMG1zO1xuXG4gICAgICAgICAgICAgICAgICAmOmhvdmVyID4gdWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAvL3BhZGRpbmctbGVmdDogMTBweDtcblxuICAgICAgICAgICAgICAgICAgICAvL3BhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgLy9tYXJnaW4tbGVmdDogNXB4O1xuXG4gICAgICAgICAgICAgICAgICAgIC8vcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgLy9wYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICAgICAgLy9tYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgICAgICAvL3BhZGRpbmctbGVmdDogMTBweDtcblxuICAgICAgICAgICAgICAgICAgICAvL3BhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIC8vbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIC8vcGFkZGluZy1sZWZ0OiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIC8vcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBhZC1sZWZ0O1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHRHcmF5O1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcblxuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIC8vY29sb3I6IGRhcmtlbigkYnJhbmRDb2xvckNvbnRyYXN0LCAyMCUpO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygkbWFpbk5hdkhlaWdodCAtIDEwcHgpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7IC8vJGJyYW5kQ29sb3JQcmltYXJ5O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAvL2NvbG9yOiAkbGlnaHRHcmF5OyAvLyRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7IC8vIHRhYmxldFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5uYXYtY2hldnJvbiB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kQ29sb3JDb250cmFzdDtcblxuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJGJyYW5kQ29sb3JDb250cmFzdCwgMjAlKTtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7IC8vIHRhYmxldFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHVsIHsgLy8gc3ViLW5hdlxuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7IC8vIHRhYmxldFxuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogY2FsYygkbWFpbk5hdkhlaWdodCAtIDEwcHgpO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBsaSB7IC8vIHN1Yi1uYXZcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDUpIHtcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHsgLy8gdGFibGV0XG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudGl6ZSgkZGFya2VyR3JheSwgMC44KTtcblxuICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIgPiB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGEgeyAvLyBzdWItbmF2XG4gICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzZW07XG4gICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvL3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikgeyAvLyB0YWJsZXRcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB1bCB7IC8vIHN1Yi1zdWItbmF2XG5cbiAgICAgICAgICAgICAgICAgICAgICBsaSB7IC8vIHN1Yi1zdWItbmF2XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGEgeyAvLyBzdWItc3ViLW5hdlxuICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQuNWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB1bCB7IC8vIHN1Yi1zdWItc3ViLW5hdlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxpIHsgLy8gc3ViLXN1Yi1zdWItbmF2XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHsgLy8gc3ViLXN1Yi1zdWItbmF2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDZlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAucGFnZS1tYWluLXdyYXAge1xuICAgICAgQGluY2x1ZGUgd3JhcDtcbiAgICB9XG4gICAgICAucGFnZS1tYWluIHsgLy8gTWFpbiBwYWdlIGNvbnRlbnQgYW5kIHNpZGViYXJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnBhZ2UtbWFpbi5zaWRlIHsgLy8gU2lkZWJhci1zcGVjaWZpYyB2ZXJzaW9uIG9mIC5wYWdlLW1haW4gXl5eXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDBweDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMzIwcHg7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAucGFnZS1jb250ZW50IHsgLy8gTWFpbiBwYWdlIGNvbnRlbnQgKHNpdHMgYWxvbmdzaWRlIHNpZGViYXIgaWYgdGhlcmUgaXMgb25lKVxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgICAgICAgZ3JpZC1yb3c6IDI7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxO1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICAvL21heC13aWR0aDogNjUwcHg7XG4gICAgICAgICAgICAvL21hcmdpbjogMCBhdXRvIDEuNXJlbSBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAgIC5wYWdlLXNlY3Rpb24td3JhcCB7XG4gICAgICAgICAgICAvL3BhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIC8vcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgICAgICAgLy9AaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgd3JhcDtcbiAgICAgICAgICAgIC8vfVxuICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wYWdlLXNlY3Rpb24geyAvLyB2ZXJ0aWNhbGx5IHNlcGFyYXRlcyBwaWVjZXMgb2YgbWFpbiBjb250ZW50IGFuZCBwYWRzIGFnYWluc3QgdGhlIHNpZGViYXJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgaW5uZXItd3JhcDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZC1ib3R0b207XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgLnNpZGUgLnBhZ2UtY29udGVudHsgLy8gLnBhZ2UtY29udGVudCBzdHlsZXMgZm9yIHNpZGViYXIgbGF5b3V0XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2Utc2lkZWJhciB7XG4gICAgICAgICAgQGluY2x1ZGUgcGFkLWJvdHRvbTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICAgICAgICBncmlkLXJvdzogMTtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDE7XG4gICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiIsIi8qKlxuICAqIEZPT1RFUiBTVFlMRVNcbiAgKi9cblxuXG4uZm9vdGVyLXdyYXAge1xuICBncmlkLXJvdy1zdGFydDogMzsgLy8gRm9yIHN0aWNreSBmb290ZXJcbiAgZ3JpZC1yb3ctZW5kOiA0OyAvLyBGb3Igc3RpY2t5IGZvb3RlclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7IC8vJGJyYW5kQ29sb3JQcmltYXJ5O1xufVxuICAuZm9vdGVyIHtcbiAgICAvL0BpbmNsdWRlIHBhZC10b3A7XG4gICAgLy9AaW5jbHVkZSBwYWQtYm90dG9tO1xuICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gRXh0ZW5kcyBoZWlnaHQgdG8gYWNjb21vZGF0ZSBjb250ZW50J3MgbWFyZ2luXG4gICAgY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG4gIH1cbiAgICAuZm9vdGVyLW5hdiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgLy9tYXJnaW4tbGVmdDogLTVweDtcbiAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogdW5zZXQ7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMnB4IDAgOHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHdoaXRlO1xuXG4gICAgICAgICAgICAvKiY6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgICAgICAgICAgY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICByaWdodDogLTJweDtcbiAgICAgICAgICAgIH0qL1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IHVuc2V0O1xuXG4gICAgICAgICAgICAgIC8qJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgfSovXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlci1zb2NpYWxzIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuXG4gICAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICBcbiAgICAgICAgaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29weXJpZ2h0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG5cbiAgICAgIHNwYW4ucmVnaXN0ZXJlZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgICAvL2ZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgICAgIH1cbiAgICB9XG4iLCIvKipcbiAgKiBNSVNDRUxMQU5FT1VTIFNUWUxFU1xuICAqL1xuXG5cbiAgLnZpZGVvIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIC8vYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTsvLyRsaWdodGVzdEdyYXk7IC8vbGlnaHRlbigkYnJhbmRDb2xvclByaW1hcnksIDc0JSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0R3JheTsgLy9saWdodGVuKCRicmFuZENvbG9yUHJpbWFyeSwgNTAlKTtcblxuICAgIGg0IHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIC8vY29sb3I6ICNmZmY7XG4gICAgfVxuICB9XG4gICAgLmVtYmVkLWNvbnRhaW5lci13cmFwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLy9tYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICAgICAgLmVtYmVkLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICAgIC5lbWJlZC1jb250YWluZXIgaWZyYW1lLFxuICAgICAgICAuZW1iZWQtY29udGFpbmVyIG9iamVjdCxcbiAgICAgICAgLmVtYmVkLWNvbnRhaW5lciBlbWJlZCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuIl19 */
