@charset "UTF-8";
/*

##
##  THEMING
##

a component can be themed via:
.my-component {
    background-color: themify(my-component-bg);
}
'my-component-bg' would need to be added to each $theme map:
$themes: (
    'jif': (
        'my-component-bg': 'white'
    ),
    'ffa':  (
        'my-component-bg': 'black'
    )
)

if a property is only used for a single theme:
.my-component {
    @if $theme == chf {
        font-size: 12px
    }
}
*/
/*! destyle.css v1.0.10 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model
   ========================================================================== */
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

::before,
::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

/* Document
     ========================================================================== */
/**
   * 1. Correct the line height in all browsers.
   * 2. Prevent adjustments of font size after orientation changes in iOS.
   * 3. Remove gray overlay on links for iOS.
   */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/ }

/* Sections
     ========================================================================== */
/**
   * Remove the margin in all browsers.
   */
body {
  margin: 0; }

/**
   * Render the `main` element consistently in IE.
   */
main {
  display: block; }

/* Vertical rhythm
     ========================================================================== */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0; }

/* Headings
     ========================================================================== */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0; }

/* Lists (enumeration)
     ========================================================================== */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none; }

/* Lists (definition)
     ========================================================================== */
dt {
  font-weight: bold; }

dd {
  margin-left: 0; }

/* Grouping content
     ========================================================================== */
/**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border: 0;
  border-top: 1px solid;
  margin: 0;
  clear: both;
  color: inherit; }

/**
   * 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: inherit;
  /* 2 */ }

address {
  font-style: inherit; }

/* Text-level semantics
     ========================================================================== */
/**
   * Remove the gray background on active links in IE 10.
   */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit; }

/**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */ }

/**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
b,
strong {
  font-weight: bolder; }

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */ }

/**
   * Add the correct font size in all browsers.
   */
small {
  font-size: 80%; }

/**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
     ========================================================================== */
/**
   * Remove the border on images inside links in IE 10.
   */
img {
  border-style: none;
  vertical-align: bottom; }

embed,
object,
iframe {
  border: 0;
  vertical-align: bottom; }

/* Forms
     ========================================================================== */
/**
   * Reset form fields to make them styleable
   * 1. Reset radio and checkbox to preserve their look in iOS.
   */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  border: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit; }

[type='checkbox'] {
  /* 1 */
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox; }

[type='radio'] {
  /* 1 */
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio; }

/**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
button,
input {
  /* 1 */
  overflow: visible; }

/**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
button,
select {
  /* 1 */
  text-transform: none; }

/**
   * Correct the inability to style clickable types in iOS and Safari.
   */
button,
[type='button'],
[type='reset'],
[type='submit'] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none; }

button[disabled],
[type='button'][disabled],
[type='reset'][disabled],
[type='submit'][disabled] {
  cursor: default; }

/**
   * 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; }

/**
   * Reset to invisible
   */
fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0; }

/**
   * 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 {
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
progress {
  vertical-align: baseline; }

/**
   * Remove the default vertical scrollbar in IE 10+.
   */
textarea {
  overflow: auto; }

/**
   * 1. Remove the padding in IE 10.
   */
[type='checkbox'],
[type='radio'] {
  padding: 0;
  /* 1 */ }

/**
   * 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 outline style in Safari.
   */
[type='search'] {
  outline-offset: -2px;
  /* 1 */ }

/**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
[type='search']::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/**
   * Clickable labels
   */
label[for] {
  cursor: pointer; }

/* Interactive
     ========================================================================== */
/*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
details {
  display: block; }

/*
   * Add the correct display in all browsers.
   */
summary {
  display: list-item; }

/* Table
     ========================================================================== */
table {
  border-collapse: collapse;
  border-spacing: 0; }

caption {
  text-align: left; }

td,
th {
  vertical-align: top; }

th {
  text-align: left;
  font-weight: bold; }

/* Misc
     ========================================================================== */
/**
   * Add the correct display in IE 10+.
   */
template {
  display: none; }

/**
   * Add the correct display in IE 10.
   */
[hidden] {
  display: none; }

@media (min-width: 1px) {
  body::before {
    content: '{"phone":{"value": "1px", "active": true}, "tablet":{"value": "600px", "active": false}, "tablet-landscape":{"value": "900px", "active": false}, "desktop":{"value": "1200px", "active": false}, "widescreen":{"value": "1800px", "active": false}}';
    display: block;
    height: 0;
    overflow: hidden;
    width: 0; } }

@media (min-width: 600px) {
  body::before {
    content: '{"phone":{"value": "1px", "active": true}, "tablet":{"value": "600px", "active": true}, "tablet-landscape":{"value": "900px", "active": false}, "desktop":{"value": "1200px", "active": false}, "widescreen":{"value": "1800px", "active": false}}';
    display: block;
    height: 0;
    overflow: hidden;
    width: 0; } }

@media (min-width: 900px) {
  body::before {
    content: '{"phone":{"value": "1px", "active": true}, "tablet":{"value": "600px", "active": true}, "tablet-landscape":{"value": "900px", "active": true}, "desktop":{"value": "1200px", "active": false}, "widescreen":{"value": "1800px", "active": false}}';
    display: block;
    height: 0;
    overflow: hidden;
    width: 0; } }

@media (min-width: 1200px) {
  body::before {
    content: '{"phone":{"value": "1px", "active": true}, "tablet":{"value": "600px", "active": true}, "tablet-landscape":{"value": "900px", "active": true}, "desktop":{"value": "1200px", "active": true}, "widescreen":{"value": "1800px", "active": false}}';
    display: block;
    height: 0;
    overflow: hidden;
    width: 0; } }

@media (min-width: 1800px) {
  body::before {
    content: '{"phone":{"value": "1px", "active": true}, "tablet":{"value": "600px", "active": true}, "tablet-landscape":{"value": "900px", "active": true}, "desktop":{"value": "1200px", "active": true}, "widescreen":{"value": "1800px", "active": true}}';
    display: block;
    height: 0;
    overflow: hidden;
    width: 0; } }

/*! Lity - v2.3.1 - 2018-04-20
* http://sorgalla.com/lity/
* Copyright (c) 2015-2018 Jan Sorgalla; Licensed MIT */
.lity {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  white-space: nowrap;
  background: #0b0b0b;
  background: rgba(0, 0, 0, 0.9);
  outline: none !important;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease; }

.lity.lity-opened {
  opacity: 1; }

.lity.lity-closed {
  opacity: 0; }

.lity * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.lity-wrap {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
  outline: none !important; }

.lity-wrap:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em; }

.lity-loader {
  z-index: 9991;
  color: #fff;
  position: absolute;
  top: 50%;
  margin-top: -0.8em;
  width: 100%;
  text-align: center;
  font-size: 14px;
  font-family: Arial, Helvetica, sans-serif;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease; }

.lity-loading .lity-loader {
  opacity: 1; }

.lity-container {
  z-index: 9992;
  position: relative;
  text-align: left;
  vertical-align: middle;
  display: inline-block;
  white-space: normal;
  max-width: 100%;
  max-height: 100%;
  outline: none !important; }

.lity-content {
  z-index: 9993;
  width: 100%;
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease; }

.lity-loading .lity-content,
.lity-closed .lity-content {
  -webkit-transform: scale(0.8);
  transform: scale(0.8); }

.lity-content:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); }

.lity-close {
  z-index: 9994;
  width: 35px;
  height: 35px;
  position: fixed;
  right: 0;
  top: 0;
  -webkit-appearance: none;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  font-family: Arial, Baskerville, monospace;
  line-height: 35px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 0;
  background: none;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none; }

.lity-close::-moz-focus-inner {
  border: 0;
  padding: 0; }

.lity-close:hover,
.lity-close:focus,
.lity-close:active,
.lity-close:visited {
  text-decoration: none;
  text-align: center;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  font-family: Arial, Baskerville, monospace;
  line-height: 35px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 0;
  background: none;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none; }

.lity-close:active {
  top: 1px; }

/* Image */
.lity-image img {
  max-width: 100%;
  display: block;
  line-height: 0;
  border: 0; }

/* iFrame */
.lity-iframe .lity-container,
.lity-youtube .lity-container,
.lity-vimeo .lity-container,
.lity-facebookvideo .lity-container,
.lity-googlemaps .lity-container {
  width: 100%;
  max-width: 964px; }

.lity-iframe-container {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  overflow: auto;
  pointer-events: auto;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-overflow-scrolling: touch; }

.lity-iframe-container iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000; }

.lity-hide {
  display: none; }

/**
 * Swiper 3.4.2
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * 
 * http://www.idangero.us/swiper/
 * 
 * Copyright 2017, Vladimir Kharlampidi
 * The iDangero.us
 * http://www.idangero.us/
 * 
 * Licensed under MIT
 * 
 * Released on: March 10, 2017
 */
.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  width: 100%;
  /* Fix of Webkit flickering */
  z-index: 1; }

.swiper-container-no-flexbox .swiper-slide {
  float: left; }

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -ms-flex-direction: column;
  flex-direction: column; }

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
  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 {
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  margin: 0 auto; }

.swiper-slide {
  -webkit-flex-shrink: 0;
  -ms-flex: 0 0 auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative; }

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto; }

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-transition-property: -webkit-transform, height;
  -webkit-transition-property: height, -webkit-transform;
  transition-property: height, -webkit-transform;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform; }

/* a11y */
.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000; }

/* IE10 Windows Phone 8 Fixes */
.swiper-wp8-horizontal {
  -ms-touch-action: pan-y;
  touch-action: pan-y; }

.swiper-wp8-vertical {
  -ms-touch-action: pan-x;
  touch-action: pan-x; }

/* Arrows */
.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  z-index: 10;
  cursor: pointer;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-transition: all 0.2s;
  transition: all 0.2s; }

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.15;
  cursor: auto;
  pointer-events: none; }

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  left: 0px;
  right: auto;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }

.swiper-button-prev.swiper-button-black,
.swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  right: 0px;
  left: auto;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }

.swiper-button-next.swiper-button-black,
.swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

/* Pagination Styles */
.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: 300ms;
  transition: 300ms;
  -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-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #FFF;
  opacity: 0.5;
  -webkit-transition: all 0.2s;
  transition: all 0.2s; }

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -webkit-appearance: none;
  appearance: none; }

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer; }

.swiper-pagination-white .swiper-pagination-bullet {
  background: #fff; }

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff; }

.swiper-pagination-white .swiper-pagination-bullet-active {
  background: #fff; }

.swiper-pagination-black .swiper-pagination-bullet-active {
  background: #000; }

.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: 5px 0;
  display: block; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 5px; }

/* Progress */
.swiper-pagination-progress {
  background: rgba(0, 0, 0, 0.25);
  position: absolute; }

.swiper-pagination-progress .swiper-pagination-progressbar {
  background: #007aff;
  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-progress .swiper-pagination-progressbar {
  -webkit-transform-origin: right top;
  transform-origin: right top; }

.swiper-container-horizontal > .swiper-pagination-progress {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0; }

.swiper-container-vertical > .swiper-pagination-progress {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0; }

.swiper-pagination-progress.swiper-pagination-white {
  background: rgba(255, 255, 255, 0.5); }

.swiper-pagination-progress.swiper-pagination-white .swiper-pagination-progressbar {
  background: #fff; }

.swiper-pagination-progress.swiper-pagination-black .swiper-pagination-progressbar {
  background: #000; }

/* 3D Container */
.swiper-container-3d {
  -webkit-perspective: 1200px;
  -o-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 {
  /* Safari 4+, Chrome */
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  /* Firefox 16+, IE10, Opera 12.50+ */ }

.swiper-container-3d .swiper-slide-shadow-right {
  /* Safari 4+, Chrome */
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  /* Firefox 16+, IE10, Opera 12.50+ */ }

.swiper-container-3d .swiper-slide-shadow-top {
  /* Safari 4+, Chrome */
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  /* Firefox 16+, IE10, Opera 12.50+ */ }

.swiper-container-3d .swiper-slide-shadow-bottom {
  /* Safari 4+, Chrome */
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  /* Firefox 16+, IE10, Opera 12.50+ */ }

/* Coverflow */
.swiper-container-coverflow .swiper-wrapper,
.swiper-container-flip .swiper-wrapper {
  /* Windows 8 IE 10 fix */
  -ms-perspective: 1200px; }

/* Cube + Flip */
.swiper-container-cube,
.swiper-container-flip {
  overflow: visible; }

.swiper-container-cube .swiper-slide,
.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1; }

.swiper-container-cube .swiper-slide .swiper-slide,
.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-cube .swiper-slide-active,
.swiper-container-flip .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-flip .swiper-slide-shadow-top,
.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right,
.swiper-container-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

/* Cube */
.swiper-container-cube .swiper-slide {
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  width: 100%;
  height: 100%; }

.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-next,
.swiper-container-cube .swiper-slide-prev,
.swiper-container-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible; }

.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; }

/* Fade */
.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out; }

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  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-zoom-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: 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;
     font-family: "object-fit:contain";
     object-fit: contain; }

/* 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; }

/* Preloader */
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: -1;
  -webkit-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  animation: swiper-preloader-spin 1s steps(12, end) infinite; }

.swiper-lazy-preloader:after {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  background-size: 100%;
  background-repeat: no-repeat; }

.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg); } }

@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.tippy-tooltip.light-border-theme {
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 8, 16, 0.15);
  color: #26323d;
  -webkit-box-shadow: 0 3px 14px -0.5px rgba(0, 8, 16, 0.08);
          box-shadow: 0 3px 14px -0.5px rgba(0, 8, 16, 0.08); }

.tippy-tooltip.light-border-theme .tippy-backdrop {
  background-color: #fff; }

.tippy-tooltip.light-border-theme .tippy-arrow:after,
.tippy-tooltip.light-border-theme .tippy-arrow:before,
.tippy-tooltip.light-border-theme .tippy-roundarrow:after,
.tippy-tooltip.light-border-theme .tippy-roundarrow:before {
  content: "";
  position: absolute;
  z-index: -1; }

.tippy-tooltip.light-border-theme .tippy-roundarrow {
  fill: #fff; }

.tippy-tooltip.light-border-theme .tippy-roundarrow:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDE0IiB2aWV3Qm94PSIwIDAgMTggNyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMCA3czIuMDIxLS4wMTUgNS4yNTMtNC4yMThDNi41ODQgMS4wNTEgNy43OTcuMDA3IDkgMGMxLjIwMy0uMDA3IDIuNDE2IDEuMDM1IDMuNzYxIDIuNzgyQzE2LjAxMiA3LjAwNSAxOCA3IDE4IDd6IiBmaWxsPSIjMzMzIiBmaWxsLW9wYWNpdHk9Ii4yMzUiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPg==);
  background-size: 18px 7px;
  width: 18px;
  height: 7px;
  left: 0;
  top: 0;
  fill: rgba(0, 8, 16, 0.15); }

.tippy-tooltip.light-border-theme[x-placement^="top"] .tippy-roundarrow:after {
  top: 1px;
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg); }

.tippy-tooltip.light-border-theme[x-placement^="top"] .tippy-arrow {
  border-top-color: #fff; }

.tippy-tooltip.light-border-theme[x-placement^="top"] .tippy-arrow:after {
  border-top: 7px solid #fff;
  top: -7px; }

.tippy-tooltip.light-border-theme[x-placement^="top"] .tippy-arrow:before {
  border-top: 7px solid rgba(0, 8, 16, 0.2);
  bottom: -1px; }

.tippy-tooltip.light-border-theme[x-placement^="bottom"] .tippy-roundarrow:after {
  top: -1px; }

.tippy-tooltip.light-border-theme[x-placement^="bottom"] .tippy-arrow {
  border-bottom-color: #fff; }

.tippy-tooltip.light-border-theme[x-placement^="bottom"] .tippy-arrow:after {
  border-bottom: 7px solid #fff;
  bottom: -7px; }

.tippy-tooltip.light-border-theme[x-placement^="bottom"] .tippy-arrow:before {
  border-bottom: 7px solid rgba(0, 8, 16, 0.2);
  bottom: -6px; }

.tippy-tooltip.light-border-theme[x-placement^="left"] .tippy-roundarrow:after {
  left: 1px;
  top: 0;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg); }

.tippy-tooltip.light-border-theme[x-placement^="left"] .tippy-arrow {
  border-left-color: #fff; }

.tippy-tooltip.light-border-theme[x-placement^="left"] .tippy-arrow:after {
  border-left: 7px solid #fff;
  left: -7px; }

.tippy-tooltip.light-border-theme[x-placement^="left"] .tippy-arrow:before {
  border-left: 7px solid rgba(0, 8, 16, 0.2);
  left: -6px; }

.tippy-tooltip.light-border-theme[x-placement^="right"] .tippy-roundarrow:after {
  left: -1px;
  top: 0;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg); }

.tippy-tooltip.light-border-theme[x-placement^="right"] .tippy-arrow {
  border-right-color: #fff; }

.tippy-tooltip.light-border-theme[x-placement^="right"] .tippy-arrow:after {
  border-right: 7px solid #fff;
  right: -7px; }

.tippy-tooltip.light-border-theme[x-placement^="right"] .tippy-arrow:before {
  border-right: 7px solid rgba(0, 8, 16, 0.2);
  right: -6px; }

.tippy-tooltip.light-border-theme[x-placement^="bottom"] .tippy-arrow,
.tippy-tooltip.light-border-theme[x-placement^="bottom"] .tippy-roundarrow,
.tippy-tooltip.light-border-theme[x-placement^="top"] .tippy-arrow,
.tippy-tooltip.light-border-theme[x-placement^="top"] .tippy-roundarrow {
  -webkit-transform: translateX(-1px);
          transform: translateX(-1px); }

.tippy-tooltip.light-border-theme[x-placement^="bottom"] .tippy-arrow:after,
.tippy-tooltip.light-border-theme[x-placement^="bottom"] .tippy-arrow:before,
.tippy-tooltip.light-border-theme[x-placement^="top"] .tippy-arrow:after,
.tippy-tooltip.light-border-theme[x-placement^="top"] .tippy-arrow:before {
  left: -7px;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent; }

.tippy-tooltip.light-border-theme[x-placement^="left"] .tippy-arrow,
.tippy-tooltip.light-border-theme[x-placement^="left"] .tippy-roundarrow,
.tippy-tooltip.light-border-theme[x-placement^="right"] .tippy-arrow,
.tippy-tooltip.light-border-theme[x-placement^="right"] .tippy-roundarrow {
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px); }

.tippy-tooltip.light-border-theme[x-placement^="left"] .tippy-arrow:after,
.tippy-tooltip.light-border-theme[x-placement^="left"] .tippy-arrow:before,
.tippy-tooltip.light-border-theme[x-placement^="right"] .tippy-arrow:after,
.tippy-tooltip.light-border-theme[x-placement^="right"] .tippy-arrow:before {
  top: -7px;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent; }

.film-grid__title, .film-grid__desc {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis; }

.has-touch .sessions__dates {
  /* Firefox */
  scrollbar-width: none;
  scrollbar-height: none;
  /* IE 10+ */
  -ms-overflow-style: none; }
  .has-touch .sessions__dates::-webkit-scrollbar {
    width: 0;
    height: 0; }

.u-accessibility, .skip-to-content {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden; }

.u-line-break:after {
  content: '\A';
  white-space: pre; }

.u-clearfix:after {
  content: "";
  display: table;
  clear: both; }

.l-container {
  position: relative;
  margin-left: auto;
  margin-right: auto; }
  @media (max-width: 1219px) {
    .l-container {
      width: 100%; } }
  @media (min-width: 1220px) {
    .l-container {
      max-width: 1180px; } }

.l-gutters {
  padding: 0 20px;
  position: relative;
  /*
    @include media('>=tablet') {
        padding: 0 $l-pad;
    }
    */ }

@media (max-width: 599px) {
  .l-mobile-full-width, .film-grid__thumb, .promos__img-link, .schedule__hr--mob-full {
    margin-left: -20px;
    margin-right: -20px; } }

@-webkit-keyframes anim-shake-frames {
  0% {
    -webkit-transform: translate(2px, 1px) rotate(0deg);
            transform: translate(2px, 1px) rotate(0deg); }
  10% {
    -webkit-transform: translate(-1px, -2px) rotate(-1deg);
            transform: translate(-1px, -2px) rotate(-1deg); }
  20% {
    -webkit-transform: translate(-3px, 0px) rotate(1deg);
            transform: translate(-3px, 0px) rotate(1deg); }
  30% {
    -webkit-transform: translate(0px, 2px) rotate(0deg);
            transform: translate(0px, 2px) rotate(0deg); }
  40% {
    -webkit-transform: translate(1px, -1px) rotate(1deg);
            transform: translate(1px, -1px) rotate(1deg); }
  50% {
    -webkit-transform: translate(-1px, 2px) rotate(-1deg);
            transform: translate(-1px, 2px) rotate(-1deg); }
  60% {
    -webkit-transform: translate(-3px, 1px) rotate(0deg);
            transform: translate(-3px, 1px) rotate(0deg); }
  70% {
    -webkit-transform: translate(2px, 1px) rotate(-1deg);
            transform: translate(2px, 1px) rotate(-1deg); }
  80% {
    -webkit-transform: translate(-1px, -1px) rotate(1deg);
            transform: translate(-1px, -1px) rotate(1deg); }
  90% {
    -webkit-transform: translate(2px, 2px) rotate(0deg);
            transform: translate(2px, 2px) rotate(0deg); }
  100% {
    -webkit-transform: translate(1px, -2px) rotate(-1deg);
            transform: translate(1px, -2px) rotate(-1deg); } }

@keyframes anim-shake-frames {
  0% {
    -webkit-transform: translate(2px, 1px) rotate(0deg);
            transform: translate(2px, 1px) rotate(0deg); }
  10% {
    -webkit-transform: translate(-1px, -2px) rotate(-1deg);
            transform: translate(-1px, -2px) rotate(-1deg); }
  20% {
    -webkit-transform: translate(-3px, 0px) rotate(1deg);
            transform: translate(-3px, 0px) rotate(1deg); }
  30% {
    -webkit-transform: translate(0px, 2px) rotate(0deg);
            transform: translate(0px, 2px) rotate(0deg); }
  40% {
    -webkit-transform: translate(1px, -1px) rotate(1deg);
            transform: translate(1px, -1px) rotate(1deg); }
  50% {
    -webkit-transform: translate(-1px, 2px) rotate(-1deg);
            transform: translate(-1px, 2px) rotate(-1deg); }
  60% {
    -webkit-transform: translate(-3px, 1px) rotate(0deg);
            transform: translate(-3px, 1px) rotate(0deg); }
  70% {
    -webkit-transform: translate(2px, 1px) rotate(-1deg);
            transform: translate(2px, 1px) rotate(-1deg); }
  80% {
    -webkit-transform: translate(-1px, -1px) rotate(1deg);
            transform: translate(-1px, -1px) rotate(1deg); }
  90% {
    -webkit-transform: translate(2px, 2px) rotate(0deg);
            transform: translate(2px, 2px) rotate(0deg); }
  100% {
    -webkit-transform: translate(1px, -2px) rotate(-1deg);
            transform: translate(1px, -2px) rotate(-1deg); } }

@-webkit-keyframes anim-radial-pulse {
  0% {
    -webkit-box-shadow: 0 0 0 0px rgba(0, 0, 0, 0.5);
            box-shadow: 0 0 0 0px rgba(0, 0, 0, 0.5); }
  100% {
    -webkit-box-shadow: 0 0 0 30px rgba(0, 0, 0, 0);
            box-shadow: 0 0 0 30px rgba(0, 0, 0, 0); } }

@keyframes anim-radial-pulse {
  0% {
    -webkit-box-shadow: 0 0 0 0px rgba(0, 0, 0, 0.5);
            box-shadow: 0 0 0 0px rgba(0, 0, 0, 0.5); }
  100% {
    -webkit-box-shadow: 0 0 0 30px rgba(0, 0, 0, 0);
            box-shadow: 0 0 0 30px rgba(0, 0, 0, 0); } }

@-webkit-keyframes anim-spin {
  from {
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  to {
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes anim-spin {
  from {
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  to {
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

form.form-invalid .is-invalid {
  -webkit-animation-name: anim-shake-frames;
          animation-name: anim-shake-frames;
  -webkit-animation-duration: 0.4s;
          animation-duration: 0.4s;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear; }

.h1, .wysiwyg h1, .film__wysiwyg h1, .h2, .wysiwyg h2, .film__wysiwyg h2, .h3, .film-grid__title, .planner__account-heading, .promos__heading, .wysiwyg h3, .film__wysiwyg h3, .subscribe__heading, .vote__feedback-heading, .h4, .search-results__heading, .wysiwyg h4, .film__wysiwyg h4, .h5, .pagination__page, .eef .schedule__filter-by-heading, .jif .schedule__filter-by-heading, .wysiwyg h5, .film__wysiwyg h5, .h6, .film__trailer-btn, .film__info-heading, .film-grid__year, .film-grid__countries, .ffa .schedule__filter-by-heading, .schedule__filters-heading, .wysiwyg h6, .film__wysiwyg h6, .form__field-error, .btn, .pika-prev,
.pika-next, .film__book-btn, .film__vote-btn, .pagination__prev,
.pagination__next, .planner__submit-btn, .planner__facebook-btn, .schedule__apply-filters, .calendar, .film__title, .voting-block__heading, .film-grid__vote, .footer__links, .nav-sticky__planner-label, .nav-static__link, .nav-drop__link, .search-results__title, .search-results__no-results, .planner__heading, .planner__facebook-user-no-pw-error, .schedule__types > button, .schedule__date, .sessions__dates button, .sessions__list li > button,
.sessions__list li > a, .sessions__attribute, .voting__heading {
  font-family: 'polaris-bold';
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

body, .planner__forgot-pw {
  font-family: 'antwerp';
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

@font-face {
  font-family: "polaris-bold";
  src: url("../fonts/jiff/polaris-bold.woff2") format("woff2"), url("../fonts/jiff/polaris-bold.woff") format("woff");
  font-weight: 700;
  font-style: normal; }

@font-face {
  font-family: "antwerp";
  src: url("../fonts/jiff/antwerp-regular.woff") format("woff");
  font-style: normal;
  font-weight: 400; }

@font-face {
  font-family: "antwerp";
  src: url("../fonts/jiff/antwerp-regular-italic.woff") format("woff");
  font-style: italic;
  font-weight: 400; }

@font-face {
  font-family: "antwerp";
  src: url("../fonts/jiff/antwerp-semibold.woff") format("woff");
  font-style: normal;
  font-weight: 600; }

@font-face {
  font-family: 'icomoon';
  src: url("../fonts/icomoon.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

[class^="icon-"], [class*=" icon-"],
.icon,
.nav-sticky__planner-icon,
.planner__icon {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  button [class^="icon-"], button [class*=" icon-"], button .icon, button .nav-sticky__planner-icon, button .planner__icon {
    display: block; }

.icon-info:before {
  content: "\e902"; }

.icon-location:before {
  content: "\e904"; }

.icon-search:before {
  content: "\e600"; }

.icon-hamburger:before {
  content: "\e601"; }

.icon-chook:before {
  content: "\e604"; }

.icon-social-facebook:before {
  content: "\e90a"; }

.icon-social-facebook2:before {
  content: "\e609"; }

.icon-social-email:before {
  content: "\e60b"; }

.icon-social-googleplus-alt:before {
  content: "\ea8b"; }

.icon-social-googleplus:before {
  content: "\e80a"; }

.icon-social-twitter:before {
  content: "\e80d"; }

.icon-social-whatsapp:before {
  content: "\e900"; }

.icon-social-pinterest:before {
  content: "\e901"; }

.icon-social-instagram:before {
  content: "\ea92"; }

.icon-social-vimeo:before {
  content: "\eaa0"; }

.icon-close-light:before {
  content: "\e903"; }

.icon-close:before {
  content: "\e602"; }

.icon-arrow-right-light:before {
  content: "\e905"; }

.icon-arrow-left-light:before {
  content: "\e906"; }

.icon-arrow-down-light:before {
  content: "\e907"; }

.icon-arrow-up-light:before {
  content: "\e908"; }

.icon-arrow-left:before {
  content: "\e605"; }

.icon-arrow-right:before {
  content: "\e606"; }

.icon-arrow-down:before {
  content: "\e607"; }

.icon-arrow-up:before {
  content: "\e608"; }

.icon-plus:before {
  content: "\e909"; }

.icon-calendar:before, .nav-sticky__planner-icon:before, .planner__icon:before {
  content: "\e90b"; }

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: black;
  line-height: 1.2; }

::-moz-selection {
  background: rgba(0, 0, 0, 0.8);
  color: white; }

::selection {
  background: rgba(0, 0, 0, 0.8);
  color: white; }

hr {
  border-bottom: 1px solid rgba(238, 175, 115, 0.1);
  border-left: 0;
  border-right: 0;
  border-top: 0;
  margin: 30px 0; }

.h1, .wysiwyg h1, .film__wysiwyg h1, .h2, .wysiwyg h2, .film__wysiwyg h2, .h3, .film-grid__title, .planner__account-heading, .promos__heading, .wysiwyg h3, .film__wysiwyg h3, .subscribe__heading, .vote__feedback-heading, .h4, .search-results__heading, .wysiwyg h4, .film__wysiwyg h4, .h5, .pagination__page, .eef .schedule__filter-by-heading, .jif .schedule__filter-by-heading, .wysiwyg h5, .film__wysiwyg h5, .h6, .film__trailer-btn, .film__info-heading, .film-grid__year, .film-grid__countries, .ffa .schedule__filter-by-heading, .schedule__filters-heading, .wysiwyg h6, .film__wysiwyg h6 {
  margin-bottom: 0.5em;
  font-weight: normal; }
  .h1.js-fitty, .wysiwyg h1.js-fitty, .film__wysiwyg h1.js-fitty, .h2.js-fitty, .wysiwyg h2.js-fitty, .film__wysiwyg h2.js-fitty, .h3.js-fitty, .js-fitty.film-grid__title, .js-fitty.planner__account-heading, .js-fitty.promos__heading, .wysiwyg h3.js-fitty, .film__wysiwyg h3.js-fitty, .js-fitty.subscribe__heading, .js-fitty.vote__feedback-heading, .h4.js-fitty, .js-fitty.search-results__heading, .wysiwyg h4.js-fitty, .film__wysiwyg h4.js-fitty, .h5.js-fitty, .js-fitty.pagination__page, .eef .js-fitty.schedule__filter-by-heading, .jif .js-fitty.schedule__filter-by-heading, .wysiwyg h5.js-fitty, .film__wysiwyg h5.js-fitty, .h6.js-fitty, .js-fitty.film__trailer-btn, .js-fitty.film__info-heading, .js-fitty.film-grid__year, .js-fitty.film-grid__countries, .ffa .js-fitty.schedule__filter-by-heading, .js-fitty.schedule__filters-heading, .wysiwyg h6.js-fitty, .film__wysiwyg h6.js-fitty {
    margin-bottom: 0; }

.h1, .wysiwyg h1, .film__wysiwyg h1 {
  font-size: 40px;
  line-height: 1.1; }

.h2, .wysiwyg h2, .film__wysiwyg h2 {
  font-size: 24px;
  line-height: 1.33; }

.h3, .film-grid__title, .planner__account-heading, .promos__heading, .wysiwyg h3, .film__wysiwyg h3, .subscribe__heading, .vote__feedback-heading {
  font-size: 20px;
  line-height: 1.6; }

.h4, .search-results__heading, .wysiwyg h4, .film__wysiwyg h4 {
  font-size: 18px;
  line-height: 1.78; }

.h5, .pagination__page, .eef .schedule__filter-by-heading, .jif .schedule__filter-by-heading, .wysiwyg h5, .film__wysiwyg h5 {
  font-size: 16px;
  line-height: 1; }

.h6, .film__trailer-btn, .film__info-heading, .film-grid__year, .film-grid__countries, .ffa .schedule__filter-by-heading, .schedule__filters-heading, .wysiwyg h6, .film__wysiwyg h6 {
  font-size: 12px;
  line-height: 1.33; }

.p, .promos__desc, .wysiwyg p, .film__wysiwyg p, .subscribe__desc {
  line-height: 1.7em;
  font-size: 18px;
  margin-bottom: 1.4em; }
  .p strong, .promos__desc strong, .wysiwyg p strong, .film__wysiwyg p strong, .subscribe__desc strong {
    font-weight: bold; }

input[type=text],
input[type=number],
input[type=email] select,
textarea {
  display: block;
  width: 100%; }

.form__field input, .form__select select, .form__text-area textarea {
  line-height: normal;
  width: 100%;
  display: block;
  font-size: 16px;
  width: 100%;
  border-radius: 2px;
  background-color: white;
  border: solid 1px #cccccc;
  padding: 13px 13px 9px; }
  .form__field input::-webkit-input-placeholder, .form__select select::-webkit-input-placeholder, .form__text-area textarea::-webkit-input-placeholder {
    color: #9b9b9b; }
  .form__field input::-moz-placeholder, .form__select select::-moz-placeholder, .form__text-area textarea::-moz-placeholder {
    color: #9b9b9b; }
  .form__field input::-ms-input-placeholder, .form__select select::-ms-input-placeholder, .form__text-area textarea::-ms-input-placeholder {
    color: #9b9b9b; }
  .form__field input::placeholder, .form__select select::placeholder, .form__text-area textarea::placeholder {
    color: #9b9b9b; }

.form__field,
.form__select,
.form__checkbox,
.form__radio,
.form__text-area {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  position: relative;
  margin-bottom: 16px; }
  .form__field.is-invalid,
  .form__select.is-invalid,
  .form__checkbox.is-invalid,
  .form__radio.is-invalid,
  .form__text-area.is-invalid {
    margin-bottom: 4px; }

.form__field label {
  pointer-events: none; }

.form__select select {
  display: block;
  width: 100%;
  max-width: 100%;
  background-repeat: no-repeat;
  background-position: right .7em top 50%, 0 0;
  background-image: url(../img/select-arrow-chf.svg);
  background-size: 14px 8px;
  cursor: pointer;
  padding: 8px 12px 7px 5px; }

select::-ms-expand {
  display: none; }

.form__field-label,
.form__text-area-label,
.form__ctrl-label {
  font-size: 16px;
  color: grey;
  line-height: normal; }

.form__field-label {
  position: relative;
  display: block;
  position: absolute;
  top: 54%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 20px; }
  .has-focus .form__field-label,
  .has-value .form__field-label {
    display: none; }
  .form__select .form__field-label {
    pointer-events: none; }

.form__text-area-label {
  display: block;
  margin-bottom: 6px; }

.form__ctrl-label {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  margin-top: 1px;
  left: 34px; }

.form__checkbox-label,
.form__radio-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  cursor: pointer; }
  .form__checkbox-label::-moz-selection,
  .form__radio-label::-moz-selection {
    background: transparent; }
  .form__checkbox-label::selection,
  .form__radio-label::selection {
    background: transparent; }

.form__checkbox input + .form__ctrl-ui,
.form__radio input + .form__ctrl-ui {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  background: white;
  content: '';
  padding: 0;
  width: 22px;
  height: 22px;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  border: solid 1px #cccccc; }
  .form__checkbox input + .form__ctrl-ui::after,
  .form__radio input + .form__ctrl-ui::after {
    content: "";
    display: block;
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transition: all 0.2s;
    transition: all 0.2s; }

.form__checkbox input:focus + .form__ctrl-ui,
.form__radio input:focus + .form__ctrl-ui {
  border-color: #999999; }

.form__checkbox input:checked + .form__ctrl-ui::after,
.form__radio input:checked + .form__ctrl-ui::after {
  -webkit-transform: scale(1);
          transform: scale(1); }

.form__checkbox input,
.form__radio input {
  position: absolute;
  cursor: pointer;
  opacity: 0; }

.form__checkbox input + .form__ctrl-ui {
  border-radius: 3px; }
  .form__checkbox input + .form__ctrl-ui::after {
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2NHB4IiBoZWlnaHQ9IjY0cHgiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNjQgNjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTMuNzA3LDMyLjI5MyAxMi4yOTMsMzMuODU0IDI0LjI5Myw0NiAyNS43MDcsNDYgNDkuNzA3LDIxLjg1NCA0OC4yOTMsMjAuMzY2IDI1LDQzLjYyMyAiLz48L2c+PC9zdmc+) no-repeat center;
    background-size: contain;
    width: 1.5em;
    height: 1.5em; }

.form__radio input + .form__ctrl-ui {
  border-radius: 100%; }
  .form__radio input + .form__ctrl-ui::after {
    border-radius: 100%;
    margin: .4em;
    width: .6em;
    height: .6em; }

.form__radio input:checked + .form__ctrl-ui::after {
  background: #333333; }

.form__birth-date:before {
  content: '';
  display: table; }

.form__birth-date:after {
  content: '';
  display: table;
  clear: both; }
  .form__birth-date > .form__select {
    width: calc(99.9% * 1/3 - (15px - 15px * 1/3)); }
  .form__birth-date > .form__select:nth-child(1n) {
    float: left;
    margin-right: 15px;
    clear: none; }
  .form__birth-date > .form__select:last-child {
    margin-right: 0; }
  .form__birth-date > .form__select:nth-child(3n) {
    margin-right: 0;
    float: right; }
  .form__birth-date > .form__select:nth-child(3n + 1) {
    clear: both; }

.form__birth-date-col {
  width: calc(99.9% * 1/3 - (15px - 15px * 1/3)); }

.form__birth-date-col:nth-child(1n) {
  float: left;
  margin-right: 15px;
  clear: none; }

.form__birth-date-col:last-child {
  margin-right: 0; }

.form__birth-date-col:nth-child(3n) {
  margin-right: 0;
  float: right; }

.form__birth-date-col:nth-child(3n + 1) {
  clear: both; }

.form__field-count {
  position: absolute;
  bottom: 8px;
  right: 8px;
  font-size: 12px;
  pointer-events: none; }
  .is-invalid .form__field-count {
    color: #436153; }

.form__field-error {
  display: inline-block;
  margin-bottom: 16px;
  font-size: 12px;
  color: #436153; }
  .form__field-error ul {
    margin-top: 5px; }

.form__error {
  color: #436153;
  margin: 20px 0; }

button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  border: none;
  padding: 0; }

.btn__loading-wrap {
  position: relative;
  -webkit-transition-property: padding-right;
  transition-property: padding-right;
  -webkit-transition-duration: inherit;
          transition-duration: inherit;
  -webkit-transition-timing-function: inherit;
          transition-timing-function: inherit; }
  .is-loading .btn__loading-wrap {
    display: block;
    padding-right: 30px; }

.btn__spinner {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 10px;
  position: absolute;
  -webkit-transform: translateY(-50%) scale(0);
          transform: translateY(-50%) scale(0);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }
  .btn--grows .btn__spinner {
    right: -8px; }
  .is-loading .btn__spinner {
    -webkit-transform: translateY(-50%) scale(1);
            transform: translateY(-50%) scale(1);
    -webkit-transition: 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition: 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); }

.btn, .pika-prev,
.pika-next, .film__book-btn, .film__vote-btn, .pagination__prev,
.pagination__next, .planner__submit-btn, .planner__facebook-btn, .schedule__apply-filters {
  position: relative;
  line-height: 1.33;
  color: white;
  background-color: #436153;
  font-size: 18px;
  padding: 20px 40px;
  border-radius: 5px; }
  .btn[disabled], .pika-prev[disabled],
  .pika-next[disabled], .film__book-btn[disabled], .film__vote-btn[disabled], .pagination__prev[disabled],
  .pagination__next[disabled], .planner__submit-btn[disabled], .planner__facebook-btn[disabled], .schedule__apply-filters[disabled], .btn.is-disabled, .is-disabled.pika-prev,
  .is-disabled.pika-next, .is-disabled.film__book-btn, .is-disabled.film__vote-btn, .is-disabled.pagination__prev,
  .is-disabled.pagination__next, .is-disabled.planner__submit-btn, .is-disabled.planner__facebook-btn, .is-disabled.schedule__apply-filters {
    color: white;
    background-color: rgba(101, 187, 179, 0.75) !important; }
  .btn.is-loading, .is-loading.pika-prev,
  .is-loading.pika-next, .is-loading.film__book-btn, .is-loading.film__vote-btn, .is-loading.pagination__prev,
  .is-loading.pagination__next, .is-loading.planner__submit-btn, .is-loading.planner__facebook-btn, .is-loading.schedule__apply-filters {
    pointer-events: none; }
  .btn.is-selected, .is-selected.pika-prev,
  .is-selected.pika-next, .is-selected.film__book-btn, .is-selected.film__vote-btn, .is-selected.pagination__prev,
  .is-selected.pagination__next, .is-selected.planner__submit-btn, .is-selected.planner__facebook-btn, .is-selected.schedule__apply-filters, .btn:hover, .pika-prev:hover,
  .pika-next:hover, .film__book-btn:hover, .film__vote-btn:hover, .pagination__prev:hover,
  .pagination__next:hover, .planner__submit-btn:hover, .planner__facebook-btn:hover, .schedule__apply-filters:hover, .btn:focus, .pika-prev:focus,
  .pika-next:focus, .film__book-btn:focus, .film__vote-btn:focus, .pagination__prev:focus,
  .pagination__next:focus, .planner__submit-btn:focus, .planner__facebook-btn:focus, .schedule__apply-filters:focus {
    color: white;
    fill: white;
    background-color: #587F6C; }
  .btn.small, .small.pika-prev,
  .small.pika-next, .small.film__book-btn, .small.film__vote-btn, .small.pagination__prev,
  .small.pagination__next, .small.planner__submit-btn, .small.planner__facebook-btn, .small.schedule__apply-filters {
    padding: 10px 24px 10px;
    font-size: 16px;
    background-color: #1ed1cc;
    color: #000000; }
    .btn.small.is-selected, .small.is-selected.pika-prev,
    .small.is-selected.pika-next, .small.is-selected.film__book-btn, .small.is-selected.film__vote-btn, .small.is-selected.pagination__prev,
    .small.is-selected.pagination__next, .small.is-selected.planner__submit-btn, .small.is-selected.planner__facebook-btn, .small.is-selected.schedule__apply-filters, .btn.small:hover, .small.pika-prev:hover,
    .small.pika-next:hover, .small.film__book-btn:hover, .small.film__vote-btn:hover, .small.pagination__prev:hover,
    .small.pagination__next:hover, .small.planner__submit-btn:hover, .small.planner__facebook-btn:hover, .small.schedule__apply-filters:hover, .btn.small:focus, .small.pika-prev:focus,
    .small.pika-next:focus, .small.film__book-btn:focus, .small.film__vote-btn:focus, .small.pagination__prev:focus,
    .small.pagination__next:focus, .small.planner__submit-btn:focus, .small.planner__facebook-btn:focus, .small.schedule__apply-filters:focus {
      fill: white;
      color: white;
      background-color: #436153; }
  .btn--grows.is-loading {
    pointer-events: none; }
    .btn--grows.is-loading:after {
      width: calc(100% + 20px); }
  .btn--grows:after {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    border-radius: inherit;
    background-color: inherit;
    -webkit-transition: width 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), background-color 0s;
    transition: width 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), background-color 0s; }

img,
picture {
  display: block;
  margin: 0;
  max-width: 100%; }

img.b-lazy {
  opacity: 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s; }
  img.b-lazy.b-loaded {
    opacity: 1; }

/*!
 * Pikaday
 * Copyright © 2014 David Bushell | BSD & MIT license | https://dbushell.com/
 */
.calendar {
  width: 280px;
  margin: 0 auto; }

.pika-single {
  display: block;
  position: relative;
  background: rgba(238, 175, 115, 0.2); }
  .pika-single.is-hidden {
    display: none; }
  .pika-single.is-bound {
    position: absolute;
    -webkit-box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.5);
            box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.5); }

.pika-single:before, .pika-single:after {
  content: " ";
  display: table; }

.pika-single:after {
  clear: both; }

/*.pika-lendar {
    float: left;
    width: 240px;
    margin: 8px;
}*/
.pika-lendar {
  font-weight: 500;
  font-size: 14px; }

.pika-title {
  position: relative;
  text-align: center;
  text-transform: uppercase;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #436153; }
  .pika-title select {
    cursor: pointer;
    position: absolute;
    z-index: 9998;
    margin: 0;
    left: 0;
    top: 0;
    opacity: 0; }
  .ffa .pika-title {
    background-color: #000; }

.pika-label-wrap {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.pika-label {
  display: inline-block;
  position: relative;
  overflow: hidden;
  margin: 0 3px;
  color: white; }

.pika-prev,
.pika-next {
  width: 40px;
  height: 40px;
  padding: 0;
  border-radius: 0;
  font-size: 13px; }
  .pika-prev > *,
  .pika-next > * {
    pointer-events: none; }

.pika-prev,
.is-rtl .pika-next {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.pika-next,
.is-rtl .pika-prev {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3; }

.pika-select {
  display: inline-block; }

.pika-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border: 0;
  border: 1px solid #eeaf73;
  border-top: 0;
  font-weight: 500; }
  .pika-table th,
  .pika-table td {
    width: 14.285714285714286%;
    margin-right: 2px;
    padding: 0; }
  .pika-table th {
    color: black;
    font-size: 12px;
    line-height: 30px;
    text-align: center;
    border-bottom: 1px solid #eeaf73; }
  .pika-table abbr {
    border-bottom: none;
    text-decoration: none;
    text-transform: uppercase; }
  .pika-table tbody tr:first-child td {
    border-top: 0; }
  .pika-table tbody tr td:first-child {
    border-left: 0; }
  .pika-table tbody tr:last-child td {
    border-bottom: 0; }
  .pika-table tbody tr td:last-child {
    border-right: 0; }
  .pika-table tbody td {
    border: 1px solid #eeaf73; }
  .ffa .pika-table {
    background-color: #fff; }

.pika-button {
  cursor: pointer;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  outline: none;
  border: 0;
  margin: 0;
  width: 100%;
  height: 38px;
  color: black;
  text-align: right;
  background: "#ffedf0";
  text-align: center; }
  .is-today .pika-button {
    color: #436153;
    font-weight: bold; }
  .is-selected .pika-button {
    color: white;
    background: #436153; }
  .is-disabled .pika-button,
  .is-outside-current-month .pika-button {
    color: #999;
    opacity: .3; }
  .is-disabled .pika-button {
    pointer-events: none;
    cursor: default; }
  .pika-button:hover {
    color: white;
    background: #587F6C;
    -webkit-box-shadow: none;
            box-shadow: none; }
  .pika-button .is-selection-disabled {
    pointer-events: none;
    cursor: default; }

.pika-week {
  font-size: 11px;
  color: #999; }

.is-inrange .pika-button {
  color: #666;
  background: #D5E9F7; }

.is-startrange .pika-button {
  color: #fff;
  background: #6CB31D;
  -webkit-box-shadow: none;
          box-shadow: none;
  border-radius: 3px; }

.is-endrange .pika-button {
  color: #fff;
  background: #33aaff;
  -webkit-box-shadow: none;
          box-shadow: none;
  border-radius: 3px; }

.chook-logo {
  width: 40px;
  overflow: visible !important;
  fill: #436153; }

.film__trailer-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 1;
  cursor: pointer;
  margin-bottom: 0;
  -webkit-transition: all 0.14s linear;
  transition: all 0.14s linear;
  text-transform: uppercase;
  color: white;
  background-color: transparent;
  padding: 16px 16px; }
  @media (max-width: 599px) {
    .film__trailer-btn {
      width: 100%;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      background-color: #f26646; } }
  @media (min-width: 600px) {
    .film__trailer-btn {
      position: absolute;
      z-index: 10;
      bottom: 0;
      left: 0; } }
  .film__trailer-btn.is-selected, .film__trailer-btn:hover, .film__trailer-btn:focus {
    background-color: transparent;
    color: #436153; }
    .film__trailer-btn.is-selected:after, .film__trailer-btn:hover:after, .film__trailer-btn:focus:after {
      background-color: inherit; }
  .film__trailer-btn.is-loading {
    pointer-events: none; }
    .film__trailer-btn.is-loading:after {
      width: calc(100% + 20px); }
  .film__trailer-btn:after {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    border-radius: inherit;
    background-color: inherit;
    -webkit-transition: width 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), background-color 0s;
    transition: width 0.2s cubic-bezier(0.39, 0.575, 0.565, 1), background-color 0s; }

.film__trailer-btn-label {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }

.film__trailer-btn-arrow {
  -webkit-transition: inherit;
  transition: inherit;
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
  margin-right: 10px;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid white;
  border-radius: 2px; }
  .film__trailer-btn:active .film__trailer-btn-arrow,
  .film__trailer-btn:hover .film__trailer-btn-arrow,
  .film__trailer-btn:focus .film__trailer-btn-arrow {
    border-left-color: #436153; }

.film__cols {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.film__col {
  width: 100%; }
  @media (min-width: 600px) {
    .film__col {
      margin-top: 50px; } }
  @media (max-width: 599px) {
    .film__col:nth-child(odd) {
      margin-top: 20px; } }
  @media (min-width: 900px) {
    .film__col:nth-child(odd) {
      width: calc(99.9% * 3.78/7 - (133px - 133px * 3.78/7));
      margin-left: calc(99.9% * (-0.6/7 * -1) - (20px - 20px * (-0.6/7 * -1)) + 20px) !important; }
    .film__col:nth-child(odd):nth-child(1n) {
      float: left;
      margin-right: 133px;
      clear: none; }
    .film__col:nth-child(odd):last-child {
      margin-right: 0; }
    .film__col:nth-child(odd):nth-child(2n) {
      margin-right: 0;
      float: right; }
    .film__col:nth-child(odd):nth-child(2n + 1) {
      clear: both; } }
  .film__col:nth-child(even) {
    margin-bottom: 30px; }
    @media (min-width: 900px) {
      .film__col:nth-child(even) {
        width: calc(99.9% * 2.15/7 - (133px - 133px * 2.15/7)); }
      .film__col:nth-child(even):nth-child(1n) {
        float: left;
        margin-right: 133px;
        clear: none; }
      .film__col:nth-child(even):last-child {
        margin-right: 0; }
      .film__col:nth-child(even):nth-child(2n) {
        margin-right: 0;
        float: right; }
      .film__col:nth-child(even):nth-child(2n + 1) {
        clear: both; } }

.film__title {
  line-height: 1;
  color: #436153; }
  @media (max-width: 599px) {
    .film__title {
      font-size: 26px; } }

@media (min-width: 600px) and (max-width: 899px) {
  .film__title {
    font-size: 40px; } }
  @media (min-width: 900px) {
    .film__title {
      font-size: 40px; } }

@media (min-width: 600px) and (max-width: 899px) {
  .film__title {
    padding-right: 215px; } }
  @media (max-width: 599px) {
    .has-ticketing .film__title + p {
      margin-top: 110px; } }

.film__info li {
  margin-bottom: 20px; }
  .film__info li p {
    font-size: 16px;
    line-height: 1.5; }

.film__info-heading {
  color: #f26646;
  margin-bottom: 8px; }

.film__info-button {
  display: inline-block;
  margin-bottom: 10px;
  padding: 10px 24px 10px;
  font-size: 14px; }
  .film__info-button:last-child {
    margin-bottom: 20px; }

.film__book-btn {
  margin-bottom: 40px;
  white-space: nowrap; }
  @media (max-width: 599px) {
    .film__book-btn {
      display: block;
      width: 100%; } }

@media (min-width: 600px) and (max-width: 899px) {
  .film__book-btn {
    position: absolute;
    top: 25px;
    right: 0; } }

.film__vote-btn {
  margin-bottom: 40px;
  white-space: nowrap;
  background-color: #1CD1CC;
  color: black; }
  .film__vote-btn.is-selected, .film__vote-btn:hover, .film__vote-btn:focus {
    color: white;
    background-color: #436153; }
  @media (max-width: 599px) {
    .film__vote-btn {
      display: block;
      width: 100%; } }

.jif .film__bike {
  display: none; }

.voting-block {
  width: 100%;
  padding: 8px 16px;
  border-radius: 10px;
  background-color: #f5f5f5;
  margin: 40px 0; }
  .voting-block__heading {
    color: #436153;
    font-size: 12px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.33;
    letter-spacing: normal; }
  .voting-block__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .voting-block .film-grid__vote {
    position: relative;
    top: -8px; }

.film-grid {
  position: relative;
  z-index: 1;
  margin-top: 20px; }
  .wysiwyg + .film-grid, .film__wysiwyg + .film-grid {
    margin-top: 40px; }
  .planner .film-grid,
  .pagination-hidden .film-grid {
    margin-top: 0; }
  .film-grid.film-grid--schedule-layout, .film-grid.film-grid--default-layout {
    margin-bottom: 20px; }

.film-grid__heading {
  color: black;
  font-size: 17px;
  line-height: 1.5;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 25px; }

.film-grid__films, .promos__cols {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  @media (max-width: 599px) {
    .film-grid__films, .promos__cols {
      display: block; } }
  .planner .film-grid__films, .planner .promos__cols {
    border-bottom-style: solid;
    border-bottom-width: 1px;
    padding-bottom: 10px;
    border-bottom-color: rgba(238, 175, 115, 0.1); }
    .planner .film-grid__films:last-child, .planner .promos__cols:last-child {
      border-bottom: none; }
    @media (max-width: 599px) {
      .planner .film-grid__films, .planner .promos__cols {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; } }

.film-grid__film, .promos__col {
  position: relative;
  margin-bottom: 30px; }
  @media (max-width: 599px) {
    .film-grid--default-layout .film-grid__film, .film-grid--default-layout .promos__col {
      width: 100%; } }

@media (min-width: 600px) and (max-width: 899px) {
  .film-grid--default-layout .film-grid__film, .film-grid--default-layout .promos__col {
    width: calc(99.9% * 1/2 - (30px - 30px * 1/2)); }
  .film-grid--default-layout .film-grid__film:nth-child(1n), .film-grid--default-layout .promos__col:nth-child(1n) {
    float: left;
    margin-right: 30px;
    clear: none; }
  .film-grid--default-layout .film-grid__film:last-child, .film-grid--default-layout .promos__col:last-child {
    margin-right: 0; }
  .film-grid--default-layout .film-grid__film:nth-child(2n), .film-grid--default-layout .promos__col:nth-child(2n) {
    margin-right: 0;
    float: right; }
  .film-grid--default-layout .film-grid__film:nth-child(2n + 1), .film-grid--default-layout .promos__col:nth-child(2n + 1) {
    clear: both; } }
  @media (min-width: 900px) {
    .film-grid--default-layout .film-grid__film, .film-grid--default-layout .promos__col {
      width: calc(99.9% * 1/3 - (30px - 30px * 1/3)); }
    .film-grid--default-layout .film-grid__film:nth-child(1n), .film-grid--default-layout .promos__col:nth-child(1n) {
      float: left;
      margin-right: 30px;
      clear: none; }
    .film-grid--default-layout .film-grid__film:last-child, .film-grid--default-layout .promos__col:last-child {
      margin-right: 0; }
    .film-grid--default-layout .film-grid__film:nth-child(3n), .film-grid--default-layout .promos__col:nth-child(3n) {
      margin-right: 0;
      float: right; }
    .film-grid--default-layout .film-grid__film:nth-child(3n + 1), .film-grid--default-layout .promos__col:nth-child(3n + 1) {
      clear: both; } }
  .film-grid--planner-layout .film-grid__film, .film-grid--planner-layout .promos__col {
    width: calc(99.9% * 1/2 - (15px - 15px * 1/2));
    margin-bottom: 0; }
  .film-grid--planner-layout .film-grid__film:nth-child(1n), .film-grid--planner-layout .promos__col:nth-child(1n) {
    float: left;
    margin-right: 15px;
    clear: none; }
  .film-grid--planner-layout .film-grid__film:last-child, .film-grid--planner-layout .promos__col:last-child {
    margin-right: 0; }
  .film-grid--planner-layout .film-grid__film:nth-child(2n), .film-grid--planner-layout .promos__col:nth-child(2n) {
    margin-right: 0;
    float: right; }
  .film-grid--planner-layout .film-grid__film:nth-child(2n + 1), .film-grid--planner-layout .promos__col:nth-child(2n + 1) {
    clear: both; }

@media (min-width: 600px) and (max-width: 849px) {
  .film-grid--schedule-layout .film-grid__film, .film-grid--schedule-layout .promos__col {
    width: 100%; } }

@media (min-width: 850px) and (max-width: 1099px) {
  .film-grid--schedule-layout .film-grid__film, .film-grid--schedule-layout .promos__col {
    width: calc(99.9% * 1/2 - (20px - 20px * 1/2)); }
  .film-grid--schedule-layout .film-grid__film:nth-child(1n), .film-grid--schedule-layout .promos__col:nth-child(1n) {
    float: left;
    margin-right: 20px;
    clear: none; }
  .film-grid--schedule-layout .film-grid__film:last-child, .film-grid--schedule-layout .promos__col:last-child {
    margin-right: 0; }
  .film-grid--schedule-layout .film-grid__film:nth-child(2n), .film-grid--schedule-layout .promos__col:nth-child(2n) {
    margin-right: 0;
    float: right; }
  .film-grid--schedule-layout .film-grid__film:nth-child(2n + 1), .film-grid--schedule-layout .promos__col:nth-child(2n + 1) {
    clear: both; } }

@media (min-width: 1100px) and (max-width: 1399px) {
  .film-grid--schedule-layout .film-grid__film, .film-grid--schedule-layout .promos__col {
    width: calc(99.9% * 1/3 - (20px - 20px * 1/3)); }
  .film-grid--schedule-layout .film-grid__film:nth-child(1n), .film-grid--schedule-layout .promos__col:nth-child(1n) {
    float: left;
    margin-right: 20px;
    clear: none; }
  .film-grid--schedule-layout .film-grid__film:last-child, .film-grid--schedule-layout .promos__col:last-child {
    margin-right: 0; }
  .film-grid--schedule-layout .film-grid__film:nth-child(3n), .film-grid--schedule-layout .promos__col:nth-child(3n) {
    margin-right: 0;
    float: right; }
  .film-grid--schedule-layout .film-grid__film:nth-child(3n + 1), .film-grid--schedule-layout .promos__col:nth-child(3n + 1) {
    clear: both; } }
  @media (min-width: 1400px) {
    .film-grid--schedule-layout .film-grid__film, .film-grid--schedule-layout .promos__col {
      width: calc(99.9% * 1/4 - (20px - 20px * 1/4)); }
    .film-grid--schedule-layout .film-grid__film:nth-child(1n), .film-grid--schedule-layout .promos__col:nth-child(1n) {
      float: left;
      margin-right: 20px;
      clear: none; }
    .film-grid--schedule-layout .film-grid__film:last-child, .film-grid--schedule-layout .promos__col:last-child {
      margin-right: 0; }
    .film-grid--schedule-layout .film-grid__film:nth-child(4n), .film-grid--schedule-layout .promos__col:nth-child(4n) {
      margin-right: 0;
      float: right; }
    .film-grid--schedule-layout .film-grid__film:nth-child(4n + 1), .film-grid--schedule-layout .promos__col:nth-child(4n + 1) {
      clear: both; } }

.film-grid__link {
  text-decoration: none;
  -webkit-transition: color 0.15s;
  transition: color 0.15s;
  color: black; }
  .film-grid__link:active, .film-grid__link:focus, .film-grid__link:hover,
  .no-touch .film-grid__link:hover {
    color: #436153;
    text-decoration: none; }
  .ie11 .film-grid__link {
    width: 100%; }
  .ffa .film-grid__link {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 10px 10px 5px;
    background-color: #000;
    color: #877FBC !important;
    text-decoration: none;
    -webkit-transition: color 0.15s;
    transition: color 0.15s;
    color: black; }
    .ffa .film-grid__link:active, .ffa .film-grid__link:focus, .ffa .film-grid__link:hover,
    .no-touch .ffa .film-grid__link:hover {
      color: #B9D432;
      text-decoration: none; }

.film-grid__thumb {
  position: relative;
  padding: 0 0 56%;
  background-image: url(../img/loading.gif);
  background-size: 50px 50px;
  background-repeat: no-repeat;
  background-position: center center;
  background-color: #fafafa; }
  .planner .film-grid__thumb {
    margin-left: 0;
    margin-right: 0; }
  .film-grid__thumb img {
    -webkit-filter: blur(0);
            filter: blur(0);
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: none;
       font-family: "object-fit:none";
       object-fit: none; }
    .no-touch .film-grid__thumb img:hover, .film-grid__thumb img.is-selected {
      -webkit-filter: blur(0) brightness(1.08);
              filter: blur(0) brightness(1.08); }
    .film-grid__thumb img.b-loaded {
      -o-object-fit: cover;
         font-family: "object-fit:cover";
         object-fit: cover; }

.film-grid__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 18px; }
  .planner .film-grid__info {
    margin-top: 10px; }
  .film-grid__info > a {
    min-width: 0; }
  .film-grid__info > span {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%; }
  .ffa .film-grid__info {
    margin-top: 0;
    background-color: #436153;
    margin-bottom: 10px; }

.film-grid__title {
  display: block;
  text-decoration: none;
  -webkit-transition: color 0.15s;
  transition: color 0.15s;
  color: black;
  margin-bottom: 4px; }
  .film-grid__title:active, .film-grid__title:focus, .film-grid__title:hover,
  .no-touch .film-grid__title:hover {
    color: #436153;
    text-decoration: none; }
  .planner .film-grid__title {
    font-size: 11px; }
  .ffa .film-grid__title {
    font-size: 18px;
    color: #e44136 !important;
    overflow: none;
    text-overflow: unset;
    white-space: normal;
    text-decoration: none;
    -webkit-transition: color 0.15s;
    transition: color 0.15s;
    color: black; }
    .ffa .film-grid__title:active, .ffa .film-grid__title:focus, .ffa .film-grid__title:hover,
    .no-touch .ffa .film-grid__title:hover {
      color: #ef8d86;
      text-decoration: none; }

.film-grid__desc {
  font-size: 18px;
  color: #4d4d4d;
  margin-bottom: 15px; }

.film-grid__year {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  color: #b3b3b3; }

.film-grid__countries {
  text-transform: uppercase; }
  .film-grid__countries span {
    color: #436153; }
    .ffa .film-grid__countries span {
      color: #000; }
  .planner .film-grid__countries {
    display: none; }
  .ffa .film-grid__countries {
    font-size: 12px;
    padding: 5px 10px;
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
    margin-bottom: 0; }

.film-grid__vote {
  display: inline-block;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.1s linear;
  transition: all 0.1s linear;
  color: #436153;
  background-color: white;
  border: 1px solid #436153;
  padding: 0 5px;
  border-radius: 5px;
  line-height: 27px;
  font-size: 12px;
  text-transform: uppercase; }
  .film-grid__vote.is-selected,
  .no-touch .film-grid__vote:hover, .film-grid__vote:focus {
    color: #436153;
    background-color: rgba(242, 102, 73, 0.35); }
  .film-grid__vote[disabled], .film-grid__vote.is-disabled {
    color: "";
    background-color: "";
    cursor: not-allowed;
    opacity: 0.8;
    pointer-events: none; }
  .film-grid__vote.is-loading {
    pointer-events: none; }
  .film-grid__vote svg {
    fill: currentColor; }
  .film-grid__vote.has-voted, .film-grid__vote.is-selected, .film-grid__vote:hover {
    border: 1px solid #facabf; }
  .film-grid__vote.is-selected {
    cursor: default; }
  .film-grid__vote .btn__spinner:after {
    border-top-color: #436153; }

.footer {
  padding: 32px 0;
  position: relative;
  background-color: black;
  color: white; }
  .footer a {
    text-decoration: none;
    -webkit-transition: color 0.15s;
    transition: color 0.15s;
    color: white; }
    .footer a:active, .footer a:focus, .footer a:hover,
    .no-touch .footer a:hover {
      color: #436153;
      text-decoration: none; }
  @media (max-width: 899px) {
    .footer .l-container {
      padding: 0 20px; } }

.footer__social {
  text-align: center;
  margin: 30px 0;
  font-size: 22px; }
  .footer__social span {
    margin: 0 16px; }
    .footer__social span.icon-social-twitter {
      font-size: 24px; }

.footer__links {
  text-transform: uppercase;
  font-size: 14px;
  line-height: 1; }
  @media (max-width: 899px) {
    .footer__links {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      text-align: center; }
      .footer__links a {
        width: calc(99.9% * 1/2 - (20px - 20px * 1/2));
        display: block;
        margin-bottom: 20px; }
      .footer__links a:nth-child(1n) {
        float: left;
        margin-right: 20px;
        clear: none; }
      .footer__links a:last-child {
        margin-right: 0; }
      .footer__links a:nth-child(2n) {
        margin-right: 0;
        float: right; }
      .footer__links a:nth-child(2n + 1) {
        clear: both; } }
  @media (min-width: 900px) {
    .footer__links {
      text-align: center; }
      .footer__links a {
        display: inline-block;
        margin: 0 10px; } }

.footer__copyright {
  text-align: center;
  position: relative;
  font-size: 14px;
  line-height: 1.7; }
  @media (min-width: 660px) {
    .footer__copyright span {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      right: 0; } }

/*
https://jonsuh.com/hamburgers/
if changing @extend modifier update '../vendor/hamburgers/hamburgers';
available overrides:
$hamburger-layer-width                     : 40px !default;
$hamburger-layer-height                    : 4px !default;
$hamburger-layer-spacing                   : 6px !default;
$hamburger-layer-color                     : #000 !default;
$hamburger-layer-border-radius             : 4px !default;
$hamburger-hover-opacity                   : 0.7 !default;
$hamburger-hover-transition-duration       : 0.15s !default;
$hamburger-hover-transition-timing-function: linear !default;
*/
/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  display: inline-block;
  cursor: pointer;
  -webkit-transition-property: opacity, background-color, -webkit-filter;
  transition-property: opacity, background-color, -webkit-filter;
  transition-property: opacity, background-color, filter;
  transition-property: opacity, background-color, filter, -webkit-filter;
  -webkit-transition-duration: 0.15s;
          transition-duration: 0.15s;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }

.hamburger-box {
  width: 28px;
  height: 17px;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -1.5px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 28px;
    height: 3px;
    background-color: transparent;
    border-radius: 2px;
    position: absolute;
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-duration: 0.15s;
            transition-duration: 0.15s;
    -webkit-transition-timing-function: ease;
            transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -7px; }
  .hamburger-inner::after {
    bottom: -7px; }

/*@import "types/3dx";
@import "types/3dx-r";
@import "types/3dy";
@import "types/3dy-r";
@import "types/3dxy";
@import "types/3dxy-r";
@import "types/arrow";
@import "types/arrow-r";
@import "types/arrowalt";
@import "types/arrowalt-r";
@import "types/arrowturn";
@import "types/arrowturn-r";
@import "types/boring";
@import "types/collapse";
@import "types/collapse-r";
@import "types/elastic";
@import "types/elastic-r";
@import "types/emphatic";
@import "types/emphatic-r";
@import "types/minus";
@import "types/slider-r";
@import "types/spin";
@import "types/spin-r";
@import "types/spring";
@import "types/spring-r";
@import "types/stand";
@import "types/stand-r";
@import "types/vortex";
@import "types/vortex-r";
*/
/*
   * Slider
   */
.hamburger--slider .hamburger-inner, .hamburger .hamburger-inner {
  top: 1.5px; }
  .hamburger--slider .hamburger-inner::before, .hamburger .hamburger-inner::before {
    top: 7px;
    -webkit-transition-property: all;
    transition-property: all;
    -webkit-transition-timing-function: ease;
            transition-timing-function: ease;
    -webkit-transition-duration: 0.15s;
            transition-duration: 0.15s; }
  .hamburger--slider .hamburger-inner::after, .hamburger .hamburger-inner::after {
    top: 14px; }

.hamburger--slider.is-active .hamburger-inner, .is-active.hamburger .hamburger-inner {
  -webkit-transform: translate3d(0, 7px, 0) rotate(45deg);
          transform: translate3d(0, 7px, 0) rotate(45deg); }
  .hamburger--slider.is-active .hamburger-inner::before, .is-active.hamburger .hamburger-inner::before {
    -webkit-transform: rotate(-45deg) translate3d(-4px, -4px, 0);
            transform: rotate(-45deg) translate3d(-4px, -4px, 0);
    opacity: 0; }
  .hamburger--slider.is-active .hamburger-inner::after, .is-active.hamburger .hamburger-inner::after {
    -webkit-transform: translate3d(0, -14px, 0) rotate(-90deg);
            transform: translate3d(0, -14px, 0) rotate(-90deg); }

.hamburger {
  position: absolute;
  line-height: 0; }
  .hamburger:before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -10px;
    bottom: -10px;
    right: -10px;
    left: -10px; }

.nav-sticky {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1010;
  line-height: 32px;
  background-color: #436153;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15); }
  .nav-sticky .l-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media (max-width: 599px) {
      .nav-sticky .l-container {
        padding: 8px 0; } }
    @media (min-width: 600px) {
      .nav-sticky .l-container {
        padding: 14px 0; } }
  .nav-sticky .tippy-tooltip {
    cursor: pointer; }

.nav-sticky__search {
  z-index: 999; }
  @media (max-width: 599px) {
    .nav-sticky__search {
      display: none; } }
  @media (min-width: 600px) {
    .nav-sticky__search {
      position: relative;
      -ms-flex-preferred-size: 370px;
          flex-basis: 370px;
      -ms-flex-negative: 1;
          flex-shrink: 1; } }

.nav-sticky__search-open {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  left: 8px;
  font-size: 19px;
  pointer-events: none;
  color: white; }
  .nav-sticky__search-open:before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -10px;
    bottom: -10px;
    right: -10px;
    left: -10px; }
  .search-active .nav-sticky__search-open {
    display: none; }
  .nav-sticky__search-open span {
    display: block; }
    .ios .nav-sticky__search-open span {
      padding-top: 1px; }

.nav-sticky__search-close {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  text-decoration: none;
  -webkit-transition: color 0.15s;
  transition: color 0.15s;
  color: black;
  z-index: 1;
  display: none; }
  .nav-sticky__search-close:active, .nav-sticky__search-close:focus, .nav-sticky__search-close:hover,
  .no-touch .nav-sticky__search-close:hover {
    color: #436153;
    text-decoration: none; }
  .nav-sticky__search-close:before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -10px;
    bottom: -10px;
    right: -10px;
    left: -10px; }
  @media (max-width: 599px) {
    .nav-sticky__search-close {
      font-size: 18px;
      left: 2px; } }
  @media (min-width: 600px) {
    .nav-sticky__search-close {
      font-size: 15px;
      left: 8px; } }
  .search-active .nav-sticky__search-close {
    display: block; }
  .nav-sticky__search-close span {
    display: block; }

.nav-sticky__search-field, .search-results__search-field {
  margin-right: 20px; }

.nav-sticky__search-input, .search-results__search-input {
  display: block;
  width: 100%;
  border-radius: 5px;
  font-size: 14px;
  background-color: rgba(255, 255, 255, 0.1);
  color: white; }
  @media (max-width: 599px) {
    .nav-sticky__search-input, .search-results__search-input {
      padding: 12px 35px 12px 15px; } }
  @media (min-width: 600px) {
    .nav-sticky__search-input, .search-results__search-input {
      padding: 0 35px 0 32px; } }
  .search-active .nav-sticky__search-input, .search-active .search-results__search-input {
    background-color: white !important;
    color: black; }
    .search-active .nav-sticky__search-input::-webkit-input-placeholder, .search-active .search-results__search-input::-webkit-input-placeholder {
      color: black; }
    .search-active .nav-sticky__search-input::-moz-placeholder, .search-active .search-results__search-input::-moz-placeholder {
      color: black; }
    .search-active .nav-sticky__search-input::-ms-input-placeholder, .search-active .search-results__search-input::-ms-input-placeholder {
      color: black; }
    .search-active .nav-sticky__search-input::placeholder, .search-active .search-results__search-input::placeholder {
      color: black; }
  .no-touch .nav-sticky__search-input:hover, .no-touch .search-results__search-input:hover {
    background-color: rgba(255, 255, 255, 0.2); }
  .nav-sticky__search-input::-webkit-input-placeholder, .search-results__search-input::-webkit-input-placeholder {
    color: #fafafa; }
  .nav-sticky__search-input::-moz-placeholder, .search-results__search-input::-moz-placeholder {
    color: #fafafa; }
  .nav-sticky__search-input::-ms-input-placeholder, .search-results__search-input::-ms-input-placeholder {
    color: #fafafa; }
  .nav-sticky__search-input::placeholder, .search-results__search-input::placeholder {
    color: #fafafa; }

.nav-sticky__search-spinner {
  position: absolute;
  pointer-events: none;
  width: 21px;
  height: 21px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: none; }
  .nav-sticky__search-spinner:after {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    border-radius: 50%;
    -webkit-animation: anim-spin .4s infinite linear;
            animation: anim-spin .4s infinite linear;
    border: 3px rgba(67, 97, 83, 0.2) solid;
    border-top: 3px rgba(67, 97, 83, 0.8) solid; }
  @media (max-width: 599px) {
    .nav-sticky__search-spinner {
      right: 20px; } }
  @media (min-width: 600px) {
    .nav-sticky__search-spinner {
      right: 8px; } }
  .nav-sticky__search-spinner .is-loading {
    display: block; }

.nav-sticky__dates {
  color: white;
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-right: 14px;
  font-size: 14px; }
  @media (max-width: 499px) {
    .nav-sticky__dates {
      display: none; } }
  @media (min-width: 600px) {
    .nav-sticky__dates {
      margin-left: auto; } }
  .nav-sticky__dates:after {
    content: '';
    position: absolute;
    top: 48%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 0;
    height: 16px;
    width: 1px;
    background-color: white; }

.nav-sticky__location {
  margin-right: 14px;
  position: relative; }
  @media (max-width: 499px) {
    .nav-sticky__location {
      margin-left: -10px; } }
  .nav-sticky__location select {
    color: white;
    margin-bottom: 0;
    line-height: inherit;
    display: block;
    width: 100%;
    max-width: 100%;
    background-repeat: no-repeat;
    background-position: right .7em top 47%, 0 0;
    padding-left: .7em;
    background-image: url(../img/select-arrow-jif.svg);
    background-size: 14px 8px;
    line-height: inherit;
    font-size: 14px; }
    .nav-sticky__location select option {
      color: #555; }
    @media (max-width: 599px) {
      .nav-sticky__location select {
        width: 110px;
        letter-spacing: -0.05em; } }
    @media (min-width: 600px) {
      .nav-sticky__location select {
        width: 120px;
        margin-left: 8px; } }

.nav-sticky__planner {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding: 0 10px;
  border-radius: 5px;
  -webkit-transition: all 0.08s linear;
  transition: all 0.08s linear;
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
  color: white;
  background-color: rgba(255, 255, 255, 0.2); }
  .nav-sticky__planner:before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -10px;
    bottom: -10px;
    right: -10px;
    left: -10px; }
  .planner-active .nav-sticky__planner, .nav-sticky__planner.is-selected, .nav-sticky__planner:hover, .nav-sticky__planner:focus {
    color: #436153;
    background-color: white; }
    .planner-active .nav-sticky__planner .nav-sticky__planner-icon, .nav-sticky__planner.is-selected .nav-sticky__planner-icon, .nav-sticky__planner:hover .nav-sticky__planner-icon, .nav-sticky__planner:focus .nav-sticky__planner-icon {
      color: #436153; }
  @media (max-width: 599px) {
    .nav-sticky__planner {
      margin-left: auto; } }
  .chf .nav-sticky__planner {
    font-weight: bold; }

.nav-sticky__planner-notification {
  height: 0;
  width: 0;
  overflow: hidden;
  visibility: hidden; }

.nav-sticky__planner-content {
  padding: 0 2px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 14px; }
  .nav-sticky__planner-content img {
    width: 14px;
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
    margin-right: 4px; }

.nav-sticky__planner-label {
  margin-right: 8px;
  line-height: inherit;
  font-size: 12px; }

.nav-sticky__planner-icon {
  color: white;
  font-size: 16px; }
  .ffa .nav-sticky__planner-icon {
    font-size: 14px; }

.nav-static {
  position: relative;
  background-color: white;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .search-active--static .nav-static {
    z-index: 1000; }
  @media (max-width: 599px) {
    .nav-static {
      margin-top: 49px; } }
  @media (min-width: 600px) {
    .nav-static {
      margin-top: 61px; } }
  @media (max-width: 599px) {
    .nav-static {
      height: 120px; } }

@media (min-width: 600px) and (max-width: 899px) {
  .nav-static {
    height: 120px; } }
  @media (min-width: 900px) {
    .nav-static {
      height: 186px; } }

.nav-static__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: center;
      align-content: center;
  width: 100%;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  margin: 0 auto;
  max-width: 1160px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media screen and (max-width: 767px) {
    .nav-static__nav {
      display: none; } }
  .nav-static__nav--left {
    padding-left: 15px;
    padding-right: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media (max-width: 599px) {
      .nav-static__nav--left {
        width: calc(50% - 65px); } }

@media (min-width: 600px) and (max-width: 899px) {
  .nav-static__nav--left {
    width: calc(50% - 55px); } }
    @media (min-width: 900px) {
      .nav-static__nav--left {
        width: calc(50% - 92px); } }
  .nav-static__nav--right {
    padding-left: 15px;
    padding-right: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media (max-width: 599px) {
      .nav-static__nav--right {
        width: calc(50% - 65px); } }

@media (min-width: 600px) and (max-width: 899px) {
  .nav-static__nav--right {
    width: calc(50% - 55px); } }
    @media (min-width: 900px) {
      .nav-static__nav--right {
        width: calc(50% - 92px); } }

.nav-static__link {
  text-decoration: none;
  -webkit-transition: color 0.15s;
  transition: color 0.15s;
  color: black;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  display: inline-block;
  min-width: 50%;
  margin: 10px auto; }
  .nav-static__link:active, .nav-static__link:focus, .nav-static__link:hover,
  .no-touch .nav-static__link:hover {
    color: #436153;
    text-decoration: none; }

@media (min-width: 600px) and (max-width: 899px) {
  .nav-static__link {
    font-size: 9px;
    margin: 14px 0;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0; } }
  @media (min-width: 900px) {
    .nav-static__link {
      font-size: 11px;
      margin: 20px 0; } }
  .nav-static__link.is-selected {
    color: #436153; }

@media (min-width: 600px) and (max-width: 899px) {
  .nav-static__spacer {
    -ms-flex-preferred-size: 130px;
        flex-basis: 130px; } }

@media (min-width: 900px) {
  .nav-static__spacer {
    -ms-flex-preferred-size: 170px;
        flex-basis: 170px; } }

.nav-static__break {
  -ms-flex-preferred-size: 101%;
      flex-basis: 101%; }

.nav-static__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
          transform: translateY(-50%) translateX(-50%);
  display: block; }
  @media (max-width: 599px) {
    .nav-static__logo {
      width: 130px; } }

@media (min-width: 600px) and (max-width: 899px) {
  .nav-static__logo {
    width: 110px; } }
  @media (min-width: 900px) {
    .nav-static__logo {
      width: 184px; } }

.nav-static__search-open {
  text-decoration: none;
  -webkit-transition: color 0.15s;
  transition: color 0.15s;
  color: black;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  left: 20px;
  font-size: 23px; }
  .nav-static__search-open:active, .nav-static__search-open:focus, .nav-static__search-open:hover,
  .no-touch .nav-static__search-open:hover {
    color: #436153;
    text-decoration: none; }
  .nav-static__search-open:before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -10px;
    bottom: -10px;
    right: -10px;
    left: -10px; }
  @media (min-width: 600px) {
    .nav-static__search-open {
      display: none; } }
  .search-active .nav-static__search-open {
    display: none; }
  .ffa .nav-static__search-open {
    color: #ffffff; }

.nav-static__search-close {
  text-decoration: none;
  -webkit-transition: color 0.15s;
  transition: color 0.15s;
  color: black;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  left: 20px;
  font-size: 20px;
  display: none; }
  .nav-static__search-close:active, .nav-static__search-close:focus, .nav-static__search-close:hover,
  .no-touch .nav-static__search-close:hover {
    color: #436153;
    text-decoration: none; }
  .nav-static__search-close:before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -10px;
    bottom: -10px;
    right: -10px;
    left: -10px; }
  @media (min-width: 600px) {
    .nav-static__search-close {
      display: none !important; } }
  .search-active .nav-static__search-close {
    display: block; }
  .ffa .nav-static__search-close {
    color: #ffffff; }

.nav-static .hamburger {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 20px; }
  .nav-static .hamburger .hamburger-inner {
    background-color: black; }
    .nav-static .hamburger .hamburger-inner:before, .nav-static .hamburger .hamburger-inner:after {
      background-color: black; }
  .no-touch .nav-static .hamburger:hover .hamburger-inner {
    background-color: #436153; }
    .no-touch .nav-static .hamburger:hover .hamburger-inner:before, .no-touch .nav-static .hamburger:hover .hamburger-inner:after {
      background-color: #436153; }
  @media screen and (min-width: 767px) {
    .nav-static .hamburger {
      display: none; } }

.nav-static__seagull-left, .nav-static__seagull-right {
  position: absolute;
  width: 110px;
  bottom: 35px; }
  @media (max-width: 1188px) {
    .nav-static__seagull-left, .nav-static__seagull-right {
      display: none; } }

.nav-static__seagull-left {
  left: 0; }

.nav-static__seagull-right {
  right: 0;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1); }

.nav-static__chf-illustrations {
  pointer-events: none;
  z-index: 999;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 0px; }
  .search-active .nav-static__chf-illustrations {
    visibility: hidden; }
  @media (max-width: 749px) {
    .nav-static__chf-illustrations {
      display: none; } }

@media (min-width: 750px) and (max-width: 1299px) {
  .nav-static__chf-illustrations {
    max-width: 1000px; } }
  @media (min-width: 1300px) {
    .nav-static__chf-illustrations {
      max-width: 1360px; } }
  @media (max-width: 1299px) {
    .nav-static__chf-illustrations > img:nth-child(1) {
      max-width: 140px; } }
  @media (max-width: 899px) {
    .nav-static__chf-illustrations > img:nth-child(1) {
      max-width: 110px; } }
  @media (max-width: 1299px) {
    .nav-static__chf-illustrations > img:nth-child(2) {
      max-width: 168px; } }
  @media (max-width: 899px) {
    .nav-static__chf-illustrations > img:nth-child(2) {
      max-width: 140px; } }

.nav-drop {
  position: fixed;
  left: 0;
  top: 60px;
  width: 100%;
  z-index: 1005;
  background-color: #436153;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition: all 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: all 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  will-change: transform;
  height: 110px; }
  .nav-drop.headroom--pinned {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  .nav-drop.headroom--top {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%); }
  .nav-open .nav-drop,
  .search-active--sticky .nav-drop {
    -webkit-transform: translateY(0);
            transform: translateY(0); }

@media (max-width: 899px) {
  .nav-drop__nav {
    position: fixed;
    width: 100%;
    top: 100%;
    height: 0;
    -webkit-transition: height 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    transition: height 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
    background-color: #436153;
    overflow-y: scroll;
    /* has to be scroll, not auto */
    -webkit-overflow-scrolling: touch; } }

.nav-open .nav-drop__nav {
  -webkit-transition: height .4s .06s;
  transition: height .4s .06s; }
  @media (max-width: 599px) {
    .nav-open .nav-drop__nav {
      height: calc(var(--vh, 1vh) * 100 - 49px - 64px); } }

@media (min-width: 600px) and (max-width: 899px) {
  .nav-open .nav-drop__nav {
    height: calc(var(--vh, 1vh) * 100 - 61px - 72px); } }

@media (min-width: 900px) {
  .nav-drop__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 auto;
    height: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    max-width: 1200px; } }

@media (min-width: 900px) {
  .nav-drop__nav--right, .nav-drop__nav--left {
    width: calc(50% - 35px);
    padding-left: 15px;
    padding-right: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around; } }

.nav-drop__link {
  text-decoration: none;
  -webkit-transition: color 0.15s;
  transition: color 0.15s;
  color: white;
  text-transform: uppercase;
  white-space: nowrap;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0; }
  .nav-drop__link:active, .nav-drop__link:focus, .nav-drop__link:hover,
  .no-touch .nav-drop__link:hover {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none; }
  @media (min-width: 900px) {
    .nav-drop__link {
      position: relative;
      z-index: 1; }
      .nav-drop__link:before {
        content: '';
        position: absolute;
        z-index: -1;
        top: -10px;
        bottom: -10px;
        right: -10px;
        left: -10px; } }
  @media (max-width: 1199px) {
    .nav-drop__link {
      font-size: 12px; } }
  @media (min-width: 1200px) {
    .nav-drop__link {
      font-size: 14px; } }
  .nav-drop__link.is-selected {
    color: rgba(255, 255, 255, 0.7); }
  @media (max-width: 899px) {
    .nav-drop__link {
      padding: 10px 20px;
      font-size: 20px;
      display: block; }
      .nav-drop__link:last-child {
        margin-bottom: 15px; } }
  @media (min-width: 900px) {
    .nav-drop__link {
      text-align: center; } }

.nav-drop__spacer {
  -ms-flex-preferred-size: 120px;
      flex-basis: 120px; }

.nav-drop__logo {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
          transform: translateY(-50%) translateX(-50%);
  fill: white;
  width: 35px; }

.nav-drop__search-open {
  text-decoration: none;
  -webkit-transition: color 0.15s;
  transition: color 0.15s;
  color: white;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  left: 20px;
  font-size: 23px; }
  .nav-drop__search-open:active, .nav-drop__search-open:focus, .nav-drop__search-open:hover,
  .no-touch .nav-drop__search-open:hover {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none; }
  .nav-drop__search-open:before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -10px;
    bottom: -10px;
    right: -10px;
    left: -10px; }
  @media (min-width: 600px) {
    .nav-drop__search-open {
      display: none; } }
  .search-active .nav-drop__search-open {
    display: none; }

.nav-drop__search-close {
  text-decoration: none;
  -webkit-transition: color 0.15s;
  transition: color 0.15s;
  color: white;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  left: 20px;
  font-size: 20px;
  display: none; }
  .nav-drop__search-close:active, .nav-drop__search-close:focus, .nav-drop__search-close:hover,
  .no-touch .nav-drop__search-close:hover {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none; }
  .nav-drop__search-close:before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -10px;
    bottom: -10px;
    right: -10px;
    left: -10px; }
  @media (min-width: 900px) {
    .nav-drop__search-close {
      display: none !important; } }
  .search-active .nav-drop__search-close {
    display: block; }

.nav-drop .hamburger {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 20px; }
  .nav-drop .hamburger .hamburger-inner {
    background-color: white; }
    .nav-drop .hamburger .hamburger-inner:before, .nav-drop .hamburger .hamburger-inner:after {
      background-color: white; }
  .no-touch .nav-drop .hamburger:hover .hamburger-inner {
    background-color: rgba(255, 255, 255, 0.7); }
    .no-touch .nav-drop .hamburger:hover .hamburger-inner:before, .no-touch .nav-drop .hamburger:hover .hamburger-inner:after {
      background-color: rgba(255, 255, 255, 0.7); }
  @media (min-width: 900px) {
    .nav-drop .hamburger {
      display: none; } }

.search-results {
  background-color: #436153;
  position: fixed;
  z-index: 1008;
  width: 100%;
  display: none; }
  .search-active .search-results {
    display: block;
    top: 60px; }
  .search-active--static .search-results {
    position: absolute;
    top: 159px; }
  .search-active--sticky .search-results {
    position: fixed;
    top: 159px; }
  @media (max-width: 599px) {
    .search-results .l-gutters {
      padding: 0 10px; } }

.search-results__cols {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

@media (max-width: 599px) {
  .search-results__col {
    width: calc(99.9% * 1/2 - (10px - 10px * 1/2)); }
  .search-results__col:nth-child(1n) {
    float: left;
    margin-right: 10px;
    clear: none; }
  .search-results__col:last-child {
    margin-right: 0; }
  .search-results__col:nth-child(2n) {
    margin-right: 0;
    float: right; }
  .search-results__col:nth-child(2n + 1) {
    clear: both; } }

@media (min-width: 600px) and (max-width: 899px) {
  .search-results__col {
    width: calc(99.9% * 1/3 - (20px - 20px * 1/3)); }
  .search-results__col:nth-child(1n) {
    float: left;
    margin-right: 20px;
    clear: none; }
  .search-results__col:last-child {
    margin-right: 0; }
  .search-results__col:nth-child(3n) {
    margin-right: 0;
    float: right; }
  .search-results__col:nth-child(3n + 1) {
    clear: both; }
    .search-results__col:nth-child(4) {
      display: none; } }

@media (min-width: 900px) {
  .search-results__col {
    width: calc(99.9% * 1/4 - (20px - 20px * 1/4)); }
  .search-results__col:nth-child(1n) {
    float: left;
    margin-right: 20px;
    clear: none; }
  .search-results__col:last-child {
    margin-right: 0; }
  .search-results__col:nth-child(4n) {
    margin-right: 0;
    float: right; }
  .search-results__col:nth-child(4n + 1) {
    clear: both; } }

.search-results__search-field {
  margin-right: 0;
  margin-top: 16px;
  display: none; }
  @media (max-width: 599px) {
    .search-active .search-results__search-field {
      display: block; } }

@media (max-width: 599px) {
  .search-results__search-input {
    line-height: 1.33; } }

.search-results__heading {
  color: white;
  margin: 10px 0; }

.search-results__result {
  margin-bottom: 15px; }

.search-results__title, .search-results__no-results {
  text-decoration: none;
  -webkit-transition: color 0.15s;
  transition: color 0.15s;
  color: white;
  font-size: 14px;
  line-height: 1.4;
  margin-top: 16px;
  margin-bottom: 16px; }
  .search-results__title:active, .search-results__no-results:active, .search-results__title:focus, .search-results__no-results:focus, .search-results__title:hover, .search-results__no-results:hover,
  .no-touch .search-results__title:hover,
  .no-touch .search-results__no-results:hover {
    color: black;
    text-decoration: none; }

.search-results__img {
  -webkit-filter: blur(0);
          filter: blur(0);
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
  margin-bottom: 6px;
  -webkit-box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.25); }
  .no-touch .search-results__img:hover, .search-results__img.is-selected {
    -webkit-filter: blur(0) brightness(1.08);
            filter: blur(0) brightness(1.08); }

.no-touch .search-results__no-results:hover, .search-results__no-results:focus {
  color: white; }

.pagination {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  text-align: center; }
  @media (max-width: 599px) {
    .pagination--top {
      margin-top: 20px; } }
  .pagination-hidden .pagination {
    margin-top: 0; }
  .pagination button {
    margin: 0 8px; }

.pagination__prev,
.pagination__next {
  padding: 0;
  width: 40px;
  height: 40px; }
  .pagination__prev span,
  .pagination__next span {
    font-size: 15px;
    line-height: 41px; }

.pagination__next span {
  margin-left: 2px; }

.pagination__prev span {
  margin-left: -2px; }

.pagination__page {
  position: relative;
  z-index: 1;
  text-decoration: none;
  -webkit-transition: color 0.15s;
  transition: color 0.15s;
  color: black; }
  .pagination__page:before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -10px;
    bottom: -10px;
    right: -10px;
    left: -10px; }
  .pagination__page:active, .pagination__page:focus, .pagination__page:hover,
  .no-touch .pagination__page:hover {
    color: #436153;
    text-decoration: underline; }
  .pagination__page.is-selected {
    text-align: center;
    pointer-events: none;
    color: #436153; }
  .pagination__page--spread {
    letter-spacing: 0.05em;
    pointer-events: none; }

.planner {
  z-index: 1010;
  background-color: white; }
  @media (max-width: 599px) {
    .planner {
      position: fixed;
      top: 48px;
      left: 0;
      overflow: hidden;
      width: 100%;
      height: 0;
      -webkit-transition: height 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      transition: height 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
      .planner-active .planner {
        height: calc((var(--vh, 1vh) * 100) - 48px);
        -webkit-transition: height .4s .06s;
        transition: height .4s .06s;
        padding-bottom: 150px; } }
  @media (min-width: 600px) {
    .planner {
      position: fixed;
      right: 0;
      top: 61px;
      width: 320px;
      height: 100vh;
      -webkit-box-shadow: -2px 0 0 0 rgba(0, 0, 0, 0.05);
              box-shadow: -2px 0 0 0 rgba(0, 0, 0, 0.05);
      -webkit-transform: translateX(100%);
              transform: translateX(100%);
      -webkit-transition-duration: 0.2s;
              transition-duration: 0.2s;
      -webkit-transition-property: -webkit-transform;
      transition-property: -webkit-transform;
      transition-property: transform;
      transition-property: transform, -webkit-transform;
      -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
              transition-timing-function: cubic-bezier(0.4, 0, 1, 1); }
      .planner-active .planner {
        -webkit-transform: translateX(0);
                transform: translateX(0);
        -webkit-transition-duration: 0.3s;
                transition-duration: 0.3s;
        -webkit-transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
                transition-timing-function: cubic-bezier(0, 0, 0.2, 1); } }
  .planner .tippy-popper {
    max-width: 100%; }

.planner__scroll-container {
  overflow: scroll;
  -webkit-overflow-scrolling: touch;
  height: 100vh;
  /* Fallback for browsers that do not support Custom Properties */ }
  @media (max-width: 599px) {
    .planner__scroll-container {
      height: calc((var(--vh, 1vh) * 100) - 44px - 42px); } }
  @media (min-width: 600px) {
    .planner__scroll-container {
      height: calc(100vh - 41px - 60px); } }

.planner__heading {
  text-align: center;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  font-size: 13px;
  text-transform: uppercase;
  border-bottom-color: rgba(238, 175, 115, 0.1);
  padding: 13px 0 11px; }
  @media (max-width: 599px) {
    .planner__heading {
      border-top-style: solid;
      border-top-width: 1px;
      border-top-color: rgba(238, 175, 115, 0.1); } }

.planner__close {
  float: right;
  -webkit-transform: translateX(-25px) translateY(1px);
          transform: translateX(-25px) translateY(1px);
  z-index: 1;
  color: #436153; }
  .planner__close:before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -10px;
    bottom: -10px;
    right: -10px;
    left: -10px; }

.planner__help {
  overflow: hidden;
  height: 140px;
  -webkit-transition: height 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: height 0.4s cubic-bezier(0.39, 0.575, 0.565, 1); }
  .planner.help-is-hidden .planner__help,
  .is-validating-email .planner__help,
  .is-returning-user .planner__help,
  .is-new-user .planner__help,
  .is-resetting-password .planner__help,
  .is-facebook-user-no-pw .planner__help,
  body.logged-in .planner__help {
    height: 0px; }

.planner__help-gutters {
  padding: 20px;
  font-size: 12px;
  background-color: #FEF7F6;
  line-height: 1.4; }
  .planner__help-gutters p button {
    text-decoration: none;
    -webkit-transition: color 0.15s;
    transition: color 0.15s;
    color: #436153;
    position: relative;
    z-index: 1; }
    .planner__help-gutters p button:active, .planner__help-gutters p button:focus, .planner__help-gutters p button:hover,
    .no-touch .planner__help-gutters p button:hover {
      color: #436153;
      text-decoration: underline; }
    .planner__help-gutters p button:before {
      content: '';
      position: absolute;
      z-index: -1;
      top: -10px;
      bottom: -10px;
      right: -10px;
      left: -10px; }
  .planner__help-gutters p:last-child {
    margin-top: 10px; }

.planner__help-dismiss {
  position: relative;
  z-index: 1;
  text-decoration: none;
  -webkit-transition: color 0.15s;
  transition: color 0.15s;
  color: #436153;
  margin-bottom: 14px; }
  .planner__help-dismiss:before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -10px;
    bottom: -10px;
    right: -10px;
    left: -10px; }
  .planner__help-dismiss:active, .planner__help-dismiss:focus, .planner__help-dismiss:hover,
  .no-touch .planner__help-dismiss:hover {
    color: #436153;
    text-decoration: none; }

.planner__icon {
  font-size: 30px;
  margin: 40px 0 20px; }

.planner__empty {
  text-align: center;
  font-size: 18px;
  line-height: 1.7;
  display: none; }
  .is-empty .planner__empty {
    display: block; }
  .is-validating-email .planner__empty,
  .is-returning-user .planner__empty,
  .is-new-user .planner__empty,
  .is-resetting-password .planner__empty,
  .is-facebook-user-no-pw .planner__empty {
    display: none; }
  .planner__empty button, .planner__empty a {
    position: relative;
    z-index: 1; }
    .planner__empty button:before, .planner__empty a:before {
      content: '';
      position: absolute;
      z-index: -1;
      top: -10px;
      bottom: -10px;
      right: -10px;
      left: -10px; }

.planner__empty-no-account {
  text-decoration: none;
  -webkit-transition: color 0.15s;
  transition: color 0.15s;
  color: #436153;
  margin: 0 auto;
  display: none; }
  .planner__empty-no-account:active, .planner__empty-no-account:focus, .planner__empty-no-account:hover,
  .no-touch .planner__empty-no-account:hover {
    color: #436153;
    text-decoration: underline; }
  .is-empty .planner__empty-no-account {
    display: block; }
  body.logged-in .is-empty .planner__empty-no-account {
    display: none; }

.planner__empty-logged-in {
  display: none; }
  body.logged-in .is-empty .planner__empty-logged-in {
    display: inline-block; }

.planner__account {
  padding: 32px 42px;
  display: none; }
  .is-validating-email .planner__account,
  .is-new-user .planner__account,
  .is-returning-user .planner__account,
  .is-resetting-password .planner__account,
  .is-facebook-user-no-pw .planner__account {
    display: block; }

.planner__account-heading {
  text-align: center;
  margin-bottom: 24px; }

.planner__account-desc, .planner__account-preexisting {
  text-align: center;
  font-size: 12px;
  margin-bottom: 24px;
  line-height: 1.3; }

.planner__account-desc {
  display: none; }
  .is-new-user .planner__account-desc {
    display: block; }

.planner__account-preexisting {
  display: none; }
  .is-returning-user-attempting-registration .planner__account-preexisting {
    display: block; }

.is-reset-request-success .planner__email {
  display: none; }

.planner__submit-btn, .planner__facebook-btn {
  font-size: 12px;
  text-transform: uppercase;
  display: block;
  width: 100%;
  text-align: center;
  padding: 0;
  line-height: 40px; }
  .is-returning-user .planner__submit-btn, .is-returning-user .planner__facebook-btn {
    margin-top: 30px; }
  .is-returning-user .planner__pw.is-invalid ~ .planner__submit-btn, .is-returning-user .planner__pw.is-invalid ~ .planner__facebook-btn {
    margin-top: 0; }
  .is-reset-request-success .planner__submit-btn, .is-reset-request-success .planner__facebook-btn {
    display: none; }

.planner__facebook-btn {
  margin-top: 0 !important;
  background-color: #3b5998;
  text-transform: initial;
  font-family: arial;
  font-size: 15px;
  position: relative; }
  .planner__facebook-btn.is-selected,
  .no-touch .planner__facebook-btn:hover, .planner__facebook-btn:focus {
    background-color: #30487b; }
  .planner__facebook-btn span:last-child {
    margin-left: 10px; }
  .planner__facebook-btn span:first-child {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 8px;
    font-size: 26px; }

.planner__location {
  display: none; }
  .is-new-user .planner__location {
    display: block; }

.planner__name {
  display: none; }
  .is-new-user .planner__name {
    display: block; }

.planner__pw {
  display: none; }
  .is-new-user .planner__pw,
  .is-returning-user .planner__pw {
    display: block; }

.planner__forgot-pw {
  position: absolute;
  left: initial !important;
  right: 0;
  bottom: -18px;
  text-decoration: underline;
  display: none;
  font-size: 12px;
  color: #436153; }
  .is-returning-user .planner__forgot-pw {
    display: block; }

.planner__facebook-user-no-pw-error {
  font-size: 12px;
  color: #436153;
  margin-bottom: 24px;
  line-height: 1.4;
  display: none; }
  .is-facebook-user-no-pw .planner__facebook-user-no-pw-error {
    display: block; }

.planner__reset-password-requested {
  text-align: center;
  display: none; }
  .is-reset-request-success .planner__reset-password-requested {
    display: block; }

.planner__hr {
  margin: 24px 0; }
  .is-reset-request-success .planner__hr {
    display: none; }

.promos {
  background-color: thmemify("promo-bg");
  padding-top: 40px; }
  @media (min-width: 600px) {
    .promos {
      padding-top: 50px; } }

.promos__img-link {
  position: relative;
  display: block;
  margin-bottom: 20px;
  padding: 0 0 56%;
  background-image: url(../img/loading.gif);
  background-size: 50px 50px;
  background-repeat: no-repeat;
  background-position: center center;
  background-color: #fafafa; }
  .promos__img-link img {
    -webkit-filter: blur(0);
            filter: blur(0);
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: none;
       font-family: "object-fit:none";
       object-fit: none; }
    .no-touch .promos__img-link img:hover, .promos__img-link img.is-selected {
      -webkit-filter: blur(0) brightness(1.08);
              filter: blur(0) brightness(1.08); }
    .promos__img-link img.b-loaded {
      -o-object-fit: cover;
         font-family: "object-fit:cover";
         object-fit: cover; }

.promos__content {
  padding: 0 10px; }

.promos__heading {
  margin-bottom: 8px;
  text-decoration: none;
  -webkit-transition: color 0.15s;
  transition: color 0.15s;
  color: #034732; }
  .promos__heading:active, .promos__heading:focus, .promos__heading:hover,
  .no-touch .promos__heading:hover {
    color: #436153;
    text-decoration: none; }

.reset {
  margin-top: 30px;
  padding-bottom: 30px; }

.reset__form {
  max-width: 420px; }
  .logged-in .reset__form {
    display: none; }

.reset__success {
  display: none; }
  .logged-in .reset__success {
    display: block; }

.logged-in .reset__desc {
  display: none; }

@media (max-width: 599px) {
  .schedule > .l-gutters {
    padding: 0; } }

.schedule > .l-gutters .l-container {
  max-width: 1600px; }

.schedule .form__ctrl-label {
  font-size: 14px;
  color: black;
  font-weight: 500; }

.schedule .form__checkbox {
  margin-bottom: 15px; }

.filters-open .schedule {
  position: relative;
  z-index: 1000;
  background-color: white; }

.schedule__cols:before {
  content: '';
  display: table; }

.schedule__cols:after {
  content: '';
  display: table;
  clear: both; }
  @media (max-width: 599px) {
    .schedule__cols {
      margin: 0 20px; } }

@media (min-width: 600px) {
  .schedule__col:nth-child(1) {
    width: 340px;
    float: left; } }

@media (min-width: 850px) {
  .schedule__col:nth-child(1) {
    padding-right: 20px; } }

@media (min-width: 600px) {
  .schedule__col:nth-child(2) {
    float: left;
    width: calc(100% - 280px - 60px); } }

.schedule__types {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 20px;
  margin: 20px auto 0; }
  @media (min-width: 600px) {
    .schedule__types {
      width: 280px; } }
  .schedule__types > button {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    text-align: center;
    font-size: 12px;
    text-transform: uppercase;
    padding: 12px 0;
    color: #436153;
    background: rgba(67, 97, 83, 0.35); }
    .schedule__types > button.is-selected {
      background-color: #436153;
      color: white; }
    .schedule__types > button:nth-child(1) {
      border-radius: 4px 0 0 4px; }
    .schedule__types > button:nth-child(2) {
      border-radius: 0 4px 4px 0; }

.is-list .schedule__calendar {
  display: none; }

.schedule__hr {
  margin-top: 18px;
  margin-bottom: 18px; }

.schedule__filters {
  margin: 0 auto; }
  @media (min-width: 600px) {
    .schedule__filters {
      width: 320px;
      padding-left: 20px;
      padding-right: 20px; } }
  .schedule__filters .form__checkbox.is-hidden {
    display: none; }

.schedule__filter-by-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 19px;
  overflow: hidden; }
  .eef .schedule__filter-by-heading {
    font-family: "favorit";
    font-weight: 600;
    text-transform: uppercase; }

.schedule__filters-heading {
  margin-bottom: 12px;
  color: #f26646; }

.schedule__filters-toggle {
  position: relative;
  z-index: 1;
  cursor: pointer;
  margin-left: auto; }
  .schedule__filters-toggle:before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -10px;
    bottom: -10px;
    right: -10px;
    left: -10px; }
  @media (min-width: 600px) {
    .schedule__filters-toggle {
      display: none; } }
  .schedule__filters-toggle span {
    line-height: 19px; }
  .filters-open .schedule__filters-toggle .icon-plus {
    display: none; }
  .schedule__filters-toggle .icon-close {
    display: none; }
    .filters-open .schedule__filters-toggle .icon-close {
      display: block; }

.schedule__filters-cols {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.schedule__filters-col {
  width: calc(99.9% * 1/2 - (10px - 10px * 1/2)); }

.schedule__filters-col:nth-child(1n) {
  float: left;
  margin-right: 10px;
  clear: none; }

.schedule__filters-col:last-child {
  margin-right: 0; }

.schedule__filters-col:nth-child(2n) {
  margin-right: 0;
  float: right; }

.schedule__filters-col:nth-child(2n + 1) {
  clear: both; }

.schedule__date {
  border-bottom-style: solid;
  margin-bottom: 24px;
  padding-bottom: 10px;
  font-size: 26px;
  font-weight: bold;
  border-bottom-color: rgba(238, 175, 115, 0.1);
  border-bottom-width: 8px; }
  @media (max-width: 599px) {
    .schedule__date {
      padding-top: 10px; } }
  .planner .schedule__date {
    border-bottom: none;
    font-size: 18px;
    padding-top: 20px;
    margin-bottom: 5px; }

@media (max-width: 599px) {
  .schedule__filters-collapsable {
    position: absolute;
    width: 100%;
    left: 0;
    padding: 0 20px;
    z-index: 10;
    overflow: hidden;
    height: 0px;
    background-color: white; }
    .filters-open .schedule__filters-collapsable {
      height: auto;
      -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 6px 0px;
              box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 6px 0px; } }

.schedule__actions {
  position: relative; }
  @media (min-width: 600px) {
    .schedule__actions {
      display: none; } }

.schedule__actions-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 20px; }

.schedule__apply-filters {
  margin-left: auto;
  font-size: 14px;
  padding: 8px 16px; }

.schedule__clear-all {
  text-decoration: none;
  -webkit-transition: color 0.15s;
  transition: color 0.15s;
  color: #436153;
  font-weight: 500; }
  .schedule__clear-all:active, .schedule__clear-all:focus, .schedule__clear-all:hover,
  .no-touch .schedule__clear-all:hover {
    color: #436153;
    text-decoration: none; }

.sessions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

@media (max-width: 899px) {
  .sessions__col {
    width: 100%; } }

@media (min-width: 900px) {
  .sessions__col {
    width: calc(99.9% * 6.4 - (0px - 0px * 6.4));
    margin-left: calc(99.9% * (-0.6/7 * -1) - (20px - 20px * (-0.6/7 * -1)) + 20px) !important; }
  .sessions__col:nth-child(1n) {
    float: left;
    margin-right: 0px;
    clear: none; }
  .sessions__col:last-child {
    margin-right: 0; }
  .sessions__col:nth-child(1n) {
    margin-right: 0;
    float: right; }
  .sessions__col:nth-child(1n + 1) {
    clear: both; } }

.sessions__heading {
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 20px; }

.sessions__cinema-heading {
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase; }
  .schedule .sessions__cinema-heading,
  .sessions .sessions__cinema-heading {
    margin-top: 15px;
    margin-bottom: 10px; }
  .planner .sessions__cinema-heading {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    margin-top: 8px;
    margin-bottom: 6px;
    font-size: 10px; }
  .ffa .sessions__cinema-heading {
    font-weight: bold; }

.has-touch .sessions__scroll-container {
  position: relative; }
  .has-touch .sessions__scroll-container:after {
    pointer-events: none;
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;
    height: 100%;
    z-index: 1;
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(255, 212, 221, 0)), to(#ffd4dd));
    background-image: linear-gradient(to right, rgba(255, 212, 221, 0), #ffd4dd); }

.sessions__dates button, .sessions__list li > button,
.sessions__list li > a {
  padding: 8px 10px;
  border-radius: 4px;
  font-size: 12px; }
  .planner .sessions__dates button, .sessions__dates .planner button, .planner .sessions__list li > button, .sessions__list .planner li > button,
  .planner .sessions__list li > a, .sessions__list .planner li > a {
    padding: 4px 5px; }
  .sessions__dates button span:nth-child(2), .sessions__list li > button span:nth-child(2), .sessions__list li > a span:nth-child(2) {
    font-style: italic; }

.sessions__dates {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 10px;
  padding-top: 10px; }
  .no-touch .sessions__dates {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .has-touch .sessions__dates {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }
    .film-grid .has-touch .sessions__dates {
      margin-bottom: 12px;
      padding-top: 5px;
      padding-bottom: 5px; }
  .sessions__dates li {
    margin-right: 5px;
    margin-bottom: 10px;
    -ms-flex-negative: 0;
        flex-shrink: 0; }
    .sessions__dates li:last-child {
      padding-right: 30px; }
  .sessions__dates button {
    color: #436153;
    background-color: #eeaf73; }
    .sessions__dates button.is-selected, .sessions__dates button:hover, .sessions__dates button:focus {
      color: #FFF;
      background-color: #436153; }

.sessions__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .sessions__list li {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-right: 5px;
    margin-bottom: 10px; }
    .sessions__list li:last-child {
      padding-right: 30px; }
  .sessions__list li > button {
    font-size: 14px; }
  .sessions__list li > button,
  .sessions__list li > a {
    color: #436153;
    background-color: #eeaf73; }
    .sessions__list li > button:hover,
    .no-touch .sessions__list li > button:focus,
    .sessions__list li > a:hover,
    .no-touch
    .sessions__list li > a:focus {
      color: #436153;
      background-color: #EDDEDB; }
    .sessions__list li > button.sessions__time--special-event,
    .sessions__list li > a.sessions__time--special-event {
      color: #436153;
      background-color: #eeaf73; }
      .sessions__list li > button.sessions__time--special-event:hover, .no-touch .sessions__list li > button.sessions__time--special-event:focus,
      .sessions__list li > a.sessions__time--special-event:hover, .no-touch
      .sessions__list li > a.sessions__time--special-event:focus {
        color: #000;
        background-color: #f4c9a0; }
  .sessions__list li > a {
    display: inline-block;
    text-decoration: none !important; }

.sessions__by-date {
  display: none; }
  .sessions__by-date:first-child {
    margin-top: 20px; }
    .planner .sessions__by-date:first-child {
      margin-top: 7px; }
  .sessions__by-date.is-showing {
    display: block; }
  .planner .sessions__by-date {
    display: block; }

.sessions__time .tippy-popper .tippy-tooltip,
.sessions__list .tippy-popper .tippy-tooltip {
  padding: 0;
  -webkit-box-shadow: 0 2px 3px 0 rgba(34, 36, 38, 0.15);
          box-shadow: 0 2px 3px 0 rgba(34, 36, 38, 0.15);
  border: solid 1px rgba(34, 36, 38, 0.1); }

.sessions__time .tippy-popper .tippy-content,
.sessions__list .tippy-popper .tippy-content {
  overflow: hidden;
  border-radius: 2px; }

.sessions__time .tippy-popper .tippy-tooltip.first-option-has-focus .tippy-arrow,
.sessions__list .tippy-popper .tippy-tooltip.first-option-has-focus .tippy-arrow {
  border-bottom-color: #436153; }
  .sessions__time .tippy-popper .tippy-tooltip.first-option-has-focus .tippy-arrow:before, .sessions__time .tippy-popper .tippy-tooltip.first-option-has-focus .tippy-arrow:after,
  .sessions__list .tippy-popper .tippy-tooltip.first-option-has-focus .tippy-arrow:before,
  .sessions__list .tippy-popper .tippy-tooltip.first-option-has-focus .tippy-arrow:after {
    border-bottom-color: inherit; }

.sessions__time .tippy-popper .tippy-arrow,
.sessions__list .tippy-popper .tippy-arrow {
  -webkit-transform: scale(0.8) translateX(-15px) !important;
          transform: scale(0.8) translateX(-15px) !important; }

.sessions__time-star {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 5px;
  vertical-align: top;
  fill: #436153; }

.sessions__attribute {
  position: relative;
  margin-left: 8px;
  top: 3px;
  padding: 3px 4px;
  border-radius: 2px;
  font-size: 10px;
  vertical-align: top;
  font-weight: 700; }
  .sessions__attribute.selling-fast {
    color: white;
    background-color: #FF5500; }
  .sessions__attribute.sold-out {
    color: white;
    background-color: #FF0000; }

.sessions__popup > * {
  display: block;
  text-align: left;
  font-size: 16px;
  font-weight: 500;
  color: #2b2b2b;
  padding: 7px 16px; }
  .no-touch .sessions__popup > *:hover, .sessions__popup > *:focus {
    background-color: #436153;
    color: white !important; }

.sessions__popup a {
  -webkit-transition: none;
  transition: none; }

.sessions__popup button {
  background-color: #f3f0e1; }

.planner .sessions__add {
  display: none; }

.sessions__remove {
  width: 100%; }
  .schedule .sessions__remove,
  .sessions .sessions__remove {
    display: none; }

.skip-to-content:focus {
  position: absolute;
  z-index: 500;
  width: auto;
  height: auto;
  left: 0;
  top: 0;
  padding: 10px;
  text-decoration: underline;
  color: white;
  background-color: rgba(0, 0, 0, 0.8); }

/*
    @usage - extend then position
    @extend .spinner;
    @extend .spinner--vert-cent;
*/
.spinner, .btn__spinner {
  pointer-events: none;
  position: absolute;
  z-index: 10;
  width: 23px;
  height: 23px; }
  .spinner--vert-cent {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto; }
  .spinner:after, .btn__spinner:after {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    border: 3px rgba(255, 255, 255, 0.25) solid;
    border-top: 3px rgba(255, 255, 255, 0.8) solid;
    border-radius: 50%;
    -webkit-animation: spin .4s infinite linear;
            animation: spin .4s infinite linear; }

@-webkit-keyframes spin {
  from {
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  to {
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes spin {
  from {
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  to {
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.wysiwyg, .film__wysiwyg {
  margin-top: 40px; }
  .wysiwyg a, .film__wysiwyg a {
    text-decoration: none;
    -webkit-transition: color 0.15s;
    transition: color 0.15s;
    color: #436153;
    text-decoration: underline; }
    .wysiwyg a:active, .film__wysiwyg a:active, .wysiwyg a:focus, .film__wysiwyg a:focus, .wysiwyg a:hover, .film__wysiwyg a:hover,
    .no-touch .wysiwyg a:hover,
    .no-touch .film__wysiwyg a:hover {
      color: #436153;
      text-decoration: underline; }
    .wysiwyg a:visited, .film__wysiwyg a:visited {
      color: #6a0136; }
  .wysiwyg li, .film__wysiwyg li {
    line-height: 1.78em;
    font-size: 18px;
    margin-bottom: 1.4em; }
    .wysiwyg li + li, .film__wysiwyg li + li {
      margin-top: calc(-1.4em * 0.75); }
  .wysiwyg--centered {
    text-align: center; }
  .wysiwyg .l-container, .film__wysiwyg .l-container {
    max-width: 776px; }
  .wysiwyg iframe, .film__wysiwyg iframe {
    width: 100% !important; }
  .wysiwyg img, .film__wysiwyg img {
    margin-bottom: 45px;
    margin-left: auto;
    margin-right: auto; }
  .wysiwyg blockquote, .film__wysiwyg blockquote {
    margin-bottom: 1.4em;
    font-size: 21px;
    line-height: 32px; }
    .wysiwyg blockquote cite, .film__wysiwyg blockquote cite {
      display: block; }
  .wysiwyg ul, .film__wysiwyg ul {
    list-style: disc;
    padding-left: 15px; }
  .wysiwyg p.Flex, .film__wysiwyg p.Flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: -5px;
    margin-right: -5px; }
    @media (max-width: 899px) {
      .wysiwyg p.Flex, .film__wysiwyg p.Flex {
        display: block;
        margin-left: 0;
        margin-right: 0; } }
  .wysiwyg p.Flex div, .film__wysiwyg p.Flex div {
    margin-left: 5px;
    margin-right: 5px; }
    @media (max-width: 899px) {
      .wysiwyg p.Flex div, .film__wysiwyg p.Flex div {
        margin-left: 0;
        margin-right: 0; } }
    .wysiwyg p.Flex div img, .film__wysiwyg p.Flex div img {
      margin-bottom: 0; }
    .wysiwyg p.Flex div p, .film__wysiwyg p.Flex div p {
      margin-top: 10px;
      font-size: 14px;
      color: #999; }

.sponsors__title {
  border-bottom: 1px solid black; }

.sponsors__list, .sponsors__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 20px;
  list-style: none !important; }
  .sponsors__list img, .sponsors__links img {
    margin-right: 20px;
    margin-bottom: 20px;
    max-width: 150px;
    max-height: 120px;
    margin: 0 15px !important; }
    .sponsors__list img.large-sponsor, .sponsors__links img.large-sponsor {
      max-width: 150px; }
    .sponsors__list img.smaller-logo, .sponsors__links img.smaller-logo {
      max-width: 135px;
      max-height: 85px; }

.sponsors__links li {
  margin: 0 20px 20px 0 !important; }
  .sponsors__links li a {
    text-decoration: none;
    -webkit-transition: color 0.15s;
    transition: color 0.15s;
    color: black #436153; }
    .sponsors__links li a:active, .sponsors__links li a:focus, .sponsors__links li a:hover,
    .no-touch .sponsors__links li a:hover {
      color: black #436153;
      text-decoration: none; }

.subscribe {
  position: relative;
  padding-top: 60px;
  margin-top: 100px;
  text-align: center;
  background-color: #eeaf73; }
  .chf .subscribe {
    padding-top: 0; }
    .chf .subscribe .flair-heading {
      padding-top: 40px; }
  .subscribe .l-container {
    max-width: 776px; }
  @media (max-width: 599px) {
    .subscribe {
      padding-bottom: 40px; } }

@media (min-width: 600px) and (max-width: 1099px) {
  .subscribe {
    padding-bottom: 50px; } }
  @media (min-width: 1100px) {
    .subscribe {
      padding-top: 80px;
      padding-bottom: 80px; } }

.subscribe__form {
  text-align: left; }
  .is-success .subscribe__form,
  .is-fail .subscribe__form {
    display: none; }
    .is-success .subscribe__form + .subscribe__disclaimer,
    .is-fail .subscribe__form + .subscribe__disclaimer {
      display: none; }
  @media (max-width: 599px) {
    .subscribe__form .btn, .subscribe__form .pika-prev,
    .subscribe__form .pika-next, .subscribe__form .film__book-btn, .subscribe__form .film__vote-btn, .subscribe__form .pagination__prev,
    .subscribe__form .pagination__next, .subscribe__form .planner__submit-btn, .subscribe__form .planner__facebook-btn, .subscribe__form .schedule__apply-filters {
      width: 100%;
      margin-top: 5px;
      text-align: center; } }
  @media (min-width: 600px) {
    .subscribe__form .btn, .subscribe__form .pika-prev,
    .subscribe__form .pika-next, .subscribe__form .film__book-btn, .subscribe__form .film__vote-btn, .subscribe__form .pagination__prev,
    .subscribe__form .pagination__next, .subscribe__form .planner__submit-btn, .subscribe__form .planner__facebook-btn, .subscribe__form .schedule__apply-filters {
      display: block;
      margin: 20px auto 0; } }
  .subscribe__form .btn__spinner:after {
    border: 4px rgba(255, 255, 255, 0.25) solid;
    border-top: 4px rgba(255, 255, 255, 0.8) solid; }
  .subscribe__form .form__field,
  .subscribe__form .form__select {
    margin-bottom: 32px; }
    .subscribe__form .form__field.is-invalid,
    .subscribe__form .form__select.is-invalid {
      margin-bottom: 4px; }
  .subscribe__form .form__field-label {
    font-size: 18px; }
  .subscribe__form .form__field-error {
    margin-bottom: 30px; }
  .subscribe__form input,
  .subscribe__form select {
    font-size: 18px;
    border: none;
    padding: 22px 20px 18px;
    line-height: 1.33; }

@media (min-width: 600px) {
  .subscribe__cols {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; } }

@media (min-width: 600px) {
  .subscribe__col {
    width: calc(99.9% * 1/2 - (15px - 15px * 1/2)); }
  .subscribe__col:nth-child(1n) {
    float: left;
    margin-right: 15px;
    clear: none; }
  .subscribe__col:last-child {
    margin-right: 0; }
  .subscribe__col:nth-child(2n) {
    margin-right: 0;
    float: right; }
  .subscribe__col:nth-child(2n + 1) {
    clear: both; } }

.subscribe__heading {
  color: #000; }

.subscribe__desc {
  color: #000; }

.subscribe__disclaimer {
  color: #000;
  text-align: center;
  line-height: 1.5;
  margin-top: 45px;
  font-size: 12px; }

.subscribe__feedback {
  text-align: center;
  color: #000; }

.subscribe__success {
  display: none; }
  .is-success .subscribe__success {
    display: block; }

.subscribe__fail {
  display: none; }
  .is-fail .subscribe__fail {
    display: block; }

.swiper--single-slide .swiper-pagination,
.swiper--single-slide .swiper-button-prev,
.swiper--single-slide .swiper-button-next {
  display: none; }

.swiper--single-slide .swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0) !important;
          transform: translate3d(0px, 0, 0) !important; }

.swiper .swiper-pagination-bullets {
  bottom: 20px; }

.swiper .swiper-pagination-bullet-active {
  background-color: white; }

.swiper .swiper-button-next,
.swiper .swiper-button-prev {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  z-index: 12;
  font-size: 50px;
  -webkit-transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  color: white; }
  .swiper .swiper-button-next:before,
  .swiper .swiper-button-prev:before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -10px;
    bottom: -10px;
    right: -10px;
    left: -10px; }
  @media (max-width: 599px) {
    .swiper .swiper-button-next,
    .swiper .swiper-button-prev {
      font-size: 20px;
      top: initial;
      bottom: 2px; } }

@media (min-width: 600px) and (max-width: 899px) {
  .swiper .swiper-button-next,
  .swiper .swiper-button-prev {
    font-size: 35px; } }
  .no-touch .swiper .swiper-button-next:hover:before, .no-touch
  .swiper .swiper-button-prev:hover:before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -20px;
    bottom: -20px;
    right: -20px;
    left: -20px; }

.swiper .swiper-button-next {
  right: 3%; }
  @media (max-width: 599px) {
    .swiper .swiper-button-next {
      right: 6%; } }
  .no-touch .swiper .swiper-button-next:hover {
    -webkit-transform: translateY(-50%) translateX(30%);
            transform: translateY(-50%) translateX(30%); }

.swiper .swiper-button-prev {
  left: 3%; }
  @media (max-width: 599px) {
    .swiper .swiper-button-prev {
      left: 6%; } }
  .no-touch .swiper .swiper-button-prev:hover {
    -webkit-transform: translateY(-50%) translateX(-30%);
            transform: translateY(-50%) translateX(-30%); }

.swiper--wide .l-container {
  max-width: 1920px; }

.swiper .l-gutters {
  padding: 0; }

.swiper-container {
  margin: 0 auto; }

.swiper__img-wrap {
  padding-bottom: 56.25%; }
  .swiper--wide .swiper__img-wrap {
    padding: 0 0 60vh; }
    @media (min-width: 900px) {
      .swiper--wide .swiper__img-wrap {
        padding: 0 0 42.8571%; } }
  .swiper__img-wrap img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       font-family: "object-fit:cover;object-position:50% 35%";
       object-fit: cover;
    -o-object-position: 50% 35%;
       object-position: 50% 35%; }
  .swiper__img-wrap:after {
    pointer-events: none;
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.5)));
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5)); }
  .swiper__img-wrap:active {
    cursor: -webkit-grabbing;
    cursor: grabbing; }
  .ie11 .swiper__img-wrap a {
    position: absolute;
    width: 100%;
    height: 100%; }
    .ie11 .swiper__img-wrap a img {
      height: auto; }
  .swiper__img-wrap h3 {
    text-align: center;
    position: absolute;
    width: 100%;
    z-index: 1;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
    pointer-events: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media (max-width: 599px) {
      .swiper__img-wrap h3 {
        top: 50%;
        bottom: 50px; } }
    @media (min-width: 600px) {
      .swiper__img-wrap h3 {
        top: 48%; } }
    .swiper__img-wrap h3 > * {
      width: 80%;
      max-width: 800px;
      margin-left: auto;
      margin-right: auto; }
      @media (max-width: 599px) {
        .swiper__img-wrap h3 > * {
          width: 95%; } }
    .swiper__img-wrap h3 .swiper__title {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
    .swiper__img-wrap h3 .swiper__subtitle {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; }

.swiper__title {
  color: white;
  font-size: 28px;
  line-height: 1.1; }
  @media (min-width: 600px) {
    .swiper__title {
      font-size: 56px;
      line-height: 1; } }

.swiper__subtitle {
  color: white;
  margin-bottom: 10px;
  font-weight: bold;
  letter-spacing: 1px;
  text-transform: uppercase; }
  @media (max-width: 599px) {
    .swiper__subtitle {
      font-size: 14px; } }
  @media (min-width: 600px) {
    .swiper__subtitle {
      margin-bottom: 40px;
      font-size: 18px; } }

.swiper__video {
  -webkit-transform: translatez(0);
  -webkit-backface-visibility: hidden;
  position: absolute;
  top: -4px;
  left: -4px;
  right: -4px;
  bottom: -4px; }
  .swiper__video video {
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    -webkit-transition: opacity 0.1s ease-out 0s;
    transition: opacity 0.1s ease-out 0s;
    position: absolute;
    top: 51%;
    left: 50%;
    width: 100%;
    min-height: 100%;
    opacity: 0; }
    .swiper__video video.loaded {
      opacity: 1; }

.voting__area {
  margin: 40px 0px; }

.vote__feedback-heading {
  margin-bottom: 10px; }

.voting {
  display: none; }

.is-success .voting__form,
.is-fail .voting__form {
  display: none; }

.vote__success,
.vote__fail {
  display: none; }

.is-success .vote__success {
  display: block; }

.wysiwyg, .film__wysiwyg {
  margin-top: 40px; }
  .wysiwyg a, .film__wysiwyg a {
    text-decoration: none;
    -webkit-transition: color 0.15s;
    transition: color 0.15s;
    color: #436153;
    text-decoration: underline; }
    .wysiwyg a:active, .film__wysiwyg a:active, .wysiwyg a:focus, .film__wysiwyg a:focus, .wysiwyg a:hover, .film__wysiwyg a:hover,
    .no-touch .wysiwyg a:hover,
    .no-touch .film__wysiwyg a:hover {
      color: #436153;
      text-decoration: underline; }
    .wysiwyg a:visited, .film__wysiwyg a:visited {
      color: #6a0136; }
  .wysiwyg li, .film__wysiwyg li {
    line-height: 1.78em;
    font-size: 18px;
    margin-bottom: 1.4em; }
    .wysiwyg li + li, .film__wysiwyg li + li {
      margin-top: calc(-1.4em * 0.75); }
  .wysiwyg--centered {
    text-align: center; }
  .wysiwyg .l-container, .film__wysiwyg .l-container {
    max-width: 776px; }
  .wysiwyg iframe, .film__wysiwyg iframe {
    width: 100% !important; }
  .wysiwyg img, .film__wysiwyg img {
    margin-bottom: 45px;
    margin-left: auto;
    margin-right: auto; }
  .wysiwyg blockquote, .film__wysiwyg blockquote {
    margin-bottom: 1.4em;
    font-size: 21px;
    line-height: 32px; }
    .wysiwyg blockquote cite, .film__wysiwyg blockquote cite {
      display: block; }
  .wysiwyg ul, .film__wysiwyg ul {
    list-style: disc;
    padding-left: 15px; }
  .wysiwyg p.Flex, .film__wysiwyg p.Flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: -5px;
    margin-right: -5px; }
    @media (max-width: 899px) {
      .wysiwyg p.Flex, .film__wysiwyg p.Flex {
        display: block;
        margin-left: 0;
        margin-right: 0; } }
  .wysiwyg p.Flex div, .film__wysiwyg p.Flex div {
    margin-left: 5px;
    margin-right: 5px; }
    @media (max-width: 899px) {
      .wysiwyg p.Flex div, .film__wysiwyg p.Flex div {
        margin-left: 0;
        margin-right: 0; } }
    .wysiwyg p.Flex div img, .film__wysiwyg p.Flex div img {
      margin-bottom: 0; }
    .wysiwyg p.Flex div p, .film__wysiwyg p.Flex div p {
      margin-top: 10px;
      font-size: 14px;
      color: #999; }

.Close::before {
  content: 'x';
  font-weight: 300;
  font-family: Arial, sans-serif;
  font-size: 25px;
  position: relative;
  top: -2px;
  color: #f26649; }

.festivals-modal__content {
  background-color: #436153; }

.festivals-modal__wysiwyg {
  margin-bottom: 40px; }

.festivals-modal__wysiwyg h1, .festivals-modal__wysiwyg h2, .festivals-modal__wysiwyg h3, .festivals-modal__wysiwyg h4 {
  font-size: 40px;
  font-weight: 300;
  color: #ffffff;
  font-family: antwerp; }

.festivals-modal__wysiwyg p {
  color: #ffffff; }

.modal-content {
  margin-bottom: 40px; }

.modal-content, .festivals-modal__wysiwyg {
  padding-left: 64px;
  padding-right: 64px; }

@media (max-width: 640px) {
  .festivals-modal img {
    display: none; }
  .festivals-modal__wysiwyg {
    margin-bottom: 20px; }
  .modal-content {
    margin-bottom: 20px; }
  .modal-content, .festivals-modal__wysiwyg {
    padding-left: 32px;
    padding-right: 32px; } }

:root {
  --gl-star-color: #fdd835;
  --gl-star-color-inactive: #dcdce6;
  --gl-star-empty: url(../img/ratings/star-empty.svg);
  --gl-star-full: url(../img/ratings/star-full.svg);
  --gl-star-size: 40px;
  --gl-tooltip-border-radius: 4px;
  --gl-tooltip-font-size: 0.875rem;
  --gl-tooltip-font-weight: 400;
  --gl-tooltip-line-height: 1;
  --gl-tooltip-margin: 12px;
  --gl-tooltip-padding: 0.5em 1em;
  --gl-tooltip-size: 6px; }

[data-star-rating] > select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-clip-path: circle(1px at 0 0) !important;
  clip-path: circle(1px at 0 0) !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  height: 1px !important;
  margin: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  pointer-events: none;
  position: absolute !important;
  top: 0 !important;
  visibility: visible !important;
  white-space: nowrap !important;
  width: 1px !important; }

[data-star-rating] > select:after,
[data-star-rating] > select:before {
  display: none !important; }

[data-star-rating].gl-star-rating--ltr > select {
  left: 0 !important; }

[data-star-rating].gl-star-rating--rtl > select {
  right: 0 !important; }

[data-star-rating] {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative; }

.gl-star-rating:not([data-star-rating]) .gl-star-rating--stars {
  display: none; }

[data-star-rating] .gl-star-rating--stars {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative; }

[data-star-rating] > select:focus + .gl-star-rating--stars span:first-child:before {
  box-shadow: 0 0 0 3px -moz-mac-focusring;
  -webkit-box-shadow: 0 0 0 3px -webkit-focus-ring-color;
          box-shadow: 0 0 0 3px -webkit-focus-ring-color;
  box-shadow: 0 0 0 3px Highlight;
  content: "";
  display: block;
  height: 100%;
  outline: 1px solid transparent;
  pointer-events: none;
  position: absolute;
  width: 100%; }

[data-star-rating] select[disabled] + .gl-star-rating--stars {
  cursor: default; }

[data-star-rating] .gl-star-rating--stars > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 24px;
  height: var(--gl-star-size);
  margin: 0;
  width: 24px;
  width: var(--gl-star-size); }

[data-star-rating] .gl-star-rating--stars[aria-label]:after,
[data-star-rating] .gl-star-rating--stars[aria-label]:before {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  bottom: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  left: 100%;
  position: absolute;
  top: 50%;
  -webkit-transform-origin: top;
          transform-origin: top;
  -webkit-transform: translate3d(0, -50%, 0);
          transform: translate3d(0, -50%, 0);
  white-space: nowrap;
  z-index: 10; }

[data-star-rating] .gl-star-rating--stars[aria-label]:before {
  background-size: 100% auto !important;
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='36'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M12 2.658v32.004c0-6-12.002-11.627-12.002-16.002C-.002 14.285 12 8.594 12 2.658z'/%3E%3C/svg%3E") no-repeat;
  content: "";
  height: 18px;
  margin-bottom: 0;
  margin-left: 6px;
  margin-left: var(--gl-tooltip-size);
  width: 6px;
  width: var(--gl-tooltip-size); }

[data-star-rating] .gl-star-rating--stars[aria-label]:after {
  background: rgba(17, 17, 17, 0.9);
  border-radius: 4px;
  border-radius: var(--gl-tooltip-border-radius);
  color: #fff;
  content: attr(aria-label);
  font-size: 0.875rem;
  font-size: var(--gl-tooltip-font-size);
  font-weight: 400;
  margin-left: 12px;
  margin-left: var(--gl-tooltip-margin);
  padding: 0.5em 1em;
  padding: var(--gl-tooltip-padding);
  text-transform: none; }

[data-star-rating].gl-star-rating--rtl .gl-star-rating--stars[aria-label]:after,
[data-star-rating].gl-star-rating--rtl .gl-star-rating--stars[aria-label]:before {
  left: auto;
  right: 100%; }

[data-star-rating].gl-star-rating--rtl .gl-star-rating--stars[aria-label]:before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='36'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M0 33.342V1.338c0 6 12.002 11.627 12.002 16.002C12.002 21.715 0 27.406 0 33.342z'/%3E%3C/svg%3E") no-repeat;
  margin-left: 0;
  margin-right: 6px;
  margin-right: var(--gl-tooltip-size); }

[data-star-rating].gl-star-rating--rtl .gl-star-rating--stars[aria-label]:after {
  margin-left: 0;
  margin-right: 12px;
  margin-right: var(--gl-tooltip-margin); }

[data-star-rating] svg {
  height: 100%;
  width: 100%; }

[data-star-rating] .gl-star-half {
  fill: none;
  stroke: none; }

[data-star-rating] .gl-star-full {
  fill: #dcdce6;
  fill: var(--gl-star-color-inactive);
  stroke: #dcdce6;
  stroke: var(--gl-star-color-inactive);
  -webkit-transition: fill 0.15s ease-in-out, stroke 0.15s ease-in-out;
  transition: fill 0.15s ease-in-out, stroke 0.15s ease-in-out; }

[data-star-rating] .gl-active .gl-star-full {
  fill: #fdd835;
  fill: var(--gl-star-color);
  stroke: #fdd835;
  stroke: var(--gl-star-color); }

[data-star-rating] .gl-star-rating--stars[class*=" s"] > span {
  background-image: url(../img/ratings/star-empty.svg);
  background-image: var(--gl-star-empty);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 90%; }

[data-star-rating] .gl-star-rating--stars.s10 > span:first-child,
[data-star-rating] .gl-star-rating--stars.s20 > span:nth-child(-1n + 2),
[data-star-rating] .gl-star-rating--stars.s30 > span:nth-child(-1n + 3),
[data-star-rating] .gl-star-rating--stars.s40 > span:nth-child(-1n + 4),
[data-star-rating] .gl-star-rating--stars.s50 > span:nth-child(-1n + 5),
[data-star-rating] .gl-star-rating--stars.s60 > span:nth-child(-1n + 6),
[data-star-rating] .gl-star-rating--stars.s70 > span:nth-child(-1n + 7),
[data-star-rating] .gl-star-rating--stars.s80 > span:nth-child(-1n + 8),
[data-star-rating] .gl-star-rating--stars.s90 > span:nth-child(-1n + 9),
[data-star-rating] .gl-star-rating--stars.s100 > span {
  background-image: url(../img/ratings/star-full.svg);
  background-image: var(--gl-star-full); }

.voting-area {
  z-index: 1010;
  background-color: white; }
  @media (max-width: 599px) {
    .voting-area {
      position: fixed;
      top: 48px;
      left: 0;
      overflow: hidden;
      width: 100%;
      height: 0;
      -webkit-transition: height 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
      transition: height 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s; }
      .voting-area-active .voting-area {
        height: calc((var(--vh, 1vh) * 100) - 48px);
        -webkit-transition: height .4s .06s;
        transition: height .4s .06s;
        padding-bottom: 150px; } }
  @media (min-width: 600px) {
    .voting-area {
      position: fixed;
      right: 0;
      top: 61px;
      width: 700px;
      height: 100vh;
      -webkit-box-shadow: -2px 0 0 0 rgba(0, 0, 0, 0.05);
              box-shadow: -2px 0 0 0 rgba(0, 0, 0, 0.05);
      -webkit-transform: translateX(100%);
              transform: translateX(100%);
      -webkit-transition-duration: 0.2s;
              transition-duration: 0.2s;
      -webkit-transition-property: -webkit-transform;
      transition-property: -webkit-transform;
      transition-property: transform;
      transition-property: transform, -webkit-transform;
      -webkit-transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
              transition-timing-function: cubic-bezier(0.4, 0, 1, 1); }
      .voting-area-active .voting-area {
        -webkit-transform: translateX(0);
                transform: translateX(0);
        -webkit-transition-duration: 0.3s;
                transition-duration: 0.3s;
        -webkit-transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
                transition-timing-function: cubic-bezier(0, 0, 0.2, 1); } }
  .voting-area .tippy-popper {
    max-width: 100%; }

.voting__heading {
  text-align: center;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  font-size: 13px;
  text-transform: uppercase;
  border-bottom-color: rgba(238, 175, 115, 0.1);
  padding: 13px 0 11px; }
  @media (max-width: 599px) {
    .voting__heading {
      border-top-style: solid;
      border-top-width: 1px;
      border-top-color: rgba(238, 175, 115, 0.1); } }

.voting-area__close {
  float: right;
  -webkit-transform: translateX(-25px) translateY(1px);
          transform: translateX(-25px) translateY(1px);
  z-index: 1;
  color: #436153; }
  .voting-area__close:before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -10px;
    bottom: -10px;
    right: -10px;
    left: -10px; }

.voting-text {
  text-align: center;
  font-size: 18px;
  line-height: 1.7;
  margin-top: 40px; }
  .is-empty .voting-text {
    display: block; }
  .is-validating-email .voting-text,
  .is-returning-user .voting-text,
  .is-new-user .voting-text,
  .is-resetting-password .voting-text,
  .is-facebook-user-no-pw .voting-text {
    display: none; }
  .voting-text button, .voting-text a {
    position: relative;
    z-index: 1; }
    .voting-text button:before, .voting-text a:before {
      content: '';
      position: absolute;
      z-index: -1;
      top: -10px;
      bottom: -10px;
      right: -10px;
      left: -10px; }

.gl-star-rating--stars {
  margin: 16px auto 0; }

.voting__form .form__component {
  margin-bottom: 20px; }

:root {
  --gl-star-empty: url(../img/ratings/star-off.png);
  /* if using background images */
  --gl-star-full: url(../img/ratings/star-on.png);
  /* if using background images */
  --gl-star-color: #004f79;
  --gl-star-empty: url(../img/ratings/pickle-off.png);
  /* if using background images */
  --gl-star-full: url(../img/ratings/pickle-on.png);
  /* if using background images */ }

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

html {
  -ms-overflow-style: -ms-autohiding-scrollbar; }

body {
  position: relative;
  background-color: white;
  /**
    * underlay + scroll blocking
    */ }
  body.iphone {
    width: 100vw; }
  body.debug *:not(input):not(textarea):not(select) {
    background-color: rgba(0, 0, 255, 0.1); }
  body.nav-open, body.search-active, body.planner-active, body.voting-area-active {
    margin: 0;
    width: 100%;
    height: 100%;
    overflow: hidden; }
    body.nav-open:after, body.search-active:after, body.planner-active:after, body.voting-area-active:after {
      z-index: 500;
      opacity: 1;
      -webkit-transition: opacity 0.18s linear;
      transition: opacity 0.18s linear; }
  body:after {
    position: fixed;
    content: '';
    width: 100%;
    height: 100%;
    top: 36px;
    background-color: rgba(0, 0, 0, 0.45);
    opacity: 0;
    z-index: -1; }

iframe {
  border: none; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNpdGUuY3NzIiwiX3RoZW1lLnNjc3MiLCJ2ZW5kb3IvX2Rlc3R5bGUuc2NzcyIsInZlbmRvci9faW5jbHVkZS1tZWRpYS5zY3NzIiwidmVuZG9yL19pbmNsdWRlLW1lZGlhLWV4cG9ydC5zY3NzIiwidmVuZG9yL19saXR5LnNjc3MiLCJ2ZW5kb3IvX3N3aXBlci5zY3NzIiwidmVuZG9yL190aXBweS10aGVtZS1saWdodC1ib3JkZXIuc2NzcyIsImJhc2UvX3V0aWxpdGllcy5zY3NzIiwiYmFzZS9fbGF5b3V0LnNjc3MiLCJiYXNlL19hbmltYXRpb25zLnNjc3MiLCJiYXNlL19mb250cy5zY3NzIiwiYmFzZS9faWNvbnMuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsImJhc2UvX2Zvcm1zLnNjc3MiLCJiYXNlL19idXR0b25zLnNjc3MiLCJ2ZW5kb3IvX2Vhc2luZ3Muc2NzcyIsImJhc2UvX2ltYWdlcy5zY3NzIiwiY29tcG9uZW50cy9fY2FsZW5kYXIuc2NzcyIsImNvbXBvbmVudHMvX2Nob29rLWxvZ28uc2NzcyIsImNvbXBvbmVudHMvX2ZpbG0uc2NzcyIsImNvbXBvbmVudHMvX2ZpbG0tZ3JpZC5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19oYW1idXJnZXIuc2NzcyIsInZlbmRvci9oYW1idXJnZXJzL2hhbWJ1cmdlcnMuc2NzcyIsInZlbmRvci9oYW1idXJnZXJzL19iYXNlLnNjc3MiLCJ2ZW5kb3IvaGFtYnVyZ2Vycy90eXBlcy9fc2xpZGVyLnNjc3MiLCJjb21wb25lbnRzL19uYXYtc3RpY2t5LnNjc3MiLCJjb21wb25lbnRzL19uYXYtc3RhdGljLnNjc3MiLCJjb21wb25lbnRzL19uYXYtZHJvcC5zY3NzIiwiY29tcG9uZW50cy9fc2VhcmNoLXJlc3VsdHMuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX3BsYW5uZXIuc2NzcyIsImNvbXBvbmVudHMvX3Byb21vcy5zY3NzIiwiY29tcG9uZW50cy9fcmVzZXQuc2NzcyIsImNvbXBvbmVudHMvX3NjaGVkdWxlLnNjc3MiLCJjb21wb25lbnRzL19zZXNzaW9ucy5zY3NzIiwiY29tcG9uZW50cy9fc2tpcC10by1jb250ZW50LnNjc3MiLCJjb21wb25lbnRzL19zcGlubmVyLnNjc3MiLCJjb21wb25lbnRzL193eXNpd3lnLnNjc3MiLCJzaXRlLnNjc3MiLCJjb21wb25lbnRzL19zcG9uc29ycy5zY3NzIiwiY29tcG9uZW50cy9fc3Vic2NyaWJlLnNjc3MiLCJjb21wb25lbnRzL19zd2lwZXIuc2NzcyIsImNvbXBvbmVudHMvX3ZvdGUuc2NzcyIsImNvbXBvbmVudHMvX21vZGFsLnNjc3MiLCJjb21wb25lbnRzL19zdGFyLXJhdGluZy5zY3NzIiwiY29tcG9uZW50cy9fdm90aW5nLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDVWpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQTBCRTtBQ3BDRix1RkFBdUY7QUFFdkY7Z0ZBQ2dGO0FBRTdFO0VBQ0MsK0JBQXNCO1VBQXRCLHVCQUFzQixFQUN2Qjs7QUFFRDs7RUFFRSw0QkFBbUI7VUFBbkIsb0JBQW1CLEVBQ3BCOztBQUVEO2tGQUNnRjtBQUVoRjs7OztLQUlHO0FBRUg7RUFDRSxrQkFBaUI7RUFBRSxPQUFPO0VBQzFCLCtCQUE4QjtFQUFFLE9BQU87RUFDdkMseUNBQXdDO0VBQUUsTUFBTSxFQUNqRDs7QUFFRDtrRkFDZ0Y7QUFFaEY7O0tBRUc7QUFFSDtFQUNFLFVBQVMsRUFDVjs7QUFFRDs7S0FFRztBQUVIO0VBQ0UsZUFBYyxFQUNmOztBQUVEO2tGQUNnRjtBQUVoRjs7Ozs7Ozs7O0VBU0UsVUFBUyxFQUNWOztBQUVEO2tGQUNnRjtBQUVoRjs7Ozs7O0VBTUUsbUJBQWtCO0VBQ2xCLHFCQUFvQjtFQUNwQixxQkFBb0I7RUFDcEIsVUFBUyxFQUNWOztBQUVEO2tGQUNnRjtBQUVoRjs7RUFFRSxVQUFTO0VBQ1QsV0FBVTtFQUNW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O01BQ2xCLFlBSjBEO01BSzFELFdBTDBCO01BTTFCLGNBTjBCO01BTzFCLGFBUDBCO01BUTFCLFlBUjBCLEVBUzdCOztBdUNaTDtFQUNJLG9CQUFtQixFQUN0Qjs7QUFFRDtFQUVRLG9CQUFtQixFQUN0Qjs7QURySEw7RUMwSEksa0RBQWdCO0VBQW1DLGdDQUFnQztFQUNuRixnREFBZTtFQUFrQyxnQ0FBZ0M7RUFNN0UseUJBQWdCO0VBQ2hCLG9EQUFnQjtFQUFxQyxnQ0FBZ0M7RUFDckYsa0RBQWU7RUFBb0MsZ0NBQWdDLEVBVTFGOztBN0N4SUU7RXNDaUJILCtCQUFBO1VBQUEsdUJBQUEsRUFBQTs7QXRDQ0U7RXNDRUYsNkNBQUEsRUFDQTs7QXRDVUU7RXNDSkYsbUJBQUE7RUFDQSx3QnZDK0p3QjtFdUN4SnhCOztNQUVBLEVBeUJBO0VBdkNBO0lBRUEsYUFBQSxFQUNBO0VBSEE7SUFTQSx1Q0FBQSxFQUNBO0VBVkE7SUFtQkEsVUFBQTtJQUNBLFlBQUE7SUFDQSxhQUFBO0lBQ0EsaUJBQUEsRUFNQTtJQTVCQTtNQXdCQSxhQUFBO01BQ0EsV0FBQTtNQUNBLHlDQUFBO01BQUEsaUNBQUEsRUFDQTtFQTNCQTtJQThCQSxnQkFBQTtJQUNBLFlBQUE7SUFDQSxZQUFBO0lBQ0EsYUFBQTtJQUNBLFVBQUE7SUFDQSxzQ0FBQTtJQUNBLFdBQUE7SUFDQSxZQUFBLEVBQ0E7O0FBR0E7RUFDQSxhQUFBLEVBQ0EiLCJmaWxlIjoic2l0ZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG5AbG9zdCBndXR0ZXIgMjBweDtcbi8qXHJcblxyXG4jI1xyXG4jIyAgVEhFTUlOR1xyXG4jI1xyXG5cclxuYSBjb21wb25lbnQgY2FuIGJlIHRoZW1lZCB2aWE6XHJcbi5teS1jb21wb25lbnQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShteS1jb21wb25lbnQtYmcpO1xyXG59XHJcbidteS1jb21wb25lbnQtYmcnIHdvdWxkIG5lZWQgdG8gYmUgYWRkZWQgdG8gZWFjaCAkdGhlbWUgbWFwOlxyXG4kdGhlbWVzOiAoXHJcbiAgICAnamlmJzogKFxyXG4gICAgICAgICdteS1jb21wb25lbnQtYmcnOiAnd2hpdGUnXHJcbiAgICApLFxyXG4gICAgJ2ZmYSc6ICAoXHJcbiAgICAgICAgJ215LWNvbXBvbmVudC1iZyc6ICdibGFjaydcclxuICAgIClcclxuKVxyXG5cclxuaWYgYSBwcm9wZXJ0eSBpcyBvbmx5IHVzZWQgZm9yIGEgc2luZ2xlIHRoZW1lOlxyXG4ubXktY29tcG9uZW50IHtcclxuICAgIEBpZiAkdGhlbWUgPT0gY2hmIHtcclxuICAgICAgICBmb250LXNpemU6IDEycHhcclxuICAgIH1cclxufVxyXG4qL1xuLyohIGRlc3R5bGUuY3NzIHYxLjAuMTAgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNvbGFzLWN1c2FuL2Rlc3R5bGUuY3NzICovXG4vKiBSZXNldCBib3gtbW9kZWxcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbjo6YmVmb3JlLFxuOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuLyogRG9jdW1lbnRcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAgICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxyXG4gICAqIDMuIFJlbW92ZSBncmF5IG92ZXJsYXkgb24gbGlua3MgZm9yIGlPUy5cclxuICAgKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMyovIH1cblxuLyogU2VjdGlvbnNcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcclxuICAgKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cclxuICAgKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBWZXJ0aWNhbCByaHl0aG1cclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xucCxcbnRhYmxlLFxuYmxvY2txdW90ZSxcbmFkZHJlc3MsXG5wcmUsXG5pZnJhbWUsXG5mb3JtLFxuZmlndXJlLFxuZGwge1xuICBtYXJnaW46IDA7IH1cblxuLyogSGVhZGluZ3NcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBMaXN0cyAoZW51bWVyYXRpb24pXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbnVsLFxub2wge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLyogTGlzdHMgKGRlZmluaXRpb24pXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuZGQge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXHJcbiAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXHJcbiAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqL1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgbWFyZ2luOiAwO1xuICBjbGVhcjogYm90aDtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuLyoqXHJcbiAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuYWRkcmVzcyB7XG4gIGZvbnQtc3R5bGU6IGluaGVyaXQ7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxyXG4gICAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi8qKlxyXG4gICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXHJcbiAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cclxuICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxyXG4gICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXHJcbiAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXHJcbiAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXHJcbiAgICogYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxyXG4gICAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG5cbmVtYmVkLFxub2JqZWN0LFxuaWZyYW1lIHtcbiAgYm9yZGVyOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG5cbi8qIEZvcm1zXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gICAqIFJlc2V0IGZvcm0gZmllbGRzIHRvIG1ha2UgdGhlbSBzdHlsZWFibGVcclxuICAgKiAxLiBSZXNldCByYWRpbyBhbmQgY2hlY2tib3ggdG8gcHJlc2VydmUgdGhlaXIgbG9vayBpbiBpT1MuXHJcbiAgICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250OiBpbmhlcml0O1xuICBib3JkZXI6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IH1cblxuW3R5cGU9J2NoZWNrYm94J10ge1xuICAvKiAxICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogY2hlY2tib3g7XG4gIGFwcGVhcmFuY2U6IGNoZWNrYm94OyB9XG5cblt0eXBlPSdyYWRpbyddIHtcbiAgLyogMSAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHJhZGlvO1xuICBhcHBlYXJhbmNlOiByYWRpbzsgfVxuXG4vKipcclxuICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cclxuICAgKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxyXG4gICAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxyXG4gICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxyXG4gICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cclxuICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXHJcbiAgICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICAgKi9cbmJ1dHRvbixcblt0eXBlPSdidXR0b24nXSxcblt0eXBlPSdyZXNldCddLFxuW3R5cGU9J3N1Ym1pdCddIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cblxuYnV0dG9uW2Rpc2FibGVkXSxcblt0eXBlPSdidXR0b24nXVtkaXNhYmxlZF0sXG5bdHlwZT0ncmVzZXQnXVtkaXNhYmxlZF0sXG5bdHlwZT0nc3VibWl0J11bZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi8qKlxyXG4gICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXHJcbiAgICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT0nYnV0dG9uJ106Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT0ncmVzZXQnXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPSdzdWJtaXQnXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcclxuICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXHJcbiAgICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT0nYnV0dG9uJ106LW1vei1mb2N1c3JpbmcsXG5bdHlwZT0ncmVzZXQnXTotbW96LWZvY3VzcmluZyxcblt0eXBlPSdzdWJtaXQnXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcclxuICAgKiBSZXNldCB0byBpbnZpc2libGVcclxuICAgKi9cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIG1pbi13aWR0aDogMDsgfVxuXG4vKipcclxuICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxyXG4gICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cclxuICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XHJcbiAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXG5sZWdlbmQge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXHJcbiAgICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICAgKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8qKlxyXG4gICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxyXG4gICAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcclxuICAgKiAxLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXHJcbiAgICovXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgcGFkZGluZzogMDtcbiAgLyogMSAqLyB9XG5cbi8qKlxyXG4gICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cclxuICAgKi9cblt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcclxuICAgKiAxLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cclxuICAgKi9cblt0eXBlPSdzZWFyY2gnXSB7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAxICovIH1cblxuLyoqXHJcbiAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxyXG4gICAqL1xuW3R5cGU9J3NlYXJjaCddOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxyXG4gICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcbiAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxyXG4gICAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICAgKiBDbGlja2FibGUgbGFiZWxzXHJcbiAgICovXG5sYWJlbFtmb3JdIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qIEludGVyYWN0aXZlXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXHJcbiAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cclxuICAgKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxyXG4gICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cclxuICAgKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLyogVGFibGVcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG5jYXB0aW9uIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG50ZCxcbnRoIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG50aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIE1pc2NcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxyXG4gICAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qKlxyXG4gICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxyXG4gICAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxcHgpIHtcbiAgYm9keTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAne1wicGhvbmVcIjp7XCJ2YWx1ZVwiOiBcIjFweFwiLCBcImFjdGl2ZVwiOiB0cnVlfSwgXCJ0YWJsZXRcIjp7XCJ2YWx1ZVwiOiBcIjYwMHB4XCIsIFwiYWN0aXZlXCI6IGZhbHNlfSwgXCJ0YWJsZXQtbGFuZHNjYXBlXCI6e1widmFsdWVcIjogXCI5MDBweFwiLCBcImFjdGl2ZVwiOiBmYWxzZX0sIFwiZGVza3RvcFwiOntcInZhbHVlXCI6IFwiMTIwMHB4XCIsIFwiYWN0aXZlXCI6IGZhbHNlfSwgXCJ3aWRlc2NyZWVuXCI6e1widmFsdWVcIjogXCIxODAwcHhcIiwgXCJhY3RpdmVcIjogZmFsc2V9fSc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgYm9keTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAne1wicGhvbmVcIjp7XCJ2YWx1ZVwiOiBcIjFweFwiLCBcImFjdGl2ZVwiOiB0cnVlfSwgXCJ0YWJsZXRcIjp7XCJ2YWx1ZVwiOiBcIjYwMHB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcInRhYmxldC1sYW5kc2NhcGVcIjp7XCJ2YWx1ZVwiOiBcIjkwMHB4XCIsIFwiYWN0aXZlXCI6IGZhbHNlfSwgXCJkZXNrdG9wXCI6e1widmFsdWVcIjogXCIxMjAwcHhcIiwgXCJhY3RpdmVcIjogZmFsc2V9LCBcIndpZGVzY3JlZW5cIjp7XCJ2YWx1ZVwiOiBcIjE4MDBweFwiLCBcImFjdGl2ZVwiOiBmYWxzZX19JztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICBib2R5OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICd7XCJwaG9uZVwiOntcInZhbHVlXCI6IFwiMXB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcInRhYmxldFwiOntcInZhbHVlXCI6IFwiNjAwcHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwidGFibGV0LWxhbmRzY2FwZVwiOntcInZhbHVlXCI6IFwiOTAwcHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwiZGVza3RvcFwiOntcInZhbHVlXCI6IFwiMTIwMHB4XCIsIFwiYWN0aXZlXCI6IGZhbHNlfSwgXCJ3aWRlc2NyZWVuXCI6e1widmFsdWVcIjogXCIxODAwcHhcIiwgXCJhY3RpdmVcIjogZmFsc2V9fSc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGJvZHk6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ3tcInBob25lXCI6e1widmFsdWVcIjogXCIxcHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwidGFibGV0XCI6e1widmFsdWVcIjogXCI2MDBweFwiLCBcImFjdGl2ZVwiOiB0cnVlfSwgXCJ0YWJsZXQtbGFuZHNjYXBlXCI6e1widmFsdWVcIjogXCI5MDBweFwiLCBcImFjdGl2ZVwiOiB0cnVlfSwgXCJkZXNrdG9wXCI6e1widmFsdWVcIjogXCIxMjAwcHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwid2lkZXNjcmVlblwiOntcInZhbHVlXCI6IFwiMTgwMHB4XCIsIFwiYWN0aXZlXCI6IGZhbHNlfX0nO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE4MDBweCkge1xuICBib2R5OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICd7XCJwaG9uZVwiOntcInZhbHVlXCI6IFwiMXB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcInRhYmxldFwiOntcInZhbHVlXCI6IFwiNjAwcHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwidGFibGV0LWxhbmRzY2FwZVwiOntcInZhbHVlXCI6IFwiOTAwcHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwiZGVza3RvcFwiOntcInZhbHVlXCI6IFwiMTIwMHB4XCIsIFwiYWN0aXZlXCI6IHRydWV9LCBcIndpZGVzY3JlZW5cIjp7XCJ2YWx1ZVwiOiBcIjE4MDBweFwiLCBcImFjdGl2ZVwiOiB0cnVlfX0nO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAwOyB9IH1cblxuLyohIExpdHkgLSB2Mi4zLjEgLSAyMDE4LTA0LTIwXHJcbiogaHR0cDovL3NvcmdhbGxhLmNvbS9saXR5L1xyXG4qIENvcHlyaWdodCAoYykgMjAxNS0yMDE4IEphbiBTb3JnYWxsYTsgTGljZW5zZWQgTUlUICovXG4ubGl0eSB7XG4gIHotaW5kZXg6IDk5OTA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kOiAjMGIwYjBiO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlOyB9XG5cbi5saXR5LmxpdHktb3BlbmVkIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4ubGl0eS5saXR5LWNsb3NlZCB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmxpdHkgKiB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5saXR5LXdyYXAge1xuICB6LWluZGV4OiA5OTkwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmxpdHktd3JhcDpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogLTAuMjVlbTsgfVxuXG4ubGl0eS1sb2FkZXIge1xuICB6LWluZGV4OiA5OTkxO1xuICBjb2xvcjogI2ZmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTAuOGVtO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7IH1cblxuLmxpdHktbG9hZGluZyAubGl0eS1sb2FkZXIge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5saXR5LWNvbnRhaW5lciB7XG4gIHotaW5kZXg6IDk5OTI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ubGl0eS1jb250ZW50IHtcbiAgei1pbmRleDogOTk5MztcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZSwgLW8tdHJhbnNmb3JtIDAuM3MgZWFzZTsgfVxuXG4ubGl0eS1sb2FkaW5nIC5saXR5LWNvbnRlbnQsXG4ubGl0eS1jbG9zZWQgLmxpdHktY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAtby10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC44KTsgfVxuXG4ubGl0eS1jb250ZW50OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICByaWdodDogMDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgei1pbmRleDogLTE7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG5cbi5saXR5LWNsb3NlIHtcbiAgei1pbmRleDogOTk5NDtcbiAgd2lkdGg6IDM1cHg7XG4gIGhlaWdodDogMzVweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlO1xuICBsaW5lLWhlaWdodDogMzVweDtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5saXR5LWNsb3NlOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5saXR5LWNsb3NlOmhvdmVyLFxuLmxpdHktY2xvc2U6Zm9jdXMsXG4ubGl0eS1jbG9zZTphY3RpdmUsXG4ubGl0eS1jbG9zZTp2aXNpdGVkIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlO1xuICBsaW5lLWhlaWdodDogMzVweDtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5saXR5LWNsb3NlOmFjdGl2ZSB7XG4gIHRvcDogMXB4OyB9XG5cbi8qIEltYWdlICovXG4ubGl0eS1pbWFnZSBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qIGlGcmFtZSAqL1xuLmxpdHktaWZyYW1lIC5saXR5LWNvbnRhaW5lcixcbi5saXR5LXlvdXR1YmUgLmxpdHktY29udGFpbmVyLFxuLmxpdHktdmltZW8gLmxpdHktY29udGFpbmVyLFxuLmxpdHktZmFjZWJvb2t2aWRlbyAubGl0eS1jb250YWluZXIsXG4ubGl0eS1nb29nbGVtYXBzIC5saXR5LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDk2NHB4OyB9XG5cbi5saXR5LWlmcmFtZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLXRvcDogNTYuMjUlO1xuICBvdmVyZmxvdzogYXV0bztcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG4ubGl0eS1pZnJhbWUtY29udGFpbmVyIGlmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLmxpdHktaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqXHJcbiAqIFN3aXBlciAzLjQuMlxyXG4gKiBNb3N0IG1vZGVybiBtb2JpbGUgdG91Y2ggc2xpZGVyIGFuZCBmcmFtZXdvcmsgd2l0aCBoYXJkd2FyZSBhY2NlbGVyYXRlZCB0cmFuc2l0aW9uc1xyXG4gKiBcclxuICogaHR0cDovL3d3dy5pZGFuZ2Vyby51cy9zd2lwZXIvXHJcbiAqIFxyXG4gKiBDb3B5cmlnaHQgMjAxNywgVmxhZGltaXIgS2hhcmxhbXBpZGlcclxuICogVGhlIGlEYW5nZXJvLnVzXHJcbiAqIGh0dHA6Ly93d3cuaWRhbmdlcm8udXMvXHJcbiAqIFxyXG4gKiBMaWNlbnNlZCB1bmRlciBNSVRcclxuICogXHJcbiAqIFJlbGVhc2VkIG9uOiBNYXJjaCAxMCwgMjAxN1xyXG4gKi9cbi5zd2lwZXItY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXG4gIHotaW5kZXg6IDE7IH1cblxuLnN3aXBlci1jb250YWluZXItbm8tZmxleGJveCAuc3dpcGVyLXNsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5zd2lwZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IC1tb3otdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiAtby10cmFuc2Zvcm07XG4gIC1tcy10cmFuc2l0aW9uLXByb3BlcnR5OiAtbXMtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAwcHgpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7IH1cblxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1saW5lczogbXVsdGlwbGU7XG4gIC1tb3otYm94LWxpbmVzOiBtdWx0aXBsZTtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW1vei10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIC1tcy10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uc3dpcGVyLXNsaWRlIHtcbiAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcbiAgLW1zLWZsZXg6IDAgMCBhdXRvO1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qIEF1dG8gSGVpZ2h0ICovXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LFxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRlIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtLCBoZWlnaHQ7XG4gIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1vei10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IC1vLXRyYW5zZm9ybTtcbiAgLW1zLXRyYW5zaXRpb24tcHJvcGVydHk6IC1tcy10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0OyB9XG5cbi8qIGExMXkgKi9cbi5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAtMTAwMDsgfVxuXG4vKiBJRTEwIFdpbmRvd3MgUGhvbmUgOCBGaXhlcyAqL1xuLnN3aXBlci13cDgtaG9yaXpvbnRhbCB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15OyB9XG5cbi5zd2lwZXItd3A4LXZlcnRpY2FsIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXg7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXg7IH1cblxuLyogQXJyb3dzICovXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHotaW5kZXg6IDEwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC1tb3otYmFja2dyb3VuZC1zaXplOiAyN3B4IDQ0cHg7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiAyN3B4IDQ0cHg7XG4gIGJhY2tncm91bmQtc2l6ZTogMjdweCA0NHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCxcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMTU7XG4gIGN1cnNvcjogYXV0bztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgbGVmdDogMHB4O1xuICByaWdodDogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFjayxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dCxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgcmlnaHQ6IDBweDtcbiAgbGVmdDogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1ibGFjayxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLyogUGFnaW5hdGlvbiBTdHlsZXMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDMwMG1zO1xuICAtbW96LXRyYW5zaXRpb246IDMwMG1zO1xuICAtby10cmFuc2l0aW9uOiAzMDBtcztcbiAgdHJhbnNpdGlvbjogMzAwbXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW4ge1xuICBvcGFjaXR5OiAwOyB9XG5cbi8qIENvbW1vbiBTdHlsZXMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbixcbi5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIEJ1bGxldHMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjRkZGO1xuICBvcGFjaXR5OiAwLjU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzOyB9XG5cbmJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAtbXMtYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1jbGlja2FibGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kOiAjMDA3YWZmOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgcmlnaHQ6IDEwcHg7XG4gIHRvcDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDVweCAwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogMCA1cHg7IH1cblxuLyogUHJvZ3Jlc3MgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3MgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgYmFja2dyb3VuZDogIzAwN2FmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIC1vLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLW8tdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3MgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAtby10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3Mge1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3Muc3dpcGVyLXBhZ2luYXRpb24td2hpdGUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLyogM0QgQ29udGFpbmVyICovXG4uc3dpcGVyLWNvbnRhaW5lci0zZCB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgLW1vei1wZXJzcGVjdGl2ZTogMTIwMHB4O1xuICAtby1wZXJzcGVjdGl2ZTogMTIwMHB4O1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItd3JhcHBlcixcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAtbW96LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIC1tcy10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTA7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgLyogU2FmYXJpIDQrLCBDaHJvbWUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIENocm9tZSAxMCssIFNhZmFyaSA1LjErLCBpT1MgNSsgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQocmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIEZpcmVmb3ggMy42LTE1ICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogT3BlcmEgMTEuMTAtMTIuMDAgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIEZpcmVmb3ggMTYrLCBJRTEwLCBPcGVyYSAxMi41MCsgKi8gfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCByaWdodCB0b3AsIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgLyogU2FmYXJpIDQrLCBDaHJvbWUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogQ2hyb21lIDEwKywgU2FmYXJpIDUuMSssIGlPUyA1KyAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBGaXJlZm94IDMuNi0xNSAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogT3BlcmEgMTEuMTAtMTIuMDAgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBGaXJlZm94IDE2KywgSUUxMCwgT3BlcmEgMTIuNTArICovIH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byhyZ2JhKDAsIDAsIDAsIDApKSk7XG4gIC8qIFNhZmFyaSA0KywgQ2hyb21lICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogQ2hyb21lIDEwKywgU2FmYXJpIDUuMSssIGlPUyA1KyAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIEZpcmVmb3ggMy42LTE1ICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIE9wZXJhIDExLjEwLTEyLjAwICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIEZpcmVmb3ggMTYrLCBJRTEwLCBPcGVyYSAxMi41MCsgKi8gfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgLyogU2FmYXJpIDQrLCBDaHJvbWUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBDaHJvbWUgMTArLCBTYWZhcmkgNS4xKywgaU9TIDUrICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogRmlyZWZveCAzLjYtMTUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogT3BlcmEgMTEuMTAtMTIuMDAgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogRmlyZWZveCAxNissIElFMTAsIE9wZXJhIDEyLjUwKyAqLyB9XG5cbi8qIENvdmVyZmxvdyAqL1xuLnN3aXBlci1jb250YWluZXItY292ZXJmbG93IC5zd2lwZXItd3JhcHBlcixcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci13cmFwcGVyIHtcbiAgLyogV2luZG93cyA4IElFIDEwIGZpeCAqL1xuICAtbXMtcGVyc3BlY3RpdmU6IDEyMDBweDsgfVxuXG4vKiBDdWJlICsgRmxpcCAqL1xuLnN3aXBlci1jb250YWluZXItY3ViZSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgei1pbmRleDogMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLyogQ3ViZSAqL1xuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItc2xpZGUge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtcHJldixcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0ICsgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IDAuNjtcbiAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNTBweCk7XG4gIGZpbHRlcjogYmx1cig1MHB4KTtcbiAgei1pbmRleDogMDsgfVxuXG4vKiBGYWRlICovXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlIC5zd2lwZXItc2xpZGUge1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW1vei10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIC1tcy10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci16b29tLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtbW96LWJveC1wYWNrOiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIC1tb3otYm94LWFsaWduOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBpbWcsXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gc3ZnLFxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGNhbnZhcyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuXG4vKiBTY3JvbGxiYXIgKi9cbi5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxJTtcbiAgYm90dG9tOiAzcHg7XG4gIHotaW5kZXg6IDUwO1xuICBoZWlnaHQ6IDVweDtcbiAgd2lkdGg6IDk4JTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogM3B4O1xuICB0b3A6IDElO1xuICB6LWluZGV4OiA1MDtcbiAgd2lkdGg6IDVweDtcbiAgaGVpZ2h0OiA5OCU7IH1cblxuLnN3aXBlci1zY3JvbGxiYXItZHJhZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnN3aXBlci1zY3JvbGxiYXItY3Vyc29yLWRyYWcge1xuICBjdXJzb3I6IG1vdmU7IH1cblxuLyogUHJlbG9hZGVyICovXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcbiAgd2lkdGg6IDQycHg7XG4gIGhlaWdodDogNDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIxcHg7XG4gIG1hcmdpbi10b3A6IC0yMXB4O1xuICB6LWluZGV4OiAtMTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XG4gIC1tb3otYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlOyB9XG5cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXI6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIwdmlld0JveCUzRCcwJTIwMCUyMDEyMCUyMDEyMCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIweG1sbnMlM0F4bGluayUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayclM0UlM0NkZWZzJTNFJTNDbGluZSUyMGlkJTNEJ2wnJTIweDElM0QnNjAnJTIweDIlM0QnNjAnJTIweTElM0QnNyclMjB5MiUzRCcyNyclMjBzdHJva2UlM0QnJTIzNmM2YzZjJyUyMHN0cm9rZS13aWR0aCUzRCcxMSclMjBzdHJva2UtbGluZWNhcCUzRCdyb3VuZCclMkYlM0UlM0MlMkZkZWZzJTNFJTNDZyUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDYwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg5MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTIwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxNTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4zNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE4MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjQ2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjEwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNTYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy42NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI3MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjc1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuODUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMzAlMjA2MCUyQzYwKSclMkYlM0UlM0MlMkZnJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLnN3aXBlci1sYXp5LXByZWxvYWRlci13aGl0ZTphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxMjAlMjAxMjAnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHhtbG5zJTNBeGxpbmslM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmsnJTNFJTNDZGVmcyUzRSUzQ2xpbmUlMjBpZCUzRCdsJyUyMHgxJTNEJzYwJyUyMHgyJTNEJzYwJyUyMHkxJTNEJzcnJTIweTIlM0QnMjcnJTIwc3Ryb2tlJTNEJyUyM2ZmZiclMjBzdHJva2Utd2lkdGglM0QnMTEnJTIwc3Ryb2tlLWxpbmVjYXAlM0Qncm91bmQnJTJGJTNFJTNDJTJGZGVmcyUzRSUzQ2clM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg2MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoOTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDEyMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTUwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMzcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxODAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy40NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDIxMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjU2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjQwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNjYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy43NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjg1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzMwJTIwNjAlMkM2MCknJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW4ge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCA4LCAxNiwgMC4xNSk7XG4gIGNvbG9yOiAjMjYzMjNkO1xuICBib3gtc2hhZG93OiAwIDNweCAxNHB4IC0wLjVweCByZ2JhKDAsIDgsIDE2LCAwLjA4KTsgfVxuXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWUgLnRpcHB5LWJhY2tkcm9wIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWUgLnRpcHB5LWFycm93OmFmdGVyLFxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lIC50aXBweS1hcnJvdzpiZWZvcmUsXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWUgLnRpcHB5LXJvdW5kYXJyb3c6YWZ0ZXIsXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWUgLnRpcHB5LXJvdW5kYXJyb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTsgfVxuXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWUgLnRpcHB5LXJvdW5kYXJyb3cge1xuICBmaWxsOiAjZmZmOyB9XG5cbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZSAudGlwcHktcm91bmRhcnJvdzphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUJqYkdsd0xYSjFiR1U5SW1WMlpXNXZaR1FpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ2MzUnliMnRsTFd4cGJtVnFiMmx1UFNKeWIzVnVaQ0lnYzNSeWIydGxMVzFwZEdWeWJHbHRhWFE5SWpFdU5ERTBJaUIyYVdWM1FtOTRQU0l3SURBZ01UZ2dOeUlnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JajQ4Y0dGMGFDQmtQU0pOTUNBM2N6SXVNREl4TFM0d01UVWdOUzR5TlRNdE5DNHlNVGhETmk0MU9EUWdNUzR3TlRFZ055NDNPVGN1TURBM0lEa2dNR014TGpJd015MHVNREEzSURJdU5ERTJJREV1TURNMUlETXVOell4SURJdU56Z3lRekUyTGpBeE1pQTNMakF3TlNBeE9DQTNJREU0SURkNklpQm1hV3hzUFNJak16TXpJaUJtYVd4c0xXOXdZV05wZEhrOUlpNHlNelVpSUdacGJHd3RjblZzWlQwaWJtOXVlbVZ5YnlJdlBqd3ZjM1puUGc9PSk7XG4gIGJhY2tncm91bmQtc2l6ZTogMThweCA3cHg7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDdweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBmaWxsOiByZ2JhKDAsIDgsIDE2LCAwLjE1KTsgfVxuXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWVbeC1wbGFjZW1lbnRePVwidG9wXCJdIC50aXBweS1yb3VuZGFycm93OmFmdGVyIHtcbiAgdG9wOiAxcHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWVbeC1wbGFjZW1lbnRePVwidG9wXCJdIC50aXBweS1hcnJvdyB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNmZmY7IH1cblxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lW3gtcGxhY2VtZW50Xj1cInRvcFwiXSAudGlwcHktYXJyb3c6YWZ0ZXIge1xuICBib3JkZXItdG9wOiA3cHggc29saWQgI2ZmZjtcbiAgdG9wOiAtN3B4OyB9XG5cbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJ0b3BcIl0gLnRpcHB5LWFycm93OmJlZm9yZSB7XG4gIGJvcmRlci10b3A6IDdweCBzb2xpZCByZ2JhKDAsIDgsIDE2LCAwLjIpO1xuICBib3R0b206IC0xcHg7IH1cblxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSAudGlwcHktcm91bmRhcnJvdzphZnRlciB7XG4gIHRvcDogLTFweDsgfVxuXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWVbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIC50aXBweS1hcnJvdyB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7IH1cblxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSAudGlwcHktYXJyb3c6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tOiA3cHggc29saWQgI2ZmZjtcbiAgYm90dG9tOiAtN3B4OyB9XG5cbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJib3R0b21cIl0gLnRpcHB5LWFycm93OmJlZm9yZSB7XG4gIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCByZ2JhKDAsIDgsIDE2LCAwLjIpO1xuICBib3R0b206IC02cHg7IH1cblxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0gLnRpcHB5LXJvdW5kYXJyb3c6YWZ0ZXIge1xuICBsZWZ0OiAxcHg7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG5cbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC50aXBweS1hcnJvdyB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjZmZmOyB9XG5cbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC50aXBweS1hcnJvdzphZnRlciB7XG4gIGJvcmRlci1sZWZ0OiA3cHggc29saWQgI2ZmZjtcbiAgbGVmdDogLTdweDsgfVxuXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWVbeC1wbGFjZW1lbnRePVwibGVmdFwiXSAudGlwcHktYXJyb3c6YmVmb3JlIHtcbiAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCByZ2JhKDAsIDgsIDE2LCAwLjIpO1xuICBsZWZ0OiAtNnB4OyB9XG5cbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJyaWdodFwiXSAudGlwcHktcm91bmRhcnJvdzphZnRlciB7XG4gIGxlZnQ6IC0xcHg7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsgfVxuXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWVbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0gLnRpcHB5LWFycm93IHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmOyB9XG5cbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJyaWdodFwiXSAudGlwcHktYXJyb3c6YWZ0ZXIge1xuICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCAjZmZmO1xuICByaWdodDogLTdweDsgfVxuXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWVbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0gLnRpcHB5LWFycm93OmJlZm9yZSB7XG4gIGJvcmRlci1yaWdodDogN3B4IHNvbGlkIHJnYmEoMCwgOCwgMTYsIDAuMik7XG4gIHJpZ2h0OiAtNnB4OyB9XG5cbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJib3R0b21cIl0gLnRpcHB5LWFycm93LFxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSAudGlwcHktcm91bmRhcnJvdyxcbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJ0b3BcIl0gLnRpcHB5LWFycm93LFxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lW3gtcGxhY2VtZW50Xj1cInRvcFwiXSAudGlwcHktcm91bmRhcnJvdyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KTsgfVxuXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWVbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIC50aXBweS1hcnJvdzphZnRlcixcbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJib3R0b21cIl0gLnRpcHB5LWFycm93OmJlZm9yZSxcbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJ0b3BcIl0gLnRpcHB5LWFycm93OmFmdGVyLFxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lW3gtcGxhY2VtZW50Xj1cInRvcFwiXSAudGlwcHktYXJyb3c6YmVmb3JlIHtcbiAgbGVmdDogLTdweDtcbiAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0gLnRpcHB5LWFycm93LFxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0gLnRpcHB5LXJvdW5kYXJyb3csXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWVbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0gLnRpcHB5LWFycm93LFxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIC50aXBweS1yb3VuZGFycm93IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOyB9XG5cbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC50aXBweS1hcnJvdzphZnRlcixcbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC50aXBweS1hcnJvdzpiZWZvcmUsXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWVbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0gLnRpcHB5LWFycm93OmFmdGVyLFxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIC50aXBweS1hcnJvdzpiZWZvcmUge1xuICB0b3A6IC03cHg7XG4gIGJvcmRlci10b3A6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cbi5maWxtLWdyaWRfX3RpdGxlLCAuZmlsbS1ncmlkX19kZXNjIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cblxuLmhhcy10b3VjaCAuc2Vzc2lvbnNfX2RhdGVzIHtcbiAgLyogRmlyZWZveCAqL1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIHNjcm9sbGJhci1oZWlnaHQ6IG5vbmU7XG4gIC8qIElFIDEwKyAqL1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IH1cbiAgLmhhcy10b3VjaCAuc2Vzc2lvbnNfX2RhdGVzOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwOyB9XG5cbi51LWFjY2Vzc2liaWxpdHksIC5za2lwLXRvLWNvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xMDAwMHB4O1xuICB0b3A6IGF1dG87XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi51LWxpbmUtYnJlYWs6YWZ0ZXIge1xuICBjb250ZW50OiAnXFxBJztcbiAgd2hpdGUtc3BhY2U6IHByZTsgfVxuXG4udS1jbGVhcmZpeDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG4ubC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMTlweCkge1xuICAgIC5sLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgICAubC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMTgwcHg7IH0gfVxuXG4ubC1ndXR0ZXJzIHtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAkbC1wYWQ7XHJcbiAgICB9XHJcbiAgICAqLyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAubC1tb2JpbGUtZnVsbC13aWR0aCwgLmZpbG0tZ3JpZF9fdGh1bWIsIC5wcm9tb3NfX2ltZy1saW5rLCAuc2NoZWR1bGVfX2hyLS1tb2ItZnVsbCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTIwcHg7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFuaW0tc2hha2UtZnJhbWVzIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDJweCwgMXB4KSByb3RhdGUoMGRlZyk7IH1cbiAgMTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMXB4LCAtMnB4KSByb3RhdGUoLTFkZWcpOyB9XG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTNweCwgMHB4KSByb3RhdGUoMWRlZyk7IH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDJweCkgcm90YXRlKDBkZWcpOyB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAtMXB4KSByb3RhdGUoMWRlZyk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMXB4LCAycHgpIHJvdGF0ZSgtMWRlZyk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtM3B4LCAxcHgpIHJvdGF0ZSgwZGVnKTsgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDJweCwgMXB4KSByb3RhdGUoLTFkZWcpOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTFweCwgLTFweCkgcm90YXRlKDFkZWcpOyB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMnB4LCAycHgpIHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIC0ycHgpIHJvdGF0ZSgtMWRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFuaW0tcmFkaWFsLXB1bHNlIHtcbiAgMCUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDBweCByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbiAgMTAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMzBweCByZ2JhKDAsIDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBhbmltLXNwaW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5mb3JtLmZvcm0taW52YWxpZCAuaXMtaW52YWxpZCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBhbmltLXNoYWtlLWZyYW1lcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjRzO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cblxuLmgxLCAud3lzaXd5ZyBoMSwgLmZpbG1fX3d5c2l3eWcgaDEsIC5oMiwgLnd5c2l3eWcgaDIsIC5maWxtX193eXNpd3lnIGgyLCAuaDMsIC5maWxtLWdyaWRfX3RpdGxlLCAucGxhbm5lcl9fYWNjb3VudC1oZWFkaW5nLCAucHJvbW9zX19oZWFkaW5nLCAud3lzaXd5ZyBoMywgLmZpbG1fX3d5c2l3eWcgaDMsIC5zdWJzY3JpYmVfX2hlYWRpbmcsIC52b3RlX19mZWVkYmFjay1oZWFkaW5nLCAuaDQsIC5zZWFyY2gtcmVzdWx0c19faGVhZGluZywgLnd5c2l3eWcgaDQsIC5maWxtX193eXNpd3lnIGg0LCAuaDUsIC5wYWdpbmF0aW9uX19wYWdlLCAuZWVmIC5zY2hlZHVsZV9fZmlsdGVyLWJ5LWhlYWRpbmcsIC5qaWYgLnNjaGVkdWxlX19maWx0ZXItYnktaGVhZGluZywgLnd5c2l3eWcgaDUsIC5maWxtX193eXNpd3lnIGg1LCAuaDYsIC5maWxtX190cmFpbGVyLWJ0biwgLmZpbG1fX2luZm8taGVhZGluZywgLmZpbG0tZ3JpZF9feWVhciwgLmZpbG0tZ3JpZF9fY291bnRyaWVzLCAuZmZhIC5zY2hlZHVsZV9fZmlsdGVyLWJ5LWhlYWRpbmcsIC5zY2hlZHVsZV9fZmlsdGVycy1oZWFkaW5nLCAud3lzaXd5ZyBoNiwgLmZpbG1fX3d5c2l3eWcgaDYsIC5mb3JtX19maWVsZC1lcnJvciwgLmJ0biwgLnBpa2EtcHJldixcbi5waWthLW5leHQsIC5maWxtX19ib29rLWJ0biwgLmZpbG1fX3ZvdGUtYnRuLCAucGFnaW5hdGlvbl9fcHJldixcbi5wYWdpbmF0aW9uX19uZXh0LCAucGxhbm5lcl9fc3VibWl0LWJ0biwgLnBsYW5uZXJfX2ZhY2Vib29rLWJ0biwgLnNjaGVkdWxlX19hcHBseS1maWx0ZXJzLCAuY2FsZW5kYXIsIC5maWxtX190aXRsZSwgLnZvdGluZy1ibG9ja19faGVhZGluZywgLmZpbG0tZ3JpZF9fdm90ZSwgLmZvb3Rlcl9fbGlua3MsIC5uYXYtc3RpY2t5X19wbGFubmVyLWxhYmVsLCAubmF2LXN0YXRpY19fbGluaywgLm5hdi1kcm9wX19saW5rLCAuc2VhcmNoLXJlc3VsdHNfX3RpdGxlLCAuc2VhcmNoLXJlc3VsdHNfX25vLXJlc3VsdHMsIC5wbGFubmVyX19oZWFkaW5nLCAucGxhbm5lcl9fZmFjZWJvb2stdXNlci1uby1wdy1lcnJvciwgLnNjaGVkdWxlX190eXBlcyA+IGJ1dHRvbiwgLnNjaGVkdWxlX19kYXRlLCAuc2Vzc2lvbnNfX2RhdGVzIGJ1dHRvbiwgLnNlc3Npb25zX19saXN0IGxpID4gYnV0dG9uLFxuLnNlc3Npb25zX19saXN0IGxpID4gYSwgLnNlc3Npb25zX19hdHRyaWJ1dGUsIC52b3RpbmdfX2hlYWRpbmcge1xuICBmb250LWZhbWlseTogJ3BvbGFyaXMtYm9sZCc7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmJvZHksIC5wbGFubmVyX19mb3Jnb3QtcHcge1xuICBmb250LWZhbWlseTogJ2FudHdlcnAnO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwicG9sYXJpcy1ib2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvamlmZi9wb2xhcmlzLWJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2ppZmYvcG9sYXJpcy1ib2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJhbnR3ZXJwXCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvamlmZi9hbnR3ZXJwLXJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImFudHdlcnBcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9qaWZmL2FudHdlcnAtcmVndWxhci1pdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImFudHdlcnBcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9qaWZmL2FudHdlcnAtc2VtaWJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaWNvbW9vbi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5bY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0sXG4uaWNvbixcbi5uYXYtc3RpY2t5X19wbGFubmVyLWljb24sXG4ucGxhbm5lcl9faWNvbiB7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG4gIGJ1dHRvbiBbY2xhc3NePVwiaWNvbi1cIl0sIGJ1dHRvbiBbY2xhc3MqPVwiIGljb24tXCJdLCBidXR0b24gLmljb24sIGJ1dHRvbiAubmF2LXN0aWNreV9fcGxhbm5lci1pY29uLCBidXR0b24gLnBsYW5uZXJfX2ljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5pY29uLWluZm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDJcIjsgfVxuXG4uaWNvbi1sb2NhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNFwiOyB9XG5cbi5pY29uLXNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwMFwiOyB9XG5cbi5pY29uLWhhbWJ1cmdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwMVwiOyB9XG5cbi5pY29uLWNob29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjA0XCI7IH1cblxuLmljb24tc29jaWFsLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBhXCI7IH1cblxuLmljb24tc29jaWFsLWZhY2Vib29rMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwOVwiOyB9XG5cbi5pY29uLXNvY2lhbC1lbWFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwYlwiOyB9XG5cbi5pY29uLXNvY2lhbC1nb29nbGVwbHVzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE4YlwiOyB9XG5cbi5pY29uLXNvY2lhbC1nb29nbGVwbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODBhXCI7IH1cblxuLmljb24tc29jaWFsLXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MGRcIjsgfVxuXG4uaWNvbi1zb2NpYWwtd2hhdHNhcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDBcIjsgfVxuXG4uaWNvbi1zb2NpYWwtcGludGVyZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAxXCI7IH1cblxuLmljb24tc29jaWFsLWluc3RhZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE5MlwiOyB9XG5cbi5pY29uLXNvY2lhbC12aW1lbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFhMFwiOyB9XG5cbi5pY29uLWNsb3NlLWxpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAzXCI7IH1cblxuLmljb24tY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MDJcIjsgfVxuXG4uaWNvbi1hcnJvdy1yaWdodC1saWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNVwiOyB9XG5cbi5pY29uLWFycm93LWxlZnQtbGlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDZcIjsgfVxuXG4uaWNvbi1hcnJvdy1kb3duLWxpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA3XCI7IH1cblxuLmljb24tYXJyb3ctdXAtbGlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDhcIjsgfVxuXG4uaWNvbi1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjA1XCI7IH1cblxuLmljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MDZcIjsgfVxuXG4uaWNvbi1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjA3XCI7IH1cblxuLmljb24tYXJyb3ctdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MDhcIjsgfVxuXG4uaWNvbi1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA5XCI7IH1cblxuLmljb24tY2FsZW5kYXI6YmVmb3JlLCAubmF2LXN0aWNreV9fcGxhbm5lci1pY29uOmJlZm9yZSwgLnBsYW5uZXJfX2ljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGJcIjsgfVxuXG5ib2R5IHtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGNvbG9yOiBibGFjaztcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbmhyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjM4LCAxNzUsIDExNSwgMC4xKTtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgbWFyZ2luOiAzMHB4IDA7IH1cblxuLmgxLCAud3lzaXd5ZyBoMSwgLmZpbG1fX3d5c2l3eWcgaDEsIC5oMiwgLnd5c2l3eWcgaDIsIC5maWxtX193eXNpd3lnIGgyLCAuaDMsIC5maWxtLWdyaWRfX3RpdGxlLCAucGxhbm5lcl9fYWNjb3VudC1oZWFkaW5nLCAucHJvbW9zX19oZWFkaW5nLCAud3lzaXd5ZyBoMywgLmZpbG1fX3d5c2l3eWcgaDMsIC5zdWJzY3JpYmVfX2hlYWRpbmcsIC52b3RlX19mZWVkYmFjay1oZWFkaW5nLCAuaDQsIC5zZWFyY2gtcmVzdWx0c19faGVhZGluZywgLnd5c2l3eWcgaDQsIC5maWxtX193eXNpd3lnIGg0LCAuaDUsIC5wYWdpbmF0aW9uX19wYWdlLCAuZWVmIC5zY2hlZHVsZV9fZmlsdGVyLWJ5LWhlYWRpbmcsIC5qaWYgLnNjaGVkdWxlX19maWx0ZXItYnktaGVhZGluZywgLnd5c2l3eWcgaDUsIC5maWxtX193eXNpd3lnIGg1LCAuaDYsIC5maWxtX190cmFpbGVyLWJ0biwgLmZpbG1fX2luZm8taGVhZGluZywgLmZpbG0tZ3JpZF9feWVhciwgLmZpbG0tZ3JpZF9fY291bnRyaWVzLCAuZmZhIC5zY2hlZHVsZV9fZmlsdGVyLWJ5LWhlYWRpbmcsIC5zY2hlZHVsZV9fZmlsdGVycy1oZWFkaW5nLCAud3lzaXd5ZyBoNiwgLmZpbG1fX3d5c2l3eWcgaDYge1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAuaDEuanMtZml0dHksIC53eXNpd3lnIGgxLmpzLWZpdHR5LCAuZmlsbV9fd3lzaXd5ZyBoMS5qcy1maXR0eSwgLmgyLmpzLWZpdHR5LCAud3lzaXd5ZyBoMi5qcy1maXR0eSwgLmZpbG1fX3d5c2l3eWcgaDIuanMtZml0dHksIC5oMy5qcy1maXR0eSwgLmpzLWZpdHR5LmZpbG0tZ3JpZF9fdGl0bGUsIC5qcy1maXR0eS5wbGFubmVyX19hY2NvdW50LWhlYWRpbmcsIC5qcy1maXR0eS5wcm9tb3NfX2hlYWRpbmcsIC53eXNpd3lnIGgzLmpzLWZpdHR5LCAuZmlsbV9fd3lzaXd5ZyBoMy5qcy1maXR0eSwgLmpzLWZpdHR5LnN1YnNjcmliZV9faGVhZGluZywgLmpzLWZpdHR5LnZvdGVfX2ZlZWRiYWNrLWhlYWRpbmcsIC5oNC5qcy1maXR0eSwgLmpzLWZpdHR5LnNlYXJjaC1yZXN1bHRzX19oZWFkaW5nLCAud3lzaXd5ZyBoNC5qcy1maXR0eSwgLmZpbG1fX3d5c2l3eWcgaDQuanMtZml0dHksIC5oNS5qcy1maXR0eSwgLmpzLWZpdHR5LnBhZ2luYXRpb25fX3BhZ2UsIC5lZWYgLmpzLWZpdHR5LnNjaGVkdWxlX19maWx0ZXItYnktaGVhZGluZywgLmppZiAuanMtZml0dHkuc2NoZWR1bGVfX2ZpbHRlci1ieS1oZWFkaW5nLCAud3lzaXd5ZyBoNS5qcy1maXR0eSwgLmZpbG1fX3d5c2l3eWcgaDUuanMtZml0dHksIC5oNi5qcy1maXR0eSwgLmpzLWZpdHR5LmZpbG1fX3RyYWlsZXItYnRuLCAuanMtZml0dHkuZmlsbV9faW5mby1oZWFkaW5nLCAuanMtZml0dHkuZmlsbS1ncmlkX195ZWFyLCAuanMtZml0dHkuZmlsbS1ncmlkX19jb3VudHJpZXMsIC5mZmEgLmpzLWZpdHR5LnNjaGVkdWxlX19maWx0ZXItYnktaGVhZGluZywgLmpzLWZpdHR5LnNjaGVkdWxlX19maWx0ZXJzLWhlYWRpbmcsIC53eXNpd3lnIGg2LmpzLWZpdHR5LCAuZmlsbV9fd3lzaXd5ZyBoNi5qcy1maXR0eSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uaDEsIC53eXNpd3lnIGgxLCAuZmlsbV9fd3lzaXd5ZyBoMSB7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTsgfVxuXG4uaDIsIC53eXNpd3lnIGgyLCAuZmlsbV9fd3lzaXd5ZyBoMiB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzM7IH1cblxuLmgzLCAuZmlsbS1ncmlkX190aXRsZSwgLnBsYW5uZXJfX2FjY291bnQtaGVhZGluZywgLnByb21vc19faGVhZGluZywgLnd5c2l3eWcgaDMsIC5maWxtX193eXNpd3lnIGgzLCAuc3Vic2NyaWJlX19oZWFkaW5nLCAudm90ZV9fZmVlZGJhY2staGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uaDQsIC5zZWFyY2gtcmVzdWx0c19faGVhZGluZywgLnd5c2l3eWcgaDQsIC5maWxtX193eXNpd3lnIGg0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS43ODsgfVxuXG4uaDUsIC5wYWdpbmF0aW9uX19wYWdlLCAuZWVmIC5zY2hlZHVsZV9fZmlsdGVyLWJ5LWhlYWRpbmcsIC5qaWYgLnNjaGVkdWxlX19maWx0ZXItYnktaGVhZGluZywgLnd5c2l3eWcgaDUsIC5maWxtX193eXNpd3lnIGg1IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4uaDYsIC5maWxtX190cmFpbGVyLWJ0biwgLmZpbG1fX2luZm8taGVhZGluZywgLmZpbG0tZ3JpZF9feWVhciwgLmZpbG0tZ3JpZF9fY291bnRyaWVzLCAuZmZhIC5zY2hlZHVsZV9fZmlsdGVyLWJ5LWhlYWRpbmcsIC5zY2hlZHVsZV9fZmlsdGVycy1oZWFkaW5nLCAud3lzaXd5ZyBoNiwgLmZpbG1fX3d5c2l3eWcgaDYge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzOyB9XG5cbi5wLCAucHJvbW9zX19kZXNjLCAud3lzaXd5ZyBwLCAuZmlsbV9fd3lzaXd5ZyBwLCAuc3Vic2NyaWJlX19kZXNjIHtcbiAgbGluZS1oZWlnaHQ6IDEuN2VtO1xuICBmb250LXNpemU6IDE4cHg7XG4gIG1hcmdpbi1ib3R0b206IDEuNGVtOyB9XG4gIC5wIHN0cm9uZywgLnByb21vc19fZGVzYyBzdHJvbmcsIC53eXNpd3lnIHAgc3Ryb25nLCAuZmlsbV9fd3lzaXd5ZyBwIHN0cm9uZywgLnN1YnNjcmliZV9fZGVzYyBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmlucHV0W3R5cGU9dGV4dF0sXG5pbnB1dFt0eXBlPW51bWJlcl0sXG5pbnB1dFt0eXBlPWVtYWlsXSBzZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZm9ybV9fZmllbGQgaW5wdXQsIC5mb3JtX19zZWxlY3Qgc2VsZWN0LCAuZm9ybV9fdGV4dC1hcmVhIHRleHRhcmVhIHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IHNvbGlkIDFweCAjY2NjY2NjO1xuICBwYWRkaW5nOiAxM3B4IDEzcHggOXB4OyB9XG4gIC5mb3JtX19maWVsZCBpbnB1dDo6cGxhY2Vob2xkZXIsIC5mb3JtX19zZWxlY3Qgc2VsZWN0OjpwbGFjZWhvbGRlciwgLmZvcm1fX3RleHQtYXJlYSB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjOWI5YjliOyB9XG5cbi5mb3JtX19maWVsZCxcbi5mb3JtX19zZWxlY3QsXG4uZm9ybV9fY2hlY2tib3gsXG4uZm9ybV9fcmFkaW8sXG4uZm9ybV9fdGV4dC1hcmVhIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAuZm9ybV9fZmllbGQuaXMtaW52YWxpZCxcbiAgLmZvcm1fX3NlbGVjdC5pcy1pbnZhbGlkLFxuICAuZm9ybV9fY2hlY2tib3guaXMtaW52YWxpZCxcbiAgLmZvcm1fX3JhZGlvLmlzLWludmFsaWQsXG4gIC5mb3JtX190ZXh0LWFyZWEuaXMtaW52YWxpZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4OyB9XG5cbi5mb3JtX19maWVsZCBsYWJlbCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5mb3JtX19zZWxlY3Qgc2VsZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC43ZW0gdG9wIDUwJSwgMCAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3NlbGVjdC1hcnJvdy1jaGYuc3ZnKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxNHB4IDhweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiA4cHggMTJweCA3cHggNXB4OyB9XG5cbnNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvcm1fX2ZpZWxkLWxhYmVsLFxuLmZvcm1fX3RleHQtYXJlYS1sYWJlbCxcbi5mb3JtX19jdHJsLWxhYmVsIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogZ3JleTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4uZm9ybV9fZmllbGQtbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTQlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGxlZnQ6IDIwcHg7IH1cbiAgLmhhcy1mb2N1cyAuZm9ybV9fZmllbGQtbGFiZWwsXG4gIC5oYXMtdmFsdWUgLmZvcm1fX2ZpZWxkLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5mb3JtX19zZWxlY3QgLmZvcm1fX2ZpZWxkLWxhYmVsIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uZm9ybV9fdGV4dC1hcmVhLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDZweDsgfVxuXG4uZm9ybV9fY3RybC1sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgbWFyZ2luLXRvcDogMXB4O1xuICBsZWZ0OiAzNHB4OyB9XG5cbi5mb3JtX19jaGVja2JveC1sYWJlbCxcbi5mb3JtX19yYWRpby1sYWJlbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5mb3JtX19jaGVja2JveC1sYWJlbDo6c2VsZWN0aW9uLFxuICAuZm9ybV9fcmFkaW8tbGFiZWw6OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLmZvcm1fX2NoZWNrYm94IGlucHV0ICsgLmZvcm1fX2N0cmwtdWksXG4uZm9ybV9fcmFkaW8gaW5wdXQgKyAuZm9ybV9fY3RybC11aSB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgY29udGVudDogJyc7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6IHNvbGlkIDFweCAjY2NjY2NjOyB9XG4gIC5mb3JtX19jaGVja2JveCBpbnB1dCArIC5mb3JtX19jdHJsLXVpOjphZnRlcixcbiAgLmZvcm1fX3JhZGlvIGlucHV0ICsgLmZvcm1fX2N0cmwtdWk6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7IH1cblxuLmZvcm1fX2NoZWNrYm94IGlucHV0OmZvY3VzICsgLmZvcm1fX2N0cmwtdWksXG4uZm9ybV9fcmFkaW8gaW5wdXQ6Zm9jdXMgKyAuZm9ybV9fY3RybC11aSB7XG4gIGJvcmRlci1jb2xvcjogIzk5OTk5OTsgfVxuXG4uZm9ybV9fY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCArIC5mb3JtX19jdHJsLXVpOjphZnRlcixcbi5mb3JtX19yYWRpbyBpbnB1dDpjaGVja2VkICsgLmZvcm1fX2N0cmwtdWk6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4uZm9ybV9fY2hlY2tib3ggaW5wdXQsXG4uZm9ybV9fcmFkaW8gaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMDsgfVxuXG4uZm9ybV9fY2hlY2tib3ggaW5wdXQgKyAuZm9ybV9fY3RybC11aSB7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAuZm9ybV9fY2hlY2tib3ggaW5wdXQgKyAuZm9ybV9fY3RybC11aTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NDhJVVJQUTFSWlVFVWdjM1puSUZCVlFreEpReUFpTFM4dlZ6TkRMeTlFVkVRZ1UxWkhJREV1TVM4dlJVNGlJQ0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTlIY21Gd2FHbGpjeTlUVmtjdk1TNHhMMFJVUkM5emRtY3hNUzVrZEdRaVBqeHpkbWNnZG1WeWMybHZiajBpTVM0eElpQnBaRDBpVEdGNVpYSmZNU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUI0Yld4dWN6cDRiR2x1YXowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzk0YkdsdWF5SWdlRDBpTUhCNElpQjVQU0l3Y0hnaUlIZHBaSFJvUFNJMk5IQjRJaUJvWldsbmFIUTlJalkwY0hnaUlIWnBaWGRDYjNnOUlqQWdNQ0EyTkNBMk5DSWdaVzVoWW14bExXSmhZMnRuY205MWJtUTlJbTVsZHlBd0lEQWdOalFnTmpRaUlIaHRiRHB6Y0dGalpUMGljSEpsYzJWeWRtVWlQanhuUGp4d2IyeDVaMjl1SUhCdmFXNTBjejBpTVRNdU56QTNMRE15TGpJNU15QXhNaTR5T1RNc016TXVPRFUwSURJMExqSTVNeXcwTmlBeU5TNDNNRGNzTkRZZ05Ea3VOekEzTERJeExqZzFOQ0EwT0M0eU9UTXNNakF1TXpZMklESTFMRFF6TGpZeU15QWlMejQ4TDJjK1BDOXpkbWMrKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB3aWR0aDogMS41ZW07XG4gICAgaGVpZ2h0OiAxLjVlbTsgfVxuXG4uZm9ybV9fcmFkaW8gaW5wdXQgKyAuZm9ybV9fY3RybC11aSB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7IH1cbiAgLmZvcm1fX3JhZGlvIGlucHV0ICsgLmZvcm1fX2N0cmwtdWk6OmFmdGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIG1hcmdpbjogLjRlbTtcbiAgICB3aWR0aDogLjZlbTtcbiAgICBoZWlnaHQ6IC42ZW07IH1cblxuLmZvcm1fX3JhZGlvIGlucHV0OmNoZWNrZWQgKyAuZm9ybV9fY3RybC11aTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjMzMzMzMzOyB9XG5cbi5mb3JtX19iaXJ0aC1kYXRlIHtcbiAgbG9zdC11dGlsaXR5OiBjbGVhcmZpeDsgfVxuICAuZm9ybV9fYmlydGgtZGF0ZSA+IC5mb3JtX19zZWxlY3Qge1xuICAgIGxvc3QtY29sdW1uOiAxLzMgMyAxNXB4OyB9XG5cbi5mb3JtX19iaXJ0aC1kYXRlLWNvbCB7XG4gIGxvc3QtY29sdW1uOiAxLzMgMyAxNXB4OyB9XG5cbi5mb3JtX19maWVsZC1jb3VudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA4cHg7XG4gIHJpZ2h0OiA4cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLmlzLWludmFsaWQgLmZvcm1fX2ZpZWxkLWNvdW50IHtcbiAgICBjb2xvcjogIzQzNjE1MzsgfVxuXG4uZm9ybV9fZmllbGQtZXJyb3Ige1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICM0MzYxNTM7IH1cbiAgLmZvcm1fX2ZpZWxkLWVycm9yIHVsIHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7IH1cblxuLmZvcm1fX2Vycm9yIHtcbiAgY29sb3I6ICM0MzYxNTM7XG4gIG1hcmdpbjogMjBweCAwOyB9XG5cbmJ1dHRvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmJ0bl9fbG9hZGluZy13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBwYWRkaW5nLXJpZ2h0O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBpbmhlcml0O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogaW5oZXJpdDsgfVxuICAuaXMtbG9hZGluZyAuYnRuX19sb2FkaW5nLXdyYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cblxuLmJ0bl9fc3Bpbm5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgcmlnaHQ6IDEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG4gIC5idG4tLWdyb3dzIC5idG5fX3NwaW5uZXIge1xuICAgIHJpZ2h0OiAtOHB4OyB9XG4gIC5pcy1sb2FkaW5nIC5idG5fX3NwaW5uZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxKTtcbiAgICB0cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KTsgfVxuXG4uYnRuLCAucGlrYS1wcmV2LFxuLnBpa2EtbmV4dCwgLmZpbG1fX2Jvb2stYnRuLCAuZmlsbV9fdm90ZS1idG4sIC5wYWdpbmF0aW9uX19wcmV2LFxuLnBhZ2luYXRpb25fX25leHQsIC5wbGFubmVyX19zdWJtaXQtYnRuLCAucGxhbm5lcl9fZmFjZWJvb2stYnRuLCAuc2NoZWR1bGVfX2FwcGx5LWZpbHRlcnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MzYxNTM7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgcGFkZGluZzogMjBweCA0MHB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgLmJ0bltkaXNhYmxlZF0sIC5waWthLXByZXZbZGlzYWJsZWRdLFxuICAucGlrYS1uZXh0W2Rpc2FibGVkXSwgLmZpbG1fX2Jvb2stYnRuW2Rpc2FibGVkXSwgLmZpbG1fX3ZvdGUtYnRuW2Rpc2FibGVkXSwgLnBhZ2luYXRpb25fX3ByZXZbZGlzYWJsZWRdLFxuICAucGFnaW5hdGlvbl9fbmV4dFtkaXNhYmxlZF0sIC5wbGFubmVyX19zdWJtaXQtYnRuW2Rpc2FibGVkXSwgLnBsYW5uZXJfX2ZhY2Vib29rLWJ0bltkaXNhYmxlZF0sIC5zY2hlZHVsZV9fYXBwbHktZmlsdGVyc1tkaXNhYmxlZF0sIC5idG4uaXMtZGlzYWJsZWQsIC5pcy1kaXNhYmxlZC5waWthLXByZXYsXG4gIC5pcy1kaXNhYmxlZC5waWthLW5leHQsIC5pcy1kaXNhYmxlZC5maWxtX19ib29rLWJ0biwgLmlzLWRpc2FibGVkLmZpbG1fX3ZvdGUtYnRuLCAuaXMtZGlzYWJsZWQucGFnaW5hdGlvbl9fcHJldixcbiAgLmlzLWRpc2FibGVkLnBhZ2luYXRpb25fX25leHQsIC5pcy1kaXNhYmxlZC5wbGFubmVyX19zdWJtaXQtYnRuLCAuaXMtZGlzYWJsZWQucGxhbm5lcl9fZmFjZWJvb2stYnRuLCAuaXMtZGlzYWJsZWQuc2NoZWR1bGVfX2FwcGx5LWZpbHRlcnMge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMSwgMTg3LCAxNzksIDAuNzUpICFpbXBvcnRhbnQ7IH1cbiAgLmJ0bi5pcy1sb2FkaW5nLCAuaXMtbG9hZGluZy5waWthLXByZXYsXG4gIC5pcy1sb2FkaW5nLnBpa2EtbmV4dCwgLmlzLWxvYWRpbmcuZmlsbV9fYm9vay1idG4sIC5pcy1sb2FkaW5nLmZpbG1fX3ZvdGUtYnRuLCAuaXMtbG9hZGluZy5wYWdpbmF0aW9uX19wcmV2LFxuICAuaXMtbG9hZGluZy5wYWdpbmF0aW9uX19uZXh0LCAuaXMtbG9hZGluZy5wbGFubmVyX19zdWJtaXQtYnRuLCAuaXMtbG9hZGluZy5wbGFubmVyX19mYWNlYm9vay1idG4sIC5pcy1sb2FkaW5nLnNjaGVkdWxlX19hcHBseS1maWx0ZXJzIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuYnRuLmlzLXNlbGVjdGVkLCAuaXMtc2VsZWN0ZWQucGlrYS1wcmV2LFxuICAuaXMtc2VsZWN0ZWQucGlrYS1uZXh0LCAuaXMtc2VsZWN0ZWQuZmlsbV9fYm9vay1idG4sIC5pcy1zZWxlY3RlZC5maWxtX192b3RlLWJ0biwgLmlzLXNlbGVjdGVkLnBhZ2luYXRpb25fX3ByZXYsXG4gIC5pcy1zZWxlY3RlZC5wYWdpbmF0aW9uX19uZXh0LCAuaXMtc2VsZWN0ZWQucGxhbm5lcl9fc3VibWl0LWJ0biwgLmlzLXNlbGVjdGVkLnBsYW5uZXJfX2ZhY2Vib29rLWJ0biwgLmlzLXNlbGVjdGVkLnNjaGVkdWxlX19hcHBseS1maWx0ZXJzLCAuYnRuOmhvdmVyLCAucGlrYS1wcmV2OmhvdmVyLFxuICAucGlrYS1uZXh0OmhvdmVyLCAuZmlsbV9fYm9vay1idG46aG92ZXIsIC5maWxtX192b3RlLWJ0bjpob3ZlciwgLnBhZ2luYXRpb25fX3ByZXY6aG92ZXIsXG4gIC5wYWdpbmF0aW9uX19uZXh0OmhvdmVyLCAucGxhbm5lcl9fc3VibWl0LWJ0bjpob3ZlciwgLnBsYW5uZXJfX2ZhY2Vib29rLWJ0bjpob3ZlciwgLnNjaGVkdWxlX19hcHBseS1maWx0ZXJzOmhvdmVyLCAuYnRuOmZvY3VzLCAucGlrYS1wcmV2OmZvY3VzLFxuICAucGlrYS1uZXh0OmZvY3VzLCAuZmlsbV9fYm9vay1idG46Zm9jdXMsIC5maWxtX192b3RlLWJ0bjpmb2N1cywgLnBhZ2luYXRpb25fX3ByZXY6Zm9jdXMsXG4gIC5wYWdpbmF0aW9uX19uZXh0OmZvY3VzLCAucGxhbm5lcl9fc3VibWl0LWJ0bjpmb2N1cywgLnBsYW5uZXJfX2ZhY2Vib29rLWJ0bjpmb2N1cywgLnNjaGVkdWxlX19hcHBseS1maWx0ZXJzOmZvY3VzIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZmlsbDogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU4N0Y2QzsgfVxuICAuYnRuLnNtYWxsLCAuc21hbGwucGlrYS1wcmV2LFxuICAuc21hbGwucGlrYS1uZXh0LCAuc21hbGwuZmlsbV9fYm9vay1idG4sIC5zbWFsbC5maWxtX192b3RlLWJ0biwgLnNtYWxsLnBhZ2luYXRpb25fX3ByZXYsXG4gIC5zbWFsbC5wYWdpbmF0aW9uX19uZXh0LCAuc21hbGwucGxhbm5lcl9fc3VibWl0LWJ0biwgLnNtYWxsLnBsYW5uZXJfX2ZhY2Vib29rLWJ0biwgLnNtYWxsLnNjaGVkdWxlX19hcHBseS1maWx0ZXJzIHtcbiAgICBwYWRkaW5nOiAxMHB4IDI0cHggMTBweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlZDFjYztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idG4uc21hbGwuaXMtc2VsZWN0ZWQsIC5zbWFsbC5pcy1zZWxlY3RlZC5waWthLXByZXYsXG4gICAgLnNtYWxsLmlzLXNlbGVjdGVkLnBpa2EtbmV4dCwgLnNtYWxsLmlzLXNlbGVjdGVkLmZpbG1fX2Jvb2stYnRuLCAuc21hbGwuaXMtc2VsZWN0ZWQuZmlsbV9fdm90ZS1idG4sIC5zbWFsbC5pcy1zZWxlY3RlZC5wYWdpbmF0aW9uX19wcmV2LFxuICAgIC5zbWFsbC5pcy1zZWxlY3RlZC5wYWdpbmF0aW9uX19uZXh0LCAuc21hbGwuaXMtc2VsZWN0ZWQucGxhbm5lcl9fc3VibWl0LWJ0biwgLnNtYWxsLmlzLXNlbGVjdGVkLnBsYW5uZXJfX2ZhY2Vib29rLWJ0biwgLnNtYWxsLmlzLXNlbGVjdGVkLnNjaGVkdWxlX19hcHBseS1maWx0ZXJzLCAuYnRuLnNtYWxsOmhvdmVyLCAuc21hbGwucGlrYS1wcmV2OmhvdmVyLFxuICAgIC5zbWFsbC5waWthLW5leHQ6aG92ZXIsIC5zbWFsbC5maWxtX19ib29rLWJ0bjpob3ZlciwgLnNtYWxsLmZpbG1fX3ZvdGUtYnRuOmhvdmVyLCAuc21hbGwucGFnaW5hdGlvbl9fcHJldjpob3ZlcixcbiAgICAuc21hbGwucGFnaW5hdGlvbl9fbmV4dDpob3ZlciwgLnNtYWxsLnBsYW5uZXJfX3N1Ym1pdC1idG46aG92ZXIsIC5zbWFsbC5wbGFubmVyX19mYWNlYm9vay1idG46aG92ZXIsIC5zbWFsbC5zY2hlZHVsZV9fYXBwbHktZmlsdGVyczpob3ZlciwgLmJ0bi5zbWFsbDpmb2N1cywgLnNtYWxsLnBpa2EtcHJldjpmb2N1cyxcbiAgICAuc21hbGwucGlrYS1uZXh0OmZvY3VzLCAuc21hbGwuZmlsbV9fYm9vay1idG46Zm9jdXMsIC5zbWFsbC5maWxtX192b3RlLWJ0bjpmb2N1cywgLnNtYWxsLnBhZ2luYXRpb25fX3ByZXY6Zm9jdXMsXG4gICAgLnNtYWxsLnBhZ2luYXRpb25fX25leHQ6Zm9jdXMsIC5zbWFsbC5wbGFubmVyX19zdWJtaXQtYnRuOmZvY3VzLCAuc21hbGwucGxhbm5lcl9fZmFjZWJvb2stYnRuOmZvY3VzLCAuc21hbGwuc2NoZWR1bGVfX2FwcGx5LWZpbHRlcnM6Zm9jdXMge1xuICAgICAgZmlsbDogd2hpdGU7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDM2MTUzOyB9XG4gIC5idG4tLWdyb3dzLmlzLWxvYWRpbmcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLmJ0bi0tZ3Jvd3MuaXMtbG9hZGluZzphZnRlciB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMjBweCk7IH1cbiAgLmJ0bi0tZ3Jvd3M6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzksIDAuNTc1LCAwLjU2NSwgMSksIGJhY2tncm91bmQtY29sb3IgMHM7IH1cblxuaW1nLFxucGljdHVyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG5pbWcuYi1sYXp5IHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7IH1cbiAgaW1nLmItbGF6eS5iLWxvYWRlZCB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4vKiFcclxuICogUGlrYWRheVxyXG4gKiBDb3B5cmlnaHQgwqkgMjAxNCBEYXZpZCBCdXNoZWxsIHwgQlNEICYgTUlUIGxpY2Vuc2UgfCBodHRwczovL2RidXNoZWxsLmNvbS9cclxuICovXG4uY2FsZW5kYXIge1xuICB3aWR0aDogMjgwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5waWthLXNpbmdsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM4LCAxNzUsIDExNSwgMC4yKTsgfVxuICAucGlrYS1zaW5nbGUuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5waWthLXNpbmdsZS5pcy1ib3VuZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuLnBpa2Etc2luZ2xlOmJlZm9yZSwgLnBpa2Etc2luZ2xlOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5waWthLXNpbmdsZTphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qLnBpa2EtbGVuZGFyIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgd2lkdGg6IDI0MHB4O1xyXG4gICAgbWFyZ2luOiA4cHg7XHJcbn0qL1xuLnBpa2EtbGVuZGFyIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG5cbi5waWthLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQzNjE1MzsgfVxuICAucGlrYS10aXRsZSBzZWxlY3Qge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogOTk5ODtcbiAgICBtYXJnaW46IDA7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuZmZhIC5waWthLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG5cbi5waWthLWxhYmVsLXdyYXAge1xuICBmbGV4LWdyb3c6IDE7XG4gIG9yZGVyOiAyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ucGlrYS1sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDAgM3B4O1xuICBjb2xvcjogd2hpdGU7IH1cblxuLnBpa2EtcHJldixcbi5waWthLW5leHQge1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXNpemU6IDEzcHg7IH1cbiAgLnBpa2EtcHJldiA+ICosXG4gIC5waWthLW5leHQgPiAqIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4ucGlrYS1wcmV2LFxuLmlzLXJ0bCAucGlrYS1uZXh0IHtcbiAgb3JkZXI6IDE7IH1cblxuLnBpa2EtbmV4dCxcbi5pcy1ydGwgLnBpa2EtcHJldiB7XG4gIG9yZGVyOiAzOyB9XG5cbi5waWthLXNlbGVjdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ucGlrYS10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVhZjczO1xuICBib3JkZXItdG9wOiAwO1xuICBmb250LXdlaWdodDogNTAwOyB9XG4gIC5waWthLXRhYmxlIHRoLFxuICAucGlrYS10YWJsZSB0ZCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxNDI4NTcxNDI4NiU7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgcGFkZGluZzogMDsgfVxuICAucGlrYS10YWJsZSB0aCB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWFmNzM7IH1cbiAgLnBpa2EtdGFibGUgYWJiciB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAucGlrYS10YWJsZSB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfVxuICAucGlrYS10YWJsZSB0Ym9keSB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgLnBpa2EtdGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAucGlrYS10YWJsZSB0Ym9keSB0ciB0ZDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLnBpa2EtdGFibGUgdGJvZHkgdGQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWFmNzM7IH1cbiAgLmZmYSAucGlrYS10YWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4ucGlrYS1idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzOHB4O1xuICBjb2xvcjogYmxhY2s7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBiYWNrZ3JvdW5kOiBcIiNmZmVkZjBcIjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5pcy10b2RheSAucGlrYS1idXR0b24ge1xuICAgIGNvbG9yOiAjNDM2MTUzO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5pcy1zZWxlY3RlZCAucGlrYS1idXR0b24ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kOiAjNDM2MTUzOyB9XG4gIC5pcy1kaXNhYmxlZCAucGlrYS1idXR0b24sXG4gIC5pcy1vdXRzaWRlLWN1cnJlbnQtbW9udGggLnBpa2EtYnV0dG9uIHtcbiAgICBjb2xvcjogIzk5OTtcbiAgICBvcGFjaXR5OiAuMzsgfVxuICAuaXMtZGlzYWJsZWQgLnBpa2EtYnV0dG9uIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnBpa2EtYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZDogIzU4N0Y2QztcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5waWthLWJ1dHRvbiAuaXMtc2VsZWN0aW9uLWRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLnBpa2Etd2VlayB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6ICM5OTk7IH1cblxuLmlzLWlucmFuZ2UgLnBpa2EtYnV0dG9uIHtcbiAgY29sb3I6ICM2NjY7XG4gIGJhY2tncm91bmQ6ICNENUU5Rjc7IH1cblxuLmlzLXN0YXJ0cmFuZ2UgLnBpa2EtYnV0dG9uIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICM2Q0IzMUQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4uaXMtZW5kcmFuZ2UgLnBpa2EtYnV0dG9uIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICMzM2FhZmY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4uY2hvb2stbG9nbyB7XG4gIHdpZHRoOiA0MHB4O1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBmaWxsOiAjNDM2MTUzOyB9XG5cbi5maWxtX190cmFpbGVyLWJ0biB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNHMgbGluZWFyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAxNnB4IDE2cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmZpbG1fX3RyYWlsZXItYnRuIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjI2NjQ2OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLmZpbG1fX3RyYWlsZXItYnRuIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDsgfSB9XG4gIC5maWxtX190cmFpbGVyLWJ0bi5pcy1zZWxlY3RlZCwgLmZpbG1fX3RyYWlsZXItYnRuOmhvdmVyLCAuZmlsbV9fdHJhaWxlci1idG46Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjNDM2MTUzOyB9XG4gICAgLmZpbG1fX3RyYWlsZXItYnRuLmlzLXNlbGVjdGVkOmFmdGVyLCAuZmlsbV9fdHJhaWxlci1idG46aG92ZXI6YWZ0ZXIsIC5maWxtX190cmFpbGVyLWJ0bjpmb2N1czphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gIC5maWxtX190cmFpbGVyLWJ0bi5pcy1sb2FkaW5nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5maWxtX190cmFpbGVyLWJ0bi5pcy1sb2FkaW5nOmFmdGVyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTsgfVxuICAuZmlsbV9fdHJhaWxlci1idG46YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzksIDAuNTc1LCAwLjU2NSwgMSksIGJhY2tncm91bmQtY29sb3IgMHM7IH1cblxuLmZpbG1fX3RyYWlsZXItYnRuLWxhYmVsIHtcbiAgb3JkZXI6IDI7IH1cblxuLmZpbG1fX3RyYWlsZXItYnRuLWFycm93IHtcbiAgdHJhbnNpdGlvbjogaW5oZXJpdDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiA4cHggc29saWQgd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuICAuZmlsbV9fdHJhaWxlci1idG46YWN0aXZlIC5maWxtX190cmFpbGVyLWJ0bi1hcnJvdyxcbiAgLmZpbG1fX3RyYWlsZXItYnRuOmhvdmVyIC5maWxtX190cmFpbGVyLWJ0bi1hcnJvdyxcbiAgLmZpbG1fX3RyYWlsZXItYnRuOmZvY3VzIC5maWxtX190cmFpbGVyLWJ0bi1hcnJvdyB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICM0MzYxNTM7IH1cblxuLmZpbG1fX2NvbHMge1xuICBsb3N0LWZsZXgtY29udGFpbmVyOiByb3c7XG4gIGxvc3QtdXRpbGl0eTogZGVidWc7IH1cblxuLmZpbG1fX2NvbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5maWxtX19jb2wge1xuICAgICAgbWFyZ2luLXRvcDogNTBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5maWxtX19jb2w6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5maWxtX19jb2w6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgbG9zdC1jb2x1bW46IDMuNzgvNyAyIDEzM3B4O1xuICAgICAgbG9zdC1vZmZzZXQ6IDAuNi83OyB9IH1cbiAgLmZpbG1fX2NvbDpudGgtY2hpbGQoZXZlbikge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgIC5maWxtX19jb2w6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgbG9zdC1jb2x1bW46IDIuMTUvNyAyIDEzM3B4OyB9IH1cblxuLmZpbG1fX3RpdGxlIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjNDM2MTUzOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5maWxtX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDI2cHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuZmlsbV9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogNDBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5maWxtX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDQwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuZmlsbV9fdGl0bGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIxNXB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmhhcy10aWNrZXRpbmcgLmZpbG1fX3RpdGxlICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAxMTBweDsgfSB9XG5cbi5maWxtX19pbmZvIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuZmlsbV9faW5mbyBsaSBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4uZmlsbV9faW5mby1oZWFkaW5nIHtcbiAgY29sb3I6ICNmMjY2NDY7XG4gIG1hcmdpbi1ib3R0b206IDhweDsgfVxuXG4uZmlsbV9faW5mby1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmc6IDEwcHggMjRweCAxMHB4O1xuICBmb250LXNpemU6IDE0cHg7IH1cbiAgLmZpbG1fX2luZm8tYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLmZpbG1fX2Jvb2stYnRuIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAuZmlsbV9fYm9vay1idG4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5maWxtX19ib29rLWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjVweDtcbiAgICByaWdodDogMDsgfSB9XG5cbi5maWxtX192b3RlLWJ0biB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxQ0QxQ0M7XG4gIGNvbG9yOiBibGFjazsgfVxuICAuZmlsbV9fdm90ZS1idG4uaXMtc2VsZWN0ZWQsIC5maWxtX192b3RlLWJ0bjpob3ZlciwgLmZpbG1fX3ZvdGUtYnRuOmZvY3VzIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQzNjE1MzsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAuZmlsbV9fdm90ZS1idG4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5qaWYgLmZpbG1fX2Jpa2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi52b3RpbmctYmxvY2sge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIG1hcmdpbjogNDBweCAwOyB9XG4gIC52b3RpbmctYmxvY2tfX2hlYWRpbmcge1xuICAgIGNvbG9yOiAjNDM2MTUzO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzM7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAudm90aW5nLWJsb2NrX19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC52b3RpbmctYmxvY2sgLmZpbG0tZ3JpZF9fdm90ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLThweDsgfVxuXG4uZmlsbS1ncmlkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC53eXNpd3lnICsgLmZpbG0tZ3JpZCwgLmZpbG1fX3d5c2l3eWcgKyAuZmlsbS1ncmlkIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gIC5wbGFubmVyIC5maWxtLWdyaWQsXG4gIC5wYWdpbmF0aW9uLWhpZGRlbiAuZmlsbS1ncmlkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5maWxtLWdyaWQuZmlsbS1ncmlkLS1zY2hlZHVsZS1sYXlvdXQsIC5maWxtLWdyaWQuZmlsbS1ncmlkLS1kZWZhdWx0LWxheW91dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uZmlsbS1ncmlkX19oZWFkaW5nIHtcbiAgY29sb3I6IGJsYWNrO1xuICBmb250LXNpemU6IDE3cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4uZmlsbS1ncmlkX19maWxtcywgLnByb21vc19fY29scyB7XG4gIGxvc3QtZmxleC1jb250YWluZXI6IHJvdzsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAuZmlsbS1ncmlkX19maWxtcywgLnByb21vc19fY29scyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5wbGFubmVyIC5maWxtLWdyaWRfX2ZpbG1zLCAucGxhbm5lciAucHJvbW9zX19jb2xzIHtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyMzgsIDE3NSwgMTE1LCAwLjEpOyB9XG4gICAgLnBsYW5uZXIgLmZpbG0tZ3JpZF9fZmlsbXM6bGFzdC1jaGlsZCwgLnBsYW5uZXIgLnByb21vc19fY29sczpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIC5wbGFubmVyIC5maWxtLWdyaWRfX2ZpbG1zLCAucGxhbm5lciAucHJvbW9zX19jb2xzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfSB9XG5cbi5maWxtLWdyaWRfX2ZpbG0sIC5wcm9tb3NfX2NvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAuZmlsbS1ncmlkLS1kZWZhdWx0LWxheW91dCAuZmlsbS1ncmlkX19maWxtLCAuZmlsbS1ncmlkLS1kZWZhdWx0LWxheW91dCAucHJvbW9zX19jb2wge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuZmlsbS1ncmlkLS1kZWZhdWx0LWxheW91dCAuZmlsbS1ncmlkX19maWxtLCAuZmlsbS1ncmlkLS1kZWZhdWx0LWxheW91dCAucHJvbW9zX19jb2wge1xuICAgIGxvc3QtY29sdW1uOiAxLzIgMiAzMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLmZpbG0tZ3JpZC0tZGVmYXVsdC1sYXlvdXQgLmZpbG0tZ3JpZF9fZmlsbSwgLmZpbG0tZ3JpZC0tZGVmYXVsdC1sYXlvdXQgLnByb21vc19fY29sIHtcbiAgICAgIGxvc3QtY29sdW1uOiAxLzMgMyAzMHB4OyB9IH1cbiAgLmZpbG0tZ3JpZC0tcGxhbm5lci1sYXlvdXQgLmZpbG0tZ3JpZF9fZmlsbSwgLmZpbG0tZ3JpZC0tcGxhbm5lci1sYXlvdXQgLnByb21vc19fY29sIHtcbiAgICBsb3N0LWNvbHVtbjogMS8yIDIgMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg0OXB4KSB7XG4gIC5maWxtLWdyaWQtLXNjaGVkdWxlLWxheW91dCAuZmlsbS1ncmlkX19maWxtLCAuZmlsbS1ncmlkLS1zY2hlZHVsZS1sYXlvdXQgLnByb21vc19fY29sIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4NTBweCkgYW5kIChtYXgtd2lkdGg6IDEwOTlweCkge1xuICAuZmlsbS1ncmlkLS1zY2hlZHVsZS1sYXlvdXQgLmZpbG0tZ3JpZF9fZmlsbSwgLmZpbG0tZ3JpZC0tc2NoZWR1bGUtbGF5b3V0IC5wcm9tb3NfX2NvbCB7XG4gICAgbG9zdC1jb2x1bW46IDEvMiAyIDIwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTEwMHB4KSBhbmQgKG1heC13aWR0aDogMTM5OXB4KSB7XG4gIC5maWxtLWdyaWQtLXNjaGVkdWxlLWxheW91dCAuZmlsbS1ncmlkX19maWxtLCAuZmlsbS1ncmlkLS1zY2hlZHVsZS1sYXlvdXQgLnByb21vc19fY29sIHtcbiAgICBsb3N0LWNvbHVtbjogMS8zIDMgMjBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAuZmlsbS1ncmlkLS1zY2hlZHVsZS1sYXlvdXQgLmZpbG0tZ3JpZF9fZmlsbSwgLmZpbG0tZ3JpZC0tc2NoZWR1bGUtbGF5b3V0IC5wcm9tb3NfX2NvbCB7XG4gICAgICBsb3N0LWNvbHVtbjogMS80IDQgMjBweDsgfSB9XG5cbi5maWxtLWdyaWRfX2xpbmsge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xuICBjb2xvcjogYmxhY2s7IH1cbiAgLmZpbG0tZ3JpZF9fbGluazphY3RpdmUsIC5maWxtLWdyaWRfX2xpbms6Zm9jdXMsIC5maWxtLWdyaWRfX2xpbms6aG92ZXIsXG4gIC5uby10b3VjaCAuZmlsbS1ncmlkX19saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogIzQzNjE1MztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmllMTEgLmZpbG0tZ3JpZF9fbGluayB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZmYSAuZmlsbS1ncmlkX19saW5rIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDEwcHggMTBweCA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBjb2xvcjogIzg3N0ZCQyAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cztcbiAgICBjb2xvcjogYmxhY2s7IH1cbiAgICAuZmZhIC5maWxtLWdyaWRfX2xpbms6YWN0aXZlLCAuZmZhIC5maWxtLWdyaWRfX2xpbms6Zm9jdXMsIC5mZmEgLmZpbG0tZ3JpZF9fbGluazpob3ZlcixcbiAgICAubm8tdG91Y2ggLmZmYSAuZmlsbS1ncmlkX19saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjQjlENDMyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5maWxtLWdyaWRfX3RodW1iIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwIDAgNTYlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2xvYWRpbmcuZ2lmKTtcbiAgYmFja2dyb3VuZC1zaXplOiA1MHB4IDUwcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cbiAgLnBsYW5uZXIgLmZpbG0tZ3JpZF9fdGh1bWIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuZmlsbS1ncmlkX190aHVtYiBpbWcge1xuICAgIGZpbHRlcjogYmx1cigwKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBub25lOyB9XG4gICAgLm5vLXRvdWNoIC5maWxtLWdyaWRfX3RodW1iIGltZzpob3ZlciwgLmZpbG0tZ3JpZF9fdGh1bWIgaW1nLmlzLXNlbGVjdGVkIHtcbiAgICAgIGZpbHRlcjogYmx1cigwKSBicmlnaHRuZXNzKDEuMDgpOyB9XG4gICAgLmZpbG0tZ3JpZF9fdGh1bWIgaW1nLmItbG9hZGVkIHtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9XG5cbi5maWxtLWdyaWRfX2luZm8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IDE4cHg7IH1cbiAgLnBsYW5uZXIgLmZpbG0tZ3JpZF9faW5mbyB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAuZmlsbS1ncmlkX19pbmZvID4gYSB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5maWxtLWdyaWRfX2luZm8gPiBzcGFuIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlOyB9XG4gIC5mZmEgLmZpbG0tZ3JpZF9faW5mbyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDM2MTUzO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLmZpbG0tZ3JpZF9fdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cztcbiAgY29sb3I6IGJsYWNrO1xuICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cbiAgLmZpbG0tZ3JpZF9fdGl0bGU6YWN0aXZlLCAuZmlsbS1ncmlkX190aXRsZTpmb2N1cywgLmZpbG0tZ3JpZF9fdGl0bGU6aG92ZXIsXG4gIC5uby10b3VjaCAuZmlsbS1ncmlkX190aXRsZTpob3ZlciB7XG4gICAgY29sb3I6ICM0MzYxNTM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5wbGFubmVyIC5maWxtLWdyaWRfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDExcHg7IH1cbiAgLmZmYSAuZmlsbS1ncmlkX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGNvbG9yOiAjZTQ0MTM2ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IG5vbmU7XG4gICAgdGV4dC1vdmVyZmxvdzogdW5zZXQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXM7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gICAgLmZmYSAuZmlsbS1ncmlkX190aXRsZTphY3RpdmUsIC5mZmEgLmZpbG0tZ3JpZF9fdGl0bGU6Zm9jdXMsIC5mZmEgLmZpbG0tZ3JpZF9fdGl0bGU6aG92ZXIsXG4gICAgLm5vLXRvdWNoIC5mZmEgLmZpbG0tZ3JpZF9fdGl0bGU6aG92ZXIge1xuICAgICAgY29sb3I6ICNlZjhkODY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmZpbG0tZ3JpZF9fZGVzYyB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6ICM0ZDRkNGQ7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxuLmZpbG0tZ3JpZF9feWVhciB7XG4gIG9yZGVyOiAtMTtcbiAgY29sb3I6ICNiM2IzYjM7IH1cblxuLmZpbG0tZ3JpZF9fY291bnRyaWVzIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuZmlsbS1ncmlkX19jb3VudHJpZXMgc3BhbiB7XG4gICAgY29sb3I6ICM0MzYxNTM7IH1cbiAgICAuZmZhIC5maWxtLWdyaWRfX2NvdW50cmllcyBzcGFuIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5wbGFubmVyIC5maWxtLWdyaWRfX2NvdW50cmllcyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZmZhIC5maWxtLWdyaWRfX2NvdW50cmllcyB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZmlsbS1ncmlkX192b3RlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMXMgbGluZWFyO1xuICBjb2xvcjogIzQzNjE1MztcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM0MzYxNTM7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmZpbG0tZ3JpZF9fdm90ZS5pcy1zZWxlY3RlZCxcbiAgLm5vLXRvdWNoIC5maWxtLWdyaWRfX3ZvdGU6aG92ZXIsIC5maWxtLWdyaWRfX3ZvdGU6Zm9jdXMge1xuICAgIGNvbG9yOiAjNDM2MTUzO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQyLCAxMDIsIDczLCAwLjM1KTsgfVxuICAuZmlsbS1ncmlkX192b3RlW2Rpc2FibGVkXSwgLmZpbG0tZ3JpZF9fdm90ZS5pcy1kaXNhYmxlZCB7XG4gICAgY29sb3I6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogXCJcIjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuODtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuZmlsbS1ncmlkX192b3RlLmlzLWxvYWRpbmcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5maWxtLWdyaWRfX3ZvdGUgc3ZnIHtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cbiAgLmZpbG0tZ3JpZF9fdm90ZS5oYXMtdm90ZWQsIC5maWxtLWdyaWRfX3ZvdGUuaXMtc2VsZWN0ZWQsIC5maWxtLWdyaWRfX3ZvdGU6aG92ZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmYWNhYmY7IH1cbiAgLmZpbG0tZ3JpZF9fdm90ZS5pcy1zZWxlY3RlZCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5maWxtLWdyaWRfX3ZvdGUgLmJ0bl9fc3Bpbm5lcjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzQzNjE1MzsgfVxuXG4uZm9vdGVyIHtcbiAgcGFkZGluZzogMzJweCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICBjb2xvcjogd2hpdGU7IH1cbiAgLmZvb3RlciBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXM7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLmZvb3RlciBhOmFjdGl2ZSwgLmZvb3RlciBhOmZvY3VzLCAuZm9vdGVyIGE6aG92ZXIsXG4gICAgLm5vLXRvdWNoIC5mb290ZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzQzNjE1MztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZm9vdGVyIC5sLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7IH0gfVxuXG4uZm9vdGVyX19zb2NpYWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMzBweCAwO1xuICBmb250LXNpemU6IDIycHg7IH1cbiAgLmZvb3Rlcl9fc29jaWFsIHNwYW4ge1xuICAgIG1hcmdpbjogMCAxNnB4OyB9XG4gICAgLmZvb3Rlcl9fc29jaWFsIHNwYW4uaWNvbi1zb2NpYWwtdHdpdHRlciB7XG4gICAgICBmb250LXNpemU6IDI0cHg7IH1cblxuLmZvb3Rlcl9fbGlua3Mge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb290ZXJfX2xpbmtzIHtcbiAgICAgIGxvc3QtZmxleC1jb250YWluZXI6IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmZvb3Rlcl9fbGlua3MgYSB7XG4gICAgICAgIGxvc3QtY29sdW1uOiAxLzI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLmZvb3Rlcl9fbGlua3Mge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuZm9vdGVyX19saW5rcyBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMTBweDsgfSB9XG5cbi5mb290ZXJfX2NvcHlyaWdodCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjc7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY2MHB4KSB7XG4gICAgLmZvb3Rlcl9fY29weXJpZ2h0IHNwYW4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICByaWdodDogMDsgfSB9XG5cbi8qXHJcbmh0dHBzOi8vam9uc3VoLmNvbS9oYW1idXJnZXJzL1xyXG5pZiBjaGFuZ2luZyBAZXh0ZW5kIG1vZGlmaWVyIHVwZGF0ZSAnLi4vdmVuZG9yL2hhbWJ1cmdlcnMvaGFtYnVyZ2Vycyc7XHJcbmF2YWlsYWJsZSBvdmVycmlkZXM6XHJcbiRoYW1idXJnZXItbGF5ZXItd2lkdGggICAgICAgICAgICAgICAgICAgICA6IDQwcHggIWRlZmF1bHQ7XHJcbiRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICAgICAgICAgICAgICAgICAgICA6IDRweCAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICAgICAgICAgICAgICAgICAgIDogNnB4ICFkZWZhdWx0O1xyXG4kaGFtYnVyZ2VyLWxheWVyLWNvbG9yICAgICAgICAgICAgICAgICAgICAgOiAjMDAwICFkZWZhdWx0O1xyXG4kaGFtYnVyZ2VyLWxheWVyLWJvcmRlci1yYWRpdXMgICAgICAgICAgICAgOiA0cHggIWRlZmF1bHQ7XHJcbiRoYW1idXJnZXItaG92ZXItb3BhY2l0eSAgICAgICAgICAgICAgICAgICA6IDAuNyAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1ob3Zlci10cmFuc2l0aW9uLWR1cmF0aW9uICAgICAgIDogMC4xNXMgIWRlZmF1bHQ7XHJcbiRoYW1idXJnZXItaG92ZXItdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhZGVmYXVsdDtcclxuKi9cbi8qIVxyXG4gKiBIYW1idXJnZXJzXHJcbiAqIEBkZXNjcmlwdGlvbiBUYXN0eSBDU1MtYW5pbWF0ZWQgaGFtYnVyZ2Vyc1xyXG4gKiBAYXV0aG9yIEpvbmF0aGFuIFN1aCBAam9uc3VoXHJcbiAqIEBzaXRlIGh0dHBzOi8vam9uc3VoLmNvbS9oYW1idXJnZXJzXHJcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9qb25zdWgvaGFtYnVyZ2Vyc1xyXG4gKi9cbi5oYW1idXJnZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgYmFja2dyb3VuZC1jb2xvciwgZmlsdGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5oYW1idXJnZXItYm94IHtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMTdweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmhhbWJ1cmdlci1pbm5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTEuNXB4OyB9XG4gIC5oYW1idXJnZXItaW5uZXIsIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOyB9XG4gIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IC03cHg7IH1cbiAgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGJvdHRvbTogLTdweDsgfVxuXG4vKkBpbXBvcnQgXCJ0eXBlcy8zZHhcIjtcclxuQGltcG9ydCBcInR5cGVzLzNkeC1yXCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy8zZHlcIjtcclxuQGltcG9ydCBcInR5cGVzLzNkeS1yXCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy8zZHh5XCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy8zZHh5LXJcIjtcclxuQGltcG9ydCBcInR5cGVzL2Fycm93XCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvdy1yXCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd2FsdFwiO1xyXG5AaW1wb3J0IFwidHlwZXMvYXJyb3dhbHQtclwiO1xyXG5AaW1wb3J0IFwidHlwZXMvYXJyb3d0dXJuXCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd3R1cm4tclwiO1xyXG5AaW1wb3J0IFwidHlwZXMvYm9yaW5nXCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy9jb2xsYXBzZVwiO1xyXG5AaW1wb3J0IFwidHlwZXMvY29sbGFwc2UtclwiO1xyXG5AaW1wb3J0IFwidHlwZXMvZWxhc3RpY1wiO1xyXG5AaW1wb3J0IFwidHlwZXMvZWxhc3RpYy1yXCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy9lbXBoYXRpY1wiO1xyXG5AaW1wb3J0IFwidHlwZXMvZW1waGF0aWMtclwiO1xyXG5AaW1wb3J0IFwidHlwZXMvbWludXNcIjtcclxuQGltcG9ydCBcInR5cGVzL3NsaWRlci1yXCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy9zcGluXCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy9zcGluLXJcIjtcclxuQGltcG9ydCBcInR5cGVzL3NwcmluZ1wiO1xyXG5AaW1wb3J0IFwidHlwZXMvc3ByaW5nLXJcIjtcclxuQGltcG9ydCBcInR5cGVzL3N0YW5kXCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy9zdGFuZC1yXCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy92b3J0ZXhcIjtcclxuQGltcG9ydCBcInR5cGVzL3ZvcnRleC1yXCI7XHJcbiovXG4vKlxyXG4gICAqIFNsaWRlclxyXG4gICAqL1xuLmhhbWJ1cmdlci0tc2xpZGVyIC5oYW1idXJnZXItaW5uZXIsIC5oYW1idXJnZXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRvcDogMS41cHg7IH1cbiAgLmhhbWJ1cmdlci0tc2xpZGVyIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogN3B4O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1czsgfVxuICAuaGFtYnVyZ2VyLS1zbGlkZXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIsIC5oYW1idXJnZXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRvcDogMTRweDsgfVxuXG4uaGFtYnVyZ2VyLS1zbGlkZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIsIC5pcy1hY3RpdmUuaGFtYnVyZ2VyIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDdweCwgMCkgcm90YXRlKDQ1ZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS1zbGlkZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmlzLWFjdGl2ZS5oYW1idXJnZXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKC00cHgsIC00cHgsIDApO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmhhbWJ1cmdlci0tc2xpZGVyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciwgLmlzLWFjdGl2ZS5oYW1idXJnZXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE0cHgsIDApIHJvdGF0ZSgtOTBkZWcpOyB9XG5cbi5oYW1idXJnZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG4gIC5oYW1idXJnZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiAtMTBweDtcbiAgICBib3R0b206IC0xMHB4O1xuICAgIHJpZ2h0OiAtMTBweDtcbiAgICBsZWZ0OiAtMTBweDsgfVxuXG4ubmF2LXN0aWNreSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAxMDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MzYxNTM7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpOyB9XG4gIC5uYXYtc3RpY2t5IC5sLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAubmF2LXN0aWNreSAubC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiA4cHggMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAubmF2LXN0aWNreSAubC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAxNHB4IDA7IH0gfVxuICAubmF2LXN0aWNreSAudGlwcHktdG9vbHRpcCB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5uYXYtc3RpY2t5X19zZWFyY2gge1xuICB6LWluZGV4OiA5OTk7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLm5hdi1zdGlja3lfX3NlYXJjaCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLm5hdi1zdGlja3lfX3NlYXJjaCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbGV4LWJhc2lzOiAzNzBweDtcbiAgICAgIGZsZXgtc2hyaW5rOiAxOyB9IH1cblxuLm5hdi1zdGlja3lfX3NlYXJjaC1vcGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxO1xuICBsZWZ0OiA4cHg7XG4gIGZvbnQtc2l6ZTogMTlweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuICAubmF2LXN0aWNreV9fc2VhcmNoLW9wZW46YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiAtMTBweDtcbiAgICBib3R0b206IC0xMHB4O1xuICAgIHJpZ2h0OiAtMTBweDtcbiAgICBsZWZ0OiAtMTBweDsgfVxuICAuc2VhcmNoLWFjdGl2ZSAubmF2LXN0aWNreV9fc2VhcmNoLW9wZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm5hdi1zdGlja3lfX3NlYXJjaC1vcGVuIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmlvcyAubmF2LXN0aWNreV9fc2VhcmNoLW9wZW4gc3BhbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMXB4OyB9XG5cbi5uYXYtc3RpY2t5X19zZWFyY2gtY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXM7XG4gIGNvbG9yOiBibGFjaztcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAubmF2LXN0aWNreV9fc2VhcmNoLWNsb3NlOmFjdGl2ZSwgLm5hdi1zdGlja3lfX3NlYXJjaC1jbG9zZTpmb2N1cywgLm5hdi1zdGlja3lfX3NlYXJjaC1jbG9zZTpob3ZlcixcbiAgLm5vLXRvdWNoIC5uYXYtc3RpY2t5X19zZWFyY2gtY2xvc2U6aG92ZXIge1xuICAgIGNvbG9yOiAjNDM2MTUzO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAubmF2LXN0aWNreV9fc2VhcmNoLWNsb3NlOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRvcDogLTEwcHg7XG4gICAgYm90dG9tOiAtMTBweDtcbiAgICByaWdodDogLTEwcHg7XG4gICAgbGVmdDogLTEwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLm5hdi1zdGlja3lfX3NlYXJjaC1jbG9zZSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsZWZ0OiAycHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAubmF2LXN0aWNreV9fc2VhcmNoLWNsb3NlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGxlZnQ6IDhweDsgfSB9XG4gIC5zZWFyY2gtYWN0aXZlIC5uYXYtc3RpY2t5X19zZWFyY2gtY2xvc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5uYXYtc3RpY2t5X19zZWFyY2gtY2xvc2Ugc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLm5hdi1zdGlja3lfX3NlYXJjaC1maWVsZCwgLnNlYXJjaC1yZXN1bHRzX19zZWFyY2gtZmllbGQge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cblxuLm5hdi1zdGlja3lfX3NlYXJjaC1pbnB1dCwgLnNlYXJjaC1yZXN1bHRzX19zZWFyY2gtaW5wdXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAubmF2LXN0aWNreV9fc2VhcmNoLWlucHV0LCAuc2VhcmNoLXJlc3VsdHNfX3NlYXJjaC1pbnB1dCB7XG4gICAgICBwYWRkaW5nOiAxMnB4IDM1cHggMTJweCAxNXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLm5hdi1zdGlja3lfX3NlYXJjaC1pbnB1dCwgLnNlYXJjaC1yZXN1bHRzX19zZWFyY2gtaW5wdXQge1xuICAgICAgcGFkZGluZzogMCAzNXB4IDAgMzJweDsgfSB9XG4gIC5zZWFyY2gtYWN0aXZlIC5uYXYtc3RpY2t5X19zZWFyY2gtaW5wdXQsIC5zZWFyY2gtYWN0aXZlIC5zZWFyY2gtcmVzdWx0c19fc2VhcmNoLWlucHV0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjazsgfVxuICAgIC5zZWFyY2gtYWN0aXZlIC5uYXYtc3RpY2t5X19zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyLCAuc2VhcmNoLWFjdGl2ZSAuc2VhcmNoLXJlc3VsdHNfX3NlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IGJsYWNrOyB9XG4gIC5uby10b3VjaCAubmF2LXN0aWNreV9fc2VhcmNoLWlucHV0OmhvdmVyLCAubm8tdG91Y2ggLnNlYXJjaC1yZXN1bHRzX19zZWFyY2gtaW5wdXQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuICAubmF2LXN0aWNreV9fc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciwgLnNlYXJjaC1yZXN1bHRzX19zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2ZhZmFmYTsgfVxuXG4ubmF2LXN0aWNreV9fc2VhcmNoLXNwaW5uZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB3aWR0aDogMjFweDtcbiAgaGVpZ2h0OiAyMXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm5hdi1zdGlja3lfX3NlYXJjaC1zcGlubmVyOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGFuaW1hdGlvbjogYW5pbS1zcGluIC40cyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgYm9yZGVyOiAzcHggcmdiYSg2NywgOTcsIDgzLCAwLjIpIHNvbGlkO1xuICAgIGJvcmRlci10b3A6IDNweCByZ2JhKDY3LCA5NywgODMsIDAuOCkgc29saWQ7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLm5hdi1zdGlja3lfX3NlYXJjaC1zcGlubmVyIHtcbiAgICAgIHJpZ2h0OiAyMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLm5hdi1zdGlja3lfX3NlYXJjaC1zcGlubmVyIHtcbiAgICAgIHJpZ2h0OiA4cHg7IH0gfVxuICAubmF2LXN0aWNreV9fc2VhcmNoLXNwaW5uZXIgLmlzLWxvYWRpbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5uYXYtc3RpY2t5X19kYXRlcyB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXNocmluazogMDtcbiAgcGFkZGluZy1yaWdodDogMTRweDtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0OTlweCkge1xuICAgIC5uYXYtc3RpY2t5X19kYXRlcyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLm5hdi1zdGlja3lfX2RhdGVzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgLm5hdi1zdGlja3lfX2RhdGVzOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0OCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTZweDtcbiAgICB3aWR0aDogMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbi5uYXYtc3RpY2t5X19sb2NhdGlvbiB7XG4gIG1hcmdpbi1yaWdodDogMTRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0OTlweCkge1xuICAgIC5uYXYtc3RpY2t5X19sb2NhdGlvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogLTEwcHg7IH0gfVxuICAubmF2LXN0aWNreV9fbG9jYXRpb24gc2VsZWN0IHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAuN2VtIHRvcCA0NyUsIDAgMDtcbiAgICBwYWRkaW5nLWxlZnQ6IC43ZW07XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9zZWxlY3QtYXJyb3ctamlmLnN2Zyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNHB4IDhweDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAubmF2LXN0aWNreV9fbG9jYXRpb24gc2VsZWN0IG9wdGlvbiB7XG4gICAgICBjb2xvcjogIzU1NTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgLm5hdi1zdGlja3lfX2xvY2F0aW9uIHNlbGVjdCB7XG4gICAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA1ZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgLm5hdi1zdGlja3lfX2xvY2F0aW9uIHNlbGVjdCB7XG4gICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDsgfSB9XG5cbi5uYXYtc3RpY2t5X19wbGFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXNocmluazogMDtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjA4cyBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cbiAgLm5hdi1zdGlja3lfX3BsYW5uZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiAtMTBweDtcbiAgICBib3R0b206IC0xMHB4O1xuICAgIHJpZ2h0OiAtMTBweDtcbiAgICBsZWZ0OiAtMTBweDsgfVxuICAucGxhbm5lci1hY3RpdmUgLm5hdi1zdGlja3lfX3BsYW5uZXIsIC5uYXYtc3RpY2t5X19wbGFubmVyLmlzLXNlbGVjdGVkLCAubmF2LXN0aWNreV9fcGxhbm5lcjpob3ZlciwgLm5hdi1zdGlja3lfX3BsYW5uZXI6Zm9jdXMge1xuICAgIGNvbG9yOiAjNDM2MTUzO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gICAgLnBsYW5uZXItYWN0aXZlIC5uYXYtc3RpY2t5X19wbGFubmVyIC5uYXYtc3RpY2t5X19wbGFubmVyLWljb24sIC5uYXYtc3RpY2t5X19wbGFubmVyLmlzLXNlbGVjdGVkIC5uYXYtc3RpY2t5X19wbGFubmVyLWljb24sIC5uYXYtc3RpY2t5X19wbGFubmVyOmhvdmVyIC5uYXYtc3RpY2t5X19wbGFubmVyLWljb24sIC5uYXYtc3RpY2t5X19wbGFubmVyOmZvY3VzIC5uYXYtc3RpY2t5X19wbGFubmVyLWljb24ge1xuICAgICAgY29sb3I6ICM0MzYxNTM7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLm5hdi1zdGlja3lfX3BsYW5uZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAuY2hmIC5uYXYtc3RpY2t5X19wbGFubmVyIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4ubmF2LXN0aWNreV9fcGxhbm5lci1ub3RpZmljYXRpb24ge1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLm5hdi1zdGlja3lfX3BsYW5uZXItY29udGVudCB7XG4gIHBhZGRpbmc6IDAgMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG4gIC5uYXYtc3RpY2t5X19wbGFubmVyLWNvbnRlbnQgaW1nIHtcbiAgICB3aWR0aDogMTRweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7IH1cblxuLm5hdi1zdGlja3lfX3BsYW5uZXItbGFiZWwge1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTJweDsgfVxuXG4ubmF2LXN0aWNreV9fcGxhbm5lci1pY29uIHtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDE2cHg7IH1cbiAgLmZmYSAubmF2LXN0aWNreV9fcGxhbm5lci1pY29uIHtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cblxuLm5hdi1zdGF0aWMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5zZWFyY2gtYWN0aXZlLS1zdGF0aWMgLm5hdi1zdGF0aWMge1xuICAgIHotaW5kZXg6IDEwMDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLm5hdi1zdGF0aWMge1xuICAgICAgbWFyZ2luLXRvcDogNDlweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5uYXYtc3RhdGljIHtcbiAgICAgIG1hcmdpbi10b3A6IDYxcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAubmF2LXN0YXRpYyB7XG4gICAgICBoZWlnaHQ6IDEyMHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLm5hdi1zdGF0aWMge1xuICAgIGhlaWdodDogMTIwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAubmF2LXN0YXRpYyB7XG4gICAgICBoZWlnaHQ6IDE4NnB4OyB9IH1cblxuLm5hdi1zdGF0aWNfX25hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDExNjBweDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLm5hdi1zdGF0aWNfX25hdiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLm5hdi1zdGF0aWNfX25hdi0tbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIC5uYXYtc3RhdGljX19uYXYtLWxlZnQge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA2NXB4KTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5uYXYtc3RhdGljX19uYXYtLWxlZnQge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDU1cHgpOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgIC5uYXYtc3RhdGljX19uYXYtLWxlZnQge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA5MnB4KTsgfSB9XG4gIC5uYXYtc3RhdGljX19uYXYtLXJpZ2h0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgLm5hdi1zdGF0aWNfX25hdi0tcmlnaHQge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA2NXB4KTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5uYXYtc3RhdGljX19uYXYtLXJpZ2h0IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSA1NXB4KTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAubmF2LXN0YXRpY19fbmF2LS1yaWdodCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDkycHgpOyB9IH1cblxuLm5hdi1zdGF0aWNfX2xpbmsge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xuICBjb2xvcjogYmxhY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDUwJTtcbiAgbWFyZ2luOiAxMHB4IGF1dG87IH1cbiAgLm5hdi1zdGF0aWNfX2xpbms6YWN0aXZlLCAubmF2LXN0YXRpY19fbGluazpmb2N1cywgLm5hdi1zdGF0aWNfX2xpbms6aG92ZXIsXG4gIC5uby10b3VjaCAubmF2LXN0YXRpY19fbGluazpob3ZlciB7XG4gICAgY29sb3I6ICM0MzYxNTM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5uYXYtc3RhdGljX19saW5rIHtcbiAgICBmb250LXNpemU6IDlweDtcbiAgICBtYXJnaW46IDE0cHggMDtcbiAgICBmbGV4OiAxIDEgMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5uYXYtc3RhdGljX19saW5rIHtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIG1hcmdpbjogMjBweCAwOyB9IH1cbiAgLm5hdi1zdGF0aWNfX2xpbmsuaXMtc2VsZWN0ZWQge1xuICAgIGNvbG9yOiAjNDM2MTUzOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5uYXYtc3RhdGljX19zcGFjZXIge1xuICAgIGZsZXgtYmFzaXM6IDEzMHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5uYXYtc3RhdGljX19zcGFjZXIge1xuICAgIGZsZXgtYmFzaXM6IDE3MHB4OyB9IH1cblxuLm5hdi1zdGF0aWNfX2JyZWFrIHtcbiAgZmxleC1iYXNpczogMTAxJTsgfVxuXG4ubmF2LXN0YXRpY19fbG9nbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5uYXYtc3RhdGljX19sb2dvIHtcbiAgICAgIHdpZHRoOiAxMzBweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5uYXYtc3RhdGljX19sb2dvIHtcbiAgICB3aWR0aDogMTEwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAubmF2LXN0YXRpY19fbG9nbyB7XG4gICAgICB3aWR0aDogMTg0cHg7IH0gfVxuXG4ubmF2LXN0YXRpY19fc2VhcmNoLW9wZW4ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xuICBjb2xvcjogYmxhY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTtcbiAgbGVmdDogMjBweDtcbiAgZm9udC1zaXplOiAyM3B4OyB9XG4gIC5uYXYtc3RhdGljX19zZWFyY2gtb3BlbjphY3RpdmUsIC5uYXYtc3RhdGljX19zZWFyY2gtb3Blbjpmb2N1cywgLm5hdi1zdGF0aWNfX3NlYXJjaC1vcGVuOmhvdmVyLFxuICAubm8tdG91Y2ggLm5hdi1zdGF0aWNfX3NlYXJjaC1vcGVuOmhvdmVyIHtcbiAgICBjb2xvcjogIzQzNjE1MztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLm5hdi1zdGF0aWNfX3NlYXJjaC1vcGVuOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRvcDogLTEwcHg7XG4gICAgYm90dG9tOiAtMTBweDtcbiAgICByaWdodDogLTEwcHg7XG4gICAgbGVmdDogLTEwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLm5hdi1zdGF0aWNfX3NlYXJjaC1vcGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuc2VhcmNoLWFjdGl2ZSAubmF2LXN0YXRpY19fc2VhcmNoLW9wZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZmYSAubmF2LXN0YXRpY19fc2VhcmNoLW9wZW4ge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5uYXYtc3RhdGljX19zZWFyY2gtY2xvc2Uge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xuICBjb2xvcjogYmxhY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTtcbiAgbGVmdDogMjBweDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5uYXYtc3RhdGljX19zZWFyY2gtY2xvc2U6YWN0aXZlLCAubmF2LXN0YXRpY19fc2VhcmNoLWNsb3NlOmZvY3VzLCAubmF2LXN0YXRpY19fc2VhcmNoLWNsb3NlOmhvdmVyLFxuICAubm8tdG91Y2ggLm5hdi1zdGF0aWNfX3NlYXJjaC1jbG9zZTpob3ZlciB7XG4gICAgY29sb3I6ICM0MzYxNTM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5uYXYtc3RhdGljX19zZWFyY2gtY2xvc2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiAtMTBweDtcbiAgICBib3R0b206IC0xMHB4O1xuICAgIHJpZ2h0OiAtMTBweDtcbiAgICBsZWZ0OiAtMTBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAubmF2LXN0YXRpY19fc2VhcmNoLWNsb3NlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIC5zZWFyY2gtYWN0aXZlIC5uYXYtc3RhdGljX19zZWFyY2gtY2xvc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5mZmEgLm5hdi1zdGF0aWNfX3NlYXJjaC1jbG9zZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLm5hdi1zdGF0aWMgLmhhbWJ1cmdlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgcmlnaHQ6IDIwcHg7IH1cbiAgLm5hdi1zdGF0aWMgLmhhbWJ1cmdlciAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsgfVxuICAgIC5uYXYtc3RhdGljIC5oYW1idXJnZXIgLmhhbWJ1cmdlci1pbm5lcjpiZWZvcmUsIC5uYXYtc3RhdGljIC5oYW1idXJnZXIgLmhhbWJ1cmdlci1pbm5lcjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsgfVxuICAubm8tdG91Y2ggLm5hdi1zdGF0aWMgLmhhbWJ1cmdlcjpob3ZlciAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDM2MTUzOyB9XG4gICAgLm5vLXRvdWNoIC5uYXYtc3RhdGljIC5oYW1idXJnZXI6aG92ZXIgLmhhbWJ1cmdlci1pbm5lcjpiZWZvcmUsIC5uby10b3VjaCAubmF2LXN0YXRpYyAuaGFtYnVyZ2VyOmhvdmVyIC5oYW1idXJnZXItaW5uZXI6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQzNjE1MzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkge1xuICAgIC5uYXYtc3RhdGljIC5oYW1idXJnZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5uYXYtc3RhdGljX19zZWFndWxsLWxlZnQsIC5uYXYtc3RhdGljX19zZWFndWxsLXJpZ2h0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTEwcHg7XG4gIGJvdHRvbTogMzVweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTE4OHB4KSB7XG4gICAgLm5hdi1zdGF0aWNfX3NlYWd1bGwtbGVmdCwgLm5hdi1zdGF0aWNfX3NlYWd1bGwtcmlnaHQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5uYXYtc3RhdGljX19zZWFndWxsLWxlZnQge1xuICBsZWZ0OiAwOyB9XG5cbi5uYXYtc3RhdGljX19zZWFndWxsLXJpZ2h0IHtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGVYKC0xKTsgfVxuXG4ubmF2LXN0YXRpY19fY2hmLWlsbHVzdHJhdGlvbnMge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogOTk5O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHRvcDogMHB4OyB9XG4gIC5zZWFyY2gtYWN0aXZlIC5uYXYtc3RhdGljX19jaGYtaWxsdXN0cmF0aW9ucyB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NDlweCkge1xuICAgIC5uYXYtc3RhdGljX19jaGYtaWxsdXN0cmF0aW9ucyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc1MHB4KSBhbmQgKG1heC13aWR0aDogMTI5OXB4KSB7XG4gIC5uYXYtc3RhdGljX19jaGYtaWxsdXN0cmF0aW9ucyB7XG4gICAgbWF4LXdpZHRoOiAxMDAwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gICAgLm5hdi1zdGF0aWNfX2NoZi1pbGx1c3RyYXRpb25zIHtcbiAgICAgIG1heC13aWR0aDogMTM2MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyOTlweCkge1xuICAgIC5uYXYtc3RhdGljX19jaGYtaWxsdXN0cmF0aW9ucyA+IGltZzpudGgtY2hpbGQoMSkge1xuICAgICAgbWF4LXdpZHRoOiAxNDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5uYXYtc3RhdGljX19jaGYtaWxsdXN0cmF0aW9ucyA+IGltZzpudGgtY2hpbGQoMSkge1xuICAgICAgbWF4LXdpZHRoOiAxMTBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjk5cHgpIHtcbiAgICAubmF2LXN0YXRpY19fY2hmLWlsbHVzdHJhdGlvbnMgPiBpbWc6bnRoLWNoaWxkKDIpIHtcbiAgICAgIG1heC13aWR0aDogMTY4cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAubmF2LXN0YXRpY19fY2hmLWlsbHVzdHJhdGlvbnMgPiBpbWc6bnRoLWNoaWxkKDIpIHtcbiAgICAgIG1heC13aWR0aDogMTQwcHg7IH0gfVxuXG4ubmF2LWRyb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogNjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MzYxNTM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjM5LCAwLjU3NSwgMC41NjUsIDEpO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICBoZWlnaHQ6IDExMHB4OyB9XG4gIC5uYXYtZHJvcC5oZWFkcm9vbS0tcGlubmVkIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgLm5hdi1kcm9wLmhlYWRyb29tLS10b3Age1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cbiAgLm5hdi1vcGVuIC5uYXYtZHJvcCxcbiAgLnNlYXJjaC1hY3RpdmUtLXN0aWNreSAubmF2LWRyb3Age1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLm5hdi1kcm9wX19uYXYge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjNzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSkgMHM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQzNjE1MztcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgLyogaGFzIHRvIGJlIHNjcm9sbCwgbm90IGF1dG8gKi9cbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH0gfVxuXG4ubmF2LW9wZW4gLm5hdi1kcm9wX19uYXYge1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgLjRzIC4wNnM7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLm5hdi1vcGVuIC5uYXYtZHJvcF9fbmF2IHtcbiAgICAgIGhlaWdodDogY2FsYyh2YXIoLS12aCwgMXZoKSAqIDEwMCAtIDQ5cHggLSA2NHB4KTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5uYXYtb3BlbiAubmF2LWRyb3BfX25hdiB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXZoLCAxdmgpICogMTAwIC0gNjFweCAtIDcycHgpOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5uYXYtZHJvcF9fbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAubmF2LWRyb3BfX25hdi0tcmlnaHQsIC5uYXYtZHJvcF9fbmF2LS1sZWZ0IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAzNXB4KTtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9IH1cblxuLm5hdi1kcm9wX19saW5rIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cztcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmbGV4OiAxIDEgMDsgfVxuICAubmF2LWRyb3BfX2xpbms6YWN0aXZlLCAubmF2LWRyb3BfX2xpbms6Zm9jdXMsIC5uYXYtZHJvcF9fbGluazpob3ZlcixcbiAgLm5vLXRvdWNoIC5uYXYtZHJvcF9fbGluazpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLm5hdi1kcm9wX19saW5rIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgIC5uYXYtZHJvcF9fbGluazpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgdG9wOiAtMTBweDtcbiAgICAgICAgYm90dG9tOiAtMTBweDtcbiAgICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgICAgICBsZWZ0OiAtMTBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAubmF2LWRyb3BfX2xpbmsge1xuICAgICAgZm9udC1zaXplOiAxMnB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5uYXYtZHJvcF9fbGluayB7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuICAubmF2LWRyb3BfX2xpbmsuaXMtc2VsZWN0ZWQge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLm5hdi1kcm9wX19saW5rIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAubmF2LWRyb3BfX2xpbms6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAubmF2LWRyb3BfX2xpbmsge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLm5hdi1kcm9wX19zcGFjZXIge1xuICBmbGV4LWJhc2lzOiAxMjBweDsgfVxuXG4ubmF2LWRyb3BfX2xvZ28ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICBmaWxsOiB3aGl0ZTtcbiAgd2lkdGg6IDM1cHg7IH1cblxuLm5hdi1kcm9wX19zZWFyY2gtb3BlbiB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXM7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxO1xuICBsZWZ0OiAyMHB4O1xuICBmb250LXNpemU6IDIzcHg7IH1cbiAgLm5hdi1kcm9wX19zZWFyY2gtb3BlbjphY3RpdmUsIC5uYXYtZHJvcF9fc2VhcmNoLW9wZW46Zm9jdXMsIC5uYXYtZHJvcF9fc2VhcmNoLW9wZW46aG92ZXIsXG4gIC5uby10b3VjaCAubmF2LWRyb3BfX3NlYXJjaC1vcGVuOmhvdmVyIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAubmF2LWRyb3BfX3NlYXJjaC1vcGVuOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRvcDogLTEwcHg7XG4gICAgYm90dG9tOiAtMTBweDtcbiAgICByaWdodDogLTEwcHg7XG4gICAgbGVmdDogLTEwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLm5hdi1kcm9wX19zZWFyY2gtb3BlbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnNlYXJjaC1hY3RpdmUgLm5hdi1kcm9wX19zZWFyY2gtb3BlbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ubmF2LWRyb3BfX3NlYXJjaC1jbG9zZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXM7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxO1xuICBsZWZ0OiAyMHB4O1xuICBmb250LXNpemU6IDIwcHg7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm5hdi1kcm9wX19zZWFyY2gtY2xvc2U6YWN0aXZlLCAubmF2LWRyb3BfX3NlYXJjaC1jbG9zZTpmb2N1cywgLm5hdi1kcm9wX19zZWFyY2gtY2xvc2U6aG92ZXIsXG4gIC5uby10b3VjaCAubmF2LWRyb3BfX3NlYXJjaC1jbG9zZTpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLm5hdi1kcm9wX19zZWFyY2gtY2xvc2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiAtMTBweDtcbiAgICBib3R0b206IC0xMHB4O1xuICAgIHJpZ2h0OiAtMTBweDtcbiAgICBsZWZ0OiAtMTBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAubmF2LWRyb3BfX3NlYXJjaC1jbG9zZSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAuc2VhcmNoLWFjdGl2ZSAubmF2LWRyb3BfX3NlYXJjaC1jbG9zZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLm5hdi1kcm9wIC5oYW1idXJnZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHJpZ2h0OiAyMHB4OyB9XG4gIC5uYXYtZHJvcCAuaGFtYnVyZ2VyIC5oYW1idXJnZXItaW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gICAgLm5hdi1kcm9wIC5oYW1idXJnZXIgLmhhbWJ1cmdlci1pbm5lcjpiZWZvcmUsIC5uYXYtZHJvcCAuaGFtYnVyZ2VyIC5oYW1idXJnZXItaW5uZXI6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgLm5vLXRvdWNoIC5uYXYtZHJvcCAuaGFtYnVyZ2VyOmhvdmVyIC5oYW1idXJnZXItaW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuICAgIC5uby10b3VjaCAubmF2LWRyb3AgLmhhbWJ1cmdlcjpob3ZlciAuaGFtYnVyZ2VyLWlubmVyOmJlZm9yZSwgLm5vLXRvdWNoIC5uYXYtZHJvcCAuaGFtYnVyZ2VyOmhvdmVyIC5oYW1idXJnZXItaW5uZXI6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5uYXYtZHJvcCAuaGFtYnVyZ2VyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uc2VhcmNoLXJlc3VsdHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDM2MTUzO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5zZWFyY2gtYWN0aXZlIC5zZWFyY2gtcmVzdWx0cyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiA2MHB4OyB9XG4gIC5zZWFyY2gtYWN0aXZlLS1zdGF0aWMgLnNlYXJjaC1yZXN1bHRzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNTlweDsgfVxuICAuc2VhcmNoLWFjdGl2ZS0tc3RpY2t5IC5zZWFyY2gtcmVzdWx0cyB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMTU5cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLnNlYXJjaC1yZXN1bHRzIC5sLWd1dHRlcnMge1xuICAgICAgcGFkZGluZzogMCAxMHB4OyB9IH1cblxuLnNlYXJjaC1yZXN1bHRzX19jb2xzIHtcbiAgbG9zdC1mbGV4LWNvbnRhaW5lcjogcm93OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAuc2VhcmNoLXJlc3VsdHNfX2NvbCB7XG4gICAgbG9zdC1jb2x1bW46IDEvMiAyIDEwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuc2VhcmNoLXJlc3VsdHNfX2NvbCB7XG4gICAgbG9zdC1jb2x1bW46IDEvMyAzIDIwcHg7IH1cbiAgICAuc2VhcmNoLXJlc3VsdHNfX2NvbDpudGgtY2hpbGQoNCkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAuc2VhcmNoLXJlc3VsdHNfX2NvbCB7XG4gICAgbG9zdC1jb2x1bW46IDEvNCA0IDIwcHg7IH0gfVxuXG4uc2VhcmNoLXJlc3VsdHNfX3NlYXJjaC1maWVsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAuc2VhcmNoLWFjdGl2ZSAuc2VhcmNoLXJlc3VsdHNfX3NlYXJjaC1maWVsZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAuc2VhcmNoLXJlc3VsdHNfX3NlYXJjaC1pbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzM7IH0gfVxuXG4uc2VhcmNoLXJlc3VsdHNfX2hlYWRpbmcge1xuICBjb2xvcjogd2hpdGU7XG4gIG1hcmdpbjogMTBweCAwOyB9XG5cbi5zZWFyY2gtcmVzdWx0c19fcmVzdWx0IHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuXG4uc2VhcmNoLXJlc3VsdHNfX3RpdGxlLCAuc2VhcmNoLXJlc3VsdHNfX25vLXJlc3VsdHMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAuc2VhcmNoLXJlc3VsdHNfX3RpdGxlOmFjdGl2ZSwgLnNlYXJjaC1yZXN1bHRzX19uby1yZXN1bHRzOmFjdGl2ZSwgLnNlYXJjaC1yZXN1bHRzX190aXRsZTpmb2N1cywgLnNlYXJjaC1yZXN1bHRzX19uby1yZXN1bHRzOmZvY3VzLCAuc2VhcmNoLXJlc3VsdHNfX3RpdGxlOmhvdmVyLCAuc2VhcmNoLXJlc3VsdHNfX25vLXJlc3VsdHM6aG92ZXIsXG4gIC5uby10b3VjaCAuc2VhcmNoLXJlc3VsdHNfX3RpdGxlOmhvdmVyLFxuICAubm8tdG91Y2ggLnNlYXJjaC1yZXN1bHRzX19uby1yZXN1bHRzOmhvdmVyIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5zZWFyY2gtcmVzdWx0c19faW1nIHtcbiAgZmlsdGVyOiBibHVyKDApO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG4gIG1hcmdpbi1ib3R0b206IDZweDtcbiAgYm94LXNoYWRvdzogMCA0cHggMjRweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgLm5vLXRvdWNoIC5zZWFyY2gtcmVzdWx0c19faW1nOmhvdmVyLCAuc2VhcmNoLXJlc3VsdHNfX2ltZy5pcy1zZWxlY3RlZCB7XG4gICAgZmlsdGVyOiBibHVyKDApIGJyaWdodG5lc3MoMS4wOCk7IH1cblxuLm5vLXRvdWNoIC5zZWFyY2gtcmVzdWx0c19fbm8tcmVzdWx0czpob3ZlciwgLnNlYXJjaC1yZXN1bHRzX19uby1yZXN1bHRzOmZvY3VzIHtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAucGFnaW5hdGlvbi0tdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0gfVxuICAucGFnaW5hdGlvbi1oaWRkZW4gLnBhZ2luYXRpb24ge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnBhZ2luYXRpb24gYnV0dG9uIHtcbiAgICBtYXJnaW46IDAgOHB4OyB9XG5cbi5wYWdpbmF0aW9uX19wcmV2LFxuLnBhZ2luYXRpb25fX25leHQge1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4OyB9XG4gIC5wYWdpbmF0aW9uX19wcmV2IHNwYW4sXG4gIC5wYWdpbmF0aW9uX19uZXh0IHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogNDFweDsgfVxuXG4ucGFnaW5hdGlvbl9fbmV4dCBzcGFuIHtcbiAgbWFyZ2luLWxlZnQ6IDJweDsgfVxuXG4ucGFnaW5hdGlvbl9fcHJldiBzcGFuIHtcbiAgbWFyZ2luLWxlZnQ6IC0ycHg7IH1cblxuLnBhZ2luYXRpb25fX3BhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXM7XG4gIGNvbG9yOiBibGFjazsgfVxuICAucGFnaW5hdGlvbl9fcGFnZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0b3A6IC0xMHB4O1xuICAgIGJvdHRvbTogLTEwcHg7XG4gICAgcmlnaHQ6IC0xMHB4O1xuICAgIGxlZnQ6IC0xMHB4OyB9XG4gIC5wYWdpbmF0aW9uX19wYWdlOmFjdGl2ZSwgLnBhZ2luYXRpb25fX3BhZ2U6Zm9jdXMsIC5wYWdpbmF0aW9uX19wYWdlOmhvdmVyLFxuICAubm8tdG91Y2ggLnBhZ2luYXRpb25fX3BhZ2U6aG92ZXIge1xuICAgIGNvbG9yOiAjNDM2MTUzO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5wYWdpbmF0aW9uX19wYWdlLmlzLXNlbGVjdGVkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29sb3I6ICM0MzYxNTM7IH1cbiAgLnBhZ2luYXRpb25fX3BhZ2UtLXNwcmVhZCB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4ucGxhbm5lciB7XG4gIHotaW5kZXg6IDEwMTA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5wbGFubmVyIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogNDhweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC40cyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpIDBzOyB9XG4gICAgICAucGxhbm5lci1hY3RpdmUgLnBsYW5uZXIge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoKHZhcigtLXZoLCAxdmgpICogMTAwKSAtIDQ4cHgpO1xuICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgLjRzIC4wNnM7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNTBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5wbGFubmVyIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiA2MXB4O1xuICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIGJveC1zaGFkb3c6IC0ycHggMCAwIDAgcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSk7IH1cbiAgICAgIC5wbGFubmVyLWFjdGl2ZSAucGxhbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpOyB9IH1cbiAgLnBsYW5uZXIgLnRpcHB5LXBvcHBlciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5wbGFubmVyX19zY3JvbGwtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBoZWlnaHQ6IDEwMHZoO1xuICAvKiBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBDdXN0b20gUHJvcGVydGllcyAqLyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5wbGFubmVyX19zY3JvbGwtY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogY2FsYygodmFyKC0tdmgsIDF2aCkgKiAxMDApIC0gNDRweCAtIDQycHgpOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLnBsYW5uZXJfX3Njcm9sbC1jb250YWluZXIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDFweCAtIDYwcHgpOyB9IH1cblxuLnBsYW5uZXJfX2hlYWRpbmcge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyMzgsIDE3NSwgMTE1LCAwLjEpO1xuICBwYWRkaW5nOiAxM3B4IDAgMTFweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAucGxhbm5lcl9faGVhZGluZyB7XG4gICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjM4LCAxNzUsIDExNSwgMC4xKTsgfSB9XG5cbi5wbGFubmVyX19jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNXB4KSB0cmFuc2xhdGVZKDFweCk7XG4gIHotaW5kZXg6IDE7XG4gIGNvbG9yOiAjNDM2MTUzOyB9XG4gIC5wbGFubmVyX19jbG9zZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0b3A6IC0xMHB4O1xuICAgIGJvdHRvbTogLTEwcHg7XG4gICAgcmlnaHQ6IC0xMHB4O1xuICAgIGxlZnQ6IC0xMHB4OyB9XG5cbi5wbGFubmVyX19oZWxwIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAxNDBweDtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNHMgY3ViaWMtYmV6aWVyKDAuMzksIDAuNTc1LCAwLjU2NSwgMSk7IH1cbiAgLnBsYW5uZXIuaGVscC1pcy1oaWRkZW4gLnBsYW5uZXJfX2hlbHAsXG4gIC5pcy12YWxpZGF0aW5nLWVtYWlsIC5wbGFubmVyX19oZWxwLFxuICAuaXMtcmV0dXJuaW5nLXVzZXIgLnBsYW5uZXJfX2hlbHAsXG4gIC5pcy1uZXctdXNlciAucGxhbm5lcl9faGVscCxcbiAgLmlzLXJlc2V0dGluZy1wYXNzd29yZCAucGxhbm5lcl9faGVscCxcbiAgLmlzLWZhY2Vib29rLXVzZXItbm8tcHcgLnBsYW5uZXJfX2hlbHAsXG4gIGJvZHkubG9nZ2VkLWluIC5wbGFubmVyX19oZWxwIHtcbiAgICBoZWlnaHQ6IDBweDsgfVxuXG4ucGxhbm5lcl9faGVscC1ndXR0ZXJzIHtcbiAgcGFkZGluZzogMjBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkVGN0Y2O1xuICBsaW5lLWhlaWdodDogMS40OyB9XG4gIC5wbGFubmVyX19oZWxwLWd1dHRlcnMgcCBidXR0b24ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cztcbiAgICBjb2xvcjogIzQzNjE1MztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wbGFubmVyX19oZWxwLWd1dHRlcnMgcCBidXR0b246YWN0aXZlLCAucGxhbm5lcl9faGVscC1ndXR0ZXJzIHAgYnV0dG9uOmZvY3VzLCAucGxhbm5lcl9faGVscC1ndXR0ZXJzIHAgYnV0dG9uOmhvdmVyLFxuICAgIC5uby10b3VjaCAucGxhbm5lcl9faGVscC1ndXR0ZXJzIHAgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNDM2MTUzO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAucGxhbm5lcl9faGVscC1ndXR0ZXJzIHAgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgdG9wOiAtMTBweDtcbiAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICByaWdodDogLTEwcHg7XG4gICAgICBsZWZ0OiAtMTBweDsgfVxuICAucGxhbm5lcl9faGVscC1ndXR0ZXJzIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4ucGxhbm5lcl9faGVscC1kaXNtaXNzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xuICBjb2xvcjogIzQzNjE1MztcbiAgbWFyZ2luLWJvdHRvbTogMTRweDsgfVxuICAucGxhbm5lcl9faGVscC1kaXNtaXNzOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRvcDogLTEwcHg7XG4gICAgYm90dG9tOiAtMTBweDtcbiAgICByaWdodDogLTEwcHg7XG4gICAgbGVmdDogLTEwcHg7IH1cbiAgLnBsYW5uZXJfX2hlbHAtZGlzbWlzczphY3RpdmUsIC5wbGFubmVyX19oZWxwLWRpc21pc3M6Zm9jdXMsIC5wbGFubmVyX19oZWxwLWRpc21pc3M6aG92ZXIsXG4gIC5uby10b3VjaCAucGxhbm5lcl9faGVscC1kaXNtaXNzOmhvdmVyIHtcbiAgICBjb2xvcjogIzQzNjE1MztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnBsYW5uZXJfX2ljb24ge1xuICBmb250LXNpemU6IDMwcHg7XG4gIG1hcmdpbjogNDBweCAwIDIwcHg7IH1cblxuLnBsYW5uZXJfX2VtcHR5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmlzLWVtcHR5IC5wbGFubmVyX19lbXB0eSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmlzLXZhbGlkYXRpbmctZW1haWwgLnBsYW5uZXJfX2VtcHR5LFxuICAuaXMtcmV0dXJuaW5nLXVzZXIgLnBsYW5uZXJfX2VtcHR5LFxuICAuaXMtbmV3LXVzZXIgLnBsYW5uZXJfX2VtcHR5LFxuICAuaXMtcmVzZXR0aW5nLXBhc3N3b3JkIC5wbGFubmVyX19lbXB0eSxcbiAgLmlzLWZhY2Vib29rLXVzZXItbm8tcHcgLnBsYW5uZXJfX2VtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wbGFubmVyX19lbXB0eSBidXR0b24sIC5wbGFubmVyX19lbXB0eSBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wbGFubmVyX19lbXB0eSBidXR0b246YmVmb3JlLCAucGxhbm5lcl9fZW1wdHkgYTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIHRvcDogLTEwcHg7XG4gICAgICBib3R0b206IC0xMHB4O1xuICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgICAgbGVmdDogLTEwcHg7IH1cblxuLnBsYW5uZXJfX2VtcHR5LW5vLWFjY291bnQge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xuICBjb2xvcjogIzQzNjE1MztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnBsYW5uZXJfX2VtcHR5LW5vLWFjY291bnQ6YWN0aXZlLCAucGxhbm5lcl9fZW1wdHktbm8tYWNjb3VudDpmb2N1cywgLnBsYW5uZXJfX2VtcHR5LW5vLWFjY291bnQ6aG92ZXIsXG4gIC5uby10b3VjaCAucGxhbm5lcl9fZW1wdHktbm8tYWNjb3VudDpob3ZlciB7XG4gICAgY29sb3I6ICM0MzYxNTM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmlzLWVtcHR5IC5wbGFubmVyX19lbXB0eS1uby1hY2NvdW50IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBib2R5LmxvZ2dlZC1pbiAuaXMtZW1wdHkgLnBsYW5uZXJfX2VtcHR5LW5vLWFjY291bnQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBsYW5uZXJfX2VtcHR5LWxvZ2dlZC1pbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgYm9keS5sb2dnZWQtaW4gLmlzLWVtcHR5IC5wbGFubmVyX19lbXB0eS1sb2dnZWQtaW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ucGxhbm5lcl9fYWNjb3VudCB7XG4gIHBhZGRpbmc6IDMycHggNDJweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuaXMtdmFsaWRhdGluZy1lbWFpbCAucGxhbm5lcl9fYWNjb3VudCxcbiAgLmlzLW5ldy11c2VyIC5wbGFubmVyX19hY2NvdW50LFxuICAuaXMtcmV0dXJuaW5nLXVzZXIgLnBsYW5uZXJfX2FjY291bnQsXG4gIC5pcy1yZXNldHRpbmctcGFzc3dvcmQgLnBsYW5uZXJfX2FjY291bnQsXG4gIC5pcy1mYWNlYm9vay11c2VyLW5vLXB3IC5wbGFubmVyX19hY2NvdW50IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucGxhbm5lcl9fYWNjb3VudC1oZWFkaW5nIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG5cbi5wbGFubmVyX19hY2NvdW50LWRlc2MsIC5wbGFubmVyX19hY2NvdW50LXByZWV4aXN0aW5nIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IH1cblxuLnBsYW5uZXJfX2FjY291bnQtZGVzYyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmlzLW5ldy11c2VyIC5wbGFubmVyX19hY2NvdW50LWRlc2Mge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wbGFubmVyX19hY2NvdW50LXByZWV4aXN0aW5nIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuaXMtcmV0dXJuaW5nLXVzZXItYXR0ZW1wdGluZy1yZWdpc3RyYXRpb24gLnBsYW5uZXJfX2FjY291bnQtcHJlZXhpc3Rpbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5pcy1yZXNldC1yZXF1ZXN0LXN1Y2Nlc3MgLnBsYW5uZXJfX2VtYWlsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGxhbm5lcl9fc3VibWl0LWJ0biwgLnBsYW5uZXJfX2ZhY2Vib29rLWJ0biB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4OyB9XG4gIC5pcy1yZXR1cm5pbmctdXNlciAucGxhbm5lcl9fc3VibWl0LWJ0biwgLmlzLXJldHVybmluZy11c2VyIC5wbGFubmVyX19mYWNlYm9vay1idG4ge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgLmlzLXJldHVybmluZy11c2VyIC5wbGFubmVyX19wdy5pcy1pbnZhbGlkIH4gLnBsYW5uZXJfX3N1Ym1pdC1idG4sIC5pcy1yZXR1cm5pbmctdXNlciAucGxhbm5lcl9fcHcuaXMtaW52YWxpZCB+IC5wbGFubmVyX19mYWNlYm9vay1idG4ge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmlzLXJlc2V0LXJlcXVlc3Qtc3VjY2VzcyAucGxhbm5lcl9fc3VibWl0LWJ0biwgLmlzLXJlc2V0LXJlcXVlc3Qtc3VjY2VzcyAucGxhbm5lcl9fZmFjZWJvb2stYnRuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5wbGFubmVyX19mYWNlYm9vay1idG4ge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYjU5OTg7XG4gIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICBmb250LWZhbWlseTogYXJpYWw7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wbGFubmVyX19mYWNlYm9vay1idG4uaXMtc2VsZWN0ZWQsXG4gIC5uby10b3VjaCAucGxhbm5lcl9fZmFjZWJvb2stYnRuOmhvdmVyLCAucGxhbm5lcl9fZmFjZWJvb2stYnRuOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzA0ODdiOyB9XG4gIC5wbGFubmVyX19mYWNlYm9vay1idG4gc3BhbjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAucGxhbm5lcl9fZmFjZWJvb2stYnRuIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgbGVmdDogOHB4O1xuICAgIGZvbnQtc2l6ZTogMjZweDsgfVxuXG4ucGxhbm5lcl9fbG9jYXRpb24ge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5pcy1uZXctdXNlciAucGxhbm5lcl9fbG9jYXRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wbGFubmVyX19uYW1lIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuaXMtbmV3LXVzZXIgLnBsYW5uZXJfX25hbWUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wbGFubmVyX19wdyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmlzLW5ldy11c2VyIC5wbGFubmVyX19wdyxcbiAgLmlzLXJldHVybmluZy11c2VyIC5wbGFubmVyX19wdyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnBsYW5uZXJfX2ZvcmdvdC1wdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICByaWdodDogMDtcbiAgYm90dG9tOiAtMThweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICM0MzYxNTM7IH1cbiAgLmlzLXJldHVybmluZy11c2VyIC5wbGFubmVyX19mb3Jnb3QtcHcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wbGFubmVyX19mYWNlYm9vay11c2VyLW5vLXB3LWVycm9yIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogIzQzNjE1MztcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuaXMtZmFjZWJvb2stdXNlci1uby1wdyAucGxhbm5lcl9fZmFjZWJvb2stdXNlci1uby1wdy1lcnJvciB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnBsYW5uZXJfX3Jlc2V0LXBhc3N3b3JkLXJlcXVlc3RlZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuaXMtcmVzZXQtcmVxdWVzdC1zdWNjZXNzIC5wbGFubmVyX19yZXNldC1wYXNzd29yZC1yZXF1ZXN0ZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wbGFubmVyX19ociB7XG4gIG1hcmdpbjogMjRweCAwOyB9XG4gIC5pcy1yZXNldC1yZXF1ZXN0LXN1Y2Nlc3MgLnBsYW5uZXJfX2hyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5wcm9tb3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0aG1lbWlmeShcInByb21vLWJnXCIpO1xuICBwYWRkaW5nLXRvcDogNDBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAucHJvbW9zIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1MHB4OyB9IH1cblxuLnByb21vc19faW1nLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nOiAwIDAgNTYlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2xvYWRpbmcuZ2lmKTtcbiAgYmFja2dyb3VuZC1zaXplOiA1MHB4IDUwcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cbiAgLnByb21vc19faW1nLWxpbmsgaW1nIHtcbiAgICBmaWx0ZXI6IGJsdXIoMCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogbm9uZTsgfVxuICAgIC5uby10b3VjaCAucHJvbW9zX19pbWctbGluayBpbWc6aG92ZXIsIC5wcm9tb3NfX2ltZy1saW5rIGltZy5pcy1zZWxlY3RlZCB7XG4gICAgICBmaWx0ZXI6IGJsdXIoMCkgYnJpZ2h0bmVzcygxLjA4KTsgfVxuICAgIC5wcm9tb3NfX2ltZy1saW5rIGltZy5iLWxvYWRlZCB7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuXG4ucHJvbW9zX19jb250ZW50IHtcbiAgcGFkZGluZzogMCAxMHB4OyB9XG5cbi5wcm9tb3NfX2hlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXM7XG4gIGNvbG9yOiAjMDM0NzMyOyB9XG4gIC5wcm9tb3NfX2hlYWRpbmc6YWN0aXZlLCAucHJvbW9zX19oZWFkaW5nOmZvY3VzLCAucHJvbW9zX19oZWFkaW5nOmhvdmVyLFxuICAubm8tdG91Y2ggLnByb21vc19faGVhZGluZzpob3ZlciB7XG4gICAgY29sb3I6ICM0MzYxNTM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5yZXNldCB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG5cbi5yZXNldF9fZm9ybSB7XG4gIG1heC13aWR0aDogNDIwcHg7IH1cbiAgLmxvZ2dlZC1pbiAucmVzZXRfX2Zvcm0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnJlc2V0X19zdWNjZXNzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAubG9nZ2VkLWluIC5yZXNldF9fc3VjY2VzcyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmxvZ2dlZC1pbiAucmVzZXRfX2Rlc2Mge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAuc2NoZWR1bGUgPiAubC1ndXR0ZXJzIHtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuLnNjaGVkdWxlID4gLmwtZ3V0dGVycyAubC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDE2MDBweDsgfVxuXG4uc2NoZWR1bGUgLmZvcm1fX2N0cmwtbGFiZWwge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiBibGFjaztcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4uc2NoZWR1bGUgLmZvcm1fX2NoZWNrYm94IHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuXG4uZmlsdGVycy1vcGVuIC5zY2hlZHVsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cblxuLnNjaGVkdWxlX19jb2xzIHtcbiAgbG9zdC11dGlsaXR5OiBjbGVhcmZpeDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAuc2NoZWR1bGVfX2NvbHMge1xuICAgICAgbWFyZ2luOiAwIDIwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnNjaGVkdWxlX19jb2w6bnRoLWNoaWxkKDEpIHtcbiAgICB3aWR0aDogMzQwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODUwcHgpIHtcbiAgLnNjaGVkdWxlX19jb2w6bnRoLWNoaWxkKDEpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5zY2hlZHVsZV9fY29sOm50aC1jaGlsZCgyKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI4MHB4IC0gNjBweCk7IH0gfVxuXG4uc2NoZWR1bGVfX3R5cGVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luOiAyMHB4IGF1dG8gMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAuc2NoZWR1bGVfX3R5cGVzIHtcbiAgICAgIHdpZHRoOiAyODBweDsgfSB9XG4gIC5zY2hlZHVsZV9fdHlwZXMgPiBidXR0b24ge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZzogMTJweCAwO1xuICAgIGNvbG9yOiAjNDM2MTUzO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNjcsIDk3LCA4MywgMC4zNSk7IH1cbiAgICAuc2NoZWR1bGVfX3R5cGVzID4gYnV0dG9uLmlzLXNlbGVjdGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MzYxNTM7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuc2NoZWR1bGVfX3R5cGVzID4gYnV0dG9uOm50aC1jaGlsZCgxKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDsgfVxuICAgIC5zY2hlZHVsZV9fdHlwZXMgPiBidXR0b246bnRoLWNoaWxkKDIpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwOyB9XG5cbi5pcy1saXN0IC5zY2hlZHVsZV9fY2FsZW5kYXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zY2hlZHVsZV9faHIge1xuICBtYXJnaW4tdG9wOiAxOHB4O1xuICBtYXJnaW4tYm90dG9tOiAxOHB4OyB9XG5cbi5zY2hlZHVsZV9fZmlsdGVycyB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5zY2hlZHVsZV9fZmlsdGVycyB7XG4gICAgICB3aWR0aDogMzIwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9IH1cbiAgLnNjaGVkdWxlX19maWx0ZXJzIC5mb3JtX19jaGVja2JveC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNjaGVkdWxlX19maWx0ZXItYnktaGVhZGluZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTlweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZWVmIC5zY2hlZHVsZV9fZmlsdGVyLWJ5LWhlYWRpbmcge1xuICAgIGZvbnQtZmFtaWx5OiBcImZhdm9yaXRcIjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnNjaGVkdWxlX19maWx0ZXJzLWhlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICBjb2xvcjogI2YyNjY0NjsgfVxuXG4uc2NoZWR1bGVfX2ZpbHRlcnMtdG9nZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5zY2hlZHVsZV9fZmlsdGVycy10b2dnbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiAtMTBweDtcbiAgICBib3R0b206IC0xMHB4O1xuICAgIHJpZ2h0OiAtMTBweDtcbiAgICBsZWZ0OiAtMTBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAuc2NoZWR1bGVfX2ZpbHRlcnMtdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuc2NoZWR1bGVfX2ZpbHRlcnMtdG9nZ2xlIHNwYW4ge1xuICAgIGxpbmUtaGVpZ2h0OiAxOXB4OyB9XG4gIC5maWx0ZXJzLW9wZW4gLnNjaGVkdWxlX19maWx0ZXJzLXRvZ2dsZSAuaWNvbi1wbHVzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zY2hlZHVsZV9fZmlsdGVycy10b2dnbGUgLmljb24tY2xvc2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZmlsdGVycy1vcGVuIC5zY2hlZHVsZV9fZmlsdGVycy10b2dnbGUgLmljb24tY2xvc2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnNjaGVkdWxlX19maWx0ZXJzLWNvbHMge1xuICBsb3N0LWZsZXgtY29udGFpbmVyOiByb3c7IH1cblxuLnNjaGVkdWxlX19maWx0ZXJzLWNvbCB7XG4gIGxvc3QtY29sdW1uOiAxLzIgMiAxMHB4OyB9XG5cbi5zY2hlZHVsZV9fZGF0ZSB7XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyMzgsIDE3NSwgMTE1LCAwLjEpO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiA4cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLnNjaGVkdWxlX19kYXRlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9IH1cbiAgLnBsYW5uZXIgLnNjaGVkdWxlX19kYXRlIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC5zY2hlZHVsZV9fZmlsdGVycy1jb2xsYXBzYWJsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIHotaW5kZXg6IDEwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgICAuZmlsdGVycy1vcGVuIC5zY2hlZHVsZV9fZmlsdGVycy1jb2xsYXBzYWJsZSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMikgMHB4IDVweCA2cHggMHB4OyB9IH1cblxuLnNjaGVkdWxlX19hY3Rpb25zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5zY2hlZHVsZV9fYWN0aW9ucyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnNjaGVkdWxlX19hY3Rpb25zLXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5zY2hlZHVsZV9fYXBwbHktZmlsdGVycyB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDhweCAxNnB4OyB9XG5cbi5zY2hlZHVsZV9fY2xlYXItYWxsIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cztcbiAgY29sb3I6ICM0MzYxNTM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLnNjaGVkdWxlX19jbGVhci1hbGw6YWN0aXZlLCAuc2NoZWR1bGVfX2NsZWFyLWFsbDpmb2N1cywgLnNjaGVkdWxlX19jbGVhci1hbGw6aG92ZXIsXG4gIC5uby10b3VjaCAuc2NoZWR1bGVfX2NsZWFyLWFsbDpob3ZlciB7XG4gICAgY29sb3I6ICM0MzYxNTM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5zZXNzaW9ucyB7XG4gIGxvc3QtZmxleC1jb250YWluZXI6IHJvdzsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLnNlc3Npb25zX19jb2wge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5zZXNzaW9uc19fY29sIHtcbiAgICBsb3N0LWNvbHVtbjogNi40IDEgMHB4O1xuICAgIGxvc3Qtb2Zmc2V0OiAwLjYvNzsgfSB9XG5cbi5zZXNzaW9uc19faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLnNlc3Npb25zX19jaW5lbWEtaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuc2NoZWR1bGUgLnNlc3Npb25zX19jaW5lbWEtaGVhZGluZyxcbiAgLnNlc3Npb25zIC5zZXNzaW9uc19fY2luZW1hLWhlYWRpbmcge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAucGxhbm5lciAuc2Vzc2lvbnNfX2NpbmVtYS1oZWFkaW5nIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICBmb250LXNpemU6IDEwcHg7IH1cbiAgLmZmYSAuc2Vzc2lvbnNfX2NpbmVtYS1oZWFkaW5nIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uaGFzLXRvdWNoIC5zZXNzaW9uc19fc2Nyb2xsLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaGFzLXRvdWNoIC5zZXNzaW9uc19fc2Nyb2xsLWNvbnRhaW5lcjphZnRlciB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LCAyMTIsIDIyMSwgMCksICNmZmQ0ZGQpOyB9XG5cbi5zZXNzaW9uc19fZGF0ZXMgYnV0dG9uLCAuc2Vzc2lvbnNfX2xpc3QgbGkgPiBidXR0b24sXG4uc2Vzc2lvbnNfX2xpc3QgbGkgPiBhIHtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC1zaXplOiAxMnB4OyB9XG4gIC5wbGFubmVyIC5zZXNzaW9uc19fZGF0ZXMgYnV0dG9uLCAuc2Vzc2lvbnNfX2RhdGVzIC5wbGFubmVyIGJ1dHRvbiwgLnBsYW5uZXIgLnNlc3Npb25zX19saXN0IGxpID4gYnV0dG9uLCAuc2Vzc2lvbnNfX2xpc3QgLnBsYW5uZXIgbGkgPiBidXR0b24sXG4gIC5wbGFubmVyIC5zZXNzaW9uc19fbGlzdCBsaSA+IGEsIC5zZXNzaW9uc19fbGlzdCAucGxhbm5lciBsaSA+IGEge1xuICAgIHBhZGRpbmc6IDRweCA1cHg7IH1cbiAgLnNlc3Npb25zX19kYXRlcyBidXR0b24gc3BhbjpudGgtY2hpbGQoMiksIC5zZXNzaW9uc19fbGlzdCBsaSA+IGJ1dHRvbiBzcGFuOm50aC1jaGlsZCgyKSwgLnNlc3Npb25zX19saXN0IGxpID4gYSBzcGFuOm50aC1jaGlsZCgyKSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi5zZXNzaW9uc19fZGF0ZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgLm5vLXRvdWNoIC5zZXNzaW9uc19fZGF0ZXMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuaGFzLXRvdWNoIC5zZXNzaW9uc19fZGF0ZXMge1xuICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAuZmlsbS1ncmlkIC5oYXMtdG91Y2ggLnNlc3Npb25zX19kYXRlcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7IH1cbiAgLnNlc3Npb25zX19kYXRlcyBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBmbGV4LXNocmluazogMDsgfVxuICAgIC5zZXNzaW9uc19fZGF0ZXMgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XG4gIC5zZXNzaW9uc19fZGF0ZXMgYnV0dG9uIHtcbiAgICBjb2xvcjogIzQzNjE1MztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVhZjczOyB9XG4gICAgLnNlc3Npb25zX19kYXRlcyBidXR0b24uaXMtc2VsZWN0ZWQsIC5zZXNzaW9uc19fZGF0ZXMgYnV0dG9uOmhvdmVyLCAuc2Vzc2lvbnNfX2RhdGVzIGJ1dHRvbjpmb2N1cyB7XG4gICAgICBjb2xvcjogI0ZGRjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MzYxNTM7IH1cblxuLnNlc3Npb25zX19saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zZXNzaW9uc19fbGlzdCBsaSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIC5zZXNzaW9uc19fbGlzdCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cbiAgLnNlc3Npb25zX19saXN0IGxpID4gYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgLnNlc3Npb25zX19saXN0IGxpID4gYnV0dG9uLFxuICAuc2Vzc2lvbnNfX2xpc3QgbGkgPiBhIHtcbiAgICBjb2xvcjogIzQzNjE1MztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVhZjczOyB9XG4gICAgLnNlc3Npb25zX19saXN0IGxpID4gYnV0dG9uOmhvdmVyLFxuICAgIC5uby10b3VjaCAuc2Vzc2lvbnNfX2xpc3QgbGkgPiBidXR0b246Zm9jdXMsXG4gICAgLnNlc3Npb25zX19saXN0IGxpID4gYTpob3ZlcixcbiAgICAubm8tdG91Y2hcbiAgICAuc2Vzc2lvbnNfX2xpc3QgbGkgPiBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjNDM2MTUzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VEREVEQjsgfVxuICAgIC5zZXNzaW9uc19fbGlzdCBsaSA+IGJ1dHRvbi5zZXNzaW9uc19fdGltZS0tc3BlY2lhbC1ldmVudCxcbiAgICAuc2Vzc2lvbnNfX2xpc3QgbGkgPiBhLnNlc3Npb25zX190aW1lLS1zcGVjaWFsLWV2ZW50IHtcbiAgICAgIGNvbG9yOiAjNDM2MTUzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlYWY3MzsgfVxuICAgICAgLnNlc3Npb25zX19saXN0IGxpID4gYnV0dG9uLnNlc3Npb25zX190aW1lLS1zcGVjaWFsLWV2ZW50OmhvdmVyLCAubm8tdG91Y2ggLnNlc3Npb25zX19saXN0IGxpID4gYnV0dG9uLnNlc3Npb25zX190aW1lLS1zcGVjaWFsLWV2ZW50OmZvY3VzLFxuICAgICAgLnNlc3Npb25zX19saXN0IGxpID4gYS5zZXNzaW9uc19fdGltZS0tc3BlY2lhbC1ldmVudDpob3ZlciwgLm5vLXRvdWNoXG4gICAgICAuc2Vzc2lvbnNfX2xpc3QgbGkgPiBhLnNlc3Npb25zX190aW1lLS1zcGVjaWFsLWV2ZW50OmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGM5YTA7IH1cbiAgLnNlc3Npb25zX19saXN0IGxpID4gYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5zZXNzaW9uc19fYnktZGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNlc3Npb25zX19ieS1kYXRlOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgLnBsYW5uZXIgLnNlc3Npb25zX19ieS1kYXRlOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDdweDsgfVxuICAuc2Vzc2lvbnNfX2J5LWRhdGUuaXMtc2hvd2luZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnBsYW5uZXIgLnNlc3Npb25zX19ieS1kYXRlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc2Vzc2lvbnNfX3RpbWUgLnRpcHB5LXBvcHBlciAudGlwcHktdG9vbHRpcCxcbi5zZXNzaW9uc19fbGlzdCAudGlwcHktcG9wcGVyIC50aXBweS10b29sdGlwIHtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNoYWRvdzogMCAycHggM3B4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm9yZGVyOiBzb2xpZCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjEpOyB9XG5cbi5zZXNzaW9uc19fdGltZSAudGlwcHktcG9wcGVyIC50aXBweS1jb250ZW50LFxuLnNlc3Npb25zX19saXN0IC50aXBweS1wb3BwZXIgLnRpcHB5LWNvbnRlbnQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiAycHg7IH1cblxuLnNlc3Npb25zX190aW1lIC50aXBweS1wb3BwZXIgLnRpcHB5LXRvb2x0aXAuZmlyc3Qtb3B0aW9uLWhhcy1mb2N1cyAudGlwcHktYXJyb3csXG4uc2Vzc2lvbnNfX2xpc3QgLnRpcHB5LXBvcHBlciAudGlwcHktdG9vbHRpcC5maXJzdC1vcHRpb24taGFzLWZvY3VzIC50aXBweS1hcnJvdyB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICM0MzYxNTM7IH1cbiAgLnNlc3Npb25zX190aW1lIC50aXBweS1wb3BwZXIgLnRpcHB5LXRvb2x0aXAuZmlyc3Qtb3B0aW9uLWhhcy1mb2N1cyAudGlwcHktYXJyb3c6YmVmb3JlLCAuc2Vzc2lvbnNfX3RpbWUgLnRpcHB5LXBvcHBlciAudGlwcHktdG9vbHRpcC5maXJzdC1vcHRpb24taGFzLWZvY3VzIC50aXBweS1hcnJvdzphZnRlcixcbiAgLnNlc3Npb25zX19saXN0IC50aXBweS1wb3BwZXIgLnRpcHB5LXRvb2x0aXAuZmlyc3Qtb3B0aW9uLWhhcy1mb2N1cyAudGlwcHktYXJyb3c6YmVmb3JlLFxuICAuc2Vzc2lvbnNfX2xpc3QgLnRpcHB5LXBvcHBlciAudGlwcHktdG9vbHRpcC5maXJzdC1vcHRpb24taGFzLWZvY3VzIC50aXBweS1hcnJvdzphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5oZXJpdDsgfVxuXG4uc2Vzc2lvbnNfX3RpbWUgLnRpcHB5LXBvcHBlciAudGlwcHktYXJyb3csXG4uc2Vzc2lvbnNfX2xpc3QgLnRpcHB5LXBvcHBlciAudGlwcHktYXJyb3cge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOCkgdHJhbnNsYXRlWCgtMTVweCkgIWltcG9ydGFudDsgfVxuXG4uc2Vzc2lvbnNfX3RpbWUtc3RhciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgZmlsbDogIzQzNjE1MzsgfVxuXG4uc2Vzc2lvbnNfX2F0dHJpYnV0ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgdG9wOiAzcHg7XG4gIHBhZGRpbmc6IDNweCA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgZm9udC1zaXplOiAxMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5zZXNzaW9uc19fYXR0cmlidXRlLnNlbGxpbmctZmFzdCB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjU1MDA7IH1cbiAgLnNlc3Npb25zX19hdHRyaWJ1dGUuc29sZC1vdXQge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkYwMDAwOyB9XG5cbi5zZXNzaW9uc19fcG9wdXAgPiAqIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMyYjJiMmI7XG4gIHBhZGRpbmc6IDdweCAxNnB4OyB9XG4gIC5uby10b3VjaCAuc2Vzc2lvbnNfX3BvcHVwID4gKjpob3ZlciwgLnNlc3Npb25zX19wb3B1cCA+ICo6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MzYxNTM7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7IH1cblxuLnNlc3Npb25zX19wb3B1cCBhIHtcbiAgdHJhbnNpdGlvbjogbm9uZTsgfVxuXG4uc2Vzc2lvbnNfX3BvcHVwIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YwZTE7IH1cblxuLnBsYW5uZXIgLnNlc3Npb25zX19hZGQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zZXNzaW9uc19fcmVtb3ZlIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNjaGVkdWxlIC5zZXNzaW9uc19fcmVtb3ZlLFxuICAuc2Vzc2lvbnMgLnNlc3Npb25zX19yZW1vdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNraXAtdG8tY29udGVudDpmb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNTAwO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4vKlxyXG4gICAgQHVzYWdlIC0gZXh0ZW5kIHRoZW4gcG9zaXRpb25cclxuICAgIEBleHRlbmQgLnNwaW5uZXI7XHJcbiAgICBAZXh0ZW5kIC5zcGlubmVyLS12ZXJ0LWNlbnQ7XHJcbiovXG4uc3Bpbm5lciwgLmJ0bl9fc3Bpbm5lciB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB3aWR0aDogMjNweDtcbiAgaGVpZ2h0OiAyM3B4OyB9XG4gIC5zcGlubmVyLS12ZXJ0LWNlbnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgLnNwaW5uZXI6YWZ0ZXIsIC5idG5fX3NwaW5uZXI6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3JkZXI6IDNweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIHNvbGlkO1xuICAgIGJvcmRlci10b3A6IDNweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkgc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGFuaW1hdGlvbjogc3BpbiAuNHMgaW5maW5pdGUgbGluZWFyOyB9XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbi53eXNpd3lnLCAuZmlsbV9fd3lzaXd5ZyB7XG4gIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgLnd5c2l3eWcgYSwgLmZpbG1fX3d5c2l3eWcgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xuICAgIGNvbG9yOiAjNDM2MTUzO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLnd5c2l3eWcgYTphY3RpdmUsIC5maWxtX193eXNpd3lnIGE6YWN0aXZlLCAud3lzaXd5ZyBhOmZvY3VzLCAuZmlsbV9fd3lzaXd5ZyBhOmZvY3VzLCAud3lzaXd5ZyBhOmhvdmVyLCAuZmlsbV9fd3lzaXd5ZyBhOmhvdmVyLFxuICAgIC5uby10b3VjaCAud3lzaXd5ZyBhOmhvdmVyLFxuICAgIC5uby10b3VjaCAuZmlsbV9fd3lzaXd5ZyBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNDM2MTUzO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAud3lzaXd5ZyBhOnZpc2l0ZWQsIC5maWxtX193eXNpd3lnIGE6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzZhMDEzNjsgfVxuICAud3lzaXd5ZyBsaSwgLmZpbG1fX3d5c2l3eWcgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc4ZW07XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNGVtOyB9XG4gICAgLnd5c2l3eWcgbGkgKyBsaSwgLmZpbG1fX3d5c2l3eWcgbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKC0xLjRlbSAqIDAuNzUpOyB9XG4gIC53eXNpd3lnLS1jZW50ZXJlZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC53eXNpd3lnIC5sLWNvbnRhaW5lciwgLmZpbG1fX3d5c2l3eWcgLmwtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDc3NnB4OyB9XG4gIC53eXNpd3lnIGlmcmFtZSwgLmZpbG1fX3d5c2l3eWcgaWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC53eXNpd3lnIGltZywgLmZpbG1fX3d5c2l3eWcgaW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAud3lzaXd5ZyBibG9ja3F1b3RlLCAuZmlsbV9fd3lzaXd5ZyBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjRlbTtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7IH1cbiAgICAud3lzaXd5ZyBibG9ja3F1b3RlIGNpdGUsIC5maWxtX193eXNpd3lnIGJsb2NrcXVvdGUgY2l0ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAud3lzaXd5ZyB1bCwgLmZpbG1fX3d5c2l3eWcgdWwge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gIC53eXNpd3lnIHAuRmxleCwgLmZpbG1fX3d5c2l3eWcgcC5GbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgIG1hcmdpbi1yaWdodDogLTVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnd5c2l3eWcgcC5GbGV4LCAuZmlsbV9fd3lzaXd5ZyBwLkZsZXgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIC53eXNpd3lnIHAuRmxleCBkaXYsIC5maWxtX193eXNpd3lnIHAuRmxleCBkaXYge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC53eXNpd3lnIHAuRmxleCBkaXYsIC5maWxtX193eXNpd3lnIHAuRmxleCBkaXYge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICAud3lzaXd5ZyBwLkZsZXggZGl2IGltZywgLmZpbG1fX3d5c2l3eWcgcC5GbGV4IGRpdiBpbWcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC53eXNpd3lnIHAuRmxleCBkaXYgcCwgLmZpbG1fX3d5c2l3eWcgcC5GbGV4IGRpdiBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogIzk5OTsgfVxuXG4uc3BvbnNvcnNfX3RpdGxlIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsYWNrOyB9XG5cbi5zcG9uc29yc19fbGlzdCwgLnNwb25zb3JzX19saW5rcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zcG9uc29yc19fbGlzdCBpbWcsIC5zcG9uc29yc19fbGlua3MgaW1nIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgIG1heC1oZWlnaHQ6IDEyMHB4O1xuICAgIG1hcmdpbjogMCAxNXB4ICFpbXBvcnRhbnQ7IH1cbiAgICAuc3BvbnNvcnNfX2xpc3QgaW1nLmxhcmdlLXNwb25zb3IsIC5zcG9uc29yc19fbGlua3MgaW1nLmxhcmdlLXNwb25zb3Ige1xuICAgICAgbWF4LXdpZHRoOiAxNTBweDsgfVxuICAgIC5zcG9uc29yc19fbGlzdCBpbWcuc21hbGxlci1sb2dvLCAuc3BvbnNvcnNfX2xpbmtzIGltZy5zbWFsbGVyLWxvZ28ge1xuICAgICAgbWF4LXdpZHRoOiAxMzVweDtcbiAgICAgIG1heC1oZWlnaHQ6IDg1cHg7IH1cblxuLnNwb25zb3JzX19saW5rcyBsaSB7XG4gIG1hcmdpbjogMCAyMHB4IDIwcHggMCAhaW1wb3J0YW50OyB9XG4gIC5zcG9uc29yc19fbGlua3MgbGkgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xuICAgIGNvbG9yOiBibGFjayAjNDM2MTUzOyB9XG4gICAgLnNwb25zb3JzX19saW5rcyBsaSBhOmFjdGl2ZSwgLnNwb25zb3JzX19saW5rcyBsaSBhOmZvY3VzLCAuc3BvbnNvcnNfX2xpbmtzIGxpIGE6aG92ZXIsXG4gICAgLm5vLXRvdWNoIC5zcG9uc29yc19fbGlua3MgbGkgYTpob3ZlciB7XG4gICAgICBjb2xvcjogYmxhY2sgIzQzNjE1MztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uc3Vic2NyaWJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogNjBweDtcbiAgbWFyZ2luLXRvcDogMTAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlYWY3MzsgfVxuICAuY2hmIC5zdWJzY3JpYmUge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgLmNoZiAuc3Vic2NyaWJlIC5mbGFpci1oZWFkaW5nIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0MHB4OyB9XG4gIC5zdWJzY3JpYmUgLmwtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDc3NnB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5zdWJzY3JpYmUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDk5cHgpIHtcbiAgLnN1YnNjcmliZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gICAgLnN1YnNjcmliZSB7XG4gICAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4OyB9IH1cblxuLnN1YnNjcmliZV9fZm9ybSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmlzLXN1Y2Nlc3MgLnN1YnNjcmliZV9fZm9ybSxcbiAgLmlzLWZhaWwgLnN1YnNjcmliZV9fZm9ybSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5pcy1zdWNjZXNzIC5zdWJzY3JpYmVfX2Zvcm0gKyAuc3Vic2NyaWJlX19kaXNjbGFpbWVyLFxuICAgIC5pcy1mYWlsIC5zdWJzY3JpYmVfX2Zvcm0gKyAuc3Vic2NyaWJlX19kaXNjbGFpbWVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLnN1YnNjcmliZV9fZm9ybSAuYnRuLCAuc3Vic2NyaWJlX19mb3JtIC5waWthLXByZXYsXG4gICAgLnN1YnNjcmliZV9fZm9ybSAucGlrYS1uZXh0LCAuc3Vic2NyaWJlX19mb3JtIC5maWxtX19ib29rLWJ0biwgLnN1YnNjcmliZV9fZm9ybSAuZmlsbV9fdm90ZS1idG4sIC5zdWJzY3JpYmVfX2Zvcm0gLnBhZ2luYXRpb25fX3ByZXYsXG4gICAgLnN1YnNjcmliZV9fZm9ybSAucGFnaW5hdGlvbl9fbmV4dCwgLnN1YnNjcmliZV9fZm9ybSAucGxhbm5lcl9fc3VibWl0LWJ0biwgLnN1YnNjcmliZV9fZm9ybSAucGxhbm5lcl9fZmFjZWJvb2stYnRuLCAuc3Vic2NyaWJlX19mb3JtIC5zY2hlZHVsZV9fYXBwbHktZmlsdGVycyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5zdWJzY3JpYmVfX2Zvcm0gLmJ0biwgLnN1YnNjcmliZV9fZm9ybSAucGlrYS1wcmV2LFxuICAgIC5zdWJzY3JpYmVfX2Zvcm0gLnBpa2EtbmV4dCwgLnN1YnNjcmliZV9fZm9ybSAuZmlsbV9fYm9vay1idG4sIC5zdWJzY3JpYmVfX2Zvcm0gLmZpbG1fX3ZvdGUtYnRuLCAuc3Vic2NyaWJlX19mb3JtIC5wYWdpbmF0aW9uX19wcmV2LFxuICAgIC5zdWJzY3JpYmVfX2Zvcm0gLnBhZ2luYXRpb25fX25leHQsIC5zdWJzY3JpYmVfX2Zvcm0gLnBsYW5uZXJfX3N1Ym1pdC1idG4sIC5zdWJzY3JpYmVfX2Zvcm0gLnBsYW5uZXJfX2ZhY2Vib29rLWJ0biwgLnN1YnNjcmliZV9fZm9ybSAuc2NoZWR1bGVfX2FwcGx5LWZpbHRlcnMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDIwcHggYXV0byAwOyB9IH1cbiAgLnN1YnNjcmliZV9fZm9ybSAuYnRuX19zcGlubmVyOmFmdGVyIHtcbiAgICBib3JkZXI6IDRweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIHNvbGlkO1xuICAgIGJvcmRlci10b3A6IDRweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkgc29saWQ7IH1cbiAgLnN1YnNjcmliZV9fZm9ybSAuZm9ybV9fZmllbGQsXG4gIC5zdWJzY3JpYmVfX2Zvcm0gLmZvcm1fX3NlbGVjdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuICAgIC5zdWJzY3JpYmVfX2Zvcm0gLmZvcm1fX2ZpZWxkLmlzLWludmFsaWQsXG4gICAgLnN1YnNjcmliZV9fZm9ybSAuZm9ybV9fc2VsZWN0LmlzLWludmFsaWQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OyB9XG4gIC5zdWJzY3JpYmVfX2Zvcm0gLmZvcm1fX2ZpZWxkLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgLnN1YnNjcmliZV9fZm9ybSAuZm9ybV9fZmllbGQtZXJyb3Ige1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLnN1YnNjcmliZV9fZm9ybSBpbnB1dCxcbiAgLnN1YnNjcmliZV9fZm9ybSBzZWxlY3Qge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMjJweCAyMHB4IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzM7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5zdWJzY3JpYmVfX2NvbHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxvc3QtZmxleC1jb250YWluZXI6IHJvdzsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAuc3Vic2NyaWJlX19jb2wge1xuICAgIGxvc3QtY29sdW1uOiAxLzIgMiAxNXB4OyB9IH1cblxuLnN1YnNjcmliZV9faGVhZGluZyB7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi5zdWJzY3JpYmVfX2Rlc2Mge1xuICBjb2xvcjogIzAwMDsgfVxuXG4uc3Vic2NyaWJlX19kaXNjbGFpbWVyIHtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luLXRvcDogNDVweDtcbiAgZm9udC1zaXplOiAxMnB4OyB9XG5cbi5zdWJzY3JpYmVfX2ZlZWRiYWNrIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzAwMDsgfVxuXG4uc3Vic2NyaWJlX19zdWNjZXNzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuaXMtc3VjY2VzcyAuc3Vic2NyaWJlX19zdWNjZXNzIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3Vic2NyaWJlX19mYWlsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuaXMtZmFpbCAuc3Vic2NyaWJlX19mYWlsIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpcGVyLS1zaW5nbGUtc2xpZGUgLnN3aXBlci1wYWdpbmF0aW9uLFxuLnN3aXBlci0tc2luZ2xlLXNsaWRlIC5zd2lwZXItYnV0dG9uLXByZXYsXG4uc3dpcGVyLS1zaW5nbGUtc2xpZGUgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXBlci0tc2luZ2xlLXNsaWRlIC5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKSAhaW1wb3J0YW50OyB9XG5cbi5zd2lwZXIgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICBib3R0b206IDIwcHg7IH1cblxuLnN3aXBlciAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbi5zd2lwZXIgLnN3aXBlci1idXR0b24tbmV4dCxcbi5zd2lwZXIgLnN3aXBlci1idXR0b24tcHJldiB7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB6LWluZGV4OiAxMjtcbiAgZm9udC1zaXplOiA1MHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zNXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICBjb2xvcjogd2hpdGU7IH1cbiAgLnN3aXBlciAuc3dpcGVyLWJ1dHRvbi1uZXh0OmJlZm9yZSxcbiAgLnN3aXBlciAuc3dpcGVyLWJ1dHRvbi1wcmV2OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRvcDogLTEwcHg7XG4gICAgYm90dG9tOiAtMTBweDtcbiAgICByaWdodDogLTEwcHg7XG4gICAgbGVmdDogLTEwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLnN3aXBlciAuc3dpcGVyLWJ1dHRvbi1uZXh0LFxuICAgIC5zd2lwZXIgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICB0b3A6IGluaXRpYWw7XG4gICAgICBib3R0b206IDJweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5zd2lwZXIgLnN3aXBlci1idXR0b24tbmV4dCxcbiAgLnN3aXBlciAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICBmb250LXNpemU6IDM1cHg7IH0gfVxuICAubm8tdG91Y2ggLnN3aXBlciAuc3dpcGVyLWJ1dHRvbi1uZXh0OmhvdmVyOmJlZm9yZSwgLm5vLXRvdWNoXG4gIC5zd2lwZXIgLnN3aXBlci1idXR0b24tcHJldjpob3ZlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0b3A6IC0yMHB4O1xuICAgIGJvdHRvbTogLTIwcHg7XG4gICAgcmlnaHQ6IC0yMHB4O1xuICAgIGxlZnQ6IC0yMHB4OyB9XG5cbi5zd2lwZXIgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHJpZ2h0OiAzJTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAuc3dpcGVyIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgICAgcmlnaHQ6IDYlOyB9IH1cbiAgLm5vLXRvdWNoIC5zd2lwZXIgLnN3aXBlci1idXR0b24tbmV4dDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoMzAlKTsgfVxuXG4uc3dpcGVyIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICBsZWZ0OiAzJTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAuc3dpcGVyIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgbGVmdDogNiU7IH0gfVxuICAubm8tdG91Y2ggLnN3aXBlciAuc3dpcGVyLWJ1dHRvbi1wcmV2OmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtMzAlKTsgfVxuXG4uc3dpcGVyLS13aWRlIC5sLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTkyMHB4OyB9XG5cbi5zd2lwZXIgLmwtZ3V0dGVycyB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnN3aXBlci1jb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uc3dpcGVyX19pbWctd3JhcCB7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cbiAgLnN3aXBlci0td2lkZSAuc3dpcGVyX19pbWctd3JhcCB7XG4gICAgcGFkZGluZzogMCAwIDYwdmg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgIC5zd2lwZXItLXdpZGUgLnN3aXBlcl9faW1nLXdyYXAge1xuICAgICAgICBwYWRkaW5nOiAwIDAgNDIuODU3MSU7IH0gfVxuICAuc3dpcGVyX19pbWctd3JhcCBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiA1MCUgMzUlOyB9XG4gIC5zd2lwZXJfX2ltZy13cmFwOmFmdGVyIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1MCU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwKSwgcmdiYSgwLCAwLCAwLCAwLjUpKTsgfVxuICAuc3dpcGVyX19pbWctd3JhcDphY3RpdmUge1xuICAgIGN1cnNvcjogZ3JhYmJpbmc7IH1cbiAgLmllMTEgLnN3aXBlcl9faW1nLXdyYXAgYSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5pZTExIC5zd2lwZXJfX2ltZy13cmFwIGEgaW1nIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAuc3dpcGVyX19pbWctd3JhcCBoMyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRleHQtc2hhZG93OiAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIC5zd2lwZXJfX2ltZy13cmFwIGgzIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGJvdHRvbTogNTBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAuc3dpcGVyX19pbWctd3JhcCBoMyB7XG4gICAgICAgIHRvcDogNDglOyB9IH1cbiAgICAuc3dpcGVyX19pbWctd3JhcCBoMyA+ICoge1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAgIC5zd2lwZXJfX2ltZy13cmFwIGgzID4gKiB7XG4gICAgICAgICAgd2lkdGg6IDk1JTsgfSB9XG4gICAgLnN3aXBlcl9faW1nLXdyYXAgaDMgLnN3aXBlcl9fdGl0bGUge1xuICAgICAgb3JkZXI6IDI7IH1cbiAgICAuc3dpcGVyX19pbWctd3JhcCBoMyAuc3dpcGVyX19zdWJ0aXRsZSB7XG4gICAgICBvcmRlcjogMTsgfVxuXG4uc3dpcGVyX190aXRsZSB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBsaW5lLWhlaWdodDogMS4xOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5zd2lwZXJfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogNTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9IH1cblxuLnN3aXBlcl9fc3VidGl0bGUge1xuICBjb2xvcjogd2hpdGU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5zd2lwZXJfX3N1YnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5zd2lwZXJfX3N1YnRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuXG4uc3dpcGVyX192aWRlbyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGV6KDApO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC00cHg7XG4gIGxlZnQ6IC00cHg7XG4gIHJpZ2h0OiAtNHB4O1xuICBib3R0b206IC00cHg7IH1cbiAgLnN3aXBlcl9fdmlkZW8gdmlkZW8ge1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZS1vdXQgMHM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZS1vdXQgMHM7XG4gICAgLW1zLXRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlLW91dCAwcztcbiAgICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZS1vdXQgMHM7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2Utb3V0IDBzO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUxJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgLnN3aXBlcl9fdmlkZW8gdmlkZW8ubG9hZGVkIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cblxuLnZvdGluZ19fYXJlYSB7XG4gIG1hcmdpbjogNDBweCAwcHg7IH1cblxuLnZvdGVfX2ZlZWRiYWNrLWhlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi52b3Rpbmcge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5pcy1zdWNjZXNzIC52b3RpbmdfX2Zvcm0sXG4uaXMtZmFpbCAudm90aW5nX19mb3JtIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udm90ZV9fc3VjY2Vzcyxcbi52b3RlX19mYWlsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaXMtc3VjY2VzcyAudm90ZV9fc3VjY2VzcyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi53eXNpd3lnLCAuZmlsbV9fd3lzaXd5ZyB7XG4gIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgLnd5c2l3eWcgYSwgLmZpbG1fX3d5c2l3eWcgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xuICAgIGNvbG9yOiAjNDM2MTUzO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLnd5c2l3eWcgYTphY3RpdmUsIC5maWxtX193eXNpd3lnIGE6YWN0aXZlLCAud3lzaXd5ZyBhOmZvY3VzLCAuZmlsbV9fd3lzaXd5ZyBhOmZvY3VzLCAud3lzaXd5ZyBhOmhvdmVyLCAuZmlsbV9fd3lzaXd5ZyBhOmhvdmVyLFxuICAgIC5uby10b3VjaCAud3lzaXd5ZyBhOmhvdmVyLFxuICAgIC5uby10b3VjaCAuZmlsbV9fd3lzaXd5ZyBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNDM2MTUzO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAud3lzaXd5ZyBhOnZpc2l0ZWQsIC5maWxtX193eXNpd3lnIGE6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzZhMDEzNjsgfVxuICAud3lzaXd5ZyBsaSwgLmZpbG1fX3d5c2l3eWcgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc4ZW07XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNGVtOyB9XG4gICAgLnd5c2l3eWcgbGkgKyBsaSwgLmZpbG1fX3d5c2l3eWcgbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKC0xLjRlbSAqIDAuNzUpOyB9XG4gIC53eXNpd3lnLS1jZW50ZXJlZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC53eXNpd3lnIC5sLWNvbnRhaW5lciwgLmZpbG1fX3d5c2l3eWcgLmwtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDc3NnB4OyB9XG4gIC53eXNpd3lnIGlmcmFtZSwgLmZpbG1fX3d5c2l3eWcgaWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC53eXNpd3lnIGltZywgLmZpbG1fX3d5c2l3eWcgaW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAud3lzaXd5ZyBibG9ja3F1b3RlLCAuZmlsbV9fd3lzaXd5ZyBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjRlbTtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7IH1cbiAgICAud3lzaXd5ZyBibG9ja3F1b3RlIGNpdGUsIC5maWxtX193eXNpd3lnIGJsb2NrcXVvdGUgY2l0ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAud3lzaXd5ZyB1bCwgLmZpbG1fX3d5c2l3eWcgdWwge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gIC53eXNpd3lnIHAuRmxleCwgLmZpbG1fX3d5c2l3eWcgcC5GbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgIG1hcmdpbi1yaWdodDogLTVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnd5c2l3eWcgcC5GbGV4LCAuZmlsbV9fd3lzaXd5ZyBwLkZsZXgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIC53eXNpd3lnIHAuRmxleCBkaXYsIC5maWxtX193eXNpd3lnIHAuRmxleCBkaXYge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC53eXNpd3lnIHAuRmxleCBkaXYsIC5maWxtX193eXNpd3lnIHAuRmxleCBkaXYge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICAud3lzaXd5ZyBwLkZsZXggZGl2IGltZywgLmZpbG1fX3d5c2l3eWcgcC5GbGV4IGRpdiBpbWcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC53eXNpd3lnIHAuRmxleCBkaXYgcCwgLmZpbG1fX3d5c2l3eWcgcC5GbGV4IGRpdiBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogIzk5OTsgfVxuXG4uQ2xvc2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICd4JztcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDI1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMnB4O1xuICBjb2xvcjogI2YyNjY0OTsgfVxuXG4uZmVzdGl2YWxzLW1vZGFsX19jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQzNjE1MzsgfVxuXG4uZmVzdGl2YWxzLW1vZGFsX193eXNpd3lnIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG4uZmVzdGl2YWxzLW1vZGFsX193eXNpd3lnIGgxLCAuZmVzdGl2YWxzLW1vZGFsX193eXNpd3lnIGgyLCAuZmVzdGl2YWxzLW1vZGFsX193eXNpd3lnIGgzLCAuZmVzdGl2YWxzLW1vZGFsX193eXNpd3lnIGg0IHtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1mYW1pbHk6IGFudHdlcnA7IH1cblxuLmZlc3RpdmFscy1tb2RhbF9fd3lzaXd5ZyBwIHtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuLm1vZGFsLWNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbi5tb2RhbC1jb250ZW50LCAuZmVzdGl2YWxzLW1vZGFsX193eXNpd3lnIHtcbiAgcGFkZGluZy1sZWZ0OiA2NHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA2NHB4OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAuZmVzdGl2YWxzLW1vZGFsIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZmVzdGl2YWxzLW1vZGFsX193eXNpd3lnIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5tb2RhbC1jb250ZW50LCAuZmVzdGl2YWxzLW1vZGFsX193eXNpd3lnIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gICAgcGFkZGluZy1yaWdodDogMzJweDsgfSB9XG5cbjpyb290IHtcbiAgLS1nbC1zdGFyLWNvbG9yOiAjZmRkODM1O1xuICAtLWdsLXN0YXItY29sb3ItaW5hY3RpdmU6ICNkY2RjZTY7XG4gIC0tZ2wtc3Rhci1lbXB0eTogdXJsKC4uL2ltZy9yYXRpbmdzL3N0YXItZW1wdHkuc3ZnKTtcbiAgLS1nbC1zdGFyLWZ1bGw6IHVybCguLi9pbWcvcmF0aW5ncy9zdGFyLWZ1bGwuc3ZnKTtcbiAgLS1nbC1zdGFyLXNpemU6IDQwcHg7XG4gIC0tZ2wtdG9vbHRpcC1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIC0tZ2wtdG9vbHRpcC1mb250LXNpemU6IDAuODc1cmVtO1xuICAtLWdsLXRvb2x0aXAtZm9udC13ZWlnaHQ6IDQwMDtcbiAgLS1nbC10b29sdGlwLWxpbmUtaGVpZ2h0OiAxO1xuICAtLWdsLXRvb2x0aXAtbWFyZ2luOiAxMnB4O1xuICAtLWdsLXRvb2x0aXAtcGFkZGluZzogMC41ZW0gMWVtO1xuICAtLWdsLXRvb2x0aXAtc2l6ZTogNnB4OyB9XG5cbltkYXRhLXN0YXItcmF0aW5nXSA+IHNlbGVjdCB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWNsaXAtcGF0aDogY2lyY2xlKDFweCBhdCAwIDApICFpbXBvcnRhbnQ7XG4gIGNsaXAtcGF0aDogY2lyY2xlKDFweCBhdCAwIDApICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7IH1cblxuW2RhdGEtc3Rhci1yYXRpbmddID4gc2VsZWN0OmFmdGVyLFxuW2RhdGEtc3Rhci1yYXRpbmddID4gc2VsZWN0OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5bZGF0YS1zdGFyLXJhdGluZ10uZ2wtc3Rhci1yYXRpbmctLWx0ciA+IHNlbGVjdCB7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG5bZGF0YS1zdGFyLXJhdGluZ10uZ2wtc3Rhci1yYXRpbmctLXJ0bCA+IHNlbGVjdCB7XG4gIHJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuW2RhdGEtc3Rhci1yYXRpbmddIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5nbC1zdGFyLXJhdGluZzpub3QoW2RhdGEtc3Rhci1yYXRpbmddKSAuZ2wtc3Rhci1yYXRpbmctLXN0YXJzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5bZGF0YS1zdGFyLXJhdGluZ10gLmdsLXN0YXItcmF0aW5nLS1zdGFycyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbltkYXRhLXN0YXItcmF0aW5nXSA+IHNlbGVjdDpmb2N1cyArIC5nbC1zdGFyLXJhdGluZy0tc3RhcnMgc3BhbjpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggLW1vei1tYWMtZm9jdXNyaW5nO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggSGlnaGxpZ2h0O1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbltkYXRhLXN0YXItcmF0aW5nXSBzZWxlY3RbZGlzYWJsZWRdICsgLmdsLXN0YXItcmF0aW5nLS1zdGFycyB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG5bZGF0YS1zdGFyLXJhdGluZ10gLmdsLXN0YXItcmF0aW5nLS1zdGFycyA+IHNwYW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGhlaWdodDogdmFyKC0tZ2wtc3Rhci1zaXplKTtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMjRweDtcbiAgd2lkdGg6IHZhcigtLWdsLXN0YXItc2l6ZSk7IH1cblxuW2RhdGEtc3Rhci1yYXRpbmddIC5nbC1zdGFyLXJhdGluZy0tc3RhcnNbYXJpYS1sYWJlbF06YWZ0ZXIsXG5bZGF0YS1zdGFyLXJhdGluZ10gLmdsLXN0YXItcmF0aW5nLS1zdGFyc1thcmlhLWxhYmVsXTpiZWZvcmUge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3R0b206IGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGxlZnQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgei1pbmRleDogMTA7IH1cblxuW2RhdGEtc3Rhci1yYXRpbmddIC5nbC1zdGFyLXJhdGluZy0tc3RhcnNbYXJpYS1sYWJlbF06YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG8gIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzM2JyUzRSUzQ3BhdGggZmlsbD0ncmdiYSgxNywgMTcsIDE3LCAwLjkpJyBkPSdNMTIgMi42NTh2MzIuMDA0YzAtNi0xMi4wMDItMTEuNjI3LTEyLjAwMi0xNi4wMDJDLS4wMDIgMTQuMjg1IDEyIDguNTk0IDEyIDIuNjU4eicvJTNFJTNDL3N2ZyUzRVwiKSBuby1yZXBlYXQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMThweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWdsLXRvb2x0aXAtc2l6ZSk7XG4gIHdpZHRoOiA2cHg7XG4gIHdpZHRoOiB2YXIoLS1nbC10b29sdGlwLXNpemUpOyB9XG5cbltkYXRhLXN0YXItcmF0aW5nXSAuZ2wtc3Rhci1yYXRpbmctLXN0YXJzW2FyaWEtbGFiZWxdOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxNywgMTcsIDE3LCAwLjkpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWdsLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG4gIGNvbG9yOiAjZmZmO1xuICBjb250ZW50OiBhdHRyKGFyaWEtbGFiZWwpO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXNpemU6IHZhcigtLWdsLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1nbC10b29sdGlwLW1hcmdpbik7XG4gIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgcGFkZGluZzogdmFyKC0tZ2wtdG9vbHRpcC1wYWRkaW5nKTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuW2RhdGEtc3Rhci1yYXRpbmddLmdsLXN0YXItcmF0aW5nLS1ydGwgLmdsLXN0YXItcmF0aW5nLS1zdGFyc1thcmlhLWxhYmVsXTphZnRlcixcbltkYXRhLXN0YXItcmF0aW5nXS5nbC1zdGFyLXJhdGluZy0tcnRsIC5nbC1zdGFyLXJhdGluZy0tc3RhcnNbYXJpYS1sYWJlbF06YmVmb3JlIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEwMCU7IH1cblxuW2RhdGEtc3Rhci1yYXRpbmddLmdsLXN0YXItcmF0aW5nLS1ydGwgLmdsLXN0YXItcmF0aW5nLS1zdGFyc1thcmlhLWxhYmVsXTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMzYnJTNFJTNDcGF0aCBmaWxsPSdyZ2JhKDE3LCAxNywgMTcsIDAuOSknIGQ9J00wIDMzLjM0MlYxLjMzOGMwIDYgMTIuMDAyIDExLjYyNyAxMi4wMDIgMTYuMDAyQzEyLjAwMiAyMS43MTUgMCAyNy40MDYgMCAzMy4zNDJ6Jy8lM0UlM0Mvc3ZnJTNFXCIpIG5vLXJlcGVhdDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogNnB4O1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdsLXRvb2x0aXAtc2l6ZSk7IH1cblxuW2RhdGEtc3Rhci1yYXRpbmddLmdsLXN0YXItcmF0aW5nLS1ydGwgLmdsLXN0YXItcmF0aW5nLS1zdGFyc1thcmlhLWxhYmVsXTphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tZ2wtdG9vbHRpcC1tYXJnaW4pOyB9XG5cbltkYXRhLXN0YXItcmF0aW5nXSBzdmcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbltkYXRhLXN0YXItcmF0aW5nXSAuZ2wtc3Rhci1oYWxmIHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlOiBub25lOyB9XG5cbltkYXRhLXN0YXItcmF0aW5nXSAuZ2wtc3Rhci1mdWxsIHtcbiAgZmlsbDogI2RjZGNlNjtcbiAgZmlsbDogdmFyKC0tZ2wtc3Rhci1jb2xvci1pbmFjdGl2ZSk7XG4gIHN0cm9rZTogI2RjZGNlNjtcbiAgc3Ryb2tlOiB2YXIoLS1nbC1zdGFyLWNvbG9yLWluYWN0aXZlKTtcbiAgdHJhbnNpdGlvbjogZmlsbCAwLjE1cyBlYXNlLWluLW91dCwgc3Ryb2tlIDAuMTVzIGVhc2UtaW4tb3V0OyB9XG5cbltkYXRhLXN0YXItcmF0aW5nXSAuZ2wtYWN0aXZlIC5nbC1zdGFyLWZ1bGwge1xuICBmaWxsOiAjZmRkODM1O1xuICBmaWxsOiB2YXIoLS1nbC1zdGFyLWNvbG9yKTtcbiAgc3Ryb2tlOiAjZmRkODM1O1xuICBzdHJva2U6IHZhcigtLWdsLXN0YXItY29sb3IpOyB9XG5cbltkYXRhLXN0YXItcmF0aW5nXSAuZ2wtc3Rhci1yYXRpbmctLXN0YXJzW2NsYXNzKj1cIiBzXCJdID4gc3BhbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcmF0aW5ncy9zdGFyLWVtcHR5LnN2Zyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWdsLXN0YXItZW1wdHkpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOTAlOyB9XG5cbltkYXRhLXN0YXItcmF0aW5nXSAuZ2wtc3Rhci1yYXRpbmctLXN0YXJzLnMxMCA+IHNwYW46Zmlyc3QtY2hpbGQsXG5bZGF0YS1zdGFyLXJhdGluZ10gLmdsLXN0YXItcmF0aW5nLS1zdGFycy5zMjAgPiBzcGFuOm50aC1jaGlsZCgtMW4gKyAyKSxcbltkYXRhLXN0YXItcmF0aW5nXSAuZ2wtc3Rhci1yYXRpbmctLXN0YXJzLnMzMCA+IHNwYW46bnRoLWNoaWxkKC0xbiArIDMpLFxuW2RhdGEtc3Rhci1yYXRpbmddIC5nbC1zdGFyLXJhdGluZy0tc3RhcnMuczQwID4gc3BhbjpudGgtY2hpbGQoLTFuICsgNCksXG5bZGF0YS1zdGFyLXJhdGluZ10gLmdsLXN0YXItcmF0aW5nLS1zdGFycy5zNTAgPiBzcGFuOm50aC1jaGlsZCgtMW4gKyA1KSxcbltkYXRhLXN0YXItcmF0aW5nXSAuZ2wtc3Rhci1yYXRpbmctLXN0YXJzLnM2MCA+IHNwYW46bnRoLWNoaWxkKC0xbiArIDYpLFxuW2RhdGEtc3Rhci1yYXRpbmddIC5nbC1zdGFyLXJhdGluZy0tc3RhcnMuczcwID4gc3BhbjpudGgtY2hpbGQoLTFuICsgNyksXG5bZGF0YS1zdGFyLXJhdGluZ10gLmdsLXN0YXItcmF0aW5nLS1zdGFycy5zODAgPiBzcGFuOm50aC1jaGlsZCgtMW4gKyA4KSxcbltkYXRhLXN0YXItcmF0aW5nXSAuZ2wtc3Rhci1yYXRpbmctLXN0YXJzLnM5MCA+IHNwYW46bnRoLWNoaWxkKC0xbiArIDkpLFxuW2RhdGEtc3Rhci1yYXRpbmddIC5nbC1zdGFyLXJhdGluZy0tc3RhcnMuczEwMCA+IHNwYW4ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3JhdGluZ3Mvc3Rhci1mdWxsLnN2Zyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWdsLXN0YXItZnVsbCk7IH1cblxuLnZvdGluZy1hcmVhIHtcbiAgei1pbmRleDogMTAxMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLnZvdGluZy1hcmVhIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogNDhweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC40cyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpIDBzOyB9XG4gICAgICAudm90aW5nLWFyZWEtYWN0aXZlIC52b3RpbmctYXJlYSB7XG4gICAgICAgIGhlaWdodDogY2FsYygodmFyKC0tdmgsIDF2aCkgKiAxMDApIC0gNDhweCk7XG4gICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAuNHMgLjA2cztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLnZvdGluZy1hcmVhIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiA2MXB4O1xuICAgICAgd2lkdGg6IDcwMHB4O1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIGJveC1zaGFkb3c6IC0ycHggMCAwIDAgcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSk7IH1cbiAgICAgIC52b3RpbmctYXJlYS1hY3RpdmUgLnZvdGluZy1hcmVhIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7IH0gfVxuICAudm90aW5nLWFyZWEgLnRpcHB5LXBvcHBlciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi52b3RpbmdfX2hlYWRpbmcge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyMzgsIDE3NSwgMTE1LCAwLjEpO1xuICBwYWRkaW5nOiAxM3B4IDAgMTFweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAudm90aW5nX19oZWFkaW5nIHtcbiAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgyMzgsIDE3NSwgMTE1LCAwLjEpOyB9IH1cblxuLnZvdGluZy1hcmVhX19jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNXB4KSB0cmFuc2xhdGVZKDFweCk7XG4gIHotaW5kZXg6IDE7XG4gIGNvbG9yOiAjNDM2MTUzOyB9XG4gIC52b3RpbmctYXJlYV9fY2xvc2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiAtMTBweDtcbiAgICBib3R0b206IC0xMHB4O1xuICAgIHJpZ2h0OiAtMTBweDtcbiAgICBsZWZ0OiAtMTBweDsgfVxuXG4udm90aW5nLXRleHQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuNztcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuICAuaXMtZW1wdHkgLnZvdGluZy10ZXh0IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaXMtdmFsaWRhdGluZy1lbWFpbCAudm90aW5nLXRleHQsXG4gIC5pcy1yZXR1cm5pbmctdXNlciAudm90aW5nLXRleHQsXG4gIC5pcy1uZXctdXNlciAudm90aW5nLXRleHQsXG4gIC5pcy1yZXNldHRpbmctcGFzc3dvcmQgLnZvdGluZy10ZXh0LFxuICAuaXMtZmFjZWJvb2stdXNlci1uby1wdyAudm90aW5nLXRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnZvdGluZy10ZXh0IGJ1dHRvbiwgLnZvdGluZy10ZXh0IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnZvdGluZy10ZXh0IGJ1dHRvbjpiZWZvcmUsIC52b3RpbmctdGV4dCBhOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgdG9wOiAtMTBweDtcbiAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICByaWdodDogLTEwcHg7XG4gICAgICBsZWZ0OiAtMTBweDsgfVxuXG4uZ2wtc3Rhci1yYXRpbmctLXN0YXJzIHtcbiAgbWFyZ2luOiAxNnB4IGF1dG8gMDsgfVxuXG4udm90aW5nX19mb3JtIC5mb3JtX19jb21wb25lbnQge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbjpyb290IHtcbiAgLS1nbC1zdGFyLWVtcHR5OiB1cmwoLi4vaW1nL3JhdGluZ3Mvc3Rhci1vZmYucG5nKTtcbiAgLyogaWYgdXNpbmcgYmFja2dyb3VuZCBpbWFnZXMgKi9cbiAgLS1nbC1zdGFyLWZ1bGw6IHVybCguLi9pbWcvcmF0aW5ncy9zdGFyLW9uLnBuZyk7XG4gIC8qIGlmIHVzaW5nIGJhY2tncm91bmQgaW1hZ2VzICovXG4gIC0tZ2wtc3Rhci1jb2xvcjogIzAwNGY3OTtcbiAgLS1nbC1zdGFyLWVtcHR5OiB1cmwoLi4vaW1nL3JhdGluZ3MvcGlja2xlLW9mZi5wbmcpO1xuICAvKiBpZiB1c2luZyBiYWNrZ3JvdW5kIGltYWdlcyAqL1xuICAtLWdsLXN0YXItZnVsbDogdXJsKC4uL2ltZy9yYXRpbmdzL3BpY2tsZS1vbi5wbmcpO1xuICAvKiBpZiB1c2luZyBiYWNrZ3JvdW5kIGltYWdlcyAqLyB9XG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbmh0bWwge1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG5ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgLyoqXHJcbiAgICAqIHVuZGVybGF5ICsgc2Nyb2xsIGJsb2NraW5nXHJcbiAgICAqLyB9XG4gIGJvZHkuaXBob25lIHtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgYm9keS5kZWJ1ZyB7XG4gICAgbG9zdC11dGlsaXR5OiBlZGl0OyB9XG4gIGJvZHkubmF2LW9wZW4sIGJvZHkuc2VhcmNoLWFjdGl2ZSwgYm9keS5wbGFubmVyLWFjdGl2ZSwgYm9keS52b3RpbmctYXJlYS1hY3RpdmUge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIGJvZHkubmF2LW9wZW46YWZ0ZXIsIGJvZHkuc2VhcmNoLWFjdGl2ZTphZnRlciwgYm9keS5wbGFubmVyLWFjdGl2ZTphZnRlciwgYm9keS52b3RpbmctYXJlYS1hY3RpdmU6YWZ0ZXIge1xuICAgICAgei1pbmRleDogNTAwO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xOHMgbGluZWFyOyB9XG4gIGJvZHk6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAzNnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAtMTsgfVxuXG5pZnJhbWUge1xuICBib3JkZXI6IG5vbmU7IH1cbiIsIkBmdW5jdGlvbiBjb250YWlucygkbGlzdCwgJHZhcikge1xyXG4gICAgJGNvbnRhaW5zOiBmYWxzZTtcclxuICAgIEBlYWNoICRpdGVtIGluICRsaXN0IHsgXHJcbiAgICAgICAgQGlmICRpdGVtID09ICR2YXIgeyBcclxuICAgICAgICAgICAgJGNvbnRhaW5zOiB0cnVlOyBcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgQHJldHVybiAkY29udGFpbnM7XHJcbn1cclxuXHJcbi8qXHJcblxyXG4jI1xyXG4jIyAgVEhFTUlOR1xyXG4jI1xyXG5cclxuYSBjb21wb25lbnQgY2FuIGJlIHRoZW1lZCB2aWE6XHJcbi5teS1jb21wb25lbnQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShteS1jb21wb25lbnQtYmcpO1xyXG59XHJcbidteS1jb21wb25lbnQtYmcnIHdvdWxkIG5lZWQgdG8gYmUgYWRkZWQgdG8gZWFjaCAkdGhlbWUgbWFwOlxyXG4kdGhlbWVzOiAoXHJcbiAgICAnamlmJzogKFxyXG4gICAgICAgICdteS1jb21wb25lbnQtYmcnOiAnd2hpdGUnXHJcbiAgICApLFxyXG4gICAgJ2ZmYSc6ICAoXHJcbiAgICAgICAgJ215LWNvbXBvbmVudC1iZyc6ICdibGFjaydcclxuICAgIClcclxuKVxyXG5cclxuaWYgYSBwcm9wZXJ0eSBpcyBvbmx5IHVzZWQgZm9yIGEgc2luZ2xlIHRoZW1lOlxyXG4ubXktY29tcG9uZW50IHtcclxuICAgIEBpZiAkdGhlbWUgPT0gY2hmIHtcclxuICAgICAgICBmb250LXNpemU6IDEycHhcclxuICAgIH1cclxufVxyXG4qL1xyXG5cclxuLy9cclxuLy8gcHJpbWFyeSBkZWNsYXJhdGlvblxyXG4vL1xyXG5AaWYgJHRoZW1lID09IGNoZiB7ICRwcmltYXJ5OiAjMTg0YjQ3ICFnbG9iYWw7ICRzZWNvbmRhcnk6ICNmZmUyNDggIWdsb2JhbDsgJGNvcmVvcmFuZ2U6ICNmMjY2NDkgIWdsb2JhbH1cclxuQGlmICR0aGVtZSA9PSBqaWYgeyAkcHJpbWFyeTogIzQzNjE1MyAhZ2xvYmFsOyAkc2Vjb25kYXJ5OiAjZWVhZjczICFnbG9iYWw7ICRjb3Jlb3JhbmdlOiAjZjI2NjQ2ICFnbG9iYWx9XHJcbkBpZiAkdGhlbWUgPT0gZmZhIHsgJHByaW1hcnk6ICNlNDQxMzYgIWdsb2JhbDsgJHNlY29uZGFyeTogI2VmOGQ4NiAhZ2xvYmFsOyAkY29yZW9yYW5nZTogI2YyNjY0OSAhZ2xvYmFsfVxyXG5AaWYgJHRoZW1lID09IGVlZiB7ICRwcmltYXJ5OiAjMDAwMDAwICFnbG9iYWw7ICRzZWNvbmRhcnk6ICM5OTkgIWdsb2JhbDsgJGNvcmVvcmFuZ2U6ICNmMjY2NDkgIWdsb2JhbH1cclxuXHJcbiR0aGVtZXM6IChcclxuXHJcbiAgICAnZWVmJzogKFxyXG5cclxuICAgICAgICAvLyB0ZXh0XHJcbiAgICAgICAgJ3RleHQnOiBibGFjayxcclxuICAgICAgICAnbGluayc6ICRzZWNvbmRhcnksXHJcbiAgICAgICAgJ2xpbmstaG92ZXInOiAkc2Vjb25kYXJ5LFxyXG4gICAgICAgICdsaW5rLXZpc2l0ZWQnOiAjNmEwMTM2LFxyXG5cclxuICAgICAgICAvLyBiYWNrZ3JvdW5kc1xyXG4gICAgICAgICdwYWdlLWJnJzogd2hpdGUsXHJcbiAgICAgICAgJ25hdi1zdGF0aWMtYmcnOiB3aGl0ZSxcclxuICAgICAgICAncGxhbm5lci1iZyc6IHdoaXRlLFxyXG5cclxuICAgICAgICAvLyBuYXYgZWxlbWVudHNcclxuICAgICAgICAnbmF2LXVpJzogYmxhY2ssXHJcbiAgICAgICAgJ25hdi11aS1vbic6ICRzZWNvbmRhcnksXHJcblxyXG4gICAgICAgIC8vIHNlYXJjaFxyXG4gICAgICAgICdzZWFyY2gtdGV4dC1hY3RpdmUnOiBibGFjayxcclxuICAgICAgICAnc2VhcmNoLXRleHQtb2ZmJzogd2hpdGUsXHJcbiAgICAgICAgJ3NlYXJjaC1iZy1vZmYnOiByZ2JhKHdoaXRlLCAwLjEpLFxyXG4gICAgICAgICdzZWFyY2gtYmctYWN0aXZlJzogd2hpdGUsXHJcbiAgICAgICAgJ3NlYXJjaC1iZy1ob3Zlcic6IHJnYmEod2hpdGUsIDAuMiksXHJcbiAgICAgICAgJ3NlYXJjaC1wbGFjZWhvbGRlcic6ICNmYWZhZmEsIFxyXG5cclxuICAgICAgICAvLyBzZWFyY2ggcmVzdWx0c1xyXG4gICAgICAgICdzZWFyY2gtcmVzdWx0cy1iZyc6ICRwcmltYXJ5LFxyXG4gICAgICAgICdzZWFyY2gtcmVzdWx0cy1oZWFkaW5nJzogd2hpdGUsXHJcbiAgICAgICAgJ3NlYXJjaC1yZXN1bHRzLXRpdGxlJzogd2hpdGUsXHJcbiAgICAgICAgJ3NlYXJjaC1yZXN1bHRzLXRpdGxlLW9uJzogJHNlY29uZGFyeSxcclxuXHJcbiAgICAgICAgJ3ByaW1hcnknOiAkcHJpbWFyeSxcclxuICAgICAgICAnaW1nLWxvYWRpbmctYmcnOiAjZmFmYWZhLFxyXG4gICAgICAgICdkaXZpZGVyJzogcmdiYSgkc2Vjb25kYXJ5LCAwLjEpLFxyXG4gICAgICAgICd1c2VyLXNlbGVjdGlvbic6IHdoaXRlLFxyXG4gICAgICAgICd1c2VyLXNlbGVjdGlvbi1iZyc6IHJnYmEoYmxhY2ssIDAuOCksXHJcblxyXG4gICAgICAgIC8vIGJ0bnNcclxuICAgICAgICAnYnV0dG9uLXRleHQnOiB3aGl0ZSxcclxuICAgICAgICAnYnV0dG9uLXRleHQtb24nOiB3aGl0ZSxcclxuICAgICAgICAnYnV0dG9uLXRleHQtZGlzYWJsZWQnOiB3aGl0ZSxcclxuICAgICAgICAnYnV0dG9uLWJnJzogJGNvcmVvcmFuZ2UsXHJcbiAgICAgICAgJ2J1dHRvbi1iZy1vbic6ICNFRTNCMTYsXHJcbiAgICAgICAgJ2J1dHRvbi1iZy1kaXNhYmxlZCc6IHJnYmEoJHByaW1hcnksIDAuNzUpLFxyXG5cclxuICAgICAgICAvLyBzY2hlZHVsZSB0YWJzXHJcbiAgICAgICAgJ3NjaGVkdWxlLXRhYi10ZXh0LWFjdGl2ZSc6IHdoaXRlLFxyXG4gICAgICAgICdzY2hlZHVsZS10YWItYmctYWN0aXZlJzogJHByaW1hcnksXHJcbiAgICAgICAgJ3NjaGVkdWxlLXRhYi10ZXh0LWRlZmF1bHQnOiAkcHJpbWFyeSxcclxuICAgICAgICAnc2NoZWR1bGUtdGFiLWJnLWRlZmF1bHQnOiBENDkzODgsLy9yZ2JhKCRwcmltYXJ5LC4zNSksXHJcbiAgICAgICAgJ3NjaGVkdWxlLWZpbHRlci1oZWFkaW5nJzogJGNvcmVvcmFuZ2UsXHJcblxyXG4gICAgICAgIC8vIG5hdiBzdGlja3lcclxuICAgICAgICAnbmF2LXN0aWNreS1iZyc6ICRwcmltYXJ5LFxyXG4gICAgICAgICduYXYtc3RpY2t5LXBsYW5uZXItYnRuLXRleHQnOiB3aGl0ZSxcclxuICAgICAgICAnbmF2LXN0aWNreS1wbGFubmVyLWJ0bi1pY29uJzogd2hpdGUsXHJcbiAgICAgICAgJ25hdi1zdGlja3ktcGxhbm5lci1idG4tYmcnOiByZ2JhKDI1NSwyNTUsMjU1LC4yKSxcclxuICAgICAgICAnbmF2LXN0aWNreS1wbGFubmVyLWJ0bi10ZXh0LW9uJzogJHNlY29uZGFyeSxcclxuICAgICAgICAnbmF2LXN0aWNreS1wbGFubmVyLWJ0bi1pY29uLW9uJzogJHNlY29uZGFyeSxcclxuICAgICAgICAnbmF2LXN0aWNreS1wbGFubmVyLWJ0bi1iZy1vbic6IHdoaXRlLFxyXG4gICAgICAgICduYXYtc3RpY2t5LWRhdGVzJzogd2hpdGUsXHJcbiAgICAgICAgJ25hdi1zdGlja3ktZGF0ZS1zZXBhcmF0b3InOiB3aGl0ZSxcclxuICAgICAgICAnbmF2LXN0aWNreS1sb2NhdGlvbnMnOiB3aGl0ZSxcclxuICAgICAgICAnbmF2LXN0aWNreS1ib3JkZXItYmcnOnJnYmEoMjU1LDI1NSwyNTUsLjE1KSxcclxuICAgICAgICAnbmF2LXN0aWNreS1zZWFyY2gtb3Blbic6IHdoaXRlLFxyXG4gICAgICAgICduYXYtc3RpY2t5LXNlYXJjaC1jbG9zZSc6IGJsYWNrLFxyXG4gICAgICAgICduYXYtc3RpY2t5LXNlYXJjaC1jbG9zZS1vbic6ICRzZWNvbmRhcnksXHJcblxyXG4gICAgICAgIC8vIG5hdiBkcm9wXHJcbiAgICAgICAgJ25hdi1kcm9wLWJnJzogJHByaW1hcnksXHJcbiAgICAgICAgJ25hdi1kcm9wLXVpJzogd2hpdGUsXHJcbiAgICAgICAgJ25hdi1kcm9wLXVpLW9uJzogcmdiYSh3aGl0ZSwgMSksXHJcblxyXG4gICAgICAgIC8vIGZpbG0gcGFnZVxyXG4gICAgICAgICdmaWxtLXRpdGxlJzogJHByaW1hcnksXHJcbiAgICAgICAgJ2ZpbG0taW5mby1oZWFkaW5nJzogJGNvcmVvcmFuZ2UsIFxyXG5cclxuICAgICAgICAvLyBmaWxtIGdyaWRcclxuICAgICAgICAnZmlsbS1ncmlkLXllYXInOiAjYjNiM2IzLCBcclxuXHJcbiAgICAgICAgLy8gYm9va2luZyBidG5zIC8gc2Vzc2lvbiBhdHRyaWJ1dGVzXHJcbiAgICAgICAgJ2Jvb2tpbmctZGF0ZSc6ICRwcmltYXJ5LFxyXG4gICAgICAgICdib29raW5nLWRhdGUtYmcnOiAkc2Vjb25kYXJ5LFxyXG4gICAgICAgICdib29raW5nLWRhdGUtb24nOiAjRkZGLFxyXG4gICAgICAgICdib29raW5nLWRhdGUtYmctb24nOiAkcHJpbWFyeSxcclxuICAgICAgICAnYm9va2luZy1zZXNzaW9uJzogJHByaW1hcnksXHJcbiAgICAgICAgJ2Jvb2tpbmctc2Vzc2lvbi1iZyc6ICRzZWNvbmRhcnksXHJcbiAgICAgICAgJ2Jvb2tpbmctc2Vzc2lvbi1vbic6ICRwcmltYXJ5LFxyXG4gICAgICAgICdib29raW5nLXNlc3Npb24tYmctb24nOiAjRURERURCLFxyXG4gICAgICAgICdib29raW5nLWF0dHJpYnV0ZS1zb2xkLW91dCc6IHdoaXRlLFxyXG4gICAgICAgICdib29raW5nLWF0dHJpYnV0ZS1zb2xkLW91dC1iZyc6ICNGRjAwMDAsXHJcbiAgICAgICAgJ2Jvb2tpbmctYXR0cmlidXRlLXNlbGxpbmctZmFzdCc6IHdoaXRlLFxyXG4gICAgICAgICdib29raW5nLWF0dHJpYnV0ZS1zZWxsaW5nLWZhc3QtYmcnOiAjRkY1NTAwLFxyXG5cclxuICAgICAgICAnYm9va2luZy1zZXNzaW9uLXNwZWNpYWwtZXZlbnQnOiAkcHJpbWFyeSxcclxuICAgICAgICAnYm9va2luZy1zZXNzaW9uLXNwZWNpYWwtZXZlbnQtYmcnOiAkc2Vjb25kYXJ5LFxyXG4gICAgICAgICdib29raW5nLXNlc3Npb24tc3BlY2lhbC1ldmVudC1vbic6ICMwMDAsXHJcbiAgICAgICAgJ2Jvb2tpbmctc2Vzc2lvbi1zcGVjaWFsLWV2ZW50LW9uLWJnJzogbGlnaHRlbigkc2Vjb25kYXJ5LCAxMCUpLFxyXG5cclxuICAgICAgICAnc2Vzc2lvbi1ldmVudC1zdGFyJzogJHByaW1hcnksXHJcblxyXG4gICAgICAgIC8vIDMgY29sIHByb21vIFxyXG4gICAgICAgICdwcm9tby1oZWFkaW5nJzogIzAzNDczMixcclxuICAgICAgICAncHJvbW8tYmcnOiAjZmZkNGRkLFxyXG5cclxuICAgICAgICAvLyBzdWJzY3JpYmVcclxuICAgICAgICAnc3Vic2NyaWJlLWJnJzogJHNlY29uZGFyeSxcclxuICAgICAgICAnc3Vic2NyaWJlLXRleHQnOiAjZmZmLFxyXG5cclxuICAgICAgICAvLyBzd2lwZXJcclxuICAgICAgICAnc3dpcGVyLXRpdGxlJzogd2hpdGUsXHJcbiAgICAgICAgJ3N3aXBlci1zdWJ0aXRsZSc6IHdoaXRlLFxyXG5cclxuICAgICAgICAvLyBmb290ZXJcclxuICAgICAgICAnZm9vdGVyLXRleHQnOiB3aGl0ZSxcclxuICAgICAgICAnZm9vdGVyLWJnJzogYmxhY2ssXHJcbiAgICAgICAgJ2Zvb3Rlci1ob3Zlcic6ICRzZWNvbmRhcnksXHJcbiAgICAgICAgJ2Nob29rLWxvZ28nOiB3aGl0ZSxcclxuXHJcbiAgICAgICAgLy8gcGlja2VyIGNhbGVuZGFyXHJcbiAgICAgICAgJ3BpY2tlci1ib3JkZXInOiAkc2Vjb25kYXJ5LFxyXG4gICAgICAgICdwaWNrZXItYmcnOiByZ2JhKCRzZWNvbmRhcnksIDAuMiksXHJcbiAgICAgICAgJ3BkLWRheS1iZyc6ICcjZmZlZGYwJyxcclxuXHJcbiAgICAgICAgLy8gdHJhbG9yIGJ1dHRvblxyXG4gICAgICAgICd0cmFpbGVyLWJ0bi1iZyc6IHRyYW5zcGFyZW50LFxyXG4gICAgICAgICd0cmFpbGVyLWJ0bi10ZXh0Jzogd2hpdGUsXHJcbiAgICAgICAgJ3RyYWlsZXItYnRuLXRleHQtb24nOiAkc2Vjb25kYXJ5LFxyXG4gICAgICAgICd0cmFpbGVyLWJ0bi1iZy1vbic6IHRyYW5zcGFyZW50LFxyXG4gICAgICAgICd0cmFpbGVyLWJ0bi1iZy1tb2InOiAkY29yZW9yYW5nZSxcclxuXHJcbiAgICAgICAgLy8gTW9kYWwgSklGRiBvbmx5IEphbiAyMDIxXHJcbiAgICAgICAgJ21vZGFsLWJnJzogJHByaW1hcnksXHJcbiAgICApLFxyXG5cclxuICAgICdqaWYnOiAoXHJcblxyXG4gICAgICAgIC8vIHRleHRcclxuICAgICAgICAndGV4dCc6IGJsYWNrLFxyXG4gICAgICAgICdsaW5rJzogJHByaW1hcnksXHJcbiAgICAgICAgJ2xpbmstaG92ZXInOiAkcHJpbWFyeSxcclxuICAgICAgICAnbGluay12aXNpdGVkJzogIzZhMDEzNixcclxuXHJcbiAgICAgICAgLy8gYmFja2dyb3VuZHNcclxuICAgICAgICAncGFnZS1iZyc6IHdoaXRlLFxyXG4gICAgICAgICduYXYtc3RhdGljLWJnJzogd2hpdGUsXHJcbiAgICAgICAgJ3BsYW5uZXItYmcnOiB3aGl0ZSxcclxuXHJcbiAgICAgICAgLy8gbmF2IGVsZW1lbnRzXHJcbiAgICAgICAgJ25hdi11aSc6IGJsYWNrLFxyXG4gICAgICAgICduYXYtdWktb24nOiAkcHJpbWFyeSxcclxuXHJcbiAgICAgICAgLy8gc2VhcmNoXHJcbiAgICAgICAgJ3NlYXJjaC10ZXh0LWFjdGl2ZSc6IGJsYWNrLFxyXG4gICAgICAgICdzZWFyY2gtdGV4dC1vZmYnOiB3aGl0ZSxcclxuICAgICAgICAnc2VhcmNoLWJnLW9mZic6IHJnYmEod2hpdGUsIDAuMSksXHJcbiAgICAgICAgJ3NlYXJjaC1iZy1hY3RpdmUnOiB3aGl0ZSxcclxuICAgICAgICAnc2VhcmNoLWJnLWhvdmVyJzogcmdiYSh3aGl0ZSwgMC4yKSxcclxuICAgICAgICAnc2VhcmNoLXBsYWNlaG9sZGVyJzogI2ZhZmFmYSwgXHJcblxyXG4gICAgICAgIC8vIHNlYXJjaCByZXN1bHRzXHJcbiAgICAgICAgJ3NlYXJjaC1yZXN1bHRzLWJnJzogJHByaW1hcnksXHJcbiAgICAgICAgJ3NlYXJjaC1yZXN1bHRzLWhlYWRpbmcnOiB3aGl0ZSxcclxuICAgICAgICAnc2VhcmNoLXJlc3VsdHMtdGl0bGUnOiB3aGl0ZSxcclxuICAgICAgICAnc2VhcmNoLXJlc3VsdHMtdGl0bGUtb24nOiBibGFjayxcclxuXHJcbiAgICAgICAgJ3ByaW1hcnknOiAkcHJpbWFyeSxcclxuICAgICAgICAnaW1nLWxvYWRpbmctYmcnOiAjZmFmYWZhLFxyXG4gICAgICAgICdkaXZpZGVyJzogcmdiYSgkc2Vjb25kYXJ5LCAwLjEpLFxyXG4gICAgICAgICd1c2VyLXNlbGVjdGlvbic6IHdoaXRlLFxyXG4gICAgICAgICd1c2VyLXNlbGVjdGlvbi1iZyc6IHJnYmEoYmxhY2ssIDAuOCksXHJcblxyXG4gICAgICAgIC8vIGJ0bnNcclxuICAgICAgICAnYnV0dG9uLXRleHQnOiB3aGl0ZSxcclxuICAgICAgICAnYnV0dG9uLXRleHQtb24nOiB3aGl0ZSxcclxuICAgICAgICAnYnV0dG9uLXRleHQtZGlzYWJsZWQnOiB3aGl0ZSxcclxuICAgICAgICAnYnV0dG9uLWJnJzogIzQzNjE1MywgLy8kY29yZW9yYW5nZSxcclxuICAgICAgICAnYnV0dG9uLWJnLW9uJzojNTg3RjZDLFxyXG4gICAgICAgICdidXR0b24tYmctZGlzYWJsZWQnOiByZ2JhKCM2NUJCQjMsIDAuNzUpLFxyXG5cclxuICAgICAgICAvLyBzY2hlZHVsZSB0YWJzXHJcbiAgICAgICAgJ3NjaGVkdWxlLXRhYi10ZXh0LWFjdGl2ZSc6IHdoaXRlLFxyXG4gICAgICAgICdzY2hlZHVsZS10YWItYmctYWN0aXZlJzogJHByaW1hcnksXHJcbiAgICAgICAgJ3NjaGVkdWxlLXRhYi10ZXh0LWRlZmF1bHQnOiAkcHJpbWFyeSxcclxuICAgICAgICAnc2NoZWR1bGUtdGFiLWJnLWRlZmF1bHQnOiByZ2JhKCRwcmltYXJ5LC4zNSksXHJcbiAgICAgICAgJ3NjaGVkdWxlLWZpbHRlci1oZWFkaW5nJzogJGNvcmVvcmFuZ2UsXHJcblxyXG4gICAgICAgIC8vIG5hdiBzdGlja3lcclxuICAgICAgICAnbmF2LXN0aWNreS1iZyc6ICRwcmltYXJ5LFxyXG4gICAgICAgICduYXYtc3RpY2t5LXBsYW5uZXItYnRuLXRleHQnOiB3aGl0ZSxcclxuICAgICAgICAnbmF2LXN0aWNreS1wbGFubmVyLWJ0bi1pY29uJzogd2hpdGUsXHJcbiAgICAgICAgJ25hdi1zdGlja3ktcGxhbm5lci1idG4tYmcnOiByZ2JhKDI1NSwyNTUsMjU1LC4yKSxcclxuICAgICAgICAnbmF2LXN0aWNreS1wbGFubmVyLWJ0bi10ZXh0LW9uJzogJHByaW1hcnksXHJcbiAgICAgICAgJ25hdi1zdGlja3ktcGxhbm5lci1idG4taWNvbi1vbic6ICRwcmltYXJ5LFxyXG4gICAgICAgICduYXYtc3RpY2t5LXBsYW5uZXItYnRuLWJnLW9uJzogd2hpdGUsXHJcbiAgICAgICAgJ25hdi1zdGlja3ktZGF0ZXMnOiB3aGl0ZSxcclxuICAgICAgICAnbmF2LXN0aWNreS1kYXRlLXNlcGFyYXRvcic6IHdoaXRlLFxyXG4gICAgICAgICduYXYtc3RpY2t5LWxvY2F0aW9ucyc6IHdoaXRlLFxyXG4gICAgICAgICduYXYtc3RpY2t5LWJvcmRlci1iZyc6cmdiYSgyNTUsMjU1LDI1NSwuMTUpLFxyXG4gICAgICAgICduYXYtc3RpY2t5LXNlYXJjaC1vcGVuJzogd2hpdGUsXHJcbiAgICAgICAgJ25hdi1zdGlja3ktc2VhcmNoLWNsb3NlJzogYmxhY2ssXHJcbiAgICAgICAgJ25hdi1zdGlja3ktc2VhcmNoLWNsb3NlLW9uJzogJHByaW1hcnksXHJcblxyXG4gICAgICAgIC8vIG5hdiBkcm9wXHJcbiAgICAgICAgJ25hdi1kcm9wLWJnJzogJHByaW1hcnksXHJcbiAgICAgICAgJ25hdi1kcm9wLXVpJzogd2hpdGUsXHJcbiAgICAgICAgJ25hdi1kcm9wLXVpLW9uJzogcmdiYSh3aGl0ZSwgMC43KSxcclxuXHJcbiAgICAgICAgLy8gZmlsbSBwYWdlXHJcbiAgICAgICAgJ2ZpbG0tdGl0bGUnOiAkcHJpbWFyeSxcclxuICAgICAgICAnZmlsbS1pbmZvLWhlYWRpbmcnOiAkY29yZW9yYW5nZSwgXHJcblxyXG4gICAgICAgIC8vIGZpbG0gZ3JpZFxyXG4gICAgICAgICdmaWxtLWdyaWQteWVhcic6ICNiM2IzYjMsIFxyXG5cclxuICAgICAgICAvLyBib29raW5nIGJ0bnMgLyBzZXNzaW9uIGF0dHJpYnV0ZXNcclxuICAgICAgICAnYm9va2luZy1kYXRlJzogJHByaW1hcnksXHJcbiAgICAgICAgJ2Jvb2tpbmctZGF0ZS1iZyc6ICRzZWNvbmRhcnksXHJcbiAgICAgICAgJ2Jvb2tpbmctZGF0ZS1vbic6ICNGRkYsXHJcbiAgICAgICAgJ2Jvb2tpbmctZGF0ZS1iZy1vbic6ICRwcmltYXJ5LFxyXG4gICAgICAgICdib29raW5nLXNlc3Npb24nOiAkcHJpbWFyeSxcclxuICAgICAgICAnYm9va2luZy1zZXNzaW9uLWJnJzogJHNlY29uZGFyeSxcclxuICAgICAgICAnYm9va2luZy1zZXNzaW9uLW9uJzogJHByaW1hcnksXHJcbiAgICAgICAgJ2Jvb2tpbmctc2Vzc2lvbi1iZy1vbic6ICNFRERFREIsXHJcbiAgICAgICAgJ2Jvb2tpbmctYXR0cmlidXRlLXNvbGQtb3V0Jzogd2hpdGUsXHJcbiAgICAgICAgJ2Jvb2tpbmctYXR0cmlidXRlLXNvbGQtb3V0LWJnJzogI0ZGMDAwMCxcclxuICAgICAgICAnYm9va2luZy1hdHRyaWJ1dGUtc2VsbGluZy1mYXN0Jzogd2hpdGUsXHJcbiAgICAgICAgJ2Jvb2tpbmctYXR0cmlidXRlLXNlbGxpbmctZmFzdC1iZyc6ICNGRjU1MDAsXHJcblxyXG4gICAgICAgICdib29raW5nLXNlc3Npb24tc3BlY2lhbC1ldmVudCc6ICRwcmltYXJ5LFxyXG4gICAgICAgICdib29raW5nLXNlc3Npb24tc3BlY2lhbC1ldmVudC1iZyc6ICRzZWNvbmRhcnksXHJcbiAgICAgICAgJ2Jvb2tpbmctc2Vzc2lvbi1zcGVjaWFsLWV2ZW50LW9uJzogIzAwMCxcclxuICAgICAgICAnYm9va2luZy1zZXNzaW9uLXNwZWNpYWwtZXZlbnQtb24tYmcnOiBsaWdodGVuKCRzZWNvbmRhcnksIDEwJSksXHJcblxyXG4gICAgICAgICdzZXNzaW9uLWV2ZW50LXN0YXInOiAkcHJpbWFyeSxcclxuXHJcbiAgICAgICAgLy8gMyBjb2wgcHJvbW8gXHJcbiAgICAgICAgJ3Byb21vLWhlYWRpbmcnOiAjMDM0NzMyLFxyXG4gICAgICAgICdwcm9tby1iZyc6ICNmZmQ0ZGQsXHJcblxyXG4gICAgICAgIC8vIHN1YnNjcmliZVxyXG4gICAgICAgICdzdWJzY3JpYmUtYmcnOiAkc2Vjb25kYXJ5LFxyXG4gICAgICAgICdzdWJzY3JpYmUtdGV4dCc6ICMwMDAsXHJcblxyXG4gICAgICAgIC8vIHN3aXBlclxyXG4gICAgICAgICdzd2lwZXItdGl0bGUnOiB3aGl0ZSxcclxuICAgICAgICAnc3dpcGVyLXN1YnRpdGxlJzogd2hpdGUsXHJcblxyXG4gICAgICAgIC8vIGZvb3RlclxyXG4gICAgICAgICdmb290ZXItdGV4dCc6IHdoaXRlLFxyXG4gICAgICAgICdmb290ZXItYmcnOiBibGFjayxcclxuICAgICAgICAnZm9vdGVyLWhvdmVyJzogJHByaW1hcnksXHJcbiAgICAgICAgJ2Nob29rLWxvZ28nOiAkcHJpbWFyeSxcclxuXHJcbiAgICAgICAgLy8gcGlja2VyIGNhbGVuZGFyXHJcbiAgICAgICAgJ3BpY2tlci1ib3JkZXInOiAkc2Vjb25kYXJ5LFxyXG4gICAgICAgICdwaWNrZXItYmcnOiByZ2JhKCRzZWNvbmRhcnksIDAuMiksXHJcbiAgICAgICAgJ3BkLWRheS1iZyc6ICcjZmZlZGYwJyxcclxuXHJcbiAgICAgICAgLy8gdHJhbG9yIGJ1dHRvblxyXG4gICAgICAgICd0cmFpbGVyLWJ0bi1iZyc6IHRyYW5zcGFyZW50LFxyXG4gICAgICAgICd0cmFpbGVyLWJ0bi10ZXh0Jzogd2hpdGUsXHJcbiAgICAgICAgJ3RyYWlsZXItYnRuLXRleHQtb24nOiAkcHJpbWFyeSxcclxuICAgICAgICAndHJhaWxlci1idG4tYmctb24nOiB0cmFuc3BhcmVudCxcclxuICAgICAgICAndHJhaWxlci1idG4tYmctbW9iJzogJGNvcmVvcmFuZ2UsXHJcblxyXG4gICAgICAgIC8vIE1vZGFsIEpJRkYgb25seSBKYW4gMjAyMVxyXG4gICAgICAgICdtb2RhbC1iZyc6ICRwcmltYXJ5LFxyXG4gICAgKSxcclxuXHJcbiAgICAnZmZhJzogKFxyXG5cclxuICAgICAgICAvLyB0ZXh0XHJcbiAgICAgICAgJ3RleHQnOiBibGFjayxcclxuICAgICAgICAnbGluayc6ICRwcmltYXJ5LFxyXG4gICAgICAgICdsaW5rLWhvdmVyJzogJHNlY29uZGFyeSxcclxuICAgICAgICAnbGluay12aXNpdGVkJzogIzZhMDEzNixcclxuXHJcbiAgICAgICAgLy8gYmFja2dyb3VuZHNcclxuICAgICAgICAncGFnZS1iZyc6ICNGMUYxRjEsXHJcbiAgICAgICAgJ25hdi1zdGF0aWMtYmcnOiBibGFjayxcclxuICAgICAgICAncGxhbm5lci1iZyc6IHdoaXRlLFxyXG5cclxuICAgICAgICAvLyBuYXYgZWxlbWVudHNcclxuICAgICAgICAnbmF2LXVpJzogIzhlOGU4ZSxcclxuICAgICAgICAnbmF2LXVpLW9uJzogd2hpdGUsXHJcblxyXG4gICAgICAgIC8vIHNlYXJjaCBpbnB1dFxyXG4gICAgICAgICdzZWFyY2gtdGV4dC1hY3RpdmUnOiBibGFjayxcclxuICAgICAgICAnc2VhcmNoLXRleHQtb2ZmJzogd2hpdGUsXHJcbiAgICAgICAgJ3NlYXJjaC1iZy1vZmYnOiByZ2JhKHdoaXRlLCAwLjIpLFxyXG4gICAgICAgICdzZWFyY2gtYmctYWN0aXZlJzogd2hpdGUsXHJcbiAgICAgICAgJ3NlYXJjaC1iZy1ob3Zlcic6IHJnYmEod2hpdGUsIDAuMiksXHJcbiAgICAgICAgJ3NlYXJjaC1wbGFjZWhvbGRlcic6ICNjNmM2YzYsXHJcblxyXG4gICAgICAgIC8vIHNlYXJjaCByZXN1bHRzXHJcbiAgICAgICAgJ3NlYXJjaC1yZXN1bHRzLWhlYWRpbmcnOiB3aGl0ZSxcclxuICAgICAgICAnc2VhcmNoLXJlc3VsdHMtdGl0bGUnOiB3aGl0ZSxcclxuICAgICAgICAnc2VhcmNoLXJlc3VsdHMtdGl0bGUtb24nOiBibGFjayxcclxuICAgICAgICAnc2VhcmNoLXJlc3VsdHMtYmcnOiAkcHJpbWFyeSxcclxuXHJcbiAgICAgICAgJ3ByaW1hcnknOiAkcHJpbWFyeSxcclxuICAgICAgICAnaW1nLWxvYWRpbmctYmcnOiAjZmFmYWZhLFxyXG4gICAgICAgICdkaXZpZGVyJzogcmdiYSgjMjU0Zjc2LCAwLjEpLFxyXG4gICAgICAgICd1c2VyLXNlbGVjdGlvbic6IHdoaXRlLFxyXG4gICAgICAgICd1c2VyLXNlbGVjdGlvbi1iZyc6IHJnYmEoYmxhY2ssIDAuOCksXHJcblxyXG4gICAgICAgIC8vIGJ0bnNcclxuICAgICAgICAnYnV0dG9uLXRleHQnOiB3aGl0ZSxcclxuICAgICAgICAnYnV0dG9uLXRleHQtb24nOiB3aGl0ZSxcclxuICAgICAgICAnYnV0dG9uLXRleHQtZGlzYWJsZWQnOiB3aGl0ZSxcclxuICAgICAgICAnYnV0dG9uLWJnJzogJHByaW1hcnksXHJcbiAgICAgICAgJ2J1dHRvbi1iZy1vbic6ICRzZWNvbmRhcnksXHJcbiAgICAgICAgJ2J1dHRvbi1iZy1kaXNhYmxlZCc6IHJnYmEoJHByaW1hcnksIDAuNzUpLFxyXG5cclxuICAgICAgICAvLyBzY2hlZHVsZSB0YWJzXHJcbiAgICAgICAgJ3NjaGVkdWxlLXRhYi10ZXh0LWFjdGl2ZSc6IHdoaXRlLFxyXG4gICAgICAgICdzY2hlZHVsZS10YWItYmctYWN0aXZlJzogJHNlY29uZGFyeSxcclxuICAgICAgICAnc2NoZWR1bGUtdGFiLXRleHQtZGVmYXVsdCc6IHdoaXRlLFxyXG4gICAgICAgICdzY2hlZHVsZS10YWItYmctZGVmYXVsdCc6ICRwcmltYXJ5LFxyXG4gICAgICAgICdzY2hlZHVsZS1maWx0ZXItaGVhZGluZyc6ICM4ZThlOGUsXHJcblxyXG4gICAgICAgIC8vIG5hdiBzdGlja3lcclxuICAgICAgICAnbmF2LXN0aWNreS1iZyc6IGJsYWNrLFxyXG4gICAgICAgICduYXYtc3RpY2t5LXBsYW5uZXItYnRuLXRleHQnOiB3aGl0ZSxcclxuICAgICAgICAnbmF2LXN0aWNreS1wbGFubmVyLWJ0bi1pY29uJzogJHNlY29uZGFyeSxcclxuICAgICAgICAnbmF2LXN0aWNreS1wbGFubmVyLWJ0bi1iZyc6ICRwcmltYXJ5LFxyXG4gICAgICAgICduYXYtc3RpY2t5LXBsYW5uZXItYnRuLXRleHQtb24nOiB3aGl0ZSxcclxuICAgICAgICAnbmF2LXN0aWNreS1wbGFubmVyLWJ0bi1pY29uLW9uJzogd2hpdGUsXHJcbiAgICAgICAgJ25hdi1zdGlja3ktcGxhbm5lci1idG4tYmctb24nOiAkc2Vjb25kYXJ5LFxyXG4gICAgICAgICduYXYtc3RpY2t5LWRhdGVzJzogd2hpdGUsXHJcbiAgICAgICAgJ25hdi1zdGlja3ktZGF0ZS1zZXBhcmF0b3InOiB3aGl0ZSxcclxuICAgICAgICAnbmF2LXN0aWNreS1sb2NhdGlvbnMnOiAjOGU4ZThlLFxyXG4gICAgICAgICduYXYtc3RpY2t5LWJvcmRlci1iZyc6IHJnYmEoMjU1LDI1NSwyNTUsLjE1KSxcclxuICAgICAgICAnbmF2LXN0aWNreS1zZWFyY2gtb3Blbic6IHdoaXRlLFxyXG4gICAgICAgICduYXYtc3RpY2t5LXNlYXJjaC1jbG9zZSc6IGJsYWNrLFxyXG4gICAgICAgICduYXYtc3RpY2t5LXNlYXJjaC1jbG9zZS1vbic6IHdoaXRlLFxyXG5cclxuICAgICAgICAvLyBuYXYgZHJvcFxyXG4gICAgICAgICduYXYtZHJvcC1iZyc6IGJsYWNrLFxyXG4gICAgICAgICduYXYtZHJvcC11aSc6IHdoaXRlLFxyXG4gICAgICAgICduYXYtZHJvcC11aS1vbic6IHJnYmEod2hpdGUsIDAuNyksXHJcblxyXG4gICAgICAgIC8vIGZpbG0gcGFnZVxyXG4gICAgICAgICdmaWxtLXRpdGxlJzogJHByaW1hcnksXHJcbiAgICAgICAgJ2ZpbG0taW5mby1oZWFkaW5nJzogYmxhY2ssXHJcblxyXG4gICAgICAgIC8vIGZpbG0gZ3JpZFxyXG4gICAgICAgICdmaWxtLWdyaWQteWVhcic6ICRzZWNvbmRhcnksXHJcblxyXG4gICAgICAgIC8vIGJvb2tpbmcgYnRucyAvIHNlc3Npb24gYXR0cmlidXRlc1xyXG4gICAgICAgICdib29raW5nLWRhdGUnOiAjNmEwMTM2LFxyXG4gICAgICAgICdib29raW5nLWRhdGUtYmcnOiAjZjJkOWU2LFxyXG4gICAgICAgICdib29raW5nLWRhdGUtb24nOiB3aGl0ZSxcclxuICAgICAgICAnYm9va2luZy1kYXRlLWJnLW9uJzogIzZhMDEzNixcclxuICAgICAgICAnYm9va2luZy1zZXNzaW9uJzogd2hpdGUsXHJcbiAgICAgICAgJ2Jvb2tpbmctc2Vzc2lvbi1iZyc6ICRwcmltYXJ5LFxyXG4gICAgICAgICdib29raW5nLXNlc3Npb24tb24nOiAkcHJpbWFyeSxcclxuICAgICAgICAnYm9va2luZy1zZXNzaW9uLWJnLW9uJzogIzMzMyxcclxuICAgICAgICAnYm9va2luZy1hdHRyaWJ1dGUtc29sZC1vdXQnOiB3aGl0ZSxcclxuICAgICAgICAnYm9va2luZy1hdHRyaWJ1dGUtc29sZC1vdXQtYmcnOiAjRkYwMDAwLFxyXG4gICAgICAgICdib29raW5nLWF0dHJpYnV0ZS1zZWxsaW5nLWZhc3QnOiB3aGl0ZSxcclxuICAgICAgICAnYm9va2luZy1hdHRyaWJ1dGUtc2VsbGluZy1mYXN0LWJnJzogI0ZGNTUwMCxcclxuXHJcbiAgICAgICAgJ2Jvb2tpbmctc2Vzc2lvbi1zcGVjaWFsLWV2ZW50Jzogd2hpdGUsXHJcbiAgICAgICAgJ2Jvb2tpbmctc2Vzc2lvbi1zcGVjaWFsLWV2ZW50LWJnJzogIzI1NGY3NixcclxuICAgICAgICAnYm9va2luZy1zZXNzaW9uLXNwZWNpYWwtZXZlbnQtb24nOiAjZmZmZmZmLFxyXG4gICAgICAgICdib29raW5nLXNlc3Npb24tc3BlY2lhbC1ldmVudC1vbi1iZyc6IGxpZ2h0ZW4oIzI1NGY3NiwgMTAlKSxcclxuXHJcbiAgICAgICAgJ3Nlc3Npb24tZXZlbnQtc3Rhcic6IHdoaXRlLFxyXG5cclxuICAgICAgICAvLyAzIGNvbCBwcm9tbyBcclxuICAgICAgICAncHJvbW8taGVhZGluZyc6IHdoaXRlLFxyXG4gICAgICAgICdwcm9tby1iZyc6IGJsYWNrLFxyXG5cclxuICAgICAgICAvLyBzdWJzY3JpYmVcclxuICAgICAgICAnc3Vic2NyaWJlLWJnJzogIzE3MTcxNyxcclxuICAgICAgICAnc3Vic2NyaWJlLXRleHQnOiB3aGl0ZSxcclxuICAgICAgICAvLyBzd2lwZXJcclxuICAgICAgICAnc3dpcGVyLXRpdGxlJzogd2hpdGUsXHJcbiAgICAgICAgJ3N3aXBlci1zdWJ0aXRsZSc6IHdoaXRlLFxyXG5cclxuICAgICAgICAvLyBmb290ZXJcclxuICAgICAgICAnZm9vdGVyLXRleHQnOiB3aGl0ZSxcclxuICAgICAgICAnZm9vdGVyLWJnJzogYmxhY2ssXHJcbiAgICAgICAgJ2Zvb3Rlci1ob3Zlcic6ICRwcmltYXJ5LFxyXG4gICAgICAgICdjaG9vay1sb2dvJzogJHByaW1hcnksXHJcblxyXG4gICAgICAgIC8vIHBpY2tlciBjYWxlbmRhclxyXG4gICAgICAgICdwaWNrZXItYm9yZGVyJzogI2ZjZDdjZixcclxuICAgICAgICAncGlja2VyLWJnJzogI2ZmZWRmMCxcclxuICAgICAgICAncGQtZGF5LWJnJzogJyNmZmVkZjAnLFxyXG5cclxuICAgICAgICAvLyB0cmFsb3IgYnV0dG9uXHJcbiAgICAgICAgJ3RyYWlsZXItYnRuLWJnJzogdHJhbnNwYXJlbnQsXHJcbiAgICAgICAgJ3RyYWlsZXItYnRuLXRleHQnOiB3aGl0ZSxcclxuICAgICAgICAndHJhaWxlci1idG4tdGV4dC1vbic6ICRwcmltYXJ5LFxyXG4gICAgICAgICd0cmFpbGVyLWJ0bi1iZy1vbic6IHRyYW5zcGFyZW50LFxyXG5cclxuICAgICAgICAvLyBNb2RhbCBKSUZGIG9ubHkgSmFuIDIwMjFcclxuICAgICAgICAnbW9kYWwtYmcnOiAkcHJpbWFyeSxcclxuICAgICksXHJcblxyXG4gICAgJ2NoZic6IChcclxuXHJcbiAgICAgICAgLy8gdGV4dFxyXG4gICAgICAgICd0ZXh0JzogYmxhY2ssXHJcbiAgICAgICAgJ2xpbmsnOiAkcHJpbWFyeSxcclxuICAgICAgICAnbGluay1ob3Zlcic6ICRwcmltYXJ5LFxyXG4gICAgICAgICdsaW5rLXZpc2l0ZWQnOiAjMzQ0MDQ2LFxyXG5cclxuICAgICAgICAvLyBiYWNrZ3JvdW5kc1xyXG4gICAgICAgICdwYWdlLWJnJzogI0ZGRkNGMyxcclxuICAgICAgICAnbmF2LXN0YXRpYy1iZyc6ICNGRkZDRjMsXHJcbiAgICAgICAgJ3BsYW5uZXItYmcnOiB3aGl0ZSxcclxuXHJcbiAgICAgICAgLy8gbmF2IGVsZW1lbnRzXHJcbiAgICAgICAgJ25hdi11aSc6IGJsYWNrLFxyXG4gICAgICAgICduYXYtdWktb24nOiAjZmRiODE5LFxyXG5cclxuICAgICAgICAvLyBzZWFyY2ggaW5wdXRcclxuICAgICAgICAnc2VhcmNoLXRleHQtYWN0aXZlJzogYmxhY2ssXHJcbiAgICAgICAgJ3NlYXJjaC10ZXh0LW9mZic6IGJsYWNrLFxyXG4gICAgICAgICdzZWFyY2gtYmctb2ZmJzogcmdiYSh3aGl0ZSwgMC4yKSxcclxuICAgICAgICAnc2VhcmNoLWJnLWFjdGl2ZSc6IHdoaXRlLFxyXG4gICAgICAgICdzZWFyY2gtYmctaG92ZXInOiByZ2JhKHdoaXRlLCAwLjQpLFxyXG4gICAgICAgICdzZWFyY2gtcGxhY2Vob2xkZXInOiB3aGl0ZSxcclxuICAgICAgICAnc2VhcmNoLXBsYWNlaG9sZGVyLW9uJzogYmxhY2ssXHJcblxyXG4gICAgICAgIC8vIHNlYXJjaCByZXN1bHRzXHJcbiAgICAgICAgJ3NlYXJjaC1yZXN1bHRzLWJnJzogJHByaW1hcnksXHJcbiAgICAgICAgJ3NlYXJjaC1yZXN1bHRzLWhlYWRpbmcnOiB3aGl0ZSxcclxuICAgICAgICAnc2VhcmNoLXJlc3VsdHMtdGl0bGUnOiB3aGl0ZSxcclxuICAgICAgICAnc2VhcmNoLXJlc3VsdHMtdGl0bGUtb24nOiAkc2Vjb25kYXJ5LFxyXG5cclxuICAgICAgICAncHJpbWFyeSc6ICRwcmltYXJ5LFxyXG4gICAgICAgICdpbWctbG9hZGluZy1iZyc6ICNmYWZhZmEsXHJcbiAgICAgICAgJ2RpdmlkZXInOiByZ2JhKCMyNTRmNzYsIDAuMSksXHJcbiAgICAgICAgJ3VzZXItc2VsZWN0aW9uJzogd2hpdGUsXHJcbiAgICAgICAgJ3VzZXItc2VsZWN0aW9uLWJnJzogcmdiYShibGFjaywgMC44KSxcclxuXHJcbiAgICAgICAgLy8gYnRuc1xyXG4gICAgICAgICdidXR0b24tdGV4dCc6IGJsYWNrLFxyXG4gICAgICAgICdidXR0b24tdGV4dC1vbic6ICMzNDQwNDYsXHJcbiAgICAgICAgJ2J1dHRvbi10ZXh0LWRpc2FibGVkJzogd2hpdGUsXHJcbiAgICAgICAgJ2J1dHRvbi1iZyc6ICNmZmUyNDgsXHJcbiAgICAgICAgJ2J1dHRvbi1iZy1vbic6ICNGRkZDRjMsXHJcbiAgICAgICAgJ2J1dHRvbi1iZy1kaXNhYmxlZCc6IHJnYmEoJHByaW1hcnksIDAuNzUpLFxyXG4gICAgICAgIFxyXG4gICAgICAgIC8vIHNjaGVkdWxlIHRhYnNcclxuICAgICAgICAnc2NoZWR1bGUtdGFiLXRleHQtYWN0aXZlJzogd2hpdGUsXHJcbiAgICAgICAgJ3NjaGVkdWxlLXRhYi1iZy1hY3RpdmUnOiAkcHJpbWFyeSxcclxuICAgICAgICAnc2NoZWR1bGUtdGFiLXRleHQtZGVmYXVsdCc6ICRwcmltYXJ5LFxyXG4gICAgICAgICdzY2hlZHVsZS10YWItYmctZGVmYXVsdCc6ICRzZWNvbmRhcnksXHJcbiAgICAgICAgJ3NjaGVkdWxlLWZpbHRlci1oZWFkaW5nJzogYmxhY2ssIC8vIXJlZmFjdG9yIHVwZGF0ZVxyXG5cclxuICAgICAgICAvLyBuYXYgc3RpY2t5XHJcbiAgICAgICAgJ25hdi1zdGlja3ktYmcnOiAjMTg0YjQ3LFxyXG4gICAgICAgICduYXYtc3RpY2t5LXBsYW5uZXItYnRuLXRleHQnOiBibGFjayxcclxuICAgICAgICAnbmF2LXN0aWNreS1wbGFubmVyLWJ0bi1pY29uJzogYmxhY2ssXHJcbiAgICAgICAgJ25hdi1zdGlja3ktcGxhbm5lci1idG4tYmcnOiAjZmZlMjQ4LFxyXG4gICAgICAgICduYXYtc3RpY2t5LXBsYW5uZXItYnRuLXRleHQtb24nOiAkcHJpbWFyeSxcclxuICAgICAgICAnbmF2LXN0aWNreS1wbGFubmVyLWJ0bi1pY29uLW9uJzogJHByaW1hcnksXHJcbiAgICAgICAgJ25hdi1zdGlja3ktcGxhbm5lci1idG4tYmctb24nOiB3aGl0ZSxcclxuICAgICAgICAnbmF2LXN0aWNreS1kYXRlcyc6IHdoaXRlLFxyXG4gICAgICAgICduYXYtc3RpY2t5LWRhdGUtc2VwYXJhdG9yJzogI2ZmZTI0OCxcclxuICAgICAgICAnbmF2LXN0aWNreS1sb2NhdGlvbnMnOiB3aGl0ZSxcclxuICAgICAgICAnbmF2LXN0aWNreS1ib3JkZXItYmcnOiMxODRiNDcsXHJcbiAgICAgICAgJ25hdi1zdGlja3ktc2VhcmNoLW9wZW4nOiB3aGl0ZSxcclxuICAgICAgICAnbmF2LXN0aWNreS1zZWFyY2gtY2xvc2UnOiAjMTg0YjQ3LFxyXG4gICAgICAgICduYXYtc3RpY2t5LXNlYXJjaC1jbG9zZS1vbic6ICRwcmltYXJ5LFxyXG5cclxuICAgICAgICAvLyBuYXYgZHJvcFxyXG4gICAgICAgICduYXYtZHJvcC1iZyc6ICMxODRiNDcsXHJcbiAgICAgICAgJ25hdi1kcm9wLXVpJzogd2hpdGUsXHJcbiAgICAgICAgJ25hdi1kcm9wLXVpLW9uJzogJHByaW1hcnksXHJcblxyXG4gICAgICAgIC8vIGZpbG0gcGFnZVxyXG4gICAgICAgICdmaWxtLXRpdGxlJzogIzAwMDAwMCxcclxuICAgICAgICAnZmlsbS1pbmZvLWhlYWRpbmcnOiAjMzQ0MDQ2LFxyXG5cclxuICAgICAgICAvLyBmaWxtIGdyaWRcclxuICAgICAgICAnZmlsbS1ncmlkLXllYXInOiBibGFjayxcclxuXHJcbiAgICAgICAgLy8gYm9va2luZyBidG5zIC8gc2Vzc2lvbiBhdHRyaWJ1dGVzXHJcbiAgICAgICAgJ2Jvb2tpbmctZGF0ZSc6ICMzNDQwNDYsXHJcbiAgICAgICAgJ2Jvb2tpbmctZGF0ZS1iZyc6ICRzZWNvbmRhcnksXHJcbiAgICAgICAgJ2Jvb2tpbmctZGF0ZS1vbic6IHdoaXRlLFxyXG4gICAgICAgICdib29raW5nLWRhdGUtYmctb24nOiAjMzQ0MDQ2LFxyXG4gICAgICAgICdib29raW5nLXNlc3Npb24nOiBibGFjayxcclxuICAgICAgICAnYm9va2luZy1zZXNzaW9uLWJnJzogI2ZmZTI0OCxcclxuICAgICAgICAnYm9va2luZy1zZXNzaW9uLW9uJzogJHByaW1hcnksXHJcbiAgICAgICAgJ2Jvb2tpbmctc2Vzc2lvbi1iZy1vbic6ICNmZmUyNDgsXHJcbiAgICAgICAgJ2Jvb2tpbmctYXR0cmlidXRlLXNvbGQtb3V0Jzogd2hpdGUsXHJcbiAgICAgICAgJ2Jvb2tpbmctYXR0cmlidXRlLXNvbGQtb3V0LWJnJzogI0ZGMDAwMCxcclxuICAgICAgICAnYm9va2luZy1hdHRyaWJ1dGUtc2VsbGluZy1mYXN0Jzogd2hpdGUsXHJcbiAgICAgICAgJ2Jvb2tpbmctYXR0cmlidXRlLXNlbGxpbmctZmFzdC1iZyc6ICNlZTJhMjQsXHJcblxyXG4gICAgICAgICdib29raW5nLXNlc3Npb24tc3BlY2lhbC1ldmVudCc6IGJsYWNrLFxyXG4gICAgICAgICdib29raW5nLXNlc3Npb24tc3BlY2lhbC1ldmVudC1iZyc6ICNmZmUyNDgsXHJcbiAgICAgICAgJ2Jvb2tpbmctc2Vzc2lvbi1zcGVjaWFsLWV2ZW50LW9uJzogYmxhY2ssXHJcbiAgICAgICAgJ2Jvb2tpbmctc2Vzc2lvbi1zcGVjaWFsLWV2ZW50LW9uLWJnJzogI2ZkYjgxOSxcclxuXHJcbiAgICAgICAgJ3Nlc3Npb24tZXZlbnQtc3Rhcic6IGJsYWNrLFxyXG5cclxuXHJcbiAgICAgICAgLy8gMyBjb2wgcHJvbW8gXHJcbiAgICAgICAgJ3Byb21vLWhlYWRpbmcnOiBibGFjayxcclxuICAgICAgICAncHJvbW8tYmcnOiAjRkZGQ0YzLFxyXG5cclxuICAgICAgICAvLyBzdWJzY3JpYmVcclxuICAgICAgICAnc3Vic2NyaWJlLWJnJzogJHByaW1hcnksLy8jNGM4YzZjLFxyXG4gICAgICAgICdzdWJzY3JpYmUtdGV4dCc6ICNmZmUyNDgsXHJcblxyXG4gICAgICAgIC8vIHN3aXBlclxyXG4gICAgICAgICdzd2lwZXItdGl0bGUnOiB3aGl0ZSxcclxuICAgICAgICAnc3dpcGVyLXN1YnRpdGxlJzogI2ZkZjRjZSxcclxuXHJcbiAgICAgICAgLy8gZm9vdGVyXHJcbiAgICAgICAgJ2Zvb3Rlci10ZXh0Jzogd2hpdGUsXHJcbiAgICAgICAgJ2Zvb3Rlci1ob3Zlcic6ICNmZGI4MTksXHJcbiAgICAgICAgJ2Zvb3Rlci1iZyc6ICM0YzhjNmMsXHJcbiAgICAgICAgJ2Nob29rLWxvZ28nOiAjZmZlMjQ4LFxyXG5cclxuICAgICAgICAvLyBwaWNrZXIgY2FsZW5kYXJcclxuICAgICAgICAncGlja2VyLWJvcmRlcic6ICRwcmltYXJ5LFxyXG4gICAgICAgICdwaWNrZXItYmcnOiAkc2Vjb25kYXJ5LFxyXG4gICAgICAgICdwZC1kYXktYmcnOiAndHJhbnNwYXJlbnQnLCAvLyAncGQtZGF5LWJnJzogJyNmZmVkZjAnXHJcbiAgICAgICAgJ3BkLWRheS1jb2xvcic6ICRwcmltYXJ5LFxyXG5cclxuICAgICAgICAvLyB0cmFsb3IgYnV0dG9uXHJcbiAgICAgICAgJ3RyYWlsZXItYnRuLWJnJzogIzRjOGM2YyxcclxuICAgICAgICAndHJhaWxlci1idG4tdGV4dCc6IGJsYWNrLFxyXG4gICAgICAgICd0cmFpbGVyLWJ0bi10ZXh0LW9uJzogYmxhY2ssXHJcbiAgICAgICAgJ3RyYWlsZXItYnRuLWJnLW9uJzogI2ZmZTI0OCxcclxuICAgIClcclxuKTtcclxuXHJcbi8vXHJcbi8vIHRoZW1lIHBhcml0eSBjaGVja1xyXG4vL1xyXG4kdGhlbWVOYW1lczogbWFwLWtleXMoJHRoZW1lcyk7XHJcbkBkZWJ1ZyhcIihcIiArIGxlbmd0aCgkdGhlbWVzKSArIFwiKVwiICsgXCIgdGhlbWVzIGZvdW5kOiBcIiArICR0aGVtZU5hbWVzKTtcclxuJHRoZW1lTGVuZ3RoOiBsZW5ndGgoJHRoZW1lTmFtZXMpO1xyXG4kdGhlbWVLZXlzTWFwOiBudWxsO1xyXG5cclxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkdGhlbWVMZW5ndGgge1xyXG4gICAgXHJcbiAgICAkY3VycmVudFRoZW1lTmFtZTogbnRoKCR0aGVtZU5hbWVzLCAkaSk7XHJcbiAgICAkY3VycmVudFRoZW1lOiBtYXAtZ2V0KCR0aGVtZXMsICRjdXJyZW50VGhlbWVOYW1lKTtcclxuICAgICRjdXJyZW50VGhlbWVLZXlzOiBtYXAta2V5cygkY3VycmVudFRoZW1lKTtcclxuICAgICRhZnRlcjogJHRoZW1lTGVuZ3RoIC0gJGk7XHJcblxyXG4gICAgLy9jaGVja2luZyB0aGVtZXMgYmVmb3JlIGN1cnJlbnQgdGhlbWUgaW5kZXhcclxuICAgIEBpZiAkaSA+IDEge1xyXG5cclxuICAgICAgICBAZm9yICRiZWZvcmVJbmRleCBmcm9tIDEgdGhyb3VnaCAkaSAtIDEge1xyXG4gICAgICAgICAgICAkcHJldlRoZW1lTmFtZTogbnRoKCR0aGVtZU5hbWVzLCAkYmVmb3JlSW5kZXgpO1xyXG4gICAgICAgICAgICAkcHJldlRoZW1lOiBtYXAtZ2V0KCR0aGVtZXMsICRwcmV2VGhlbWVOYW1lKTtcclxuICAgICAgICAgICAgJHByZXZUaGVtZUtleXM6IG1hcC1rZXlzKCRwcmV2VGhlbWUpO1xyXG5cclxuICAgICAgICAgICAgQGZvciAkaiBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJGN1cnJlbnRUaGVtZUtleXMpIHtcclxuICAgICAgICAgICAgICAgICRjdXJyZW50VGhlbWVLZXk6IG50aCgkY3VycmVudFRoZW1lS2V5cywgJGopO1xyXG4gICAgICAgICAgICAgICAgJHJlc3VsdDogY29udGFpbnMoJHByZXZUaGVtZUtleXMsICRjdXJyZW50VGhlbWVLZXkpO1xyXG4gICAgICAgICAgICAgICAgQGlmICRyZXN1bHQgPT0gZmFsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIEBkZWJ1ZyAkY3VycmVudFRoZW1lS2V5ICsgXCIgbWlzc2luZyBmcm9tIFwiICsgJHByZXZUaGVtZU5hbWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gY2hlY2tpbmcgdGhlbWVzIGFmdGVyIGN1cnJlbnQgdGhlbWUgaW5kZXhcclxuICAgIEBpZiAkYWZ0ZXIgPiAwIHtcclxuXHJcbiAgICAgICAgQGZvciAkYWZ0ZXJJbmRleCBmcm9tIDEgdGhyb3VnaCAkYWZ0ZXIge1xyXG4gICAgICAgICAgICAkbmV4dFRoZW1lTmFtZTogbnRoKCR0aGVtZU5hbWVzLCAkYWZ0ZXJJbmRleCArICRpKTtcclxuICAgICAgICAgICAgJG5leHRUaGVtZTogbWFwLWdldCgkdGhlbWVzLCAkbmV4dFRoZW1lTmFtZSk7XHJcbiAgICAgICAgICAgICRuZXh0VGhlbWVLZXlzOiBtYXAta2V5cygkbmV4dFRoZW1lKTtcclxuXHJcbiAgICAgICAgICAgIEBmb3IgJGogZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRjdXJyZW50VGhlbWVLZXlzKSB7XHJcbiAgICAgICAgICAgICAgICAkY3VycmVudFRoZW1lS2V5OiBudGgoJGN1cnJlbnRUaGVtZUtleXMsICRqKTtcclxuICAgICAgICAgICAgICAgICRyZXN1bHQ6IGNvbnRhaW5zKCRuZXh0VGhlbWVLZXlzLCAkY3VycmVudFRoZW1lS2V5KTtcclxuICAgICAgICAgICAgICAgIEBpZiAkcmVzdWx0ID09IGZhbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBAZGVidWcgJGN1cnJlbnRUaGVtZUtleSArIFwiIG1pc3NpbmcgZnJvbSBcIiArICRuZXh0VGhlbWVOYW1lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH0gICBcclxufSIsIi8qISBkZXN0eWxlLmNzcyB2MS4wLjEwIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL2dpdGh1Yi5jb20vbmljb2xhcy1jdXNhbi9kZXN0eWxlLmNzcyAqL1xyXG5cclxuLyogUmVzZXQgYm94LW1vZGVsXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4gICAqIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgfVxyXG4gIFxyXG4gIDo6YmVmb3JlLFxyXG4gIDo6YWZ0ZXIge1xyXG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcclxuICB9XHJcbiAgXHJcbiAgLyogRG9jdW1lbnRcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cclxuICAgKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cclxuICAgKiAzLiBSZW1vdmUgZ3JheSBvdmVybGF5IG9uIGxpbmtzIGZvciBpT1MuXHJcbiAgICovXHJcbiAgXHJcbiAgaHRtbCB7XHJcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xyXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAzKi9cclxuICB9XHJcbiAgXHJcbiAgLyogU2VjdGlvbnNcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cclxuICAgKi9cclxuICBcclxuICBib2R5IHtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXHJcbiAgICovXHJcbiAgXHJcbiAgbWFpbiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbiAgXHJcbiAgLyogVmVydGljYWwgcmh5dGhtXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICBwLFxyXG4gIHRhYmxlLFxyXG4gIGJsb2NrcXVvdGUsXHJcbiAgYWRkcmVzcyxcclxuICBwcmUsXHJcbiAgaWZyYW1lLFxyXG4gIGZvcm0sXHJcbiAgZmlndXJlLFxyXG4gIGRsIHtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcbiAgXHJcbiAgLyogSGVhZGluZ3NcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gIFxyXG4gIGgxLFxyXG4gIGgyLFxyXG4gIGgzLFxyXG4gIGg0LFxyXG4gIGg1LFxyXG4gIGg2IHtcclxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIExpc3RzIChlbnVtZXJhdGlvbilcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gIFxyXG4gIHVsLFxyXG4gIG9sIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIH1cclxuICBcclxuICAvKiBMaXN0cyAoZGVmaW5pdGlvbilcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gIFxyXG4gIGR0IHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIH1cclxuICBcclxuICBkZCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICB9XHJcbiAgXHJcbiAgLyogR3JvdXBpbmcgY29udGVudFxyXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiAgXHJcbiAgLyoqXHJcbiAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cclxuICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cclxuICAgKi9cclxuICBcclxuICBociB7XHJcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xyXG4gICAgaGVpZ2h0OiAwOyAvKiAxICovXHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXHJcbiAgXHJcbiAgcHJlIHtcclxuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xyXG4gICAgZm9udC1zaXplOiBpbmhlcml0OyAvKiAyICovXHJcbiAgfVxyXG4gIFxyXG4gIGFkZHJlc3Mge1xyXG4gICAgZm9udC1zdHlsZTogaW5oZXJpdDtcclxuICB9XHJcbiAgXHJcbiAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcclxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gIFxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICAgKi9cclxuICBcclxuICBhIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXHJcbiAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cclxuICAgKi9cclxuICBcclxuICBhYmJyW3RpdGxlXSB7XHJcbiAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXHJcbiAgICovXHJcbiAgXHJcbiAgYixcclxuICBzdHJvbmcge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXHJcbiAgXHJcbiAgY29kZSxcclxuICBrYmQsXHJcbiAgc2FtcCB7XHJcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsgLyogMiAqL1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICAgKi9cclxuICBcclxuICBzbWFsbCB7XHJcbiAgICBmb250LXNpemU6IDgwJTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXHJcbiAgICogYWxsIGJyb3dzZXJzLlxyXG4gICAqL1xyXG4gIFxyXG4gIHN1YixcclxuICBzdXAge1xyXG4gICAgZm9udC1zaXplOiA3NSU7XHJcbiAgICBsaW5lLWhlaWdodDogMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICB9XHJcbiAgXHJcbiAgc3ViIHtcclxuICAgIGJvdHRvbTogLTAuMjVlbTtcclxuICB9XHJcbiAgXHJcbiAgc3VwIHtcclxuICAgIHRvcDogLTAuNWVtO1xyXG4gIH1cclxuICBcclxuICAvKiBFbWJlZGRlZCBjb250ZW50XHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKipcclxuICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxyXG4gICAqL1xyXG4gIFxyXG4gIGltZyB7XHJcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG4gIH1cclxuICBcclxuICBlbWJlZCxcclxuICBvYmplY3QsXHJcbiAgaWZyYW1lIHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XHJcbiAgfVxyXG4gIFxyXG4gIC8qIEZvcm1zXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKipcclxuICAgKiBSZXNldCBmb3JtIGZpZWxkcyB0byBtYWtlIHRoZW0gc3R5bGVhYmxlXHJcbiAgICogMS4gUmVzZXQgcmFkaW8gYW5kIGNoZWNrYm94IHRvIHByZXNlcnZlIHRoZWlyIGxvb2sgaW4gaU9TLlxyXG4gICAqL1xyXG4gIFxyXG4gIGJ1dHRvbixcclxuICBpbnB1dCxcclxuICBvcHRncm91cCxcclxuICBzZWxlY3QsXHJcbiAgdGV4dGFyZWEge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgIGZvbnQ6IGluaGVyaXQ7XHJcbiAgICBib3JkZXI6IGluaGVyaXQ7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICAvL291dGxpbmU6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcclxuICB9XHJcbiAgXHJcbiAgW3R5cGU9J2NoZWNrYm94J10ge1xyXG4gICAgLyogMSAqL1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBjaGVja2JveDtcclxuICAgIGFwcGVhcmFuY2U6IGNoZWNrYm94O1xyXG4gIH1cclxuICBcclxuICBbdHlwZT0ncmFkaW8nXSB7XHJcbiAgICAvKiAxICovXHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHJhZGlvO1xyXG4gICAgYXBwZWFyYW5jZTogcmFkaW87XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gICAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXHJcbiAgICovXHJcbiAgXHJcbiAgYnV0dG9uLFxyXG4gIGlucHV0IHtcclxuICAgIC8qIDEgKi9cclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cclxuICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXHJcbiAgICovXHJcbiAgXHJcbiAgYnV0dG9uLFxyXG4gIHNlbGVjdCB7XHJcbiAgICAvKiAxICovXHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICAgKi9cclxuICBcclxuICBidXR0b24sXHJcbiAgW3R5cGU9J2J1dHRvbiddLFxyXG4gIFt0eXBlPSdyZXNldCddLFxyXG4gIFt0eXBlPSdzdWJtaXQnXSB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gIH1cclxuICBcclxuICBidXR0b25bZGlzYWJsZWRdLFxyXG4gIFt0eXBlPSdidXR0b24nXVtkaXNhYmxlZF0sXHJcbiAgW3R5cGU9J3Jlc2V0J11bZGlzYWJsZWRdLFxyXG4gIFt0eXBlPSdzdWJtaXQnXVtkaXNhYmxlZF0ge1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gICAqL1xyXG4gIFxyXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuICBbdHlwZT0nYnV0dG9uJ106Oi1tb3otZm9jdXMtaW5uZXIsXHJcbiAgW3R5cGU9J3Jlc2V0J106Oi1tb3otZm9jdXMtaW5uZXIsXHJcbiAgW3R5cGU9J3N1Ym1pdCddOjotbW96LWZvY3VzLWlubmVyIHtcclxuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cclxuICAgKi9cclxuICBcclxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXHJcbiAgW3R5cGU9J2J1dHRvbiddOi1tb3otZm9jdXNyaW5nLFxyXG4gIFt0eXBlPSdyZXNldCddOi1tb3otZm9jdXNyaW5nLFxyXG4gIFt0eXBlPSdzdWJtaXQnXTotbW96LWZvY3VzcmluZyB7XHJcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIFJlc2V0IHRvIGludmlzaWJsZVxyXG4gICAqL1xyXG4gIFxyXG4gIGZpZWxkc2V0IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBtaW4td2lkdGg6IDA7XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXHJcbiAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxyXG4gICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcclxuICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cclxuICAgKi9cclxuICBcclxuICBsZWdlbmQge1xyXG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cclxuICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cclxuICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cclxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICAgKi9cclxuICBcclxuICBwcm9ncmVzcyB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxyXG4gICAqL1xyXG4gIFxyXG4gIHRleHRhcmVhIHtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiAxLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXHJcbiAgICovXHJcbiAgXHJcbiAgW3R5cGU9J2NoZWNrYm94J10sXHJcbiAgW3R5cGU9J3JhZGlvJ10ge1xyXG4gICAgcGFkZGluZzogMDsgLyogMSAqL1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXHJcbiAgICovXHJcbiAgXHJcbiAgW3R5cGU9J251bWJlciddOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxyXG4gIFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIDEuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxyXG4gICAqL1xyXG4gIFxyXG4gIFt0eXBlPSdzZWFyY2gnXSB7XHJcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMSAqL1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXHJcbiAgICovXHJcbiAgXHJcbiAgW3R5cGU9J3NlYXJjaCddOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXHJcbiAgICovXHJcbiAgXHJcbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xyXG4gICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBDbGlja2FibGUgbGFiZWxzXHJcbiAgICovXHJcbiAgXHJcbiAgbGFiZWxbZm9yXSB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG4gIFxyXG4gIC8qIEludGVyYWN0aXZlXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKlxyXG4gICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXHJcbiAgICovXHJcbiAgXHJcbiAgZGV0YWlscyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbiAgXHJcbiAgLypcclxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAgICovXHJcbiAgXHJcbiAgc3VtbWFyeSB7XHJcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XHJcbiAgfVxyXG4gIFxyXG4gIC8qIFRhYmxlXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICB0YWJsZSB7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbiAgfVxyXG4gIFxyXG4gIGNhcHRpb24ge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcbiAgXHJcbiAgdGQsXHJcbiAgdGgge1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICB9XHJcbiAgXHJcbiAgdGgge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIH1cclxuICBcclxuICAvKiBNaXNjXHJcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuICBcclxuICAvKipcclxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXHJcbiAgICovXHJcbiAgXHJcbiAgdGVtcGxhdGUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXHJcbiAgICovXHJcbiAgXHJcbiAgW2hpZGRlbl0ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXHJcbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcclxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXHJcbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XHJcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcclxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcclxuLy9cclxuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3NcclxuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40LjlcclxuLy9cclxuLy8gICAgICAgICAgICAgICAgaHR0cDovL2luY2x1ZGUtbWVkaWEuY29tXHJcbi8vXHJcbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxyXG4vLyAgICAgICAgICAgICAgICAgIEh1Z28gR2lyYXVkZWwgKEBodWdvZ2lyYXVkZWwpXHJcbi8vXHJcbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcclxuXHJcblxyXG4vLy8vXHJcbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxyXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcclxuLy8vXHJcbiRicmVha3BvaW50czogKFxyXG4gICdwaG9uZSc6IDMyMHB4LFxyXG4gICd0YWJsZXQnOiA3NjhweCxcclxuICAnZGVza3RvcCc6IDEwMjRweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxyXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXHJcbi8vLyAgKTtcclxuLy8vXHJcbiRtZWRpYS1leHByZXNzaW9uczogKFxyXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcclxuICAncHJpbnQnOiAncHJpbnQnLFxyXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXHJcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxyXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXHJcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcclxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2BcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxyXG4vLy9cclxuJHVuaXQtaW50ZXJ2YWxzOiAoXHJcbiAgJ3B4JzogMSxcclxuICAnZW0nOiAwLjAxLFxyXG4gICdyZW0nOiAwLjEsXHJcbiAgJyc6IDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXHJcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxyXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0JztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcclxuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgIC5mb28ge1xyXG4vLy8gICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcclxuXHJcbi8vLy9cclxuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcclxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXHJcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xyXG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XHJcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAd2FybiAkbWVzc2FnZTtcclxuICAgICRfOiBub29wKCk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRtZXNzYWdlO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XHJcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cclxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cclxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcclxuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXHJcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxyXG4vLy9cclxuQGZ1bmN0aW9uIG5vb3AoKSB7fVxyXG5cclxuLy8vXHJcbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy9cclxuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcclxuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcclxuXHJcbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XHJcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cclxuICB9XHJcblxyXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xyXG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcclxuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcclxuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcclxuXHJcbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxyXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XHJcbiAgICAgICAgQHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcbiAgICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFBhcnNpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcclxuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcclxuICAgIEBpZiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cclxuICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxyXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXHJcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XHJcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcclxuXHJcbiAgQGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XHJcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XHJcbiAgQHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG4gICR2YWx1ZTogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHItbGVuZ3RoKCRvcGVyYXRvcikpO1xyXG5cclxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcclxuICAgICR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcclxuXHJcbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xyXG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG4gICAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxyXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcclxuICB9XHJcblxyXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcclxuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xyXG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XHJcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHZhbHVlO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XHJcbi8vL1xyXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xyXG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxyXG4gIEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XHJcbiAgfVxyXG5cclxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcclxuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuXHJcbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xyXG4vLy9cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxyXG4vLy9cclxuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcclxuICBAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XHJcbiAgICBAcmV0dXJuICgpO1xyXG4gIH1cclxuXHJcbiAgJHJlc3VsdDogKCk7XHJcblxyXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcclxuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRyZXN1bHQ7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXHJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn1cclxuLy8vXHJcbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XHJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XHJcbiAgICBAcmV0dXJuICR2YWx1ZTtcclxuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XHJcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xyXG4gIH1cclxuXHJcbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XHJcbiAgJHJlc3VsdDogMDtcclxuICAkZGlnaXRzOiAwO1xyXG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcclxuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XHJcblxyXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcclxuICAgICR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XHJcbiAgfVxyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XHJcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xyXG5cclxuICAgIEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcclxuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xyXG4gICAgICAkZGlnaXRzOiAxO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xyXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XHJcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXHJcbi8vL1xyXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcclxuICAkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xyXG5cclxuICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XHJcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2ZcclxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcclxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxyXG4vLy8gZm9yIGluc3RhbmNlLlxyXG4vLy9cclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xyXG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XHJcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xyXG5cclxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcclxuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcclxuXHJcbiAgQGNvbnRlbnQ7XHJcblxyXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcclxuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cclxuLy8vXHJcbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xyXG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcclxuICAgICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xyXG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xyXG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxyXG4gICAgICBAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLy9cclxuLy8vIEdlbmVyYXRlcyBhIEpTT04gc3RyaW5nIHdpdGggZWFjaCBicmVha3BvaW50J3MgdmFsdWUgYW5kIGluZm9ybWF0aW9uIGFib3V0XHJcbi8vLyB3aGljaCBvZiB0aGUgYnJlYWtwb2ludHMgYXJlIGN1cnJlbnRseSBhY3RpdmUgKGkuZS4gdmlld3BvcnQgd2lkdGggPj0gYnJlYWtwb2ludClcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHRhcmdldC1uYW1lIC0gTmFtZSBvZiBicmVha3BvaW50IHRvIGV2YWx1YXRlXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFJlc3VsdGluZyBKU09OIHN0cmluZ1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIGpzb24gLSBGb3IgYSB3aWR0aCBvZiA5MDBweFxyXG4vLy8gICd7XCJwaG9uZVwiOntcInZhbHVlXCI6IFwiMzIwcHhcIiwgXCJhY3RpdmVcIjogdHJ1ZX0sIFwidGFibGV0XCI6e1widmFsdWVcIjogXCI3NjhweFwiLCBcImFjdGl2ZVwiOiB0cnVlfSwgXCJkZXNrdG9wXCI6e1widmFsdWVcIjogXCIxMDI0cHhcIiwgXCJhY3RpdmVcIjogZmFsc2V9fSdcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1icmVha3BvaW50cy10by1qc29uKCR0YXJnZXQtbmFtZSkge1xyXG4gICRicmVha3BvaW50cy1qc29uOiAoKTtcclxuICAkdGFyZ2V0LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHRhcmdldC1uYW1lKTtcclxuXHJcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludHMge1xyXG4gICAgJGJyZWFrcG9pbnQ6ICdcIiN7JG5hbWV9XCI6e1widmFsdWVcIjogXCIjeyR2YWx1ZX1cIiwgXCJhY3RpdmVcIjogI3skdGFyZ2V0LXZhbHVlID49ICR2YWx1ZX19JztcclxuICAgICRicmVha3BvaW50cy1qc29uOiBhcHBlbmQoJGJyZWFrcG9pbnRzLWpzb24sICRicmVha3BvaW50LCAnY29tbWEnKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJ3sjeyRicmVha3BvaW50cy1qc29ufX0nO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIEdlbmVyYXRlcyB0aGUgbWVkaWEgcXVlcmllcyBuZWNlc3NhcnkgdG8gZXhwb3J0IGJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRlbGVtZW50IC0gRWxlbWVudCB0byBhcHBlbmQgSlNPTiBkYXRhIHRvXHJcbi8vL1xyXG5AbWl4aW4gaW0tZXhwb3J0KCRlbGVtZW50KSB7XHJcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludHMge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49I3skbmFtZX0nKSB7XHJcbiAgICAgICN7JGVsZW1lbnR9IHtcclxuICAgICAgICBjb250ZW50OiBpbS1icmVha3BvaW50cy10by1qc29uKCRuYW1lKTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgaW0tZXhwb3J0KGlmKHZhcmlhYmxlLWV4aXN0cygnaW0tZXhwb3J0LWVsZW1lbnQnKSwgJGltLWV4cG9ydC1lbGVtZW50ICsgJzo6YmVmb3JlJywgJ2JvZHk6OmJlZm9yZScpKTtcclxuIiwiLyohIExpdHkgLSB2Mi4zLjEgLSAyMDE4LTA0LTIwXHJcbiogaHR0cDovL3NvcmdhbGxhLmNvbS9saXR5L1xyXG4qIENvcHlyaWdodCAoYykgMjAxNS0yMDE4IEphbiBTb3JnYWxsYTsgTGljZW5zZWQgTUlUICovXHJcbi5saXR5IHtcclxuICB6LWluZGV4OiA5OTkwO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICBiYWNrZ3JvdW5kOiAjMGIwYjBiO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcclxuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgb3BhY2l0eTogMDtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xyXG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xyXG59XHJcbi5saXR5LmxpdHktb3BlbmVkIHtcclxuICBvcGFjaXR5OiAxO1xyXG59XHJcbi5saXR5LmxpdHktY2xvc2VkIHtcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcbi5saXR5ICoge1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcbi5saXR5LXdyYXAge1xyXG4gIHotaW5kZXg6IDk5OTA7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbi5saXR5LXdyYXA6YmVmb3JlIHtcclxuICBjb250ZW50OiAnJztcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgbWFyZ2luLXJpZ2h0OiAtMC4yNWVtO1xyXG59XHJcbi5saXR5LWxvYWRlciB7XHJcbiAgei1pbmRleDogOTk5MTtcclxuICBjb2xvcjogI2ZmZjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogLTAuOGVtO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XHJcbiAgb3BhY2l0eTogMDtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xyXG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xyXG59XHJcbi5saXR5LWxvYWRpbmcgLmxpdHktbG9hZGVyIHtcclxuICBvcGFjaXR5OiAxO1xyXG59XHJcbi5saXR5LWNvbnRhaW5lciB7XHJcbiAgei1pbmRleDogOTk5MjtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG4ubGl0eS1jb250ZW50IHtcclxuICB6LWluZGV4OiA5OTkzO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZTtcclxuICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGVhc2U7XHJcbiAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtIDAuM3MgZWFzZTtcclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZSwgLW8tdHJhbnNmb3JtIDAuM3MgZWFzZTtcclxufVxyXG4ubGl0eS1sb2FkaW5nIC5saXR5LWNvbnRlbnQsXHJcbi5saXR5LWNsb3NlZCAubGl0eS1jb250ZW50IHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC44KTtcclxuICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMC44KTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcclxufVxyXG4ubGl0eS1jb250ZW50OmFmdGVyIHtcclxuICBjb250ZW50OiAnJztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIGhlaWdodDogYXV0bztcclxuICB6LWluZGV4OiAtMTtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XHJcbn1cclxuLmxpdHktY2xvc2Uge1xyXG4gIHotaW5kZXg6IDk5OTQ7XHJcbiAgd2lkdGg6IDM1cHg7XHJcbiAgaGVpZ2h0OiAzNXB4O1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICByaWdodDogMDtcclxuICB0b3A6IDA7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtc2l6ZTogMzVweDtcclxuICBmb250LWZhbWlseTogQXJpYWwsIEJhc2tlcnZpbGxlLCBtb25vc3BhY2U7XHJcbiAgbGluZS1oZWlnaHQ6IDM1cHg7XHJcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG59XHJcbi5saXR5LWNsb3NlOjotbW96LWZvY3VzLWlubmVyIHtcclxuICBib3JkZXI6IDA7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG4ubGl0eS1jbG9zZTpob3ZlcixcclxuLmxpdHktY2xvc2U6Zm9jdXMsXHJcbi5saXR5LWNsb3NlOmFjdGl2ZSxcclxuLmxpdHktY2xvc2U6dmlzaXRlZCB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXNpemU6IDM1cHg7XHJcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlO1xyXG4gIGxpbmUtaGVpZ2h0OiAzNXB4O1xyXG4gIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG4gIGJvcmRlcjogMDtcclxuICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxufVxyXG4ubGl0eS1jbG9zZTphY3RpdmUge1xyXG4gIHRvcDogMXB4O1xyXG59XHJcbi8qIEltYWdlICovXHJcbi5saXR5LWltYWdlIGltZyB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGxpbmUtaGVpZ2h0OiAwO1xyXG4gIGJvcmRlcjogMDtcclxufVxyXG4vKiBpRnJhbWUgKi9cclxuLmxpdHktaWZyYW1lIC5saXR5LWNvbnRhaW5lcixcclxuLmxpdHkteW91dHViZSAubGl0eS1jb250YWluZXIsXHJcbi5saXR5LXZpbWVvIC5saXR5LWNvbnRhaW5lcixcclxuLmxpdHktZmFjZWJvb2t2aWRlbyAubGl0eS1jb250YWluZXIsXHJcbi5saXR5LWdvb2dsZW1hcHMgLmxpdHktY29udGFpbmVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDk2NHB4O1xyXG59XHJcbi5saXR5LWlmcmFtZS1jb250YWluZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMDtcclxuICBwYWRkaW5nLXRvcDogNTYuMjUlO1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxufVxyXG4ubGl0eS1pZnJhbWUtY29udGFpbmVyIGlmcmFtZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XHJcbiAgYmFja2dyb3VuZDogIzAwMDtcclxufVxyXG4ubGl0eS1oaWRlIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcbiIsIi8qKlxyXG4gKiBTd2lwZXIgMy40LjJcclxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcclxuICogXHJcbiAqIGh0dHA6Ly93d3cuaWRhbmdlcm8udXMvc3dpcGVyL1xyXG4gKiBcclxuICogQ29weXJpZ2h0IDIwMTcsIFZsYWRpbWlyIEtoYXJsYW1waWRpXHJcbiAqIFRoZSBpRGFuZ2Vyby51c1xyXG4gKiBodHRwOi8vd3d3LmlkYW5nZXJvLnVzL1xyXG4gKiBcclxuICogTGljZW5zZWQgdW5kZXIgTUlUXHJcbiAqIFxyXG4gKiBSZWxlYXNlZCBvbjogTWFyY2ggMTAsIDIwMTdcclxuICovXHJcbi5zd2lwZXItY29udGFpbmVyIHtcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXHJcbiAgei1pbmRleDogMTtcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci1uby1mbGV4Ym94IC5zd2lwZXItc2xpZGUge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcclxuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gIC1tb3otYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuLnN3aXBlci13cmFwcGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHotaW5kZXg6IDE7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgZGlzcGxheTogLW1vei1ib3g7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcclxuICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IC1tb3otdHJhbnNmb3JtO1xyXG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IC1vLXRyYW5zZm9ybTtcclxuICAtbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1zLXRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcclxuLnN3aXBlci13cmFwcGVyIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcclxuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcclxuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDBweCk7XHJcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuc3dpcGVyLXdyYXBwZXIge1xyXG4gIC13ZWJraXQtYm94LWxpbmVzOiBtdWx0aXBsZTtcclxuICAtbW96LWJveC1saW5lczogbXVsdGlwbGU7XHJcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcclxuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcclxuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAtbXMtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuLnN3aXBlci1zbGlkZSB7XHJcbiAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcclxuICAtbXMtZmxleDogMCAwIGF1dG87XHJcbiAgZmxleC1zaHJpbms6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4vKiBBdXRvIEhlaWdodCAqL1xyXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LFxyXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUge1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlciB7XHJcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xyXG4gIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcclxuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm0sIGhlaWdodDtcclxuICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IC1tb3otdHJhbnNmb3JtO1xyXG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IC1vLXRyYW5zZm9ybTtcclxuICAtbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1zLXRyYW5zZm9ybTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcclxufVxyXG4vKiBhMTF5ICovXHJcbi5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgb3BhY2l0eTogMDtcclxuICB6LWluZGV4OiAtMTAwMDtcclxufVxyXG4vKiBJRTEwIFdpbmRvd3MgUGhvbmUgOCBGaXhlcyAqL1xyXG4uc3dpcGVyLXdwOC1ob3Jpem9udGFsIHtcclxuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcclxuICB0b3VjaC1hY3Rpb246IHBhbi15O1xyXG59XHJcbi5zd2lwZXItd3A4LXZlcnRpY2FsIHtcclxuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teDtcclxuICB0b3VjaC1hY3Rpb246IHBhbi14O1xyXG59XHJcbi8qIEFycm93cyAqL1xyXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxyXG4uc3dpcGVyLWJ1dHRvbi1uZXh0IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgei1pbmRleDogMTA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIC1tb3otYmFja2dyb3VuZC1zaXplOiAyN3B4IDQ0cHg7XHJcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcclxufVxyXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tZGlzYWJsZWQsXHJcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XHJcbiAgb3BhY2l0eTogMC4xNTtcclxuICBjdXJzb3I6IGF1dG87XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuLnN3aXBlci1idXR0b24tcHJldixcclxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xyXG4gIC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyMzAwN2FmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XHJcbiAgbGVmdDogMHB4O1xyXG4gIHJpZ2h0OiBhdXRvO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxufVxyXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2ssXHJcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2sge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjMwMDAwMDAnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xyXG59XHJcbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSxcclxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi13aGl0ZSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XHJcbn1cclxuLnN3aXBlci1idXR0b24tbmV4dCxcclxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYge1xyXG4gIC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwN2FmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XHJcbiAgcmlnaHQ6IDBweDtcclxuICBsZWZ0OiBhdXRvO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxufVxyXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2ssXHJcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2sge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMjclMkMyMkwyNyUyQzIyTDUlMkM0NGwtMi4xLTIuMUwyMi44JTJDMjJMMi45JTJDMi4xTDUlMkMwTDI3JTJDMjJMMjclMkMyMnonJTIwZmlsbCUzRCclMjMwMDAwMDAnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xyXG59XHJcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi13aGl0ZSxcclxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XHJcbn1cclxuLyogUGFnaW5hdGlvbiBTdHlsZXMgKi9cclxuLnN3aXBlci1wYWdpbmF0aW9uIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMzAwbXM7XHJcbiAgLW1vei10cmFuc2l0aW9uOiAzMDBtcztcclxuICAtby10cmFuc2l0aW9uOiAzMDBtcztcclxuICB0cmFuc2l0aW9uOiAzMDBtcztcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIHotaW5kZXg6IDEwO1xyXG59XHJcbi5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW4ge1xyXG4gIG9wYWNpdHk6IDA7XHJcbn1cclxuLyogQ29tbW9uIFN0eWxlcyAqL1xyXG4uc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24sXHJcbi5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sXHJcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XHJcbiAgYm90dG9tOiAxMHB4O1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLyogQnVsbGV0cyAqL1xyXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcclxuICB3aWR0aDogOHB4O1xyXG4gIGhlaWdodDogOHB4O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gIGJhY2tncm91bmQ6ICNGRkY7XHJcbiAgb3BhY2l0eTogMC41O1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xyXG59XHJcbmJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3gtc2hhZG93OiBub25lO1xyXG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuICAtbXMtYXBwZWFyYW5jZTogbm9uZTtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG4uc3dpcGVyLXBhZ2luYXRpb24tY2xpY2thYmxlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4uc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxufVxyXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XHJcbiAgb3BhY2l0eTogMTtcclxuICBiYWNrZ3JvdW5kOiAjMDA3YWZmO1xyXG59XHJcbi5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxufVxyXG4uc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xyXG4gIGJhY2tncm91bmQ6ICMwMDA7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XHJcbiAgcmlnaHQ6IDEwcHg7XHJcbiAgdG9wOiA1MCU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XHJcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XHJcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAtNTAlKTtcclxuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xyXG4gIG1hcmdpbjogNXB4IDA7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xyXG4gIG1hcmdpbjogMCA1cHg7XHJcbn1cclxuLyogUHJvZ3Jlc3MgKi9cclxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzIHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3MgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcclxuICBiYWNrZ3JvdW5kOiAjMDA3YWZmO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAwO1xyXG4gIHRvcDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gIC1vLXRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xyXG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XHJcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xyXG4gIC1vLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3MgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcclxuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcclxuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xyXG4gIC1vLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzcyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiA0cHg7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3Mge1xyXG4gIHdpZHRoOiA0cHg7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiAwO1xyXG59XHJcbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzcy5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSB7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xyXG59XHJcbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzcy5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbn1cclxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XHJcbiAgYmFja2dyb3VuZDogIzAwMDtcclxufVxyXG4vKiAzRCBDb250YWluZXIgKi9cclxuLnN3aXBlci1jb250YWluZXItM2Qge1xyXG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEyMDBweDtcclxuICAtbW96LXBlcnNwZWN0aXZlOiAxMjAwcHg7XHJcbiAgLW8tcGVyc3BlY3RpdmU6IDEyMDBweDtcclxuICBwZXJzcGVjdGl2ZTogMTIwMHB4O1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItd3JhcHBlcixcclxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZSxcclxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcclxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXHJcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcclxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxyXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93IHtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XHJcbiAgLW1vei10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xyXG4gIC1tcy10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xyXG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcclxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXHJcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcclxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIHotaW5kZXg6IDEwO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcclxuICAvKiBTYWZhcmkgNCssIENocm9tZSAqL1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xyXG4gIC8qIENocm9tZSAxMCssIFNhZmFyaSA1LjErLCBpT1MgNSsgKi9cclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcclxuICAvKiBGaXJlZm94IDMuNi0xNSAqL1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcclxuICAvKiBPcGVyYSAxMS4xMC0xMi4wMCAqL1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xyXG4gIC8qIEZpcmVmb3ggMTYrLCBJRTEwLCBPcGVyYSAxMi41MCsgKi9cclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIHJpZ2h0IHRvcCwgbGVmdCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xyXG4gIC8qIFNhZmFyaSA0KywgQ2hyb21lICovXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcclxuICAvKiBDaHJvbWUgMTArLCBTYWZhcmkgNS4xKywgaU9TIDUrICovXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcclxuICAvKiBGaXJlZm94IDMuNi0xNSAqL1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xyXG4gIC8qIE9wZXJhIDExLjEwLTEyLjAwICovXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xyXG4gIC8qIEZpcmVmb3ggMTYrLCBJRTEwLCBPcGVyYSAxMi41MCsgKi9cclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xyXG4gIC8qIFNhZmFyaSA0KywgQ2hyb21lICovXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xyXG4gIC8qIENocm9tZSAxMCssIFNhZmFyaSA1LjErLCBpT1MgNSsgKi9cclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XHJcbiAgLyogRmlyZWZveCAzLjYtMTUgKi9cclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xyXG4gIC8qIE9wZXJhIDExLjEwLTEyLjAwICovXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcclxuICAvKiBGaXJlZm94IDE2KywgSUUxMCwgT3BlcmEgMTIuNTArICovXHJcbn1cclxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcclxuICAvKiBTYWZhcmkgNCssIENocm9tZSAqL1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcclxuICAvKiBDaHJvbWUgMTArLCBTYWZhcmkgNS4xKywgaU9TIDUrICovXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xyXG4gIC8qIEZpcmVmb3ggMy42LTE1ICovXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcclxuICAvKiBPcGVyYSAxMS4xMC0xMi4wMCAqL1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XHJcbiAgLyogRmlyZWZveCAxNissIElFMTAsIE9wZXJhIDEyLjUwKyAqL1xyXG59XHJcbi8qIENvdmVyZmxvdyAqL1xyXG4uc3dpcGVyLWNvbnRhaW5lci1jb3ZlcmZsb3cgLnN3aXBlci13cmFwcGVyLFxyXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItd3JhcHBlciB7XHJcbiAgLyogV2luZG93cyA4IElFIDEwIGZpeCAqL1xyXG4gIC1tcy1wZXJzcGVjdGl2ZTogMTIwMHB4O1xyXG59XHJcbi8qIEN1YmUgKyBGbGlwICovXHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUsXHJcbi5zd2lwZXItY29udGFpbmVyLWZsaXAge1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSxcclxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIHtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB6LWluZGV4OiAxO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlLFxyXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcclxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcclxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XHJcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXHJcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxyXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcclxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcclxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxyXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxyXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcclxuICB6LWluZGV4OiAwO1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcbi8qIEN1YmUgKi9cclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIHtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XHJcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XHJcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1zbGlkZSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XHJcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XHJcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsXHJcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1wcmV2LFxyXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCArIC5zd2lwZXItc2xpZGUge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICBib3R0b206IDBweDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgYmFja2dyb3VuZDogIzAwMDtcclxuICBvcGFjaXR5OiAwLjY7XHJcbiAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNTBweCk7XHJcbiAgZmlsdGVyOiBibHVyKDUwcHgpO1xyXG4gIHotaW5kZXg6IDA7XHJcbn1cclxuLyogRmFkZSAqL1xyXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlIC5zd2lwZXItc2xpZGUge1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIC1tcy10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcclxuICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XHJcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxyXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcclxuICBwb2ludGVyLWV2ZW50czogYXV0bztcclxufVxyXG4uc3dpcGVyLXpvb20tY29udGFpbmVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgZGlzcGxheTogLW1vei1ib3g7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xyXG4gIC1tb3otYm94LXBhY2s6IGNlbnRlcjtcclxuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XHJcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xyXG4gIC1tb3otYm94LWFsaWduOiBjZW50ZXI7XHJcbiAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGltZyxcclxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IHN2ZyxcclxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGNhbnZhcyB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcclxufVxyXG4vKiBTY3JvbGxiYXIgKi9cclxuLnN3aXBlci1zY3JvbGxiYXIge1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG59XHJcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDElO1xyXG4gIGJvdHRvbTogM3B4O1xyXG4gIHotaW5kZXg6IDUwO1xyXG4gIGhlaWdodDogNXB4O1xyXG4gIHdpZHRoOiA5OCU7XHJcbn1cclxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAzcHg7XHJcbiAgdG9wOiAxJTtcclxuICB6LWluZGV4OiA1MDtcclxuICB3aWR0aDogNXB4O1xyXG4gIGhlaWdodDogOTglO1xyXG59XHJcbi5zd2lwZXItc2Nyb2xsYmFyLWRyYWcge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbn1cclxuLnN3aXBlci1zY3JvbGxiYXItY3Vyc29yLWRyYWcge1xyXG4gIGN1cnNvcjogbW92ZTtcclxufVxyXG4vKiBQcmVsb2FkZXIgKi9cclxuLnN3aXBlci1sYXp5LXByZWxvYWRlciB7XHJcbiAgd2lkdGg6IDQycHg7XHJcbiAgaGVpZ2h0OiA0MnB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbWFyZ2luLWxlZnQ6IC0yMXB4O1xyXG4gIG1hcmdpbi10b3A6IC0yMXB4O1xyXG4gIHotaW5kZXg6IC0xO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xyXG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcclxuICAtd2Via2l0LWFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xyXG4gIC1tb3otYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XHJcbiAgYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XHJcbn1cclxuLnN3aXBlci1sYXp5LXByZWxvYWRlcjphZnRlciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgY29udGVudDogXCJcIjtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIwdmlld0JveCUzRCcwJTIwMCUyMDEyMCUyMDEyMCclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIweG1sbnMlM0F4bGluayUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4bGluayclM0UlM0NkZWZzJTNFJTNDbGluZSUyMGlkJTNEJ2wnJTIweDElM0QnNjAnJTIweDIlM0QnNjAnJTIweTElM0QnNyclMjB5MiUzRCcyNyclMjBzdHJva2UlM0QnJTIzNmM2YzZjJyUyMHN0cm9rZS13aWR0aCUzRCcxMSclMjBzdHJva2UtbGluZWNhcCUzRCdyb3VuZCclMkYlM0UlM0MlMkZkZWZzJTNFJTNDZyUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDYwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg5MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTIwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxNTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4zNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE4MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjQ2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjEwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNTYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy42NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI3MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjc1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzAwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuODUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMzAlMjA2MCUyQzYwKSclMkYlM0UlM0MlMkZnJTNFJTNDJTJGc3ZnJTNFXCIpO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcclxuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRlOmFmdGVyIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjNmZmYnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7XHJcbn1cclxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgfVxyXG59XHJcbkBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcclxuICAxMDAlIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgfVxyXG59XHJcbiIsIi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgOCwgMTYsIDAuMTUpO1xyXG4gICAgY29sb3I6ICMyNjMyM2Q7XHJcbiAgICBib3gtc2hhZG93OiAwIDNweCAxNHB4IC0wLjVweCByZ2JhKDAsIDgsIDE2LCAwLjA4KTtcclxufVxyXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWUgLnRpcHB5LWJhY2tkcm9wIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbn1cclxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lIC50aXBweS1hcnJvdzphZnRlcixcclxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lIC50aXBweS1hcnJvdzpiZWZvcmUsXHJcbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZSAudGlwcHktcm91bmRhcnJvdzphZnRlcixcclxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lIC50aXBweS1yb3VuZGFycm93OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogLTE7XHJcbn1cclxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lIC50aXBweS1yb3VuZGFycm93IHtcclxuICAgIGZpbGw6ICNmZmY7XHJcbn1cclxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lIC50aXBweS1yb3VuZGFycm93OmFmdGVyIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUJqYkdsd0xYSjFiR1U5SW1WMlpXNXZaR1FpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ2MzUnliMnRsTFd4cGJtVnFiMmx1UFNKeWIzVnVaQ0lnYzNSeWIydGxMVzFwZEdWeWJHbHRhWFE5SWpFdU5ERTBJaUIyYVdWM1FtOTRQU0l3SURBZ01UZ2dOeUlnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JajQ4Y0dGMGFDQmtQU0pOTUNBM2N6SXVNREl4TFM0d01UVWdOUzR5TlRNdE5DNHlNVGhETmk0MU9EUWdNUzR3TlRFZ055NDNPVGN1TURBM0lEa2dNR014TGpJd015MHVNREEzSURJdU5ERTJJREV1TURNMUlETXVOell4SURJdU56Z3lRekUyTGpBeE1pQTNMakF3TlNBeE9DQTNJREU0SURkNklpQm1hV3hzUFNJak16TXpJaUJtYVd4c0xXOXdZV05wZEhrOUlpNHlNelVpSUdacGJHd3RjblZzWlQwaWJtOXVlbVZ5YnlJdlBqd3ZjM1puUGc9PSk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE4cHggN3B4O1xyXG4gICAgd2lkdGg6IDE4cHg7XHJcbiAgICBoZWlnaHQ6IDdweDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBmaWxsOiByZ2JhKDAsIDgsIDE2LCAwLjE1KTtcclxufVxyXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWVbeC1wbGFjZW1lbnRePVwidG9wXCJdIC50aXBweS1yb3VuZGFycm93OmFmdGVyIHtcclxuICAgIHRvcDogMXB4O1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxufVxyXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWVbeC1wbGFjZW1lbnRePVwidG9wXCJdIC50aXBweS1hcnJvdyB7XHJcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZmO1xyXG59XHJcbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJ0b3BcIl0gLnRpcHB5LWFycm93OmFmdGVyIHtcclxuICAgIGJvcmRlci10b3A6IDdweCBzb2xpZCAjZmZmO1xyXG4gICAgdG9wOiAtN3B4O1xyXG59XHJcbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJ0b3BcIl0gLnRpcHB5LWFycm93OmJlZm9yZSB7XHJcbiAgICBib3JkZXItdG9wOiA3cHggc29saWQgcmdiYSgwLCA4LCAxNiwgMC4yKTtcclxuICAgIGJvdHRvbTogLTFweDtcclxufVxyXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWVbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIC50aXBweS1yb3VuZGFycm93OmFmdGVyIHtcclxuICAgIHRvcDogLTFweDtcclxufVxyXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWVbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIC50aXBweS1hcnJvdyB7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmO1xyXG59XHJcbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJib3R0b21cIl0gLnRpcHB5LWFycm93OmFmdGVyIHtcclxuICAgIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAjZmZmO1xyXG4gICAgYm90dG9tOiAtN3B4O1xyXG59XHJcbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJib3R0b21cIl0gLnRpcHB5LWFycm93OmJlZm9yZSB7XHJcbiAgICBib3JkZXItYm90dG9tOiA3cHggc29saWQgcmdiYSgwLCA4LCAxNiwgMC4yKTtcclxuICAgIGJvdHRvbTogLTZweDtcclxufVxyXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWVbeC1wbGFjZW1lbnRePVwibGVmdFwiXSAudGlwcHktcm91bmRhcnJvdzphZnRlciB7XHJcbiAgICBsZWZ0OiAxcHg7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbn1cclxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0gLnRpcHB5LWFycm93IHtcclxuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjZmZmO1xyXG59XHJcbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC50aXBweS1hcnJvdzphZnRlciB7XHJcbiAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkICNmZmY7XHJcbiAgICBsZWZ0OiAtN3B4O1xyXG59XHJcbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC50aXBweS1hcnJvdzpiZWZvcmUge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCByZ2JhKDAsIDgsIDE2LCAwLjIpO1xyXG4gICAgbGVmdDogLTZweDtcclxufVxyXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWVbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0gLnRpcHB5LXJvdW5kYXJyb3c6YWZ0ZXIge1xyXG4gICAgbGVmdDogLTFweDtcclxuICAgIHRvcDogMDtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XHJcbn1cclxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIC50aXBweS1hcnJvdyB7XHJcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICNmZmY7XHJcbn1cclxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIC50aXBweS1hcnJvdzphZnRlciB7XHJcbiAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCAjZmZmO1xyXG4gICAgcmlnaHQ6IC03cHg7XHJcbn1cclxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIC50aXBweS1hcnJvdzpiZWZvcmUge1xyXG4gICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgcmdiYSgwLCA4LCAxNiwgMC4yKTtcclxuICAgIHJpZ2h0OiAtNnB4O1xyXG59XHJcbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJib3R0b21cIl0gLnRpcHB5LWFycm93LFxyXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWVbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIC50aXBweS1yb3VuZGFycm93LFxyXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWVbeC1wbGFjZW1lbnRePVwidG9wXCJdIC50aXBweS1hcnJvdyxcclxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lW3gtcGxhY2VtZW50Xj1cInRvcFwiXSAudGlwcHktcm91bmRhcnJvdyB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCk7XHJcbn1cclxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSAudGlwcHktYXJyb3c6YWZ0ZXIsXHJcbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJib3R0b21cIl0gLnRpcHB5LWFycm93OmJlZm9yZSxcclxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lW3gtcGxhY2VtZW50Xj1cInRvcFwiXSAudGlwcHktYXJyb3c6YWZ0ZXIsXHJcbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJ0b3BcIl0gLnRpcHB5LWFycm93OmJlZm9yZSB7XHJcbiAgICBsZWZ0OiAtN3B4O1xyXG4gICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1yaWdodDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG59XHJcbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIC50aXBweS1hcnJvdyxcclxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0gLnRpcHB5LXJvdW5kYXJyb3csXHJcbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJyaWdodFwiXSAudGlwcHktYXJyb3csXHJcbi50aXBweS10b29sdGlwLmxpZ2h0LWJvcmRlci10aGVtZVt4LXBsYWNlbWVudF49XCJyaWdodFwiXSAudGlwcHktcm91bmRhcnJvdyB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XHJcbn1cclxuLnRpcHB5LXRvb2x0aXAubGlnaHQtYm9yZGVyLXRoZW1lW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0gLnRpcHB5LWFycm93OmFmdGVyLFxyXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWVbeC1wbGFjZW1lbnRePVwibGVmdFwiXSAudGlwcHktYXJyb3c6YmVmb3JlLFxyXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWVbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0gLnRpcHB5LWFycm93OmFmdGVyLFxyXG4udGlwcHktdG9vbHRpcC5saWdodC1ib3JkZXItdGhlbWVbeC1wbGFjZW1lbnRePVwicmlnaHRcIl0gLnRpcHB5LWFycm93OmJlZm9yZSB7XHJcbiAgICB0b3A6IC03cHg7XHJcbiAgICBib3JkZXItdG9wOiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItYm90dG9tOiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbn1cclxuIiwiXHJcbi8vLyBNYXAgZGVlcCBnZXRcclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRrZXlzIC0gS2V5IGNoYWluXHJcbi8vLyBAcmV0dXJuIHsqfSAtIERlc2lyZWQgdmFsdWVcclxuQGZ1bmN0aW9uIG1hcC1kZWVwLWdldCgkbWFwLCAka2V5cy4uLikge1xyXG4gICAgQGVhY2ggJGtleSBpbiAka2V5cyB7XHJcbiAgICAgICAgJG1hcDogbWFwLWdldCgkbWFwLCAka2V5KTtcclxuICAgIH1cclxuICAgIEByZXR1cm4gJG1hcDtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHRoZW1pZnkoJHZhcikge1xyXG4gICAgJHByb3A6IG1hcC1kZWVwLWdldCgkdGhlbWVzLCAjeyR0aGVtZX0sICN7JHZhcn0pO1xyXG4gICAgQGlmICRwcm9wICE9IG51bGwge1xyXG4gICAgICAgIEByZXR1cm4gJHByb3A7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiAnYCN7JHZhcn1gIGtleSBub3QgZm91bmQgaW4gJHRoZW1lcy4jeyR0aGVtZX0nO1xyXG4gICAgICAgIEByZXR1cm4gIzAwMDtcclxuICAgIH1cclxufVxyXG5cclxuJXUtdHJ1bmNhdGUge1xyXG5cdG92ZXJmbG93OmhpZGRlbjtcclxuXHR3aGl0ZS1zcGFjZTpub3dyYXA7XHJcblx0dGV4dC1vdmVyZmxvdzplbGxpcHNpcztcclxufVxyXG5cclxuJXUtYWNjZWxlcmF0ZSB7XHJcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBwZXJzcGVjdGl2ZTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigxKTtcclxufVxyXG5cclxuJXUtaGlkZS1zY3JvbGxiYXIge1xyXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLyogRmlyZWZveCAqL1xyXG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyBcclxuICAgIHNjcm9sbGJhci1oZWlnaHQ6IG5vbmU7XHJcblxyXG4gICAgLyogSUUgMTArICovXHJcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7ICBcclxufVxyXG5cclxuQG1peGluIHUtbGluay1ob3ZlcigkY29sLCAkaG92ZXItY29sOiAkY29sLCAkZGVjb3JhdGlvbjogbm9uZSwgJGhvdmVyLWRlY29yYXRpb246IG5vbmUpIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogJGRlY29yYXRpb247XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cztcclxuICAgIGNvbG9yOiAkY29sO1xyXG4gICAgJjphY3RpdmUsXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgJjpob3ZlcixcclxuICAgIC5uby10b3VjaCAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGhvdmVyLWNvbDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRob3Zlci1kZWNvcmF0aW9uO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyB1c2FnZTogQGluY2x1ZGUgdS1jcm9wLWxpbmUtaGVpZ2h0KDEuMilcclxuQG1peGluIHUtY3JvcC1saW5lLWhlaWdodCgkbGluZS1oZWlnaHQpIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsYygoMSAtICN7JGxpbmUtaGVpZ2h0fSkgKiAwLjVlbSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi51LWFjY2Vzc2liaWxpdHkge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogLTEwMDAwcHg7XHJcbiAgICB0b3A6IGF1dG87XHJcbiAgICB3aWR0aDogMXB4O1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG5AbWl4aW4gdS1mb250LXNtb290aCgpIHtcclxuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbn1cclxuXHJcbi8vIHVzYWdlOiBAaW5jbHVkZSB1LXZlcnRpY2FsLWNlbnRlcigyMCUsIHJlbGF0aXZlKTtcclxuQG1peGluIHUtdmVydGljYWwtY2VudGVyKCR0b3A6IDUwJSwgJHBvczogYWJzb2x1dGUpIHtcclxuICAgIHBvc2l0aW9uOiAkcG9zO1xyXG4gICAgdG9wOiAkdG9wO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG59XHJcblxyXG4vLyB1c2FnZTogQGluY2x1ZGUgdS1ob3Jpem9udGFsLWNlbnRlcigpO1xyXG5AbWl4aW4gdS1ob3Jpem9udGFsLWNlbnRlcigkbGVmdDogNTAlLCAkcG9zOiBhYnNvbHV0ZSkge1xyXG4gICAgcG9zaXRpb246ICRwb3M7XHJcbiAgICBsZWZ0OiAkbGVmdDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxufVxyXG5cclxuLy8gdXNhZ2U6IEBpbmNsdWRlIHUtY2VudGVyKCk7XHJcbkBtaXhpbiB1LWNlbnRlcigkbGVmdDogNTAlLCAkdG9wOiA1MCUsICRwb3M6IGFic29sdXRlKSB7XHJcbiAgICBwb3NpdGlvbjogJHBvcztcclxuICAgIHRvcDogJHRvcDtcclxuICAgIGxlZnQ6ICRsZWZ0O1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XHJcbn1cclxuXHJcbi8vIHVzYWdlOiBAaW5jbHVkZSB1LWV4dGVuZC1oaXRib3goKTtcclxuLy8gcGFyZW50IG5lZWRzIHotaW5kZXggc2V0XHJcbkBtaXhpbiB1LWV4dGVuZC1oaXRib3goJHNpemU6IDEwcHgsICRwc2V1ZG9FbDogYmVmb3JlLCAkekluZGV4OiAtMSkge1xyXG4gICAgJjojeyRwc2V1ZG9FbH0ge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB6LWluZGV4OiAkekluZGV4O1xyXG4gICAgICAgIHRvcDogLSRzaXplO1xyXG4gICAgICAgIGJvdHRvbTogLSRzaXplO1xyXG4gICAgICAgIHJpZ2h0OiAtJHNpemU7XHJcbiAgICAgICAgbGVmdDogLSRzaXplO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyB1c2FnZTogYWRkICdAaW5jbHVkZSB1LWJyaWdodC1ob3ZlcjsnIHRvIGltZ1xyXG5AbWl4aW4gdS1icmlnaHQtaG92ZXIge1xyXG4gICAgZmlsdGVyOiBibHVyKDApOyAvLyBqYW5rIGZpeFxyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xyXG4gICAgLm5vLXRvdWNoICY6aG92ZXIsXHJcbiAgICAmLmlzLXNlbGVjdGVkIHtcclxuICAgICAgICBmaWx0ZXI6IGJsdXIoMCkgYnJpZ2h0bmVzcygxLjA4KTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIHVzYWdlOiA8c3BhbiBjbGFzcz0ndS1saW5lLWJyZWFrJz48L3NwYW4+XHJcbi51LWxpbmUtYnJlYWs6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJ1xcQSc7XHJcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xyXG59XHJcblxyXG4vLyBvciB1c2UgbG9zdC11dGlsaXR5OiBjbGVhcmZpeDtcclxuLnUtY2xlYXJmaXg6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbn1cclxuXHJcbkBtaXhpbiBzcGlubmVyKCRyYWRpdXMsICRib3JkZXItd2lkdGgsICRwcmltYXJ5LCAkc2Vjb25kYXJ5LCAkdmVydGljYWxseS1jZW50ZXJlZDogdHJ1ZSkge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB3aWR0aDogJHJhZGl1cztcclxuICAgIGhlaWdodDogJHJhZGl1cztcclxuXHJcbiAgICAvL2FuaW1hdGlvbjogc3BpbiAuNnMgc3RlcHMoOCwgZW5kKSBpbmZpbml0ZTsgLy8gc3RlcHNcclxuICAgIFxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBhbmltYXRpb246IGFuaW0tc3BpbiAuNHMgaW5maW5pdGUgbGluZWFyO1xyXG4gICAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCAkcHJpbWFyeSBzb2xpZDtcclxuICAgICAgICBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoICRzZWNvbmRhcnkgc29saWQ7XHJcbiAgICB9XHJcbn0iLCIkbC13aWR0aDogMTE4MHB4O1xyXG4kbC1wYWQ6IDIwcHg7XHJcbiRsLWJwOiAkbC13aWR0aCArICgkbC1wYWQgKiAyKTtcclxuXHJcbi8vIGdsb2JhbCBsYXlvdXQgc3R5bGVzLiBwcmVmaXggY2xhc3NlcyB3aXRoIGxcclxuLmwtY29udGFpbmVyIHtcclxuXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIjwjeyRsLWJwfVwiKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PSN7JGwtYnB9XCIpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDExODBweDtcclxuICAgIH1cclxufVxyXG5cclxuLmwtZ3V0dGVycyB7XHJcbiAgICBwYWRkaW5nOiAwICRsLXBhZDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAvKlxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgJGwtcGFkO1xyXG4gICAgfVxyXG4gICAgKi9cclxufVxyXG5cclxuLy8gcHVzaGVzIGNvbnRlbnQgb3V0c2lkZSBvZiBndXR0ZXJzXHJcbi5sLW1vYmlsZS1mdWxsLXdpZHRoIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xyXG4gICAgfVxyXG59IiwiQGtleWZyYW1lcyBhbmltLXNoYWtlLWZyYW1lcyB7XHJcblx0MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgycHgsIDFweCkgcm90YXRlKDBkZWcpOyB9XHJcblx0MTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTFweCwgLTJweCkgcm90YXRlKC0xZGVnKTsgfVxyXG5cdDIwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zcHgsIDBweCkgcm90YXRlKDFkZWcpOyB9XHJcblx0MzAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAycHgpIHJvdGF0ZSgwZGVnKTsgfVxyXG5cdDQwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgLTFweCkgcm90YXRlKDFkZWcpOyB9XHJcblx0NTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTFweCwgMnB4KSByb3RhdGUoLTFkZWcpOyB9XHJcblx0NjAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTNweCwgMXB4KSByb3RhdGUoMGRlZyk7IH1cclxuXHQ3MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgycHgsIDFweCkgcm90YXRlKC0xZGVnKTsgfVxyXG5cdDgwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xcHgsIC0xcHgpIHJvdGF0ZSgxZGVnKTsgfVxyXG5cdDkwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDJweCwgMnB4KSByb3RhdGUoMGRlZyk7IH1cclxuXHQxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAtMnB4KSByb3RhdGUoLTFkZWcpOyB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYW5pbS1yYWRpYWwtcHVsc2Uge1xyXG5cdDAlIHtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDBweCByZ2JhKDAsIDAsIDAsIDAuNSk7XHJcblx0fVxyXG5cdDEwMCUge1xyXG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMzBweCByZ2JhKDAsIDAsIDAsIDApO1xyXG5cdH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBhbmltLXNwaW4ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIG5pY2UgZm9yIGRyYXdpbmcgYXR0ZW50aW9uIHRvIGEgYnV0dG9uXHJcbiVhbmltLXB1bHNlIHtcclxuXHRhbmltYXRpb24tbmFtZTogYW5pbS1yYWRpYWwtcHVsc2U7XHJcblx0YW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcclxuXHRhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuXHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxufVxyXG5cclxuLy8gbmljZSBmb3IgaW52YWxpZCBmb3JtIGZpZWxkc1xyXG4lYW5pbS1zaGFrZSB7XHJcblx0YW5pbWF0aW9uLW5hbWU6IGFuaW0tc2hha2UtZnJhbWVzO1xyXG5cdGFuaW1hdGlvbi1kdXJhdGlvbjogMC40cztcclxuXHR0cmFuc2Zvcm0tb3JpZ2luOjUwJSA1MCU7XHJcblx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG59IiwiLy8gZWVmXHJcbkBpZiAkdGhlbWUgPT0gZWVmIHtcclxuXHJcbiAgICAlamVhbmx1Y3dlYiB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdqZWFubHVjd2ViJztcclxuICAgICAgICBAaW5jbHVkZSB1LWZvbnQtc21vb3RoKCk7XHJcbiAgICB9XHJcbiAgICAlZmF2b3JpdCB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdmYXZvcml0JztcclxuICAgICAgICBAaW5jbHVkZSB1LWZvbnQtc21vb3RoKCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImplYW5sdWN3ZWJcIjtcclxuICAgICAgICBzcmM6IHVybChcIi4uL2ZvbnRzL2VlZmYvamVhbmx1Y3dlYi1ib2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIH1cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImZhdm9yaXRcIjtcclxuICAgICAgICBzcmM6IHVybChcIi4uL2ZvbnRzL2VlZmYvZmF2b3JpdC1yZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIH1cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImZhdm9yaXRcIjtcclxuICAgICAgICBzcmM6IHVybChcIi4uL2ZvbnRzL2VlZmYvZmF2b3JpdC1ib2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIGppZlxyXG5AaWYgJHRoZW1lID09IGppZiB7XHJcblxyXG4gICAgJXBvbGFyaXMtYm9sZCB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdwb2xhcmlzLWJvbGQnO1xyXG4gICAgICAgIEBpbmNsdWRlIHUtZm9udC1zbW9vdGgoKTtcclxuICAgIH1cclxuICAgICVhbnR3ZXJwIHtcclxuICAgICAgICBmb250LWZhbWlseTogJ2FudHdlcnAnO1xyXG4gICAgICAgIEBpbmNsdWRlIHUtZm9udC1zbW9vdGgoKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwicG9sYXJpcy1ib2xkXCI7XHJcbiAgICAgICAgc3JjOiB1cmwoXCIuLi9mb250cy9qaWZmL3BvbGFyaXMtYm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcclxuICAgICAgICAgICAgdXJsKFwiLi4vZm9udHMvamlmZi9wb2xhcmlzLWJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgfVxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiYW50d2VycFwiO1xyXG4gICAgICAgIHNyYzogdXJsKFwiLi4vZm9udHMvamlmZi9hbnR3ZXJwLXJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgfVxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiYW50d2VycFwiO1xyXG4gICAgICAgIHNyYzogdXJsKFwiLi4vZm9udHMvamlmZi9hbnR3ZXJwLXJlZ3VsYXItaXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIH1cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImFudHdlcnBcIjtcclxuICAgICAgICBzcmM6IHVybChcIi4uL2ZvbnRzL2ppZmYvYW50d2VycC1zZW1pYm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIGZmYSB0eXBla2l0XHJcbkBpZiAkdGhlbWUgPT0gZmZhIHtcclxuICAgICVwcm94aW1hLWJsYWNrIHtcclxuICAgICAgICBmb250LWZhbWlseTogXCJuZXVlLW1vbnRyZWFsXCI7XHJcbiAgICAgICAgQGluY2x1ZGUgdS1mb250LXNtb290aCgpO1xyXG4gICAgICAgIC8qZm9udC1mYW1pbHk6IHByb3hpbWEtbm92YSwgc2Fucy1zZXJpZjsqL1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgfVxyXG4gICAgJXByb3hpbWEtYm9sZCB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibmV1ZS1tb250cmVhbFwiO1xyXG4gICAgICAgIEBpbmNsdWRlIHUtZm9udC1zbW9vdGgoKTtcclxuICAgICAgICAvKmZvbnQtZmFtaWx5OiBwcm94aW1hLW5vdmEsIHNhbnMtc2VyaWY7Ki9cclxuICAgICAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIH1cclxuICAgICVwcm94aW1hLXNlbWlib2xkIHtcclxuICAgICAgICBmb250LWZhbWlseTogXCJuZXVlLW1vbnRyZWFsXCI7XHJcbiAgICAgICAgQGluY2x1ZGUgdS1mb250LXNtb290aCgpO1xyXG4gICAgICAgIC8qZm9udC1mYW1pbHk6IHByb3hpbWEtbm92YSwgc2Fucy1zZXJpZjtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsqL1xyXG4gICAgfVxyXG4gICAgJXByb3hpbWEtbGlnaHQge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIm5ldWUtbW9udHJlYWxcIjtcclxuICAgICAgICBAaW5jbHVkZSB1LWZvbnQtc21vb3RoKCk7XHJcbiAgICAgICAgLy9mb250LWZhbWlseTogcHJveGltYS1ub3ZhLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgfVxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibmV1ZS1tb250cmVhbFwiO1xyXG4gICAgICAgIHNyYzogdXJsKFwiLi4vZm9udHMvZmZmYS9uZXVlbW9udHJlYWwtYm9sZC13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgIH1cclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogXCJuZXVlLW1vbnRyZWFsXCI7XHJcbiAgICAgICAgc3JjOiB1cmwoXCIuLi9mb250cy9mZmZhL25ldWVtb250cmVhbC1saWdodC13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIH1cclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogXCJuZXVlLW1vbnRyZWFsXCI7XHJcbiAgICAgICAgc3JjOiB1cmwoXCIuLi9mb250cy9mZmZhL25ldWVtb250cmVhbC1yZWd1bGFyLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBjaGZcclxuQGlmICR0aGVtZSA9PSBjaGYge1xyXG4gICAgJWJyYW5kb24ge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBicmFuZG9uLWdyb3Rlc3F1ZSwgc2Fucy1zZXJpZjtcclxuICAgIH1cclxuXHJcbiAgICAlc3VuZGF5LW1vcm5pbmcge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBzdW5kYXktbW9ybmluZywgc2Fucy1zZXJpZjtcclxuICAgIH1cclxuXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogc3VuZGF5LW1vcm5pbmc7XHJcbiAgICAgICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2NoaWZmL2JhbmdlbC1ibGFja3JvdW5kZWQud29mZicpIGZvcm1hdCgnd29mZicpO1xyXG4gICAgfVxyXG59IiwiQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdpY29tb29uJztcclxuXHRzcmM6IHVybCgnLi4vZm9udHMvaWNvbW9vbi53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbltjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSxcclxuLmljb24ge1xyXG5cdC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXHJcblx0Zm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xyXG5cdHNwZWFrOiBub25lO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdGZvbnQtdmFyaWFudDogbm9ybWFsO1xyXG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG5cclxuXHQvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cclxuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG5cclxuXHRidXR0b24gJiB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcbn1cclxuXHJcbi5pY29uLWluZm86YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcZTkwMlwiO1xyXG59XHJcbi5pY29uLWxvY2F0aW9uOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXGU5MDRcIjtcclxufVxyXG4uaWNvbi1zZWFyY2g6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcZTYwMFwiO1xyXG59XHJcbi5pY29uLWhhbWJ1cmdlcjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxlNjAxXCI7XHJcbn1cclxuLmljb24tY2hvb2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcZTYwNFwiO1xyXG59XHJcblxyXG5cclxuLy8gc29jaWFsXHJcbi5pY29uLXNvY2lhbC1mYWNlYm9vazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxlOTBhXCI7XHJcbn1cclxuLmljb24tc29jaWFsLWZhY2Vib29rMjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxlNjA5XCI7XHJcbn1cclxuLmljb24tc29jaWFsLWVtYWlsOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXGU2MGJcIjtcclxufVxyXG4uaWNvbi1zb2NpYWwtZ29vZ2xlcGx1cy1hbHQ6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcZWE4YlwiO1xyXG59XHJcbi5pY29uLXNvY2lhbC1nb29nbGVwbHVzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXGU4MGFcIjtcclxufVxyXG4uaWNvbi1zb2NpYWwtdHdpdHRlcjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxlODBkXCI7XHJcbn1cclxuLmljb24tc29jaWFsLXdoYXRzYXBwOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXGU5MDBcIjtcclxufVxyXG4uaWNvbi1zb2NpYWwtcGludGVyZXN0OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXGU5MDFcIjtcclxufVxyXG4uaWNvbi1zb2NpYWwtaW5zdGFncmFtOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXGVhOTJcIjtcclxufVxyXG4uaWNvbi1zb2NpYWwtdmltZW86YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcZWFhMFwiO1xyXG59XHJcblxyXG4vLyBjbG9zZVxyXG4uaWNvbi1jbG9zZS1saWdodDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxlOTAzXCI7XHJcbn1cclxuLmljb24tY2xvc2U6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcZTYwMlwiO1xyXG59XHJcblxyXG4vLyBhcnJvdyBsaWdodFxyXG4uaWNvbi1hcnJvdy1yaWdodC1saWdodDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxlOTA1XCI7XHJcbn1cclxuLmljb24tYXJyb3ctbGVmdC1saWdodDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxlOTA2XCI7XHJcbn1cclxuLmljb24tYXJyb3ctZG93bi1saWdodDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxlOTA3XCI7XHJcbn1cclxuLmljb24tYXJyb3ctdXAtbGlnaHQ6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcZTkwOFwiO1xyXG59XHJcblxyXG4vLyBhcnJvd1xyXG4uaWNvbi1hcnJvdy1sZWZ0OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXGU2MDVcIjtcclxufVxyXG4uaWNvbi1hcnJvdy1yaWdodDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxlNjA2XCI7XHJcbn1cclxuLmljb24tYXJyb3ctZG93bjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxlNjA3XCI7XHJcbn1cclxuLmljb24tYXJyb3ctdXA6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcZTYwOFwiO1xyXG59XHJcblxyXG4uaWNvbi1wbHVzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXGU5MDlcIjtcclxufVxyXG4uaWNvbi1jYWxlbmRhcjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxlOTBiXCI7XHJcbn0iLCIkcC1tYXJnaW4tYm90dG9tOiAxLjRlbTtcclxuXHJcbmJvZHkge1xyXG4gICAgQGluY2x1ZGUgdS1mb250LXNtb290aCgpO1xyXG4gICAgY29sb3I6IHRoZW1pZnkodGV4dCk7XHJcbiAgICBsaW5lLWhlaWdodDogMS4yO1xyXG5cclxuICAgIEBpZiAkdGhlbWUgPT0gZWVmIHtcclxuICAgICAgICBAZXh0ZW5kICVmYXZvcml0O1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkdGhlbWUgPT0gamlmIHtcclxuICAgICAgICBAZXh0ZW5kICVhbnR3ZXJwO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkdGhlbWUgPT0gZmZhIHtcclxuICAgICAgICBAZXh0ZW5kICVwcm94aW1hLWxpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkdGhlbWUgPT0gY2hmIHtcclxuICAgICAgICBAZXh0ZW5kICVicmFuZG9uO1xyXG4gICAgfVxyXG59XHJcblxyXG46OnNlbGVjdGlvbiB7XHJcbiAgYmFja2dyb3VuZDogdGhlbWlmeSh1c2VyLXNlbGVjdGlvbi1iZyk7XHJcbiAgY29sb3I6IHRoZW1pZnkodXNlci1zZWxlY3Rpb24pO1xyXG59XHJcblxyXG5ociB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdGhlbWlmeShkaXZpZGVyKTtcclxuICAgIGJvcmRlci1sZWZ0OiAwO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgYm9yZGVyLXRvcDogMDtcclxuICAgIG1hcmdpbjogMzBweCAwO1xyXG59XHJcblxyXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcclxuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xyXG5cclxuICAgICYuanMtZml0dHkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIEBpZiAkdGhlbWUgPT0gZWVmIHtcclxuICAgICAgICBAZXh0ZW5kICVqZWFubHVjd2ViO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBqaWYge1xyXG4gICAgICAgIEBleHRlbmQgJXBvbGFyaXMtYm9sZDtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgfVxyXG4gICAgICAgIFxyXG4gICAgQGlmICR0aGVtZSA9PSBmZmEge1xyXG4gICAgICAgIEBleHRlbmQgJXByb3hpbWEtYmxhY2s7XHJcbiAgICB9XHJcbiAgICAgICAgXHJcbiAgICBAaWYgJHRoZW1lID09IGNoZiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5oMSB7XHJcbiAgICBAaWYgJHRoZW1lID09IGVlZiB7XHJcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBqaWYge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xyXG4gICAgfVxyXG4gICAgICAgIFxyXG4gICAgQGlmICR0aGVtZSA9PSBmZmEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNTZweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG4gICAgICAgIFxyXG4gICAgQGlmICR0aGVtZSA9PSBjaGYge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xyXG4gICAgfVxyXG59XHJcblxyXG4uaDIge1xyXG4gICAgQGlmICR0aGVtZSA9PSBlZWYge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zMztcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJHRoZW1lID09IGppZiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xyXG4gICAgfVxyXG4gICAgICAgIFxyXG4gICAgQGlmICR0aGVtZSA9PSBmZmEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNDRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yNztcclxuICAgIH1cclxuICAgICAgICBcclxuICAgIEBpZiAkdGhlbWUgPT0gY2hmIHtcclxuICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5oMyB7XHJcbiAgICBAaWYgJHRoZW1lID09IGVlZiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBqaWYge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xyXG4gICAgfVxyXG4gICAgICAgIFxyXG4gICAgQGlmICR0aGVtZSA9PSBmZmEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG4gICAgICAgIFxyXG4gICAgQGlmICR0aGVtZSA9PSBjaGYge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgfVxyXG59XHJcblxyXG4uaDQge1xyXG4gICAgQGlmICR0aGVtZSA9PSBlZWYge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS43ODtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJHRoZW1lID09IGppZiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc4O1xyXG4gICAgfVxyXG4gICAgICAgIFxyXG4gICAgQGlmICR0aGVtZSA9PSBmZmEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgfVxyXG4gICAgICAgIFxyXG4gICAgQGlmICR0aGVtZSA9PSBjaGYge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS43ODtcclxuICAgIH1cclxufVxyXG5cclxuLmg1IHtcclxuICAgIEBpZiAkdGhlbWUgPT0gZWVmIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBqaWYge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIH1cclxuICAgICAgICBcclxuICAgIEBpZiAkdGhlbWUgPT0gZmZhIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG4gICAgICAgIFxyXG4gICAgQGlmICR0aGVtZSA9PSBjaGYge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIH1cclxufVxyXG5cclxuLmg2IHtcclxuICAgIEBpZiAkdGhlbWUgPT0gZWVmIHtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzM7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBqaWYge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zMztcclxuICAgIH1cclxuICAgICAgICBcclxuICAgIEBpZiAkdGhlbWUgPT0gZmZhIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB9XHJcbiAgICAgICAgXHJcbiAgICBAaWYgJHRoZW1lID09IGNoZiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucCB7XHJcbiAgICBsaW5lLWhlaWdodDogMS43ZW07XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkcC1tYXJnaW4tYm90dG9tO1xyXG5cclxuICAgIEBpZiAkdGhlbWUgPT0gZWVmIHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAgICAgXHJcbiAgICBAaWYgJHRoZW1lID09IGNoZiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIHN0cm9uZyB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpZiAkdGhlbWUgPT0gZmZhIHtcclxuICAgIGEsXHJcbiAgICBidXR0b24ge1xyXG4gICAgICAgIEBleHRlbmQgJXByb3hpbWEtc2VtaWJvbGQ7XHJcbiAgICB9XHJcbn0iLCIkaW52YWxpZC1jb2w6IHRoZW1pZnkocHJpbWFyeSk7XHJcbiRmb2N1cy1jb2w6ICM1YzdjYTU7XHJcbiRpbnB1dC1sYWJlbDogZ3JleTtcclxuJHBsYWNlaG9sZGVyOiAjOWI5YjliO1xyXG4kZm9ybUZvbnRTaXplOiAxNnB4O1xyXG4kZm9ybUZvbnRTaXplRXJyb3I6IDEycHg7XHJcbiRpbnB1dC1iZzogd2hpdGU7XHJcbiRjaGVjay1yYWRpby1ib3JkZXI6ICNjY2NjY2M7XHJcblxyXG4kZm9ybVRyYW5zaXRpb246IGFsbCAwLjJzO1xyXG5cclxuaW5wdXRbdHlwZT10ZXh0XSxcclxuaW5wdXRbdHlwZT1udW1iZXJdLFxyXG5pbnB1dFt0eXBlPWVtYWlsXVxyXG5zZWxlY3QsXHJcbnRleHRhcmVhIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuJWlucHV0LWJhc2Uge1xyXG5cdGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblxyXG5cdGZvbnQtc2l6ZTogJGZvcm1Gb250U2l6ZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRib3JkZXItcmFkaXVzOiAycHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xyXG5cdGJvcmRlcjogc29saWQgMXB4ICRjaGVjay1yYWRpby1ib3JkZXI7XHJcblx0cGFkZGluZzogMTNweCAxM3B4IDlweDtcclxuXHJcblx0aXMtaW52YWxpZCAmIHtcclxuXHJcblx0fVxyXG5cclxuXHQmOmZvY3VzIHtcclxuXHRcdFxyXG5cdH1cclxuXHJcblx0Jjo6cGxhY2Vob2xkZXIge1xyXG5cdFx0Y29sb3I6ICRwbGFjZWhvbGRlcjtcclxuXHR9XHJcbn1cclxuXHJcbmZvcm0uZm9ybS1pbnZhbGlkIHtcclxuXHQuaXMtaW52YWxpZCB7XHJcblx0XHRAZXh0ZW5kICVhbmltLXNoYWtlO1xyXG5cdH1cclxufVxyXG5cclxuLy9cclxuLy8gcGFyZW50IGJhc2VcclxuLy9cclxuLmZvcm1fX2ZpZWxkLFxyXG4uZm9ybV9fc2VsZWN0LFxyXG4uZm9ybV9fY2hlY2tib3gsXHJcbi5mb3JtX19yYWRpbyxcclxuLmZvcm1fX3RleHQtYXJlYSB7XHJcblx0dHJhbnNpdGlvbjogJGZvcm1UcmFuc2l0aW9uO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG5cclxuXHQmLmlzLWludmFsaWQge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNHB4O1xyXG5cdH1cclxufVxyXG5cclxuLmZvcm1fX2NvbXBvbmVudCB7XHJcblxyXG59XHJcblxyXG4uZm9ybV9fZmllbGQge1xyXG5cdGlucHV0IHtcclxuXHRcdEBleHRlbmQgJWlucHV0LWJhc2U7XHJcblx0fVxyXG5cdGxhYmVsIHtcclxuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLmZvcm1fX3NlbGVjdCB7XHJcblxyXG5cdHNlbGVjdCB7XHJcblx0XHRAZXh0ZW5kICVpbnB1dC1iYXNlO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1heC13aWR0aDogMTAwJTtcclxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAuN2VtIHRvcCA1MCUsIDAgMDtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc2VsZWN0LWFycm93LWNoZi5zdmcpO1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOiAxNHB4IDhweDtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdHBhZGRpbmc6IDhweCAxMnB4IDdweCA1cHg7XHJcblx0fVxyXG59XHJcblxyXG4vLyBIaWRlIGFycm93IGljb24gaW4gSUUgYnJvd3NlcnNcclxuc2VsZWN0OjotbXMtZXhwYW5kIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5mb3JtX19maWVsZC1sYWJlbCxcclxuLmZvcm1fX3RleHQtYXJlYS1sYWJlbCxcclxuLmZvcm1fX2N0cmwtbGFiZWwge1xyXG5cdGZvbnQtc2l6ZTogJGZvcm1Gb250U2l6ZTtcclxuXHRjb2xvcjogJGlucHV0LWxhYmVsO1xyXG5cdGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi5mb3JtX19maWVsZC1sYWJlbCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuXHRAaW5jbHVkZSB1LXZlcnRpY2FsLWNlbnRlcigkdG9wOiA1NCUpO1xyXG5cdGxlZnQ6IDIwcHg7XHJcblxyXG5cdC5pcy1pbnZhbGlkICYge1xyXG5cdFx0XHJcblx0fVxyXG5cclxuXHQuaGFzLWZvY3VzICYsXHJcblx0Lmhhcy12YWx1ZSAmIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQvLyBhcHBseSBvbmx5IGlzIGxhYmVsIGlzIG9uIHRvcCBvZiBmaWVsZCAtIG5vIHBsYWNlaG9sZGVyXHJcblx0LmZvcm1fX3NlbGVjdCAmIHtcclxuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLmZvcm1fX3RleHQtYXJlYSB7XHJcblx0dGV4dGFyZWEge1xyXG5cdFx0QGV4dGVuZCAlaW5wdXQtYmFzZTtcclxuXHR9XHJcbn1cclxuXHJcbi5mb3JtX190ZXh0LWFyZWEtbGFiZWwge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbi1ib3R0b206IDZweDtcclxufVxyXG5cclxuLmZvcm1fX2N0cmwtbGFiZWwge1xyXG5cdEBpbmNsdWRlIHUtdmVydGljYWwtY2VudGVyKCk7XHJcblx0bWFyZ2luLXRvcDogMXB4OyAvLyB0ZXh0IGxpbmUtaGVpZ2h0IGZpeFxyXG5cdGxlZnQ6IDM0cHg7XHJcbn1cclxuXHJcbi5mb3JtX19jaGVja2JveC1sYWJlbCxcclxuLmZvcm1fX3JhZGlvLWxhYmVsIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG5cdCY6OnNlbGVjdGlvbiB7XHJcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHR9XHJcblxyXG5cdCY6aG92ZXIgaW5wdXQgKyAuZm9ybV9fY3RybC11aSB7XHJcblx0XHJcblx0fVxyXG59XHJcblxyXG4uZm9ybV9fY2hlY2tib3gsIFxyXG4uZm9ybV9fcmFkaW8ge1xyXG5cdFxyXG5cdGlucHV0ICsgLmZvcm1fX2N0cmwtdWkge1xyXG5cclxuXHRcdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG5cdFx0YmFja2dyb3VuZDogJGlucHV0LWJnO1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0d2lkdGg6IDIycHg7XHJcblx0XHRoZWlnaHQ6IDIycHg7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG5cdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcblx0XHRib3JkZXI6IHNvbGlkIDFweCAkY2hlY2stcmFkaW8tYm9yZGVyO1xyXG5cclxuXHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcblx0XHRcdHRyYW5zaXRpb246ICRmb3JtVHJhbnNpdGlvbjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIG9uIHByZXNzXHJcblx0aW5wdXQ6YWN0aXZlICsgLmZvcm1fX2N0cmwtdWkge1xyXG5cdFx0XHJcblx0fVxyXG5cclxuXHRpbnB1dDpmb2N1cyArIC5mb3JtX19jdHJsLXVpIHtcclxuXHRcdGJvcmRlci1jb2xvcjogZGFya2VuKCRjaGVjay1yYWRpby1ib3JkZXIsIDIwJSk7XHJcblx0fVxyXG5cclxuXHRpbnB1dDpjaGVja2VkICsgLmZvcm1fX2N0cmwtdWk6OmFmdGVyIHtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcblx0fVxyXG5cclxuXHRpbnB1dCB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdH1cclxufVxyXG5cclxuLmZvcm1fX2NoZWNrYm94IHtcclxuXHRpbnB1dCArIC5mb3JtX19jdHJsLXVpIHtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcblx0XHQvLyBjaGVja1xyXG5cdFx0Jjo6YWZ0ZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejQ4SVVSUFExUlpVRVVnYzNabklGQlZRa3hKUXlBaUxTOHZWek5ETHk5RVZFUWdVMVpISURFdU1TOHZSVTRpSUNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk5SGNtRndhR2xqY3k5VFZrY3ZNUzR4TDBSVVJDOXpkbWN4TVM1a2RHUWlQanh6ZG1jZ2RtVnljMmx2YmowaU1TNHhJaUJwWkQwaVRHRjVaWEpmTVNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWlCNGJXeHVjenA0YkdsdWF6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGJHbHVheUlnZUQwaU1IQjRJaUI1UFNJd2NIZ2lJSGRwWkhSb1BTSTJOSEI0SWlCb1pXbG5hSFE5SWpZMGNIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBMk5DQTJOQ0lnWlc1aFlteGxMV0poWTJ0bmNtOTFibVE5SW01bGR5QXdJREFnTmpRZ05qUWlJSGh0YkRwemNHRmpaVDBpY0hKbGMyVnlkbVVpUGp4blBqeHdiMng1WjI5dUlIQnZhVzUwY3owaU1UTXVOekEzTERNeUxqSTVNeUF4TWk0eU9UTXNNek11T0RVMElESTBMakk1TXl3ME5pQXlOUzQzTURjc05EWWdORGt1TnpBM0xESXhMamcxTkNBME9DNHlPVE1zTWpBdU16WTJJREkxTERRekxqWXlNeUFpTHo0OEwyYytQQzl6ZG1jKykgbm8tcmVwZWF0IGNlbnRlcjtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG5cdFx0XHR3aWR0aDogMS41ZW07XHJcblx0XHRcdGhlaWdodDogMS41ZW07XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZm9ybV9fcmFkaW8ge1xyXG5cdGlucHV0ICsgLmZvcm1fX2N0cmwtdWkge1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcclxuXHJcblx0XHQmOjphZnRlciB7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcblx0XHRcdG1hcmdpbjogLjRlbTtcclxuXHRcdFx0d2lkdGg6IC42ZW07XHJcblx0XHRcdGhlaWdodDogLjZlbTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGlucHV0OmNoZWNrZWQgKyAuZm9ybV9fY3RybC11aTo6YWZ0ZXIge1xyXG5cdFx0YmFja2dyb3VuZDogbGlnaHRlbihibGFjaywgMjAlKTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4uZm9ybV9fYmlydGgtZGF0ZSB7XHJcblx0bG9zdC11dGlsaXR5OiBjbGVhcmZpeDtcclxuXHJcblx0PiAuZm9ybV9fc2VsZWN0IHtcclxuXHRcdGxvc3QtY29sdW1uOiAxLzMgMyAxNXB4O1xyXG5cdH1cclxufVxyXG5cclxuLmZvcm1fX2JpcnRoLWRhdGUtY29sIHtcclxuXHRsb3N0LWNvbHVtbjogMS8zIDMgMTVweDtcclxufVxyXG5cclxuLmZvcm1fX2ZpZWxkLWNvdW50IHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0Ym90dG9tOiA4cHg7XHJcblx0cmlnaHQ6IDhweDtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHRcclxuXHQuaXMtaW52YWxpZCAmIHtcclxuICAgICAgICBjb2xvcjogJGludmFsaWQtY29sO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZm9ybV9fZmllbGQtZXJyb3Ige1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG5cdGZvbnQtc2l6ZTogJGZvcm1Gb250U2l6ZUVycm9yO1xyXG5cdGNvbG9yOiAkaW52YWxpZC1jb2w7XHJcblxyXG5cdEBpZiAkdGhlbWUgPT0gZWVmIHtcclxuXHRcdEBleHRlbmQgJWplYW5sdWN3ZWI7XHJcblx0XHRjb2xvcjogJGNvcmVvcmFuZ2U7XHJcblx0fVxyXG5cclxuXHRAaWYgJHRoZW1lID09IGppZiB7XHJcblx0XHRAZXh0ZW5kICVwb2xhcmlzLWJvbGQ7XHJcblx0fVxyXG5cdFx0XHJcblx0QGlmICR0aGVtZSA9PSBmZmEge1xyXG5cdFx0XHJcblx0fVxyXG5cdFx0XHJcblx0QGlmICR0aGVtZSA9PSBjaGYge1xyXG5cdFx0XHJcblx0fVxyXG5cclxuXHR1bCB7XHJcblx0XHRtYXJnaW4tdG9wOiA1cHg7XHJcblx0fVxyXG59XHJcblxyXG4uZm9ybV9fZXJyb3Ige1xyXG4gICAgY29sb3I6ICRpbnZhbGlkLWNvbDtcclxuICAgIG1hcmdpbjogMjBweCAwO1xyXG59IiwiYnV0dG9uIHtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbkBtaXhpbiBidXR0b24tYmFzZSgkdGV4dCwgJHRleHQtb24sICRiZywgJGJnLW9uLCAkdGV4dC1kaXNhYmxlZDpcIlwiLCAkYmctZGlzYWJsZWQ6XCJcIikge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgbGluZWFyO1xyXG4gICAgY29sb3I6ICR0ZXh0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xyXG5cclxuICAgICYuaXMtc2VsZWN0ZWQsXHJcbiAgICAubm8tdG91Y2ggJjpob3ZlcixcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGNvbG9yOiAkdGV4dC1vbjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctb247XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICR0ZXh0LWRpc2FibGVkIHtcclxuICAgICAgICAmW2Rpc2FibGVkXSxcclxuICAgICAgICAmLmlzLWRpc2FibGVkIHtcclxuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWRpc2FibGVkO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctZGlzYWJsZWQ7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuaXMtbG9hZGluZyB7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uYnRuX19sb2FkaW5nLXdyYXAge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogcGFkZGluZy1yaWdodDtcclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IGluaGVyaXQ7XHJcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogaW5oZXJpdDtcclxuICAgIC5pcy1sb2FkaW5nICYge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5idG5fX3NwaW5uZXIge1xyXG4gICAgQGV4dGVuZCAuc3Bpbm5lcjtcclxuICAgIEBpbmNsdWRlIHUtdmVydGljYWwtY2VudGVyKCk7XHJcbiAgICByaWdodDogMTBweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgwKTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XHJcblxyXG4gICAgLmJ0bi0tZ3Jvd3MgJiB7XHJcbiAgICAgICAgcmlnaHQ6IC04cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmlzLWxvYWRpbmcgJiB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IDAuNHMgZWFzZShvdXQtYmFjayk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5idG4ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMzM7XHJcbiAgICBjb2xvcjogdGhlbWlmeShidXR0b24tdGV4dCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KGJ1dHRvbi1iZyk7XHJcbiAgICBcclxuICAgIEBpZiAkdGhlbWUgPT0gZWVmIHtcclxuICAgICAgICBAZXh0ZW5kICVwb2xhcmlzLWJvbGQgIW9wdGlvbmFsO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDQwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkdGhlbWUgPT0gamlmIHtcclxuICAgICAgICBAZXh0ZW5kICVwb2xhcmlzLWJvbGQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggNDBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICB9XHJcbiAgICAgICAgXHJcbiAgICBAaWYgJHRoZW1lID09IGZmYSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggNDBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICB9XHJcbiAgICAgICAgXHJcbiAgICBAaWYgJHRoZW1lID09IGNoZiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAzM3B4IDEzcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjhweDtcclxuICAgIH1cclxuXHJcbiAgICAmW2Rpc2FibGVkXSxcclxuICAgICYuaXMtZGlzYWJsZWQge1xyXG4gICAgICAgIGNvbG9yOiB0aGVtaWZ5KGJ1dHRvbi10ZXh0LWRpc2FibGVkKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KGJ1dHRvbi1iZy1kaXNhYmxlZCkgIWltcG9ydGFudDtcclxuICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAmLmlzLWxvYWRpbmcge1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICYuaXMtc2VsZWN0ZWQsXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1pZnkoYnV0dG9uLXRleHQtb24pO1xyXG4gICAgICAgIGZpbGw6IHRoZW1pZnkoYnV0dG9uLXRleHQtb24pO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkoYnV0dG9uLWJnLW9uKTtcclxuICAgIH1cclxuXHJcbiAgICAmLnNtYWxsIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDI0cHggMTBweDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFlZDFjYztcclxuICAgICAgICBjb2xvcjogIzAwMDAwMDtcclxuXHJcbiAgICAgICAgJi5pcy1zZWxlY3RlZCxcclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBmaWxsOiB0aGVtaWZ5KGJ1dHRvbi10ZXh0LW9uKTtcclxuICAgICAgICAgICAgY29sb3I6IHRoZW1pZnkoYnV0dG9uLXRleHQpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KGJ1dHRvbi1iZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtLWdyb3dzIHtcclxuICAgICAgICAmLmlzLWxvYWRpbmcge1xyXG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICAgICAgJjphZnRlciB7IFxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDIwcHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlKG91dC1zaW5lKSwgYmFja2dyb3VuZC1jb2xvciAwcztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvLyBAdXNhZ2UgdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlKGluLXF1YWQpO1xyXG4kZWFzZTogKFxyXG4gIGluLXF1YWQ6ICAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wODUsIDAuNjgwLCAwLjUzMCksXHJcbiAgaW4tY3ViaWM6ICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA1NSwgMC42NzUsIDAuMTkwKSxcclxuICBpbi1xdWFydDogICAgIGN1YmljLWJlemllcigwLjg5NSwgIDAuMDMwLCAwLjY4NSwgMC4yMjApLFxyXG4gIGluLXF1aW50OiAgICAgY3ViaWMtYmV6aWVyKDAuNzU1LCAgMC4wNTAsIDAuODU1LCAwLjA2MCksXHJcbiAgaW4tc2luZTogICAgICBjdWJpYy1iZXppZXIoMC40NzAsICAwLjAwMCwgMC43NDUsIDAuNzE1KSxcclxuICBpbi1leHBvOiAgICAgIGN1YmljLWJlemllcigwLjk1MCwgIDAuMDUwLCAwLjc5NSwgMC4wMzUpLFxyXG4gIGluLWNpcmM6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAgMC4wNDAsIDAuOTgwLCAwLjMzNSksXHJcbiAgaW4tYmFjazogICAgICBjdWJpYy1iZXppZXIoMC42MDAsIC0wLjI4MCwgMC43MzUsIDAuMDQ1KSxcclxuICBvdXQtcXVhZDogICAgIGN1YmljLWJlemllcigwLjI1MCwgIDAuNDYwLCAwLjQ1MCwgMC45NDApLFxyXG4gIG91dC1jdWJpYzogICAgY3ViaWMtYmV6aWVyKDAuMjE1LCAgMC42MTAsIDAuMzU1LCAxLjAwMCksXHJcbiAgb3V0LXF1YXJ0OiAgICBjdWJpYy1iZXppZXIoMC4xNjUsICAwLjg0MCwgMC40NDAsIDEuMDAwKSxcclxuICBvdXQtcXVpbnQ6ICAgIGN1YmljLWJlemllcigwLjIzMCwgIDEuMDAwLCAwLjMyMCwgMS4wMDApLFxyXG4gIG91dC1zaW5lOiAgICAgY3ViaWMtYmV6aWVyKDAuMzkwLCAgMC41NzUsIDAuNTY1LCAxLjAwMCksXHJcbiAgb3V0LWV4cG86ICAgICBjdWJpYy1iZXppZXIoMC4xOTAsICAxLjAwMCwgMC4yMjAsIDEuMDAwKSxcclxuICBvdXQtY2lyYzogICAgIGN1YmljLWJlemllcigwLjA3NSwgIDAuODIwLCAwLjE2NSwgMS4wMDApLFxyXG4gIG91dC1iYWNrOiAgICAgY3ViaWMtYmV6aWVyKDAuMTc1LCAgMC44ODUsIDAuMzIwLCAxLjI3NSksXHJcbiAgaW4tb3V0LXF1YWQ6ICBjdWJpYy1iZXppZXIoMC40NTUsICAwLjAzMCwgMC41MTUsIDAuOTU1KSxcclxuICBpbi1vdXQtY3ViaWM6IGN1YmljLWJlemllcigwLjY0NSwgIDAuMDQ1LCAwLjM1NSwgMS4wMDApLFxyXG4gIGluLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKDAuNzcwLCAgMC4wMDAsIDAuMTc1LCAxLjAwMCksXHJcbiAgaW4tb3V0LXF1aW50OiBjdWJpYy1iZXppZXIoMC44NjAsICAwLjAwMCwgMC4wNzAsIDEuMDAwKSxcclxuICBpbi1vdXQtc2luZTogIGN1YmljLWJlemllcigwLjQ0NSwgIDAuMDUwLCAwLjU1MCwgMC45NTApLFxyXG4gIGluLW91dC1leHBvOiAgY3ViaWMtYmV6aWVyKDEuMDAwLCAgMC4wMDAsIDAuMDAwLCAxLjAwMCksXHJcbiAgaW4tb3V0LWNpcmM6ICBjdWJpYy1iZXppZXIoMC43ODUsICAwLjEzNSwgMC4xNTAsIDAuODYwKSxcclxuICBpbi1vdXQtYmFjazogIGN1YmljLWJlemllcigwLjY4MCwgLTAuNTUwLCAwLjI2NSwgMS41NTApXHJcbik7XHJcblxyXG5AZnVuY3Rpb24gZWFzZSgka2V5KSB7XHJcbiAgQGlmIG1hcC1oYXMta2V5KCRlYXNlLCAka2V5KSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGVhc2UsICRrZXkpO1xyXG4gIH1cclxuXHJcbiAgQHdhcm4gXCJVbmtvd24gJyN7JGtleX0nIGluICRlYXNlLlwiO1xyXG4gIEByZXR1cm4gbnVsbDtcclxufVxyXG4iLCJpbWcsXHJcbnBpY3R1cmUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDA7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vLyBsYXp5IGxvYWRlZCBpbWFnZXNcclxuaW1nLmItbGF6eSB7XHJcblx0b3BhY2l0eTogMDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycztcclxuXHJcblx0Ji5iLWxvYWRlZCB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdH1cclxufVxyXG4iLCIvLyBoZWF2aWx5IG1vZGlmaWVkIGZyb20gc3JjXHJcbi8qIVxyXG4gKiBQaWthZGF5XHJcbiAqIENvcHlyaWdodCDCqSAyMDE0IERhdmlkIEJ1c2hlbGwgfCBCU0QgJiBNSVQgbGljZW5zZSB8IGh0dHBzOi8vZGJ1c2hlbGwuY29tL1xyXG4gKi9cclxuXHJcbi8vIFZhcmlhYmxlc1xyXG4vLyBEZWNsYXJlIGFueSBvZiB0aGVzZSB2YXJpYWJsZXMgYmVmb3JlIGltcG9ydGluZyB0aGlzIFNDU1MgZmlsZSB0byBlYXNpbHkgb3ZlcnJpZGUgZGVmYXVsdHNcclxuLy8gVmFyaWFibGVzIGFyZSBuYW1lc3BhY2VkIHdpdGggdGhlIHBkIChwaWthZGF5KSBwcmVmaXhcclxuXHJcbi8vIXJlZmFjdG9yXHJcblxyXG4vLyBDb2xvdXJzXHJcbiRwZC1waWNrZXItYmc6IHRoZW1pZnkocGlja2VyLWJnKSAhZGVmYXVsdDtcclxuJHBkLXBpY2tlci1ib3JkZXI6IHRoZW1pZnkocGlja2VyLWJvcmRlcikgIWRlZmF1bHQ7XHJcbiRwZC1waWNrZXItc2hhZG93OiByZ2JhKDAsMCwwLC41KSAhZGVmYXVsdDtcclxuJHBkLXRoLWNvbG9yOiB0aGVtaWZ5KHRleHQpICFkZWZhdWx0O1xyXG4kcGQtZGF5LWNvbG9yOiB0aGVtaWZ5KHRleHQpICFkZWZhdWx0O1xyXG4kcGQtZGF5LWJnOiB0aGVtaWZ5KHBkLWRheS1iZykgIWRlZmF1bHQ7XHJcbiRwZC1kYXktaG92ZXItY29sb3I6IHRoZW1pZnkoYnV0dG9uLXRleHQtb24pICFkZWZhdWx0O1xyXG4kcGQtZGF5LWhvdmVyLWJnOiB0aGVtaWZ5KGJ1dHRvbi1iZy1vbikgIWRlZmF1bHQ7XHJcbiRwZC1kYXktdG9kYXktY29sb3I6IHRoZW1pZnkoJ3ByaW1hcnknKSAhZGVmYXVsdDtcclxuJHBkLWRheS1zZWxlY3RlZC1jb2xvcjogdGhlbWlmeShidXR0b24tdGV4dC1vbikgIWRlZmF1bHQ7XHJcbiRwZC1kYXktc2VsZWN0ZWQtYmc6IHRoZW1pZnkoJ3ByaW1hcnknKSAhZGVmYXVsdDtcclxuJHBkLWRheS1kaXNhYmxlZC1jb2xvcjogIzk5OSAhZGVmYXVsdDtcclxuJHBkLXdlZWstY29sb3I6ICM5OTkgIWRlZmF1bHQ7XHJcbiRwZC1pbnJhbmdlLWNvbG9yOiAjNjY2ICFkZWZhdWx0O1xyXG4kcGQtaW5yYW5nZS1iZzogI0Q1RTlGNyAhZGVmYXVsdDtcclxuJHBkLXN0YXJ0cmFuZ2UtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XHJcbiRwZC1zdGFydHJhbmdlLWJnOiAjNkNCMzFEICFkZWZhdWx0O1xyXG4kcGQtZW5kcmFuZ2UtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XHJcbiRwZC1lbmRyYW5nZS1iZzogIzMzYWFmZiAhZGVmYXVsdDtcclxuXHJcblxyXG4uY2FsZW5kYXIge1xyXG4gICAgd2lkdGg6IDI4MHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBlZWYge1xyXG4gICAgICAgIEBleHRlbmQgJWplYW5sdWN3ZWI7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBqaWYge1xyXG4gICAgICAgIEBleHRlbmQgJXBvbGFyaXMtYm9sZDtcclxuICAgIH1cclxuICAgICAgICBcclxuICAgIEBpZiAkdGhlbWUgPT0gZmZhIHtcclxuICAgICAgICBcclxuICAgIH1cclxuICAgICAgICBcclxuICAgIEBpZiAkdGhlbWUgPT0gY2hmIHtcclxuICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5waWthLXNpbmdsZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQ6ICRwZC1waWNrZXItYmc7XHJcblxyXG4gICAgJi5pcy1oaWRkZW4ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgJi5pcy1ib3VuZCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggLTVweCAkcGQtcGlja2VyLXNoYWRvdztcclxuICAgIH1cclxufVxyXG5cclxuLy8gY2xlYXIgY2hpbGQgZmxvYXQgKHBpa2EtbGVuZGFyKSwgdXNpbmcgdGhlIGZhbW91cyBtaWNybyBjbGVhcmZpeCBoYWNrXHJcbi8vIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrL1xyXG4ucGlrYS1zaW5nbGUge1xyXG4gICAgJjpiZWZvcmUsXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIiBcIjtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHsgY2xlYXI6IGJvdGggfVxyXG59XHJcblxyXG4vKi5waWthLWxlbmRhciB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiAyNDBweDtcclxuICAgIG1hcmdpbjogOHB4O1xyXG59Ki9cclxuLnBpa2EtbGVuZGFyIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbn1cclxuXHJcbi5waWthLXRpdGxlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGQtZGF5LXNlbGVjdGVkLWJnO1xyXG4gICAgQGlmICR0aGVtZSA9PSBjaGYge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0IHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHotaW5kZXg6IDk5OTg7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmZmYSAmIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGlrYS1sYWJlbC13cmFwIHtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIG9yZGVyOiAyO1xyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5waWthLWxhYmVsIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBtYXJnaW46IDAgM3B4O1xyXG4gICAgY29sb3I6IHRoZW1pZnkoYnV0dG9uLXRleHQpO1xyXG59XHJcblxyXG4ucGlrYS1wcmV2LFxyXG4ucGlrYS1uZXh0IHtcclxuICAgIEBleHRlbmQgLmJ0bjtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcblxyXG4gICAgPiAqIHtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJHRoZW1lID09IGNoZiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgY29sb3I6I2ZmZjtcclxuICAgIH1cclxufVxyXG5cclxuLnBpa2EtcHJldixcclxuLmlzLXJ0bCAucGlrYS1uZXh0IHtcclxuICAgIG9yZGVyOiAxO1xyXG59XHJcblxyXG4ucGlrYS1uZXh0LFxyXG4uaXMtcnRsIC5waWthLXByZXYge1xyXG4gICAgb3JkZXI6IDM7XHJcbn1cclxuXHJcbi5waWthLXNlbGVjdCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5waWthLXRhYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJHBkLXBpY2tlci1ib3JkZXI7XHJcbiAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuXHJcbiAgICBAaWYgJHRoZW1lID09IGNoZiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeTtcclxuICAgIH1cclxuXHJcbiAgICB0aCB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgdGgsXHJcbiAgICB0ZCB7XHJcbiAgICAgICAgd2lkdGg6IDE0LjI4NTcxNDI4NTcxNDI4NiU7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuXHJcbiAgICB0aCB7XHJcbiAgICAgICAgY29sb3I6ICRwZC10aC1jb2xvcjtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcGQtcGlja2VyLWJvcmRlcjtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgYWJiciB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIH1cclxuXHJcbiAgICB0Ym9keSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgdHI6Zmlyc3QtY2hpbGQgdGQge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ciB0ZDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cjpsYXN0LWNoaWxkIHRkIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHIgdGQ6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcGQtcGlja2VyLWJvcmRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZmYSAmIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGlrYS1idXR0b24ge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAzOHB4O1xyXG4gICAgY29sb3I6ICRwZC1kYXktY29sb3I7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIGJhY2tncm91bmQ6ICRwZC1kYXktYmc7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgLmlzLXRvZGF5ICYge1xyXG4gICAgICAgIGNvbG9yOiAkcGQtZGF5LXRvZGF5LWNvbG9yO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cclxuICAgICAgICBAaWYgJHRoZW1lID09IGNoZiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNGM4YzZjO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaXMtc2VsZWN0ZWQgJiB7XHJcbiAgICAgICAgY29sb3I6ICRwZC1kYXktc2VsZWN0ZWQtY29sb3I7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHBkLWRheS1zZWxlY3RlZC1iZztcclxuXHJcbiAgICAgICAgQGlmICR0aGVtZSA9PSBjaGYge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmlzLWRpc2FibGVkICYsXHJcbiAgICAuaXMtb3V0c2lkZS1jdXJyZW50LW1vbnRoICYge1xyXG4gICAgICAgIGNvbG9yOiAkcGQtZGF5LWRpc2FibGVkLWNvbG9yO1xyXG4gICAgICAgIG9wYWNpdHk6IC4zO1xyXG5cclxuICAgICAgICBAaWYgJHRoZW1lID09IGNoZiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBibGFjaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmlzLWRpc2FibGVkICYge1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJHBkLWRheS1ob3Zlci1jb2xvcjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkcGQtZGF5LWhvdmVyLWJnO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmlzLXNlbGVjdGlvbi1kaXNhYmxlZCB7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGlrYS13ZWVrIHtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIGNvbG9yOiAkcGQtd2Vlay1jb2xvcjtcclxufVxyXG5cclxuLmlzLWlucmFuZ2UgLnBpa2EtYnV0dG9uIHtcclxuICAgIGNvbG9yOiAkcGQtaW5yYW5nZS1jb2xvcjtcclxuICAgIGJhY2tncm91bmQ6ICRwZC1pbnJhbmdlLWJnO1xyXG59XHJcblxyXG4uaXMtc3RhcnRyYW5nZSAucGlrYS1idXR0b24ge1xyXG4gICAgY29sb3I6ICRwZC1zdGFydHJhbmdlLWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZDogJHBkLXN0YXJ0cmFuZ2UtYmc7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG59XHJcblxyXG4uaXMtZW5kcmFuZ2UgLnBpa2EtYnV0dG9uIHtcclxuICAgIGNvbG9yOiAkcGQtZW5kcmFuZ2UtY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcGQtZW5kcmFuZ2UtYmc7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG59XHJcbiIsIi5jaG9vay1sb2dvIHtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgLy8gb3ZlcnJpZGUgbm9ybWFsaXplLmNzc1xyXG4gICAgZmlsbDogdGhlbWlmeShjaG9vay1sb2dvKTtcclxufSIsIi8vIXJlZmFjdG9yXHJcblxyXG4vLyBqaWZmXHJcbiR0cmFpbGVyLWJ0bi1iZzogdGhlbWlmeSh0cmFpbGVyLWJ0bi1iZyk7XHJcbiR0cmFpbGVyLWJ0bi10ZXh0OiB0aGVtaWZ5KHRyYWlsZXItYnRuLXRleHQpO1xyXG4kdHJhaWxlci1idG4tdGV4dC1vbjogdGhlbWlmeSh0cmFpbGVyLWJ0bi10ZXh0LW9uKTtcclxuJHRyYWlsZXItYnRuLWJnLW9uOiB0aGVtaWZ5KHRyYWlsZXItYnRuLWJnLW9uKTtcclxuJHRyYWlsZXItYnRuLWJnLW1vYjogdGhlbWlmeSh0cmFpbGVyLWJ0bi1iZy1tb2IpO1xyXG5cclxuJHZvdGUtYnRuLWJnOiAjMUNEMUNDO1xyXG4kdm90ZS1idG4tdGV4dDogYmxhY2s7XHJcbiR2b3RlLWJ0bi10ZXh0LW9uOiB3aGl0ZTtcclxuJHZvdGUtYnRuLWJnLW9uOiB0aGVtaWZ5KHByaW1hcnkpO1xyXG5cclxuXHJcbi5maWxtX190cmFpbGVyLWJ0biB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjE0cyBsaW5lYXI7XHJcblxyXG4gICAgQGV4dGVuZCAuaDY7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgY29sb3I6ICR0cmFpbGVyLWJ0bi10ZXh0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRyYWlsZXItYnRuLWJnO1xyXG4gICAgcGFkZGluZzogMTZweCAxNnB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0cmFpbGVyLWJ0bi1iZy1tb2I7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgIH1cclxuXHJcbiAgICAmLmlzLXNlbGVjdGVkLFxyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0cmFpbGVyLWJ0bi1iZy1vbjtcclxuICAgICAgICBjb2xvcjogJHRyYWlsZXItYnRuLXRleHQtb247XHJcblxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmlzLWxvYWRpbmcge1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICY6YWZ0ZXIgeyAgXHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlKG91dC1zaW5lKSwgYmFja2dyb3VuZC1jb2xvciAwcztcclxuICAgIH1cclxufVxyXG4uZmlsbV9fdHJhaWxlci1idG4tbGFiZWwge1xyXG4gICAgb3JkZXI6IDI7XHJcbn1cclxuLmZpbG1fX3RyYWlsZXItYnRuLWFycm93IHtcclxuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7XHJcbiAgICBcclxuXHJcbiAgICAuZmlsbV9fdHJhaWxlci1idG46YWN0aXZlICYsXHJcbiAgICAuZmlsbV9fdHJhaWxlci1idG46aG92ZXIgJixcclxuICAgIC5maWxtX190cmFpbGVyLWJ0bjpmb2N1cyAmIHtcclxuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHRyYWlsZXItYnRuLXRleHQtb247XHJcbiAgICB9XHJcblxyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBib3JkZXItdG9wOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkICR0cmFpbGVyLWJ0bi10ZXh0O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMnB4XHJcbn1cclxuXHJcbi5maWxtX19jb2xzIHtcclxuICAgIGxvc3QtZmxleC1jb250YWluZXI6IHJvdztcclxuICAgIGxvc3QtdXRpbGl0eTogZGVidWc7XHJcbn1cclxuLmZpbG1fX2NvbCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIFxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjpudGgtY2hpbGQob2RkKSB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgICAgICAgICAgbG9zdC1jb2x1bW46IDMuNzgvNyAyIDEzM3B4O1xyXG4gICAgICAgICAgICBsb3N0LW9mZnNldDogMC42Lzc7IC8vIH4xMDBweFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgICAgICAgICBsb3N0LWNvbHVtbjogMi4xNS83IDIgMTMzcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5maWxtX19ib29rLWJ0biB7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBAaWYgJHRoZW1lID09IGNoZiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNENDkzODg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZmlsbV9fdGl0bGUge1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBjb2xvcjogdGhlbWlmeShmaWxtLXRpdGxlKTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzx0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgIH1cclxuICAgIC8vIG1ha2Ugc3BhY2UgZm9yIGJvb2sgdGlja2V0cyBidG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8dGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMTVweDtcclxuICAgIH1cclxuICAgIC8vIG1ha2Ugc3BhY2UgZm9yIGJvb2sgdGlja2V0cyBidG5cclxuICAgIC5oYXMtdGlja2V0aW5nICYgKyBwIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkdGhlbWUgPT0gY2hmIHtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJHRoZW1lID09IGVlZiB7XHJcbiAgICAgICAgQGV4dGVuZCAlamVhbmx1Y3dlYjtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJHRoZW1lID09IGppZiB7XHJcbiAgICAgICAgQGV4dGVuZCAlcG9sYXJpcy1ib2xkO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkdGhlbWUgPT0gZmZhIHtcclxuICAgICAgICBAZXh0ZW5kICVwcm94aW1hLWJsYWNrO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5maWxtX19pbmZvIHtcclxuICAgIGxpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uZmlsbV9faW5mby1oZWFkaW5nIHtcclxuICAgIEBleHRlbmQgLmg2O1xyXG4gICAgY29sb3I6IHRoZW1pZnkoZmlsbS1pbmZvLWhlYWRpbmcpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG5cclxuICAgIEBpZiAkdGhlbWUgPT0gamlmIHtcclxuICAgICAgICBcclxuICAgIH1cclxuICAgICAgICBcclxuICAgIEBpZiAkdGhlbWUgPT0gZmZhIHtcclxuICAgICAgICBcclxuICAgIH1cclxuICAgICAgICBcclxuICAgIEBpZiAkdGhlbWUgPT0gY2hmIHtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG59XHJcbi5maWxtX19pbmZvLWJ1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgcGFkZGluZzogMTBweCAyNHB4IDEwcHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcblxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG59XHJcbi5maWxtX193eXNpd3lnIHtcclxuICAgIEBleHRlbmQgLnd5c2l3eWc7XHJcbn1cclxuXHJcbi5maWxtX19ib29rLWJ0biB7XHJcbiAgICBAZXh0ZW5kIC5idG47XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcbiAgICBAaWYgJHRoZW1lID09IGVlZiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8dGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAyNXB4O1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgfVxyXG59XHJcbi5maWxtX192b3RlLWJ0biB7XHJcbiAgICBAZXh0ZW5kIC5idG47XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdm90ZS1idG4tYmc7XHJcbiAgICBjb2xvcjogJHZvdGUtYnRuLXRleHQ7XHJcblxyXG4gICAgJi5pcy1zZWxlY3RlZCxcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBjb2xvcjogJHZvdGUtYnRuLXRleHQtb247XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHZvdGUtYnRuLWJnLW9uO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmppZiAuZmlsbV9fYmlrZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4udm90aW5nLWJsb2NrIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogOHB4IDE2cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuICAgIG1hcmdpbjogNDBweCAwO1xyXG5cclxuICAgICZfX2hlYWRpbmcge1xyXG4gICAgICAgIGNvbG9yOiB0aGVtaWZ5KGZpbG0tdGl0bGUpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzM7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcclxuXHJcbiAgICAgICAgQGlmICR0aGVtZSA9PSBjaGYge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiAkdGhlbWUgPT0gZWVmIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAlamVhbmx1Y3dlYjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiAkdGhlbWUgPT0gamlmIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAlcG9sYXJpcy1ib2xkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGlmICR0aGVtZSA9PSBmZmEge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVwcm94aW1hLWJsYWNrO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgfVxyXG5cclxuICAgIC5maWxtLWdyaWRfX3ZvdGUge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IC04cHg7XHJcbiAgICB9XHJcbn0iLCIuZmlsbS1ncmlkIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG5cclxuICAgIC53eXNpd3lnICsgJiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgIH1cclxuXHJcbiAgICAucGxhbm5lciAmLFxyXG4gICAgLnBhZ2luYXRpb24taGlkZGVuICYge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJi0tcGxhbm5lci1sYXlvdXQge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICAmLmZpbG0tZ3JpZC0tc2NoZWR1bGUtbGF5b3V0LFxyXG4gICAgJi5maWxtLWdyaWQtLWRlZmF1bHQtbGF5b3V0IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG59XHJcbi5maWxtLWdyaWRfX2hlYWRpbmcge1xyXG4gICAgY29sb3I6IHRoZW1pZnkodGV4dCk7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbn1cclxuLmZpbG0tZ3JpZF9fZmlsbXMge1xyXG4gICAgbG9zdC1mbGV4LWNvbnRhaW5lcjogcm93O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC5wbGFubmVyICYge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0aGVtaWZ5KGRpdmlkZXIpO1xyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5maWxtLWdyaWRfX2ZpbG0ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHJcbiAgICAvLyBub24gc2NoZWR1bGUgZ3JpZCAoYXJjaGl2ZSlcclxuICAgIC5maWxtLWdyaWQtLWRlZmF1bHQtbGF5b3V0ICYge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8dGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgICAgICAgICAgbG9zdC1jb2x1bW46IDEvMiAyIDMwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgICAgICAgICBsb3N0LWNvbHVtbjogMS8zIDMgMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gcGxhbm5lclxyXG4gICAgLmZpbG0tZ3JpZC0tcGxhbm5lci1sYXlvdXQgJiB7XHJcbiAgICAgICAgbG9zdC1jb2x1bW46IDEvMiAyIDE1cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBzY2hlZHVsZSBncmlkXHJcbiAgICAuZmlsbS1ncmlkLS1zY2hlZHVsZS1sYXlvdXQgJiB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8ODUwcHgnKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ODUwcHgnLCAnPDExMDBweCcpIHtcclxuICAgICAgICAgICAgbG9zdC1jb2x1bW46IDEvMiAyIDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj0xMTAwcHgnLCAnPDE0MDBweCcpIHtcclxuICAgICAgICAgICAgbG9zdC1jb2x1bW46IDEvMyAzIDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj0xNDAwcHgnKSB7XHJcbiAgICAgICAgICAgIGxvc3QtY29sdW1uOiAxLzQgNCAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmZpbG0tZ3JpZF9fbGluayB7XHJcbiAgICBAaW5jbHVkZSB1LWxpbmstaG92ZXIodGhlbWlmeSh0ZXh0KSwgdGhlbWlmeSgncHJpbWFyeScpKTtcclxuXHJcbiAgICAuaWUxMSAmIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAuZmZhICYge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xyXG4gICAgICAgIGNvbG9yOiAjODc3RkJDICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgdS1saW5rLWhvdmVyKHRoZW1pZnkodGV4dCksICNCOUQ0MzIpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZmlsbS1ncmlkX190aHVtYiB7XHJcbiAgICBAZXh0ZW5kIC5sLW1vYmlsZS1mdWxsLXdpZHRoO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogMCAwIDU2JTtcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2xvYWRpbmcuZ2lmKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogNTBweCA1MHB4O1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeSgnaW1nLWxvYWRpbmctYmcnKTtcclxuXHJcbiAgICAucGxhbm5lciAmIHtcclxuICAgICAgICAvLyBvdmVycmlkZXMgLmwtbW9iaWxlLWZ1bGwtd2lkdGg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkdGhlbWUgPT0gY2hmIHtcclxuICAgICAgICBAZXh0ZW5kICV0aGVtZS1maWxtLWNvbG91cmVkLWRyb3Atc2hhZG93O1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgQGluY2x1ZGUgdS1icmlnaHQtaG92ZXI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBvYmplY3QtZml0OiBub25lO1xyXG5cclxuICAgICAgICAmLmItbG9hZGVkIHtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5maWxtLWdyaWRfX2luZm8ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1hcmdpbi10b3A6IDE4cHg7XHJcblxyXG4gICAgLnBsYW5uZXIgJiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIH1cclxuICAgIC8vIGZvciBlbGxpcHNpc1xyXG4gICAgPiBhIHtcclxuICAgICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgPiBzcGFuIHtcclxuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5mZmEgJiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnkpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuLmZpbG0tZ3JpZF9fdGl0bGUge1xyXG4gICAgQGV4dGVuZCAldS10cnVuY2F0ZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgIEBpbmNsdWRlIHUtbGluay1ob3Zlcih0aGVtaWZ5KHRleHQpLCB0aGVtaWZ5KCdwcmltYXJ5JykpO1xyXG4gICAgQGV4dGVuZCAuaDM7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcblxyXG4gICAgLnBsYW5uZXIgJiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5mZmEgJiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGNvbG9yOiAjZTQ0MTM2ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgb3ZlcmZsb3c6IG5vbmU7XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogdW5zZXQ7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdS1saW5rLWhvdmVyKHRoZW1pZnkodGV4dCksICNlZjhkODYpO1xyXG4gICAgfVxyXG59XHJcbi5maWxtLWdyaWRfX2Rlc2Mge1xyXG4gICAgQGV4dGVuZCAldS10cnVuY2F0ZTtcclxuXHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBjb2xvcjogbGlnaHRlbih0aGVtaWZ5KHRleHQpLDMwJSk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcbi5maWxtLWdyaWRfX3llYXIge1xyXG4gICAgb3JkZXI6IC0xO1xyXG5cclxuICAgIEBleHRlbmQgLmg2O1xyXG4gICAgY29sb3I6IHRoZW1pZnkoZmlsbS1ncmlkLXllYXIpO1xyXG5cclxuICAgIEBpZiAkdGhlbWUgPT0gZmZhIHtcclxuICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgICAgICBvcmRlcjogdW5zZXQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XHJcbiAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzAwMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkdGhlbWUgPT0gY2hmIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG59XHJcbi5maWxtLWdyaWRfX2NvdW50cmllcyB7XHJcbiAgICBAZXh0ZW5kIC5oNjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAvLyB0byBiZSByZW1vdmVkIGlmIGNvdW50cmllcyBsaW5rIHRvIHNjaGVkdWxlIGZpbG0gbGlzdCArIGNvdW50cnkgZmlsdGVyXHJcbiAgICBzcGFuIHtcclxuICAgICAgICBjb2xvcjogdGhlbWlmeShwcmltYXJ5KTtcclxuXHJcbiAgICAgICAgLmZmYSAmIHtcclxuICAgICAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wbGFubmVyICYge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmZmYSAmIHtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG59XHJcbi5maWxtLWdyaWRfX3ZvdGUge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uLWJhc2UoJHRleHQ6IHRoZW1pZnkocHJpbWFyeSksICR0ZXh0LW9uOiB0aGVtaWZ5KHByaW1hcnkpLCAkYmc6IHdoaXRlLCAkYmctb246IHJnYmEoMjQyLDEwMiw3MywuMzUpKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRoZW1pZnkocHJpbWFyeSk7XHJcbiAgICBwYWRkaW5nOiAwIDVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgICBAaWYgJHRoZW1lID09IGVlZiB7XHJcbiAgICAgICAgQGV4dGVuZCAlamVhbmx1Y3dlYjtcclxuICAgIH0gICBcclxuXHJcbiAgICBAaWYgJHRoZW1lID09IGppZiB7XHJcbiAgICAgICAgQGV4dGVuZCAlcG9sYXJpcy1ib2xkO1xyXG4gICAgfVxyXG4gICAgICAgIFxyXG4gICAgQGlmICR0aGVtZSA9PSBmZmEge1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgICAgIFxyXG4gICAgQGlmICR0aGVtZSA9PSBjaGYge1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgICYuaGFzLXZvdGVkLFxyXG4gICAgJi5pcy1zZWxlY3RlZCxcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmYWNhYmY7XHJcbiAgICB9XHJcblxyXG4gICAgJi5pcy1zZWxlY3RlZCB7XHJcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIC5idG5fX3NwaW5uZXI6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRoZW1pZnkocHJpbWFyeSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIHVzZWQgb24gY2hpZmYsIHJlcXVpcmVzIC50aGVtZS1tb2Qte3tyYW5kb20gMSA1fX1cclxuJXRoZW1lLWZpbG0tY29sb3VyZWQtZHJvcC1zaGFkb3cge1xyXG5cclxuICAgICRib3JkZXItY29sb3JzOigjMTg0YjQ3LCAjNGM4YzZjLCAjZmZlMjQ4LCAjYTc1YjJkLCAjYTM5MjZmKTtcclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRib3JkZXItY29sb3JzKSB7XHJcbiAgICAgICAgJi50aGVtZS1tb2QtI3skaX06aG92ZXI6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBudGgoJGJvcmRlci1jb2xvcnMsICRpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0YzhjNmM7XHJcbiAgICAgICAgbGVmdDogLThweDtcclxuICAgICAgICB0b3A6IDhweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogMC4wOHMgYmFja2dyb3VuZC1jb2xvciBsaW5lYXI7XHJcblxyXG4gICAgICAgIC5wbGFubmVyICYge1xyXG4gICAgICAgICAgICBsZWZ0OiAtNHB4O1xyXG4gICAgICAgICAgICB0b3A6IDRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIkZm9vdGVyLWJnOiB0aGVtaWZ5KGZvb3Rlci1iZyk7XHJcbiRmb290ZXItdGV4dDogdGhlbWlmeShmb290ZXItdGV4dCk7XHJcbi8vICRmb290ZXItaG92ZXI6IHRoZW1pZnkocHJpbWFyeSk7XHJcbiRmb290ZXItaG92ZXI6IHRoZW1pZnkoZm9vdGVyLWhvdmVyKTtcclxuXHJcbi5mb290ZXIge1xyXG4gICAgcGFkZGluZzogMzJweCAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItYmc7XHJcbiAgICBjb2xvcjogJGZvb3Rlci10ZXh0O1xyXG5cclxuICAgIGEge1xyXG4gICAgICAgIEBpbmNsdWRlIHUtbGluay1ob3ZlcigkZm9vdGVyLXRleHQsICRmb290ZXItaG92ZXIpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAubC1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uZm9vdGVyX19zb2NpYWwge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAzMHB4IDA7XHJcblxyXG4gICAgZm9udC1zaXplOiAyMnB4O1xyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICAgIG1hcmdpbjogMCAxNnB4O1xyXG5cclxuICAgICAgICAmLmljb24tc29jaWFsLXR3aXR0ZXIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5mb290ZXJfX2xpbmtzIHtcclxuXHJcbiAgICBAaWYgJHRoZW1lID09IGVlZiB7XHJcbiAgICAgICAgQGV4dGVuZCAlamVhbmx1Y3dlYjtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgQGlmICR0aGVtZSA9PSBqaWYge1xyXG4gICAgICAgIEBleHRlbmQgJXBvbGFyaXMtYm9sZDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIH1cclxuICAgICAgICBcclxuICAgIEBpZiAkdGhlbWUgPT0gZmZhIHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIH1cclxuICAgICAgICBcclxuICAgIEBpZiAkdGhlbWUgPT0gY2hmIHtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgICAgICBsb3N0LWZsZXgtY29udGFpbmVyOiByb3c7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgbG9zdC1jb2x1bW46IDEvMjtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uZm9vdGVyX19jb3B5cmlnaHQge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjc7XHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49NjYwcHgnKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHUtdmVydGljYWwtY2VudGVyKCk7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGlmICR0aGVtZSA9PSBjaGYge1xyXG4gICAgLmZvb3Rlcl9fYm95cyxcclxuICAgIC5mb290ZXJfX3doZWVsY2hhaXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPDg0NXB4Jykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNjaGVkdWxlLXBhZ2UgJiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvb3Rlcl9fYm95cyB7XHJcbiAgICAgICAgbGVmdDogMDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ODQ1cHgnLCAnPDExMDBweCcpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEzNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mb290ZXJfX3doZWVsY2hhaXIge1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj04NDVweCcsICc8MTEwMHB4Jykge1xyXG4gICAgICAgICAgICB3aWR0aDogMTg1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvb3Rlcl9fbHVuYSB7XHJcbiAgICAgICAgQGluY2x1ZGUgdS1ob3Jpem9udGFsLWNlbnRlcigkcG9zOnJlbGF0aXZlKTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAvL3RyYW5zZm9ybTogdHJhbnNsYXRlWCgxN3B4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50b3Atc3BvbnNvcixcclxuICAgICAgICAuYm90dG9tLXNwb25zb3Ige1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50b3Atc3BvbnNvciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYm90dG9tLXNwb25zb3Ige1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICB3aWR0aDogNjAlO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw5MDBweCcpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZm9vdGVyX19jaGYtaWxsdXN0cmF0aW9ucyB7XHJcbiAgICAgICAgLy9AaW5jbHVkZSB1LWNlbnRlcigkdG9wOjQwJSk7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgXHJcbiAgICAgICAgei1pbmRleDogOTk5O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAydnc7XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgdS1ob3Jpem9udGFsLWNlbnRlcigpO1xyXG4gICAgICAgIGJvdHRvbTotNDBweDtcclxuICAgIFxyXG4gICAgICAgIC5zZWFyY2gtYWN0aXZlICYge1xyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw3NTBweCcpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAvLyBAaW5jbHVkZSBtZWRpYSgnPj03NTBweCcsICc8MTMwMHB4Jykge1xyXG4gICAgICAgIC8vICAgICAvL3RvcDogMTIwcHg7XHJcbiAgICAgICAgLy8gICAgIG1heC13aWR0aDogMTAwMHB4O1xyXG4gICAgICAgIC8vIH1cclxuICAgIFxyXG4gICAgICAgIC8vIEBpbmNsdWRlIG1lZGlhKCc+PTEzMDBweCcpIHtcclxuICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiAxMzYwcHg7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgXHJcbiAgICAgICAgPiBpbWcge1xyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMnB4KTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8MTM3NXB4Jykge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPDkwMHB4Jykge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTMwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzwxMzc1cHgnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8OTAwcHgnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxNjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbmh0dHBzOi8vam9uc3VoLmNvbS9oYW1idXJnZXJzL1xyXG5pZiBjaGFuZ2luZyBAZXh0ZW5kIG1vZGlmaWVyIHVwZGF0ZSAnLi4vdmVuZG9yL2hhbWJ1cmdlcnMvaGFtYnVyZ2Vycyc7XHJcbmF2YWlsYWJsZSBvdmVycmlkZXM6XHJcbiRoYW1idXJnZXItbGF5ZXItd2lkdGggICAgICAgICAgICAgICAgICAgICA6IDQwcHggIWRlZmF1bHQ7XHJcbiRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICAgICAgICAgICAgICAgICAgICA6IDRweCAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICAgICAgICAgICAgICAgICAgIDogNnB4ICFkZWZhdWx0O1xyXG4kaGFtYnVyZ2VyLWxheWVyLWNvbG9yICAgICAgICAgICAgICAgICAgICAgOiAjMDAwICFkZWZhdWx0O1xyXG4kaGFtYnVyZ2VyLWxheWVyLWJvcmRlci1yYWRpdXMgICAgICAgICAgICAgOiA0cHggIWRlZmF1bHQ7XHJcbiRoYW1idXJnZXItaG92ZXItb3BhY2l0eSAgICAgICAgICAgICAgICAgICA6IDAuNyAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1ob3Zlci10cmFuc2l0aW9uLWR1cmF0aW9uICAgICAgIDogMC4xNXMgIWRlZmF1bHQ7XHJcbiRoYW1idXJnZXItaG92ZXItdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhZGVmYXVsdDtcclxuKi9cclxuJGhhbWJ1cmdlci1sYXllci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiRoYW1idXJnZXItaG92ZXItb3BhY2l0eTogMC43NTtcclxuJGhhbWJ1cmdlci1sYXllci13aWR0aDogMjhweDtcclxuJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ6IDNweDtcclxuJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nOiA0cHg7XHJcbiRoYW1idXJnZXItbGF5ZXItYm9yZGVyLXJhZGl1czogMnB4O1xyXG5cclxuQGltcG9ydCAnLi4vdmVuZG9yL2hhbWJ1cmdlcnMvaGFtYnVyZ2Vycyc7XHJcblxyXG4uaGFtYnVyZ2VyIHtcclxuICAgIEBleHRlbmQgLmhhbWJ1cmdlci0tc2xpZGVyO1xyXG4gICAgQGluY2x1ZGUgdS1leHRlbmQtaGl0Ym94KCk7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsaW5lLWhlaWdodDogMDtcclxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuLyohXHJcbiAqIEhhbWJ1cmdlcnNcclxuICogQGRlc2NyaXB0aW9uIFRhc3R5IENTUy1hbmltYXRlZCBoYW1idXJnZXJzXHJcbiAqIEBhdXRob3IgSm9uYXRoYW4gU3VoIEBqb25zdWhcclxuICogQHNpdGUgaHR0cHM6Ly9qb25zdWguY29tL2hhbWJ1cmdlcnNcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2pvbnN1aC9oYW1idXJnZXJzXHJcbiAqL1xyXG5cclxuLy8gU2V0dGluZ3NcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuJGhhbWJ1cmdlci1wYWRkaW5nLXggICAgICAgICAgICAgICAgICAgICAgIDogMTVweCAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1wYWRkaW5nLXkgICAgICAgICAgICAgICAgICAgICAgIDogMTVweCAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1sYXllci13aWR0aCAgICAgICAgICAgICAgICAgICAgIDogNDBweCAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgICAgICAgICAgICAgICAgICAgIDogNHB4ICFkZWZhdWx0O1xyXG4kaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgICAgICAgICAgICAgICAgICAgOiA2cHggIWRlZmF1bHQ7XHJcbiRoYW1idXJnZXItbGF5ZXItY29sb3IgICAgICAgICAgICAgICAgICAgICA6ICMwMDAgIWRlZmF1bHQ7XHJcbiRoYW1idXJnZXItbGF5ZXItYm9yZGVyLXJhZGl1cyAgICAgICAgICAgICA6IDRweCAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5ICAgICAgICAgICAgICAgICAgIDogMC43ICFkZWZhdWx0O1xyXG4kaGFtYnVyZ2VyLWhvdmVyLXRyYW5zaXRpb24tZHVyYXRpb24gICAgICAgOiAwLjE1cyAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1ob3Zlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFkZWZhdWx0O1xyXG5cclxuLy8gVG8gdXNlIENTUyBmaWx0ZXJzIGFzIHRoZSBob3ZlciBlZmZlY3QgaW5zdGVhZCBvZiBvcGFjaXR5LFxyXG4vLyBzZXQgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyIGFzIHRydWUgYW5kXHJcbi8vIGNoYW5nZSB0aGUgdmFsdWUgb2YgJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXIgYWNjb3JkaW5nbHkuXHJcbiRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRoYW1idXJnZXItaG92ZXItZmlsdGVyICAgIDogb3BhY2l0eSg1MCUpICFkZWZhdWx0O1xyXG5cclxuLy8gVHlwZXMgKFJlbW92ZSBvciBjb21tZW50IG91dCB3aGF0IHlvdSBkb27igJl0IG5lZWQpXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiRoYW1idXJnZXItdHlwZXM6IChcclxuICBzbGlkZXIsXHJcbiAgLypcclxuICAzZHgsXHJcbiAgM2R4LXIsXHJcbiAgM2R5LFxyXG4gIDNkeS1yLFxyXG4gIDNkeHksXHJcbiAgM2R4eS1yLFxyXG4gIGFycm93LFxyXG4gIGFycm93LXIsXHJcbiAgYXJyb3dhbHQsXHJcbiAgYXJyb3dhbHQtcixcclxuICBhcnJvd3R1cm4sXHJcbiAgYXJyb3d0dXJuLXIsXHJcbiAgYm9yaW5nLFxyXG4gIGNvbGxhcHNlLFxyXG4gIGNvbGxhcHNlLXIsXHJcbiAgZWxhc3RpYyxcclxuICBlbGFzdGljLXIsXHJcbiAgZW1waGF0aWMsXHJcbiAgZW1waGF0aWMtcixcclxuICBtaW51cyxcclxuICBzbGlkZXIsXHJcbiAgc2xpZGVyLXIsXHJcbiAgc3BpbixcclxuICBzcGluLXIsXHJcbiAgc3ByaW5nLFxyXG4gIHNwcmluZy1yLFxyXG4gIHN0YW5kLFxyXG4gIHN0YW5kLXIsXHJcbiAgdm9ydGV4LFxyXG4gIHZvcnRleC1yXHJcbiAgKi9cclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIEJhc2UgSGFtYnVyZ2VyIChXZSBuZWVkIHRoaXMpXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkBpbXBvcnQgXCJiYXNlXCI7XHJcblxyXG4vLyBIYW1idXJnZXIgdHlwZXNcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLypAaW1wb3J0IFwidHlwZXMvM2R4XCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy8zZHgtclwiO1xyXG5AaW1wb3J0IFwidHlwZXMvM2R5XCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy8zZHktclwiO1xyXG5AaW1wb3J0IFwidHlwZXMvM2R4eVwiO1xyXG5AaW1wb3J0IFwidHlwZXMvM2R4eS1yXCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd1wiO1xyXG5AaW1wb3J0IFwidHlwZXMvYXJyb3ctclwiO1xyXG5AaW1wb3J0IFwidHlwZXMvYXJyb3dhbHRcIjtcclxuQGltcG9ydCBcInR5cGVzL2Fycm93YWx0LXJcIjtcclxuQGltcG9ydCBcInR5cGVzL2Fycm93dHVyblwiO1xyXG5AaW1wb3J0IFwidHlwZXMvYXJyb3d0dXJuLXJcIjtcclxuQGltcG9ydCBcInR5cGVzL2JvcmluZ1wiO1xyXG5AaW1wb3J0IFwidHlwZXMvY29sbGFwc2VcIjtcclxuQGltcG9ydCBcInR5cGVzL2NvbGxhcHNlLXJcIjtcclxuQGltcG9ydCBcInR5cGVzL2VsYXN0aWNcIjtcclxuQGltcG9ydCBcInR5cGVzL2VsYXN0aWMtclwiO1xyXG5AaW1wb3J0IFwidHlwZXMvZW1waGF0aWNcIjtcclxuQGltcG9ydCBcInR5cGVzL2VtcGhhdGljLXJcIjtcclxuQGltcG9ydCBcInR5cGVzL21pbnVzXCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy9zbGlkZXItclwiO1xyXG5AaW1wb3J0IFwidHlwZXMvc3BpblwiO1xyXG5AaW1wb3J0IFwidHlwZXMvc3Bpbi1yXCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy9zcHJpbmdcIjtcclxuQGltcG9ydCBcInR5cGVzL3NwcmluZy1yXCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy9zdGFuZFwiO1xyXG5AaW1wb3J0IFwidHlwZXMvc3RhbmQtclwiO1xyXG5AaW1wb3J0IFwidHlwZXMvdm9ydGV4XCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy92b3J0ZXgtclwiO1xyXG4qL1xyXG5cclxuQGltcG9ydCBcInR5cGVzL3NsaWRlclwiO1xyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gQ29va2luZyB1cCBhZGRpdGlvbmFsIHR5cGVzOlxyXG4vL1xyXG4vLyBUaGUgU2FzcyBmb3IgZWFjaCBoYW1idXJnZXIgdHlwZSBzaG91bGQgYmUgbmVzdGVkXHJcbi8vIGluc2lkZSBhbiBAaWYgZGlyZWN0aXZlIHRvIGNoZWNrIHdoZXRoZXIgb3Igbm90XHJcbi8vIGl0IGV4aXN0cyBpbiAkaGFtYnVyZ2VyLXR5cGVzIHNvIG9ubHkgdGhlIENTUyBmb3JcclxuLy8gaW5jbHVkZWQgdHlwZXMgYXJlIGdlbmVyYXRlZC5cclxuLy9cclxuLy8gZS5nLiBoYW1idXJnZXJzL3R5cGVzL19uZXctdHlwZS5zY3NzXHJcbi8vXHJcbi8vIEBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBuZXctdHlwZSkge1xyXG4vLyAgIC5oYW1idXJnZXItLW5ldy10eXBlIHtcclxuLy8gICAgIC4uLlxyXG4vLyAgIH1cclxuLy8gfVxyXG4iLCIvLyBIYW1idXJnZXJcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLmhhbWJ1cmdlciB7XHJcbiAgLy9wYWRkaW5nOiAkaGFtYnVyZ2VyLXBhZGRpbmcteSAkaGFtYnVyZ2VyLXBhZGRpbmcteDtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCBiYWNrZ3JvdW5kLWNvbG9yLCBmaWx0ZXI7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGhhbWJ1cmdlci1ob3Zlci10cmFuc2l0aW9uLWR1cmF0aW9uO1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkaGFtYnVyZ2VyLWhvdmVyLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uO1xyXG5cclxuICAvLyBOb3JtYWxpemUgKDxidXR0b24+KVxyXG4gIGZvbnQ6IGluaGVyaXQ7XHJcbiAgY29sb3I6IGluaGVyaXQ7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxuXHJcbiAgLm5vLXRvdWNoICY6aG92ZXIge1xyXG4gICAgQGlmICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciA9PSB0cnVlIHtcclxuICAgICAgZmlsdGVyOiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5oYW1idXJnZXItYm94IHtcclxuICB3aWR0aDogJGhhbWJ1cmdlci1sYXllci13aWR0aDtcclxuICBoZWlnaHQ6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMyArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDI7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmhhbWJ1cmdlci1pbm5lciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAtMjtcclxuXHJcbiAgJixcclxuICAmOjpiZWZvcmUsXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgd2lkdGg6ICRoYW1idXJnZXItbGF5ZXItd2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbWJ1cmdlci1sYXllci1jb2xvcjtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRoYW1idXJnZXItbGF5ZXItYm9yZGVyLXJhZGl1cztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xyXG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XHJcbiAgfVxyXG5cclxuICAmOjpiZWZvcmUsXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSAqIC0xO1xyXG4gIH1cclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgYm90dG9tOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTE7XHJcbiAgfVxyXG59XHJcbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzbGlkZXIpIHtcclxuICAvKlxyXG4gICAqIFNsaWRlclxyXG4gICAqL1xyXG4gIC5oYW1idXJnZXItLXNsaWRlciB7XHJcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcclxuICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAvIDI7XHJcblxyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmc7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsO1xyXG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xyXG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XHJcbiAgICAgICAgJHktb2Zmc2V0OiAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcclxuXHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQsIDApIHJvdGF0ZSg0NWRlZyk7XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggLyAtNywgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogLTEsIDApO1xyXG4gICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0ICogLTIsIDApIHJvdGF0ZSgtOTBkZWcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIubmF2LXN0aWNreSB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB6LWluZGV4OiAxMDEwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KG5hdi1zdGlja3ktYmcpO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRoZW1pZnkobmF2LXN0aWNreS1ib3JkZXItYmcpO1xyXG5cclxuICAgIC5sLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50aXBweS10b29sdGlwIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uYXYtc3RpY2t5X19zZWFyY2gge1xyXG4gICAgei1pbmRleDogOTk5O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBmbGV4LWJhc2lzOiAzNzBweDtcclxuICAgICAgICBmbGV4LXNocmluazogMTtcclxuICAgIH1cclxufVxyXG4ubmF2LXN0aWNreV9fc2VhcmNoLW9wZW4ge1xyXG4gICAgQGluY2x1ZGUgdS12ZXJ0aWNhbC1jZW50ZXIoKTtcclxuICAgIEBpbmNsdWRlIHUtZXh0ZW5kLWhpdGJveCgpO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIGxlZnQ6IDhweDtcclxuICAgIGZvbnQtc2l6ZTogMTlweDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgY29sb3I6IHRoZW1pZnkobmF2LXN0aWNreS1zZWFyY2gtb3Blbik7XHJcblxyXG4gICAgLnNlYXJjaC1hY3RpdmUgJiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBcclxuICAgICAgICAvLyBjdXQtb2ZmIGZpeFxyXG4gICAgICAgIC5pb3MgJiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxufVxyXG5cclxuLm5hdi1zdGlja3lfX3NlYXJjaC1jbG9zZSB7XHJcbiAgICBAaW5jbHVkZSB1LXZlcnRpY2FsLWNlbnRlcigkdG9wOjUwJSk7XHJcbiAgICBAaW5jbHVkZSB1LWxpbmstaG92ZXIodGhlbWlmeShuYXYtc3RpY2t5LXNlYXJjaC1jbG9zZSksIHRoZW1pZnkobmF2LXN0aWNreS1zZWFyY2gtY2xvc2Utb24pKTtcclxuICAgIEBpbmNsdWRlIHUtZXh0ZW5kLWhpdGJveCgpO1xyXG4gICAgei1pbmRleDogMTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgbGVmdDogMnB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICBsZWZ0OiA4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIC5zZWFyY2gtYWN0aXZlICYge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubmF2LXN0aWNreV9fc2VhcmNoLWZpZWxkIHtcclxuICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxufVxyXG5cclxuLm5hdi1zdGlja3lfX3NlYXJjaC1pbnB1dCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG5cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICBwYWRkaW5nOiAxMnB4IDM1cHggMTJweCAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDM1cHggMCAzMnB4O1xyXG4gICAgfVxyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkoc2VhcmNoLWJnLW9mZik7XHJcbiAgICBjb2xvcjogdGhlbWlmeShzZWFyY2gtdGV4dC1vZmYpO1xyXG5cclxuICAgIC5zZWFyY2gtYWN0aXZlICYge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkoc2VhcmNoLWJnLWFjdGl2ZSkgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogdGhlbWlmeShzZWFyY2gtdGV4dC1hY3RpdmUpO1xyXG5cclxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBibGFjaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC5uby10b3VjaCAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHNlYXJjaC1iZy1ob3Zlcik7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgIGNvbG9yOiB0aGVtaWZ5KHNlYXJjaC1wbGFjZWhvbGRlcik7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uYXYtc3RpY2t5X19zZWFyY2gtc3Bpbm5lciB7XHJcbiAgICBAaW5jbHVkZSBzcGlubmVyKDIxcHgsIDNweCwgcmdiYSh0aGVtaWZ5KCdwcmltYXJ5JyksIDAuMiksIHJnYmEodGhlbWlmeSgncHJpbWFyeScpLCAwLjgpLCB0cnVlKTtcclxuICAgIEBpbmNsdWRlIHUtdmVydGljYWwtY2VudGVyKCk7XHJcbiAgICBcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICByaWdodDogMjBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICByaWdodDogOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAuaXMtbG9hZGluZyB7IFxyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubmF2LXN0aWNreV9fZGF0ZXMge1xyXG4gICAgY29sb3I6IHRoZW1pZnkobmF2LXN0aWNreS1kYXRlcyk7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgcGFkZGluZy1yaWdodDogMTRweDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoJzw1MDBweCcpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHR9XHJcblxyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRAaW5jbHVkZSB1LXZlcnRpY2FsLWNlbnRlcigkdG9wOjQ4JSk7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdGhlaWdodDogMTZweDtcclxuXHRcdHdpZHRoOiAxcHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KG5hdi1zdGlja3ktZGF0ZS1zZXBhcmF0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkdGhlbWUgPT0gZWVmIHtcclxuICAgICAgICBcclxuICAgIH1cclxuICAgIFxyXG4gICAgQGlmICR0aGVtZSA9PSBqaWYge1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgICAgIFxyXG4gICAgQGlmICR0aGVtZSA9PSBmZmEge1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcbiAgICAgICAgXHJcbiAgICBAaWYgJHRoZW1lID09IGNoZiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubmF2LXN0aWNreV9fbG9jYXRpb24ge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8NTAwcHgnKSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdCB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1pZnkobmF2LXN0aWNreS1sb2NhdGlvbnMpO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLjdlbSB0b3AgNDclLCAwIDA7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAuN2VtO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc2VsZWN0LWFycm93LSN7JHRoZW1lfS5zdmcpOyAvLyB1cGRhdGVcclxuICAgICAgICBAaWYgJHRoZW1lID09IGNoZiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc2VsZWN0LWFycm93LSN7JHRoZW1lfS0tbmV3LnN2Zyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE0cHggOHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuXHJcbiAgICAgICAgb3B0aW9uIHtcclxuICAgICAgICAgICAgY29sb3I6ICM1NTU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDExMHB4O1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDVlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGlmICR0aGVtZSA9PSBmZmEge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGlmICR0aGVtZSA9PSBjaGYge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubmF2LXN0aWNreV9fcGxhbm5lciB7XHJcbiAgICBAaW5jbHVkZSB1LWV4dGVuZC1oaXRib3goKTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMDhzIGxpbmVhcjtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxuXHJcbiAgICBjb2xvcjogdGhlbWlmeShuYXYtc3RpY2t5LXBsYW5uZXItYnRuLXRleHQpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShuYXYtc3RpY2t5LXBsYW5uZXItYnRuLWJnKTtcclxuXHJcbiAgICAucGxhbm5lci1hY3RpdmUgJixcclxuICAgICYuaXMtc2VsZWN0ZWQsXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1pZnkobmF2LXN0aWNreS1wbGFubmVyLWJ0bi10ZXh0LW9uKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KG5hdi1zdGlja3ktcGxhbm5lci1idG4tYmctb24pO1xyXG5cclxuICAgICAgICAmIC5uYXYtc3RpY2t5X19wbGFubmVyLWljb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWlmeShuYXYtc3RpY2t5LXBsYW5uZXItYnRuLWljb24tb24pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAuY2hmICYge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG59XHJcbi5uYXYtc3RpY2t5X19wbGFubmVyLW5vdGlmaWNhdGlvbiB7XHJcbiAgICAvLyB0aXBweSByZW5kZXJpbmcgc3RyYW5nZSB3aGVuIGRpc3BsYXk6bm9uZVxyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcbi5uYXYtc3RpY2t5X19wbGFubmVyLWNvbnRlbnQge1xyXG4gICAgcGFkZGluZzogMCAycHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgXHJcbiAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcclxuICAgIH1cclxufVxyXG5cclxuLm5hdi1zdGlja3lfX3BsYW5uZXItbGFiZWwge1xyXG5cdG1hcmdpbi1yaWdodDogOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBlZWYge1xyXG4gICAgICAgIEBleHRlbmQgJWplYW5sdWN3ZWI7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBpZiAkdGhlbWUgPT0gamlmIHtcclxuICAgICAgICBAZXh0ZW5kICVwb2xhcmlzLWJvbGQ7XHJcbiAgICB9XHJcbiAgICAgICAgXHJcbiAgICBAaWYgJHRoZW1lID09IGZmYSB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAgICAgXHJcbiAgICBAaWYgJHRoZW1lID09IGNoZiB7XHJcbiAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB9XHJcbn1cclxuLm5hdi1zdGlja3lfX3BsYW5uZXItaWNvbiB7XHJcbiAgICBjb2xvcjogdGhlbWlmeShuYXYtc3RpY2t5LXBsYW5uZXItYnRuLWljb24pO1xyXG4gICAgQGV4dGVuZCAuaWNvbjtcclxuICAgIEBleHRlbmQgLmljb24tY2FsZW5kYXI7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcblxyXG5cdC5mZmEgJiB7XHJcblx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0fVxyXG59IiwiLm5hdi1zdGF0aWMge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkobmF2LXN0YXRpYy1iZyk7XHJcblx0XHJcblx0LnNlYXJjaC1hY3RpdmUtLXN0YXRpYyAmIHtcclxuXHRcdHotaW5kZXg6IDEwMDA7XHJcblx0fVxyXG5cclxuXHQvLyBjaGlmZiBkaXNwbGF5cyBuYXYgdW5kZXIgbG9nb1xyXG5cdEBpZiAkdGhlbWUgIT0gY2hmIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcblx0XHRtYXJnaW4tdG9wOiA0OXB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG5cdFx0bWFyZ2luLXRvcDogNjFweDtcclxuXHR9XHJcblxyXG5cdEBpZiAkdGhlbWUgPT0gZWVmIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG5cdFx0XHRoZWlnaHQ6IDEyMHB4O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzx0YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0XHRoZWlnaHQ6IDEyMHB4O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0LWxhbmRzY2FwZScpIHtcclxuXHRcdFx0aGVpZ2h0OiAxODZweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEBpZiAkdGhlbWUgPT0gamlmIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG5cdFx0XHRoZWlnaHQ6IDEyMHB4O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzx0YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0XHRoZWlnaHQ6IDEyMHB4O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0LWxhbmRzY2FwZScpIHtcclxuXHRcdFx0aGVpZ2h0OiAxODZweDtcclxuXHRcdH1cclxuXHR9XHJcblx0XHRcclxuXHRAaWYgJHRoZW1lID09IGZmYSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuXHRcdFx0aGVpZ2h0OiAxMTBweDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8dGFibGV0LWxhbmRzY2FwZScpIHtcclxuXHRcdFx0aGVpZ2h0OiAxMTBweDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldC1sYW5kc2NhcGUnKSB7XHJcblx0XHRcdGhlaWdodDogMTkwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdFx0XHJcblx0QGlmICR0aGVtZSA9PSBjaGYge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcblx0XHRcdGhlaWdodDogMTEwcHg7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPHRhYmxldC1sYW5kc2NhcGUnKSB7XHJcblx0XHRcdGhlaWdodDogMTg1cHg7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0XHRoZWlnaHQ6IDIzMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4ubmF2LXN0YXRpY19fbmF2IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxuXHRhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcblxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0QGlmICR0aGVtZSA9PSBlZWYge1xyXG5cdFx0bWF4LXdpZHRoOiAxMTYwcHg7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0fVxyXG5cclxuXHRAaWYgJHRoZW1lID09IGppZiB7XHJcblx0XHRtYXgtd2lkdGg6IDExNjBweDtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHR9XHJcblxyXG5cdEBpZiAkdGhlbWUgPT0gZmZhIHtcclxuXHRcdG1heC13aWR0aDogMTAwMHB4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdH1cclxuXHJcblx0QGlmICR0aGVtZSA9PSBjaGYge1xyXG5cdFx0bWF4LXdpZHRoOiA3MDBweDtcclxuXHR9XHJcblxyXG5cdCYtLWxlZnQge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcblx0XHRcdEBpZiAkdGhlbWUgPT0gZWVmIHtcclxuXHRcdFx0XHR3aWR0aDogY2FsYyg1MCUgLSA2NXB4KTsgLy8gaGFsZiBwYXJlbnQgbGVzcyBoYWxmIGxvZ29cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGlmICR0aGVtZSA9PSBqaWYge1xyXG5cdFx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtIDY1cHgpOyAvLyBoYWxmIHBhcmVudCBsZXNzIGhhbGYgbG9nb1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzx0YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0XHQvLyBsb2dvIHdpZHRoID0gMTEwcHhcclxuXHRcdFx0QGlmICR0aGVtZSA9PSBlZWYge1xyXG5cdFx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtIDU1cHgpOyAvLyBoYWxmIHBhcmVudCBsZXNzIGhhbGYgbG9nb1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaWYgJHRoZW1lID09IGppZiB7XHJcblx0XHRcdFx0d2lkdGg6IGNhbGMoNTAlIC0gNTVweCk7IC8vIGhhbGYgcGFyZW50IGxlc3MgaGFsZiBsb2dvXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0XHQvLyBsb2dvIHdpZHRoID0gMTg0cHhcclxuXHRcdFx0QGlmICR0aGVtZSA9PSBlZWYge1xyXG5cdFx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtIDkycHgpOyAvLyBoYWxmIHBhcmVudCBsZXNzIGhhbGYgbG9nb1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaWYgJHRoZW1lID09IGppZiB7XHJcblx0XHRcdFx0d2lkdGg6IGNhbGMoNTAlIC0gOTJweCk7IC8vIGhhbGYgcGFyZW50IGxlc3MgaGFsZiBsb2dvXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdH1cclxuXHJcblx0Ji0tcmlnaHQge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcblx0XHRcdEBpZiAkdGhlbWUgPT0gZWVmIHtcclxuXHRcdFx0XHR3aWR0aDogY2FsYyg1MCUgLSA2NXB4KTsgLy8gaGFsZiBwYXJlbnQgbGVzcyBoYWxmIGxvZ29cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGlmICR0aGVtZSA9PSBqaWYge1xyXG5cdFx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtIDY1cHgpOyAvLyBoYWxmIHBhcmVudCBsZXNzIGhhbGYgbG9nb1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzx0YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0XHQvLyBsb2dvIHdpZHRoID0gMTEwcHhcclxuXHRcdFx0QGlmICR0aGVtZSA9PSBlZWYge1xyXG5cdFx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtIDU1cHgpOyAvLyBoYWxmIHBhcmVudCBsZXNzIGhhbGYgbG9nb1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaWYgJHRoZW1lID09IGppZiB7XHJcblx0XHRcdFx0d2lkdGg6IGNhbGMoNTAlIC0gNTVweCk7IC8vIGhhbGYgcGFyZW50IGxlc3MgaGFsZiBsb2dvXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0XHQvLyBsb2dvIHdpZHRoID0gMTg0cHhcclxuXHRcdFx0QGlmICR0aGVtZSA9PSBlZWYge1xyXG5cdFx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtIDkycHgpOyAvLyBoYWxmIHBhcmVudCBsZXNzIGhhbGYgbG9nb1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaWYgJHRoZW1lID09IGppZiB7XHJcblx0XHRcdFx0d2lkdGg6IGNhbGMoNTAlIC0gOTJweCk7IC8vIGhhbGYgcGFyZW50IGxlc3MgaGFsZiBsb2dvXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdH1cclxufVxyXG4ubmF2LXN0YXRpY19fbGluayB7XHJcblx0QGluY2x1ZGUgdS1saW5rLWhvdmVyKHRoZW1pZnkobmF2LXVpKSwgdGhlbWlmeShuYXYtdWktb24pKTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtaW4td2lkdGg6IDUwJTtcclxuXHRtYXJnaW46IDEwcHggYXV0bztcclxuXHJcblx0QGlmICR0aGVtZSA9PSBlZWYge1xyXG5cdFx0QGV4dGVuZCAlamVhbmx1Y3dlYjtcclxuXHJcblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPHRhYmxldC1sYW5kc2NhcGUnKSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdFx0bWFyZ2luOiAxNHB4IDA7XHJcblx0XHRcdGZsZXg6IDEgMSAwO1xyXG5cdFx0fVxyXG5cdFxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0LWxhbmRzY2FwZScpIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0XHQvLyBtYXJnaW46IDIwcHggMDsgLy8gb25seSB1c2VkIGlmIHNwbGl0IG92ZXIgMiBuYXZpZ2F0aW9uIHJvd3Mgd2l0aCAubmF2LXN0YXRpY19fYnJlYWtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEBpZiAkdGhlbWUgPT0gamlmIHtcclxuXHRcdEBleHRlbmQgJXBvbGFyaXMtYm9sZDtcclxuXHJcblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPHRhYmxldC1sYW5kc2NhcGUnKSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogOXB4O1xyXG5cdFx0XHRtYXJnaW46IDE0cHggMDtcclxuXHRcdFx0ZmxleDogMSAxIDA7XHJcblx0XHR9XHJcblx0XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0XHRmb250LXNpemU6IDExcHg7XHJcblx0XHRcdG1hcmdpbjogMjBweCAwOyAvLyBvbmx5IHVzZWQgaWYgc3BsaXQgb3ZlciAyIG5hdmlnYXRpb24gcm93cyB3aXRoIC5uYXYtc3RhdGljX19icmVha1xyXG5cdFx0fVxyXG5cdH1cclxuXHRcdFxyXG5cdEBpZiAkdGhlbWUgPT0gZmZhIHtcclxuXHRcdEBleHRlbmQgJXByb3hpbWEtYmxhY2s7XHJcblx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0fVxyXG5cclxuXHRAaWYgJHRoZW1lID09IGNoZiB7XHJcblx0XHRtaW4td2lkdGg6IGF1dG87XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8dGFibGV0LWxhbmRzY2FwZScpIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0LWxhbmRzY2FwZScpIHtcclxuXHRcdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5pcy1zZWxlY3RlZCB7XHJcblx0XHRjb2xvcjogdGhlbWlmeShuYXYtdWktb24pO1xyXG5cdH1cclxufVxyXG4ubmF2LXN0YXRpY19fc3BhY2VyIHtcclxuXHJcblx0QGlmICR0aGVtZSA9PSBlZWYge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzx0YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0XHRmbGV4LWJhc2lzOiAxNzBweDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldC1sYW5kc2NhcGUnKSB7XHJcblx0XHRcdGZsZXgtYmFzaXM6IDE5NXB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0QGlmICR0aGVtZSA9PSBqaWYge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzx0YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0XHRmbGV4LWJhc2lzOiAxMzBweDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldC1sYW5kc2NhcGUnKSB7XHJcblx0XHRcdGZsZXgtYmFzaXM6IDE3MHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuICAgIFxyXG5cclxuXHRAaWYgJHRoZW1lID09IGNoZiB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPHRhYmxldC1sYW5kc2NhcGUnKSB7XHJcblx0XHRcdGZsZXgtYmFzaXM6IDIwJTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldC1sYW5kc2NhcGUnKSB7XHJcblx0XHRcdGZsZXgtYmFzaXM6IDMwJTtcclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0QGlmICR0aGVtZSA9PSBmZmEge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzx0YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0XHRmbGV4LWJhc2lzOiAxMCU7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0XHRmbGV4LWJhc2lzOiAyMCU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5uYXYtc3RhdGljX19icmVhayB7XHJcbiAgICBmbGV4LWJhc2lzOiAxMDElO1xyXG59XHJcbi5uYXYtc3RhdGljX19sb2dvIHtcclxuXHRAaW5jbHVkZSB1LWNlbnRlcigpO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuXHRAaWYgJHRoZW1lID09IGVlZiB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuXHRcdFx0d2lkdGg6IDEzMHB4O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzx0YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0XHR3aWR0aDogMTEwcHg7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0XHR3aWR0aDogMTg0cHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAaWYgJHRoZW1lID09IGppZiB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuXHRcdFx0d2lkdGg6IDEzMHB4O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzx0YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0XHR3aWR0aDogMTEwcHg7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0XHR3aWR0aDogMTg0cHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdFx0XHJcblx0QGlmICR0aGVtZSA9PSBmZmEge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcblx0XHRcdHdpZHRoOiAxMDRweDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICc8dGFibGV0LWxhbmRzY2FwZScpIHtcclxuXHRcdFx0d2lkdGg6IDc5cHg7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQtbGFuZHNjYXBlJykge1xyXG5cdFx0XHR3aWR0aDogMTkycHg7XHJcblx0XHR9XHJcblx0fVxyXG5cdFx0XHJcblx0QGlmICR0aGVtZSA9PSBjaGYge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcblx0XHRcdHdpZHRoOiAyMjBweDtcclxuXHRcdFx0dG9wOiA1MCU7XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG5cdFx0XHQvL21hcmdpbi1ib3R0b206IDVweDtcclxuXHRcdFx0d2lkdGg6IDMxNXB4O1xyXG5cdFx0XHR0b3A6IDIwcHg7XHJcblx0XHRcdEBpbmNsdWRlIHUtaG9yaXpvbnRhbC1jZW50ZXIoJHBvczpyZWxhdGl2ZSk7XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0LWxhbmRzY2FwZScpIHtcclxuXHRcdFx0d2lkdGg6IDQyMHB4O1xyXG5cdFx0XHR0b3A6IDEwcHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDVweDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLm5hdi1zdGF0aWNfX3NlYXJjaC1vcGVuIHtcclxuICAgIEBpbmNsdWRlIHUtbGluay1ob3Zlcih0aGVtaWZ5KG5hdi11aSksIHRoZW1pZnkobmF2LXVpLW9uKSk7XHJcbiAgICBAaW5jbHVkZSB1LXZlcnRpY2FsLWNlbnRlcigpO1xyXG4gICAgQGluY2x1ZGUgdS1leHRlbmQtaGl0Ym94KCk7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgbGVmdDogMjBweDtcclxuICAgIGZvbnQtc2l6ZTogMjNweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuc2VhcmNoLWFjdGl2ZSAmIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuXHQuZmZhICYge1xyXG5cdFx0Y29sb3I6ICNmZmZmZmY7XHJcblx0fVxyXG59XHJcbi5uYXYtc3RhdGljX19zZWFyY2gtY2xvc2Uge1xyXG4gICAgQGluY2x1ZGUgdS1saW5rLWhvdmVyKHRoZW1pZnkobmF2LXVpKSwgdGhlbWlmeShuYXYtdWktb24pKTtcclxuICAgIEBpbmNsdWRlIHUtdmVydGljYWwtY2VudGVyKCk7XHJcbiAgICBAaW5jbHVkZSB1LWV4dGVuZC1oaXRib3goKTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBsZWZ0OiAyMHB4O1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIC5zZWFyY2gtYWN0aXZlICYge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuXHQuZmZhICYge1xyXG5cdFx0Y29sb3I6ICNmZmZmZmY7XHJcblx0fVxyXG59XHJcbi5uYXYtc3RhdGljIC5oYW1idXJnZXIge1xyXG5cdEBpbmNsdWRlIHUtdmVydGljYWwtY2VudGVyKCk7XHJcbiAgICByaWdodDogMjBweDtcclxuXHRcclxuXHQuaGFtYnVyZ2VyLWlubmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KG5hdi11aSk7XHJcbiAgICAgICAgJjpiZWZvcmUsXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkobmF2LXVpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5vLXRvdWNoICY6aG92ZXIgLmhhbWJ1cmdlci1pbm5lciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShuYXYtdWktb24pO1xyXG4gICAgICAgICY6YmVmb3JlLFxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KG5hdi11aS1vbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG4ubmF2LXN0YXRpY19fc2VhZ3VsbC1sZWZ0LCAubmF2LXN0YXRpY19fc2VhZ3VsbC1yaWdodCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHdpZHRoOiAxMTBweDtcclxuXHRib3R0b206IDM1cHg7XHJcblxyXG5cdEBtZWRpYSAobWF4LXdpZHRoOiAxMTg4cHgpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG59XHJcbi5uYXYtc3RhdGljX19zZWFndWxsLWxlZnQge1xyXG5cdGxlZnQ6IDA7XHJcbn1cclxuLm5hdi1zdGF0aWNfX3NlYWd1bGwtcmlnaHQge1xyXG5cdHJpZ2h0OiAwO1xyXG5cdHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcclxufVxyXG5cclxuLm5hdi1zdGF0aWNfX2NoZi1pbGx1c3RyYXRpb25zIHtcclxuICAgIC8vQGluY2x1ZGUgdS1jZW50ZXIoJHRvcDo0MCUpO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBcclxuICAgIHotaW5kZXg6IDk5OTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcblx0XHJcblxyXG5cdFxyXG5cdFxyXG5cdEBpbmNsdWRlIHUtaG9yaXpvbnRhbC1jZW50ZXIoKTtcclxuXHR0b3A6IDBweDtcclxuXHJcblxyXG4gICAgLnNlYXJjaC1hY3RpdmUgJiB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8NzUwcHgnKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj03NTBweCcsICc8MTMwMHB4Jykge1xyXG4gICAgICAgIC8vdG9wOiAxMjBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMDBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj0xMzAwcHgnKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMzYwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgPiBpbWcge1xyXG4gICAgICAgICY6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzwxMzAwcHgnKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE0MHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8OTAwcHgnKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDExMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzwxMzAwcHgnKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE2OHB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8OTAwcHgnKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLm5hdi1kcm9wIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDYwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHotaW5kZXg6IDEwMDU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KG5hdi1kcm9wLWJnKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlKG91dC1zaW5lKTtcclxuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBjaGYge1xyXG4gICAgICAgIHRvcDogNDVweDtcclxuICAgIH1cclxuXHJcbiAgICAmLmhlYWRyb29tLS1waW5uZWQge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIH1cclxuXHJcbiAgICAmLmhlYWRyb29tLS10b3Age1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdi1vcGVuICYsXHJcbiAgICAuc2VhcmNoLWFjdGl2ZS0tc3RpY2t5ICYge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIH1cclxuICAgIC8vIGxvb2sgYXQgX25hdi1zdGF0aWMgZm9yIGhlaWdodFxyXG4gICAgaGVpZ2h0OiAxMTBweDtcclxufVxyXG4ubmF2LWRyb3BfX25hdiB7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAuM3MgZWFzZShvdXQtcXVhcnQpIDBzO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkobmF2LWRyb3AtYmcpO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgLyogaGFzIHRvIGJlIHNjcm9sbCwgbm90IGF1dG8gKi9cclxuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdi1vcGVuICYge1xyXG4gICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAuNHMgLjA2cztcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcbiAgICAgICAgICAgICRzdGlja3k6IDQ5cHg7XHJcbiAgICAgICAgICAgICRkcm9wZG93bjogNjRweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLXZoLCAxdmgpICogMTAwIC0gI3skc3RpY2t5fSAtICN7JGRyb3Bkb3dufSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPHRhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICAgICAgICAgICRzdGlja3k6IDYxcHg7XHJcbiAgICAgICAgICAgICRkcm9wZG93bjogNzJweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLXZoLCAxdmgpICogMTAwIC0gI3skc3RpY2t5fSAtICN7JGRyb3Bkb3dufSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgLy8gbWF4IHdpZHRoIHNldHRpbmdzXHJcbiAgICAgICAgQGlmICR0aGVtZSA9PSBlZWYge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiAkdGhlbWUgPT0gamlmIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaWYgJHRoZW1lID09IGZmYSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogODUwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaWYgJHRoZW1lID09IGNoZiB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogODUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vXHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgICAgICAmLS1yaWdodCwgJi0tbGVmdCB7XHJcbiAgICAgICAgICAgIC8vIGxvZ28gd2lkdGggPSAzNXB4XHJcbiAgICAgICAgICAgIEBpZiAkdGhlbWUgPT0gamlmIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDM1cHgpOyAvLyBoYWxmIHBhcmVudCBsZXNzIGhhbGYgbG9nb1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaWYgJHRoZW1lID09IGZmYSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAzNXB4KTsgLy8gaGFsZiBwYXJlbnQgbGVzcyBoYWxmIGxvZ29cclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLm5hdi1kcm9wX19saW5rIHtcclxuICAgIEBpbmNsdWRlIHUtbGluay1ob3Zlcih0aGVtaWZ5KG5hdi1kcm9wLXVpKSwgdGhlbWlmeShuYXYtZHJvcC11aS1vbikpO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgICAgICBAaW5jbHVkZSB1LWV4dGVuZC1oaXRib3goKTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJHRoZW1lID09IGVlZiB7XHJcbiAgICAgICAgQGV4dGVuZCAlamVhbmx1Y3dlYjtcclxuICAgICAgICBmbGV4OiAxIDEgMDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkdGhlbWUgPT0gamlmIHtcclxuICAgICAgICBAZXh0ZW5kICVwb2xhcmlzLWJvbGQ7XHJcbiAgICAgICAgZmxleDogMSAxIDA7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaWYgJHRoZW1lID09IGZmYSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgICAgICBmbGV4OiAxIDEgMDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBjaGYge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPHRhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuaXMtc2VsZWN0ZWQge1xyXG4gICAgICAgIGNvbG9yOiB0aGVtaWZ5KG5hdi1kcm9wLXVpLW9uKTtcclxuXHJcbiAgICAgICAgQGlmICR0aGVtZSA9PSBjaGYge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgQGlmICR0aGVtZSA9PSBjaGYge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZTI0OCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiAkdGhlbWUgPT0gY2hmIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCAyMHB4IDE4cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBpbnNldCAjNGM4YzZjO1xyXG5cclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzRjOGM2YztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGM4YzZjO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgICYubmF2LWRyb3BfX2Zlc3RpdmFsIHtcclxuICAgICAgICBAaWYgJHRoZW1lID09IGNoZiB7XHJcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDY1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5uYXYtZHJvcF9fc3BhY2VyIHtcclxuXHJcbiAgICBAaWYgJHRoZW1lID09IGVlZiB7XHJcbiAgICAgICAgZmxleC1iYXNpczogMTIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBqaWYge1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IDEyMHB4O1xyXG4gICAgfVxyXG4gICAgICAgIFxyXG4gICAgQGlmICR0aGVtZSA9PSBmZmEge1xyXG4gICAgICAgIGZsZXgtYmFzaXM6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAgICAgXHJcbiAgICBAaWYgJHRoZW1lID09IGNoZiB7XHJcbiAgICAgICAgZmxleC1iYXNpczogMTMwcHg7XHJcbiAgICB9XHJcblxyXG59XHJcbi5uYXYtZHJvcF9fbG9nbyB7XHJcbiAgICBAaW5jbHVkZSB1LWNlbnRlcigpO1xyXG5cclxuICAgIEBpZiAkdGhlbWUgPT0gZWVmIHtcclxuICAgICAgICBmaWxsOiB3aGl0ZTtcclxuICAgICAgICB3aWR0aDogMTE1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBqaWYge1xyXG4gICAgICAgIGZpbGw6IHdoaXRlO1xyXG4gICAgICAgIHdpZHRoOiAzNXB4O1xyXG4gICAgfVxyXG4gICAgICAgIFxyXG4gICAgQGlmICR0aGVtZSA9PSBmZmEge1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDQ1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1NnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICAgICBcclxuICAgIEBpZiAkdGhlbWUgPT0gY2hmIHtcclxuICAgICAgICB3aWR0aDogMTMwcHg7XHJcbiAgICAgICAgdG9wOiA0MCU7XHJcbiAgICB9XHJcbn1cclxuLm5hdi1kcm9wX19zZWFyY2gtb3BlbiB7XHJcbiAgICBAaW5jbHVkZSB1LWxpbmstaG92ZXIodGhlbWlmeShuYXYtZHJvcC11aSksIHRoZW1pZnkobmF2LWRyb3AtdWktb24pKTtcclxuICAgIEBpbmNsdWRlIHUtZXh0ZW5kLWhpdGJveCgpO1xyXG4gICAgQGluY2x1ZGUgdS12ZXJ0aWNhbC1jZW50ZXIoKTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBsZWZ0OiAyMHB4O1xyXG4gICAgZm9udC1zaXplOiAyM3B4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5zZWFyY2gtYWN0aXZlICYge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuLm5hdi1kcm9wX19zZWFyY2gtY2xvc2Uge1xyXG4gICAgQGluY2x1ZGUgdS1saW5rLWhvdmVyKHRoZW1pZnkobmF2LWRyb3AtdWkpLCB0aGVtaWZ5KG5hdi1kcm9wLXVpLW9uKSk7XHJcbiAgICBAaW5jbHVkZSB1LWV4dGVuZC1oaXRib3goKTtcclxuICAgIEBpbmNsdWRlIHUtdmVydGljYWwtY2VudGVyKCk7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgbGVmdDogMjBweDtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgLnNlYXJjaC1hY3RpdmUgJiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuLm5hdi1kcm9wIC5oYW1idXJnZXIge1xyXG4gICAgQGluY2x1ZGUgdS12ZXJ0aWNhbC1jZW50ZXIoKTtcclxuICAgIHJpZ2h0OiAyMHB4O1xyXG5cclxuICAgIC5oYW1idXJnZXItaW5uZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkobmF2LWRyb3AtdWkpO1xyXG5cclxuICAgICAgICAmOmJlZm9yZSxcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShuYXYtZHJvcC11aSk7XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubm8tdG91Y2ggJjpob3ZlciAuaGFtYnVyZ2VyLWlubmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KG5hdi1kcm9wLXVpLW9uKTtcclxuXHJcbiAgICAgICAgQGlmICR0aGVtZSA9PSBjaGYge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlMjQ4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpiZWZvcmUsXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkobmF2LWRyb3AtdWktb24pO1xyXG5cclxuICAgICAgICAgICAgQGlmICR0aGVtZSA9PSBjaGYge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTI0ODtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICAvL3RvcDogMjRweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgLy90b3A6IDI4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59IiwiLnNlYXJjaC1yZXN1bHRzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkoc2VhcmNoLXJlc3VsdHMtYmcpO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgei1pbmRleDogMTAwODtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAuc2VhcmNoLWFjdGl2ZSAmIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0b3A6IDYwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnNlYXJjaC1hY3RpdmUtLXN0YXRpYyAmIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAxNTlweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLnNlYXJjaC1hY3RpdmUtLXN0aWNreSAmIHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAxNTlweDtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJHRoZW1lID09IGNoZiB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGRhcmtlbih0aGVtaWZ5KHNlYXJjaC1yZXN1bHRzLWJnKSwgMi41JSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5sLWd1dHRlcnMge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5zZWFyY2gtcmVzdWx0c19fY29scyB7XHJcbiAgICBsb3N0LWZsZXgtY29udGFpbmVyOiByb3c7XHJcbn1cclxuLnNlYXJjaC1yZXN1bHRzX19jb2wge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcbiAgICAgICAgbG9zdC1jb2x1bW46IDEvMiAyIDEwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnPHRhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICAgICAgbG9zdC1jb2x1bW46IDEvMyAzIDIwcHg7XHJcblxyXG4gICAgICAgICY6bnRoLWNoaWxkKDQpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgICAgIGxvc3QtY29sdW1uOiAxLzQgNCAyMHB4O1xyXG4gICAgfVxyXG59XHJcbi5zZWFyY2gtcmVzdWx0c19fc2VhcmNoLWZpZWxkIHtcclxuICAgIEBleHRlbmQgLm5hdi1zdGlja3lfX3NlYXJjaC1maWVsZDtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgIC5zZWFyY2gtYWN0aXZlICYge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLnNlYXJjaC1yZXN1bHRzX19zZWFyY2gtaW5wdXQge1xyXG4gICAgQGV4dGVuZCAubmF2LXN0aWNreV9fc2VhcmNoLWlucHV0O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xyXG4gICAgfVxyXG59XHJcbi5zZWFyY2gtcmVzdWx0c19faGVhZGluZyB7XHJcbiAgICBjb2xvcjogdGhlbWlmeShzZWFyY2gtcmVzdWx0cy1oZWFkaW5nKTtcclxuXHJcbiAgICBAaWYgJHRoZW1lICE9Y2hmIHtcclxuICAgICAgICBAZXh0ZW5kIC5oNDtcclxuICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJHRoZW1lID09IGNoZiB7XHJcbiAgICAgICAgQGV4dGVuZCAuaDU7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMTBweCAwO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcbn1cclxuLnNlYXJjaC1yZXN1bHRzX19yZXN1bHQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG4uc2VhcmNoLXJlc3VsdHNfX3RpdGxlIHtcclxuICAgIEBpbmNsdWRlIHUtbGluay1ob3Zlcih0aGVtaWZ5KHNlYXJjaC1yZXN1bHRzLXRpdGxlKSwgdGhlbWlmeShzZWFyY2gtcmVzdWx0cy10aXRsZS1vbiksICRob3Zlci1kZWNvcmF0aW9uOm5vbmUpO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcclxuICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG5cclxuICAgIEBpZiAkdGhlbWUgPT0gZWVmIHtcclxuICAgICAgICBAZXh0ZW5kICVqZWFubHVjd2ViO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAaWYgJHRoZW1lID09IGppZiB7XHJcbiAgICAgICAgQGV4dGVuZCAlcG9sYXJpcy1ib2xkO1xyXG4gICAgfVxyXG4gICAgICAgIFxyXG4gICAgQGlmICR0aGVtZSA9PSBjaGYge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG59XHJcbi5zZWFyY2gtcmVzdWx0c19faW1nIHtcclxuICAgIEBpbmNsdWRlIHUtYnJpZ2h0LWhvdmVyKCk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCAyNHB4IDAgcmdiYShibGFjaywgMC4yNSk7XHJcbiAgICBcclxufVxyXG4uc2VhcmNoLXJlc3VsdHNfX25vLXJlc3VsdHMge1xyXG4gICAgQGV4dGVuZCAuc2VhcmNoLXJlc3VsdHNfX3RpdGxlO1xyXG5cclxuICAgIC5uby10b3VjaCAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1pZnkoc2VhcmNoLXJlc3VsdHMtdGl0bGUpO1xyXG4gICAgfVxyXG5cclxufSIsIi5wYWdpbmF0aW9uIHtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgICYtLXRvcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBhZ2luYXRpb24taGlkZGVuICYge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgICBtYXJnaW46IDAgOHB4O1xyXG4gICAgfVxyXG59XHJcbi5wYWdpbmF0aW9uX19wcmV2LFxyXG4ucGFnaW5hdGlvbl9fbmV4dCB7XHJcbiAgICBAZXh0ZW5kIC5idG47XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MXB4O1xyXG4gICAgfVxyXG59XHJcbi5wYWdpbmF0aW9uX19uZXh0IHtcclxuICAgIHNwYW4ge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XHJcbiAgICB9XHJcbn1cclxuLnBhZ2luYXRpb25fX3ByZXYge1xyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7XHJcbiAgICB9ICAgXHJcbn1cclxuLnBhZ2luYXRpb25fX3BhZ2Uge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIEBpbmNsdWRlIHUtZXh0ZW5kLWhpdGJveCgpO1xyXG5cclxuICAgIEBleHRlbmQgLmg1O1xyXG4gICAgQGluY2x1ZGUgdS1saW5rLWhvdmVyKHRoZW1pZnkodGV4dCksIHRoZW1pZnkocHJpbWFyeSksICRob3Zlci1kZWNvcmF0aW9uOiB1bmRlcmxpbmUpO1xyXG5cclxuICAgICYuaXMtc2VsZWN0ZWQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcbiAgICAgICAgY29sb3I6IHRoZW1pZnkocHJpbWFyeSk7XHJcbiAgICB9XHJcblxyXG4gICAgJi0tc3ByZWFkIHtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgfVxyXG59XHJcbiIsIiRwbGFubmVySGVscE1zZ0hlaWdodDogMTQwcHg7XHJcblxyXG4ucGxhbm5lciB7XHJcbiAgICB6LWluZGV4OiAxMDEwO1xyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkocGxhbm5lci1iZyk7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogNDhweDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAuNHMgZWFzZShvdXQtcXVhcnQpIDBzO1xyXG5cclxuICAgICAgICAucGxhbm5lci1hY3RpdmUgJiB7XHJcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygodmFyKC0tdmgsIDF2aCkgKiAxMDApIC0gNDhweCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAuNHMgLjA2cztcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1MHB4OyAvLyBpcGhvbmUgdGFiYmFyIGNvdmVycyB2aWV3cG9ydFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDogNjFweDtcclxuICAgICAgICB3aWR0aDogMzIwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcclxuXHJcbiAgICAgICAgYm94LXNoYWRvdzogLTJweCAwIDAgMCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xyXG5cclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcclxuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XHJcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAuMCwgMSwgMSk7XHJcblxyXG4gICAgICAgIC5wbGFubmVyLWFjdGl2ZSAmIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMCwgMC4wLCAwLjIsIDEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGlwcHktcG9wcGVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuLnBsYW5uZXJfX3Njcm9sbC1jb250YWluZXIge1xyXG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcclxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuXHJcbiAgICBoZWlnaHQ6IDEwMHZoOyAvKiBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBDdXN0b20gUHJvcGVydGllcyAqL1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgICR0b3BPZmZzZXQ6IDQ0cHg7XHJcbiAgICAgICAgJHBsYW5uZXJIZWFkaW5nSGVpZ2h0OiA0MnB4O1xyXG4gICAgICAgIGhlaWdodDogY2FsYygodmFyKC0tdmgsIDF2aCkgKiAxMDApIC0gI3skdG9wT2Zmc2V0fSAtICN7JHBsYW5uZXJIZWFkaW5nSGVpZ2h0fSk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgICRwbGFubmVySGVhZGluZ05vVG9wQm9yZGVySGVpZ2h0OiA0MXB4O1xyXG4gICAgICAgICR0b3BPZmZzZXQ6IDYwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skcGxhbm5lckhlYWRpbmdOb1RvcEJvcmRlckhlaWdodH0gLSAjeyR0b3BPZmZzZXR9KTtcclxuICAgIH1cclxufVxyXG4ucGxhbm5lcl9faGVhZGluZyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0aGVtaWZ5KGRpdmlkZXIpO1xyXG4gICAgcGFkZGluZzogMTNweCAwIDExcHg7XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBlZWYge1xyXG4gICAgICAgIEBleHRlbmQgJWplYW5sdWN3ZWI7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBqaWYge1xyXG4gICAgICAgIEBleHRlbmQgJXBvbGFyaXMtYm9sZDtcclxuICAgIH1cclxuICAgICAgICBcclxuICAgIEBpZiAkdGhlbWUgPT0gZmZhIHtcclxuICAgICAgICBcclxuICAgIH1cclxuICAgICAgICBcclxuICAgIEBpZiAkdGhlbWUgPT0gY2hmIHtcclxuICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XHJcblxyXG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRoZW1pZnkoZGl2aWRlcik7XHJcbiAgICB9XHJcbn1cclxuLnBsYW5uZXJfX2Nsb3NlIHtcclxuICAgIEBpbmNsdWRlIHUtZXh0ZW5kLWhpdGJveCgpO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNXB4KSB0cmFuc2xhdGVZKDFweCk7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgY29sb3I6IHRoZW1pZnkocHJpbWFyeSk7XHJcbn1cclxuLnBsYW5uZXJfX2hlbHAge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGhlaWdodDogJHBsYW5uZXJIZWxwTXNnSGVpZ2h0O1xyXG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNHMgZWFzZShvdXQtc2luZSk7XHJcbiAgICBcclxuICAgIC5wbGFubmVyLmhlbHAtaXMtaGlkZGVuICYsXHJcbiAgICAuaXMtdmFsaWRhdGluZy1lbWFpbCAmLFxyXG4gICAgLmlzLXJldHVybmluZy11c2VyICYsXHJcbiAgICAuaXMtbmV3LXVzZXIgJixcclxuICAgIC5pcy1yZXNldHRpbmctcGFzc3dvcmQgJixcclxuICAgIC5pcy1mYWNlYm9vay11c2VyLW5vLXB3ICYsXHJcbiAgICBib2R5LmxvZ2dlZC1pbiAmIHtcclxuICAgICAgICBoZWlnaHQ6IDBweDtcclxuICAgIH1cclxufVxyXG4ucGxhbm5lcl9faGVscC1ndXR0ZXJzIHtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcblxyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZFRjdGNjtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdS1saW5rLWhvdmVyKHRoZW1pZnkocHJpbWFyeSksIHRoZW1pZnkocHJpbWFyeSksICRob3Zlci1kZWNvcmF0aW9uOnVuZGVybGluZSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHUtZXh0ZW5kLWhpdGJveCgpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5wbGFubmVyX19oZWxwLWRpc21pc3Mge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIEBpbmNsdWRlIHUtZXh0ZW5kLWhpdGJveCgpO1xyXG4gICAgQGluY2x1ZGUgdS1saW5rLWhvdmVyKHRoZW1pZnkocHJpbWFyeSksIHRoZW1pZnkobGluay1ob3ZlcikpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcclxufVxyXG5cclxuLnBsYW5uZXJfX2ljb24ge1xyXG4gICAgQGV4dGVuZCAuaWNvbjtcclxuICAgIEBleHRlbmQgLmljb24tY2FsZW5kYXI7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICBtYXJnaW46IDQwcHggMCAyMHB4O1xyXG59XHJcbi5wbGFubmVyX19lbXB0eSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS43O1xyXG5cclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAuaXMtZW1wdHkgJiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLmlzLXZhbGlkYXRpbmctZW1haWwgJixcclxuICAgIC5pcy1yZXR1cm5pbmctdXNlciAmLFxyXG4gICAgLmlzLW5ldy11c2VyICYsXHJcbiAgICAuaXMtcmVzZXR0aW5nLXBhc3N3b3JkICYsXHJcbiAgICAuaXMtZmFjZWJvb2stdXNlci1uby1wdyAmIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIGJ1dHRvbiwgYSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgQGluY2x1ZGUgdS1leHRlbmQtaGl0Ym94KCk7XHJcbiAgICB9XHJcbn1cclxuLnBsYW5uZXJfX2VtcHR5LW5vLWFjY291bnQge1xyXG4gICAgQGluY2x1ZGUgdS1saW5rLWhvdmVyKHRoZW1pZnkocHJpbWFyeSksICRob3Zlci1kZWNvcmF0aW9uOiB1bmRlcmxpbmUpO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgIC5pcy1lbXB0eSAmIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgIGJvZHkubG9nZ2VkLWluIC5pcy1lbXB0eSAmIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcbi5wbGFubmVyX19lbXB0eS1sb2dnZWQtaW4ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICBib2R5LmxvZ2dlZC1pbiAuaXMtZW1wdHkgJiB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG5cclxufVxyXG4ucGxhbm5lcl9fYWNjb3VudCB7XHJcbiAgICBwYWRkaW5nOiAzMnB4IDQycHg7XHJcblxyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIC5pcy12YWxpZGF0aW5nLWVtYWlsICYsXHJcbiAgICAuaXMtbmV3LXVzZXIgJixcclxuICAgIC5pcy1yZXR1cm5pbmctdXNlciAmLFxyXG4gICAgLmlzLXJlc2V0dGluZy1wYXNzd29yZCAmLFxyXG4gICAgLmlzLWZhY2Vib29rLXVzZXItbm8tcHcgJiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuLnBsYW5uZXJfX2FjY291bnQtaGVhZGluZyB7XHJcbiAgICBAZXh0ZW5kIC5oMztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbn1cclxuJXBsYW5uZXJfX2luZm8tbXNnIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS4zO1xyXG59XHJcbi5wbGFubmVyX19hY2NvdW50LWRlc2Mge1xyXG4gICAgQGV4dGVuZCAlcGxhbm5lcl9faW5mby1tc2c7XHJcblxyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIC5pcy1uZXctdXNlciAmIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG4ucGxhbm5lcl9fYWNjb3VudC1wcmVleGlzdGluZyB7XHJcbiAgICBAZXh0ZW5kICVwbGFubmVyX19pbmZvLW1zZztcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgLmlzLXJldHVybmluZy11c2VyLWF0dGVtcHRpbmctcmVnaXN0cmF0aW9uICYge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcbi5wbGFubmVyX19lbWFpbCB7XHJcbiAgICAuaXMtcmVzZXQtcmVxdWVzdC1zdWNjZXNzICYge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuLnBsYW5uZXJfX3N1Ym1pdC1idG4ge1xyXG4gICAgQGV4dGVuZCAuYnRuO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcblxyXG4gICAgLmlzLXJldHVybmluZy11c2VyICYge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICB9XHJcbiAgICAuaXMtcmV0dXJuaW5nLXVzZXIgLnBsYW5uZXJfX3B3LmlzLWludmFsaWQgfiAmIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG4gICAgLmlzLXJlc2V0LXJlcXVlc3Qtc3VjY2VzcyAmIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcbi5wbGFubmVyX19mYWNlYm9vay1idG4ge1xyXG4gICAgQGV4dGVuZCAucGxhbm5lcl9fc3VibWl0LWJ0bjtcclxuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYjU5OTg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcclxuICAgIGZvbnQtZmFtaWx5OiBhcmlhbDtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAmLmlzLXNlbGVjdGVkLFxyXG4gICAgLm5vLXRvdWNoICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oIzNiNTk5OCwgOCUpO1xyXG4gICAgfVxyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHUtdmVydGljYWwtY2VudGVyKCk7XHJcbiAgICAgICAgICAgIGxlZnQ6IDhweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnBsYW5uZXJfX2xvY2F0aW9uIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgLmlzLW5ldy11c2VyICYge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcbi5wbGFubmVyX19uYW1lIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7IFxyXG5cclxuICAgIC5pcy1uZXctdXNlciAmIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG4ucGxhbm5lcl9fcHcge1xyXG4gICAgZGlzcGxheTogbm9uZTsgXHJcbiAgICBcclxuICAgIC5pcy1uZXctdXNlciAmLFxyXG4gICAgLmlzLXJldHVybmluZy11c2VyICYge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcbi5wbGFubmVyX19mb3Jnb3QtcHcge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6IGluaXRpYWwgIWltcG9ydGFudDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAtMThweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuXHJcblx0Zm9udC1zaXplOiAkZm9ybUZvbnRTaXplRXJyb3I7XHJcbiAgICBjb2xvcjogJGludmFsaWQtY29sO1xyXG4gICAgXHJcbiAgICBAaWYgJHRoZW1lID09IGVlZiB7XHJcbiAgICAgICAgQGV4dGVuZCAlZmF2b3JpdDtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJHRoZW1lID09IGppZiB7XHJcbiAgICAgICAgQGV4dGVuZCAlYW50d2VycDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmlzLXJldHVybmluZy11c2VyICYge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcbi5wbGFubmVyX19mYWNlYm9vay11c2VyLW5vLXB3LWVycm9yIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvcm1Gb250U2l6ZUVycm9yO1xyXG4gICAgY29sb3I6ICRpbnZhbGlkLWNvbDtcclxuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS40O1xyXG5cclxuICAgIEBpZiAkdGhlbWUgPT0gZWVmIHtcclxuICAgICAgICBAZXh0ZW5kICVqZWFubHVjd2ViO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkdGhlbWUgPT0gamlmIHtcclxuICAgICAgICBAZXh0ZW5kICVwb2xhcmlzLWJvbGQ7XHJcbiAgICB9XHJcbiAgICAgICAgXHJcbiAgICBAaWYgJHRoZW1lID09IGZmYSB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAgICAgXHJcbiAgICBAaWYgJHRoZW1lID09IGNoZiB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIC5pcy1mYWNlYm9vay11c2VyLW5vLXB3ICYge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcbi5wbGFubmVyX19yZXNldC1wYXNzd29yZC1yZXF1ZXN0ZWQge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAuaXMtcmVzZXQtcmVxdWVzdC1zdWNjZXNzICYge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcbi5wbGFubmVyX19ociB7XHJcbiAgICBtYXJnaW46IDI0cHggMDtcclxuICAgIFxyXG4gICAgLmlzLXJlc2V0LXJlcXVlc3Qtc3VjY2VzcyAmIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59IiwiLnByb21vcyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aG1lbWlmeSgncHJvbW8tYmcnKTtcclxuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XHJcbiAgICB9XHJcbn1cclxuLnByb21vc19fY29scyB7XHJcbiAgICBAZXh0ZW5kIC5maWxtLWdyaWRfX2ZpbG1zO1xyXG59XHJcbi5wcm9tb3NfX2NvbCB7XHJcbiAgICBAZXh0ZW5kIC5maWxtLWdyaWRfX2ZpbG07XHJcbn1cclxuLnByb21vc19faW1nLWxpbmsge1xyXG4gICAgQGV4dGVuZCAubC1tb2JpbGUtZnVsbC13aWR0aDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIHBhZGRpbmc6IDAgMCA1NiU7XHJcblxyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9sb2FkaW5nLmdpZik7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDUwcHggNTBweDtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIEBpbmNsdWRlIHUtYnJpZ2h0LWhvdmVyO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgb2JqZWN0LWZpdDogbm9uZTtcclxuXHJcbiAgICAgICAgJi5iLWxvYWRlZCB7XHJcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4ucHJvbW9zX19jb250ZW50IHtcclxuICAgIHBhZGRpbmc6IDAgMTBweDtcclxufVxyXG4ucHJvbW9zX19oZWFkaW5nIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxuICAgIEBleHRlbmQgLmgzO1xyXG4gICAgQGluY2x1ZGUgdS1saW5rLWhvdmVyKHRoZW1pZnkocHJvbW8taGVhZGluZyksIHRoZW1pZnkocHJpbWFyeSkpO1xyXG5cclxuICAgIEBpZiAkdGhlbWUgPT0gY2hmIHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG59XHJcbi5wcm9tb3NfX2Rlc2Mge1xyXG4gICAgQGV4dGVuZCAucDtcclxufVxyXG5cclxuQGlmICR0aGVtZSA9PSBjaGYge1xyXG4gICAgLnByb21vc19fY29sIHtcclxuICAgICAgICAmOm50aC1jaGlsZCgzbisxKSB7XHJcbiAgICAgICAgICAgIC5wcm9tb3NfX2ltZy1saW5rOmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogI2EzOTI2ZjsgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOm50aC1jaGlsZCgzbisyKSB7XHJcbiAgICAgICAgICAgIC5wcm9tb3NfX2ltZy1saW5rOmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjogIzRjOGM2YzsgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOm50aC1jaGlsZCgzbiszKSB7XHJcbiAgICAgICAgICAgIC5wcm9tb3NfX2ltZy1saW5rOmFmdGVyIHsgYmFja2dyb3VuZC1jb2xvcjojYTc1YjJkOyB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByb21vc19faW1nLWxpbmsge1xyXG4gICAgXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShwcm9tby1iZyk7XHJcbiAgICAgICAgICAgIGxlZnQ6IC04cHg7XHJcbiAgICAgICAgICAgIHRvcDogOHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjEycyBlYXNlKG91dC1leHBvKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIucmVzZXQge1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG59XHJcbi5yZXNldF9fZm9ybSB7XHJcbiAgICBtYXgtd2lkdGg6IDQyMHB4O1xyXG5cclxuICAgIC5sb2dnZWQtaW4gJiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG4ucmVzZXRfX3N1Y2Nlc3Mge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAubG9nZ2VkLWluICYge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcbi5yZXNldF9fZGVzYyB7XHJcbiAgICAubG9nZ2VkLWluICYge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn0iLCIuc2NoZWR1bGUge1xyXG5cclxuICAgID4gLmwtZ3V0dGVycyB7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmwtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxNjAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtX19jdHJsLWxhYmVsIHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgY29sb3I6IHRoZW1pZnkodGV4dCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIH1cclxuXHJcbiAgICAuZm9ybV9fY2hlY2tib3gge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmZpbHRlcnMtb3BlbiAmIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMTAwMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHBhZ2UtYmcpO1xyXG4gICAgfVxyXG59XHJcbi5zY2hlZHVsZV9fY29scyB7XHJcbiAgICBsb3N0LXV0aWxpdHk6IGNsZWFyZml4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgIG1hcmdpbjogMCAyMHB4O1xyXG4gICAgfVxyXG59XHJcbi5zY2hlZHVsZV9fY29sIHtcclxuXHJcbiAgICAvLyBjYWxlbmRhclxyXG4gICAgJjpudGgtY2hpbGQoMSkge1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzNDBweDtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj04NTBweCcpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gZmlsbSBncmlkXHJcbiAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI4MHB4IC0gNjBweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5zY2hlZHVsZV9fdHlwZXMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBtYXJnaW46IDIwcHggYXV0byAwO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICB3aWR0aDogMjgwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgPiBidXR0b24ge1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgcGFkZGluZzogMTJweCAwO1xyXG4gICAgICAgIGNvbG9yOiB0aGVtaWZ5KHNjaGVkdWxlLXRhYi10ZXh0LWRlZmF1bHQpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRoZW1pZnkoc2NoZWR1bGUtdGFiLWJnLWRlZmF1bHQpO1xyXG5cclxuICAgICAgICBAaWYgJHRoZW1lID09IGVlZiB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgJWZhdm9yaXQ7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaWYgJHRoZW1lID09IGppZiB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgJXBvbGFyaXMtYm9sZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiAkdGhlbWUgPT0gZmZhIHtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiAkdGhlbWUgPT0gY2hmIHtcclxuICAgICAgICAgICAgLy9iYWNrZ3JvdW5kOiAjRDQ5Mzg4O1xyXG4gICAgICAgICAgICAvL2NvbG9yOiAjMzQ0MDQ2O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5pcy1zZWxlY3RlZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkoc2NoZWR1bGUtdGFiLWJnLWFjdGl2ZSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiB0aGVtaWZ5KHNjaGVkdWxlLXRhYi10ZXh0LWFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweCAwIDAgNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLnNjaGVkdWxlX19jYWxlbmRhciB7XHJcbiAgICAuaXMtbGlzdCAmIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcbi5zY2hlZHVsZV9faHIge1xyXG4gICAgXHJcbiAgICBtYXJnaW4tdG9wOiAxOHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcclxuXHJcbiAgICAmLS1tb2ItZnVsbCB7XHJcbiAgICAgICAgQGV4dGVuZCAubC1tb2JpbGUtZnVsbC13aWR0aDtcclxuICAgIH1cclxuICAgIFxyXG59XHJcbi5zY2hlZHVsZV9fZmlsdGVycyB7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgd2lkdGg6IDMyMHB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtX19jaGVja2JveC5pcy1oaWRkZW4ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuLnNjaGVkdWxlX19maWx0ZXItYnktaGVhZGluZyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgaGVpZ2h0OiAxOXB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAuZWVmICYge1xyXG4gICAgICAgIEBleHRlbmQgLmg1O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImZhdm9yaXRcIjtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcbiAgICAuamlmICYge1xyXG4gICAgICAgIEBleHRlbmQgLmg1O1xyXG4gICAgfVxyXG4gICAgLmZmYSAmIHtcclxuICAgICAgICBAZXh0ZW5kIC5oNjtcclxuICAgIH1cclxufVxyXG4uc2NoZWR1bGVfX2ZpbHRlcnMtaGVhZGluZyB7XHJcbiAgICBcclxuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XHJcbiAgICBjb2xvcjogdGhlbWlmeShzY2hlZHVsZS1maWx0ZXItaGVhZGluZyk7XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBlZWYge1xyXG4gICAgICAgIEBleHRlbmQgLmg2O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImZhdm9yaXRcIjtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBqaWYge1xyXG4gICAgICAgIEBleHRlbmQgLmg2O1xyXG4gICAgfVxyXG4gICAgICAgIFxyXG4gICAgQGlmICR0aGVtZSA9PSBmZmEge1xyXG4gICAgICAgIEBleHRlbmQgJXByb3hpbWEtYm9sZDtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIH1cclxuICAgICAgICBcclxuICAgIEBpZiAkdGhlbWUgPT0gY2hmIHtcclxuICAgICAgICBAZXh0ZW5kIC5oNjtcclxuICAgIH1cclxufVxyXG4uc2NoZWR1bGVfX2ZpbHRlcnMtdG9nZ2xlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBAaW5jbHVkZSB1LWV4dGVuZC1oaXRib3goKTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTlweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmljb24tcGx1cyB7XHJcbiAgICAgICAgLmZpbHRlcnMtb3BlbiAmIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmljb24tY2xvc2Uge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgLmZpbHRlcnMtb3BlbiAmIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5zY2hlZHVsZV9fZmlsdGVycy1jb2xzIHtcclxuICAgIGxvc3QtZmxleC1jb250YWluZXI6IHJvdztcclxufVxyXG4uc2NoZWR1bGVfX2ZpbHRlcnMtY29sIHtcclxuICAgIGxvc3QtY29sdW1uOiAxLzIgMiAxMHB4O1xyXG59XHJcbi5zY2hlZHVsZV9fZGF0ZSB7XHJcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcclxuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAucGxhbm5lciAmIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBlZWYge1xyXG4gICAgICAgIEBleHRlbmQgJWplYW5sdWN3ZWI7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRoZW1pZnkoZGl2aWRlcik7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogOHB4O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAaWYgJHRoZW1lID09IGppZiB7XHJcbiAgICAgICAgQGV4dGVuZCAlcG9sYXJpcy1ib2xkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0aGVtaWZ5KGRpdmlkZXIpO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDhweDtcclxuICAgIH1cclxuICAgICAgICBcclxuICAgIEBpZiAkdGhlbWUgPT0gZmZhIHtcclxuICAgICAgICBAZXh0ZW5kICVwcm94aW1hLWJsYWNrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcclxuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnkpO1xyXG4gICAgfVxyXG4gICAgICAgIFxyXG4gICAgQGlmICR0aGVtZSA9PSBjaGYge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0aGVtaWZ5KGRpdmlkZXIpO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDhweDtcclxuICAgIH1cclxufVxyXG4uc2NoZWR1bGVfX2ZpbHRlcnMtY29sbGFwc2FibGUge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xyXG4gICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgaGVpZ2h0OiAwcHg7XHJcblxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkoJ3BhZ2UtYmcnKTtcclxuXHJcbiAgICAgICAgLmZpbHRlcnMtb3BlbiAmIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMikgMHB4IDVweCA2cHggMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uc2NoZWR1bGVfX2FjdGlvbnMge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuLnNjaGVkdWxlX19hY3Rpb25zLXdyYXAge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuLnNjaGVkdWxlX19hcHBseS1maWx0ZXJzIHtcclxuICAgIEBleHRlbmQgLmJ0bjtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xyXG59XHJcbi5zY2hlZHVsZV9fY2xlYXItYWxsIHtcclxuICAgIEBpbmNsdWRlIHUtbGluay1ob3Zlcih0aGVtaWZ5KHByaW1hcnkpLCB0aGVtaWZ5KGxpbmstaG92ZXIpKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn0iLCIuc2Vzc2lvbnMge1xyXG4gICAgbG9zdC1mbGV4LWNvbnRhaW5lcjogcm93O1xyXG59XHJcbi5zZXNzaW9uc19fY29sIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICAgICAgbG9zdC1jb2x1bW46IDYuNCAxIDBweDtcclxuICAgICAgICBsb3N0LW9mZnNldDogMC42Lzc7IC8vIH4xMDBweFxyXG4gICAgfVxyXG59XHJcbi5zZXNzaW9uc19faGVhZGluZyB7XHJcbiAgICBmb250LXNpemU6IDMycHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgXHJcbiAgICBAaWYgJHRoZW1lID09IGZmYSB7XHJcbiAgICAgICAgQGV4dGVuZCAlcHJveGltYS1ibGFjaztcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG59XHJcbi5zZXNzaW9uc19fY2luZW1hLWhlYWRpbmcge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gICAgLnNjaGVkdWxlICYsXHJcbiAgICAuc2Vzc2lvbnMgJiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5wbGFubmVyICYge1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHJcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcclxuICAgICAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmZmYSAmIHtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxufVxyXG4uc2Vzc2lvbnNfX3Njcm9sbC1jb250YWluZXIge1xyXG4gICAgLmhhcy10b3VjaCAmIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIC8vIHNjcm9sbGluZyBjb250YWluZXIgZ3JhZGllbnRcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgICAgICAgICAvLyBzY3JvbGxpbmcgY29udGFpbmVyIGdyYWRpZW50XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDIxMiwgMjIxLCAwKSwgI2ZmZDRkZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4lc2Vzc2lvbi1idG4ge1xyXG4gICAgcGFkZGluZzogOHB4IDEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBlZWYge1xyXG4gICAgICAgIEBleHRlbmQgJWZhdm9yaXQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgQGlmICR0aGVtZSA9PSBqaWYge1xyXG4gICAgICAgIEBleHRlbmQgJXBvbGFyaXMtYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICAucGxhbm5lciAmIHtcclxuICAgICAgICBwYWRkaW5nOiA0cHggNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIHNwYW46bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIGRhdGUgYnV0dG9ucyBvbiBmaWxtIHBhZ2VcclxuLnNlc3Npb25zX19kYXRlcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcblxyXG4gICAgLm5vLXRvdWNoICYge1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIH1cclxuXHJcbiAgICAuaGFzLXRvdWNoICYge1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBleHRlbmQgJXUtaGlkZS1zY3JvbGxiYXI7XHJcbiAgICAgICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xyXG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuXHJcbiAgICAgICAgLmZpbG0tZ3JpZCAmIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGkgeyBcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgIFxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgQGV4dGVuZCAlc2Vzc2lvbi1idG47XHJcbiAgICAgICAgY29sb3I6IHRoZW1pZnkoYm9va2luZy1kYXRlKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KGJvb2tpbmctZGF0ZS1iZyk7XHJcblxyXG4gICAgICAgICYuaXMtc2VsZWN0ZWQsXHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgY29sb3I6IHRoZW1pZnkoYm9va2luZy1kYXRlLW9uKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShib29raW5nLWRhdGUtYmctb24pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gc2Vzc2lvbnMgYnV0dG9uc1xyXG4uc2Vzc2lvbnNfX2xpc3Qge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBsaSA+IGJ1dHRvbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgfVxyXG4gICAgbGkgPiBidXR0b24sXHJcbiAgICBsaSA+IGEge1xyXG4gICAgICAgIEBleHRlbmQgJXNlc3Npb24tYnRuO1xyXG4gICAgICAgIGNvbG9yOiB0aGVtaWZ5KGJvb2tpbmctc2Vzc2lvbik7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShib29raW5nLXNlc3Npb24tYmcpO1xyXG5cclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgIC5uby10b3VjaCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgY29sb3I6IHRoZW1pZnkoYm9va2luZy1zZXNzaW9uLW9uKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShib29raW5nLXNlc3Npb24tYmctb24pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5zZXNzaW9uc19fdGltZS0tc3BlY2lhbC1ldmVudCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB0aGVtaWZ5KGJvb2tpbmctc2Vzc2lvbi1zcGVjaWFsLWV2ZW50KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShib29raW5nLXNlc3Npb24tc3BlY2lhbC1ldmVudC1iZyk7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyLCAubm8tdG91Y2ggJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdGhlbWlmeShib29raW5nLXNlc3Npb24tc3BlY2lhbC1ldmVudC1vbik7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KGJvb2tpbmctc2Vzc2lvbi1zcGVjaWFsLWV2ZW50LW9uLWJnKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxpID4gYSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2Vzc2lvbnNfX2J5LWRhdGUge1xyXG4gICAgJjpmaXJzdC1jaGlsZCB7IFxyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7IFxyXG4gICAgICAgIC5wbGFubmVyICYge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA3cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAmLmlzLXNob3dpbmcge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyBibG9jayB0aGUgYWJvdmUgZm9yIHRoZSBwbGFubmVyIHNlc3Npb25zXHJcbiAgICAucGxhbm5lciAmIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLnNlc3Npb25zX190aW1lLFxyXG4uc2Vzc2lvbnNfX2xpc3Qge1xyXG4gICAgXHJcbiAgICAvLyB0aXBweSB0aGVtZSBvdmVycmlkZXMgXHJcbiAgICAvLyBodHRwczovL2F0b21pa3MuZ2l0aHViLmlvL3RpcHB5anMvI3RoZW1lc1xyXG4gICAgLnRpcHB5LXBvcHBlciB7XHJcblxyXG4gICAgICAgIC50aXBweS10b29sdGlwIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAycHggM3B4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcclxuICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRpcHB5LWNvbnRlbnQge1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudGlwcHktdG9vbHRpcC5maXJzdC1vcHRpb24taGFzLWZvY3VzIC50aXBweS1hcnJvdyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRoZW1pZnkocHJpbWFyeSk7XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZSxcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudGlwcHktYXJyb3cge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCkgdHJhbnNsYXRlWCgtMTVweCkgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZXNzaW9uc19fdGltZS1zdGFyIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICBmaWxsOiB0aGVtaWZ5KHNlc3Npb24tZXZlbnQtc3Rhcik7XHJcbn1cclxuXHJcbi5zZXNzaW9uc19fYXR0cmlidXRlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICB0b3A6IDNweDtcclxuICAgIHBhZGRpbmc6IDNweCA0cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgLy8gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBlZWYge1xyXG4gICAgICAgIEBleHRlbmQgJWplYW5sdWN3ZWI7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBqaWYge1xyXG4gICAgICAgIEBleHRlbmQgJXBvbGFyaXMtYm9sZDtcclxuICAgIH1cclxuICAgICAgICBcclxuICAgIEBpZiAkdGhlbWUgPT0gZmZhIHtcclxuICAgICAgICBcclxuICAgIH1cclxuICAgICAgICBcclxuICAgIEBpZiAkdGhlbWUgPT0gY2hmIHtcclxuICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAmLnNlbGxpbmctZmFzdCB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1pZnkoYm9va2luZy1hdHRyaWJ1dGUtc2VsbGluZy1mYXN0KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KGJvb2tpbmctYXR0cmlidXRlLXNlbGxpbmctZmFzdC1iZyk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5zb2xkLW91dCB7XHJcbiAgICAgICAgY29sb3I6IHRoZW1pZnkoYm9va2luZy1hdHRyaWJ1dGUtc29sZC1vdXQpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkoYm9va2luZy1hdHRyaWJ1dGUtc29sZC1vdXQtYmcpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2Vzc2lvbnNfX3BvcHVwIHtcclxuXHJcblx0PiAqIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgXHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgY29sb3I6ICMyYjJiMmI7XHJcbiAgICAgICAgcGFkZGluZzogN3B4IDE2cHg7XHJcblxyXG4gICAgICAgIC5uby10b3VjaCAmOmhvdmVyLFxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHByaW1hcnkpO1xyXG4gICAgICAgICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblx0fVxyXG5cdC8vIGJvb2sgdGlja2V0c1xyXG5cdGEge1xyXG5cdFx0dHJhbnNpdGlvbjogbm9uZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gYWRkIHRvIHBsYW5uZXJcclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjBlMTtcclxuICAgIH1cclxufVxyXG4uc2Vzc2lvbnNfX2FkZCB7XHJcbiAgICBcclxuICAgIC5wbGFubmVyICYge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuLnNlc3Npb25zX19yZW1vdmUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBcclxuICAgIC5zY2hlZHVsZSAmLFxyXG4gICAgLnNlc3Npb25zICYge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn0iLCIuc2tpcC10by1jb250ZW50IHtcclxuICAgIEBleHRlbmQgLnUtYWNjZXNzaWJpbGl0eTtcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB6LWluZGV4OiA1MDA7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG5cclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIGNvbG9yOiB0aGVtaWZ5KHVzZXItc2VsZWN0aW9uKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aGVtaWZ5KHVzZXItc2VsZWN0aW9uLWJnKTtcclxuICAgIH1cclxufSIsIi8qXHJcbiAgICBAdXNhZ2UgLSBleHRlbmQgdGhlbiBwb3NpdGlvblxyXG4gICAgQGV4dGVuZCAuc3Bpbm5lcjtcclxuICAgIEBleHRlbmQgLnNwaW5uZXItLXZlcnQtY2VudDtcclxuKi9cclxuLnNwaW5uZXIge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OjEwO1xyXG4gICAgd2lkdGg6IDIzcHg7XHJcbiAgICBoZWlnaHQ6IDIzcHg7XHJcbiAgICBcclxuXHJcbiAgICAvLyB2ZXJ0aWNhbGx5IGNlbnRlclxyXG4gICAgJi0tdmVydC1jZW50IHtcclxuICAgICAgICB0b3A6MDtcclxuICAgICAgICBsZWZ0OjA7XHJcbiAgICAgICAgcmlnaHQ6MDtcclxuICAgICAgICBib3R0b206MDtcclxuICAgICAgICBtYXJnaW46YXV0bztcclxuICAgIH1cclxuXHJcbiAgICAvL2FuaW1hdGlvbjogc3BpbiAuNnMgc3RlcHMoOCwgZW5kKSBpbmZpbml0ZTsgLy8gc3RlcHNcclxuICAgIFxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGJvcmRlcjogM3B4IHJnYmEoI2ZmZiwwLjI1KSBzb2xpZDtcclxuICAgICAgICBib3JkZXItdG9wOiAzcHggcmdiYSgjZmZmLDAuOCkgc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIGFuaW1hdGlvbjogc3BpbiAuNHMgaW5maW5pdGUgbGluZWFyO1xyXG4gICAgfVxyXG59XHJcbkBrZXlmcmFtZXMgc3BpbiB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgIH1cclxufSIsIi53eXNpd3lnIHtcclxuICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcblxyXG4gICAgaDEge1xyXG4gICAgICAgIEBleHRlbmQgLmgxO1xyXG4gICAgfVxyXG5cclxuICAgIGgyIHtcclxuICAgICAgICBAZXh0ZW5kIC5oMjtcclxuICAgIH1cclxuXHJcbiAgICBoMyB7XHJcbiAgICAgICAgQGV4dGVuZCAuaDM7XHJcbiAgICB9XHJcblxyXG4gICAgaDQge1xyXG4gICAgICAgIEBleHRlbmQgLmg0O1xyXG4gICAgfVxyXG5cclxuICAgIGg1IHtcclxuICAgICAgICBAZXh0ZW5kIC5oNTtcclxuICAgIH1cclxuXHJcbiAgICBoNiB7XHJcbiAgICAgICAgQGV4dGVuZCAuaDY7XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgQGV4dGVuZCAucDtcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgICBAaW5jbHVkZSB1LWxpbmstaG92ZXIodGhlbWlmeShsaW5rKSwgdGhlbWlmeShsaW5rLWhvdmVyKSwgJGhvdmVyLWRlY29yYXRpb246IHVuZGVybGluZSk7XHJcblxyXG4gICAgICAgICY6dmlzaXRlZCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB0aGVtaWZ5KGxpbmstdmlzaXRlZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG5cclxuICAgIGxpIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS43OGVtO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjRlbTtcclxuXHJcbiAgICAgICAgJiArIGxpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogY2FsYygtMS40ZW0gKiAwLjc1KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi0tY2VudGVyZWQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAubC1jb250YWluZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogJGNvbnRlbnQtd2lkdGg7XHJcbiAgICB9XHJcblxyXG4gICAgaWZyYW1lIHtcclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgYmxvY2txdW90ZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHAtbWFyZ2luLWJvdHRvbTtcclxuICAgICAgICBmb250LXNpemU6IDIxcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIEBpZiAkdGhlbWUgPT0gZmZhIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAlcHJveGltYS1ib2xkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY2l0ZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogZGlzYztcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgcC5GbGV4IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogLTVweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcC5GbGV4IGRpdiB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIkdGhlbWU6IGppZjtcbi8vIGd1bHAtaGVhZGVyIGFkZHMgJHRoZW1lOiB7e3RoZW1lfX0gaGVyZS4uLlxyXG5cclxuLy8gb3ZlcnJpZGUgYnJlYWtwb2ludHNcclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgICAncGhvbmUnOiAxcHgsICAgLy8gc3BlY2lmaWVkIGZvciBqc1xyXG4gICAgJ3RhYmxldCc6IDYwMHB4LFxyXG4gICAgJ3RhYmxldC1sYW5kc2NhcGUnOiA5MDBweCxcclxuICAgICdkZXNrdG9wJzogMTIwMHB4LFxyXG5cdCd3aWRlc2NyZWVuJzogMTgwMHB4XHJcbik7XHJcblxyXG4kY29udGVudC13aWR0aDogNzc2cHg7XHJcblxyXG4vLyBndXR0ZXIgZGVmYXVsdFxyXG5AbG9zdCBndXR0ZXIgMjBweDtcclxuXHJcbkBpbXBvcnQgJ3RoZW1lJztcclxuQGltcG9ydCAndmVuZG9yL2FsbCc7XHJcbkBpbXBvcnQgJ2Jhc2UvYWxsJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9hbGwnO1xyXG5cclxuXHJcbiogeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcblxyXG5odG1sIHtcclxuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xyXG59XHJcblxyXG5ib2R5IHtcclxuICAgICYuaXBob25lIHtcclxuICAgICAgICB3aWR0aDogMTAwdnc7IC8vIGlwaG9uZSBpZnJhbWUgY2hpbGQgZml4XHJcbiAgICB9XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeSgncGFnZS1iZycpO1xyXG5cclxuICAgICYuZGVidWcge1xyXG4gICAgICAgIC8vIGRlYnVnIGdyaWRcclxuICAgICAgICBsb3N0LXV0aWxpdHk6IGVkaXQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIHVuZGVybGF5ICsgc2Nyb2xsIGJsb2NraW5nXHJcbiAgICAqL1xyXG4gICAgJi5uYXYtb3BlbixcclxuICAgICYuc2VhcmNoLWFjdGl2ZSxcclxuICAgICYucGxhbm5lci1hY3RpdmUsXHJcbiAgICAmLnZvdGluZy1hcmVhLWFjdGl2ZSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDoxMDAlO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDUwMDtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE4cyBsaW5lYXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIGNvbnRlbnQ6Jyc7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHRvcDogMzZweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC40NSk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgIH1cclxufVxyXG5cclxuaWZyYW1lIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxufSIsIkBpbXBvcnQgJy4vd3lzaXd5Zyc7XHJcblxyXG4uc3BvbnNvcnNfX3RpdGxlIHtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjaztcclxufVxyXG5cclxuJXNwb25zb3JzLXVsIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIG1heC13aWR0aDogMTUwcHg7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTIwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIDE1cHggIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgJi5sYXJnZS1zcG9uc29yIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcclxuICAgICAgICAgICAgLy9tYXgtaGVpZ2h0OiB1bnNldDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuc21hbGxlci1sb2dvIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMzVweDtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogODVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zcG9uc29yc19fbGlzdCB7XHJcbiAgICBAZXh0ZW5kICVzcG9uc29ycy11bDtcclxufVxyXG4uc3BvbnNvcnNfX2xpbmtzIHtcclxuICAgIEBleHRlbmQgJXNwb25zb3JzLXVsO1xyXG4gICAgXHJcbiAgICBsaSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDIwcHggMjBweCAwICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB1LWxpbmstaG92ZXIodGhlbWlmeSh0ZXh0KXRoZW1pZnkocHJpbWFyeSkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIkc3Vic2NyaWJlLXRleHQ6IHRoZW1pZnkoc3Vic2NyaWJlLXRleHQpO1xyXG5cclxuLnN1YnNjcmliZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcclxuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeSgnc3Vic2NyaWJlLWJnJyk7XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBlZWYge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvZWVmZi9zdWJzY3JpYmUtZm9ybS1iZ0ltYWdlLmpwZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIH1cclxuXHJcbiAgICAuY2hmICYge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG5cclxuICAgICAgICAuZmxhaXItaGVhZGluZyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubC1jb250YWluZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogJGNvbnRlbnQtd2lkdGg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzwxMTAwcHgnKSB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49MTEwMHB4Jykge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA4MHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3Vic2NyaWJlX19mb3JtIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG4gICAgLmlzLXN1Y2Nlc3MgJixcclxuICAgIC5pcy1mYWlsICYge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgICsgLnN1YnNjcmliZV9fZGlzY2xhaW1lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgIC5idG4ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuICAgICAgICAuYnRuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5idG5fX3NwaW5uZXIge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBib3JkZXI6IDRweCByZ2JhKHdoaXRlLCAwLjI1KSBzb2xpZDtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogNHB4IHJnYmEod2hpdGUsIDAuOCkgc29saWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5mb3JtX19maWVsZCxcclxuICAgIC5mb3JtX19zZWxlY3Qge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XHJcblxyXG4gICAgICAgICYuaXMtaW52YWxpZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm1fX2ZpZWxkLWxhYmVsIHtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm1fX2ZpZWxkLWVycm9yIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0LFxyXG4gICAgc2VsZWN0IHtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDIycHggMjBweCAxOHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xyXG4gICAgfVxyXG59XHJcbi5zdWJzY3JpYmVfX2NvbHMge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGxvc3QtZmxleC1jb250YWluZXI6IHJvdztcclxuICAgIH1cclxufVxyXG4uc3Vic2NyaWJlX19jb2wge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgIGxvc3QtY29sdW1uOiAxLzIgMiAxNXB4O1xyXG4gICAgfVxyXG59XHJcbi5zdWJzY3JpYmVfX2hlYWRpbmcge1xyXG4gICAgQGV4dGVuZCAuaDM7XHJcbiAgICBjb2xvcjogJHN1YnNjcmliZS10ZXh0O1xyXG59XHJcbi5zdWJzY3JpYmVfX2Rlc2Mge1xyXG4gICAgQGV4dGVuZCAucDtcclxuICAgIGNvbG9yOiAkc3Vic2NyaWJlLXRleHQ7XHJcbn1cclxuLnN1YnNjcmliZV9fZGlzY2xhaW1lciB7XHJcbiAgICBjb2xvcjogJHN1YnNjcmliZS10ZXh0O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgIG1hcmdpbi10b3A6IDQ1cHg7XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBlZWYge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJHRoZW1lID09IGppZiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgfVxyXG4gICAgICAgIFxyXG4gICAgQGlmICR0aGVtZSA9PSBmZmEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIH1cclxuICAgICAgICBcclxuICAgIEBpZiAkdGhlbWUgPT0gY2hmIHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdWJzY3JpYmVfX2ZlZWRiYWNrIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiAkc3Vic2NyaWJlLXRleHQ7XHJcbn1cclxuLnN1YnNjcmliZV9fc3VjY2VzcyB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgIC5pcy1zdWNjZXNzICYge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcbi5zdWJzY3JpYmVfX2ZhaWwge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAuaXMtZmFpbCAmIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufSIsIi8vIEBtb2QgLnN3aXBlci0td2lkZVxyXG4uc3dpcGVyIHtcclxuICAgIFxyXG4gICAgLy8gb3ZlcnJpZGVzXHJcblxyXG4gICAgJi0tc2luZ2xlLXNsaWRlIHtcclxuICAgICAgICAuc3dpcGVyLXBhZ2luYXRpb24sXHJcbiAgICAgICAgLnN3aXBlci1idXR0b24tcHJldixcclxuICAgICAgICAuc3dpcGVyLWJ1dHRvbi1uZXh0IHsgXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zd2lwZXItd3JhcHBlciB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcclxuICAgICAgICBib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICB9XHJcblxyXG4gICAgLnN3aXBlci1idXR0b24tbmV4dCxcclxuICAgIC5zd2lwZXItYnV0dG9uLXByZXYge1xyXG4gICAgICAgIEBpbmNsdWRlIHUtZXh0ZW5kLWhpdGJveCgpO1xyXG4gICAgICAgIEBpbmNsdWRlIHUtZm9udC1zbW9vdGgoKTtcclxuICAgICAgICB6LWluZGV4OiAxMjtcclxuICAgICAgICBmb250LXNpemU6IDUwcHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMzVzIGVhc2UoJ291dC1xdWFkJyk7XHJcblxyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgdG9wOiBpbml0aWFsO1xyXG4gICAgICAgICAgICBib3R0b206IDJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJzx0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDM1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubm8tdG91Y2ggJjpob3ZlciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHUtZXh0ZW5kLWhpdGJveCgkc2l6ZToyMHB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcclxuICAgICAgICByaWdodDogMyU7XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiA2JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uby10b3VjaCAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoMzAlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcclxuICAgICAgICBsZWZ0OiAzJTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDYlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm5vLXRvdWNoICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtMzAlKTtcclxuICAgICAgICB9XHJcbiAgICB9ICBcclxuXHJcbiAgICAvLyBmdWxsIHNjcmVlblxyXG4gICAgJi0td2lkZSAubC1jb250YWluZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogMTkyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5sLWd1dHRlcnMge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbn1cclxuLnN3aXBlci1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuLnN3aXBlcl9faW1nLXdyYXAge1xyXG5cclxuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IC8vIDE2OjlcclxuXHJcbiAgICAuc3dpcGVyLS13aWRlICYge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCA2MHZoO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgNDIuODU3MSU7IC8vIDIxOjlcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICBvYmplY3QtcG9zaXRpb246IDUwJSAzNSU7XHJcbiAgICB9XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogNTAlO1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMCksIHJnYmEoMCwgMCwgMCwgMC41KSk7XHJcbiAgICB9XHJcblxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIGN1cnNvcjogZ3JhYmJpbmc7XHJcbiAgICB9XHJcblxyXG5cdC5pZTExICYgYSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHJcblx0XHRpbWcge1xyXG5cdFx0XHRoZWlnaHQ6YXV0bztcclxuXHRcdH1cclxuXHR9XHJcblxyXG4gICAgaDMge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB0ZXh0LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICBib3R0b206IDUwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgICAgIHRvcDogNDglO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiAqIHtcclxuICAgICAgICAgICAgd2lkdGg6IDgwJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDk1JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN3aXBlcl9fdGl0bGUge1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAuc3dpcGVyX19zdWJ0aXRsZSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnN3aXBlcl9fdGl0bGUge1xyXG4gICAgY29sb3I6IHRoZW1pZnkoc3dpcGVyLXRpdGxlKTtcclxuICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNTZweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJHRoZW1lID09IGVlZiB7XHJcbiAgICAgICAgQGV4dGVuZCAlamVhbmx1Y3dlYjtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG4gICAgICAgIFxyXG4gICAgQGlmICR0aGVtZSA9PSBmZmEge1xyXG4gICAgICAgIEBleHRlbmQgJXByb3hpbWEtYmxhY2s7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJHRoZW1lID09IGNoZiB7XHJcbiAgICAgICAgQGV4dGVuZCAlc3VuZGF5LW1vcm5pbmc7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIH1cclxufVxyXG5cclxuLnN3aXBlcl9fc3VidGl0bGUge1xyXG4gICAgY29sb3I6IHRoZW1pZnkoc3dpcGVyLXN1YnRpdGxlKTtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuLnN3aXBlcl9fdmlkZW8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZXooMCk7XHJcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLTRweDtcclxuICAgIGxlZnQ6IC00cHg7XHJcbiAgICByaWdodDogLTRweDtcclxuICAgIGJvdHRvbTogLTRweDtcclxuXHJcbiAgICB2aWRlbyB7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlLW91dCAwcztcclxuICAgICAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlLW91dCAwcztcclxuICAgICAgICAtbXMtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2Utb3V0IDBzO1xyXG4gICAgICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlLW91dCAwcztcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZS1vdXQgMHM7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTElO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcblxyXG4gICAgICAgICYubG9hZGVkIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIudm90aW5nX19hcmVhIHtcclxuICAgIG1hcmdpbjogNDBweCAwcHg7XHJcbn1cclxuXHJcbi52b3RlX19mZWVkYmFjay1oZWFkaW5nIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBAZXh0ZW5kIC5oMztcclxufVxyXG5cclxuLnZvdGluZyB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4udm90aW5nX19mb3JtIHtcclxuICAgIC5pcy1zdWNjZXNzICYsXHJcbiAgICAuaXMtZmFpbCAmIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4udm90ZV9fc3VjY2VzcywgXHJcbi52b3RlX19mYWlsIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi52b3RlX19zdWNjZXNzIHtcclxuICAgIC5pcy1zdWNjZXNzICYge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59IiwiLkNsb3NlOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogJ3gnO1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogLTJweDtcclxuICAgIGNvbG9yOiAjZjI2NjQ5O1xyXG59XHJcblxyXG4uZmVzdGl2YWxzLW1vZGFsX19jb250ZW50IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRoZW1pZnkobW9kYWwtYmcpO1xyXG59XHJcblxyXG4uZmVzdGl2YWxzLW1vZGFsX193eXNpd3lnIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbn1cclxuXHJcbiAgICAuZmVzdGl2YWxzLW1vZGFsX193eXNpd3lnIGgxLCAuZmVzdGl2YWxzLW1vZGFsX193eXNpd3lnIGgyLCAuZmVzdGl2YWxzLW1vZGFsX193eXNpd3lnIGgzLCAuZmVzdGl2YWxzLW1vZGFsX193eXNpd3lnIGg0IHtcclxuICAgICAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICBmb250LWZhbWlseTogYW50d2VycDtcclxuICAgIH1cclxuXHJcbiAgICAuZmVzdGl2YWxzLW1vZGFsX193eXNpd3lnIHAge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgfVxyXG4ubW9kYWwtY29udGVudCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG59XHJcblxyXG4ubW9kYWwtY29udGVudCwgLmZlc3RpdmFscy1tb2RhbF9fd3lzaXd5ZyB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDY0cHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NHB4O1xyXG59XHJcblxyXG5AbWVkaWEobWF4LXdpZHRoOiA2NDBweCkge1xyXG4gICAgLmZlc3RpdmFscy1tb2RhbCBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmZlc3RpdmFscy1tb2RhbF9fd3lzaXd5ZyB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAubW9kYWwtY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAubW9kYWwtY29udGVudCwgLmZlc3RpdmFscy1tb2RhbF9fd3lzaXd5ZyB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMnB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7XHJcbiAgICB9XHJcbn0iLCLvu786cm9vdCB7XHJcbiAgICAtLWdsLXN0YXItY29sb3I6ICNmZGQ4MzU7XHJcbiAgICAtLWdsLXN0YXItY29sb3ItaW5hY3RpdmU6ICNkY2RjZTY7XHJcbiAgICAtLWdsLXN0YXItZW1wdHk6IHVybCguLi9pbWcvcmF0aW5ncy9zdGFyLWVtcHR5LnN2Zyk7XHJcbiAgICAtLWdsLXN0YXItZnVsbDogdXJsKC4uL2ltZy9yYXRpbmdzL3N0YXItZnVsbC5zdmcpO1xyXG4gICAgLS1nbC1zdGFyLXNpemU6IDQwcHg7XHJcbiAgICAtLWdsLXRvb2x0aXAtYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgLS1nbC10b29sdGlwLWZvbnQtc2l6ZTogMC44NzVyZW07XHJcbiAgICAtLWdsLXRvb2x0aXAtZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIC0tZ2wtdG9vbHRpcC1saW5lLWhlaWdodDogMTtcclxuICAgIC0tZ2wtdG9vbHRpcC1tYXJnaW46IDEycHg7XHJcbiAgICAtLWdsLXRvb2x0aXAtcGFkZGluZzogMC41ZW0gMWVtO1xyXG4gICAgLS1nbC10b29sdGlwLXNpemU6IDZweDtcclxufVxyXG5cclxuW2RhdGEtc3Rhci1yYXRpbmddID4gc2VsZWN0IHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogY2lyY2xlKDFweCBhdCAwIDApICFpbXBvcnRhbnQ7XHJcbiAgICBjbGlwLXBhdGg6IGNpcmNsZSgxcHggYXQgMCAwKSAhaW1wb3J0YW50O1xyXG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpICFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbltkYXRhLXN0YXItcmF0aW5nXSA+IHNlbGVjdDphZnRlcixcclxuW2RhdGEtc3Rhci1yYXRpbmddID4gc2VsZWN0OmJlZm9yZSB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbltkYXRhLXN0YXItcmF0aW5nXS5nbC1zdGFyLXJhdGluZy0tbHRyID4gc2VsZWN0IHtcclxuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuW2RhdGEtc3Rhci1yYXRpbmddLmdsLXN0YXItcmF0aW5nLS1ydGwgPiBzZWxlY3Qge1xyXG4gICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuW2RhdGEtc3Rhci1yYXRpbmddIHtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uZ2wtc3Rhci1yYXRpbmc6bm90KFtkYXRhLXN0YXItcmF0aW5nXSkgLmdsLXN0YXItcmF0aW5nLS1zdGFycyB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG5bZGF0YS1zdGFyLXJhdGluZ10gLmdsLXN0YXItcmF0aW5nLS1zdGFycyB7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuW2RhdGEtc3Rhci1yYXRpbmddID4gc2VsZWN0OmZvY3VzICsgLmdsLXN0YXItcmF0aW5nLS1zdGFycyBzcGFuOmZpcnN0LWNoaWxkOmJlZm9yZSB7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggLW1vei1tYWMtZm9jdXNyaW5nO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCBIaWdobGlnaHQ7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5bZGF0YS1zdGFyLXJhdGluZ10gc2VsZWN0W2Rpc2FibGVkXSArIC5nbC1zdGFyLXJhdGluZy0tc3RhcnMge1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcblxyXG5bZGF0YS1zdGFyLXJhdGluZ10gLmdsLXN0YXItcmF0aW5nLS1zdGFycyA+IHNwYW4ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGhlaWdodDogMjRweDtcclxuICAgIGhlaWdodDogdmFyKC0tZ2wtc3Rhci1zaXplKTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgd2lkdGg6IHZhcigtLWdsLXN0YXItc2l6ZSk7XHJcbn1cclxuXHJcbltkYXRhLXN0YXItcmF0aW5nXSAuZ2wtc3Rhci1yYXRpbmctLXN0YXJzW2FyaWEtbGFiZWxdOmFmdGVyLFxyXG5bZGF0YS1zdGFyLXJhdGluZ10gLmdsLXN0YXItcmF0aW5nLS1zdGFyc1thcmlhLWxhYmVsXTpiZWZvcmUge1xyXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBib3R0b206IGF1dG87XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgbGVmdDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB6LWluZGV4OiAxMDtcclxufVxyXG5cclxuW2RhdGEtc3Rhci1yYXRpbmddIC5nbC1zdGFyLXJhdGluZy0tc3RhcnNbYXJpYS1sYWJlbF06YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMzYnJTNFJTNDcGF0aCBmaWxsPSdyZ2JhKDE3LCAxNywgMTcsIDAuOSknIGQ9J00xMiAyLjY1OHYzMi4wMDRjMC02LTEyLjAwMi0xMS42MjctMTIuMDAyLTE2LjAwMkMtLjAwMiAxNC4yODUgMTIgOC41OTQgMTIgMi42NTh6Jy8lM0UlM0Mvc3ZnJTNFXCIpIG5vLXJlcGVhdDtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDZweDtcclxuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1nbC10b29sdGlwLXNpemUpO1xyXG4gICAgd2lkdGg6IDZweDtcclxuICAgIHdpZHRoOiB2YXIoLS1nbC10b29sdGlwLXNpemUpO1xyXG59XHJcblxyXG5bZGF0YS1zdGFyLXJhdGluZ10gLmdsLXN0YXItcmF0aW5nLS1zdGFyc1thcmlhLWxhYmVsXTphZnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE3LCAxNywgMTcsIDAuOSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1nbC10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBjb250ZW50OiBhdHRyKGFyaWEtbGFiZWwpO1xyXG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcclxuICAgIGZvbnQtc2l6ZTogdmFyKC0tZ2wtdG9vbHRpcC1mb250LXNpemUpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdsLXRvb2x0aXAtbWFyZ2luKTtcclxuICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcclxuICAgIHBhZGRpbmc6IHZhcigtLWdsLXRvb2x0aXAtcGFkZGluZyk7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuW2RhdGEtc3Rhci1yYXRpbmddLmdsLXN0YXItcmF0aW5nLS1ydGwgLmdsLXN0YXItcmF0aW5nLS1zdGFyc1thcmlhLWxhYmVsXTphZnRlcixcclxuW2RhdGEtc3Rhci1yYXRpbmddLmdsLXN0YXItcmF0aW5nLS1ydGwgLmdsLXN0YXItcmF0aW5nLS1zdGFyc1thcmlhLWxhYmVsXTpiZWZvcmUge1xyXG4gICAgbGVmdDogYXV0bztcclxuICAgIHJpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG5bZGF0YS1zdGFyLXJhdGluZ10uZ2wtc3Rhci1yYXRpbmctLXJ0bCAuZ2wtc3Rhci1yYXRpbmctLXN0YXJzW2FyaWEtbGFiZWxdOmJlZm9yZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMzYnJTNFJTNDcGF0aCBmaWxsPSdyZ2JhKDE3LCAxNywgMTcsIDAuOSknIGQ9J00wIDMzLjM0MlYxLjMzOGMwIDYgMTIuMDAyIDExLjYyNyAxMi4wMDIgMTYuMDAyQzEyLjAwMiAyMS43MTUgMCAyNy40MDYgMCAzMy4zNDJ6Jy8lM0UlM0Mvc3ZnJTNFXCIpIG5vLXJlcGVhdDtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdsLXRvb2x0aXAtc2l6ZSk7XHJcbn1cclxuXHJcbltkYXRhLXN0YXItcmF0aW5nXS5nbC1zdGFyLXJhdGluZy0tcnRsIC5nbC1zdGFyLXJhdGluZy0tc3RhcnNbYXJpYS1sYWJlbF06YWZ0ZXIge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdsLXRvb2x0aXAtbWFyZ2luKTtcclxufVxyXG5cclxuW2RhdGEtc3Rhci1yYXRpbmddIHN2ZyB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuW2RhdGEtc3Rhci1yYXRpbmddIC5nbC1zdGFyLWhhbGYge1xyXG4gICAgZmlsbDogbm9uZTtcclxuICAgIHN0cm9rZTogbm9uZTtcclxufVxyXG5cclxuW2RhdGEtc3Rhci1yYXRpbmddIC5nbC1zdGFyLWZ1bGwge1xyXG4gICAgZmlsbDogI2RjZGNlNjtcclxuICAgIGZpbGw6IHZhcigtLWdsLXN0YXItY29sb3ItaW5hY3RpdmUpO1xyXG4gICAgc3Ryb2tlOiAjZGNkY2U2O1xyXG4gICAgc3Ryb2tlOiB2YXIoLS1nbC1zdGFyLWNvbG9yLWluYWN0aXZlKTtcclxuICAgIHRyYW5zaXRpb246IGZpbGwgMC4xNXMgZWFzZS1pbi1vdXQsIHN0cm9rZSAwLjE1cyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuW2RhdGEtc3Rhci1yYXRpbmddIC5nbC1hY3RpdmUgLmdsLXN0YXItZnVsbCB7XHJcbiAgICBmaWxsOiAjZmRkODM1O1xyXG4gICAgZmlsbDogdmFyKC0tZ2wtc3Rhci1jb2xvcik7XHJcbiAgICBzdHJva2U6ICNmZGQ4MzU7XHJcbiAgICBzdHJva2U6IHZhcigtLWdsLXN0YXItY29sb3IpO1xyXG59XHJcblxyXG5bZGF0YS1zdGFyLXJhdGluZ10gLmdsLXN0YXItcmF0aW5nLS1zdGFyc1tjbGFzcyo9XCIgc1wiXSA+IHNwYW4ge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9yYXRpbmdzL3N0YXItZW1wdHkuc3ZnKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWdsLXN0YXItZW1wdHkpO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogOTAlO1xyXG59XHJcblxyXG5bZGF0YS1zdGFyLXJhdGluZ10gLmdsLXN0YXItcmF0aW5nLS1zdGFycy5zMTAgPiBzcGFuOmZpcnN0LWNoaWxkLFxyXG5bZGF0YS1zdGFyLXJhdGluZ10gLmdsLXN0YXItcmF0aW5nLS1zdGFycy5zMjAgPiBzcGFuOm50aC1jaGlsZCgtMW4gKyAyKSxcclxuW2RhdGEtc3Rhci1yYXRpbmddIC5nbC1zdGFyLXJhdGluZy0tc3RhcnMuczMwID4gc3BhbjpudGgtY2hpbGQoLTFuICsgMyksXHJcbltkYXRhLXN0YXItcmF0aW5nXSAuZ2wtc3Rhci1yYXRpbmctLXN0YXJzLnM0MCA+IHNwYW46bnRoLWNoaWxkKC0xbiArIDQpLFxyXG5bZGF0YS1zdGFyLXJhdGluZ10gLmdsLXN0YXItcmF0aW5nLS1zdGFycy5zNTAgPiBzcGFuOm50aC1jaGlsZCgtMW4gKyA1KSxcclxuW2RhdGEtc3Rhci1yYXRpbmddIC5nbC1zdGFyLXJhdGluZy0tc3RhcnMuczYwID4gc3BhbjpudGgtY2hpbGQoLTFuICsgNiksXHJcbltkYXRhLXN0YXItcmF0aW5nXSAuZ2wtc3Rhci1yYXRpbmctLXN0YXJzLnM3MCA+IHNwYW46bnRoLWNoaWxkKC0xbiArIDcpLFxyXG5bZGF0YS1zdGFyLXJhdGluZ10gLmdsLXN0YXItcmF0aW5nLS1zdGFycy5zODAgPiBzcGFuOm50aC1jaGlsZCgtMW4gKyA4KSxcclxuW2RhdGEtc3Rhci1yYXRpbmddIC5nbC1zdGFyLXJhdGluZy0tc3RhcnMuczkwID4gc3BhbjpudGgtY2hpbGQoLTFuICsgOSksXHJcbltkYXRhLXN0YXItcmF0aW5nXSAuZ2wtc3Rhci1yYXRpbmctLXN0YXJzLnMxMDAgPiBzcGFuIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcmF0aW5ncy9zdGFyLWZ1bGwuc3ZnKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWdsLXN0YXItZnVsbCk7XHJcbn1cclxuIiwi77u/JHBsYW5uZXJIZWxwTXNnSGVpZ2h0OiAxNDBweDtcclxuXHJcbi52b3RpbmctYXJlYSB7XHJcbiAgICB6LWluZGV4OiAxMDEwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdGhlbWlmeShwbGFubmVyLWJnKTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiA0OHB4O1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IC40cyBlYXNlKG91dC1xdWFydCkgMHM7XHJcblxyXG4gICAgICAgIC52b3RpbmctYXJlYS1hY3RpdmUgJiB7XHJcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygodmFyKC0tdmgsIDF2aCkgKiAxMDApIC0gNDhweCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAuNHMgLjA2cztcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1MHB4OyAvLyBpcGhvbmUgdGFiYmFyIGNvdmVycyB2aWV3cG9ydFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDogNjFweDtcclxuICAgICAgICB3aWR0aDogNzAwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgICAgICBib3gtc2hhZG93OiAtMnB4IDAgMCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDEsIDEpO1xyXG5cclxuICAgICAgICAudm90aW5nLWFyZWEtYWN0aXZlICYge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4wLCAwLjAsIDAuMiwgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50aXBweS1wb3BwZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIH1cclxufVxyXG5cclxuLnZvdGluZ19faGVhZGluZyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0aGVtaWZ5KGRpdmlkZXIpO1xyXG4gICAgcGFkZGluZzogMTNweCAwIDExcHg7XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBlZWYge1xyXG4gICAgICAgIEBleHRlbmQgJWplYW5sdWN3ZWI7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBqaWYge1xyXG4gICAgICAgIEBleHRlbmQgJXBvbGFyaXMtYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJHRoZW1lID09IGZmYSB7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBjaGYge1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xyXG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcclxuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0aGVtaWZ5KGRpdmlkZXIpO1xyXG4gICAgfVxyXG59XHJcblxyXG4udm90aW5nLWFyZWFfX2Nsb3NlIHtcclxuICAgIEBpbmNsdWRlIHUtZXh0ZW5kLWhpdGJveCgpO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNXB4KSB0cmFuc2xhdGVZKDFweCk7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgY29sb3I6IHRoZW1pZnkocHJpbWFyeSk7XHJcbn1cclxuXHJcbi52b3RpbmctdGV4dCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS43O1xyXG4gICAgbWFyZ2luLXRvcDogNDBweDtcclxuXHJcbiAgICAuaXMtZW1wdHkgJiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLmlzLXZhbGlkYXRpbmctZW1haWwgJixcclxuICAgIC5pcy1yZXR1cm5pbmctdXNlciAmLFxyXG4gICAgLmlzLW5ldy11c2VyICYsXHJcbiAgICAuaXMtcmVzZXR0aW5nLXBhc3N3b3JkICYsXHJcbiAgICAuaXMtZmFjZWJvb2stdXNlci1uby1wdyAmIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIGJ1dHRvbiwgYSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgQGluY2x1ZGUgdS1leHRlbmQtaGl0Ym94KCk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uZ2wtc3Rhci1yYXRpbmctLXN0YXJzIHtcclxuICAgIG1hcmdpbjogMTZweCBhdXRvIDA7XHJcbn1cclxuXHJcbi52b3RpbmdfX2Zvcm0ge1xyXG4gICAgLmZvcm1fX2NvbXBvbmVudCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbjpyb290IHtcclxuICAgIC0tZ2wtc3Rhci1lbXB0eTogdXJsKC4uL2ltZy9yYXRpbmdzL3N0YXItb2ZmLnBuZyk7IC8qIGlmIHVzaW5nIGJhY2tncm91bmQgaW1hZ2VzICovXHJcbiAgICAtLWdsLXN0YXItZnVsbDogdXJsKC4uL2ltZy9yYXRpbmdzL3N0YXItb24ucG5nKTsgLyogaWYgdXNpbmcgYmFja2dyb3VuZCBpbWFnZXMgKi9cclxuXHJcbiAgICBAaWYgJHRoZW1lID09IGVlZiB7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBqaWYge1xyXG4gICAgICAgIC0tZ2wtc3Rhci1jb2xvcjogIzAwNGY3OTtcclxuICAgICAgICAtLWdsLXN0YXItZW1wdHk6IHVybCguLi9pbWcvcmF0aW5ncy9waWNrbGUtb2ZmLnBuZyk7IC8qIGlmIHVzaW5nIGJhY2tncm91bmQgaW1hZ2VzICovXHJcbiAgICAgICAgLS1nbC1zdGFyLWZ1bGw6IHVybCguLi9pbWcvcmF0aW5ncy9waWNrbGUtb24ucG5nKTsgLyogaWYgdXNpbmcgYmFja2dyb3VuZCBpbWFnZXMgKi9cclxuICAgIH1cclxuXHJcbiAgICBAaWYgJHRoZW1lID09IGZmYSB7XHJcbiAgICAgICAgLS1nbC1zdGFyLWVtcHR5OiB1cmwoLi4vaW1nL3JhdGluZ3MvZXllLW9mZi5wbmcpOyAvKiBpZiB1c2luZyBiYWNrZ3JvdW5kIGltYWdlcyAqL1xyXG4gICAgICAgIC0tZ2wtc3Rhci1mdWxsOiB1cmwoLi4vaW1nL3JhdGluZ3MvZXllLW9uLnBuZyk7IC8qIGlmIHVzaW5nIGJhY2tncm91bmQgaW1hZ2VzICovXHJcbiAgICB9XHJcblxyXG4gICAgQGlmICR0aGVtZSA9PSBjaGYge1xyXG4gICAgfVxyXG59Il19 */
