@charset "UTF-8";
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

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

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

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

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block; }

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

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */ }

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

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

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic; }

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

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block; }

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

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none; }

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

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

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

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

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

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block; }

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

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

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

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

body {
  -webkit-backface-visibility: hidden; }

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s; }

@-webkit-keyframes flash {
  0%, 50%, 100% {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }

@keyframes flash {
  0%, 50%, 100% {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }

.flash {
  -webkit-animation-name: flash;
  animation-name: flash; }

@-webkit-keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateX(-10px); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translateX(10px); } }

@keyframes shake {
  0%, 100% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translateX(10px);
            transform: translateX(10px); } }

.shake {
  -webkit-animation-name: shake;
  animation-name: shake; }

@-webkit-keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0); }
  40% {
    -webkit-transform: translateY(-30px); }
  60% {
    -webkit-transform: translateY(-15px); } }

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  40% {
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  60% {
    -webkit-transform: translateY(-15px);
            transform: translateY(-15px); } }

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce; }

@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1); }
  10%, 20% {
    -webkit-transform: scale(0.9) rotate(-3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale(1.1) rotate(3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale(1.1) rotate(-3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0); } }

@keyframes tada {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  10%, 20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
            transform: scale(0.9) rotate(-3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale(1.1) rotate(3deg);
            transform: scale(1.1) rotate(3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
            transform: scale(1.1) rotate(-3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
            transform: scale(1) rotate(0); } }

.tada {
  -webkit-animation-name: tada;
  animation-name: tada; }

@-webkit-keyframes swing {
  20%, 40%, 60%, 80%, 100% {
    -webkit-transform-origin: top center; }
  20% {
    -webkit-transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg); } }

@keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
            transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg);
            transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg);
            transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg);
            transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); } }

.swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing; }

@-webkit-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%); } }

@keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
            transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
            transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
            transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
            transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
            transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%); } }

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble; }

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1); }
  50% {
    -webkit-transform: scale(1.1); }
  100% {
    -webkit-transform: scale(1); } }

@keyframes pulse {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse; }

@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in; } }

@keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
            transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
            transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
            transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
            transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
            transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in; } }

.flip {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flip;
  -moz-backface-visibility: visible !important;
  -moz-animation-name: flip;
  -o-backface-visibility: visible !important;
  -o-animation-name: flip;
  backface-visibility: visible !important;
  animation-name: flip; }

@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1; } }

@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
            transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
            transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
            transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
            transform: perspective(400px) rotateX(0deg);
    opacity: 1; } }

.flipInX {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  -moz-backface-visibility: visible !important;
  -moz-animation-name: flipInX;
  -o-backface-visibility: visible !important;
  -o-animation-name: flipInX;
  backface-visibility: visible !important;
  animation-name: flipInX; }

@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

@keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
            transform: perspective(400px) rotateX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
            transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

.flipOutX {
  -webkit-animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  -moz-animation-name: flipOutX;
  -moz-backface-visibility: visible !important;
  -o-animation-name: flipOutX;
  -o-backface-visibility: visible !important;
  animation-name: flipOutX;
  backface-visibility: visible !important; }

@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    opacity: 1; } }

@keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
            transform: perspective(400px) rotateY(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
            transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
            transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
            transform: perspective(400px) rotateY(0deg);
    opacity: 1; } }

.flipInY {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  -moz-backface-visibility: visible !important;
  -moz-animation-name: flipInY;
  -o-backface-visibility: visible !important;
  -o-animation-name: flipInY;
  backface-visibility: visible !important;
  animation-name: flipInY; }

@-webkit-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    opacity: 0; } }

@keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
            transform: perspective(400px) rotateY(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
            transform: perspective(400px) rotateY(90deg);
    opacity: 0; } }

.flipOutY {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  -moz-backface-visibility: visible !important;
  -moz-animation-name: flipOutY;
  -o-backface-visibility: visible !important;
  -o-animation-name: flipOutY;
  backface-visibility: visible !important;
  animation-name: flipOutY; }

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
            transform: translateX(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

@-webkit-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
            transform: translateY(2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig; }

@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
            transform: translateY(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig; }

@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
            transform: translateX(-2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig; }

@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
            transform: translateX(2000px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig; }

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-20px); } }

@keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px); } }

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(20px); } }

@keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px); } }

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-20px); } }

@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px); } }

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft; }

@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(20px); } }

@keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(20px);
            transform: translateX(20px); } }

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight; }

@-webkit-keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px); } }

@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
            transform: translateY(-2000px); } }

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig; }

@-webkit-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px); } }

@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
            transform: translateY(2000px); } }

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig; }

@-webkit-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px); } }

@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
            transform: translateX(-2000px); } }

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig; }

@-webkit-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px); } }

@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
            transform: translateX(2000px); } }

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig; }

@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05); }
  70% {
    -webkit-transform: scale(0.9); }
  100% {
    -webkit-transform: scale(1); } }

@keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
            transform: scale(0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
            transform: scale(1.05); }
  70% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

@-webkit-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px); }
  100% {
    -webkit-transform: translateY(0); } }

@keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
            transform: translateY(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(-30px);
            transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp; }

@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0); } }

@keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
            transform: translateY(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateY(30px);
            transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown; }

@-webkit-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0); } }

@keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
            transform: translateX(-2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(30px);
            transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px); }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft; }

@-webkit-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px); }
  100% {
    -webkit-transform: translateX(0); } }

@keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
            transform: translateX(2000px); }
  60% {
    opacity: 1;
    -webkit-transform: translateX(-30px);
            transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px);
            transform: translateX(10px); }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0); } }

.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight; }

@-webkit-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1); }
  25% {
    -webkit-transform: scale(0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3); } }

@keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  25% {
    -webkit-transform: scale(0.95);
            transform: scale(0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3);
            transform: scale(0.3); } }

.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut; }

@-webkit-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px); } }

@keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
            transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
            transform: translateY(-2000px); } }

.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp; }

@-webkit-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px); } }

@keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
            transform: translateY(2000px); } }

.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown; }

@-webkit-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px); } }

@keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
            transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
            transform: translateX(-2000px); } }

.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft; }

@-webkit-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px); } }

@keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
            transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
            transform: translateX(2000px); } }

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight; }

@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
            transform-origin: center center;
    -webkit-transform: rotate(-200deg);
            transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center;
            transform-origin: center center;
    -webkit-transform: rotate(0);
            transform: rotate(0);
    opacity: 1; } }

.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn; }

@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate(0);
            transform: rotate(0);
    opacity: 1; } }

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft; }

@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate(0);
            transform: rotate(0);
    opacity: 1; } }

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft; }

@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate(0);
            transform: rotate(0);
    opacity: 1; } }

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight; }

@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate(0);
            transform: rotate(0);
    opacity: 1; } }

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight; }

@-webkit-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(200deg);
    opacity: 0; } }

@keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
            transform-origin: center center;
    -webkit-transform: rotate(0);
            transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center;
            transform-origin: center center;
    -webkit-transform: rotate(200deg);
            transform: rotate(200deg);
    opacity: 0; } }

.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut; }

@-webkit-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate(0);
            transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    opacity: 0; } }

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft; }

@-webkit-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate(0);
            transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    opacity: 0; } }

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft; }

@-webkit-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate(0);
            transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    opacity: 0; } }

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight; }

@-webkit-keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; } }

@keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate(0);
            transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    opacity: 0; } }

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight; }

@-webkit-keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
    -webkit-transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate(80deg);
    -webkit-transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out; }
  40% {
    -webkit-transform: rotate(60deg);
    -webkit-transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out; }
  80% {
    -webkit-transform: rotate(60deg) translateY(0);
    opacity: 1;
    -webkit-transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out; }
  100% {
    -webkit-transform: translateY(700px);
    opacity: 0; } }

@keyframes hinge {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
    -webkit-transform-origin: top left;
            transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate(80deg);
            transform: rotate(80deg);
    -webkit-transform-origin: top left;
            transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out; }
  40% {
    -webkit-transform: rotate(60deg);
            transform: rotate(60deg);
    -webkit-transform-origin: top left;
            transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out; }
  80% {
    -webkit-transform: rotate(60deg) translateY(0);
            transform: rotate(60deg) translateY(0);
    opacity: 1;
    -webkit-transform-origin: top left;
            transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out; }
  100% {
    -webkit-transform: translateY(700px);
            transform: translateY(700px);
    opacity: 0; } }

.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge; }

@-webkit-keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg); } }

@keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
            transform: translateX(-100%) rotate(-120deg); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
            transform: translateX(0px) rotate(0deg); } }

.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn; }

@-webkit-keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg); } }

@keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
            transform: translateX(0px) rotate(0deg); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg);
            transform: translateX(100%) rotate(120deg); } }

.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut; }

@-webkit-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

@keyframes lightSpeedIn {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
            transform: translateX(100%) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
            transform: translateX(-20%) skewX(30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
            transform: translateX(0%) skewX(-15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
            transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

.animated.lightSpeedIn {
  -webkit-animation-duration: .5s;
  animation-duration: .5s; }

@-webkit-keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    opacity: 0; } }

@keyframes lightSpeedOut {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
            transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
            transform: translateX(100%) skewX(-30deg);
    opacity: 0; } }

.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

.animated.lightSpeedOut {
  -webkit-animation-duration: .25s;
  animation-duration: .25s; }

@-webkit-keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg); } }

@keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg);
            transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg);
            transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg);
            transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg);
            transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg);
            transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg);
            transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg);
            transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg);
            transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg);
            transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg);
            transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg);
            transform: skewX(0deg); } }

.wiggle {
  -webkit-animation-name: wiggle;
  animation-name: wiggle;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

.animated.wiggle {
  -webkit-animation-duration: .75s;
  animation-duration: .75s; }

.button {
  border-radius: 8px;
  font-size: 1em;
  line-height: 1.6875em;
  padding-top: 0.21094em;
  padding-bottom: 0.21094em;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  padding: .5rem 1rem;
  text-decoration: none;
  -webkit-transition: background .15s;
  transition: background .15s; }
  .button--large {
    font-size: 1.2em; }
  .button--small {
    font-size: 0.83333em; }
  .button--bold {
    font-weight: bold; }
  .button--block {
    display: block;
    width: 100%; }
  .button--upper {
    text-transform: uppercase; }
  .button--cta, .button--submit {
    font-family: "AmbleBold", "Helvetica", "Arial", sans-serif;
    font-style: normal;
    font-weight: normal; }
  .button--cta {
    border-radius: 12px; }
  @media (min-width: 48em) {
    .button {
      font-size: 1.333em;
      line-height: 1.26594em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em;
      padding: .75rem 1.25rem; }
      .button--cta {
        padding: 1rem 1.5rem;
        line-height: 1.5; } }
  .button--default {
    color: #fff;
    background-color: #3467cc;
    border-color: #2952a4; }
    .button--default:hover, .button--default:active {
      background: #2952a4; }
  .button--cta {
    color: #fff;
    background-color: #3467cc;
    border-color: #2952a4; }
    .button--cta:hover, .button--cta:active {
      background: #2952a4; }
  .button--submit {
    color: #fff;
    background-color: #f90;
    border-color: #cc7a00; }
    .button--submit:hover, .button--submit:active {
      background: #cc7a00; }
  .button--success {
    color: #fff;
    background-color: #008000;
    border-color: #004d00; }
    .button--success:hover, .button--success:active {
      background: #004d00; }
  .button--danger {
    color: #fff;
    background-color: #c0392b;
    border-color: #962d22; }
    .button--danger:hover, .button--danger:active {
      background: #962d22; }
  .button--warning {
    color: #fff;
    background-color: #f1c40f;
    border-color: #c29d0b; }
    .button--warning:hover, .button--warning:active {
      background: #c29d0b; }
  .button--info {
    color: #fff;
    background-color: #2980b9;
    border-color: #20638f; }
    .button--info:hover, .button--info:active {
      background: #20638f; }

@font-face {
  font-family: 'AmbleLight';
  font-style: normal;
  font-weight: normal;
  src: url("/fonts/Amble/Amble-Light-webfont.eot");
  src: url("/fonts/Amble/Amble-Light-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/Amble/Amble-Light-webfont.woff") format("woff"), url("/fonts/Amble/Amble-Light-webfont.ttf") format("truetype"), url("/fonts/Amble/Amble-Light-webfont.svg#AmbleLight") format("svg"); }

@font-face {
  font-family: 'AmbleLightItalic';
  font-style: normal;
  font-weight: normal;
  src: url("/fonts/Amble/Amble-LightItalic-webfont.eot");
  src: url("/fonts/Amble/Amble-LightItalic-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/Amble/Amble-LightItalic-webfont.woff") format("woff"), url("/fonts/Amble/Amble-LightItalic-webfont.ttf") format("truetype"), url("/fonts/Amble/Amble-LightItalic-webfont.svg#AmbleLightItalic") format("svg"); }

@font-face {
  font-family: 'AmbleRegular';
  font-style: normal;
  font-weight: normal;
  src: url("/fonts/Amble/Amble-Regular-webfont.eot");
  src: url("/fonts/Amble/Amble-Regular-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/Amble/Amble-Regular-webfont.woff") format("woff"), url("/fonts/Amble/Amble-Regular-webfont.ttf") format("truetype"), url("/fonts/Amble/Amble-Regular-webfont.svg#AmbleRegular") format("svg"); }

@font-face {
  font-family: 'AmbleItalic';
  font-style: normal;
  font-weight: normal;
  src: url("/fonts/Amble/Amble-Italic-webfont.eot");
  src: url("/fonts/Amble/Amble-Italic-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/Amble/Amble-Italic-webfont.woff") format("woff"), url("/fonts/Amble/Amble-Italic-webfont.ttf") format("truetype"), url("/fonts/Amble/Amble-Italic-webfont.svg#AmbleItalic") format("svg"); }

@font-face {
  font-family: 'AmbleBold';
  font-style: normal;
  font-weight: normal;
  src: url("/fonts/Amble/Amble-Bold-webfont.eot");
  src: url("/fonts/Amble/Amble-Bold-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/Amble/Amble-Bold-webfont.woff") format("woff"), url("/fonts/Amble/Amble-Bold-webfont.ttf") format("truetype"), url("/fonts/Amble/Amble-Bold-webfont.svg#AmbleBold") format("svg"); }

@font-face {
  font-family: 'AmbleBoldItalic';
  font-style: normal;
  font-weight: normal;
  src: url("/fonts/Amble/Amble-BoldItalic-webfont.eot");
  src: url("/fonts/Amble/Amble-BoldItalic-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/Amble/Amble-BoldItalic-webfont.woff") format("woff"), url("/fonts/Amble/Amble-BoldItalic-webfont.ttf") format("truetype"), url("/fonts/Amble/Amble-BoldItalic-webfont.svg#AmbleBoldItalic") format("svg"); }

@font-face {
  font-family: 'AmbleLightCondensed';
  font-style: normal;
  font-weight: normal;
  src: url("/fonts/Amble/Amble-LightCondensed-webfont.eot");
  src: url("/fonts/Amble/Amble-LightCondensed-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/Amble/Amble-LightCondensed-webfont.woff") format("woff"), url("/fonts/Amble/Amble-LightCondensed-webfont.ttf") format("truetype"), url("/fonts/Amble/Amble-LightCondensed-webfont.svg#AmbleLightCondensed") format("svg"); }

@font-face {
  font-family: 'AmbleLightCondensedItalic';
  font-style: normal;
  font-weight: normal;
  src: url("/fonts/Amble/Amble-LightCondensedItalic-webfont.eot");
  src: url("/fonts/Amble/Amble-LightCondensedItalic-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/Amble/Amble-LightCondensedItalic-webfont.woff") format("woff"), url("/fonts/Amble/Amble-LightCondensedItalic-webfont.ttf") format("truetype"), url("/fonts/Amble/Amble-LightCondensedItalic-webfont.svg#AmbleLightCondensedItalic") format("svg"); }

@font-face {
  font-family: 'VollkornRegular';
  font-style: normal;
  font-weight: normal;
  src: url("/fonts/Vollkorn/Vollkorn-Regular-webfont.eot");
  src: url("/fonts/Vollkorn/Vollkorn-Regular-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/Vollkorn/Vollkorn-Regular-webfont.woff") format("woff"), url("/fonts/Vollkorn/Vollkorn-Regular-webfont.ttf") format("truetype"), url("/fonts/Vollkorn/Vollkorn-Regular-webfont.svg#VollkornRegular") format("svg"); }

@font-face {
  font-family: 'VollkornBold';
  font-style: normal;
  font-weight: normal;
  src: url("/fonts/Vollkorn/Vollkorn-Bold-webfont.eot");
  src: url("/fonts/Vollkorn/Vollkorn-Bold-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/Vollkorn/Vollkorn-Bold-webfont.woff") format("woff"), url("/fonts/Vollkorn/Vollkorn-Bold-webfont.ttf") format("truetype"), url("/fonts/Vollkorn/Vollkorn-Bold-webfont.svg#VollkornBold") format("svg"); }

@font-face {
  font-family: 'VollkornItalic';
  font-style: normal;
  font-weight: normal;
  src: url("/fonts/Vollkorn/Vollkorn-Italic-webfont.eot");
  src: url("/fonts/Vollkorn/Vollkorn-Italic-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/Vollkorn/Vollkorn-Italic-webfont.woff") format("woff"), url("/fonts/Vollkorn/Vollkorn-Italic-webfont.ttf") format("truetype"), url("/fonts/Vollkorn/Vollkorn-Italic-webfont.svg#VollkornItalic") format("svg"); }

@font-face {
  font-family: 'VollkornBoldItalic';
  font-style: normal;
  font-weight: normal;
  src: url("/fonts/Vollkorn/Vollkorn-BoldItalic-webfont.eot");
  src: url("/fonts/Vollkorn/Vollkorn-BoldItalic-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/Vollkorn/Vollkorn-BoldItalic-webfont.woff") format("woff"), url("/fonts/Vollkorn/Vollkorn-BoldItalic-webfont.ttf") format("truetype"), url("/fonts/Vollkorn/Vollkorn-BoldItalic-webfont.svg#VollkornBoldItalic") format("svg"); }

@font-face {
  font-family: 'webflow-icons';
  src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg6SAy0AAAC8AAAAYGNtYXAaVcxaAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5ZgscV1gAAAFwAAABhGhlYWQCkFKvAAAC9AAAADZoaGVhB0MDyQAAAywAAAAkaG10eBIAA10AAANQAAAAIGxvY2EBMADyAAADcAAAABJtYXhwAAwATQAAA4QAAAAgbmFtZWTuiIAAAAOkAAABe3Bvc3QAAwAAAAAFIAAAACAAAwQAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADmAwPA/8D/wAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIOYD//3//wAAAAAAIOYA//3//wAB/+MaBAADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQEgAAADIAOAAAUAAAkBBwkBFwMg/kBAAYD+gEABwAHAQP6A/oBAAAEA4AAAAuADgAAFAAATARcJAQfgAcBA/oABgEABwAHAQP6A/oBAAAADAMAA4ANAAsAAGAAxAEoAAAEhIg4CHQEUHgIzITI+Aj0BNC4CIxUhIg4CHQEUHgIzITI+Aj0BNC4CIxUhIg4CHQEUHgIzITI+Aj0BNC4CIwMg/cAHCwkFBQkLBwJABwsJBQUJCwf9wAcLCQUFCQsHAkAHCwkFBQkLB/3ABwsJBQUJCwcCQAcLCQUFCQsHAsAFCQsHIAcLCQUFCQsHIAcLCQXABQkLByAHCwkFBQkLByAHCwkFwAUJCwcgBwsJBQUJCwcgBwsJBQAAAAABAJ0AtAOBApUABQAACQIHCQEDJP7r/upcAXEBcgKU/usBFFv+egGGAAAAAAEAAAABAADSLAJOXw889QALBAAAAAAAz/iHGQAAAADP+IcZAAAAAAOBA4AAAAAIAAIAAAAAAAAAAQAAA8D/wAAABAAAAAAAA4EAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAACAAAABAABIAQAAOAEAADABAAAnQAAAAAACgAUAB4AMgBGAKwAwgAAAAEAAAAIAEsAAwAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAaAAAAAQAAAAAAAgAOAHEAAQAAAAAAAwAaADAAAQAAAAAABAAaAH8AAQAAAAAABQAWABoAAQAAAAAABgANAEoAAQAAAAAACgA0AJkAAwABBAkAAQAaAAAAAwABBAkAAgAOAHEAAwABBAkAAwAaADAAAwABBAkABAAaAH8AAwABBAkABQAWABoAAwABBAkABgAaAFcAAwABBAkACgA0AJkAdwBlAGIAZgBsAG8AdwAtAGkAYwBvAG4AcwBWAGUAcgBzAGkAbwBuACAAMQAuADAAdwBlAGIAZgBsAG8AdwAtAGkAYwBvAG4Ac3dlYmZsb3ctaWNvbnMAdwBlAGIAZgBsAG8AdwAtAGkAYwBvAG4AcwBSAGUAZwB1AGwAYQByAHcAZQBiAGYAbABvAHcALQBpAGMAbwBuAHMARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format("truetype"), url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAAVcAAoAAAAABRQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAZMAAAGTuzUomU9TLzIAAAKIAAAAYAAAAGAOkgMtY21hcAAAAugAAABMAAAATBpVzFpnYXNwAAADNAAAAAgAAAAIAAAAEGhlYWQAAAM8AAAANgAAADYCkFKvaGhlYQAAA3QAAAAkAAAAJAdDA8lobXR4AAADmAAAACAAAAAgEgADXW1heHAAAAO4AAAABgAAAAYACFAAbmFtZQAAA8AAAAF7AAABe2TuiIBwb3N0AAAFPAAAACAAAAAgAAMAAAEABAQAAQEBDndlYmZsb3ctaWNvbnMAAQIAAQA6+BwC+BsD+BgEHgoACXf/i4seCgAJd/+LiwwHi0v6lPpUBR0AAACaDx0AAACfER0AAAAJHQAAAYoSAAkBAQ4bHR8iJywxNndlYmZsb3ctaWNvbnN3ZWJmbG93LWljb25zdTB1MXUyMHVFNjAwdUU2MDF1RTYwMnVFNjAzAAACAYkABgAIAQEEBwoNJDvH4P6UDv6UDv6UDvyUDvm0+FQV/FT4VEtL+BT8FPwU/BTLSwUO93T4VBX4VPhUy0v8FPwU+BT8FEtLBQ75tPlUFfzUiwV5i319i3kIi2sFi3mZfZ2LCPjUiwWdi5mZi50Ii6sFi519mXmLCIv7VBX81IsFeYt9fYt5CItrBYt5mX2diwj41IsFnYuZmYudCIurBYudfZl5iwiL+1QV/NSLBXmLfX2LeQiLawWLeZl9nYsI+NSLBZ2LmZmLnQiLqwWLnX2ZeYsIDvm4+SkV+6n7qvuq96ovLvgG/Bj4BvgYBQ76lBT6lBWLDAoAAAMEAAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA5gMDwP/A/8ADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAgAAAAMAAAAUAAMAAQAAABQABAA4AAAACgAIAAIAAgABACDmA//9//8AAAAAACDmAP/9//8AAf/jGgQAAwABAAAAAAAAAAAAAAABAAH//wAPAAEAAAABAAC1pQTjXw889QALBAAAAAAAz/iHGQAAAADP+IcZAAAAAAOBA4AAAAAIAAIAAAAAAAAAAQAAA8D/wAAABAAAAAAAA4EAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAACAAAABAABIAQAAOAEAADABAAAnQAAUAAACAAAAAAADgCuAAEAAAAAAAEAGgAAAAEAAAAAAAIADgBxAAEAAAAAAAMAGgAwAAEAAAAAAAQAGgB/AAEAAAAAAAUAFgAaAAEAAAAAAAYADQBKAAEAAAAAAAoANACZAAMAAQQJAAEAGgAAAAMAAQQJAAIADgBxAAMAAQQJAAMAGgAwAAMAAQQJAAQAGgB/AAMAAQQJAAUAFgAaAAMAAQQJAAYAGgBXAAMAAQQJAAoANACZAHcAZQBiAGYAbABvAHcALQBpAGMAbwBuAHMAVgBlAHIAcwBpAG8AbgAgADEALgAwAHcAZQBiAGYAbABvAHcALQBpAGMAbwBuAHN3ZWJmbG93LWljb25zAHcAZQBiAGYAbABvAHcALQBpAGMAbwBuAHMAUgBlAGcAdQBsAGEAcgB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format("woff");
  font-weight: normal;
  font-style: normal; }

[class^="w-icon-"],
[class*=" w-icon-"] {
  font-family: 'webflow-icons';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.w-icon-slider-right:before {
  content: "\e600"; }

.w-icon-slider-left:before {
  content: "\e601"; }

.w-icon-nav-menu:before {
  content: "\e602"; }

.w-icon-arrow-down:before,
.w-icon-dropdown-toggle:before {
  content: "\e603"; }

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

html {
  height: 100%; }

body {
  margin: 0;
  min-height: 100%;
  background-color: #fff;
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #333; }

img {
  max-width: 100%;
  vertical-align: middle;
  display: inline-block; }

html.w-mod-touch * {
  background-attachment: scroll !important; }

.w-block {
  display: block; }

.w-inline-block {
  max-width: 100%;
  display: inline-block; }

.w-clearfix:before,
.w-clearfix:after {
  content: " ";
  display: table; }

.w-clearfix:after {
  clear: both; }

.w-hidden {
  display: none; }

.w-button {
  display: inline-block;
  padding: 9px 15px;
  background-color: #3898EC;
  color: white;
  border: 0;
  line-height: inherit;
  text-decoration: none;
  cursor: pointer;
  border-radius: 0; }

input.w-button {
  -webkit-appearance: button; }

html[data-w-dynpage] [data-w-cloak] {
  color: transparent !important; }

.w-webflow-badge,
.w-webflow-badge * {
  position: static;
  left: auto;
  top: auto;
  right: auto;
  bottom: auto;
  z-index: auto;
  display: block;
  visibility: visible;
  overflow: visible;
  overflow-x: visible;
  overflow-y: visible;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: auto;
  height: auto;
  max-height: none;
  max-width: none;
  min-height: 0;
  min-width: 0;
  margin: 0;
  padding: 0;
  float: none;
  clear: none;
  border: 0 none transparent;
  border-radius: 0;
  background: none;
  background-image: none;
  background-position: 0% 0%;
  background-size: auto auto;
  background-repeat: repeat;
  background-origin: padding-box;
  background-clip: border-box;
  background-attachment: scroll;
  background-color: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  opacity: 1.0;
  -webkit-transform: none;
          transform: none;
  -webkit-transition: none;
  transition: none;
  direction: ltr;
  font-family: inherit;
  font-weight: inherit;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  font-style: inherit;
  font-variant: inherit;
  text-align: inherit;
  letter-spacing: inherit;
  text-decoration: inherit;
  text-indent: 0;
  text-transform: inherit;
  list-style-type: disc;
  text-shadow: none;
  font-smoothing: auto;
  vertical-align: baseline;
  cursor: inherit;
  white-space: inherit;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal; }

.w-webflow-badge {
  position: fixed !important;
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 2147483647 !important;
  top: auto !important;
  right: 12px !important;
  bottom: 12px !important;
  left: auto !important;
  color: #AAADB0 !important;
  background-color: #fff !important;
  border-radius: 3px !important;
  padding: 6px 8px 6px 6px !important;
  font-size: 12px !important;
  opacity: 1.0 !important;
  line-height: 14px !important;
  text-decoration: none !important;
  -webkit-transform: none !important;
          transform: none !important;
  margin: 0 !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  white-space: nowrap;
  -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0px 1px 3px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0px 1px 3px rgba(0, 0, 0, 0.1); }

.w-webflow-badge > img {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  vertical-align: middle !important; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
  margin-bottom: 10px; }

h1 {
  font-size: 38px;
  line-height: 44px;
  margin-top: 20px; }

h2 {
  font-size: 32px;
  line-height: 36px;
  margin-top: 20px; }

h3 {
  font-size: 24px;
  line-height: 30px;
  margin-top: 20px; }

h4 {
  font-size: 18px;
  line-height: 24px;
  margin-top: 10px; }

h5 {
  font-size: 14px;
  line-height: 20px;
  margin-top: 10px; }

h6 {
  font-size: 12px;
  line-height: 18px;
  margin-top: 10px; }

p {
  margin-top: 0;
  margin-bottom: 10px; }

blockquote {
  margin: 0 0 10px 0;
  padding: 10px 20px;
  border-left: 5px solid #E2E2E2;
  font-size: 18px;
  line-height: 22px; }

figure {
  margin: 0;
  margin-bottom: 10px; }

figcaption {
  margin-top: 5px;
  text-align: center; }

ul,
ol {
  margin-top: 0px;
  margin-bottom: 10px;
  padding-left: 40px; }

.w-list-unstyled {
  padding-left: 0;
  list-style: none; }

.w-embed:before,
.w-embed:after {
  content: " ";
  display: table; }

.w-embed:after {
  clear: both; }

.w-video {
  width: 100%;
  position: relative;
  padding: 0; }

.w-video iframe,
.w-video object,
.w-video embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

fieldset {
  padding: 0;
  margin: 0;
  border: 0; }

button,
html input[type="button"],
input[type="reset"] {
  border: 0;
  cursor: pointer;
  -webkit-appearance: button; }

.w-form {
  margin: 0 0 15px; }

.w-form-done {
  display: none;
  padding: 20px;
  text-align: center;
  background-color: #dddddd; }

.w-form-fail {
  display: none;
  margin-top: 10px;
  padding: 10px;
  background-color: #ffdede; }

label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold; }

.w-input,
.w-select {
  display: block;
  width: 100%;
  height: 38px;
  padding: 8px 12px;
  margin-bottom: 10px;
  font-size: 14px;
  line-height: 1.428571429;
  color: #333333;
  vertical-align: middle;
  background-color: #ffffff;
  border: 1px solid #cccccc; }

.w-input:-moz-placeholder,
.w-select:-moz-placeholder {
  color: #999; }

.w-input::-moz-placeholder,
.w-select::-moz-placeholder {
  color: #999;
  opacity: 1; }

.w-input:-ms-input-placeholder,
.w-select:-ms-input-placeholder {
  color: #999; }

.w-input::-webkit-input-placeholder,
.w-select::-webkit-input-placeholder {
  color: #999; }

.w-input:focus,
.w-select:focus {
  border-color: #3898EC;
  outline: 0; }

.w-input[disabled],
.w-select[disabled],
.w-input[readonly],
.w-select[readonly],
fieldset[disabled] .w-input,
fieldset[disabled] .w-select {
  cursor: not-allowed;
  background-color: #eeeeee; }

textarea.w-input,
textarea.w-select {
  height: auto; }

.w-select {
  background-image: -webkit-gradient(linear, left top, left bottom, from(white), to(#f3f3f3));
  background-image: linear-gradient(white 0%, #f3f3f3 100%); }

.w-select[multiple] {
  height: auto; }

.w-form-label {
  display: inline-block;
  cursor: pointer;
  font-weight: normal;
  margin-bottom: 0px; }

.w-checkbox,
.w-radio {
  display: block;
  margin-bottom: 5px;
  padding-left: 20px; }

.w-checkbox:before,
.w-radio:before,
.w-checkbox:after,
.w-radio:after {
  content: " ";
  display: table; }

.w-checkbox:after,
.w-radio:after {
  clear: both; }

.w-checkbox-input,
.w-radio-input {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal;
  float: left;
  margin-left: -20px; }

.w-radio-input {
  margin-top: 3px; }

.w-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 940px; }

.w-container:before,
.w-container:after {
  content: " ";
  display: table; }

.w-container:after {
  clear: both; }

.w-container .w-row {
  margin-left: -10px;
  margin-right: -10px; }

.w-row:before,
.w-row:after {
  content: " ";
  display: table; }

.w-row:after {
  clear: both; }

.w-row .w-row {
  margin-left: 0;
  margin-right: 0; }

.w-col {
  position: relative;
  float: left;
  width: 100%;
  min-height: 1px;
  padding-left: 10px;
  padding-right: 10px; }

.w-col .w-col {
  padding-left: 0;
  padding-right: 0; }

.w-col-1 {
  width: 8.33333333%; }

.w-col-2 {
  width: 16.66666667%; }

.w-col-3 {
  width: 25%; }

.w-col-4 {
  width: 33.33333333%; }

.w-col-5 {
  width: 41.66666667%; }

.w-col-6 {
  width: 50%; }

.w-col-7 {
  width: 58.33333333%; }

.w-col-8 {
  width: 66.66666667%; }

.w-col-9 {
  width: 75%; }

.w-col-10 {
  width: 83.33333333%; }

.w-col-11 {
  width: 91.66666667%; }

.w-col-12 {
  width: 100%; }

.w-hidden-main {
  display: none !important; }

@media screen and (max-width: 991px) {
  .w-container {
    max-width: 728px; }
  .w-hidden-main {
    display: inherit !important; }
  .w-hidden-medium {
    display: none !important; }
  .w-col-medium-1 {
    width: 8.33333333%; }
  .w-col-medium-2 {
    width: 16.66666667%; }
  .w-col-medium-3 {
    width: 25%; }
  .w-col-medium-4 {
    width: 33.33333333%; }
  .w-col-medium-5 {
    width: 41.66666667%; }
  .w-col-medium-6 {
    width: 50%; }
  .w-col-medium-7 {
    width: 58.33333333%; }
  .w-col-medium-8 {
    width: 66.66666667%; }
  .w-col-medium-9 {
    width: 75%; }
  .w-col-medium-10 {
    width: 83.33333333%; }
  .w-col-medium-11 {
    width: 91.66666667%; }
  .w-col-medium-12 {
    width: 100%; }
  .w-col-stack {
    width: 100%;
    left: auto;
    right: auto; } }

@media screen and (max-width: 767px) {
  .w-hidden-main {
    display: inherit !important; }
  .w-hidden-medium {
    display: inherit !important; }
  .w-hidden-small {
    display: none !important; }
  .w-row,
  .w-container .w-row {
    margin-left: 0;
    margin-right: 0; }
  .w-col {
    width: 100%;
    left: auto;
    right: auto; }
  .w-col-small-1 {
    width: 8.33333333%; }
  .w-col-small-2 {
    width: 16.66666667%; }
  .w-col-small-3 {
    width: 25%; }
  .w-col-small-4 {
    width: 33.33333333%; }
  .w-col-small-5 {
    width: 41.66666667%; }
  .w-col-small-6 {
    width: 50%; }
  .w-col-small-7 {
    width: 58.33333333%; }
  .w-col-small-8 {
    width: 66.66666667%; }
  .w-col-small-9 {
    width: 75%; }
  .w-col-small-10 {
    width: 83.33333333%; }
  .w-col-small-11 {
    width: 91.66666667%; }
  .w-col-small-12 {
    width: 100%; } }

@media screen and (max-width: 479px) {
  .w-container {
    max-width: none; }
  .w-hidden-main {
    display: inherit !important; }
  .w-hidden-medium {
    display: inherit !important; }
  .w-hidden-small {
    display: inherit !important; }
  .w-hidden-tiny {
    display: none !important; }
  .w-col {
    width: 100%; }
  .w-col-tiny-1 {
    width: 8.33333333%; }
  .w-col-tiny-2 {
    width: 16.66666667%; }
  .w-col-tiny-3 {
    width: 25%; }
  .w-col-tiny-4 {
    width: 33.33333333%; }
  .w-col-tiny-5 {
    width: 41.66666667%; }
  .w-col-tiny-6 {
    width: 50%; }
  .w-col-tiny-7 {
    width: 58.33333333%; }
  .w-col-tiny-8 {
    width: 66.66666667%; }
  .w-col-tiny-9 {
    width: 75%; }
  .w-col-tiny-10 {
    width: 83.33333333%; }
  .w-col-tiny-11 {
    width: 91.66666667%; }
  .w-col-tiny-12 {
    width: 100%; } }

.w-widget {
  position: relative; }

.w-widget-map {
  width: 100%;
  height: 400px; }

.w-widget-map label {
  width: auto;
  display: inline; }

.w-widget-map img {
  max-width: inherit; }

.w-widget-map .gm-style-iw {
  width: 90% !important;
  height: auto !important;
  top: 7px !important;
  left: 6% !important;
  display: inline;
  text-align: center;
  overflow: hidden; }

.w-widget-map .gm-style-iw + div {
  display: none; }

.w-widget-twitter {
  overflow: hidden; }

.w-widget-twitter-count-shim {
  display: inline-block;
  vertical-align: top;
  position: relative;
  width: 28px;
  height: 20px;
  text-align: center;
  background: white;
  border: #758696 solid 1px;
  border-radius: 3px; }

.w-widget-twitter-count-shim * {
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.w-widget-twitter-count-shim .w-widget-twitter-count-inner {
  position: relative;
  font-size: 15px;
  line-height: 12px;
  text-align: center;
  color: #999;
  font-family: serif; }

.w-widget-twitter-count-shim .w-widget-twitter-count-clear {
  position: relative;
  display: block; }

.w-widget-twitter-count-shim.w--large {
  width: 36px;
  height: 28px;
  margin-left: 7px; }

.w-widget-twitter-count-shim.w--large .w-widget-twitter-count-inner {
  font-size: 18px;
  line-height: 18px; }

.w-widget-twitter-count-shim:not(.w--vertical) {
  margin-left: 5px;
  margin-right: 8px; }

.w-widget-twitter-count-shim:not(.w--vertical).w--large {
  margin-left: 6px; }

.w-widget-twitter-count-shim:not(.w--vertical):before,
.w-widget-twitter-count-shim:not(.w--vertical):after {
  top: 50%;
  left: 0;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none; }

.w-widget-twitter-count-shim:not(.w--vertical):before {
  border-color: rgba(117, 134, 150, 0);
  border-right-color: #5d6c7b;
  border-width: 4px;
  margin-left: -9px;
  margin-top: -4px; }

.w-widget-twitter-count-shim:not(.w--vertical).w--large:before {
  border-width: 5px;
  margin-left: -10px;
  margin-top: -5px; }

.w-widget-twitter-count-shim:not(.w--vertical):after {
  border-color: rgba(255, 255, 255, 0);
  border-right-color: white;
  border-width: 4px;
  margin-left: -8px;
  margin-top: -4px; }

.w-widget-twitter-count-shim:not(.w--vertical).w--large:after {
  border-width: 5px;
  margin-left: -9px;
  margin-top: -5px; }

.w-widget-twitter-count-shim.w--vertical {
  width: 61px;
  height: 33px;
  margin-bottom: 8px; }

.w-widget-twitter-count-shim.w--vertical:before,
.w-widget-twitter-count-shim.w--vertical:after {
  top: 100%;
  left: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none; }

.w-widget-twitter-count-shim.w--vertical:before {
  border-color: rgba(117, 134, 150, 0);
  border-top-color: #5d6c7b;
  border-width: 5px;
  margin-left: -5px; }

.w-widget-twitter-count-shim.w--vertical:after {
  border-color: rgba(255, 255, 255, 0);
  border-top-color: white;
  border-width: 4px;
  margin-left: -4px; }

.w-widget-twitter-count-shim.w--vertical .w-widget-twitter-count-inner {
  font-size: 18px;
  line-height: 22px; }

.w-widget-twitter-count-shim.w--vertical.w--large {
  width: 76px; }

.w-widget-gplus {
  overflow: hidden; }

.w-background-video {
  position: relative;
  overflow: hidden;
  height: 500px;
  color: white; }

.w-background-video > video {
  background-size: cover;
  background-position: 50% 50%;
  position: absolute;
  right: -100%;
  bottom: -100%;
  top: -100%;
  left: -100%;
  margin: auto;
  min-width: 100%;
  min-height: 100%;
  z-index: -100; }

.w-background-video > video::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none; }

.w-slider {
  position: relative;
  height: 300px;
  text-align: center;
  background: #dddddd;
  clear: both;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent; }

.w-slider-mask {
  position: relative;
  display: block;
  overflow: hidden;
  z-index: 1;
  left: 0;
  right: 0;
  height: 100%;
  white-space: nowrap; }

.w-slide {
  position: relative;
  display: inline-block;
  vertical-align: top;
  width: 100%;
  height: 100%;
  white-space: normal;
  text-align: left; }

.w-slider-nav {
  position: absolute;
  z-index: 2;
  top: auto;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  padding-top: 10px;
  height: 40px;
  text-align: center;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent; }

.w-slider-nav.w-round > div {
  border-radius: 100%; }

.w-slider-nav.w-num > div {
  width: auto;
  height: auto;
  padding: 0.2em 0.5em;
  font-size: inherit;
  line-height: inherit; }

.w-slider-nav.w-shadow > div {
  -webkit-box-shadow: 0 0 3px rgba(51, 51, 51, 0.4);
          box-shadow: 0 0 3px rgba(51, 51, 51, 0.4); }

.w-slider-nav-invert {
  color: #fff; }

.w-slider-nav-invert > div {
  background-color: rgba(34, 34, 34, 0.4); }

.w-slider-nav-invert > div.w-active {
  background-color: #222; }

.w-slider-dot {
  position: relative;
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: rgba(255, 255, 255, 0.4);
  cursor: pointer;
  margin: 0 3px 0.5em;
  -webkit-transition: background-color 100ms, color 100ms;
  transition: background-color 100ms, color 100ms; }

.w-slider-dot.w-active {
  background-color: #fff; }

.w-slider-arrow-left,
.w-slider-arrow-right {
  position: absolute;
  width: 80px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  cursor: pointer;
  overflow: hidden;
  color: white;
  font-size: 40px;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.w-slider-arrow-left [class^="w-icon-"],
.w-slider-arrow-right [class^="w-icon-"],
.w-slider-arrow-left [class*=" w-icon-"],
.w-slider-arrow-right [class*=" w-icon-"] {
  position: absolute; }

.w-slider-arrow-left {
  z-index: 3;
  right: auto; }

.w-slider-arrow-right {
  z-index: 4;
  left: auto; }

.w-icon-slider-left,
.w-icon-slider-right {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 1em;
  height: 1em; }

.w-dropdown {
  display: inline-block;
  position: relative;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  z-index: 900; }

.w-dropdown-btn,
.w-dropdown-toggle,
.w-dropdown-link {
  position: relative;
  vertical-align: top;
  text-decoration: none;
  color: #222222;
  padding: 20px;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  white-space: nowrap; }

.w-dropdown-toggle {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: inline-block;
  cursor: pointer;
  padding-right: 40px; }

.w-icon-dropdown-toggle {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  margin-right: 20px;
  width: 1em;
  height: 1em; }

.w-dropdown-list {
  position: absolute;
  background: #dddddd;
  display: none;
  min-width: 100%; }

.w-dropdown-list.w--open {
  display: block; }

.w-dropdown-link {
  padding: 10px 20px;
  display: block;
  color: #222222; }

.w-dropdown-link.w--current {
  color: #0082f3; }

.w-nav[data-collapse="all"] .w-dropdown,
.w-nav[data-collapse="all"] .w-dropdown-toggle {
  display: block; }

.w-nav[data-collapse="all"] .w-dropdown-list {
  position: static; }

@media screen and (max-width: 991px) {
  .w-nav[data-collapse="medium"] .w-dropdown,
  .w-nav[data-collapse="medium"] .w-dropdown-toggle {
    display: block; }
  .w-nav[data-collapse="medium"] .w-dropdown-list {
    position: static; } }

@media screen and (max-width: 767px) {
  .w-nav[data-collapse="small"] .w-dropdown,
  .w-nav[data-collapse="small"] .w-dropdown-toggle {
    display: block; }
  .w-nav[data-collapse="small"] .w-dropdown-list {
    position: static; }
  .w-nav-brand {
    padding-left: 10px; } }

@media screen and (max-width: 479px) {
  .w-nav[data-collapse="tiny"] .w-dropdown,
  .w-nav[data-collapse="tiny"] .w-dropdown-toggle {
    display: block; }
  .w-nav[data-collapse="tiny"] .w-dropdown-list {
    position: static; } }

/**
 * ## Note
 * Safari (on both iOS and OS X) does not handle viewport units (vh, vw) well.
 * For example percentage units do not work on descendants of elements that
 * have any dimensions expressed in viewport units. It also doesn’t handle them at
 * all in `calc()`.
 */
/**
 * Wrapper around all lightbox elements
 *
 * 1. Since the lightbox can receive focus, IE also gives it an outline.
 * 2. Fixes flickering on Chrome when a transition is in progress
 *    underneath the lightbox.
 */
.w-lightbox-backdrop {
  color: #000;
  cursor: auto;
  font-family: serif;
  font-size: medium;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-height: normal;
  list-style: disc;
  text-align: start;
  text-indent: 0;
  text-shadow: none;
  text-transform: none;
  visibility: visible;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  color: #fff;
  font-family: "Helvetica Neue", Helvetica, Ubuntu, "Segoe UI", Verdana, sans-serif;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 300;
  text-align: center;
  background: rgba(0, 0, 0, 0.9);
  z-index: 2000;
  outline: 0;
  /* 1 */
  opacity: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-transform: translate(0, 0);
  /* 2 */ }

/**
 * Neat trick to bind the rubberband effect to our canvas instead of the whole
 * document on iOS. It also prevents a bug that causes the document underneath to scroll.
 */
.w-lightbox-backdrop,
.w-lightbox-container {
  height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

.w-lightbox-content {
  position: relative;
  height: 100vh;
  overflow: hidden; }

.w-lightbox-view {
  position: absolute;
  width: 100vw;
  height: 100vh;
  opacity: 0; }

.w-lightbox-view:before {
  content: "";
  height: 100vh; }

/* .w-lightbox-content */
.w-lightbox-group,
.w-lightbox-group .w-lightbox-view,
.w-lightbox-group .w-lightbox-view:before {
  height: 86vh; }

.w-lightbox-frame,
.w-lightbox-view:before {
  display: inline-block;
  vertical-align: middle; }

/*
 * 1. Remove default margin set by user-agent on the <figure> element.
 */
.w-lightbox-figure {
  position: relative;
  margin: 0;
  /* 1 */ }

.w-lightbox-group .w-lightbox-figure {
  cursor: pointer; }

/**
 * IE adds image dimensions as width and height attributes on the IMG tag,
 * but we need both width and height to be set to auto to enable scaling.
 */
.w-lightbox-img {
  width: auto;
  height: auto;
  max-width: none; }

/**
 * 1. Reset if style is set by user on "All Images"
 */
.w-lightbox-image {
  display: block;
  float: none;
  /* 1 */
  max-width: 100vw;
  max-height: 100vh; }

.w-lightbox-group .w-lightbox-image {
  max-height: 86vh; }

.w-lightbox-caption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: .5em 1em;
  background: rgba(0, 0, 0, 0.4);
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden; }

.w-lightbox-embed {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.w-lightbox-control {
  position: absolute;
  top: 0;
  width: 4em;
  background-size: 24px;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
  -webkit-transition: all .3s;
  transition: all .3s; }

.w-lightbox-left {
  display: none;
  bottom: 0;
  left: 0;
  /* <svg xmlns="http://www.w3.org/2000/svg" viewBox="-20 0 24 40" width="24" height="40"><g transform="rotate(45)"><path d="m0 0h5v23h23v5h-28z" opacity=".4"/><path d="m1 1h3v23h23v3h-26z" fill="#fff"/></g></svg> */
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0yMCAwIDI0IDQwIiB3aWR0aD0iMjQiIGhlaWdodD0iNDAiPjxnIHRyYW5zZm9ybT0icm90YXRlKDQ1KSI+PHBhdGggZD0ibTAgMGg1djIzaDIzdjVoLTI4eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDN2MjNoMjN2M2gtMjZ6IiBmaWxsPSIjZmZmIi8+PC9nPjwvc3ZnPg=="); }

.w-lightbox-right {
  display: none;
  right: 0;
  bottom: 0;
  /* <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 0 24 40" width="24" height="40"><g transform="rotate(45)"><path d="m0-0h28v28h-5v-23h-23z" opacity=".4"/><path d="m1 1h26v26h-3v-23h-23z" fill="#fff"/></g></svg> */
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMjQgNDAiIHdpZHRoPSIyNCIgaGVpZ2h0PSI0MCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMC0waDI4djI4aC01di0yM2gtMjN6IiBvcGFjaXR5PSIuNCIvPjxwYXRoIGQ9Im0xIDFoMjZ2MjZoLTN2LTIzaC0yM3oiIGZpbGw9IiNmZmYiLz48L2c+PC9zdmc+"); }

/*
 * Without specifying the with and height inside the SVG, all versions of IE render the icon too small.
 * The bug does not seem to manifest itself if the elements are tall enough such as the above arrows.
 * (http://stackoverflow.com/questions/16092114/background-size-differs-in-internet-explorer)
 */
.w-lightbox-close {
  right: 0;
  height: 2.6em;
  /* <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 0 18 17" width="18" height="17"><g transform="rotate(45)"><path d="m0 0h7v-7h5v7h7v5h-7v7h-5v-7h-7z" opacity=".4"/><path d="m1 1h7v-7h3v7h7v3h-7v7h-3v-7h-7z" fill="#fff"/></g></svg> */
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMTggMTciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNyI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMCAwaDd2LTdoNXY3aDd2NWgtN3Y3aC01di03aC03eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDd2LTdoM3Y3aDd2M2gtN3Y3aC0zdi03aC03eiIgZmlsbD0iI2ZmZiIvPjwvZz48L3N2Zz4=");
  background-size: 18px; }

/**
 * 1. All IE versions add extra space at the bottom without this.
 */
.w-lightbox-strip {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0 1vh;
  line-height: 0;
  /* 1 */
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden; }

/*
 * 1. We use content-box to avoid having to do `width: calc(10vh + 2vw)`
 *    which doesn’t work in Safari anyway.
 * 2. Chrome renders images pixelated when switching to GPU. Making sure
 *    the parent is also rendered on the GPU (by setting translate3d for
 *    example) fixes this behavior.
 */
.w-lightbox-item {
  display: inline-block;
  width: 10vh;
  padding: 2vh 1vh;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  cursor: pointer;
  -webkit-transform: translate3d(0, 0, 0);
  /* 2 */ }

.w-lightbox-active {
  opacity: .3; }

.w-lightbox-thumbnail {
  position: relative;
  height: 10vh;
  background: #222;
  overflow: hidden; }

.w-lightbox-thumbnail-image {
  position: absolute;
  top: 0;
  left: 0; }

.w-lightbox-thumbnail .w-lightbox-tall {
  top: 50%;
  width: 100%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%); }

.w-lightbox-thumbnail .w-lightbox-wide {
  left: 50%;
  height: 100%;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0); }

/*
 * Spinner
 *
 * Absolute pixel values are used to avoid rounding errors that would cause
 * the white spinning element to be misaligned with the track.
 */
.w-lightbox-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  margin-left: -20px;
  border: 5px solid rgba(0, 0, 0, 0.4);
  border-radius: 50%;
  -webkit-animation: spin .8s infinite linear;
  animation: spin .8s infinite linear; }

.w-lightbox-spinner:after {
  content: "";
  position: absolute;
  top: -4px;
  right: -4px;
  bottom: -4px;
  left: -4px;
  border: 3px solid transparent;
  border-bottom-color: #fff;
  border-radius: 50%; }

/*
 * Utility classes
 */
.w-lightbox-hide {
  display: none; }

.w-lightbox-noscroll {
  overflow: hidden; }

@media (min-width: 768px) {
  .w-lightbox-content {
    height: 96vh;
    margin-top: 2vh; }
  .w-lightbox-view,
  .w-lightbox-view:before {
    height: 96vh; }
  /* .w-lightbox-content */
  .w-lightbox-group,
  .w-lightbox-group .w-lightbox-view,
  .w-lightbox-group .w-lightbox-view:before {
    height: 84vh; }
  .w-lightbox-image {
    max-width: 96vw;
    max-height: 96vh; }
  .w-lightbox-group .w-lightbox-image {
    max-width: 82.3vw;
    max-height: 84vh; }
  .w-lightbox-left,
  .w-lightbox-right {
    display: block;
    opacity: .5; }
  .w-lightbox-close {
    opacity: .8; }
  .w-lightbox-control:hover {
    opacity: 1; } }

.w-lightbox-inactive,
.w-lightbox-inactive:hover {
  opacity: 0; }

.w-richtext:before,
.w-richtext:after {
  content: " ";
  display: table; }

.w-richtext:after {
  clear: both; }

.w-richtext[contenteditable="true"]:before,
.w-richtext[contenteditable="true"]:after {
  white-space: initial; }

.w-richtext ol,
.w-richtext ul {
  overflow: hidden; }

.w-richtext .w-richtext-figure-selected.w-richtext-figure-type-video div:before,
.w-richtext .w-richtext-figure-selected[data-rt-type="video"] div:before {
  outline: 2px solid #2895f7; }

.w-richtext .w-richtext-figure-selected.w-richtext-figure-type-image div,
.w-richtext .w-richtext-figure-selected[data-rt-type="image"] div {
  outline: 2px solid #2895f7; }

.w-richtext figure.w-richtext-figure-type-video > div:before,
.w-richtext figure[data-rt-type="video"] > div:before {
  content: '';
  position: absolute;
  display: none;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1; }

.w-richtext figure {
  position: relative;
  max-width: 60%; }

.w-richtext figure > div:before {
  cursor: default !important; }

.w-richtext figure img {
  width: 100%; }

.w-richtext figure figcaption.w-richtext-figcaption-placeholder {
  opacity: 0.6; }

.w-richtext figure div {
  /* fix incorrectly sized selection border in the data manager */
  font-size: 0px;
  color: transparent; }

.w-richtext figure.w-richtext-figure-type-image,
.w-richtext figure[data-rt-type="image"] {
  display: table; }

.w-richtext figure.w-richtext-figure-type-image > div,
.w-richtext figure[data-rt-type="image"] > div {
  display: inline-block; }

.w-richtext figure.w-richtext-figure-type-image > figcaption,
.w-richtext figure[data-rt-type="image"] > figcaption {
  display: table-caption;
  caption-side: bottom; }

.w-richtext figure.w-richtext-figure-type-video,
.w-richtext figure[data-rt-type="video"] {
  width: 60%;
  height: 0; }

.w-richtext figure.w-richtext-figure-type-video iframe,
.w-richtext figure[data-rt-type="video"] iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.w-richtext figure.w-richtext-figure-type-video > div,
.w-richtext figure[data-rt-type="video"] > div {
  width: 100%; }

.w-richtext figure.w-richtext-align-center {
  margin-right: auto;
  margin-left: auto;
  clear: both; }

.w-richtext figure.w-richtext-align-center.w-richtext-figure-type-image > div,
.w-richtext figure.w-richtext-align-center[data-rt-type="image"] > div {
  max-width: 100%; }

.w-richtext figure.w-richtext-align-normal {
  clear: both; }

.w-richtext figure.w-richtext-align-fullwidth {
  width: 100%;
  max-width: 100%;
  text-align: center;
  clear: both;
  display: block;
  margin-right: auto;
  margin-left: auto; }

.w-richtext figure.w-richtext-align-fullwidth > div {
  display: inline-block;
  /* padding-bottom is used for aspect ratios in video figures
      we want the div to inherit that so hover/selection borders in the designer-canvas
      fit right*/
  padding-bottom: inherit; }

.w-richtext figure.w-richtext-align-fullwidth > figcaption {
  display: block; }

.w-richtext figure.w-richtext-align-floatleft {
  float: left;
  margin-right: 15px;
  clear: none; }

.w-richtext figure.w-richtext-align-floatright {
  float: right;
  margin-left: 15px;
  clear: none; }

.w-nav {
  position: relative;
  background: #dddddd;
  z-index: 1000; }

.w-nav:before,
.w-nav:after {
  content: " ";
  display: table; }

.w-nav:after {
  clear: both; }

.w-nav-brand {
  position: relative;
  float: left;
  text-decoration: none;
  color: #333333; }

.w-nav-link {
  position: relative;
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  color: #222222;
  padding: 20px;
  text-align: left;
  margin-left: auto;
  margin-right: auto; }

.w-nav-link.w--current {
  color: #0082f3; }

.w-nav-menu {
  position: relative;
  float: right; }

.w--nav-menu-open {
  display: block !important;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #C8C8C8;
  text-align: center;
  overflow: visible;
  min-width: 200px; }

.w--nav-link-open {
  display: block;
  position: relative; }

.w-nav-overlay {
  position: absolute;
  overflow: hidden;
  display: none;
  top: 100%;
  left: 0;
  right: 0;
  width: 100%; }

.w-nav-overlay .w--nav-menu-open {
  top: 0; }

.w-nav[data-animation="over-left"] .w-nav-overlay {
  width: auto; }

.w-nav[data-animation="over-left"] .w-nav-overlay,
.w-nav[data-animation="over-left"] .w--nav-menu-open {
  right: auto;
  z-index: 1;
  top: 0; }

.w-nav[data-animation="over-right"] .w-nav-overlay {
  width: auto; }

.w-nav[data-animation="over-right"] .w-nav-overlay,
.w-nav[data-animation="over-right"] .w--nav-menu-open {
  left: auto;
  z-index: 1;
  top: 0; }

.w-nav-button {
  position: relative;
  float: right;
  padding: 18px;
  font-size: 24px;
  display: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.w-nav-button.w--open {
  background-color: #C8C8C8;
  color: white; }

.w-nav[data-collapse="all"] .w-nav-menu {
  display: none; }

.w-nav[data-collapse="all"] .w-nav-button {
  display: block; }

@media screen and (max-width: 991px) {
  .w-nav[data-collapse="medium"] .w-nav-menu {
    display: none; }
  .w-nav[data-collapse="medium"] .w-nav-button {
    display: block; } }

@media screen and (max-width: 767px) {
  .w-nav[data-collapse="small"] .w-nav-menu {
    display: none; }
  .w-nav[data-collapse="small"] .w-nav-button {
    display: block; }
  .w-nav-brand {
    padding-left: 10px; } }

@media screen and (max-width: 479px) {
  .w-nav[data-collapse="tiny"] .w-nav-menu {
    display: none; }
  .w-nav[data-collapse="tiny"] .w-nav-button {
    display: block; } }

.w-tabs {
  position: relative; }

.w-tabs:before,
.w-tabs:after {
  content: " ";
  display: table; }

.w-tabs:after {
  clear: both; }

.w-tab-menu {
  position: relative; }

.w-tab-link {
  position: relative;
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  padding: 9px 30px;
  text-align: left;
  cursor: pointer;
  color: #222222;
  background-color: #dddddd; }

.w-tab-link.w--current {
  background-color: #C8C8C8; }

.w-tab-content {
  position: relative;
  display: block;
  overflow: hidden; }

.w-tab-pane {
  position: relative;
  display: none; }

.w--tab-active {
  display: block; }

@media screen and (max-width: 479px) {
  .w-tab-link {
    display: block; } }

.w-ix-emptyfix:after {
  content: ""; }

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

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

.w-dyn-empty {
  padding: 10px;
  background-color: #dddddd; }

.w-dyn-bind-empty {
  display: none !important; }

.w-condition-invisible {
  display: none !important; }

body.fancybox-active {
  overflow: hidden; }

body.fancybox-iosfix {
  position: fixed;
  left: 0;
  right: 0; }

.fancybox-is-hidden {
  position: absolute;
  top: -9999px;
  left: -9999px;
  visibility: hidden; }

.fancybox-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99992;
  -webkit-tap-highlight-color: transparent;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; }

.fancybox-outer,
.fancybox-inner,
.fancybox-bg,
.fancybox-stage {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }

.fancybox-outer {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

.fancybox-bg {
  background: #1e1e1e;
  opacity: 0;
  -webkit-transition-duration: inherit;
          transition-duration: inherit;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71);
          transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71); }

.fancybox-is-open .fancybox-bg {
  opacity: 0.87;
  -webkit-transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
          transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1); }

.fancybox-infobar,
.fancybox-toolbar,
.fancybox-caption-wrap {
  position: absolute;
  direction: ltr;
  z-index: 99997;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity .25s, visibility 0s linear .25s;
  transition: opacity .25s, visibility 0s linear .25s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar,
.fancybox-show-caption .fancybox-caption-wrap {
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity .25s, visibility 0s;
  transition: opacity .25s, visibility 0s; }

.fancybox-infobar {
  top: 0;
  left: 0;
  font-size: 13px;
  padding: 0 10px;
  height: 44px;
  min-width: 44px;
  line-height: 44px;
  color: #ccc;
  text-align: center;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-font-smoothing: subpixel-antialiased;
  mix-blend-mode: exclusion; }

.fancybox-toolbar {
  top: 0;
  right: 0;
  margin: 0;
  padding: 0; }

.fancybox-stage {
  overflow: hidden;
  direction: ltr;
  z-index: 99994;
  -webkit-transform: translate3d(0, 0, 0); }

.fancybox-is-closing .fancybox-stage {
  overflow: visible; }

.fancybox-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: auto;
  outline: none;
  white-space: normal;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  z-index: 99994;
  -webkit-overflow-scrolling: touch;
  display: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition-property: opacity, -webkit-transform;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform; }

.fancybox-slide::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  height: 100%;
  width: 0; }

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--previous,
.fancybox-slide--current,
.fancybox-slide--next {
  display: block; }

.fancybox-slide--image {
  overflow: visible; }

.fancybox-slide--image::before {
  display: none; }

.fancybox-slide--video .fancybox-content,
.fancybox-slide--video iframe {
  background: #000; }

.fancybox-slide--map .fancybox-content,
.fancybox-slide--map iframe {
  background: #E5E3DF; }

.fancybox-slide--next {
  z-index: 99995; }

.fancybox-slide > * {
  display: inline-block;
  position: relative;
  padding: 24px;
  margin: 44px 0 44px;
  border-width: 0;
  vertical-align: middle;
  text-align: left;
  background-color: #fff;
  overflow: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.fancybox-slide > title,
.fancybox-slide > style,
.fancybox-slide > meta,
.fancybox-slide > link,
.fancybox-slide > script,
.fancybox-slide > base {
  display: none; }

.fancybox-slide .fancybox-image-wrap {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  border: 0;
  z-index: 99995;
  background: transparent;
  cursor: default;
  overflow: visible;
  -webkit-transform-origin: top left;
  transform-origin: top left;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  transition-property: opacity, -webkit-transform;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform; }

.fancybox-can-zoomOut .fancybox-image-wrap {
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.fancybox-can-zoomIn .fancybox-image-wrap {
  cursor: -webkit-zoom-in;
  cursor: zoom-in; }

.fancybox-can-drag .fancybox-image-wrap {
  cursor: -webkit-grab;
  cursor: grab; }

.fancybox-is-dragging .fancybox-image-wrap {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

.fancybox-image,
.fancybox-spaceball {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  max-width: none;
  max-height: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.fancybox-spaceball {
  z-index: 1; }

.fancybox-slide--iframe .fancybox-content {
  padding: 0;
  width: 80%;
  height: 80%;
  max-width: calc(100% - 100px);
  max-height: calc(100% - 88px);
  overflow: visible;
  background: #fff; }

.fancybox-iframe {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  width: 100%;
  height: 100%;
  background: #fff; }

.fancybox-error {
  margin: 0;
  padding: 40px;
  width: 100%;
  max-width: 380px;
  background: #fff;
  cursor: default; }

.fancybox-error p {
  margin: 0;
  padding: 0;
  color: #444;
  font-size: 16px;
  line-height: 20px; }

/* Buttons */
.fancybox-button {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  vertical-align: top;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 10px;
  border: 0;
  border-radius: 0;
  background: rgba(30, 30, 30, 0.6);
  -webkit-transition: color .3s ease;
  transition: color .3s ease;
  cursor: pointer;
  outline: none; }

.fancybox-button,
.fancybox-button:visited,
.fancybox-button:link {
  color: #ccc; }

.fancybox-button:focus,
.fancybox-button:hover {
  color: #fff; }

.fancybox-button[disabled] {
  color: #ccc;
  cursor: default;
  opacity: 0.6; }

.fancybox-button svg {
  display: block;
  position: relative;
  overflow: visible;
  shape-rendering: geometricPrecision; }

.fancybox-button svg path {
  fill: currentColor;
  stroke: currentColor;
  stroke-linejoin: round;
  stroke-width: 3; }

.fancybox-button--share svg path {
  stroke-width: 1; }

.fancybox-button--play svg path:nth-child(2) {
  display: none; }

.fancybox-button--pause svg path:nth-child(1) {
  display: none; }

.fancybox-button--zoom svg path {
  fill: transparent; }

/* Navigation arrows */
.fancybox-navigation {
  display: none; }

.fancybox-show-nav .fancybox-navigation {
  display: block; }

.fancybox-navigation button {
  position: absolute;
  top: 50%;
  margin: -50px 0 0 0;
  z-index: 99997;
  background: transparent;
  width: 60px;
  height: 100px;
  padding: 17px; }

.fancybox-navigation button:before {
  content: "";
  position: absolute;
  top: 30px;
  right: 10px;
  width: 40px;
  height: 40px;
  background: rgba(30, 30, 30, 0.6); }

.fancybox-navigation .fancybox-button--arrow_left {
  left: 0; }

.fancybox-navigation .fancybox-button--arrow_right {
  right: 0; }

/* Close button on the top right corner of html content */
.fancybox-close-small {
  position: absolute;
  top: 0;
  right: 0;
  width: 44px;
  height: 44px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  z-index: 10;
  cursor: pointer; }

.fancybox-close-small:after {
  content: '×';
  position: absolute;
  top: 5px;
  right: 5px;
  width: 30px;
  height: 30px;
  font: 20px/30px Arial,"Helvetica Neue",Helvetica,sans-serif;
  color: #888;
  font-weight: 300;
  text-align: center;
  border-radius: 50%;
  border-width: 0;
  background-color: transparent;
  -webkit-transition: background-color .25s;
  transition: background-color .25s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 2; }

.fancybox-close-small:focus {
  outline: none; }

.fancybox-close-small:focus:after {
  outline: 1px dotted #888; }

.fancybox-close-small:hover:after {
  color: #555;
  background: #eee; }

.fancybox-slide--image .fancybox-close-small,
.fancybox-slide--iframe .fancybox-close-small {
  top: 0;
  right: -44px; }

.fancybox-slide--image .fancybox-close-small:after,
.fancybox-slide--iframe .fancybox-close-small:after {
  font-size: 35px;
  color: #aaa; }

.fancybox-slide--image .fancybox-close-small:hover:after,
.fancybox-slide--iframe .fancybox-close-small:hover:after {
  color: #fff;
  background: transparent; }

.fancybox-is-scaling .fancybox-close-small,
.fancybox-is-zoomable.fancybox-can-drag .fancybox-close-small {
  display: none; }

/* Caption */
.fancybox-caption-wrap {
  bottom: 0;
  left: 0;
  right: 0;
  padding: 60px 2vw 0 2vw;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(20%, rgba(0, 0, 0, 0.1)), color-stop(40%, rgba(0, 0, 0, 0.2)), color-stop(80%, rgba(0, 0, 0, 0.6)), to(rgba(0, 0, 0, 0.8)));
  background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.1) 20%, rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0.6) 80%, rgba(0, 0, 0, 0.8) 100%);
  pointer-events: none; }

.fancybox-caption {
  padding: 30px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  font-size: 14px;
  color: #fff;
  line-height: 20px;
  -webkit-text-size-adjust: none; }

.fancybox-caption a,
.fancybox-caption button,
.fancybox-caption select {
  pointer-events: all;
  position: relative;
  /* Fix IE11 */ }

.fancybox-caption a {
  color: #fff;
  text-decoration: underline; }

/* Loading indicator */
.fancybox-slide > .fancybox-loading {
  border: 6px solid rgba(100, 100, 100, 0.4);
  border-top: 6px solid rgba(255, 255, 255, 0.6);
  border-radius: 100%;
  height: 50px;
  width: 50px;
  -webkit-animation: fancybox-rotate .8s infinite linear;
  animation: fancybox-rotate .8s infinite linear;
  background: transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -30px;
  margin-left: -30px;
  z-index: 99999; }

@-webkit-keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

/* Transition effects */
.fancybox-animated {
  -webkit-transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
          transition-timing-function: cubic-bezier(0, 0, 0.25, 1); }

/* transitionEffect: slide */
.fancybox-fx-slide.fancybox-slide--previous {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  opacity: 0; }

.fancybox-fx-slide.fancybox-slide--next {
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  opacity: 0; }

.fancybox-fx-slide.fancybox-slide--current {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1; }

/* transitionEffect: fade */
.fancybox-fx-fade.fancybox-slide--previous,
.fancybox-fx-fade.fancybox-slide--next {
  opacity: 0;
  -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
          transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }

.fancybox-fx-fade.fancybox-slide--current {
  opacity: 1; }

/* transitionEffect: zoom-in-out */
.fancybox-fx-zoom-in-out.fancybox-slide--previous {
  -webkit-transform: scale3d(1.5, 1.5, 1.5);
  transform: scale3d(1.5, 1.5, 1.5);
  opacity: 0; }

.fancybox-fx-zoom-in-out.fancybox-slide--next {
  -webkit-transform: scale3d(0.5, 0.5, 0.5);
  transform: scale3d(0.5, 0.5, 0.5);
  opacity: 0; }

.fancybox-fx-zoom-in-out.fancybox-slide--current {
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
  opacity: 1; }

/* transitionEffect: rotate */
.fancybox-fx-rotate.fancybox-slide--previous {
  -webkit-transform: rotate(-360deg);
  transform: rotate(-360deg);
  opacity: 0; }

.fancybox-fx-rotate.fancybox-slide--next {
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
  opacity: 0; }

.fancybox-fx-rotate.fancybox-slide--current {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  opacity: 1; }

/* transitionEffect: circular */
.fancybox-fx-circular.fancybox-slide--previous {
  -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
  transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
  opacity: 0; }

.fancybox-fx-circular.fancybox-slide--next {
  -webkit-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
  transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
  opacity: 0; }

.fancybox-fx-circular.fancybox-slide--current {
  -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
  transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
  opacity: 1; }

/* transitionEffect: tube */
.fancybox-fx-tube.fancybox-slide--previous {
  -webkit-transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
  transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg); }

.fancybox-fx-tube.fancybox-slide--next {
  -webkit-transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
  transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg); }

.fancybox-fx-tube.fancybox-slide--current {
  -webkit-transform: translate3d(0, 0, 0) scale(1);
  transform: translate3d(0, 0, 0) scale(1); }

/* Share */
.fancybox-share {
  padding: 30px;
  border-radius: 3px;
  background: #f4f4f4;
  max-width: 90%; }

.fancybox-share h1 {
  color: #222;
  margin: 0 0 20px 0;
  font-size: 33px;
  font-weight: 700;
  text-align: center; }

.fancybox-share p {
  margin: 0;
  padding: 0;
  text-align: center; }

.fancybox-share p:first-of-type {
  margin-right: -10px; }

.fancybox-share_button {
  display: inline-block;
  text-decoration: none;
  margin: 0 10px 10px 0;
  padding: 10px 20px;
  border: 0;
  border-radius: 3px;
  -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16);
          box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.16);
  background: #fff;
  white-space: nowrap;
  font-size: 16px;
  line-height: 23px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  min-width: 140px;
  color: #707070;
  -webkit-transition: all .2s;
  transition: all .2s; }

.fancybox-share_button:focus,
.fancybox-share_button:hover {
  text-decoration: none;
  color: #333;
  -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.3); }

.fancybox-share_button svg {
  margin-right: 5px;
  width: 20px;
  height: 20px;
  vertical-align: text-bottom; }

.fancybox-share input {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  margin: 5px 0 0 0;
  padding: 10px 15px;
  border: 1px solid #d7d7d7;
  border-radius: 3px;
  background: #ebebeb;
  color: #5d5b5b;
  font-size: 14px;
  outline: none; }

/* Thumbs */
.fancybox-thumbs {
  display: none;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 212px;
  margin: 0;
  padding: 2px 2px 4px 2px;
  background: #fff;
  -webkit-tap-highlight-color: transparent;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 99995; }

.fancybox-thumbs-x {
  overflow-y: hidden;
  overflow-x: auto; }

.fancybox-show-thumbs .fancybox-thumbs {
  display: block; }

.fancybox-show-thumbs .fancybox-inner {
  right: 212px; }

.fancybox-thumbs > ul {
  list-style: none;
  position: absolute;
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  font-size: 0;
  white-space: nowrap; }

.fancybox-thumbs-x > ul {
  overflow: hidden; }

.fancybox-thumbs-y > ul::-webkit-scrollbar {
  width: 7px; }

.fancybox-thumbs-y > ul::-webkit-scrollbar-track {
  background: #fff;
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
          box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); }

.fancybox-thumbs-y > ul::-webkit-scrollbar-thumb {
  background: #2a2a2a;
  border-radius: 10px; }

.fancybox-thumbs > ul > li {
  float: left;
  overflow: hidden;
  padding: 0;
  margin: 2px;
  width: 100px;
  height: 75px;
  max-width: calc(50% - 4px);
  max-height: calc(100% - 8px);
  position: relative;
  cursor: pointer;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

li.fancybox-thumbs-loading {
  background: rgba(0, 0, 0, 0.1); }

.fancybox-thumbs > ul > li > img {
  position: absolute;
  top: 0;
  left: 0;
  max-width: none;
  max-height: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.fancybox-thumbs > ul > li:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border: 4px solid #4ea7f9;
  z-index: 99991;
  opacity: 0;
  -webkit-transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.fancybox-thumbs > ul > li.fancybox-thumbs-active:before {
  opacity: 1; }

/* Styling for Small-Screen Devices */
@media all and (max-width: 800px) {
  .fancybox-thumbs {
    width: 110px; }
  .fancybox-show-thumbs .fancybox-inner {
    right: 110px; }
  .fancybox-thumbs > ul > li {
    max-width: calc(100% - 10px); } }

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
p {
  margin: 0;
  padding: 0; }

input,
textarea,
button {
  border: 0;
  border-radius: 0;
  outline: 0; }

embed,
iframe,
img,
object,
video {
  max-width: 100%; }

img {
  height: auto;
  max-height: 100%;
  width: 100%; }

hr {
  border: 0;
  border-top: 1px solid #ccc;
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0; }

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

fieldset {
  border: 0;
  margin: 0;
  padding: 0; }

textarea {
  resize: vertical; }

body {
  background-color: #b0b9ca;
  color: #fff;
  display: block;
  margin-left: auto;
  margin-right: auto; }

* html {
  font-size: 100%; }

html {
  font-size: 16px;
  line-height: 1.6875em; }

body, .c-modal, input, textarea, button {
  font-family: "AmbleRegular", "Helvetica", "Arial", sans-serif;
  font-style: normal;
  font-weight: normal;
  font-size: 1em;
  line-height: 1.6875em;
  padding-top: 0.21094em;
  padding-bottom: 0.21094em;
  text-rendering: optimizeLegibility; }

p + *,
* + p {
  margin-top: 0.84375em; }

.t-h1 {
  font-family: "AmbleBold", "Helvetica", "Arial", sans-serif;
  font-style: normal;
  font-weight: normal;
  font-size: 2.36856em;
  line-height: 1.2468em;
  padding-top: 0.21094em;
  padding-bottom: 0.21094em; }

@media (orientation: portrait) and (min-width: 30em) {
  .t-h1 {
    font-size: 4.20875em;
    line-height: 1.20285em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em; } }

@media (orientation: portrait) and (min-width: 48em) {
  .t-h1 {
    font-size: 5.61025em;
    line-height: 1.20315em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em; } }

@media (orientation: portrait) and (min-width: 64em) {
  .t-h1 {
    font-size: 7.47906em;
    line-height: 1.12815em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em; } }

@media (orientation: landscape) and (min-width: 37.5em) {
  .t-h1 {
    font-size: 3.15731em;
    line-height: 1.33618em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em; } }

@media (orientation: landscape) and (min-width: 48em) {
  .t-h1 {
    font-size: 4.20875em;
    line-height: 1.20285em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em; } }

@media (orientation: landscape) and (min-width: 64em) {
  .t-h1 {
    font-size: 5.61025em;
    line-height: 1.20315em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em; } }

@media (orientation: landscape) and (min-width: 100em) {
  .t-h1 {
    font-size: 7.47906em;
    line-height: 1.12815em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em; } }

.t-h2 {
  font-family: "AmbleBold", "Helvetica", "Arial", sans-serif;
  font-style: normal;
  font-weight: normal;
  font-size: 4.20875em;
  line-height: 1.20285em;
  padding-top: 0.21094em;
  padding-bottom: 0.21094em; }
  @media (min-width: 30em) {
    .t-h2 {
      font-size: 5.61025em;
      line-height: 1.20315em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; } }
  @media (min-width: 64em) {
    .t-h2 {
      font-size: 7.47906em;
      line-height: 1.12815em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; } }
  .t-h2.einzug {
    margin-left: 0%; }
  .t-h2.einzug.first {
    margin-top: 0; }
  .t-h2.first {
    margin-top: 10px; }
  @media (min-width: 30em) {
    .t-h2.sieh-an__headline {
      margin-bottom: 72px;
      width: 75%; }
    .t-h2.einzug {
      margin-left: -20%; }
    .t-h2.einzug.first {
      margin-left: 20px; } }

.t-h3 {
  font-family: "AmbleBold", "Helvetica", "Arial", sans-serif;
  font-style: normal;
  font-weight: normal;
  font-size: 2.36856em;
  line-height: 1.2468em;
  padding-top: 0.21094em;
  padding-bottom: 0.21094em; }
  @media (min-width: 30em) {
    .t-h3 {
      font-size: 3.15731em;
      line-height: 1.33618em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; } }

.t-h4 {
  display: block;
  -webkit-box-flex: 0;
  -ms-flex: 0 auto;
  flex: 0 auto;
  font-size: 24px;
  float: none;
  font-family: 'AmbleRegular', sans-serif;
  font-weight: 400;
  line-height: 1.2;
  margin-bottom: 0px;
  margin-top: 0px;
  text-align: left; }
  @media (min-width: 30em) {
    .t-h4 {
      font-size: 36px; } }

p {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6; }
  p.einzug--links {
    margin-left: 0%; }
  @media (min-width: 30em) {
    p {
      font-size: 21px; } }
  @media (min-width: 64em) {
    p {
      font-size: 24px; } }
  @media (min-width: 64em) and (orientation: landscape) {
    p.einzug--links {
      margin-left: 20%; } }

.nav-link {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(52, 103, 204, 0.7)), to(rgba(52, 103, 204, 0.7)));
  background-image: linear-gradient(180deg, rgba(52, 103, 204, 0.7), rgba(52, 103, 204, 0.7));
  border-bottom: 1px solid;
  color: #fff;
  display: block;
  float: right;
  font-size: 16px;
  line-height: 21px;
  margin-left: 0px;
  padding: 10px;
  position: static;
  width: 100%; }
  .nav-link.w--current {
    background-color: #f90;
    background-image: none;
    color: #fff;
    font-family: 'AmbleBold', sans-serif; }
  .nav-link.last {
    border-bottom-width: 0px; }
  @media (min-width: 30em) {
    .nav-link .nav-link {
      font-size: 18px;
      line-height: 21px;
      padding: 16px; } }
  @media (min-width: 48em) {
    .nav-link {
      font-size: 21px;
      line-height: 24px;
      padding: 18px 19px; } }
  @media (min-width: 64em) {
    .nav-link {
      font-size: 24px;
      line-height: 36px; } }

a {
  color: #fff;
  text-decoration: underline; }

.link.inline {
  background-color: #f90;
  border: 0 none;
  color: #fff;
  display: inline;
  padding-bottom: 4px;
  padding-left: 4px;
  padding-right: 4px;
  text-decoration: none; }
  @media (min-width: 37.5em) {
    .link.inline {
      background-color: transparent;
      border-bottom-style: dotted;
      border-bottom-width: 1px;
      border-color: #f90;
      color: #f90;
      padding-bottom: 0; } }

.link.inline.w--current {
  display: inline-block;
  padding: 0px 4px;
  text-decoration: none; }

strong,
b {
  font-family: "AmbleBold", "Helvetica", "Arial", sans-serif;
  font-style: normal;
  font-weight: normal; }

em,
i {
  font-family: "AmbleItalic", "Helvetica", "Arial", sans-serif;
  font-style: normal; }
  em strong,
  em b,
  i strong,
  i b {
    font-family: "AmbleBoldItalic", "Helvetica", "Arial", sans-serif;
    font-style: normal;
    font-weight: normal; }

pre {
  white-space: pre; }

.l-section {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: block;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  margin-bottom: 4rem;
  justify-content: center;
  overflow: hidden;
  position: relative;
  z-index: 1000; }
  .l-section:after {
    display: table;
    clear: both;
    content: ' '; }
  @media (orientation: landscape) {
    .l-section {
      margin-bottom: 50vh; }
      .l-section.starte {
        margin-bottom: 4rem; } }
  .l-section.home, .l-section.sieh-an {
    min-height: 100vh; }
  .l-section.footer {
    margin-bottom: 0;
    padding-top: 4rem;
    padding-bottom: 1rem; }

.container {
  display: block;
  -webkit-box-flex: 0;
  -ms-flex: 0 auto;
  flex: 0 auto;
  max-width: 80%;
  margin-right: auto;
  margin-left: auto;
  overflow: visible;
  position: relative;
  text-align: left;
  z-index: 101; }
  .container:after {
    display: table;
    clear: both;
    content: ' '; }

.nav-menu {
  background-color: transparent;
  margin-left: auto;
  margin-right: auto;
  top: 70px;
  width: 80%; }

.menu-label {
  float: left;
  padding-right: 0.125rem;
  padding-top: 0.25rem; }
  @media (min-width: 64em) {
    .menu-label {
      font-size: 1.4rem;
      padding-right: 0;
      padding-top: 0.8rem; } }

.menu-button-2 {
  bottom: 0px;
  font-size: 1rem;
  position: absolute;
  right: 0px;
  top: 0px; }

.navbar-2 {
  background-color: transparent;
  left: 0px;
  overflow: visible;
  position: fixed;
  right: 0px;
  top: 0px;
  z-index: 1999; }

.nav__link-wrapper {
  float: right;
  position: static;
  width: 270px; }

.icon {
  float: right;
  font-size: 2.25rem;
  line-height: 1; }
  @media (min-width: 64em) {
    .icon {
      font-size: 3.375rem; } }

.brand {
  height: 4rem;
  padding: 0;
  width: 4rem; }
  @media (min-width: 48em) {
    .brand {
      height: 6.25rem;
      width: 6.25rem; } }
  @media (min-width: 64em) and (orientation: portrait) {
    .brand {
      height: 7.75rem;
      width: 7.75rem; } }
  @media (min-width: 100em) {
    .brand {
      height: 7.75rem;
      width: 7.75rem; } }

.text-block {
  font-family: "VollkornRegular", "Helvetica", "Arial", sans-serif;
  font-style: normal;
  font-weight: normal;
  font-size: 1em;
  line-height: 1.6875em;
  padding-top: 0.21094em;
  padding-bottom: 0.21094em;
  line-height: 1.25;
  float: left;
  clear: none;
  color: #fff;
  display: none;
  font-style: normal;
  margin-left: 1rem;
  margin-top: .875rem;
  position: static; }
  .text-block em {
    font-family: "VollkornItalic", "Helvetica", "Arial", sans-serif;
    font-style: normal; }
  @media (min-width: 37.5em) {
    .text-block {
      display: block; } }
  @media (min-width: 48em) {
    .text-block {
      font-size: 1.625em;
      line-height: 1.16827em;
      margin-left: 1.5rem;
      margin-top: 1.125rem; } }
  @media (min-width: 64em) and (orientation: portrait) {
    .text-block {
      font-size: 2.25em;
      line-height: 1.125em; } }
  @media (min-width: 100em) {
    .text-block {
      font-size: 2.25em;
      line-height: 1.125em; } }

.c-start-button {
  bottom: 2rem;
  display: block;
  position: absolute;
  text-align: center;
  text-decoration: none;
  width: 100%; }

@media (orientation: landscape) and (min-width: 30em) {
  .c-start-button {
    bottom: 1rem;
    margin-left: 10%;
    text-align: left;
    width: 80%; } }

@media (orientation: landscape) and (min-width: 37.5em) {
  .c-start-button {
    bottom: 2rem; } }

@media (orientation: landscape) and (min-width: 64em) {
  .c-start-button {
    margin-left: 0;
    text-align: center;
    width: 100%; } }

.c-start-button__label {
  font-family: "AmbleBold", "Helvetica", "Arial", sans-serif;
  font-style: normal;
  font-weight: normal;
  font-size: 1.333em;
  line-height: 1.26594em;
  padding-top: 0.21094em;
  padding-bottom: 0.21094em; }
  @media (orientation: landscape) {
    .c-start-button__label {
      float: left; } }
  @media (orientation: landscape) and (min-width: 37.5em) {
    .c-start-button__label {
      font-size: 1.77687em;
      line-height: 1.18713em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; } }
  @media (orientation: landscape) and (min-width: 48em) {
    .c-start-button__label {
      font-size: 2.36856em;
      line-height: 1.2468em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; } }
  @media (orientation: landscape) and (min-width: 64em) {
    .c-start-button__label {
      float: none; } }

@media (orientation: portrait) and (min-width: 37.5em) {
  .c-start-button__label {
    font-size: 1.77687em;
    line-height: 1.18713em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em; } }

@media (orientation: portrait) and (min-width: 48em) {
  .c-start-button__label {
    font-size: 3.15731em;
    line-height: 1.33618em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em; } }
  @media (min-width: 100em) {
    .c-start-button__label {
      font-size: 4.20875em;
      line-height: 1.20285em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; } }

.c-start-button__button {
  background-color: #3467cc;
  background-image: url("../img/caret-down-white.svg");
  background-position: 50% 56%;
  background-repeat: no-repeat;
  background-size: 60%;
  border-radius: 100%;
  clear: none;
  display: block;
  height: 4.375rem;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0.25rem;
  position: relative;
  width: 4.375rem;
  z-index: 9999; }
  @media (min-width: 30em) and (orientation: landscape) {
    .c-start-button__button {
      display: inline-block;
      height: 2rem;
      margin-left: .5rem;
      width: 2rem; } }
  @media (min-width: 37.5em) and (orientation: landscape) {
    .c-start-button__button {
      height: 4.375rem;
      margin-left: 1rem;
      margin-top: -0.25rem;
      width: 4.375rem; } }
  @media (min-width: 48em) and (orientation: portrait) {
    .c-start-button__button {
      height: 6.25rem;
      width: 6.25rem; } }

@media (min-width: 64em) and (orientation: portrait) {
  .c-start-button__button {
    height: 8.75rem;
    width: 8.75rem; } }

@media (min-width: 64em) and (orientation: landscape) {
  .c-start-button__button {
    height: 5rem;
    width: 5rem; } }
  @media (min-width: 75em) {
    .c-start-button__button {
      height: 6.25rem;
      width: 6.25rem; } }
  @media (min-width: 100em) {
    .c-start-button__button {
      height: 8.75rem;
      width: 8.75rem; } }

.c-hero-text {
  font-family: "VollkornRegular", "Helvetica", "Arial", sans-serif;
  font-style: normal;
  font-weight: normal;
  font-size: 7.47906em;
  line-height: 1.12815em;
  padding-top: 0.21094em;
  padding-bottom: 0.21094em;
  bottom: 0;
  color: #fff;
  display: block;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  line-height: 0;
  overflow: visible;
  position: absolute;
  text-align: left;
  z-index: 100; }
  .c-hero-text.c-hero-text--sieh-an {
    color: rgba(255, 255, 255, 0.15);
    right: 0; }
  .c-hero-text.c-hero-text--suche {
    color: rgba(255, 255, 255, 0.25);
    left: 0; }
  .c-hero-text.c-hero-text-finde {
    color: rgba(255, 255, 255, 0.2);
    right: 0; }
  .c-hero-text.c-hero-text--starte {
    color: rgba(0, 0, 0, 0.25); }
  @media (orientation: portrait) {
    .c-hero-text--sieh-an {
      font-size: 5.61025em;
      line-height: 1.20315em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em;
      line-height: 0; } }

@media (orientation: portrait) and (min-width: 30em) {
  .c-hero-text {
    font-size: 13.32331em;
    line-height: 0em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em; }
    .c-hero-text--sieh-an {
      font-size: 9.96875em;
      line-height: 0em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; } }

@media (orientation: portrait) and (min-width: 48em) {
  .c-hero-text {
    font-size: 17.76em;
    line-height: 0em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em; }
    .c-hero-text--sieh-an {
      font-size: 13.32331em;
      line-height: 0em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; } }

@media (orientation: portrait) and (min-width: 64em) {
  .c-hero-text {
    font-size: 23.67406em;
    line-height: 0em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em; }
    .c-hero-text--sieh-an {
      font-size: 17.76em;
      line-height: 0em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; } }
  @media (orientation: landscape) {
    .c-hero-text {
      font-size: 13.32331em;
      line-height: 0em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; }
      .c-hero-text--sieh-an {
        font-size: 9.96875em;
        line-height: 0em;
        padding-top: 0.21094em;
        padding-bottom: 0.21094em; } }
  @media (orientation: landscape) and (min-width: 37.5em) {
    .c-hero-text {
      font-size: 17.76em;
      line-height: 0em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; }
      .c-hero-text--sieh-an {
        font-size: 13.32331em;
        line-height: 0em;
        padding-top: 0.21094em;
        padding-bottom: 0.21094em; } }
  @media (orientation: landscape) and (min-width: 64em) {
    .c-hero-text {
      font-size: 23.67406em;
      line-height: 0em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; }
      .c-hero-text--sieh-an {
        font-size: 17.76em;
        line-height: 0em;
        padding-top: 0.21094em;
        padding-bottom: 0.21094em; } }
  @media (orientation: landscape) and (min-width: 75em) {
    .c-hero-text {
      font-size: 31.55756em;
      line-height: 0em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; }
      .c-hero-text--sieh-an {
        font-size: 23.67406em;
        line-height: 0em;
        padding-top: 0.21094em;
        padding-bottom: 0.21094em; } }
  @media (orientation: landscape) and (min-width: 100em) {
    .c-hero-text--sieh-an {
      font-size: 31.55756em;
      line-height: 0em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; } }

.home__content {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: transparent;
  display: block;
  position: relative;
  text-align: left;
  top: 4rem;
  width: 100%; }

@media (orientation: portrait) and (min-width: 48em) {
  .home__content {
    top: 6rem; } }

@media (orientation: portrait) and (min-width: 48em) {
  .home__content {
    top: 7.5rem; } }

@media (orientation: landscape) and (min-width: 48em) {
  .home__content {
    top: 6rem; } }

@media (orientation: landscape) and (min-width: 75em) {
  .home__content {
    top: 9.25rem; } }

.bg-home {
  background-color: #b0b9ca;
  background-attachment: fixed;
  background-image: url("../img/wmd-bg-home-v3.png");
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 0px;
  display: block;
  height: 100vh;
  left: 0px;
  position: fixed;
  right: 0px;
  top: 0px;
  z-index: -1; }
  @media (orientation: portrait) {
    .bg-home {
      background-size: 205%; } }
  @media (orientation: portrait) and (min-width: 30em) {
    .bg-home {
      background-position: 90% bottom;
      background-size: cover; } }
  @media (orientation: portrait) and (min-width: 37.5em) {
    .bg-home {
      background-size: 190%; } }
  @media (orientation: portrait) and (min-width: 75em) {
    .bg-home {
      background-size: cover; } }

@media (orientation: landscape) and (min-width: 48em) {
  .bg-home {
    background-size: 100%; } }

@media (orientation: landscape) and (min-width: 75em) {
  .bg-home {
    background-size: cover; } }

@media (orientation: portrait) {
  .sieh-an__content {
    padding-top: 10%; } }

@media (orientation: landscape) and (min-width: 48em) {
  .sieh-an__content {
    padding-top: 5%; } }

@media (orientation: landscape) and (min-width: 75em) {
  .sieh-an__content {
    padding-top: 2.5%; } }

@media (orientation: landscape) and (min-width: 100em) {
  .sieh-an__content {
    padding-top: 7.5%; } }

.sieh-an__headline {
  font-family: "AmbleBold", "Helvetica", "Arial", sans-serif;
  font-style: normal;
  font-weight: normal;
  margin-top: 1rem; }
  @media (orientation: portrait) {
    .sieh-an__headline {
      font-size: 1.77687em;
      line-height: 1.18713em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; } }
  @media (orientation: portrait) and (min-width: 37.5em) {
    .sieh-an__headline {
      font-size: 3.15731em;
      line-height: 1.33618em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; } }
  @media (orientation: portrait) and (min-width: 48em) {
    .sieh-an__headline {
      font-size: 4.20875em;
      line-height: 1.20285em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; } }
  @media (orientation: portrait) and (min-width: 64em) {
    .sieh-an__headline {
      font-size: 5.61025em;
      line-height: 1.20315em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; } }
  @media (orientation: landscape) {
    .sieh-an__headline {
      font-size: 1.333em;
      line-height: 1.26594em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; } }
  @media (orientation: landscape) and (min-width: 37.5em) {
    .sieh-an__headline {
      font-size: 1.77687em;
      line-height: 1.18713em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em;
      width: 80%; } }
  @media (orientation: landscape) and (min-width: 48em) {
    .sieh-an__headline {
      font-size: 2.36856em;
      line-height: 1.2468em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; } }
  @media (orientation: landscape) and (min-width: 64em) {
    .sieh-an__headline {
      font-size: 3.15731em;
      line-height: 1.33618em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; } }
  @media (orientation: landscape) and (min-width: 75em) {
    .sieh-an__headline {
      font-size: 4.20875em;
      line-height: 1.20285em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; } }
  @media (orientation: landscape) and (min-width: 100em) {
    .sieh-an__headline {
      font-size: 5.61025em;
      line-height: 1.20315em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; } }

.sieh-an__link-area {
  background-image: url("../img/video-thumbnail_Andrea-Quibeldey.jpg");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  padding-bottom: 1rem;
  position: relative;
  margin-top: 1rem;
  text-decoration: none; }
  .sieh-an__link-area.charlotte {
    background-image: url("../img/video-placeholder_Azubi-Charlotte_v1.jpg"); }
  @media (min-width: 37.5em) {
    .sieh-an__link-area {
      background: none;
      float: right;
      width: 90%; }
      .sieh-an__link-area.charlotte {
        background: none; } }
  @media (min-width: 37.5em) and (orientation: portrait) {
    .sieh-an__link-area {
      margin-top: 3.5rem; } }

@media (orientation: landscape) and (min-width: 37.5em) {
  .sieh-an__link-area {
    margin-top: 2.5rem;
    padding-right: 1rem;
    width: 80%; } }

.link-area__label {
  font-size: 1.333em;
  line-height: 1.26594em;
  padding-top: 0.21094em;
  padding-bottom: 0.21094em;
  background-image: url("../img/youtube-icon.svg");
  background-repeat: no-repeat;
  background-position: center bottom;
  padding-bottom: 4rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1rem;
  text-align: center; }
  @media (orientation: portrait) {
    .link-area__label {
      background-size: 20%; } }
  @media (orientation: portrait) and (min-width: 37.5em) {
    .link-area__label {
      font-size: 1.77687em;
      line-height: 1.18713em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em;
      background-position: left top;
      background-size: 20%;
      padding-left: 25%;
      padding-right: 0;
      padding-top: 0;
      padding-bottom: 0;
      text-align: left; } }
  @media (orientation: portrait) and (min-width: 48em) {
    .link-area__label {
      font-size: 2.36856em;
      line-height: 1.2468em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em;
      background-position: left .75rem; } }
  @media (orientation: portrait) and (min-width: 64em) {
    .link-area__label {
      font-size: 3.15731em;
      line-height: 1.33618em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em; } }
  @media (orientation: landscape) {
    .link-area__label {
      background-size: 15%; } }
  @media (orientation: landscape) and (min-width: 37.5em) {
    .link-area__label {
      background-position: left top;
      background-size: 20%;
      padding-bottom: 1rem;
      padding-left: 25%;
      padding-right: 0;
      padding-top: 0;
      text-align: left; } }
  @media (orientation: landscape) and (min-width: 48em) {
    .link-area__label {
      font-size: 1.77687em;
      line-height: 1.18713em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em;
      background-position: 0 .5rem;
      padding-bottom: 1rem; } }
  @media (orientation: landscape) and (min-width: 64em) {
    .link-area__label {
      font-size: 2.36856em;
      line-height: 1.2468em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em;
      padding-bottom: 1rem; } }
  @media (orientation: landscape) and (min-width: 75em) {
    .link-area__label {
      font-size: 3.15731em;
      line-height: 1.33618em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em;
      padding-bottom: 1rem; } }
  @media (orientation: landscape) and (min-width: 100em) {
    .link-area__label {
      font-size: 3.15731em;
      line-height: 1.33618em;
      padding-top: 0.21094em;
      padding-bottom: 0.21094em;
      padding-bottom: 4rem; } }

.bg-sieh-an-wrapper {
  bottom: 0px;
  display: block;
  height: 100vh;
  left: 0px;
  position: fixed;
  right: 0px;
  top: 0px;
  z-index: 14; }

.bg-sieh-an-front {
  bottom: 0px;
  display: block;
  height: 100vh;
  left: 0px;
  position: fixed;
  right: 0px;
  top: 0px;
  z-index: 3; }
  @media (min-width: 37.5em) {
    .bg-sieh-an-front {
      background-attachment: fixed;
      background-image: url("../img/wmd-bg-sieh-an-front.png");
      background-position: 100% 0;
      background-repeat: no-repeat;
      background-size: cover; } }
  .bg-sieh-an-front.bg-sieh-an-front__charlotte {
    background-image: url("../img/wmd_Azubi-Charlotte_front_v2.png"); }

@media (orientation: portrait) and (min-width: 37.5em) {
  .bg-sieh-an-front {
    background-image: url("../img/wmd_sieh-an_front-complete_v2.png");
    background-position: right bottom;
    background-size: 40%; }
    .bg-sieh-an-front.bg-sieh-an-front__charlotte {
      background-image: url("../img/wmd_Azubi-Charlotte_front_v2.png");
      background-size: 90%; } }

@media (orientation: landscape) and (min-width: 48em) {
  .bg-sieh-an-front {
    background-position: 60% 0;
    background-size: cover; }
    .bg-sieh-an-front.bg-sieh-an-front__charlotte {
      background-position: 80% 0; } }

@media (orientation: landscape) and (min-width: 64em) {
  .bg-sieh-an-front {
    background-position: 60% 0; } }

.bg-sieh-an-back {
  background-color: #f54263;
  bottom: 0px;
  display: block;
  height: 100vh;
  left: 0px;
  position: fixed;
  right: 0px;
  top: 0px;
  z-index: 13; }

.bg-sieh-an-back__slide {
  bottom: 0px;
  display: block;
  height: 100vh;
  left: 0px;
  position: fixed;
  right: 0px;
  top: 0px;
  z-index: 13; }
  @media (min-width: 37.5em) {
    .bg-sieh-an-back__slide {
      background-attachment: fixed;
      background-image: url("../img/wmd-bg-sieh-an-back.jpg");
      background-position: left top;
      background-repeat: no-repeat;
      background-size: cover; } }
  @media (min-width: 37.5em) {
    .bg-sieh-an-back__slide.charlotte {
      background-image: url("../img/wmd_Azubi-Charlotte_back_v2.jpg");
      background-position: right top; } }
  @media (min-width: 64em) {
    .bg-sieh-an-back__slide {
      background-position: left top; } }

.slider {
  background: none;
  height: 80vh;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%; }
  @media (orientation: landscape) {
    .slider {
      height: 90vh; } }
  @media (orientation: landscape) and (min-width: 37.5em) {
    .slider {
      height: 80vh; } }

.slider__mask {
  background-color: transparent; }

.slider__arrow {
  background-color: #f90;
  background-repeat: no-repeat;
  background-size: 30%;
  border-radius: 100%;
  bottom: auto;
  cursor: pointer;
  font-size: 1rem;
  height: 2.5rem;
  overflow: hidden;
  position: absolute;
  width: 2.5rem;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  top: 50%;
  user-select: none; }
  .slider__arrow.left {
    background-image: url("../img/caret-left-white.svg");
    background-position: 45% 50%;
    left: 1rem;
    right: auto; }
  .slider__arrow.right {
    background-image: url("../img/caret-right-white.svg");
    background-position: 55% 50%;
    left: auto;
    right: 1rem; }
  @media (min-width: 37.5em) {
    .slider__arrow {
      height: 3.75rem;
      width: 3.75rem; } }
  @media (min-width: 37.5em) and (orientation: portrait) {
    .slider__arrow {
      top: 64%; } }
  @media (min-width: 48em) {
    .slider__arrow {
      height: 4.75rem;
      width: 4.75rem; } }
  @media (min-width: 48em) and (orientation: portrait) {
    .slider__arrow {
      top: 60%; } }
  @media (min-width: 64em) {
    .slider__arrow {
      height: 6.5rem;
      width: 6.5rem; } }
  @media (min-width: 64em) and (orientation: portrait) {
    .slider__arrow {
      top: 57%; } }

.suche__content {
  width: 100%;
  float: right; }
  @media (min-width: 30em) {
    .suche__content {
      width: 80%; } }
  @media (min-width: 37.5em) and (orientation: portrait) {
    .suche__content {
      width: 70%; } }

@media (orientation: landscape) and (min-width: 37.5em) {
  .suche__content {
    width: 68%; } }

@media (orientation: landscape) and (min-width: 48em) {
  .suche__content {
    width: 50%; } }

@media (min-width: 37.5em) {
  .suche__headline {
    margin-left: -10%; } }

@media (min-width: 64em) {
  .suche__headline {
    margin-left: -20%; } }

.bg-suche-wrapper {
  bottom: 0px;
  display: block;
  height: 100vh;
  left: 0px;
  position: fixed;
  right: 0px;
  top: 0px;
  z-index: 16; }

.bg-suche-front {
  bottom: 0px;
  display: block;
  height: 100vh;
  left: 0px;
  position: fixed;
  right: 0px;
  top: 0px;
  z-index: 3; }
  @media (min-width: 37.5em) {
    .bg-suche-front {
      background-attachment: fixed;
      background-image: url("../img/wmd-bg-suche_front_v2.png");
      background-position: 15% 0;
      background-repeat: no-repeat;
      background-size: cover; } }
  @media (min-width: 37.5em) {
    .bg-suche-front {
      background-position: left bottom;
      background-size: 75%; } }
  @media (min-width: 48em) and (orientation: landscape) {
    .bg-suche-front {
      background-position: 15% 0;
      background-size: cover; } }
  @media (min-width: 75em) {
    .bg-suche-front {
      background-position: 0 0; } }

.bg-suche--back {
  background-color: #598a62;
  bottom: 0px;
  display: block;
  height: 100vh;
  left: 0px;
  position: fixed;
  right: 0px;
  top: 0px;
  z-index: 15; }
  @media (min-width: 37.5em) {
    .bg-suche--back {
      background-attachment: fixed;
      background-image: url("../img/wmd-bg-suche_back_v2.jpg");
      background-position: 15% 0;
      background-repeat: no-repeat;
      background-size: cover; } }
  @media (min-width: 37.5em) {
    .bg-suche--back {
      background-position: left bottom; } }
  @media (min-width: 75em) {
    .bg-suche--back {
      background-position: 0 0; } }

.finde__content {
  width: 100%; }
  @media (min-width: 30em) {
    .finde__content {
      width: 80%; } }
  @media (min-width: 37.5em) and (orientation: portrait) {
    .finde__content {
      width: 75%; } }

@media (orientation: landscape) and (min-width: 37.5em) {
  .finde__content {
    width: 75%; } }

@media (orientation: landscape) and (min-width: 48em) {
  .finde__content {
    width: 65%; } }

.bg-finde-wrapper {
  bottom: 0px;
  display: block;
  height: 100vh;
  left: 0px;
  position: fixed;
  right: 0px;
  top: 0px;
  z-index: 18; }

.bg-finde-front {
  bottom: 0px;
  display: block;
  height: 100vh;
  left: 0px;
  position: fixed;
  right: 0px;
  top: 0px;
  z-index: 3; }
  @media (min-width: 37.5em) {
    .bg-finde-front {
      background-attachment: fixed;
      background-image: url("../img/wmd_finde_front_v3.png");
      background-position: 50% 0;
      background-repeat: no-repeat;
      background-size: cover; } }
  @media (min-width: 37.5em) {
    .bg-finde-front {
      background-position: right bottom;
      background-size: 86%; } }
  @media (min-width: 48em) and (orientation: landscape) {
    .bg-finde-front {
      background-position: 75% 0;
      background-size: cover; } }
  @media (min-width: 75em) {
    .bg-finde-front {
      background-position: 100% 0; } }

.bg-finde-back {
  background-color: #96b3c8;
  bottom: 0px;
  display: block;
  height: 100vh;
  left: 0px;
  position: fixed;
  right: 0px;
  top: 0px;
  z-index: 17; }
  @media (min-width: 37.5em) {
    .bg-finde-back {
      background-attachment: fixed;
      background-image: url("../img/wmd_finde_back_v3.jpg");
      background-position: 50% 0;
      background-repeat: no-repeat;
      background-size: cover; } }
  @media (min-width: 37.5em) {
    .bg-finde-back {
      background-position: 40% bottom; } }
  @media (min-width: 64em) {
    .bg-finde-back {
      background-position: 60% 0; } }
  @media (min-width: 75em) {
    .bg-finde-back {
      background-position: 100% 0; } }

.starte__content {
  float: right;
  width: 100%; }
  @media (min-width: 30em) {
    .starte__content {
      width: 80%; } }
  @media (min-width: 37.5em) and (orientation: portrait) {
    .starte__content {
      width: 70%; } }

@media (orientation: landscape) and (min-width: 37.5em) {
  .starte__content {
    width: 68%; } }

@media (orientation: landscape) and (min-width: 48em) {
  .starte__content {
    width: 50%; } }

.bg-start-wrapper {
  bottom: 0px;
  display: block;
  height: 100vh;
  left: 0px;
  position: fixed;
  right: 0px;
  top: 0px;
  z-index: 30; }

.bg-starte-front {
  bottom: 0px;
  display: block;
  height: 100vh;
  left: 0px;
  position: fixed;
  right: 0px;
  top: 0px;
  z-index: 3; }
  @media (min-width: 37.5em) {
    .bg-starte-front {
      background-attachment: fixed;
      background-image: url("../img/wmd_starte_front_v5.png");
      background-position: 15% 0;
      background-repeat: no-repeat;
      background-size: cover; } }
  @media (min-width: 37.5em) {
    .bg-starte-front {
      background-position: left bottom;
      background-size: 85%; } }
  @media (min-width: 48em) and (orientation: landscape) {
    .bg-starte-front {
      background-position: 15% 0;
      background-size: cover; } }
  @media (min-width: 100em) {
    .bg-starte-front {
      background-position: 0 0; } }

.bg-starte-back {
  background-color: #e1a23d;
  bottom: 0px;
  display: block;
  height: 100vh;
  left: 0px;
  position: fixed;
  right: 0px;
  top: 0px;
  z-index: 19; }
  @media (min-width: 37.5em) {
    .bg-starte-back {
      background-attachment: fixed;
      background-image: url("../img/wmd_starte_back_v5.jpg");
      background-position: 15% 0;
      background-repeat: no-repeat;
      background-size: cover; } }
  @media (min-width: 75em) {
    .bg-starte-back {
      background-position: 0 0; } }

.footer__link {
  display: block;
  float: right;
  margin-left: 1rem; }

.fancybox-close-small::after {
  color: #fff; }

.c-modal {
  border-radius: 8px;
  background-color: #3467cc;
  display: none;
  padding: 2rem;
  width: 80%; }
  .c-modal.finde-kaffee {
    background-color: #f90;
    max-width: 48rem;
    padding: 1rem; }
  .c-modal.finde-social, .c-modal.imprint {
    max-width: 48rem; }
  .c-modal.suche-kennenlernen {
    padding: 1rem; }

@media (orientation: portrait) and (min-width: 64em) {
  .c-modal.suche-kennenlernen {
    padding: 2rem; } }

@media (orientation: landscape) and (min-width: 64em) {
  .c-modal.suche-kennenlernen {
    padding: 2rem; } }
  .c-modal.starte-bewerbung {
    height: 80vh; }

@media (orientation: portrait) and (min-width: 37.5em) {
  .c-modal.starte-bewerbung {
    height: auto; } }

@media (orientation: landscape) and (min-width: 48em) {
  .c-modal.starte-bewerbung {
    height: auto; } }
  .c-modal.suche-frage, .c-modal.suche-neugierig {
    max-width: 48rem;
    padding: 1rem; }
    @media (min-width: 37.5em) {
      .c-modal.suche-frage, .c-modal.suche-neugierig {
        padding: 2rem; } }
  .c-modal.suche-frage {
    max-width: 54rem; }

.suche-frage {
  text-align: center; }
  .suche-frage h3 {
    font-size: 1.333em;
    line-height: 1.26594em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em; }
  .suche-frage p {
    margin-top: 0.5rem; }

@media (orientation: landscape) and (min-width: 37.5em) {
  .suche-frage h3,
  .suche-frage p {
    font-size: 1.333em;
    line-height: 1.26594em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em; } }

@media (orientation: landscape) and (min-width: 64em) {
  .suche-frage h3,
  .suche-frage p {
    font-size: 1.77687em;
    line-height: 1.18713em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em; } }

@media (orientation: portrait) and (min-width: 30em) {
  .suche-frage p {
    font-size: 1.333em;
    line-height: 1.26594em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em; } }

@media (orientation: portrait) and (min-width: 48em) {
  .suche-frage h3,
  .suche-frage p {
    font-size: 2.36856em;
    line-height: 1.2468em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em; } }

@media (orientation: portrait) and (min-width: 64em) {
  .suche-frage h3,
  .suche-frage p {
    font-size: 3.15731em;
    line-height: 1.33618em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em; } }

.c-modal__social-wrapper {
  text-align: center; }
  .c-modal__social-wrapper:after {
    display: table;
    clear: both;
    content: ' '; }
  .c-modal__social-wrapper .c-modal__social-label {
    text-align: center;
    margin-bottom: 2rem; }

.c-modal__social {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  display: inline-block;
  margin-bottom: 1rem;
  margin-left: 2rem;
  margin-right: 2rem;
  width: 6rem;
  height: 6rem; }
  .c-modal__social.facebook {
    background-image: url("../img/logo-facebook-negative.svg"); }
  .c-modal__social.twitter {
    background-image: url("../img/twitter-bird-blue-bgs.svg"); }
  .c-modal__social.youtube {
    background-image: url("../img/logo-youtube.svg"); }

.c-modal__service-wrapper {
  margin-top: 1rem; }

.c-modal__service {
  border-radius: 4px;
  background-color: #2952a4;
  overflow: hidden;
  padding-bottom: 1rem;
  margin-bottom: 1rem; }
  .c-modal__service:last-child {
    margin-bottom: 0; }
  @media (min-width: 64em) {
    .c-modal__service {
      padding-bottom: 2rem;
      margin-bottom: 2rem; } }

@media (orientation: landscape) and (min-width: 75em) {
  .c-modal__service {
    float: left;
    margin-right: 3%;
    width: 30.333%; } }
  @media (orientation: landscape) {
    .c-modal__service:last-child {
      margin-right: 0; } }

.c-modal__service-link {
  display: inline-block;
  text-decoration: none; }

.c-modal__service-media {
  margin-bottom: 1rem; }

.c-modal__service-headline {
  font-size: 1.77687em;
  line-height: 1.18713em;
  padding-top: 0.21094em;
  padding-bottom: 0.21094em;
  padding-left: 1rem;
  padding-right: 1rem; }

@media (orientation: portrait) and (min-width: 48em) {
  .c-modal__service-headline {
    font-size: 2.36856em;
    line-height: 1.2468em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em; } }

@media (orientation: portrait) and (min-width: 64em) {
  .c-modal__service-headline {
    font-size: 3.15731em;
    line-height: 1.33618em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em;
    padding-left: 2rem;
    padding-right: 2rem; } }

@media (orientation: landscape) and (min-width: 75em) {
  .c-modal__service-headline {
    padding-left: 2rem;
    padding-right: 2rem; } }

@media (orientation: landscape) and (min-width: 100em) {
  .c-modal__service-headline {
    font-size: 2.36856em;
    line-height: 1.2468em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em; } }

.modal-hyphen--hg {
  display: inline; }
  .modal-hyphen--hg:before {
    content: '-'; }
  @media (min-width: 30em) {
    .modal-hyphen--hg {
      display: none; }
      .modal-hyphen--hg:before {
        content: ''; } }

.c-modal__service-description {
  padding-left: 1rem;
  padding-right: 1rem; }

@media (orientation: portrait) and (min-width: 64em) {
  .c-modal__service-description {
    padding-left: 2rem;
    padding-right: 2rem; } }

@media (orientation: landscape) and (min-width: 75em) {
  .c-modal__service-description {
    padding-left: 2rem;
    padding-right: 2rem; } }

.ds ol {
  list-style: upper-roman;
  padding-left: 2rem; }

.ds ol li,
.ds ul li {
  margin-top: 2rem; }

.ds ol ol {
  list-style: decimal; }

.ds ol ol li,
.ds ol ol li:first-child {
  margin-top: 1rem; }

.ds ol ol ol {
  list-style: lower-alpha;
  margin-bottom: 1rem; }

.ds ol ol ol li,
.ds ol ol ol li:first-child {
  margin-top: .5rem; }

.ds ol ol ol ol {
  list-style: lower-roman;
  margin-bottom: 1rem; }

.f-field-wrapper {
  margin-bottom: .75rem; }
  .f-field-wrapper:after {
    display: table;
    clear: both;
    content: ' '; }
  .f-field-wrapper.submit {
    margin-top: 2rem;
    text-align: right; }

.f-label {
  display: block;
  cursor: pointer;
  font-weight: normal;
  line-height: 1.2;
  margin-bottom: 0.5rem; }
  @media (min-width: 48em) {
    .f-label {
      float: left;
      margin-right: 2%;
      margin-top: 0.25rem;
      text-align: right;
      width: 20%; } }

.f-field {
  border: 0 none;
  margin: 0;
  padding: 0.25rem 0.5rem;
  width: 100%; }
  .textarea .f-field {
    height: 10rem; }
  @media (min-width: 48em) {
    .f-field {
      width: 78%; } }

.f-note {
  font-size: 1em;
  line-height: 1.6875em;
  padding-top: 0.21094em;
  padding-bottom: 0.21094em; }
  @media (min-width: 48em) {
    .f-note {
      margin-left: 22%; } }

.c-ap {
  margin-bottom: 2rem; }
  .c-ap:after {
    display: table;
    clear: both;
    content: ' '; }

.c-ap__media {
  margin-bottom: 1rem;
  width: 50%; }

@media (orientation: portrait) and (min-width: 48em) {
  .c-ap__media {
    float: left;
    margin-right: 5%;
    width: 40%; } }
  @media (orientation: landscape) {
    .c-ap__media {
      float: left;
      margin-right: 5%;
      width: 40%; } }

@media (orientation: portrait) and (min-width: 48em) {
  .c-ap__data {
    margin-left: 45%; } }

@media (orientation: landscape) {
  .c-ap__data {
    margin-left: 45%; } }

.c-ap__name {
  font-size: 1.77687em;
  line-height: 1.18713em;
  padding-top: 0.21094em;
  padding-bottom: 0.21094em; }

@media (orientation: portrait) and (min-width: 37.5em) {
  .c-ap__name {
    font-size: 2.36856em;
    line-height: 1.2468em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em; }
    .c-ap__name + p {
      margin-top: 0; } }

@media (orientation: portrait) and (min-width: 48em) {
  .c-ap__name {
    padding-top: 0; } }

@media (orientation: portrait) and (min-width: 64em) {
  .c-ap__name {
    font-size: 3.15731em;
    line-height: 1.33618em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em; } }
  @media (orientation: landscape) {
    .c-ap__name + p {
      margin-top: 0; } }

@media (orientation: landscape) and (min-width: 37.5em) {
  .c-ap__name {
    font-size: 2.36856em;
    line-height: 1.2468em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em;
    padding-top: 0; } }

@media (orientation: landscape) and (min-width: 64em) {
  .c-ap__name {
    font-size: 3.15731em;
    line-height: 1.33618em;
    padding-top: 0.21094em;
    padding-bottom: 0.21094em;
    padding-top: 0; } }

.rot,
.red {
  color: #c00; }

.blau,
.blue {
  color: #3467cc; }

.to-left {
  float: left; }

.to-right {
  float: right; }

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

.clearfix:after {
  display: table;
  clear: both;
  content: ' '; }

.clear {
  clear: both; }

.nowrap,
.noWrap {
  white-space: nowrap; }

.pdf {
  background: url("/img/layout/acrobat_24.png") 0 0.15em no-repeat;
  display: inline-block;
  float: left;
  padding-bottom: 1em;
  padding-left: 2em; }

.hidden {
  display: none !important; }

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

.visuallyhidden--focusable:active, .visuallyhidden--focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto; }

.invisible {
  visibility: hidden; }

.ir,
.hide-text {
  background-color: transparent;
  border: 0;
  color: transparent;
  font: 0/0 a;
  text-shadow: none; }

.has-hyphen--ml {
  display: inline; }
  .has-hyphen--ml:before {
    content: '-'; }
  @media (min-width: 30em) {
    .has-hyphen--ml {
      display: none; }
      .has-hyphen--ml:before {
        content: ''; } }

.has-hyphen--ts {
  display: inline; }
  .has-hyphen--ts:before {
    content: '-'; }
  @media (min-width: 37.5em) {
    .has-hyphen--ts {
      display: none; }
      .has-hyphen--ts:before {
        content: ''; } }

.has-hyphen--t {
  display: inline; }
  .has-hyphen--t:before {
    content: '-'; }
  @media (min-width: 48em) {
    .has-hyphen--t {
      display: none; }
      .has-hyphen--t:before {
        content: ''; } }

.has-hyphen--tl {
  display: inline; }
  .has-hyphen--tl:before {
    content: '-'; }
  @media (min-width: 64em) {
    .has-hyphen--tl {
      display: none; }
      .has-hyphen--tl:before {
        content: ''; } }

.has-hyphen--c {
  display: inline; }
  .has-hyphen--c:before {
    content: '-'; }
  @media (min-width: 75em) {
    .has-hyphen--c {
      display: none; }
      .has-hyphen--c:before {
        content: ''; } }

.has-bg {
  background-color: #fff; }

.has-bg-brand-primary-10 {
  background-color: rgba(52, 103, 204, 0.1); }

.has-padding {
  padding: 1rem 2.85714%; }
  @media (min-width: 37.5em) {
    .has-padding {
      padding-left: 1.88679%;
      padding-right: 1.88679%; } }
  @media (min-width: 75em) {
    .has-padding {
      padding-left: 1.40845%;
      padding-right: 1.40845%; } }

.has-padding-left {
  padding-left: 2.85714%; }
  @media (min-width: 37.5em) {
    .has-padding-left {
      padding-left: 1.88679%; } }
  @media (min-width: 75em) {
    .has-padding-left {
      padding-left: 1.40845%; } }

.has-padding-left-right {
  padding-left: 2.85714%;
  padding-right: 2.85714%; }
  @media (min-width: 37.5em) {
    .has-padding-left-right {
      padding-left: 1.88679%;
      padding-right: 1.88679%; } }
  @media (min-width: 75em) {
    .has-padding-left-right {
      padding-left: 1.40845%;
      padding-right: 1.40845%; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC1kZXYuY3NzIiwiLi4vYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtY3NzL25vcm1hbGl6ZS5jc3MiLCJsaWIvX2FuaW1hdGUuc2NzcyIsImhlbHBlcnMvX2gtYnV0dG9ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX3NoYXJlZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL3R5cG9ncmFwaHkvX3ZlcnRpY2FsX3JoeXRobS5zY3NzIiwidmFyaWFibGVzL192YXItY29sb3JzLnNjc3MiLCJoZWxwZXJzL19oLXR5cG9ncmFwaHkuc2NzcyIsInZhcmlhYmxlcy9fdmFyLXR5cG9ncmFwaHkuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL19icmVha3BvaW50LnNjc3MiLCJmb250cy9fQW1ibGUuc2NzcyIsImZvbnRzL19Wb2xsa29ybi5zY3NzIiwidmVuZG9yL193ZWJmbG93LnNjc3MiLCIuLi9ib3dlcl9jb21wb25lbnRzL2ZhbmN5Ym94L2Rpc3QvanF1ZXJ5LmZhbmN5Ym94LmNzcyIsImJhc2UvX2ItcmVzZXQuc2NzcyIsImJhc2UvX2ItYmFzZS5zY3NzIiwiYmFzZS9fYi10eXBvZ3JhcGh5LnNjc3MiLCJsYXlvdXQvX2wtbGF5b3V0LnNjc3MiLCJoZWxwZXJzL19oLW1peGlucy5zY3NzIiwibGF5b3V0L19sLW5hdi5zY3NzIiwibGF5b3V0L19sLWJyYW5kLnNjc3MiLCJjb21wb25lbnRzL19jLXN0YXJ0LWJ1dHRvbi5zY3NzIiwiY29tcG9uZW50cy9fYy1oZXJvLXRleHQuc2NzcyIsImNvbXBvbmVudHMvX2MtaG9tZS5zY3NzIiwiaGVscGVycy9faC1jb21wb25lbnRzLnNjc3MiLCJjb21wb25lbnRzL19jLXNpZWgtYW4uc2NzcyIsImNvbXBvbmVudHMvX2Mtc2xpZGVyLnNjc3MiLCJjb21wb25lbnRzL19jLXN1Y2hlLnNjc3MiLCJjb21wb25lbnRzL19jLWZpbmRlLnNjc3MiLCJjb21wb25lbnRzL19jLXN0YXJ0ZS5zY3NzIiwiY29tcG9uZW50cy9fYy1mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX2MtbW9kYWwuc2NzcyIsImNvbXBvbmVudHMvX2MtZGF0ZW5zY2h1dHouc2NzcyIsImNvbXBvbmVudHMvX2MtZm9ybXMuc2NzcyIsImNvbXBvbmVudHMvX2MtYXAuc2NzcyIsInV0aWxpdGllcy9fdS11dGlsaXRpZXMuc2NzcyIsIi4uL2Jvd2VyX2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvX3N1LW1hdGguc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakIsNEVBQTRFO0FBRTVFO2dGQUNnRjtBQUVoRjs7OztHQUlHO0FBRUg7RUFDRSxrQkFBaUI7RUFBRyxPQUFPO0VBQzNCLDJCQUEwQjtFQUFHLE9BQU87RUFDcEMsK0JBQThCO0VBQUcsT0FBTyxFQUN6Qzs7QUFFRDtnRkFDZ0Y7QUFFaEY7O0dBRUc7QUFFSDtFQUNFLFVBQVMsRUFDVjs7QUFFRDs7R0FFRztBQUVIOzs7Ozs7RUFNRSxlQUFjLEVBQ2Y7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsaUJBQWdCLEVBQ2pCOztBQUVEO2dGQUNnRjtBQUVoRjs7O0dBR0c7QUFFSDs7O0VBRU8sT0FBTztFQUNaLGVBQWMsRUFDZjs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsaUJBQWdCLEVBQ2pCOztBQUVEOzs7R0FHRztBQUVIO0VBQ0UsZ0NBQXVCO1VBQXZCLHdCQUF1QjtFQUFHLE9BQU87RUFDakMsVUFBUztFQUFHLE9BQU87RUFDbkIsa0JBQWlCO0VBQUcsT0FBTyxFQUM1Qjs7QUFFRDs7O0dBR0c7QUFFSDtFQUNFLGtDQUFpQztFQUFHLE9BQU87RUFDM0MsZUFBYztFQUFHLE9BQU8sRUFDekI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVIO0VBQ0UsOEJBQTZCO0VBQUcsT0FBTztF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QUE7O0E0QnBDSDtFNUJKRSxnQkFBZSxFNEJNaEI7RTVCTEM7SUFDRSxhQUFZLEVBQ2I7RUVOQztJMEJPSjtNNUJpQ0UsY0FBYSxFNEIvQmQ7TTVCZ0NDO1FBQ0UsWUFBVyxFQUNaLEVBQUE7O0E0QmhDSDtFNUJSRSxnQkFBZSxFNEJVaEI7RTVCVEM7SUFDRSxhQUFZLEVBQ2I7RUVOQztJMEJXSjtNNUI2QkUsY0FBYSxFNEIzQmQ7TTVCNEJDO1FBQ0UsWUFBVyxFQUNaLEVBQUE7O0E0QjVCSDtFNUJaRSxnQkFBZSxFNEJjaEI7RTVCYkM7SUFDRSxhQUFZLEVBQ2I7RUVOQztJMEJlSjtNNUJ5QkUsY0FBYSxFNEJ2QmQ7TTVCd0JDO1FBQ0UsWUFBVyxFQUNaLEVBQUE7O0E0QnhCSDtFNUJoQkUsZ0JBQWUsRTRCa0JoQjtFNUJqQkM7SUFDRSxhQUFZLEVBQ2I7RUVOQztJMEJtQko7TTVCcUJFLGNBQWEsRTRCbkJkO001Qm9CQztRQUNFLFlBQVcsRUFDWixFQUFBOztBNEJwQkg7RUFDRSx1QjdCMUNhLEU2QjJDZDs7QUFFRDtFQUNFLDBDN0JsRDhCLEU2Qm1EL0I7O0FBRUQ7RUFDRSx1QkMrQ3lDLEVEcEMxQztFMUIzQ0c7STBCK0JKO01BSUksdUJDNEN1QztNRDNDdkMsd0JDMkN1QyxFRHBDMUMsRUFBQTtFMUIzQ0c7STBCK0JKO01BU0ksdUJDdUN1QztNRHRDdkMsd0JDc0N1QyxFRHBDMUMsRUFBQTs7QUFFRDtFQUNFLHVCQ2lDeUMsRUR4QjFDO0UxQnZERztJMEI2Q0o7TUFJSSx1QkM4QnVDLEVEeEIxQyxFQUFBO0UxQnZERztJMEI2Q0o7TUFRSSx1QkMwQnVDLEVEeEIxQyxFQUFBOztBQUVEO0VBQ0UsdUJDcUJ5QztFRHBCekMsd0JDb0J5QyxFRFQxQztFMUJ0RUc7STBCeURKO01BS0ksdUJDaUJ1QztNRGhCdkMsd0JDZ0J1QyxFRFQxQyxFQUFBO0UxQnRFRztJMEJ5REo7TUFVSSx1QkNZdUM7TURYdkMsd0JDV3VDLEVEVDFDLEVBQUEiLCJmaWxlIjoiYXBwLWRldi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCAnVVRGLTgnO1xuXG4vLyBMaWJyYXJpZXMgXG4vLyAtLS0tLS0tLS1cbkBpbXBvcnQgJ2xpYi9saWInLFxuJ25vcm1hbGl6ZS1jc3Mvbm9ybWFsaXplJyxcbidsaWIvYW5pbWF0ZSc7XG5cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tXG5AaW1wb3J0IFxuJ3ZhcmlhYmxlcy92YXItZ2xvYmFscycsXG4ndmFyaWFibGVzL3Zhci1jb2xvcnMnLFxuJ3ZhcmlhYmxlcy92YXItdHlwb2dyYXBoeScsXG4ndmFyaWFibGVzL3Zhci1icmVha3BvaW50cycsXG4ndmFyaWFibGVzL3Zhci1sYXlvdXRzJztcblxuLy8gSGVscGVycyBcbi8vIC0tLS0tLS1cbkBpbXBvcnQgXG4naGVscGVycy9oLWhlbHBlcnMnLFxuJ2hlbHBlcnMvaC1sYXlvdXRzJyxcbidoZWxwZXJzL2gtY29tcG9uZW50cyc7XG5cbi8vIEZvbnRzXG4vLyAtLS0tLVxuQGltcG9ydCBcbidmb250cy9BbWJsZScsXG4nZm9udHMvVm9sbGtvcm4nO1xuXG4vLyBWZW5kb3JzXG4vLyAtLS0tLS0tXG5AaW1wb3J0XG4ndmVuZG9yL3dlYmZsb3cnLFxuJ2ZhbmN5Ym94L2Rpc3QvanF1ZXJ5LmZhbmN5Ym94Jztcbi8vJ3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLnNjc3MnLFxuLy8nc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2stdGhlbWUuc2Nzcyc7XG5cblxuLy8gUmVzZXQgYW5kIGJhc2UgZmlsZXMgKGF0b21zKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydFxuJ2Jhc2UvYi1yZXNldCcsXG4nYmFzZS9iLWJhc2UnLFxuLy8nYmFzZS9tYWluJyxcbidiYXNlL2ItdHlwb2dyYXBoeSc7XG5cbi8vIExheW91dHNcbi8vIC0tLS0tLS1cbkBpbXBvcnQgXG4nbGF5b3V0L2wtbGF5b3V0JyxcbidsYXlvdXQvbC1uYXYnLFxuJ2xheW91dC9sLWhvbWUnLFxuJ2xheW91dC9sLWJyYW5kJztcblxuLy8gY29tcG9uZW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydFxuLy8nY29tcG9uZW50cy9jLWNvbXBvbmVudHMnLFxuLy8nY29tcG9uZW50cy9jLWJ1dHRvbicsXG4nY29tcG9uZW50cy9jLXN0YXJ0LWJ1dHRvbicsXG4nY29tcG9uZW50cy9jLWhlcm8tdGV4dCcsXG4nY29tcG9uZW50cy9jLWhvbWUnLFxuJ2NvbXBvbmVudHMvYy1zaWVoLWFuJyxcbidjb21wb25lbnRzL2Mtc2xpZGVyJyxcbidjb21wb25lbnRzL2Mtc3VjaGUnLFxuJ2NvbXBvbmVudHMvYy1maW5kZScsXG4nY29tcG9uZW50cy9jLXN0YXJ0ZScsXG4nY29tcG9uZW50cy9jLWZvb3RlcicsXG4nY29tcG9uZW50cy9jLW1vZGFsJyxcbidjb21wb25lbnRzL2MtZGF0ZW5zY2h1dHonLFxuJ2NvbXBvbmVudHMvYy1mb3JtcycsXG4nY29tcG9uZW50cy9jLWFwJztcblxuLy8gdGhlbWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9AaW1wb3J0IFxuLy8ndGhlbWVzL2pxdWVyeS11aS0xLjEwLjMuY3VzdG9tJyxcbi8vJ3RoZW1lcy9mYW5jeWJveCcsXG4vLyd0aGVtZXMvdmVydGljYWwtdGltZWxpbmUtY3VzdG9tJztcbi8vJ3RoZW1lcy9saXF1aWRzbGlkZXJfY3VzdG9tJztcblxuLy8gdXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCAndXRpbGl0aWVzL3UtdXRpbGl0aWVzJztcblxuLy8gcGFnZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL0BpbXBvcnQgXG4vLydwYWdlcy9mcm9udHBhZ2UnLFxuLy8ncGFnZXMvd2VDcmVhdGVPYmplY3RzJztcblxuLy8gc2hhbWVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0IFxuJ3NoYW1lJztcbiIsIi8qISBub3JtYWxpemUuY3NzIHY3LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4geyAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctIGFuZCBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzLCAvKiAxICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogU2NyaXB0aW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEhpZGRlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO2JvZHl7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0uYW5pbWF0ZWR7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MXM7LW1vei1hbmltYXRpb24tZHVyYXRpb246MXM7LW8tYW5pbWF0aW9uLWR1cmF0aW9uOjFzO2FuaW1hdGlvbi1kdXJhdGlvbjoxczstd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6Ym90aDstbW96LWFuaW1hdGlvbi1maWxsLW1vZGU6Ym90aDstby1hbmltYXRpb24tZmlsbC1tb2RlOmJvdGg7YW5pbWF0aW9uLWZpbGwtbW9kZTpib3RofS5hbmltYXRlZC5oaW5nZXstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoyczstbW96LWFuaW1hdGlvbi1kdXJhdGlvbjoyczstby1hbmltYXRpb24tZHVyYXRpb246MnM7YW5pbWF0aW9uLWR1cmF0aW9uOjJzfUAtd2Via2l0LWtleWZyYW1lcyBmbGFzaHswJSw1MCUsMTAwJXtvcGFjaXR5OjF9MjUlLDc1JXtvcGFjaXR5OjB9fUAtbW96LWtleWZyYW1lcyBmbGFzaHswJSw1MCUsMTAwJXtvcGFjaXR5OjF9MjUlLDc1JXtvcGFjaXR5OjB9fUAtby1rZXlmcmFtZXMgZmxhc2h7MCUsNTAlLDEwMCV7b3BhY2l0eToxfTI1JSw3NSV7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGZsYXNoezAlLDUwJSwxMDAle29wYWNpdHk6MX0yNSUsNzUle29wYWNpdHk6MH19LmZsYXNoey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6Zmxhc2g7LW1vei1hbmltYXRpb24tbmFtZTpmbGFzaDstby1hbmltYXRpb24tbmFtZTpmbGFzaDthbmltYXRpb24tbmFtZTpmbGFzaH1ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2V7MCUsMTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApfTEwJSwzMCUsNTAlLDcwJSw5MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTBweCl9MjAlLDQwJSw2MCUsODAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTBweCl9fUAtbW96LWtleWZyYW1lcyBzaGFrZXswJSwxMDAley1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MTAlLDMwJSw1MCUsNzAlLDkwJXstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMHB4KX0yMCUsNDAlLDYwJSw4MCV7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMHB4KX19QC1vLWtleWZyYW1lcyBzaGFrZXswJSwxMDAley1vLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApfTEwJSwzMCUsNTAlLDcwJSw5MCV7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwcHgpfTIwJSw0MCUsNjAlLDgwJXstby10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMHB4KX19QGtleWZyYW1lcyBzaGFrZXswJSwxMDAle3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfTEwJSwzMCUsNTAlLDcwJSw5MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwcHgpfTIwJSw0MCUsNjAlLDgwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMHB4KX19LnNoYWtley13ZWJraXQtYW5pbWF0aW9uLW5hbWU6c2hha2U7LW1vei1hbmltYXRpb24tbmFtZTpzaGFrZTstby1hbmltYXRpb24tbmFtZTpzaGFrZTthbmltYXRpb24tbmFtZTpzaGFrZX1ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlezAlLDIwJSw1MCUsODAlLDEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX00MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMzBweCl9NjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTE1cHgpfX1ALW1vei1rZXlmcmFtZXMgYm91bmNlezAlLDIwJSw1MCUsODAlLDEwMCV7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX00MCV7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMzBweCl9NjAley1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTE1cHgpfX1ALW8ta2V5ZnJhbWVzIGJvdW5jZXswJSwyMCUsNTAlLDgwJSwxMDAley1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTQwJXstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMzBweCl9NjAley1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xNXB4KX19QGtleWZyYW1lcyBib3VuY2V7MCUsMjAlLDUwJSw4MCUsMTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX00MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTMwcHgpfTYwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTVweCl9fS5ib3VuY2V7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2U7LW1vei1hbmltYXRpb24tbmFtZTpib3VuY2U7LW8tYW5pbWF0aW9uLW5hbWU6Ym91bmNlO2FuaW1hdGlvbi1uYW1lOmJvdW5jZX1ALXdlYmtpdC1rZXlmcmFtZXMgdGFkYXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKX0xMCUsMjAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKX0zMCUsNTAlLDcwJSw5MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4xKSByb3RhdGUoM2RlZyl9NDAlLDYwJSw4MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSkgcm90YXRlKDApfX1ALW1vei1rZXlmcmFtZXMgdGFkYXswJXstbW96LXRyYW5zZm9ybTpzY2FsZSgxKX0xMCUsMjAley1tb3otdHJhbnNmb3JtOnNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKX0zMCUsNTAlLDcwJSw5MCV7LW1vei10cmFuc2Zvcm06c2NhbGUoMS4xKSByb3RhdGUoM2RlZyl9NDAlLDYwJSw4MCV7LW1vei10cmFuc2Zvcm06c2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpfTEwMCV7LW1vei10cmFuc2Zvcm06c2NhbGUoMSkgcm90YXRlKDApfX1ALW8ta2V5ZnJhbWVzIHRhZGF7MCV7LW8tdHJhbnNmb3JtOnNjYWxlKDEpfTEwJSwyMCV7LW8tdHJhbnNmb3JtOnNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKX0zMCUsNTAlLDcwJSw5MCV7LW8tdHJhbnNmb3JtOnNjYWxlKDEuMSkgcm90YXRlKDNkZWcpfTQwJSw2MCUsODAley1vLXRyYW5zZm9ybTpzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyl9MTAwJXstby10cmFuc2Zvcm06c2NhbGUoMSkgcm90YXRlKDApfX1Aa2V5ZnJhbWVzIHRhZGF7MCV7dHJhbnNmb3JtOnNjYWxlKDEpfTEwJSwyMCV7dHJhbnNmb3JtOnNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKX0zMCUsNTAlLDcwJSw5MCV7dHJhbnNmb3JtOnNjYWxlKDEuMSkgcm90YXRlKDNkZWcpfTQwJSw2MCUsODAle3RyYW5zZm9ybTpzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyl9MTAwJXt0cmFuc2Zvcm06c2NhbGUoMSkgcm90YXRlKDApfX0udGFkYXstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnRhZGE7LW1vei1hbmltYXRpb24tbmFtZTp0YWRhOy1vLWFuaW1hdGlvbi1uYW1lOnRhZGE7YW5pbWF0aW9uLW5hbWU6dGFkYX1ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmd7MjAlLDQwJSw2MCUsODAlLDEwMCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnRvcCBjZW50ZXJ9MjAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxNWRlZyl9NDAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMTBkZWcpfTYwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNWRlZyl9ODAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtNWRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyl9fUAtbW96LWtleWZyYW1lcyBzd2luZ3syMCV7LW1vei10cmFuc2Zvcm06cm90YXRlKDE1ZGVnKX00MCV7LW1vei10cmFuc2Zvcm06cm90YXRlKC0xMGRlZyl9NjAley1tb3otdHJhbnNmb3JtOnJvdGF0ZSg1ZGVnKX04MCV7LW1vei10cmFuc2Zvcm06cm90YXRlKC01ZGVnKX0xMDAley1tb3otdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX19QC1vLWtleWZyYW1lcyBzd2luZ3syMCV7LW8tdHJhbnNmb3JtOnJvdGF0ZSgxNWRlZyl9NDAley1vLXRyYW5zZm9ybTpyb3RhdGUoLTEwZGVnKX02MCV7LW8tdHJhbnNmb3JtOnJvdGF0ZSg1ZGVnKX04MCV7LW8tdHJhbnNmb3JtOnJvdGF0ZSgtNWRlZyl9MTAwJXstby10cmFuc2Zvcm06cm90YXRlKDBkZWcpfX1Aa2V5ZnJhbWVzIHN3aW5nezIwJXt0cmFuc2Zvcm06cm90YXRlKDE1ZGVnKX00MCV7dHJhbnNmb3JtOnJvdGF0ZSgtMTBkZWcpfTYwJXt0cmFuc2Zvcm06cm90YXRlKDVkZWcpfTgwJXt0cmFuc2Zvcm06cm90YXRlKC01ZGVnKX0xMDAle3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9fS5zd2luZ3std2Via2l0LXRyYW5zZm9ybS1vcmlnaW46dG9wIGNlbnRlcjstbW96LXRyYW5zZm9ybS1vcmlnaW46dG9wIGNlbnRlcjstby10cmFuc2Zvcm0tb3JpZ2luOnRvcCBjZW50ZXI7dHJhbnNmb3JtLW9yaWdpbjp0b3AgY2VudGVyOy13ZWJraXQtYW5pbWF0aW9uLW5hbWU6c3dpbmc7LW1vei1hbmltYXRpb24tbmFtZTpzd2luZzstby1hbmltYXRpb24tbmFtZTpzd2luZzthbmltYXRpb24tbmFtZTpzd2luZ31ALXdlYmtpdC1rZXlmcmFtZXMgd29iYmxlezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCUpfTE1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyl9MzAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyl9NDUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTE1JSkgcm90YXRlKC0zZGVnKX02MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKX03NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDAlKX19QC1tb3ota2V5ZnJhbWVzIHdvYmJsZXswJXstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDAlKX0xNSV7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpfTMwJXstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpfTQ1JXstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyl9NjAley1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyl9NzUley1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpfTEwMCV7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgwJSl9fUAtby1rZXlmcmFtZXMgd29iYmxlezAley1vLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDAlKX0xNSV7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTI1JSkgcm90YXRlKC01ZGVnKX0zMCV7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyl9NDUley1vLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyl9NjAley1vLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpfTc1JXstby10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyl9MTAwJXstby10cmFuc2Zvcm06dHJhbnNsYXRlWCgwJSl9fUBrZXlmcmFtZXMgd29iYmxlezAle3RyYW5zZm9ybTp0cmFuc2xhdGVYKDAlKX0xNSV7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTI1JSkgcm90YXRlKC01ZGVnKX0zMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyl9NDUle3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyl9NjAle3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpfTc1JXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyl9MTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwJSl9fS53b2JibGV7LXdlYmtpdC1hbmltYXRpb24tbmFtZTp3b2JibGU7LW1vei1hbmltYXRpb24tbmFtZTp3b2JibGU7LW8tYW5pbWF0aW9uLW5hbWU6d29iYmxlO2FuaW1hdGlvbi1uYW1lOndvYmJsZX1ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2V7MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSl9NTAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMSl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKX19QC1tb3ota2V5ZnJhbWVzIHB1bHNlezAley1tb3otdHJhbnNmb3JtOnNjYWxlKDEpfTUwJXstbW96LXRyYW5zZm9ybTpzY2FsZSgxLjEpfTEwMCV7LW1vei10cmFuc2Zvcm06c2NhbGUoMSl9fUAtby1rZXlmcmFtZXMgcHVsc2V7MCV7LW8tdHJhbnNmb3JtOnNjYWxlKDEpfTUwJXstby10cmFuc2Zvcm06c2NhbGUoMS4xKX0xMDAley1vLXRyYW5zZm9ybTpzY2FsZSgxKX19QGtleWZyYW1lcyBwdWxzZXswJXt0cmFuc2Zvcm06c2NhbGUoMSl9NTAle3RyYW5zZm9ybTpzY2FsZSgxLjEpfTEwMCV7dHJhbnNmb3JtOnNjYWxlKDEpfX0ucHVsc2V7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpwdWxzZTstbW96LWFuaW1hdGlvbi1uYW1lOnB1bHNlOy1vLWFuaW1hdGlvbi1uYW1lOnB1bHNlO2FuaW1hdGlvbi1uYW1lOnB1bHNlfUAtd2Via2l0LWtleWZyYW1lcyBmbGlwezAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH00MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9NTAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW59ODAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDM2MGRlZykgc2NhbGUoLjk1KTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbn0xMDAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZSgxKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbn19QC1tb3ota2V5ZnJhbWVzIGZsaXB7MCV7LW1vei10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMCk7LW1vei1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fTQwJXstbW96LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxNzBkZWcpOy1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH01MCV7LW1vei10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTkwZGVnKSBzY2FsZSgxKTstbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbn04MCV7LW1vei10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSguOTUpOy1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufTEwMCV7LW1vei10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlKDEpOy1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufX1ALW8ta2V5ZnJhbWVzIGZsaXB7MCV7LW8tdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApOy1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9NDAley1vLXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxNzBkZWcpOy1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9NTAley1vLXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpOy1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbn04MCV7LW8tdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDM2MGRlZykgc2NhbGUoLjk1KTstby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW59MTAwJXstby10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlKDEpOy1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbn19QGtleWZyYW1lcyBmbGlwezAle3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fTQwJXt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fTUwJXt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTkwZGVnKSBzY2FsZSgxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW59ODAle3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKC45NSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufTEwMCV7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZSgxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW59fS5mbGlwey13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZsaXA7LW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50Oy1tb3otYW5pbWF0aW9uLW5hbWU6ZmxpcDstby1iYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50Oy1vLWFuaW1hdGlvbi1uYW1lOmZsaXA7YmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDthbmltYXRpb24tbmFtZTpmbGlwfUAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YezAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtvcGFjaXR5OjB9NDAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyl9NzAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpO29wYWNpdHk6MX19QC1tb3ota2V5ZnJhbWVzIGZsaXBJblh7MCV7LW1vei10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO29wYWNpdHk6MH00MCV7LW1vei10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKX03MCV7LW1vei10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpfTEwMCV7LW1vei10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7b3BhY2l0eToxfX1ALW8ta2V5ZnJhbWVzIGZsaXBJblh7MCV7LW8tdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtvcGFjaXR5OjB9NDAley1vLXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpfTcwJXstby10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpfTEwMCV7LW8tdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpO29wYWNpdHk6MX19QGtleWZyYW1lcyBmbGlwSW5YezAle3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7b3BhY2l0eTowfTQwJXt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKX03MCV7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKX0xMDAle3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtvcGFjaXR5OjF9fS5mbGlwSW5Yey13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZsaXBJblg7LW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50Oy1tb3otYW5pbWF0aW9uLW5hbWU6ZmxpcEluWDstby1iYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50Oy1vLWFuaW1hdGlvbi1uYW1lOmZsaXBJblg7YmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDthbmltYXRpb24tbmFtZTpmbGlwSW5YfUAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WHswJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtvcGFjaXR5OjF9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7b3BhY2l0eTowfX1ALW1vei1rZXlmcmFtZXMgZmxpcE91dFh7MCV7LW1vei10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7b3BhY2l0eToxfTEwMCV7LW1vei10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO29wYWNpdHk6MH19QC1vLWtleWZyYW1lcyBmbGlwT3V0WHswJXstby10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7b3BhY2l0eToxfTEwMCV7LW8tdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgZmxpcE91dFh7MCV7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpO29wYWNpdHk6MX0xMDAle3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7b3BhY2l0eTowfX0uZmxpcE91dFh7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmbGlwT3V0WDstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnQ7LW1vei1hbmltYXRpb24tbmFtZTpmbGlwT3V0WDstbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnQ7LW8tYW5pbWF0aW9uLW5hbWU6ZmxpcE91dFg7LW8tYmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDthbmltYXRpb24tbmFtZTpmbGlwT3V0WDtiYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50fUAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZezAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtvcGFjaXR5OjB9NDAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyl9NzAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO29wYWNpdHk6MX19QC1tb3ota2V5ZnJhbWVzIGZsaXBJbll7MCV7LW1vei10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO29wYWNpdHk6MH00MCV7LW1vei10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKX03MCV7LW1vei10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpfTEwMCV7LW1vei10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7b3BhY2l0eToxfX1ALW8ta2V5ZnJhbWVzIGZsaXBJbll7MCV7LW8tdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtvcGFjaXR5OjB9NDAley1vLXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMTBkZWcpfTcwJXstby10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpfTEwMCV7LW8tdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO29wYWNpdHk6MX19QGtleWZyYW1lcyBmbGlwSW5ZezAle3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7b3BhY2l0eTowfTQwJXt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKX03MCV7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKX0xMDAle3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtvcGFjaXR5OjF9fS5mbGlwSW5Zey13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZsaXBJblk7LW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50Oy1tb3otYW5pbWF0aW9uLW5hbWU6ZmxpcEluWTstby1iYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50Oy1vLWFuaW1hdGlvbi1uYW1lOmZsaXBJblk7YmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDthbmltYXRpb24tbmFtZTpmbGlwSW5ZfUAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WXswJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtvcGFjaXR5OjF9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7b3BhY2l0eTowfX1ALW1vei1rZXlmcmFtZXMgZmxpcE91dFl7MCV7LW1vei10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7b3BhY2l0eToxfTEwMCV7LW1vei10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO29wYWNpdHk6MH19QC1vLWtleWZyYW1lcyBmbGlwT3V0WXswJXstby10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7b3BhY2l0eToxfTEwMCV7LW8tdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgZmxpcE91dFl7MCV7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO29wYWNpdHk6MX0xMDAle3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7b3BhY2l0eTowfX0uZmxpcE91dFl7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50Oy13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmxpcE91dFk7LW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50Oy1tb3otYW5pbWF0aW9uLW5hbWU6ZmxpcE91dFk7LW8tYmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDstby1hbmltYXRpb24tbmFtZTpmbGlwT3V0WTtiYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50O2FuaW1hdGlvbi1uYW1lOmZsaXBPdXRZfUAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW57MCV7b3BhY2l0eTowfTEwMCV7b3BhY2l0eToxfX1ALW1vei1rZXlmcmFtZXMgZmFkZUluezAle29wYWNpdHk6MH0xMDAle29wYWNpdHk6MX19QC1vLWtleWZyYW1lcyBmYWRlSW57MCV7b3BhY2l0eTowfTEwMCV7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIGZhZGVJbnswJXtvcGFjaXR5OjB9MTAwJXtvcGFjaXR5OjF9fS5mYWRlSW57LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlSW47LW1vei1hbmltYXRpb24tbmFtZTpmYWRlSW47LW8tYW5pbWF0aW9uLW5hbWU6ZmFkZUluO2FuaW1hdGlvbi1uYW1lOmZhZGVJbn1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXB7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjBweCl9MTAwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19QC1tb3ota2V5ZnJhbWVzIGZhZGVJblVwezAle29wYWNpdHk6MDstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpfTEwMCV7b3BhY2l0eToxOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fUAtby1rZXlmcmFtZXMgZmFkZUluVXB7MCV7b3BhY2l0eTowOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpfTEwMCV7b3BhY2l0eToxOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX1Aa2V5ZnJhbWVzIGZhZGVJblVwezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyMHB4KX0xMDAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19LmZhZGVJblVwey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZUluVXA7LW1vei1hbmltYXRpb24tbmFtZTpmYWRlSW5VcDstby1hbmltYXRpb24tbmFtZTpmYWRlSW5VcDthbmltYXRpb24tbmFtZTpmYWRlSW5VcH1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93bnswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjBweCl9MTAwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19QC1tb3ota2V5ZnJhbWVzIGZhZGVJbkRvd257MCV7b3BhY2l0eTowOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwcHgpfTEwMCV7b3BhY2l0eToxOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fUAtby1rZXlmcmFtZXMgZmFkZUluRG93bnswJXtvcGFjaXR5OjA7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwcHgpfTEwMCV7b3BhY2l0eToxOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX1Aa2V5ZnJhbWVzIGZhZGVJbkRvd257MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMHB4KX0xMDAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19LmZhZGVJbkRvd257LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlSW5Eb3duOy1tb3otYW5pbWF0aW9uLW5hbWU6ZmFkZUluRG93bjstby1hbmltYXRpb24tbmFtZTpmYWRlSW5Eb3duO2FuaW1hdGlvbi1uYW1lOmZhZGVJbkRvd259QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnR7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwcHgpfTEwMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9fUAtbW96LWtleWZyYW1lcyBmYWRlSW5MZWZ0ezAle29wYWNpdHk6MDstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMHB4KX0xMDAle29wYWNpdHk6MTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX1ALW8ta2V5ZnJhbWVzIGZhZGVJbkxlZnR7MCV7b3BhY2l0eTowOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMHB4KX0xMDAle29wYWNpdHk6MTstby10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19QGtleWZyYW1lcyBmYWRlSW5MZWZ0ezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjBweCl9MTAwJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9fS5mYWRlSW5MZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZUluTGVmdDstbW96LWFuaW1hdGlvbi1uYW1lOmZhZGVJbkxlZnQ7LW8tYW5pbWF0aW9uLW5hbWU6ZmFkZUluTGVmdDthbmltYXRpb24tbmFtZTpmYWRlSW5MZWZ0fUAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMHB4KX0xMDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX1ALW1vei1rZXlmcmFtZXMgZmFkZUluUmlnaHR7MCV7b3BhY2l0eTowOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjBweCl9MTAwJXtvcGFjaXR5OjE7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19QC1vLWtleWZyYW1lcyBmYWRlSW5SaWdodHswJXtvcGFjaXR5OjA7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjBweCl9MTAwJXtvcGFjaXR5OjE7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9fUBrZXlmcmFtZXMgZmFkZUluUmlnaHR7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDIwcHgpfTEwMCV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX0uZmFkZUluUmlnaHR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlSW5SaWdodDstbW96LWFuaW1hdGlvbi1uYW1lOmZhZGVJblJpZ2h0Oy1vLWFuaW1hdGlvbi1uYW1lOmZhZGVJblJpZ2h0O2FuaW1hdGlvbi1uYW1lOmZhZGVJblJpZ2h0fUAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZ3swJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDAwcHgpfTEwMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fUAtbW96LWtleWZyYW1lcyBmYWRlSW5VcEJpZ3swJXtvcGFjaXR5OjA7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDAwcHgpfTEwMCV7b3BhY2l0eToxOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fUAtby1rZXlmcmFtZXMgZmFkZUluVXBCaWd7MCV7b3BhY2l0eTowOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwMDBweCl9MTAwJXtvcGFjaXR5OjE7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fUBrZXlmcmFtZXMgZmFkZUluVXBCaWd7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDIwMDBweCl9MTAwJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fS5mYWRlSW5VcEJpZ3std2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVJblVwQmlnOy1tb3otYW5pbWF0aW9uLW5hbWU6ZmFkZUluVXBCaWc7LW8tYW5pbWF0aW9uLW5hbWU6ZmFkZUluVXBCaWc7YW5pbWF0aW9uLW5hbWU6ZmFkZUluVXBCaWd9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd25CaWd7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwMDBweCl9MTAwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19QC1tb3ota2V5ZnJhbWVzIGZhZGVJbkRvd25CaWd7MCV7b3BhY2l0eTowOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwMDBweCl9MTAwJXtvcGFjaXR5OjE7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19QC1vLWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnezAle29wYWNpdHk6MDstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjAwMHB4KX0xMDAle29wYWNpdHk6MTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19QGtleWZyYW1lcyBmYWRlSW5Eb3duQmlnezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjAwMHB4KX0xMDAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19LmZhZGVJbkRvd25CaWd7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlSW5Eb3duQmlnOy1tb3otYW5pbWF0aW9uLW5hbWU6ZmFkZUluRG93bkJpZzstby1hbmltYXRpb24tbmFtZTpmYWRlSW5Eb3duQmlnO2FuaW1hdGlvbi1uYW1lOmZhZGVJbkRvd25CaWd9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWd7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMDBweCl9MTAwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19QC1tb3ota2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWd7MCV7b3BhY2l0eTowOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMDBweCl9MTAwJXtvcGFjaXR5OjE7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19QC1vLWtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnezAle29wYWNpdHk6MDstby10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwMHB4KX0xMDAle29wYWNpdHk6MTstby10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19QGtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwMHB4KX0xMDAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19LmZhZGVJbkxlZnRCaWd7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlSW5MZWZ0QmlnOy1tb3otYW5pbWF0aW9uLW5hbWU6ZmFkZUluTGVmdEJpZzstby1hbmltYXRpb24tbmFtZTpmYWRlSW5MZWZ0QmlnO2FuaW1hdGlvbi1uYW1lOmZhZGVJbkxlZnRCaWd9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMDBweCl9MTAwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19QC1tb3ota2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnezAle29wYWNpdHk6MDstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMDBweCl9MTAwJXtvcGFjaXR5OjE7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19QC1vLWtleWZyYW1lcyBmYWRlSW5SaWdodEJpZ3swJXtvcGFjaXR5OjA7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAwMHB4KX0xMDAle29wYWNpdHk6MTstby10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19QGtleWZyYW1lcyBmYWRlSW5SaWdodEJpZ3swJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAwMHB4KX0xMDAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19LmZhZGVJblJpZ2h0Qmlney13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZUluUmlnaHRCaWc7LW1vei1hbmltYXRpb24tbmFtZTpmYWRlSW5SaWdodEJpZzstby1hbmltYXRpb24tbmFtZTpmYWRlSW5SaWdodEJpZzthbmltYXRpb24tbmFtZTpmYWRlSW5SaWdodEJpZ31ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dHswJXtvcGFjaXR5OjF9MTAwJXtvcGFjaXR5OjB9fUAtbW96LWtleWZyYW1lcyBmYWRlT3V0ezAle29wYWNpdHk6MX0xMDAle29wYWNpdHk6MH19QC1vLWtleWZyYW1lcyBmYWRlT3V0ezAle29wYWNpdHk6MX0xMDAle29wYWNpdHk6MH19QGtleWZyYW1lcyBmYWRlT3V0ezAle29wYWNpdHk6MX0xMDAle29wYWNpdHk6MH19LmZhZGVPdXR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlT3V0Oy1tb3otYW5pbWF0aW9uLW5hbWU6ZmFkZU91dDstby1hbmltYXRpb24tbmFtZTpmYWRlT3V0O2FuaW1hdGlvbi1uYW1lOmZhZGVPdXR9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcHswJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMHB4KX19QC1tb3ota2V5ZnJhbWVzIGZhZGVPdXRVcHswJXtvcGFjaXR5OjE7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0xMDAle29wYWNpdHk6MDstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMHB4KX19QC1vLWtleWZyYW1lcyBmYWRlT3V0VXB7MCV7b3BhY2l0eToxOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTEwMCV7b3BhY2l0eTowOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMHB4KX19QGtleWZyYW1lcyBmYWRlT3V0VXB7MCV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTEwMCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMHB4KX19LmZhZGVPdXRVcHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVPdXRVcDstbW96LWFuaW1hdGlvbi1uYW1lOmZhZGVPdXRVcDstby1hbmltYXRpb24tbmFtZTpmYWRlT3V0VXA7YW5pbWF0aW9uLW5hbWU6ZmFkZU91dFVwfUAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93bnswJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpfX1ALW1vei1rZXlmcmFtZXMgZmFkZU91dERvd257MCV7b3BhY2l0eToxOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MTAwJXtvcGFjaXR5OjA7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMHB4KX19QC1vLWtleWZyYW1lcyBmYWRlT3V0RG93bnswJXtvcGFjaXR5OjE7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MTAwJXtvcGFjaXR5OjA7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjBweCl9fUBrZXlmcmFtZXMgZmFkZU91dERvd257MCV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTEwMCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpfX0uZmFkZU91dERvd257LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlT3V0RG93bjstbW96LWFuaW1hdGlvbi1uYW1lOmZhZGVPdXREb3duOy1vLWFuaW1hdGlvbi1uYW1lOmZhZGVPdXREb3duO2FuaW1hdGlvbi1uYW1lOmZhZGVPdXREb3dufUAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdHswJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMHB4KX19QC1tb3ota2V5ZnJhbWVzIGZhZGVPdXRMZWZ0ezAle29wYWNpdHk6MTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApfTEwMCV7b3BhY2l0eTowOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwcHgpfX1ALW8ta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0ezAle29wYWNpdHk6MTstby10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0xMDAle29wYWNpdHk6MDstby10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjBweCl9fUBrZXlmcmFtZXMgZmFkZU91dExlZnR7MCV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfTEwMCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMHB4KX19LmZhZGVPdXRMZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZU91dExlZnQ7LW1vei1hbmltYXRpb24tbmFtZTpmYWRlT3V0TGVmdDstby1hbmltYXRpb24tbmFtZTpmYWRlT3V0TGVmdDthbmltYXRpb24tbmFtZTpmYWRlT3V0TGVmdH1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0ezAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjBweCl9fUAtbW96LWtleWZyYW1lcyBmYWRlT3V0UmlnaHR7MCV7b3BhY2l0eToxOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MTAwJXtvcGFjaXR5OjA7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMHB4KX19QC1vLWtleWZyYW1lcyBmYWRlT3V0UmlnaHR7MCV7b3BhY2l0eToxOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApfTEwMCV7b3BhY2l0eTowOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwcHgpfX1Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodHswJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MTAwJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjBweCl9fS5mYWRlT3V0UmlnaHR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlT3V0UmlnaHQ7LW1vei1hbmltYXRpb24tbmFtZTpmYWRlT3V0UmlnaHQ7LW8tYW5pbWF0aW9uLW5hbWU6ZmFkZU91dFJpZ2h0O2FuaW1hdGlvbi1uYW1lOmZhZGVPdXRSaWdodH1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwQmlnezAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwMDBweCl9fUAtbW96LWtleWZyYW1lcyBmYWRlT3V0VXBCaWd7MCV7b3BhY2l0eToxOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MTAwJXtvcGFjaXR5OjA7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjAwMHB4KX19QC1vLWtleWZyYW1lcyBmYWRlT3V0VXBCaWd7MCV7b3BhY2l0eToxOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTEwMCV7b3BhY2l0eTowOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMDAwcHgpfX1Aa2V5ZnJhbWVzIGZhZGVPdXRVcEJpZ3swJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MTAwJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwMDBweCl9fS5mYWRlT3V0VXBCaWd7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlT3V0VXBCaWc7LW1vei1hbmltYXRpb24tbmFtZTpmYWRlT3V0VXBCaWc7LW8tYW5pbWF0aW9uLW5hbWU6ZmFkZU91dFVwQmlnO2FuaW1hdGlvbi1uYW1lOmZhZGVPdXRVcEJpZ31ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd25CaWd7MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDAwcHgpfX1ALW1vei1rZXlmcmFtZXMgZmFkZU91dERvd25CaWd7MCV7b3BhY2l0eToxOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MTAwJXtvcGFjaXR5OjA7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDAwcHgpfX1ALW8ta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnezAle29wYWNpdHk6MTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0xMDAle29wYWNpdHk6MDstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDAwcHgpfX1Aa2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnezAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0xMDAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDAwcHgpfX0uZmFkZU91dERvd25CaWd7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlT3V0RG93bkJpZzstbW96LWFuaW1hdGlvbi1uYW1lOmZhZGVPdXREb3duQmlnOy1vLWFuaW1hdGlvbi1uYW1lOmZhZGVPdXREb3duQmlnO2FuaW1hdGlvbi1uYW1lOmZhZGVPdXREb3duQmlnfUAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZ3swJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAwcHgpfX1ALW1vei1rZXlmcmFtZXMgZmFkZU91dExlZnRCaWd7MCV7b3BhY2l0eToxOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MTAwJXtvcGFjaXR5OjA7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwMHB4KX19QC1vLWtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZ3swJXtvcGFjaXR5OjE7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MTAwJXtvcGFjaXR5OjA7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMDBweCl9fUBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWd7MCV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfTEwMCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAwcHgpfX0uZmFkZU91dExlZnRCaWd7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlT3V0TGVmdEJpZzstbW96LWFuaW1hdGlvbi1uYW1lOmZhZGVPdXRMZWZ0QmlnOy1vLWFuaW1hdGlvbi1uYW1lOmZhZGVPdXRMZWZ0QmlnO2FuaW1hdGlvbi1uYW1lOmZhZGVPdXRMZWZ0QmlnfUAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWd7MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMDAwcHgpfX1ALW1vei1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnezAle29wYWNpdHk6MTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApfTEwMCV7b3BhY2l0eTowOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAwMHB4KX19QC1vLWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWd7MCV7b3BhY2l0eToxOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApfTEwMCV7b3BhY2l0eTowOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMDBweCl9fUBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnezAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0xMDAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMDAwcHgpfX0uZmFkZU91dFJpZ2h0Qmlney13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZU91dFJpZ2h0QmlnOy1tb3otYW5pbWF0aW9uLW5hbWU6ZmFkZU91dFJpZ2h0QmlnOy1vLWFuaW1hdGlvbi1uYW1lOmZhZGVPdXRSaWdodEJpZzthbmltYXRpb24tbmFtZTpmYWRlT3V0UmlnaHRCaWd9QC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguMyl9NTAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjA1KX03MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjkpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSl9fUAtbW96LWtleWZyYW1lcyBib3VuY2VJbnswJXtvcGFjaXR5OjA7LW1vei10cmFuc2Zvcm06c2NhbGUoLjMpfTUwJXtvcGFjaXR5OjE7LW1vei10cmFuc2Zvcm06c2NhbGUoMS4wNSl9NzAley1tb3otdHJhbnNmb3JtOnNjYWxlKC45KX0xMDAley1tb3otdHJhbnNmb3JtOnNjYWxlKDEpfX1ALW8ta2V5ZnJhbWVzIGJvdW5jZUluezAle29wYWNpdHk6MDstby10cmFuc2Zvcm06c2NhbGUoLjMpfTUwJXtvcGFjaXR5OjE7LW8tdHJhbnNmb3JtOnNjYWxlKDEuMDUpfTcwJXstby10cmFuc2Zvcm06c2NhbGUoLjkpfTEwMCV7LW8tdHJhbnNmb3JtOnNjYWxlKDEpfX1Aa2V5ZnJhbWVzIGJvdW5jZUluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoLjMpfTUwJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlKDEuMDUpfTcwJXt0cmFuc2Zvcm06c2NhbGUoLjkpfTEwMCV7dHJhbnNmb3JtOnNjYWxlKDEpfX0uYm91bmNlSW57LXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2VJbjstbW96LWFuaW1hdGlvbi1uYW1lOmJvdW5jZUluOy1vLWFuaW1hdGlvbi1uYW1lOmJvdW5jZUluO2FuaW1hdGlvbi1uYW1lOmJvdW5jZUlufUAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwMDBweCl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0zMHB4KX04MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgxMHB4KX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fUAtbW96LWtleWZyYW1lcyBib3VuY2VJblVwezAle29wYWNpdHk6MDstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwMDBweCl9NjAle29wYWNpdHk6MTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0zMHB4KX04MCV7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgxMHB4KX0xMDAley1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fUAtby1rZXlmcmFtZXMgYm91bmNlSW5VcHswJXtvcGFjaXR5OjA7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjAwMHB4KX02MCV7b3BhY2l0eToxOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0zMHB4KX04MCV7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTBweCl9MTAwJXstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19QGtleWZyYW1lcyBib3VuY2VJblVwezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDAwcHgpfTYwJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTMwcHgpfTgwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMHB4KX0xMDAle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX0uYm91bmNlSW5VcHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJvdW5jZUluVXA7LW1vei1hbmltYXRpb24tbmFtZTpib3VuY2VJblVwOy1vLWFuaW1hdGlvbi1uYW1lOmJvdW5jZUluVXA7YW5pbWF0aW9uLW5hbWU6Ym91bmNlSW5VcH1ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMDAwcHgpfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgzMHB4KX04MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTBweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX1ALW1vei1rZXlmcmFtZXMgYm91bmNlSW5Eb3duezAle29wYWNpdHk6MDstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMDAwcHgpfTYwJXtvcGFjaXR5OjE7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgzMHB4KX04MCV7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTBweCl9MTAwJXstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX1ALW8ta2V5ZnJhbWVzIGJvdW5jZUluRG93bnswJXtvcGFjaXR5OjA7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwMDBweCl9NjAle29wYWNpdHk6MTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgzMHB4KX04MCV7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwcHgpfTEwMCV7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fUBrZXlmcmFtZXMgYm91bmNlSW5Eb3duezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjAwMHB4KX02MCV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDMwcHgpfTgwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTBweCl9MTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19LmJvdW5jZUluRG93bnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJvdW5jZUluRG93bjstbW96LWFuaW1hdGlvbi1uYW1lOmJvdW5jZUluRG93bjstby1hbmltYXRpb24tbmFtZTpib3VuY2VJbkRvd247YW5pbWF0aW9uLW5hbWU6Ym91bmNlSW5Eb3dufUAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnR7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMDBweCl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDMwcHgpfTgwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMHB4KX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9fUAtbW96LWtleWZyYW1lcyBib3VuY2VJbkxlZnR7MCV7b3BhY2l0eTowOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMDBweCl9NjAle29wYWNpdHk6MTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDMwcHgpfTgwJXstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMHB4KX0xMDAley1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9fUAtby1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0ezAle29wYWNpdHk6MDstby10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwMHB4KX02MCV7b3BhY2l0eToxOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDMwcHgpfTgwJXstby10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTBweCl9MTAwJXstby10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19QGtleWZyYW1lcyBib3VuY2VJbkxlZnR7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAwcHgpfTYwJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMzBweCl9ODAle3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMHB4KX0xMDAle3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX0uYm91bmNlSW5MZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6Ym91bmNlSW5MZWZ0Oy1tb3otYW5pbWF0aW9uLW5hbWU6Ym91bmNlSW5MZWZ0Oy1vLWFuaW1hdGlvbi1uYW1lOmJvdW5jZUluTGVmdDthbmltYXRpb24tbmFtZTpib3VuY2VJbkxlZnR9QC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHR7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAwMHB4KX02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTMwcHgpfTgwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwcHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19QC1tb3ota2V5ZnJhbWVzIGJvdW5jZUluUmlnaHR7MCV7b3BhY2l0eTowOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAwMHB4KX02MCV7b3BhY2l0eToxOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTMwcHgpfTgwJXstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwcHgpfTEwMCV7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19QC1vLWtleWZyYW1lcyBib3VuY2VJblJpZ2h0ezAle29wYWNpdHk6MDstby10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMDAwcHgpfTYwJXtvcGFjaXR5OjE7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTMwcHgpfTgwJXstby10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMHB4KX0xMDAley1vLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX1Aa2V5ZnJhbWVzIGJvdW5jZUluUmlnaHR7MCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMDBweCl9NjAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMzBweCl9ODAle3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwcHgpfTEwMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9fS5ib3VuY2VJblJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6Ym91bmNlSW5SaWdodDstbW96LWFuaW1hdGlvbi1uYW1lOmJvdW5jZUluUmlnaHQ7LW8tYW5pbWF0aW9uLW5hbWU6Ym91bmNlSW5SaWdodDthbmltYXRpb24tbmFtZTpib3VuY2VJblJpZ2h0fUAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXR7MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSl9MjUley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC45NSl9NTAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjEpfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC4zKX19QC1tb3ota2V5ZnJhbWVzIGJvdW5jZU91dHswJXstbW96LXRyYW5zZm9ybTpzY2FsZSgxKX0yNSV7LW1vei10cmFuc2Zvcm06c2NhbGUoLjk1KX01MCV7b3BhY2l0eToxOy1tb3otdHJhbnNmb3JtOnNjYWxlKDEuMSl9MTAwJXtvcGFjaXR5OjA7LW1vei10cmFuc2Zvcm06c2NhbGUoLjMpfX1ALW8ta2V5ZnJhbWVzIGJvdW5jZU91dHswJXstby10cmFuc2Zvcm06c2NhbGUoMSl9MjUley1vLXRyYW5zZm9ybTpzY2FsZSguOTUpfTUwJXtvcGFjaXR5OjE7LW8tdHJhbnNmb3JtOnNjYWxlKDEuMSl9MTAwJXtvcGFjaXR5OjA7LW8tdHJhbnNmb3JtOnNjYWxlKC4zKX19QGtleWZyYW1lcyBib3VuY2VPdXR7MCV7dHJhbnNmb3JtOnNjYWxlKDEpfTI1JXt0cmFuc2Zvcm06c2NhbGUoLjk1KX01MCV7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxLjEpfTEwMCV7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSguMyl9fS5ib3VuY2VPdXR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2VPdXQ7LW1vei1hbmltYXRpb24tbmFtZTpib3VuY2VPdXQ7LW8tYW5pbWF0aW9uLW5hbWU6Ym91bmNlT3V0O2FuaW1hdGlvbi1uYW1lOmJvdW5jZU91dH1ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXB7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0yMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjBweCl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjAwMHB4KX19QC1tb3ota2V5ZnJhbWVzIGJvdW5jZU91dFVwezAley1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MjAle29wYWNpdHk6MTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpfTEwMCV7b3BhY2l0eTowOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwMDBweCl9fUAtby1rZXlmcmFtZXMgYm91bmNlT3V0VXB7MCV7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MjAle29wYWNpdHk6MTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMHB4KX0xMDAle29wYWNpdHk6MDstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjAwMHB4KX19QGtleWZyYW1lcyBib3VuY2VPdXRVcHswJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0yMCV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpfTEwMCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMDAwcHgpfX0uYm91bmNlT3V0VXB7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2VPdXRVcDstbW96LWFuaW1hdGlvbi1uYW1lOmJvdW5jZU91dFVwOy1vLWFuaW1hdGlvbi1uYW1lOmJvdW5jZU91dFVwO2FuaW1hdGlvbi1uYW1lOmJvdW5jZU91dFVwfUAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMHB4KX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwMDBweCl9fUAtbW96LWtleWZyYW1lcyBib3VuY2VPdXREb3duezAley1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MjAle29wYWNpdHk6MTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMHB4KX0xMDAle29wYWNpdHk6MDstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwMDBweCl9fUAtby1rZXlmcmFtZXMgYm91bmNlT3V0RG93bnswJXstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0yMCV7b3BhY2l0eToxOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMHB4KX0xMDAle29wYWNpdHk6MDstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDAwcHgpfX1Aa2V5ZnJhbWVzIGJvdW5jZU91dERvd257MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MjAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjBweCl9MTAwJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjAwMHB4KX19LmJvdW5jZU91dERvd257LXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2VPdXREb3duOy1tb3otYW5pbWF0aW9uLW5hbWU6Ym91bmNlT3V0RG93bjstby1hbmltYXRpb24tbmFtZTpib3VuY2VPdXREb3duO2FuaW1hdGlvbi1uYW1lOmJvdW5jZU91dERvd259QC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dExlZnR7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0yMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjBweCl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwMHB4KX19QC1tb3ota2V5ZnJhbWVzIGJvdW5jZU91dExlZnR7MCV7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0yMCV7b3BhY2l0eToxOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjBweCl9MTAwJXtvcGFjaXR5OjA7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwMHB4KX19QC1vLWtleWZyYW1lcyBib3VuY2VPdXRMZWZ0ezAley1vLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApfTIwJXtvcGFjaXR5OjE7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjBweCl9MTAwJXtvcGFjaXR5OjA7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMDBweCl9fUBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdHswJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0yMCV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDIwcHgpfTEwMCV7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAwcHgpfX0uYm91bmNlT3V0TGVmdHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJvdW5jZU91dExlZnQ7LW1vei1hbmltYXRpb24tbmFtZTpib3VuY2VPdXRMZWZ0Oy1vLWFuaW1hdGlvbi1uYW1lOmJvdW5jZU91dExlZnQ7YW5pbWF0aW9uLW5hbWU6Ym91bmNlT3V0TGVmdH1ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0UmlnaHR7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0yMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwcHgpfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAwMHB4KX19QC1tb3ota2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0ezAley1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MjAle29wYWNpdHk6MTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMHB4KX0xMDAle29wYWNpdHk6MDstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMDBweCl9fUAtby1rZXlmcmFtZXMgYm91bmNlT3V0UmlnaHR7MCV7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MjAle29wYWNpdHk6MTstby10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjBweCl9MTAwJXtvcGFjaXR5OjA7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAwMHB4KX19QGtleWZyYW1lcyBib3VuY2VPdXRSaWdodHswJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0yMCV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMHB4KX0xMDAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMDAwcHgpfX0uYm91bmNlT3V0UmlnaHR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2VPdXRSaWdodDstbW96LWFuaW1hdGlvbi1uYW1lOmJvdW5jZU91dFJpZ2h0Oy1vLWFuaW1hdGlvbi1uYW1lOmJvdW5jZU91dFJpZ2h0O2FuaW1hdGlvbi1uYW1lOmJvdW5jZU91dFJpZ2h0fUAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbnswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGNlbnRlcjstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTIwMGRlZyk7b3BhY2l0eTowfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBjZW50ZXI7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDApO29wYWNpdHk6MX19QC1tb3ota2V5ZnJhbWVzIHJvdGF0ZUluezAley1tb3otdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgY2VudGVyOy1tb3otdHJhbnNmb3JtOnJvdGF0ZSgtMjAwZGVnKTtvcGFjaXR5OjB9MTAwJXstbW96LXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGNlbnRlcjstbW96LXRyYW5zZm9ybTpyb3RhdGUoMCk7b3BhY2l0eToxfX1ALW8ta2V5ZnJhbWVzIHJvdGF0ZUluezAley1vLXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGNlbnRlcjstby10cmFuc2Zvcm06cm90YXRlKC0yMDBkZWcpO29wYWNpdHk6MH0xMDAley1vLXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGNlbnRlcjstby10cmFuc2Zvcm06cm90YXRlKDApO29wYWNpdHk6MX19QGtleWZyYW1lcyByb3RhdGVJbnswJXt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBjZW50ZXI7dHJhbnNmb3JtOnJvdGF0ZSgtMjAwZGVnKTtvcGFjaXR5OjB9MTAwJXt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBjZW50ZXI7dHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9fS5yb3RhdGVJbnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnJvdGF0ZUluOy1tb3otYW5pbWF0aW9uLW5hbWU6cm90YXRlSW47LW8tYW5pbWF0aW9uLW5hbWU6cm90YXRlSW47YW5pbWF0aW9uLW5hbWU6cm90YXRlSW59QC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0ezAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO29wYWNpdHk6MH0xMDAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMCk7b3BhY2l0eToxfX1ALW1vei1rZXlmcmFtZXMgcm90YXRlSW5VcExlZnR7MCV7LW1vei10cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tOy1tb3otdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7b3BhY2l0eTowfTEwMCV7LW1vei10cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tOy1tb3otdHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9fUAtby1rZXlmcmFtZXMgcm90YXRlSW5VcExlZnR7MCV7LW8tdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstby10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTtvcGFjaXR5OjB9MTAwJXstby10cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tOy1vLXRyYW5zZm9ybTpyb3RhdGUoMCk7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0ezAle3RyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7b3BhY2l0eTowfTEwMCV7dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTt0cmFuc2Zvcm06cm90YXRlKDApO29wYWNpdHk6MX19LnJvdGF0ZUluVXBMZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6cm90YXRlSW5VcExlZnQ7LW1vei1hbmltYXRpb24tbmFtZTpyb3RhdGVJblVwTGVmdDstby1hbmltYXRpb24tbmFtZTpyb3RhdGVJblVwTGVmdDthbmltYXRpb24tbmFtZTpyb3RhdGVJblVwTGVmdH1ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdHswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7b3BhY2l0eTowfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9fUAtbW96LWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0ezAley1tb3otdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstbW96LXRyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTtvcGFjaXR5OjB9MTAwJXstbW96LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207LW1vei10cmFuc2Zvcm06cm90YXRlKDApO29wYWNpdHk6MX19QC1vLWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0ezAley1vLXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207LW8tdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO29wYWNpdHk6MH0xMDAley1vLXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207LW8tdHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdHswJXt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tO3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTtvcGFjaXR5OjB9MTAwJXt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tO3RyYW5zZm9ybTpyb3RhdGUoMCk7b3BhY2l0eToxfX0ucm90YXRlSW5Eb3duTGVmdHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnJvdGF0ZUluRG93bkxlZnQ7LW1vei1hbmltYXRpb24tbmFtZTpyb3RhdGVJbkRvd25MZWZ0Oy1vLWFuaW1hdGlvbi1uYW1lOnJvdGF0ZUluRG93bkxlZnQ7YW5pbWF0aW9uLW5hbWU6cm90YXRlSW5Eb3duTGVmdH1ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0ezAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7b3BhY2l0eTowfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMCk7b3BhY2l0eToxfX1ALW1vei1rZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0ezAley1tb3otdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LW1vei10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7b3BhY2l0eTowfTEwMCV7LW1vei10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTstbW96LXRyYW5zZm9ybTpyb3RhdGUoMCk7b3BhY2l0eToxfX1ALW8ta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodHswJXstby10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTstby10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7b3BhY2l0eTowfTEwMCV7LW8tdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LW8tdHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0ezAle3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tO3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTtvcGFjaXR5OjB9MTAwJXt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTt0cmFuc2Zvcm06cm90YXRlKDApO29wYWNpdHk6MX19LnJvdGF0ZUluVXBSaWdodHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnJvdGF0ZUluVXBSaWdodDstbW96LWFuaW1hdGlvbi1uYW1lOnJvdGF0ZUluVXBSaWdodDstby1hbmltYXRpb24tbmFtZTpyb3RhdGVJblVwUmlnaHQ7YW5pbWF0aW9uLW5hbWU6cm90YXRlSW5VcFJpZ2h0fUAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodHswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7b3BhY2l0eTowfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMCk7b3BhY2l0eToxfX1ALW1vei1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHR7MCV7LW1vei10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTstbW96LXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO29wYWNpdHk6MH0xMDAley1tb3otdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LW1vei10cmFuc2Zvcm06cm90YXRlKDApO29wYWNpdHk6MX19QC1vLWtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodHswJXstby10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTstby10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTtvcGFjaXR5OjB9MTAwJXstby10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTstby10cmFuc2Zvcm06cm90YXRlKDApO29wYWNpdHk6MX19QGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodHswJXt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKTtvcGFjaXR5OjB9MTAwJXt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTt0cmFuc2Zvcm06cm90YXRlKDApO29wYWNpdHk6MX19LnJvdGF0ZUluRG93blJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6cm90YXRlSW5Eb3duUmlnaHQ7LW1vei1hbmltYXRpb24tbmFtZTpyb3RhdGVJbkRvd25SaWdodDstby1hbmltYXRpb24tbmFtZTpyb3RhdGVJbkRvd25SaWdodDthbmltYXRpb24tbmFtZTpyb3RhdGVJbkRvd25SaWdodH1ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0ezAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgY2VudGVyOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9MTAwJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGNlbnRlcjstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMjAwZGVnKTtvcGFjaXR5OjB9fUAtbW96LWtleWZyYW1lcyByb3RhdGVPdXR7MCV7LW1vei10cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBjZW50ZXI7LW1vei10cmFuc2Zvcm06cm90YXRlKDApO29wYWNpdHk6MX0xMDAley1tb3otdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgY2VudGVyOy1tb3otdHJhbnNmb3JtOnJvdGF0ZSgyMDBkZWcpO29wYWNpdHk6MH19QC1vLWtleWZyYW1lcyByb3RhdGVPdXR7MCV7LW8tdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgY2VudGVyOy1vLXRyYW5zZm9ybTpyb3RhdGUoMCk7b3BhY2l0eToxfTEwMCV7LW8tdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgY2VudGVyOy1vLXRyYW5zZm9ybTpyb3RhdGUoMjAwZGVnKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgcm90YXRlT3V0ezAle3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGNlbnRlcjt0cmFuc2Zvcm06cm90YXRlKDApO29wYWNpdHk6MX0xMDAle3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGNlbnRlcjt0cmFuc2Zvcm06cm90YXRlKDIwMGRlZyk7b3BhY2l0eTowfX0ucm90YXRlT3V0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6cm90YXRlT3V0Oy1tb3otYW5pbWF0aW9uLW5hbWU6cm90YXRlT3V0Oy1vLWFuaW1hdGlvbi1uYW1lOnJvdGF0ZU91dDthbmltYXRpb24tbmFtZTpyb3RhdGVPdXR9QC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdHswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDApO29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTtvcGFjaXR5OjB9fUAtbW96LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnR7MCV7LW1vei10cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tOy1tb3otdHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9MTAwJXstbW96LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207LW1vei10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7b3BhY2l0eTowfX1ALW8ta2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdHswJXstby10cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tOy1vLXRyYW5zZm9ybTpyb3RhdGUoMCk7b3BhY2l0eToxfTEwMCV7LW8tdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstby10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdHswJXt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tO3RyYW5zZm9ybTpyb3RhdGUoMCk7b3BhY2l0eToxfTEwMCV7dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7b3BhY2l0eTowfX0ucm90YXRlT3V0VXBMZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6cm90YXRlT3V0VXBMZWZ0Oy1tb3otYW5pbWF0aW9uLW5hbWU6cm90YXRlT3V0VXBMZWZ0Oy1vLWFuaW1hdGlvbi1uYW1lOnJvdGF0ZU91dFVwTGVmdDthbmltYXRpb24tbmFtZTpyb3RhdGVPdXRVcExlZnR9QC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0ezAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMCk7b3BhY2l0eToxfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7b3BhY2l0eTowfX1ALW1vei1rZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnR7MCV7LW1vei10cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tOy1tb3otdHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9MTAwJXstbW96LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207LW1vei10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTtvcGFjaXR5OjB9fUAtby1rZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnR7MCV7LW8tdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstby10cmFuc2Zvcm06cm90YXRlKDApO29wYWNpdHk6MX0xMDAley1vLXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207LW8tdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0ezAle3RyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9MTAwJXt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO29wYWNpdHk6MH19LnJvdGF0ZU91dERvd25MZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6cm90YXRlT3V0RG93bkxlZnQ7LW1vei1hbmltYXRpb24tbmFtZTpyb3RhdGVPdXREb3duTGVmdDstby1hbmltYXRpb24tbmFtZTpyb3RhdGVPdXREb3duTGVmdDthbmltYXRpb24tbmFtZTpyb3RhdGVPdXREb3duTGVmdH1ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodHswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9MTAwJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7b3BhY2l0eTowfX1ALW1vei1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodHswJXstbW96LXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tOy1tb3otdHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9MTAwJXstbW96LXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tOy1tb3otdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7b3BhY2l0eTowfX1ALW8ta2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHR7MCV7LW8tdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LW8tdHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9MTAwJXstby10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTstby10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodHswJXt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTt0cmFuc2Zvcm06cm90YXRlKDApO29wYWNpdHk6MX0xMDAle3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO29wYWNpdHk6MH19LnJvdGF0ZU91dFVwUmlnaHR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpyb3RhdGVPdXRVcFJpZ2h0Oy1tb3otYW5pbWF0aW9uLW5hbWU6cm90YXRlT3V0VXBSaWdodDstby1hbmltYXRpb24tbmFtZTpyb3RhdGVPdXRVcFJpZ2h0O2FuaW1hdGlvbi1uYW1lOnJvdGF0ZU91dFVwUmlnaHR9QC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodHswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9MTAwJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO29wYWNpdHk6MH19QC1tb3ota2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodHswJXstbW96LXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tOy1tb3otdHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9MTAwJXstbW96LXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tOy1tb3otdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO29wYWNpdHk6MH19QC1vLWtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHR7MCV7LW8tdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LW8tdHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9MTAwJXstby10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTstby10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodHswJXt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTt0cmFuc2Zvcm06cm90YXRlKDApO29wYWNpdHk6MX0xMDAle3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tO3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTtvcGFjaXR5OjB9fS5yb3RhdGVPdXREb3duUmlnaHR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpyb3RhdGVPdXREb3duUmlnaHQ7LW1vei1hbmltYXRpb24tbmFtZTpyb3RhdGVPdXREb3duUmlnaHQ7LW8tYW5pbWF0aW9uLW5hbWU6cm90YXRlT3V0RG93blJpZ2h0O2FuaW1hdGlvbi1uYW1lOnJvdGF0ZU91dERvd25SaWdodH1ALXdlYmtpdC1rZXlmcmFtZXMgaGluZ2V7MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDApOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXR9MjAlLDYwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoODBkZWcpOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXR9NDAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg2MGRlZyk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0Oy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dH04MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDYwZGVnKSB0cmFuc2xhdGVZKDApO29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0fTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg3MDBweCk7b3BhY2l0eTowfX1ALW1vei1rZXlmcmFtZXMgaGluZ2V7MCV7LW1vei10cmFuc2Zvcm06cm90YXRlKDApOy1tb3otdHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDstbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXR9MjAlLDYwJXstbW96LXRyYW5zZm9ybTpyb3RhdGUoODBkZWcpOy1tb3otdHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDstbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXR9NDAley1tb3otdHJhbnNmb3JtOnJvdGF0ZSg2MGRlZyk7LW1vei10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0Oy1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dH04MCV7LW1vei10cmFuc2Zvcm06cm90YXRlKDYwZGVnKSB0cmFuc2xhdGVZKDApO29wYWNpdHk6MTstbW96LXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7LW1vei1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0fTEwMCV7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSg3MDBweCk7b3BhY2l0eTowfX1ALW8ta2V5ZnJhbWVzIGhpbmdlezAley1vLXRyYW5zZm9ybTpyb3RhdGUoMCk7LW8tdHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDstby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0fTIwJSw2MCV7LW8tdHJhbnNmb3JtOnJvdGF0ZSg4MGRlZyk7LW8tdHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDstby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0fTQwJXstby10cmFuc2Zvcm06cm90YXRlKDYwZGVnKTstby10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0Oy1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXR9ODAley1vLXRyYW5zZm9ybTpyb3RhdGUoNjBkZWcpIHRyYW5zbGF0ZVkoMCk7b3BhY2l0eToxOy1vLXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7LW8tYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dH0xMDAley1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDcwMHB4KTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgaGluZ2V7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwKTt0cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXR9MjAlLDYwJXt0cmFuc2Zvcm06cm90YXRlKDgwZGVnKTt0cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXR9NDAle3RyYW5zZm9ybTpyb3RhdGUoNjBkZWcpO3RyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dH04MCV7dHJhbnNmb3JtOnJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTtvcGFjaXR5OjE7dHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0fTEwMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNzAwcHgpO29wYWNpdHk6MH19Lmhpbmdley13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aGluZ2U7LW1vei1hbmltYXRpb24tbmFtZTpoaW5nZTstby1hbmltYXRpb24tbmFtZTpoaW5nZTthbmltYXRpb24tbmFtZTpoaW5nZX1ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZyl9MTAwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKX19QC1tb3ota2V5ZnJhbWVzIHJvbGxJbnswJXtvcGFjaXR5OjA7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpfTEwMCV7b3BhY2l0eToxOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyl9fUAtby1rZXlmcmFtZXMgcm9sbEluezAle29wYWNpdHk6MDstby10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpfTEwMCV7b3BhY2l0eToxOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpfX1Aa2V5ZnJhbWVzIHJvbGxJbnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKX0xMDAle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKX19LnJvbGxJbnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnJvbGxJbjstbW96LWFuaW1hdGlvbi1uYW1lOnJvbGxJbjstby1hbmltYXRpb24tbmFtZTpyb2xsSW47YW5pbWF0aW9uLW5hbWU6cm9sbElufUAtd2Via2l0LWtleWZyYW1lcyByb2xsT3V0ezAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyl9fUAtbW96LWtleWZyYW1lcyByb2xsT3V0ezAle29wYWNpdHk6MTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpfTEwMCV7b3BhY2l0eTowOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyl9fUAtby1rZXlmcmFtZXMgcm9sbE91dHswJXtvcGFjaXR5OjE7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyl9MTAwJXtvcGFjaXR5OjA7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyl9fUBrZXlmcmFtZXMgcm9sbE91dHswJXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyl9MTAwJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyl9fS5yb2xsT3V0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6cm9sbE91dDstbW96LWFuaW1hdGlvbi1uYW1lOnJvbGxPdXQ7LW8tYW5pbWF0aW9uLW5hbWU6cm9sbE91dDthbmltYXRpb24tbmFtZTpyb2xsT3V0fUAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW57MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO29wYWNpdHk6MH02MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7b3BhY2l0eToxfTgwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpO29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO29wYWNpdHk6MX19QC1tb3ota2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbnswJXstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7b3BhY2l0eTowfTYwJXstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTtvcGFjaXR5OjF9ODAley1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCUpIHNrZXdYKC0xNWRlZyk7b3BhY2l0eToxfTEwMCV7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7b3BhY2l0eToxfX1ALW8ta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbnswJXstby10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO29wYWNpdHk6MH02MCV7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpO29wYWNpdHk6MX04MCV7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCUpIHNrZXdYKC0xNWRlZyk7b3BhY2l0eToxfTEwMCV7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO29wYWNpdHk6MX19QGtleWZyYW1lcyBsaWdodFNwZWVkSW57MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtvcGFjaXR5OjB9NjAle3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTtvcGFjaXR5OjF9ODAle3RyYW5zZm9ybTp0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpO29wYWNpdHk6MX0xMDAle3RyYW5zZm9ybTp0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtvcGFjaXR5OjF9fS5saWdodFNwZWVkSW57LXdlYmtpdC1hbmltYXRpb24tbmFtZTpsaWdodFNwZWVkSW47LW1vei1hbmltYXRpb24tbmFtZTpsaWdodFNwZWVkSW47LW8tYW5pbWF0aW9uLW5hbWU6bGlnaHRTcGVlZEluO2FuaW1hdGlvbi1uYW1lOmxpZ2h0U3BlZWRJbjstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7LW1vei1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0Oy1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uYW5pbWF0ZWQubGlnaHRTcGVlZEluey13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi41czstbW96LWFuaW1hdGlvbi1kdXJhdGlvbjouNXM7LW8tYW5pbWF0aW9uLWR1cmF0aW9uOi41czthbmltYXRpb24tZHVyYXRpb246LjVzfUAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0ezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtvcGFjaXR5OjB9fUAtbW96LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0ezAley1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO29wYWNpdHk6MX0xMDAley1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtvcGFjaXR5OjB9fUAtby1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dHswJXstby10cmFuc2Zvcm06dHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7b3BhY2l0eToxfTEwMCV7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dHswJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7b3BhY2l0eToxfTEwMCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtvcGFjaXR5OjB9fS5saWdodFNwZWVkT3V0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6bGlnaHRTcGVlZE91dDstbW96LWFuaW1hdGlvbi1uYW1lOmxpZ2h0U3BlZWRPdXQ7LW8tYW5pbWF0aW9uLW5hbWU6bGlnaHRTcGVlZE91dDthbmltYXRpb24tbmFtZTpsaWdodFNwZWVkT3V0Oy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluOy1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluOy1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW59LmFuaW1hdGVkLmxpZ2h0U3BlZWRPdXR7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjI1czstbW96LWFuaW1hdGlvbi1kdXJhdGlvbjouMjVzOy1vLWFuaW1hdGlvbi1kdXJhdGlvbjouMjVzO2FuaW1hdGlvbi1kdXJhdGlvbjouMjVzfUAtd2Via2l0LWtleWZyYW1lcyB3aWdnbGV7MCV7LXdlYmtpdC10cmFuc2Zvcm06c2tld1goOWRlZyl9MTAley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKC04ZGVnKX0yMCV7LXdlYmtpdC10cmFuc2Zvcm06c2tld1goN2RlZyl9MzAley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKC02ZGVnKX00MCV7LXdlYmtpdC10cmFuc2Zvcm06c2tld1goNWRlZyl9NTAley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKC00ZGVnKX02MCV7LXdlYmtpdC10cmFuc2Zvcm06c2tld1goM2RlZyl9NzAley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKC0yZGVnKX04MCV7LXdlYmtpdC10cmFuc2Zvcm06c2tld1goMWRlZyl9OTAley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKDBkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06c2tld1goMGRlZyl9fUAtbW96LWtleWZyYW1lcyB3aWdnbGV7MCV7LW1vei10cmFuc2Zvcm06c2tld1goOWRlZyl9MTAley1tb3otdHJhbnNmb3JtOnNrZXdYKC04ZGVnKX0yMCV7LW1vei10cmFuc2Zvcm06c2tld1goN2RlZyl9MzAley1tb3otdHJhbnNmb3JtOnNrZXdYKC02ZGVnKX00MCV7LW1vei10cmFuc2Zvcm06c2tld1goNWRlZyl9NTAley1tb3otdHJhbnNmb3JtOnNrZXdYKC00ZGVnKX02MCV7LW1vei10cmFuc2Zvcm06c2tld1goM2RlZyl9NzAley1tb3otdHJhbnNmb3JtOnNrZXdYKC0yZGVnKX04MCV7LW1vei10cmFuc2Zvcm06c2tld1goMWRlZyl9OTAley1tb3otdHJhbnNmb3JtOnNrZXdYKDBkZWcpfTEwMCV7LW1vei10cmFuc2Zvcm06c2tld1goMGRlZyl9fUAtby1rZXlmcmFtZXMgd2lnZ2xlezAley1vLXRyYW5zZm9ybTpza2V3WCg5ZGVnKX0xMCV7LW8tdHJhbnNmb3JtOnNrZXdYKC04ZGVnKX0yMCV7LW8tdHJhbnNmb3JtOnNrZXdYKDdkZWcpfTMwJXstby10cmFuc2Zvcm06c2tld1goLTZkZWcpfTQwJXstby10cmFuc2Zvcm06c2tld1goNWRlZyl9NTAley1vLXRyYW5zZm9ybTpza2V3WCgtNGRlZyl9NjAley1vLXRyYW5zZm9ybTpza2V3WCgzZGVnKX03MCV7LW8tdHJhbnNmb3JtOnNrZXdYKC0yZGVnKX04MCV7LW8tdHJhbnNmb3JtOnNrZXdYKDFkZWcpfTkwJXstby10cmFuc2Zvcm06c2tld1goMGRlZyl9MTAwJXstby10cmFuc2Zvcm06c2tld1goMGRlZyl9fUBrZXlmcmFtZXMgd2lnZ2xlezAle3RyYW5zZm9ybTpza2V3WCg5ZGVnKX0xMCV7dHJhbnNmb3JtOnNrZXdYKC04ZGVnKX0yMCV7dHJhbnNmb3JtOnNrZXdYKDdkZWcpfTMwJXt0cmFuc2Zvcm06c2tld1goLTZkZWcpfTQwJXt0cmFuc2Zvcm06c2tld1goNWRlZyl9NTAle3RyYW5zZm9ybTpza2V3WCgtNGRlZyl9NjAle3RyYW5zZm9ybTpza2V3WCgzZGVnKX03MCV7dHJhbnNmb3JtOnNrZXdYKC0yZGVnKX04MCV7dHJhbnNmb3JtOnNrZXdYKDFkZWcpfTkwJXt0cmFuc2Zvcm06c2tld1goMGRlZyl9MTAwJXt0cmFuc2Zvcm06c2tld1goMGRlZyl9fS53aWdnbGV7LXdlYmtpdC1hbmltYXRpb24tbmFtZTp3aWdnbGU7LW1vei1hbmltYXRpb24tbmFtZTp3aWdnbGU7LW8tYW5pbWF0aW9uLW5hbWU6d2lnZ2xlO2FuaW1hdGlvbi1uYW1lOndpZ2dsZTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjstbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjstby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufS5hbmltYXRlZC53aWdnbGV7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246Ljc1czstbW96LWFuaW1hdGlvbi1kdXJhdGlvbjouNzVzOy1vLWFuaW1hdGlvbi1kdXJhdGlvbjouNzVzO2FuaW1hdGlvbi1kdXJhdGlvbjouNzVzfSIsIi8vIFxuLy8gICAgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNC8wMy8wMy9hbm90aGVyLXNhc3MtYnV0dG9uLWxpYnJhcnkvXG4vL1xuXG4vLyBDb25maWd1cmF0aW9uXG4kYnRuLW5hbWU6ICdidXR0b24nICFkZWZhdWx0O1xuJGJ0bi1ob3ZlcjogZGFya2VuIDEwJSAhZGVmYXVsdDtcbiRidG4tYm9yZGVyOiBkYXJrZW4gMTAlICFkZWZhdWx0OyAvLyBTZXQgdG8gZmFsc2UgZm9yIG5vIGJvcmRlclxuJGJ0bi1zaXplLXJhdGlvOiAxLjIgIWRlZmF1bHQ7XG4kYnRuLXNjaGVtZXM6IChcbiAgZGVmYXVsdDogY29sb3IoYnJhbmQtcHJpbWFyeSksXG4gIGN0YTogY29sb3IoYnJhbmQtcHJpbWFyeSksXG4gIHN1Ym1pdDogY29sb3IoYnJhbmQtc2Vjb25kYXJ5KSxcbiAgc3VjY2VzczogY29sb3IoJ3N1Y2Nlc3MnKSxcbiAgZGFuZ2VyOiBjb2xvcignZGFuZ2VyJyksXG4gIHdhcm5pbmc6IGNvbG9yKCd3YXJuaW5nJyksXG4gIGluZm86IGNvbG9yKCdpbmZvJyksXG4pICFkZWZhdWx0O1xuXG4vLyBDb2xvciBoZWxwZXIgXG4vLyAxLiBCYWNrZ3JvdW5kLWNvbG9yXG4vLyAyLiBPbiBob3ZlclxuLy8gMy4gQm9yZGVyLWNvbG9yXG5AbWl4aW4gYnV0dG9uLWNvbG9yKCRjb2xvcikge1xuICAkZXZlcnl0aGluZy1va2F5OiB0cnVlO1xuXG4gIC8vIE1ha2luZyBzdXJlICRjb2xvciBpcyBhIGNvbG9yXG4gIEBpZiB0eXBlLW9mKCRjb2xvcikgIT0gY29sb3Ige1xuICAgIEB3YXJuICcjeyRjb2xvcn0gaXMgbm90IGEgY29sb3IgZm9yIMK7YnV0dG9uLWNvbG9ywqsnO1xuICAgICRldmVyeXRoaW5nLW9rYXk6IGZhbHNlO1xuICB9XG5cbiAgLy8gTWFraW5nIHN1cmUgJGJ0bi1ob3ZlciBhbmQgJGJ0bi1ib3JkZXIgYXJlIDIgaXRlbXMgbG9uZ1xuICBAaWYgbGVuZ3RoKCRidG4taG92ZXIpICE9IDJcbiAgICBvciBsZW5ndGgoJGJ0bi1ib3JkZXIpICE9IDIge1xuICAgIEB3YXJuICdCb3RoIGAkYnRuLWhvdmVyYCBhbmQgYCRidG4tYm9yZGVyYCBzaG91bGQgYmUgdHdvIGl0ZW1zIGxvbmcgZm9yIGBidXR0b24tY29sb3JgLic7XG4gICAgJGV2ZXJ5dGhpbmctb2theTogZmFsc2U7XG4gIH1cblxuICAvLyBNYWtpbmcgc3VyZSBmaXJzdCBpdGVtcyBmcm9tICRidG4taG92ZXIgYW5kICRidG4tYm9yZGVyIGFyZSB2YWxpZCBmdW5jdGlvbnNcbiAgQGlmIG5vdCBmdW5jdGlvbi1leGlzdHMobnRoKCRidG4taG92ZXIsIDEpKSBcbiAgICBvciBub3QgZnVuY3Rpb24tZXhpc3RzKG50aCgkYnRuLWJvcmRlciwgMSkpIHtcbiAgICBAd2FybiAnRWl0aGVyIGAje250aCgkYnRuLWhvdmVyLCAxKX1gIG9yIGAje250aCgkYnRuLWJvcmRlciwgMSl9YCBpcyBub3QgYSB2YWxpZCBmdW5jdGlvbiBmb3IgYGJ1dHRvbi1jb2xvcmAuJztcbiAgICAkZXZlcnl0aGluZy1va2F5OiBmYWxzZTtcbiAgfVxuXG4gIC8vIE1ha2luZyBzdXJlIHNlY29uZCBpdGVtcyBmcm9tICRidG4taG92ZXIgYW5kICRidG4tYm9yZGVyIGFyZSBwZXJjZW50YWdlc1xuICBAaWYgdHlwZS1vZihudGgoJGJ0bi1ob3ZlciwgMikpICE9IG51bWJlciBcbiAgICBvciB0eXBlLW9mKG50aCgkYnRuLWJvcmRlciwgMikpICE9IG51bWJlciB7XG4gICAgQHdhcm4gJ0VpdGhlciBgI3tudGgoJGJ0bi1ob3ZlciwgMil9YCBvciBgI3tudGgoJGJ0bi1ib3JkZXIsIDIpfWAgaXMgbm90IGEgdmFsaWQgcGVyY2VudGFnZSBmb3IgYGJ1dHRvbi1jb2xvcmAuJztcbiAgICAkZXZlcnl0aGluZy1va2F5OiBmYWxzZTtcbiAgfVxuXG4gIC8vIElmIHRoZXJlIGlzIG5vIG1pc3Rha2VcbiAgQGlmICRldmVyeXRoaW5nLW9rYXkgPT0gdHJ1ZSB7XG4gICAgY29sb3I6IGNvbG9yKCd3aGl0ZScpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjsgLy8gMVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7IC8vIDJcbiAgICAgIGJhY2tncm91bmQ6IGNhbGwobnRoKCRidG4taG92ZXIsIDEpLCAkY29sb3IsIG50aCgkYnRuLWhvdmVyLCAyKSk7XG4gICAgfSAgXG5cbiAgICBAaWYgJGJ0bi1ib3JkZXIgIT0gZmFsc2UgeyAvLyAzXG4gICAgICBib3JkZXItY29sb3I6IGNhbGwobnRoKCRidG4tYm9yZGVyLCAxKSwgJGNvbG9yLCBudGgoJGJ0bi1ib3JkZXIsIDIpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRGVmYXVsdCBjbGFzc1xuLy8gMS4gQm9yZGVyIG9yIG5vdCBib3JkZXI/XG4vLyAyLiBMYXJnZSBtb2RpZmllclxuLy8gMy4gU21hbGwgbW9kaWZpZXJcbi8vIDQuIEJvbGQgbW9kaWZpZXJcbi8vIDUuIEJsb2NrIG1vZGlmaWVyXG4vLyA2LiBVcHBlcmNhc2UgbW9kaWZpZXJcbi8vIDcuIENvbG9yIHRoZW1lcyBtb2RpZmllclxuLiN7JGJ0bi1uYW1lfSB7XG4gIC8vIERlZmF1bHQgc3R5bGVzXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoOHB4KTtcbiAgQGluY2x1ZGUgZncoJ3ByaW1hcnknKTtcbiAgQGluY2x1ZGUgdHlwZS1zY2FsZShiYXNlKTtcbiAgXG4gIC8vYm9yZGVyOiBpZigkYnRuLWJvcmRlciAhPSBmYWxzZSwgMXB4IHNvbGlkLCBub25lKTsgLy8gMVxuICAvL2JveC1zaGFkb3c6IGluc2V0IDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpO1xuICBcbiAgY29sb3I6IGNvbG9yKCd3aGl0ZScpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogLjVyZW0gMXJlbTtcbiAgLy9tYXJnaW4tYm90dG9tOiAxZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMTVzO1xuXG4gIC8vIE1vZGlmaWVyc1xuICAmLS1sYXJnZSB7IC8vIDJcbiAgICBmb250LXNpemU6IDFlbSAqICRidG4tc2l6ZS1yYXRpbztcbiAgfVxuXG4gICYtLXNtYWxsIHsgLy8gM1xuICAgIGZvbnQtc2l6ZTogMWVtIC8gJGJ0bi1zaXplLXJhdGlvO1xuICB9XG5cbiAgJi0tYm9sZCB7IC8vIDRcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gICYtLWJsb2NrIHsgLy8gNVxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9ICBcblxuICAmLS11cHBlciB7IC8vIDZcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIFxuICAmLS1jdGEsIFxuICAmLS1zdWJtaXQge1xuICAgIEBpbmNsdWRlIGZmKCdib2xkJyk7XG4gIH1cblxuICAmLS1jdGEge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMTJweCk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcbiAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQxKTtcbiAgICBwYWRkaW5nOiAuNzVyZW0gMS4yNXJlbTtcblxuICAgICYtLWN0YSB7XG4gICAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgfVxuICB9XG5cbiAgLy9AaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtbGFuZHNjYXBlKSB7XG4gICAgLy9AaW5jbHVkZSB0eXBlLXNjYWxlKHQyKTtcblxuICAgIC8vJi0tY3RhIHtcbiAgICAgIC8vcGFkZGluZzogMS41cmVtIDJyZW07XG4gICAgLy99XG4gIC8vfVxuXG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkYnRuLXNjaGVtZXMgeyAvLyA3XG4gICAgJi0tI3ska2V5fSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tY29sb3IoJHZhbHVlKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ0bi1oYW1idXJnZXIoXG4gICRtb2QsIFxuICAkY29sb3JBY3RpdmU6IGNvbG9yKCd3aGl0ZScpLFxuICAkY29sb3JJbmFjdGl2ZTogY29sb3IoJ3doaXRlJylcbikge1xuICAuYy10b2dnbGUtLSN7JG1vZH1fX2xhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvOy8vNDBweDtcbiAgICAvL2hlaWdodDogMjhweDtcbiAgICB0ZXh0LWluZGVudDogMzJweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcblxuICAgIC8vYmFja2dyb3VuZDogY29sb3IoJ3doaXRlJyk7XG4gICAgY29sb3I6ICRjb2xvckluYWN0aXZlO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAtNHB4O1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAvLyBoYW1idXJnZXIgaWNvblxuICAvLyAtLS0tLS0tLS0tLS0tLVxuICAuYy10b2dnbGUtLSN7JG1vZH1fX2ljb24sIFxuICAuYy10b2dnbGUtLSN7JG1vZH1fX2ljb246YmVmb3JlLCBcbiAgLmMtdG9nZ2xlLS0jeyRtb2R9X19pY29uOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICB3aWR0aDogMjRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JJbmFjdGl2ZTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gIH1cblxuICAuYy10b2dnbGUtLSN7JG1vZH1fX2ljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB0b3A6IC03cHg7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIC5jLXRvZ2dsZS0tI3skbW9kfV9faWNvbjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgdG9wOiA3cHg7XG4gICAgbGVmdDogMDtcbiAgfVxuICBcbiAgLmMtdG9nZ2xlLS0jeyRtb2R9X19zdGF0ZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaGVhZGVyLXNtYWxsKSB7XG4gICAgICAvKiBoaWRlIHRoZSBidXR0b24gaW4gZGVza3RvcCB2aWV3ICovXG4gICAgICAuYy10b2dnbGUtLSN7JG1vZH1fX2xhYmVsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC05OTk5OXB4O1xuICAgICAgfVxuICAgICAgQGlmICRtb2QgPT0gbWFpbm5hdiB7XG4gICAgICAgIC8qIGFsd2F5cyBzaG93IHRoZSBtZW51IGluIGRlc2t0b3AgdmlldyAqL1xuICAgICAgICAmOm5vdCg6Y2hlY2tlZCkgfiAjbmF2LW1haW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8geCBpY29uXG4gIC8vIC0tLS0tLVxuICAjYy10b2dnbGUtLSN7JG1vZH1fX3N0YXRlOmNoZWNrZWQgfiAuYy10b2dnbGUtLSN7JG1vZH1fX2xhYmVsIHtcbiAgICBjb2xvcjogJGNvbG9yQWN0aXZlO1xuICB9XG4gIFxuICAjYy10b2dnbGUtLSN7JG1vZH1fX3N0YXRlOmNoZWNrZWQgfiAuYy10b2dnbGUtLSN7JG1vZH1fX2xhYmVsIC5jLXRvZ2dsZS0tI3skbW9kfV9faWNvbiB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgI2MtdG9nZ2xlLS0jeyRtb2R9X19zdGF0ZTpjaGVja2VkIH4gLmMtdG9nZ2xlLS0jeyRtb2R9X19sYWJlbCAuYy10b2dnbGUtLSN7JG1vZH1fX2ljb246YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yQWN0aXZlO1xuICB9XG5cbiAgI2MtdG9nZ2xlLS0jeyRtb2R9X19zdGF0ZTpjaGVja2VkIH4gLmMtdG9nZ2xlLS0jeyRtb2R9X19sYWJlbCAuYy10b2dnbGUtLSN7JG1vZH1fX2ljb246YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yQWN0aXZlO1xuICB9XG5cbiAgLyogaGlkZSBtZW51IHN0YXRlIGNoZWNrYm94IChrZWVwIGl0IHZpc2libGUgdG8gc2NyZWVuIHJlYWRlcnMpICovXG4gICNjLXRvZ2dsZS0tI3skbW9kfV9fc3RhdGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXA6IHJlY3QoMXB4LDFweCwxcHgsMXB4KTtcbiAgfVxufVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS1cbi8vIGhhbWJ1cmdlci94IGljb25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBoYW1idXJnZXIteC1idXR0b24oXG4gICRjb2xvcjogY29sb3IoYnJhbmQtcHJpbWFyeSlcbikge1xuICAubWFpbi1tZW51LWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bzsvLzQwcHg7XG4gICAgLy9oZWlnaHQ6IDI4cHg7XG4gICAgdGV4dC1pbmRlbnQ6IDMycHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG5cbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIC8vaGVpZ2h0OiAyLjVyZW07XG4gICAgcGFkZGluZy10b3A6IC4yNXJlbTtcbiAgICByaWdodDogMXJlbTtcbiAgICAvL3RvcDogLjg3NXJlbTtcbiAgICBib3R0b206IDA7XG4gIH1cblxuICAvLyBoYW1idXJnZXIgaWNvblxuICAubWFpbi1tZW51LWJ0bi1pY29uLCBcbiAgLm1haW4tbWVudS1idG4taWNvbjpiZWZvcmUsIFxuICAubWFpbi1tZW51LWJ0bi1pY29uOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICB3aWR0aDogMjRweDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICB9XG5cbiAgLm1haW4tbWVudS1idG4taWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHRvcDogLTdweDtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgLm1haW4tbWVudS1idG4taWNvbjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgdG9wOiA3cHg7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIC8vIHggaWNvblxuICAjbWFpbi1tZW51LXN0YXRlOmNoZWNrZWQgfiAubWFpbi1tZW51LWJ0biAubWFpbi1tZW51LWJ0bi1pY29uIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAjbWFpbi1tZW51LXN0YXRlOmNoZWNrZWQgfiAubWFpbi1tZW51LWJ0biAubWFpbi1tZW51LWJ0bi1pY29uOmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB9XG5cbiAgI21haW4tbWVudS1zdGF0ZTpjaGVja2VkIH4gLm1haW4tbWVudS1idG4gLm1haW4tbWVudS1idG4taWNvbjphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgfVxuXG4gIC8qIGhpZGUgbWVudSBzdGF0ZSBjaGVja2JveCAoa2VlcCBpdCB2aXNpYmxlIHRvIHNjcmVlbiByZWFkZXJzKSAqL1xuICAjbWFpbi1tZW51LXN0YXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDFweCwxcHgsMXB4LDFweCk7XG4gIH1cblxuICAvKiBoaWRlIHRoZSBtZW51IGluIG1vYmlsZSB2aWV3ICovXG4gICNtYWluLW1lbnUtc3RhdGU6bm90KDpjaGVja2VkKSB+ICNuYXYtbWFpbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICNtYWluLW1lbnUtc3RhdGU6Y2hlY2tlZCB+ICNuYXYtbWFpbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRoZWFkZXItc21hbGwpIHtcbiAgICAvKiBoaWRlIHRoZSBidXR0b24gaW4gZGVza3RvcCB2aWV3ICovXG4gICAgLm1haW4tbWVudS1idG4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtOTk5OTlweDtcbiAgICB9XG4gICAgLyogYWx3YXlzIHNob3cgdGhlIG1lbnUgaW4gZGVza3RvcCB2aWV3ICovXG4gICAgI21haW4tbWVudS1zdGF0ZTpub3QoOmNoZWNrZWQpIH4gI25hdi1tYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4geC1idXR0b24ge1xuICAvLyB4IGljb25cbiAgI21haW4tbWVudS1zdGF0ZTpjaGVja2VkIH4gLm1haW4tbWVudS1idG4gLm1haW4tbWVudS1idG4taWNvbiB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgI21haW4tbWVudS1zdGF0ZTpjaGVja2VkIH4gLm1haW4tbWVudS1idG4gLm1haW4tbWVudS1idG4taWNvbjpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxuXG4gICNtYWluLW1lbnUtc3RhdGU6Y2hlY2tlZCB+IC5tYWluLW1lbnUtYnRuIC5tYWluLW1lbnUtYnRuLWljb246YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9zdXBwb3J0XCI7XG5cbi8vIFRoaXMgbWl4aW4gcHJvdmlkZXMgYmFzaWMgc3VwcG9ydCBmb3IgQ1NTMyBwcm9wZXJ0aWVzIGFuZFxuLy8gdGhlaXIgY29ycmVzcG9uZGluZyBleHBlcmltZW50YWwgQ1NTMiBwcm9wZXJ0aWVzIHdoZW5cbi8vIHRoZSBpbXBsZW1lbnRhdGlvbnMgYXJlIGlkZW50aWNhbCBleGNlcHQgZm9yIHRoZSBwcm9wZXJ0eVxuLy8gcHJlZml4LlxuQG1peGluIGV4cGVyaW1lbnRhbCgkcHJvcGVydHksICR2YWx1ZSxcbiAgJG1veiAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhLFxuICAkd2Via2l0ICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCxcbiAgJG8gICAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSxcbiAgJG1zICAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQsXG4gICRraHRtbCAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwsXG4gICRvZmZpY2lhbCA6IHRydWVcbikge1xuICBAaWYgJHdlYmtpdCAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgIHsgLXdlYmtpdC0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRraHRtbCAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sICAgICB7ICAta2h0bWwtI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkbW96ICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgeyAgICAtbW96LSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG1zICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0IHsgICAgIC1tcy0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRvICAgICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICB7ICAgICAgLW8tI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkb2ZmaWNpYWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAgICAgICAgICN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxufVxuXG4vLyBTYW1lIGFzIGV4cGVyaW1lbnRhbCgpLCBidXQgZm9yIGNhc2VzIHdoZW4gdGhlIHByb3BlcnR5IGlzIHRoZSBzYW1lIGFuZCB0aGUgdmFsdWUgaXMgdmVuZG9yaXplZFxuQG1peGluIGV4cGVyaW1lbnRhbC12YWx1ZSgkcHJvcGVydHksICR2YWx1ZSxcbiAgJG1veiAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhLFxuICAkd2Via2l0ICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCxcbiAgJG8gICAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSxcbiAgJG1zICAgICAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1taWNyb3NvZnQsXG4gICRraHRtbCAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwsXG4gICRvZmZpY2lhbCA6IHRydWVcbikge1xuICBAaWYgJHdlYmtpdCAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itd2Via2l0ICAgIHsgI3skcHJvcGVydHl9IDogLXdlYmtpdC0jeyR2YWx1ZX07IH1cbiAgQGlmICRraHRtbCAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sICAgICB7ICN7JHByb3BlcnR5fSA6ICAta2h0bWwtI3skdmFsdWV9OyB9XG4gIEBpZiAkbW96ICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhICAgeyAjeyRwcm9wZXJ0eX0gOiAgICAtbW96LSN7JHZhbHVlfTsgfVxuICBAaWYgJG1zICAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0IHsgI3skcHJvcGVydHl9IDogICAgIC1tcy0jeyR2YWx1ZX07IH1cbiAgQGlmICRvICAgICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhICAgICB7ICN7JHByb3BlcnR5fSA6ICAgICAgLW8tI3skdmFsdWV9OyB9XG4gIEBpZiAkb2ZmaWNpYWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyAjeyRwcm9wZXJ0eX0gOiAgICAgICAgICN7JHZhbHVlfTsgfVxufVxuIiwiQGltcG9ydCBcIi4uL2xheW91dC9ncmlkLWJhY2tncm91bmRcIjtcblxuLy8gVGhlIGJhc2UgZm9udCBzaXplLlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBTZXQgdGhlIGRlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciByaHl0aG0gYm9yZGVycy5cbiRkZWZhdWx0LXJoeXRobS1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuJGJyb3dzZXItZGVmYXVsdC1mb250LXNpemU6IDE2cHg7XG5cbi8vIFNldCB0byBmYWxzZSBpZiB5b3Ugd2FudCB0byB1c2UgYWJzb2x1dGUgcGl4ZWxzIGluIHNpemluZyB5b3VyIHR5cG9ncmFwaHkuXG4kcmVsYXRpdmUtZm9udC1zaXppbmc6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyB0aGUgYGFkanVzdC1mb250LXNpemUtdG9gIG1peGluIGFuZCB0aGUgYGxpbmVzLWZvci1mb250LXNpemVgIGZ1bmN0aW9uXG4vLyB0byByb3VuZCB0aGUgbGluZSBoZWlnaHQgdG8gdGhlIG5lYXJlc3QgaGFsZiBsaW5lIGhlaWdodCBpbnN0ZWFkIG9mIHRoZVxuLy8gbmVhcmVzdCBpbnRlZ3JhbCBsaW5lIGhlaWdodCB0byBhdm9pZCBsYXJnZSBzcGFjaW5nIGJldHdlZW4gbGluZXMuXG4kcm91bmQtdG8tbmVhcmVzdC1oYWxmLWxpbmU6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBFbnN1cmUgdGhlcmUgaXMgYXQgbGVhc3QgdGhpcyBtYW55IHBpeGVsc1xuLy8gb2YgdmVydGljYWwgcGFkZGluZyBhYm92ZSBhbmQgYmVsb3cgdGhlIHRleHQuXG4kbWluLWxpbmUtcGFkZGluZzogMnB4ICFkZWZhdWx0O1xuXG4vLyAkYmFzZS1mb250LXNpemUgYnV0IGluIHlvdXIgb3V0cHV0IHVuaXQgb2YgY2hvaWNlLlxuLy8gRGVmYXVsdHMgdG8gMWVtIHdoZW4gYCRyZWxhdGl2ZS1mb250LXNpemluZ2AgaXMgdHJ1ZS5cbiRmb250LXVuaXQ6IGlmKCRyZWxhdGl2ZS1mb250LXNpemluZywgMWVtLCAkYmFzZS1mb250LXNpemUpICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzaWMgdW5pdCBvZiBmb250IHJoeXRobS5cbiRiYXNlLXJoeXRobS11bml0OiAkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSAqICRmb250LXVuaXQ7XG5cbi8vIFRoZSBsZWFkZXIgaXMgdGhlIGFtb3VudCBvZiB3aGl0ZXNwYWNlIGluIGEgbGluZS5cbi8vIEl0IG1pZ2h0IGJlIHVzZWZ1bCBpbiB5b3VyIGNhbGN1bGF0aW9ucy5cbiRiYXNlLWxlYWRlcjogKCRiYXNlLWxpbmUtaGVpZ2h0IC0gJGJhc2UtZm9udC1zaXplKSAqICRmb250LXVuaXQgLyAkYmFzZS1mb250LXNpemU7XG5cbi8vIFRoZSBoYWxmLWxlYWRlciBpcyB0aGUgYW1vdW50IG9mIHdoaXRlc3BhY2UgYWJvdmUgYW5kIGJlbG93IGEgbGluZS5cbi8vIEl0IG1pZ2h0IGJlIHVzZWZ1bCBpbiB5b3VyIGNhbGN1bGF0aW9ucy5cbiRiYXNlLWhhbGYtbGVhZGVyOiAkYmFzZS1sZWFkZXIgLyAyO1xuXG4vLyBUcnVlIGlmIGEgbnVtYmVyIGhhcyBhIHJlbGF0aXZlIHVuaXQuXG5AZnVuY3Rpb24gcmVsYXRpdmUtdW5pdCgkbnVtYmVyKSB7XG4gIEByZXR1cm4gdW5pdCgkbnVtYmVyKSA9PSBcIiVcIiBvciB1bml0KCRudW1iZXIpID09IFwiZW1cIiBvciB1bml0KCRudW1iZXIpID09IFwicmVtXCJcbn1cblxuLy8gVHJ1ZSBpZiBhIG51bWJlciBoYXMgYW4gYWJzb2x1dGUgdW5pdC5cbkBmdW5jdGlvbiBhYnNvbHV0ZS11bml0KCRudW1iZXIpIHtcbiAgQHJldHVybiBub3QocmVsYXRpdmUtdW5pdCgkbnVtYmVyKSBvciB1bml0bGVzcygkbnVtYmVyKSk7XG59XG5cbkBpZiAkcmVsYXRpdmUtZm9udC1zaXppbmcgYW5kIG5vdChyZWxhdGl2ZS11bml0KCRmb250LXVuaXQpKSB7XG4gIEB3YXJuIFwiJHJlbGF0aXZlLWZvbnQtc2l6aW5nIGlzIHRydWUgYnV0ICRmb250LXVuaXQgaXMgc2V0IHRvICN7JGZvbnQtdW5pdH0gd2hpY2ggaXMgbm90IGEgcmVsYXRpdmUgdW5pdC5cIjtcbn1cblxuLy8gRXN0YWJsaXNoZXMgYSBmb250IGJhc2VsaW5lIGZvciB0aGUgZ2l2ZW4gZm9udC1zaXplLlxuQG1peGluIGVzdGFibGlzaC1iYXNlbGluZSgkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgLy8gSUUgNiByZWZ1c2VzIHRvIHJlc2l6ZSBmb250cyBzZXQgaW4gcGl4ZWxzIGFuZCBpdCB3ZWlyZGx5IHJlc2l6ZXMgZm9udHNcbiAgLy8gd2hvc2Ugcm9vdCBpcyBzZXQgaW4gZW1zLiBTbyB3ZSBzZXQgdGhlIHJvb3QgZm9udCBzaXplIGluIHBlcmNlbnRhZ2VzIG9mXG4gIC8vIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZS5cbiAgKiBodG1sIHtcbiAgICBmb250LXNpemU6IDEwMCUgKiAoJGZvbnQtc2l6ZSAvICRicm93c2VyLWRlZmF1bHQtZm9udC1zaXplKTtcbiAgfVxuICBodG1sIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgQGluY2x1ZGUgYWRqdXN0LWxlYWRpbmctdG8oMSwgaWYoJHJlbGF0aXZlLWZvbnQtc2l6aW5nLCAkZm9udC1zaXplLCAkYmFzZS1mb250LXNpemUpKTtcbiAgfVxufVxuXG4vLyBSZXNldHMgdGhlIGxpbmUtaGVpZ2h0IHRvIDEgdmVydGljYWwgcmh5dGhtIHVuaXQuXG4vLyBEb2VzIG5vdCB3b3JrIG9uIGVsZW1lbnRzIHdob3NlIGZvbnQtc2l6ZSBpcyBkaWZmZXJlbnQgZnJvbSAkYmFzZS1mb250LXNpemUuXG4vL1xuLy8gQGRlcHJlY2F0ZWQgVGhpcyBtaXhpbiB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgcmVsZWFzZS5cbi8vIFBsZWFzZSB1c2UgdGhlIGBhZGp1c3QtbGVhZGluZy10b2AgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiByZXNldC1iYXNlbGluZSB7XG4gIEBpbmNsdWRlIGFkanVzdC1sZWFkaW5nLXRvKDEsIGlmKCRyZWxhdGl2ZS1mb250LXNpemluZywgJGJhc2UtZm9udC1zaXplLCAkYmFzZS1mb250LXNpemUpKTtcbn1cblxuLy8gU2hvdyBhIGJhY2tncm91bmQgaW1hZ2UgdGhhdCBjYW4gYmUgdXNlZCB0byBkZWJ1ZyB5b3VyIGFsaWdubWVudHMuXG4vLyBJbmNsdWRlIHRoZSAkaW1nIGFyZ3VtZW50IGlmIHlvdSB3b3VsZCByYXRoZXIgdXNlIHlvdXIgb3duIGltYWdlIHRoYW4gdGhlXG4vLyBDb21wYXNzIGRlZmF1bHQgZ3JhZGllbnQgaW1hZ2UuXG5AbWl4aW4gZGVidWctdmVydGljYWwtYWxpZ25tZW50KCRpbWc6IGZhbHNlKSB7XG4gIEBpZiAkaW1nIHtcbiAgICBiYWNrZ3JvdW5kOiBpbWFnZS11cmwoJGltZyk7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGJhc2VsaW5lLWdyaWQtYmFja2dyb3VuZCgkYmFzZS1yaHl0aG0tdW5pdCk7XG4gIH1cbn1cblxuLy8gQWRqdXN0IGEgYmxvY2sgdG8gaGF2ZSBhIGRpZmZlcmVudCBmb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0IHRvIG1haW50YWluIHRoZVxuLy8gcmh5dGhtLiAkbGluZXMgc3BlY2lmaWVzIGhvdyBtYW55IG11bHRpcGxlcyBvZiB0aGUgYmFzZWxpbmUgcmh5dGhtIGVhY2ggbGluZVxuLy8gb2YgdGhpcyBmb250IHNob3VsZCB1c2UgdXAuIEl0IGRvZXMgbm90IGhhdmUgdG8gYmUgYW4gaW50ZWdlciwgYnV0IGl0XG4vLyBkZWZhdWx0cyB0byB0aGUgc21hbGxlc3QgaW50ZWdlciB0aGF0IGlzIGxhcmdlIGVub3VnaCB0byBmaXQgdGhlIGZvbnQuXG4vLyBVc2UgJGZyb20tc2l6ZSB0byBhZGp1c3QgZnJvbSBhIGZvbnQtc2l6ZSBvdGhlciB0aGFuIHRoZSBiYXNlIGZvbnQtc2l6ZS5cbkBtaXhpbiBhZGp1c3QtZm9udC1zaXplLXRvKCR0by1zaXplLCAkbGluZXM6IGxpbmVzLWZvci1mb250LXNpemUoJHRvLXNpemUpLCAkZnJvbS1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIG5vdCgkcmVsYXRpdmUtZm9udC1zaXppbmcpIGFuZCAkZnJvbS1zaXplICE9ICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgQHdhcm4gXCIkcmVsYXRpdmUtZm9udC1zaXppbmcgaXMgZmFsc2UgYnV0IGEgcmVsYXRpdmUgZm9udCBzaXplIHdhcyBwYXNzZWQgdG8gYWRqdXN0LWZvbnQtc2l6ZS10b1wiO1xuICB9XG4gIGZvbnQtc2l6ZTogJGZvbnQtdW5pdCAqICR0by1zaXplIC8gJGZyb20tc2l6ZTtcbiAgQGluY2x1ZGUgYWRqdXN0LWxlYWRpbmctdG8oJGxpbmVzLCBpZigkcmVsYXRpdmUtZm9udC1zaXppbmcsICR0by1zaXplLCAkYmFzZS1mb250LXNpemUpKTtcbn1cblxuLy8gQWRqdXN0IGEgYmxvY2sgdG8gaGF2ZSBkaWZmZXJlbnQgbGluZSBoZWlnaHQgdG8gbWFpbnRhaW4gdGhlIHJoeXRobS5cbi8vICRsaW5lcyBzcGVjaWZpZXMgaG93IG1hbnkgbXVsdGlwbGVzIG9mIHRoZSBiYXNlbGluZSByaHl0aG0gZWFjaCBsaW5lIG9mIHRoaXNcbi8vIGZvbnQgc2hvdWxkIHVzZSB1cC4gSXQgZG9lcyBub3QgaGF2ZSB0byBiZSBhbiBpbnRlZ2VyLCBidXQgaXQgZGVmYXVsdHMgdG8gdGhlXG4vLyBzbWFsbGVzdCBpbnRlZ2VyIHRoYXQgaXMgbGFyZ2UgZW5vdWdoIHRvIGZpdCB0aGUgZm9udC5cbkBtaXhpbiBhZGp1c3QtbGVhZGluZy10bygkbGluZXMsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBsaW5lLWhlaWdodDogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIENhbGN1bGF0ZSByaHl0aG0gdW5pdHMuXG5AZnVuY3Rpb24gcmh5dGhtKFxuICAkbGluZXM6IDEsXG4gICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSxcbiAgJG9mZnNldDogMFxuKSB7XG4gIEBpZiBub3QoJHJlbGF0aXZlLWZvbnQtc2l6aW5nKSBhbmQgJGZvbnQtc2l6ZSAhPSAkYmFzZS1mb250LXNpemUge1xuICAgIEB3YXJuIFwiJHJlbGF0aXZlLWZvbnQtc2l6aW5nIGlzIGZhbHNlIGJ1dCBhIHJlbGF0aXZlIGZvbnQgc2l6ZSB3YXMgcGFzc2VkIHRvIHRoZSByaHl0aG0gZnVuY3Rpb25cIjtcbiAgfVxuICAkcmh5dGhtOiAkZm9udC11bml0ICogKCRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJG9mZnNldCkgLyAkZm9udC1zaXplO1xuICAvLyBSb3VuZCB0aGUgcGl4ZWxzIGRvd24gdG8gbmVhcmVzdCBpbnRlZ2VyLlxuICBAaWYgdW5pdCgkcmh5dGhtKSA9PSBweCB7XG4gICAgJHJoeXRobTogZmxvb3IoJHJoeXRobSk7XG4gIH1cbiAgQHJldHVybiAkcmh5dGhtO1xufVxuXG4vLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gbXVsdGlwbGUgb2Ygcmh5dGhtIHVuaXRzIG5lZWRlZCB0byBjb250YWluIHRoZSBmb250LXNpemUuXG5AZnVuY3Rpb24gbGluZXMtZm9yLWZvbnQtc2l6ZSgkZm9udC1zaXplKSB7XG4gICRsaW5lczogaWYoJHJvdW5kLXRvLW5lYXJlc3QtaGFsZi1saW5lLFxuICAgICAgICAgICAgICBjZWlsKDIgKiAkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpIC8gMixcbiAgICAgICAgICAgICAgY2VpbCgkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpKTtcbiAgQGlmICRsaW5lcyAqICRiYXNlLWxpbmUtaGVpZ2h0IC0gJGZvbnQtc2l6ZSA8ICRtaW4tbGluZS1wYWRkaW5nICogMiB7XG4gICAgJGxpbmVzOiAkbGluZXMgKyBpZigkcm91bmQtdG8tbmVhcmVzdC1oYWxmLWxpbmUsIDAuNSwgMSk7XG4gIH1cbiAgQHJldHVybiAkbGluZXM7XG59XG5cbi8vIEFwcGx5IGxlYWRpbmcgd2hpdGVzcGFjZS4gVGhlICRwcm9wZXJ0eSBjYW4gYmUgbWFyZ2luIG9yIHBhZGRpbmcuXG5AbWl4aW4gbGVhZGVyKCRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkcHJvcGVydHk6IG1hcmdpbikge1xuICAjeyRwcm9wZXJ0eX0tdG9wOiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cblxuLy8gQXBwbHkgbGVhZGluZyB3aGl0ZXNwYWNlIGFzIHBhZGRpbmcuXG5AbWl4aW4gcGFkZGluZy1sZWFkZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgcGFkZGluZy10b3A6IHJoeXRobSgkbGluZXMsICRmb250LXNpemUpO1xufVxuXG4vLyBBcHBseSBsZWFkaW5nIHdoaXRlc3BhY2UgYXMgbWFyZ2luLlxuQG1peGluIG1hcmdpbi1sZWFkZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgbWFyZ2luLXRvcDogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIEFwcGx5IHRyYWlsaW5nIHdoaXRlc3BhY2UuIFRoZSAkcHJvcGVydHkgY2FuIGJlIG1hcmdpbiBvciBwYWRkaW5nLlxuQG1peGluIHRyYWlsZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRwcm9wZXJ0eTogbWFyZ2luKSB7XG4gICN7JHByb3BlcnR5fS1ib3R0b206IHJoeXRobSgkbGluZXMsICRmb250LXNpemUpO1xufVxuXG4vLyBBcHBseSB0cmFpbGluZyB3aGl0ZXNwYWNlIGFzIHBhZGRpbmcuXG5AbWl4aW4gcGFkZGluZy10cmFpbGVyKCRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplKSB7XG4gIHBhZGRpbmctYm90dG9tOiByaHl0aG0oJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cblxuLy8gQXBwbHkgdHJhaWxpbmcgd2hpdGVzcGFjZSBhcyBtYXJnaW4uXG5AbWl4aW4gbWFyZ2luLXRyYWlsZXIoJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgbWFyZ2luLWJvdHRvbTogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSk7XG59XG5cbi8vIFNob3J0aGFuZCBtaXhpbiB0byBhcHBseSB3aGl0ZXNwYWNlIGZvciB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zIGFuZCBwYWRkaW5nLlxuQG1peGluIHJoeXRobSgkbGVhZGVyOiAwLCAkcGFkZGluZy1sZWFkZXI6IDAsICRwYWRkaW5nLXRyYWlsZXI6IDAsICR0cmFpbGVyOiAwLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbGVhZGVyKCRsZWFkZXIsICRmb250LXNpemUpO1xuICBAaW5jbHVkZSBwYWRkaW5nLWxlYWRlcigkcGFkZGluZy1sZWFkZXIsICRmb250LXNpemUpO1xuICBAaW5jbHVkZSBwYWRkaW5nLXRyYWlsZXIoJHBhZGRpbmctdHJhaWxlciwgJGZvbnQtc2l6ZSk7XG4gIEBpbmNsdWRlIHRyYWlsZXIoJHRyYWlsZXIsICRmb250LXNpemUpO1xufVxuXG4vLyBBcHBseSBhIGJvcmRlciBhbmQgd2hpdGVzcGFjZSB0byBhbnkgc2lkZSB3aXRob3V0IGRlc3Ryb3lpbmcgdGhlIHZlcnRpY2FsXG4vLyByaHl0aG0uIFRoZSB3aGl0ZXNwYWNlIG11c3QgYmUgZ3JlYXRlciB0aGFuIHRoZSB3aWR0aCBvZiB0aGUgYm9yZGVyLlxuQG1peGluIGFwcGx5LXNpZGUtcmh5dGhtLWJvcmRlcigkc2lkZSwgJHdpZHRoOiAxcHgsICRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlOiAkZGVmYXVsdC1yaHl0aG0tYm9yZGVyLXN0eWxlKSB7XG4gIEBpZiBub3QoJHJlbGF0aXZlLWZvbnQtc2l6aW5nKSBhbmQgJGZvbnQtc2l6ZSAhPSAkYmFzZS1mb250LXNpemUge1xuICAgIEB3YXJuIFwiJHJlbGF0aXZlLWZvbnQtc2l6aW5nIGlzIGZhbHNlIGJ1dCBhIHJlbGF0aXZlIGZvbnQgc2l6ZSB3YXMgcGFzc2VkIHRvIGFwcGx5LXNpZGUtcmh5dGhtLWJvcmRlclwiO1xuICB9XG4gIGJvcmRlci0jeyRzaWRlfS1zdHlsZTogJGJvcmRlci1zdHlsZTtcbiAgYm9yZGVyLSN7JHNpZGV9LXdpZHRoOiAkZm9udC11bml0ICogJHdpZHRoIC8gJGZvbnQtc2l6ZTtcbiAgcGFkZGluZy0jeyRzaWRlfTogcmh5dGhtKCRsaW5lcywgJGZvbnQtc2l6ZSwgJG9mZnNldDogJHdpZHRoKTtcbn1cblxuLy8gQXBwbHkgYm9yZGVycyBhbmQgd2hpdGVzcGFjZSBlcXVhbGx5IHRvIGFsbCBzaWRlcy5cbkBtaXhpbiByaHl0aG0tYm9yZGVycygkd2lkdGg6IDFweCwgJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRib3JkZXItc3R5bGU6ICRkZWZhdWx0LXJoeXRobS1ib3JkZXItc3R5bGUpIHtcbiAgQGlmIG5vdCgkcmVsYXRpdmUtZm9udC1zaXppbmcpIGFuZCAkZm9udC1zaXplICE9ICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgQHdhcm4gXCIkcmVsYXRpdmUtZm9udC1zaXppbmcgaXMgZmFsc2UgYnV0IGEgcmVsYXRpdmUgZm9udCBzaXplIHdhcyBwYXNzZWQgdG8gcmh5dGhtLWJvcmRlcnNcIjtcbiAgfVxuICBib3JkZXI6IHtcbiAgICBzdHlsZTogJGJvcmRlci1zdHlsZTtcbiAgICB3aWR0aDogJGZvbnQtdW5pdCAqICR3aWR0aCAvICRmb250LXNpemU7XG4gIH07XG4gIHBhZGRpbmc6IHJoeXRobSgkbGluZXMsICRmb250LXNpemUsICRvZmZzZXQ6ICR3aWR0aCk7XG59XG5cbi8vIEFwcGx5IGEgbGVhZGluZyBib3JkZXIuXG5AbWl4aW4gbGVhZGluZy1ib3JkZXIoJHdpZHRoOiAxcHgsICRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlOiAkZGVmYXVsdC1yaHl0aG0tYm9yZGVyLXN0eWxlKSB7XG4gIEBpbmNsdWRlIGFwcGx5LXNpZGUtcmh5dGhtLWJvcmRlcih0b3AsICR3aWR0aCwgJGxpbmVzLCAkZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlKTtcbn1cblxuLy8gQXBwbHkgYSB0cmFpbGluZyBib3JkZXIuXG5AbWl4aW4gdHJhaWxpbmctYm9yZGVyKCR3aWR0aDogMXB4LCAkbGluZXM6IDEsICRmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZTogJGRlZmF1bHQtcmh5dGhtLWJvcmRlci1zdHlsZSkge1xuICBAaW5jbHVkZSBhcHBseS1zaWRlLXJoeXRobS1ib3JkZXIoYm90dG9tLCAkd2lkdGgsICRsaW5lcywgJGZvbnQtc2l6ZSwgJGJvcmRlci1zdHlsZSk7XG59XG5cbi8vIEFwcGx5IGJvdGggbGVhZGluZyBhbmQgdHJhaWxpbmcgYm9yZGVycy5cbkBtaXhpbiBob3Jpem9udGFsLWJvcmRlcnMoJHdpZHRoOiAxcHgsICRsaW5lczogMSwgJGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlOiAkZGVmYXVsdC1yaHl0aG0tYm9yZGVyLXN0eWxlKSB7XG4gIEBpbmNsdWRlIGxlYWRpbmctYm9yZGVyKCR3aWR0aCwgJGxpbmVzLCAkZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlKTtcbiAgQGluY2x1ZGUgdHJhaWxpbmctYm9yZGVyKCR3aWR0aCwgJGxpbmVzLCAkZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlKTtcbn1cblxuLy8gQWxpYXMgZm9yIGBob3Jpem9udGFsLWJvcmRlcnNgIG1peGluLlxuQG1peGluIGgtYm9yZGVycygkd2lkdGg6IDFweCwgJGxpbmVzOiAxLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsICRib3JkZXItc3R5bGU6ICRkZWZhdWx0LXJoeXRobS1ib3JkZXItc3R5bGUpIHtcbiAgQGluY2x1ZGUgaG9yaXpvbnRhbC1ib3JkZXJzKCR3aWR0aCwgJGxpbmVzLCAkZm9udC1zaXplLCAkYm9yZGVyLXN0eWxlKTtcbn1cbiIsIlxuLy8gQ29sb3JzXG4vLyA9PT09PT1cbi8vIEZvciBwcm9qZWN0IGNvbG9ycy4gXG4vL1xuLy8gQXBwcm9hY2g6IFxuLy8gLS0tLS0tLS0tXG4vLyBATGFuZG9uU2Nocm9wcCdzIGFwcHJvYWNoIG9mIG5hbWluZyBjb2xvciB2YXJpYWJsZXMuXG4vLyAtIGh0dHA6Ly9kYXZpZHdhbHNoLm5hbWUvc2Fzcy1jb2xvci12YXJpYWJsZXMtZG9udC1zdWNrXG4vLyAtIGh0dHA6Ly9jaGlyLmFnL3Byb2plY3RzL25hbWUtdGhhdC1jb2xvci9cbi8vXG4vLyBVc2FnZTpcbi8vIC0tLS0tLVxuLy8gLnRlc3Qge1xuLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihzaGFtcm9jayk7XG4vLyB9XG4vL1xuLy8gT1BUSU9OQUw6XG4vLyAtLS0tLS0tLVxuLy8gU3VibGltZSBndXR0ZXI6IGh0dHBzOi8vc3VibGltZS53Ym9uZC5uZXQvcGFja2FnZXMvR3V0dGVyJTIwQ29sb3IgXG4vLyBTZWUgdGhlIGNvbG9ycyB5b3UgdXNlZCBpbiB0aGUgZ3V0dGVyIChBd2Vzb21lIGlmIHlvdSB1c2Ugc3VibGltZSB0ZXh0KVxuLy8gPT09PT09PT09PVxuXG4kY29sb3JzLWdyZXlzY2FsZTogKFxuICBkYXJrLWdyZXk6ICMzMzMsXG4gIG1lZGl1bS1kYXJrLWdyZXk6ICM2NjYsXG4gIG1lZGl1bS1ncmV5OiAjOTk5LFxuICBtZWRpdW0tbGlnaHQtZ3JleTogI2NjYyxcbiAgbGlnaHQtZ3JleTogI2VlZSxcbiAgc3VwZXItbGlnaHQtZ3JleTogI2Y1ZjVmNSxcbik7XG5cbiRjb2xvcnM6IChcbiAgYnJhbmQtcHJpbWFyeTogIzM0NjdjYywgLy8kZGFoZWltLWJsYXVcbiAgYnJhbmQtc2Vjb25kYXJ5OiAjZjkwLCAvLyRkYWhlaW0tb3JhbmdlIHVuZCAkb3JhbmdlXG4gIC8vYnJhbmQtYWNjZW50LTE6ICNjMDAsIC8vcm90XG4gIGRlZmF1bHQtdGV4dC1jb2xvcjogIzMzMyxcbiAgZGVmYXVsdC1saW5rLWNvbG9yOiAjNjljLFxuICBkYXJrLWJsdWU6ICMwMzYsXG4gIGJyYW5kLXByaW1hcnktODA6IHJnYmEoIzM0NjdjYywgLjgpLCAvLzgwJSAkZGFoZWltLWJsYXVcbiAgYnJhbmQtcHJpbWFyeS02MDogcmdiYSgjMzQ2N2NjLCAuNiksIC8vODAlICRkYWhlaW0tYmxhdVxuICBicmFuZC1wcmltYXJ5LTE1OiByZ2JhKCMzNDY3Y2MsIC4xNSksIC8vMTAlICRkYWhlaW0tYmxhdVxuICBicmFuZC1wcmltYXJ5LTEwOiByZ2JhKCMzNDY3Y2MsIC4xKSwgLy8xMCUgJGRhaGVpbS1ibGF1XG4gIGJyYW5kLXNlY29uZGFyeS04MDogcmdiYSgjZjkwLCAuOCksIC8vODAlICRkYWhlaW0tYmxhdVxuICAnYmxhY2snOiAjMDAwLFxuICAnYmxhY2stNzUnOiByZ2JhKCMwMDAsIC43NSksIC8vNzUlIFNjaHdhcnpcbiAgJ3doaXRlJzogI2ZmZixcbiAgJ2FsZXJ0JzogI2MwMCwgLy9yb3RcbiAgJ3N1Y2Nlc3MnOiAjMDA4MDAwLCAvL2dyZWVuXG4gICdzZWxlY3Rpb24nOiAjMzQ2N2NjLCAvLyBkYWhlaW0tYmxhdVxuICAnZGFuZ2VyJzogI2MwMzkyYixcbiAgJ3dhcm5pbmcnOiAjZjFjNDBmLFxuICAnaW5mbyc6ICMyOTgwYjksXG4gICdiZy1ob21lJzogI2IwYjljYSxcbiAgJ2JnLXNpZWgtYW4nOiAjZjU0MjYzLFxuICAnYmctc3VjaGUnOiAjNTk4YTYyLFxuICAnYmctZmluZGUnOiAjOTZiM2M4LFxuICAnYmctc3RhcnRlJzogI2UxYTIzZCxcbik7XG4iLCIvLyBUeXBvZ3JhcGh5IG1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRm9udCB3ZWlnaHRcbi8vIC0tLS0tLS0tLS0tXG5AbWl4aW4gZncoJHdlaWdodCwgJHRhcmdldDogcHJpbWFyeSkge1xuICBmb250LXdlaWdodDogbWFwLWZldGNoKCRmb250LXdlaWdodHMsICR0YXJnZXQgJHdlaWdodCk7XG59XG5cbi8vIEZvbnQgRmFtaWx5XG4vLyAtLS0tLS0tLS0tLVxuQG1peGluIGZmKCRmYW1pbHk6IHByaW1hcnksICRtYXA6ICRmb250LWZhbWlsaWVzKSB7XG4gIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRtYXAsICRmYW1pbHkpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRmb250LXdlaWdodC1kZWZhdWx0LCAkZmFtaWx5KTtcbn1cblxuLy8gVHlwZS1zY2FsZVxuLy8gLS0tLS0tLS0tLVxuLy8gR2V0cyBmb250LXNpemUgYW5kIGJhc2VsaW5lIGZyb20gdHlwb2dyYXBoeSBtYXAgbG9jYXRlZFxuLy8gaW4gdmFyaWFibGVzL3R5cG9ncmFwaHkgYW5kIGNyZWF0ZXMgdGhlIG5lY2Vzc2FyeVxuLy8gZm9udC1zaXplIGFuZCBsaW5lLWhlaWdodCBwcm9wZXJ0eSBpbiBDU1Mgd2l0aCB0aGVcbi8vIGNvbXBhc3MgdmVydGljYWwgcmh5dGhtLlxuLy9cbi8vIFRoaXMgdXNlcyB0aGUgQGluY2x1ZGUgYWRqdXN0LWZvbnQtc2l6ZS10byBtaXhpbiBhbmRcbi8vIHJlcXVpcmVzIENvbXBhc3MgVmVydGljYWwgUmh5dGhtIHRvIGJlIHVzZWQuXG4vL1xuLy8gaHR0cHM6Ly9tZWRpdW0uY29tL3AvOGU1MTQ5OGMzNzEzXG4vLyA9PT09PT09PT09XG5AbWl4aW4gdHlwZS1zY2FsZSgkc2NhbGUsICRtYXA6ICR0eXBlLXNjYWxlKSB7XG4gICRiYXNlLWxpbmVzOiBtYXAtZmV0Y2goJG1hcCwgJHNjYWxlIGJhc2UtbGluZXMpO1xuICAkZm9udC1zaXplOiBtYXAtZmV0Y2goJG1hcCwgJHNjYWxlIGZvbnQtc2l6ZSk7XG4gIC8vQGluY2x1ZGUgYnJlYWtwb2ludCgkY29tcHV0ZXIpIHtcbiAgLy8gICRmb250LXNpemU6ICRmb250LXNpemUgKiAxLjI7XG4gIC8vfVxuICBAaW5jbHVkZSBhZGp1c3QtZm9udC1zaXplLXRvKCRmb250LXNpemUsICRiYXNlLWxpbmVzKTtcbiAgQGluY2x1ZGUgcGFkZGluZy1sZWFkZXIoLjEyNSk7XG4gIEBpbmNsdWRlIHBhZGRpbmctdHJhaWxlciguMTI1KTtcbn1cblxuLy8gVGV4dCBvdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuQG1peGluIHRleHQtb3ZlcmZsb3cge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8gVGV4dCBpbnB1dFxuLy8gLS0tLS0tLS0tLS0tXG4vLyBDYWxscyBhZGRyZXNzZXMgYWxsIHRleHQgaW5wdXRzIGluIG9uZSBzZWxlY3RvclxuJHRleHQtaW5wdXQtdHlwZXM6IHRleHQsIHBhc3N3b3JkLCBkYXRlLCBkYXRldGltZSwgZGF0ZXRpbWUtbG9jYWwsIG1vbnRoLCB3ZWVrLCBlbWFpbCwgbnVtYmVyLCBzZWFyY2gsIHRlbCwgdGltZSwgdXJsLCBjb2xvciAhZGVmYXVsdDtcblxuQG1peGluIHRleHQtaW5wdXQoJHR5cGVzOiAkdGV4dC1pbnB1dC10eXBlcykge1xuICAkc2VsZWN0b3JzOiAoKTtcbiAgQGVhY2ggJHR5cGUgaW4gJHR5cGVzIHtcbiAgICAkc2VsZWN0b3I6IHVucXVvdGUoJ2lucHV0W3R5cGU9JyN7JHR5cGV9J10nKTtcbiAgICAkc2VsZWN0b3JzOiBhcHBlbmQoJHNlbGVjdG9ycywgJHNlbGVjdG9yLCBjb21tYSk7XG4gIH1cblxuICAmICN7JHNlbGVjdG9yc30ge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBoeXBoZW4oJGJwKSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICctJztcbiAgfVxuXG4gIEBpZiAkYnAgPT0gJ21vYmlsZS1sYW5kc2NhcGUnIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICBAaW5jbHVkZSBjbGVhci1oeXBoZW47XG4gICAgfVxuICB9XG5cbiAgQGlmICRicCA9PSAndGFibGV0LXNtYWxsJyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSBjbGVhci1oeXBoZW47XG4gICAgfVxuICB9XG5cbiAgQGlmICRicCA9PSAndGFibGV0JyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBjbGVhci1oeXBoZW47XG4gICAgfVxuICB9XG5cbiAgQGlmICRicCA9PSAndGFibGV0LWxhbmRzY2FwZScge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1sYW5kc2NhcGUpIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyLWh5cGhlbjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGJwID09ICdjb21wdXRlcicge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGNvbXB1dGVyKSB7XG4gICAgICBAaW5jbHVkZSBjbGVhci1oeXBoZW47XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBjbGVhci1oeXBoZW4ge1xuICBkaXNwbGF5OiBub25lO1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gIH1cbn1cbiIsIi8vIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS1cbi8vIEZvciBhbGwgVHlwb2dyYXBoeSByZWxhdGVkIHZhbHVlcy4gXG4vLyBVc2VzIENvbXBhc3MgVmVydGljYWwgUmh5dGhtcy4gXG4vLyA9PT09PT09PT09XG5cbi8vIENvbXBhc3MgVmVydGljYWwgUmh5dGhtcyBTZXR0aW5nc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYmFzZS1mb250LXNpemU6IDE2cHg7XG4kYmFzZS1saW5lLWhlaWdodDogMjdweDtcbiRyb3VuZC10by1uZWFyZXN0LWhhbGYtbGluZTogdHJ1ZTtcblxuLy8gVXNlcyB0aGUgYHJlbWAgdW5pdCBmb3IgYWxsIHZlcnRpY2FsIHJoeXRobSBvdXRwdXRcbiRyaHl0aG0tdW5pdDogJ3JlbSc7XG5cbi8vIEZvbnQgRmFtaWxpZXNcbi8vIC0tLS0tLS0tLS0tLVxuJGZvbnQtZmFtaWxpZXM6IChcbiAgcHJpbWFyeTogKCdBbWJsZVJlZ3VsYXInLCAnSGVsdmV0aWNhJywgJ0FyaWFsJywgc2Fucy1zZXJpZiksXG4gIHNlY29uZGFyeTogKCdWb2xsa29yblJlZ3VsYXInLCAnSGVsdmV0aWNhJywgJ0FyaWFsJywgc2Fucy1zZXJpZiksXG4gIHNlY29uZGFyeS1pdGFsaWM6ICgnVm9sbGtvcm5JdGFsaWMnLCAnSGVsdmV0aWNhJywgJ0FyaWFsJywgc2Fucy1zZXJpZiksXG4gIGJvbGQ6ICgnQW1ibGVCb2xkJywgJ0hlbHZldGljYScsICdBcmlhbCcsIHNhbnMtc2VyaWYpLFxuICBib2xkLWl0YWxpYzogKCdBbWJsZUJvbGRJdGFsaWMnLCAnSGVsdmV0aWNhJywgJ0FyaWFsJywgc2Fucy1zZXJpZiksXG4gIC8vc2VtaWJvbGQ6ICgnT3BlblNhbnNTZW1pYm9sZCcsICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCBzYW5zLXNlcmlmKSxcbiAgaXRhbGljOiAoJ0FtYmxlSXRhbGljJywgJ0hlbHZldGljYScsICdBcmlhbCcsIHNhbnMtc2VyaWYpLFxuICBsaWdodDogKCdBbWJsZUxpZ2h0JywgJ0hlbHZldGljYScsICdBcmlhbCcsIHNhbnMtc2VyaWYpLFxuICBsaWdodC1pdGFsaWM6ICgnQW1ibGVMaWdodEl0YWxpYycsICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCBzYW5zLXNlcmlmKSxcbiAgY29kZTogKCdNb25hY28nLCAnR2VuZXZhJywgJ0NvbnNvbGFzJywgbW9ub3NwYWNlKVxuKTtcblxuLy8gRm9udCBXZWlnaHRzXG4vLyAtLS0tLS0tLS0tLS1cbiRmb250LXdlaWdodHM6IChcbiAgcHJpbWFyeTogKFxuICAgIGxpZ2h0OiAzMDAsXG4gICAgbm9ybWFsOiA0MDAsXG4gICAgYm9sZDogNzAwXG4gICksXG4gIHNlY29uZGFyeTogKFxuICAgIGxpZ2h0OiAzMDAsXG4gICAgbm9ybWFsOiA0MDAsXG4gICAgYm9sZDogNzAwXG4gICksXG4gIGJvbGQ6IChcbiAgICBib2xkOiBub3JtYWxcbiAgKVxuKTtcblxuLy8gRm9udCBXZWlnaHRzIHNpbmdsZVxuLy8gLS0tLS0tLS0tLS0tXG4kZm9udC13ZWlnaHQtZGVmYXVsdDogKFxuICBwcmltYXJ5OiBub3JtYWwsXG4gIHNlY29uZGFyeTogbm9ybWFsLFxuICBib2xkOiBub3JtYWwsXG4gIGJvbGQtaXRhbGljOiBub3JtYWwsXG4gIGxpZ2h0OiBub3JtYWwsXG4gIGxpZ2h0LWl0YWxpYzogbm9ybWFsXG4pO1xuXG4vLyBUeXBlIFNpemVzXG4vLyAtLS0tLS0tLS0tXG4vLyBTZXRzIGZvbnQgc2l6ZXMgYW5kIGxpbmUgaGVpZ2h0LiBcbi8vIEFkYXB0ZWQgZnJvbSBodHRwczovL21lZGl1bS5jb20vcC84ZTUxNDk4YzM3MTMgXG4vLyBTZWUgbWl4aW4gdHlwZS1zY2FsZSBmb3IgbW9yZSBpbmZvXG4vL1xuLy8gLSByZXF1aXJlcyBjb21wYXNzIHZlcnRpY2FsIHJoeXRobSAoaW5jbHVkZWQgYnkgZGVmYXVsdClcbi8vID09PT09PT09PT1cblxuLy8gVHlwZSBTY2FsZVxuJHR5cGUtc2NhbGU6IChcbiAgdDEyOiAoXG4gICAgZm9udC1zaXplOiA1MDQuOTIxcHgsXG4gICAgYmFzZS1saW5lczogMFxuICApLFxuICB0MTE6IChcbiAgICBmb250LXNpemU6IDM3OC43ODVweCxcbiAgICBiYXNlLWxpbmVzOiAwXG4gICksXG4gIHQxMDogKFxuICAgIGZvbnQtc2l6ZTogMjg0LjE2cHgsXG4gICAgYmFzZS1saW5lczogMFxuICApLFxuICB0OTogKFxuICAgIGZvbnQtc2l6ZTogMjEzLjE3M3B4LFxuICAgIGJhc2UtbGluZXM6IDBcbiAgKSxcbiAgdDg6IChcbiAgICBmb250LXNpemU6IDE1OS41cHgsXG4gICAgYmFzZS1saW5lczogMFxuICApLFxuICB0NzogKFxuICAgIGZvbnQtc2l6ZTogMTE5LjY2NXB4LFxuICAgIGJhc2UtbGluZXM6IDVcbiAgKSxcbiAgdDY6IChcbiAgICBmb250LXNpemU6IDg5Ljc2NHB4LFxuICAgIGJhc2UtbGluZXM6IDRcbiAgKSxcbiAgdDU6ICgvL2gwXG4gICAgZm9udC1zaXplOiA2Ny4zNHB4LFxuICAgIGJhc2UtbGluZXM6IDNcbiAgKSxcbiAgdDQ6ICgvL2gxXG4gICAgZm9udC1zaXplOiA1MC41MTdweCxcbiAgICBiYXNlLWxpbmVzOiAyLjVcbiAgKSxcbiAgdDM6ICgvL2gyXG4gICAgZm9udC1zaXplOiAzNy44OTdweCxcbiAgICBiYXNlLWxpbmVzOiAxLjc1XG4gICksXG4gIHQyOiAoLy9oM1xuICAgIGZvbnQtc2l6ZTogMjguNDNweCxcbiAgICBiYXNlLWxpbmVzOiAxLjI1XG4gICksXG4gIHQxOiAoLy9oNFxuICAgIGZvbnQtc2l6ZTogMjEuMzI4cHgsXG4gICAgYmFzZS1saW5lczogMVxuICApLFxuICAvL2g1OiAoXG4gIC8vICBmb250LXNpemU6IDEyLjhweCxcbiAgLy8gIGJhc2UtbGluZXM6IDAuNzVcbiAgLy8pLFxuICAvL2g2OiAoXG4gIC8vICBmb250LXNpemU6IDEwLjI0cHgsXG4gIC8vICBiYXNlLWxpbmVzOiAwLjVcbiAgLy8pLFxuICBiYXNlOiAoXG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUsXG4gICAgYmFzZS1saW5lczogMVxuICApLFxuICBzMTogKFxuICAgIGZvbnQtc2l6ZTogMTIuMDAzcHgsXG4gICAgYmFzZS1saW5lczogMVxuICApLFxuICBzMjogKFxuICAgIGZvbnQtc2l6ZTogOS4wMDVweCxcbiAgICBiYXNlLWxpbmVzOiAxXG4gIClcbik7XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIERlZmF1bHQgVmFyaWFibGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRCcmVha3BvaW50LVNldHRpbmdzOiAoXG4gICdkZWZhdWx0IG1lZGlhJzogYWxsLFxuICAnZGVmYXVsdCBmZWF0dXJlJzogbWluLXdpZHRoLFxuICAnZGVmYXVsdCBwYWlyJzogd2lkdGgsXG5cbiAgJ2ZvcmNlIGFsbCBtZWRpYSB0eXBlJzogZmFsc2UsXG4gICd0byBlbXMnOiBmYWxzZSxcbiAgJ3RyYW5zZm9ybSByZXNvbHV0aW9ucyc6IHRydWUsXG5cbiAgJ25vIHF1ZXJpZXMnOiBmYWxzZSxcbiAgJ25vIHF1ZXJ5IGZhbGxiYWNrcyc6IGZhbHNlLFxuXG4gICdiYXNlIGZvbnQgc2l6ZSc6IDE2cHgsXG5cbiAgJ2xlZ2FjeSBzeW50YXgnOiBmYWxzZVxuKTtcblxuJGJyZWFrcG9pbnQ6ICgpICFkZWZhdWx0O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcImJyZWFrcG9pbnQvc2V0dGluZ3NcIjtcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvY29udGV4dCc7XG5AaW1wb3J0ICdicmVha3BvaW50L2hlbHBlcnMnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9wYXJzZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvbm8tcXVlcnknO1xuXG5AaW1wb3J0ICdicmVha3BvaW50L3Jlc3BvbmQtdG8nO1xuXG5AaW1wb3J0IFwiYnJlYWtwb2ludC9sZWdhY3ktc2V0dGluZ3NcIjtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IE1peGluXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnk6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGxlZ2FjeS1zZXR0aW5ncy13YXJuaW5nO1xuXG4gIC8vIFJlc2V0IGNvbnRleHRzXG4gIEBpbmNsdWRlIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cygpO1xuXG4gICRicmVha3BvaW50OiBicmVha3BvaW50KCRxdWVyeSwgZmFsc2UpO1xuXG4gICRxdWVyeS1zdHJpbmc6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdxdWVyeScpO1xuICAkcXVlcnktZmFsbGJhY2s6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdmYWxsYmFjaycpO1xuXG4gICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdjb250ZXh0IGhvbGRlcicpICFnbG9iYWw7XG4gICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdxdWVyeSBjb3VudCcpICFnbG9iYWw7XG5cbiAgLy8gQWxsb3cgZm9yIGFuIGFzLW5lZWRlZCBvdmVycmlkZSBvciB1c2FnZSBvZiBubyBxdWVyeSBmYWxsYmFjay5cbiAgQGlmICRuby1xdWVyeSAhPSBmYWxzZSB7XG4gICAgJHF1ZXJ5LWZhbGxiYWNrOiAkbm8tcXVlcnk7XG4gIH1cblxuICBAaWYgJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlIHtcbiAgICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgnbm8tcXVlcnknLCAkcXVlcnktZmFsbGJhY2spO1xuICB9XG5cbiAgLy8gUHJpbnQgT3V0IFF1ZXJ5IFN0cmluZ1xuICBAaWYgbm90IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykge1xuICAgIEBtZWRpYSAjeyRxdWVyeS1zdHJpbmd9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykgIT0gZmFsc2Ugb3IgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSA9PSB0cnVlIHtcblxuICAgICR0eXBlOiB0eXBlLW9mKGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSk7XG4gICAgJHByaW50OiBmYWxzZTtcblxuICAgIEBpZiAoJHR5cGUgPT0gJ2Jvb2wnKSB7XG4gICAgICAkcHJpbnQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkdHlwZSA9PSAnc3RyaW5nJykge1xuICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayA9PSBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICgkdHlwZSA9PSAnbGlzdCcpIHtcbiAgICAgIEBlYWNoICR3cmFwcGVyIGluIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XG4gICAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gJHdyYXBwZXIge1xuICAgICAgICAgICRwcmludDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFdyaXRlIEZhbGxiYWNrXG4gICAgQGlmICgkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2UpIGFuZCAoJHByaW50ID09IHRydWUpIHtcbiAgICAgICR0eXBlLWZhbGxiYWNrOiB0eXBlLW9mKCRxdWVyeS1mYWxsYmFjayk7XG5cbiAgICAgIEBpZiAoJHR5cGUtZmFsbGJhY2sgIT0gJ2Jvb2wnKSB7XG4gICAgICAgICN7JHF1ZXJ5LWZhbGxiYWNrfSAmIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcbn1cblxuXG5AbWl4aW4gbXEoJHF1ZXJ5LCAkbm8tcXVlcnk6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnkpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gR2VuZXJhdGVkIGJ5IEZvbnQgU3F1aXJyZWwgKGh0dHA6Ly93d3cuZm9udHNxdWlycmVsLmNvbSkgb24gSnVuZSAyOCwgMjAxMyAxMjoyOTozNyBQTSBBbWVyaWNhL05ld19Zb3JrXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0FtYmxlTGlnaHQnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNyYzogdXJsKCcvZm9udHMvQW1ibGUvQW1ibGUtTGlnaHQtd2ViZm9udC5lb3QnKTtcbiAgc3JjOiB1cmwoJy9mb250cy9BbWJsZS9BbWJsZS1MaWdodC13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgnL2ZvbnRzL0FtYmxlL0FtYmxlLUxpZ2h0LXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJy9mb250cy9BbWJsZS9BbWJsZS1MaWdodC13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgdXJsKCcvZm9udHMvQW1ibGUvQW1ibGUtTGlnaHQtd2ViZm9udC5zdmcjQW1ibGVMaWdodCcpIGZvcm1hdCgnc3ZnJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0FtYmxlTGlnaHRJdGFsaWMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNyYzogdXJsKCcvZm9udHMvQW1ibGUvQW1ibGUtTGlnaHRJdGFsaWMtd2ViZm9udC5lb3QnKTtcbiAgc3JjOiB1cmwoJy9mb250cy9BbWJsZS9BbWJsZS1MaWdodEl0YWxpYy13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgnL2ZvbnRzL0FtYmxlL0FtYmxlLUxpZ2h0SXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJy9mb250cy9BbWJsZS9BbWJsZS1MaWdodEl0YWxpYy13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgdXJsKCcvZm9udHMvQW1ibGUvQW1ibGUtTGlnaHRJdGFsaWMtd2ViZm9udC5zdmcjQW1ibGVMaWdodEl0YWxpYycpIGZvcm1hdCgnc3ZnJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0FtYmxlUmVndWxhcic7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3JjOiB1cmwoJy9mb250cy9BbWJsZS9BbWJsZS1SZWd1bGFyLXdlYmZvbnQuZW90Jyk7XG4gIHNyYzogdXJsKCcvZm9udHMvQW1ibGUvQW1ibGUtUmVndWxhci13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgnL2ZvbnRzL0FtYmxlL0FtYmxlLVJlZ3VsYXItd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgnL2ZvbnRzL0FtYmxlL0FtYmxlLVJlZ3VsYXItd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnL2ZvbnRzL0FtYmxlL0FtYmxlLVJlZ3VsYXItd2ViZm9udC5zdmcjQW1ibGVSZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQW1ibGVJdGFsaWMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNyYzogdXJsKCcvZm9udHMvQW1ibGUvQW1ibGUtSXRhbGljLXdlYmZvbnQuZW90Jyk7XG4gIHNyYzogdXJsKCcvZm9udHMvQW1ibGUvQW1ibGUtSXRhbGljLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCcvZm9udHMvQW1ibGUvQW1ibGUtSXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJy9mb250cy9BbWJsZS9BbWJsZS1JdGFsaWMtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnL2ZvbnRzL0FtYmxlL0FtYmxlLUl0YWxpYy13ZWJmb250LnN2ZyNBbWJsZUl0YWxpYycpIGZvcm1hdCgnc3ZnJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0FtYmxlQm9sZCc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3JjOiB1cmwoJy9mb250cy9BbWJsZS9BbWJsZS1Cb2xkLXdlYmZvbnQuZW90Jyk7XG4gIHNyYzogdXJsKCcvZm9udHMvQW1ibGUvQW1ibGUtQm9sZC13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgnL2ZvbnRzL0FtYmxlL0FtYmxlLUJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgnL2ZvbnRzL0FtYmxlL0FtYmxlLUJvbGQtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnL2ZvbnRzL0FtYmxlL0FtYmxlLUJvbGQtd2ViZm9udC5zdmcjQW1ibGVCb2xkJykgZm9ybWF0KCdzdmcnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQW1ibGVCb2xkSXRhbGljJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcmM6IHVybCgnL2ZvbnRzL0FtYmxlL0FtYmxlLUJvbGRJdGFsaWMtd2ViZm9udC5lb3QnKTtcbiAgc3JjOiB1cmwoJy9mb250cy9BbWJsZS9BbWJsZS1Cb2xkSXRhbGljLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCcvZm9udHMvQW1ibGUvQW1ibGUtQm9sZEl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCcvZm9udHMvQW1ibGUvQW1ibGUtQm9sZEl0YWxpYy13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgdXJsKCcvZm9udHMvQW1ibGUvQW1ibGUtQm9sZEl0YWxpYy13ZWJmb250LnN2ZyNBbWJsZUJvbGRJdGFsaWMnKSBmb3JtYXQoJ3N2ZycpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdBbWJsZUxpZ2h0Q29uZGVuc2VkJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcmM6IHVybCgnL2ZvbnRzL0FtYmxlL0FtYmxlLUxpZ2h0Q29uZGVuc2VkLXdlYmZvbnQuZW90Jyk7XG4gIHNyYzogdXJsKCcvZm9udHMvQW1ibGUvQW1ibGUtTGlnaHRDb25kZW5zZWQtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJy9mb250cy9BbWJsZS9BbWJsZS1MaWdodENvbmRlbnNlZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCcvZm9udHMvQW1ibGUvQW1ibGUtTGlnaHRDb25kZW5zZWQtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnL2ZvbnRzL0FtYmxlL0FtYmxlLUxpZ2h0Q29uZGVuc2VkLXdlYmZvbnQuc3ZnI0FtYmxlTGlnaHRDb25kZW5zZWQnKSBmb3JtYXQoJ3N2ZycpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdBbWJsZUxpZ2h0Q29uZGVuc2VkSXRhbGljJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcmM6IHVybCgnL2ZvbnRzL0FtYmxlL0FtYmxlLUxpZ2h0Q29uZGVuc2VkSXRhbGljLXdlYmZvbnQuZW90Jyk7XG4gIHNyYzogdXJsKCcvZm9udHMvQW1ibGUvQW1ibGUtTGlnaHRDb25kZW5zZWRJdGFsaWMtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJy9mb250cy9BbWJsZS9BbWJsZS1MaWdodENvbmRlbnNlZEl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCcvZm9udHMvQW1ibGUvQW1ibGUtTGlnaHRDb25kZW5zZWRJdGFsaWMtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnL2ZvbnRzL0FtYmxlL0FtYmxlLUxpZ2h0Q29uZGVuc2VkSXRhbGljLXdlYmZvbnQuc3ZnI0FtYmxlTGlnaHRDb25kZW5zZWRJdGFsaWMnKSBmb3JtYXQoJ3N2ZycpO1xufVxuIiwiLy8gR2VuZXJhdGVkIGJ5IEZvbnQgU3F1aXJyZWwgKGh0dHA6Ly93d3cuZm9udHNxdWlycmVsLmNvbSkgb24gSnVuZSAyOSwgMjAxMyAwMzo1ODo1MSBQTSBBbWVyaWNhL05ld19Zb3JrXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1ZvbGxrb3JuUmVndWxhcic7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3JjOiB1cmwoJy9mb250cy9Wb2xsa29ybi9Wb2xsa29ybi1SZWd1bGFyLXdlYmZvbnQuZW90Jyk7XG4gIHNyYzogdXJsKCcvZm9udHMvVm9sbGtvcm4vVm9sbGtvcm4tUmVndWxhci13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgnL2ZvbnRzL1ZvbGxrb3JuL1ZvbGxrb3JuLVJlZ3VsYXItd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgnL2ZvbnRzL1ZvbGxrb3JuL1ZvbGxrb3JuLVJlZ3VsYXItd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgnL2ZvbnRzL1ZvbGxrb3JuL1ZvbGxrb3JuLVJlZ3VsYXItd2ViZm9udC5zdmcjVm9sbGtvcm5SZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnVm9sbGtvcm5Cb2xkJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcmM6IHVybCgnL2ZvbnRzL1ZvbGxrb3JuL1ZvbGxrb3JuLUJvbGQtd2ViZm9udC5lb3QnKTtcbiAgc3JjOiB1cmwoJy9mb250cy9Wb2xsa29ybi9Wb2xsa29ybi1Cb2xkLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCcvZm9udHMvVm9sbGtvcm4vVm9sbGtvcm4tQm9sZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCcvZm9udHMvVm9sbGtvcm4vVm9sbGtvcm4tQm9sZC13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgdXJsKCcvZm9udHMvVm9sbGtvcm4vVm9sbGtvcm4tQm9sZC13ZWJmb250LnN2ZyNWb2xsa29ybkJvbGQnKSBmb3JtYXQoJ3N2ZycpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdWb2xsa29ybkl0YWxpYyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3JjOiB1cmwoJy9mb250cy9Wb2xsa29ybi9Wb2xsa29ybi1JdGFsaWMtd2ViZm9udC5lb3QnKTtcbiAgc3JjOiB1cmwoJy9mb250cy9Wb2xsa29ybi9Wb2xsa29ybi1JdGFsaWMtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJy9mb250cy9Wb2xsa29ybi9Wb2xsa29ybi1JdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgnL2ZvbnRzL1ZvbGxrb3JuL1ZvbGxrb3JuLUl0YWxpYy13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgdXJsKCcvZm9udHMvVm9sbGtvcm4vVm9sbGtvcm4tSXRhbGljLXdlYmZvbnQuc3ZnI1ZvbGxrb3JuSXRhbGljJykgZm9ybWF0KCdzdmcnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnVm9sbGtvcm5Cb2xkSXRhbGljJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcmM6IHVybCgnL2ZvbnRzL1ZvbGxrb3JuL1ZvbGxrb3JuLUJvbGRJdGFsaWMtd2ViZm9udC5lb3QnKTtcbiAgc3JjOiB1cmwoJy9mb250cy9Wb2xsa29ybi9Wb2xsa29ybi1Cb2xkSXRhbGljLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCcvZm9udHMvVm9sbGtvcm4vVm9sbGtvcm4tQm9sZEl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCcvZm9udHMvVm9sbGtvcm4vVm9sbGtvcm4tQm9sZEl0YWxpYy13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgdXJsKCcvZm9udHMvVm9sbGtvcm4vVm9sbGtvcm4tQm9sZEl0YWxpYy13ZWJmb250LnN2ZyNWb2xsa29ybkJvbGRJdGFsaWMnKSBmb3JtYXQoJ3N2ZycpO1xufVxuIiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnd2ViZmxvdy1pY29ucyc7XG4gIHNyYzogdXJsKGRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nNlNBeTBBQUFDOEFBQUFZR050WVhBYVZjeGFBQUFCSEFBQUFFeG5ZWE53QUFBQUVBQUFBV2dBQUFBSVoyeDVaZ3NjVjFnQUFBRndBQUFCaEdobFlXUUNrRkt2QUFBQzlBQUFBRFpvYUdWaEIwTUR5UUFBQXl3QUFBQWthRzEwZUJJQUExMEFBQU5RQUFBQUlHeHZZMkVCTUFEeUFBQURjQUFBQUJKdFlYaHdBQXdBVFFBQUE0UUFBQUFnYm1GdFpXVHVpSUFBQUFPa0FBQUJlM0J2YzNRQUF3QUFBQUFGSUFBQUFDQUFBd1FBQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURtQXdQQS84RC93QVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQUNBQUFBQXdBQUFCUUFBd0FCQUFBQUZBQUVBRGdBQUFBS0FBZ0FBZ0FDQUFFQUlPWUQvLzMvL3dBQUFBQUFJT1lBLy8zLy93QUIvK01hQkFBREFBRUFBQUFBQUFBQUFBQUFBQUVBQWYvL0FBOEFBUUFBQUFBQUFBQUFBQUlBQURjNUFRQUFBQUFCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRRWdBQUFESUFPQUFBVUFBQWtCQndrQkZ3TWcva0JBQVlEK2dFQUJ3QUhBUVA2QS9vQkFBQUVBNEFBQUF1QURnQUFGQUFBVEFSY0pBUWZnQWNCQS9vQUJnRUFCd0FIQVFQNkEvb0JBQUFBREFNQUE0QU5BQXNBQUdBQXhBRW9BQUFFaElnNENIUUVVSGdJeklUSStBajBCTkM0Q0l4VWhJZzRDSFFFVUhnSXpJVEkrQWowQk5DNENJeFVoSWc0Q0hRRVVIZ0l6SVRJK0FqMEJOQzRDSXdNZy9jQUhDd2tGQlFrTEJ3SkFCd3NKQlFVSkN3Zjl3QWNMQ1FVRkNRc0hBa0FIQ3drRkJRa0xCLzNBQndzSkJRVUpDd2NDUUFjTENRVUZDUXNIQXNBRkNRc0hJQWNMQ1FVRkNRc0hJQWNMQ1FYQUJRa0xCeUFIQ3drRkJRa0xCeUFIQ3drRndBVUpDd2NnQndzSkJRVUpDd2NnQndzSkJRQUFBQUFCQUowQXRBT0JBcFVBQlFBQUNRSUhDUUVESlA3ci91cGNBWEVCY2dLVS91c0JGRnYrZWdHR0FBQUFBQUVBQUFBQkFBRFNMQUpPWHc4ODlRQUxCQUFBQUFBQXovaUhHUUFBQUFEUCtJY1pBQUFBQUFPQkE0QUFBQUFJQUFJQUFBQUFBQUFBQVFBQUE4RC93QUFBQkFBQUFBQUFBNEVBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQ0FBQUFCQUFCSUFRQUFPQUVBQURBQkFBQW5RQUFBQUFBQ2dBVUFCNEFNZ0JHQUt3QXdnQUFBQUVBQUFBSUFFc0FBd0FBQUFBQUFnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU9BSzRBQVFBQUFBQUFBUUFhQUFBQUFRQUFBQUFBQWdBT0FIRUFBUUFBQUFBQUF3QWFBREFBQVFBQUFBQUFCQUFhQUg4QUFRQUFBQUFBQlFBV0FCb0FBUUFBQUFBQUJnQU5BRW9BQVFBQUFBQUFDZ0EwQUprQUF3QUJCQWtBQVFBYUFBQUFBd0FCQkFrQUFnQU9BSEVBQXdBQkJBa0FBd0FhQURBQUF3QUJCQWtBQkFBYUFIOEFBd0FCQkFrQUJRQVdBQm9BQXdBQkJBa0FCZ0FhQUZjQUF3QUJCQWtBQ2dBMEFKa0Fkd0JsQUdJQVpnQnNBRzhBZHdBdEFHa0FZd0J2QUc0QWN3QldBR1VBY2dCekFHa0Fid0J1QUNBQU1RQXVBREFBZHdCbEFHSUFaZ0JzQUc4QWR3QXRBR2tBWXdCdkFHNEFjM2RsWW1ac2IzY3RhV052Ym5NQWR3QmxBR0lBWmdCc0FHOEFkd0F0QUdrQVl3QnZBRzRBY3dCU0FHVUFad0IxQUd3QVlRQnlBSGNBWlFCaUFHWUFiQUJ2QUhjQUxRQnBBR01BYndCdUFITUFSZ0J2QUc0QWRBQWdBR2NBWlFCdUFHVUFjZ0JoQUhRQVpRQmtBQ0FBWWdCNUFDQUFTUUJqQUc4QVRRQnZBRzhBYmdBdUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybChkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxkMDlHUms5VVZFOEFBQVZjQUFvQUFBQUFCUlFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkRSa1lnQUFBQTlBQUFBWk1BQUFHVHV6VW9tVTlUTHpJQUFBS0lBQUFBWUFBQUFHQU9rZ010WTIxaGNBQUFBdWdBQUFCTUFBQUFUQnBWekZwbllYTndBQUFETkFBQUFBZ0FBQUFJQUFBQUVHaGxZV1FBQUFNOEFBQUFOZ0FBQURZQ2tGS3ZhR2hsWVFBQUEzUUFBQUFrQUFBQUpBZERBOGxvYlhSNEFBQURtQUFBQUNBQUFBQWdFZ0FEWFcxaGVIQUFBQU80QUFBQUJnQUFBQVlBQ0ZBQWJtRnRaUUFBQThBQUFBRjdBQUFCZTJUdWlJQndiM04wQUFBRlBBQUFBQ0FBQUFBZ0FBTUFBQUVBQkFRQUFRRUJEbmRsWW1ac2IzY3RhV052Ym5NQUFRSUFBUUE2K0J3QytCc0QrQmdFSGdvQUNYZi9pNHNlQ2dBSmQvK0xpd3dIaTB2NmxQcFVCUjBBQUFDYUR4MEFBQUNmRVIwQUFBQUpIUUFBQVlvU0FBa0JBUTRiSFI4aUp5d3hObmRsWW1ac2IzY3RhV052Ym5OM1pXSm1iRzkzTFdsamIyNXpkVEIxTVhVeU1IVkZOakF3ZFVVMk1ERjFSVFl3TW5WRk5qQXpBQUFDQVlrQUJnQUlBUUVFQndvTkpEdkg0UDZVRHY2VUR2NlVEdnlVRHZtMCtGUVYvRlQ0VkV0TCtCVDhGUHdVL0JUTFN3VU85M1Q0VkJYNFZQaFV5MHY4RlB3VStCVDhGRXRMQlE3NXRQbFVGZnpVaXdWNWkzMTlpM2tJaTJzRmkzbVpmWjJMQ1BqVWl3V2RpNW1aaTUwSWk2c0ZpNTE5bVhtTENJdjdWQlg4MUlzRmVZdDlmWXQ1Q0l0ckJZdDVtWDJkaXdqNDFJc0ZuWXVabVl1ZENJdXJCWXVkZlpsNWl3aUwrMVFWL05TTEJYbUxmWDJMZVFpTGF3V0xlWmw5bllzSStOU0xCWjJMbVptTG5RaUxxd1dMblgyWmVZc0lEdm00K1NrVis2bjdxdnVxOTZvdkx2Z0cvQmo0QnZnWUJRNzZsQlQ2bEJXTERBb0FBQU1FQUFHUUFBVUFBQUtaQXN3QUFBQ1BBcGtDekFBQUFlc0FNd0VKQUFBQUFBQUFBQUFBQUFBQUFBQUFBUkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFRQUFBNWdNRHdQL0EvOEFEd0FCQUFBQUFBUUFBQUFBQUFBQUFBQUFBSUFBQUFBQUFBZ0FBQUFNQUFBQVVBQU1BQVFBQUFCUUFCQUE0QUFBQUNnQUlBQUlBQWdBQkFDRG1BLy85Ly84QUFBQUFBQ0RtQVAvOS8vOEFBZi9qR2dRQUF3QUJBQUFBQUFBQUFBQUFBQUFCQUFILy93QVBBQUVBQUFBQkFBQzFwUVRqWHc4ODlRQUxCQUFBQUFBQXovaUhHUUFBQUFEUCtJY1pBQUFBQUFPQkE0QUFBQUFJQUFJQUFBQUFBQUFBQVFBQUE4RC93QUFBQkFBQUFBQUFBNEVBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQ0FBQUFCQUFCSUFRQUFPQUVBQURBQkFBQW5RQUFVQUFBQ0FBQUFBQUFEZ0N1QUFFQUFBQUFBQUVBR2dBQUFBRUFBQUFBQUFJQURnQnhBQUVBQUFBQUFBTUFHZ0F3QUFFQUFBQUFBQVFBR2dCL0FBRUFBQUFBQUFVQUZnQWFBQUVBQUFBQUFBWUFEUUJLQUFFQUFBQUFBQW9BTkFDWkFBTUFBUVFKQUFFQUdnQUFBQU1BQVFRSkFBSUFEZ0J4QUFNQUFRUUpBQU1BR2dBd0FBTUFBUVFKQUFRQUdnQi9BQU1BQVFRSkFBVUFGZ0FhQUFNQUFRUUpBQVlBR2dCWEFBTUFBUVFKQUFvQU5BQ1pBSGNBWlFCaUFHWUFiQUJ2QUhjQUxRQnBBR01BYndCdUFITUFWZ0JsQUhJQWN3QnBBRzhBYmdBZ0FERUFMZ0F3QUhjQVpRQmlBR1lBYkFCdkFIY0FMUUJwQUdNQWJ3QnVBSE4zWldKbWJHOTNMV2xqYjI1ekFIY0FaUUJpQUdZQWJBQnZBSGNBTFFCcEFHTUFid0J1QUhNQVVnQmxBR2NBZFFCc0FHRUFjZ0IzQUdVQVlnQm1BR3dBYndCM0FDMEFhUUJqQUc4QWJnQnpBRVlBYndCdUFIUUFJQUJuQUdVQWJnQmxBSElBWVFCMEFHVUFaQUFnQUdJQWVRQWdBRWtBWXdCdkFFMEFid0J2QUc0QUxnQUFBd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE9PSkgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbltjbGFzc149XCJ3LWljb24tXCJdLFxuW2NsYXNzKj1cIiB3LWljb24tXCJdIHtcbiAgZm9udC1mYW1pbHk6ICd3ZWJmbG93LWljb25zJztcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG4udy1pY29uLXNsaWRlci1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwMFwiO1xufVxuLnctaWNvbi1zbGlkZXItbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwMVwiO1xufVxuLnctaWNvbi1uYXYtbWVudTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwMlwiO1xufVxuLnctaWNvbi1hcnJvdy1kb3duOmJlZm9yZSxcbi53LWljb24tZHJvcGRvd24tdG9nZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjAzXCI7XG59XG4qIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5odG1sIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBjb2xvcjogIzMzMztcbn1cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuaHRtbC53LW1vZC10b3VjaCAqIHtcbiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGwgIWltcG9ydGFudDtcbn1cbi53LWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udy1pbmxpbmUtYmxvY2sge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi53LWNsZWFyZml4OmJlZm9yZSxcbi53LWNsZWFyZml4OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuLnctY2xlYXJmaXg6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi53LWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udy1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDlweCAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzg5OEVDO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuaW5wdXQudy1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cbmh0bWxbZGF0YS13LWR5bnBhZ2VdIFtkYXRhLXctY2xvYWtdIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4udy13ZWJmbG93LWJhZGdlLFxuLnctd2ViZmxvdy1iYWRnZSAqIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbGVmdDogYXV0bztcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICB6LWluZGV4OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIG92ZXJmbG93LXg6IHZpc2libGU7XG4gIG92ZXJmbG93LXk6IHZpc2libGU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgbWluLXdpZHRoOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZsb2F0OiBub25lO1xuICBjbGVhcjogbm9uZTtcbiAgYm9yZGVyOiAwIG5vbmUgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gYXV0bztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDtcbiAgYmFja2dyb3VuZC1vcmlnaW46IHBhZGRpbmctYm94O1xuICBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgb3BhY2l0eTogMS4wO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIGRpcmVjdGlvbjogbHRyO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBmb250LXN0eWxlOiBpbmhlcml0O1xuICBmb250LXZhcmlhbnQ6IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtaW5kZW50OiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgZm9udC1zbW9vdGhpbmc6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgY3Vyc29yOiBpbmhlcml0O1xuICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4udy13ZWJmbG93LWJhZGdlIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgei1pbmRleDogMjE0NzQ4MzY0NyAhaW1wb3J0YW50O1xuICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgcmlnaHQ6IDEycHggIWltcG9ydGFudDtcbiAgYm90dG9tOiAxMnB4ICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgY29sb3I6ICNBQUFEQjAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogNnB4IDhweCA2cHggNnB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxLjAgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDE0cHggIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMSksIDBweCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi53LXdlYmZsb3ctYmFkZ2UgPiBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcbn1cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuaDEge1xuICBmb250LXNpemU6IDM4cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuaDIge1xuICBmb250LXNpemU6IDMycHg7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuaDMge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuaDQge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuaDUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuaDYge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgI0UyRTJFMjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcbn1cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbmZpZ2NhcHRpb24ge1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbnVsLFxub2wge1xuICBtYXJnaW4tdG9wOiAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbn1cbi53LWxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4udy1lbWJlZDpiZWZvcmUsXG4udy1lbWJlZDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cbi53LWVtYmVkOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4udy12aWRlbyB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDA7XG59XG4udy12aWRlbyBpZnJhbWUsXG4udy12aWRlbyBvYmplY3QsXG4udy12aWRlbyBlbWJlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSB7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cbi53LWZvcm0ge1xuICBtYXJnaW46IDAgMCAxNXB4O1xufVxuLnctZm9ybS1kb25lIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkZGRkO1xufVxuLnctZm9ybS1mYWlsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZGVkZTtcbn1cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4udy1pbnB1dCxcbi53LXNlbGVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzOHB4O1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0Mjk7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xufVxuLnctaW5wdXQ6LW1vei1wbGFjZWhvbGRlcixcbi53LXNlbGVjdDotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5OTk7XG59XG4udy1pbnB1dDo6LW1vei1wbGFjZWhvbGRlcixcbi53LXNlbGVjdDo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOTk5O1xuICBvcGFjaXR5OiAxO1xufVxuLnctaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuLnctc2VsZWN0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOTk5O1xufVxuLnctaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4udy1zZWxlY3Q6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OTtcbn1cbi53LWlucHV0OmZvY3VzLFxuLnctc2VsZWN0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMzg5OEVDO1xuICBvdXRsaW5lOiAwO1xufVxuLnctaW5wdXRbZGlzYWJsZWRdLFxuLnctc2VsZWN0W2Rpc2FibGVkXSxcbi53LWlucHV0W3JlYWRvbmx5XSxcbi53LXNlbGVjdFtyZWFkb25seV0sXG5maWVsZHNldFtkaXNhYmxlZF0gLnctaW5wdXQsXG5maWVsZHNldFtkaXNhYmxlZF0gLnctc2VsZWN0IHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbn1cbnRleHRhcmVhLnctaW5wdXQsXG50ZXh0YXJlYS53LXNlbGVjdCB7XG4gIGhlaWdodDogYXV0bztcbn1cbi53LXNlbGVjdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHdoaXRlIDAlLCAjZjNmM2YzIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQod2hpdGUgMCUsICNmM2YzZjMgMTAwJSk7XG59XG4udy1zZWxlY3RbbXVsdGlwbGVdIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLnctZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG59XG4udy1jaGVja2JveCxcbi53LXJhZGlvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuLnctY2hlY2tib3g6YmVmb3JlLFxuLnctcmFkaW86YmVmb3JlLFxuLnctY2hlY2tib3g6YWZ0ZXIsXG4udy1yYWRpbzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cbi53LWNoZWNrYm94OmFmdGVyLFxuLnctcmFkaW86YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi53LWNoZWNrYm94LWlucHV0LFxuLnctcmFkaW8taW5wdXQge1xuICBtYXJnaW46IDRweCAwIDA7XG4gIG1hcmdpbi10b3A6IDFweCBcXDk7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG59XG4udy1yYWRpby1pbnB1dCB7XG4gIG1hcmdpbi10b3A6IDNweDtcbn1cbi53LWNvbnRhaW5lciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogOTQwcHg7XG59XG4udy1jb250YWluZXI6YmVmb3JlLFxuLnctY29udGFpbmVyOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuLnctY29udGFpbmVyOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4udy1jb250YWluZXIgLnctcm93IHtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xufVxuLnctcm93OmJlZm9yZSxcbi53LXJvdzphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cbi53LXJvdzphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuLnctcm93IC53LXJvdyB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4udy1jb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG4udy1jb2wgLnctY29sIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuLnctY29sLTEge1xuICB3aWR0aDogOC4zMzMzMzMzMyU7XG59XG4udy1jb2wtMiB7XG4gIHdpZHRoOiAxNi42NjY2NjY2NyU7XG59XG4udy1jb2wtMyB7XG4gIHdpZHRoOiAyNSU7XG59XG4udy1jb2wtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG59XG4udy1jb2wtNSB7XG4gIHdpZHRoOiA0MS42NjY2NjY2NyU7XG59XG4udy1jb2wtNiB7XG4gIHdpZHRoOiA1MCU7XG59XG4udy1jb2wtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMzMzMyU7XG59XG4udy1jb2wtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NjY2NyU7XG59XG4udy1jb2wtOSB7XG4gIHdpZHRoOiA3NSU7XG59XG4udy1jb2wtMTAge1xuICB3aWR0aDogODMuMzMzMzMzMzMlO1xufVxuLnctY29sLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY2NjY3JTtcbn1cbi53LWNvbC0xMiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnctaGlkZGVuLW1haW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudy1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNzI4cHg7XG4gIH1cbiAgLnctaGlkZGVuLW1haW4ge1xuICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgfVxuICAudy1oaWRkZW4tbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnctY29sLW1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMyU7XG4gIH1cbiAgLnctY29sLW1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjclO1xuICB9XG4gIC53LWNvbC1tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAudy1jb2wtbWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG4gIH1cbiAgLnctY29sLW1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjclO1xuICB9XG4gIC53LWNvbC1tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAudy1jb2wtbWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMyU7XG4gIH1cbiAgLnctY29sLW1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjclO1xuICB9XG4gIC53LWNvbC1tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAudy1jb2wtbWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMlO1xuICB9XG4gIC53LWNvbC1tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NyU7XG4gIH1cbiAgLnctY29sLW1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnctY29sLXN0YWNrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudy1oaWRkZW4tbWFpbiB7XG4gICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICB9XG4gIC53LWhpZGRlbi1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgfVxuICAudy1oaWRkZW4tc21hbGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudy1yb3csXG4gIC53LWNvbnRhaW5lciAudy1yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAudy1jb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnctY29sLXNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzJTtcbiAgfVxuICAudy1jb2wtc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY3JTtcbiAgfVxuICAudy1jb2wtc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAudy1jb2wtc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgfVxuICAudy1jb2wtc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY3JTtcbiAgfVxuICAudy1jb2wtc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAudy1jb2wtc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzJTtcbiAgfVxuICAudy1jb2wtc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY3JTtcbiAgfVxuICAudy1jb2wtc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAudy1jb2wtc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMyU7XG4gIH1cbiAgLnctY29sLXNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjclO1xuICB9XG4gIC53LWNvbC1zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gIC53LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG4gIC53LWhpZGRlbi1tYWluIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnctaGlkZGVuLW1lZGl1bSB7XG4gICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICB9XG4gIC53LWhpZGRlbi1zbWFsbCB7XG4gICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICB9XG4gIC53LWhpZGRlbi10aW55IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnctY29sIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAudy1jb2wtdGlueS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMyU7XG4gIH1cbiAgLnctY29sLXRpbnktMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY3JTtcbiAgfVxuICAudy1jb2wtdGlueS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC53LWNvbC10aW55LTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG4gIH1cbiAgLnctY29sLXRpbnktNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY3JTtcbiAgfVxuICAudy1jb2wtdGlueS02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC53LWNvbC10aW55LTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMyU7XG4gIH1cbiAgLnctY29sLXRpbnktOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY3JTtcbiAgfVxuICAudy1jb2wtdGlueS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC53LWNvbC10aW55LTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMlO1xuICB9XG4gIC53LWNvbC10aW55LTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjclO1xuICB9XG4gIC53LWNvbC10aW55LTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLnctd2lkZ2V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnctd2lkZ2V0LW1hcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQwMHB4O1xufVxuLnctd2lkZ2V0LW1hcCBsYWJlbCB7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4udy13aWRnZXQtbWFwIGltZyB7XG4gIG1heC13aWR0aDogaW5oZXJpdDtcbn1cbi53LXdpZGdldC1tYXAgLmdtLXN0eWxlLWl3IHtcbiAgd2lkdGg6IDkwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgdG9wOiA3cHggIWltcG9ydGFudDtcbiAgbGVmdDogNiUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogaW5saW5lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4udy13aWRnZXQtbWFwIC5nbS1zdHlsZS1pdyArIGRpdiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udy13aWRnZXQtdHdpdHRlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4udy13aWRnZXQtdHdpdHRlci1jb3VudC1zaGltIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAyOHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlcjogIzc1ODY5NiBzb2xpZCAxcHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbi53LXdpZGdldC10d2l0dGVyLWNvdW50LXNoaW0gKiB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLnctd2lkZ2V0LXR3aXR0ZXItY291bnQtc2hpbSAudy13aWRnZXQtdHdpdHRlci1jb3VudC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMTJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzk5OTtcbiAgZm9udC1mYW1pbHk6IHNlcmlmO1xufVxuLnctd2lkZ2V0LXR3aXR0ZXItY291bnQtc2hpbSAudy13aWRnZXQtdHdpdHRlci1jb3VudC1jbGVhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udy13aWRnZXQtdHdpdHRlci1jb3VudC1zaGltLnctLWxhcmdlIHtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMjhweDtcbiAgbWFyZ2luLWxlZnQ6IDdweDtcbn1cbi53LXdpZGdldC10d2l0dGVyLWNvdW50LXNoaW0udy0tbGFyZ2UgLnctd2lkZ2V0LXR3aXR0ZXItY291bnQtaW5uZXIge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xufVxuLnctd2lkZ2V0LXR3aXR0ZXItY291bnQtc2hpbTpub3QoLnctLXZlcnRpY2FsKSB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuLnctd2lkZ2V0LXR3aXR0ZXItY291bnQtc2hpbTpub3QoLnctLXZlcnRpY2FsKS53LS1sYXJnZSB7XG4gIG1hcmdpbi1sZWZ0OiA2cHg7XG59XG4udy13aWRnZXQtdHdpdHRlci1jb3VudC1zaGltOm5vdCgudy0tdmVydGljYWwpOmJlZm9yZSxcbi53LXdpZGdldC10d2l0dGVyLWNvdW50LXNoaW06bm90KC53LS12ZXJ0aWNhbCk6YWZ0ZXIge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgY29udGVudDogXCIgXCI7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4udy13aWRnZXQtdHdpdHRlci1jb3VudC1zaGltOm5vdCgudy0tdmVydGljYWwpOmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgxMTcsIDEzNCwgMTUwLCAwKTtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjNWQ2YzdiO1xuICBib3JkZXItd2lkdGg6IDRweDtcbiAgbWFyZ2luLWxlZnQ6IC05cHg7XG4gIG1hcmdpbi10b3A6IC00cHg7XG59XG4udy13aWRnZXQtdHdpdHRlci1jb3VudC1zaGltOm5vdCgudy0tdmVydGljYWwpLnctLWxhcmdlOmJlZm9yZSB7XG4gIGJvcmRlci13aWR0aDogNXB4O1xuICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gIG1hcmdpbi10b3A6IC01cHg7XG59XG4udy13aWRnZXQtdHdpdHRlci1jb3VudC1zaGltOm5vdCgudy0tdmVydGljYWwpOmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItd2lkdGg6IDRweDtcbiAgbWFyZ2luLWxlZnQ6IC04cHg7XG4gIG1hcmdpbi10b3A6IC00cHg7XG59XG4udy13aWRnZXQtdHdpdHRlci1jb3VudC1zaGltOm5vdCgudy0tdmVydGljYWwpLnctLWxhcmdlOmFmdGVyIHtcbiAgYm9yZGVyLXdpZHRoOiA1cHg7XG4gIG1hcmdpbi1sZWZ0OiAtOXB4O1xuICBtYXJnaW4tdG9wOiAtNXB4O1xufVxuLnctd2lkZ2V0LXR3aXR0ZXItY291bnQtc2hpbS53LS12ZXJ0aWNhbCB7XG4gIHdpZHRoOiA2MXB4O1xuICBoZWlnaHQ6IDMzcHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cbi53LXdpZGdldC10d2l0dGVyLWNvdW50LXNoaW0udy0tdmVydGljYWw6YmVmb3JlLFxuLnctd2lkZ2V0LXR3aXR0ZXItY291bnQtc2hpbS53LS12ZXJ0aWNhbDphZnRlciB7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogNTAlO1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjb250ZW50OiBcIiBcIjtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi53LXdpZGdldC10d2l0dGVyLWNvdW50LXNoaW0udy0tdmVydGljYWw6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDExNywgMTM0LCAxNTAsIDApO1xuICBib3JkZXItdG9wLWNvbG9yOiAjNWQ2YzdiO1xuICBib3JkZXItd2lkdGg6IDVweDtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG59XG4udy13aWRnZXQtdHdpdHRlci1jb3VudC1zaGltLnctLXZlcnRpY2FsOmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICBib3JkZXItdG9wLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXdpZHRoOiA0cHg7XG4gIG1hcmdpbi1sZWZ0OiAtNHB4O1xufVxuLnctd2lkZ2V0LXR3aXR0ZXItY291bnQtc2hpbS53LS12ZXJ0aWNhbCAudy13aWRnZXQtdHdpdHRlci1jb3VudC1pbm5lciB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG59XG4udy13aWRnZXQtdHdpdHRlci1jb3VudC1zaGltLnctLXZlcnRpY2FsLnctLWxhcmdlIHtcbiAgd2lkdGg6IDc2cHg7XG59XG4udy13aWRnZXQtZ3BsdXMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnctYmFja2dyb3VuZC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiA1MDBweDtcbiAgY29sb3I6IHdoaXRlO1xufVxuLnctYmFja2dyb3VuZC12aWRlbyA+IHZpZGVvIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTEwMCU7XG4gIGJvdHRvbTogLTEwMCU7XG4gIHRvcDogLTEwMCU7XG4gIGxlZnQ6IC0xMDAlO1xuICBtYXJnaW46IGF1dG87XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgei1pbmRleDogLTEwMDtcbn1cbi53LWJhY2tncm91bmQtdmlkZW8gPiB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1zdGFydC1wbGF5YmFjay1idXR0b24ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbi53LXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAzMDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjZGRkZGRkO1xuICBjbGVhcjogYm90aDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB0YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnctc2xpZGVyLW1hc2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnctc2xpZGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi53LXNsaWRlci1uYXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi53LXNsaWRlci1uYXYudy1yb3VuZCA+IGRpdiB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG4udy1zbGlkZXItbmF2LnctbnVtID4gZGl2IHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogMC4yZW0gMC41ZW07XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG4udy1zbGlkZXItbmF2Lnctc2hhZG93ID4gZGl2IHtcbiAgYm94LXNoYWRvdzogMCAwIDNweCByZ2JhKDUxLCA1MSwgNTEsIDAuNCk7XG59XG4udy1zbGlkZXItbmF2LWludmVydCB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnctc2xpZGVyLW5hdi1pbnZlcnQgPiBkaXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNCwgMzQsIDAuNCk7XG59XG4udy1zbGlkZXItbmF2LWludmVydCA+IGRpdi53LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG59XG4udy1zbGlkZXItZG90IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luOiAwIDNweCAwLjVlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMDBtcywgY29sb3IgMTAwbXM7XG59XG4udy1zbGlkZXItZG90LnctYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbi53LXNsaWRlci1hcnJvdy1sZWZ0LFxuLnctc2xpZGVyLWFycm93LXJpZ2h0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogODBweDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IGF1dG87XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDQwcHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi53LXNsaWRlci1hcnJvdy1sZWZ0IFtjbGFzc149XCJ3LWljb24tXCJdLFxuLnctc2xpZGVyLWFycm93LXJpZ2h0IFtjbGFzc149XCJ3LWljb24tXCJdLFxuLnctc2xpZGVyLWFycm93LWxlZnQgW2NsYXNzKj1cIiB3LWljb24tXCJdLFxuLnctc2xpZGVyLWFycm93LXJpZ2h0IFtjbGFzcyo9XCIgdy1pY29uLVwiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi53LXNsaWRlci1hcnJvdy1sZWZ0IHtcbiAgei1pbmRleDogMztcbiAgcmlnaHQ6IGF1dG87XG59XG4udy1zbGlkZXItYXJyb3ctcmlnaHQge1xuICB6LWluZGV4OiA0O1xuICBsZWZ0OiBhdXRvO1xufVxuLnctaWNvbi1zbGlkZXItbGVmdCxcbi53LWljb24tc2xpZGVyLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IGF1dG87XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xufVxuLnctZHJvcGRvd24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgei1pbmRleDogOTAwO1xufVxuLnctZHJvcGRvd24tYnRuLFxuLnctZHJvcGRvd24tdG9nZ2xlLFxuLnctZHJvcGRvd24tbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzIyMjIyMjtcbiAgcGFkZGluZzogMjBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi53LWRyb3Bkb3duLXRvZ2dsZSB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xufVxuLnctaWNvbi1kcm9wZG93bi10b2dnbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xufVxuLnctZHJvcGRvd24tbGlzdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogI2RkZGRkZDtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAxMDAlO1xufVxuLnctZHJvcGRvd24tbGlzdC53LS1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udy1kcm9wZG93bi1saW5rIHtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICMyMjIyMjI7XG59XG4udy1kcm9wZG93bi1saW5rLnctLWN1cnJlbnQge1xuICBjb2xvcjogIzAwODJmMztcbn1cbi53LW5hdltkYXRhLWNvbGxhcHNlPVwiYWxsXCJdIC53LWRyb3Bkb3duLFxuLnctbmF2W2RhdGEtY29sbGFwc2U9XCJhbGxcIl0gLnctZHJvcGRvd24tdG9nZ2xlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udy1uYXZbZGF0YS1jb2xsYXBzZT1cImFsbFwiXSAudy1kcm9wZG93bi1saXN0IHtcbiAgcG9zaXRpb246IHN0YXRpYztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC53LW5hdltkYXRhLWNvbGxhcHNlPVwibWVkaXVtXCJdIC53LWRyb3Bkb3duLFxuICAudy1uYXZbZGF0YS1jb2xsYXBzZT1cIm1lZGl1bVwiXSAudy1kcm9wZG93bi10b2dnbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC53LW5hdltkYXRhLWNvbGxhcHNlPVwibWVkaXVtXCJdIC53LWRyb3Bkb3duLWxpc3Qge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC53LW5hdltkYXRhLWNvbGxhcHNlPVwic21hbGxcIl0gLnctZHJvcGRvd24sXG4gIC53LW5hdltkYXRhLWNvbGxhcHNlPVwic21hbGxcIl0gLnctZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAudy1uYXZbZGF0YS1jb2xsYXBzZT1cInNtYWxsXCJdIC53LWRyb3Bkb3duLWxpc3Qge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cbiAgLnctbmF2LWJyYW5kIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gIC53LW5hdltkYXRhLWNvbGxhcHNlPVwidGlueVwiXSAudy1kcm9wZG93bixcbiAgLnctbmF2W2RhdGEtY29sbGFwc2U9XCJ0aW55XCJdIC53LWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnctbmF2W2RhdGEtY29sbGFwc2U9XCJ0aW55XCJdIC53LWRyb3Bkb3duLWxpc3Qge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cbn1cbi8qKlxuICogIyMgTm90ZVxuICogU2FmYXJpIChvbiBib3RoIGlPUyBhbmQgT1MgWCkgZG9lcyBub3QgaGFuZGxlIHZpZXdwb3J0IHVuaXRzICh2aCwgdncpIHdlbGwuXG4gKiBGb3IgZXhhbXBsZSBwZXJjZW50YWdlIHVuaXRzIGRvIG5vdCB3b3JrIG9uIGRlc2NlbmRhbnRzIG9mIGVsZW1lbnRzIHRoYXRcbiAqIGhhdmUgYW55IGRpbWVuc2lvbnMgZXhwcmVzc2VkIGluIHZpZXdwb3J0IHVuaXRzLiBJdCBhbHNvIGRvZXNu4oCZdCBoYW5kbGUgdGhlbSBhdFxuICogYWxsIGluIGBjYWxjKClgLlxuICovXG4vKipcbiAqIFdyYXBwZXIgYXJvdW5kIGFsbCBsaWdodGJveCBlbGVtZW50c1xuICpcbiAqIDEuIFNpbmNlIHRoZSBsaWdodGJveCBjYW4gcmVjZWl2ZSBmb2N1cywgSUUgYWxzbyBnaXZlcyBpdCBhbiBvdXRsaW5lLlxuICogMi4gRml4ZXMgZmxpY2tlcmluZyBvbiBDaHJvbWUgd2hlbiBhIHRyYW5zaXRpb24gaXMgaW4gcHJvZ3Jlc3NcbiAqICAgIHVuZGVybmVhdGggdGhlIGxpZ2h0Ym94LlxuICovXG4udy1saWdodGJveC1iYWNrZHJvcCB7XG4gIGNvbG9yOiAjMDAwO1xuICBjdXJzb3I6IGF1dG87XG4gIGZvbnQtZmFtaWx5OiBzZXJpZjtcbiAgZm9udC1zaXplOiBtZWRpdW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGxpc3Qtc3R5bGU6IGRpc2M7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWluZGVudDogMDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFVidW50dSwgXCJTZWdvZSBVSVwiLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE3cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICB6LWluZGV4OiAyMDAwO1xuICBvdXRsaW5lOiAwO1xuICAvKiAxICovXG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgLyogMiAqL1xufVxuLyoqXG4gKiBOZWF0IHRyaWNrIHRvIGJpbmQgdGhlIHJ1YmJlcmJhbmQgZWZmZWN0IHRvIG91ciBjYW52YXMgaW5zdGVhZCBvZiB0aGUgd2hvbGVcbiAqIGRvY3VtZW50IG9uIGlPUy4gSXQgYWxzbyBwcmV2ZW50cyBhIGJ1ZyB0aGF0IGNhdXNlcyB0aGUgZG9jdW1lbnQgdW5kZXJuZWF0aCB0byBzY3JvbGwuXG4gKi9cbi53LWxpZ2h0Ym94LWJhY2tkcm9wLFxuLnctbGlnaHRib3gtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuLnctbGlnaHRib3gtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi53LWxpZ2h0Ym94LXZpZXcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgb3BhY2l0eTogMDtcbn1cbi53LWxpZ2h0Ym94LXZpZXc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAxMDB2aDtcbn1cbi8qIC53LWxpZ2h0Ym94LWNvbnRlbnQgKi9cbi53LWxpZ2h0Ym94LWdyb3VwLFxuLnctbGlnaHRib3gtZ3JvdXAgLnctbGlnaHRib3gtdmlldyxcbi53LWxpZ2h0Ym94LWdyb3VwIC53LWxpZ2h0Ym94LXZpZXc6YmVmb3JlIHtcbiAgaGVpZ2h0OiA4NnZoO1xufVxuLnctbGlnaHRib3gtZnJhbWUsXG4udy1saWdodGJveC12aWV3OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi8qXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gc2V0IGJ5IHVzZXItYWdlbnQgb24gdGhlIDxmaWd1cmU+IGVsZW1lbnQuXG4gKi9cbi53LWxpZ2h0Ym94LWZpZ3VyZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICAvKiAxICovXG59XG4udy1saWdodGJveC1ncm91cCAudy1saWdodGJveC1maWd1cmUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4vKipcbiAqIElFIGFkZHMgaW1hZ2UgZGltZW5zaW9ucyBhcyB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZXMgb24gdGhlIElNRyB0YWcsXG4gKiBidXQgd2UgbmVlZCBib3RoIHdpZHRoIGFuZCBoZWlnaHQgdG8gYmUgc2V0IHRvIGF1dG8gdG8gZW5hYmxlIHNjYWxpbmcuXG4gKi9cbi53LWxpZ2h0Ym94LWltZyB7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogbm9uZTtcbn1cbi8qKlxuICogMS4gUmVzZXQgaWYgc3R5bGUgaXMgc2V0IGJ5IHVzZXIgb24gXCJBbGwgSW1hZ2VzXCJcbiAqL1xuLnctbGlnaHRib3gtaW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDB2dztcbiAgbWF4LWhlaWdodDogMTAwdmg7XG59XG4udy1saWdodGJveC1ncm91cCAudy1saWdodGJveC1pbWFnZSB7XG4gIG1heC1oZWlnaHQ6IDg2dmg7XG59XG4udy1saWdodGJveC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAuNWVtIDFlbTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi53LWxpZ2h0Ym94LWVtYmVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4udy1saWdodGJveC1jb250cm9sIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiA0ZW07XG4gIGJhY2tncm91bmQtc2l6ZTogMjRweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgdHJhbnNpdGlvbjogYWxsIC4zcztcbn1cbi53LWxpZ2h0Ym94LWxlZnQge1xuICBkaXNwbGF5OiBub25lO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIC8qIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCItMjAgMCAyNCA0MFwiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCI0MFwiPjxnIHRyYW5zZm9ybT1cInJvdGF0ZSg0NSlcIj48cGF0aCBkPVwibTAgMGg1djIzaDIzdjVoLTI4elwiIG9wYWNpdHk9XCIuNFwiLz48cGF0aCBkPVwibTEgMWgzdjIzaDIzdjNoLTI2elwiIGZpbGw9XCIjZmZmXCIvPjwvZz48L3N2Zz4gKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWkweU1DQXdJREkwSURRd0lpQjNhV1IwYUQwaU1qUWlJR2hsYVdkb2REMGlOREFpUGp4bklIUnlZVzV6Wm05eWJUMGljbTkwWVhSbEtEUTFLU0krUEhCaGRHZ2daRDBpYlRBZ01HZzFkakl6YURJemRqVm9MVEk0ZWlJZ2IzQmhZMmwwZVQwaUxqUWlMejQ4Y0dGMGFDQmtQU0p0TVNBeGFETjJNak5vTWpOMk0yZ3RNalo2SWlCbWFXeHNQU0lqWm1abUlpOCtQQzluUGp3dmMzWm5QZz09XCIpO1xufVxuLnctbGlnaHRib3gtcmlnaHQge1xuICBkaXNwbGF5OiBub25lO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICAvKiA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiLTQgMCAyNCA0MFwiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCI0MFwiPjxnIHRyYW5zZm9ybT1cInJvdGF0ZSg0NSlcIj48cGF0aCBkPVwibTAtMGgyOHYyOGgtNXYtMjNoLTIzelwiIG9wYWNpdHk9XCIuNFwiLz48cGF0aCBkPVwibTEgMWgyNnYyNmgtM3YtMjNoLTIzelwiIGZpbGw9XCIjZmZmXCIvPjwvZz48L3N2Zz4gKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWkwMElEQWdNalFnTkRBaUlIZHBaSFJvUFNJeU5DSWdhR1ZwWjJoMFBTSTBNQ0krUEdjZ2RISmhibk5tYjNKdFBTSnliM1JoZEdVb05EVXBJajQ4Y0dGMGFDQmtQU0p0TUMwd2FESTRkakk0YUMwMWRpMHlNMmd0TWpONklpQnZjR0ZqYVhSNVBTSXVOQ0l2UGp4d1lYUm9JR1E5SW0weElERm9NaloyTWpab0xUTjJMVEl6YUMweU0zb2lJR1pwYkd3OUlpTm1abVlpTHo0OEwyYytQQzl6ZG1jK1wiKTtcbn1cbi8qXG4gKiBXaXRob3V0IHNwZWNpZnlpbmcgdGhlIHdpdGggYW5kIGhlaWdodCBpbnNpZGUgdGhlIFNWRywgYWxsIHZlcnNpb25zIG9mIElFIHJlbmRlciB0aGUgaWNvbiB0b28gc21hbGwuXG4gKiBUaGUgYnVnIGRvZXMgbm90IHNlZW0gdG8gbWFuaWZlc3QgaXRzZWxmIGlmIHRoZSBlbGVtZW50cyBhcmUgdGFsbCBlbm91Z2ggc3VjaCBhcyB0aGUgYWJvdmUgYXJyb3dzLlxuICogKGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTYwOTIxMTQvYmFja2dyb3VuZC1zaXplLWRpZmZlcnMtaW4taW50ZXJuZXQtZXhwbG9yZXIpXG4gKi9cbi53LWxpZ2h0Ym94LWNsb3NlIHtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMi42ZW07XG4gIC8qIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCItNCAwIDE4IDE3XCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE3XCI+PGcgdHJhbnNmb3JtPVwicm90YXRlKDQ1KVwiPjxwYXRoIGQ9XCJtMCAwaDd2LTdoNXY3aDd2NWgtN3Y3aC01di03aC03elwiIG9wYWNpdHk9XCIuNFwiLz48cGF0aCBkPVwibTEgMWg3di03aDN2N2g3djNoLTd2N2gtM3YtN2gtN3pcIiBmaWxsPVwiI2ZmZlwiLz48L2c+PC9zdmc+ICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlpMDBJREFnTVRnZ01UY2lJSGRwWkhSb1BTSXhPQ0lnYUdWcFoyaDBQU0l4TnlJK1BHY2dkSEpoYm5ObWIzSnRQU0p5YjNSaGRHVW9ORFVwSWo0OGNHRjBhQ0JrUFNKdE1DQXdhRGQyTFRkb05YWTNhRGQyTldndE4zWTNhQzAxZGkwM2FDMDNlaUlnYjNCaFkybDBlVDBpTGpRaUx6NDhjR0YwYUNCa1BTSnRNU0F4YURkMkxUZG9NM1kzYURkMk0yZ3ROM1kzYUMwemRpMDNhQzAzZWlJZ1ptbHNiRDBpSTJabVppSXZQand2Wno0OEwzTjJaejQ9XCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDE4cHg7XG59XG4vKipcbiAqIDEuIEFsbCBJRSB2ZXJzaW9ucyBhZGQgZXh0cmEgc3BhY2UgYXQgdGhlIGJvdHRvbSB3aXRob3V0IHRoaXMuXG4gKi9cbi53LWxpZ2h0Ym94LXN0cmlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiAwIDF2aDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xufVxuLypcbiAqIDEuIFdlIHVzZSBjb250ZW50LWJveCB0byBhdm9pZCBoYXZpbmcgdG8gZG8gYHdpZHRoOiBjYWxjKDEwdmggKyAydncpYFxuICogICAgd2hpY2ggZG9lc27igJl0IHdvcmsgaW4gU2FmYXJpIGFueXdheS5cbiAqIDIuIENocm9tZSByZW5kZXJzIGltYWdlcyBwaXhlbGF0ZWQgd2hlbiBzd2l0Y2hpbmcgdG8gR1BVLiBNYWtpbmcgc3VyZVxuICogICAgdGhlIHBhcmVudCBpcyBhbHNvIHJlbmRlcmVkIG9uIHRoZSBHUFUgKGJ5IHNldHRpbmcgdHJhbnNsYXRlM2QgZm9yXG4gKiAgICBleGFtcGxlKSBmaXhlcyB0aGlzIGJlaGF2aW9yLlxuICovXG4udy1saWdodGJveC1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTB2aDtcbiAgcGFkZGluZzogMnZoIDF2aDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC8qIDIgKi9cbn1cbi53LWxpZ2h0Ym94LWFjdGl2ZSB7XG4gIG9wYWNpdHk6IC4zO1xufVxuLnctbGlnaHRib3gtdGh1bWJuYWlsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwdmg7XG4gIGJhY2tncm91bmQ6ICMyMjI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4udy1saWdodGJveC10aHVtYm5haWwtaW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cbi53LWxpZ2h0Ym94LXRodW1ibmFpbCAudy1saWdodGJveC10YWxsIHtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xufVxuLnctbGlnaHRib3gtdGh1bWJuYWlsIC53LWxpZ2h0Ym94LXdpZGUge1xuICBsZWZ0OiA1MCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbn1cbi8qXG4gKiBTcGlubmVyXG4gKlxuICogQWJzb2x1dGUgcGl4ZWwgdmFsdWVzIGFyZSB1c2VkIHRvIGF2b2lkIHJvdW5kaW5nIGVycm9ycyB0aGF0IHdvdWxkIGNhdXNlXG4gKiB0aGUgd2hpdGUgc3Bpbm5pbmcgZWxlbWVudCB0byBiZSBtaXNhbGlnbmVkIHdpdGggdGhlIHRyYWNrLlxuICovXG4udy1saWdodGJveC1zcGlubmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBib3JkZXI6IDVweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgLXdlYmtpdC1hbmltYXRpb246IHNwaW4gLjhzIGluZmluaXRlIGxpbmVhcjtcbiAgYW5pbWF0aW9uOiBzcGluIC44cyBpbmZpbml0ZSBsaW5lYXI7XG59XG4udy1saWdodGJveC1zcGlubmVyOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC00cHg7XG4gIHJpZ2h0OiAtNHB4O1xuICBib3R0b206IC00cHg7XG4gIGxlZnQ6IC00cHg7XG4gIGJvcmRlcjogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG4vKlxuICogVXRpbGl0eSBjbGFzc2VzXG4gKi9cbi53LWxpZ2h0Ym94LWhpZGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnctbGlnaHRib3gtbm9zY3JvbGwge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC53LWxpZ2h0Ym94LWNvbnRlbnQge1xuICAgIGhlaWdodDogOTZ2aDtcbiAgICBtYXJnaW4tdG9wOiAydmg7XG4gIH1cbiAgLnctbGlnaHRib3gtdmlldyxcbiAgLnctbGlnaHRib3gtdmlldzpiZWZvcmUge1xuICAgIGhlaWdodDogOTZ2aDtcbiAgfVxuICAvKiAudy1saWdodGJveC1jb250ZW50ICovXG4gIC53LWxpZ2h0Ym94LWdyb3VwLFxuICAudy1saWdodGJveC1ncm91cCAudy1saWdodGJveC12aWV3LFxuICAudy1saWdodGJveC1ncm91cCAudy1saWdodGJveC12aWV3OmJlZm9yZSB7XG4gICAgaGVpZ2h0OiA4NHZoO1xuICB9XG4gIC53LWxpZ2h0Ym94LWltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDk2dnc7XG4gICAgbWF4LWhlaWdodDogOTZ2aDtcbiAgfVxuICAudy1saWdodGJveC1ncm91cCAudy1saWdodGJveC1pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiA4Mi4zdnc7XG4gICAgbWF4LWhlaWdodDogODR2aDtcbiAgfVxuICAudy1saWdodGJveC1sZWZ0LFxuICAudy1saWdodGJveC1yaWdodCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogLjU7XG4gIH1cbiAgLnctbGlnaHRib3gtY2xvc2Uge1xuICAgIG9wYWNpdHk6IC44O1xuICB9XG4gIC53LWxpZ2h0Ym94LWNvbnRyb2w6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi53LWxpZ2h0Ym94LWluYWN0aXZlLFxuLnctbGlnaHRib3gtaW5hY3RpdmU6aG92ZXIge1xuICBvcGFjaXR5OiAwO1xufVxuLnctcmljaHRleHQ6YmVmb3JlLFxuLnctcmljaHRleHQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG4udy1yaWNodGV4dDphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuLnctcmljaHRleHRbY29udGVudGVkaXRhYmxlPVwidHJ1ZVwiXTpiZWZvcmUsXG4udy1yaWNodGV4dFtjb250ZW50ZWRpdGFibGU9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgd2hpdGUtc3BhY2U6IGluaXRpYWw7XG59XG4udy1yaWNodGV4dCBvbCxcbi53LXJpY2h0ZXh0IHVsIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi53LXJpY2h0ZXh0IC53LXJpY2h0ZXh0LWZpZ3VyZS1zZWxlY3RlZC53LXJpY2h0ZXh0LWZpZ3VyZS10eXBlLXZpZGVvIGRpdjpiZWZvcmUsXG4udy1yaWNodGV4dCAudy1yaWNodGV4dC1maWd1cmUtc2VsZWN0ZWRbZGF0YS1ydC10eXBlPVwidmlkZW9cIl0gZGl2OmJlZm9yZSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCAjMjg5NWY3O1xufVxuLnctcmljaHRleHQgLnctcmljaHRleHQtZmlndXJlLXNlbGVjdGVkLnctcmljaHRleHQtZmlndXJlLXR5cGUtaW1hZ2UgZGl2LFxuLnctcmljaHRleHQgLnctcmljaHRleHQtZmlndXJlLXNlbGVjdGVkW2RhdGEtcnQtdHlwZT1cImltYWdlXCJdIGRpdiB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCAjMjg5NWY3O1xufVxuLnctcmljaHRleHQgZmlndXJlLnctcmljaHRleHQtZmlndXJlLXR5cGUtdmlkZW8gPiBkaXY6YmVmb3JlLFxuLnctcmljaHRleHQgZmlndXJlW2RhdGEtcnQtdHlwZT1cInZpZGVvXCJdID4gZGl2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbn1cbi53LXJpY2h0ZXh0IGZpZ3VyZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiA2MCU7XG59XG4udy1yaWNodGV4dCBmaWd1cmUgPiBkaXY6YmVmb3JlIHtcbiAgY3Vyc29yOiBkZWZhdWx0IWltcG9ydGFudDtcbn1cbi53LXJpY2h0ZXh0IGZpZ3VyZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cbi53LXJpY2h0ZXh0IGZpZ3VyZSBmaWdjYXB0aW9uLnctcmljaHRleHQtZmlnY2FwdGlvbi1wbGFjZWhvbGRlciB7XG4gIG9wYWNpdHk6IDAuNjtcbn1cbi53LXJpY2h0ZXh0IGZpZ3VyZSBkaXYge1xuICAvKiBmaXggaW5jb3JyZWN0bHkgc2l6ZWQgc2VsZWN0aW9uIGJvcmRlciBpbiB0aGUgZGF0YSBtYW5hZ2VyICovXG4gIGZvbnQtc2l6ZTogMHB4O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4udy1yaWNodGV4dCBmaWd1cmUudy1yaWNodGV4dC1maWd1cmUtdHlwZS1pbWFnZSxcbi53LXJpY2h0ZXh0IGZpZ3VyZVtkYXRhLXJ0LXR5cGU9XCJpbWFnZVwiXSB7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuLnctcmljaHRleHQgZmlndXJlLnctcmljaHRleHQtZmlndXJlLXR5cGUtaW1hZ2UgPiBkaXYsXG4udy1yaWNodGV4dCBmaWd1cmVbZGF0YS1ydC10eXBlPVwiaW1hZ2VcIl0gPiBkaXYge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4udy1yaWNodGV4dCBmaWd1cmUudy1yaWNodGV4dC1maWd1cmUtdHlwZS1pbWFnZSA+IGZpZ2NhcHRpb24sXG4udy1yaWNodGV4dCBmaWd1cmVbZGF0YS1ydC10eXBlPVwiaW1hZ2VcIl0gPiBmaWdjYXB0aW9uIHtcbiAgZGlzcGxheTogdGFibGUtY2FwdGlvbjtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG59XG4udy1yaWNodGV4dCBmaWd1cmUudy1yaWNodGV4dC1maWd1cmUtdHlwZS12aWRlbyxcbi53LXJpY2h0ZXh0IGZpZ3VyZVtkYXRhLXJ0LXR5cGU9XCJ2aWRlb1wiXSB7XG4gIHdpZHRoOiA2MCU7XG4gIGhlaWdodDogMDtcbn1cbi53LXJpY2h0ZXh0IGZpZ3VyZS53LXJpY2h0ZXh0LWZpZ3VyZS10eXBlLXZpZGVvIGlmcmFtZSxcbi53LXJpY2h0ZXh0IGZpZ3VyZVtkYXRhLXJ0LXR5cGU9XCJ2aWRlb1wiXSBpZnJhbWUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi53LXJpY2h0ZXh0IGZpZ3VyZS53LXJpY2h0ZXh0LWZpZ3VyZS10eXBlLXZpZGVvID4gZGl2LFxuLnctcmljaHRleHQgZmlndXJlW2RhdGEtcnQtdHlwZT1cInZpZGVvXCJdID4gZGl2IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udy1yaWNodGV4dCBmaWd1cmUudy1yaWNodGV4dC1hbGlnbi1jZW50ZXIge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBjbGVhcjogYm90aDtcbn1cbi53LXJpY2h0ZXh0IGZpZ3VyZS53LXJpY2h0ZXh0LWFsaWduLWNlbnRlci53LXJpY2h0ZXh0LWZpZ3VyZS10eXBlLWltYWdlID4gZGl2LFxuLnctcmljaHRleHQgZmlndXJlLnctcmljaHRleHQtYWxpZ24tY2VudGVyW2RhdGEtcnQtdHlwZT1cImltYWdlXCJdID4gZGl2IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLnctcmljaHRleHQgZmlndXJlLnctcmljaHRleHQtYWxpZ24tbm9ybWFsIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4udy1yaWNodGV4dCBmaWd1cmUudy1yaWNodGV4dC1hbGlnbi1mdWxsd2lkdGgge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNsZWFyOiBib3RoO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbi53LXJpY2h0ZXh0IGZpZ3VyZS53LXJpY2h0ZXh0LWFsaWduLWZ1bGx3aWR0aCA+IGRpdiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogcGFkZGluZy1ib3R0b20gaXMgdXNlZCBmb3IgYXNwZWN0IHJhdGlvcyBpbiB2aWRlbyBmaWd1cmVzXG4gICAgICB3ZSB3YW50IHRoZSBkaXYgdG8gaW5oZXJpdCB0aGF0IHNvIGhvdmVyL3NlbGVjdGlvbiBib3JkZXJzIGluIHRoZSBkZXNpZ25lci1jYW52YXNcbiAgICAgIGZpdCByaWdodCovXG4gIHBhZGRpbmctYm90dG9tOiBpbmhlcml0O1xufVxuLnctcmljaHRleHQgZmlndXJlLnctcmljaHRleHQtYWxpZ24tZnVsbHdpZHRoID4gZmlnY2FwdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnctcmljaHRleHQgZmlndXJlLnctcmljaHRleHQtYWxpZ24tZmxvYXRsZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgY2xlYXI6IG5vbmU7XG59XG4udy1yaWNodGV4dCBmaWd1cmUudy1yaWNodGV4dC1hbGlnbi1mbG9hdHJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tbGVmdDogMTVweDtcbiAgY2xlYXI6IG5vbmU7XG59XG4udy1uYXYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICNkZGRkZGQ7XG4gIHotaW5kZXg6IDEwMDA7XG59XG4udy1uYXY6YmVmb3JlLFxuLnctbmF2OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuLnctbmF2OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG4udy1uYXYtYnJhbmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMzMzMzMzO1xufVxuLnctbmF2LWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzIyMjIyMjtcbiAgcGFkZGluZzogMjBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi53LW5hdi1saW5rLnctLWN1cnJlbnQge1xuICBjb2xvcjogIzAwODJmMztcbn1cbi53LW5hdi1tZW51IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogcmlnaHQ7XG59XG4udy0tbmF2LW1lbnUtb3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZDogI0M4QzhDODtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbn1cbi53LS1uYXYtbGluay1vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi53LW5hdi1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbn1cbi53LW5hdi1vdmVybGF5IC53LS1uYXYtbWVudS1vcGVuIHtcbiAgdG9wOiAwO1xufVxuLnctbmF2W2RhdGEtYW5pbWF0aW9uPVwib3Zlci1sZWZ0XCJdIC53LW5hdi1vdmVybGF5IHtcbiAgd2lkdGg6IGF1dG87XG59XG4udy1uYXZbZGF0YS1hbmltYXRpb249XCJvdmVyLWxlZnRcIl0gLnctbmF2LW92ZXJsYXksXG4udy1uYXZbZGF0YS1hbmltYXRpb249XCJvdmVyLWxlZnRcIl0gLnctLW5hdi1tZW51LW9wZW4ge1xuICByaWdodDogYXV0bztcbiAgei1pbmRleDogMTtcbiAgdG9wOiAwO1xufVxuLnctbmF2W2RhdGEtYW5pbWF0aW9uPVwib3Zlci1yaWdodFwiXSAudy1uYXYtb3ZlcmxheSB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLnctbmF2W2RhdGEtYW5pbWF0aW9uPVwib3Zlci1yaWdodFwiXSAudy1uYXYtb3ZlcmxheSxcbi53LW5hdltkYXRhLWFuaW1hdGlvbj1cIm92ZXItcmlnaHRcIl0gLnctLW5hdi1tZW51LW9wZW4ge1xuICBsZWZ0OiBhdXRvO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDA7XG59XG4udy1uYXYtYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmc6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZGlzcGxheTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4udy1uYXYtYnV0dG9uLnctLW9wZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzhDOEM4O1xuICBjb2xvcjogd2hpdGU7XG59XG4udy1uYXZbZGF0YS1jb2xsYXBzZT1cImFsbFwiXSAudy1uYXYtbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udy1uYXZbZGF0YS1jb2xsYXBzZT1cImFsbFwiXSAudy1uYXYtYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudy1uYXZbZGF0YS1jb2xsYXBzZT1cIm1lZGl1bVwiXSAudy1uYXYtbWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAudy1uYXZbZGF0YS1jb2xsYXBzZT1cIm1lZGl1bVwiXSAudy1uYXYtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnctbmF2W2RhdGEtY29sbGFwc2U9XCJzbWFsbFwiXSAudy1uYXYtbWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAudy1uYXZbZGF0YS1jb2xsYXBzZT1cInNtYWxsXCJdIC53LW5hdi1idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC53LW5hdi1icmFuZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuICAudy1uYXZbZGF0YS1jb2xsYXBzZT1cInRpbnlcIl0gLnctbmF2LW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnctbmF2W2RhdGEtY29sbGFwc2U9XCJ0aW55XCJdIC53LW5hdi1idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4udy10YWJzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnctdGFiczpiZWZvcmUsXG4udy10YWJzOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuLnctdGFiczphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuLnctdGFiLW1lbnUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udy10YWItbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBhZGRpbmc6IDlweCAzMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjMjIyMjIyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkZGRkO1xufVxuLnctdGFiLWxpbmsudy0tY3VycmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDOEM4Qzg7XG59XG4udy10YWItY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4udy10YWItcGFuZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi53LS10YWItYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuICAudy10YWItbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi53LWl4LWVtcHR5Zml4OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbn1cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4udy1keW4tZW1wdHkge1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkZGRkO1xufVxuLnctZHluLWJpbmQtZW1wdHkge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4udy1jb25kaXRpb24taW52aXNpYmxlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuYm9keS5mYW5jeWJveC1hY3RpdmUge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmJvZHkuZmFuY3lib3gtaW9zZml4IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDsgfVxuXG4uZmFuY3lib3gtaXMtaGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIGxlZnQ6IC05OTk5cHg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTkyO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7IH1cblxuLmZhbmN5Ym94LW91dGVyLFxuLmZhbmN5Ym94LWlubmVyLFxuLmZhbmN5Ym94LWJnLFxuLmZhbmN5Ym94LXN0YWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7IH1cblxuLmZhbmN5Ym94LW91dGVyIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi5mYW5jeWJveC1iZyB7XG4gIGJhY2tncm91bmQ6ICMxZTFlMWU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IGluaGVyaXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NCwgMC43MSk7IH1cblxuLmZhbmN5Ym94LWlzLW9wZW4gLmZhbmN5Ym94LWJnIHtcbiAgb3BhY2l0eTogMC44NztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTsgfVxuXG4uZmFuY3lib3gtaW5mb2Jhcixcbi5mYW5jeWJveC10b29sYmFyLFxuLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIHotaW5kZXg6IDk5OTk3O1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjI1cztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uZmFuY3lib3gtc2hvdy1pbmZvYmFyIC5mYW5jeWJveC1pbmZvYmFyLFxuLmZhbmN5Ym94LXNob3ctdG9vbGJhciAuZmFuY3lib3gtdG9vbGJhcixcbi5mYW5jeWJveC1zaG93LWNhcHRpb24gLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cywgdmlzaWJpbGl0eSAwczsgfVxuXG4uZmFuY3lib3gtaW5mb2JhciB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIGhlaWdodDogNDRweDtcbiAgbWluLXdpZHRoOiA0NHB4O1xuICBsaW5lLWhlaWdodDogNDRweDtcbiAgY29sb3I6ICNjY2M7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7XG4gIG1peC1ibGVuZC1tb2RlOiBleGNsdXNpb247IH1cblxuLmZhbmN5Ym94LXRvb2xiYXIge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmZhbmN5Ym94LXN0YWdlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIHotaW5kZXg6IDk5OTk0O1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLmZhbmN5Ym94LWlzLWNsb3NpbmcgLmZhbmN5Ym94LXN0YWdlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLmZhbmN5Ym94LXNsaWRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG91dGxpbmU6IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogOTk5OTQ7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgZGlzcGxheTogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgLXdlYmtpdC10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5LCAtd2Via2l0LXRyYW5zZm9ybTsgfVxuXG4uZmFuY3lib3gtc2xpZGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDA7IH1cblxuLmZhbmN5Ym94LWlzLXNsaWRpbmcgLmZhbmN5Ym94LXNsaWRlLFxuLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyxcbi5mYW5jeWJveC1zbGlkZS0tY3VycmVudCxcbi5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0taW1hZ2Uge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWNvbnRlbnQsXG4uZmFuY3lib3gtc2xpZGUtLXZpZGVvIGlmcmFtZSB7XG4gIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1tYXAgLmZhbmN5Ym94LWNvbnRlbnQsXG4uZmFuY3lib3gtc2xpZGUtLW1hcCBpZnJhbWUge1xuICBiYWNrZ3JvdW5kOiAjRTVFM0RGOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIHotaW5kZXg6IDk5OTk1OyB9XG5cbi5mYW5jeWJveC1zbGlkZSA+ICoge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMjRweDtcbiAgbWFyZ2luOiA0NHB4IDAgNDRweDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBvdmVyZmxvdzogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uZmFuY3lib3gtc2xpZGUgPiB0aXRsZSxcbi5mYW5jeWJveC1zbGlkZSA+IHN0eWxlLFxuLmZhbmN5Ym94LXNsaWRlID4gbWV0YSxcbi5mYW5jeWJveC1zbGlkZSA+IGxpbmssXG4uZmFuY3lib3gtc2xpZGUgPiBzY3JpcHQsXG4uZmFuY3lib3gtc2xpZGUgPiBiYXNlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmFuY3lib3gtc2xpZGUgLmZhbmN5Ym94LWltYWdlLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIHotaW5kZXg6IDk5OTk1O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIC13ZWJraXQtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eSwgLXdlYmtpdC10cmFuc2Zvcm07IH1cblxuLmZhbmN5Ym94LWNhbi16b29tT3V0IC5mYW5jeWJveC1pbWFnZS13cmFwIHtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICBjdXJzb3I6IHpvb20tb3V0OyB9XG5cbi5mYW5jeWJveC1jYW4tem9vbUluIC5mYW5jeWJveC1pbWFnZS13cmFwIHtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogem9vbS1pbjsgfVxuXG4uZmFuY3lib3gtY2FuLWRyYWcgLmZhbmN5Ym94LWltYWdlLXdyYXAge1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgY3Vyc29yOiBncmFiOyB9XG5cbi5mYW5jeWJveC1pcy1kcmFnZ2luZyAuZmFuY3lib3gtaW1hZ2Utd3JhcCB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcbiAgY3Vyc29yOiBncmFiYmluZzsgfVxuXG4uZmFuY3lib3gtaW1hZ2UsXG4uZmFuY3lib3gtc3BhY2ViYWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLmZhbmN5Ym94LXNwYWNlYmFsbCB7XG4gIHotaW5kZXg6IDE7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNvbnRlbnQge1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogODAlO1xuICBoZWlnaHQ6IDgwJTtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxMDBweCk7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDg4cHgpO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4uZmFuY3lib3gtaWZyYW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbi5mYW5jeWJveC1lcnJvciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogNDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMzgwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uZmFuY3lib3gtZXJyb3IgcCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICM0NDQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cblxuLyogQnV0dG9ucyAqL1xuLmZhbmN5Ym94LWJ1dHRvbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzAsIDMwLCAzMCwgMC42KTtcbiAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLFxuLmZhbmN5Ym94LWJ1dHRvbjp2aXNpdGVkLFxuLmZhbmN5Ym94LWJ1dHRvbjpsaW5rIHtcbiAgY29sb3I6ICNjY2M7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbjpmb2N1cyxcbi5mYW5jeWJveC1idXR0b246aG92ZXIge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uZmFuY3lib3gtYnV0dG9uW2Rpc2FibGVkXSB7XG4gIGNvbG9yOiAjY2NjO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG9wYWNpdHk6IDAuNjsgfVxuXG4uZmFuY3lib3gtYnV0dG9uIHN2ZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBzaGFwZS1yZW5kZXJpbmc6IGdlb21ldHJpY1ByZWNpc2lvbjsgfVxuXG4uZmFuY3lib3gtYnV0dG9uIHN2ZyBwYXRoIHtcbiAgZmlsbDogY3VycmVudENvbG9yO1xuICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcbiAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDtcbiAgc3Ryb2tlLXdpZHRoOiAzOyB9XG5cbi5mYW5jeWJveC1idXR0b24tLXNoYXJlIHN2ZyBwYXRoIHtcbiAgc3Ryb2tlLXdpZHRoOiAxOyB9XG5cbi5mYW5jeWJveC1idXR0b24tLXBsYXkgc3ZnIHBhdGg6bnRoLWNoaWxkKDIpIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1wYXVzZSBzdmcgcGF0aDpudGgtY2hpbGQoMSkge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mYW5jeWJveC1idXR0b24tLXpvb20gc3ZnIHBhdGgge1xuICBmaWxsOiB0cmFuc3BhcmVudDsgfVxuXG4vKiBOYXZpZ2F0aW9uIGFycm93cyAqL1xuLmZhbmN5Ym94LW5hdmlnYXRpb24ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mYW5jeWJveC1zaG93LW5hdiAuZmFuY3lib3gtbmF2aWdhdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mYW5jeWJveC1uYXZpZ2F0aW9uIGJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbjogLTUwcHggMCAwIDA7XG4gIHotaW5kZXg6IDk5OTk3O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDYwcHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIHBhZGRpbmc6IDE3cHg7IH1cblxuLmZhbmN5Ym94LW5hdmlnYXRpb24gYnV0dG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzMHB4O1xuICByaWdodDogMTBweDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYmFja2dyb3VuZDogcmdiYSgzMCwgMzAsIDMwLCAwLjYpOyB9XG5cbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24tLWFycm93X2xlZnQge1xuICBsZWZ0OiAwOyB9XG5cbi5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24tLWFycm93X3JpZ2h0IHtcbiAgcmlnaHQ6IDA7IH1cblxuLyogQ2xvc2UgYnV0dG9uIG9uIHRoZSB0b3AgcmlnaHQgY29ybmVyIG9mIGh0bWwgY29udGVudCAqL1xuLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHotaW5kZXg6IDEwO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmFmdGVyIHtcbiAgY29udGVudDogJ8OXJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDVweDtcbiAgcmlnaHQ6IDVweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgZm9udDogMjBweC8zMHB4IEFyaWFsLFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2Esc2Fucy1zZXJpZjtcbiAgY29sb3I6ICM4ODg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4yNXM7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHotaW5kZXg6IDI7IH1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uZmFuY3lib3gtY2xvc2Utc21hbGw6Zm9jdXM6YWZ0ZXIge1xuICBvdXRsaW5lOiAxcHggZG90dGVkICM4ODg7IH1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyOmFmdGVyIHtcbiAgY29sb3I6ICM1NTU7XG4gIGJhY2tncm91bmQ6ICNlZWU7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSAuZmFuY3lib3gtY2xvc2Utc21hbGwsXG4uZmFuY3lib3gtc2xpZGUtLWlmcmFtZSAuZmFuY3lib3gtY2xvc2Utc21hbGwge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAtNDRweDsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlIC5mYW5jeWJveC1jbG9zZS1zbWFsbDphZnRlcixcbi5mYW5jeWJveC1zbGlkZS0taWZyYW1lIC5mYW5jeWJveC1jbG9zZS1zbWFsbDphZnRlciB7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgY29sb3I6ICNhYWE7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSAuZmFuY3lib3gtY2xvc2Utc21hbGw6aG92ZXI6YWZ0ZXIsXG4uZmFuY3lib3gtc2xpZGUtLWlmcmFtZSAuZmFuY3lib3gtY2xvc2Utc21hbGw6aG92ZXI6YWZ0ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLmZhbmN5Ym94LWlzLXNjYWxpbmcgLmZhbmN5Ym94LWNsb3NlLXNtYWxsLFxuLmZhbmN5Ym94LWlzLXpvb21hYmxlLmZhbmN5Ym94LWNhbi1kcmFnIC5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogQ2FwdGlvbiAqL1xuLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDYwcHggMnZ3IDAgMnZ3O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCAwJSwgcmdiYSgwLCAwLCAwLCAwLjEpIDIwJSwgcmdiYSgwLCAwLCAwLCAwLjIpIDQwJSwgcmdiYSgwLCAwLCAwLCAwLjYpIDgwJSwgcmdiYSgwLCAwLCAwLCAwLjgpIDEwMCUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbiB7XG4gIHBhZGRpbmc6IDMwcHggMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsgfVxuXG4uZmFuY3lib3gtY2FwdGlvbiBhLFxuLmZhbmN5Ym94LWNhcHRpb24gYnV0dG9uLFxuLmZhbmN5Ym94LWNhcHRpb24gc2VsZWN0IHtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiBGaXggSUUxMSAqLyB9XG5cbi5mYW5jeWJveC1jYXB0aW9uIGEge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogTG9hZGluZyBpbmRpY2F0b3IgKi9cbi5mYW5jeWJveC1zbGlkZSA+IC5mYW5jeWJveC1sb2FkaW5nIHtcbiAgYm9yZGVyOiA2cHggc29saWQgcmdiYSgxMDAsIDEwMCwgMTAwLCAwLjQpO1xuICBib3JkZXItdG9wOiA2cHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHdpZHRoOiA1MHB4O1xuICAtd2Via2l0LWFuaW1hdGlvbjogZmFuY3lib3gtcm90YXRlIC44cyBpbmZpbml0ZSBsaW5lYXI7XG4gIGFuaW1hdGlvbjogZmFuY3lib3gtcm90YXRlIC44cyBpbmZpbml0ZSBsaW5lYXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6IC0zMHB4O1xuICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gIHotaW5kZXg6IDk5OTk5OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYW5jeWJveC1yb3RhdGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFuY3lib3gtcm90YXRlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7IH0gfVxuXG4vKiBUcmFuc2l0aW9uIGVmZmVjdHMgKi9cbi5mYW5jeWJveC1hbmltYXRlZCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSk7IH1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogc2xpZGUgKi9cbi5mYW5jeWJveC1meC1zbGlkZS5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uZmFuY3lib3gtZngtc2xpZGUuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmZhbmN5Ym94LWZ4LXNsaWRlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IGZhZGUgKi9cbi5mYW5jeWJveC1meC1mYWRlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyxcbi5mYW5jeWJveC1meC1mYWRlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTsgfVxuXG4uZmFuY3lib3gtZngtZmFkZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogem9vbS1pbi1vdXQgKi9cbi5mYW5jeWJveC1meC16b29tLWluLW91dC5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjUsIDEuNSwgMS41KTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuNSwgMS41LCAxLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5mYW5jeWJveC1meC16b29tLWluLW91dC5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNSwgMC41LCAwLjUpO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMC41LCAwLjUsIDAuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmZhbmN5Ym94LWZ4LXpvb20taW4tb3V0LmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiByb3RhdGUgKi9cbi5mYW5jeWJveC1meC1yb3RhdGUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0zNjBkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uZmFuY3lib3gtZngtcm90YXRlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uZmFuY3lib3gtZngtcm90YXRlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiBjaXJjdWxhciAqL1xuLmZhbmN5Ym94LWZ4LWNpcmN1bGFyLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDAsIDApIHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDAsIDApIHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKSB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDAsIDAsIDApIHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5mYW5jeWJveC1meC1jaXJjdWxhci5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogdHViZSAqL1xuLmZhbmN5Ym94LWZ4LXR1YmUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBzY2FsZSgwLjEpIHNrZXcoLTEwZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2NhbGUoMC4xKSBza2V3KC0xMGRlZyk7IH1cblxuLmZhbmN5Ym94LWZ4LXR1YmUuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2NhbGUoMC4xKSBza2V3KDEwZGVnKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBzY2FsZSgwLjEpIHNrZXcoMTBkZWcpOyB9XG5cbi5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpOyB9XG5cbi8qIFNoYXJlICovXG4uZmFuY3lib3gtc2hhcmUge1xuICBwYWRkaW5nOiAzMHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG4gIG1heC13aWR0aDogOTAlOyB9XG5cbi5mYW5jeWJveC1zaGFyZSBoMSB7XG4gIGNvbG9yOiAjMjIyO1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIGZvbnQtc2l6ZTogMzNweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5mYW5jeWJveC1zaGFyZSBwIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZhbmN5Ym94LXNoYXJlIHA6Zmlyc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1yaWdodDogLTEwcHg7IH1cblxuLmZhbmN5Ym94LXNoYXJlX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBtYXJnaW46IDAgMTBweCAxMHB4IDA7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNik7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG1pbi13aWR0aDogMTQwcHg7XG4gIGNvbG9yOiAjNzA3MDcwO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzOyB9XG5cbi5mYW5jeWJveC1zaGFyZV9idXR0b246Zm9jdXMsXG4uZmFuY3lib3gtc2hhcmVfYnV0dG9uOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzMzMztcbiAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi5mYW5jeWJveC1zaGFyZV9idXR0b24gc3ZnIHtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTsgfVxuXG4uZmFuY3lib3gtc2hhcmUgaW5wdXQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiA1cHggMCAwIDA7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q3ZDdkNztcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICBjb2xvcjogIzVkNWI1YjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIFRodW1icyAqL1xuLmZhbmN5Ym94LXRodW1icyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMjEycHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMnB4IDJweCA0cHggMnB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB6LWluZGV4OiA5OTk5NTsgfVxuXG4uZmFuY3lib3gtdGh1bWJzLXgge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxuLmZhbmN5Ym94LXNob3ctdGh1bWJzIC5mYW5jeWJveC10aHVtYnMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZmFuY3lib3gtc2hvdy10aHVtYnMgLmZhbmN5Ym94LWlubmVyIHtcbiAgcmlnaHQ6IDIxMnB4OyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgZm9udC1zaXplOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5mYW5jeWJveC10aHVtYnMteCA+IHVsIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtdGh1bWJzLXkgPiB1bDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogN3B4OyB9XG5cbi5mYW5jeWJveC10aHVtYnMteSA+IHVsOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi5mYW5jeWJveC10aHVtYnMteSA+IHVsOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQ6ICMyYTJhMmE7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cblxuLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGkge1xuICBmbG9hdDogbGVmdDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAycHg7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiA3NXB4O1xuICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gNHB4KTtcbiAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gOHB4KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxubGkuZmFuY3lib3gtdGh1bWJzLWxvYWRpbmcge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGkgPiBpbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGk6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBib3JkZXI6IDRweCBzb2xpZCAjNGVhN2Y5O1xuICB6LWluZGV4OiA5OTk5MTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpLmZhbmN5Ym94LXRodW1icy1hY3RpdmU6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmZhbmN5Ym94LXRodW1icyB7XG4gICAgd2lkdGg6IDExMHB4OyB9XG4gIC5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtaW5uZXIge1xuICAgIHJpZ2h0OiAxMTBweDsgfVxuICAuZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxMHB4KTsgfSB9XG4iLCIvLyBUSEVNRSBSRVNFVFxuLy8gLS0tLS0tLS0tLS1cbi8vIFBlcnNvbmFsIHJlc2V0cyBpbiBhZGRpdGlvbiB0byBOb3JtYWxpemUuc2NzcyBhbmQgSFRNTDUgQm9pbGVycGxhdGUgdjUuMi4wXG4vLyA9PT09PT09PT09PVxuXG4vLyBVc2UgYm9yZGVyLWJveCBmb3IgZXZlcnl0aGluZ1xuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG4vLyBSZXNldHMgbWFyZ2lucyBhbmQgcGFkZGluZ3MgZm9yIGhlYWRlcnMsIHVsLCBvbCBhbmQgcFxuaDEsIFxuaDIsIFxuaDMsIFxuaDQsIFxuaDUsIFxuaDYsIFxudWwsIFxub2wsXG5kbCxcbmxpLCBcbnAge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8vIFJlbW92ZXMgYWxsIGRlY2ltYWxzIGFuZCBkaXNjcyBmcm9tIGxpXG4vL2xpIHtcbi8vICBsaXN0LXN0eWxlOiBub25lO1xuLy99XG5cbi8vIENvbXBsZXRlbHkgcmVzZXRzIGZvcm0gaXRlbXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFN1cGVyIGhhcmQgcmVzZXQgdGhhdCByZW1vdmVzIGFsbCBib3JkZXJzIFxuLy8gYW5kIHJhZGl1c2VzIG9mIGFsbCBmb3JtIGl0ZW1zLiBcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmlucHV0LFxudGV4dGFyZWEsXG5idXR0b24ge1xuICAvLy1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLy8td2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC8vYXBwZWFyYW5jZTogbm9uZTsgLy9jdXN0b21cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBTZXQgSW1hZ2UgYW5kIE9iamVjdHMgdG8gaGF2ZSBhIG1heC13aWR0aCBvZiAxMDAlXG5lbWJlZCxcbmlmcmFtZSxcbmltZyxcbm9iamVjdCxcbnZpZGVvIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vLyBTZXQgSW1nIGhlaWdodCBhbmQgd2lkdGggdG8gYXV0byBmb3IgSUU4XG5pbWcge1xuICAvLyBJRTggXG4gIGhlaWdodDogYXV0bztcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgLy93aWR0aDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIEhUTUw1IEJvaWxlcnBsYXRlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBBIGJldHRlciBsb29raW5nIGRlZmF1bHQgaG9yaXpvbnRhbCBydWxlXG5ociB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGNvbG9yKG1lZGl1bS1saWdodC1ncmV5LCAkY29sb3JzLWdyZXlzY2FsZSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAxZW0gMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLy8gUmVtb3ZlIHRoZSBnYXAgYmV0d2VlbiBhdWRpbywgY2FudmFzLCBpZnJhbWVzLFxuLy8gaW1hZ2VzLCB2aWRlb3MgYW5kIHRoZSBib3R0b20gb2YgdGhlaXIgY29udGFpbmVyczpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2lzc3Vlcy80NDBcbmF1ZGlvLFxuY2FudmFzLFxuaWZyYW1lLFxuaW1nLFxuc3ZnLFxudmlkZW8ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vLyBSZW1vdmUgZGVmYXVsdCBmaWVsZHNldCBzdHlsZXMuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vLyBBbGxvdyBvbmx5IHZlcnRpY2FsIHJlc2l6aW5nIG9mIHRleHRhcmVhcy5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cbiIsImJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcignYmctaG9tZScpO1xuICBjb2xvcjogY29sb3IoJ3doaXRlJyk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuIiwiQGluY2x1ZGUgZXN0YWJsaXNoLWJhc2VsaW5lO1xuXG4vLyBUeXBvZ3JhcGh5IGJhc2Vcbi8vIC0tLS0tLS0tLS0tLS0tLVxuLy8gU2V0cyB0eXBvZ3JhcGh5IGZvciBhbGwgb2YgZG9jdW1lbnQgXG4vLyA9PT09PT09PT09PT09PT1cblxuYm9keSwgLmMtbW9kYWwsIGlucHV0LCB0ZXh0YXJlYSwgYnV0dG9uIHtcbiAgQGluY2x1ZGUgZmYocHJpbWFyeSk7XG4gIEBpbmNsdWRlIHR5cGUtc2NhbGUoYmFzZSk7XG4gIC8vIE9wdG1pemVzIGZvbnQgcmVuZGVyaW5nIGZvciBsZWdpYmlsaXR5LlxuICAvLyBNYXkgYnJlYWsgd2l0aCBzb21lIGJyb3dzZXJzLCBjb21tZW50IG91dCBhcyBuZWNlc3NhcnkuXG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG5cbi8vIEFkYXB0YXRpb24gb2YgTG9ib3RvbWl6ZWQgT3dscyBTZWxlY3RvciBvbiBwIGVsZW1lbnRzXG4vLyBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9heGlvbWF0aWMtY3NzLWFuZC1sb2JvdG9taXplZC1vd2xzXG5cbi8vIHAgKyBwLFxuLy8gcCArIGZpZ3VyZSxcbi8vIHAgKyBpbWcsXG4vLyBmaWd1cmUgKyBwLFxuLy8gaW1nICsgcCxcbnAgKyAqLFxuKiArIHAge1xuICBAaW5jbHVkZSBtYXJnaW4tbGVhZGVyKC41KTtcbiAgLy9tYXJnaW4tdG9wOiAxcmVtOy8vdnIoMSk7XG59XG5cbi8vIGgxXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnQtaDEge1xuICBAaW5jbHVkZSBmZihib2xkKTtcbiAgQGluY2x1ZGUgdHlwZS1zY2FsZSh0Myk7XG5cbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQob3JpZW50YXRpb24gcG9ydHJhaXQpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQ1KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHR5cGUtc2NhbGUodDYpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1sYW5kc2NhcGUpIHtcbiAgICAgIEBpbmNsdWRlIHR5cGUtc2NhbGUodDcpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQob3JpZW50YXRpb24gbGFuZHNjYXBlKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQ0KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHR5cGUtc2NhbGUodDUpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1sYW5kc2NhcGUpIHtcbiAgICAgIEBpbmNsdWRlIHR5cGUtc2NhbGUodDYpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGNvbXB1dGVyLWxhcmdlKSB7XG4gICAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQ3KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gaDJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4udC1oMiB7XG4gIEBpbmNsdWRlIGZmKGJvbGQpO1xuICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQ1KTtcbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQ2KTtcbiAgfVxuICBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LWxhbmRzY2FwZSkge1xuICAgIEBpbmNsdWRlIHR5cGUtc2NhbGUodDcpO1xuICB9XG4gIFxuICAvL0BpbmNsdWRlIGJyZWFrcG9pbnQoJGNvbXB1dGVyKSB7XG4gIC8vICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQ4KTtcbiAgLy99XG4gIFxuICAvL21hcmdpbi1ib3R0b206IDA7XG4gIC8vbWFyZ2luLXRvcDogNHJlbTtcblxuICAmLmVpbnp1ZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG5cbiAgJi5laW56dWd7XG4gICAgJi5maXJzdCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gICYuZmlyc3Qge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgLy9mb250LXNpemU6IDU0cHg7XG5cbiAgICAmLnNpZWgtYW5fX2hlYWRsaW5lIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDcycHg7XG4gICAgICB3aWR0aDogNzUlO1xuICAgIH1cblxuICAgICYuZWluenVnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjAlO1xuICAgIH1cblxuICAgICYuZWluenVnLmZpcnN0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gIC8vQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LWxhbmRzY2FwZSkge1xuICAgIC8vZm9udC1zaXplOiA4MXB4O1xuICAvL31cbn1cblxuLy8gaDNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4udC1oMyB7XG4gIEBpbmNsdWRlIGZmKGJvbGQpO1xuICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQzKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgQGluY2x1ZGUgdHlwZS1zY2FsZSh0NCk7XG4gIH1cbn1cblxuLy8gaDRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4udC1oNCB7XG4gIC8vY29sb3I6IGNvbG9yKCd3aGl0ZScpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgLXdlYmtpdC1mbGV4OiAwIGF1dG87XG4gIC1tcy1mbGV4OiAwIGF1dG87XG4gIGZsZXg6IDAgYXV0bztcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmbG9hdDogbm9uZTtcbiAgZm9udC1mYW1pbHk6ICdBbWJsZVJlZ3VsYXInLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIG1hcmdpbi10b3A6IDBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUtbGFuZHNjYXBlKSB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICB9XG59XG5cbi8vIHBcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5wIHtcbiAgLy9jb2xvcjogY29sb3IoJ3doaXRlJyk7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS42O1xuXG4gICYuZWluenVnLS1saW5rcyB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1sYW5kc2NhcGUpIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG9yaWVudGF0aW9uIGxhbmRzY2FwZSkge1xuICAgICAgJi5laW56dWctLWxpbmtzIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gbmF2LWxpbmtcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubmF2LWxpbmsge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoNTIsIDEwMywgMjA0LCAuNyksIHJnYmEoNTIsIDEwMywgMjA0LCAuNykpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDUyLCAxMDMsIDIwNCwgLjcpLCByZ2JhKDUyLCAxMDMsIDIwNCwgLjcpKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGNvbG9yKGNvbG9yJ3doaXRlJyk7XG4gIGNvbG9yOiBjb2xvcignd2hpdGUnKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjFweDtcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJi53LS1jdXJyZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihicmFuZC1zZWNvbmRhcnkpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgY29sb3I6IGNvbG9yKCd3aGl0ZScpO1xuICAgIGZvbnQtZmFtaWx5OiAnQW1ibGVCb2xkJywgc2Fucy1zZXJpZjtcbiAgfVxuXG4gICYubGFzdCB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIHBhZGRpbmc6IDE4cHggMTlweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1sYW5kc2NhcGUpIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIH1cbn1cblxuLy8gZGl2ZXJzZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmEge1xuICBjb2xvcjogY29sb3IoJ3doaXRlJyk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ubGluayB7XG4gICYuaW5saW5lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihicmFuZC1zZWNvbmRhcnkpO1xuICAgIGJvcmRlcjogMCBub25lOy8vY29sb3IoJ3doaXRlJyk7Ly9yZ2JhKGNvbG9yKCdibGFjaycpLCAuNSk7XG4gICAgY29sb3I6IGNvbG9yKCd3aGl0ZScpOy8vcmdiYShjb2xvcignYmxhY2snKSwgLjUpO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuICAgIHBhZGRpbmctbGVmdDogNHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcbiAgICAgIC8vQGluY2x1ZGUgYnJlYWtwb2ludChvcmllbnRhdGlvbiBwb3J0cmFpdCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogZG90dGVkO1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IoYnJhbmQtc2Vjb25kYXJ5KTtcbiAgICAgICAgY29sb3I6IGNvbG9yKGJyYW5kLXNlY29uZGFyeSk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgLy99XG4gICAgfVxuICB9XG5cbiAgJi5pbmxpbmUudy0tY3VycmVudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDBweCA0cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbnN0cm9uZyxcbmIge1xuICBAaW5jbHVkZSBmZihib2xkKTtcbn1cblxuZW0sIFxuaSB7XG4gIEBpbmNsdWRlIGZmKGl0YWxpYyk7XG5cbiAgc3Ryb25nLFxuICBiIHtcbiAgICBAaW5jbHVkZSBmZihib2xkLWl0YWxpYyk7XG4gIH1cbn1cblxucHJlIHtcbiAgd2hpdGUtc3BhY2U6IHByZTtcbn1cbiIsIi5sLXNlY3Rpb24ge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTAwMDtcbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQob3JpZW50YXRpb24gbGFuZHNjYXBlKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTB2aDsvLzRyZW07Ly9Iw7ZoZSBuYXZcblxuICAgICYuc3RhcnRlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgfVxuICB9XG4gIFxuICAmLmhvbWUsIFxuICAmLnNpZWgtYW4ge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICB9XG4gIFxuICAmLmZvb3RlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1sYW5kc2NhcGUpIHtcbiAgICAvL21hcmdpbi1ib3R0b206IDYuMjVyZW07Ly9Iw7ZoZSBuYXZcbiAgfVxuICBcbiAgLy9ib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xufVxuXG4uY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gIC13ZWJraXQtZmxleDogMCBhdXRvO1xuICAtbXMtZmxleDogMCBhdXRvO1xuICBmbGV4OiAwIGF1dG87XG4gIG1heC13aWR0aDogODAlO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB6LWluZGV4OiAxMDE7XG59XG4iLCIvLyBNSVhJTlNcbi8vIC0tLS0tLVxuLy8gR2VuZXJhbCBtaXhpbnMgZm9yIHByb2plY3RzXG4vLyA9PT09PT1cblxuLy8gQ2xlYXJmaXhcbi8vIC0tLS0tLS0tXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiAnICc7XG4gIH1cbn1cblxuLy8gRm9udCBTbW9vdGhpbmdcbi8vIC0tLS0tLS0tLS0tLS0tXG4vLyBNaXhpbiB0byB0dXJuIG9uIGZvbnQgc21vb3RoaW5nLCBlc3BlY2lhbGx5IGZvciBsaWdodCB0ZXh0IG9uIGRhcmsgYmFja2dyb3VuZCBmb3IgT1NYXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoJHZhbHVlOiBvbikge1xuICBAaWYgJHZhbHVlID09IG9uIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB9IEBlbHNlIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0bztcbiAgfVxufVxuXG4vLyBoaWRkZW5cbi8vIC0tLS0tLVxuLy8gSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVyczovL1xuQG1peGluIGhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gdmlzdWFsbHloaWRkZW5cbi8vIC0tLS0tLS0tLS0tLS0tXG4vLyBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4vLyBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG5AbWl4aW4gdmlzdWFsbHloaWRkZW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cblxuLy8gdmlzdWFsbHloaWRkZW5Gb2N1c2FibGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBFeHRlbmRzIHRoZSAudmlzdWFsbHloaWRkZW4gY2xhc3MgdG8gYWxsb3cgdGhlIGVsZW1lbnRcbi8vIHRvIGJlIGZvY3VzYWJsZSB3aGVuIG5hdmlnYXRlZCB0byB2aWEgdGhlIGtleWJvYXJkOlxuLy8gaHR0cHM6Ly93d3cuZHJ1cGFsLm9yZy9ub2RlLzg5NzYzOFxuQG1peGluIHZpc3VhbGx5aGlkZGVuLWZvY3VzYWJsZSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBjbGlwOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLyBpbnZpc2libGVcbi8vIC0tLS0tLS0tLVxuLy8gSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVycywgYnV0IG1haW50YWluIGxheW91dFxuQG1peGluIGludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLy8gSW1hZ2UtcmVwbGFjZW1lbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIaWRlcyB0ZXh0IGZvciBpbWFnZSByZXBsYWNlbWVudFxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9jb21taXQvYWEwMzk2ZWFlNzU3XG5AbWl4aW4gaGlkZS10ZXh0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBmb250OiAjezAgLyAwfSBhO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLy8gUGxhY2Vob2xkZXJcbi8vIC0tLS0tLS0tLS0tXG4vLyBDaGFuZ2VzIFBsYWNlaG9sZGVyIHN0eWxlc1xuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6cGxhY2hvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gc2VsZWN0aW9uXG4vLyAtLS0tLS0tLS1cbi8vIFJlbW92ZSB0ZXh0LXNoYWRvdyBpbiBzZWxlY3Rpb24gaGlnaGxpZ2h0OlxuLy8gaHR0cHM6Ly90d2l0dGVyLmNvbS9taWtldGF5bHIvc3RhdHVzLzEyMjI4ODA1MzAxXG4vL1xuLy8gVGhlc2Ugc2VsZWN0aW9uIHJ1bGUgc2V0cyBoYXZlIHRvIGJlIHNlcGFyYXRlLlxuLy8gQ3VzdG9taXplIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIHRvIG1hdGNoIHlvdXIgZGVzaWduLlxuQG1peGluIHNlbGVjdGlvbihcbiAgJGJnLWNvbG9yOiBjb2xvcignc2VsZWN0aW9uJyksIFxuICAkdGV4dC1jb2xvcjogY29sb3IoJ3doaXRlJylcbikge1xuICAmOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICRiZy1jb2xvcjtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuLy8gVHJhbnMtcHJlcFxuLy8gLS0tLS0tLS0tLVxuLy8gUHJlcGFyZXMgZm9yIHRyYW5zZm9ybXMuIEdpdmVzIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbiBcbi8vIHRvIHJlbW92ZSBmbGlja2VyaW5nIGVmZmVjdCBvbiBXZWJraXQgYnJvd3NlcnNcbi8vIC0gaHR0cDovL2Jsb2cudGVhbXRyZWVob3VzZS5jb20vaW5jcmVhc2UteW91ci1zaXRlcy1wZXJmb3JtYW5jZS13aXRoLWhhcmR3YXJlLWFjY2VsZXJhdGVkLWNzc1xuQG1peGluIHRyYW5zLXByZXAge1xuICAvLyBiYWNrZmFjZSB2aXNpYmlsaXR5XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLy8gWi1pbmRleFxuLy8gLS0tLS0tLVxuQG1peGluIHppKCRsb2NhdGlvbikge1xuICB6LWluZGV4OiBtYXAtZ2V0KCR6aW5kZXgsICRsb2NhdGlvbik7XG59XG5cbi8vIEVtYm9zc1xuLy8gLS0tLS0tXG4vLyBodHRwOi8vc2FjaGFncmVpZi5jb20vdXNlZnVsLXNhc3MtbWl4aW5zL1xuLy8gLmJveHtcbi8vICAgQGluY2x1ZGUgYm94LWVtYm9zcygwLjgsIDAuMDUpO1xuLy8gfVxuLy8vXG5AbWl4aW4gYm94LWVtYm9zcygkb3BhY2l0eSwgJG9wYWNpdHkyKSB7XG4gIGJveC1zaGFkb3c6IHdoaXRlKCRvcGFjaXR5KSAwIDFweCAwLCBpbnNldCBibGFjaygkb3BhY2l0eTIpIDAgMXB4IDA7XG59XG4iLCIubmF2LW1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgdG9wOiA3MHB4O1xuICB3aWR0aDogODAlO1xufVxuXG4ubWVudS1sYWJlbCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjEyNXJlbTtcbiAgcGFkZGluZy10b3A6IDAuMjVyZW07XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LWxhbmRzY2FwZSkge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDAuOHJlbTtcbiAgfVxufVxuXG4ubWVudS1idXR0b24tMiB7XG4gIGJvdHRvbTogMHB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDBweDtcbiAgdG9wOiAwcHg7XG59XG5cbi5uYXZiYXItMiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBsZWZ0OiAwcHg7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwcHg7XG4gIHRvcDogMHB4O1xuICB6LWluZGV4OiAxOTk5O1xufVxuXG4ubmF2X19saW5rLXdyYXBwZXIge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdpZHRoOiAyNzBweDtcbn1cblxuLmljb24ge1xuICAvL0BpbmNsdWRlIHR5cGUtc2NhbGUodDIpO1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgLy9jb2xvcjogY29sb3IoJ3doaXRlJyk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LWxhbmRzY2FwZSkge1xuICAgIC8vQGluY2x1ZGUgdHlwZS1zY2FsZSh0Myk7XG4gICAgZm9udC1zaXplOiAzLjM3NXJlbTtcbiAgfVxufVxuIiwiLmJyYW5kIHtcbiAgaGVpZ2h0OiA0cmVtO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogNHJlbTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcbiAgICBoZWlnaHQ6IDYuMjVyZW07XG4gICAgd2lkdGg6IDYuMjVyZW07XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtbGFuZHNjYXBlIChvcmllbnRhdGlvbiBwb3J0cmFpdCkpIHtcbiAgICBoZWlnaHQ6IDcuNzVyZW07XG4gICAgd2lkdGg6IDcuNzVyZW07XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRjb21wdXRlci1sYXJnZSkge1xuICAgIGhlaWdodDogNy43NXJlbTtcbiAgICB3aWR0aDogNy43NXJlbTtcbiAgfVxufVxuXG4udGV4dC1ibG9jayB7XG4gIEBpbmNsdWRlIGZmKCdzZWNvbmRhcnknKTtcbiAgQGluY2x1ZGUgdHlwZS1zY2FsZShiYXNlKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG5cbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBub25lO1xuICBjb2xvcjogY29sb3IoJ3doaXRlJyk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIG1hcmdpbi10b3A6IC44NzVyZW07XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG5cbiAgZW0ge1xuICAgIEBpbmNsdWRlIGZmKCdzZWNvbmRhcnktaXRhbGljJyk7XG4gIH1cbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcbiAgICBAaW5jbHVkZSBhZGp1c3QtZm9udC1zaXplLXRvKDI2cHgsIDEuMTI1KTtcblxuICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gICAgbWFyZ2luLXRvcDogMS4xMjVyZW07XG4gIH1cbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1sYW5kc2NhcGUgKG9yaWVudGF0aW9uIHBvcnRyYWl0KSkge1xuICAgIEBpbmNsdWRlIGFkanVzdC1mb250LXNpemUtdG8oMzZweCwgMS41KTtcbiAgfVxuICAgIFxuICBAaW5jbHVkZSBicmVha3BvaW50KCRjb21wdXRlci1sYXJnZSkge1xuICAgIEBpbmNsdWRlIGFkanVzdC1mb250LXNpemUtdG8oMzZweCwgMS41KTtcblxuICAgIC8vbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgICAvL21hcmdpbi10b3A6IDEuMTI1cmVtO1xuICB9XG59XG4iLCIuYy1zdGFydC1idXR0b24ge1xuICBib3R0b206IDJyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG9yaWVudGF0aW9uIGxhbmRzY2FwZSkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgIGJvdHRvbTogMXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMCU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcbiAgICAgIGJvdHRvbTogMnJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtbGFuZHNjYXBlKSB7XG4gICAgICAvL2JvdHRvbTogMnJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi5jLXN0YXJ0LWJ1dHRvbl9fbGFiZWwge1xuICBAaW5jbHVkZSBmZignYm9sZCcpO1xuICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQxKTtcbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQob3JpZW50YXRpb24gbGFuZHNjYXBlKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIHR5cGUtc2NhbGUodDIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgdHlwZS1zY2FsZSh0Myk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LWxhbmRzY2FwZSkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChvcmllbnRhdGlvbiBwb3J0cmFpdCkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuICAgICAgLy9mbG9hdDogbm9uZTtcbiAgICAgIEBpbmNsdWRlIHR5cGUtc2NhbGUodDIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgdHlwZS1zY2FsZSh0NCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkY29tcHV0ZXItbGFyZ2UpIHtcbiAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQ1KTtcbiAgfVxufVxuXG4uYy1zdGFydC1idXR0b25fX2J1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHtcbiAgICBjb2xvcjogY29sb3IoJ2JyYW5kLXByaW1hcnknKTtcbiAgICBpbWFnZTogdXJsKCcuLi9pbWcvY2FyZXQtZG93bi13aGl0ZS5zdmcnKTtcbiAgICBwb3NpdGlvbjogNTAlIDU2JTtcbiAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBzaXplOiA2MCU7XG4gIH1cbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgY2xlYXI6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDQuMzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA0LjM3NXJlbTtcbiAgei1pbmRleDogOTk5OTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRtb2JpbGUtbGFuZHNjYXBlIChvcmllbnRhdGlvbiBsYW5kc2NhcGUpKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBtYXJnaW4tbGVmdDogLjVyZW07XG4gICAgd2lkdGg6IDJyZW07XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwgKG9yaWVudGF0aW9uIGxhbmRzY2FwZSkpIHtcbiAgICBoZWlnaHQ6IDQuMzc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjI1cmVtO1xuICAgIHdpZHRoOiA0LjM3NXJlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCAob3JpZW50YXRpb24gcG9ydHJhaXQpKSB7XG4gICAgaGVpZ2h0OiA2LjI1cmVtO1xuICAgIHdpZHRoOiA2LjI1cmVtO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LWxhbmRzY2FwZSkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQob3JpZW50YXRpb24gcG9ydHJhaXQpIHtcbiAgICAgIGhlaWdodDogOC43NXJlbTtcbiAgICAgIHdpZHRoOiA4Ljc1cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQob3JpZW50YXRpb24gbGFuZHNjYXBlKSB7XG4gICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICB3aWR0aDogNXJlbTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRjb21wdXRlcikge1xuICAgIGhlaWdodDogNi4yNXJlbTtcbiAgICB3aWR0aDogNi4yNXJlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGNvbXB1dGVyLWxhcmdlKSB7XG4gICAgaGVpZ2h0OiA4Ljc1cmVtO1xuICAgIHdpZHRoOiA4Ljc1cmVtO1xuICB9XG59XG4iLCIvLyBoZXJvLXRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYy1oZXJvLXRleHQge1xuICBAaW5jbHVkZSBmZignc2Vjb25kYXJ5Jyk7XG4gIEBpbmNsdWRlIHR5cGUtc2NhbGUodDcpO1xuXG4gIGJvdHRvbTogMDtcbiAgY29sb3I6IGNvbG9yKCd3aGl0ZScpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGxlZnQ7ICBcbiAgei1pbmRleDogMTAwO1xuICBcbiAgJi5jLWhlcm8tdGV4dC0tc2llaC1hbiB7XG4gICAgY29sb3I6IGhzbGEoMCwgMCUsIDEwMCUsIC4xNSk7XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICAmLmMtaGVyby10ZXh0LS1zdWNoZSB7XG4gICAgY29sb3I6IGhzbGEoMCwgMCUsIDEwMCUsIC4yNSk7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gICYuYy1oZXJvLXRleHQtZmluZGUge1xuICAgIGNvbG9yOiBoc2xhKDAsIDAlLCAxMDAlLCAuMik7XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICAmLmMtaGVyby10ZXh0LS1zdGFydGUge1xuICAgIGNvbG9yOiByZ2JhKGNvbG9yKCdibGFjaycpLCAuMjUpOy8vaHNsYSgwLCAwJSwgMTAwJSwgLjI1KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQob3JpZW50YXRpb24gcG9ydHJhaXQpIHtcbiAgICAmLS1zaWVoLWFuIHtcbiAgICAgIEBpbmNsdWRlIHR5cGUtc2NhbGUodDYpO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgQGluY2x1ZGUgdHlwZS1zY2FsZSh0OSk7XG4gICAgICBcbiAgICAgICYtLXNpZWgtYW4ge1xuICAgICAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQ4KTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQxMCk7XG5cbiAgICAgICYtLXNpZWgtYW4ge1xuICAgICAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQ5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtbGFuZHNjYXBlKSB7XG4gICAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQxMSk7XG5cbiAgICAgICYtLXNpZWgtYW4ge1xuICAgICAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQxMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChvcmllbnRhdGlvbiBsYW5kc2NhcGUpIHtcbiAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQ5KTtcblxuICAgICYtLXNpZWgtYW4ge1xuICAgICAgQGluY2x1ZGUgdHlwZS1zY2FsZSh0OCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQxMCk7XG5cbiAgICAgICYtLXNpZWgtYW4ge1xuICAgICAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQ5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtbGFuZHNjYXBlKSB7XG4gICAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQxMSk7XG5cbiAgICAgICYtLXNpZWgtYW4ge1xuICAgICAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQxMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkY29tcHV0ZXIpIHtcbiAgICAgIEBpbmNsdWRlIHR5cGUtc2NhbGUodDEyKTtcblxuICAgICAgJi0tc2llaC1hbiB7XG4gICAgICAgIEBpbmNsdWRlIHR5cGUtc2NhbGUodDExKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRjb21wdXRlci1sYXJnZSkge1xuICAgICAgJi0tc2llaC1hbiB7XG4gICAgICAgIEBpbmNsdWRlIHR5cGUtc2NhbGUodDEyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5ob21lX19jb250ZW50IHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdG9wOiA0cmVtO1xuICB3aWR0aDogMTAwJTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG9yaWVudGF0aW9uIHBvcnRyYWl0KSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG4gICAgICB0b3A6IDZyZW07XG4gICAgICAvL3RvcDogOS4yNXJlbTtcbiAgICAgIC8vd2lkdGg6IDg0JTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG4gICAgICB0b3A6IDcuNXJlbTtcbiAgICB9XG4gIH1cbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQob3JpZW50YXRpb24gbGFuZHNjYXBlKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG4gICAgICB0b3A6IDZyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkY29tcHV0ZXIpIHtcbiAgICAgIHRvcDogOS4yNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuLmJnLWhvbWUge1xuICBAaW5jbHVkZSBzZWN0aW9uLWtleXZpc3VhbCgnaG9tZScsIC0xLCAnLi4vaW1nL3dtZC1iZy1ob21lLXYzLnBuZycsIHJpZ2h0IGJvdHRvbSk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChvcmllbnRhdGlvbiBwb3J0cmFpdCkge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjA1JTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkwJSBib3R0b207XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuICAgICAgLy9iYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBib3R0b207XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE5MCU7XG4gICAgfVxuXG4gICAgLy9AaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtbGFuZHNjYXBlKSB7XG4gICAgICAvL2JhY2tncm91bmQtc2l6ZTogMTc1JTtcbiAgICAvL31cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGNvbXB1dGVyKSB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQob3JpZW50YXRpb24gbGFuZHNjYXBlKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkY29tcHV0ZXIpIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gc2VjdGlvbi1rZXl2aXN1YWwoXG4gICRuYW1lOiBudWxsLCBcbiAgJHotaW5kZXg6IG51bGwsIFxuICAkYmdJbWc6IG51bGwsIFxuICAkYmdQb3M6IDUwJSA1MCVcbikge1xuICBAaWYgJG5hbWUgIT0gbnVsbCB7XG4gICAgJGNvbG9yOiAnYmctJyArICRuYW1lO1xuICAgIEBpZiBjb2xvcigkY29sb3IpID09IG51bGwge1xuICAgICAgJGNvbG9yOiAnYmctaG9tZSc7XG4gICAgfVxuICAgIC8vQGRlYnVnIGNvbG9yKCRjb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoJGNvbG9yKTtcbiAgfVxuIFxuICBAaWYgJGJnSW1nICE9IG51bGwge1xuICAgIEBpZiAkbmFtZSA9PSAnaG9tZScge1xuICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICBhdHRhY2htZW50OiBmaXhlZDtcbiAgICAgICAgaW1hZ2U6IHVybCgkYmdJbWcpO1xuICAgICAgICBwb3NpdGlvbjogJGJnUG9zO1xuICAgICAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgc2l6ZTogY292ZXI7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcbiAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgIGF0dGFjaG1lbnQ6IGZpeGVkO1xuICAgICAgICAgIGltYWdlOiB1cmwoJGJnSW1nKTtcbiAgICAgICAgICBwb3NpdGlvbjogJGJnUG9zO1xuICAgICAgICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIHNpemU6IGNvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBcbiAgfVxuXG4gIGJvdHRvbTogMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgbGVmdDogMHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwcHg7XG4gIHRvcDogMHB4O1xuICB6LWluZGV4OiAkei1pbmRleDtcbn1cbiIsIi5zaWVoLWFuX19jb250ZW50IHsgIFxuICBAaW5jbHVkZSBicmVha3BvaW50KG9yaWVudGF0aW9uIHBvcnRyYWl0KSB7XG4gICAgcGFkZGluZy10b3A6IDEwJTtcbiAgfVxuICBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChvcmllbnRhdGlvbiBsYW5kc2NhcGUpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1JTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRjb21wdXRlcikge1xuICAgICAgcGFkZGluZy10b3A6IDIuNSU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkY29tcHV0ZXItbGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA3LjUlO1xuICAgIH1cbiAgfVxufVxuXG4uc2llaC1hbl9faGVhZGxpbmUge1xuICBAaW5jbHVkZSBmZignYm9sZCcpO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQob3JpZW50YXRpb24gcG9ydHJhaXQpIHtcbiAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQyKTtcbiAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIHR5cGUtc2NhbGUodDQpO1xuICAgICAgLy9tYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgdHlwZS1zY2FsZSh0NSk7XG4gICAgICAvL21hcmdpbi10b3A6IDRyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LWxhbmRzY2FwZSkge1xuICAgICAgQGluY2x1ZGUgdHlwZS1zY2FsZSh0Nik7XG4gICAgICAvL21hcmdpbi10b3A6IDRyZW07XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChvcmllbnRhdGlvbiBsYW5kc2NhcGUpIHtcbiAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQxKTtcbiAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIHR5cGUtc2NhbGUodDIpO1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICB9XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQzKTtcbiAgICB9XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LWxhbmRzY2FwZSkge1xuICAgICAgQGluY2x1ZGUgdHlwZS1zY2FsZSh0NCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkY29tcHV0ZXIpIHtcbiAgICAgIEBpbmNsdWRlIHR5cGUtc2NhbGUodDUpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGNvbXB1dGVyLWxhcmdlKSB7XG4gICAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQ2KTtcbiAgICB9XG4gIH1cbn1cblxuLnNpZWgtYW5fX2xpbmstYXJlYSB7XG4gIGJhY2tncm91bmQ6IHtcbiAgICBpbWFnZTogdXJsKCcuLi9pbWcvdmlkZW8tdGh1bWJuYWlsX0FuZHJlYS1RdWliZWxkZXkuanBnJyk7XG4gICAgcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgc2l6ZTogY292ZXI7XG4gIH1cbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgXG4gICYuY2hhcmxvdHRlIHtcbiAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICBpbWFnZTogdXJsKCcuLi9pbWcvdmlkZW8tcGxhY2Vob2xkZXJfQXp1YmktQ2hhcmxvdHRlX3YxLmpwZycpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiA5MCU7XG5cbiAgICAmLmNoYXJsb3R0ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cbiAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG9yaWVudGF0aW9uIHBvcnRyYWl0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAzLjVyZW07XG4gICAgfVxuICB9ICBcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG9yaWVudGF0aW9uIGxhbmRzY2FwZSkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuICAgICAgbWFyZ2luLXRvcDogMi41cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgfVxuICB9XG59XG5cbi5saW5rLWFyZWFfX2xhYmVsIHtcbiAgQGluY2x1ZGUgdHlwZS1zY2FsZSh0MSk7XG5cbiAgYmFja2dyb3VuZDoge1xuICAgIGltYWdlOiB1cmwoJy4uL2ltZy95b3V0dWJlLWljb24uc3ZnJyk7XG4gICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcG9zaXRpb246IGNlbnRlciBib3R0b207XG4gIH1cbiAgcGFkZGluZy1ib3R0b206IDRyZW07XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQob3JpZW50YXRpb24gcG9ydHJhaXQpIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuICAgICAgQGluY2x1ZGUgdHlwZS1zY2FsZSh0Mik7XG5cbiAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgcG9zaXRpb246IGxlZnQgdG9wO1xuICAgICAgICBzaXplOiAyMCU7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1JTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHR5cGUtc2NhbGUodDMpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAuNzVyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LWxhbmRzY2FwZSkge1xuICAgICAgQGluY2x1ZGUgdHlwZS1zY2FsZSh0NCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChvcmllbnRhdGlvbiBsYW5kc2NhcGUpIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE1JTtcbiAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcbiAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgcG9zaXRpb246IGxlZnQgdG9wO1xuICAgICAgICBzaXplOiAyMCU7XG4gICAgICB9XG4gICAgICBcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNSU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHR5cGUtc2NhbGUodDIpO1xuXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC41cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgfVxuICAgIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1sYW5kc2NhcGUpIHtcbiAgICAgIEBpbmNsdWRlIHR5cGUtc2NhbGUodDMpO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgfVxuICAgIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGNvbXB1dGVyKSB7XG4gICAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQ0KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIH1cbiAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRjb21wdXRlci1sYXJnZSkge1xuICAgICAgQGluY2x1ZGUgdHlwZS1zY2FsZSh0NCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcbiAgICB9XG4gIH1cbn1cblxuLmJnLXNpZWgtYW4td3JhcHBlciB7XG4gIEBpbmNsdWRlIHNlY3Rpb24ta2V5dmlzdWFsKG51bGwsIDE0KTtcbn1cblxuLmJnLXNpZWgtYW4tZnJvbnQge1xuICBAaW5jbHVkZSBzZWN0aW9uLWtleXZpc3VhbChudWxsLCAzLCAnLi4vaW1nL3dtZC1iZy1zaWVoLWFuLWZyb250LnBuZycsIDEwMCUgMCk7XG5cbiAgJi5iZy1zaWVoLWFuLWZyb250X19jaGFybG90dGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3dtZF9BenViaS1DaGFybG90dGVfZnJvbnRfdjIucG5nJyk7XG4gIH1cbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQob3JpZW50YXRpb24gcG9ydHJhaXQpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcbiAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgaW1hZ2U6IHVybCgnLi4vaW1nL3dtZF9zaWVoLWFuX2Zyb250LWNvbXBsZXRlX3YyLnBuZycpO1xuICAgICAgICBwb3NpdGlvbjogcmlnaHQgYm90dG9tO1xuICAgICAgICAvL3JlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBzaXplOiA0MCU7XG4gICAgICB9XG5cbiAgICAgICYuYmctc2llaC1hbi1mcm9udF9fY2hhcmxvdHRlIHtcbiAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgIGltYWdlOiB1cmwoJy4uL2ltZy93bWRfQXp1YmktQ2hhcmxvdHRlX2Zyb250X3YyLnBuZycpO1xuICAgICAgICAgIHNpemU6IDkwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQob3JpZW50YXRpb24gbGFuZHNjYXBlKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA2MCUgMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgICAgICYuYmctc2llaC1hbi1mcm9udF9fY2hhcmxvdHRlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogODAlIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LWxhbmRzY2FwZSkge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNjAlIDA7XG4gICAgfVxuICB9XG59XG5cbi5iZy1zaWVoLWFuLWJhY2sge1xuICBAaW5jbHVkZSBzZWN0aW9uLWtleXZpc3VhbCgnc2llaC1hbicsIDEzLCBudWxsKTtcbn1cbiAgXG4uYmctc2llaC1hbi1iYWNrX19zbGlkZSB7XG4gIEBpbmNsdWRlIHNlY3Rpb24ta2V5dmlzdWFsKG51bGwsIDEzLCAnLi4vaW1nL3dtZC1iZy1zaWVoLWFuLWJhY2suanBnJywgbGVmdCB0b3ApO1xuICBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG4gICAgLy9iYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIHRvcDtcblxuICAgICYuY2hhcmxvdHRlIHtcbiAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgaW1hZ2U6IHVybCgnLi4vaW1nL3dtZF9BenViaS1DaGFybG90dGVfYmFja192Mi5qcGcnKTtcbiAgICAgICAgcG9zaXRpb246IHJpZ2h0IHRvcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtbGFuZHNjYXBlKSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XG4gIH1cbn1cblxuIiwiLnNsaWRlciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGhlaWdodDogODB2aDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoKG9yaWVudGF0aW9uIGxhbmRzY2FwZSkpIHtcbiAgICBoZWlnaHQ6IDkwdmg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcbiAgICAgIGhlaWdodDogODB2aDtcbiAgICB9XG4gIH1cbn1cblxuLnNsaWRlcl9fbWFzayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvL2NvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnNsaWRlcl9fYXJyb3cge1xuICBiYWNrZ3JvdW5kOiB7XG4gICAgY29sb3I6IGNvbG9yKCdicmFuZC1zZWNvbmRhcnknKTtcbiAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBzaXplOiAzMCU7XG4gIH1cbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYm90dG9tOiBhdXRvO1xuICAvL2NvbG9yOiB3aGl0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDFyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICAvL21hcmdpbjogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMi41cmVtO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB0b3A6IDUwJTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIFxuICAmLmxlZnQge1xuICAgIGJhY2tncm91bmQ6IHtcbiAgICAgIGltYWdlOiB1cmwoJy4uL2ltZy9jYXJldC1sZWZ0LXdoaXRlLnN2ZycpO1xuICAgICAgcG9zaXRpb246IDQ1JSA1MCU7XG4gICAgfVxuICAgIGxlZnQ6IDFyZW07XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgICBcbiAgJi5yaWdodCB7XG4gICAgYmFja2dyb3VuZDoge1xuICAgICAgaW1hZ2U6IHVybCgnLi4vaW1nL2NhcmV0LXJpZ2h0LXdoaXRlLnN2ZycpO1xuICAgICAgcG9zaXRpb246IDU1JSA1MCU7XG4gICAgfVxuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcbiAgICBoZWlnaHQ6IDMuNzVyZW07XG4gICAgd2lkdGg6IDMuNzVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG9yaWVudGF0aW9uIHBvcnRyYWl0KSB7XG4gICAgICB0b3A6IDY0JTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcbiAgICBoZWlnaHQ6IDQuNzVyZW07XG4gICAgd2lkdGg6IDQuNzVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG9yaWVudGF0aW9uIHBvcnRyYWl0KSB7XG4gICAgICB0b3A6IDYwJTtcbiAgICB9XG4gIH1cbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1sYW5kc2NhcGUpIHtcbiAgICBoZWlnaHQ6IDYuNXJlbTtcbiAgICB3aWR0aDogNi41cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChvcmllbnRhdGlvbiBwb3J0cmFpdCkge1xuICAgICAgdG9wOiA1NyU7XG4gICAgfVxuICB9XG59XG4iLCIuc3VjaGVfX2NvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IHJpZ2h0O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1vYmlsZS1sYW5kc2NhcGUpIHtcbiAgICB3aWR0aDogODAlO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsIChvcmllbnRhdGlvbiBwb3J0cmFpdCkpIHtcbiAgICB3aWR0aDogNzAlO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChvcmllbnRhdGlvbiBsYW5kc2NhcGUpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcbiAgICAgIHdpZHRoOiA2OCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgfVxufVxuXG4uc3VjaGVfX2hlYWRsaW5lIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMCU7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtbGFuZHNjYXBlKSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0yMCU7XG4gIH1cbn1cblxuLmJnLXN1Y2hlLXdyYXBwZXIge1xuICBAaW5jbHVkZSBzZWN0aW9uLWtleXZpc3VhbChudWxsLCAxNik7XG59XG5cbi5iZy1zdWNoZS1mcm9udCB7XG4gIEBpbmNsdWRlIHNlY3Rpb24ta2V5dmlzdWFsKG51bGwsIDMsICcuLi9pbWcvd21kLWJnLXN1Y2hlX2Zyb250X3YyLnBuZycsIDE1JSAwKTtcbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgYm90dG9tO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNzUlO1xuICB9XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KCgkdGFibGV0KSAob3JpZW50YXRpb24gbGFuZHNjYXBlKSkge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE1JSAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRjb21wdXRlcikge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgfVxufVxuXG4uYmctc3VjaGUtLWJhY2sge1xuICBAaW5jbHVkZSBzZWN0aW9uLWtleXZpc3VhbCgnc3VjaGUnLCAxNSwgJy4uL2ltZy93bWQtYmctc3VjaGVfYmFja192Mi5qcGcnLCAxNSUgMCk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBib3R0b207XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRjb21wdXRlcikge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgfVxufVxuIiwiLmZpbmRlX19jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgIHdpZHRoOiA4MCU7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwgKG9yaWVudGF0aW9uIHBvcnRyYWl0KSkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG9yaWVudGF0aW9uIGxhbmRzY2FwZSkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA2NSU7XG4gICAgfVxuICB9XG59XG5cbi5iZy1maW5kZS13cmFwcGVyIHtcbiAgQGluY2x1ZGUgc2VjdGlvbi1rZXl2aXN1YWwobnVsbCwgMTgpO1xufVxuXG4uYmctZmluZGUtZnJvbnQge1xuICBAaW5jbHVkZSBzZWN0aW9uLWtleXZpc3VhbChudWxsLCAzLCAnLi4vaW1nL3dtZF9maW5kZV9mcm9udF92My5wbmcnLCA1MCUgMCk7XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBib3R0b207XG4gICAgYmFja2dyb3VuZC1zaXplOiA4NiU7XG4gIH1cbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoKCR0YWJsZXQpIChvcmllbnRhdGlvbiBsYW5kc2NhcGUpKSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNzUlIDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuICBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkY29tcHV0ZXIpIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDA7XG4gIH1cbn1cblxuLmJnLWZpbmRlLWJhY2sge1xuICBAaW5jbHVkZSBzZWN0aW9uLWtleXZpc3VhbCgnZmluZGUnLCAxNywgJy4uL2ltZy93bWRfZmluZGVfYmFja192My5qcGcnLCA1MCUgMCk7XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0MCUgYm90dG9tO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LWxhbmRzY2FwZSkge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDYwJSAwO1xuICB9XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KCRjb21wdXRlcikge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMDtcbiAgfVxufVxuIiwiLnN0YXJ0ZV9fY29udGVudCB7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgIHdpZHRoOiA4MCU7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwgKG9yaWVudGF0aW9uIHBvcnRyYWl0KSkge1xuICAgIHdpZHRoOiA3MCU7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG9yaWVudGF0aW9uIGxhbmRzY2FwZSkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuICAgICAgd2lkdGg6IDY4JTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICB9XG59XG5cbi5iZy1zdGFydC13cmFwcGVyIHtcbiAgQGluY2x1ZGUgc2VjdGlvbi1rZXl2aXN1YWwobnVsbCwgMzApO1xufVxuXG4uYmctc3RhcnRlLWZyb250IHtcbiAgQGluY2x1ZGUgc2VjdGlvbi1rZXl2aXN1YWwobnVsbCwgMywgJy4uL2ltZy93bWRfc3RhcnRlX2Zyb250X3Y1LnBuZycsIDE1JSAwKTtcbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgYm90dG9tO1xuICAgIGJhY2tncm91bmQtc2l6ZTogODUlOy8vNzUlO1xuICB9XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KCgkdGFibGV0KSAob3JpZW50YXRpb24gbGFuZHNjYXBlKSkge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE1JSAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRjb21wdXRlci1sYXJnZSkge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgfVxufVxuXG4uYmctc3RhcnRlLWJhY2sge1xuICBAaW5jbHVkZSBzZWN0aW9uLWtleXZpc3VhbCgnc3RhcnRlJywgMTksICcuLi9pbWcvd21kX3N0YXJ0ZV9iYWNrX3Y1LmpwZycsIDE1JSAwKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRjb21wdXRlcikge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgfVxufVxuIiwiLmZvb3Rlcl9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuIiwiLmZhbmN5Ym94LWNsb3NlLXNtYWxsOjphZnRlciB7XG4gIGNvbG9yOiBjb2xvcignd2hpdGUnKTtcbn1cblxuLmMtbW9kYWwge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDhweCk7XG4gIC8vYmFja2dyb3VuZC1jb2xvcjogY29sb3IobWVkaXVtLWRhcmstZ3JleSwgJGNvbG9ycy1ncmV5c2NhbGUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcignYnJhbmQtcHJpbWFyeScpO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAycmVtO1xuICB3aWR0aDogODAlO1xuXG4gICYuZmluZGUta2FmZmVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcignYnJhbmQtc2Vjb25kYXJ5Jyk7XG4gICAgbWF4LXdpZHRoOiA0OHJlbTtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICB9XG5cbiAgJi5maW5kZS1zb2NpYWwsIFxuICAmLmltcHJpbnQge1xuICAgIG1heC13aWR0aDogNDhyZW07XG4gIH1cblxuICAmLnN1Y2hlLWtlbm5lbmxlcm5lbiB7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChvcmllbnRhdGlvbiBwb3J0cmFpdCkge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LWxhbmRzY2FwZSkge1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQob3JpZW50YXRpb24gbGFuZHNjYXBlKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtbGFuZHNjYXBlKSB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICAmLnN0YXJ0ZS1iZXdlcmJ1bmcge1xuICAgIGhlaWdodDogODB2aDtcbiAgICAvL292ZXJmbG93LXk6IHNjcm9sbDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQob3JpZW50YXRpb24gcG9ydHJhaXQpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQob3JpZW50YXRpb24gbGFuZHNjYXBlKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuc3VjaGUtZnJhZ2UsIFxuICAmLnN1Y2hlLW5ldWdpZXJpZyB7XG4gICAgbWF4LXdpZHRoOiA0OHJlbTtcbiAgICBwYWRkaW5nOiAxcmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG4gICAgICBwYWRkaW5nOiAycmVtO1xuICAgIH1cbiAgfVxuICBcbiAgJi5zdWNoZS1mcmFnZSB7XG4gICAgbWF4LXdpZHRoOiA1NHJlbTtcbiAgfVxufVxuXG4uc3VjaGUtZnJhZ2Uge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGgzIHtcbiAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQxKTtcbiAgfVxuICBwIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIH1cbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQob3JpZW50YXRpb24gbGFuZHNjYXBlKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcbiAgICAgIGgzLCBcbiAgICAgIHAge1xuICAgICAgICAvL0BpbmNsdWRlIGZ3KGJvbGQpO1xuICAgICAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtbGFuZHNjYXBlKSB7XG4gICAgICBoMywgXG4gICAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgdHlwZS1zY2FsZSh0Mik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KG9yaWVudGF0aW9uIHBvcnRyYWl0KSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbW9iaWxlLWxhbmRzY2FwZSkge1xuICAgICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIHR5cGUtc2NhbGUodDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuICAgICAgaDMsXG4gICAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgdHlwZS1zY2FsZSh0Myk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LWxhbmRzY2FwZSkge1xuICAgICAgaDMsXG4gICAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgdHlwZS1zY2FsZSh0NCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jLW1vZGFsX19zb2NpYWwtd3JhcHBlciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICAvL21hcmdpbi1sZWZ0OiBhdXRvO1xuICAvL21hcmdpbi1yaWdodDogYXV0bztcbiAgLy9tYXgtd2lkdGg6IDQ2cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgLmMtbW9kYWxfX3NvY2lhbC1sYWJlbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIH1cbiAgXG4gIC8vYm9yZGVyOiAxcHggc29saWQgI2ZjZjtcbn1cblxuLmMtbW9kYWxfX3NvY2lhbCB7XG4gIGJhY2tncm91bmQ6IHtcbiAgICByZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBzaXplOiBjb3ZlcjtcbiAgICBwb3NpdGlvbjogY2VudGVyO1xuICB9XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLy9mbG9hdDogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgd2lkdGg6IDZyZW07XG4gIGhlaWdodDogNnJlbTtcblxuICAmLmZhY2Vib29rIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9sb2dvLWZhY2Vib29rLW5lZ2F0aXZlLnN2ZycpOyAgICBcbiAgfVxuXG4gICYudHdpdHRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvdHdpdHRlci1iaXJkLWJsdWUtYmdzLnN2ZycpOyAgICBcbiAgfVxuIFxuICAmLnlvdXR1YmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2xvZ28teW91dHViZS5zdmcnKTsgICAgXG4gIH1cbiAgXG4gIC8vYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbn1cblxuLmMtbW9kYWxfX3NlcnZpY2Utd3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5jLW1vZGFsX19zZXJ2aWNlIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oY29sb3IoJ2JyYW5kLXByaW1hcnknKSwgMTAlKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8vd2lkdGg6IDgwJTtcbiAgXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBcbiAgLy9AaW5jbHVkZSBicmVha3BvaW50KG9yaWVudGF0aW9uIHBvcnRyYWl0KSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LWxhbmRzY2FwZSkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cbiAgLy99XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KG9yaWVudGF0aW9uIGxhbmRzY2FwZSkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGNvbXB1dGVyKSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogMyU7XG4gICAgICB3aWR0aDogMzAuMzMzJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4uYy1tb2RhbF9fc2VydmljZS1saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jLW1vZGFsX19zZXJ2aWNlLW1lZGlhIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLmMtbW9kYWxfX3NlcnZpY2UtaGVhZGxpbmUge1xuICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQyKTtcbiAgLy9jb2xvcjogY29sb3IoJ2JyYW5kLXNlY29uZGFyeScpO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KG9yaWVudGF0aW9uIHBvcnRyYWl0KSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQzKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtbGFuZHNjYXBlKSB7XG4gICAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQ0KTtcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChvcmllbnRhdGlvbiBsYW5kc2NhcGUpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRjb21wdXRlcikge1xuICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRjb21wdXRlci1sYXJnZSkge1xuICAgICAgQGluY2x1ZGUgdHlwZS1zY2FsZSh0Myk7XG4gICAgfVxuICB9XG59XG5cbi5tb2RhbC1oeXBoZW4tLWhnIHtcbiAgQGluY2x1ZGUgaHlwaGVuKCdtb2JpbGUtbGFuZHNjYXBlJyk7XG59XG5cbi5jLW1vZGFsX19zZXJ2aWNlLWRlc2NyaXB0aW9uIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChvcmllbnRhdGlvbiBwb3J0cmFpdCkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1sYW5kc2NhcGUpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChvcmllbnRhdGlvbiBsYW5kc2NhcGUpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRjb21wdXRlcikge1xuICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi5kcyBvbCB7XG4gIGxpc3Qtc3R5bGU6IHVwcGVyLXJvbWFuO1xuICBwYWRkaW5nLWxlZnQ6IDJyZW07XG59XG5cbi5kcyBvbCBsaSwgXG4uZHMgdWwgbGkge1xuICBtYXJnaW4tdG9wOiAycmVtO1xufVxuXG4uZHMgb2wgbGk6Zmlyc3QtY2hpbGQge1xuICAvL21hcmdpbi10b3A6IDA7XG59XG5cbi5kcyBvbCBvbCB7XG4gIGxpc3Qtc3R5bGU6IGRlY2ltYWw7XG59XG5cbi5kcyBvbCBvbCBsaSwgXG4uZHMgb2wgb2wgbGk6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4uZHMgb2wgb2wgb2wge1xuICBsaXN0LXN0eWxlOiBsb3dlci1hbHBoYTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLmRzIG9sIG9sIG9sIGxpLCBcbi5kcyBvbCBvbCBvbCBsaTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IC41cmVtO1xufVxuXG4uZHMgb2wgb2wgb2wgb2wge1xuICBsaXN0LXN0eWxlOiBsb3dlci1yb21hbjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbiIsIi5mLWZpZWxkLXdyYXBwZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICBtYXJnaW4tYm90dG9tOiAuNzVyZW07XG4gIFxuICAmLnRleHRhcmVhIHtcbiAgfVxuXG4gICYuaW5wdXQtdGV4dCB7XG4gIH1cblxuICAmLnN1Ym1pdCB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICBcbiAgLy9ib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xufSAgXG5cbi5mLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMiU7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB3aWR0aDogMjAlO1xuICB9XG59XG4gXG4uZi1maWVsZCB7XG4gIGJvcmRlcjogMCBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICB3aWR0aDogMTAwJTtcblxuICAudGV4dGFyZWEgJiB7XG4gICAgaGVpZ2h0OiAxMHJlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuICAgIHdpZHRoOiA3OCU7XG4gIH1cbn1cblxuLmYtbm90ZSB7XG4gIEBpbmNsdWRlIHR5cGUtc2NhbGUoJ2Jhc2UnKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcbiAgICBtYXJnaW4tbGVmdDogMjIlO1xuICB9XG59XG4iLCIuYy1hcCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuXG4uYy1hcF9fbWVkaWEgeyBcbi8vICBmbG9hdDogbGVmdDtcbi8vICBtYXJnaW4tcmlnaHQ6IDUlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB3aWR0aDogNTAlO1xuICBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChvcmllbnRhdGlvbiBwb3J0cmFpdCkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDUlO1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICB9XG4gIH1cbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQob3JpZW50YXRpb24gbGFuZHNjYXBlKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA1JTtcbiAgICB3aWR0aDogNDAlO1xuICB9XG59XG5cbi5jLWFwX19kYXRhIHsgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQob3JpZW50YXRpb24gcG9ydHJhaXQpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0NSU7XG4gICAgfVxuICB9XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KG9yaWVudGF0aW9uIGxhbmRzY2FwZSkge1xuICAgIG1hcmdpbi1sZWZ0OiA0NSU7XG4gIH1cbn1cblxuLmMtYXBfX25hbWUge1xuICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQyKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG9yaWVudGF0aW9uIHBvcnRyYWl0KSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQzKTtcblxuICAgICAgJiArIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldCkge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LWxhbmRzY2FwZSkge1xuICAgICAgQGluY2x1ZGUgdHlwZS1zY2FsZSh0NCk7XG4gICAgfVxuICB9XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KG9yaWVudGF0aW9uIGxhbmRzY2FwZSkge1xuICAgICYgKyBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSB0eXBlLXNjYWxlKHQzKTtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1sYW5kc2NhcGUpIHtcbiAgICAgIEBpbmNsdWRlIHR5cGUtc2NhbGUodDQpO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhlbHBlciBjbGFzc2VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLnJvdCwgXG4ucmVkIHtcbiAgY29sb3I6IGNvbG9yKCdhbGVydCcpO1xufVxuXG4uYmxhdSxcbi5ibHVlIHtcbiAgY29sb3I6IGNvbG9yKGJyYW5kLXByaW1hcnkpO1xufVxuXG4udG8tbGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4udG8tcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4uY2xlYXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLm5vd3JhcCwgXG4ubm9XcmFwIHsgLy9kZXByZWNhdGVkXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5wZGYge1xuICBiYWNrZ3JvdW5kOiB1cmwoJy9pbWcvbGF5b3V0L2Fjcm9iYXRfMjQucG5nJykgMCAuMTVlbSBuby1yZXBlYXQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxZW07XG4gIHBhZGRpbmctbGVmdDogMmVtO1xufVxuXG4uaGlkZGVuIHtcbiAgQGluY2x1ZGUgaGlkZGVuO1xufVxuXG4udmlzdWFsbHloaWRkZW4ge1xuICBAaW5jbHVkZSB2aXN1YWxseWhpZGRlbjtcbn1cblxuLnZpc3VhbGx5aGlkZGVuLS1mb2N1c2FibGUge1xuICBAaW5jbHVkZSB2aXN1YWxseWhpZGRlbi1mb2N1c2FibGU7XG59XG5cbi5pbnZpc2libGUge1xuICBAaW5jbHVkZSBpbnZpc2libGU7XG59XG5cbi5pcixcbi5oaWRlLXRleHQge1xuICBAaW5jbHVkZSBoaWRlLXRleHQ7XG59XG5cbi5oYXMtaHlwaGVuLS1tbCB7XG4gIEBpbmNsdWRlIGh5cGhlbignbW9iaWxlLWxhbmRzY2FwZScpO1xufVxuXG4uaGFzLWh5cGhlbi0tdHMge1xuICBAaW5jbHVkZSBoeXBoZW4oJ3RhYmxldC1zbWFsbCcpO1xufVxuXG4uaGFzLWh5cGhlbi0tdCB7XG4gIEBpbmNsdWRlIGh5cGhlbigndGFibGV0Jyk7XG59XG5cbi5oYXMtaHlwaGVuLS10bCB7XG4gIEBpbmNsdWRlIGh5cGhlbigndGFibGV0LWxhbmRzY2FwZScpO1xufVxuXG4uaGFzLWh5cGhlbi0tYyB7XG4gIEBpbmNsdWRlIGh5cGhlbignY29tcHV0ZXInKTtcbn1cblxuLmhhcy1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKCd3aGl0ZScpO1xufVxuXG4uaGFzLWJnLWJyYW5kLXByaW1hcnktMTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcignYnJhbmQtcHJpbWFyeS0xMCcpO1xufVxuXG4uaGFzLXBhZGRpbmcge1xuICBwYWRkaW5nOiAxcmVtIGd1dHRlcihvZiAkc21hbGwtY29sdW1ucyk7XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGd1dHRlcihvZiAkbWVkaXVtLWNvbHVtbnMpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGd1dHRlcihvZiAkbWVkaXVtLWNvbHVtbnMpO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkY29tcHV0ZXIpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGd1dHRlcihvZiAkbGFyZ2UtY29sdW1ucyk7XG4gICAgcGFkZGluZy1yaWdodDogZ3V0dGVyKG9mICRsYXJnZS1jb2x1bW5zKTtcbiAgfVxufVxuXG4uaGFzLXBhZGRpbmctbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogZ3V0dGVyKG9mICRzbWFsbC1jb2x1bW5zKTtcbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuICAgIHBhZGRpbmctbGVmdDogZ3V0dGVyKG9mICRtZWRpdW0tY29sdW1ucyk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRjb21wdXRlcikge1xuICAgIHBhZGRpbmctbGVmdDogZ3V0dGVyKG9mICRsYXJnZS1jb2x1bW5zKTtcbiAgfVxufVxuXG4uaGFzLXBhZGRpbmctbGVmdC1yaWdodCB7XG4gIHBhZGRpbmctbGVmdDogZ3V0dGVyKG9mICRzbWFsbC1jb2x1bW5zKTtcbiAgcGFkZGluZy1yaWdodDogZ3V0dGVyKG9mICRzbWFsbC1jb2x1bW5zKTtcbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbCkge1xuICAgIHBhZGRpbmctbGVmdDogZ3V0dGVyKG9mICRtZWRpdW0tY29sdW1ucyk7XG4gICAgcGFkZGluZy1yaWdodDogZ3V0dGVyKG9mICRtZWRpdW0tY29sdW1ucyk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRjb21wdXRlcikge1xuICAgIHBhZGRpbmctbGVmdDogZ3V0dGVyKG9mICRsYXJnZS1jb2x1bW5zKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBndXR0ZXIob2YgJGxhcmdlLWNvbHVtbnMpO1xuICB9XG59XG4iLCIvLy8gR3JpZCBNYXRoIEVuZ2luZVxuLy8vID09PT09PT09PT09PT09PT1cbi8vLyBUaGUgYHN1YCBmdW5jdGlvbnMgZ2l2ZSB5b3UgZGlyZWN0IGFjY2VzcyB0byB0aGUgbWF0aCBsYXllcixcbi8vLyB3aXRob3V0IGFueSBzeW50YXgtc3VnYXIgbGlrZSBzaG9ydGhhbmQgcGFyc2luZywgYW5kIG5vcm1hbGl6YXRpb24uXG4vLy8gSWYgeW91IHByZWZlciBuYW1lZCBhcmd1bWVudHMsIGFuZCBzdHJpcHBlZC1kb3duIHN5bnRheCxcbi8vLyB5b3UgY2FuIHVzZSB0aGVzZSBmdW5jdGlvbnMgZGlyZWN0bHkgaW4geW91ciBjb2RlIOKAk1xuLy8vIHJlcGxhY2luZyBgc3BhbmAsIGBndXR0ZXJgLCBhbmQgYHNsaWNlYC5cbi8vL1xuLy8vIFRoZXNlIGZ1bmN0aW9ucyBhcmUgYWxzbyB1c2VmdWxcbi8vLyBmb3IgYnVpbGRpbmcgbWl4aW5zIG9yIG90aGVyIGV4dGVuc2lvbnMgdG8gU3VzeS5cbi8vLyBBcHBseSB0aGUgU3VzeSBzeW50YXggdG8gbmV3IG1peGlucyBhbmQgZnVuY3Rpb25zLFxuLy8vIHVzaW5nIG91ciBcIlBsdWdpbiBIZWxwZXJzXCIsXG4vLy8gb3Igd3JpdGUgeW91ciBvd24gc3ludGF4IGFuZCBwYXNzIHRoZSBub3JtYWxpemVkIHJlc3VsdHMgYWxvbmdcbi8vLyB0byBgc3VgIGZvciBjb21waWxhdGlvbi5cbi8vL1xuLy8vIEBncm91cCBzdS1tYXRoXG4vLy9cbi8vLyBAc2VlIHN1LXNwYW5cbi8vLyBAc2VlIHN1LWd1dHRlclxuLy8vIEBzZWUgc3Utc2xpY2Vcbi8vLyBAaWdub3JlIF9zdS1zdW1cbi8vLyBAaWdub3JlIF9zdS1jYWxjLXNwYW5cbi8vLyBAaWdub3JlIF9zdS1jYWxjLXN1bVxuLy8vIEBpZ25vcmUgX3N1LW5lZWRzLWNhbGMtb3V0cHV0XG5cblxuXG4vLyBTdSBTcGFuXG4vLyAtLS0tLS0tXG4vLy8gQ2FsY3VsYXRlcyBhbmQgcmV0dXJucyBhIENTUy1yZWFkeSBzcGFuIHdpZHRoLFxuLy8vIGJhc2VkIG9uIG5vcm1hbGl6ZWQgc3BhbiBhbmQgY29udGV4dCBkYXRhIOKAk1xuLy8vIGEgbG93LWxldmVsIHZlcnNpb24gb2YgYHN1c3ktc3BhbmAsXG4vLy8gd2l0aCBhbGwgb2YgdGhlIGxvZ2ljIGFuZCBub25lIG9mIHRoZSBzeW50YXggc3VnYXIuXG4vLy9cbi8vLyAtIEdyaWRzIGRlZmluZWQgd2l0aCB1bml0bGVzcyBudW1iZXJzIHdpbGwgcmV0dXJuIGAlYCB2YWx1ZXMuXG4vLy8gLSBHcmlkcyBkZWZpbmVkIHdpdGggY29tcGFyYWJsZSB1bml0c1xuLy8vICAgd2lsbCByZXR1cm4gYSB2YWx1ZSBpbiB0aGUgdW5pdHMgcHJvdmlkZWQuXG4vLy8gLSBHcmlkcyBkZWZpbmVkIHdpdGggYSBtaXggb2YgdW5pdHMsXG4vLy8gICBvciBhIGNvbWJpbmF0aW9uIG9mIHVudGlsZXNzIG51bWJlcnMgYW5kIHVuaXQtbGVuZ3Rocyxcbi8vLyAgIHdpbGwgcmV0dXJuIGEgYGNhbGMoKWAgc3RyaW5nLlxuLy8vXG4vLy8gQGdyb3VwIHN1LW1hdGhcbi8vLyBAc2VlIHN1c3ktc3BhblxuLy8vXG4vLy8gQHBhcmFtIHtudW1iZXIgfCBsaXN0fSAkc3BhbiAtXG4vLy8gICBOdW1iZXIgb3IgbGlzdCBvZiBncmlkIGNvbHVtbnMgdG8gc3BhblxuLy8vIEBwYXJhbSB7bGlzdH0gJGNvbHVtbnMgLVxuLy8vICAgTGlzdCBvZiBjb2x1bW5zIGF2YWlsYWJsZVxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkZ3V0dGVycyAtXG4vLy8gICBXaWR0aCBvZiBhIGd1dHRlciBpbiBjb2x1bW4tY29tcGFyYWJsZSB1bml0c1xuLy8vIEBwYXJhbSB7MCB8IDEgfCAtMX0gJHNwcmVhZCAtXG4vLy8gICBOdW1iZXIgb2YgZ3V0dGVycyBzcGFubmVkLFxuLy8vICAgcmVsYXRpdmUgdG8gYHNwYW5gIGNvdW50XG4vLy8gQHBhcmFtIHswIHwgMSB8IC0xfSAkY29udGFpbmVyLXNwcmVhZCBbJHNwcmVhZF0gLVxuLy8vICAgTnVtYmVyIG9mIGd1dHRlcnMgc3Bhbm5lZCxcbi8vLyAgIHJlbGF0aXZlIHRvIGBjb2x1bW5zYCBjb3VudFxuLy8vIEBwYXJhbSB7aW50ZWdlcn0gJGxvY2F0aW9uIFsxXSAtXG4vLy8gICBPcHRpb25hbCBwb3NpdGlvbiBvZiBzdWItc3BhbiBhbW9uZyBmdWxsIHNldCBvZiBjb2x1bW5zXG4vLy9cbi8vLyBAcmV0dXJuIHtsZW5ndGh9IC1cbi8vLyAgIFJlbGF0aXZlIG9yIHN0YXRpYyBsZW5ndGggb2YgYSBzcGFuIG9uIHRoZSBncmlkXG5AZnVuY3Rpb24gc3Utc3BhbihcbiAgJHNwYW4sXG4gICRjb2x1bW5zLFxuICAkZ3V0dGVycyxcbiAgJHNwcmVhZCxcbiAgJGNvbnRhaW5lci1zcHJlYWQ6ICRzcHJlYWQsXG4gICRsb2NhdGlvbjogMVxuKSB7XG4gICRzcGFuOiBzdS12YWxpZC1zcGFuKCRzcGFuKTtcbiAgJGNvbHVtbnM6IHN1LXZhbGlkLWNvbHVtbnMoJGNvbHVtbnMpO1xuICAkZ3V0dGVyczogc3UtdmFsaWQtZ3V0dGVycygkZ3V0dGVycyk7XG4gICRzcHJlYWQ6IHN1LXZhbGlkLXNwcmVhZCgkc3ByZWFkKTtcblxuICBAaWYgKHR5cGUtb2YoJHNwYW4pID09ICdudW1iZXInKSB7XG4gICAgQGlmIChub3QgdW5pdGxlc3MoJHNwYW4pKSB7XG4gICAgICBAcmV0dXJuICRzcGFuO1xuICAgIH1cblxuICAgICRsb2NhdGlvbjogc3UtdmFsaWQtbG9jYXRpb24oJHNwYW4sICRsb2NhdGlvbiwgJGNvbHVtbnMpO1xuICAgICRzcGFuOiBzdS1zbGljZSgkc3BhbiwgJGNvbHVtbnMsICRsb2NhdGlvbiwgJHZhbGlkYXRlOiBmYWxzZSk7XG4gIH1cblxuICBAaWYgX3N1LW5lZWRzLWNhbGMtb3V0cHV0KCRzcGFuLCAkY29sdW1ucywgJGd1dHRlcnMsICRzcHJlYWQsIG5vdCAndmFsaWRhdGUnKSB7XG4gICAgQHJldHVybiBfc3UtY2FsYy1zcGFuKCRzcGFuLCAkY29sdW1ucywgJGd1dHRlcnMsICRzcHJlYWQsICRjb250YWluZXItc3ByZWFkLCBub3QgJ3ZhbGlkYXRlJyk7XG4gIH1cblxuICAkc3Bhbi13aWR0aDogX3N1LXN1bSgkc3BhbiwgJGd1dHRlcnMsICRzcHJlYWQsICR2YWxpZGF0ZTogZmFsc2UpO1xuXG4gIEBpZiB1bml0bGVzcygkc3Bhbi13aWR0aCkge1xuICAgICRjb250YWluZXItc3ByZWFkOiBzdS12YWxpZC1zcHJlYWQoJGNvbnRhaW5lci1zcHJlYWQpO1xuICAgICRjb250YWluZXI6IF9zdS1zdW0oJGNvbHVtbnMsICRndXR0ZXJzLCAkY29udGFpbmVyLXNwcmVhZCwgJHZhbGlkYXRlOiBmYWxzZSk7XG4gICAgQHJldHVybiBwZXJjZW50YWdlKCRzcGFuLXdpZHRoIC8gJGNvbnRhaW5lcik7XG4gIH1cblxuICBAcmV0dXJuICRzcGFuLXdpZHRoO1xufVxuXG5cblxuLy8gU3UgR3V0dGVyXG4vLyAtLS0tLS0tLS1cbi8vLyBDYWxjdWxhdGVzIGFuZCByZXR1cm5zIGEgQ1NTLXJlYWR5IGd1dHRlciB3aWR0aCxcbi8vLyBiYXNlZCBvbiBub3JtYWxpemVkIGdyaWQgZGF0YSDigJNcbi8vLyBhIGxvdy1sZXZlbCB2ZXJzaW9uIG9mIGBzdXN5LWd1dHRlcmAsXG4vLy8gd2l0aCBhbGwgb2YgdGhlIGxvZ2ljIGFuZCBub25lIG9mIHRoZSBzeW50YXggc3VnYXIuXG4vLy9cbi8vLyAtIEdyaWRzIGRlZmluZWQgd2l0aCB1bml0bGVzcyBudW1iZXJzIHdpbGwgcmV0dXJuIGAlYCB2YWx1ZXMuXG4vLy8gLSBHcmlkcyBkZWZpbmVkIHdpdGggY29tcGFyYWJsZSB1bml0c1xuLy8vICAgd2lsbCByZXR1cm4gYSB2YWx1ZSBpbiB0aGUgdW5pdHMgcHJvdmlkZWQuXG4vLy8gLSBHcmlkcyBkZWZpbmVkIHdpdGggYSBtaXggb2YgdW5pdHMsXG4vLy8gICBvciBhIGNvbWJpbmF0aW9uIG9mIHVudGlsZXNzIG51bWJlcnMgYW5kIHVuaXQtbGVuZ3Rocyxcbi8vLyAgIHdpbGwgcmV0dXJuIGEgYGNhbGMoKWAgc3RyaW5nLlxuLy8vXG4vLy8gQGdyb3VwIHN1LW1hdGhcbi8vLyBAc2VlIHN1c3ktZ3V0dGVyXG4vLy9cbi8vLyBAcGFyYW0ge2xpc3R9ICRjb2x1bW5zIC1cbi8vLyAgIExpc3Qgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZFxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkZ3V0dGVycyAtXG4vLy8gICBXaWR0aCBvZiBhIGd1dHRlciBpbiBjb2x1bW4tY29tcGFyYWJsZSB1bml0c1xuLy8vIEBwYXJhbSB7MCB8IDEgfCAtMX0gJGNvbnRhaW5lci1zcHJlYWQgLVxuLy8vICAgTnVtYmVyIG9mIGd1dHRlcnMgc3Bhbm5lZCxcbi8vLyAgIHJlbGF0aXZlIHRvIGBjb2x1bW5zYCBjb3VudFxuLy8vXG4vLy8gQHJldHVybiB7bGVuZ3RofSAtXG4vLy8gICBSZWxhdGl2ZSBvciBzdGF0aWMgbGVuZ3RoIG9mIG9uZSBndXR0ZXIgaW4gYSBncmlkXG5AZnVuY3Rpb24gc3UtZ3V0dGVyKFxuICAkY29sdW1ucyxcbiAgJGd1dHRlcnMsXG4gICRjb250YWluZXItc3ByZWFkXG4pIHtcbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgIEBpZiAoJGd1dHRlcnMgPT0gMCkgb3IgKG5vdCB1bml0bGVzcygkZ3V0dGVycykpIHtcbiAgICAgIEByZXR1cm4gJGd1dHRlcnM7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9zdS1uZWVkcy1jYWxjLW91dHB1dCgkZ3V0dGVycywgJGNvbHVtbnMsICRndXR0ZXJzLCAtMSwgbm90ICd2YWxpZGF0ZScpIHtcbiAgICBAcmV0dXJuIF9zdS1jYWxjLXNwYW4oJGd1dHRlcnMsICRjb2x1bW5zLCAkZ3V0dGVycywgLTEsICRjb250YWluZXItc3ByZWFkLCBub3QgJ3ZhbGlkYXRlJyk7XG4gIH1cblxuICAkY29udGFpbmVyOiBfc3Utc3VtKCRjb2x1bW5zLCAkZ3V0dGVycywgJGNvbnRhaW5lci1zcHJlYWQpO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJGd1dHRlcnMgLyAkY29udGFpbmVyKTtcbn1cblxuXG5cbi8vIFN1IFNsaWNlXG4vLyAtLS0tLS0tLVxuLy8vIFJldHVybnMgYSBsaXN0IG9mIGNvbHVtbnNcbi8vLyBiYXNlZCBvbiBhIGdpdmVuIHNwYW4vbG9jYXRpb24gc2xpY2Ugb2YgdGhlIGdyaWQg4oCTXG4vLy8gYSBsb3ctbGV2ZWwgdmVyc2lvbiBvZiBgc3VzeS1zbGljZWAsXG4vLy8gd2l0aCBhbGwgb2YgdGhlIGxvZ2ljIGFuZCBub25lIG9mIHRoZSBzeW50YXggc3VnYXIuXG4vLy9cbi8vLyBAZ3JvdXAgc3UtbWF0aFxuLy8vIEBzZWUgc3VzeS1zbGljZVxuLy8vXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzcGFuIC1cbi8vLyAgIE51bWJlciBvZiBncmlkIGNvbHVtbnMgdG8gc3BhblxuLy8vIEBwYXJhbSB7bGlzdH0gJGNvbHVtbnMgLVxuLy8vICAgTGlzdCBvZiBjb2x1bW5zIGluIHRoZSBncmlkXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRsb2NhdGlvbiBbMV0gLVxuLy8vICAgU3RhcnRpbmcgaW5kZXggb2YgYSBzcGFuIGluIHRoZSBsaXN0IG9mIGNvbHVtbnNcbi8vLyBAcGFyYW0ge2Jvb2x9ICR2YWxpZGF0ZSBbdHJ1ZV0gLVxuLy8vICAgQ2hlY2sgdGhhdCBhcmd1bWVudHMgYXJlIHZhbGlkIGJlZm9yZSBwcm9jZWVkaW5nXG4vLy9cbi8vLyBAcmV0dXJuIHtsaXN0fSAtXG4vLy8gICBTdWJzZXQgbGlzdCBvZiBncmlkIGNvbHVtbnMsIGJhc2VkIG9uIHNwYW4gYW5kIGxvY2F0aW9uXG5AZnVuY3Rpb24gc3Utc2xpY2UoXG4gICRzcGFuLFxuICAkY29sdW1ucyxcbiAgJGxvY2F0aW9uOiAxLFxuICAkdmFsaWRhdGU6IHRydWVcbikge1xuICBAaWYgJHZhbGlkYXRlIHtcbiAgICAkY29sdW1uczogc3UtdmFsaWQtY29sdW1ucygkY29sdW1ucyk7XG4gICAgJGxvY2F0aW9uOiBzdS12YWxpZC1sb2NhdGlvbigkc3BhbiwgJGxvY2F0aW9uLCAkY29sdW1ucyk7XG4gIH1cblxuICAkZmxvb3I6IGZsb29yKCRzcGFuKTtcbiAgJHN1Yi1jb2x1bW5zOiAoKTtcblxuICBAZm9yICRpIGZyb20gJGxvY2F0aW9uIHRvICgkbG9jYXRpb24gKyAkZmxvb3IpIHtcbiAgICAkc3ViLWNvbHVtbnM6IGFwcGVuZCgkc3ViLWNvbHVtbnMsIG50aCgkY29sdW1ucywgJGkpKTtcbiAgfVxuXG4gIEBpZiAkZmxvb3IgIT0gJHNwYW4ge1xuICAgICRyZW1haW5kZXI6ICRzcGFuIC0gJGZsb29yO1xuICAgICRjb2x1bW46ICRsb2NhdGlvbiArICRmbG9vcjtcbiAgICAkc3ViLWNvbHVtbnM6IGFwcGVuZCgkc3ViLWNvbHVtbnMsIG50aCgkY29sdW1ucywgJGNvbHVtbikgKiAkcmVtYWluZGVyKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN1Yi1jb2x1bW5zO1xufVxuXG5cblxuLy8gU3UgU3VtXG4vLyAtLS0tLS1cbi8vLyBHZXQgdGhlIHRvdGFsIHN1bSBvZiBjb2x1bW4tdW5pdHMgaW4gYSBsYXlvdXQuXG4vLy9cbi8vLyBAZ3JvdXAgc3UtbWF0aFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtsaXN0fSAkY29sdW1ucyAtXG4vLy8gICBMaXN0IG9mIGNvbHVtbnMgaW4gdGhlIGdyaWRcbi8vLyBAcGFyYW0ge251bWJlcn0gJGd1dHRlcnMgLVxuLy8vICAgV2lkdGggb2YgYSBndXR0ZXIgaW4gY29sdW1uLWNvbXBhcmFibGUgdW5pdHNcbi8vLyBAcGFyYW0gezAgfCAxIHwgLTF9ICRzcHJlYWQgLVxuLy8vICAgTnVtYmVyIG9mIGd1dHRlcnMgc3Bhbm5lZCxcbi8vLyAgIHJlbGF0aXZlIHRvIGBjb2x1bW5zYCBjb3VudFxuLy8vIEBwYXJhbSB7Ym9vbH0gJHZhbGlkYXRlIFt0cnVlXSAtXG4vLy8gICBDaGVjayB0aGF0IGFyZ3VtZW50cyBhcmUgdmFsaWQgYmVmb3JlIHByb2NlZWRpbmdcbi8vL1xuLy8vIEByZXR1cm4ge251bWJlcn0gLVxuLy8vICAgVG90YWwgc3VtIG9mIGNvbHVtbi11bml0cyBpbiBhIGdyaWRcbkBmdW5jdGlvbiBfc3Utc3VtKFxuICAkY29sdW1ucyxcbiAgJGd1dHRlcnMsXG4gICRzcHJlYWQsXG4gICR2YWxpZGF0ZTogdHJ1ZVxuKSB7XG4gIEBpZiAkdmFsaWRhdGUge1xuICAgICRjb2x1bW5zOiBzdS12YWxpZC1zcGFuKCRjb2x1bW5zKTtcbiAgICAkZ3V0dGVyczogc3UtdmFsaWQtZ3V0dGVycygkZ3V0dGVycyk7XG4gICAgJHNwcmVhZDogc3UtdmFsaWQtc3ByZWFkKCRzcHJlYWQpO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIGNvbHVtbi1zdW1cbiAgJGNvbHVtbi1zdW06IDA7XG4gIEBlYWNoICRjb2x1bW4gaW4gJGNvbHVtbnMge1xuICAgICRjb2x1bW4tc3VtOiAkY29sdW1uLXN1bSArICRjb2x1bW47XG4gIH1cblxuICAkZ3V0dGVyLXN1bTogKGNlaWwobGVuZ3RoKCRjb2x1bW5zKSkgKyAkc3ByZWFkKSAqICRndXR0ZXJzO1xuICAkdG90YWw6IGlmKCgkZ3V0dGVyLXN1bSA+IDApLCAkY29sdW1uLXN1bSArICRndXR0ZXItc3VtLCAkY29sdW1uLXN1bSk7XG5cbiAgQHJldHVybiAkdG90YWw7XG59XG5cblxuXG4vLyBTdSBDYWxjXG4vLyAtLS0tLS0tXG4vLy8gUmV0dXJuIGEgdXNhYmxlIHNwYW4gd2lkdGggYXMgYSBgY2FsYygpYCBmdW5jdGlvbixcbi8vLyBpbiBvcmRlciB0byBjcmVhdGUgbWl4ZWQtdW5pdCBncmlkcy5cbi8vL1xuLy8vIEBncm91cCBzdS1tYXRoXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge251bWJlciB8IGxpc3R9ICRzcGFuIC1cbi8vLyAgIFByZS1zbGljZWQgbGlzdCBvZiBncmlkIGNvbHVtbnMgdG8gc3BhblxuLy8vIEBwYXJhbSB7bGlzdH0gJGNvbHVtbnMgLVxuLy8vICAgTGlzdCBvZiBjb2x1bW5zIGF2YWlsYWJsZVxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkZ3V0dGVycyAtXG4vLy8gICBXaWR0aCBvZiBhIGd1dHRlciBpbiBjb2x1bW4tY29tcGFyYWJsZSB1bml0c1xuLy8vIEBwYXJhbSB7MCB8IDEgfCAtMX0gJHNwcmVhZCAtXG4vLy8gICBOdW1iZXIgb2YgZ3V0dGVycyBzcGFubmVkLFxuLy8vICAgcmVsYXRpdmUgdG8gYHNwYW5gIGNvdW50XG4vLy8gQHBhcmFtIHswIHwgMSB8IC0xfSAkY29udGFpbmVyLXNwcmVhZCBbJHNwcmVhZF0gLVxuLy8vICAgTnVtYmVyIG9mIGd1dHRlcnMgc3Bhbm5lZCxcbi8vLyAgIHJlbGF0aXZlIHRvIGBjb2x1bW5zYCBjb3VudFxuLy8vIEBwYXJhbSB7Ym9vbH0gJHZhbGlkYXRlIFt0cnVlXSAtXG4vLy8gICBDaGVjayB0aGF0IGFyZ3VtZW50cyBhcmUgdmFsaWQgYmVmb3JlIHByb2NlZWRpbmdcbi8vL1xuLy8vIEByZXR1cm4ge2xlbmd0aH0gLVxuLy8vICAgUmVsYXRpdmUgb3Igc3RhdGljIGxlbmd0aCBvZiBhIHNwYW4gb24gdGhlIGdyaWRcbkBmdW5jdGlvbiBfc3UtY2FsYy1zcGFuKFxuICAkc3BhbixcbiAgJGNvbHVtbnMsXG4gICRndXR0ZXJzLFxuICAkc3ByZWFkLFxuICAkY29udGFpbmVyLXNwcmVhZDogJHNwcmVhZCxcbiAgJHZhbGlkYXRlOiB0cnVlXG4pIHtcbiAgQGlmICR2YWxpZGF0ZSB7XG4gICAgJHNwYW46IHN1LXZhbGlkLXNwYW4oJHNwYW4pO1xuICAgICRjb2x1bW5zOiBzdS12YWxpZC1jb2x1bW5zKCRjb2x1bW5zKTtcbiAgICAkZ3V0dGVyczogc3UtdmFsaWQtZ3V0dGVycygkZ3V0dGVycyk7XG4gICAgJHNwcmVhZDogc3UtdmFsaWQtc3ByZWFkKCRzcHJlYWQpO1xuICAgICRjb250YWluZXItc3ByZWFkOiBzdS12YWxpZC1zcHJlYWQoJGNvbnRhaW5lci1zcHJlYWQpO1xuICB9XG5cbiAgLy8gU3BhbiBhbmQgY29udGV4dFxuICAkc3BhbjogX3N1LWNhbGMtc3VtKCRzcGFuLCAkZ3V0dGVycywgJHNwcmVhZCwgbm90ICd2YWxpZGF0ZScpO1xuICAkY29udGV4dDogX3N1LWNhbGMtc3VtKCRjb2x1bW5zLCAkZ3V0dGVycywgJGNvbnRhaW5lci1zcHJlYWQsIG5vdCAndmFsaWRhdGUnKTtcblxuICAvLyBGaXhlZCBhbmQgZmx1aWRcbiAgJGZpeGVkLXNwYW46IG1hcC1nZXQoJHNwYW4sICdmaXhlZCcpO1xuICAkZmx1aWQtc3BhbjogbWFwLWdldCgkc3BhbiwgJ2ZsdWlkJyk7XG4gICRmaXhlZC1jb250ZXh0OiBtYXAtZ2V0KCRjb250ZXh0LCAnZml4ZWQnKTtcbiAgJGZsdWlkLWNvbnRleHQ6IG1hcC1nZXQoJGNvbnRleHQsICdmbHVpZCcpO1xuXG4gICRjYWxjOiAnI3skZml4ZWQtc3Bhbn0nO1xuICAkZmx1aWQtY2FsYzogJygxMDAlIC0gI3skZml4ZWQtY29udGV4dH0pJztcblxuICAvLyBGbHVpZC12YWx1ZXNcbiAgQGlmIChub3QgJGZsdWlkLXNwYW4pIHtcbiAgICAkZmx1aWQtY2FsYzogbnVsbDtcbiAgfSBAZWxzZSBpZiAoJGZsdWlkLXNwYW4gIT0gJGZsdWlkLWNvbnRleHQpIHtcbiAgICAkZmx1aWQtc3BhbjogJyogI3skZmx1aWQtc3Bhbn0nO1xuICAgICRmbHVpZC1jb250ZXh0OiBpZigkZmx1aWQtY29udGV4dCwgJy8gI3skZmx1aWQtY29udGV4dH0nLCAnJyk7XG4gICAgJGZsdWlkLWNhbGM6ICcoI3skZmx1aWQtY2FsYyAkZmx1aWQtY29udGV4dCAkZmx1aWQtc3Bhbn0pJztcbiAgfVxuXG4gIEBpZiAkZmx1aWQtY2FsYyB7XG4gICAgJGNhbGM6IGlmKCgkY2FsYyAhPSAnJyksICcjeyRjYWxjfSArICcsICcnKTtcbiAgICAkY2FsYzogJyN7JGNhbGMgKyAkZmx1aWQtY2FsY30nO1xuICB9XG5cbiAgQHJldHVybiBjYWxjKCN7dW5xdW90ZSgkY2FsYyl9KTtcbn1cblxuXG5cbi8vIFN1IENhbGMtU3VtXG4vLyAtLS0tLS0tLS0tLVxuLy8vIEdldCB0aGUgdG90YWwgc3VtIG9mIGZpeGVkIGFuZCBmbHVpZCBjb2x1bW4tdW5pdHNcbi8vLyBmb3IgY3JlYXRpbmcgYSBtaXhlZC11bml0IGxheW91dCB3aXRoIGBjYWxjKClgIHZhbHVlcy5cbi8vL1xuLy8vIEBncm91cCBzdS1tYXRoXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge2xpc3R9ICRjb2x1bW5zIC1cbi8vLyAgIExpc3Qgb2YgY29sdW1ucyBhdmFpbGFibGVcbi8vLyBAcGFyYW0ge251bWJlcn0gJGd1dHRlcnMgLVxuLy8vICAgV2lkdGggb2YgYSBndXR0ZXIgaW4gY29sdW1uLWNvbXBhcmFibGUgdW5pdHNcbi8vLyBAcGFyYW0gezAgfCAxIHwgLTF9ICRzcHJlYWQgLVxuLy8vICAgTnVtYmVyIG9mIGd1dHRlcnMgc3Bhbm5lZCxcbi8vLyAgIHJlbGF0aXZlIHRvIGBzcGFuYCBjb3VudFxuLy8vIEBwYXJhbSB7Ym9vbH0gJHZhbGlkYXRlIFt0cnVlXSAtXG4vLy8gICBDaGVjayB0aGF0IGFyZ3VtZW50cyBhcmUgdmFsaWQgYmVmb3JlIHByb2NlZWRpbmdcbi8vL1xuLy8vIEByZXR1cm4ge21hcH0gLVxuLy8vICAgTWFwIHdpdGggYGZpeGVkYCBhbmQgYGZsdWlkYCBrZXlzXG4vLy8gICBjb250YWluaW5nIHRoZSBwcm9wZXIgbWF0aCBhcyBzdHJpbmdzXG5AZnVuY3Rpb24gX3N1LWNhbGMtc3VtKFxuICAkY29sdW1ucyxcbiAgJGd1dHRlcnMsXG4gICRzcHJlYWQsXG4gICR2YWxpZGF0ZTogdHJ1ZVxuKSB7XG4gIEBpZiAkdmFsaWRhdGUge1xuICAgICRjb2x1bW5zOiBzdS12YWxpZC1zcGFuKCRjb2x1bW5zKTtcbiAgICAkZ3V0dGVyczogc3UtdmFsaWQtZ3V0dGVycygkZ3V0dGVycyk7XG4gICAgJHNwcmVhZDogc3UtdmFsaWQtc3ByZWFkKCRzcHJlYWQpO1xuICB9XG5cbiAgJGZsdWlkOiAwO1xuICAkZml4ZWQ6ICgpO1xuICAkY2FsYzogbnVsbDtcblxuICAvLyBHdXR0ZXJzXG4gICRndXR0ZXJzOiAgJGd1dHRlcnMgKiAobGVuZ3RoKCRjb2x1bW5zKSArICRzcHJlYWQpO1xuXG4gIC8vIENvbHVtbnNcbiAgQGVhY2ggJGNvbCBpbiBhcHBlbmQoJGNvbHVtbnMsICRndXR0ZXJzKSB7XG4gICAgQGlmIHVuaXRsZXNzKCRjb2wpIHtcbiAgICAgICRmbHVpZDogJGZsdWlkICsgJGNvbDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRmaXhlZDogX3N1LW1hcC1hZGQtdW5pdHMoJGZpeGVkLCAkY29sKTtcbiAgICB9XG4gIH1cblxuICAvLyBDb21waWxlIEZpeGVkIFVuaXRzXG4gIEBlYWNoICR1bml0LCAkdG90YWwgaW4gJGZpeGVkIHtcbiAgICBAaWYgKCR0b3RhbCAhPSAoMCAqICR0b3RhbCkpIHtcbiAgICAgICRjYWxjOiBpZigkY2FsYywgJyN7JGNhbGN9ICsgI3skdG90YWx9JywgJyN7JHRvdGFsfScpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhbGMgbnVsbCBvciBzdHJpbmdcbiAgQGlmICRjYWxjIHtcbiAgICAkY2FsYzogaWYoc3RyLWluZGV4KCRjYWxjLCAnKycpLCAnKCN7JGNhbGN9KScsICcjeyRjYWxjfScpO1xuICB9XG5cbiAgLy8gRmx1aWQgMCA9PiBudWxsXG4gICRmbHVpZDogaWYoKCRmbHVpZCA9PSAwKSwgbnVsbCwgJGZsdWlkKTtcblxuXG4gIC8vIFJldHVybiBtYXBcbiAgJHJldHVybjogKFxuICAgICdmaXhlZCc6ICRjYWxjLFxuICAgICdmbHVpZCc6ICRmbHVpZCxcbiAgKTtcblxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cblxuXG4vLyBOZWVkcyBDYWxjXG4vLyAtLS0tLS0tLS0tXG4vLy8gQ2hlY2sgaWYgYGNhbGMoKWAgd2lsbCBiZSBuZWVkZWQgaW4gZGVmaW5pbmcgYSBzcGFuLFxuLy8vIGlmIHRoZSBuZWNlc3NhcnkgdW5pdHMgaW4gYSBncmlkIGFyZSBub3QgY29tcGFyYWJsZS5cbi8vL1xuLy8vIEBncm91cCBzdS1tYXRoXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge2xpc3R9ICRzcGFuIC1cbi8vLyAgIFNsaWNlIG9mIGNvbHVtbnMgdG8gc3BhblxuLy8vIEBwYXJhbSB7bGlzdH0gJGNvbHVtbnMgLVxuLy8vICAgTGlzdCBvZiBhdmFpbGFibGUgY29sdW1ucyBpbiB0aGUgZ3JpZFxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkZ3V0dGVycyAtXG4vLy8gICBXaWR0aCBvZiBhIGd1dHRlclxuLy8vIEBwYXJhbSB7MCB8IDEgfCAtMX0gJHNwcmVhZCAtXG4vLy8gICBOdW1iZXIgb2YgZ3V0dGVycyBzcGFubmVkLFxuLy8vICAgcmVsYXRpdmUgdG8gYHNwYW5gIGNvdW50XG4vLy8gQHBhcmFtIHtib29sfSAkdmFsaWRhdGUgW3RydWVdIC1cbi8vLyAgIENoZWNrIHRoYXQgYXJndW1lbnRzIGFyZSB2YWxpZCBiZWZvcmUgcHJvY2VlZGluZ1xuLy8vXG4vLy8gQHJldHVybiB7Ym9vbH0gLVxuLy8vICAgYFRydWVgIHdoZW4gdW5pdHMgZG8gbm90IG1hdGNoLCBhbmQgYGNhbGMoKWAgd2lsbCBiZSByZXF1aXJlZFxuQGZ1bmN0aW9uIF9zdS1uZWVkcy1jYWxjLW91dHB1dChcbiAgJHNwYW4sXG4gICRjb2x1bW5zLFxuICAkZ3V0dGVycyxcbiAgJHNwcmVhZCxcbiAgJHZhbGlkYXRlOiB0cnVlXG4pIHtcbiAgQGlmICR2YWxpZGF0ZSB7XG4gICAgJHNwYW46IHN1LXZhbGlkLXNwYW4oJHNwYW4pO1xuICAgICRjb2x1bW5zOiBzdS12YWxpZC1jb2x1bW5zKCRjb2x1bW5zKTtcbiAgICAkZ3V0dGVyczogc3UtdmFsaWQtZ3V0dGVycygkZ3V0dGVycyk7XG4gIH1cblxuICAkaGFzLWd1dHRlcjogaWYoKGxlbmd0aCgkc3BhbikgPiAxKSBvciAoJHNwcmVhZCA+PSAwKSwgdHJ1ZSwgZmFsc2UpO1xuICAkY2hlY2s6IGlmKCRoYXMtZ3V0dGVyLCBhcHBlbmQoJHNwYW4sICRndXR0ZXJzKSwgJHNwYW4pO1xuICAkc2FmZS1zcGFuOiBfc3UtaXMtY29tcGFyYWJsZSgkY2hlY2suLi4pO1xuXG4gIEBpZiAoJHNhZmUtc3BhbiA9PSAnc3RhdGljJykge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH0gQGVsc2UgaWYgKG5vdCAkc2FmZS1zcGFuKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgJHNhZmUtZmx1aWQ6IF9zdS1pcy1jb21wYXJhYmxlKCRndXR0ZXJzLCAkY29sdW1ucy4uLik7XG5cbiAgQHJldHVybiBub3QgJHNhZmUtZmx1aWQ7XG59XG4iXX0= */
