/**
  * BOOKS STYLES
  */
/**
* COMMON STYLES
*/
/*! 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;
}

/**
* Breakpoints
*/
/*

@include media(">=phone-small") {

}

*/
/**
* Variables
*/
/**
* Fonts (@font-face)
*/
@font-face {
  font-family: Montserrat;
  src: url(../fonts/Montserrat-Regular.ttf);
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: Montserrat;
  src: url(../fonts/Montserrat-Bold.ttf);
  font-weight: 700;
  font-style: normal;
}
.wrap {
  width: 100%;
  height: auto;
}

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

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

.spacer-top {
  padding-top: 20px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .spacer-top {
    padding-top: 25px;
  }
}
@media (min-width: 768px) {
  .spacer-top {
    padding-top: 40px;
  }
}
@media (min-width: 992px) {
  .spacer-top {
    padding-top: 60px;
  }
}
@media (min-width: 1200px) {
  .spacer-top {
    padding-top: 80px;
  }
}

.spacer-bottom {
  padding-bottom: 20px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .spacer-bottom {
    padding-bottom: 25px;
  }
}
@media (min-width: 768px) {
  .spacer-bottom {
    padding-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .spacer-bottom {
    padding-bottom: 60px;
  }
}
@media (min-width: 1200px) {
  .spacer-bottom {
    padding-bottom: 80px;
  }
}

.button {
  padding: 10px 15px;
  display: inline-block;
  background-color: #304763;
  text-transform: uppercase;
  color: #fff;
  font-weight: bold;
  border-radius: 15px 0 15px 0;
}

.category {
  display: block;
  color: #0f0f0f;
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: -0.0625em;
}

.title {
  display: block;
  font-size: 1.4rem;
  line-height: 1.1;
  color: #3b627f;
  letter-spacing: -0.0625em;
}
.tag {
  font-size: 0.8rem;
  font-weight: 500;
  color: #999999;
  letter-spacing: -0.0425em;
}

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

.no-scroll {
  overflow: hidden;
}

/**
* Global styles
*/
* {
  box-sizing: border-box;
}

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

body {
  min-height: 100%;
  display: grid;
  grid-template-rows: auto 1fr auto;
  margin: 0;
  background-color: #fff;
  color: #222;
  font-family: "Montserrat", sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
}

h1 {
  margin-top: 0;
  margin-bottom: 1.4rem;
  font-size: 2.2rem;
}

h2 {
  margin-top: 0;
  margin-bottom: 1.3rem;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.15909em;
}

h3 {
  margin-top: 0;
  margin-bottom: 1rem;
  line-height: 1.15909em;
  font-size: 1.6rem;
}

h4 {
  margin-top: 0;
  font-size: 1.4rem;
  margin-bottom: 1rem;
}

h5 {
  margin-top: 0;
  font-size: 1.3rem;
  margin-bottom: 1rem;
}

h6 {
  margin-top: 0;
  font-size: 1.2rem;
  margin-bottom: 1rem;
}

p {
  margin: 0;
  padding-bottom: 0;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.5;
}

a {
  text-decoration: none;
  color: #356879;
}
ul, ol {
  margin: 0;
  padding: 0;
  list-style-position: inside;
}

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

/* end button styles */
/**
* Header styles
*/
.header-wrap {
  width: 100%;
  height: auto;
  grid-row-start: 1;
  grid-row-end: 2;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 9999;
  transition: background-color 200ms, border 200ms, box-shadow 200ms;
}
.header-wrap.bg-visible {
  background-color: #304763;
  border-bottom: 5px solid #fff;
  box-shadow: 0px 1px 15px #000;
}

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

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

.header-brand {
  padding-left: 20px;
  padding-right: 20px;
  transition: padding 300ms;
  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-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .header-brand {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .header-brand {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .header-brand {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (min-width: 768px) {
  .header-brand {
    height: 70px;
    margin-top: -35px;
  }
}
@media (min-width: 1200px) {
  .header-brand {
    margin-top: 0;
  }
}
@media (min-width: 1400px) {
  .header-brand {
    height: 115px;
    grid-column: 1/span 1;
    grid-row: 1/span 2;
    max-width: 100%;
  }
}
.header-brand a {
  max-width: 420px;
  height: 90px;
  display: flex;
  align-items: center;
  flex-direction: row;
  font-weight: bold;
  text-decoration: none;
  color: #000;
}
@media (min-width: 768px) {
  .header-brand a {
    height: 70px;
  }
}
@media (min-width: 1400px) {
  .header-brand a {
    height: 115px;
  }
}
.header-brand a .logo {
  width: 40px;
  margin-right: 15px;
  height: auto;
  text-align: center;
  display: block;
}
@media (min-width: 480px) {
  .header-brand a .logo {
    width: 70px;
    display: block;
  }
}
@media (min-width: 1400px) {
  .header-brand a .logo {
    width: 144px;
    width: auto;
    height: 115px;
    display: block;
  }
}
.header-brand a .logo-text {
  display: block;
  color: #fff;
  text-align: center;
  padding-left: 0;
}
@media (min-width: 480px) {
  .header-brand a .logo-text {
    padding-left: 20px;
    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: #fff;
}
@media (min-width: 480px) {
  .header-brand a .logo-text .logo-text-tagline {
    font-size: 1.1rem;
  }
}

.header-nav {
  width: 100%;
  height: 0;
  position: absolute;
  top: 90px;
  display: none;
  overflow: hidden;
}
.header-nav.bg-visible {
  background-color: #304763;
}
@media (min-width: 768px) {
  .header-nav {
    height: 65px;
    display: block;
    top: 0;
    overflow: visible;
  }
}

.main-nav {
  width: 100%;
  padding-right: 0;
  padding-left: 0;
  height: auto;
  position: static;
  top: auto;
  right: auto;
  z-index: 6;
  display: block;
}
@media (min-width: 768px) {
  .main-nav {
    padding-left: 20px;
    padding-right: 20px;
    transition: padding 300ms;
    padding-left: 0;
    width: auto;
    height: 65px;
    position: absolute;
    top: 85px;
    right: 0;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .main-nav {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .main-nav {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .main-nav {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .main-nav {
    padding-left: 80px;
    padding-right: 80px;
  }
}
.main-nav ul {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  list-style: none;
  border-top: 1px solid #373435;
}
@media (min-width: 768px) {
  .main-nav ul {
    width: auto;
    height: 65px;
    flex-direction: row;
    -moz-column-gap: 10px;
         column-gap: 10px;
    border-top: unset;
  }
}
.main-nav ul li {
  padding-left: 20px;
  padding-right: 20px;
  transition: padding 300ms;
  width: 100%;
  height: 45px;
  list-style: none;
  border-top: unset;
  border-bottom: 1px solid #373435;
  position: relative;
}
@media (min-width: 480px) {
  .main-nav ul li {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .main-nav ul li {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .main-nav ul li {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .main-nav ul li {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (min-width: 768px) {
  .main-nav ul li {
    padding-right: 0;
    padding-left: 0;
    width: auto;
    height: 65px;
    border-bottom: unset;
    transition: display 300ms;
  }
  .main-nav ul li:hover > ul {
    display: block;
  }
}
.main-nav ul li a {
  width: 100%;
  height: 45px;
  padding: 0;
  position: relative;
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: 0.8rem;
  text-transform: uppercase;
  color: #fff;
}
@media (min-width: 768px) {
  .main-nav ul li a {
    width: auto;
    height: 65px;
    padding: 0 5px;
    font-size: 0.75rem;
  }
}
@media (min-width: 992px) {
  .main-nav ul li a {
    font-size: 0.8rem;
  }
}
.main-nav ul li .nav-chevron {
  display: flex;
  position: absolute;
  right: 0;
}
@media (min-width: 768px) {
  .main-nav ul li .nav-chevron {
    display: none;
  }
}
.main-nav ul li ul {
  width: 225px;
  height: auto;
  position: absolute;
  top: 62px;
  right: 0;
  list-style: none;
  display: none;
  background-color: #e0e0e0;
  border-top: 1px solid #fff;
}
.main-nav ul li ul::before {
  content: "";
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid #e0e0e0;
  transform: rotate(45deg);
  position: absolute;
  top: -12px;
  right: -1px;
  z-index: 1001;
}
.main-nav ul li ul li {
  width: 225px;
  height: 35px;
  list-style: none;
  display: block;
  border-top: 1px solid #fff;
}
.main-nav ul li ul li:nth-child(1) {
  border-top: 1px solid #999999;
}
.main-nav ul li ul li:nth-child(2) {
  border-top: 1px solid #fff;
}
.main-nav ul li ul li:nth-child(3) {
  border-top: 1px solid #fff;
}
.main-nav ul li ul li:nth-child(4) {
  border-top: 1px solid #fff;
}
.main-nav ul li ul li a {
  width: 100%;
  height: 35px;
  padding-left: 10px;
  display: flex;
  align-items: center;
  text-decoration: none;
}
.main-nav ul li ul li a:hover {
  text-decoration: underline;
}

.top-nav {
  padding-left: 20px;
  padding-right: 20px;
  transition: padding 300ms;
  width: 100%;
  height: 45px;
  position: relative;
  top: auto;
  left: auto;
  z-index: 6;
  display: block;
  clear: both;
}
@media (min-width: 480px) {
  .top-nav {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .top-nav {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .top-nav {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .top-nav {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (min-width: 768px) {
  .top-nav {
    width: 50%;
    position: absolute;
    top: 0;
    right: 36px;
    z-index: 6;
  }
}
.top-nav ul {
  width: 100%;
  padding-right: 60px;
  height: 45px;
  display: flex;
  flex-direction: row;
  list-style: none;
  -moz-column-gap: 30px;
       column-gap: 30px;
  flex-flow: row;
}
@media (min-width: 768px) {
  .top-nav ul {
    width: auto;
    flex-flow: row-reverse;
  }
}
.top-nav ul li {
  list-style: none;
  display: flex;
  align-items: center;
}
.top-nav ul li a {
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  font-size: 12px;
  display: flex;
}
@media (min-width: 768px) {
  .top-nav ul li a {
    height: 45px;
    align-items: center;
  }
}
.slide-line {
  height: 3px;
  background-color: #fff;
}

.header-buttons {
  padding-left: 20px;
  padding-right: 20px;
  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-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .header-buttons {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .header-buttons {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .header-buttons {
    padding-left: 80px;
    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: #fff;
}
.glass i:hover {
  color: #e0e0e0;
}
@media (min-width: 768px) {
  .glass i {
    color: #fff;
  }
}

.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: #fff;
}
.burger i:hover {
  color: #e0e0e0;
}

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

.site-search {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  height: auto;
  padding: 35px 0;
  display: grid;
  grid-template-columns: 1fr 50px 0px;
  grid-template-rows: auto auto;
}
@media (min-width: 768px) {
  .site-search {
    grid-template-columns: 1.8fr 1.2fr 50px;
    grid-template-rows: auto 0px;
  }
}

.search-query {
  height: 50px;
  padding: 0;
  grid-column: 1/span 2;
  grid-row: 1;
  align-self: center;
}
@media (min-width: 768px) {
  .search-query {
    padding: 0;
    grid-column: 1/span 1;
    grid-row: 1;
  }
}
.search-query label {
  width: 100%;
  max-width: 100%;
  height: 30px;
  color: #fff;
  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 #fff;
  border-radius: 20px 0 0 0;
  display: block;
  background-color: #fff;
  color: #0f0f0f;
}

.search-context {
  height: 50px;
  padding: 0 20px 0 0;
  grid-column: 1/span 1;
  grid-row: 2;
  align-self: center;
}
@media (min-width: 768px) {
  .search-context {
    grid-column: 2/span 1;
    grid-row: 1;
    padding: 0 20px 0 0;
  }
}
.search-context label {
  width: 100%;
  max-width: 100%;
  height: 30px;
  color: #fff;
  display: block;
  text-transform: uppercase;
  text-align: left;
  display: none;
}
.search-context select {
  width: 100%;
  max-width: 100%;
  height: 50px;
  padding-left: 15px;
  border: 2px solid #fff;
  border-radius: 0 0 20px 0;
  display: block;
  background-color: #3c5f8a;
  background-image: linear-gradient(#446b9c, #345378);
  color: #fff;
}
.search-context select option {
  padding-left: 15px;
}

.search-submit {
  width: 50px;
  height: 50px;
  grid-column: 2/span 1;
  grid-row: 2;
  align-self: start;
  color: #304763;
  font-size: 1.4rem;
  border-radius: 20px 0;
  background-color: #3c5f8a;
  background-image: linear-gradient(#fafafa, #c7c7c7);
  transition: background-color 200ms;
}
@media (min-width: 768px) {
  .search-submit {
    grid-column: 3/span 1;
    grid-row: 1;
    align-self: start;
  }
}
.search-submit:hover {
  background-image: linear-gradient(#e0e0e0, #adadad);
}

/**
* Content styles
*/
.main-wrap {
  width: 100%;
  height: auto;
  grid-row-start: 2;
  grid-row-end: 3;
  margin-top: -135px;
}
@media (min-width: 768px) {
  .main-wrap {
    margin-top: -160px;
  }
}

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

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

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

.page-main {
  width: 100%;
  padding-right: 0;
  grid-column: 1/span 1;
  grid-row: 2;
}
@media (min-width: 768px) {
  .page-main {
    grid-column: 1/span 1;
    grid-row: 1;
  }
}
.page-main h2 {
  margin-top: 50px;
}
.page-main h2:first-child {
  margin-top: 0;
}
.page-main h3 {
  margin-top: 40px;
}
.page-main h4 {
  margin-top: 40px;
}
.page-main h5 {
  margin-top: 40px;
}
.page-main h6 {
  margin-top: 40px;
}
.page-main p {
  margin-bottom: 25px;
}
.page-main ul {
  padding-left: 20px;
  line-height: 1.5;
  list-style-position: outside;
}
.page-main ul li {
  margin-bottom: 15px;
}

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

.page-header {
  width: 100%;
  height: auto;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center 80%;
  position: relative;
  z-index: 1;
  background-color: #304763;
  background-blend-mode: screen;
}
.page-header-overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8));
  opacity: 0.7;
}

.page-header-box-wrap {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  min-height: 100%;
  height: auto;
  padding-top: 130px;
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
}
@media (min-width: 768px) {
  .page-header-box-wrap {
    padding-left: 20px;
    padding-right: 20px;
    transition: padding 300ms;
    padding-top: 195px;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .page-header-box-wrap {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .page-header-box-wrap {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .page-header-box-wrap {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .page-header-box-wrap {
    padding-left: 80px;
    padding-right: 80px;
  }
}

.page-header-box {
  padding-left: 20px;
  padding-right: 20px;
  transition: padding 300ms;
  padding-top: 20px;
  transition: padding 300ms;
  padding-bottom: 20px;
  transition: padding 300ms;
  width: 100%;
  height: 100%;
  text-align: left;
  /*.logo {
    width: 100px;
    height: auto;
    position: absolute;
    top: 40px;
    right: 40px;
  }*/
  /*a {
    padding-bottom: 25px;
    display: block;
    font-weight: bold;
    color: $offWhite;

    &:hover {
      text-decoration: underline;
    }
  }*/
}
@media (min-width: 480px) {
  .page-header-box {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .page-header-box {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .page-header-box {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .page-header-box {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .page-header-box {
    padding-top: 25px;
  }
}
@media (min-width: 768px) {
  .page-header-box {
    padding-top: 40px;
  }
}
@media (min-width: 992px) {
  .page-header-box {
    padding-top: 60px;
  }
}
@media (min-width: 1200px) {
  .page-header-box {
    padding-top: 80px;
  }
}
@media (min-width: 480px) {
  .page-header-box {
    padding-bottom: 25px;
  }
}
@media (min-width: 768px) {
  .page-header-box {
    padding-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .page-header-box {
    padding-bottom: 60px;
  }
}
@media (min-width: 1200px) {
  .page-header-box {
    padding-bottom: 80px;
  }
}
.page-header-box h1 {
  margin: 0;
  padding: 0;
  display: block;
  color: #fff;
  font-size: 1.6rem;
  line-height: 1.3;
  padding-bottom: 25px;
  font-style: italic;
}
@media (min-width: 768px) {
  .page-header-box h1 {
    font-size: 2.2rem;
  }
}
.page-header-box p {
  margin: 0;
  display: block;
  font-size: 1rem;
  font-weight: 500;
  color: #fff;
}
@media (min-width: 768px) {
  .page-header-box p {
    font-size: 1.2rem;
  }
}

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

.page-sidebar-heading {
  text-transform: uppercase;
  font-size: 0.8em;
  margin: 10px 0 0 0;
  padding: 15px 0 15px 15px;
  display: block;
  border-top: 3px solid #e0e0e0;
  background-color: #373435;
  font-weight: 900;
  color: #fff;
}
.page-sidebar-heading:first-child {
  margin: 0 0 0 0;
}

.side-nav {
  width: 100%;
  height: auto;
}
.side-nav ul.menu {
  width: 100%;
  height: auto;
  display: block;
  list-style: none;
  background-color: #373435;
  background-color: #e0e0e0;
}
.side-nav ul.menu li {
  width: 100%;
  min-height: 45px;
  display: block;
  list-style: none;
  line-height: 45px;
  border-bottom: 1px solid #fff;
  /*.current_page_item {
    background-color: $gray;
    color: $offWhite;

    a {
      color: $offWhite;
    }
  }*/
}
.side-nav ul.menu li a {
  width: 100%;
  height: 45px;
  padding: 0 0 0 15px;
  font-weight: bold;
  font-size: 0.8rem;
  color: #fff;
  line-height: 45px;
  color: #0f0f0f;
}
.side-nav ul.menu li a:hover {
  color: #3b627f;
}
.side-nav ul.menu li ul.sub-menu {
  background-color: #e0e0e0;
}
.side-nav ul.menu li ul.sub-menu li {
  border-bottom: 1px solid #fff;
}
.side-nav ul.menu li ul.sub-menu li a {
  padding-left: 30px;
  color: #0f0f0f;
}
.side-nav ul.menu li ul.sub-menu li ul.sub-menu {
  background-color: #fff;
}
.side-nav ul.menu li ul.sub-menu li ul.sub-menu li a {
  padding-left: 45px;
  font-weight: normal;
}

.listing {
  margin-bottom: 20px;
  padding-bottom: 20px;
  display: grid;
  grid-template-columns: 280px 1fr;
  border-bottom: 2px solid #f2f2f2;
}
.listing:last-child {
  margin-bottom: 0;
  padding-bottom: 15px;
  border-bottom: none;
}

.listing-left {
  padding: 20px;
  grid-column: 1/span 1;
  background-color: #3b627f;
  font-size: 0.9rem;
  font-weight: bold;
}
.listing-left img {
  width: 100%;
  margin-bottom: 10px;
}

.listing-right {
  padding-left: 20px;
  grid-column: 2/span 1;
}

.coming-soon-wrap {
  width: 100%;
  height: auto;
}

.coming-soon {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
  transition: padding 300ms;
  padding-top: 20px;
  transition: padding 300ms;
  padding-bottom: 20px;
  transition: padding 300ms;
  text-align: center;
}
@media (min-width: 480px) {
  .coming-soon {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .coming-soon {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .coming-soon {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .coming-soon {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .coming-soon {
    padding-top: 25px;
  }
}
@media (min-width: 768px) {
  .coming-soon {
    padding-top: 40px;
  }
}
@media (min-width: 992px) {
  .coming-soon {
    padding-top: 60px;
  }
}
@media (min-width: 1200px) {
  .coming-soon {
    padding-top: 80px;
  }
}
@media (min-width: 480px) {
  .coming-soon {
    padding-bottom: 25px;
  }
}
@media (min-width: 768px) {
  .coming-soon {
    padding-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .coming-soon {
    padding-bottom: 60px;
  }
}
@media (min-width: 1200px) {
  .coming-soon {
    padding-bottom: 80px;
  }
}
.coming-soon h2 {
  color: #304763;
}

/*
  .page-search-search-wrap {
    @include wrap;
    background-color: $brandPrimary;
  }
    .page-search-search-wrap {
      @include container;
      //@include spacer-top;
    }

  .page-search-wrap {
    @include wrap;
  }
    .page-search-wrap {
      @include container;
      @include spacer-top;
    }
*/
/**
* Footer styles
*/
.footer-wrap {
  grid-row-start: 3;
  grid-row-end: 4;
  background-color: #304763;
  border-top: 3px solid #fff;
}

.footer {
  text-align: center;
  overflow: hidden;
  padding-top: 2rem;
  padding-bottom: 2rem;
  color: #fff;
}

.footer-nav {
  padding-bottom: 30px;
  display: none;
}
@media (min-width: 768px) {
  .footer-nav {
    width: auto;
  }
}
.footer-nav ul {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  list-style: none;
}
@media (min-width: 768px) {
  .footer-nav ul {
    width: auto;
    flex-direction: row;
  }
}
.footer-nav ul li {
  padding-left: 20px;
  padding-right: 20px;
  transition: padding 300ms;
  width: 100%;
  height: 45px;
  list-style: none;
  position: relative;
}
@media (min-width: 480px) {
  .footer-nav ul li {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .footer-nav ul li {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .footer-nav ul li {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .footer-nav ul li {
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (min-width: 768px) {
  .footer-nav ul li {
    width: auto;
  }
}
.footer-nav ul li a {
  width: 100%;
  height: 45px;
  padding: 0;
  position: relative;
  display: flex;
  align-items: center;
  font-size: 1rem;
  color: #fff;
  text-align: center;
}
@media (min-width: 768px) {
  .footer-nav ul li a {
    width: auto;
    padding: 0 5px;
  }
}

.copyright {
  margin: 0;
  padding: 0;
  font-size: 10px;
}

/**
* Miscellaneous styles
*/
.posts-container {
  background-color: #eee;
}

.post-filters-container {
  width: 100%;
  height: auto;
  background-color: #304763;
  border-top: 2px solid #3c5f8a;
}

.post-filters {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
  transition: padding 300ms;
  padding-top: 15px;
  padding-bottom: 25px;
  color: #373435;
}
@media (min-width: 480px) {
  .post-filters {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .post-filters {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .post-filters {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .post-filters {
    padding-left: 80px;
    padding-right: 80px;
  }
}
.post-filters hr {
  color: #5178a8;
}

/*
.post-filters-title {
  width: 100%;
  margin: 0 0 10px 0;
  padding: 0 0 5px 0;
  display: block;
  //flex: 0 0 100%;
  text-transform: capitalize;
  font-size: 1.2rem;
  color: $white;
  border-bottom: 3px solid lighten($brandPrimary, 20%);
  //background-color: $white;
  //border-radius: 15px 0 15px 0;
}
*/
.post-filters-form {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.post-filters-label {
  padding: 0 0 5px 0;
  display: block;
  font-size: 1rem;
  color: #f2f2f2;
}

.post-filters-discipline {
  width: auto;
  padding: 0 15px;
  display: flex;
  flex-direction: column;
  align-content: center;
}
.post-filters-discipline select {
  height: 40px;
  padding: 0 0 0 15px;
  border-radius: 10px 0 10px 0;
  border: none;
  border: 1px solid #fff;
  background-color: #3c5f8a;
  background-image: linear-gradient(#446b9c, #345378);
  color: #fff;
  background-color: #304763;
  background-image: linear-gradient(#446b9c, #345378);
  color: #fff;
}

.post-filters-category {
  width: auto;
  padding: 0 15px;
  display: flex;
  flex-direction: column;
  align-content: center;
}

.post-filters-tag {
  width: auto;
  padding: 0 10px;
  display: flex;
  flex-direction: column;
  align-content: center;
}

.post-filters-date {
  width: auto;
  padding: 0 15px;
  display: flex;
  flex-direction: column;
  align-content: center;
}
.post-filters-date label {
  padding: 0 5px;
  display: flex;
  align-content: center;
  font-size: 1.2rem;
}

.post-filters-keyword {
  width: auto;
  padding: 0 15px 0 0;
  display: flex;
  flex-direction: column;
  align-content: center;
}
.post-filters-keyword input {
  height: 40px;
  padding: 0 0 0 15px;
  border-radius: 10px 0 10px 0;
  border: none;
}

.post-filters-submit {
  height: 40px;
  margin: 0;
  margin-left: auto;
  background-image: linear-gradient(#446b9c, #345378);
  color: #304763;
  align-self: flex-end;
  background-color: #3c5f8a;
  background-image: linear-gradient(#fafafa, #c7c7c7);
}
.post-filters-submit:hover {
  background-image: linear-gradient(#e0e0e0, #adadad);
}

#response {
  padding: 30px 0;
}

/*
.learning-assets-nav-wrap {
  @include wrap;
  @include inner-wrap;
  @include container;
  //@include spacer-top;
  //@include spacer-bottom;
  //width: 100%;
  //padding: 30px 0;
  padding-top: 40px;
  padding-bottom: 40px;
}
  .learning-assets-nav {
    width: auto;
    //height: 60px;

    ul {
      width: auto;
      //height: 60px;
      //margin: 0 auto;
      padding: 0;
      list-style: none;
      display: flex;
      flex-wrap: wrap;
      //flex-basis: auto;
      justify-content: center;
      //align-content: center;

      li {
        height: 60px;
        margin-bottom: 0;
        list-style: none;
        display: block;
        //align-items: center;
        flex-grow: 1;

        &:first-child {

          a {
            padding: 0 15px 0 25px;
            border-radius: 20px 0 0 0;
            //border-left: unset;
          }
        }

        &:last-child {

          a {
            padding: 0 25px 0 15px;
            border-radius: 0 0 20px 0;
            //border-right: unset;
          }
        }

        a {
          height: 60px;
          padding: 0 15px;
          display: flex;
          align-items: center; // center align link text
          border-top: 2px lighten($brandPrimary, 10%) solid;
          border-right: 2px darken($brandPrimary, 10%) solid;
          border-bottom: 2px darken($brandPrimary, 10%) solid;
          border-left: 2px lighten($brandPrimary, 10%) solid;
          //background-image: linear-gradient(lighten($brandPrimary, 5%), darken($brandPrimary, 5%));
          background-color: $brandPrimary;
          color: $offWhite;
          text-align: center;
          justify-content: center;
        }
      }
    }
  }
*/
.learning-assets-subject-wrap {
  width: 100%;
  height: auto;
}

.learning-assets-subject {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
  transition: padding 300ms;
  padding-top: 30px;
  padding-bottom: 30px;
}
@media (min-width: 480px) {
  .learning-assets-subject {
    padding-left: 25px;
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .learning-assets-subject {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .learning-assets-subject {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .learning-assets-subject {
    padding-left: 80px;
    padding-right: 80px;
  }
}

.learning-assets {
  display: grid;
  grid-template-columns: repeat(1, 100%);
  grid-template-rows: auto;
  -moz-column-gap: 0;
       column-gap: 0;
  row-gap: 30px;
}
@media (min-width: 480px) {
  .learning-assets {
    grid-template-columns: repeat(2, 48%);
    -moz-column-gap: 4%;
         column-gap: 4%;
  }
}
@media (min-width: 768px) {
  .learning-assets {
    grid-template-columns: repeat(3, 31%);
    -moz-column-gap: 3.5%;
         column-gap: 3.5%;
  }
}
@media (min-width: 1200px) {
  .learning-assets {
    grid-template-columns: repeat(4, 23.5%);
    -moz-column-gap: 2%;
         column-gap: 2%;
  }
}

.learning-asset {
  max-width: 100%;
  height: 100%;
  padding: 20px;
  border-radius: 25px 0;
  border: 1px solid #304763;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  text-align: center;
  background-color: #fefefe;
}
.learning-asset h3 {
  min-width: 100%;
  margin-top: 0;
  display: block;
  color: #304763;
  font-size: 1rem;
}
@media (min-width: 768px) {
  .learning-asset h3 {
    font-size: 1.2rem;
  }
}
.learning-asset p.learning-asset-source {
  margin: 0 auto;
  display: block;
  font-size: 0.8rem;
}
@media (min-width: 768px) {
  .learning-asset p.learning-asset-source {
    font-size: 1rem;
  }
}
.learning-asset p.learning-asset-source span {
  font-weight: bold;
}

.wrapping-link {
  width: 100%;
  height: 100%;
  display: block;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJvb2tzLnNjc3MiLCJfY29tbW9uLnNjc3MiLCJsaWJyYXJpZXMvX25vcm1hbGl6ZS5zY3NzIiwiYm9va3MuY3NzIiwicGFydGlhbHMvX2JyZWFrcG9pbnRzLnNjc3MiLCJwYXJ0aWFscy9fdmFyaWFibGVzLnNjc3MiLCJwYXJ0aWFscy9fZm9udHMuc2NzcyIsInBhcnRpYWxzL19taXhpbnMuc2NzcyIsImxpYnJhcmllcy9faW5jbHVkZS1tZWRpYS5zY3NzIiwicGFydGlhbHMvX2dsb2JhbC5zY3NzIiwicGFydGlhbHMvX2hlYWRlci5zY3NzIiwicGFydGlhbHMvX2NvbnRlbnQuc2NzcyIsInBhcnRpYWxzL19mb290ZXIuc2NzcyIsInBhcnRpYWxzL19taXNjLnNjc3MiLCJfbGVhcm5pbmdhc3NldHMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FBQTtBQ0FBOztDQUFBO0FDQUEsMkVBQUE7QUFFQTsrRUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0UsaUJBQUE7RUFBbUIsTUFBQTtFQUNuQiw4QkFBQTtFQUFnQyxNQUFBO0FDTWxDOztBREhBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFLFNBQUE7QUNJRjs7QUREQTs7RUFBQTtBQUlBO0VBQ0UsY0FBQTtBQ0dGOztBREFBOzs7RUFBQTtBQUtBO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0FDRUY7O0FEQ0E7K0VBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNFLHVCQUFBO0VBQXlCLE1BQUE7RUFDekIsU0FBQTtFQUFXLE1BQUE7RUFDWCxpQkFBQTtFQUFtQixNQUFBO0FDR3JCOztBREFBOzs7RUFBQTtBQUtBO0VBQ0UsaUNBQUE7RUFBbUMsTUFBQTtFQUNuQyxjQUFBO0VBQWdCLE1BQUE7QUNJbEI7O0FEREE7K0VBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0UsNkJBQUE7QUNFRjs7QURDQTs7O0VBQUE7QUFLQTtFQUNFLG1CQUFBO0VBQXFCLE1BQUE7RUFDckIsMEJBQUE7RUFBNEIsTUFBQTtF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QUNBLFdBQUE7RUFDQSxVQUFBO0VBQ0EsY0FBQTtBUDBtQlI7QUs3Ukk7RUV0VkU7SUhuTUosa0JGUHVCO0lFUXZCLG1CRlJ1QjtJRVN2Qix5QkFBQTtJRytNUSxlQUFBO0lBQ0EsV0FBQTtJQUNBLFlBQUE7SUFDQSxrQkFBQTtJQUNBLFNBQUE7SUFDQSxRQUFBO0VQNG1CUjtBQUNGO0FLMVNJO0VFdFZFO0lIOUxGLGtCRlh5QjtJRVl6QixtQkZaeUI7RUY4MEIzQjtBQUNGO0FLaFRJO0VFdFZFO0lIekxGLGtCRmZxQjtJRWdCckIsbUJGaEJxQjtFRm0xQnZCO0FBQ0Y7QUt0VEk7RUV0VkU7SUhwTEYsa0JGbkJxQjtJRW9CckIsbUJGcEJxQjtFRncxQnZCO0FBQ0Y7QUs1VEk7RUV0VkU7SUgvS0Ysa0JGdkJzQjtJRXdCdEIsbUJGeEJzQjtFRjYxQnhCO0FBQ0Y7QU9qb0JRO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBRUEsNkJBQUE7QVBrb0JWO0FLM1VJO0VFL1RJO0lBV0ksV0FBQTtJQUNBLFlBQUE7SUFDQSxtQkFBQTtJQUNBLHFCQUFBO1NBQUEsZ0JBQUE7SUFDQSxpQkFBQTtFUG1vQlY7QUFDRjtBT2pvQlU7RUg1T1Isa0JGUHVCO0VFUXZCLG1CRlJ1QjtFRVN2Qix5QkFBQTtFRzRPVSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQ0FBQTtFQUNBLGtCQUFBO0FQcW9CWjtBSy9WSTtFRTdTTTtJSHZPTixrQkZYeUI7SUVZekIsbUJGWnlCO0VGbTRCM0I7QUFDRjtBS3JXSTtFRTdTTTtJSGxPTixrQkZmcUI7SUVnQnJCLG1CRmhCcUI7RUZ3NEJ2QjtBQUNGO0FLM1dJO0VFN1NNO0lIN05OLGtCRm5CcUI7SUVvQnJCLG1CRnBCcUI7RUY2NEJ2QjtBQUNGO0FLalhJO0VFN1NNO0lIeE5OLGtCRnZCc0I7SUV3QnRCLG1CRnhCc0I7RUZrNUJ4QjtBQUNGO0FLdlhJO0VFN1NNO0lBY0ksZ0JBQUE7SUFDQSxlQUFBO0lBQ0EsV0FBQTtJQUNBLFlBQUE7SUFFQSxvQkFBQTtJQUNBLHlCQUFBO0VQeXBCWjtFT3ZwQlk7SUFDRSxjQUFBO0VQeXBCZDtBQUNGO0FPcHBCWTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0EsVUFBQTtFQUNBLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBRUEsaUJBQUE7RUFDQSxpQkFBQTtFQUNBLHlCQUFBO0VBQ0EsV0x2UUg7QUY0NUJYO0FLaFpJO0VFaFJRO0lBa0JJLFdBQUE7SUFDQSxZQUFBO0lBQ0EsY0FBQTtJQUNBLGtCQUFBO0VQa3BCZDtBQUNGO0FLeFpJO0VFaFJRO0lBeUJJLGlCQUFBO0VQbXBCZDtBQUNGO0FPaHBCWTtFQUNFLGFBQUE7RUFDQSxrQkFBQTtFQUNBLFFBQUE7QVBrcEJkO0FLbGFJO0VFblBRO0lBTUksYUFBQTtFUG1wQmQ7QUFDRjtBTy9vQlk7RUFDRSxZQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFFBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7RUFDQSx5QkwxU0Q7RUsyU0MsMEJBQUE7QVBpcEJkO0FPM29CYztFQUNFLFdBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLGtDQUFBO0VBQ0EscUNBQUE7RUFDQSwrQkFBQTtFQUNBLHdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLGFBQUE7QVA2b0JoQjtBTzFvQmM7RUFDRSxZQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLDBCQUFBO0FQNG9CaEI7QU8xb0JnQjtFQUNFLDZCQUFBO0FQNG9CbEI7QU96b0JnQjtFQUNFLDBCQUFBO0FQMm9CbEI7QU94b0JnQjtFQUNFLDBCQUFBO0FQMG9CbEI7QU92b0JnQjtFQUNFLDBCQUFBO0FQeW9CbEI7QU90b0JnQjtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxxQkFBQTtBUHdvQmxCO0FPdG9Ca0I7RUFDRSwwQkFBQTtBUHdvQnBCOztBTy9uQk07RUh2WEosa0JGUHVCO0VFUXZCLG1CRlJ1QjtFRVN2Qix5QkFBQTtFR3VYTSxXQUFBO0VBQ0EsWUxyWU87RUtzWVAsa0JBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLFVBQUE7RUFFQSxjQUFBO0VBR0EsV0FBQTtBUGlvQlI7QUszZUk7RUVsS0U7SUhsWEYsa0JGWHlCO0lFWXpCLG1CRlp5QjtFRitnQzNCO0FBQ0Y7QUtqZkk7RUVsS0U7SUg3V0Ysa0JGZnFCO0lFZ0JyQixtQkZoQnFCO0VGb2hDdkI7QUFDRjtBS3ZmSTtFRWxLRTtJSHhXRixrQkZuQnFCO0lFb0JyQixtQkZwQnFCO0VGeWhDdkI7QUFDRjtBSzdmSTtFRWxLRTtJSG5XRixrQkZ2QnNCO0lFd0J0QixtQkZ4QnNCO0VGOGhDeEI7QUFDRjtBS25nQkk7RUVsS0U7SUFlSSxVQUFBO0lBR0Esa0JBQUE7SUFDQSxNQUFBO0lBQ0EsV0FBQTtJQUNBLFVBQUE7RVB3cEJSO0FBQ0Y7QU9scEJRO0VBQ0UsV0FBQTtFQUVBLG1CQUFBO0VBQ0EsWUxsYUs7RUttYUwsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxxQkFBQTtPQUFBLGdCQUFBO0VBQ0EsY0FBQTtBUG1wQlY7QUt0aEJJO0VFdElJO0lBWUksV0FBQTtJQUNBLHNCQUFBO0VQb3BCVjtBQUNGO0FPanBCVTtFQUNFLGdCQUFBO0VBRUEsYUFBQTtFQUNBLG1CQUFBO0FQa3BCWjtBTzVvQlk7RUFFRSx5QkFBQTtFQUNBLHFCQUFBO0VBQ0EsV0xyYUg7RUtzYUcsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsYUFBQTtBUDZvQmQ7QUt6aUJJO0VFM0dRO0lBV0ksWUxwY0Q7SUtxY0MsbUJBQUE7RVA2b0JkO0FBQ0Y7QU9ub0JNO0VBQ0UsV0FBQTtFQUNBLHNCTDFiRztBRitqQ1g7O0FPbG9CSTtFSDFjRixrQkZQdUI7RUVRdkIsbUJGUnVCO0VFU3ZCLHlCQUFBO0VHMmNJLFdBQUE7RUFDQSxZTHhkZTtFS3lkZixhQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxRQUFBO0VBQ0EsVUFBQTtBUHNvQk47QUtqa0JJO0VFL0VBO0lIcmNBLGtCRlh5QjtJRVl6QixtQkZaeUI7RUZxbUMzQjtBQUNGO0FLdmtCSTtFRS9FQTtJSGhjQSxrQkZmcUI7SUVnQnJCLG1CRmhCcUI7RUYwbUN2QjtBQUNGO0FLN2tCSTtFRS9FQTtJSDNiQSxrQkZuQnFCO0lFb0JyQixtQkZwQnFCO0VGK21DdkI7QUFDRjtBS25sQkk7RUUvRUE7SUh0YkEsa0JGdkJzQjtJRXdCdEIsbUJGeEJzQjtFRm9uQ3hCO0FBQ0Y7QUt6bEJJO0VFL0VBO0lBYUksWUxsZU87SUttZVAsZUFBQTtFUCtwQk47QUFDRjs7QU83cEJNO0VBRUUsaUJBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFFQSxTQUFBO0FQOHBCUjtBS3RtQkk7RUU5REU7SUFXSSxZTGpmSztJS29mTCxhQUFBO0VQMnBCUjtBQUNGO0FPenBCUTtFQUNFLFdMaGVDO0FGMm5DWDtBT3pwQlU7RUFDRSxjTGplQztBRjRuQ2I7QUtsbkJJO0VFN0NJO0lBUUksV0x2ZUQ7RUZrb0NUO0FBQ0Y7O0FPdnBCTTtFQUVFLGNBQUE7RUFDQSxpQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtBUHlwQlI7QUs5bkJJO0VFaENFO0lBWUksaUJBQUE7RVBzcEJSO0FBQ0Y7QUtub0JJO0VFaENFO0lBZ0JJLGFBQUE7RVB1cEJSO0FBQ0Y7QU9wcEJRO0VBQ0UsV0xqZ0JDO0FGdXBDWDtBT3BwQlU7RUFDRSxjTGxnQkM7QUZ3cENiOztBT2pwQkk7RUh6aUJGLFdBQUE7RUFDQSxZQUFBO0VHMGlCSSxZQUFBO0VBRUEsYUFBQTtFQUNBLGtCQUFBO0VBQ0EsU0x0aUJlO0VLdWlCZixPQUFBO0VBQ0EseUJMemdCUztFSzBnQlQsVUFBQTtFQUNBLGdDQUFBO0FQb3BCTjtBSzNwQkk7RUVIQTtJQWFJLFNMOWlCTztFRm1zQ2I7QUFDRjtBT25wQk07RUh0aUJKLGtCRlB1QjtFRVF2QixtQkZSdUI7RUVTdkIseUJBQUE7QUo0ckNGO0FLcnFCSTtF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QTtFQTRCQSxpQkYvQm9CO0VFZ0NwQix5QkFBQTtFQXdCQSxvQkZ4RG9CO0VFeURwQix5QkFBQTtFSThGWSxXQUFBO0VBQ0EsWUFBQTtFQUdBLGdCQUFBO0VBU0E7Ozs7OztJQUFBO0VBUUE7Ozs7Ozs7OztJQUFBO0FSZzJDZDtBS2wvQkk7RUd2WVE7SUo3SVIsa0JGWHlCO0lFWXpCLG1CRlp5QjtFRnNoRDNCO0FBQ0Y7QUt4L0JJO0VHdllRO0lKeElSLGtCRmZxQjtJRWdCckIsbUJGaEJxQjtFRjJoRHZCO0FBQ0Y7QUs5L0JJO0VHdllRO0lKbklSLGtCRm5CcUI7SUVvQnJCLG1CRnBCcUI7RUZnaUR2QjtBQUNGO0FLcGdDSTtFR3ZZUTtJSjlIUixrQkZ2QnNCO0lFd0J0QixtQkZ4QnNCO0VGcWlEeEI7QUFDRjtBSzFnQ0k7RUd2WVE7SUpoSFIsaUJGbENzQjtFRnVpRHhCO0FBQ0Y7QUsvZ0NJO0VHdllRO0lKNUdSLGlCRnJDa0I7RUYyaURwQjtBQUNGO0FLcGhDSTtFR3ZZUTtJSnhHUixpQkZ4Q2tCO0VGK2lEcEI7QUFDRjtBS3poQ0k7RUd2WVE7SUpwR1IsaUJGM0NtQjtFRm1qRHJCO0FBQ0Y7QUs5aENJO0VHdllRO0lKdkZSLG9CRjNEc0I7RUYyakR4QjtBQUNGO0FLbmlDSTtFR3ZZUTtJSm5GUixvQkY5RGtCO0VGK2pEcEI7QUFDRjtBS3hpQ0k7RUd2WVE7SUovRVIsb0JGakVrQjtFRm1rRHBCO0FBQ0Y7QUs3aUNJO0VHdllRO0lKM0VSLG9CRnBFbUI7RUZ1a0RyQjtBQUNGO0FRcjVDYztFQUNFLFNBQUE7RUFDQSxVQUFBO0VBQ0EsY0FBQTtFQUNBLFdON0tMO0VNOEtLLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLGtCQUFBO0FSdTVDaEI7QUs1akNJO0VHbldVO0lBV0ksaUJBQUE7RVJ3NUNoQjtBQUNGO0FRcjVDYztFQUNFLFNBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsV043TEw7QUZvbERYO0FLeGtDSTtFR3BWVTtJQVFJLGlCQUFBO0VSdzVDaEI7QUFDRjs7QVFwNUNRO0VKM0pOLG9CRnhEb0I7RUV5RHBCLHlCQUFBO0VJNEpRLFdBQUE7RUFDQSxxQkFBQTtFQUNBLFdBQUE7QVJ3NUNWO0FLcmxDSTtFR3ZVSTtJSnZKSixvQkYzRHNCO0VGa25EeEI7QUFDRjtBSzFsQ0k7RUd2VUk7SUpuSkosb0JGOURrQjtFRnNuRHBCO0FBQ0Y7QUsvbENJO0VHdlVJO0lKL0lKLG9CRmpFa0I7RUYwbkRwQjtBQUNGO0FLcG1DSTtFR3ZVSTtJSjNJSixvQkZwRW1CO0VGOG5EckI7QUFDRjtBS3ptQ0k7RUd2VUk7SUFPSSxxQkFBQTtJQUNBLFdBQUE7RVI2NkNWO0FBQ0Y7O0FRMzZDVTtFQUNFLHlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBO0VBQ0EsY0FBQTtFQUNBLDZCQUFBO0VBQ0EseUJOMU5IO0VNMk5HLGdCQUFBO0VBQ0EsV056TkQ7QUZ1b0RYO0FRNTZDWTtFQUNFLGVBQUE7QVI4NkNkOztBUTE2Q1U7RUFDRSxXQUFBO0VBQ0EsWUFBQTtBUjY2Q1o7QVEzNkNZO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFJQSxjQUFBO0VBQ0EsZ0JBQUE7RUFFQSx5Qk5oUEw7RU1tUEsseUJOOU9EO0FGcXBEYjtBUXI2Q2M7RUFDRSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7RUFJQSxpQkFBQTtFQUVBLDZCQUFBO0VBdUJBOzs7Ozs7O0lBQUE7QVJvNUNoQjtBUXo2Q2dCO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtFQUtBLGlCQUFBO0VBQ0EsaUJBQUE7RUFFQSxXTnpRUDtFTTBRTyxpQkFBQTtFQUVBLGNOaFJUO0FGcXJEVDtBUW42Q2tCO0VBQ0UsY04xUVQ7QUYrcURYO0FRbDVDZ0I7RUFFRSx5Qk5sU0w7QUZxckRiO0FRajVDa0I7RUFDRSw2QkFBQTtBUm01Q3BCO0FRajVDb0I7RUFDRSxrQkFBQTtFQUNBLGNOL1NiO0FGa3NEVDtBUWg1Q29CO0VBRUUsc0JOaFRYO0FGaXNEWDtBUTc0Q3dCO0VBQ0Usa0JBQUE7RUFDQSxtQkFBQTtBUis0QzFCOztBUWw0Q1k7RUFDRSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0EsYUFBQTtFQUNBLGdDQUFBO0VBQ0EsZ0NBQUE7QVJxNENkO0FRbjRDYztFQUNFLGdCQUFBO0VBQ0Esb0JBQUE7RUFDQSxtQkFBQTtBUnE0Q2hCOztBUWw0Q2M7RUFDRSxhQUFBO0VBQ0EscUJBQUE7RUFDQSx5Qk45VUw7RU0rVUssaUJBQUE7RUFDQSxpQkFBQTtBUnE0Q2hCO0FRbjRDZ0I7RUFDRSxXQUFBO0VBQ0EsbUJBQUE7QVJxNENsQjs7QVFqNENjO0VBQ0Usa0JBQUE7RUFDQSxxQkFBQTtBUm80Q2hCOztBUWo0Q0E7RUpsWUUsV0FBQTtFQUNBLFlBQUE7QUp1d0RGOztBUW40Q0U7RUo1WEEsV0FBQTtFQUNBLGlCRk5VO0VFT1YsY0FBQTtFQVFBLGtCRlB1QjtFRVF2QixtQkZSdUI7RUVTdkIseUJBQUE7RUE0QkEsaUJGL0JvQjtFRWdDcEIseUJBQUE7RUF3QkEsb0JGeERvQjtFRXlEcEIseUJBQUE7RUkrVEUsa0JBQUE7QVI0NENKO0FLMXVDSTtFR3ZLRjtJSjdXRSxrQkZYeUI7SUVZekIsbUJGWnlCO0VGOHdEM0I7QUFDRjtBS2h2Q0k7RUd2S0Y7SUp4V0Usa0JGZnFCO0lFZ0JyQixtQkZoQnFCO0VGbXhEdkI7QUFDRjtBS3R2Q0k7RUd2S0Y7SUpuV0Usa0JGbkJxQjtJRW9CckIsbUJGcEJxQjtFRnd4RHZCO0FBQ0Y7QUs1dkNJO0VHdktGO0lKOVZFLGtCRnZCc0I7SUV3QnRCLG1CRnhCc0I7RUY2eER4QjtBQUNGO0FLbHdDSTtFR3ZLRjtJSmhWRSxpQkZsQ3NCO0VGK3hEeEI7QUFDRjtBS3Z3Q0k7RUd2S0Y7SUo1VUUsaUJGckNrQjtFRm15RHBCO0FBQ0Y7QUs1d0NJO0VHdktGO0lKeFVFLGlCRnhDa0I7RUZ1eURwQjtBQUNGO0FLanhDSTtFR3ZLRjtJSnBVRSxpQkYzQ21CO0VGMnlEckI7QUFDRjtBS3R4Q0k7RUd2S0Y7SUp2VEUsb0JGM0RzQjtFRm16RHhCO0FBQ0Y7QUszeENJO0VHdktGO0lKblRFLG9CRjlEa0I7RUZ1ekRwQjtBQUNGO0FLaHlDSTtFR3ZLRjtJSi9TRSxvQkZqRWtCO0VGMnpEcEI7QUFDRjtBS3J5Q0k7RUd2S0Y7SUozU0Usb0JGcEVtQjtFRit6RHJCO0FBQ0Y7QVExOENJO0VBQ0UsY05yV1M7QUZpekRmOztBUXg4Q0E7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBQUE7QUNsWkE7O0NBQUE7QUFJQTtFQUNFLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLHlCUGtDYTtFT2hDYiwwQkFBQTtBVDYyREY7O0FTMzJERTtFQUNFLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLG9CQUFBO0VBQ0EsV1BpQk87QUY2MURYOztBUzUyREk7RUFFRSxvQkFBQTtFQUNBLGFBQUE7QVQ4MkROO0FLdDFDSTtFSTNoQkE7SUFRSSxXQUFBO0VUNjJETjtBQUNGO0FTdjJETTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtBVHkyRFI7QUtuMkNJO0VJNWdCRTtJQVdJLFdBQUE7SUFFQSxtQkFBQTtFVHUyRFI7QUFDRjtBU24yRFE7RUwvQk4sa0JGUHVCO0VFUXZCLG1CRlJ1QjtFRVN2Qix5QkFBQTtFSytCUSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBR0Esa0JBQUE7QVRxMkRWO0FLbDNDSTtFSTFmSTtJTDFCSixrQkZYeUI7SUVZekIsbUJGWnlCO0VGczVEM0I7QUFDRjtBS3gzQ0k7RUkxZkk7SUxyQkosa0JGZnFCO0lFZ0JyQixtQkZoQnFCO0VGMjVEdkI7QUFDRjtBSzkzQ0k7RUkxZkk7SUxoQkosa0JGbkJxQjtJRW9CckIsbUJGcEJxQjtFRmc2RHZCO0FBQ0Y7QUtwNENJO0VJMWZJO0lMWEosa0JGdkJzQjtJRXdCdEIsbUJGeEJzQjtFRnE2RHhCO0FBQ0Y7QUsxNENJO0VJMWZJO0lBZ0JJLFdBQUE7RVR3M0RWO0FBQ0Y7QVNuM0RVO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQUFBO0VB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RjtBS2hyREk7RU05U0Y7SVA1TkUsa0JGbkJxQjtJRW9CckIsbUJGcEJxQjtFRmt0RXZCO0FBQ0Y7QUt0ckRJO0VNOVNGO0lQdk5FLGtCRnZCc0I7SUV3QnRCLG1CRnhCc0I7RUZ1dEV4QjtBQUNGOztBV3ArREk7RUFDRSxhQUFBO0VBQ0Esc0NBQUE7RUFDQSx3QkFBQTtFQUNBLGtCQUFBO09BQUEsYUFBQTtFQUNBLGFBQUE7QVh1K0ROO0FLcHNESTtFTXhTQTtJQVFJLHFDQUFBO0lBRUEsbUJBQUE7U0FBQSxjQUFBO0VYdStETjtBQUNGO0FLMXNESTtFTXhTQTtJQWNJLHFDQUFBO0lBRUEscUJBQUE7U0FBQSxnQkFBQTtFWHUrRE47QUFDRjtBS2h0REk7RU14U0E7SUFvQkksdUNBQUE7SUFFQSxtQkFBQTtTQUFBLGNBQUE7RVh1K0ROO0FBQ0Y7O0FXaitETTtFQUVFLGVBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtFQUdBLHFCQUFBO0VBQ0EseUJBQUE7RUFDQSxhQUFBO0VBQ0EsZUFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QlRoUkM7QUZpdkVUO0FXLzlEUTtFQUNFLGVBQUE7RUFDQSxhQUFBO0VBQ0EsY0FBQTtFQUVBLGNUN1FLO0VTOFFMLGVBQUE7QVhnK0RWO0FLMXVESTtFTTVQSTtJQVNJLGlCQUFBO0VYaStEVjtBQUNGO0FXOTlEUTtFQUVFLGNBQUE7RUFFQSxjQUFBO0VBRUEsaUJBQUE7QVg2OURWO0FLcHZESTtFTS9PSTtJQVNJLGVBQUE7RVg4OURWO0FBQ0Y7QVc1OURVO0VBQ0UsaUJBQUE7QVg4OURaOztBV3o5RE07RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7QVg0OURSIiwiZmlsZSI6ImJvb2tzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICAqIEJPT0tTIFNUWUxFU1xuICAqL1xuXG5AaW1wb3J0ICdfY29tbW9uJzsgICAgICAvLyBjb21tb24gc3R5bGVzXG5cbkBpbXBvcnQgJ19sZWFybmluZ2Fzc2V0cyc7ICAgLy8gcGFnZSBzdHlsZXNcbiIsIi8qKlxuKiBDT01NT04gU1RZTEVTXG4qL1xuXG4vLyBpbXBvcnQgbGlicmFyaWVzOlxuQGltcG9ydCAnbGlicmFyaWVzL19pbmNsdWRlLW1lZGlhLnNjc3MnOyAgLy8gSW5jbHVkZS1NZWRpYSBtZWRpYSBxdWVyeSBsaWJyYXJ5XG5AaW1wb3J0ICdsaWJyYXJpZXMvX25vcm1hbGl6ZS5zY3NzJzsgICAgICAvLyBOb3JtYWxpemUgY3NzIHJlc2V0c1xuXG4vLyBnbG9iYWwgc3R5bGVzIGFuZCBkZXBlbmRlbmNpZXM6XG5AaW1wb3J0ICdwYXJ0aWFscy9fYnJlYWtwb2ludHMnOyAgLy8gYnJlYWtwb2ludCBkZWZpbml0aW9ucyBmb3IgbWVkaWEgcXVlcnkgdXNlXG5AaW1wb3J0ICdwYXJ0aWFscy9fdmFyaWFibGVzJzsgICAgLy8gdmFyaWFibGUgZGVmaW5pdGlvbnNcbkBpbXBvcnQgJ3BhcnRpYWxzL19mb250cyc7ICAgICAgICAvLyBAZm9udC1mYWNlIGRlZmluaXRpb25zXG5AaW1wb3J0ICdwYXJ0aWFscy9fbWl4aW5zJzsgICAgICAgLy8gbWl4aW4gYW5kIGFzc29jaWF0ZWQgY2xhc3MgZGVmaW5pdGlvbnNcbkBpbXBvcnQgJ3BhcnRpYWxzL19nbG9iYWwnOyAgICAgICAvLyBzdHlsZXMgZm9yIGdsb2JhbCBlbGVtZW50IHNlbGVjdG9yc1xuQGltcG9ydCAncGFydGlhbHMvX2hlYWRlcic7ICAgICAgIC8vIGhlYWRlciBzdHlsZXNcbkBpbXBvcnQgJ3BhcnRpYWxzL19jb250ZW50JzsgICAgICAvLyBjb250ZW50IHN0eWxlc1xuQGltcG9ydCAncGFydGlhbHMvX2Zvb3Rlcic7ICAgICAgIC8vIGZvb3RlciBzdHlsZXNcbkBpbXBvcnQgJ3BhcnRpYWxzL19taXNjJzsgICAgICAgICAvLyBtaXNjZWxsYW5lb3VzIHN0eWxlc1xuXG4vLyBwYWdlLXNwZWNpZmljIHN0eWxlczpcbi8vQGltcG9ydCAnaG9tZSc7ICAgICAgLy8gaG9tZSBwYWdlIHN0eWxlc1xuLy9AaW1wb3J0ICdsZWFybmluZ2Fzc2V0cyc7ICAgLy8gcGFnZSBzdHlsZXNcblxuLy9AaW1wb3J0ICdwYXJ0aWFscy9wYWdlcy9fZG9jdW1lbnRzJzsgLy8gcGFnZSBzdHlsZXNcbi8vQGltcG9ydCAncGFydGlhbHMvcGFnZXMvX2dyYW50cyc7ICAgIC8vIHBhZ2Ugc3R5bGVzXG4vL0BpbXBvcnQgJ3BhcnRpYWxzL3BhZ2VzL19oaXN0b3J5JzsgICAvLyBwYWdlIHN0eWxlc1xuLy9AaW1wb3J0ICdwYXJ0aWFscy9wYWdlcy9fb3VyX3dvcmsnOyAgLy8gcGFnZSBzdHlsZXNcbi8vQGltcG9ydCAncGFydGlhbHMvcGFnZXMvX3Blb3BsZSc7ICAgIC8vIHBhZ2Ugc3R5bGVzXG4vL0BpbXBvcnQgJ3BhcnRpYWxzL3BhZ2VzL19yZXBvcnRzJzsgICAgLy8gcGFnZSBzdHlsZXNcbi8vQGltcG9ydCAncGFydGlhbHMvcGFnZXMvX25ld3MnOyAgICAgIC8vIHBhZ2Ugc3R5bGVzXG4vL0BpbXBvcnQgJ3BhcnRpYWxzL3BhZ2VzL19jb250YWN0JzsgICAgICAvLyBwYWdlIHN0eWxlc1xuLy9AaW1wb3J0ICdwYXJ0aWFscy9wYWdlcy9fbGFiX3NpdGVzJzsgICAgICAvLyBwYWdlIHN0eWxlc1xuLy9AaW1wb3J0ICdwYXJ0aWFscy9wYWdlcy9fcGFydG5lcnMnOyAgICAgIC8vIHBhZ2Ugc3R5bGVzXG5cbi8vIGNvbXBvbmVudC1zcGVjaWZpYyBzdHlsZXM6XG4vL0BpbXBvcnQgJ3BhcnRpYWxzL2NvbXBvbmVudHMvXyc7ICAgICAgLy8gY29tcG9uZW50IHN0eWxlXG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyoqXG4gICogQk9PS1MgU1RZTEVTXG4gICovXG4vKipcbiogQ09NTU9OIFNUWUxFU1xuKi9cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9YnV0dG9uXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXJlc2V0XTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXN1Ym1pdF06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1idXR0b25dOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9cmVzZXRdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9c3VibWl0XTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9c2VhcmNoXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4qIEJyZWFrcG9pbnRzXG4qL1xuLypcblxuQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLXNtYWxsXCIpIHtcblxufVxuXG4qL1xuLyoqXG4qIFZhcmlhYmxlc1xuKi9cbi8qKlxuKiBGb250cyAoQGZvbnQtZmFjZSlcbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1vbnRzZXJyYXQ7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01vbnRzZXJyYXQtUmVndWxhci50dGYpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1vbnRzZXJyYXQ7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01vbnRzZXJyYXQtQm9sZC50dGYpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4ud3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5pbm5lci13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmNvbnRhaW5lciB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cblxuLnNwYWNlci10b3Age1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuc3BhY2VyLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc3BhY2VyLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuc3BhY2VyLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnNwYWNlci10b3Age1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICB9XG59XG5cbi5zcGFjZXItYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnNwYWNlci1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNwYWNlci1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnNwYWNlci1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5zcGFjZXItYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgfVxufVxuXG4uYnV0dG9uIHtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDQ3NjM7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm9yZGVyLXJhZGl1czogMTVweCAwIDE1cHggMDtcbn1cblxuLmNhdGVnb3J5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjMGYwZjBmO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjA2MjVlbTtcbn1cblxuLnRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBjb2xvcjogIzNiNjI3ZjtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjA2MjVlbTtcbn1cbi50YWcge1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICM5OTk5OTk7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wNDI1ZW07XG59XG5cbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBib3JkZXI6IDA7XG59XG5cbi5uby1zY3JvbGwge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKipcbiogR2xvYmFsIHN0eWxlc1xuKi9cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG59XG5cbmJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyIGF1dG87XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMyMjI7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5oMSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuNHJlbTtcbiAgZm9udC1zaXplOiAyLjJyZW07XG59XG5cbmgyIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS4zcmVtO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTU5MDllbTtcbn1cblxuaDMge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4xNTkwOWVtO1xuICBmb250LXNpemU6IDEuNnJlbTtcbn1cblxuaDQge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuaDUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxucCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzM1Njg3OTtcbn1cbnVsLCBvbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xufVxuXG4vKiBiZWdpbiBidXR0b24gc3R5bGVzICovXG5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qIGVuZCBidXR0b24gc3R5bGVzICovXG4vKipcbiogSGVhZGVyIHN0eWxlc1xuKi9cbi5oZWFkZXItd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGdyaWQtcm93LXN0YXJ0OiAxO1xuICBncmlkLXJvdy1lbmQ6IDI7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgei1pbmRleDogOTk5OTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcywgYm9yZGVyIDIwMG1zLCBib3gtc2hhZG93IDIwMG1zO1xufVxuLmhlYWRlci13cmFwLmJnLXZpc2libGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzA0NzYzO1xuICBib3JkZXItYm90dG9tOiA1cHggc29saWQgI2ZmZjtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAxNXB4ICMwMDA7XG59XG5cbi50b3AtYmFyLWJnIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDY7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG59XG4udG9wLWJhci1iZy5iZy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMwNDc2Mztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudG9wLWJhci1iZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGhlaWdodDogOTBweDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMTAwcHg7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogOTBweCBhdXRvO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xufVxuLmhlYWRlci5iZy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMwNDc2Mztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyIHtcbiAgICBoZWlnaHQ6IDE2MHB4O1xuICAgIHBhZGRpbmctdG9wOiA0NXB4O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDEwMHB4O1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMTIwcHggNzBweDtcbiAgfVxufVxuXG4uaGVhZGVyLWJyYW5kIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBoZWlnaHQ6IDkwcHg7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgZ3JpZC1yb3c6IDEvc3BhbiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLWJyYW5kIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZWFkZXItYnJhbmQge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXItYnJhbmQge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICAgIG1hcmdpbi10b3A6IC0zNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXItYnJhbmQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgaGVpZ2h0OiAxMTVweDtcbiAgICBncmlkLWNvbHVtbjogMS9zcGFuIDE7XG4gICAgZ3JpZC1yb3c6IDEvc3BhbiAyO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuLmhlYWRlci1icmFuZCBhIHtcbiAgbWF4LXdpZHRoOiA0MjBweDtcbiAgaGVpZ2h0OiA5MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzAwMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLWJyYW5kIGEge1xuICAgIGhlaWdodDogNzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuaGVhZGVyLWJyYW5kIGEge1xuICAgIGhlaWdodDogMTE1cHg7XG4gIH1cbn1cbi5oZWFkZXItYnJhbmQgYSAubG9nbyB7XG4gIHdpZHRoOiA0MHB4O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIGhlaWdodDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLWJyYW5kIGEgLmxvZ28ge1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSAubG9nbyB7XG4gICAgd2lkdGg6IDE0NHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogMTE1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQgLmxvZ28tdGV4dC10aXRsZSB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQgLmxvZ28tdGV4dC10aXRsZSBzcGFuLnJlZ2lzdGVyZWQge1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IC5sb2dvLXRleHQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICB9XG4gIC5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IC5sb2dvLXRleHQtdGl0bGUgc3Bhbi5yZWdpc3RlcmVkIHtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgfVxufVxuLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQgLmxvZ28tdGV4dC10YWdsaW5lIHtcbiAgbWFyZ2luOiAxMHB4IGF1dG8gMCBhdXRvO1xuICBsaW5lLWhlaWdodDogMC44O1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjZmZmO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IC5sb2dvLXRleHQtdGFnbGluZSB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gIH1cbn1cblxuLmhlYWRlci1uYXYge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOTBweDtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5oZWFkZXItbmF2LmJnLXZpc2libGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzA0NzYzO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItbmF2IHtcbiAgICBoZWlnaHQ6IDY1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG59XG5cbi5tYWluLW5hdiB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgei1pbmRleDogNjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1haW4tbmF2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDY1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogODVweDtcbiAgICByaWdodDogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1haW4tbmF2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1haW4tbmF2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1haW4tbmF2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tYWluLW5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbi5tYWluLW5hdiB1bCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMzczNDM1O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYWluLW5hdiB1bCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiA2NXB4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgY29sdW1uLWdhcDogMTBweDtcbiAgICBib3JkZXItdG9wOiB1bnNldDtcbiAgfVxufVxuLm1haW4tbmF2IHVsIGxpIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0NXB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3JkZXItdG9wOiB1bnNldDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzNzM0MzU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFpbi1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1haW4tbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYWluLW5hdiB1bCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1haW4tbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYWluLW5hdiB1bCBsaSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiA2NXB4O1xuICAgIGJvcmRlci1ib3R0b206IHVuc2V0O1xuICAgIHRyYW5zaXRpb246IGRpc3BsYXkgMzAwbXM7XG4gIH1cbiAgLm1haW4tbmF2IHVsIGxpOmhvdmVyID4gdWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4ubWFpbi1uYXYgdWwgbGkgYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI2ZmZjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFpbi1uYXYgdWwgbGkgYSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiA2NXB4O1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYWluLW5hdiB1bCBsaSBhIHtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgfVxufVxuLm1haW4tbmF2IHVsIGxpIC5uYXYtY2hldnJvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1haW4tbmF2IHVsIGxpIC5uYXYtY2hldnJvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLm1haW4tbmF2IHVsIGxpIHVsIHtcbiAgd2lkdGg6IDIyNXB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2MnB4O1xuICByaWdodDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7XG59XG4ubWFpbi1uYXYgdWwgbGkgdWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICNlMGUwZTA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xMnB4O1xuICByaWdodDogLTFweDtcbiAgei1pbmRleDogMTAwMTtcbn1cbi5tYWluLW5hdiB1bCBsaSB1bCBsaSB7XG4gIHdpZHRoOiAyMjVweDtcbiAgaGVpZ2h0OiAzNXB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7XG59XG4ubWFpbi1uYXYgdWwgbGkgdWwgbGk6bnRoLWNoaWxkKDEpIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5OTk5OTk7XG59XG4ubWFpbi1uYXYgdWwgbGkgdWwgbGk6bnRoLWNoaWxkKDIpIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7XG59XG4ubWFpbi1uYXYgdWwgbGkgdWwgbGk6bnRoLWNoaWxkKDMpIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7XG59XG4ubWFpbi1uYXYgdWwgbGkgdWwgbGk6bnRoLWNoaWxkKDQpIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7XG59XG4ubWFpbi1uYXYgdWwgbGkgdWwgbGkgYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDM1cHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLm1haW4tbmF2IHVsIGxpIHVsIGxpIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnRvcC1uYXYge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICB6LWluZGV4OiA2O1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnRvcC1uYXYge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRvcC1uYXYge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRvcC1uYXYge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC50b3AtbmF2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50b3AtbmF2IHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDM2cHg7XG4gICAgei1pbmRleDogNjtcbiAgfVxufVxuLnRvcC1uYXYgdWwge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgaGVpZ2h0OiA0NXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBjb2x1bW4tZ2FwOiAzMHB4O1xuICBmbGV4LWZsb3c6IHJvdztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudG9wLW5hdiB1bCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxleC1mbG93OiByb3ctcmV2ZXJzZTtcbiAgfVxufVxuLnRvcC1uYXYgdWwgbGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnRvcC1uYXYgdWwgbGkgYSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRvcC1uYXYgdWwgbGkgYSB7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbn1cbi5zbGlkZS1saW5lIHtcbiAgaGVpZ2h0OiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5oZWFkZXItYnV0dG9ucyB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogOTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA2O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5oZWFkZXItYnV0dG9ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLWJ1dHRvbnMge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlci1idXR0b25zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaGVhZGVyLWJ1dHRvbnMge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1idXR0b25zIHtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbi5nbGFzcyB7XG4gIHBhZGRpbmc6IDhweCAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0b3A6IGF1dG87XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmdsYXNzIHtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgYm9yZGVyOiB1bnNldDtcbiAgfVxufVxuLmdsYXNzIGkge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5nbGFzcyBpOmhvdmVyIHtcbiAgY29sb3I6ICNlMGUwZTA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmdsYXNzIGkge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG59XG5cbi5idXJnZXIge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzQwcHgpIHtcbiAgLmJ1cmdlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYnVyZ2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uYnVyZ2VyIGkge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5idXJnZXIgaTpob3ZlciB7XG4gIGNvbG9yOiAjZTBlMGUwO1xufVxuXG4uc2l0ZS1zZWFyY2gtd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDkwcHg7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDQ3NjM7XG4gIHotaW5kZXg6IDY7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjM2M1ZjhhO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zaXRlLXNlYXJjaC13cmFwIHtcbiAgICB0b3A6IDQ1cHg7XG4gIH1cbn1cbi5zaXRlLXNlYXJjaC13cmFwIC5zaXRlLXNlYXJjaCB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuc2l0ZS1zZWFyY2gtd3JhcCAuc2l0ZS1zZWFyY2gge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNpdGUtc2VhcmNoLXdyYXAgLnNpdGUtc2VhcmNoIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zaXRlLXNlYXJjaC13cmFwIC5zaXRlLXNlYXJjaCB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnNpdGUtc2VhcmNoLXdyYXAgLnNpdGUtc2VhcmNoIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuXG4uc2l0ZS1zZWFyY2gge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDM1cHggMDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgNTBweCAwcHg7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zaXRlLXNlYXJjaCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjhmciAxLjJmciA1MHB4O1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAwcHg7XG4gIH1cbn1cblxuLnNlYXJjaC1xdWVyeSB7XG4gIGhlaWdodDogNTBweDtcbiAgcGFkZGluZzogMDtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAyO1xuICBncmlkLXJvdzogMTtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zZWFyY2gtcXVlcnkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZ3JpZC1jb2x1bW46IDEvc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxO1xuICB9XG59XG4uc2VhcmNoLXF1ZXJ5IGxhYmVsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2VhcmNoLXF1ZXJ5IGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHggMCAwIDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzBmMGYwZjtcbn1cblxuLnNlYXJjaC1jb250ZXh0IHtcbiAgaGVpZ2h0OiA1MHB4O1xuICBwYWRkaW5nOiAwIDIwcHggMCAwO1xuICBncmlkLWNvbHVtbjogMS9zcGFuIDE7XG4gIGdyaWQtcm93OiAyO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNlYXJjaC1jb250ZXh0IHtcbiAgICBncmlkLWNvbHVtbjogMi9zcGFuIDE7XG4gICAgZ3JpZC1yb3c6IDE7XG4gICAgcGFkZGluZzogMCAyMHB4IDAgMDtcbiAgfVxufVxuLnNlYXJjaC1jb250ZXh0IGxhYmVsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2VhcmNoLWNvbnRleHQgc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAyMHB4IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2M1ZjhhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIzQ0NmI5YywgIzM0NTM3OCk7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNlYXJjaC1jb250ZXh0IHNlbGVjdCBvcHRpb24ge1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG5cbi5zZWFyY2gtc3VibWl0IHtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgZ3JpZC1jb2x1bW46IDIvc3BhbiAxO1xuICBncmlkLXJvdzogMjtcbiAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIGNvbG9yOiAjMzA0NzYzO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgYm9yZGVyLXJhZGl1czogMjBweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2M1ZjhhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2ZhZmFmYSwgI2M3YzdjNyk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNlYXJjaC1zdWJtaXQge1xuICAgIGdyaWQtY29sdW1uOiAzL3NwYW4gMTtcbiAgICBncmlkLXJvdzogMTtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgfVxufVxuLnNlYXJjaC1zdWJtaXQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2UwZTBlMCwgI2FkYWRhZCk7XG59XG5cbi8qKlxuKiBDb250ZW50IHN0eWxlc1xuKi9cbi5tYWluLXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBncmlkLXJvdy1zdGFydDogMjtcbiAgZ3JpZC1yb3ctZW5kOiAzO1xuICBtYXJnaW4tdG9wOiAtMTM1cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1haW4td3JhcCB7XG4gICAgbWFyZ2luLXRvcDogLTE2MHB4O1xuICB9XG59XG5cbi5tYWluIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucGFnZS1jb250ZW50IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1jb250ZW50IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gIH1cbn1cblxuLnBhZ2UtY29udGVudC5zaWRlIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMHB4O1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1jb250ZW50LnNpZGUge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDI4NnB4O1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAwcHg7XG4gIH1cbn1cblxuLnBhZ2UtbWFpbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBncmlkLWNvbHVtbjogMS9zcGFuIDE7XG4gIGdyaWQtcm93OiAyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLW1haW4ge1xuICAgIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgICBncmlkLXJvdzogMTtcbiAgfVxufVxuLnBhZ2UtbWFpbiBoMiB7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG59XG4ucGFnZS1tYWluIGgyOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5wYWdlLW1haW4gaDMge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuLnBhZ2UtbWFpbiBoNCB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG4ucGFnZS1tYWluIGg1IHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cbi5wYWdlLW1haW4gaDYge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuLnBhZ2UtbWFpbiBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cbi5wYWdlLW1haW4gdWwge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG59XG4ucGFnZS1tYWluIHVsIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnNpZGUgLnBhZ2UtbWFpbiB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNpZGUgLnBhZ2UtbWFpbiB7XG4gICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gIH1cbn1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDgwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzA0NzYzO1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNjcmVlbjtcbn1cbi5wYWdlLWhlYWRlci1vdmVybGF5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDAsIDAsIDAuOCksIHJnYmEoMCwgMCwgMCwgMC44KSk7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLnBhZ2UtaGVhZGVyLWJveC13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLXRvcDogMTMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1oZWFkZXItYm94LXdyYXAge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gICAgcGFkZGluZy10b3A6IDE5NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFnZS1oZWFkZXItYm94LXdyYXAge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1oZWFkZXItYm94LXdyYXAge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1oZWFkZXItYm94LXdyYXAge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2UtaGVhZGVyLWJveC13cmFwIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuXG4ucGFnZS1oZWFkZXItYm94IHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIC8qLmxvZ28ge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNDBweDtcbiAgICByaWdodDogNDBweDtcbiAgfSovXG4gIC8qYSB7XG4gICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICRvZmZXaGl0ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9Ki9cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFnZS1oZWFkZXItYm94IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLWhlYWRlci1ib3gge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2UtaGVhZGVyLWJveCB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2UtaGVhZGVyLWJveCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFnZS1oZWFkZXItYm94IHtcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLWhlYWRlci1ib3gge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2UtaGVhZGVyLWJveCB7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2UtaGVhZGVyLWJveCB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFnZS1oZWFkZXItYm94IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLWhlYWRlci1ib3gge1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2UtaGVhZGVyLWJveCB7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2UtaGVhZGVyLWJveCB7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gIH1cbn1cbi5wYWdlLWhlYWRlci1ib3ggaDEge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtaGVhZGVyLWJveCBoMSB7XG4gICAgZm9udC1zaXplOiAyLjJyZW07XG4gIH1cbn1cbi5wYWdlLWhlYWRlci1ib3ggcCB7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICNmZmY7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtaGVhZGVyLWJveCBwIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgfVxufVxuXG4ucGFnZS1zaWRlYmFyIHtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHdpZHRoOiAxMDAlO1xuICBncmlkLWNvbHVtbjogMS9zcGFuIDE7XG4gIGdyaWQtcm93OiAxO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWdlLXNpZGViYXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2Utc2lkZWJhciB7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1zaWRlYmFyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFnZS1zaWRlYmFyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLXNpZGViYXIge1xuICAgIGdyaWQtY29sdW1uOiAyL3NwYW4gMTtcbiAgICBncmlkLXJvdzogMTtcbiAgfVxufVxuXG4ucGFnZS1zaWRlYmFyLWhlYWRpbmcge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDAuOGVtO1xuICBtYXJnaW46IDEwcHggMCAwIDA7XG4gIHBhZGRpbmc6IDE1cHggMCAxNXB4IDE1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItdG9wOiAzcHggc29saWQgI2UwZTBlMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM3MzQzNTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgY29sb3I6ICNmZmY7XG59XG4ucGFnZS1zaWRlYmFyLWhlYWRpbmc6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW46IDAgMCAwIDA7XG59XG5cbi5zaWRlLW5hdiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG4uc2lkZS1uYXYgdWwubWVudSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzczNDM1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwO1xufVxuLnNpZGUtbmF2IHVsLm1lbnUgbGkge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogNDVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgLyouY3VycmVudF9wYWdlX2l0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5O1xuICAgIGNvbG9yOiAkb2ZmV2hpdGU7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkb2ZmV2hpdGU7XG4gICAgfVxuICB9Ki9cbn1cbi5zaWRlLW5hdiB1bC5tZW51IGxpIGEge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0NXB4O1xuICBwYWRkaW5nOiAwIDAgMCAxNXB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiAjZmZmO1xuICBsaW5lLWhlaWdodDogNDVweDtcbiAgY29sb3I6ICMwZjBmMGY7XG59XG4uc2lkZS1uYXYgdWwubWVudSBsaSBhOmhvdmVyIHtcbiAgY29sb3I6ICMzYjYyN2Y7XG59XG4uc2lkZS1uYXYgdWwubWVudSBsaSB1bC5zdWItbWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMGUwZTA7XG59XG4uc2lkZS1uYXYgdWwubWVudSBsaSB1bC5zdWItbWVudSBsaSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xufVxuLnNpZGUtbmF2IHVsLm1lbnUgbGkgdWwuc3ViLW1lbnUgbGkgYSB7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgY29sb3I6ICMwZjBmMGY7XG59XG4uc2lkZS1uYXYgdWwubWVudSBsaSB1bC5zdWItbWVudSBsaSB1bC5zdWItbWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4uc2lkZS1uYXYgdWwubWVudSBsaSB1bC5zdWItbWVudSBsaSB1bC5zdWItbWVudSBsaSBhIHtcbiAgcGFkZGluZy1sZWZ0OiA0NXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4ubGlzdGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI4MHB4IDFmcjtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmMmYyZjI7XG59XG4ubGlzdGluZzpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5saXN0aW5nLWxlZnQge1xuICBwYWRkaW5nOiAyMHB4O1xuICBncmlkLWNvbHVtbjogMS9zcGFuIDE7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYjYyN2Y7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5saXN0aW5nLWxlZnQgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5saXN0aW5nLXJpZ2h0IHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBncmlkLWNvbHVtbjogMi9zcGFuIDE7XG59XG5cbi5jb21pbmctc29vbi13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmNvbWluZy1zb29uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuY29taW5nLXNvb24ge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbWluZy1zb29uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb21pbmctc29vbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbWluZy1zb29uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5jb21pbmctc29vbiB7XG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29taW5nLXNvb24ge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmNvbWluZy1zb29uIHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY29taW5nLXNvb24ge1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmNvbWluZy1zb29uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb21pbmctc29vbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29taW5nLXNvb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jb21pbmctc29vbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gIH1cbn1cbi5jb21pbmctc29vbiBoMiB7XG4gIGNvbG9yOiAjMzA0NzYzO1xufVxuXG4vKlxuICAucGFnZS1zZWFyY2gtc2VhcmNoLXdyYXAge1xuICAgIEBpbmNsdWRlIHdyYXA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kUHJpbWFyeTtcbiAgfVxuICAgIC5wYWdlLXNlYXJjaC1zZWFyY2gtd3JhcCB7XG4gICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICAvL0BpbmNsdWRlIHNwYWNlci10b3A7XG4gICAgfVxuXG4gIC5wYWdlLXNlYXJjaC13cmFwIHtcbiAgICBAaW5jbHVkZSB3cmFwO1xuICB9XG4gICAgLnBhZ2Utc2VhcmNoLXdyYXAge1xuICAgICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgICAgQGluY2x1ZGUgc3BhY2VyLXRvcDtcbiAgICB9XG4qL1xuLyoqXG4qIEZvb3RlciBzdHlsZXNcbiovXG4uZm9vdGVyLXdyYXAge1xuICBncmlkLXJvdy1zdGFydDogMztcbiAgZ3JpZC1yb3ctZW5kOiA0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzA0NzYzO1xuICBib3JkZXItdG9wOiAzcHggc29saWQgI2ZmZjtcbn1cblxuLmZvb3RlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy10b3A6IDJyZW07XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmZvb3Rlci1uYXYge1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyLW5hdiB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cbi5mb290ZXItbmF2IHVsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyLW5hdiB1bCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuLmZvb3Rlci1uYXYgdWwgbGkge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuZm9vdGVyLW5hdiB1bCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyLW5hdiB1bCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZm9vdGVyLW5hdiB1bCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmZvb3Rlci1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlci1uYXYgdWwgbGkge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG4uZm9vdGVyLW5hdiB1bCBsaSBhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDVweDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlci1uYXYgdWwgbGkgYSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogMCA1cHg7XG4gIH1cbn1cblxuLmNvcHlyaWdodCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4vKipcbiogTWlzY2VsbGFuZW91cyBzdHlsZXNcbiovXG4ucG9zdHMtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbn1cblxuLnBvc3QtZmlsdGVycy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzA0NzYzO1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzNjNWY4YTtcbn1cblxuLnBvc3QtZmlsdGVycyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICBjb2xvcjogIzM3MzQzNTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucG9zdC1maWx0ZXJzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wb3N0LWZpbHRlcnMge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBvc3QtZmlsdGVycyB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBvc3QtZmlsdGVycyB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbi5wb3N0LWZpbHRlcnMgaHIge1xuICBjb2xvcjogIzUxNzhhODtcbn1cblxuLypcbi5wb3N0LWZpbHRlcnMtdGl0bGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICBwYWRkaW5nOiAwIDAgNXB4IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvL2ZsZXg6IDAgMCAxMDAlO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCBsaWdodGVuKCRicmFuZFByaW1hcnksIDIwJSk7XG4gIC8vYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAvL2JvcmRlci1yYWRpdXM6IDE1cHggMCAxNXB4IDA7XG59XG4qL1xuLnBvc3QtZmlsdGVycy1mb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ucG9zdC1maWx0ZXJzLWxhYmVsIHtcbiAgcGFkZGluZzogMCAwIDVweCAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogI2YyZjJmMjtcbn1cblxuLnBvc3QtZmlsdGVycy1kaXNjaXBsaW5lIHtcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xufVxuLnBvc3QtZmlsdGVycy1kaXNjaXBsaW5lIHNlbGVjdCB7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMCAwIDAgMTVweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweCAwIDEwcHggMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2M1ZjhhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIzQ0NmI5YywgIzM0NTM3OCk7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzA0NzYzO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIzQ0NmI5YywgIzM0NTM3OCk7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ucG9zdC1maWx0ZXJzLWNhdGVnb3J5IHtcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xufVxuXG4ucG9zdC1maWx0ZXJzLXRhZyB7XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnBvc3QtZmlsdGVycy1kYXRlIHtcbiAgd2lkdGg6IGF1dG87XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xufVxuLnBvc3QtZmlsdGVycy1kYXRlIGxhYmVsIHtcbiAgcGFkZGluZzogMCA1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG5cbi5wb3N0LWZpbHRlcnMta2V5d29yZCB7XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nOiAwIDE1cHggMCAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG59XG4ucG9zdC1maWx0ZXJzLWtleXdvcmQgaW5wdXQge1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDAgMCAwIDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHggMCAxMHB4IDA7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLnBvc3QtZmlsdGVycy1zdWJtaXQge1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjNDQ2YjljLCAjMzQ1Mzc4KTtcbiAgY29sb3I6ICMzMDQ3NjM7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2M1ZjhhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2ZhZmFmYSwgI2M3YzdjNyk7XG59XG4ucG9zdC1maWx0ZXJzLXN1Ym1pdDpob3ZlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjZTBlMGUwLCAjYWRhZGFkKTtcbn1cblxuI3Jlc3BvbnNlIHtcbiAgcGFkZGluZzogMzBweCAwO1xufVxuXG4vKlxuLmxlYXJuaW5nLWFzc2V0cy1uYXYtd3JhcCB7XG4gIEBpbmNsdWRlIHdyYXA7XG4gIEBpbmNsdWRlIGlubmVyLXdyYXA7XG4gIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgLy9AaW5jbHVkZSBzcGFjZXItdG9wO1xuICAvL0BpbmNsdWRlIHNwYWNlci1ib3R0b207XG4gIC8vd2lkdGg6IDEwMCU7XG4gIC8vcGFkZGluZzogMzBweCAwO1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG59XG4gIC5sZWFybmluZy1hc3NldHMtbmF2IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICAvL2hlaWdodDogNjBweDtcblxuICAgIHVsIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgLy9oZWlnaHQ6IDYwcHg7XG4gICAgICAvL21hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgLy9mbGV4LWJhc2lzOiBhdXRvO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAvL2FsaWduLWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgbGkge1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAvL2FsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4IDAgMjVweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggMCAwIDA7XG4gICAgICAgICAgICAvL2JvcmRlci1sZWZ0OiB1bnNldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDI1cHggMCAxNXB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDIwcHggMDtcbiAgICAgICAgICAgIC8vYm9yZGVyLXJpZ2h0OiB1bnNldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gY2VudGVyIGFsaWduIGxpbmsgdGV4dFxuICAgICAgICAgIGJvcmRlci10b3A6IDJweCBsaWdodGVuKCRicmFuZFByaW1hcnksIDEwJSkgc29saWQ7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggZGFya2VuKCRicmFuZFByaW1hcnksIDEwJSkgc29saWQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IGRhcmtlbigkYnJhbmRQcmltYXJ5LCAxMCUpIHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAycHggbGlnaHRlbigkYnJhbmRQcmltYXJ5LCAxMCUpIHNvbGlkO1xuICAgICAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KGxpZ2h0ZW4oJGJyYW5kUHJpbWFyeSwgNSUpLCBkYXJrZW4oJGJyYW5kUHJpbWFyeSwgNSUpKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRQcmltYXJ5O1xuICAgICAgICAgIGNvbG9yOiAkb2ZmV2hpdGU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4qL1xuLmxlYXJuaW5nLWFzc2V0cy1zdWJqZWN0LXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4ubGVhcm5pbmctYXNzZXRzLXN1YmplY3Qge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubGVhcm5pbmctYXNzZXRzLXN1YmplY3Qge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmxlYXJuaW5nLWFzc2V0cy1zdWJqZWN0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5sZWFybmluZy1hc3NldHMtc3ViamVjdCB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmxlYXJuaW5nLWFzc2V0cy1zdWJqZWN0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuXG4ubGVhcm5pbmctYXNzZXRzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMTAwJSk7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgY29sdW1uLWdhcDogMDtcbiAgcm93LWdhcDogMzBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubGVhcm5pbmctYXNzZXRzIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCA0OCUpO1xuICAgIGNvbHVtbi1nYXA6IDQlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmxlYXJuaW5nLWFzc2V0cyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMzElKTtcbiAgICBjb2x1bW4tZ2FwOiAzLjUlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5sZWFybmluZy1hc3NldHMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDIzLjUlKTtcbiAgICBjb2x1bW4tZ2FwOiAyJTtcbiAgfVxufVxuXG4ubGVhcm5pbmctYXNzZXQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogMjVweCAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzA0NzYzO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbn1cbi5sZWFybmluZy1hc3NldCBoMyB7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjMzA0NzYzO1xuICBmb250LXNpemU6IDFyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmxlYXJuaW5nLWFzc2V0IGgzIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgfVxufVxuLmxlYXJuaW5nLWFzc2V0IHAubGVhcm5pbmctYXNzZXQtc291cmNlIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuOHJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubGVhcm5pbmctYXNzZXQgcC5sZWFybmluZy1hc3NldC1zb3VyY2Uge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxufVxuLmxlYXJuaW5nLWFzc2V0IHAubGVhcm5pbmctYXNzZXQtc291cmNlIHNwYW4ge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLndyYXBwaW5nLWxpbmsge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbn0iLCIvKipcbiogQnJlYWtwb2ludHNcbiovXG5cbi8vIGJyZWFrcG9pbnQgZGVmaW5pdGlvbnMgZm9yIHVzZSB3aXRoIGluY2x1ZGUtbWVkaWEuc2NzcyBsaWJyYXJ5OlxuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZS1zbWFsbCc6ICAgIDMyMHB4LFxuICAncGhvbmUtbGFyZ2UnOiAgICA0ODBweCxcbiAgJ3RhYmxldCc6ICAgICAgICAgNzY4cHgsXG4gICdsYXB0b3AnOiAgICAgICAgIDk5MnB4LFxuICAnZGVza3RvcCc6ICAgICAgICAxMjAwcHgsXG4gICdkZXNrdG9wLWxhcmdlJzogIDE0MDBweCxcbiAgJ2hkJzogICAgICAgICAgICAgMTkyMHB4XG4pO1xuXG5cbi8vIGV4YW1wbGUgdXNhZ2U6XG4vKlxuXG5AaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtc21hbGxcIikge1xuXG59XG5cbiovXG4iLCIvKipcbiogVmFyaWFibGVzXG4qL1xuXG4vLyBkaW1lbnNpb25zOlxuJHNpdGVXaWR0aDogMTQwMHB4OyAgIC8vIG1heCB3aWR0aCBvZiBzaXRlJ3MgY29udGVudCBjb250YWluZXJzXG4vLyRoZWFkZXJIZWlnaHQ6IDkwcHg7XG4vLyR0b3BOYXZIZWlnaHQ6IDQwcHg7XG5cbiR0b3BCYXJIZWlnaHQ6IDQ1cHg7XG4kaGVhZGVySGVpZ2h0TW9iaWxlOiA5MHB4O1xuJGhlYWRlckhlaWdodERlc2t0b3A6IDExNXB4O1xuXG4kY29udGFpbmVyUGFkZGluZ01vYmlsZTogMjBweDtcbiRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZTogMjVweDtcbiRjb250YWluZXJQYWRkaW5nVGFibGV0OiAzMHB4O1xuJGNvbnRhaW5lclBhZGRpbmdMYXB0b3A6IDYwcHg7XG4kY29udGFpbmVyUGFkZGluZ0Rlc2t0b3A6IDgwcHg7XG5cbiRzcGFjZXJQYWRkaW5nTW9iaWxlOiAyMHB4O1xuJHNwYWNlclBhZGRpbmdQaG9uZUxhcmdlOiAyNXB4O1xuJHNwYWNlclBhZGRpbmdUYWJsZXQ6IDQwcHg7XG4kc3BhY2VyUGFkZGluZ0xhcHRvcDogNjBweDtcbiRzcGFjZXJQYWRkaW5nRGVza3RvcDogODBweDtcblxuLy8gY29sb3JzOlxuJHllbGxvdzogI2ZmYzcwZTtcbiRncmVlbjogICNiM2IwNmQ7XG4kYmx1ZTogICAjNjE5OGNlO1xuJGJsYWNrOiAgIzBmMGYwZjtcbiRncmF5OiAgICMzNzM0MzU7XG4kd2hpdGU6ICAjZmVmZWZlO1xuXG4kb2ZmV2hpdGU6ICNmZmY7IC8vI2ZhZmFmYTtcbiRsaWdodEdyYXk6ICNmMmYyZjI7XG4kbWVkaXVtR3JheTogI2UwZTBlMDtcbiRtZWRpdW1EYXJrR3JheTogIzk5OTk5OTtcbiRkYXJrR3JheTogICMyMjI7XG4kZGFya0JsdWU6IHJnYig1OSwgOTgsIDEyNyk7XG4kdHJhbnNHcmF5OiByZ2JhKDUxLCA1MSwgNTEsIDAuOCk7XG5cbiRicmFuZFByaW1hcnk6ICMzMDQ3NjM7Ly8jMWIzYzYzOy8vIzFhMzI0ZjsvLyMyYzNkNTE7Ly8jM2M1ZjhhO1xuLy8kYnJhbmRQcmltYXJ5OiAjMDAwZmEyO1xuJGJyYW5kU2Vjb25kYXJ5OiAjM2M1ZjhhO1xuXG4kYm9keUNvbG9yOiAjZmZmOyAgICAgLy8gYm9keSBiYWNrZ3JvdW5kIGNvbG9yXG4kbWFpbkNvbG9yOiAjZmZmOyAgICAgLy8gcGFnZSBjb250ZW50IGJhY2tncm91bmQgY29sb3JcbiRmb250Q29sb3I6ICMyMjI7ICAgICAvLyBkZWZhdWx0IGZvbnQgY29sb3JcbiRsaW5rQ29sb3I6ICMzNTY4Nzk7ICAvLyBkZWZhdWx0IGxpbmsgY29sb3JcbiIsIi8qKlxuKiBGb250cyAoQGZvbnQtZmFjZSlcbiovXG5cbi8vIE1vbnRzZXJyYXQtUmVndWxhci50dGY6XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTW9udHNlcnJhdDtcbiAgc3JjOiB1cmwoLi4vZm9udHMvTW9udHNlcnJhdC1SZWd1bGFyLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi8vIE1vbnRzZXJyYXQtQm9sZC50dGZcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTW9udHNlcnJhdDtcbiAgc3JjOiB1cmwoLi4vZm9udHMvTW9udHNlcnJhdC1Cb2xkLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbiIsIkBtaXhpbiB3cmFwIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi53cmFwIHtcclxuICBAaW5jbHVkZSB3cmFwO1xyXG59XHJcblxyXG5AbWl4aW4gaW5uZXItd3JhcCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiAkc2l0ZVdpZHRoO1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4uaW5uZXItd3JhcCB7XHJcbiAgQGluY2x1ZGUgaW5uZXItd3JhcDtcclxufVxyXG5cclxuQG1peGluIGNvbnRhaW5lciB7XHJcbiAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ01vYmlsZTtcclxuICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ01vYmlsZTtcclxuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQ7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ1RhYmxldDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcDtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nTGFwdG9wO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3A7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3A7XHJcbiAgfVxyXG59XHJcblxyXG4uY29udGFpbmVyIHtcclxuICBAaW5jbHVkZSBjb250YWluZXI7XHJcbn1cclxuXHJcbkBtaXhpbiBzcGFjZXItdG9wIHtcclxuICBwYWRkaW5nLXRvcDogJHNwYWNlclBhZGRpbmdNb2JpbGU7XHJcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIHBhZGRpbmctdG9wOiAkc3BhY2VyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIHBhZGRpbmctdG9wOiAkc3BhY2VyUGFkZGluZ1RhYmxldDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgcGFkZGluZy10b3A6ICRzcGFjZXJQYWRkaW5nTGFwdG9wO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgcGFkZGluZy10b3A6ICRzcGFjZXJQYWRkaW5nRGVza3RvcDtcclxuICB9XHJcbn1cclxuXHJcbi5zcGFjZXItdG9wIHtcclxuICBAaW5jbHVkZSBzcGFjZXItdG9wO1xyXG59XHJcblxyXG5AbWl4aW4gc3BhY2VyLWJvdHRvbSB7XHJcbiAgcGFkZGluZy1ib3R0b206ICRzcGFjZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlclBhZGRpbmdQaG9uZUxhcmdlO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlclBhZGRpbmdUYWJsZXQ7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2VyUGFkZGluZ0xhcHRvcDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2VyUGFkZGluZ0Rlc2t0b3A7XHJcbiAgfVxyXG59XHJcblxyXG4uc3BhY2VyLWJvdHRvbSB7XHJcbiAgQGluY2x1ZGUgc3BhY2VyLWJvdHRvbTtcclxufVxyXG5cclxuQG1peGluIGJ1dHRvbiB7XHJcbiAgcGFkZGluZzogMTBweCAxNXB4OztcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kUHJpbWFyeTtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGNvbG9yOiAkb2ZmV2hpdGU7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMTVweCAwIDE1cHggMDtcclxufVxyXG5cclxuLmJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgYnV0dG9uO1xyXG59XHJcblxyXG5AbWl4aW4gY2F0ZWdvcnkge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIC8vIC90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGNvbG9yOiAkYmxhY2s7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBmb250LXNpemU6IDAuOHJlbTtcclxuICBsZXR0ZXItc3BhY2luZzogLTAuMDYyNWVtO1xyXG59XHJcblxyXG4uY2F0ZWdvcnkge1xyXG4gIEBpbmNsdWRlIGNhdGVnb3J5O1xyXG59XHJcblxyXG5AbWl4aW4gdGl0bGUge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gIC8vZm9udC13ZWlnaHQ6IDYwMDtcclxuICBsaW5lLWhlaWdodDogMS4xO1xyXG4gIGNvbG9yOiAkZGFya0JsdWU7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjA2MjVlbTtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICAvL3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIH1cclxufVxyXG5cclxuLnRpdGxlIHtcclxuICBAaW5jbHVkZSB0aXRsZTtcclxufVxyXG5cclxuQG1peGluIHRhZyB7XHJcbiAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBjb2xvcjogJG1lZGl1bURhcmtHcmF5O1xyXG4gIGxldHRlci1zcGFjaW5nOiAtMC4wNDI1ZW07XHJcbn1cclxuXHJcbi50YWcge1xyXG4gIEBpbmNsdWRlIHRhZztcclxufVxyXG5cclxuQG1peGluIHNyLW9ubHkgeyAgLy8gdmlzaWJsZSB0byBzY3JlZW4gcmVhZGVycyBvbmx5XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiAxcHg7XHJcbiAgaGVpZ2h0OiAxcHg7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW46IC0xcHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xyXG4gIGJvcmRlcjogMDtcclxufVxyXG5cclxuLnNyLW9ubHkge1xyXG4gIEBpbmNsdWRlIHNyLW9ubHk7XHJcbn1cclxuXHJcbkBtaXhpbiBuby1zY3JvbGwge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5uby1zY3JvbGwge1xyXG4gIEBpbmNsdWRlIG5vLXNjcm9sbDtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cclxuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxyXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cclxuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcclxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxyXG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxyXG4vL1xyXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xyXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxyXG4vL1xyXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXHJcbi8vXHJcbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxyXG4vLyAgICAgICAgICAgICAgICAgIEtpdHR5IEdpcmF1ZGVsIChAa2l0dHlnaXJhdWRlbClcclxuLy9cclxuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxyXG4vLy8vXHJcbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxyXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcclxuLy8vXHJcbiRicmVha3BvaW50czogKFxyXG4gICdwaG9uZSc6IDMyMHB4LFxyXG4gICd0YWJsZXQnOiA3NjhweCxcclxuICAnZGVza3RvcCc6IDEwMjRweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxyXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXHJcbi8vLyAgKTtcclxuLy8vXHJcbiRtZWRpYS1leHByZXNzaW9uczogKFxyXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcclxuICAncHJpbnQnOiAncHJpbnQnLFxyXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXHJcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxyXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXHJcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcclxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2BcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxyXG4vLy9cclxuJHVuaXQtaW50ZXJ2YWxzOiAoXHJcbiAgJ3B4JzogMSxcclxuICAnZW0nOiAwLjAxLFxyXG4gICdyZW0nOiAwLjEsXHJcbiAgJyc6IDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXHJcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxyXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0JztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcclxuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgIC5mb28ge1xyXG4vLy8gICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcclxuXHJcbi8vLy9cclxuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXHJcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxyXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcclxuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xyXG4gICAgQGVycm9yICRtZXNzYWdlO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHdhcm4gJG1lc3NhZ2U7XHJcbiAgICAkXzogbm9vcCgpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbWVzc2FnZTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxyXG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXHJcbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXHJcbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XHJcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xyXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cclxuLy8vXHJcbkBmdW5jdGlvbiBub29wKCkge31cclxuXHJcbi8vL1xyXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XHJcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XHJcblxyXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xyXG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XHJcbiAgfVxyXG5cclxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcclxuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XHJcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XHJcblxyXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xyXG4gICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG4gICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiB0cnVlO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBQYXJzaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xyXG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xyXG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcclxuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xyXG5cclxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcclxuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkZGltZW5zaW9uO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcclxuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XHJcblxyXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xyXG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcclxuICB9IEBlbHNlIHtcclxuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xyXG5cclxuICBAaWYgbm90ICRpbnRlcnZhbCB7XHJcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xyXG4gIH1cclxuXHJcbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xyXG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XHJcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcclxuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2VcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcclxuLy8vXHJcbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XHJcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxyXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXHJcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcclxuICB9XHJcblxyXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xyXG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcclxufVxyXG5cclxuLy8vXHJcbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2VcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XHJcbi8vL1xyXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xyXG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcclxuICAgIEByZXR1cm4gKCk7XHJcbiAgfVxyXG5cclxuICAkcmVzdWx0OiAoKTtcclxuXHJcbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xyXG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHJlc3VsdDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn1cclxuLy8vXHJcbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XHJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XHJcbiAgICBAcmV0dXJuICR2YWx1ZTtcclxuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XHJcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xyXG4gIH1cclxuXHJcbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XHJcbiAgJHJlc3VsdDogMDtcclxuICAkZGlnaXRzOiAwO1xyXG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcclxuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XHJcblxyXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcclxuICAgICR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XHJcbiAgfVxyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XHJcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xyXG5cclxuICAgIEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcclxuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xyXG4gICAgICAkZGlnaXRzOiAxO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xyXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XHJcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXHJcbi8vL1xyXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcclxuICAkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xyXG5cclxuICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XHJcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2ZcclxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcclxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxyXG4vLy8gZm9yIGluc3RhbmNlLlxyXG4vLy9cclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcclxuLy8vXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2BcclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcclxuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xyXG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcclxuXHJcbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XHJcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XHJcblxyXG4gIEBjb250ZW50O1xyXG5cclxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XHJcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cclxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XHJcbi8vL1xyXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcclxuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXHJcbiAgICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XHJcbiAgICBAY29udGVudDtcclxuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcclxuICAgIEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcclxuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLyoqXG4qIEdsb2JhbCBzdHlsZXNcbiovXG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyBjb25zaXN0ZW50IGJveC1zaXppbmcgZm9yIGFsbCBlbGVtZW50c1xufVxuXG5odG1sIHtcbiAgaGVpZ2h0OiAxMDAlOyAvLyBmb3Igc3RpY2t5IGZvb3RlclxuICBmb250LXNpemU6IDEwMCU7IC8vIHNldCByb290IGZvbnQtc2l6ZSBmb3IgcmVtIHVuaXRzICgxMDAlIGVxdWF0ZXMgdG8gMTZweClcbiAgbGluZS1oZWlnaHQ6IDEuNzsgLy8gc2V0IGRlZmF1bHQgbGluZSBoZWlnaHRcbn1cblxuYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IC8vIGZvciBzdGlja3kgZm9vdGVyXG4gIGRpc3BsYXk6IGdyaWQ7IC8vIGZvciBzdGlja3kgZm9vdGVyXG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxZnIgYXV0bzsgLy8gZm9yIHN0aWNreSBmb290ZXJcbiAgbWFyZ2luOiAwOyAvLyBtYWtlIHN1cmUgYm9keSBlbGVtZW50IGlzIGVkZ2UtdG8tZWRnZVxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keUNvbG9yO1xuICBjb2xvcjogJGZvbnRDb2xvcjtcbiAgLy9mb250LWZhbWlseTogXCJSb2JvdG9cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5oMSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuNHJlbTtcbiAgZm9udC1zaXplOiAyLjJyZW07XG59XG5cbmgyIHtcblxuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjNyZW07XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICAvL3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIC8vZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OTA5ZW07XG59XG5cbmgzIHtcblxuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAvL21hcmdpbi1ib3R0b206IDA7XG4gIC8vdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgLy9mb250LXNpemU6IDIuMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU5MDllbTtcbiAgZm9udC1zaXplOiAxLjZyZW07XG59XG5cbmg0IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbmg1IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbmg2IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbnAge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICRsaW5rQ29sb3I7XG5cbiAgJjpsaW5rIHtcblxuICB9XG5cbiAgJjpob3ZlciB7XG5cbiAgfVxuXG4gICY6YWN0aXZlIHtcblxuICB9XG5cbiAgJjp2aXNpdGVkIHtcblxuICB9XG59XG5cbjpmb2N1cyB7XG4vLyAgb3V0bGluZTogM3B4IHNvbGlkIG9yYW5nZTtcbn1cblxudWwsIG9sIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG59XG5cbmltZyB7XG5cbn1cblxuLyogYmVnaW4gYnV0dG9uIHN0eWxlcyAqL1xuYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IG5vbmU7XG4gIC8vcGFkZGluZzogMXJlbSAycmVtO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgLy9iYWNrZ3JvdW5kOiAjMDA2OWVkO1xuICAvL2NvbG9yOiAjZmZmZmZmO1xuICAvL2ZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvL2ZvbnQtc2l6ZTogMXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvL3RleHQtYWxpZ246IGNlbnRlcjtcbiAgLy90cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDI1MG1zIGVhc2UtaW4tb3V0LFxuICAvLyAgICAgICAgICAgIHRyYW5zZm9ybSAxNTBtcyBlYXNlO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuYnV0dG9uOmhvdmVyLFxuYnV0dG9uOmZvY3VzIHtcbiAgICAvL2JhY2tncm91bmQ6ICMwMDUzYmE7XG59XG5cbmJ1dHRvbjpmb2N1cyB7XG4gICAgLy9vdXRsaW5lOiAxcHggc29saWQgI2ZmZjtcbiAgICAvL291dGxpbmUtb2Zmc2V0OiAtNHB4O1xufVxuXG5idXR0b246YWN0aXZlIHtcbiAgICAvL3RyYW5zZm9ybTogc2NhbGUoMC45OSk7XG59XG4vKiBlbmQgYnV0dG9uIHN0eWxlcyAqL1xuIiwiLyoqXG4qIEhlYWRlciBzdHlsZXNcbiovXG5cbi5oZWFkZXItd3JhcCB7XG4gIEBpbmNsdWRlIHdyYXA7XG4gIGdyaWQtcm93LXN0YXJ0OiAxOyAvLyBmb3Igc3RpY2t5IGZvb3RlclxuICBncmlkLXJvdy1lbmQ6IDI7IC8vIGZvciBzdGlja3kgZm9vdGVyXG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgei1pbmRleDogOTk5OTtcbiAgLy9ib3JkZXItdG9wOiAzcHggc29saWQgJGdyYXk7XG4gIC8vYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kUHJpbWFyeTtcbiAgLy9ib3JkZXItYm90dG9tOiAzcHggc29saWQgZGFya2VuKCRicmFuZFByaW1hcnksIDEwJSk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXMsIGJvcmRlciAyMDBtcywgYm94LXNoYWRvdyAyMDBtcztcblxuICAmLmJnLXZpc2libGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZFByaW1hcnk7XG4gICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRvZmZXaGl0ZTtcbiAgICBib3gtc2hhZG93OiAwcHggMXB4IDE1cHggIzAwMDtcbiAgfVxufVxuICAudG9wLWJhci1iZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA2O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLy9ib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bUdyYXk7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmV2hpdGU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcztcblxuICAgICYuYmctdmlzaWJsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRQcmltYXJ5O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlciB7XG4gICAgQGluY2x1ZGUgaW5uZXItd3JhcDtcbiAgICBoZWlnaHQ6ICRoZWFkZXJIZWlnaHRNb2JpbGU7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vZGlzcGxheTogZmxleDtcbiAgICAvL2FsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxMDBweDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6ICRoZWFkZXJIZWlnaHRNb2JpbGUgYXV0bztcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xuXG4gICAgJi5iZy12aXNpYmxlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZFByaW1hcnk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoJGhlYWRlckhlaWdodERlc2t0b3AgKyAkdG9wQmFySGVpZ2h0KTtcbiAgICAgIHBhZGRpbmctdG9wOiAkdG9wQmFySGVpZ2h0O1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMTAwcHg7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDEyMHB4IDcwcHg7XG4gICAgfVxuICB9XG4gICAgLmhlYWRlci1icmFuZCB7XG4gICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyAvLyBuZWdhdGUgcmlnaHQgcGFkZGluZyBmcm9tICdjb250YWluZXInIG1peGluIF5eXlxuICAgICAgaGVpZ2h0OiAkaGVhZGVySGVpZ2h0TW9iaWxlO1xuICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgICBncmlkLXJvdzogMSAvIHNwYW4gMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAvL2hlaWdodDogJGhlYWRlckhlaWdodERlc2t0b3A7XG4gICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTM1cHg7XG4gICAgICAgIC8vZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgICAgIC8vZ3JpZC1yb3c6IDEgLyBzcGFuIDI7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3AtbGFyZ2VcIikge1xuICAgICAgICBoZWlnaHQ6ICRoZWFkZXJIZWlnaHREZXNrdG9wO1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7XG5cbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgICAgICAgaGVpZ2h0OiAkaGVhZGVySGVpZ2h0TW9iaWxlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAvL2ZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIGhlaWdodDogNzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wLWxhcmdlXCIpIHtcbiAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXJIZWlnaHREZXNrdG9wO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvZ28ge1xuICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgLy9kaXNwbGF5OiBub25lO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6ICRvZmZXaGl0ZTtcbiAgICAgICAgICAvL3BhZGRpbmc6IDE1cHg7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuICAgICAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcC1sYXJnZVwiKSB7XG4gICAgICAgICAgICB3aWR0aDogMTQ0cHg7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygkaGVhZGVySGVpZ2h0RGVza3RvcCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubG9nby10ZXh0IHtcbiAgICAgICAgICAvL2xpbmUtaGVpZ2h0OiAwLjk7XG4gICAgICAgICAgLy9kaXNwbGF5OiBub25lO1xuICAgICAgICAgIC8vZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY29sb3I6ICRvZmZXaGl0ZTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcbiAgICAgICAgICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmxvZ28tdGV4dC10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcblxuICAgICAgICAgICAgc3Bhbi5yZWdpc3RlcmVkIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcbiAgICAgICAgICAgICAgLy9kaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG5cbiAgICAgICAgICAgICAgc3Bhbi5yZWdpc3RlcmVkIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubG9nby10ZXh0LXRhZ2xpbmUge1xuICAgICAgICAgICAgLy9tYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggYXV0byAwIGF1dG87XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC44O1xuICAgICAgICAgICAgLy9kaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjZyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICRvZmZXaGl0ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcbiAgICAgICAgICAgICAgLy9kaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlci1uYXYge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICRoZWFkZXJIZWlnaHRNb2JpbGU7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgJi5iZy12aXNpYmxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kUHJpbWFyeTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIGhlaWdodDogNjVweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICB9XG4gICAgfVxuICAgICAgLm1haW4tbmF2IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB6LWluZGV4OiA2O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmV2hpdGU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsgLy8gbmVnYXRlIGxlZnQgcGFkZGluZyBmcm9tICdjb250YWluZXInIG1peGluIF5eXlxuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGhlaWdodDogNjVweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA4NXB4O1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIC8vei1pbmRleDogOTk5OTtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAvL2NvbHVtbi1nYXA6IGF1dG87XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5O1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogNjVweDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiAxMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogdW5zZXQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogdW5zZXQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6aG92ZXIgPiB1bCB7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IC8vIG5lZ2F0ZSAnY29udGFpbmVyJyBtaXhpbiBeXl5cbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyAvLyBuZWdhdGUgJ2NvbnRhaW5lcicgbWl4aW4gXl5eXG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDY1cHg7XG4gICAgICAgICAgICAgIC8vYm9yZGVyLXRvcDogM3B4IHNvbGlkICRncmF5O1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiB1bnNldDtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogZGlzcGxheSAzMDBtcztcblxuICAgICAgICAgICAgICAmOmhvdmVyID4gdWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIC8vdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAvL29wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgLy9saXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgIGNvbG9yOiAkb2ZmV2hpdGU7XG5cbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgLy9jb2xvcjogJGRhcmtCbHVlO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA2NXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uYXYtY2hldnJvbiB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHsgLy8gc3ViLW5hdlxuICAgICAgICAgICAgICB3aWR0aDogMjI1cHg7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDYycHg7XG4gICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtR3JheTtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRvZmZXaGl0ZTtcbiAgICAgICAgICAgICAgLy92aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgIC8vb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgLy90cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDBzLCBvcGFjaXR5IDFzIGxpbmVhcjtcblxuXG4gICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICRtZWRpdW1HcmF5O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAtMTJweDtcbiAgICAgICAgICAgICAgICByaWdodDogLTFweDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDAxO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMjVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG9mZldoaXRlO1xuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRtZWRpdW1EYXJrR3JheTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG9mZldoaXRlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkb2ZmV2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRvZmZXaGl0ZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRvcC1uYXYge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB6LWluZGV4OiA2O1xuICAgICAgICAvL2Rpc3BsYXk6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6ICRvZmZXaGl0ZTtcbiAgICAgICAgLy9ib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bUdyYXk7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIHdpZHRoOiA1MCU7IC8vIGFyYml0cmFyeSAtIGp1c3QgbmVlZHMgdG8gYmUgd2lkZSBlbm91Z2ggdG8gYWNjb21vZGF0ZSBuYXYgaXRlbXNcbiAgICAgICAgICAvL3BhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgLy9oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMzZweDtcbiAgICAgICAgICB6LWluZGV4OiA2O1xuICAgICAgICAgIC8vcmlnaHQ6IDA7XG4gICAgICAgICAgLy9kaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6ICRsaWdodEdyYXk7XG4gICAgICAgICAgLy9jbGVhcjogYm90aDtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAvL2hlaWdodDogYXV0bztcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICAgICAgICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAzMHB4O1xuICAgICAgICAgIGZsZXgtZmxvdzogcm93O1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93LXJldmVyc2U7XG4gICAgICAgICAgICAvL2hlaWdodDogMzVweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgLy9mbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgLy9wYWRkaW5nOiAuNTI1ZW0gM2VtIDAgMDtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICBjb2xvcjogJG9mZldoaXRlO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAvL3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zbGlkZS1saW5lIHtcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvZmZXaGl0ZTtcbiAgICAgIH1cblxuICAgIC5oZWFkZXItYnV0dG9ucyB7XG4gICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICAvL3BhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyAvLyBuZWdhdGUgbGVmdCBwYWRkaW5nIGZyb20gJ2NvbnRhaW5lcicgbWl4aW4gXl5eXG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogJGhlYWRlckhlaWdodE1vYmlsZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB6LWluZGV4OiA2O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICAgICAgLmdsYXNzIHtcbiAgICAgICAgLy9oZWlnaHQ6IDkwcHg7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAvL3JpZ2h0OiA0NXB4O1xuICAgICAgICAvL2JvcmRlcjogMXB4IHNvbGlkICRvZmZXaGl0ZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgICAgLy90b3A6IDA7XG4gICAgICAgICAgLy9yaWdodDogMDtcbiAgICAgICAgICBib3JkZXI6IHVuc2V0O1xuICAgICAgICB9XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgY29sb3I6ICRvZmZXaGl0ZTtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRtZWRpdW1HcmF5O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgY29sb3I6ICRvZmZXaGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmJ1cmdlciB7XG4gICAgICAgIC8vaGVpZ2h0OiA5MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC8vcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAvL3RvcDogYXV0bztcbiAgICAgICAgLy9yaWdodDogMDtcbiAgICAgICAgLy9ib3JkZXI6IDFweCBzb2xpZCAkb2ZmV2hpdGU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PTM0MHB4XCIpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgLy90b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpIHtcbiAgICAgICAgICBjb2xvcjogJG9mZldoaXRlO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJG1lZGl1bUdyYXk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAuc2l0ZS1zZWFyY2gtd3JhcCB7XG4gICAgICBAaW5jbHVkZSB3cmFwO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgLy9wYWRkaW5nOiA0MHB4IDA7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkaGVhZGVySGVpZ2h0TW9iaWxlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZFByaW1hcnk7XG4gICAgICB6LWluZGV4OiA2O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRicmFuZFNlY29uZGFyeTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIHRvcDogJHRvcEJhckhlaWdodDtcbiAgICAgIH1cblxuICAgICAgLnNpdGUtc2VhcmNoIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgICAgfVxuICAgIH1cbiAgICAgIC5zaXRlLXNlYXJjaCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXdyYXA7XG4gICAgICAgIC8vQGluY2x1ZGUgY29udGFpbmVyO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDM1cHggMDtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgNTBweCAwcHg7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuICAgICAgICAvL2dyaWQtcm93LWdhcDogMTVweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuOGZyIDEuMmZyIDUwcHg7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2gtcXVlcnkge1xuICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgLy9wYWRkaW5nOiAwIDEwcHggMCAwO1xuICAgICAgICAgICAgLy9oZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIGNvbG9yOiAkb2ZmV2hpdGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRvZmZXaGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggMCAwIDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvZmZXaGl0ZTsvL3Vuc2V0O1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoLWNvbnRleHQge1xuICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDIwcHggMCAwO1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxO1xuICAgICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDE7XG4gICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBjb2xvcjogJG9mZldoaXRlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgLy9wYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJG9mZldoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDIwcHggMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kU2Vjb25kYXJ5O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTpcbiAgICAgICAgICAgICAgLy9saW5lYXItZ3JhZGllbnQodG8gbGVmdCwgdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjUpLCB0cmFuc3BhcmVudGl6ZSgkd2hpdGUsIDAuNSkgMTVweCwgdHJhbnNwYXJlbnQgMTVweCwgdHJhbnNwYXJlbnQgMTAwJSksXG4gICAgICAgICAgICAgIC8vbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsICRicmFuZFNlY29uZGFyeSwgJGJyYW5kU2Vjb25kYXJ5IDE1cHgsIHRyYW5zcGFyZW50IDE1cHgsIHRyYW5zcGFyZW50IDEwMCUpXG4gICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudChsaWdodGVuKCRicmFuZFNlY29uZGFyeSwgNSUpLCBkYXJrZW4oJGJyYW5kU2Vjb25kYXJ5LCA1JSkpXG4gICAgICAgICAgICA7XG4gICAgICAgICAgICBjb2xvcjogJG9mZldoaXRlO1xuXG4gICAgICAgICAgICBvcHRpb24ge1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlYXJjaC1zdWJtaXQge1xuICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMTtcbiAgICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgICAgICBjb2xvcjogJGJyYW5kUHJpbWFyeTtcbiAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAvL2JvcmRlcjogMnB4IHNvbGlkICRicmFuZFNlY29uZGFyeTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4IDA7XG4gICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRTZWNvbmRhcnk7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KGxpZ2h0ZW4oJG1lZGl1bUdyYXksIDEwJSksIGRhcmtlbigkbWVkaXVtR3JheSwgMTAlKSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcztcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDMgLyBzcGFuIDE7XG4gICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkbWVkaXVtR3JheSwgZGFya2VuKCRtZWRpdW1HcmF5LCAyMCUpKTtcbiAgICAgICAgICAgIC8vY29sb3I6ICRvZmZXaGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiIsIi8qKlxuKiBDb250ZW50IHN0eWxlc1xuKi9cblxuLm1haW4td3JhcCB7XG4gIEBpbmNsdWRlIHdyYXA7XG4gIGdyaWQtcm93LXN0YXJ0OiAyOyAvLyBmb3Igc3RpY2t5IGZvb3RlclxuICBncmlkLXJvdy1lbmQ6IDM7IC8vIGZvciBzdGlja3kgZm9vdGVyXG4gIG1hcmdpbi10b3A6IGNhbGMoLTEgKiAoJGhlYWRlckhlaWdodE1vYmlsZSArICR0b3BCYXJIZWlnaHQpKTtcblxuICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLy90b3A6IDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygtMSAqICgkaGVhZGVySGVpZ2h0RGVza3RvcCArICR0b3BCYXJIZWlnaHQpKTtcbiAgfVxufVxuICAubWFpbiB7XG4gICAgaGVpZ2h0OiAxMDAlOyAvLyBmb3Igc3RpY2t5IGZvb3RlcjogZmlsbCBhbnkgZW1wdHkgc3BhY2UgZG93biB0byBmb290ZXJcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAvLyBleHRlbmRzIGhlaWdodCB0byBhY2NvbW9kYXRlIGNvbnRlbnQncyBtYXJnaW5cbiAgICAvL3BhZGRpbmctdG9wOiAycmVtO1xuICB9XG5cbiAgICAucGFnZS1jb250ZW50LXdyYXAge1xuICAgICAgLy9AaW5jbHVkZSBpbm5lci13cmFwO1xuICAgICAgLy9AaW5jbHVkZSBjb250YWluZXI7XG4gICAgICAvL0BpbmNsdWRlIHNwYWNlci10b3A7XG4gICAgICAvL0BpbmNsdWRlIHNwYWNlci1ib3R0b207XG4gICAgfVxuICAgICAgLnBhZ2UtY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAucGFnZS1jb250ZW50LnNpZGUge1xuICAgICAgICAvL2Rpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDBweDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMjg2cHg7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAucGFnZS1tYWluIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxO1xuICAgICAgICAgIGdyaWQtcm93OiAyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgIC8vbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBoMiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBoMyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaDUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBoNiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgIC8vcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdWwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgLy9wYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgIC8vZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgICAvL2ZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zaWRlIC5wYWdlLW1haW4ge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlLWhlYWRlciB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cblxuXG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIC8vbWF4LWhlaWdodDogaGVpZ2h0OiBjYWxjKDUwdmggLSAxMjBweCk7XG4gICAgICAgICAgLy9wYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgICAgICAgICAvL2JhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9ob21lX2ZlYXR1cmVfMi5qcGdcIik7XG4gICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciA4MCU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kUHJpbWFyeTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNjcmVlbjtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgLy9taW4taGVpZ2h0OiAyNTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgICAucGFnZS1oZWFkZXItb3ZlcmxheSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KGRhcmtlbigkdHJhbnNHcmF5LCA0MCUpLCBkYXJrZW4oJHRyYW5zR3JheSwgMjAlKSk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgICAgICAvL2JhY2tncm91bmQtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnBhZ2UtaGVhZGVyLWJveC13cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGlubmVyLXdyYXA7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoJGhlYWRlckhlaWdodE1vYmlsZSArICRzcGFjZXJQYWRkaW5nVGFibGV0KTtcbiAgICAgICAgICAgIC8vcGFkZGluZzogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoJGhlYWRlckhlaWdodERlc2t0b3AgKyAkc3BhY2VyUGFkZGluZ0Rlc2t0b3ApOy8vXG4gICAgICAgICAgICAgIC8vaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wYWdlLWhlYWRlci1ib3gge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHNwYWNlci10b3A7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHNwYWNlci1ib3R0b207XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgIC8vcGFkZGluZzogNDBweCAzMHB4O1xuICAgICAgICAgICAgICAvL3BhZGRpbmctdG9wOiBjYWxjKCRoZWFkZXJIZWlnaHRNb2JpbGUgKyAkc3BhY2VyUGFkZGluZ1RhYmxldCk7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICAvL3dpZHRoOiA2NyU7XG4gICAgICAgICAgICAgICAgLy93aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAvL3BhZGRpbmctdG9wOiBjYWxjKCRoZWFkZXJIZWlnaHREZXNrdG9wICsgJHNwYWNlclBhZGRpbmdEZXNrdG9wKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC8qLmxvZ28ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNDBweDtcbiAgICAgICAgICAgICAgICByaWdodDogNDBweDtcbiAgICAgICAgICAgICAgfSovXG5cbiAgICAgICAgICAgICAgLyphIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG9mZldoaXRlO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0qL1xuXG4gICAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBjb2xvcjogJG9mZldoaXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRvZmZXaGl0ZTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2Utc2lkZWJhciB7XG4gICAgICAgICAgQGluY2x1ZGUgc3BhY2VyLWJvdHRvbTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICAgICAgICBncmlkLXJvdzogMTtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDE7XG4gICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgICAucGFnZS1zaWRlYmFyLWhlYWRpbmcge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwIDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMTVweCAxNXB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAzcHggc29saWQgJG1lZGl1bUdyYXk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgICAgICBjb2xvcjogJG9mZldoaXRlO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5zaWRlLW5hdiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICAgICAgdWwubWVudSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgIC8vZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgLy9mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAvL2FsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAvL2NvbHVtbi1nYXA6IGF1dG87XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5O1xuICAgICAgICAgICAgICAvL2JvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheTtcblxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtR3JheTtcblxuICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogNDVweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIC8vYm9yZGVyLXRvcDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgLy9ib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXk7XG4gICAgICAgICAgICAgICAgLy9wb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG5cbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG9mZldoaXRlO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7XG4gICAgICAgICAgICAgICAgICAvL3Bvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgIC8vZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgIC8vYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIC8vbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgICAgICAgICAgICAvL3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogJG9mZldoaXRlO1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG5cbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtCbHVlO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8qLmN1cnJlbnRfcGFnZV9pdGVtIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5O1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICRvZmZXaGl0ZTtcblxuICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkb2ZmV2hpdGU7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSovXG5cbiAgICAgICAgICAgICAgICAubmF2LWNoZXZyb24ge1xuICAgICAgICAgICAgICAgICAgLy9kaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAvL3JpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHVsLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgICAgIC8vdG9wOiAzNXB4O1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bUdyYXk7XG5cbiAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRvZmZXaGl0ZTtcblxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHVsLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAvL3RvcDogMzVweDtcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmV2hpdGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICBsaSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmxpc3RpbmdzIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAgIC5saXN0aW5nIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjgwcHggMWZyO1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGxpZ2h0R3JheTtcblxuICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAubGlzdGluZy1sZWZ0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrQmx1ZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLmxpc3RpbmctcmlnaHQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMTtcbiAgICAgICAgICAgICAgfVxuXG4uY29taW5nLXNvb24td3JhcCB7XG4gIEBpbmNsdWRlIHdyYXA7XG59XG4gIC5jb21pbmctc29vbiB7XG4gICAgQGluY2x1ZGUgaW5uZXItd3JhcDtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgQGluY2x1ZGUgc3BhY2VyLXRvcDtcbiAgICBAaW5jbHVkZSBzcGFjZXItYm90dG9tO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGgyIHtcbiAgICAgIGNvbG9yOiAkYnJhbmRQcmltYXJ5O1xuICAgIH1cbiAgfVxuXG4vKlxuICAucGFnZS1zZWFyY2gtc2VhcmNoLXdyYXAge1xuICAgIEBpbmNsdWRlIHdyYXA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kUHJpbWFyeTtcbiAgfVxuICAgIC5wYWdlLXNlYXJjaC1zZWFyY2gtd3JhcCB7XG4gICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICAvL0BpbmNsdWRlIHNwYWNlci10b3A7XG4gICAgfVxuXG4gIC5wYWdlLXNlYXJjaC13cmFwIHtcbiAgICBAaW5jbHVkZSB3cmFwO1xuICB9XG4gICAgLnBhZ2Utc2VhcmNoLXdyYXAge1xuICAgICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgICAgQGluY2x1ZGUgc3BhY2VyLXRvcDtcbiAgICB9XG4qL1xuIiwiLyoqXG4qIEZvb3RlciBzdHlsZXNcbiovXG5cbi5mb290ZXItd3JhcCB7XG4gIGdyaWQtcm93LXN0YXJ0OiAzOyAvLyBmb3Igc3RpY2t5IGZvb3RlclxuICBncmlkLXJvdy1lbmQ6IDQ7IC8vIGZvciBzdGlja3kgZm9vdGVyXG4gIGJhY2tncm91bmQtY29sb3I6ICRicmFuZFByaW1hcnk7XG4gIC8vYm9yZGVyLXRvcDogM3B4IHNvbGlkIGxpZ2h0ZW4oJGJyYW5kUHJpbWFyeSwgMTAlKTtcbiAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICRvZmZXaGl0ZTtcbn1cbiAgLmZvb3RlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIGV4dGVuZHMgaGVpZ2h0IHRvIGFjY29tb2RhdGUgY29udGVudCdzIG1hcmdpblxuICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgIGNvbG9yOiAkb2ZmV2hpdGU7XG4gIH1cbiAgICAuZm9vdGVyLW5hdiB7XG4gICAgICAvL3dpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgLy9AaW5jbHVkZSBjb250YWluZXI7XG4gICAgICAgIC8vcGFkZGluZy1sZWZ0OiAwOyAvLyBuZWdhdGUgbGVmdCBwYWRkaW5nIGZyb20gJ2NvbnRhaW5lcicgbWl4aW4gXl5eXG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAvL2hlaWdodDogNjVweDtcbiAgICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC8vdG9wOiAzNXB4O1xuICAgICAgICAvL3JpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIC8vY29sdW1uLWdhcDogYXV0bztcbiAgICAgICAgLy9ib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgLy9oZWlnaHQ6IDY1cHg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAvL2NvbHVtbi1nYXA6IDEwcHg7XG4gICAgICAgICAgLy9ib3JkZXItdG9wOiB1bnNldDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgLy9ib3JkZXItdG9wOiB1bnNldDtcbiAgICAgICAgICAvL2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAmOmhvdmVyID4gdWwge1xuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAvL3BhZGRpbmctcmlnaHQ6IDA7IC8vIG5lZ2F0ZSAnY29udGFpbmVyJyBtaXhpbiBeXl5cbiAgICAgICAgICAgIC8vcGFkZGluZy1sZWZ0OiAwOyAvLyBuZWdhdGUgJ2NvbnRhaW5lcicgbWl4aW4gXl5eXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIC8vaGVpZ2h0OiA2NXB4O1xuICAgICAgICAgICAgLy9ib3JkZXItdG9wOiAzcHggc29saWQgJGdyYXk7XG4gICAgICAgICAgICAvL2JvcmRlci1ib3R0b206IHVuc2V0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAvL2xpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAvL2ZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgLy90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgY29sb3I6ICRvZmZXaGl0ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIC8vY29sb3I6ICRkYXJrQmx1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAvL2hlaWdodDogNjVweDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvcHlyaWdodCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgIH1cbiIsIi8qKlxuKiBNaXNjZWxsYW5lb3VzIHN0eWxlc1xuKi9cbiIsIi8vQGltcG9ydCAnX2NvbW1vbic7ICAgICAgLy8gY29tbW9uIHN0eWxlc1xuXG5cblxuXG4ucG9zdHMtY29udGFpbmVyIHtcbiAgLy9wYWRkaW5nLXRvcDogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgLy9ib3JkZXItcmFkaXVzOiA1cHg7XG59XG4gIC5wb3N0LWZpbHRlcnMtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB3cmFwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZFByaW1hcnk7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRicmFuZFNlY29uZGFyeTtcbiAgfVxuICAgIC5wb3N0LWZpbHRlcnMge1xuICAgICAgQGluY2x1ZGUgaW5uZXItd3JhcDtcbiAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAvL2JvcmRlci1yYWRpdXM6IDQwcHggMCA0MHB4IDA7XG5cbiAgICAgIGhyIHtcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGJyYW5kUHJpbWFyeSwgMjAlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgICAvKlxuICAgICAgLnBvc3QtZmlsdGVycy10aXRsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMCA1cHggMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIC8vZmxleDogMCAwIDEwMCU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIGxpZ2h0ZW4oJGJyYW5kUHJpbWFyeSwgMjAlKTtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIC8vYm9yZGVyLXJhZGl1czogMTVweCAwIDE1cHggMDtcbiAgICAgIH1cbiAgICAgICovXG4gICAgICAucG9zdC1maWx0ZXJzLWZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC8vIC9mbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRHcmF5XG4gICAgICB9XG4gICAgICAgIC5wb3N0LWZpbHRlcnMtbGFiZWwge1xuICAgICAgICAgIC8vd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDVweCAwO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBjb2xvcjogJGxpZ2h0R3JheTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3N0LWZpbHRlcnMtZGlzY2lwbGluZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgLy9oZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICAgIC8vZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgLy9ib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBsaWdodGVuKCRicmFuZFByaW1hcnksIDIwJSk7XG5cbiAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMTVweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHggMCAxMHB4IDA7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkb2ZmV2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRTZWNvbmRhcnk7XG4gICAgICAgICAgICAvL2JhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCAjY2NjLCAjY2NjIDE1cHgsIHRyYW5zcGFyZW50IDE1cHgsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6XG4gICAgICAgICAgICAgIC8vbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHRyYW5zcGFyZW50aXplKCR3aGl0ZSwgMC41KSwgdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjUpIDE1cHgsIHRyYW5zcGFyZW50IDE1cHgsIHRyYW5zcGFyZW50IDEwMCUpLFxuICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQobGlnaHRlbigkYnJhbmRTZWNvbmRhcnksIDUlKSwgZGFya2VuKCRicmFuZFNlY29uZGFyeSwgNSUpKVxuICAgICAgICAgICAgO1xuICAgICAgICAgICAgY29sb3I6ICRvZmZXaGl0ZTtcblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kUHJpbWFyeTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6XG4gICAgICAgICAgICAgIC8vbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHRyYW5zcGFyZW50aXplKCR3aGl0ZSwgMC41KSwgdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAwLjUpIDE1cHgsIHRyYW5zcGFyZW50IDE1cHgsIHRyYW5zcGFyZW50IDEwMCUpLFxuICAgICAgICAgICAgICAvL2xpbmVhci1ncmFkaWVudCh0byBsZWZ0LCAkYnJhbmRTZWNvbmRhcnksICRicmFuZFNlY29uZGFyeSAxNXB4LCB0cmFuc3BhcmVudCAxNXB4LCB0cmFuc3BhcmVudCAxMDAlKVxuICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQobGlnaHRlbigkYnJhbmRTZWNvbmRhcnksIDUlKSwgZGFya2VuKCRicmFuZFNlY29uZGFyeSwgNSUpKVxuICAgICAgICAgICAgO1xuICAgICAgICAgICAgY29sb3I6ICRvZmZXaGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucG9zdC1maWx0ZXJzLWNhdGVnb3J5IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAvL2hlaWdodDogODBweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgICAgLy9kaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAvL2JvcmRlci1yaWdodDogMXB4IHNvbGlkIGxpZ2h0ZW4oJGJyYW5kUHJpbWFyeSwgMjAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3N0LWZpbHRlcnMtdGFnIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgLy9kaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAvL2JvcmRlci1yaWdodDogMXB4IHNvbGlkIGxpZ2h0ZW4oJGJyYW5kUHJpbWFyeSwgMjAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3N0LWZpbHRlcnMtZGF0ZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICAgIC8vZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgLy9ib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBsaWdodGVuKCRicmFuZFByaW1hcnksIDIwJSk7XG5cbiAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAvL2xpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBvc3QtZmlsdGVycy1rZXl3b3JkIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBwYWRkaW5nOiAwIDE1cHggMCAwO1xuICAgICAgICAgIC8vZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweCAwIDEwcHggMDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucG9zdC1maWx0ZXJzLXN1Ym1pdCB7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAvL3BhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICAvL2Rpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgLy9jb2xvcjogJGJyYW5kUHJpbWFyeTsvLyBsaWdodGVuKCRicmFuZFByaW1hcnksIDIwJSk7XG4gICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KGxpZ2h0ZW4oJGJyYW5kU2Vjb25kYXJ5LCA1JSksIGRhcmtlbigkYnJhbmRTZWNvbmRhcnksIDUlKSk7XG4gICAgICAgICAgLy9ib3JkZXI6IDJweCBzb2xpZCAkYnJhbmRTZWNvbmRhcnk7XG4gICAgICAgICAgY29sb3I6ICRicmFuZFByaW1hcnk7XG4gICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG5cbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRTZWNvbmRhcnk7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KGxpZ2h0ZW4oJG1lZGl1bUdyYXksIDEwJSksIGRhcmtlbigkbWVkaXVtR3JheSwgMTAlKSk7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGdyYXk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJG1lZGl1bUdyYXksIGRhcmtlbigkbWVkaXVtR3JheSwgMjAlKSk7XG4gICAgICAgICAgICAvL2NvbG9yOiAkb2ZmV2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3Jlc3BvbnNlIHtcbiAgICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgICAgIH1cblxuXG5cblxuLypcbi5sZWFybmluZy1hc3NldHMtbmF2LXdyYXAge1xuICBAaW5jbHVkZSB3cmFwO1xuICBAaW5jbHVkZSBpbm5lci13cmFwO1xuICBAaW5jbHVkZSBjb250YWluZXI7XG4gIC8vQGluY2x1ZGUgc3BhY2VyLXRvcDtcbiAgLy9AaW5jbHVkZSBzcGFjZXItYm90dG9tO1xuICAvL3dpZHRoOiAxMDAlO1xuICAvL3BhZGRpbmc6IDMwcHggMDtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xufVxuICAubGVhcm5pbmctYXNzZXRzLW5hdiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgLy9oZWlnaHQ6IDYwcHg7XG5cbiAgICB1bCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIC8vaGVpZ2h0OiA2MHB4O1xuICAgICAgLy9tYXJnaW46IDAgYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIC8vZmxleC1iYXNpczogYXV0bztcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgLy9hbGlnbi1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgLy9hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweCAwIDI1cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4IDAgMCAwO1xuICAgICAgICAgICAgLy9ib3JkZXItbGVmdDogdW5zZXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgcGFkZGluZzogMCAyNXB4IDAgMTVweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAyMHB4IDA7XG4gICAgICAgICAgICAvL2JvcmRlci1yaWdodDogdW5zZXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIGNlbnRlciBhbGlnbiBsaW5rIHRleHRcbiAgICAgICAgICBib3JkZXItdG9wOiAycHggbGlnaHRlbigkYnJhbmRQcmltYXJ5LCAxMCUpIHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IGRhcmtlbigkYnJhbmRQcmltYXJ5LCAxMCUpIHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBkYXJrZW4oJGJyYW5kUHJpbWFyeSwgMTAlKSBzb2xpZDtcbiAgICAgICAgICBib3JkZXItbGVmdDogMnB4IGxpZ2h0ZW4oJGJyYW5kUHJpbWFyeSwgMTAlKSBzb2xpZDtcbiAgICAgICAgICAvL2JhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChsaWdodGVuKCRicmFuZFByaW1hcnksIDUlKSwgZGFya2VuKCRicmFuZFByaW1hcnksIDUlKSk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kUHJpbWFyeTtcbiAgICAgICAgICBjb2xvcjogJG9mZldoaXRlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuKi9cblxuXG4ubGVhcm5pbmctYXNzZXRzLXN1YmplY3Qtd3JhcCB7XG4gIEBpbmNsdWRlIHdyYXA7XG59XG4gIC5sZWFybmluZy1hc3NldHMtc3ViamVjdCB7XG4gICAgQGluY2x1ZGUgaW5uZXItd3JhcDtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIH1cbiAgICAubGVhcm5pbmctYXNzZXRzIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxMDAlKTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgICAgIGNvbHVtbi1nYXA6IDA7XG4gICAgICByb3ctZ2FwOiAzMHB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCA0OCUpO1xuICAgICAgICAvL2dyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgICAgICAgY29sdW1uLWdhcDogNCU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAzMSUpO1xuICAgICAgICAvL2dyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgICAgICAgY29sdW1uLWdhcDogMy41JTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAyMy41JSk7XG4gICAgICAgIC8vZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgICAgICBjb2x1bW4tZ2FwOiAyJTtcbiAgICAgIH1cbiAgICB9XG4gICAgICAvLy5sZWFybmluZy1hc3NldHMtdG9waWMge1xuXG4gICAgICAvL31cblxuICAgICAgLmxlYXJuaW5nLWFzc2V0IHtcbiAgICAgICAgLy9taW4td2lkdGg6IDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAvL21pbi1hc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6ICRicmFuZFByaW1hcnk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI1cHggMDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJyYW5kUHJpbWFyeTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgLy9jb2xvcjogJG9mZldoaXRlO1xuICAgICAgICAgIGNvbG9yOiAkYnJhbmRQcmltYXJ5O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcC5sZWFybmluZy1hc3NldC1zb3VyY2Uge1xuICAgICAgICAgIC8vbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgIC8vbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAvL3RleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLndyYXBwaW5nLWxpbmsge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiJdfQ== */
