@charset "UTF-8";
:root {
  --black: rgba(0, 0, 0, 1);
  --white: rgba(255, 255, 255, 1);
  --grey: rgba(140, 140, 140, 1);
  --red: rgba(255, 0, 0, 1); }

/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
/* Document
   ========================================================================== */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0; }

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  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
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block; }

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px; }

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr,
hr.wp-block-separator {
  box-sizing: content-box;
  /* 1 */
  height: 1px;
  /* 1 */
  background: var(--grey);
  border: none;
  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
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0; }

/**
 * 1. Remove the bottom border in Firefox 39-.
 * 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 */ }

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit; }

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

/**
 * 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 style in Android 4.3-.
 */
dfn {
  font-style: italic; }

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000; }

/**
 * 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
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block; }

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
  max-width: 100%;
  height: auto; }

iframe {
  max-width: 100%; }

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 0; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 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; }

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

/**
 * 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; }

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 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 */ }

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Remove the default vertical scrollbar in IE.
 */
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 and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[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 IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block; }

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

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block; }

/**
 * Add the correct display in IE.
 */
template {
  display: none; }

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

.content--inner {
  min-height: calc(100vh - 300px); }

@media screen and (max-width: 960px) {
  .content {
    min-height: unset; } }

.entry--header {
  display: grid;
  grid-template-columns: 68% 30%;
  grid-column-gap: 2%;
  max-width: 1560px;
  margin: 20px 20px 40px; }

.single-publication .entry--header {
  grid-template-columns: 2fr 1fr;
  grid-gap: 20px; }

.entry--header .entry--title, .entry--header-small .entry--title {
  grid-column-start: 1;
  margin: 0; }

.entry--content > h2,
.entry--content > h3,
.entry--content > h4,
.entry--content > p,
.entry--content > ul,
.entry--content > ol,
.entry--content > div,
.entry--content > figure {
  margin-left: 20px;
  margin-right: 20px;
  max-width: 1600px; }

.entry--content .wp-block-bl-download {
  margin: 0 0 20px;
  max-width: none; }

.entry--content .wp-block-bl-toggle {
  margin: 0;
  max-width: none; }

.entry--content .wp-block-bl-toggle .wp-block-columns {
  margin-left: 0;
  margin-right: 0; }

.entry--image {
  margin: 0 20px 1.4em; }

.entry--header .entry--image {
  margin: 0; }

@media screen and (max-width: 1366px) {
  .entry--header {
    grid-template-columns: 100%;
    grid-row-gap: .5em;
    margin: 10px 10px 20px; }
  .single-publication .entry--header {
    grid-template-columns: 1fr; } }

@media screen and (max-width: 960px) {
  .entry--content {
    margin: 0 10px; }
  .entry--content > h2,
  .entry--content > h3,
  .entry--content > h4,
  .entry--content > p,
  .entry--content > ul,
  .entry--content > ol,
  .entry--content > div,
  .entry--content > figure {
    margin-left: 0;
    margin-right: 0; }
  .entry--image {
    margin: 0 10px 1.4em; } }

.page--header, .page--subheader {
  max-width: 1560px;
  margin: 20px; }

.page--header + .page--subheader {
  margin-top: -10px; }

@media screen and (max-width: 960px) {
  .page--header, .page--subheader {
    margin: 10px; } }

@media screen and (max-width: 960px) {
  .hide-mobile {
    display: none !important; } }

@media screen and (min-width: 961px) {
  .hide-desktop {
    display: none !important; } }

/**
 * Swiper 5.3.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://swiperjs.com
 *
 * Copyright 2014-2020 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: January 11, 2020
 */
:root {
  --swiper-theme-color: #007aff; }

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1; }

.swiper-container-vertical > .swiper-wrapper {
  flex-direction: column; }

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  box-sizing: content-box; }

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
          transform: translate3d(0px, 0, 0); }

.swiper-container-multirow > .swiper-wrapper {
  flex-wrap: wrap; }

.swiper-container-multirow-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column; }

.swiper-container-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto; }

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }

.swiper-slide-invisible-blank {
  visibility: hidden; }

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto; }

.swiper-container-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: height, -webkit-transform;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform; }

/* 3D Effects */
.swiper-container-3d {
  -webkit-perspective: 1200px;
          perspective: 1200px; }

.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d; }

.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10; }

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

/* CSS Mode */
.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */ }

.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none; }

.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start; }

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory; }

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
  -ms-scroll-snap-type: y mandatory;
      scroll-snap-type: y mandatory; }

:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-color: var(--swiper-theme-color);
  */ }

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(-1 * var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color)); }

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none; }

.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  text-transform: none;
  font-variant: initial; }

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  left: 10px;
  right: auto; }

.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after {
  content: 'prev'; }

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  right: 10px;
  left: auto; }

.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after {
  content: 'next'; }

.swiper-button-prev.swiper-button-white,
.swiper-button-next.swiper-button-white {
  --swiper-navigation-color: #ffffff; }

.swiper-button-prev.swiper-button-black,
.swiper-button-next.swiper-button-black {
  --swiper-navigation-color: #000000; }

.swiper-button-lock {
  display: none; }

:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  */ }

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  z-index: 10; }

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0; }

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 10px;
  left: 0;
  width: 100%; }

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(0.33);
          transform: scale(0.33);
  position: relative; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  -webkit-transform: scale(1);
          transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -webkit-transform: scale(1);
          transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  -webkit-transform: scale(0.66);
          transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  -webkit-transform: scale(0.33);
          transform: scale(0.33); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  -webkit-transform: scale(0.66);
          transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  -webkit-transform: scale(0.33);
          transform: scale(0.33); }

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: 0.2; }

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer; }

.swiper-pagination-bullet-active {
  opacity: 1;
  background: var(--swiper-pagination-color, var(--swiper-theme-color)); }

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0px, -50%, 0);
          transform: translate3d(0px, -50%, 0); }

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 8px; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms top, 200ms -webkit-transform;
  transition: 200ms transform, 200ms top;
  transition: 200ms transform, 200ms top, 200ms -webkit-transform; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  white-space: nowrap; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms left, 200ms -webkit-transform;
  transition: 200ms transform, 200ms left;
  transition: 200ms transform, 200ms left, 200ms -webkit-transform; }

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms right, 200ms -webkit-transform;
  transition: 200ms transform, 200ms right;
  transition: 200ms transform, 200ms right, 200ms -webkit-transform; }

/* Progress */
.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute; }

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transform-origin: left top;
          transform-origin: left top; }

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
          transform-origin: right top; }

.swiper-container-horizontal > .swiper-pagination-progressbar,
.swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0; }

.swiper-container-vertical > .swiper-pagination-progressbar,
.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0; }

.swiper-pagination-white {
  --swiper-pagination-color: #ffffff; }

.swiper-pagination-black {
  --swiper-pagination-color: #000000; }

.swiper-pagination-lock {
  display: none; }

/* Scrollbar */
.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1); }

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%; }

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%; }

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0; }

.swiper-scrollbar-cursor-drag {
  cursor: move; }

.swiper-scrollbar-lock {
  display: none; }

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center; }

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain; }

.swiper-slide-zoomed {
  cursor: move; }

/* Preloader */
:root {
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  */ }

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
          transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s infinite linear;
          animation: swiper-preloader-spin 1s infinite linear;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent; }

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff; }

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000; }

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

/* a11y */
.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000; }

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  transition-timing-function: ease-out; }

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity; }

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube {
  overflow: visible; }

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
  width: 100%;
  height: 100%; }

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
          transform-origin: 100% 0; }

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-prev,
.swiper-container-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible; }

.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0; }

.swiper-container-flip {
  overflow: visible; }

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1; }

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-flip .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-flip .swiper-slide-shadow-top,
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

:root {
  --swiper-theme-color: rgba(0, 0, 0, 1); }

.wp-block-bl-slideshow .swiper-slide {
  width: auto;
  margin: 0 20px 0 0;
  align-self: center; }

/**
 * Set up a decent box model on the root element
 */
html {
  box-sizing: border-box; }

/**
 * Make all elements from the DOM inherit from the parent box-sizing
 * Since `*` has a specificity of 0, it does not override the `html` value
 * making all elements inheriting from the root box-sizing value
 * See: https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
*,
*::before,
*::after {
  box-sizing: inherit; }

body {
  margin: 0; }

/**
 * Basic styles for links
 */
a {
  color: var(--black);
  text-decoration: none;
  transition: color .4s; }

a:hover, a:active, a:focus {
  color: var(--grey); }

@font-face {
  font-family: Sneak;
  src: url("../../public/assets/fonts/Sneak-Regular.woff2") format("woff2"), url("../../public/assets/fonts/Sneak-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  -webkit-font-feature-settings: "ss03";
          font-feature-settings: "ss03"; }

@font-face {
  font-family: Sneak;
  src: url("../../public/assets/fonts/Sneak-Regular-Italic.woff2") format("woff2"), url("../../public/assets/fonts/Sneak-Regular-Italic.woff") format("woff");
  font-weight: 400;
  font-style: italic;
  -webkit-font-feature-settings: "ss03";
          font-feature-settings: "ss03"; }

@font-face {
  font-family: Sneak;
  src: url("../../public/assets/fonts/Sneak-Medium.woff2") format("woff2"), url("../../public/assets/fonts/Sneak-Medium.woff") format("woff");
  font-weight: 800;
  font-style: normal;
  -webkit-font-feature-settings: "ss03";
          font-feature-settings: "ss03"; }

@font-face {
  font-family: Sneak;
  src: url("../../public/assets/fonts/Sneak-Medium-Italic.woff2") format("woff2"), url("../../public/assets/fonts/Sneak-Medium-Italic.woff") format("woff");
  font-weight: 800;
  font-style: italic;
  -webkit-font-feature-settings: "ss03";
          font-feature-settings: "ss03"; }

@font-face {
  font-family: "Kunstraum Kreuzberg";
  src: url("../../public/assets/fonts/kunstraum-kreuzberg.ttf"); }

@font-face {
  font-family: 'swiper-icons';
  src: url("data:application/font-woff;charset=utf-8;base64, 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") format("woff");
  font-weight: 400;
  font-style: normal; }

/**
 * Basic typography style for copy text
 */
body {
  color: var(--black);
  font: normal 1.25rem/1.4 Sneak, "Helvetica Neue Light", "Helvetica Neue", "Helvetica", "Arial", sans-serif; }

h1,
h2,
h3,
h4,
h5 {
  margin: 0;
  font-weight: 400; }

h1,
h2,
.program--teaser .entry--header {
  font-size: 4.5rem;
  line-height: 4.625rem;
  letter-spacing: -1.2px;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto; }

@media screen and (max-width: 960px) {
  h1,
  h2,
  .program--teaser .entry--header {
    font-size: 3.125rem;
    line-height: 3.25rem;
    -webkit-hyphens: auto;
        -ms-hyphens: auto;
            hyphens: auto; } }

h3,
.navigation-main--elements,
#home-menu,
.text-large {
  font-size: 2.5rem;
  line-height: 1;
  letter-spacing: -.8px; }

.wp-block-bl-toggle h4,
.entry--intro {
  font-size: 1.875rem;
  line-height: 2.375rem;
  letter-spacing: -.5px; }

h4,
.featured-swiper h2,
.navigation-main--elements ul {
  font-size: 1.5rem;
  line-height: 2rem;
  letter-spacing: -.45px; }

p {
  margin: 0 0 1.4em; }

.entry--content h2,
.entry--content h3 {
  margin-bottom: .25em; }

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

/**
 * Clear inner floats
 */
.clearfix::after {
  clear: both;
  content: '';
  display: table; }

/**
 * Hide text while making it readable for screen readers
 * 1. Needed in WebKit-based browsers because of an implementation bug;
 *    See: https://code.google.com/p/chromium/issues/detail?id=457146
 */
.hide-text {
  overflow: hidden;
  padding: 0;
  /* 1 */
  text-indent: 101%;
  white-space: nowrap; }

/**
 * Hide element while making it readable for screen readers
 * Shamelessly borrowed from HTML5Boilerplate:
 * https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css#L119-L133
 */
.visually-hidden,
.screen-reader-text {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.site--footer {
  position: relative;
  background: var(--white);
  border-top: 1px solid var(--grey);
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto; }

.site--footer > .grid--4 {
  grid-column: 2/span 2;
  margin: 20px; }

.site--footer h3 {
  margin: 0 0 .4em; }

@media screen and (max-width: 1470px) {
  .site--footer > .grid--4 {
    overflow-wrap: anywhere; } }

@media screen and (max-width: 1366px) {
  .site--footer > .grid--4 {
    grid-template-columns: repeat(2, 1fr); } }

@media screen and (max-width: 960px) {
  .site--footer > .grid--4 {
    grid-template-columns: 1fr;
    margin: 10px; } }

.grid--4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 20px; }

@media screen and (max-width: 1024px) {
  .grid--4 {
    grid-template-columns: repeat(2, 1fr); } }

@media screen and (max-width: 960px) {
  .grid--4 {
    grid-template-columns: 1fr; } }

.grid--main {
  display: grid;
  grid-template-columns: 90px calc(100% - 90px - 20%) 20%;
  transition: grid-template-columns .2s ease-out;
  transition: grid-template-columns .2s ease-out, -ms-grid-columns .2s ease-out; }

.nav-open .grid--main {
  grid-template-columns: 280px calc(100% - 280px - 20%) 20%; }

@media screen and (max-width: 960px) {
  .grid--main,
  .nav-open .grid--main {
    grid-template-columns: 0 100%; }
  .grid--main .sidebar {
    grid-column: 2; } }

.grid--2-1 {
  max-width: 1600px;
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-gap: 20px; }

@media screen and (max-width: 960px) {
  .grid--2-1 {
    grid-template-columns: 1fr; } }

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

.archive--list,
.archive--list ul,
.archive--list ul li {
  border-bottom: 1px solid var(--grey); }

.archive--list:last-of-type,
.archive--list ul:last-of-type,
.archive--list ul li:last-of-type {
  border-bottom: none; }

.archive--list li .toggle-next {
  margin: 20px 30px 20px 20px; }

.archive--list .type-publication {
  margin: 0 20px; }

.archive--list .type-publication .entry--intro {
  margin: 0; }

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

.archive--list .entry--header {
  margin-left: 0;
  margin-right: 0; }

.archive--content {
  border-bottom: 1px solid var(--grey); }

.archive--content .featured-swiper {
  margin: 20px;
  max-width: 1600px; }

@media screen and (max-width: 960px) {
  .archive li .toggle-next {
    margin: 10px 20px 10px 10px; }
  .archive .type-publication {
    margin: 0; }
  .archive .entry--header {
    margin-left: 10px;
    margin-right: 10px; }
  .archive--content .featured-swiper {
    margin: 20px 10px; } }

button,
.button {
  display: inline-block;
  border: 1px solid var(--grey);
  padding: 5px 20px;
  transition: color .4s, background .4s; }

button:hover,
.button:hover {
  color: var(--white);
  background: var(--grey); }

.button:hover a {
  color: var(--white); }

@media screen and (max-width: 960px) {
  .button {
    padding: 5px 8px; } }

.wp-block-bl-download {
  border-bottom: 1px solid var(--grey);
  padding: 0 20px 20px; }

.wp-block-bl-download h2 {
  display: flex;
  flex-flow: row;
  max-width: 1600px;
  margin: 0; }

.wp-block-bl-download h2 a {
  margin: 0 0 0 auto; }

.wp-block-bl-download p {
  margin: 0; }

.wp-block-bl-download .icon-download:before {
  content: "↓";
  text-decoration: underline; }

.wp-block-bl-download:last-child {
  border: none; }

@media screen and (max-width: 960px) {
  .wp-block-bl-download {
    padding: 20px 10px; } }

.header-navigation {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1200; }

.admin-bar .header-navigation {
  top: 32px; }

.header-navigation--elements {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-flow: column;
  width: 90px;
  height: 100vh;
  margin: 0;
  padding: 100px 0 10px 17px;
  background: var(--white);
  list-style: none;
  transition: width .2s ease-out;
  border-right: 1px solid var(--grey);
  overflow: hidden; }

body:not(.nav-open) .header-navigation--elements:hover {
  cursor: pointer; }

body:not(.nav-open) .header-navigation--elements:hover a {
  color: var(--black); }

.header-navigation--elements ul {
  list-style: none;
  margin: 0;
  padding: 0;
  white-space: nowrap; }

.header-navigation--elements .sub-menu {
  padding: 0 0 0 1em; }

.header-navigation--elements .sub-menu li {
  margin: 0; }

.header-navigation--elements .navigation-sub--elements {
  margin: auto 0 0; }

.header-navigation--elements .navigation-sub--elements li {
  margin: 0; }

.header-navigation--elements li {
  margin: 5px; }

.header-navigation--elements a {
  color: var(--grey); }

.header-navigation--elements a:hover, .header-navigation--elements a:active, .header-navigation--elements a:focus {
  color: var(--black); }

.header-navigation--elements .current-menu-item a,
.header-navigation--elements .current_page_item a {
  color: var(--black); }

.header-navigation-main--elements ul {
  display: none; }

.header-navigation-main--elements .current-menu-item ul,
.header-navigation-main--elements .current-menu-parent ul {
  display: block; }

.header-navigation--button {
  position: relative;
  z-index: 1;
  display: block;
  margin: 15px 20px;
  cursor: pointer; }

.header-navigation--button-icon {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: block;
  font: normal 4.5rem/4.625rem "Kunstraum Kreuzberg";
  font-variation-settings: 'wght' 82, 'wdth' 100;
  transition: font-variation-settings .2s ease-out; }

.header-navigation--toggle {
  display: none; }

.header-navigation--toggle:checked ~ .header-navigation--elements {
  width: 280px; }

.header-navigation--toggle:checked + .header-navigation--button .header-navigation--button-icon {
  font-variation-settings: 'wght' 82, 'wdth' 420; }

@media screen and (max-width: 960px) {
  .header-navigation {
    position: static; }
  .header-navigation--elements {
    width: 100%;
    z-index: 2;
    padding-top: 17px;
    padding-left: 10px;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    transition: -webkit-transform .4s;
    transition: transform .4s;
    transition: transform .4s, -webkit-transform .4s; }
  .header-navigation li {
    margin: 5px 0; }
  .header-navigation--button {
    z-index: 4;
    margin: 0 2px;
    text-align: right; }
  .header-navigation--button-icon {
    position: static;
    font-size: 15vw;
    font-variation-settings: 'wght' 82, 'wdth' 793;
    margin: 0 5px; }
  .header-navigation--toggle:checked ~ .header-navigation--elements {
    width: 100%;
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  .home .header-navigation .header-navigation--button-icon {
    font-variation-settings: 'wght' 82, 'wdth' 420; }
  .header-navigation .navigation-sub--elements {
    margin: auto 0 120px; } }

.sidebar .toggle-next,
.archive--list .toggle-next {
  border-bottom: none;
  display: flex;
  margin: 0 10px 10px 0;
  max-width: 1600px; }

.sidebar .toggle-next:after,
.archive--list .toggle-next:after {
  content: 'next';
  display: inline-block;
  margin: 0 0 0 auto;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  letter-spacing: 0;
  text-transform: none;
  font-variant: initial; }

.sidebar .toggle-next.toggle-active:after,
.archive--list .toggle-next.toggle-active:after {
  -webkit-transform: rotate(270deg);
          transform: rotate(270deg); }

.sidebar .toggle-next {
  display: block; }

.sidebar .toggle-next:after {
  margin: 0 0 0 10px;
  font-size: 1.25rem; }

.post-navigation,
.posts-navigation {
  padding: 20px;
  border-top: 1px solid var(--grey); }

.post-navigation h3,
.posts-navigation h3 {
  margin: 0 0 .4em; }

@media screen and (max-width: 960px) {
  .post-navigation,
  .posts-navigation {
    padding: 20px 10px; } }

.post-navigation .program--current ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2%; }

.post-navigation .program--current li {
  flex-basis: 49%; }

.post-navigation .program--current .program--teaser-small {
  display: flex;
  flex-flow: column;
  margin-bottom: 20px; }

@media screen and (max-width: 960px) {
  .post-navigation .program--current {
    border-bottom: 1px solid var(--grey); }
  .post-navigation .program--current li {
    flex-basis: 100%; } }

#home-menu {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  margin: 5px 0;
  padding: 40px 0 10px 17px; }

@media screen and (max-width: 960px) {
  #home-menu {
    padding-top: 18px;
    padding-left: 10px; } }

@media screen and (max-width: 960px) {
  .nav-open {
    overflow: hidden; } }

.nav-links {
  display: flex; }

.nav-links .nav-next {
  margin: 0 0 0 auto; }

@media screen and (max-width: 960px) {
  .nav-links {
    flex-flow: wrap; }
  .nav-links > div {
    white-space: nowrap; } }

.news--home .type-post {
  border-bottom: 1px solid var(--grey); }

.news--home .type-post:last-child {
  border-bottom: none; }

.news--home .type-post:last-child .type-post--inner {
  margin-bottom: 20px; }

.news--home .type-post--inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 1em 20px;
  max-width: 1600px; }

.news--home .entry--header {
  grid-column: 1/span 2;
  grid-template-columns: 1fr;
  margin-right: 30%; }

.news--home .entry--content {
  grid-column: 1/span 2;
  margin-top: 0; }

.news--home .entry--image {
  margin-left: 10px;
  margin-right: 10px; }

@media screen and (max-width: 960px) {
  .news--home .type-post--inner {
    grid-template-columns: 1fr; }
  .news--home .type-post--inner .entry--header {
    margin: 40px 10px 10px; }
  .news--home .entry--header {
    grid-column: 1; } }

.single-post .type-post {
  padding: 20px;
  max-width: 1600px; }

.single-post .type-post--inner .entry--image,
.single-post .type-post--inner .entry--content > h2,
.single-post .type-post--inner .entry--content > h3,
.single-post .type-post--inner .entry--content > h4,
.single-post .type-post--inner .entry--content > p,
.single-post .type-post--inner .entry--content > ul,
.single-post .type-post--inner .entry--content > ol,
.single-post .type-post--inner .entry--content > div,
.single-post .type-post--inner .entry--content > figure {
  margin-left: 0;
  margin-right: 0; }

.single-post .type-post .entry--header {
  margin: 0 0 1em; }

.single-post .type-post .entry--image img {
  display: block;
  margin: 0 0 1em; }

@media screen and (max-width: 960px) {
  .single-post .type-post {
    padding: 10px; }
  .single-post .type-post .entry--content {
    margin: 0; } }

.slideshow-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1400;
  height: 100%;
  display: grid;
  grid-template-columns: 70px calc(75% - 35px) calc(20% - 35px);
  color: var(--white);
  background: var(--black);
  transition: opacity .4s; }

.slideshow-overlay--text {
  display: flex;
  flex-flow: column;
  padding: 10px; }

.slideshow-overlay--close:after {
  content: "\00d7";
  padding: 20px;
  font-size: 3.125rem;
  line-height: 1;
  color: var(--white);
  cursor: pointer; }

.slideshow-overlay .swiper-container {
  width: 100%;
  border-left: 1px solid var(--white);
  border-right: 1px solid var(--white); }

.slideshow-overlay .swiper-slide {
  display: flex; }

.slideshow-overlay .swiper-slide img {
  width: auto;
  max-height: 100%;
  margin: auto; }

.slideshow-overlay .swiper-pagination {
  position: static;
  margin: auto 0 0;
  text-align: left; }

.slideshow-overlay .entry--title {
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto; }

@media screen and (max-width: 960px) {
  .slideshow-overlay {
    grid-template-columns: 100%; }
  .slideshow-overlay .swiper-container {
    border: none; } }

.program--current:not(:last-child) {
  border-bottom: 1px solid var(--grey); }

.program--small .entry--header {
  margin: 20px; }

.program--small ul {
  margin: 20px;
  padding: 0;
  max-width: 1600px;
  list-style: none; }

.post-navigation .program--small ul {
  margin: 0; }

.program--teaser {
  border-bottom: 1px solid var(--grey); }

.program--teaser:last-child, .program--teaser:last-of-type {
  border-bottom: none; }

.program--teaser .entry--image img {
  display: block; }

.program--teaser-small {
  display: grid;
  grid-template-columns: 49% 49%;
  grid-gap: 2%; }

.program .entry--header {
  margin: 20px 20px 80px; }

.program .entry--image {
  margin-top: 20px; }

@media screen and (max-width: 960px) {
  .program--small .entry--header,
  .program--small ul {
    margin: 10px; }
  .program--small ul {
    grid-template-columns: 1fr; }
  .program--small li {
    margin: 0 0 20px; }
  .program .entry--header {
    margin: 10px 10px 60px; } }

.sidebar {
  position: fixed;
  right: 0;
  width: 20%;
  height: 100vh;
  overflow: auto;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
  border-left: 1px solid var(--grey); }

.sidebar--inner {
  margin: 10px;
  padding-bottom: 28vh; }

.sidebar--inner h2:first-child {
  margin-top: 44px; }

.sidebar ul {
  list-style: none; }

.sidebar .divided li {
  margin: 0 auto 20px;
  padding: 0 0 20px;
  border-bottom: 1px solid var(--grey); }

.sidebar .divided li:last-child {
  border: none; }

.sidebar h2,
.sidebar h3,
.sidebar h4,
.sidebar ul,
.sidebar li {
  margin: 0;
  padding: 0; }

.sidebar p + h3 {
  margin-top: -1.2em; }

.sidebar .toggle-container {
  margin: 0 0 1em; }

@media screen and (max-width: 960px) {
  .sidebar {
    position: static;
    width: auto;
    height: auto;
    overflow: unset;
    border: none; }
  .sidebar--inner {
    padding-bottom: 0; } }

.wp-block-bl-slideshow {
  margin: 3em 0; }

.featured-swiper .swiper-slide {
  width: auto;
  max-width: 500px;
  margin: 0 20px 0 0;
  align-self: center; }

.featured-swiper .entry--header {
  display: block;
  margin: 0; }

.featured-swiper img {
  display: block;
  margin: 0 auto 10px; }

@media screen and (max-width: 960px) {
  .featured-swiper .swiper-slide {
    max-width: 100%; } }

.wp-block-bl-toggle {
  padding: 40px 20px;
  border-bottom: 1px solid var(--grey); }

.wp-block-bl-toggle:last-of-type {
  border-bottom: none; }

.wp-block-bl-toggle > h3 {
  max-width: 1600px; }

.wp-block-bl-toggle > h3 a {
  display: flex; }

.wp-block-bl-toggle > h3 a:after {
  content: 'next';
  display: inline-block;
  margin: 0 10px 0 auto;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  letter-spacing: 0;
  text-transform: none;
  font-variant: initial;
  width: 25px;
  height: 47px; }

.wp-block-bl-toggle > h3 a.toggle-active:after {
  -webkit-transform: rotate(270deg);
          transform: rotate(270deg); }

@media screen and (max-width: 960px) {
  .wp-block-bl-toggle {
    padding: 20px 0; }
  .wp-block-bl-toggle > h3 {
    -webkit-hyphens: auto;
        -ms-hyphens: auto;
            hyphens: auto; } }

.toggle-container {
  display: none;
  margin: 1em 0;
  max-width: 1600px; }

.toggle-next-open + .toggle-container {
  display: block; }

.page-id-2903 {
  line-height: 1.5; }

#menu-item-3046 a:before {
  content: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxMjAgMTIwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6IzhDOEM4Qzt9Cjwvc3R5bGU+CjxnPgoJPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iNjEuNCIgY3k9IjE4LjEiIHI9IjE3LjEiLz4KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik04My45LDQxLjFjLTEyLjEsNS0yMi41LDE1LTIyLjUsMTVzLTEwLjQtMTAtMjIuNS0xNWMtMTQuNC01LjktMjkuMS01LjktMjkuMS01Ljl2NjMuNmMwLDAsOC45LTAuOSwyNS44LDQuMwoJCVM2MS40LDExOSw2MS40LDExOXM4LjktMTAuNywyNS44LTE1LjlzMjUuOC00LjMsMjUuOC00LjNWMzUuMkMxMTMsMzUuMiw5OC4zLDM1LjIsODMuOSw0MS4xeiIvPgo8L2c+Cjwvc3ZnPgo=");
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 10px; }

#menu-item-3046 a:hover:before {
  content: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxMjAgMTIwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnPgoJPGNpcmNsZSBjeD0iNjEuNCIgY3k9IjE4LjEiIHI9IjE3LjEiLz4KCTxwYXRoIGQ9Ik04My45LDQxLjFjLTEyLjEsNS0yMi41LDE1LTIyLjUsMTVzLTEwLjQtMTAtMjIuNS0xNWMtMTQuNC01LjktMjkuMS01LjktMjkuMS01Ljl2NjMuNmMwLDAsOC45LTAuOSwyNS44LDQuMwoJCVM2MS40LDExOSw2MS40LDExOXM4LjktMTAuNywyNS44LTE1LjlzMjUuOC00LjMsMjUuOC00LjNWMzUuMkMxMTMsMzUuMiw5OC4zLDM1LjIsODMuOSw0MS4xeiIvPgo8L2c+Cjwvc3ZnPgo="); }

body:not(.nav-open) .header-navigation--elements:hover #menu-item-3046 a:before {
  content: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxMjAgMTIwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjAgMTIwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnPgoJPGNpcmNsZSBjeD0iNjEuNCIgY3k9IjE4LjEiIHI9IjE3LjEiLz4KCTxwYXRoIGQ9Ik04My45LDQxLjFjLTEyLjEsNS0yMi41LDE1LTIyLjUsMTVzLTEwLjQtMTAtMjIuNS0xNWMtMTQuNC01LjktMjkuMS01LjktMjkuMS01Ljl2NjMuNmMwLDAsOC45LTAuOSwyNS44LDQuMwoJCVM2MS40LDExOSw2MS40LDExOXM4LjktMTAuNywyNS44LTE1LjlzMjUuOC00LjMsMjUuOC00LjNWMzUuMkMxMTMsMzUuMiw5OC4zLDM1LjIsODMuOSw0MS4xeiIvPgo8L2c+Cjwvc3ZnPgo="); }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwiYWJzdHJhY3RzL192YXJpYWJsZXMuc2NzcyIsInZlbmRvcnMvX25vcm1hbGl6ZS5zY3NzIiwiYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsInZlbmRvcnMvX3N3aXBlci5zY3NzIiwidmVuZG9ycy9fc3dpcGVyLWN1c3RvbS5zY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwiYmFzZS9fZm9udHMuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsImFic3RyYWN0cy9fZnVuY3Rpb25zLnNjc3MiLCJiYXNlL19oZWxwZXJzLnNjc3MiLCJsYXlvdXQvX2Zvb3Rlci5zY3NzIiwibGF5b3V0L19ncmlkLnNjc3MiLCJjb21wb25lbnRzL19hcmNoaXZlLnNjc3MiLCJjb21wb25lbnRzL19idXR0b24uc2NzcyIsImNvbXBvbmVudHMvX2Rvd25sb2FkLnNjc3MiLCJjb21wb25lbnRzL19uYXZpZ2F0aW9uLnNjc3MiLCJjb21wb25lbnRzL19uZXdzLnNjc3MiLCJjb21wb25lbnRzL19vdmVybGF5LnNjc3MiLCJjb21wb25lbnRzL19wcm9ncmFtLnNjc3MiLCJjb21wb25lbnRzL19zaWRlYmFyLnNjc3MiLCJjb21wb25lbnRzL19zbGlkZXNob3cuc2NzcyIsImNvbXBvbmVudHMvX3RvZ2dsZS5zY3NzIiwidGhlbWVzL19kZWZhdWx0LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDa0JoQjtFQUNFLHlCQUFPO0VBQ1AsK0JBQU87RUFDUCw4QkFBTTtFQUNOLHlCQUFLLEVBQUE7O0FDdEJQLDJFQUFBO0FBRUE7Ozs7O0VGV0U7QUVKRjsrRUZNK0U7QUVIL0U7RUFDRSx1QkFBdUI7RUFBRSxNQUFBO0VBQ3pCLGlCQUFpQjtFQUFFLE1BQUE7RUFDbkIsMEJBQTBCO0VBQUUsTUFBQTtFQUM1Qiw4QkFBOEI7RUFBRSxNQUFBLEVBQU87O0FBR3pDOytFRlErRTtBRUwvRTs7RUZRRTtBRUpGO0VBQ0UsU0FBUyxFQUFBOztBQUdYOztF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QUFZLEVBQUE7O0FBekJwQjtFQThCVSxpQ0FBeUI7VUFBekIseUJBQXlCLEVBQUE7O0FuQjJCL0I7RW1CekRKO0lBcUNJLGVBQWUsRUFBQTtFQXJDbkI7SUF3Q00scUJBQWE7UUFBYixpQkFBYTtZQUFiLGFBQWEsRUFBQSxFQUNkOztBQUlMO0VBQ0UsYUFBYTtFQUNiLGFBQWE7RUFDYixpQkFBaUIsRUFBQTs7QUFFakI7RUFDRSxjQUFjLEVBQUE7O0FDL0NsQjtFQUNFLGdCQUFnQixFQUFBOztBQUdsQjtFQUdNLDA4QkFBMDhCO0VBQzE4QixxQkFBcUI7RUFDckIsV0FBVztFQUNYLFlBQVk7RUFDWixrQkFBa0IsRUFBQTs7QUFQeEI7RUFXUSxrMkJBQWsyQixFQUFBOztBQUl0MkI7RUFFSSxrMkJBQWsyQixFQUFBIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuOnJvb3Qge1xuICAtLWJsYWNrOiByZ2JhKDAsIDAsIDAsIDEpO1xuICAtLXdoaXRlOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuICAtLWdyZXk6IHJnYmEoMTQwLCAxNDAsIDE0MCwgMSk7XG4gIC0tcmVkOiByZ2JhKDI1NSwgMCwgMCwgMSk7IH1cblxuLyohIG5vcm1hbGl6ZS5jc3MgdjUuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gKi9cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5tYWluIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIsXG5oci53cC1ibG9jay1zZXBhcmF0b3Ige1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDFweDtcbiAgLyogMSAqL1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmV5KTtcbiAgYm9yZGVyOiBub25lO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7IH1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuaWZyYW1lIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzLFxubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLyogU2NyaXB0aW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jb250ZW50LS1pbm5lciB7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzMDBweCk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgLmNvbnRlbnQge1xuICAgIG1pbi1oZWlnaHQ6IHVuc2V0OyB9IH1cblxuLmVudHJ5LS1oZWFkZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDY4JSAzMCU7XG4gIGdyaWQtY29sdW1uLWdhcDogMiU7XG4gIG1heC13aWR0aDogMTU2MHB4O1xuICBtYXJnaW46IDIwcHggMjBweCA0MHB4OyB9XG4gIC5zaW5nbGUtcHVibGljYXRpb24gLmVudHJ5LS1oZWFkZXIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMmZyIDFmcjtcbiAgICBncmlkLWdhcDogMjBweDsgfVxuICAuZW50cnktLWhlYWRlciAuZW50cnktLXRpdGxlLCAuZW50cnktLWhlYWRlci1zbWFsbCAuZW50cnktLXRpdGxlIHtcbiAgICBncmlkLWNvbHVtbi1zdGFydDogMTtcbiAgICBtYXJnaW46IDA7IH1cblxuLmVudHJ5LS1jb250ZW50ID4gaDIsXG4uZW50cnktLWNvbnRlbnQgPiBoMyxcbi5lbnRyeS0tY29udGVudCA+IGg0LFxuLmVudHJ5LS1jb250ZW50ID4gcCxcbi5lbnRyeS0tY29udGVudCA+IHVsLFxuLmVudHJ5LS1jb250ZW50ID4gb2wsXG4uZW50cnktLWNvbnRlbnQgPiBkaXYsXG4uZW50cnktLWNvbnRlbnQgPiBmaWd1cmUge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXgtd2lkdGg6IDE2MDBweDsgfVxuXG4uZW50cnktLWNvbnRlbnQgLndwLWJsb2NrLWJsLWRvd25sb2FkIHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG5cbi5lbnRyeS0tY29udGVudCAud3AtYmxvY2stYmwtdG9nZ2xlIHtcbiAgbWFyZ2luOiAwO1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLmVudHJ5LS1jb250ZW50IC53cC1ibG9jay1ibC10b2dnbGUgLndwLWJsb2NrLWNvbHVtbnMge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uZW50cnktLWltYWdlIHtcbiAgbWFyZ2luOiAwIDIwcHggMS40ZW07IH1cbiAgLmVudHJ5LS1oZWFkZXIgLmVudHJ5LS1pbWFnZSB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNjZweCkge1xuICAuZW50cnktLWhlYWRlciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xuICAgIGdyaWQtcm93LWdhcDogLjVlbTtcbiAgICBtYXJnaW46IDEwcHggMTBweCAyMHB4OyB9XG4gICAgLnNpbmdsZS1wdWJsaWNhdGlvbiAuZW50cnktLWhlYWRlciB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gIC5lbnRyeS0tY29udGVudCB7XG4gICAgbWFyZ2luOiAwIDEwcHg7IH1cbiAgICAuZW50cnktLWNvbnRlbnQgPiBoMixcbiAgICAuZW50cnktLWNvbnRlbnQgPiBoMyxcbiAgICAuZW50cnktLWNvbnRlbnQgPiBoNCxcbiAgICAuZW50cnktLWNvbnRlbnQgPiBwLFxuICAgIC5lbnRyeS0tY29udGVudCA+IHVsLFxuICAgIC5lbnRyeS0tY29udGVudCA+IG9sLFxuICAgIC5lbnRyeS0tY29udGVudCA+IGRpdixcbiAgICAuZW50cnktLWNvbnRlbnQgPiBmaWd1cmUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmVudHJ5LS1pbWFnZSB7XG4gICAgbWFyZ2luOiAwIDEwcHggMS40ZW07IH0gfVxuXG4ucGFnZS0taGVhZGVyLCAucGFnZS0tc3ViaGVhZGVyIHtcbiAgbWF4LXdpZHRoOiAxNTYwcHg7XG4gIG1hcmdpbjogMjBweDsgfVxuXG4ucGFnZS0taGVhZGVyICsgLnBhZ2UtLXN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IC0xMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gIC5wYWdlLS1oZWFkZXIsIC5wYWdlLS1zdWJoZWFkZXIge1xuICAgIG1hcmdpbjogMTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gIC5oaWRlLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYxcHgpIHtcbiAgLmhpZGUtZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLyoqXG4gKiBTd2lwZXIgNS4zLjBcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXG4gKiBodHRwOi8vc3dpcGVyanMuY29tXG4gKlxuICogQ29weXJpZ2h0IDIwMTQtMjAyMCBWbGFkaW1pciBLaGFybGFtcGlkaVxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxuICpcbiAqIFJlbGVhc2VkIG9uOiBKYW51YXJ5IDExLCAyMDIwXG4gKi9cbjpyb290IHtcbiAgLS1zd2lwZXItdGhlbWUtY29sb3I6ICMwMDdhZmY7IH1cblxuLnN3aXBlci1jb250YWluZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIC8qIEZpeCBvZiBXZWJraXQgZmxpY2tlcmluZyAqL1xuICB6LWluZGV4OiAxOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uc3dpcGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuLnN3aXBlci1jb250YWluZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci13cmFwcGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLW11bHRpcm93ID4gLnN3aXBlci13cmFwcGVyIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLW11bHRpcm93LWNvbHVtbiA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5zd2lwZXItc2xpZGUge1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07IH1cblxuLnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmsge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLyogQXV0byBIZWlnaHQgKi9cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXIge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7IH1cblxuLyogM0QgRWZmZWN0cyAqL1xuLnN3aXBlci1jb250YWluZXItM2Qge1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItd3JhcHBlcixcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLyogQ1NTIE1vZGUgKi9cbi5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgLyogRm9yIEZpcmVmb3ggKi9cbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAvKiBGb3IgSW50ZXJuZXQgRXhwbG9yZXIgYW5kIEVkZ2UgKi8gfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZSB7XG4gIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydCBzdGFydDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsLnN3aXBlci1jb250YWluZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbC5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeSBtYW5kYXRvcnk7IH1cblxuOnJvb3Qge1xuICAtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemU6IDQ0cHg7XG4gIC8qXG4gIC0tc3dpcGVyLW5hdmlnYXRpb24tY29sb3I6IHZhcigtLXN3aXBlci10aGVtZS1jb2xvcik7XG4gICovIH1cblxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItYnV0dG9uLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogY2FsYyh2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKSAvIDQ0ICogMjcpO1xuICBoZWlnaHQ6IHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpO1xuICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkgLyAyKTtcbiAgei1pbmRleDogMTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7IH1cblxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWRpc2FibGVkLFxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zNTtcbiAgY3Vyc29yOiBhdXRvO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyLFxuLnN3aXBlci1idXR0b24tbmV4dDphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiBzd2lwZXItaWNvbnM7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSk7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC12YXJpYW50OiBpbml0aWFsOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIGxlZnQ6IDEwcHg7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dDphZnRlciB7XG4gIGNvbnRlbnQ6ICdwcmV2JzsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICByaWdodDogMTBweDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIge1xuICBjb250ZW50OiAnbmV4dCc7IH1cblxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlLFxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgLS1zd2lwZXItbmF2aWdhdGlvbi1jb2xvcjogI2ZmZmZmZjsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2sge1xuICAtLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yOiAjMDAwMDAwOyB9XG5cbi5zd2lwZXItYnV0dG9uLWxvY2sge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbjpyb290IHtcbiAgLypcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcjogdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKTtcbiAgKi8gfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgei1pbmRleDogMTA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLWhpZGRlbiB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLyogQ29tbW9uIFN0eWxlcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uLFxuLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSxcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gIGJvdHRvbTogMTBweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogQnVsbGV0cyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1tYWluIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldi1wcmV2IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dC1uZXh0IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC4yOyB9XG5cbmJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3IsIHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICByaWdodDogMTBweDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDZweCAwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiA4cHg7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLCAyMDBtcyB0b3A7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDAgNHB4OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIGxlZnQ7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbC5zd2lwZXItY29udGFpbmVyLXJ0bCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgcmlnaHQ7IH1cblxuLyogUHJvZ3Jlc3MgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDRweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLFxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gIHdpZHRoOiA0cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSB7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3I6ICNmZmZmZmY7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIHtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcjogIzAwMDAwMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogU2Nyb2xsYmFyICovXG4uc3dpcGVyLXNjcm9sbGJhciB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMSU7XG4gIGJvdHRvbTogM3B4O1xuICB6LWluZGV4OiA1MDtcbiAgaGVpZ2h0OiA1cHg7XG4gIHdpZHRoOiA5OCU7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDNweDtcbiAgdG9wOiAxJTtcbiAgei1pbmRleDogNTA7XG4gIHdpZHRoOiA1cHg7XG4gIGhlaWdodDogOTglOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWRyYWcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFnIHtcbiAgY3Vyc29yOiBtb3ZlOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWxvY2sge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2lwZXItem9vbS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBpbWcsXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gc3ZnLFxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGNhbnZhcyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuXG4uc3dpcGVyLXNsaWRlLXpvb21lZCB7XG4gIGN1cnNvcjogbW92ZTsgfVxuXG4vKiBQcmVsb2FkZXIgKi9cbjpyb290IHtcbiAgLypcbiAgLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpO1xuICAqLyB9XG5cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjFweDtcbiAgbWFyZ2luLXRvcDogLTIxcHg7XG4gIHotaW5kZXg6IDEwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIGluZmluaXRlIGxpbmVhcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tc3dpcGVyLXByZWxvYWRlci1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnN3aXBlci1sYXp5LXByZWxvYWRlci13aGl0ZSB7XG4gIC0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjogI2ZmZjsgfVxuXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLWJsYWNrIHtcbiAgLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiAjMDAwOyB9XG5cbkBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbi8qIGExMXkgKi9cbi5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAtMTAwMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlIC5zd2lwZXItc2xpZGUge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItc2xpZGUge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtcHJldixcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0ICsgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgei1pbmRleDogMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwLjY7XG4gIC13ZWJraXQtZmlsdGVyOiBibHVyKDUwcHgpO1xuICBmaWx0ZXI6IGJsdXIoNTBweCk7XG4gIHotaW5kZXg6IDA7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuOnJvb3Qge1xuICAtLXN3aXBlci10aGVtZS1jb2xvcjogcmdiYSgwLCAwLCAwLCAxKTsgfVxuXG4ud3AtYmxvY2stYmwtc2xpZGVzaG93IC5zd2lwZXItc2xpZGUge1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAwIDIwcHggMCAwO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLyoqXG4gKiBTZXQgdXAgYSBkZWNlbnQgYm94IG1vZGVsIG9uIHRoZSByb290IGVsZW1lbnRcbiAqL1xuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLyoqXG4gKiBNYWtlIGFsbCBlbGVtZW50cyBmcm9tIHRoZSBET00gaW5oZXJpdCBmcm9tIHRoZSBwYXJlbnQgYm94LXNpemluZ1xuICogU2luY2UgYCpgIGhhcyBhIHNwZWNpZmljaXR5IG9mIDAsIGl0IGRvZXMgbm90IG92ZXJyaWRlIHRoZSBgaHRtbGAgdmFsdWVcbiAqIG1ha2luZyBhbGwgZWxlbWVudHMgaW5oZXJpdGluZyBmcm9tIHRoZSByb290IGJveC1zaXppbmcgdmFsdWVcbiAqIFNlZTogaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvXG4gKi9cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAqIEJhc2ljIHN0eWxlcyBmb3IgbGlua3NcbiAqL1xuYSB7XG4gIGNvbG9yOiB2YXIoLS1ibGFjayk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgLjRzOyB9XG4gIGE6aG92ZXIsIGE6YWN0aXZlLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tZ3JleSk7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBTbmVhaztcbiAgc3JjOiB1cmwoXCIuLi8uLi9wdWJsaWMvYXNzZXRzL2ZvbnRzL1NuZWFrLVJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uL3B1YmxpYy9hc3NldHMvZm9udHMvU25lYWstUmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcInNzMDNcIjsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFNuZWFrO1xuICBzcmM6IHVybChcIi4uLy4uL3B1YmxpYy9hc3NldHMvZm9udHMvU25lYWstUmVndWxhci1JdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uL3B1YmxpYy9hc3NldHMvZm9udHMvU25lYWstUmVndWxhci1JdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJzczAzXCI7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBTbmVhaztcbiAgc3JjOiB1cmwoXCIuLi8uLi9wdWJsaWMvYXNzZXRzL2ZvbnRzL1NuZWFrLU1lZGl1bS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vLi4vcHVibGljL2Fzc2V0cy9mb250cy9TbmVhay1NZWRpdW0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJzczAzXCI7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBTbmVhaztcbiAgc3JjOiB1cmwoXCIuLi8uLi9wdWJsaWMvYXNzZXRzL2ZvbnRzL1NuZWFrLU1lZGl1bS1JdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uL3B1YmxpYy9hc3NldHMvZm9udHMvU25lYWstTWVkaXVtLUl0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcInNzMDNcIjsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiS3Vuc3RyYXVtIEtyZXV6YmVyZ1wiO1xuICBzcmM6IHVybChcIi4uLy4uL3B1YmxpYy9hc3NldHMvZm9udHMva3Vuc3RyYXVtLWtyZXV6YmVyZy50dGZcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnc3dpcGVyLWljb25zJztcbiAgc3JjOiB1cmwoXCJkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCwgZDA5R1JnQUJBQUFBQUFaZ0FCQUFBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJHUmxSTkFBQUdSQUFBQUJvQUFBQWNpNnFIa1VkRVJVWUFBQVdnQUFBQUl3QUFBQ1FBWUFCWFIxQlBVd0FBQmhRQUFBQXVBQUFBTnVBWTcreEhVMVZDQUFBRnhBQUFBRkFBQUFCbTJmUGN6VTlUTHpJQUFBSGNBQUFBU2dBQUFHQlA5VjVSWTIxaGNBQUFBa1FBQUFDSUFBQUJZdDZGMGNCamRuUWdBQUFDekFBQUFBUUFBQUFFQUJFQlJHZGhjM0FBQUFXWUFBQUFDQUFBQUFqLy93QURaMng1WmdBQUF5d0FBQURNQUFBRDJNSHRyeVZvWldGa0FBQUJiQUFBQURBQUFBQTJFMitlb1dob1pXRUFBQUdjQUFBQUh3QUFBQ1FDOWdEemFHMTBlQUFBQWlnQUFBQVpBQUFBcmdKa0FCRnNiMk5oQUFBQzBBQUFBRm9BQUFCYUZRQVVHRzFoZUhBQUFBRzhBQUFBSHdBQUFDQUFjQUJBYm1GdFpRQUFBL2dBQUFFNUFBQUNYdkZkQndsd2IzTjBBQUFGTkFBQUFHSUFBQUNFNXM3NGhYamFZMkJrWUdBQVlwZjVIdS9qK1cyK01uQXpNWURBemFYNlFqRDYvNC8vQnhqNUdBOEF1UndNWUdrQVB5d0wxM2phWTJCa1lHQTg4UDhBZ3g0aisvOGZRRFlmQTFBRUJXZ0RBSUIyQk9vQWVOcGpZR1JnWU5CaDRHZGdZZ0FCRU1uSUFCSnpZTkFEQ1FBQUNXZ0FzUUI0Mm1OZ1lmekNPSUdCbFlHQjBZY3hqWUdCd1IxS2YyV1FaR2hoWUdCaVlHVm1nQUZHQmlRUWtPYWF3dERBb01CUXhYamcvd0VHUGNZRERBNHdOVUEyQ0Nnd3NBQUFPNEVMNmdBQWVOcGoyTTBneUFBQ3F4Z0dOV0JrWjJENC93TUEreGtEZGdBQUFIamFZMkJnWUdhQVlCa0dSZ1lRaUFIeUdNRjhGZ1lISU0zRHdNSEFCR1FyTU9neVdETEVNMVQ5L3c4VUJmRU1nTHpFLy8vL1AvNS8vZi9WL3h2K3I0ZWFBQWVNYkF4d0lVWW1JTUhFZ0tZQVlqVWNzREF3c0xLeGMzQnljZlB3OGpFUUEvZ1pCQVNGaEVWRXhjUWxKS1drWldUbDVCVVVsWlJWVk5YVU5UUVpCZ01BQU1SK0UrZ0FFUUZFQUFBQUtnQXFBQ29BTkFBK0FFZ0FVZ0JjQUdZQWNBQjZBSVFBamdDWUFLSUFyQUMyQU1BQXlnRFVBTjRBNkFEeUFQd0JCZ0VRQVJvQkpBRXVBVGdCUWdGTUFWWUJZQUZxQVhRQmZnR0lBWklCbkFHbUFiSUJ6Z0hzQUFCNDJ1Mk5NUTZDVUF5R1c1Njh4OUFuZVlZZ200TUpiaEtGYUV4SU9BVlg4QXBld1N0NEJpYzRBZmVBaWQzVk9CaXhEeGZQWUV6YTVPK1hmaTA0WUFEZ2dpVUlVTEN1RUpLOFZoTzRiU3ZwZG5rdEhJNVFDWXRkaTJzbDhablhhSGxxVXJOS3pkS2NUOGNqbHErcndaU3ZJVmN6TmllenNmblAvdXpubWZQRkJOT0RNMks3TVRRNDVZRUFacUdQODFBbUdHY0YzaVBxT29wMHIxU1BUYVRiVmtmVWU0SFhqOTd3WUUreU53V1l4d1d1NHYxdWdXSGdvM1MxWGRaRVZxV003RVQwY2ZuTEd4V2ZrZ1I0Mm8yUHZXckRNQlNGai9JSExhRjB6S2pSZ2RpVk13U2NOUkFvV1VvSDc4WTJpY0IveUlZMDlBbjZBSDJCZHUvVUIreXhvcFlzaFFpRXZudnUwZFVSZ0R0OFFlQzhQRHc3RnBqaTNmRUE0ei9QRUo2WU9CNWhLaDRkajNFdlhoeFBxSC9TS1VZM3JKN3NyWjRGWm5oMVBNQXRQaHdQNmZsMlBNSk1QRGdlUTRyWThZVDZHemFvMGVBRUE0MDlEdWdnbVRuRm5PY1NDaUVpTE1neENpVEk2Q3E1RFpVZDNRbXAxMHZPMExhTFRkMmNqTjRmT3VtbGM3bFVZYlNRY1pGa3V0Ukc3ZzZKS1pLeTBSbWRMWTY4MENEbkVKK1VNa3BGRmUxUk43bnhkVnBYckM0YVR0bmF1ck9uWWVyY1pnMllWbUxOL2QvZ2N6ZkVpbXJFL2ZzL2JPdXEyOVptbjh0bG9PUmFYZ1pnR2E3OHlPOS9jblhtMkJwYUd2cTI1RHY5UzRFOSs1U0ljOVBxdXBKS2hZRlNTbDQ3K1FjcjFtWU5BQUFBZU5wdHcwY0t3a0FBQU1EWkpBOFE3T1VKdmtMc1BmWjZ6RlZFUlB5OHFIaDJZRVIrM2kvQlA4M3ZJQkxMeVNzb0tpbXJxS3FwYTJocDYranE2UnNZR2htYm1KcVpTeTBzcmF4dGJPM3NIUnlkbkVNVTR1UjZ5eDdKSlh2ZVA3V3JEeWNBQUFBQUFBSC8vd0FDZU5wallHUmdZT0FCWWhrZ1pnSkNaZ1pOQmtZR0xRWnRJSnNGTE1ZQUFBdzNBTGdBZU5vbGl6RUtnREFRQkNjaFJiQzJzRkVSMFlENnFWUWlCQ3YvSDllekdJNlo1WEJBdzhDQksvbTVpUVFWYXVWYlhMbk9yTVp2Mm9MZEtGYThQanVydTJoSnpHYWJtT1NMek5NenZ1dHBCM040Mm1OZ1pHQmc0R0tRWXpCaFlNeEpMTWxqNEdCZ0FZb3cvUC9QQUpKaExNNnNTb1dLZldDQUF3REFqZ2JSQUFCNDJtTmdZR0JrQUlJYkNabzVJUHJtVW4waEdBMEFPOEVGVFFBQVwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLyoqXG4gKiBCYXNpYyB0eXBvZ3JhcGh5IHN0eWxlIGZvciBjb3B5IHRleHRcbiAqL1xuYm9keSB7XG4gIGNvbG9yOiB2YXIoLS1ibGFjayk7XG4gIGZvbnQ6IG5vcm1hbCAxLjI1cmVtLzEuNCBTbmVhaywgXCJIZWx2ZXRpY2EgTmV1ZSBMaWdodFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1IHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbmgxLFxuaDIsXG4ucHJvZ3JhbS0tdGVhc2VyIC5lbnRyeS0taGVhZGVyIHtcbiAgZm9udC1zaXplOiA0LjVyZW07XG4gIGxpbmUtaGVpZ2h0OiA0LjYyNXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0xLjJweDtcbiAgaHlwaGVuczogYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgIGgxLFxuICAgIGgyLFxuICAgIC5wcm9ncmFtLS10ZWFzZXIgLmVudHJ5LS1oZWFkZXIge1xuICAgICAgZm9udC1zaXplOiAzLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjI1cmVtO1xuICAgICAgaHlwaGVuczogYXV0bzsgfSB9XG5cbmgzLFxuLm5hdmlnYXRpb24tbWFpbi0tZWxlbWVudHMsXG4jaG9tZS1tZW51LFxuLnRleHQtbGFyZ2Uge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAtLjhweDsgfVxuXG4ud3AtYmxvY2stYmwtdG9nZ2xlIGg0LFxuLmVudHJ5LS1pbnRybyB7XG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjM3NXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0uNXB4OyB9XG5cbmg0LFxuLmZlYXR1cmVkLXN3aXBlciBoMixcbi5uYXZpZ2F0aW9uLW1haW4tLWVsZW1lbnRzIHVsIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xuICBsZXR0ZXItc3BhY2luZzogLS40NXB4OyB9XG5cbnAge1xuICBtYXJnaW46IDAgMCAxLjRlbTsgfVxuXG4uZW50cnktLWNvbnRlbnQgaDIsXG4uZW50cnktLWNvbnRlbnQgaDMge1xuICBtYXJnaW4tYm90dG9tOiAuMjVlbTsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi8qKlxuICogQ2xlYXIgaW5uZXIgZmxvYXRzXG4gKi9cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi8qKlxuICogSGlkZSB0ZXh0IHdoaWxlIG1ha2luZyBpdCByZWFkYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnNcbiAqIDEuIE5lZWRlZCBpbiBXZWJLaXQtYmFzZWQgYnJvd3NlcnMgYmVjYXVzZSBvZiBhbiBpbXBsZW1lbnRhdGlvbiBidWc7XG4gKiAgICBTZWU6IGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD00NTcxNDZcbiAqL1xuLmhpZGUtdGV4dCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIC8qIDEgKi9cbiAgdGV4dC1pbmRlbnQ6IDEwMSU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyoqXG4gKiBIaWRlIGVsZW1lbnQgd2hpbGUgbWFraW5nIGl0IHJlYWRhYmxlIGZvciBzY3JlZW4gcmVhZGVyc1xuICogU2hhbWVsZXNzbHkgYm9ycm93ZWQgZnJvbSBIVE1MNUJvaWxlcnBsYXRlOlxuICogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyNMMTE5LUwxMzNcbiAqL1xuLnZpc3VhbGx5LWhpZGRlbixcbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDsgfVxuXG4uc2l0ZS0tZm9vdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ncmV5KTtcbiAgaHlwaGVuczogYXV0bzsgfVxuICAuc2l0ZS0tZm9vdGVyID4gLmdyaWQtLTQge1xuICAgIGdyaWQtY29sdW1uOiAyL3NwYW4gMjtcbiAgICBtYXJnaW46IDIwcHg7IH1cbiAgLnNpdGUtLWZvb3RlciBoMyB7XG4gICAgbWFyZ2luOiAwIDAgLjRlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAuc2l0ZS0tZm9vdGVyID4gLmdyaWQtLTQge1xuICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzY2cHgpIHtcbiAgICAuc2l0ZS0tZm9vdGVyID4gLmdyaWQtLTQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgLnNpdGUtLWZvb3RlciA+IC5ncmlkLS00IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cblxuLmdyaWQtLTQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICBncmlkLWdhcDogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuZ3JpZC0tNCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAuZ3JpZC0tNCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9XG5cbi5ncmlkLS1tYWluIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA5MHB4IGNhbGMoMTAwJSAtIDkwcHggLSAyMCUpIDIwJTtcbiAgdHJhbnNpdGlvbjogZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zIC4ycyBlYXNlLW91dDsgfVxuICAubmF2LW9wZW4gLmdyaWQtLW1haW4ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjgwcHggY2FsYygxMDAlIC0gMjgwcHggLSAyMCUpIDIwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgIC5ncmlkLS1tYWluLFxuICAgIC5uYXYtb3BlbiAuZ3JpZC0tbWFpbiB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDAgMTAwJTsgfVxuICAgIC5ncmlkLS1tYWluIC5zaWRlYmFyIHtcbiAgICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuLmdyaWQtLTItMSB7XG4gIG1heC13aWR0aDogMTYwMHB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnI7XG4gIGdyaWQtZ2FwOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgLmdyaWQtLTItMSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9XG5cbi5hcmNoaXZlLS1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5hcmNoaXZlLS1saXN0LFxuICAuYXJjaGl2ZS0tbGlzdCB1bCxcbiAgLmFyY2hpdmUtLWxpc3QgdWwgbGkge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ncmV5KTsgfVxuICAgIC5hcmNoaXZlLS1saXN0Omxhc3Qtb2YtdHlwZSxcbiAgICAuYXJjaGl2ZS0tbGlzdCB1bDpsYXN0LW9mLXR5cGUsXG4gICAgLmFyY2hpdmUtLWxpc3QgdWwgbGk6bGFzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgLmFyY2hpdmUtLWxpc3QgbGkgLnRvZ2dsZS1uZXh0IHtcbiAgICBtYXJnaW46IDIwcHggMzBweCAyMHB4IDIwcHg7IH1cbiAgLmFyY2hpdmUtLWxpc3QgLnR5cGUtcHVibGljYXRpb24ge1xuICAgIG1hcmdpbjogMCAyMHB4OyB9XG4gICAgLmFyY2hpdmUtLWxpc3QgLnR5cGUtcHVibGljYXRpb24gLmVudHJ5LS1pbnRybyB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmFyY2hpdmUtLWxpc3QgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmFyY2hpdmUtLWxpc3QgLmVudHJ5LS1oZWFkZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uYXJjaGl2ZS0tY29udGVudCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ncmV5KTsgfVxuICAuYXJjaGl2ZS0tY29udGVudCAuZmVhdHVyZWQtc3dpcGVyIHtcbiAgICBtYXJnaW46IDIwcHg7XG4gICAgbWF4LXdpZHRoOiAxNjAwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgLmFyY2hpdmUgbGkgLnRvZ2dsZS1uZXh0IHtcbiAgICBtYXJnaW46IDEwcHggMjBweCAxMHB4IDEwcHg7IH1cbiAgLmFyY2hpdmUgLnR5cGUtcHVibGljYXRpb24ge1xuICAgIG1hcmdpbjogMDsgfVxuICAuYXJjaGl2ZSAuZW50cnktLWhlYWRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIC5hcmNoaXZlLS1jb250ZW50IC5mZWF0dXJlZC1zd2lwZXIge1xuICAgIG1hcmdpbjogMjBweCAxMHB4OyB9IH1cblxuYnV0dG9uLFxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZ3JleSk7XG4gIHBhZGRpbmc6IDVweCAyMHB4O1xuICB0cmFuc2l0aW9uOiBjb2xvciAuNHMsIGJhY2tncm91bmQgLjRzOyB9XG4gIGJ1dHRvbjpob3ZlcixcbiAgLmJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmV5KTsgfVxuXG4uYnV0dG9uOmhvdmVyIGEge1xuICBjb2xvcjogdmFyKC0td2hpdGUpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gIC5idXR0b24ge1xuICAgIHBhZGRpbmc6IDVweCA4cHg7IH0gfVxuXG4ud3AtYmxvY2stYmwtZG93bmxvYWQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ3JleSk7XG4gIHBhZGRpbmc6IDAgMjBweCAyMHB4OyB9XG4gIC53cC1ibG9jay1ibC1kb3dubG9hZCBoMiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdztcbiAgICBtYXgtd2lkdGg6IDE2MDBweDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAud3AtYmxvY2stYmwtZG93bmxvYWQgaDIgYSB7XG4gICAgICBtYXJnaW46IDAgMCAwIGF1dG87IH1cbiAgLndwLWJsb2NrLWJsLWRvd25sb2FkIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICAud3AtYmxvY2stYmwtZG93bmxvYWQgLmljb24tZG93bmxvYWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKGk1wiO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC53cC1ibG9jay1ibC1kb3dubG9hZDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAud3AtYmxvY2stYmwtZG93bmxvYWQge1xuICAgICAgcGFkZGluZzogMjBweCAxMHB4OyB9IH1cblxuLmhlYWRlci1uYXZpZ2F0aW9uIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEyMDA7IH1cbiAgLmFkbWluLWJhciAuaGVhZGVyLW5hdmlnYXRpb24ge1xuICAgIHRvcDogMzJweDsgfVxuICAuaGVhZGVyLW5hdmlnYXRpb24tLWVsZW1lbnRzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICB3aWR0aDogOTBweDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMDBweCAwIDEwcHggMTdweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS13aGl0ZSk7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAuMnMgZWFzZS1vdXQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tZ3JleSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIGJvZHk6bm90KC5uYXYtb3BlbikgLmhlYWRlci1uYXZpZ2F0aW9uLS1lbGVtZW50czpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIGJvZHk6bm90KC5uYXYtb3BlbikgLmhlYWRlci1uYXZpZ2F0aW9uLS1lbGVtZW50czpob3ZlciBhIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWJsYWNrKTsgfVxuICAgIC5oZWFkZXItbmF2aWdhdGlvbi0tZWxlbWVudHMgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgLmhlYWRlci1uYXZpZ2F0aW9uLS1lbGVtZW50cyAuc3ViLW1lbnUge1xuICAgICAgcGFkZGluZzogMCAwIDAgMWVtOyB9XG4gICAgICAuaGVhZGVyLW5hdmlnYXRpb24tLWVsZW1lbnRzIC5zdWItbWVudSBsaSB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5oZWFkZXItbmF2aWdhdGlvbi0tZWxlbWVudHMgLm5hdmlnYXRpb24tc3ViLS1lbGVtZW50cyB7XG4gICAgICBtYXJnaW46IGF1dG8gMCAwOyB9XG4gICAgICAuaGVhZGVyLW5hdmlnYXRpb24tLWVsZW1lbnRzIC5uYXZpZ2F0aW9uLXN1Yi0tZWxlbWVudHMgbGkge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAuaGVhZGVyLW5hdmlnYXRpb24tLWVsZW1lbnRzIGxpIHtcbiAgICAgIG1hcmdpbjogNXB4OyB9XG4gICAgLmhlYWRlci1uYXZpZ2F0aW9uLS1lbGVtZW50cyBhIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1ncmV5KTsgfVxuICAgICAgLmhlYWRlci1uYXZpZ2F0aW9uLS1lbGVtZW50cyBhOmhvdmVyLCAuaGVhZGVyLW5hdmlnYXRpb24tLWVsZW1lbnRzIGE6YWN0aXZlLCAuaGVhZGVyLW5hdmlnYXRpb24tLWVsZW1lbnRzIGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogdmFyKC0tYmxhY2spOyB9XG4gICAgLmhlYWRlci1uYXZpZ2F0aW9uLS1lbGVtZW50cyAuY3VycmVudC1tZW51LWl0ZW0gYSxcbiAgICAuaGVhZGVyLW5hdmlnYXRpb24tLWVsZW1lbnRzIC5jdXJyZW50X3BhZ2VfaXRlbSBhIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1ibGFjayk7IH1cbiAgLmhlYWRlci1uYXZpZ2F0aW9uLW1haW4tLWVsZW1lbnRzIHVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5oZWFkZXItbmF2aWdhdGlvbi1tYWluLS1lbGVtZW50cyAuY3VycmVudC1tZW51LWl0ZW0gdWwsXG4gIC5oZWFkZXItbmF2aWdhdGlvbi1tYWluLS1lbGVtZW50cyAuY3VycmVudC1tZW51LXBhcmVudCB1bCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmhlYWRlci1uYXZpZ2F0aW9uLS1idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMTVweCAyMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuaGVhZGVyLW5hdmlnYXRpb24tLWJ1dHRvbi1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udDogbm9ybWFsIDQuNXJlbS80LjYyNXJlbSBcIkt1bnN0cmF1bSBLcmV1emJlcmdcIjtcbiAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDgyLCAnd2R0aCcgMTAwO1xuICAgIHRyYW5zaXRpb246IGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzIC4ycyBlYXNlLW91dDsgfVxuICAuaGVhZGVyLW5hdmlnYXRpb24tLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5oZWFkZXItbmF2aWdhdGlvbi0tdG9nZ2xlOmNoZWNrZWQgfiAuaGVhZGVyLW5hdmlnYXRpb24tLWVsZW1lbnRzIHtcbiAgICAgIHdpZHRoOiAyODBweDsgfVxuICAgIC5oZWFkZXItbmF2aWdhdGlvbi0tdG9nZ2xlOmNoZWNrZWQgKyAuaGVhZGVyLW5hdmlnYXRpb24tLWJ1dHRvbiAuaGVhZGVyLW5hdmlnYXRpb24tLWJ1dHRvbi1pY29uIHtcbiAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgODIsICd3ZHRoJyA0MjA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAuaGVhZGVyLW5hdmlnYXRpb24ge1xuICAgICAgcG9zaXRpb246IHN0YXRpYzsgfVxuICAgICAgLmhlYWRlci1uYXZpZ2F0aW9uLS1lbGVtZW50cyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTdweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjRzOyB9XG4gICAgICAuaGVhZGVyLW5hdmlnYXRpb24gbGkge1xuICAgICAgICBtYXJnaW46IDVweCAwOyB9XG4gICAgICAuaGVhZGVyLW5hdmlnYXRpb24tLWJ1dHRvbiB7XG4gICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAuaGVhZGVyLW5hdmlnYXRpb24tLWJ1dHRvbi1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgZm9udC1zaXplOiAxNXZ3O1xuICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ3dnaHQnIDgyLCAnd2R0aCcgNzkzO1xuICAgICAgICBtYXJnaW46IDAgNXB4OyB9XG4gICAgICAuaGVhZGVyLW5hdmlnYXRpb24tLXRvZ2dsZTpjaGVja2VkIH4gLmhlYWRlci1uYXZpZ2F0aW9uLS1lbGVtZW50cyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgICAgIC5ob21lIC5oZWFkZXItbmF2aWdhdGlvbiAuaGVhZGVyLW5hdmlnYXRpb24tLWJ1dHRvbi1pY29uIHtcbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA4MiwgJ3dkdGgnIDQyMDsgfVxuICAgICAgLmhlYWRlci1uYXZpZ2F0aW9uIC5uYXZpZ2F0aW9uLXN1Yi0tZWxlbWVudHMge1xuICAgICAgICBtYXJnaW46IGF1dG8gMCAxMjBweDsgfSB9XG5cbi5zaWRlYmFyIC50b2dnbGUtbmV4dCxcbi5hcmNoaXZlLS1saXN0IC50b2dnbGUtbmV4dCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMCAxMHB4IDEwcHggMDtcbiAgbWF4LXdpZHRoOiAxNjAwcHg7IH1cbiAgLnNpZGViYXIgLnRvZ2dsZS1uZXh0OmFmdGVyLFxuICAuYXJjaGl2ZS0tbGlzdCAudG9nZ2xlLW5leHQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICduZXh0JztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBmb250LWZhbWlseTogc3dpcGVyLWljb25zO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC12YXJpYW50OiBpbml0aWFsOyB9XG4gIC5zaWRlYmFyIC50b2dnbGUtbmV4dC50b2dnbGUtYWN0aXZlOmFmdGVyLFxuICAuYXJjaGl2ZS0tbGlzdCAudG9nZ2xlLW5leHQudG9nZ2xlLWFjdGl2ZTphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxuXG4uc2lkZWJhciAudG9nZ2xlLW5leHQge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2lkZWJhciAudG9nZ2xlLW5leHQ6YWZ0ZXIge1xuICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuLnBvc3QtbmF2aWdhdGlvbixcbi5wb3N0cy1uYXZpZ2F0aW9uIHtcbiAgcGFkZGluZzogMjBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWdyZXkpOyB9XG4gIC5wb3N0LW5hdmlnYXRpb24gaDMsXG4gIC5wb3N0cy1uYXZpZ2F0aW9uIGgzIHtcbiAgICBtYXJnaW46IDAgMCAuNGVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgLnBvc3QtbmF2aWdhdGlvbixcbiAgICAucG9zdHMtbmF2aWdhdGlvbiB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7IH0gfVxuXG4ucG9zdC1uYXZpZ2F0aW9uIC5wcm9ncmFtLS1jdXJyZW50IHVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDIlOyB9XG5cbi5wb3N0LW5hdmlnYXRpb24gLnByb2dyYW0tLWN1cnJlbnQgbGkge1xuICBmbGV4LWJhc2lzOiA0OSU7IH1cblxuLnBvc3QtbmF2aWdhdGlvbiAucHJvZ3JhbS0tY3VycmVudCAucHJvZ3JhbS0tdGVhc2VyLXNtYWxsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW47XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgLnBvc3QtbmF2aWdhdGlvbiAucHJvZ3JhbS0tY3VycmVudCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdyZXkpOyB9XG4gICAgLnBvc3QtbmF2aWdhdGlvbiAucHJvZ3JhbS0tY3VycmVudCBsaSB7XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlOyB9IH1cblxuI2hvbWUtbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiA1cHggMDtcbiAgcGFkZGluZzogNDBweCAwIDEwcHggMTdweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICNob21lLW1lbnUge1xuICAgICAgcGFkZGluZy10b3A6IDE4cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAubmF2LW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuXG4ubmF2LWxpbmtzIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAubmF2LWxpbmtzIC5uYXYtbmV4dCB7XG4gICAgbWFyZ2luOiAwIDAgMCBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgLm5hdi1saW5rcyB7XG4gICAgICBmbGV4LWZsb3c6IHdyYXA7IH1cbiAgICAgIC5uYXYtbGlua3MgPiBkaXYge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9IH1cblxuLm5ld3MtLWhvbWUgLnR5cGUtcG9zdCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ncmV5KTsgfVxuICAubmV3cy0taG9tZSAudHlwZS1wb3N0Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAubmV3cy0taG9tZSAudHlwZS1wb3N0Omxhc3QtY2hpbGQgLnR5cGUtcG9zdC0taW5uZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAubmV3cy0taG9tZSAudHlwZS1wb3N0LS1pbm5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdyaWQtZ2FwOiAxZW0gMjBweDtcbiAgICBtYXgtd2lkdGg6IDE2MDBweDsgfVxuXG4ubmV3cy0taG9tZSAuZW50cnktLWhlYWRlciB7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMjtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIG1hcmdpbi1yaWdodDogMzAlOyB9XG5cbi5uZXdzLS1ob21lIC5lbnRyeS0tY29udGVudCB7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMjtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4ubmV3cy0taG9tZSAuZW50cnktLWltYWdlIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAubmV3cy0taG9tZSAudHlwZS1wb3N0LS1pbm5lciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cbiAgICAubmV3cy0taG9tZSAudHlwZS1wb3N0LS1pbm5lciAuZW50cnktLWhlYWRlciB7XG4gICAgICBtYXJnaW46IDQwcHggMTBweCAxMHB4OyB9XG4gIC5uZXdzLS1ob21lIC5lbnRyeS0taGVhZGVyIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbi5zaW5nbGUtcG9zdCAudHlwZS1wb3N0IHtcbiAgcGFkZGluZzogMjBweDtcbiAgbWF4LXdpZHRoOiAxNjAwcHg7IH1cbiAgLnNpbmdsZS1wb3N0IC50eXBlLXBvc3QtLWlubmVyIC5lbnRyeS0taW1hZ2UsXG4gIC5zaW5nbGUtcG9zdCAudHlwZS1wb3N0LS1pbm5lciAuZW50cnktLWNvbnRlbnQgPiBoMixcbiAgLnNpbmdsZS1wb3N0IC50eXBlLXBvc3QtLWlubmVyIC5lbnRyeS0tY29udGVudCA+IGgzLFxuICAuc2luZ2xlLXBvc3QgLnR5cGUtcG9zdC0taW5uZXIgLmVudHJ5LS1jb250ZW50ID4gaDQsXG4gIC5zaW5nbGUtcG9zdCAudHlwZS1wb3N0LS1pbm5lciAuZW50cnktLWNvbnRlbnQgPiBwLFxuICAuc2luZ2xlLXBvc3QgLnR5cGUtcG9zdC0taW5uZXIgLmVudHJ5LS1jb250ZW50ID4gdWwsXG4gIC5zaW5nbGUtcG9zdCAudHlwZS1wb3N0LS1pbm5lciAuZW50cnktLWNvbnRlbnQgPiBvbCxcbiAgLnNpbmdsZS1wb3N0IC50eXBlLXBvc3QtLWlubmVyIC5lbnRyeS0tY29udGVudCA+IGRpdixcbiAgLnNpbmdsZS1wb3N0IC50eXBlLXBvc3QtLWlubmVyIC5lbnRyeS0tY29udGVudCA+IGZpZ3VyZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5zaW5nbGUtcG9zdCAudHlwZS1wb3N0IC5lbnRyeS0taGVhZGVyIHtcbiAgICBtYXJnaW46IDAgMCAxZW07IH1cbiAgLnNpbmdsZS1wb3N0IC50eXBlLXBvc3QgLmVudHJ5LS1pbWFnZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDFlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgIC5zaW5nbGUtcG9zdCAudHlwZS1wb3N0IHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICAgIC5zaW5nbGUtcG9zdCAudHlwZS1wb3N0IC5lbnRyeS0tY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG5cbi5zbGlkZXNob3ctb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxNDAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNzBweCBjYWxjKDc1JSAtIDM1cHgpIGNhbGMoMjAlIC0gMzVweCk7XG4gIGNvbG9yOiB2YXIoLS13aGl0ZSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJsYWNrKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHM7IH1cbiAgLnNsaWRlc2hvdy1vdmVybGF5LS10ZXh0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgLnNsaWRlc2hvdy1vdmVybGF5LS1jbG9zZTphZnRlciB7XG4gICAgY29udGVudDogXCJcXDAwZDdcIjtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMy4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnNsaWRlc2hvdy1vdmVybGF5IC5zd2lwZXItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLXdoaXRlKTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS13aGl0ZSk7IH1cbiAgLnNsaWRlc2hvdy1vdmVybGF5IC5zd2lwZXItc2xpZGUge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuc2xpZGVzaG93LW92ZXJsYXkgLnN3aXBlci1zbGlkZSBpbWcge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiBhdXRvOyB9XG4gIC5zbGlkZXNob3ctb3ZlcmxheSAuc3dpcGVyLXBhZ2luYXRpb24ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luOiBhdXRvIDAgMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5zbGlkZXNob3ctb3ZlcmxheSAuZW50cnktLXRpdGxlIHtcbiAgICBoeXBoZW5zOiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgLnNsaWRlc2hvdy1vdmVybGF5IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTsgfVxuICAgICAgLnNsaWRlc2hvdy1vdmVybGF5IC5zd2lwZXItY29udGFpbmVyIHtcbiAgICAgICAgYm9yZGVyOiBub25lOyB9IH1cblxuLnByb2dyYW0tLWN1cnJlbnQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ncmV5KTsgfVxuXG4ucHJvZ3JhbS0tc21hbGwgLmVudHJ5LS1oZWFkZXIge1xuICBtYXJnaW46IDIwcHg7IH1cblxuLnByb2dyYW0tLXNtYWxsIHVsIHtcbiAgbWFyZ2luOiAyMHB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXgtd2lkdGg6IDE2MDBweDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAucG9zdC1uYXZpZ2F0aW9uIC5wcm9ncmFtLS1zbWFsbCB1bCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5wcm9ncmFtLS10ZWFzZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ3JleSk7IH1cbiAgLnByb2dyYW0tLXRlYXNlcjpsYXN0LWNoaWxkLCAucHJvZ3JhbS0tdGVhc2VyOmxhc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAucHJvZ3JhbS0tdGVhc2VyIC5lbnRyeS0taW1hZ2UgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAucHJvZ3JhbS0tdGVhc2VyLXNtYWxsIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNDklIDQ5JTtcbiAgICBncmlkLWdhcDogMiU7IH1cblxuLnByb2dyYW0gLmVudHJ5LS1oZWFkZXIge1xuICBtYXJnaW46IDIwcHggMjBweCA4MHB4OyB9XG5cbi5wcm9ncmFtIC5lbnRyeS0taW1hZ2Uge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gIC5wcm9ncmFtLS1zbWFsbCAuZW50cnktLWhlYWRlcixcbiAgLnByb2dyYW0tLXNtYWxsIHVsIHtcbiAgICBtYXJnaW46IDEwcHg7IH1cbiAgLnByb2dyYW0tLXNtYWxsIHVsIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxuICAucHJvZ3JhbS0tc21hbGwgbGkge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgLnByb2dyYW0gLmVudHJ5LS1oZWFkZXIge1xuICAgIG1hcmdpbjogMTBweCAxMHB4IDYwcHg7IH0gfVxuXG4uc2lkZWJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAyMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBoeXBoZW5zOiBhdXRvO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWdyZXkpOyB9XG4gIC5zaWRlYmFyLS1pbm5lciB7XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyOHZoOyB9XG4gICAgLnNpZGViYXItLWlubmVyIGgyOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDQ0cHg7IH1cbiAgLnNpZGViYXIgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnNpZGViYXIgLmRpdmlkZWQgbGkge1xuICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdyZXkpOyB9XG4gICAgLnNpZGViYXIgLmRpdmlkZWQgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgLnNpZGViYXIgaDIsXG4gIC5zaWRlYmFyIGgzLFxuICAuc2lkZWJhciBoNCxcbiAgLnNpZGViYXIgdWwsXG4gIC5zaWRlYmFyIGxpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAuc2lkZWJhciBwICsgaDMge1xuICAgIG1hcmdpbi10b3A6IC0xLjJlbTsgfVxuICAuc2lkZWJhciAudG9nZ2xlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwIDAgMWVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgLnNpZGViYXIge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IHVuc2V0O1xuICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAuc2lkZWJhci0taW5uZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG5cbi53cC1ibG9jay1ibC1zbGlkZXNob3cge1xuICBtYXJnaW46IDNlbSAwOyB9XG5cbi5mZWF0dXJlZC1zd2lwZXIgLnN3aXBlci1zbGlkZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBtYXJnaW46IDAgMjBweCAwIDA7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uZmVhdHVyZWQtc3dpcGVyIC5lbnRyeS0taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDsgfVxuXG4uZmVhdHVyZWQtc3dpcGVyIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0byAxMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gIC5mZWF0dXJlZC1zd2lwZXIgLnN3aXBlci1zbGlkZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuLndwLWJsb2NrLWJsLXRvZ2dsZSB7XG4gIHBhZGRpbmc6IDQwcHggMjBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdyZXkpOyB9XG4gIC53cC1ibG9jay1ibC10b2dnbGU6bGFzdC1vZi10eXBlIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gIC53cC1ibG9jay1ibC10b2dnbGUgPiBoMyB7XG4gICAgbWF4LXdpZHRoOiAxNjAwcHg7IH1cbiAgICAud3AtYmxvY2stYmwtdG9nZ2xlID4gaDMgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAud3AtYmxvY2stYmwtdG9nZ2xlID4gaDMgYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICduZXh0JztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMTBweCAwIGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHN3aXBlci1pY29ucztcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBmb250LXZhcmlhbnQ6IGluaXRpYWw7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBoZWlnaHQ6IDQ3cHg7IH1cbiAgICAgIC53cC1ibG9jay1ibC10b2dnbGUgPiBoMyBhLnRvZ2dsZS1hY3RpdmU6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgLndwLWJsb2NrLWJsLXRvZ2dsZSB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7IH1cbiAgICAgIC53cC1ibG9jay1ibC10b2dnbGUgPiBoMyB7XG4gICAgICAgIGh5cGhlbnM6IGF1dG87IH0gfVxuXG4udG9nZ2xlLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbjogMWVtIDA7XG4gIG1heC13aWR0aDogMTYwMHB4OyB9XG4gIC50b2dnbGUtbmV4dC1vcGVuICsgLnRvZ2dsZS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wYWdlLWlkLTI5MDMge1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbiNtZW51LWl0ZW0tMzA0NiBhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0S1BDRXRMU0JIWlc1bGNtRjBiM0k2SUVGa2IySmxJRWxzYkhWemRISmhkRzl5SURJMUxqRXVNQ3dnVTFaSElFVjRjRzl5ZENCUWJIVm5MVWx1SUM0Z1UxWkhJRlpsY25OcGIyNDZJRFl1TURBZ1FuVnBiR1FnTUNrZ0lDMHRQZ284YzNabklIWmxjbk5wYjI0OUlqRXVNU0lnYVdROUlreGhlV1Z5WHpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhnOUlqQndlQ0lnZVQwaU1IQjRJZ29KSUhacFpYZENiM2c5SWpBZ01DQXhNakFnTVRJd0lpQnpkSGxzWlQwaVpXNWhZbXhsTFdKaFkydG5jbTkxYm1RNmJtVjNJREFnTUNBeE1qQWdNVEl3T3lJZ2VHMXNPbk53WVdObFBTSndjbVZ6WlhKMlpTSStDanh6ZEhsc1pTQjBlWEJsUFNKMFpYaDBMMk56Y3lJK0Nna3VjM1F3ZTJacGJHdzZJemhET0VNNFF6dDlDand2YzNSNWJHVStDanhuUGdvSlBHTnBjbU5zWlNCamJHRnpjejBpYzNRd0lpQmplRDBpTmpFdU5DSWdZM2s5SWpFNExqRWlJSEk5SWpFM0xqRWlMejRLQ1R4d1lYUm9JR05zWVhOelBTSnpkREFpSUdROUlrMDRNeTQ1TERReExqRmpMVEV5TGpFc05TMHlNaTQxTERFMUxUSXlMalVzTVRWekxURXdMalF0TVRBdE1qSXVOUzB4TldNdE1UUXVOQzAxTGprdE1qa3VNUzAxTGprdE1qa3VNUzAxTGpsMk5qTXVObU13TERBc09DNDVMVEF1T1N3eU5TNDRMRFF1TXdvSkNWTTJNUzQwTERFeE9TdzJNUzQwTERFeE9YTTRMamt0TVRBdU55d3lOUzQ0TFRFMUxqbHpNalV1T0MwMExqTXNNalV1T0MwMExqTldNelV1TWtNeE1UTXNNelV1TWl3NU9DNHpMRE0xTGpJc09ETXVPU3cwTVM0eGVpSXZQZ284TDJjK0Nqd3ZjM1puUGdvPVwiKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuI21lbnUtaXRlbS0zMDQ2IGE6aG92ZXI6YmVmb3JlIHtcbiAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejRLUENFdExTQkhaVzVsY21GMGIzSTZJRUZrYjJKbElFbHNiSFZ6ZEhKaGRHOXlJREkwTGpBdU1Td2dVMVpISUVWNGNHOXlkQ0JRYkhWbkxVbHVJQzRnVTFaSElGWmxjbk5wYjI0NklEWXVNREFnUW5WcGJHUWdNQ2tnSUMwdFBnbzhjM1puSUhabGNuTnBiMjQ5SWpFdU1TSWdhV1E5SWt4aGVXVnlYekVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGc5SWpCd2VDSWdlVDBpTUhCNElnb0pJSFpwWlhkQ2IzZzlJakFnTUNBeE1qQWdNVEl3SWlCemRIbHNaVDBpWlc1aFlteGxMV0poWTJ0bmNtOTFibVE2Ym1WM0lEQWdNQ0F4TWpBZ01USXdPeUlnZUcxc09uTndZV05sUFNKd2NtVnpaWEoyWlNJK0NqeG5QZ29KUEdOcGNtTnNaU0JqZUQwaU5qRXVOQ0lnWTNrOUlqRTRMakVpSUhJOUlqRTNMakVpTHo0S0NUeHdZWFJvSUdROUlrMDRNeTQ1TERReExqRmpMVEV5TGpFc05TMHlNaTQxTERFMUxUSXlMalVzTVRWekxURXdMalF0TVRBdE1qSXVOUzB4TldNdE1UUXVOQzAxTGprdE1qa3VNUzAxTGprdE1qa3VNUzAxTGpsMk5qTXVObU13TERBc09DNDVMVEF1T1N3eU5TNDRMRFF1TXdvSkNWTTJNUzQwTERFeE9TdzJNUzQwTERFeE9YTTRMamt0TVRBdU55d3lOUzQ0TFRFMUxqbHpNalV1T0MwMExqTXNNalV1T0MwMExqTldNelV1TWtNeE1UTXNNelV1TWl3NU9DNHpMRE0xTGpJc09ETXVPU3cwTVM0eGVpSXZQZ284TDJjK0Nqd3ZjM1puUGdvPVwiKTsgfVxuXG5ib2R5Om5vdCgubmF2LW9wZW4pIC5oZWFkZXItbmF2aWdhdGlvbi0tZWxlbWVudHM6aG92ZXIgI21lbnUtaXRlbS0zMDQ2IGE6YmVmb3JlIHtcbiAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejRLUENFdExTQkhaVzVsY21GMGIzSTZJRUZrYjJKbElFbHNiSFZ6ZEhKaGRHOXlJREkwTGpBdU1Td2dVMVpISUVWNGNHOXlkQ0JRYkhWbkxVbHVJQzRnVTFaSElGWmxjbk5wYjI0NklEWXVNREFnUW5WcGJHUWdNQ2tnSUMwdFBnbzhjM1puSUhabGNuTnBiMjQ5SWpFdU1TSWdhV1E5SWt4aGVXVnlYekVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGc5SWpCd2VDSWdlVDBpTUhCNElnb0pJSFpwWlhkQ2IzZzlJakFnTUNBeE1qQWdNVEl3SWlCemRIbHNaVDBpWlc1aFlteGxMV0poWTJ0bmNtOTFibVE2Ym1WM0lEQWdNQ0F4TWpBZ01USXdPeUlnZUcxc09uTndZV05sUFNKd2NtVnpaWEoyWlNJK0NqeG5QZ29KUEdOcGNtTnNaU0JqZUQwaU5qRXVOQ0lnWTNrOUlqRTRMakVpSUhJOUlqRTNMakVpTHo0S0NUeHdZWFJvSUdROUlrMDRNeTQ1TERReExqRmpMVEV5TGpFc05TMHlNaTQxTERFMUxUSXlMalVzTVRWekxURXdMalF0TVRBdE1qSXVOUzB4TldNdE1UUXVOQzAxTGprdE1qa3VNUzAxTGprdE1qa3VNUzAxTGpsMk5qTXVObU13TERBc09DNDVMVEF1T1N3eU5TNDRMRFF1TXdvSkNWTTJNUzQwTERFeE9TdzJNUzQwTERFeE9YTTRMamt0TVRBdU55d3lOUzQ0TFRFMUxqbHpNalV1T0MwMExqTXNNalV1T0MwMExqTldNelV1TWtNeE1UTXNNelV1TWl3NU9DNHpMRE0xTGpJc09ETXVPU3cwTVM0eGVpSXZQZ284TDJjK0Nqd3ZjM1puUGdvPVwiKTsgfVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgYXBwbGljYXRpb24td2lkZSBTYXNzIHZhcmlhYmxlcy5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLyBSZWd1bGFyIGZvbnQgZmFtaWx5XG4vLy8gQHR5cGUgTGlzdFxuJHRleHQtc2FuczogU25lYWssICdIZWx2ZXRpY2EgTmV1ZSBMaWdodCcsICdIZWx2ZXRpY2EgTmV1ZScsICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gQ29kZSAobW9ub3NwYWNlKSBmb250IGZhbWlseVxuLy8vIEB0eXBlIExpc3Rcbi8vJGNvZGUtZm9udC1zdGFjazogJ0NvdXJpZXIgTmV3JywgJ0RlamFWdSBTYW5zIE1vbm8nLCAnQml0c3RyZWFtIFZlcmEgU2FucyBNb25vJywgJ01vbmFjbycsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFJlbGF0aXZlIG9yIGFic29sdXRlIFVSTCB3aGVyZSBhbGwgYXNzZXRzIGFyZSBzZXJ2ZWQgZnJvbVxuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaGVuIHVzaW5nIGEgQ0ROXG4vLy8gICAkYmFzZS11cmw6ICdodHRwOi8vY2RuLmV4YW1wbGUuY29tL2Fzc2V0cy8nO1xuJGJhc2UtdXJsOiAnL2Fzc2V0cy8nICFkZWZhdWx0O1xuXG46cm9vdCB7XG4gIC0tYmxhY2s6IHJnYmEoMCwgMCwgMCwgMSk7XG4gIC0td2hpdGU6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG4gIC0tZ3JleTogcmdiYSgxNDAsIDE0MCwgMTQwLCAxKTtcbiAgLS1yZWQ6IHJnYmEoMjU1LCAwLCAwLCAxKTtcbn1cbiIsIi8qISBub3JtYWxpemUuY3NzIHY1LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4geyAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ocixcbmhyLndwLWJsb2NrLXNlcGFyYXRvciB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMXB4OyAvKiAxICovXG4gIGJhY2tncm91bmQ6IHZhcigtLWdyZXkpO1xuICBib3JkZXI6IG5vbmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogODAwO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuaWZyYW1lIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscywgLyogMSAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIFNjcmlwdGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNvbnRlbnQge1xuICAmLS1pbm5lciB7XG4gICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDMwMHB4KTsgLy9zdGljayBmb290ZXIgdG8gYm90dG9tIG9mIHBhZ2VcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgbWluLWhlaWdodDogdW5zZXQ7XG4gIH1cbn1cblxuLmVudHJ5IHtcbiAgJi0taGVhZGVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNjglIDMwJTtcbiAgICBncmlkLWNvbHVtbi1nYXA6IDIlO1xuICAgIG1heC13aWR0aDogMTU2MHB4O1xuICAgIG1hcmdpbjogMjBweCAyMHB4IDQwcHg7XG5cbiAgICAuc2luZ2xlLXB1YmxpY2F0aW9uICYge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgMWZyO1xuICAgICAgZ3JpZC1nYXA6IDIwcHg7XG4gICAgfVxuXG4gICAgJixcbiAgICAmLXNtYWxsIHtcbiAgICAgIC5lbnRyeS0tdGl0bGUge1xuICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWNvbnRlbnQge1xuICAgID4gaDIsXG4gICAgPiBoMyxcbiAgICA+IGg0LFxuICAgID4gcCxcbiAgICA+IHVsLFxuICAgID4gb2wsXG4gICAgPiBkaXYsXG4gICAgPiBmaWd1cmUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBtYXgtd2lkdGg6IDE2MDBweDtcbiAgICB9XG5cbiAgICAud3AtYmxvY2stYmwtZG93bmxvYWQge1xuICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICAud3AtYmxvY2stYmwtdG9nZ2xlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcblxuICAgICAgLndwLWJsb2NrLWNvbHVtbnMge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWltYWdlIHtcbiAgICBtYXJnaW46IDAgMjBweCAxLjRlbTtcblxuICAgIC5lbnRyeS0taGVhZGVyICYge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgJi0taGVhZGVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcbiAgICAgIGdyaWQtcm93LWdhcDogLjVlbTtcbiAgICAgIG1hcmdpbjogMTBweCAxMHB4IDIwcHg7XG5cbiAgICAgIC5zaW5nbGUtcHVibGljYXRpb24gJiB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgJi0tY29udGVudCB7XG4gICAgICBtYXJnaW46IDAgMTBweDtcblxuICAgICAgPiBoMixcbiAgICAgID4gaDMsXG4gICAgICA+IGg0LFxuICAgICAgPiBwLFxuICAgICAgPiB1bCxcbiAgICAgID4gb2wsXG4gICAgICA+IGRpdixcbiAgICAgID4gZmlndXJlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1pbWFnZSB7XG4gICAgICBtYXJnaW46IDAgMTBweCAxLjRlbTtcbiAgICB9XG4gIH1cbn1cblxuLnBhZ2Uge1xuICAmLS1oZWFkZXIsXG4gICYtLXN1YmhlYWRlciB7XG4gICAgbWF4LXdpZHRoOiAxNTYwcHg7XG4gICAgbWFyZ2luOiAyMHB4O1xuICB9XG5cbiAgJi0taGVhZGVyICsgLnBhZ2UtLXN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZSkge1xuICAgICYtLWhlYWRlcixcbiAgICAmLS1zdWJoZWFkZXIge1xuICAgICAgbWFyZ2luOiAxMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uaGlkZS1tb2JpbGUge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaGlkZS1kZXNrdG9wIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChub3QtbW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCBhcHBsaWNhdGlvbi13aWRlIFNhc3MgbWl4aW5zLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vIEV2ZW50IHdyYXBwZXJcbi8vLyBAYXV0aG9yIEhhcnJ5IFJvYmVydHNcbi8vLyBAcGFyYW0ge0Jvb2x9ICRzZWxmIFtmYWxzZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGN1cnJlbnQgc2VsZWN0b3Jcbi8vLyBAbGluayBodHRwczovL3R3aXR0ZXIuY29tL2Nzc3dpemFyZHJ5L3N0YXR1cy80Nzg5Mzg1MzAzNDIwMDY3ODQgT3JpZ2luYWwgdHdlZXQgZnJvbSBIYXJyeSBSb2JlcnRzXG5AbWl4aW4gb24tZXZlbnQoJHNlbGY6IGZhbHNlKSB7XG4gIEBpZiAkc2VsZiB7XG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBNYWtlIGEgY29udGV4dCBiYXNlZCBzZWxlY3RvciBhIGxpdHRsZSBtb3JlIGZyaWVuZGx5XG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjb250ZXh0XG5AbWl4aW4gd2hlbi1pbnNpZGUoJGNvbnRleHQpIHtcbiAgI3skY29udGV4dH0gJiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIG1lZGlhIHF1ZXJpZXNcbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeSkge1xuICBAaWYgJHF1ZXJ5ID09IHdlYmtpdCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBpZiAkcXVlcnkgPT0gZm9vdGVyIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAaWYgJHF1ZXJ5ID09IHNtYWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzY2cHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAaWYgJHF1ZXJ5ID09IHRhYmxldCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGlmICRxdWVyeSA9PSBtb2JpbGUge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGlmICRxdWVyeSA9PSBub3QtbW9iaWxlIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjFweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbiIsIi8qKlxuICogU3dpcGVyIDUuMy4wXG4gKiBNb3N0IG1vZGVybiBtb2JpbGUgdG91Y2ggc2xpZGVyIGFuZCBmcmFtZXdvcmsgd2l0aCBoYXJkd2FyZSBhY2NlbGVyYXRlZCB0cmFuc2l0aW9uc1xuICogaHR0cDovL3N3aXBlcmpzLmNvbVxuICpcbiAqIENvcHlyaWdodCAyMDE0LTIwMjAgVmxhZGltaXIgS2hhcmxhbXBpZGlcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2VcbiAqXG4gKiBSZWxlYXNlZCBvbjogSmFudWFyeSAxMSwgMjAyMFxuICovXG5cbjpyb290IHtcbiAgLS1zd2lwZXItdGhlbWUtY29sb3I6ICMwMDdhZmY7XG59XG4uc3dpcGVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXG4gIHotaW5kZXg6IDE7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uc3dpcGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdyA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zd2lwZXItY29udGFpbmVyLW11bHRpcm93LWNvbHVtbiA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4uc3dpcGVyLXNsaWRlIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xufVxuLnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmsge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4vKiBBdXRvIEhlaWdodCAqL1xuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCxcbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci1zbGlkZSB7XG4gIGhlaWdodDogYXV0bztcbn1cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVyIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0O1xufVxuLyogM0QgRWZmZWN0cyAqL1xuLnN3aXBlci1jb250YWluZXItM2Qge1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4O1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci13cmFwcGVyLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG59XG4vKiBDU1MgTW9kZSAqL1xuLnN3aXBlci1jb250YWluZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBvdmVyZmxvdzogYXV0bztcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAvKiBGb3IgRmlyZWZveCAqL1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gIC8qIEZvciBJbnRlcm5ldCBFeHBsb3JlciBhbmQgRWRnZSAqL1xufVxuLnN3aXBlci1jb250YWluZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZSB7XG4gIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydCBzdGFydDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwuc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwuc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIHNjcm9sbC1zbmFwLXR5cGU6IHkgbWFuZGF0b3J5O1xufVxuOnJvb3Qge1xuICAtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemU6IDQ0cHg7XG4gIC8qXG4gIC0tc3dpcGVyLW5hdmlnYXRpb24tY29sb3I6IHZhcigtLXN3aXBlci10aGVtZS1jb2xvcik7XG4gICovXG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiBjYWxjKHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpIC8gNDQgKiAyNyk7XG4gIGhlaWdodDogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSk7XG4gIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKSAvIDIpO1xuICB6LWluZGV4OiAxMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCxcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMzU7XG4gIGN1cnNvcjogYXV0bztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyLFxuLnN3aXBlci1idXR0b24tbmV4dDphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiBzd2lwZXItaWNvbnM7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSk7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC12YXJpYW50OiBpbml0aWFsO1xufVxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgbGVmdDogMTBweDtcbiAgcmlnaHQ6IGF1dG87XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyLFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIge1xuICBjb250ZW50OiAncHJldic7XG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0LFxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICByaWdodDogMTBweDtcbiAgbGVmdDogYXV0bztcbn1cbi5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldjphZnRlciB7XG4gIGNvbnRlbnQ6ICduZXh0Jztcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSxcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi13aGl0ZSB7XG4gIC0tc3dpcGVyLW5hdmlnYXRpb24tY29sb3I6ICNmZmZmZmY7XG59XG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2ssXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2sge1xuICAtLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yOiAjMDAwMDAwO1xufVxuLnN3aXBlci1idXR0b24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG46cm9vdCB7XG4gIC8qXG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3I6IHZhcigtLXN3aXBlci10aGVtZS1jb2xvcik7XG4gICovXG59XG4uc3dpcGVyLXBhZ2luYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogMzAwbXMgb3BhY2l0eTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgei1pbmRleDogMTA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIHtcbiAgb3BhY2l0eTogMDtcbn1cbi8qIENvbW1vbiBTdHlsZXMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbixcbi5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLyogQnVsbGV0cyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1tYWluIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYtcHJldiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0LW5leHQge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IDAuMjtcbn1cbmJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1jbGlja2FibGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3IsIHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpO1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gIHJpZ2h0OiAxMHB4O1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApO1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiA2cHggMDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiA4cHg7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHRvcDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiAwIDRweDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSwgMjAwbXMgbGVmdDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwuc3dpcGVyLWNvbnRhaW5lci1ydGwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sIDIwMG1zIHJpZ2h0O1xufVxuLyogUHJvZ3Jlc3MgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xufVxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDRweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlIHtcbiAgd2lkdGg6IDRweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24td2hpdGUge1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yOiAjZmZmZmZmO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIHtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcjogIzAwMDAwMDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIFNjcm9sbGJhciAqL1xuLnN3aXBlci1zY3JvbGxiYXIge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMSU7XG4gIGJvdHRvbTogM3B4O1xuICB6LWluZGV4OiA1MDtcbiAgaGVpZ2h0OiA1cHg7XG4gIHdpZHRoOiA5OCU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogM3B4O1xuICB0b3A6IDElO1xuICB6LWluZGV4OiA1MDtcbiAgd2lkdGg6IDVweDtcbiAgaGVpZ2h0OiA5OCU7XG59XG4uc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFnIHtcbiAgY3Vyc29yOiBtb3ZlO1xufVxuLnN3aXBlci1zY3JvbGxiYXItbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc3dpcGVyLXpvb20tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBpbWcsXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gc3ZnLFxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGNhbnZhcyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cbi5zd2lwZXItc2xpZGUtem9vbWVkIHtcbiAgY3Vyc29yOiBtb3ZlO1xufVxuLyogUHJlbG9hZGVyICovXG46cm9vdCB7XG4gIC8qXG4gIC0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjogdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKTtcbiAgKi9cbn1cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjFweDtcbiAgbWFyZ2luLXRvcDogLTIxcHg7XG4gIHotaW5kZXg6IDEwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIGluZmluaXRlIGxpbmVhcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tc3dpcGVyLXByZWxvYWRlci1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRlIHtcbiAgLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiAjZmZmO1xufVxuLnN3aXBlci1sYXp5LXByZWxvYWRlci1ibGFjayB7XG4gIC0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjogIzAwMDtcbn1cbkBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuLyogYTExeSAqL1xuLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1ub3RpZmljYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IC0xMDAwO1xufVxuLnN3aXBlci1jb250YWluZXItZmFkZS5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSAuc3dpcGVyLXNsaWRlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xufVxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1zbGlkZSB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtcHJldixcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0ICsgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICB6LWluZGV4OiAwO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwLjY7XG4gIC13ZWJraXQtZmlsdGVyOiBibHVyKDUwcHgpO1xuICBmaWx0ZXI6IGJsdXIoNTBweCk7XG4gIHotaW5kZXg6IDA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xufVxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbiIsIjpyb290IHtcbiAgLS1zd2lwZXItdGhlbWUtY29sb3I6IHJnYmEoMCwgMCwgMCwgMSk7XG59XG5cbi53cC1ibG9jay1ibC1zbGlkZXNob3cge1xuICAuc3dpcGVyLXNsaWRlIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IDAgMjBweCAwIDA7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIHZlcnkgYmFzaWMgc3R5bGVzLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyoqXG4gKiBTZXQgdXAgYSBkZWNlbnQgYm94IG1vZGVsIG9uIHRoZSByb290IGVsZW1lbnRcbiAqL1xuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qKlxuICogTWFrZSBhbGwgZWxlbWVudHMgZnJvbSB0aGUgRE9NIGluaGVyaXQgZnJvbSB0aGUgcGFyZW50IGJveC1zaXppbmdcbiAqIFNpbmNlIGAqYCBoYXMgYSBzcGVjaWZpY2l0eSBvZiAwLCBpdCBkb2VzIG5vdCBvdmVycmlkZSB0aGUgYGh0bWxgIHZhbHVlXG4gKiBtYWtpbmcgYWxsIGVsZW1lbnRzIGluaGVyaXRpbmcgZnJvbSB0aGUgcm9vdCBib3gtc2l6aW5nIHZhbHVlXG4gKiBTZWU6IGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlL1xuICovXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIEJhc2ljIHN0eWxlcyBmb3IgbGlua3NcbiAqL1xuYSB7XG4gIGNvbG9yOiB2YXIoLS1ibGFjayk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgLjRzO1xuXG4gIEBpbmNsdWRlIG9uLWV2ZW50IHtcbiAgICBjb2xvcjogdmFyKC0tZ3JleSk7XG4gIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIEBmb250LWZhY2UgZGVjbGFyYXRpb25zLCBpZiBhbnkuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBTbmVhaztcbiAgc3JjOiB1cmwoXCIuLi8uLi9wdWJsaWMvYXNzZXRzL2ZvbnRzL1NuZWFrLVJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gIHVybChcIi4uLy4uL3B1YmxpYy9hc3NldHMvZm9udHMvU25lYWstUmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcInNzMDNcIjtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBTbmVhaztcbiAgc3JjOiB1cmwoXCIuLi8uLi9wdWJsaWMvYXNzZXRzL2ZvbnRzL1NuZWFrLVJlZ3VsYXItSXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICB1cmwoXCIuLi8uLi9wdWJsaWMvYXNzZXRzL2ZvbnRzL1NuZWFrLVJlZ3VsYXItSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwic3MwM1wiO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFNuZWFrO1xuICBzcmM6IHVybChcIi4uLy4uL3B1YmxpYy9hc3NldHMvZm9udHMvU25lYWstTWVkaXVtLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICB1cmwoXCIuLi8uLi9wdWJsaWMvYXNzZXRzL2ZvbnRzL1NuZWFrLU1lZGl1bS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcInNzMDNcIjtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBTbmVhaztcbiAgc3JjOiB1cmwoXCIuLi8uLi9wdWJsaWMvYXNzZXRzL2ZvbnRzL1NuZWFrLU1lZGl1bS1JdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gIHVybChcIi4uLy4uL3B1YmxpYy9hc3NldHMvZm9udHMvU25lYWstTWVkaXVtLUl0YWxpYy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcInNzMDNcIjtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkt1bnN0cmF1bSBLcmV1emJlcmdcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi9wdWJsaWMvYXNzZXRzL2ZvbnRzL2t1bnN0cmF1bS1rcmV1emJlcmcudHRmXCIpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdzd2lwZXItaWNvbnMnO1xuICBzcmM6IHVybChcImRhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LCBkMDlHUmdBQkFBQUFBQVpnQUJBQUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkdSbFJOQUFBR1JBQUFBQm9BQUFBY2k2cUhrVWRFUlVZQUFBV2dBQUFBSXdBQUFDUUFZQUJYUjFCUFV3QUFCaFFBQUFBdUFBQUFOdUFZNyt4SFUxVkNBQUFGeEFBQUFGQUFBQUJtMmZQY3pVOVRMeklBQUFIY0FBQUFTZ0FBQUdCUDlWNVJZMjFoY0FBQUFrUUFBQUNJQUFBQll0NkYwY0JqZG5RZ0FBQUN6QUFBQUFRQUFBQUVBQkVCUkdkaGMzQUFBQVdZQUFBQUNBQUFBQWovL3dBRFoyeDVaZ0FBQXl3QUFBRE1BQUFEMk1IdHJ5Vm9aV0ZrQUFBQmJBQUFBREFBQUFBMkUyK2VvV2hvWldFQUFBR2NBQUFBSHdBQUFDUUM5Z0R6YUcxMGVBQUFBaWdBQUFBWkFBQUFyZ0prQUJGc2IyTmhBQUFDMEFBQUFGb0FBQUJhRlFBVUdHMWhlSEFBQUFHOEFBQUFId0FBQUNBQWNBQkFibUZ0WlFBQUEvZ0FBQUU1QUFBQ1h2RmRCd2x3YjNOMEFBQUZOQUFBQUdJQUFBQ0U1czc0aFhqYVkyQmtZR0FBWXBmNUh1L2orVzIrTW5Bek1ZREF6YVg2UWpENi80Ly9CeGo1R0E4QXVSd01ZR2tBUHl3TDEzamFZMkJrWUdBODhQOEFneDRqKy84ZlFEWWZBMUFFQldnREFJQjJCT29BZU5wallHUmdZTkJoNEdkZ1lnQUJFTW5JQUJKellOQURDUUFBQ1dnQXNRQjQybU5nWWZ6Q09JR0JsWUdCMFljeGpZR0J3UjFLZjJXUVpHaGhZR0JpWUdWbWdBRkdCaVFRa09hYXd0REFvTUJReFhqZy93RUdQY1lEREE0d05VQTJDQ2d3c0FBQU80RUw2Z0FBZU5wajJNMGd5QUFDcXhnR05XQmtaMkQ0L3dNQSt4a0RkZ0FBQUhqYVkyQmdZR2FBWUJrR1JnWVFpQUh5R01GOEZnWUhJTTNEd01IQUJHUXJNT2d5V0RMRU0xVDkvdzhVQmZFTWdMekUvLy8vUC81Ly9mL1YveHYrcjRlYUFBZU1iQXh3SVVZbUlNSEVnS1lBWWpVY3NEQXdzTEt4YzNCeWNmUHc4akVRQS9nWkJBU0ZoRVZFeGNRbEpLV2taV1RsNUJVVWxaUlZWTlhVTlRRWkJnTUFBTVIrRStnQUVRRkVBQUFBS2dBcUFDb0FOQUErQUVnQVVnQmNBR1lBY0FCNkFJUUFqZ0NZQUtJQXJBQzJBTUFBeWdEVUFONEE2QUR5QVB3QkJnRVFBUm9CSkFFdUFUZ0JRZ0ZNQVZZQllBRnFBWFFCZmdHSUFaSUJuQUdtQWJJQnpnSHNBQUI0MnUyTk1RNkNVQXlHVzU2OHg5QW5lWVlnbTRNSmJoS0ZhRXhJT0FWWDhBcGV3U3Q0QmljNEFmZUFpZDNWT0JpeER4ZlBZRXphNU8rWGZpMDRZQURnZ2lVSVVMQ3VFSks4VmhPNGJTdnBkbmt0SEk1UUNZdGRpMnNsOFpuWGFIbHFVck5LemRLY1Q4Y2pscStyd1pTdklWY3pOaWV6c2ZuUC91em5tZlBGQk5PRE0ySzdNVFE0NVlFQVpxR1A4MUFtR0djRjNpUHFPb3AwcjFTUFRhVGJWa2ZVZTRIWGo5N3dZRSt5TndXWXh3V3U0djF1Z1dIZ28zUzFYZFpFVnFXTTdFVDBjZm5MR3hXZmtnUjQybzJQdldyRE1CU0ZqL0lITGFGMHpLalJnZGlWTXdTY05SQW9XVW9INzhZMmljQi95SVkwOUFuNkFIMkJkdS9VQit5eG9wWXNoUWlFdm52dTBkVVJnRHQ4UWVDOFBEdzdGcGppM2ZFQTR6L1BFSjZZT0I1aEtoNGRqM0V2WGh4UHFIL1NLVVkzcko3c3JaNEZabmgxUE1BdFBod1A2ZmwyUE1KTVBEZ2VRNHJZOFlUNkd6YW8wZUFFQTQwOUR1Z2dtVG5Gbk9jU0NpRWlMTWd4Q2lUSTZDcTVEWlVkM1FtcDEwdk8wTGFMVGQyY2pONGZPdW1sYzdsVVliU1FjWkZrdXRSRzdnNkpLWkt5MFJtZExZNjgwQ0RuRUorVU1rcEZGZTFSTjdueGRWcFhyQzRhVHRuYXVyT25ZZXJjWmcyWVZtTE4vZC9nY3pmRWltckUvZnMvYk91cTI5Wm1uOHRsb09SYVhnWmdHYTc4eU85L2NuWG0yQnBhR3ZxMjVEdjlTNEU5KzVTSWM5UHF1cEpLaFlGU1NsNDcrUWNyMW1ZTkFBQUFlTnB0dzBjS3drQUFBTURaSkE4UTdPVUp2a0xzUGZaNnpGVkVSUHk4cUhoMllFUiszaS9CUDgzdklCTEx5U3NvS2ltcnFLcXBhMmhwNitqcTZSc1lHaG1ibUpxWlN5MHNyYXh0Yk8zc0hSeWRuRU1VNHVSNnl4N0pKWHZlUDdXckR5Y0FBQUFBQUFILy93QUNlTnBqWUdSZ1lPQUJZaGtnWmdKQ1pnWk5Ca1lHTFFadElKc0ZMTVlBQUF3M0FMZ0FlTm9saXpFS2dEQVFCQ2NoUmJDMnNGRVIwWUQ2cVZRaUJDdi9IOWV6R0k2WjVYQkF3OENCSy9tNWlRUVZhdVZiWExuT3JNWnYyb0xkS0ZhOFBqdXJ1MmhKekdhYm1PU0x6Tk16dnV0cEIzTjQybU5nWkdCZzRHS1FZekJoWU14SkxNbGo0R0JnQVlvdy9QL1BBSkpoTE02c1NvV0tmV0NBQXdEQWpnYlJBQUI0Mm1OZ1lHQmtBSUliQ1pvNUlQcm1VbjBoR0EwQU84RUZUUUFBXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbiIsIi8qKlxuICogQmFzaWMgdHlwb2dyYXBoeSBzdHlsZSBmb3IgY29weSB0ZXh0XG4gKi9cbmJvZHkge1xuICBjb2xvcjogdmFyKC0tYmxhY2spO1xuICBmb250OiBub3JtYWwgcmVtKDIwcHgpIC8gMS40ICR0ZXh0LXNhbnM7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbmgxLFxuaDIsXG4ucHJvZ3JhbS0tdGVhc2VyIC5lbnRyeS0taGVhZGVyIHtcbiAgZm9udC1zaXplOiByZW0oNzJweCk7XG4gIGxpbmUtaGVpZ2h0OiByZW0oNzRweCk7XG4gIGxldHRlci1zcGFjaW5nOiAtMS4ycHg7XG4gIGh5cGhlbnM6IGF1dG87XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUpIHtcbiAgICBmb250LXNpemU6IHJlbSg1MHB4KTtcbiAgICBsaW5lLWhlaWdodDogcmVtKDUycHgpO1xuICAgIGh5cGhlbnM6IGF1dG87XG4gIH1cbn1cblxuaDMsXG4ubmF2aWdhdGlvbi1tYWluLS1lbGVtZW50cyxcbiNob21lLW1lbnUsXG4udGV4dC1sYXJnZSB7XG4gIGZvbnQtc2l6ZTogcmVtKDQwcHgpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0uOHB4O1xufVxuXG4ud3AtYmxvY2stYmwtdG9nZ2xlIGg0LFxuLmVudHJ5LS1pbnRybyB7XG4gIGZvbnQtc2l6ZTogcmVtKDMwcHgpO1xuICBsaW5lLWhlaWdodDogcmVtKDM4cHgpO1xuICBsZXR0ZXItc3BhY2luZzogLS41cHg7XG59XG5cbmg0LFxuLmZlYXR1cmVkLXN3aXBlciBoMixcbi5uYXZpZ2F0aW9uLW1haW4tLWVsZW1lbnRzIHVsIHtcbiAgZm9udC1zaXplOiByZW0oMjRweCk7XG4gIGxpbmUtaGVpZ2h0OiByZW0oMzJweCk7XG4gIGxldHRlci1zcGFjaW5nOiAtLjQ1cHg7XG59XG5cbnAge1xuICBtYXJnaW46IDAgMCAxLjRlbTtcbn1cblxuLmVudHJ5IHtcbiAgJi0tY29udGVudCB7XG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLjI1ZW07XG4gICAgfVxuICB9XG59XG5cbi50ZXh0IHtcbiAgJi1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIGFwcGxpY2F0aW9uLXdpZGUgU2FzcyBmdW5jdGlvbnMuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8gTmF0aXZlIGB1cmwoLi4pYCBmdW5jdGlvbiB3cmFwcGVyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRiYXNlIC0gYmFzZSBVUkwgZm9yIHRoZSBhc3NldFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdHlwZSAtIGFzc2V0IHR5cGUgZm9sZGVyIChlLmcuIGBmb250cy9gKVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcGF0aCAtIGFzc2V0IHBhdGhcbi8vLyBAcmV0dXJuIHtVcmx9XG5AZnVuY3Rpb24gYXNzZXQoJGJhc2UsICR0eXBlLCAkcGF0aCkge1xuICBAcmV0dXJuIHVybCgkYmFzZSArICR0eXBlICsgJHBhdGgpO1xufVxuXG4vLy8gUmV0dXJucyBVUkwgdG8gYW4gaW1hZ2UgYmFzZWQgb24gaXRzIHBhdGhcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHBhdGggLSBpbWFnZSBwYXRoXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRiYXNlIFskYmFzZS11cmxdIC0gYmFzZSBVUkxcbi8vLyBAcmV0dXJuIHtVcmx9XG4vLy8gQHJlcXVpcmUgJGJhc2UtdXJsXG5AZnVuY3Rpb24gaW1hZ2UoJHBhdGgsICRiYXNlOiAkYmFzZS11cmwpIHtcbiAgQHJldHVybiBhc3NldCgkYmFzZSwgJ2ltYWdlcy8nLCAkcGF0aCk7XG59XG5cbi8vLyBSZXR1cm5zIFVSTCB0byBhIGZvbnQgYmFzZWQgb24gaXRzIHBhdGhcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHBhdGggLSBmb250IHBhdGhcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJhc2UgWyRiYXNlLXVybF0gLSBiYXNlIFVSTFxuLy8vIEByZXR1cm4ge1VybH1cbi8vLyBAcmVxdWlyZSAkYmFzZS11cmxcbkBmdW5jdGlvbiBmb250KCRwYXRoLCAkYmFzZTogJGJhc2UtdXJsKSB7XG4gIEByZXR1cm4gYXNzZXQoJGJhc2UsICdmb250cy8nLCAkcGF0aCk7XG59XG5cblxuLy9zdHJpcCB1bml0cyBmcm9tIG51bWJlclxuQGZ1bmN0aW9uIHBhcnNlSW50KCRuKSB7XG4gIEByZXR1cm4gJG4gLyAoJG4gKiAwICsgMSk7XG59XG5cbi8vcHggdG8gcmVtXG5AZnVuY3Rpb24gcmVtKCR2YWx1ZSkge1xuICAkcmVtOiAoKTtcbiAgJHVuaXQ6IHVuaXQoJHZhbHVlKTtcbiAgJHZhbDogcGFyc2VJbnQoJHZhbHVlKTtcbiAgQGlmICR1bml0ID09ICdweCcge1xuICAgICRyZW06IGFwcGVuZCgkcmVtLCAoJHZhbCAvIDE2ICogMXJlbSkpO1xuICB9XG4gIEByZXR1cm4gJHJlbTtcbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgQ1NTIGhlbHBlciBjbGFzc2VzLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyoqXG4gKiBDbGVhciBpbm5lciBmbG9hdHNcbiAqL1xuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi8qKlxuICogSGlkZSB0ZXh0IHdoaWxlIG1ha2luZyBpdCByZWFkYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnNcbiAqIDEuIE5lZWRlZCBpbiBXZWJLaXQtYmFzZWQgYnJvd3NlcnMgYmVjYXVzZSBvZiBhbiBpbXBsZW1lbnRhdGlvbiBidWc7XG4gKiAgICBTZWU6IGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD00NTcxNDZcbiAqL1xuLmhpZGUtdGV4dCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7IC8qIDEgKi9cbiAgdGV4dC1pbmRlbnQ6IDEwMSU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qKlxuICogSGlkZSBlbGVtZW50IHdoaWxlIG1ha2luZyBpdCByZWFkYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnNcbiAqIFNoYW1lbGVzc2x5IGJvcnJvd2VkIGZyb20gSFRNTDVCb2lsZXJwbGF0ZTpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MjTDExOS1MMTMzXG4gKi9cbi52aXN1YWxseS1oaWRkZW4sXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCBzdHlsZXMgcmVsYXRlZCB0byB0aGUgZm9vdGVyIG9mIHRoZSBzaXRlL2FwcGxpY2F0aW9uLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uc2l0ZSB7XG4gICYtLWZvb3RlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlKTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tZ3JleSk7XG4gICAgaHlwaGVuczogYXV0bztcblxuICAgID4gLmdyaWQtLTQge1xuICAgICAgZ3JpZC1jb2x1bW46IDIvc3BhbiAyO1xuICAgICAgbWFyZ2luOiAyMHB4O1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIG1hcmdpbjogMCAwIC40ZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChmb290ZXIpIHtcbiAgICAgID4gLmdyaWQtLTQge1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICA+IC5ncmlkLS00IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZSkge1xuICAgICAgPiAuZ3JpZC0tNCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuZ3JpZCB7XG4gICYtLTQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICBncmlkLWdhcDogMjBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG4gIH1cblxuICAmLS1tYWluIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogOTBweCBjYWxjKDEwMCUgLSA5MHB4IC0gMjAlKSAyMCU7XG4gICAgdHJhbnNpdGlvbjogZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zIC4ycyBlYXNlLW91dDtcblxuICAgIC5uYXYtb3BlbiAmIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjgwcHggY2FsYygxMDAlIC0gMjgwcHggLSAyMCUpIDIwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZSkge1xuICAgICAgJixcbiAgICAgIC5uYXYtb3BlbiAmIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAwIDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5zaWRlYmFyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tMi0xIHtcbiAgICBtYXgtd2lkdGg6IDE2MDBweDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMmZyIDFmcjtcbiAgICBncmlkLWdhcDogMjBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG4gIH1cbn1cbiIsIi5hcmNoaXZlIHtcbiAgJi0tbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICYsXG4gICAgdWwsXG4gICAgdWwgbGkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdyZXkpO1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGkgLnRvZ2dsZS1uZXh0IHtcbiAgICAgIG1hcmdpbjogMjBweCAzMHB4IDIwcHggMjBweDtcbiAgICB9XG5cbiAgICAudHlwZS1wdWJsaWNhdGlvbiB7XG4gICAgICBtYXJnaW46IDAgMjBweDtcblxuICAgICAgLmVudHJ5LS1pbnRybyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAuZW50cnktLWhlYWRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAmLS1jb250ZW50IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ3JleSk7XG5cbiAgICAuZmVhdHVyZWQtc3dpcGVyIHtcbiAgICAgIG1hcmdpbjogMjBweDtcbiAgICAgIG1heC13aWR0aDogMTYwMHB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgbGkgLnRvZ2dsZS1uZXh0IHtcbiAgICAgIG1hcmdpbjogMTBweCAyMHB4IDEwcHggMTBweDtcbiAgICB9XG5cbiAgICAudHlwZS1wdWJsaWNhdGlvbiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmVudHJ5LS1oZWFkZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgJi0tY29udGVudCB7XG4gICAgICAuZmVhdHVyZWQtc3dpcGVyIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCBzdHlsZXMgcmVsYXRlZCB0byB0aGUgYnV0dG9uIGNvbXBvbmVudC5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5idXR0b24sXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmV5KTtcbiAgcGFkZGluZzogNXB4IDIwcHg7XG4gIHRyYW5zaXRpb246IGNvbG9yIC40cywgYmFja2dyb3VuZCAuNHM7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmV5KTtcbiAgfVxufVxuXG4uYnV0dG9uIHtcbiAgJjpob3ZlciB7XG4gICAgYSB7XG4gICAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgcGFkZGluZzogNXB4IDhweDtcbiAgfVxufVxuIiwiLndwLWJsb2NrLWJsLWRvd25sb2FkIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdyZXkpO1xuICBwYWRkaW5nOiAwIDIwcHggMjBweDtcblxuICBoMiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdztcbiAgICBtYXgtd2lkdGg6IDE2MDBweDtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBhIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuaWNvbi1kb3dubG9hZCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLihpNcIjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgfVxuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZSkge1xuICAgIHBhZGRpbmc6IDIwcHggMTBweDtcbiAgfVxufVxuIiwiLmhlYWRlci1uYXZpZ2F0aW9uIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgLmFkbWluLWJhciAmIHtcbiAgICB0b3A6IDMycHg7XG4gIH1cblxuICAmLS1lbGVtZW50cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTAwcHggMCAxMHB4IDE3cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUpO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2Utb3V0O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWdyZXkpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBib2R5Om5vdCgubmF2LW9wZW4pICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWJsYWNrKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLnN1Yi1tZW51IHtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDFlbTtcblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5hdmlnYXRpb24tc3ViLS1lbGVtZW50cyB7XG4gICAgICBtYXJnaW46IGF1dG8gMCAwO1xuXG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW46IDVweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1ncmV5KTtcblxuICAgICAgQGluY2x1ZGUgb24tZXZlbnQge1xuICAgICAgICBjb2xvcjogdmFyKC0tYmxhY2spO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jdXJyZW50LW1lbnUtaXRlbSxcbiAgICAuY3VycmVudF9wYWdlX2l0ZW0ge1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1ibGFjayk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1tYWluLS1lbGVtZW50cyB7XG4gICAgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuY3VycmVudC1tZW51LWl0ZW0sXG4gICAgLmN1cnJlbnQtbWVudS1wYXJlbnQge1xuICAgICAgdWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMTVweCAyMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICYtLWJ1dHRvbi1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udDogbm9ybWFsIHJlbSg3MnB4KS9yZW0oNzRweCkgXCJLdW5zdHJhdW0gS3JldXpiZXJnXCI7XG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA4MiwgJ3dkdGgnIDEwMDtcbiAgICB0cmFuc2l0aW9uOiBmb250LXZhcmlhdGlvbi1zZXR0aW5ncyAuMnMgZWFzZS1vdXQ7XG4gIH1cblxuICAmLS10b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmOmNoZWNrZWQge1xuICAgICAgfiAuaGVhZGVyLW5hdmlnYXRpb24tLWVsZW1lbnRzIHtcbiAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgfVxuXG4gICAgICArIC5oZWFkZXItbmF2aWdhdGlvbi0tYnV0dG9uIHtcbiAgICAgICAgLmhlYWRlci1uYXZpZ2F0aW9uLS1idXR0b24taWNvbiB7XG4gICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA4MiwgJ3dkdGgnIDQyMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcblxuICAgICYtLWVsZW1lbnRzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHBhZGRpbmctdG9wOiAxN3B4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNHM7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgbWFyZ2luOiA1cHggMDtcbiAgICB9XG5cbiAgICAmLS1idXR0b24ge1xuICAgICAgei1pbmRleDogNDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAmLS1idXR0b24taWNvbiB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgZm9udC1zaXplOiAxNXZ3O1xuICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA4MiwgJ3dkdGgnIDc5MztcbiAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgfVxuXG4gICAgJi0tdG9nZ2xlIHtcbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIH4gLmhlYWRlci1uYXZpZ2F0aW9uLS1lbGVtZW50cyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlci1uYXZpZ2F0aW9uLS1idXR0b24taWNvbiB7XG4gICAgICAuaG9tZSAmIHtcbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICd3Z2h0JyA4MiwgJ3dkdGgnIDQyMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2aWdhdGlvbi1zdWItLWVsZW1lbnRzIHtcbiAgICAgIG1hcmdpbjogYXV0byAwIDEyMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uc2lkZWJhcixcbi5hcmNoaXZlLS1saXN0IHtcbiAgLnRvZ2dsZS1uZXh0IHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwIDEwcHggMTBweCAwO1xuICAgIG1heC13aWR0aDogMTYwMHB4O1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnbmV4dCc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgMCAwIGF1dG87XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICBmb250LWZhbWlseTogc3dpcGVyLWljb25zO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBmb250LXZhcmlhbnQ6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgJi50b2dnbGUtYWN0aXZlIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgICAvL21hcmdpbjogMjBweCAwO1xuICAgIH1cbiAgfVxufVxuXG4uc2lkZWJhciAudG9nZ2xlLW5leHQge1xuICBkaXNwbGF5OiBibG9jaztcblxuICAmOmFmdGVyIHtcbiAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgZm9udC1zaXplOiByZW0oMjBweCk7XG4gIH1cbn1cblxuLnBvc3QtbmF2aWdhdGlvbixcbi5wb3N0cy1uYXZpZ2F0aW9uIHtcbiAgcGFkZGluZzogMjBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWdyZXkpO1xuXG4gIGgzIHtcbiAgICBtYXJnaW46IDAgMCAuNGVtO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUpIHtcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gIH1cbn1cblxuLnBvc3QtbmF2aWdhdGlvbiB7XG4gIC5wcm9ncmFtLS1jdXJyZW50IHtcbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZ2FwOiAyJTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBmbGV4LWJhc2lzOiA0OSU7XG4gICAgfVxuXG4gICAgLnByb2dyYW0tLXRlYXNlci1zbWFsbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ3JleSk7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2hvbWUtbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiA1cHggMDtcbiAgcGFkZGluZzogNDBweCAwIDEwcHggMTdweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZSkge1xuICAgIHBhZGRpbmctdG9wOiAxOHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxufVxuXG4ubmF2LW9wZW4ge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZSkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuLm5hdi1saW5rcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgLm5hdi1uZXh0IHtcbiAgICBtYXJnaW46IDAgMCAwIGF1dG87XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZSkge1xuICAgIGZsZXgtZmxvdzogd3JhcDtcblxuICAgID4gZGl2IHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICB9XG59XG4iLCIubmV3cyB7XG4gICYtLWhvbWUge1xuICAgIC50eXBlLXBvc3Qge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdyZXkpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuXG4gICAgICAgIC50eXBlLXBvc3QtLWlubmVyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtLWlubmVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgZ3JpZC1nYXA6IDFlbSAyMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDE2MDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZW50cnkge1xuICAgICAgJi0taGVhZGVyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEvc3BhbiAyO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMCU7XG4gICAgICB9XG5cbiAgICAgICYtLWNvbnRlbnQge1xuICAgICAgICBncmlkLWNvbHVtbjogMS9zcGFuIDI7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYtLWltYWdlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZSkge1xuICAgICYtLWhvbWUge1xuICAgICAgLnR5cGUtcG9zdCB7XG4gICAgICAgICYtLWlubmVyIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblxuICAgICAgICAgIC5lbnRyeS0taGVhZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCAxMHB4IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5lbnRyeSB7XG4gICAgICAgICYtLWhlYWRlciB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNpbmdsZS1wb3N0IHtcbiAgLnR5cGUtcG9zdCB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBtYXgtd2lkdGg6IDE2MDBweDtcblxuICAgICYtLWlubmVyIHtcbiAgICAgIC5lbnRyeS0taW1hZ2UsXG4gICAgICAuZW50cnktLWNvbnRlbnQgPiBoMixcbiAgICAgIC5lbnRyeS0tY29udGVudCA+IGgzLFxuICAgICAgLmVudHJ5LS1jb250ZW50ID4gaDQsXG4gICAgICAuZW50cnktLWNvbnRlbnQgPiBwLFxuICAgICAgLmVudHJ5LS1jb250ZW50ID4gdWwsXG4gICAgICAuZW50cnktLWNvbnRlbnQgPiBvbCxcbiAgICAgIC5lbnRyeS0tY29udGVudCA+IGRpdixcbiAgICAgIC5lbnRyeS0tY29udGVudCA+IGZpZ3VyZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmVudHJ5IHtcbiAgICAgICYtLWhlYWRlciB7XG4gICAgICAgIG1hcmdpbjogMCAwIDFlbTtcbiAgICAgIH1cblxuICAgICAgJi0taW1hZ2Uge1xuICAgICAgICBpbWcge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCAwIDFlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgICAuZW50cnktLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuc2xpZGVzaG93LW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTQwMDtcbiAgaGVpZ2h0OiAxMDAlO1xuXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNzBweCBjYWxjKDc1JSAtIDM1cHgpIGNhbGMoMjAlIC0gMzVweCk7XG5cbiAgY29sb3I6IHZhcigtLXdoaXRlKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmxhY2spO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cztcblxuICAmLS10ZXh0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gIH1cblxuICAmLS1jbG9zZSB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlxcMDBkN1wiO1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDUwcHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogdmFyKC0td2hpdGUpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC5zd2lwZXItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLXdoaXRlKTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS13aGl0ZSk7XG4gIH1cblxuICAuc3dpcGVyLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAuc3dpcGVyLXBhZ2luYXRpb24ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luOiBhdXRvIDAgMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgLmVudHJ5LS10aXRsZSB7XG4gICAgaHlwaGVuczogYXV0bztcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xuXG4gICAgLnN3aXBlci1jb250YWluZXIge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLnByb2dyYW0ge1xuICAmLS1jdXJyZW50IHtcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdyZXkpO1xuICAgIH1cbiAgfVxuXG4gICYtLXNtYWxsIHtcbiAgICAuZW50cnktLWhlYWRlciB7XG4gICAgICBtYXJnaW46IDIwcHg7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAyMHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1heC13aWR0aDogMTYwMHB4O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgLnBvc3QtbmF2aWdhdGlvbiAmIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXRlYXNlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWdyZXkpO1xuXG4gICAgJjpsYXN0LWNoaWxkLFxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgLmVudHJ5LS1pbWFnZSB7XG4gICAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLXNtYWxsIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQ5JSA0OSU7XG4gICAgICBncmlkLWdhcDogMiU7XG4gICAgfVxuICB9XG5cbiAgLmVudHJ5LS1oZWFkZXIge1xuICAgIG1hcmdpbjogMjBweCAyMHB4IDgwcHg7XG4gIH1cblxuICAuZW50cnktLWltYWdlIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtb2JpbGUpIHtcbiAgICAmLS1zbWFsbCB7XG4gICAgICAuZW50cnktLWhlYWRlcixcbiAgICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgfVxuXG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmVudHJ5LS1oZWFkZXIge1xuICAgICAgbWFyZ2luOiAxMHB4IDEwcHggNjBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5zaWRlYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDIwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tZ3JleSk7XG5cbiAgJi0taW5uZXIge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjh2aDtcblxuICAgIGgyIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiA0NHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgLmRpdmlkZWQge1xuICAgIGxpIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgICBwYWRkaW5nOiAwIDAgMjBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ncmV5KTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIHVsLFxuICBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICBwICsgaDMge1xuICAgIG1hcmdpbi10b3A6IC0xLjJlbTtcbiAgfVxuXG4gIC50b2dnbGUtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDAgMCAxZW07XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZSkge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB1bnNldDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLy9ib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tZ3JleSk7XG5cbiAgICAmLS1pbm5lciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi53cC1ibG9jay1ibC1zbGlkZXNob3cge1xuICBtYXJnaW46IDNlbSAwO1xufVxuXG4uZmVhdHVyZWQtc3dpcGVyIHtcbiAgLnN3aXBlci1zbGlkZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICBtYXJnaW46IDAgMjBweCAwIDA7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG5cbiAgLmVudHJ5LS1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobW9iaWxlKSB7XG4gICAgLnN3aXBlci1zbGlkZSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG4iLCIud3AtYmxvY2stYmwtdG9nZ2xlIHtcbiAgcGFkZGluZzogNDBweCAyMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZ3JleSk7XG5cbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cblxuICA+IGgzIHtcbiAgICBtYXgtd2lkdGg6IDE2MDBweDtcblxuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICduZXh0JztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMTBweCAwIGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHN3aXBlci1pY29ucztcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBmb250LXZhcmlhbnQ6IGluaXRpYWw7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBoZWlnaHQ6IDQ3cHg7XG4gICAgICB9XG5cbiAgICAgICYudG9nZ2xlLWFjdGl2ZSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1vYmlsZSkge1xuICAgIHBhZGRpbmc6IDIwcHggMDtcblxuICAgID4gaDMge1xuICAgICAgaHlwaGVuczogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLnRvZ2dsZS1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW46IDFlbSAwO1xuICBtYXgtd2lkdGg6IDE2MDBweDtcblxuICAudG9nZ2xlLW5leHQtb3BlbiArICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gV2hlbiBoYXZpbmcgc2V2ZXJhbCB0aGVtZXMsIHRoaXMgZmlsZSBjb250YWlucyBldmVyeXRoaW5nIHJlbGF0ZWQgdG8gdGhlXG4vLyBkZWZhdWx0IG9uZS5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucGFnZS1pZC0yOTAzIHtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuI21lbnUtaXRlbS0zMDQ2IHtcbiAgYSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejRLUENFdExTQkhaVzVsY21GMGIzSTZJRUZrYjJKbElFbHNiSFZ6ZEhKaGRHOXlJREkxTGpFdU1Dd2dVMVpISUVWNGNHOXlkQ0JRYkhWbkxVbHVJQzRnVTFaSElGWmxjbk5wYjI0NklEWXVNREFnUW5WcGJHUWdNQ2tnSUMwdFBnbzhjM1puSUhabGNuTnBiMjQ5SWpFdU1TSWdhV1E5SWt4aGVXVnlYekVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGc5SWpCd2VDSWdlVDBpTUhCNElnb0pJSFpwWlhkQ2IzZzlJakFnTUNBeE1qQWdNVEl3SWlCemRIbHNaVDBpWlc1aFlteGxMV0poWTJ0bmNtOTFibVE2Ym1WM0lEQWdNQ0F4TWpBZ01USXdPeUlnZUcxc09uTndZV05sUFNKd2NtVnpaWEoyWlNJK0NqeHpkSGxzWlNCMGVYQmxQU0owWlhoMEwyTnpjeUkrQ2drdWMzUXdlMlpwYkd3Nkl6aERPRU00UXp0OUNqd3ZjM1I1YkdVK0NqeG5QZ29KUEdOcGNtTnNaU0JqYkdGemN6MGljM1F3SWlCamVEMGlOakV1TkNJZ1kzazlJakU0TGpFaUlISTlJakUzTGpFaUx6NEtDVHh3WVhSb0lHTnNZWE56UFNKemREQWlJR1E5SWswNE15NDVMRFF4TGpGakxURXlMakVzTlMweU1pNDFMREUxTFRJeUxqVXNNVFZ6TFRFd0xqUXRNVEF0TWpJdU5TMHhOV010TVRRdU5DMDFMamt0TWprdU1TMDFMamt0TWprdU1TMDFMamwyTmpNdU5tTXdMREFzT0M0NUxUQXVPU3d5TlM0NExEUXVNd29KQ1ZNMk1TNDBMREV4T1N3Mk1TNDBMREV4T1hNNExqa3RNVEF1Tnl3eU5TNDRMVEUxTGpsek1qVXVPQzAwTGpNc01qVXVPQzAwTGpOV016VXVNa014TVRNc016VXVNaXc1T0M0ekxETTFMaklzT0RNdU9TdzBNUzR4ZWlJdlBnbzhMMmMrQ2p3dmMzWm5QZ289XCIpO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NEtQQ0V0TFNCSFpXNWxjbUYwYjNJNklFRmtiMkpsSUVsc2JIVnpkSEpoZEc5eUlESTBMakF1TVN3Z1UxWkhJRVY0Y0c5eWRDQlFiSFZuTFVsdUlDNGdVMVpISUZabGNuTnBiMjQ2SURZdU1EQWdRblZwYkdRZ01Da2dJQzB0UGdvOGMzWm5JSFpsY25OcGIyNDlJakV1TVNJZ2FXUTlJa3hoZVdWeVh6RWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaUlIZzlJakJ3ZUNJZ2VUMGlNSEI0SWdvSklIWnBaWGRDYjNnOUlqQWdNQ0F4TWpBZ01USXdJaUJ6ZEhsc1pUMGlaVzVoWW14bExXSmhZMnRuY205MWJtUTZibVYzSURBZ01DQXhNakFnTVRJd095SWdlRzFzT25Od1lXTmxQU0p3Y21WelpYSjJaU0krQ2p4blBnb0pQR05wY21Oc1pTQmplRDBpTmpFdU5DSWdZM2s5SWpFNExqRWlJSEk5SWpFM0xqRWlMejRLQ1R4d1lYUm9JR1E5SWswNE15NDVMRFF4TGpGakxURXlMakVzTlMweU1pNDFMREUxTFRJeUxqVXNNVFZ6TFRFd0xqUXRNVEF0TWpJdU5TMHhOV010TVRRdU5DMDFMamt0TWprdU1TMDFMamt0TWprdU1TMDFMamwyTmpNdU5tTXdMREFzT0M0NUxUQXVPU3d5TlM0NExEUXVNd29KQ1ZNMk1TNDBMREV4T1N3Mk1TNDBMREV4T1hNNExqa3RNVEF1Tnl3eU5TNDRMVEUxTGpsek1qVXVPQzAwTGpNc01qVXVPQzAwTGpOV016VXVNa014TVRNc016VXVNaXc1T0M0ekxETTFMaklzT0RNdU9TdzBNUzR4ZWlJdlBnbzhMMmMrQ2p3dmMzWm5QZ289XCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGJvZHk6bm90KC5uYXYtb3BlbikgLmhlYWRlci1uYXZpZ2F0aW9uLS1lbGVtZW50czpob3ZlciAmIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejRLUENFdExTQkhaVzVsY21GMGIzSTZJRUZrYjJKbElFbHNiSFZ6ZEhKaGRHOXlJREkwTGpBdU1Td2dVMVpISUVWNGNHOXlkQ0JRYkhWbkxVbHVJQzRnVTFaSElGWmxjbk5wYjI0NklEWXVNREFnUW5WcGJHUWdNQ2tnSUMwdFBnbzhjM1puSUhabGNuTnBiMjQ5SWpFdU1TSWdhV1E5SWt4aGVXVnlYekVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGc5SWpCd2VDSWdlVDBpTUhCNElnb0pJSFpwWlhkQ2IzZzlJakFnTUNBeE1qQWdNVEl3SWlCemRIbHNaVDBpWlc1aFlteGxMV0poWTJ0bmNtOTFibVE2Ym1WM0lEQWdNQ0F4TWpBZ01USXdPeUlnZUcxc09uTndZV05sUFNKd2NtVnpaWEoyWlNJK0NqeG5QZ29KUEdOcGNtTnNaU0JqZUQwaU5qRXVOQ0lnWTNrOUlqRTRMakVpSUhJOUlqRTNMakVpTHo0S0NUeHdZWFJvSUdROUlrMDRNeTQ1TERReExqRmpMVEV5TGpFc05TMHlNaTQxTERFMUxUSXlMalVzTVRWekxURXdMalF0TVRBdE1qSXVOUzB4TldNdE1UUXVOQzAxTGprdE1qa3VNUzAxTGprdE1qa3VNUzAxTGpsMk5qTXVObU13TERBc09DNDVMVEF1T1N3eU5TNDRMRFF1TXdvSkNWTTJNUzQwTERFeE9TdzJNUzQwTERFeE9YTTRMamt0TVRBdU55d3lOUzQ0TFRFMUxqbHpNalV1T0MwMExqTXNNalV1T0MwMExqTldNelV1TWtNeE1UTXNNelV1TWl3NU9DNHpMRE0xTGpJc09ETXVPU3cwTVM0eGVpSXZQZ284TDJjK0Nqd3ZjM1puUGdvPVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ== */
