@charset "UTF-8";
/**
  * PAGE-SPECIFIC STYLESHEET: Home
  *
  * Import common styles and house page-specific styles for Home page.
  */
/**
  * 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: Lato;
  src: url(../fonts/Lato-Thin.ttf);
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-ThinItalic.ttf);
  font-weight: 100;
  font-style: italic;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-Light.ttf);
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-LightItalic.ttf);
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-Regular.ttf);
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-Italic.ttf);
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-Bold.ttf);
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-BoldItalic.ttf);
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-Black.ttf);
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-BlackItalic.ttf);
  font-weight: 900;
  font-style: italic;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-Light.ttf);
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-LightItalic.ttf);
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-Regular.ttf);
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-Italic.ttf);
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-Bold.ttf);
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-BoldItalic.ttf);
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-Black.ttf);
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-BlackItalic.ttf);
  font-weight: 900;
  font-style: italic;
}
/**
  * SCSS MIXINS
  *
  * Standardized style chunks, provided as both SCSS mixins and HTML classes.
  */
.wrap {
  width: 100%;
  height: auto;
}

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

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

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

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

.mar-right {
  margin-right: 30px;
  transition: margin 300ms;
  max-width: calc(100% - 30px);
}
@media (min-width: 480px) {
  .mar-right {
    margin-right: 35px;
    max-width: calc(100% - 35px);
  }
}
@media (min-width: 768px) {
  .mar-right {
    margin-right: 40px;
    max-width: calc(100% - 40px);
  }
}
@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: 30px;
  transition: margin 300ms;
  max-width: calc(100% - 30px);
}
@media (min-width: 480px) {
  .mar-left {
    margin-left: 35px;
    max-width: calc(100% - 35px);
  }
}
@media (min-width: 768px) {
  .mar-left {
    margin-left: 40px;
    max-width: calc(100% - 40px);
  }
}
@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: 30px;
  margin-right: 30px;
  transition: margin 300ms;
  max-width: calc(100% - 60px);
}
@media (min-width: 480px) {
  .mar-horizontal {
    margin-left: 35px;
    margin-right: 35px;
    max-width: calc(100% - 70px);
  }
}
@media (min-width: 768px) {
  .mar-horizontal {
    margin-left: 40px;
    margin-right: 40px;
    max-width: calc(100% - 80px);
  }
}
@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);
  }
}

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

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

.mar-horizontal-negative {
  margin-left: -30px;
  margin-right: -30px;
  transition: margin 300ms;
  width: calc(100% + 60px);
}
@media (min-width: 480px) {
  .mar-horizontal-negative {
    margin-left: -35px;
    margin-right: -35px;
    width: calc(100% + 70px);
  }
}
@media (min-width: 768px) {
  .mar-horizontal-negative {
    margin-left: -40px;
    margin-right: -40px;
    width: calc(100% + 80px);
  }
}
@media (min-width: 992px) {
  .mar-horizontal-negative {
    margin-left: -60px;
    margin-right: -60px;
    width: calc(100% + 120px);
  }
}
@media (min-width: 1200px) {
  .mar-horizontal-negative {
    margin-left: -80px;
    margin-right: -80px;
    width: calc(100% + 160px);
  }
}

.pad-top {
  padding-top: 40px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-top {
    padding-top: 45px;
  }
}
@media (min-width: 768px) {
  .pad-top {
    padding-top: 55px;
  }
}
@media (min-width: 992px) {
  .pad-top {
    padding-top: 65px;
  }
}
@media (min-width: 1200px) {
  .pad-top {
    padding-top: 80px;
  }
}

.pad-bottom {
  padding-bottom: 40px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-bottom {
    padding-bottom: 45px;
  }
}
@media (min-width: 768px) {
  .pad-bottom {
    padding-bottom: 55px;
  }
}
@media (min-width: 992px) {
  .pad-bottom {
    padding-bottom: 65px;
  }
}
@media (min-width: 1200px) {
  .pad-bottom {
    padding-bottom: 80px;
  }
}

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

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

.pad-vertical {
  padding-top: 40px;
  transition: padding 300ms;
  padding-bottom: 40px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-vertical {
    padding-top: 45px;
  }
}
@media (min-width: 768px) {
  .pad-vertical {
    padding-top: 55px;
  }
}
@media (min-width: 992px) {
  .pad-vertical {
    padding-top: 65px;
  }
}
@media (min-width: 1200px) {
  .pad-vertical {
    padding-top: 80px;
  }
}
@media (min-width: 480px) {
  .pad-vertical {
    padding-bottom: 45px;
  }
}
@media (min-width: 768px) {
  .pad-vertical {
    padding-bottom: 55px;
  }
}
@media (min-width: 992px) {
  .pad-vertical {
    padding-bottom: 65px;
  }
}
@media (min-width: 1200px) {
  .pad-vertical {
    padding-bottom: 80px;
  }
}

.pad-horizontal {
  padding-right: 30px;
  transition: padding 300ms;
  padding-left: 30px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-horizontal {
    padding-right: 35px;
  }
}
@media (min-width: 768px) {
  .pad-horizontal {
    padding-right: 40px;
  }
}
@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: 35px;
  }
}
@media (min-width: 768px) {
  .pad-horizontal {
    padding-left: 40px;
  }
}
@media (min-width: 992px) {
  .pad-horizontal {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .pad-horizontal {
    padding-left: 80px;
  }
}

.button {
  margin: 1rem 0;
  padding: 10px 15px;
  display: inline-block;
  background-color: #005d50;
  text-decoration: none;
  font-weight: bold;
  color: #ffffff;
  cursor: pointer;
  border-radius: 3px;
}
.button:hover {
  background-color: #00443a !important;
}

.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: 3rem;
  margin-top: 0;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .h1 {
    font-size: 4rem;
  }
}

.h2 {
  font-size: 2.4rem;
  margin-bottom: 2.1rem;
}
@media (min-width: 768px) {
  .h2 {
    font-size: 3rem;
  }
}

.h3 {
  font-size: 1.8rem;
  margin-bottom: 1.8rem;
}
@media (min-width: 768px) {
  .h3 {
    font-size: 2.1rem;
  }
}

.h4 {
  font-size: 1.6rem;
  margin-bottom: 1.7rem;
}
@media (min-width: 768px) {
  .h4 {
    font-size: 2rem;
  }
}

.h5 {
  font-size: 1.5rem;
  margin-bottom: 1.6rem;
}
@media (min-width: 768px) {
  .h5 {
    font-size: 1.9rem;
  }
}

.h6 {
  font-size: 1.4rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .h6 {
    font-size: 1.8rem;
  }
}

/**
  * 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: #e4e2dc;
  font-family: "Lato", sans-serif;
  font-size: 1.6rem;
  color: #005d50;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  margin-top: 3rem;
  display: block;
  font-weight: 400;
  line-height: 1;
  font-family: "Merriweather", serif;
  color: #005d50;
}

h1 {
  font-size: 3rem;
  margin-top: 0;
  margin-bottom: 2rem;
  font-family: "Lato", sans-serif;
}
@media (min-width: 768px) {
  h1 {
    font-size: 4rem;
  }
}

h2 {
  font-size: 2.4rem;
  margin-bottom: 2.1rem;
}
@media (min-width: 768px) {
  h2 {
    font-size: 3rem;
  }
}

h3 {
  font-size: 1.8rem;
  margin-bottom: 1.8rem;
}
@media (min-width: 768px) {
  h3 {
    font-size: 2.1rem;
  }
}

h4 {
  font-size: 1.6rem;
  margin-bottom: 1.7rem;
}
@media (min-width: 768px) {
  h4 {
    font-size: 2rem;
  }
}

h5 {
  font-size: 1.5rem;
  margin-bottom: 1.6rem;
}
@media (min-width: 768px) {
  h5 {
    font-size: 1.9rem;
  }
}

h6 {
  font-size: 1.4rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  h6 {
    font-size: 1.8rem;
  }
}

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

a {
  text-decoration: underline;
  color: #005d50;
}
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: 9999;
  transition: background-color 200ms, border 200ms, box-shadow 200ms;
  background-color: #005d50;
}
.header-overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: #005d50;
  opacity: 0.7;
}
.header-overlay.bg-visible {
  background-color: #005d50;
  opacity: 1;
}

.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: #005d50;
}
@media (min-width: 768px) {
  .top-bar-bg {
    display: block;
  }
}

.header {
  height: 90px;
  padding-top: 0;
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 90px auto;
  transition: background-color 200ms;
}
.header.bg-visible {
  background-color: #005d50;
}
@media (min-width: 768px) {
  .header {
    height: 165px;
    grid-template-columns: 1fr;
    grid-template-rows: 120px 70px;
  }
}

.header-brand {
  padding-right: 30px;
  transition: padding 300ms;
  padding-left: 30px;
  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: 35px;
  }
}
@media (min-width: 768px) {
  .header-brand {
    padding-right: 40px;
  }
}
@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: 35px;
  }
}
@media (min-width: 768px) {
  .header-brand {
    padding-left: 40px;
  }
}
@media (min-width: 992px) {
  .header-brand {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .header-brand {
    padding-left: 80px;
  }
}
@media (min-width: 768px) {
  .header-brand {
    height: 165px;
    padding-top: 33.75px;
  }
}
.header-brand a {
  height: 90px;
  display: flex;
  align-items: center;
  flex-direction: row;
}
@media (min-width: 768px) {
  .header-brand a {
    height: 75px;
    height: 97.5px;
  }
}
.header-brand a .logo-image {
  width: auto;
  height: 35px;
  margin-right: 15px;
  padding: 0 0 0 10px;
  text-align: center;
  display: block;
}
@media (min-width: 768px) {
  .header-brand a .logo-image {
    height: 97.5px;
    padding: 5px 0;
  }
}
.header-brand a .logo-text {
  display: block;
  color: #e4e2dc;
  text-align: left;
  padding-left: 0;
  font-weight: bold;
}
@media (min-width: 480px) {
  .header-brand a .logo-text {
    padding-left: 10px;
    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;
  font-weight: normal;
  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;
  }
}
.header-brand a .logo-text .logo-text-tagline {
  margin: 10px auto 0 auto;
  line-height: 0.8;
  font-size: 0.6rem;
  font-weight: lighter;
  font-style: italic;
  display: block;
  color: #e4e2dc;
}
@media (min-width: 480px) {
  .header-brand a .logo-text .logo-text-tagline {
    font-size: 1.1rem;
  }
}

.header-nav {
  width: 100%;
  height: 0;
  opacity: 0;
  min-height: auto;
  position: absolute;
  top: 90px;
  display: none;
  overflow: hidden;
}
.header-nav.bg-visible {
  background-color: #005d50;
}
.header-nav.visible {
  height: 100%;
  display: block;
  position: fixed;
  opacity: 1;
}
@media (min-width: 768px) {
  .header-nav {
    height: auto;
    min-height: 165px;
    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: 100%;
  position: static;
  top: auto;
  right: auto;
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .header-nav-main {
    padding-right: 30px;
    transition: padding 300ms;
    padding-left: 30px;
    transition: padding 300ms;
    width: 50%;
    height: 45px;
    position: absolute;
    display: block;
    top: 50%;
    right: 0;
    translate: 0 -22.5px;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .header-nav-main {
    padding-right: 35px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .header-nav-main {
    padding-right: 40px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .header-nav-main {
    padding-right: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .header-nav-main {
    padding-right: 80px;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .header-nav-main {
    padding-left: 35px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .header-nav-main {
    padding-left: 40px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .header-nav-main {
    padding-left: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .header-nav-main {
    padding-left: 80px;
  }
}
.header-nav-main ul {
  width: 100%;
  height: auto;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  list-style: none;
  transform: translate(0, -45px);
}
@media (min-width: 768px) {
  .header-nav-main ul {
    width: auto;
    height: 45px;
    flex-direction: row;
    border-top: unset;
    justify-content: flex-end;
    transform: translate(0, 0);
  }
}
.header-nav-main ul li {
  width: auto;
  height: auto;
  list-style: none;
  border-top: unset;
  position: relative;
  z-index: 1;
  background-color: #005d50;
}
@media (min-width: 768px) {
  .header-nav-main ul li {
    width: auto;
    height: auto;
    padding: 0 15px;
    min-height: 45px;
    background-color: unset;
    border-bottom: unset;
    transition: display 300ms;
  }
  .header-nav-main ul li:hover > ul {
    display: block;
  }
  .header-nav-main ul li:last-child {
    padding-right: 0;
  }
}
.header-nav-main ul li a {
  width: auto;
  height: 45px;
  position: relative;
  display: block;
  flex-grow: 0;
  align-items: center;
  text-decoration: none;
  font-weight: normal;
  font-size: 1.4rem;
  color: #ffffff;
}
.header-nav-main ul li a::after {
  content: "";
  height: 1px;
  width: 100%;
  background-color: #e4e2dc;
  position: absolute;
  bottom: 20px;
  display: none;
}
@media (min-width: 768px) {
  .header-nav-main ul li a::after {
    bottom: 9px;
  }
}
@media (min-width: 768px) {
  .header-nav-main ul li a {
    width: auto;
    height: 45px;
    border-bottom: unset;
    display: flex;
  }
}
.header-nav-main ul li.current_page_item a::after {
  display: block;
}
.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: #e4e2dc;
}
.header-nav-main ul li .nav-chevron:hover {
  color: #b8b2a2;
}
@media (min-width: 768px) {
  .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: 768px) {
  .header-nav-main ul li ul {
    min-width: 320px;
    position: absolute;
    top: 45px;
    left: 0;
    right: auto;
    background-color: #005d50;
  }
}
.header-nav-main ul li ul li {
  width: 100%;
  min-height: 45px;
  height: auto;
  list-style: none;
  display: block;
}
@media (min-width: 768px) {
  .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;
}
@media (min-width: 768px) {
  .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;

  @include media(">=tablet") {
    @include pad-horizontal;
    width: 100%;
    height: $topBarHeight;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 6;
  }

  ul { // top nav
    width: 100%;
    padding-right: 0;
    height: auto;
    margin: 0;
    display: flex;
    flex-direction: column;
    list-style: none;
    column-gap: 30px;
    flex-flow: column;

    @include media(">=tablet") {
      width: auto;
      height: $topBarHeight;
      padding-right: 60px; // Padding against header buttons (search glass)
      //flex-flow: row;
      flex-direction: row;
      justify-content: flex-end;
    }

    li { // top nav
      @include pad-horizontal;
      width: 100%;
      height: 45px;
      display: flex;
      align-items: center;
      list-style: none;
      border-bottom: 1px solid $gray;
      position: relative;

      @include media(">=tablet") {
        width: auto;
        padding-right: 0;
        padding-left: 0;
        border-bottom: unset;
      }

      a { // top nav
        height: $topBarHeight;
        text-transform: uppercase;
        text-decoration: none;
        font-weight: bold;
        font-size: 12px;
        display: flex;
        align-items: center;
        color: $brandColorContrast;
        font-family: 'Lato', sans-serif;

        &:hover {
          color: darken($brandColorContrast, 20%);
        }

        @include media(">=tablet") {

        }
      }
    }
  }
}
*/
/*
li.slide-line {
  position: absolute;
  z-index: 1002;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 5px;
  padding: 0;
  margin: 0;
  background-color: $white;
  border-radius: 3px 3px 0 0;
  transition: width 300ms, left 300ms, background-color 150ms;

  &:before {
    display: none;
  }

  &.hover-state {
    //box-shadow: 0 0 5px 0px $black;
  }
}
*/
.header-buttons {
  padding-right: 30px;
  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: 35px;
  }
}
@media (min-width: 768px) {
  .header-buttons {
    padding-right: 40px;
  }
}
@media (min-width: 992px) {
  .header-buttons {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .header-buttons {
    padding-right: 80px;
  }
}
@media (min-width: 768px) {
  .header-buttons {
    height: 45px;
    padding-left: 0;
  }
}

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

.header-search-wrap {
  width: 100%;
  height: auto;
  height: auto;
  display: none;
  position: absolute;
  top: 90px;
  left: 0;
  background-color: #005d50;
  z-index: 6;
}
@media (min-width: 768px) {
  .header-search-wrap {
    top: 45px;
    height: 75px;
  }
}
.header-search-wrap .site-search {
  padding-right: 30px;
  transition: padding 300ms;
  padding-left: 30px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .header-search-wrap .site-search {
    padding-right: 35px;
  }
}
@media (min-width: 768px) {
  .header-search-wrap .site-search {
    padding-right: 40px;
  }
}
@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: 35px;
  }
}
@media (min-width: 768px) {
  .header-search-wrap .site-search {
    padding-left: 40px;
  }
}
@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: 1200px;
  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: #e4e2dc;
  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 #e4e2dc;
  display: block;
  background-color: unset;
  color: #e4e2dc;
}

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

/**
  * MAIN PAGE CONTENT STYLES
  */
.main-wrap {
  width: 100%;
  height: auto;
  grid-row-start: 2;
  grid-row-end: 3;
  background-color: #e4e2dc;
}

.main {
  height: 100%;
  overflow: hidden;
}

.page-header-wrap {
  width: 100%;
  height: auto;
  padding: 0 5px;
  background-size: cover;
  position: relative;
}

.page-header-overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: #005d50;
  opacity: 0.5;
  background-blend-mode: overlay;
}
.page-header-overlay.bg-visible {
  background-color: #005d50;
  opacity: 1;
}

.page-header {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 40px;
  transition: padding 300ms;
  padding-bottom: 40px;
  transition: padding 300ms;
  padding-right: 30px;
  transition: padding 300ms;
  padding-left: 30px;
  transition: padding 300ms;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 3;
}
@media (min-width: 480px) {
  .page-header {
    padding-top: 45px;
  }
}
@media (min-width: 768px) {
  .page-header {
    padding-top: 55px;
  }
}
@media (min-width: 992px) {
  .page-header {
    padding-top: 65px;
  }
}
@media (min-width: 1200px) {
  .page-header {
    padding-top: 80px;
  }
}
@media (min-width: 480px) {
  .page-header {
    padding-bottom: 45px;
  }
}
@media (min-width: 768px) {
  .page-header {
    padding-bottom: 55px;
  }
}
@media (min-width: 992px) {
  .page-header {
    padding-bottom: 65px;
  }
}
@media (min-width: 1200px) {
  .page-header {
    padding-bottom: 80px;
  }
}
@media (min-width: 480px) {
  .page-header {
    padding-right: 35px;
  }
}
@media (min-width: 768px) {
  .page-header {
    padding-right: 40px;
  }
}
@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: 35px;
  }
}
@media (min-width: 768px) {
  .page-header {
    padding-left: 40px;
  }
}
@media (min-width: 992px) {
  .page-header {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .page-header {
    padding-left: 80px;
  }
}

.page-header-title h1 {
  width: 100%;
  margin-bottom: 0;
  color: #ffffff;
  text-shadow: 0 0 15px #005d50;
}

.page-header-text p {
  margin-top: 40px;
  font-size: 2rem;
  color: #ffffff;
  text-shadow: 0 0 10px #005d50;
}

.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: 1200px;
  margin: 0 auto;
  padding-right: 30px;
  transition: padding 300ms;
  padding-left: 30px;
  transition: padding 300ms;
  padding-top: 40px;
  transition: padding 300ms;
  padding-bottom: 40px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .page-section {
    padding-right: 35px;
  }
}
@media (min-width: 768px) {
  .page-section {
    padding-right: 40px;
  }
}
@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: 35px;
  }
}
@media (min-width: 768px) {
  .page-section {
    padding-left: 40px;
  }
}
@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-top: 45px;
  }
}
@media (min-width: 768px) {
  .page-section {
    padding-top: 55px;
  }
}
@media (min-width: 992px) {
  .page-section {
    padding-top: 65px;
  }
}
@media (min-width: 1200px) {
  .page-section {
    padding-top: 80px;
  }
}
@media (min-width: 480px) {
  .page-section {
    padding-bottom: 45px;
  }
}
@media (min-width: 768px) {
  .page-section {
    padding-bottom: 55px;
  }
}
@media (min-width: 992px) {
  .page-section {
    padding-bottom: 65px;
  }
}
@media (min-width: 1200px) {
  .page-section {
    padding-bottom: 80px;
  }
}

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

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

/**
  * FOOTER STYLES
  */
.footer-wrap {
  width: 100%;
  height: auto;
  grid-row-start: 3;
  grid-row-end: 4;
  background-color: #252425;
}

.footer {
  padding-top: 40px;
  transition: padding 300ms;
  padding-bottom: 40px;
  transition: padding 300ms;
  padding-right: 30px;
  transition: padding 300ms;
  padding-left: 30px;
  transition: padding 300ms;
  text-align: center;
  overflow: hidden;
  color: #e4e2dc;
  display: grid;
  grid-template-columns: 50% 50%;
  grid-rows: auto auto auto;
}
@media (min-width: 480px) {
  .footer {
    padding-top: 45px;
  }
}
@media (min-width: 768px) {
  .footer {
    padding-top: 55px;
  }
}
@media (min-width: 992px) {
  .footer {
    padding-top: 65px;
  }
}
@media (min-width: 1200px) {
  .footer {
    padding-top: 80px;
  }
}
@media (min-width: 480px) {
  .footer {
    padding-bottom: 45px;
  }
}
@media (min-width: 768px) {
  .footer {
    padding-bottom: 55px;
  }
}
@media (min-width: 992px) {
  .footer {
    padding-bottom: 65px;
  }
}
@media (min-width: 1200px) {
  .footer {
    padding-bottom: 80px;
  }
}
@media (min-width: 480px) {
  .footer {
    padding-right: 35px;
  }
}
@media (min-width: 768px) {
  .footer {
    padding-right: 40px;
  }
}
@media (min-width: 992px) {
  .footer {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .footer {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .footer {
    padding-left: 35px;
  }
}
@media (min-width: 768px) {
  .footer {
    padding-left: 40px;
  }
}
@media (min-width: 992px) {
  .footer {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .footer {
    padding-left: 80px;
  }
}

.footer-nav {
  padding-left: 0;
  grid-column: 1/span 2;
  grid-row: 2;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .footer-nav {
    padding-left: 30px;
    transition: padding 300ms;
    width: auto;
    grid-column: 2/span 1;
    grid-row: 1/span 1;
    justify-content: right;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .footer-nav {
    padding-left: 35px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .footer-nav {
    padding-left: 40px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .footer-nav {
    padding-left: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .footer-nav {
    padding-left: 80px;
  }
}
.footer-nav ul {
  width: 100%;
  height: auto;
  display: inline-block;
  list-style: none;
  text-align: center;
}
@media (min-width: 768px) {
  .footer-nav ul {
    width: auto;
    display: block;
    text-align: right;
  }
}
.footer-nav ul li {
  width: 100%;
  padding: 5px 0;
  list-style: none;
  position: relative;
  display: inline-block;
  position: relative;
  /*&:after {
    content: "|";
    color: $brandColorContrast;
    position: absolute;
    top: 0;
    right: -2px;
  }

  &:last-child {

    &:after {
      content: "";
    }
  }*/
}
@media (min-width: 768px) {
  .footer-nav ul li {
    width: auto;
    padding: 0;
    display: block;
  }
  .footer-nav ul li:after {
    content: "";
  }
}
.footer-nav ul li a {
  width: 100%;
  padding: 0;
  position: relative;
  display: block;
  font-size: 1rem;
  color: #e4e2dc;
  text-align: left;
  text-decoration: underline;
}
@media (min-width: 768px) {
  .footer-nav ul li a {
    width: auto;
    padding: 0;
    text-align: right;
  }
}

.footer-brand {
  padding-left: 0;
  padding-bottom: 20px;
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  padding-right: 0;
  grid-column: 1/span 2;
  grid-row: 1/span 1;
  position: relative;
  z-index: 5;
}
@media (min-width: 768px) {
  .footer-brand {
    padding-right: 30px;
    transition: padding 300ms;
    padding-bottom: 0;
    grid-column: 1/span 1;
    grid-row: 1/span 2;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .footer-brand {
    padding-right: 35px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .footer-brand {
    padding-right: 40px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .footer-brand {
    padding-right: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .footer-brand {
    padding-right: 80px;
  }
}
.footer-brand a {
  width: 260px;
  height: auto;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
}
.footer-brand a .footer-brand-logo-image {
  width: auto;
  margin-left: -12px;
  height: 100px;
  margin-right: 15px;
  text-align: center;
  display: block;
}
.footer-brand a .footer-brand-logo-text {
  display: block;
  color: #ffffff;
  text-align: left;
  padding-left: 0;
  font-weight: bold;
  font-size: 1rem;
}
@media (min-width: 768px) {
  .footer-brand a .footer-brand-logo-text {
    padding-left: 10px;
  }
}
.footer-brand a .footer-brand-logo-text .footer-brand-logo-text-title {
  margin: 0 auto;
  display: block;
  line-height: 1.2;
  font-size: 1.4rem;
}
.footer-brand a .footer-brand-logo-text .footer-brand-logo-text-title span.registered {
  font-size: 0.7rem;
  font-weight: normal;
  vertical-align: super;
}
@media (min-width: 480px) {
  .footer-brand a .footer-brand-logo-text .footer-brand-logo-text-title span.registered {
    font-size: 0.9rem;
  }
}
.footer-brand a .footer-brand-logo-text .footer-brand-logo-text-tagline {
  margin: 10px auto 0 auto;
  line-height: 0.8;
  font-size: 1.1rem;
  font-weight: lighter;
  font-style: italic;
  display: block;
  color: #ffffff;
}
.copyright {
  margin: 0;
  padding: 20px 0 0 0;
  grid-column: 1/span 2;
  grid-row: 3;
  font-size: 10px;
  justify-content: left;
  text-align: left;
}
@media (min-width: 768px) {
  .copyright {
    padding: 0 0 0 0;
    grid-row: 2;
    grid-column: 2/span 1;
    justify-content: right;
    text-align: right;
  }
}

/**
  * MISCELLANEOUS STYLES
  */
.embed-container-wrap {
  width: 100%;
  max-width: 500px;
  margin: 20px 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%;
}

.max-width-280px {
  width: 100%;
  max-width: 280px;
}

.float-right,
.alignright {
  display: block;
  margin: 0 auto;
  padding: 20px;
  float: none;
}
@media (min-width: 480px) {
  .float-right,
  .alignright {
    padding: 20px 0 20px 20px;
    float: right;
  }
}

.home-brand {
  padding-top: 0;
  padding-bottom: 0;
  display: flex;
  justify-content: center;
}

.home-brand-logo {
  display: flex;
  align-items: center;
}
.home-brand-logo img {
  width: 40px;
  margin: 0 auto;
}
@media (min-width: 480px) {
  .home-brand-logo img {
    width: 60px;
  }
}
@media (min-width: 768px) {
  .home-brand-logo img {
    width: 120px;
  }
}

.home-brand-copy {
  width: auto;
  max-width: 200px;
  padding: 0;
  display: flex;
  align-items: center;
}
@media (min-width: 480px) {
  .home-brand-copy {
    max-width: 300px;
  }
}
@media (min-width: 768px) {
  .home-brand-copy {
    max-width: 500px;
    padding: 0 0 0 30px;
  }
}
.home-brand-copy h1 {
  margin-bottom: 0;
  display: block;
  color: #ffffff;
  font-size: 1.5rem;
  font-family: "Merriweather", serif;
  align-self: center;
  text-align: center;
}
@media (min-width: 320px) {
  .home-brand-copy h1 {
    font-size: 1.6rem;
  }
}
@media (min-width: 480px) {
  .home-brand-copy h1 {
    font-size: 2.6rem;
  }
}
@media (min-width: 768px) {
  .home-brand-copy h1 {
    font-size: 5rem;
    text-align: left;
  }
}

.home-section-image-overlay {
  width: 100%;
  height: 100%;
  max-width: 200px;
  max-height: 200px;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 2;
  transform: translate(0, -50%);
  border-radius: 50%;
  background-color: #005d50;
  opacity: 0.3;
}
@media (min-width: 480px) {
  .home-section-image-overlay {
    max-width: 200px;
    grid-column: 1/span 1;
    grid-row: 1/span 1;
  }
}
@media (min-width: 768px) {
  .home-section-image-overlay {
    max-width: 300px;
    max-height: 300px;
  }
}

.home-section-about {
  display: grid;
  grid-template-columns: 200px 1fr;
  grid-template-rows: auto auto;
}
@media (min-width: 768px) {
  .home-section-about {
    grid-template-columns: 300px 1fr;
  }
}

.home-section-about-image {
  max-width: 200px;
  max-height: 200px;
  margin: 0;
  display: flex;
  align-items: left;
  justify-content: center;
  grid-column: 1/span 2;
  grid-row: 2/span 1;
  position: relative;
}
@media (min-width: 480px) {
  .home-section-about-image {
    max-height: 300px;
    grid-column: 1/span 1;
    grid-row: 1/span 1;
    align-items: center;
    margin: 0 auto;
  }
}
@media (min-width: 768px) {
  .home-section-about-image {
    max-width: 300px;
    max-height: 300px;
  }
}
.home-section-about-image img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  aspect-ratio: 1/1;
  border-radius: 50%;
}

.home-section-about-content {
  padding: 0 0 30px 0;
  grid-column: 1/span 2;
  grid-row: 1/span 1;
}
@media (min-width: 480px) {
  .home-section-about-content {
    padding: 0 0 0 50px;
    grid-column: 2/span 1;
    grid-row: 1/span 1;
  }
}
.home-section-areas-wrap {
  background-color: #ffffff;
}

.home-section-areas {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
}
@media (min-width: 480px) {
  .home-section-areas {
    grid-template-columns: 1fr 200px;
  }
}
@media (min-width: 768px) {
  .home-section-areas {
    grid-template-columns: 1fr 300px;
  }
}

.home-section-areas-image {
  max-width: 200px;
  max-height: 200px;
  margin: 0;
  justify-self: left;
  display: flex;
  align-items: center;
  grid-column: 1/span 2;
  grid-row: 2/span 1;
  position: relative;
}
@media (min-width: 480px) {
  .home-section-areas-image {
    max-height: 300px;
    grid-column: 2/span 1;
    grid-row: 1/span 1;
    align-items: center;
    margin: 0 auto;
  }
}
@media (min-width: 768px) {
  .home-section-areas-image {
    max-width: 300px;
    max-height: 300px;
  }
}
.home-section-areas-image img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  aspect-ratio: 1/1;
  border-radius: 50%;
}

.home-section-areas-content {
  padding: 0 0 30px 0;
  grid-column: 1/span 2;
  grid-row: 1/span 1;
  text-align: left;
}
@media (min-width: 480px) {
  .home-section-areas-content {
    padding: 0 50px 0 0;
    grid-column: 1/span 1;
    grid-row: 1/span 1;
    text-align: right;
  }
}
.home-section-services {
  display: grid;
  grid-template-columns: 200px 1fr;
  grid-template-rows: auto auto;
}
@media (min-width: 768px) {
  .home-section-services {
    grid-template-columns: 300px 1fr;
  }
}

.home-section-services-image {
  max-width: 200px;
  max-height: 200px;
  margin: 0;
  justify-self: left;
  display: flex;
  align-items: left;
  grid-column: 1/span 2;
  grid-row: 2/span 1;
  position: relative;
}
@media (min-width: 480px) {
  .home-section-services-image {
    max-height: 300px;
    grid-column: 1/span 1;
    grid-row: 1/span 1;
    align-items: center;
    margin: 0 auto;
  }
}
@media (min-width: 768px) {
  .home-section-services-image {
    max-width: 300px;
    max-height: 300px;
  }
}
.home-section-services-image img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  aspect-ratio: 1/1;
  border-radius: 50%;
}

.home-section-services-content {
  padding: 0 0 30px 0;
  grid-column: 1/span 2;
  grid-row: 1/span 1;
}
@media (min-width: 480px) {
  .home-section-services-content {
    padding: 0 0 0 50px;
    grid-column: 2/span 1;
    grid-row: 1/span 1;
  }
}
.home-section-team-wrap {
  background-color: #ffffff;
}

.home-section-team {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
}
@media (min-width: 480px) {
  .home-section-team {
    grid-template-columns: 1fr 200px;
  }
}
@media (min-width: 768px) {
  .home-section-team {
    grid-template-columns: 1fr 300px;
  }
}

.home-section-team-image {
  max-width: 200px;
  max-height: 200px;
  margin: 0;
  justify-self: left;
  display: flex;
  align-items: center;
  grid-column: 1/span 2;
  grid-row: 2/span 1;
  position: relative;
}
@media (min-width: 480px) {
  .home-section-team-image {
    max-height: 300px;
    grid-column: 2/span 1;
    grid-row: 1/span 1;
    align-items: center;
    margin: 0 auto;
  }
}
@media (min-width: 768px) {
  .home-section-team-image {
    max-width: 300px;
    max-height: 300px;
  }
}
.home-section-team-content {
  padding: 0 0 30px 0;
  grid-column: 1/span 2;
  grid-row: 1/span 1;
  text-align: left;
}
@media (min-width: 480px) {
  .home-section-team-content {
    padding: 0 50px 0 0;
    grid-column: 1/span 1;
    grid-row: 1/span 1;
    text-align: right;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvbWUuY3NzIiwiaG9tZS5zY3NzIiwiX2NvbW1vbi5zY3NzIiwibGlicmFyaWVzL19ub3JtYWxpemUuc2NzcyIsInBhcnRpYWxzL19icmVha3BvaW50cy5tb2R1bGVzLnNjc3MiLCJwYXJ0aWFscy9fdmFyaWFibGVzLnNjc3MiLCJwYXJ0aWFscy9fZm9udHMuc2NzcyIsInBhcnRpYWxzL19taXhpbnMuc2NzcyIsImxpYnJhcmllcy9faW5jbHVkZS1tZWRpYS5zY3NzIiwicGFydGlhbHMvX2VsZW1lbnRzLnNjc3MiLCJwYXJ0aWFscy9faGVhZGVyLnNjc3MiLCJwYXJ0aWFscy9fc2VhcmNoZm9ybS5zY3NzIiwicGFydGlhbHMvX21haW4uc2NzcyIsInBhcnRpYWxzL19mb290ZXIuc2NzcyIsInBhcnRpYWxzL19taXNjLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQWhCOzs7O0dBQUE7QUNBQTs7OztHQUFBO0FDQUEsMkVBQUE7QUFFQTsrRUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0UsaUJBQUEsRUFBQSxNQUFBO0VBQ0EsOEJBQUEsRUFBQSxNQUFBO0FIU0Y7O0FHTkE7K0VBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0UsU0FBQTtBSE9GOztBR0pBOztFQUFBO0FBSUE7RUFDRSxjQUFBO0FITUY7O0FHSEE7OztFQUFBO0FBS0E7RUFDRSxjQUFBO0VBQ0EsZ0JBQUE7QUhLRjs7QUdGQTsrRUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0UsdUJBQUEsRUFBQSxNQUFBO0VBQ0EsU0FBQSxFQUFBLE1BQUE7RUFDQSxpQkFBQSxFQUFBLE1BQUE7QUhHRjs7QUdBQTs7O0VBQUE7QUFLQTtFQUNFLGlDQUFBLEVBQUEsTUFBQTtFQUNBLGNBQUEsRUFBQSxNQUFBO0FIRUY7O0FHQ0E7K0VBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0UsNkJBQUE7QUhBRjs7QUdHQTs7O0VBQUE7QUFLQTtFQUNFLG1CQUFBLEVBQUEsTUFBQTtFQUNBLDBCQUFB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amdCRjtJQVhFLGdCRmJxQjtFTGlkdkI7QUFDRjtBUXVFSTtFRGpnQkY7SUFQRSxnQkZoQnFCO0VMcWR2QjtBQUNGO0FRa0VJO0VEamdCRjtJQUhFLGdCRm5Cc0I7RUx5ZHhCO0FBQ0Y7O0FPNWFFO0VBbkJBLG1CRi9CdUI7RUVnQ3ZCLHdCQUFBO0FQbWNGO0FRd0RJO0VEemVGO0lBZkUsbUJGbEN5QjtFTHNlM0I7QUFDRjtBUW1ESTtFRHplRjtJQVhFLG1CRnJDcUI7RUwwZXZCO0FBQ0Y7QVE4Q0k7RUR6ZUY7SUFQRSxtQkZ4Q3FCO0VMOGV2QjtBQUNGO0FReUNJO0VEemVGO0lBSEUsbUJGM0NzQjtFTGtmeEI7QUFDRjs7QU83YkU7RUFuREEsZ0JGUHVCO0VFUXZCLHdCQUFBO0VBdUJBLG1CRi9CdUI7RUVnQ3ZCLHdCQUFBO0FQOGRGO0FRNkJJO0VEamVGO0lBL0NFLGdCRlZ5QjtFTGlnQjNCO0FBQ0Y7QVF3Qkk7RURqZUY7SUEzQ0UsZ0JGYnFCO0VMcWdCdkI7QUFDRjtBUW1CSTtFRGplRjtJQXZDRSxnQkZoQnFCO0VMeWdCdkI7QUFDRjtBUWNJO0VEamVGO0lBbkNFLGdCRm5Cc0I7RUw2Z0J4QjtBQUNGO0FRU0k7RURqZUY7SUF2QkUsbUJGbEN5QjtFTHFoQjNCO0FBQ0Y7QVFJSTtFRGplRjtJQW5CRSxtQkZyQ3FCO0VMeWhCdkI7QUFDRjtBUURJO0VEamVGO0lBZkUsbUJGeENxQjtFTDZoQnZCO0FBQ0Y7QVFOSTtFRGplRjtJQVhFLG1CRjNDc0I7RUxpaUJ4QjtBQUNGOztBTy9jRTtFQXhCQSxrQkYvRHVCO0VFZ0V2Qix3QkFBQTtFQUNBLDRCQUFBO0FQMmVGO0FRakJJO0VEcGNGO0lBbkJFLGtCRm5FeUI7SUVvRXpCLDRCQUFBO0VQNGVGO0FBQ0Y7QVF2Qkk7RURwY0Y7SUFkRSxrQkZ2RXFCO0lFd0VyQiw0QkFBQTtFUDZlRjtBQUNGO0FRN0JJO0VEcGNGO0lBVEUsa0JGM0VxQjtJRTRFckIsNEJBQUE7RVA4ZUY7QUFDRjtBUW5DSTtFRHBjRjtJQUpFLGtCRi9Fc0I7SUVnRnRCLDRCQUFBO0VQK2VGO0FBQ0Y7O0FPaGRFO0VBeEJBLGlCRjVGdUI7RUU2RnZCLHdCQUFBO0VBQ0EsNEJBQUE7QVA0ZUY7QVEvQ0k7RUR2YUY7SUFuQkUsaUJGaEd5QjtJRWlHekIsNEJBQUE7RVA2ZUY7QUFDRjtBUXJESTtFRHZhRjtJQWRFLGlCRnBHcUI7SUVxR3JCLDRCQUFBO0VQOGVGO0FBQ0Y7QVEzREk7RUR2YUY7SUFURSxpQkZ4R3FCO0lFeUdyQiw0QkFBQTtFUCtlRjtBQUNGO0FRakVJO0VEdmFGO0lBSkUsaUJGNUdzQjtJRTZHdEIsNEJBQUE7RVBnZkY7QUFDRjs7QU81Y0U7RUE3QkEsaUJGekh1QjtFRTBIdkIsa0JGMUh1QjtFRTJIdkIsd0JBQUE7RUFDQSw0QkFBQTtBUDZlRjtBUTlFSTtFRHJZRjtJQXZCRSxpQkY5SHlCO0lFK0h6QixrQkYvSHlCO0lFZ0l6Qiw0QkFBQTtFUDhlRjtBQUNGO0FRckZJO0VEcllGO0lBakJFLGlCRm5JcUI7SUVvSXJCLGtCRnBJcUI7SUVxSXJCLDRCQUFBO0VQK2VGO0FBQ0Y7QVE1Rkk7RURyWUY7SUFYRSxpQkZ4SXFCO0lFeUlyQixrQkZ6SXFCO0lFMElyQiw2QkFBQTtFUGdmRjtBQUNGO0FRbkdJO0VEcllGO0lBTEUsaUJGN0lzQjtJRThJdEIsa0JGOUlzQjtJRStJdEIsNkJBQUE7RVBpZkY7QUFDRjs7QU9sZEU7RUF4QkEsbUJBQUE7RUFDQSx3QkFBQTtBUDhlRjtBUS9HSTtFRHhXRjtJQW5CRSxtQkFBQTtFUDhlRjtBQUNGO0FRcEhJO0VEeFdGO0lBZEUsbUJBQUE7RVA4ZUY7QUFDRjtBUXpISTtFRHhXRjtJQVRFLG1CQUFBO0VQOGVGO0FBQ0Y7QVE5SEk7RUR4V0Y7SUFKRSxtQkFBQTtFUDhlRjtBQUNGOztBTzljRTtFQXhCQSxrQkFBQTtFQUNBLHdCQUFBO0FQMGVGO0FReElJO0VEM1VGO0lBbkJFLGtCQUFBO0VQMGVGO0FBQ0Y7QVE3SUk7RUQzVUY7SUFkRSxrQkFBQTtFUDBlRjtBQUNGO0FRbEpJO0VEM1VGO0lBVEUsa0JBQUE7RVAwZUY7QUFDRjtBUXZKSTtFRDNVRjtJQUpFLGtCQUFBO0VQMGVGO0FBQ0Y7O0FPcmNFO0VBN0JBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSx3QkFBQTtFQUNBLHdCQUFBO0FQc2VGO0FRbktJO0VEelNGO0lBdkJFLGtCQUFBO0lBQ0EsbUJBQUE7SUFDQSx3QkFBQTtFUHVlRjtBQUNGO0FRMUtJO0VEelNGO0lBakJFLGtCQUFBO0lBQ0EsbUJBQUE7SUFDQSx3QkFBQTtFUHdlRjtBQUNGO0FRakxJO0VEelNGO0lBWEUsa0JBQUE7SUFDQSxtQkFBQTtJQUNBLHlCQUFBO0VQeWVGO0FBQ0Y7QVF4TEk7RUR6U0Y7SUFMRSxrQkFBQTtJQUNBLG1CQUFBO0lBQ0EseUJBQUE7RVAwZUY7QUFDRjs7QU9oZEU7RUFuQkEsaUJGaFBvQjtFRWlQcEIseUJBQUE7QVB1ZUY7QVFwTUk7RURqUkY7SUFmRSxpQkZuUHNCO0VMMnRCeEI7QUFDRjtBUXpNSTtFRGpSRjtJQVhFLGlCRnRQa0I7RUwrdEJwQjtBQUNGO0FROU1JO0VEalJGO0lBUEUsaUJGelBrQjtFTG11QnBCO0FBQ0Y7QVFuTkk7RURqUkY7SUFIRSxpQkY1UG1CO0VMdXVCckI7QUFDRjs7QU9qZEU7RUFuQkEsb0JGeFFvQjtFRXlRcEIseUJBQUE7QVB3ZUY7QVE3Tkk7RUR6UEY7SUFmRSxvQkYzUXNCO0VMb3ZCeEI7QUFDRjtBUWxPSTtFRHpQRjtJQVhFLG9CRjlRa0I7RUx3dkJwQjtBQUNGO0FRdk9JO0VEelBGO0lBUEUsb0JGalJrQjtFTDR2QnBCO0FBQ0Y7QVE1T0k7RUR6UEY7SUFIRSxvQkZwUm1CO0VMZ3dCckI7QUFDRjs7QU9sZEU7RUFuQkEsa0JGdlN1QjtFRXdTdkIseUJBQUE7QVB5ZUY7QVF0UEk7RURqT0Y7SUFmRSxrQkYxU3lCO0VMb3hCM0I7QUFDRjtBUTNQSTtFRGpPRjtJQVhFLGtCRjdTcUI7RUx3eEJ2QjtBQUNGO0FRaFFJO0VEak9GO0lBUEUsa0JGaFRxQjtFTDR4QnZCO0FBQ0Y7QVFyUUk7RURqT0Y7SUFIRSxrQkZuVHNCO0VMZ3lCeEI7QUFDRjs7QU9uZEU7RUFuQkEsbUJGL1R1QjtFRWdVdkIseUJBQUE7QVAwZUY7QVEvUUk7RUR6TUY7SUFmRSxtQkZsVXlCO0VMNnlCM0I7QUFDRjtBUXBSSTtFRHpNRjtJQVhFLG1CRnJVcUI7RUxpekJ2QjtBQUNGO0FRelJJO0VEek1GO0lBUEUsbUJGeFVxQjtFTHF6QnZCO0FBQ0Y7QVE5Ukk7RUR6TUY7SUFIRSxtQkYzVXNCO0VMeXpCeEI7QUFDRjs7QU9wZUU7RUFuR0EsaUJGaFBvQjtFRWlQcEIseUJBQUE7RUF1QkEsb0JGeFFvQjtFRXlRcEIseUJBQUE7QVBxakJGO0FRMVNJO0VEak1GO0lBL0ZFLGlCRm5Qc0I7RUxpMEJ4QjtBQUNGO0FRL1NJO0VEak1GO0lBM0ZFLGlCRnRQa0I7RUxxMEJwQjtBQUNGO0FRcFRJO0VEak1GO0lBdkZFLGlCRnpQa0I7RUx5MEJwQjtBQUNGO0FRelRJO0VEak1GO0lBbkZFLGlCRjVQbUI7RUw2MEJyQjtBQUNGO0FROVRJO0VEak1GO0lBdkVFLG9CRjNRc0I7RUxxMUJ4QjtBQUNGO0FRblVJO0VEak1GO0lBbkVFLG9CRjlRa0I7RUx5MUJwQjtBQUNGO0FReFVJO0VEak1GO0lBL0RFLG9CRmpSa0I7RUw2MUJwQjtBQUNGO0FRN1VJO0VEak1GO0lBM0RFLG9CRnBSbUI7RUxpMkJyQjtBQUNGOztBTzNnQkU7RUFuQ0EsbUJGL1R1QjtFRWdVdkIseUJBQUE7RUF6QkEsa0JGdlN1QjtFRXdTdkIseUJBQUE7QVA0a0JGO0FRelZJO0VEekxGO0lBL0JFLG1CRmxVeUI7RUx1M0IzQjtBQUNGO0FROVZJO0VEekxGO0lBM0JFLG1CRnJVcUI7RUwyM0J2QjtBQUNGO0FRbldJO0VEekxGO0lBdkJFLG1CRnhVcUI7RUwrM0J2QjtBQUNGO0FReFdJO0VEekxGO0lBbkJFLG1CRjNVc0I7RUxtNEJ4QjtBQUNGO0FRN1dJO0VEekxGO0lBdkRFLGtCRjFTeUI7RUwyNEIzQjtBQUNGO0FRbFhJO0VEekxGO0lBbkRFLGtCRjdTcUI7RUwrNEJ2QjtBQUNGO0FRdlhJO0VEekxGO0lBL0NFLGtCRmhUcUI7RUxtNUJ2QjtBQUNG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QUFBO0VBQ0EsVUFBQTtBVitxQ047QVExckNJO0VFRUE7SUgxTkEsbUJGbFV5QjtFTHd0RDNCO0FBQ0Y7QVEvckNJO0VFRUE7SUh0TkEsbUJGclVxQjtFTDR0RHZCO0FBQ0Y7QVFwc0NJO0VFRUE7SUhsTkEsbUJGeFVxQjtFTGd1RHZCO0FBQ0Y7QVF6c0NJO0VFRUE7SUg5TUEsbUJGM1VzQjtFTG91RHhCO0FBQ0Y7QVE5c0NJO0VFRUE7SUFZSSxZTDdpQk87SUs4aUJQLGVBQUE7RVZvc0NOO0FBQ0Y7O0FVbHNDTTtFQUNFLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsU0FBQTtBVnFzQ1I7QVEzdENJO0VFa0JFO0lBT0ksWUx4akJLO0lLeWpCTCxhQUFBO0VWc3NDUjtBQUNGO0FVcHNDUTtFQUNFLGNMcmlCRDtBTDJ1RFQ7QVVwc0NVO0VBQ0UsY0FBQTtBVnNzQ1o7QVU3ckNNO0VBQ0UsY0FBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0FWK3JDUjtBUTd1Q0k7RUUwQ0U7SUFPSSxpQkFBQTtFVmdzQ1I7QUFDRjtBUWx2Q0k7RUUwQ0U7SUFXSSxhQUFBO0VWaXNDUjtBQUNGO0FVL3JDUTtFQUNFLGNMaGtCRDtBTGl3RFQ7QVUvckNVO0VBQ0UsY0FBQTtBVmlzQ1o7O0FVNXJDSTtFSHRtQkYsV0FBQTtFQUNBLFlBQUE7RUd1bUJJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esa0JBQUE7RUFDQSxTTHZtQmU7RUt3bUJmLE9BQUE7RUFDQSx5QkxobEJHO0VLaWxCSCxVQUFBO0FWZ3NDTjtBUXp3Q0k7RUVpRUE7SUFXSSxTTDNtQk87SUs0bUJQLFlBQUE7RVZpc0NOO0FBQ0Y7QVUvckNNO0VINVNKLG1CRi9UdUI7RUVnVXZCLHlCQUFBO0VBekJBLGtCRnZTdUI7RUV3U3ZCLHlCQUFBO0FQd2dERjtBUXJ4Q0k7RUVnRkU7SUh4U0YsbUJGbFV5QjtFTG16RDNCO0FBQ0Y7QVExeENJO0VFZ0ZFO0lIcFNGLG1CRnJVcUI7RUx1ekR2QjtBQUNGO0FRL3hDSTtFRWdGRTtJSGhTRixtQkZ4VXFCO0VMMnpEdkI7QUFDRjtBUXB5Q0k7RUVnRkU7SUg1UkYsbUJGM1VzQjtFTCt6RHhCO0FBQ0Y7QVF6eUNJO0VFZ0ZFO0lIaFVGLGtCRjFTeUI7RUx1MEQzQjtBQUNGO0FROXlDSTtFRWdGRTtJSDVURixrQkY3U3FCO0VMMjBEdkI7QUFDRjtBUW56Q0k7RUVnRkU7SUh4VEYsa0JGaFRxQjtFTCswRHZCO0FBQ0Y7QVF4ekNJO0VFZ0ZFO0lIcFRGLGtCRm5Uc0I7RUxtMUR4QjtBQUNGOztBVzEyREE7O0dBQUE7QUFJQTtFSllFLFdBQUE7RUFDQSxpQkZSVTtFRVNWLGNBQUE7RUlaQSxZQUFBO0VBQ0EsZUFBQTtFQUNBLGFBQUE7RUFDQSwrQkFBQTtFQUNBLHdCQUFBO0FYODJERjs7QVczMkRFO0VBQ0UsWUFBQTtFQUNBLFVBQUE7RUFDQSxxQkFBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtBWDgyREo7QVc1MkRJO0VBQ0UsV0FBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsY05jRztFTWJILGNBQUE7RUFDQSx5QkFBQTtFQUNBLGdCQUFBO0VBQ0EsYUFBQTtBWDgyRE47QVczMkRJO0VBQ0UsV0FBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QkFBQTtFQUNBLGNBQUE7RUFDQSx1QkFBQTtFQUNBLGNOREc7QUw4MkRUOztBV3oyREU7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0VBQ0EsY05aSztFTWFMLGlCQUFBO0VBQ0EseUJOYks7RU1jTCxrQ0FBQTtBWDQyREo7QVcxMkRJO0VBQ0UseUJBQUE7QVg0MkROOztBWW42REE7O0dBQUE7QUFLQTtFTEdFLFdBQUE7RUFDQSxZQUFBO0VLRkEsaUJBQUE7RUFDQSxlQUFBO0VBQ0EseUJQNkJPO0FMdzREVDs7QVluNkRFO0VBQ0UsWUFBQTtFQUNBLGdCQUFBO0FaczZESjs7QVlwNkRJO0VMUEYsV0FBQTtFQUNBLFlBQUE7RUtRSSxjQUFBO0VBSUEsc0JBQUE7RUFDQSxrQkFBQTtBWnE2RE47O0FZbDZETTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFVBQUE7RUFDQSx5QlBLQztFT0hELFlBQUE7RUFDQSw4QkFBQTtBWm82RFI7QVlsNkRRO0VBQ0UseUJQREQ7RU9FQyxVQUFBO0FabzZEVjs7QVloNkRNO0VMM0JKLFdBQUE7RUFDQSxpQkZSVTtFRVNWLGNBQUE7RUF1UEEsaUJGaFBvQjtFRWlQcEIseUJBQUE7RUF1QkEsb0JGeFFvQjtFRXlRcEIseUJBQUE7RUErQ0EsbUJGL1R1QjtFRWdVdkIseUJBQUE7RUF6QkEsa0JGdlN1QjtFRXdTdkIseUJBQUE7RUsxUU0sZUFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQUE7RUFFQSxrQkFBQTtFQUNBLFVBQUE7QVp5NkRSO0FRajdDSTtFSWxnQkU7SUxrT0YsaUJGblBzQjtFTHc4RHhCO0FBQ0Y7QVF0N0NJO0VJbGdCRTtJTHNPRixpQkZ0UGtCO0VMNDhEcEI7QUFDRjtBUTM3Q0k7RUlsZ0JFO0lMME9GLGlCRnpQa0I7RUxnOURwQjtBQUNGO0FRaDhDSTtFSWxnQkU7SUw4T0YsaUJGNVBtQjtFTG85RHJCO0FBQ0Y7QVFyOENJO0VJbGdCRTtJTDBQRixvQkYzUXNCO0VMNDlEeEI7QUFDRjtBUTE4Q0k7RUlsZ0JFO0lMOFBGLG9CRjlRa0I7RUxnK0RwQjtBQUNGO0FRLzhDSTtFSWxnQkU7SUxrUUYsb0JGalJrQjtFTG8rRHBCO0FBQ0Y7QVFwOUNJO0VJbGdCRTtJTHNRRixvQkZwUm1CO0VMdytEckI7QUFDRjtBUXo5Q0k7RUlsZ0JFO0lMMFNGLG1CRmxVeUI7RUx1L0QzQjtBQUNGO0FROTlDSTtFSWxnQkU7SUw4U0YsbUJGclVxQjtFTDIvRHZCO0FBQ0Y7QVFuK0NJO0VJbGdCRTtJTGtURixtQkZ4VXFCO0VMKy9EdkI7QUFDRjtBUXgrQ0k7RUlsZ0JFO0lMc1RGLG1CRjNVc0I7RUxtZ0V4QjtBQUNGO0FRNytDSTtFSWxnQkU7SUxrUkYsa0JGMVN5QjtFTDJnRTNCO0FBQ0Y7QVFsL0NJO0VJbGdCRTtJTHNSRixrQkY3U3FCO0VMK2dFdkI7QUFDRjtBUXYvQ0k7RUlsZ0JFO0lMMFJGLGtCRmhUcUI7RUxtaEV2QjtBQUNGO0FRNS9DSTtFSWxnQkU7SUw4UkYsa0JGblRzQjtFTHVoRXhCO0FBQ0Y7O0FZci9EVTtFQUNFLFdBQUE7RUFDQSxnQkFBQTtFQUNBLGNQaEJIO0VPa0JHLDZCQUFBO0FadS9EWjs7QVlqL0RVO0VBQ0UsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsY1AzQkg7RU80QkcsNkJBQUE7QVpvL0RaOztBWS8rREk7RUxyRUYsV0FBQTtFQUNBLFlBQUE7QVB3akVGOztBWWovRE07RUFDRSxhQUFBO0VBQ0EsMEJBQUE7RUFDQSx3QkFBQTtBWm8vRFI7QVExaERJO0VJN2RFO0lBTUksMEJBQUE7SUFDQSx3QkFBQTtFWnEvRFI7QUFDRjs7QVlsL0RNO0VBQ0UsOEJBQUE7RUFDQSw2QkFBQTtBWnEvRFI7QVFyaURJO0VJbGRFO0lBS0ksZ0NBQUE7SUFDQSw0QkFBQTtFWnMvRFI7QUFDRjs7QVlwL0RRO0VBQ0UsV0FBQTtFQUNBLGdCQUFBO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0FadS9EVjtBUWxqREk7RUl6Y0k7SUFPSSxxQkFBQTtJQUNBLFdBQUE7RVp3L0RWO0FBQ0Y7O0FZdC9EVTtFTHZHUixXQUFBO0VBQ0EsWUFBQTtBUGltRUY7O0FZeC9EWTtFTGxHVixXQUFBO0VBQ0EsaUJGUlU7RUVTVixjQUFBO0VBK1RBLG1CRi9UdUI7RUVnVXZCLHlCQUFBO0VBekJBLGtCRnZTdUI7RUV3U3ZCLHlCQUFBO0VBakRBLGlCRmhQb0I7RUVpUHBCLHlCQUFBO0VBdUJBLG9CRnhRb0I7RUV5UXBCLHlCQUFBO0FQczFERjtBUTNrREk7RUkzYlE7SUxtT1IsbUJGbFV5QjtFTHltRTNCO0FBQ0Y7QVFobERJO0VJM2JRO0lMdU9SLG1CRnJVcUI7RUw2bUV2QjtBQUNGO0FRcmxESTtFSTNiUTtJTDJPUixtQkZ4VXFCO0VMaW5FdkI7QUFDRjtBUTFsREk7RUkzYlE7SUwrT1IsbUJGM1VzQjtFTHFuRXhCO0FBQ0Y7QVEvbERJO0VJM2JRO0lMMk1SLGtCRjFTeUI7RUw2bkUzQjtBQUNGO0FRcG1ESTtFSTNiUTtJTCtNUixrQkY3U3FCO0VMaW9FdkI7QUFDRjtBUXptREk7RUkzYlE7SUxtTlIsa0JGaFRxQjtFTHFvRXZCO0FBQ0Y7QVE5bURJO0VJM2JRO0lMdU5SLGtCRm5Uc0I7RUx5b0V4QjtBQUNGO0FRbm5ESTtFSTNiUTtJTDJKUixpQkZuUHNCO0VMMG9FeEI7QUFDRjtBUXhuREk7RUkzYlE7SUwrSlIsaUJGdFBrQjtFTDhvRXBCO0FBQ0Y7QVE3bkRJO0VJM2JRO0lMbUtSLGlCRnpQa0I7RUxrcEVwQjtBQUNGO0FRbG9ESTtFSTNiUTtJTHVLUixpQkY1UG1CO0VMc3BFckI7QUFDRjtBUXZvREk7RUkzYlE7SUxtTFIsb0JGM1FzQjtFTDhwRXhCO0FBQ0Y7QVE1b0RJO0VJM2JRO0lMdUxSLG9CRjlRa0I7RUxrcUVwQjtBQUNGO0FRanBESTtFSTNiUTtJTDJMUixvQkZqUmtCO0VMc3FFcEI7QUFDRjtBUXRwREk7RUkzYlE7SUwrTFIsb0JGcFJtQjtFTDBxRXJCO0FBQ0Y7O0FZaGxFUTtFQUNFLGdCQUFBO0FabWxFVjtBUS9wREk7RUlyYkk7SUFJSSxvQkFBQTtFWm9sRVY7QUFDRjs7QVlqbEVRO0VMaUtOLG9CRnhRb0I7RUV5UXBCLHlCQUFBO0VLaEtRLFdBQUE7RUFDQSxxQkFBQTtFQUNBLFdBQUE7QVpxbEVWO0FRNXFESTtFSTdhSTtJTHFLSixvQkYzUXNCO0VMbXNFeEI7QUFDRjtBUWpyREk7RUk3YUk7SUx5S0osb0JGOVFrQjtFTHVzRXBCO0FBQ0Y7QVF0ckRJO0VJN2FJO0lMNktKLG9CRmpSa0I7RUwyc0VwQjtBQUNGO0FRM3JESTtFSTdhSTtJTGlMSixvQkZwUm1CO0VMK3NFckI7QUFDRjtBUWhzREk7RUk3YUk7SUFPSSxxQkFBQTtJQUNBLFdBQUE7RVowbUVWO0FBQ0Y7O0FhbnZFQTs7R0FBQTtBQUtBO0VOR0UsV0FBQTtFQUNBLFlBQUE7RU1GQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSx5QlI2Q1k7QUx3c0VkOztBYW52RUU7RU44UEEsaUJGaFBvQjtFRWlQcEIseUJBQUE7RUF1QkEsb0JGeFFvQjtFRXlRcEIseUJBQUE7RUErQ0EsbUJGL1R1QjtFRWdVdkIseUJBQUE7RUF6QkEsa0JGdlN1QjtFRXdTdkIseUJBQUE7RU0zU0Usa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGNScUJLO0VRcEJMLGFBQUE7RUFDQSw4QkFBQTtFQUNBLHlCQUFBO0FiMnZFSjtBUWx1REk7RUtsaUJGO0lOa1FFLGlCRm5Qc0I7RUx5dkV4QjtBQUNGO0FRdnVESTtFS2xpQkY7SU5zUUUsaUJGdFBrQjtFTDZ2RXBCO0FBQ0Y7QVE1dURJO0VLbGlCRjtJTjBRRSxpQkZ6UGtCO0VMaXdFcEI7QUFDRjtBUWp2REk7RUtsaUJGO0lOOFFFLGlCRjVQbUI7RUxxd0VyQjtBQUNGO0FRdHZESTtFS2xpQkY7SU4wUkUsb0JGM1FzQjtFTDZ3RXhCO0FBQ0Y7QVEzdkRJO0VLbGlCRjtJTjhSRSxvQkY5UWtCO0VMaXhFcEI7QUFDRjtBUWh3REk7RUtsaUJGO0lOa1NFLG9CRmpSa0I7RUxxeEVwQjtBQUNGO0FRcndESTtFS2xpQkY7SU5zU0Usb0JGcFJtQjtFTHl4RXJCO0FBQ0Y7QVExd0RJO0VLbGlCRjtJTjBVRSxtQkZsVXlCO0VMd3lFM0I7QUFDRjtBUS93REk7RUtsaUJGO0lOOFVFLG1CRnJVcUI7RUw0eUV2QjtBQUNGO0FRcHhESTtFS2xpQkY7SU5rVkUsbUJGeFVxQjtFTGd6RXZCO0FBQ0Y7QVF6eERJO0VLbGlCRjtJTnNWRSxtQkYzVXNCO0VMb3pFeEI7QUFDRjtBUTl4REk7RUtsaUJGO0lOa1RFLGtCRjFTeUI7RUw0ekUzQjtBQUNGO0FRbnlESTtFS2xpQkY7SU5zVEUsa0JGN1NxQjtFTGcwRXZCO0FBQ0Y7QVF4eURJO0VLbGlCRjtJTjBURSxrQkZoVHFCO0VMbzBFdkI7QUFDRjtBUTd5REk7RUtsaUJGO0lOOFRFLGtCRm5Uc0I7RUx3MEV4QjtBQUNGOztBYXowRUk7RUFDRSxlQUFBO0VBRUEscUJBQUE7RUFDQSxXQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFB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bUJBQUE7SUFDQSxxQkFBQTtJQUNBLGtCQUFBO0VEb2xGUjtBQUNGO0FDcmtGRTtFQUNFLHlCSTlRSztBTHExRlQ7O0FDcmtGSTtFQUNFLGFBQUE7RUFDQSwwQkFBQTtFQUNBLDZCQUFBO0FEd2tGTjtBUTExRUk7RVBqUEE7SUFNSSxnQ0FBQTtFRHlrRk47QUFDRjtBUS8xRUk7RVBqUEE7SUFVSSxnQ0FBQTtFRDBrRk47QUFDRjs7QUN4a0ZNO0VBQ0UsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLFNBQUE7RUFDQSxrQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtBRDJrRlI7QVFoM0VJO0VQcE9FO0lBWUksaUJBQUE7SUFDQSxxQkFBQTtJQUNBLGtCQUFBO0lBQ0EsbUJBQUE7SUFDQSxjQUFBO0VENGtGUjtBQUNGO0FRejNFSTtFUHBPRTtJQW9CSSxnQkFBQTtJQUNBLGlCQUFBO0VENmtGUjtBQUNGO0FDdGtGTTtFQUNFLG1CQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0FEd2tGUjtBUXI0RUk7RVB2TUU7SUFPSSxtQkFBQTtJQUNBLHFCQUFBO0lBQ0Esa0JBQUE7SUFDQSxpQkFBQTtFRHlrRlI7QUFDRiIsImZpbGUiOiJob21lLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICAqIFBBR0UtU1BFQ0lGSUMgU1RZTEVTSEVFVDogSG9tZVxuICAqXG4gICogSW1wb3J0IGNvbW1vbiBzdHlsZXMgYW5kIGhvdXNlIHBhZ2Utc3BlY2lmaWMgc3R5bGVzIGZvciBIb21lIHBhZ2UuXG4gICovXG4vKipcbiAgKiBDT01NT04gU1RZTEVTXG4gICpcbiAgKiBEZWZpbmVzIHRoZSBzdHlsZXMgdG8gaW1wb3J0IHRoYXQgYXJlIHJlcXVpcmVkIGJ5IHZpcnR1YWxseSBhbGwgcGFnZXMuXG4gICovXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9c3VibWl0XSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPWJ1dHRvbl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1yZXNldF06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1zdWJtaXRdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9YnV0dG9uXTotbW96LWZvY3VzcmluZyxcblt0eXBlPXJlc2V0XTotbW96LWZvY3VzcmluZyxcblt0eXBlPXN1Ym1pdF06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPXNlYXJjaF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuW3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICAqIFNDU1MgQlJFQUtQT0lOVFNcbiAgKlxuICAqIERlZmluZSBicmVha3BvaW50cyBmb3IgbWVkaWEgcXVlcnkgdXNlIGFuZCBleHBvcnQgdGhlbSBmb3IgdXNlIHdpdGggSlMuXG4gICovXG46ZXhwb3J0IHtcbiAgYnJlYWtwb2ludFBob25lU21hbGw6IDMyMDtcbiAgYnJlYWtwb2ludFBob25lTGFyZ2U6IDQ4MDtcbiAgYnJlYWtwb2ludFRhYmxldDogNzY4O1xuICBicmVha3BvaW50TGFwdG9wOiA5OTI7XG4gIGJyZWFrcG9pbnREZXNrdG9wOiAxMjAwO1xuICBicmVha3BvaW50RGVza3RvcExhcmdlOiAxNDAwO1xuICBicmVha3BvaW50SGQ6IDE5MjA7XG59XG5cbi8qKlxuICAqIFNDU1MgVkFSSUFCTEVTXG4gICovXG4vKipcbiAgKiBEaW1lbnNpb25zOlxuICAqL1xuLyoqXG4gICogQ29sb3JzOlxuICAqL1xuLyoqXG4gICogRk9OVCBTVFlMRVNcbiAgKlxuICAqIERlZmluZSBAZm9udC1mYWNlIHN0eWxlcy5cbiAgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTGF0bztcbiAgc3JjOiB1cmwoLi4vZm9udHMvTGF0by1UaGluLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTGF0bztcbiAgc3JjOiB1cmwoLi4vZm9udHMvTGF0by1UaGluSXRhbGljLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTGF0bztcbiAgc3JjOiB1cmwoLi4vZm9udHMvTGF0by1MaWdodC50dGYpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IExhdG87XG4gIHNyYzogdXJsKC4uL2ZvbnRzL0xhdG8tTGlnaHRJdGFsaWMudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBMYXRvO1xuICBzcmM6IHVybCguLi9mb250cy9MYXRvLVJlZ3VsYXIudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBMYXRvO1xuICBzcmM6IHVybCguLi9mb250cy9MYXRvLUl0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IExhdG87XG4gIHNyYzogdXJsKC4uL2ZvbnRzL0xhdG8tQm9sZC50dGYpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IExhdG87XG4gIHNyYzogdXJsKC4uL2ZvbnRzL0xhdG8tQm9sZEl0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IExhdG87XG4gIHNyYzogdXJsKC4uL2ZvbnRzL0xhdG8tQmxhY2sudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBMYXRvO1xuICBzcmM6IHVybCguLi9mb250cy9MYXRvLUJsYWNrSXRhbGljLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTWVycml3ZWF0aGVyO1xuICBzcmM6IHVybCguLi9mb250cy9NZXJyaXdlYXRoZXItTGlnaHQudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBNZXJyaXdlYXRoZXI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01lcnJpd2VhdGhlci1MaWdodEl0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1lcnJpd2VhdGhlcjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvTWVycml3ZWF0aGVyLVJlZ3VsYXIudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBNZXJyaXdlYXRoZXI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01lcnJpd2VhdGhlci1JdGFsaWMudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBNZXJyaXdlYXRoZXI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01lcnJpd2VhdGhlci1Cb2xkLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTWVycml3ZWF0aGVyO1xuICBzcmM6IHVybCguLi9mb250cy9NZXJyaXdlYXRoZXItQm9sZEl0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1lcnJpd2VhdGhlcjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvTWVycml3ZWF0aGVyLUJsYWNrLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTWVycml3ZWF0aGVyO1xuICBzcmM6IHVybCguLi9mb250cy9NZXJyaXdlYXRoZXItQmxhY2tJdGFsaWMudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLyoqXG4gICogU0NTUyBNSVhJTlNcbiAgKlxuICAqIFN0YW5kYXJkaXplZCBzdHlsZSBjaHVua3MsIHByb3ZpZGVkIGFzIGJvdGggU0NTUyBtaXhpbnMgYW5kIEhUTUwgY2xhc3Nlcy5cbiAgKi9cbi53cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmlubmVyLXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ubWFyLXRvcCB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFyLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYXItdG9wIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1hci10b3Age1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1hci10b3Age1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gIH1cbn1cblxuLm1hci1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1hci1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFyLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYXItYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tYXItYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICB9XG59XG5cbi5tYXItdmVydGljYWwge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFyLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1hci12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYXItdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1hci12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLXRvcDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tYXItdmVydGljYWwge1xuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFyLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1hci12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFyLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICB9XG59XG5cbi5tYXItcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFyLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDM1cHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzNXB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYXItcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1hci1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1hci1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gIH1cbn1cblxuLm1hci1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFyLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMzVweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFyLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFyLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1hci1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogODBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICB9XG59XG5cbi5tYXItaG9yaXpvbnRhbCB7XG4gIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFyLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMzVweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDcwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1hci1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYXItaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTIwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tYXItaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA4MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTYwcHgpO1xuICB9XG59XG5cbi5tYXItcmlnaHQtbmVnYXRpdmUge1xuICBtYXJnaW4tcmlnaHQ6IC0zMHB4O1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1hci1yaWdodC1uZWdhdGl2ZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYXItcmlnaHQtbmVnYXRpdmUge1xuICAgIG1hcmdpbi1yaWdodDogLTQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFyLXJpZ2h0LW5lZ2F0aXZlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC02MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tYXItcmlnaHQtbmVnYXRpdmUge1xuICAgIG1hcmdpbi1yaWdodDogLTgwcHg7XG4gIH1cbn1cblxuLm1hci1sZWZ0LW5lZ2F0aXZlIHtcbiAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1hci1sZWZ0LW5lZ2F0aXZlIHtcbiAgICBtYXJnaW4tbGVmdDogLTM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFyLWxlZnQtbmVnYXRpdmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYXItbGVmdC1uZWdhdGl2ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC02MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tYXItbGVmdC1uZWdhdGl2ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC04MHB4O1xuICB9XG59XG5cbi5tYXItaG9yaXpvbnRhbC1uZWdhdGl2ZSB7XG4gIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMzBweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xuICB3aWR0aDogY2FsYygxMDAlICsgNjBweCk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1hci1ob3Jpem9udGFsLW5lZ2F0aXZlIHtcbiAgICBtYXJnaW4tbGVmdDogLTM1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMzVweDtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgNzBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFyLWhvcml6b250YWwtbmVnYXRpdmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC00MHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA4MHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYXItaG9yaXpvbnRhbC1uZWdhdGl2ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC02MHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTYwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDEyMHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFyLWhvcml6b250YWwtbmVnYXRpdmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtODBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC04MHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxNjBweCk7XG4gIH1cbn1cblxuLnBhZC10b3Age1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFkLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDQ1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFkLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDU1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFkLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDY1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZC10b3Age1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICB9XG59XG5cbi5wYWQtYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZC1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiA0NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZC1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZC1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiA2NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWQtYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgfVxufVxuXG4ucGFkLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZC1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFkLWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWQtbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWQtbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICB9XG59XG5cbi5wYWQtcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWQtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFkLXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZC1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFkLXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5cbi5wYWQtdmVydGljYWwge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDQ1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFkLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogNTVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWQtdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiA2NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWQtdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDQ1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFkLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWQtdmVydGljYWwge1xuICAgIHBhZGRpbmctYm90dG9tOiA2NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWQtdmVydGljYWwge1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICB9XG59XG5cbi5wYWQtaG9yaXpvbnRhbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFkLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFkLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFkLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZC1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZC1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFkLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWQtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWQtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICB9XG59XG5cbi5idXR0b24ge1xuICBtYXJnaW46IDFyZW0gMDtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDVkNTA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbi5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0NDNhICFpbXBvcnRhbnQ7XG59XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLm5vLXNjcm9sbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5oMSB7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaDEge1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgfVxufVxuXG4uaDIge1xuICBmb250LXNpemU6IDIuNHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4xcmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oMiB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICB9XG59XG5cbi5oMyB7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjhyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmgzIHtcbiAgICBmb250LXNpemU6IDIuMXJlbTtcbiAgfVxufVxuXG4uaDQge1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS43cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oNCB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG59XG5cbi5oNSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjZyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmg1IHtcbiAgICBmb250LXNpemU6IDEuOXJlbTtcbiAgfVxufVxuXG4uaDYge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oNiB7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gIH1cbn1cblxuLyoqXG4gICogSFRNTCBFTEVNRU5UIFNUWUxFU1xuICAqXG4gICogU3R5bGUgZGVmaW5pdGlvbnMgZm9yIGdsb2JhbCBlbGVtZW50IHNlbGVjdG9ycy5cbiAgKi9cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsaW5lLWhlaWdodDogMS43O1xuICBmb250LXNpemU6IDYyLjUlO1xufVxuXG5ib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyIGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNGUyZGM7XG4gIGZvbnQtZmFtaWx5OiBcIkxhdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGNvbG9yOiAjMDA1ZDUwO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCAuaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgbWFyZ2luLXRvcDogM3JlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LWZhbWlseTogXCJNZXJyaXdlYXRoZXJcIiwgc2VyaWY7XG4gIGNvbG9yOiAjMDA1ZDUwO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzYW5zLXNlcmlmO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDRyZW07XG4gIH1cbn1cblxuaDIge1xuICBmb250LXNpemU6IDIuNHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4xcmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gIH1cbn1cblxuaDMge1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS44cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDIuMXJlbTtcbiAgfVxufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjdyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxufVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjZyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMS45cmVtO1xuICB9XG59XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICBoNiB7XG4gICAgZm9udC1zaXplOiAxLjhyZW07XG4gIH1cbn1cblxucCB7XG4gIG1hcmdpbjogMCAwIDEuNXJlbSAwO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGNvbG9yOiAjMDA1ZDUwO1xufVxudWwsIG9sIHtcbiAgbWFyZ2luOiAxLjVyZW0gMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xufVxuXG5pbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIEJlZ2luIGJ1dHRvbiBzdHlsZXMgKi9cbmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qIEVuZCBidXR0b24gc3R5bGVzICovXG5ibG9ja3F1b3RlIHtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjMDAwMDAwO1xuICBtYXJnaW46IDEuNWVtIDEwcHg7XG4gIHBhZGRpbmc6IDAuNWVtIDMwcHg7XG4gIHF1b3RlczogXCLigJxcIjtcbn1cbmJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgY29sb3I6ICNjY2M7XG4gIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XG4gIGZvbnQtc2l6ZTogNGVtO1xuICBsaW5lLWhlaWdodDogMC4xZW07XG4gIG1hcmdpbi1yaWdodDogMC4yNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTAuNGVtO1xufVxuYmxvY2txdW90ZSBwIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5ibG9ja3F1b3RlIHA6Zmlyc3Qtb2YtdHlwZSwgYmxvY2txdW90ZSBwOm50aC1vZi10eXBlKDIpIHtcbiAgZm9udC1zaXplOiAxLjNyZW07XG59XG5cbi8qKlxuICAqIEhFQURFUiBTVFlMRVNcbiAgKi9cbi5oZWFkZXItd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGdyaWQtcm93LXN0YXJ0OiAxO1xuICBncmlkLXJvdy1lbmQ6IDI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA5OTk5O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zLCBib3JkZXIgMjAwbXMsIGJveC1zaGFkb3cgMjAwbXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDVkNTA7XG59XG4uaGVhZGVyLW92ZXJsYXkge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWQ1MDtcbiAgb3BhY2l0eTogMC43O1xufVxuLmhlYWRlci1vdmVybGF5LmJnLXZpc2libGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ZDUwO1xuICBvcGFjaXR5OiAxO1xufVxuXG4udG9wLWJhci1iZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA2O1xuICBkaXNwbGF5OiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xufVxuLnRvcC1iYXItYmcuYmctdmlzaWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDVkNTA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRvcC1iYXItYmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5oZWFkZXIge1xuICBoZWlnaHQ6IDkwcHg7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDkwcHggYXV0bztcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcztcbn1cbi5oZWFkZXIuYmctdmlzaWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDVkNTA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlciB7XG4gICAgaGVpZ2h0OiAxNjVweDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDEyMHB4IDcwcHg7XG4gIH1cbn1cblxuLmhlYWRlci1icmFuZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgaGVpZ2h0OiA5MHB4O1xuICBncmlkLWNvbHVtbjogMS9zcGFuIDE7XG4gIGdyaWQtcm93OiAxL3NwYW4gMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA1O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5oZWFkZXItYnJhbmQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLWJyYW5kIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaGVhZGVyLWJyYW5kIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXItYnJhbmQge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItYnJhbmQge1xuICAgIGhlaWdodDogMTY1cHg7XG4gICAgcGFkZGluZy10b3A6IDMzLjc1cHg7XG4gIH1cbn1cbi5oZWFkZXItYnJhbmQgYSB7XG4gIGhlaWdodDogOTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLWJyYW5kIGEge1xuICAgIGhlaWdodDogNzVweDtcbiAgICBoZWlnaHQ6IDk3LjVweDtcbiAgfVxufVxuLmhlYWRlci1icmFuZCBhIC5sb2dvLWltYWdlIHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMzVweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSAubG9nby1pbWFnZSB7XG4gICAgaGVpZ2h0OiA5Ny41cHg7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gIH1cbn1cbi5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjZTRlMmRjO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG59XG4uaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAubG9nby10ZXh0LXRpdGxlIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMC45O1xuICBmb250LXNpemU6IDFyZW07XG59XG4uaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAubG9nby10ZXh0LXRpdGxlIHNwYW4ucmVnaXN0ZXJlZCB7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQgLmxvZ28tdGV4dC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gIH1cbiAgLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQgLmxvZ28tdGV4dC10aXRsZSBzcGFuLnJlZ2lzdGVyZWQge1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICB9XG59XG4uaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAubG9nby10ZXh0LXRhZ2xpbmUge1xuICBtYXJnaW46IDEwcHggYXV0byAwIGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAwLjg7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICNlNGUyZGM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQgLmxvZ28tdGV4dC10YWdsaW5lIHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgfVxufVxuXG4uaGVhZGVyLW5hdiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIG1pbi1oZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA5MHB4O1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmhlYWRlci1uYXYuYmctdmlzaWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDVkNTA7XG59XG4uaGVhZGVyLW5hdi52aXNpYmxlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICBvcGFjaXR5OiAxO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItbmF2IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogMTY1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgfVxuICAuaGVhZGVyLW5hdi52aXNpYmxlIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmhlYWRlci1uYXYtbWFpbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgei1pbmRleDogNjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2xhdGU6IDAgLTIyLjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB7XG4gICAgcGFkZGluZy1yaWdodDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXItbmF2LW1haW4ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5oZWFkZXItbmF2LW1haW4ge1xuICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIH1cbn1cbi5oZWFkZXItbmF2LW1haW4gdWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC00NXB4KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHVsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBib3JkZXItdG9wOiB1bnNldDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG4uaGVhZGVyLW5hdi1tYWluIHVsIGxpIHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm9yZGVyLXRvcDogdW5zZXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWQ1MDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHVsIGxpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIG1pbi1oZWlnaHQ6IDQ1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG4gICAgYm9yZGVyLWJvdHRvbTogdW5zZXQ7XG4gICAgdHJhbnNpdGlvbjogZGlzcGxheSAzMDBtcztcbiAgfVxuICAuaGVhZGVyLW5hdi1tYWluIHVsIGxpOmhvdmVyID4gdWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5oZWFkZXItbmF2LW1haW4gdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaSBhIHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogNDVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleC1ncm93OiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5oZWFkZXItbmF2LW1haW4gdWwgbGkgYTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNGUyZGM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAyMHB4O1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItbmF2LW1haW4gdWwgbGkgYTo6YWZ0ZXIge1xuICAgIGJvdHRvbTogOXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB1bCBsaSBhIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogdW5zZXQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaS5jdXJyZW50X3BhZ2VfaXRlbSBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaSAubmF2LWNoZXZyb24ge1xuICB3aWR0aDogNDVweDtcbiAgaGVpZ2h0OiA0NXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgei1pbmRleDogMjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogI2U0ZTJkYztcbn1cbi5oZWFkZXItbmF2LW1haW4gdWwgbGkgLm5hdi1jaGV2cm9uOmhvdmVyIHtcbiAgY29sb3I6ICNiOGIyYTI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB1bCBsaSAubmF2LWNoZXZyb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5oZWFkZXItbmF2LW1haW4gdWwgbGkgdWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB1bCBsaSB1bCB7XG4gICAgbWluLXdpZHRoOiAzMjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0NXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWQ1MDtcbiAgfVxufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaSB1bCBsaSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiA0NXB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItbmF2LW1haW4gdWwgbGkgdWwgbGkge1xuICAgIGhlaWdodDogNDVweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMDIsIDEwMiwgMTAyLCAwLjIpO1xuICB9XG4gIC5oZWFkZXItbmF2LW1haW4gdWwgbGkgdWwgbGk6aG92ZXIgPiB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaSB1bCBsaSBhIHtcbiAgcGFkZGluZy1sZWZ0OiAzZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHVsIGxpIHVsIGxpIGEge1xuICAgIGhlaWdodDogNDVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgfVxufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaSB1bCBsaSB1bCBsaSBhIHtcbiAgcGFkZGluZy1sZWZ0OiA0LjVlbTtcbn1cbi5oZWFkZXItbmF2LW1haW4gdWwgbGkgdWwgbGkgdWwgbGkgdWwgbGkgYSB7XG4gIHBhZGRpbmctbGVmdDogNmVtO1xufVxuXG4vKlxuLmhlYWRlci1uYXYtdG9wIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgei1pbmRleDogNjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDY7XG4gIH1cblxuICB1bCB7IC8vIHRvcCBuYXZcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgY29sdW1uLWdhcDogMzBweDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyAvLyBQYWRkaW5nIGFnYWluc3QgaGVhZGVyIGJ1dHRvbnMgKHNlYXJjaCBnbGFzcylcbiAgICAgIC8vZmxleC1mbG93OiByb3c7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICBsaSB7IC8vIHRvcCBuYXZcbiAgICAgIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiB1bnNldDtcbiAgICAgIH1cblxuICAgICAgYSB7IC8vIHRvcCBuYXZcbiAgICAgICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuICAgICAgICBmb250LWZhbWlseTogJ0xhdG8nLCBzYW5zLXNlcmlmO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJGJyYW5kQ29sb3JDb250cmFzdCwgMjAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiovXG4vKlxubGkuc2xpZGUtbGluZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAwMjtcbiAgYm90dG9tOiAtMXB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiA1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAzcHggM3B4IDAgMDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMzAwbXMsIGxlZnQgMzAwbXMsIGJhY2tncm91bmQtY29sb3IgMTUwbXM7XG5cbiAgJjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmLmhvdmVyLXN0YXRlIHtcbiAgICAvL2JveC1zaGFkb3c6IDAgMCA1cHggMHB4ICRibGFjaztcbiAgfVxufVxuKi9cbi5oZWFkZXItYnV0dG9ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDkwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogNjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLWJ1dHRvbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLWJ1dHRvbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVhZGVyLWJ1dHRvbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlYWRlci1idXR0b25zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1idXR0b25zIHtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbi5nbGFzcyB7XG4gIHBhZGRpbmc6IDhweCAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0b3A6IGF1dG87XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmdsYXNzIHtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgYm9yZGVyOiB1bnNldDtcbiAgfVxufVxuLmdsYXNzIGkge1xuICBjb2xvcjogI2U0ZTJkYztcbn1cbi5nbGFzcyBpOmhvdmVyIHtcbiAgY29sb3I6ICNiOGIyYTI7XG59XG4uYnVyZ2VyIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmc6IDhweCAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDM0MHB4KSB7XG4gIC5idXJnZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmJ1cmdlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmJ1cmdlciBpIHtcbiAgY29sb3I6ICNlNGUyZGM7XG59XG4uYnVyZ2VyIGk6aG92ZXIge1xuICBjb2xvcjogI2I4YjJhMjtcbn1cblxuLmhlYWRlci1zZWFyY2gtd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDkwcHg7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDVkNTA7XG4gIHotaW5kZXg6IDY7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1zZWFyY2gtd3JhcCB7XG4gICAgdG9wOiA0NXB4O1xuICAgIGhlaWdodDogNzVweDtcbiAgfVxufVxuLmhlYWRlci1zZWFyY2gtd3JhcCAuc2l0ZS1zZWFyY2gge1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1zZWFyY2gtd3JhcCAuc2l0ZS1zZWFyY2gge1xuICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLXNlYXJjaC13cmFwIC5zaXRlLXNlYXJjaCB7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZWFkZXItc2VhcmNoLXdyYXAgLnNpdGUtc2VhcmNoIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXItc2VhcmNoLXdyYXAgLnNpdGUtc2VhcmNoIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1zZWFyY2gtd3JhcCAuc2l0ZS1zZWFyY2gge1xuICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItc2VhcmNoLXdyYXAgLnNpdGUtc2VhcmNoIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVhZGVyLXNlYXJjaC13cmFwIC5zaXRlLXNlYXJjaCB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXItc2VhcmNoLXdyYXAgLnNpdGUtc2VhcmNoIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIH1cbn1cblxuLyoqXG4gICogU0lURSBTRUFSQ0ggRk9STSBTVFlMRVNcbiAgKi9cbi5zaXRlLXNlYXJjaCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogNDBweCAwO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciA1MHB4O1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG59XG5cbi5zZWFyY2gtcXVlcnkge1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgZ3JpZC1yb3c6IDE7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cbi5zZWFyY2gtcXVlcnkgbGFiZWwge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDMwcHg7XG4gIGNvbG9yOiAjZTRlMmRjO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zZWFyY2gtcXVlcnkgaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2U0ZTJkYztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuICBjb2xvcjogI2U0ZTJkYztcbn1cblxuLnNlYXJjaC1zdWJtaXQge1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBncmlkLWNvbHVtbjogMi9zcGFuIDE7XG4gIGdyaWQtcm93OiAxO1xuICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgY29sb3I6ICMwMDVkNTA7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlMmRjO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xufVxuLnNlYXJjaC1zdWJtaXQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjhiMmEyO1xufVxuXG4vKipcbiAgKiBNQUlOIFBBR0UgQ09OVEVOVCBTVFlMRVNcbiAgKi9cbi5tYWluLXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBncmlkLXJvdy1zdGFydDogMjtcbiAgZ3JpZC1yb3ctZW5kOiAzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlMmRjO1xufVxuXG4ubWFpbiB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnBhZ2UtaGVhZGVyLXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAwIDVweDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucGFnZS1oZWFkZXItb3ZlcmxheSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ZDUwO1xuICBvcGFjaXR5OiAwLjU7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogb3ZlcmxheTtcbn1cbi5wYWdlLWhlYWRlci1vdmVybGF5LmJnLXZpc2libGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ZDUwO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ucGFnZS1oZWFkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZy10b3A6IDU1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmctdG9wOiA2NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA0NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDY1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZy1yaWdodDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIH1cbn1cblxuLnBhZ2UtaGVhZGVyLXRpdGxlIGgxIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LXNoYWRvdzogMCAwIDE1cHggIzAwNWQ1MDtcbn1cblxuLnBhZ2UtaGVhZGVyLXRleHQgcCB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtc2hhZG93OiAwIDAgMTBweCAjMDA1ZDUwO1xufVxuXG4ucGFnZS1tYWluLXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4ucGFnZS1tYWluIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1tYWluIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gIH1cbn1cblxuLnBhZ2UtbWFpbi5zaWRlIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMHB4O1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1tYWluLnNpZGUge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDMyMHB4O1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAwcHg7XG4gIH1cbn1cblxuLnBhZ2UtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBncmlkLWNvbHVtbjogMS9zcGFuIDE7XG4gIGdyaWQtcm93OiAyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLWNvbnRlbnQge1xuICAgIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgICBncmlkLXJvdzogMTtcbiAgfVxufVxuXG4ucGFnZS1zZWN0aW9uLXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4ucGFnZS1zZWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy1yaWdodDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDQ1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogNTVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiA2NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDQ1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiA2NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICB9XG59XG5cbi5zaWRlIC5wYWdlLWNvbnRlbnQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zaWRlIC5wYWdlLWNvbnRlbnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xuICB9XG59XG5cbi5wYWdlLXNpZGViYXIge1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgd2lkdGg6IDEwMCU7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgZ3JpZC1yb3c6IDE7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZ2Utc2lkZWJhciB7XG4gICAgcGFkZGluZy1ib3R0b206IDQ1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1zaWRlYmFyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdlLXNpZGViYXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA2NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlLXNpZGViYXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2Utc2lkZWJhciB7XG4gICAgZ3JpZC1jb2x1bW46IDIvc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxO1xuICB9XG59XG5cbi8qKlxuICAqIEZPT1RFUiBTVFlMRVNcbiAgKi9cbi5mb290ZXItd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGdyaWQtcm93LXN0YXJ0OiAzO1xuICBncmlkLXJvdy1lbmQ6IDQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNTI0MjU7XG59XG5cbi5mb290ZXIge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogI2U0ZTJkYztcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MCUgNTAlO1xuICBncmlkLXJvd3M6IGF1dG8gYXV0byBhdXRvO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmctdG9wOiA0NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3RlciB7XG4gICAgcGFkZGluZy10b3A6IDU1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogNjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA0NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3RlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDU1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZvb3RlciB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmZvb3RlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3RlciB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZvb3RlciB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuXG4uZm9vdGVyLW5hdiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAyO1xuICBncmlkLXJvdzogMjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlci1uYXYge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGdyaWQtY29sdW1uOiAyL3NwYW4gMTtcbiAgICBncmlkLXJvdzogMS9zcGFuIDE7XG4gICAganVzdGlmeS1jb250ZW50OiByaWdodDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmZvb3Rlci1uYXYge1xuICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlci1uYXYge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZvb3Rlci1uYXYge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mb290ZXItbmF2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIH1cbn1cbi5mb290ZXItbmF2IHVsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlci1uYXYgdWwge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG4uZm9vdGVyLW5hdiB1bCBsaSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA1cHggMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyomOmFmdGVyIHtcbiAgICBjb250ZW50OiBcInxcIjtcbiAgICBjb2xvcjogJGJyYW5kQ29sb3JDb250cmFzdDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAtMnB4O1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG4gIH0qL1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb290ZXItbmF2IHVsIGxpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5mb290ZXItbmF2IHVsIGxpOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4uZm9vdGVyLW5hdiB1bCBsaSBhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICNlNGUyZGM7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb290ZXItbmF2IHVsIGxpIGEge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cblxuLmZvb3Rlci1icmFuZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBncmlkLWNvbHVtbjogMS9zcGFuIDI7XG4gIGdyaWQtcm93OiAxL3NwYW4gMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA1O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb290ZXItYnJhbmQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBncmlkLWNvbHVtbjogMS9zcGFuIDE7XG4gICAgZ3JpZC1yb3c6IDEvc3BhbiAyO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAuZm9vdGVyLWJyYW5kIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyLWJyYW5kIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZm9vdGVyLWJyYW5kIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmZvb3Rlci1icmFuZCB7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuLmZvb3Rlci1icmFuZCBhIHtcbiAgd2lkdGg6IDI2MHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5mb290ZXItYnJhbmQgYSAuZm9vdGVyLWJyYW5kLWxvZ28taW1hZ2Uge1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uZm9vdGVyLWJyYW5kIGEgLmZvb3Rlci1icmFuZC1sb2dvLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyLWJyYW5kIGEgLmZvb3Rlci1icmFuZC1sb2dvLXRleHQge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxufVxuLmZvb3Rlci1icmFuZCBhIC5mb290ZXItYnJhbmQtbG9nby10ZXh0IC5mb290ZXItYnJhbmQtbG9nby10ZXh0LXRpdGxlIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBmb250LXNpemU6IDEuNHJlbTtcbn1cbi5mb290ZXItYnJhbmQgYSAuZm9vdGVyLWJyYW5kLWxvZ28tdGV4dCAuZm9vdGVyLWJyYW5kLWxvZ28tdGV4dC10aXRsZSBzcGFuLnJlZ2lzdGVyZWQge1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5mb290ZXItYnJhbmQgYSAuZm9vdGVyLWJyYW5kLWxvZ28tdGV4dCAuZm9vdGVyLWJyYW5kLWxvZ28tdGV4dC10aXRsZSBzcGFuLnJlZ2lzdGVyZWQge1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICB9XG59XG4uZm9vdGVyLWJyYW5kIGEgLmZvb3Rlci1icmFuZC1sb2dvLXRleHQgLmZvb3Rlci1icmFuZC1sb2dvLXRleHQtdGFnbGluZSB7XG4gIG1hcmdpbjogMTBweCBhdXRvIDAgYXV0bztcbiAgbGluZS1oZWlnaHQ6IDAuODtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5jb3B5cmlnaHQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDIwcHggMCAwIDA7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMjtcbiAgZ3JpZC1yb3c6IDM7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb3B5cmlnaHQge1xuICAgIHBhZGRpbmc6IDAgMCAwIDA7XG4gICAgZ3JpZC1yb3c6IDI7XG4gICAgZ3JpZC1jb2x1bW46IDIvc3BhbiAxO1xuICAgIGp1c3RpZnktY29udGVudDogcmlnaHQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cblxuLyoqXG4gICogTUlTQ0VMTEFORU9VUyBTVFlMRVNcbiAgKi9cbi5lbWJlZC1jb250YWluZXItd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBtYXJnaW46IDIwcHggYXV0bztcbn1cblxuLmVtYmVkLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5lbWJlZC1jb250YWluZXIgaWZyYW1lLFxuLmVtYmVkLWNvbnRhaW5lciBvYmplY3QsXG4uZW1iZWQtY29udGFpbmVyIGVtYmVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5tYXgtd2lkdGgtMjgwcHgge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAyODBweDtcbn1cblxuLmZsb2F0LXJpZ2h0LFxuLmFsaWducmlnaHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGZsb2F0OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5mbG9hdC1yaWdodCxcbiAgLmFsaWducmlnaHQge1xuICAgIHBhZGRpbmc6IDIwcHggMCAyMHB4IDIwcHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG5cbi5ob21lLWJyYW5kIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmhvbWUtYnJhbmQtbG9nbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uaG9tZS1icmFuZC1sb2dvIGltZyB7XG4gIHdpZHRoOiA0MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaG9tZS1icmFuZC1sb2dvIGltZyB7XG4gICAgd2lkdGg6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaG9tZS1icmFuZC1sb2dvIGltZyB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICB9XG59XG5cbi5ob21lLWJyYW5kLWNvcHkge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAyMDBweDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaG9tZS1icmFuZC1jb3B5IHtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhvbWUtYnJhbmQtY29weSB7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICBwYWRkaW5nOiAwIDAgMCAzMHB4O1xuICB9XG59XG4uaG9tZS1icmFuZC1jb3B5IGgxIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiTWVycml3ZWF0aGVyXCIsIHNlcmlmO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkge1xuICAuaG9tZS1icmFuZC1jb3B5IGgxIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5ob21lLWJyYW5kLWNvcHkgaDEge1xuICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhvbWUtYnJhbmQtY29weSBoMSB7XG4gICAgZm9udC1zaXplOiA1cmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuLmhvbWUtc2VjdGlvbi1pbWFnZS1vdmVybGF5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LXdpZHRoOiAyMDBweDtcbiAgbWF4LWhlaWdodDogMjAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDVkNTA7XG4gIG9wYWNpdHk6IDAuMztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaG9tZS1zZWN0aW9uLWltYWdlLW92ZXJsYXkge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgZ3JpZC1jb2x1bW46IDEvc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxL3NwYW4gMTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5ob21lLXNlY3Rpb24taW1hZ2Utb3ZlcmxheSB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgfVxufVxuXG4uaG9tZS1zZWN0aW9uLWFib3V0IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyMDBweCAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5ob21lLXNlY3Rpb24tYWJvdXQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzAwcHggMWZyO1xuICB9XG59XG5cbi5ob21lLXNlY3Rpb24tYWJvdXQtaW1hZ2Uge1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogbGVmdDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMjtcbiAgZ3JpZC1yb3c6IDIvc3BhbiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhvbWUtc2VjdGlvbi1hYm91dC1pbWFnZSB7XG4gICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgZ3JpZC1jb2x1bW46IDEvc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxL3NwYW4gMTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhvbWUtc2VjdGlvbi1hYm91dC1pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgfVxufVxuLmhvbWUtc2VjdGlvbi1hYm91dC1pbWFnZSBpbWcge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIGFzcGVjdC1yYXRpbzogMS8xO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5ob21lLXNlY3Rpb24tYWJvdXQtY29udGVudCB7XG4gIHBhZGRpbmc6IDAgMCAzMHB4IDA7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMjtcbiAgZ3JpZC1yb3c6IDEvc3BhbiAxO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5ob21lLXNlY3Rpb24tYWJvdXQtY29udGVudCB7XG4gICAgcGFkZGluZzogMCAwIDAgNTBweDtcbiAgICBncmlkLWNvbHVtbjogMi9zcGFuIDE7XG4gICAgZ3JpZC1yb3c6IDEvc3BhbiAxO1xuICB9XG59XG4uaG9tZS1zZWN0aW9uLWFyZWFzLXdyYXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuXG4uaG9tZS1zZWN0aW9uLWFyZWFzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5ob21lLXNlY3Rpb24tYXJlYXMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDIwMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhvbWUtc2VjdGlvbi1hcmVhcyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMzAwcHg7XG4gIH1cbn1cblxuLmhvbWUtc2VjdGlvbi1hcmVhcy1pbWFnZSB7XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIG1heC1oZWlnaHQ6IDIwMHB4O1xuICBtYXJnaW46IDA7XG4gIGp1c3RpZnktc2VsZjogbGVmdDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAyO1xuICBncmlkLXJvdzogMi9zcGFuIDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaG9tZS1zZWN0aW9uLWFyZWFzLWltYWdlIHtcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICBncmlkLWNvbHVtbjogMi9zcGFuIDE7XG4gICAgZ3JpZC1yb3c6IDEvc3BhbiAxO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaG9tZS1zZWN0aW9uLWFyZWFzLWltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICB9XG59XG4uaG9tZS1zZWN0aW9uLWFyZWFzLWltYWdlIGltZyB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLmhvbWUtc2VjdGlvbi1hcmVhcy1jb250ZW50IHtcbiAgcGFkZGluZzogMCAwIDMwcHggMDtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAyO1xuICBncmlkLXJvdzogMS9zcGFuIDE7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhvbWUtc2VjdGlvbi1hcmVhcy1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwIDUwcHggMCAwO1xuICAgIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgICBncmlkLXJvdzogMS9zcGFuIDE7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cbi5ob21lLXNlY3Rpb24tc2VydmljZXMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIwMHB4IDFmcjtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhvbWUtc2VjdGlvbi1zZXJ2aWNlcyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMDBweCAxZnI7XG4gIH1cbn1cblxuLmhvbWUtc2VjdGlvbi1zZXJ2aWNlcy1pbWFnZSB7XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIG1heC1oZWlnaHQ6IDIwMHB4O1xuICBtYXJnaW46IDA7XG4gIGp1c3RpZnktc2VsZjogbGVmdDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGxlZnQ7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMjtcbiAgZ3JpZC1yb3c6IDIvc3BhbiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhvbWUtc2VjdGlvbi1zZXJ2aWNlcy1pbWFnZSB7XG4gICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgZ3JpZC1jb2x1bW46IDEvc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxL3NwYW4gMTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhvbWUtc2VjdGlvbi1zZXJ2aWNlcy1pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgfVxufVxuLmhvbWUtc2VjdGlvbi1zZXJ2aWNlcy1pbWFnZSBpbWcge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIGFzcGVjdC1yYXRpbzogMS8xO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5ob21lLXNlY3Rpb24tc2VydmljZXMtY29udGVudCB7XG4gIHBhZGRpbmc6IDAgMCAzMHB4IDA7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMjtcbiAgZ3JpZC1yb3c6IDEvc3BhbiAxO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5ob21lLXNlY3Rpb24tc2VydmljZXMtY29udGVudCB7XG4gICAgcGFkZGluZzogMCAwIDAgNTBweDtcbiAgICBncmlkLWNvbHVtbjogMi9zcGFuIDE7XG4gICAgZ3JpZC1yb3c6IDEvc3BhbiAxO1xuICB9XG59XG4uaG9tZS1zZWN0aW9uLXRlYW0td3JhcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi5ob21lLXNlY3Rpb24tdGVhbSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaG9tZS1zZWN0aW9uLXRlYW0ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDIwMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhvbWUtc2VjdGlvbi10ZWFtIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzMDBweDtcbiAgfVxufVxuXG4uaG9tZS1zZWN0aW9uLXRlYW0taW1hZ2Uge1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgbWFyZ2luOiAwO1xuICBqdXN0aWZ5LXNlbGY6IGxlZnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMjtcbiAgZ3JpZC1yb3c6IDIvc3BhbiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhvbWUtc2VjdGlvbi10ZWFtLWltYWdlIHtcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICBncmlkLWNvbHVtbjogMi9zcGFuIDE7XG4gICAgZ3JpZC1yb3c6IDEvc3BhbiAxO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaG9tZS1zZWN0aW9uLXRlYW0taW1hZ2Uge1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgbWF4LWhlaWdodDogMzAwcHg7XG4gIH1cbn1cbi5ob21lLXNlY3Rpb24tdGVhbS1jb250ZW50IHtcbiAgcGFkZGluZzogMCAwIDMwcHggMDtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAyO1xuICBncmlkLXJvdzogMS9zcGFuIDE7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhvbWUtc2VjdGlvbi10ZWFtLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgNTBweCAwIDA7XG4gICAgZ3JpZC1jb2x1bW46IDEvc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxL3NwYW4gMTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufSIsIi8qKlxuICAqIFBBR0UtU1BFQ0lGSUMgU1RZTEVTSEVFVDogSG9tZVxuICAqXG4gICogSW1wb3J0IGNvbW1vbiBzdHlsZXMgYW5kIGhvdXNlIHBhZ2Utc3BlY2lmaWMgc3R5bGVzIGZvciBIb21lIHBhZ2UuXG4gICovXG5cbkBpbXBvcnQgJ19jb21tb24nOyAvLyBDb21tb24gc3R5bGVzXG5cblxuLmhvbWUtYnJhbmQtd3JhcCB7XG5cbn1cbiAgLmhvbWUtYnJhbmQge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgICAuaG9tZS1icmFuZC1sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcbiAgICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5ob21lLWJyYW5kLWNvcHkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMzBweDtcbiAgICAgIH1cblxuICAgICAgaDEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTWVycml3ZWF0aGVyJywgc2VyaWY7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1zbWFsbFwiKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgZm9udC1zaXplOiA1cmVtO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgLmhvbWUtc2VjdGlvbi1pbWFnZS1vdmVybGF5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG4gICAgb3BhY2l0eTogMC4zO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcbiAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAxO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5ob21lLXNlY3Rpb24tYWJvdXQtd3JhcCB7XG5cbiAgfVxuICAgIC5ob21lLXNlY3Rpb24tYWJvdXQge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjAwcHggMWZyO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwMHB4IDFmcjtcbiAgICAgIH1cbiAgICB9XG4gICAgICAuaG9tZS1zZWN0aW9uLWFib3V0LWltYWdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgLy9qdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGxlZnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICAgICAgZ3JpZC1yb3c6IDIgLyBzcGFuIDE7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxO1xuICAgICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAxO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaG9tZS1zZWN0aW9uLWFib3V0LWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMzBweCAwO1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDE7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA1MHB4O1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAxO1xuICAgICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIgeyAvLyB0aXRsZVxuXG4gICAgICAgIH1cblxuICAgICAgICAuaG9tZS1zZWN0aW9uLWFib3V0LWNvbnRlbnQtdGV4dCB7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAuaG9tZS1zZWN0aW9uLWFyZWFzLXdyYXAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgfVxuICAgIC5ob21lLXNlY3Rpb24tYXJlYXMge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDIwMHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMzAwcHg7XG4gICAgICB9XG4gICAgfVxuICAgICAgLmhvbWUtc2VjdGlvbi1hcmVhcy1pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGp1c3RpZnktc2VsZjogbGVmdDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG4gICAgICAgIGdyaWQtcm93OiAyIC8gc3BhbiAxO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMTtcbiAgICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmhvbWUtc2VjdGlvbi1hcmVhcy1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMCAwIDMwcHggMDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG4gICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XG4gICAgICAgICAgcGFkZGluZzogMCA1MHB4IDAgMDtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHsgLy8gdGl0bGVcblxuICAgICAgICB9XG5cbiAgICAgICAgLmhvbWUtc2VjdGlvbi1hcmVhcy1jb250ZW50LXRleHQge1xuXG4gICAgICAgIH1cblxuICAgICAgICBhIHtcblxuICAgICAgICB9XG4gICAgICB9XG5cbiAgLmhvbWUtc2VjdGlvbi1zZXJ2aWNlcy13cmFwIHtcblxuICB9XG4gICAgLmhvbWUtc2VjdGlvbi1zZXJ2aWNlcyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyMDBweCAxZnI7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzAwcHggMWZyO1xuICAgICAgfVxuICAgIH1cbiAgICAgIC5ob21lLXNlY3Rpb24tc2VydmljZXMtaW1hZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBqdXN0aWZ5LXNlbGY6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBsZWZ0O1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICAgICAgZ3JpZC1yb3c6IDIgLyBzcGFuIDE7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxO1xuICAgICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAxO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaG9tZS1zZWN0aW9uLXNlcnZpY2VzLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMzBweCAwO1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDE7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA1MHB4O1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAxO1xuICAgICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIgeyAvLyB0aXRsZVxuXG4gICAgICAgIH1cblxuICAgICAgICAuaG9tZS1zZWN0aW9uLXNlcnZpY2VzLWNvbnRlbnQtdGV4dCB7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAuaG9tZS1zZWN0aW9uLXRlYW0td3JhcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICB9XG4gICAgLmhvbWUtc2VjdGlvbi10ZWFtIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyMDBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDMwMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAgIC5ob21lLXNlY3Rpb24tdGVhbS1pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGp1c3RpZnktc2VsZjogbGVmdDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG4gICAgICAgIGdyaWQtcm93OiAyIC8gc3BhbiAxO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMTtcbiAgICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG5cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaG9tZS1zZWN0aW9uLXRlYW0tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAzMHB4IDA7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuICAgICAgICAgIHBhZGRpbmc6IDAgNTBweCAwIDA7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDE7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgICBhIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHsgLy8gdGl0bGVcbiAgICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIC5ob21lLXNlY3Rpb24tdGVhbS1jb250ZW50LXRleHQge1xuXG4gICAgICAgIH1cblxuICAgICAgICBhIHtcblxuICAgICAgICB9XG4gICAgICB9XG4iLCIvKipcbiAgKiBDT01NT04gU1RZTEVTXG4gICpcbiAgKiBEZWZpbmVzIHRoZSBzdHlsZXMgdG8gaW1wb3J0IHRoYXQgYXJlIHJlcXVpcmVkIGJ5IHZpcnR1YWxseSBhbGwgcGFnZXMuXG4gICovXG5cblxuLy8gaW1wb3J0IGxpYnJhcmllczpcbkBpbXBvcnQgJ2xpYnJhcmllcy9faW5jbHVkZS1tZWRpYS5zY3NzJzsgLy8gXCJJbmNsdWRlLU1lZGlhXCIgbWVkaWEgcXVlcnkgbGlicmFyeSAocHJvdmlkZXMgYnJlYWtwb2ludCBmdW5jdGlvbmFsaXR5IGZvciByZXNwb25zaXZlIGRlc2lnbilcbkBpbXBvcnQgJ2xpYnJhcmllcy9fbm9ybWFsaXplLnNjc3MnOyAgICAgLy8gXCJOb3JtYWxpemVcIiBjc3MgcmVzZXQgbGlicmFyeVxuXG4vLyBnbG9iYWwgc3R5bGVzIGFuZCBkZXBlbmRlbmNpZXM6XG5AaW1wb3J0ICdwYXJ0aWFscy9fYnJlYWtwb2ludHMubW9kdWxlcyc7ICAvLyBicmVha3BvaW50IGRlZmluaXRpb25zIGZvciBtZWRpYSBxdWVyeSB1c2VcbkBpbXBvcnQgJ3BhcnRpYWxzL192YXJpYWJsZXMnOyAgICAgICAgICAgIC8vIGdlbmVyYWwgdmFyaWFibGUgZGVmaW5pdGlvbnMgKGNvbG9ycywgZGltZW5zaW9ucywgZXRjLilcbkBpbXBvcnQgJ3BhcnRpYWxzL19mb250cyc7ICAgICAgICAgICAgICAgIC8vIEBmb250LWZhY2UgZGVmaW5pdGlvbnNcbkBpbXBvcnQgJ3BhcnRpYWxzL19taXhpbnMnOyAgICAgICAgICAgICAgIC8vIG1peGluIGFuZCBhc3NvY2lhdGVkIGNsYXNzIGRlZmluaXRpb25zXG5AaW1wb3J0ICdwYXJ0aWFscy9fZWxlbWVudHMnOyAgICAgICAgICAgICAvLyBnbG9iYWwgZWxlbWVudCBzZWxlY3RvciBzdHlsZXNcbkBpbXBvcnQgJ3BhcnRpYWxzL19oZWFkZXInOyAgICAgICAgICAgICAgIC8vIGhlYWRlciBzdHlsZXNcbkBpbXBvcnQgJ3BhcnRpYWxzL19zZWFyY2hmb3JtJzsgICAgICAgICAgIC8vIHNlYXJjaCBmb3JtIHN0eWxlc1xuQGltcG9ydCAncGFydGlhbHMvX21haW4nOyAgICAgICAgICAgICAgICAgLy8gbWFpbiBwYWdlIGNvbnRlbnQgc3R5bGVzXG5AaW1wb3J0ICdwYXJ0aWFscy9fZm9vdGVyJzsgICAgICAgICAgICAgICAvLyBmb290ZXIgc3R5bGVzXG5AaW1wb3J0ICdwYXJ0aWFscy9fbWlzYyc7ICAgICAgICAgICAgICAgICAvLyBtaXNjLiBzdHlsZXMgKHR5cGljYWxseSBjbGFzc2VzIHRoYXQgYXJlIHVzYWJsZSBpbiBjb250ZW50LCBidXQgbm90IGluaGVyZW50IHRvIHRoZSBzaXRlIHN0cnVjdHVyZSlcbiIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKipcbiAgKiBTQ1NTIEJSRUFLUE9JTlRTXG4gICpcbiAgKiBEZWZpbmUgYnJlYWtwb2ludHMgZm9yIG1lZGlhIHF1ZXJ5IHVzZSBhbmQgZXhwb3J0IHRoZW0gZm9yIHVzZSB3aXRoIEpTLlxuICAqL1xuXG5cbi8vIERlZmluZSBicmVha3BvaW50cyBoZXJlIChpbiBwaXhlbHMpOlxuJGJyZWFrcG9pbnQtcGhvbmUtc21hbGw6ICAgIDMyMDtcbiRicmVha3BvaW50LXBob25lLWxhcmdlOiAgICA0ODA7XG4kYnJlYWtwb2ludC10YWJsZXQ6ICAgICAgICAgNzY4O1xuJGJyZWFrcG9pbnQtbGFwdG9wOiAgICAgICAgIDk5MjtcbiRicmVha3BvaW50LWRlc2t0b3A6ICAgICAgIDEyMDA7XG4kYnJlYWtwb2ludC1kZXNrdG9wLWxhcmdlOiAxNDAwO1xuJGJyZWFrcG9pbnQtaGQ6ICAgICAgICAgICAgMTkyMDtcblxuLy8gRm9ybWF0IGJyZWFrcG9pbnQgZGVmaW5pdGlvbnMgZm9yIHVzZSB3aXRoIGluY2x1ZGUtbWVkaWEuc2NzcyBsaWJyYXJ5OlxuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZS1zbWFsbCc6ICAgJGJyZWFrcG9pbnQtcGhvbmUtc21hbGwgKiAxcHgsXG4gICdwaG9uZS1sYXJnZSc6ICAgJGJyZWFrcG9pbnQtcGhvbmUtbGFyZ2UgKiAxcHgsXG4gICd0YWJsZXQnOiAgICAgICAgJGJyZWFrcG9pbnQtdGFibGV0ICogMXB4LFxuICAnbGFwdG9wJzogICAgICAgICRicmVha3BvaW50LWxhcHRvcCAqIDFweCxcbiAgJ2Rlc2t0b3AnOiAgICAgICAkYnJlYWtwb2ludC1kZXNrdG9wICogMXB4LFxuICAnZGVza3RvcC1sYXJnZSc6ICRicmVha3BvaW50LWRlc2t0b3AtbGFyZ2UgKiAxcHgsXG4gICdoZCc6ICAgICAgICAgICAgJGJyZWFrcG9pbnQtaGQgKiAxcHhcbik7XG5cbi8vIEV4cG9ydCBicmVha3BvaW50IGRlZmluaXRpb25zIGZvciBKUyB1c2U6XG46ZXhwb3J0IHtcbiAgYnJlYWtwb2ludFBob25lU21hbGw6ICRicmVha3BvaW50LXBob25lLXNtYWxsO1xuICBicmVha3BvaW50UGhvbmVMYXJnZTogJGJyZWFrcG9pbnQtcGhvbmUtbGFyZ2U7XG4gIGJyZWFrcG9pbnRUYWJsZXQ6ICRicmVha3BvaW50LXRhYmxldDtcbiAgYnJlYWtwb2ludExhcHRvcDogJGJyZWFrcG9pbnQtbGFwdG9wO1xuICBicmVha3BvaW50RGVza3RvcDogJGJyZWFrcG9pbnQtZGVza3RvcDtcbiAgYnJlYWtwb2ludERlc2t0b3BMYXJnZTogJGJyZWFrcG9pbnQtZGVza3RvcC1sYXJnZTtcbiAgYnJlYWtwb2ludEhkOiAkYnJlYWtwb2ludC1oZDtcbn1cbiIsIi8qKlxuICAqIFNDU1MgVkFSSUFCTEVTXG4gICovXG5cblxuLyoqXG4gICogRGltZW5zaW9uczpcbiAgKi9cblxuJHNpdGVXaWR0aDogMTIwMHB4OyAvLyBNYXggd2lkdGggb2Ygc2l0ZSdzIGNvbnRlbnQgY29udGFpbmVyc1xuXG4vLyBIZWFkZXIgaGVpZ2h0czpcbiRoZWFkZXJIZWlnaHRNb2JpbGU6IDkwcHg7IC8vIEhlaWdodCBvZiBoZWFkZXIgb24gbW9iaWxlIHNpemVzXG4kaGVhZGVySGVpZ2h0RGVza3RvcDogMTIwcHg7IC8vIEhlaWdodCBvZiBoZWFkZXIgb24gZGVza3RvcCBzaXplc1xuJHRvcEJhckhlaWdodDogNDVweDsgLy80NXB4OyAvLyBIZWlnaHQgb2YgdG9wIG5hdiwgbWFpbiBuYXYgc3ViIG1lbnUgaXRlbXMgYW5kIG1haW4gbmF2IG1vYmlsZSBtZW51IGl0ZW1zXG4kbWFpbk5hdkhlaWdodDogNDVweDsgLy80NXB4OyAvLyBIZWlnaHQgb2YgZmlyc3QtbGV2ZWwgbWFpbiBtZW51IGl0ZW1zIChkZXNrdG9wKVxuXG4vLyBTdGFuZGFyZGl6ZWQgc2lkZSBwYWRkaW5nOlxuJGNvbnRhaW5lclBhZGRpbmdNb2JpbGU6IDMwcHg7XG4kY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2U6IDM1cHg7XG4kY29udGFpbmVyUGFkZGluZ1RhYmxldDogNDBweDtcbiRjb250YWluZXJQYWRkaW5nTGFwdG9wOiA2MHB4O1xuJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wOiA4MHB4O1xuXG4vLyBTdGFuZGFyZGl6ZWQgdG9wIGFuZCBib3R0b20gcGFkZGluZzpcbiRzcGFjZXJQYWRkaW5nTW9iaWxlOiA0MHB4OyAvLzIwcHg7XG4kc3BhY2VyUGFkZGluZ1Bob25lTGFyZ2U6IDQ1cHg7IC8vMjVweDtcbiRzcGFjZXJQYWRkaW5nVGFibGV0OiA1NXB4OyAvLzQwcHg7XG4kc3BhY2VyUGFkZGluZ0xhcHRvcDogNjVweDsgLy81MHB4O1xuJHNwYWNlclBhZGRpbmdEZXNrdG9wOiA4MHB4O1xuXG5cbi8qKlxuICAqIENvbG9yczpcbiAgKi9cblxuLy8gSHVlIGRlZmluaXRpb25zOlxuJGdyZWVuOiAgIzAwNWQ1MDsgLy8gTmV3dG9uIFN0LiBkYXJrIGdyZWVuXG4kY3JlYW06ICAjZTRlMmRjOyAvLyBOZXd0b24gU3QuIGl2b3J5XG4kb3JhbmdlOiAjZjQ4MTIwOyAvLyBOZXd0b24gU3QuIG9yYW5nZVxuJGxpZ2h0R3JlZW46ICM4OGM2NjU7IC8vIE5ld3RvbiBTdC4gbGlnaHQgZ3JlZW5cbiRibHVlOiAjMjdiZWQwOyAvLyBOZXd0b24gU3QuIGJsdWVcblxuLy8gR3JheXNjYWxlIGRlZmluaXRpb25zOlxuJHdoaXRlOiAgI2ZmZmZmZjtcbiRncmF5OiAgICM4ODg4ODg7XG4kYmxhY2s6ICAjMDAwMDAwO1xuJG9mZldoaXRlOiAjZmVmZWZlO1xuJGxpZ2h0ZXN0R3JheTogI2Y5ZjlmOTtcbiRsaWdodGVyR3JheTogI2YyZjJmMjtcbiRsaWdodEdyYXk6ICNlMmUyZTI7XG4kbWVkaXVtR3JheTogI2UwZTBlMDtcbiRkYXJrR3JheTogIzk5OTtcbiRkYXJrZXJHcmF5OiAjNjY2O1xuJGRhcmtlc3RHcmF5OiAjMjUyNDI1OyAvLyBOZXd0b24gU3QuIGRhcmsgZ3JheVxuXG4kYnJhbmRDb2xvclByaW1hcnk6ICRncmVlbjsgLy8gUHJpbWFyeSBjb2xvciBvZiBicmFuZFxuJGJyYW5kQ29sb3JDb250cmFzdDogJGNyZWFtOyAvLyBDb2xvciB0aGF0IGNvbnRyYXN0cyB3ZWxsIHdpdGggYnJhbmQgY29sb3IgKG9mdGVuIHVzZWQgZm9yIHRleHQgb24gdG9wIG9mIGJyYW5kIGNvbG9yKVxuXG4vLyBHbG9iYWwgYXNzaWdubWVudHM6XG4kYm9keUNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0OyAvLyBCb2R5IGJhY2tncm91bmQgY29sb3JcbiRjb250ZW50Q29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7IC8vIFBhZ2UgY29udGVudCBiYWNrZ3JvdW5kIGNvbG9yXG4kZm9udENvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7IC8vIERlZmF1bHQgZm9udCBjb2xvclxuJGxpbmtDb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5OyAvLyBEZWZhdWx0IGxpbmsgY29sb3JcbiRidXR0b25Db2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5OyAvLyBEZWZhdWx0IGJ1dHRvbiBjb2xvclxuIiwiLyoqXG4gICogRk9OVCBTVFlMRVNcbiAgKlxuICAqIERlZmluZSBAZm9udC1mYWNlIHN0eWxlcy5cbiAgKi9cblxuXG4vLyBMYXRvLVRoaW4udHRmOlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBMYXRvO1xuICBzcmM6IHVybCguLi9mb250cy9MYXRvLVRoaW4udHRmKTtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLy8gTGF0by1UaGluSXRhbGljLnR0ZjpcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTGF0bztcbiAgc3JjOiB1cmwoLi4vZm9udHMvTGF0by1UaGluSXRhbGljLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbi8vIExhdG8tTGlnaHQudHRmOlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBMYXRvO1xuICBzcmM6IHVybCguLi9mb250cy9MYXRvLUxpZ2h0LnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi8vIExhdG8tTGlnaHRJdGFsaWMudHRmOlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBMYXRvO1xuICBzcmM6IHVybCguLi9mb250cy9MYXRvLUxpZ2h0SXRhbGljLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbi8vIExhdG8tUmVndWxhci50dGY6XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IExhdG87XG4gIHNyYzogdXJsKC4uL2ZvbnRzL0xhdG8tUmVndWxhci50dGYpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4vLyBMYXRvLUl0YWxpYy50dGY6XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IExhdG87XG4gIHNyYzogdXJsKC4uL2ZvbnRzL0xhdG8tSXRhbGljLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbi8vIExhdG8tQm9sZC50dGY6XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IExhdG87XG4gIHNyYzogdXJsKC4uL2ZvbnRzL0xhdG8tQm9sZC50dGYpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4vLyBMYXRvLUJvbGRJdGFsaWMudHRmOlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBMYXRvO1xuICBzcmM6IHVybCguLi9mb250cy9MYXRvLUJvbGRJdGFsaWMudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLy8gTGF0by1CbGFjay50dGY6XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IExhdG87XG4gIHNyYzogdXJsKC4uL2ZvbnRzL0xhdG8tQmxhY2sudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLy8gTGF0by1CbGFja0l0YWxpYy50dGY6XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IExhdG87XG4gIHNyYzogdXJsKC4uL2ZvbnRzL0xhdG8tQmxhY2tJdGFsaWMudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vLyBNZXJyaXdlYXRoZXItTGlnaHQudHRmXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1lcnJpd2VhdGhlcjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvTWVycml3ZWF0aGVyLUxpZ2h0LnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi8vIE1lcnJpd2VhdGhlci1MaWdodEl0YWxpYy50dGZcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTWVycml3ZWF0aGVyO1xuICBzcmM6IHVybCguLi9mb250cy9NZXJyaXdlYXRoZXItTGlnaHRJdGFsaWMudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLy8gTWVycml3ZWF0aGVyLVJlZ3VsYXIudHRmXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1lcnJpd2VhdGhlcjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvTWVycml3ZWF0aGVyLVJlZ3VsYXIudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLy8gTWVycml3ZWF0aGVyLUl0YWxpYy50dGZcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTWVycml3ZWF0aGVyO1xuICBzcmM6IHVybCguLi9mb250cy9NZXJyaXdlYXRoZXItSXRhbGljLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbi8vIE1lcnJpd2VhdGhlci1Cb2xkLnR0ZlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBNZXJyaXdlYXRoZXI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01lcnJpd2VhdGhlci1Cb2xkLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi8vIE1lcnJpd2VhdGhlci1Cb2xkSXRhbGljLnR0ZlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBNZXJyaXdlYXRoZXI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01lcnJpd2VhdGhlci1Cb2xkSXRhbGljLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbi8vIE1lcnJpd2VhdGhlci1CbGFjay50dGZcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTWVycml3ZWF0aGVyO1xuICBzcmM6IHVybCguLi9mb250cy9NZXJyaXdlYXRoZXItQmxhY2sudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLy8gTWVycml3ZWF0aGVyLUJsYWNrSXRhbGljLnR0ZlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBNZXJyaXdlYXRoZXI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01lcnJpd2VhdGhlci1CbGFja0l0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4iLCIvKipcclxuICAqIFNDU1MgTUlYSU5TXHJcbiAgKlxyXG4gICogU3RhbmRhcmRpemVkIHN0eWxlIGNodW5rcywgcHJvdmlkZWQgYXMgYm90aCBTQ1NTIG1peGlucyBhbmQgSFRNTCBjbGFzc2VzLlxyXG4gICovXHJcblxyXG5cclxuQG1peGluIHdyYXAgeyAvLyBNYXJnaW4tbGVzcyB3cmFwcGVyXHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcbiAgLndyYXAge1xyXG4gICAgQGluY2x1ZGUgd3JhcDtcclxuICB9XHJcblxyXG5AbWl4aW4gaW5uZXItd3JhcCB7IC8vIFdpZHRoLWxpbWl0ZWQsIGhvcml6b250YWxseSBjZW50ZXJpbmcgd3JhcHBlclxyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogJHNpdGVXaWR0aDtcclxuICBtYXJnaW46IDAgYXV0bztcclxufVxyXG4gIC5pbm5lci13cmFwIHtcclxuICAgIEBpbmNsdWRlIGlubmVyLXdyYXA7XHJcbiAgfVxyXG5cclxuQG1peGluIG1hci10b3AgeyAvLyBTdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUsIHRvcC1tYXJnaW5lZCBjb250YWluZXJcclxuICBtYXJnaW4tdG9wOiAkY29udGFpbmVyUGFkZGluZ01vYmlsZTtcclxuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XHJcbiAgICBtYXJnaW4tdG9wOiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIG1hcmdpbi10b3A6ICRjb250YWluZXJQYWRkaW5nVGFibGV0O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XHJcbiAgICBtYXJnaW4tdG9wOiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgIG1hcmdpbi10b3A6ICRjb250YWluZXJQYWRkaW5nRGVza3RvcDtcclxuICB9XHJcbn1cclxuICAubWFyLXRvcCB7XHJcbiAgICBAaW5jbHVkZSBtYXItdG9wO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBtYXItYm90dG9tIHsgLy8gU3RhbmRhcmRpemVkLCByZXNwb25zaXZlLCBib3R0b20tbWFyZ2luZWQgY29udGFpbmVyXHJcbiAgbWFyZ2luLWJvdHRvbTogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGU7XHJcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkY29udGFpbmVyUGFkZGluZ1RhYmxldDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3A7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3A7XHJcbiAgfVxyXG59XHJcbiAgLm1hci1ib3R0b20ge1xyXG4gICAgQGluY2x1ZGUgbWFyLWJvdHRvbTtcclxuICB9XHJcblxyXG5AbWl4aW4gbWFyLXZlcnRpY2FsIHsgLy8gU3RhbmRhcmRpemVkLCByZXNwb25zaXZlLCB2ZXJ0aWNhbGx5LW1hcmdpbmVkIChib3RoIHRvcCBhbmQgYm90dG9tKSBjb250YWluZXJcclxuICBAaW5jbHVkZSBtYXItdG9wO1xyXG4gIEBpbmNsdWRlIG1hci1ib3R0b207XHJcbn1cclxuICAubWFyLXZlcnRpY2FsIHtcclxuICAgIEBpbmNsdWRlIG1hci12ZXJ0aWNhbDtcclxuICB9XHJcblxyXG5AbWl4aW4gbWFyLXJpZ2h0IHsgLy8gU3RhbmRhcmRpemVkLCByZXNwb25zaXZlLCByaWdodC1tYXJnaW5lZCBjb250YWluZXJcclxuICBtYXJnaW4tcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcclxuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRjb250YWluZXJQYWRkaW5nTW9iaWxlKTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIG1hcmdpbi1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2UpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nVGFibGV0O1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAkY29udGFpbmVyUGFkZGluZ1RhYmxldCk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIG1hcmdpbi1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3A7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRjb250YWluZXJQYWRkaW5nTGFwdG9wKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgIG1hcmdpbi1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3ApO1xyXG4gIH1cclxufVxyXG4gIC5tYXItcmlnaHQge1xyXG4gICAgQGluY2x1ZGUgbWFyLXJpZ2h0O1xyXG4gIH1cclxuXHJcbkBtaXhpbiBtYXItbGVmdCB7IC8vIFN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgbGVmdC1tYXJnaW5lZCBjb250YWluZXJcclxuICBtYXJnaW4tbGVmdDogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGU7XHJcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xyXG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gJGNvbnRhaW5lclBhZGRpbmdNb2JpbGUpO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZTtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nVGFibGV0O1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAkY29udGFpbmVyUGFkZGluZ1RhYmxldCk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcDtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gJGNvbnRhaW5lclBhZGRpbmdMYXB0b3ApO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nRGVza3RvcDtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wKTtcclxuICB9XHJcbn1cclxuICAubWFyLWxlZnQge1xyXG4gICAgQGluY2x1ZGUgbWFyLWxlZnQ7XHJcbiAgfVxyXG5cclxuQG1peGluIG1hci1ob3Jpem9udGFsIHsgLy8gU3RhbmRhcmRpemVkLCByZXNwb25zaXZlLCBob3Jpem9udGFsbHkgcGFkZGVkIChib3RoIGxlZnQgYW5kIHJpZ2h0KSBjb250YWluZXJcclxuICBtYXJnaW4tbGVmdDogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGU7XHJcbiAgbWFyZ2luLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ01vYmlsZTtcclxuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XHJcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAoMiAqICRjb250YWluZXJQYWRkaW5nTW9iaWxlKSk7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICgyICogJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlKSk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ1RhYmxldDtcclxuICAgIG1hcmdpbi1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQ7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICgyICogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQpKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nTGFwdG9wO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcDtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gKDIgKiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcCkpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nRGVza3RvcDtcclxuICAgIG1hcmdpbi1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAoMiAqICRjb250YWluZXJQYWRkaW5nRGVza3RvcCkpO1xyXG4gIH1cclxufVxyXG4gIC5tYXItaG9yaXpvbnRhbCB7XHJcbiAgICBAaW5jbHVkZSBtYXItaG9yaXpvbnRhbDtcclxuICB9XHJcblxyXG5AbWl4aW4gbWFyLXJpZ2h0LW5lZ2F0aXZlIHsgLy8gU3RhbmRhcmRpemVkLCByZXNwb25zaXZlLCBuZWdhdGl2ZSByaWdodC1tYXJnaW5lZCBjb250YWluZXJcclxuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiAkY29udGFpbmVyUGFkZGluZ01vYmlsZSk7XHJcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xyXG4gIC8vd2lkdGg6IGNhbGMoMTAwJSArICRjb250YWluZXJQYWRkaW5nTW9iaWxlKTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZSk7XHJcbiAgICAvL3dpZHRoOiBjYWxjKDEwMCUgKyAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2UpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiAkY29udGFpbmVyUGFkZGluZ1RhYmxldCk7XHJcbiAgICAvL3dpZHRoOiBjYWxjKDEwMCUgKyAkY29udGFpbmVyUGFkZGluZ1RhYmxldCk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nTGFwdG9wKTtcclxuICAgIC8vd2lkdGg6IGNhbGMoMTAwJSArICRjb250YWluZXJQYWRkaW5nTGFwdG9wKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nRGVza3RvcCk7XHJcbiAgICAvL3dpZHRoOiBjYWxjKDEwMCUgKyAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3ApO1xyXG4gIH1cclxufVxyXG4gIC5tYXItcmlnaHQtbmVnYXRpdmUge1xyXG4gICAgQGluY2x1ZGUgbWFyLXJpZ2h0LW5lZ2F0aXZlO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBtYXItbGVmdC1uZWdhdGl2ZSB7IC8vIFN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgbmVnYXRpdmUgbGVmdC1tYXJnaW5lZCBjb250YWluZXJcclxuICBtYXJnaW4tbGVmdDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nTW9iaWxlKTtcclxuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XHJcbiAgLy93aWR0aDogY2FsYygxMDAlICsgJGNvbnRhaW5lclBhZGRpbmdNb2JpbGUpO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2UpO1xyXG4gICAgLy93aWR0aDogY2FsYygxMDAlICsgJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiAkY29udGFpbmVyUGFkZGluZ1RhYmxldCk7XHJcbiAgICAvL3dpZHRoOiBjYWxjKDEwMCUgKyAkY29udGFpbmVyUGFkZGluZ1RhYmxldCk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3ApO1xyXG4gICAgLy93aWR0aDogY2FsYygxMDAlICsgJGNvbnRhaW5lclBhZGRpbmdMYXB0b3ApO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3ApO1xyXG4gICAgLy93aWR0aDogY2FsYygxMDAlICsgJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wKTtcclxuICB9XHJcbn1cclxuICAubWFyLWxlZnQtbmVnYXRpdmUge1xyXG4gICAgQGluY2x1ZGUgbWFyLWxlZnQtbmVnYXRpdmU7XHJcbiAgfVxyXG5cclxuQG1peGluIG1hci1ob3Jpem9udGFsLW5lZ2F0aXZlIHsgLy8gU3RhbmRhcmRpemVkLCByZXNwb25zaXZlLCBuZWdhdGl2ZSBob3Jpem9udGFsbHktbWFyZ2luZWQgKGJvdGggbGVmdCBhbmQgcmlnaHQpIGNvbnRhaW5lclxyXG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGUpO1xyXG4gIG1hcmdpbi1yaWdodDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nTW9iaWxlKTtcclxuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XHJcbiAgd2lkdGg6IGNhbGMoMTAwJSArICgyICogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGUpKTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlKTtcclxuICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZSk7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlICsgKDIgKiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2UpKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiAkY29udGFpbmVyUGFkZGluZ1RhYmxldCk7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiAkY29udGFpbmVyUGFkZGluZ1RhYmxldCk7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlICsgKDIgKiAkY29udGFpbmVyUGFkZGluZ1RhYmxldCkpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nTGFwdG9wKTtcclxuICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nTGFwdG9wKTtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAoMiAqICRjb250YWluZXJQYWRkaW5nTGFwdG9wKSk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nRGVza3RvcCk7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3ApO1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSArICgyICogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wKSk7XHJcbiAgfVxyXG59XHJcbiAgLm1hci1ob3Jpem9udGFsLW5lZ2F0aXZlIHtcclxuICAgIEBpbmNsdWRlIG1hci1ob3Jpem9udGFsLW5lZ2F0aXZlO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBwYWQtdG9wIHsgLy8gU3RhbmRhcmRpemVkLCByZXNwb25zaXZlIHNwYWNlciBmb3IgZWxlbWVudCB0b3BcclxuICBwYWRkaW5nLXRvcDogJHNwYWNlclBhZGRpbmdNb2JpbGU7XHJcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIHBhZGRpbmctdG9wOiAkc3BhY2VyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIHBhZGRpbmctdG9wOiAkc3BhY2VyUGFkZGluZ1RhYmxldDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgcGFkZGluZy10b3A6ICRzcGFjZXJQYWRkaW5nTGFwdG9wO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgcGFkZGluZy10b3A6ICRzcGFjZXJQYWRkaW5nRGVza3RvcDtcclxuICB9XHJcbn1cclxuICAucGFkLXRvcCB7XHJcbiAgICBAaW5jbHVkZSBwYWQtdG9wO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBwYWQtYm90dG9tIHsgLy8gU3RhbmRhcmRpemVkLCByZXNwb25zaXZlIHNwYWNlciBmb3IgZWxlbWVudCBib3R0b21cclxuICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlclBhZGRpbmdNb2JpbGU7XHJcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2VyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2VyUGFkZGluZ1RhYmxldDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjZXJQYWRkaW5nTGFwdG9wO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjZXJQYWRkaW5nRGVza3RvcDtcclxuICB9XHJcbn1cclxuICAucGFkLWJvdHRvbSB7XHJcbiAgICBAaW5jbHVkZSBwYWQtYm90dG9tO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBwYWQtbGVmdCB7IC8vIFN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgbGVmdC1wYWRkZWQgY29udGFpbmVyXHJcbiAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ01vYmlsZTtcclxuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQ7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3A7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nRGVza3RvcDtcclxuICB9XHJcbn1cclxuICAucGFkLWxlZnQge1xyXG4gICAgQGluY2x1ZGUgcGFkLWxlZnQ7XHJcbiAgfVxyXG5cclxuQG1peGluIHBhZC1yaWdodCB7IC8vIFN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgcmlnaHQtcGFkZGVkIGNvbnRhaW5lclxyXG4gIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nVGFibGV0O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nRGVza3RvcDtcclxuICB9XHJcbn1cclxuICAucGFkLXJpZ2h0IHtcclxuICAgIEBpbmNsdWRlIHBhZC1yaWdodDtcclxuICB9XHJcblxyXG5AbWl4aW4gcGFkLXZlcnRpY2FsIHtcclxuICBAaW5jbHVkZSBwYWQtdG9wO1xyXG4gIEBpbmNsdWRlIHBhZC1ib3R0b207XHJcbn1cclxuICAucGFkLXZlcnRpY2FsIHsgLy8gU3RhbmRhcmRpemVkLCByZXNwb25zaXZlIHZlcnRpY2FsIChib3RoIHRvIGFuZCBib3R0b20pIHNwYWNlciBmb3IgZWxlbWVudFxyXG4gICAgQGluY2x1ZGUgcGFkLXZlcnRpY2FsO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBwYWQtaG9yaXpvbnRhbCB7XHJcbiAgQGluY2x1ZGUgcGFkLXJpZ2h0O1xyXG4gIEBpbmNsdWRlIHBhZC1sZWZ0O1xyXG59XHJcbiAgLnBhZC1ob3Jpem9udGFsIHsgLy8gU3RhbmRhcmRpemVkLCByZXNwb25zaXZlLCBob3Jpem9udGFsbHkgcGFkZGVkIChib3RoIGxlZnQgYW5kIHJpZ2h0KSBjb250YWluZXJcclxuICAgIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBidXR0b24geyAvLyBTdGFuZGFyZGl6ZWQgYnV0dG9uXHJcbiAgbWFyZ2luOiAxcmVtIDA7XHJcbiAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uQ29sb3I7XHJcbiAgLy90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBjb2xvcjogJHdoaXRlO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgLy9ib3JkZXI6IDJweCBzb2xpZCAkYnJhbmRDb2xvckNvbnRyYXN0O1xyXG5cclxuICAvL2JhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeSAhaW1wb3J0YW50O1xyXG4gIC8vYm9yZGVyLXJhZGl1czogdW5zZXQgIWltcG9ydGFudDtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJyYW5kQ29sb3JQcmltYXJ5LCA1JSkgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuICAuYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbjtcclxuICB9XHJcblxyXG5AbWl4aW4gc2NyZWVuLXJlYWRlci10ZXh0IHsgLy8gVmlzaWJsZSB0byBzY3JlZW4gcmVhZGVycyBvbmx5XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiAxcHg7XHJcbiAgaGVpZ2h0OiAxcHg7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW46IC0xcHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xyXG4gIGJvcmRlcjogMDtcclxufVxyXG4gIC5zY3JlZW4tcmVhZGVyLXRleHQge1xyXG4gICAgQGluY2x1ZGUgc2NyZWVuLXJlYWRlci10ZXh0O1xyXG4gIH1cclxuXHJcbkBtaXhpbiBuby1zY3JvbGwgeyAvLyBSZW1vdmUgc2Nyb2xsYWJpbGl0eSBmb3IgZWxlbWVudFxyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuICAubm8tc2Nyb2xsIHtcclxuICAgIEBpbmNsdWRlIG5vLXNjcm9sbDtcclxuICB9XHJcblxyXG5AbWl4aW4gaDEge1xyXG4gIGZvbnQtc2l6ZTogM3JlbTsgLy8yLjRyZW07XHJcbiAgbWFyZ2luLXRvcDogMDtcclxuICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG4gIC8vcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgLy9ib3JkZXItYm90dG9tOiA0cHggc29saWQgJGJyYW5kQ29sb3JQcmltYXJ5O1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIGZvbnQtc2l6ZTogNHJlbTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBoMiB7XHJcbiAgZm9udC1zaXplOiAyLjRyZW07IC8vMi4ycmVtO1xyXG4gIG1hcmdpbi1ib3R0b206IDIuMXJlbTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBmb250LXNpemU6IDNyZW07XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gaDMge1xyXG4gIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gIG1hcmdpbi1ib3R0b206IDEuOHJlbTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBmb250LXNpemU6IDIuMXJlbTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBoNCB7XHJcbiAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgbWFyZ2luLWJvdHRvbTogMS43cmVtO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBoNSB7XHJcbiAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgbWFyZ2luLWJvdHRvbTogMS42cmVtO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIGZvbnQtc2l6ZTogMS45cmVtO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGg2IHtcclxuICBmb250LXNpemU6IDEuNHJlbTtcclxuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgZm9udC1zaXplOiAxLjhyZW07XHJcbiAgfVxyXG59XHJcblxyXG4uaDEge1xyXG4gIEBpbmNsdWRlIGgxO1xyXG59XHJcblxyXG4uaDIge1xyXG4gIEBpbmNsdWRlIGgyO1xyXG59XHJcblxyXG4uaDMge1xyXG4gIEBpbmNsdWRlIGgzO1xyXG59XHJcblxyXG4uaDQge1xyXG4gIEBpbmNsdWRlIGg0O1xyXG59XHJcblxyXG4uaDUge1xyXG4gIEBpbmNsdWRlIGg1O1xyXG59XHJcblxyXG4uaDYge1xyXG4gIEBpbmNsdWRlIGg2O1xyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xyXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXHJcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xyXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxyXG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XHJcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XHJcbi8vXHJcbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXHJcbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjEuNC45XHJcbi8vXHJcbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcclxuLy9cclxuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXHJcbi8vICAgICAgICAgICAgICAgICAgS2l0dHkgR2lyYXVkZWwgKEBraXR0eWdpcmF1ZGVsKVxyXG4vL1xyXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXHJcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xyXG4vLy9cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgJ3Bob25lJzogMzIwcHgsXHJcbiAgJ3RhYmxldCc6IDc2OHB4LFxyXG4gICdkZXNrdG9wJzogMTAyNHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcclxuLy8vICApO1xyXG4vLy9cclxuJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxyXG4gICdwcmludCc6ICdwcmludCcsXHJcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcclxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXHJcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcclxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxyXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XHJcbi8vL1xyXG4kdW5pdC1pbnRlcnZhbHM6IChcclxuICAncHgnOiAxLFxyXG4gICdlbSc6IDAuMDEsXHJcbiAgJ3JlbSc6IDAuMSxcclxuICAnJzogMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcclxuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXHJcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xyXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAgLmZvbyB7XHJcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xyXG5cclxuLy8vL1xyXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcclxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXHJcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xyXG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XHJcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAd2FybiAkbWVzc2FnZTtcclxuICAgICRfOiBub29wKCk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRtZXNzYWdlO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XHJcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cclxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cclxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcclxuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXHJcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxyXG4vLy9cclxuQGZ1bmN0aW9uIG5vb3AoKSB7fVxyXG5cclxuLy8vXHJcbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy9cclxuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcclxuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcclxuXHJcbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XHJcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cclxuICB9XHJcblxyXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xyXG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcclxuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcclxuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcclxuXHJcbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxyXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XHJcbiAgICAgICAgQHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcbiAgICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFBhcnNpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XHJcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XHJcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuICAkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xyXG4gICRkaW1lbnNpb246ICd3aWR0aCc7XHJcblxyXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xyXG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRkaW1lbnNpb247XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xyXG4gIEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcclxuXHJcbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XHJcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcclxuICB9XHJcblxyXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XHJcblxyXG4gIEBpZiBub3QgJGludGVydmFsIHtcclxuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cclxuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXHJcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XHJcbiAgfVxyXG5cclxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XHJcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcclxuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xyXG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxyXG4vLy9cclxuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcclxuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXHJcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcclxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xyXG4gIH1cclxuXHJcbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XHJcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblxyXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcclxuLy8vXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3RcclxuLy8vXHJcbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XHJcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xyXG4gICAgQHJldHVybiAoKTtcclxuICB9XHJcblxyXG4gICRyZXN1bHQ6ICgpO1xyXG5cclxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XHJcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcmVzdWx0O1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfVxyXG4vLy9cclxuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcclxuICAgIEByZXR1cm4gJHZhbHVlO1xyXG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcclxuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XHJcbiAgfVxyXG5cclxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcclxuICAkcmVzdWx0OiAwO1xyXG4gICRkaWdpdHM6IDA7XHJcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xyXG4gICRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcclxuXHJcbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXHJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xyXG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcclxuICB9XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcclxuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XHJcblxyXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xyXG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XHJcbiAgICAgICRkaWdpdHM6IDE7XHJcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XHJcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcclxuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcclxuLy8vXHJcbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xyXG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XHJcblxyXG4gIEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcclxuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxyXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxyXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXHJcbi8vLyBmb3IgaW5zdGFuY2UuXHJcbi8vL1xyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xyXG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XHJcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xyXG5cclxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcclxuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcclxuXHJcbiAgQGNvbnRlbnQ7XHJcblxyXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcclxuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cclxuLy8vXHJcbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xyXG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcclxuICAgICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xyXG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xyXG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxyXG4gICAgICBAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKipcbiAgKiBIVE1MIEVMRU1FTlQgU1RZTEVTXG4gICpcbiAgKiBTdHlsZSBkZWZpbml0aW9ucyBmb3IgZ2xvYmFsIGVsZW1lbnQgc2VsZWN0b3JzLlxuICAqL1xuXG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyBDb25zaXN0ZW50IGJveC1zaXppbmcgZm9yIGFsbCBlbGVtZW50c1xufVxuXG5odG1sIHtcbiAgaGVpZ2h0OiAxMDAlOyAvLyBGb3Igc3RpY2t5IGZvb3RlclxuICBsaW5lLWhlaWdodDogMS43OyAvLyBTZXQgZGVmYXVsdCBsaW5lIGhlaWdodFxuICBmb250LXNpemU6IDYyLjUlOyAvLyA2Mi41JSBvZiAxNnB4IGJyb3dzZXIgZm9udCBzaXplIGlzIDEwcHhcbn1cblxuYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IC8vIEZvciBzdGlja3kgZm9vdGVyXG4gIG1hcmdpbjogMDsgLy8gTWFrZSBzdXJlIGJvZHkgZWxlbWVudCBpcyBlZGdlLXRvLWVkZ2VcbiAgZGlzcGxheTogZ3JpZDsgLy8gRm9yIHN0aWNreSBmb290ZXJcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmciBhdXRvOyAvLyBGb3Igc3RpY2t5IGZvb3RlclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keUNvbG9yO1xuICAvL2ZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gIGZvbnQtZmFtaWx5OiAnTGF0bycsIHNhbnMtc2VyaWY7IC8vJ01lcnJpd2VhdGhlcicsIHNlcmlmO1xuICBmb250LXNpemU6IDEuNnJlbTsgLy8gUmVzZXQgb3ZlcmFsbCBcInJvb3RcIiBmb250LXNpemUgZm9yIDE2cHggc3RhbmRhcmQgKHJlbGF0aXZlIHRvIDYyLjUlIGFjdHVhbCByb290IHNpemUgZGVjbGFyZWQgYWJvdmUpXG4gIGNvbG9yOiAkZm9udENvbG9yO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCAuaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgbWFyZ2luLXRvcDogM3JlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LWZhbWlseTogJ01lcnJpd2VhdGhlcicsIHNlcmlmO1xuICBjb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xufVxuXG4vLyAoU2VlIG1peGlucyk6XG5oMSB7XG4gIEBpbmNsdWRlIGgxO1xuICBmb250LWZhbWlseTogJ0xhdG8nLCBzYW5zLXNlcmlmO1xufVxuXG5oMiB7XG4gIEBpbmNsdWRlIGgyO1xufVxuXG5oMyB7XG4gIEBpbmNsdWRlIGgzO1xufVxuXG5oNCB7XG4gIEBpbmNsdWRlIGg0O1xufVxuXG5oNSB7XG4gIEBpbmNsdWRlIGg1O1xufVxuXG5oNiB7XG4gIEBpbmNsdWRlIGg2O1xufVxuXG5wIHtcbiAgbWFyZ2luOiAwIDAgMS41cmVtIDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICRsaW5rQ29sb3I7XG5cbiAgJjpsaW5rIHtcblxuICB9XG5cbiAgJjpob3ZlciB7XG5cbiAgfVxuXG4gICY6YWN0aXZlIHtcblxuICB9XG5cbiAgJjp2aXNpdGVkIHtcblxuICB9XG5cbiAgJi5idXR0b24ge1xuICAgIC8vdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbjpmb2N1cyB7XG4gIC8vb3V0bGluZTogM3B4IHNvbGlkICRvcmFuZ2U7XG59XG5cbnVsLCBvbCB7XG4gIG1hcmdpbjogMS41cmVtIDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbn1cblxuaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBCZWdpbiBidXR0b24gc3R5bGVzICovXG5idXR0b24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5idXR0b246aG92ZXIsXG5idXR0b246Zm9jdXMge1xuXG59XG5cbmJ1dHRvbjpmb2N1cyB7XG4gIC8vb3V0bGluZTogMXB4IHNvbGlkICNmZmY7XG4gIC8vb3V0bGluZS1vZmZzZXQ6IC00cHg7XG59XG5cbmJ1dHRvbjphY3RpdmUge1xuICAvL3RyYW5zZm9ybTogc2NhbGUoMC45OSk7XG59XG4vKiBFbmQgYnV0dG9uIHN0eWxlcyAqL1xuXG5ibG9ja3F1b3RlIHtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkYmxhY2s7XG4gIG1hcmdpbjogMS41ZW0gMTBweDtcbiAgcGFkZGluZzogMC41ZW0gMzBweDtcbiAgcXVvdGVzOiBcIlxcMjAxQ1wiOyAvL1wiXFwyMDFEXCJcIlxcMjAxOFwiXCJcXDIwMTlcIjtcblxuICAmOmJlZm9yZSB7XG4gICAgY29sb3I6ICNjY2M7XG4gICAgY29udGVudDogb3Blbi1xdW90ZTtcbiAgICBmb250LXNpemU6IDRlbTtcbiAgICBsaW5lLWhlaWdodDogMC4xZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1ZW07XG4gICAgdmVydGljYWwtYWxpZ246IC0wLjRlbTtcbiAgfVxuXG4gIHAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgcDpmaXJzdC1vZi10eXBlLCBwOm50aC1vZi10eXBlKDIpIHtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgfVxufVxuIiwiLyoqXG4gICogSEVBREVSIFNUWUxFU1xuICAqL1xuXG4uaGVhZGVyLXdyYXAgeyAvLyBFZGdlLXRvLWVkZ2Ugd3JhcCBmb3IgZXZlcnl0aGluZyBpbiB0aGUgaGVhZGVyLiAxc3QgZ3JpZCBpdGVtIGluIDxib2R5PiBncmlkIGNvbnRhaW5lci5cbiAgQGluY2x1ZGUgd3JhcDtcbiAgZ3JpZC1yb3ctc3RhcnQ6IDE7IC8vIEZvciBzdGlja3kgZm9vdGVyXG4gIGdyaWQtcm93LWVuZDogMjsgLy8gRm9yIHN0aWNreSBmb290ZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDk5OTk7IC8vIFBvc2l0aW9uIGluIGZyb250IG9mIGV2ZXJ5dGhpbmcgZWxzZVxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zLCBib3JkZXIgMjAwbXMsIGJveC1zaGFkb3cgMjAwbXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTtcbiAgLy9iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICYuYmctdmlzaWJsZSB7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG4gIH1cbn1cbiAgLmhlYWRlci1vdmVybGF5IHsgLy8gVHJhbnNsdWNlbnQsIFwiZGltbWVyXCIgbGF5ZXIgb3ZlciBoZWFkZXIgYmFja2dyb3VuZC1pbWFnZS5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xuICAgIG9wYWNpdHk6IDAuNztcblxuICAgICYuYmctdmlzaWJsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gIC50b3AtYmFyLWJnIHsgLy8gRWRnZS10by1lZGdlIGJhY2tncm91bmQgbGF5ZXIgZm9yIHRoZSB0b3AtbmF2IGJhci5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDY7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xuXG4gICAgJi5iZy12aXNpYmxlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXIgeyAvLyBXaWR0aC1saW1pdGVkIGNvbnRhaW5lciBmb3IgdGhlIGhlYWRlci4gVGhpcyBpcyB0aGUgPGhlYWRlcj4gZWxlbWVudCBpdHNlbGYuXG4gICAgLy9AaW5jbHVkZSBpbm5lci13cmFwO1xuICAgIGhlaWdodDogJGhlYWRlckhlaWdodE1vYmlsZTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgLy8xZnIgMTAwcHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAkaGVhZGVySGVpZ2h0TW9iaWxlIGF1dG87XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcztcblxuICAgICYuYmctdmlzaWJsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoJGhlYWRlckhlaWdodERlc2t0b3AgKyAkdG9wQmFySGVpZ2h0KTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyAvLzFmciAxMDBweDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMTIwcHggNzBweDtcbiAgICB9XG4gIH1cbiAgICAuaGVhZGVyLWJyYW5kIHsgLy8gQ29udGFpbmVyIGZvciBsb2dvLCB0ZXh0IGxvZ28sIHRhZ2xpbmUuIENvdmVycyBlbnRpcmUgaGVhZGVyIGFyZWEgKGJlaGluZCBuYXZzKVxuICAgICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IC8vIE5lZ2F0ZSByaWdodCBwYWRkaW5nIGZyb20gJ2NvbnRhaW5lcicgbWl4aW4gXl5eXG4gICAgICBoZWlnaHQ6ICRoZWFkZXJIZWlnaHRNb2JpbGU7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAxO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogNTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIGhlaWdodDogY2FsYygkaGVhZGVySGVpZ2h0RGVza3RvcCArICR0b3BCYXJIZWlnaHQpO1xuICAgICAgICBwYWRkaW5nLXRvcDogY2FsYygkdG9wQmFySGVpZ2h0ICogMC43NSk7XG4gICAgICAgIC8vbWFyZ2luLXRvcDogY2FsYygkdG9wQmFySGVpZ2h0IC8gMik7XG4gICAgICAgIC8vbWFyZ2luLWJvdHRvbTogY2FsYygkbWFpbk5hdkhlaWdodCAvIDIpO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVhZGVySGVpZ2h0TW9iaWxlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIGhlaWdodDogY2FsYygkaGVhZGVySGVpZ2h0RGVza3RvcCAtICRtYWluTmF2SGVpZ2h0KTtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoJGhlYWRlckhlaWdodERlc2t0b3AgLSAoJHRvcEJhckhlaWdodCAvIDIpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2dvLWltYWdlIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoJGhlYWRlckhlaWdodE1vYmlsZSAtIDU1cHgpO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCRoZWFkZXJIZWlnaHREZXNrdG9wIC0gKCR0b3BCYXJIZWlnaHQgLyAyKSk7IC8vY2FsYygkaGVhZGVySGVpZ2h0RGVza3RvcCAtICRtYWluTmF2SGVpZ2h0IC0gMjBweCk7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubG9nby10ZXh0IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb2xvcjogJGJyYW5kQ29sb3JDb250cmFzdDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmxvZ28tdGV4dC10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcblxuICAgICAgICAgICAgc3Bhbi5yZWdpc3RlcmVkIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG5cbiAgICAgICAgICAgICAgc3Bhbi5yZWdpc3RlcmVkIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5sb2dvLXRleHQtdGFnbGluZSB7XG4gICAgICAgICAgICAvL21hcmdpbi10b3A6IDhweDtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCBhdXRvIDAgYXV0bztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjg7XG4gICAgICAgICAgICAvL2Rpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNnJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kQ29sb3JDb250cmFzdDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcbiAgICAgICAgICAgICAgLy9kaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlci1uYXYge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJGhlYWRlckhlaWdodE1vYmlsZTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAmLmJnLXZpc2libGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG4gICAgICB9XG5cbiAgICAgICYudmlzaWJsZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWluLWhlaWdodDogY2FsYygkaGVhZGVySGVpZ2h0RGVza3RvcCArICR0b3BCYXJIZWlnaHQpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuXG4gICAgICAgICYudmlzaWJsZSB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICAgLmhlYWRlci1uYXYtbWFpbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgei1pbmRleDogNjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAvL3BhZGRpbmctbGVmdDogMDsgLy8gTmVnYXRlIGxlZnQgcGFkZGluZyBmcm9tICdjb250YWluZXInIG1peGluIF5eXlxuICAgICAgICAgIGhlaWdodDogJG1haW5OYXZIZWlnaHQ7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIC8vYm90dG9tOiBhdXRvOyAvLzA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgdHJhbnNsYXRlOiAwIGNhbGMoLTEgKiAoJG1haW5OYXZIZWlnaHQgLyAyKSk7XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC00NXB4KTtcbiAgICAgICAgICAvL2NvbHVtbi1nYXA6IGF1dG87XG4gICAgICAgICAgLy9ib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXk7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiAkbWFpbk5hdkhlaWdodDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAvL2NvbHVtbi1nYXA6IDEwcHg7XG4gICAgICAgICAgICBib3JkZXItdG9wOiB1bnNldDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAvL0BpbmNsdWRlIHBhZC1sZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogdW5zZXQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xuXG4gICAgICAgICAgICAmOmhvdmVyID4gdWwge1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRtYWluTmF2SGVpZ2h0O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGRpc3BsYXkgMzAwbXM7XG5cbiAgICAgICAgICAgICAgJjpob3ZlciA+IHVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgLy9AaW5jbHVkZSBwYWQtbGVmdDtcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87IC8vMTAwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgIC8vYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5O1xuICAgICAgICAgICAgICAvL3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgIC8vZm9udC1mYW1pbHk6ICdMYXRvJywgc2Fucy1zZXJpZjtcblxuICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgICAgICAgYm90dG9tOiA5cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgLy9jb2xvcjogZGFya2VuKCRicmFuZENvbG9yQ29udHJhc3QsIDIwJSk7XG4gICAgICAgICAgICAgICAgLy9ib3JkZXItYm90dG9tOiAycHggc29saWQgJHdoaXRlO1xuXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgLy9kaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRtYWluTmF2SGVpZ2h0O1xuICAgICAgICAgICAgICAgIC8vIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiB1bnNldDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY3VycmVudF9wYWdlX2l0ZW0ge1xuXG4gICAgICAgICAgICAgIGEge1xuXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uYXYtY2hldnJvbiB7XG4gICAgICAgICAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuXG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJGJyYW5kQ29sb3JDb250cmFzdCwgMjAlKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwgeyAvLyBzdWItbmF2XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDMyMHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6ICRtYWluTmF2SGVpZ2h0O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgbGkgeyAvLyBzdWItbmF2XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50aXplKCRkYXJrZXJHcmF5LCAwLjgpO1xuXG4gICAgICAgICAgICAgICAgICAmOmhvdmVyID4gdWwge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEgeyAvLyBzdWItbmF2XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNlbTtcbiAgICAgICAgICAgICAgICAgIC8vQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgICAgICAgICAgICAgICAvL3dpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgLy9oZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICAgICAgICAvL21hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgIC8vcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgLy9wYWRkaW5nOiAwIDAgMCAzMHB4O1xuICAgICAgICAgICAgICAgICAgLy9kaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgLy9hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgLy9jb2xvcjogZ3JheTtcblxuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIC8vdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIC8vbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdWwgeyAvLyBzdWItc3ViLW5hdlxuXG4gICAgICAgICAgICAgICAgICBsaSB7IC8vIHN1Yi1zdWItbmF2XG5cbiAgICAgICAgICAgICAgICAgICAgYSB7IC8vIHN1Yi1zdWItbmF2XG4gICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0LjVlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHVsIHsgLy8gc3ViLXN1Yi1zdWItbmF2XG5cbiAgICAgICAgICAgICAgICAgICAgICBsaSB7IC8vIHN1Yi1zdWItc3ViLW5hdlxuXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHsgLy8gc3ViLXN1Yi1zdWItbmF2XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvKlxuICAgICAgLmhlYWRlci1uYXYtdG9wIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgei1pbmRleDogNjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIHotaW5kZXg6IDY7XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7IC8vIHRvcCBuYXZcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgY29sdW1uLWdhcDogMzBweDtcbiAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyAvLyBQYWRkaW5nIGFnYWluc3QgaGVhZGVyIGJ1dHRvbnMgKHNlYXJjaCBnbGFzcylcbiAgICAgICAgICAgIC8vZmxleC1mbG93OiByb3c7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsaSB7IC8vIHRvcCBuYXZcbiAgICAgICAgICAgIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiB1bnNldDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7IC8vIHRvcCBuYXZcbiAgICAgICAgICAgICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogJ0xhdG8nLCBzYW5zLXNlcmlmO1xuXG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJGJyYW5kQ29sb3JDb250cmFzdCwgMjAlKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICovXG5cbiAgICAgIC8qXG4gICAgICBsaS5zbGlkZS1saW5lIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxMDAyO1xuICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAzMDBtcywgbGVmdCAzMDBtcywgYmFja2dyb3VuZC1jb2xvciAxNTBtcztcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaG92ZXItc3RhdGUge1xuICAgICAgICAgIC8vYm94LXNoYWRvdzogMCAwIDVweCAwcHggJGJsYWNrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAqL1xuXG4gICAgLmhlYWRlci1idXR0b25zIHtcbiAgICAgIEBpbmNsdWRlIHBhZC1yaWdodDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiAkaGVhZGVySGVpZ2h0TW9iaWxlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHotaW5kZXg6IDY7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgICAuZ2xhc3Mge1xuICAgICAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdG9wOiBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgICBib3JkZXI6IHVuc2V0O1xuICAgICAgICB9XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJGJyYW5kQ29sb3JDb250cmFzdCwgMjAlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIC8vY29sb3I6ICRtZWRpdW1HcmF5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYnVyZ2VyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj0zNDBweFwiKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJGJyYW5kQ29sb3JDb250cmFzdCwgMjAlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIC5oZWFkZXItc2VhcmNoLXdyYXAgeyAvLyBIZWFkZXItc3BlY2lmaWMgc2VhcmNoIHdyYXBcbiAgICAgIEBpbmNsdWRlIHdyYXA7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkaGVhZGVySGVpZ2h0TW9iaWxlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTtcbiAgICAgIHotaW5kZXg6IDY7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICB0b3A6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgIGhlaWdodDogY2FsYygkaGVhZGVySGVpZ2h0RGVza3RvcCAtICRtYWluTmF2SGVpZ2h0KTtcbiAgICAgIH1cblxuICAgICAgLnNpdGUtc2VhcmNoIHsgLy8gSGVhZGVyIHNwZWNpZmljIC0tIHNlZSBzZWFyY2guc2NzcyBmb3IgZ2xvYmFsIHNlYXJjaCBzdHlsZXNcbiAgICAgICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgICB9XG4gICAgfVxuIiwiLyoqXG4gICogU0lURSBTRUFSQ0ggRk9STSBTVFlMRVNcbiAgKi9cblxuLnNpdGUtc2VhcmNoIHtcbiAgQGluY2x1ZGUgaW5uZXItd3JhcDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiA0MHB4IDA7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDUwcHg7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbn1cblxuICAuc2VhcmNoLXF1ZXJ5IHtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICBncmlkLXJvdzogMTtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG5cbiAgICBsYWJlbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIGNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkYnJhbmRDb2xvckNvbnRyYXN0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgICAgIGNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuICAgIH1cbiAgfVxuXG4gIC5zZWFyY2gtc3VibWl0IHtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDE7XG4gICAgZ3JpZC1yb3c6IDE7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYnJhbmRDb2xvckNvbnRyYXN0LCAyMCUpO1xuICAgIH1cbiAgfVxuIiwiLyoqXG4gICogTUFJTiBQQUdFIENPTlRFTlQgU1RZTEVTXG4gICovXG5cblxuLm1haW4td3JhcCB7XG4gIEBpbmNsdWRlIHdyYXA7XG4gIGdyaWQtcm93LXN0YXJ0OiAyOyAvLyBGb3Igc3RpY2t5IGZvb3RlclxuICBncmlkLXJvdy1lbmQ6IDM7IC8vIEZvciBzdGlja3kgZm9vdGVyXG4gIGJhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG59XG4gIC5tYWluIHsgLy8gQ29udGFpbmVyIGZvciBhbGwgbm9uLWhlYWRlciBhbmQgbm9uLWZvb3RlciBzdHVmZlxuICAgIGhlaWdodDogMTAwJTsgLy8gRm9yIHN0aWNreSBmb290ZXI6IGZpbGwgYW55IGVtcHR5IHNwYWNlIGRvd24gdG8gZm9vdGVyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gRXh0ZW5kcyBoZWlnaHQgdG8gYWNjb21vZGF0ZSBjb250ZW50J3MgbWFyZ2luXG4gIH1cbiAgICAucGFnZS1oZWFkZXItd3JhcCB7XG4gICAgICBAaW5jbHVkZSB3cmFwO1xuICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAvL2JhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgICAvL2Rpc3BsYXk6IG5vbmU7XG4gICAgICAvL2JhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAvL3otaW5kZXg6IDE7XG4gICAgfVxuICAgICAgLnBhZ2UtaGVhZGVyLW92ZXJsYXkgeyAvLyBUcmFuc2x1Y2VudCwgXCJkaW1tZXJcIiBsYXllciBvdmVyIGhlYWRlciBiYWNrZ3JvdW5kLWltYWdlLlxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xuICAgICAgICAvL2JhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYnJhbmRDb2xvclByaW1hcnksICRicmFuZENvbG9yQ29udHJhc3QpO1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIGJhY2tncm91bmQtYmxlbmQtbW9kZTogb3ZlcmxheTtcblxuICAgICAgICAmLmJnLXZpc2libGUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wYWdlLWhlYWRlciB7IC8vIE1haW4gcGFnZSBoZWFkZXIgKGNvbnRhaW5zIHBhZ2UgdGl0bGUgSDEsIGludHJvIHRleHQsIGV0Yy4pXG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXdyYXA7XG4gICAgICAgIEBpbmNsdWRlIHBhZC12ZXJ0aWNhbDtcbiAgICAgICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgICAgIC8vbWluLWhlaWdodDogNDIwcHg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLy9qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgfVxuICAgICAgICAucGFnZS1oZWFkZXItdGl0bGUge1xuXG4gICAgICAgICAgaDEge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTsvLyRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgICAgICAgICAvL3RleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiAwIDAgMTVweCAkYnJhbmRDb2xvclByaW1hcnk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2UtaGVhZGVyLXRleHQge1xuXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiAwIDAgMTBweCAkYnJhbmRDb2xvclByaW1hcnk7XG4gICAgICAgICAgICAvL2ZvbnQtZmFtaWx5OiAnTWVycml3ZWF0aGVyJywgc2VyaWY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAucGFnZS1tYWluLXdyYXAge1xuICAgICAgQGluY2x1ZGUgd3JhcDtcbiAgICB9XG4gICAgICAucGFnZS1tYWluIHsgLy8gTWFpbiBwYWdlIGNvbnRlbnQgYW5kIHNpZGViYXJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnBhZ2UtbWFpbi5zaWRlIHsgLy8gU2lkZWJhci1zcGVjaWZpYyB2ZXJzaW9uIG9mIC5wYWdlLW1haW4gXl5eXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDBweDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMzIwcHg7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAucGFnZS1jb250ZW50IHsgLy8gTWFpbiBwYWdlIGNvbnRlbnQgKHNpdHMgYWxvbmdzaWRlIHNpZGViYXIgaWYgdGhlcmUgaXMgb25lKVxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgICAgICAgZ3JpZC1yb3c6IDI7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxO1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICAgLnBhZ2Utc2VjdGlvbi13cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHdyYXA7XG4gICAgICAgICAgfVxuICAgICAgICAgICAgLnBhZ2Utc2VjdGlvbiB7IC8vIHZlcnRpY2FsbHkgc2VwYXJhdGVzIHBpZWNlcyBvZiBtYWluIGNvbnRlbnQgYW5kIHBhZHMgYWdhaW5zdCB0aGUgc2lkZWJhclxuICAgICAgICAgICAgICBAaW5jbHVkZSBpbm5lci13cmFwO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkLXZlcnRpY2FsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIC5zaWRlIC5wYWdlLWNvbnRlbnR7IC8vIC5wYWdlLWNvbnRlbnQgc3R5bGVzIGZvciBzaWRlYmFyIGxheW91dFxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlLXNpZGViYXIge1xuICAgICAgICAgIEBpbmNsdWRlIHBhZC1ib3R0b207XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgICAgICAgZ3JpZC1yb3c6IDE7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAxO1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4iLCIvKipcbiAgKiBGT09URVIgU1RZTEVTXG4gICovXG5cblxuLmZvb3Rlci13cmFwIHtcbiAgQGluY2x1ZGUgd3JhcDtcbiAgZ3JpZC1yb3ctc3RhcnQ6IDM7IC8vIEZvciBzdGlja3kgZm9vdGVyXG4gIGdyaWQtcm93LWVuZDogNDsgLy8gRm9yIHN0aWNreSBmb290ZXJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtlc3RHcmF5O1xufVxuICAuZm9vdGVyIHtcbiAgICAvL0BpbmNsdWRlIGlubmVyLXdyYXA7XG4gICAgQGluY2x1ZGUgcGFkLXZlcnRpY2FsO1xuICAgIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAvLyBFeHRlbmRzIGhlaWdodCB0byBhY2NvbW9kYXRlIGNvbnRlbnQncyBtYXJnaW5cbiAgICBjb2xvcjogJGJyYW5kQ29sb3JDb250cmFzdDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTAlIDUwJTtcbiAgICBncmlkLXJvd3M6IGF1dG8gYXV0byBhdXRvO1xuICB9XG4gICAgLmZvb3Rlci1uYXYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgLy9wYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgQGluY2x1ZGUgcGFkLWxlZnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMTtcbiAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDE7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogcmlnaHQ7XG4gICAgICB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgLy9kaXNwbGF5OiBmbGV4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcblxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAvKiY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJ8XCI7XG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kQ29sb3JDb250cmFzdDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAtMnB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0qL1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7Ly8gMTBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgLy9hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgcGFkZGluZzogMDsgLy81cHg7XG4gICAgICAgICAgICAgIC8vYWxpZ24taXRlbXM6IHJpZ2h0O1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyLWJyYW5kIHsgLy8gQ29udGFpbmVyIGZvciBsb2dvLCB0ZXh0IGxvZ28sIHRhZ2xpbmUuIENvdmVycyBlbnRpcmUgZm9vdGVyIGFyZWEgKGJlaGluZCBuYXZzKVxuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgLy8gTmVnYXRlIHJpZ2h0IHBhZGRpbmcgZnJvbSAnY29udGFpbmVyJyBtaXhpbiBeXl5cbiAgICAgIC8vaGVpZ2h0OiAxNjBweDtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDE7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiA1O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgQGluY2x1ZGUgcGFkLXJpZ2h0O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAyO1xuICAgICAgICAvL2hlaWdodDogY2FsYygkZm9vdGVySGVpZ2h0RGVza3RvcCAtICRtYWluTmF2SGVpZ2h0KTtcbiAgICAgICAgLy9tYXJnaW4tdG9wOiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICAvL21hcmdpbi1ib3R0b206ICRtYWluTmF2SGVpZ2h0O1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgd2lkdGg6IDI2MHB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAvL21hcmdpbjogMDtcbiAgICAgICAgICAvL2hlaWdodDogY2FsYygkZm9vdGVySGVpZ2h0RGVza3RvcCAtICRtYWluTmF2SGVpZ2h0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb290ZXItYnJhbmQtbG9nby1pbWFnZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xuICAgICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb290ZXItYnJhbmQtbG9nby10ZXh0IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgLy9mb250LXNpemU6IDFyZW07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmZvb3Rlci1icmFuZC1sb2dvLXRleHQtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAvL2ZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuXG4gICAgICAgICAgICBzcGFuLnJlZ2lzdGVyZWQge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuICAgICAgICAgICAgICAvL2ZvbnQtc2l6ZTogMS40cmVtO1xuXG4gICAgICAgICAgICAgIHNwYW4ucmVnaXN0ZXJlZCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZm9vdGVyLWJyYW5kLWxvZ28tdGV4dC10YWdsaW5lIHtcbiAgICAgICAgICAgIC8vbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gMCBhdXRvO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuODtcbiAgICAgICAgICAgIC8vZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIC8vZm9udC1zaXplOiAwLjZyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuICAgICAgICAgICAgICAvL2ZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb3B5cmlnaHQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMjBweCAwIDAgMDtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMDtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG5cbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDE7XG4gICAgICAgIC8vZ3JpZC1yb3c6IDE7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogcmlnaHQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiIsIi8qKlxuICAqIE1JU0NFTExBTkVPVVMgU1RZTEVTXG4gICovXG5cbi5lbWJlZC1jb250YWluZXItd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBtYXJnaW46IDIwcHggYXV0bztcbn1cbiAgLmVtYmVkLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gICAgLmVtYmVkLWNvbnRhaW5lciBpZnJhbWUsXG4gICAgLmVtYmVkLWNvbnRhaW5lciBvYmplY3QsXG4gICAgLmVtYmVkLWNvbnRhaW5lciBlbWJlZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG5cbi5tYXgtd2lkdGgtMjgwcHgge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAyODBweDtcbn1cblxuLmZsb2F0LXJpZ2h0LFxuLmFsaWducmlnaHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGZsb2F0OiBub25lO1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XG4gICAgcGFkZGluZzogMjBweCAwIDIwcHggMjBweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cbiJdfQ== */
